@@ -51,4 +51,37 @@ pub fn build(b: *std.Build) void {
51
51
});
52
52
const run_dim_tests = b .addRunArtifact (dim_tests );
53
53
test_step .dependOn (& run_dim_tests .step );
54
+
55
+ const behaviour_tests_step = b .step ("behaviour" , "Run all behaviour tests" );
56
+ for (behaviour_tests ) | script | {
57
+ const step_name = b .dupe (script );
58
+ std .mem .replaceScalar (u8 , step_name , '/' , '-' );
59
+ const script_test = b .step (step_name , b .fmt ("Run {s} behaviour test" , .{script }));
60
+
61
+ const run_sizeless = b .addRunArtifact (dim_exe );
62
+ run_sizeless .addArg ("--output" );
63
+ _ = run_sizeless .addOutputFileArg ("disk.img" );
64
+ run_sizeless .addArg ("--script" );
65
+ run_sizeless .addFileArg (b .path (script ));
66
+ script_test .dependOn (& run_sizeless .step );
67
+
68
+ const run_with_size = b .addRunArtifact (dim_exe );
69
+ run_with_size .addArg ("--output" );
70
+ _ = run_with_size .addOutputFileArg ("disk.img" );
71
+ run_with_size .addArg ("--script" );
72
+ run_with_size .addFileArg (b .path (script ));
73
+ run_with_size .addArgs (&.{ "--size" , "30M" });
74
+ script_test .dependOn (& run_with_size .step );
75
+
76
+ behaviour_tests_step .dependOn (script_test );
77
+ }
54
78
}
79
+
80
+ const behaviour_tests : []const []const u8 = &.{
81
+ "tests/basic/empty.dis" ,
82
+ "tests/basic/fill-0x00.dis" ,
83
+ "tests/basic/fill-0xAA.dis" ,
84
+ "tests/basic/fill-0xFF.dis" ,
85
+ "tests/basic/raw.dis" ,
86
+ "tests/part/mbr/minimal.dis" ,
87
+ };
0 commit comments