aboutsummaryrefslogtreecommitdiff
path: root/build.zig
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2017-04-20 02:26:36 -0400
committerAndrew Kelley <superjoe30@gmail.com>2017-04-20 02:26:36 -0400
commit8654bc18104d64c7a7f9f80bdba75ed4e0c005fa (patch)
tree398f7b9d18988b61ad12db21aa72e21da3aec4d4 /build.zig
parent1ff73a8e69a09b3bc993cffb755cc2ca98c7040b (diff)
downloadzig-8654bc18104d64c7a7f9f80bdba75ed4e0c005fa.tar.gz
zig-8654bc18104d64c7a7f9f80bdba75ed4e0c005fa.zip
delete test_artifacts directory when tests complete
* add std.os.deleteTree * add std.os.deleteDir * add std.os.page_size * add std.os API for iterating over directories * refactor duplication in build.zig * update documentation on how to run tests
Diffstat (limited to 'build.zig')
-rw-r--r--build.zig51
1 files changed, 13 insertions, 38 deletions
diff --git a/build.zig b/build.zig
index 918a629cf6..378ea66c86 100644
--- a/build.zig
+++ b/build.zig
@@ -5,44 +5,19 @@ pub fn build(b: &Builder) {
const test_filter = b.option([]const u8, "test-filter", "Skip tests that do not match filter");
const test_step = b.step("test", "Run all the tests");
- const behavior_tests = b.step("test-behavior", "Run the behavior tests");
- test_step.dependOn(behavior_tests);
- for ([]bool{false, true}) |release| {
- for ([]bool{false, true}) |link_libc| {
- const these_tests = b.addTest("test/behavior.zig");
- these_tests.setNamePrefix(b.fmt("behavior-{}-{} ",
- if (release) "release" else "debug",
- if (link_libc) "c" else "bare"));
- these_tests.setFilter(test_filter);
- these_tests.setRelease(release);
- if (link_libc) {
- these_tests.linkLibrary("c");
- }
- behavior_tests.dependOn(&these_tests.step);
- }
- }
+ const cleanup = b.addRemoveDirTree("test_artifacts");
+ test_step.dependOn(&cleanup.step);
- const std_lib_tests = b.step("test-std", "Run the standard library tests");
- test_step.dependOn(std_lib_tests);
- for ([]bool{false, true}) |release| {
- for ([]bool{false, true}) |link_libc| {
- const these_tests = b.addTest("std/index.zig");
- these_tests.setNamePrefix(b.fmt("std-{}-{} ",
- if (release) "release" else "debug",
- if (link_libc) "c" else "bare"));
- these_tests.setFilter(test_filter);
- these_tests.setRelease(release);
- if (link_libc) {
- these_tests.linkLibrary("c");
- }
- std_lib_tests.dependOn(&these_tests.step);
- }
- }
+ cleanup.step.dependOn(tests.addPkgTests(b, test_filter,
+ "test/behavior.zig", "behavior", "Run the behavior tests"));
- test_step.dependOn(tests.addCompareOutputTests(b, test_filter));
- test_step.dependOn(tests.addBuildExampleTests(b, test_filter));
- test_step.dependOn(tests.addCompileErrorTests(b, test_filter));
- test_step.dependOn(tests.addAssembleAndLinkTests(b, test_filter));
- test_step.dependOn(tests.addDebugSafetyTests(b, test_filter));
- test_step.dependOn(tests.addParseHTests(b, test_filter));
+ cleanup.step.dependOn(tests.addPkgTests(b, test_filter,
+ "std/index.zig", "std", "Run the standard library tests"));
+
+ cleanup.step.dependOn(tests.addCompareOutputTests(b, test_filter));
+ cleanup.step.dependOn(tests.addBuildExampleTests(b, test_filter));
+ cleanup.step.dependOn(tests.addCompileErrorTests(b, test_filter));
+ cleanup.step.dependOn(tests.addAssembleAndLinkTests(b, test_filter));
+ cleanup.step.dependOn(tests.addDebugSafetyTests(b, test_filter));
+ cleanup.step.dependOn(tests.addParseHTests(b, test_filter));
}