Basic test implementation
This commit is contained in:
15
build.zig
15
build.zig
@@ -130,6 +130,20 @@ pub fn build(b: *std.Build) void {
|
|||||||
run_cmd.addArgs(args);
|
run_cmd.addArgs(args);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const tests = b.addTest(.{
|
||||||
|
.root_module = b.createModule(.{
|
||||||
|
.root_source_file = b.path("src/test.zig"),
|
||||||
|
.target = target,
|
||||||
|
.optimize = optimize,
|
||||||
|
.imports = &.{
|
||||||
|
.{ .name = "raylib", .module = raylib },
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
});
|
||||||
|
|
||||||
|
tests.root_module.linkLibrary(raylib_artifact);
|
||||||
|
const run_tests = b.addRunArtifact(tests);
|
||||||
|
|
||||||
// Creates an executable that will run `test` blocks from the provided module.
|
// Creates an executable that will run `test` blocks from the provided module.
|
||||||
// Here `mod` needs to define a target, which is why earlier we made sure to
|
// Here `mod` needs to define a target, which is why earlier we made sure to
|
||||||
// set the releative field.
|
// set the releative field.
|
||||||
@@ -156,6 +170,7 @@ pub fn build(b: *std.Build) void {
|
|||||||
const test_step = b.step("test", "Run tests");
|
const test_step = b.step("test", "Run tests");
|
||||||
// test_step.dependOn(&run_mod_tests.step);
|
// test_step.dependOn(&run_mod_tests.step);
|
||||||
test_step.dependOn(&run_exe_tests.step);
|
test_step.dependOn(&run_exe_tests.step);
|
||||||
|
test_step.dependOn(&run_tests.step);
|
||||||
|
|
||||||
// Just like flags, top level steps are also listed in the `--help` menu.
|
// Just like flags, top level steps are also listed in the `--help` menu.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -46,20 +46,23 @@ test "valid road nodes" {
|
|||||||
defer _ = gpa.deinit();
|
defer _ = gpa.deinit();
|
||||||
const allocator = gpa.allocator();
|
const allocator = gpa.allocator();
|
||||||
|
|
||||||
const start: Node = .init(34, .{500, 500});
|
const start: Node = .init(34, .{.x = 500, .y = 500});
|
||||||
const start_ptr = try allocator.create(Node);
|
const start_ptr = try allocator.create(Node);
|
||||||
|
defer {
|
||||||
|
start_ptr.*.deinit(allocator);
|
||||||
|
allocator.destroy(start_ptr);
|
||||||
|
}
|
||||||
start_ptr.* = start;
|
start_ptr.* = start;
|
||||||
|
|
||||||
const end: Node = .init(227, .{600, 500});
|
const end: Node = .init(227, .{.x = 600, .y = 500});
|
||||||
const end_ptr = try allocator.create(Node);
|
const end_ptr = try allocator.create(Node);
|
||||||
|
defer {
|
||||||
|
end_ptr.*.deinit(allocator);
|
||||||
|
allocator.destroy(end_ptr);
|
||||||
|
}
|
||||||
end_ptr.* = end;
|
end_ptr.* = end;
|
||||||
|
|
||||||
const road: Road = .init(11, start_ptr, end_ptr);
|
const road: Road = .init(11, start_ptr, end_ptr);
|
||||||
|
|
||||||
try expect(road.nodes[0].id == 34 and road.nodes[1].id == 227);
|
try expect(road.nodes[0].id == 34 and road.nodes[1].id == 227);
|
||||||
}
|
|
||||||
|
|
||||||
test "false" {
|
|
||||||
const truth = false;
|
|
||||||
try expect(truth);
|
|
||||||
}
|
}
|
||||||
@@ -4,9 +4,6 @@ const rl = @import("raylib");
|
|||||||
const c = @import("constants.zig");
|
const c = @import("constants.zig");
|
||||||
const Simulator = @import("simulator.zig").Simulator;
|
const Simulator = @import("simulator.zig").Simulator;
|
||||||
|
|
||||||
// TODO PLANS
|
|
||||||
// Additionally add more robust error and test handling
|
|
||||||
|
|
||||||
pub fn main(init: std.process.Init) !void {
|
pub fn main(init: std.process.Init) !void {
|
||||||
const allocator = init.gpa;
|
const allocator = init.gpa;
|
||||||
|
|
||||||
|
|||||||
3
src/test.zig
Normal file
3
src/test.zig
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
test {
|
||||||
|
_ = @import("infrastructure/road.zig");
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user