authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2024-08-14 00:22:58+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2024-08-14 07:03:23+02:00
log927bc5562988e7467bcf6e94cf1e2db9c46aa128
tree6e73966f411b042a850aa0cdd4ad45aa11f781a9
parentb6009a7416c7661e09a23661887698ba520f0db6
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

build/test: Add a test-modules step for running all the per-target tests.

This is useful during porting work where you're mainly concerned with tests that e.g. run under QEMU. Combine with the new -Dtest-target-filter for an even more streamlined workflow.

1 files changed, 23 insertions(+), 18 deletions(-)

build.zig+23-18
...@@ -457,7 +457,9 @@ pub fn build(b: *std.Build) !void {...@@ -457,7 +457,9 @@ pub fn build(b: *std.Build) !void {
457 });457 });
458 test_step.dependOn(test_cases_step);458 test_step.dependOn(test_cases_step);
459459
460 test_step.dependOn(tests.addModuleTests(b, .{460 const test_modules_step = b.step("test-modules", "Run the per-target module tests");
461
462 test_modules_step.dependOn(tests.addModuleTests(b, .{
461 .test_filters = test_filters,463 .test_filters = test_filters,
462 .test_target_filters = test_target_filters,464 .test_target_filters = test_target_filters,
463 .test_slow_targets = test_slow_targets,465 .test_slow_targets = test_slow_targets,
...@@ -472,7 +474,7 @@ pub fn build(b: *std.Build) !void {...@@ -472,7 +474,7 @@ pub fn build(b: *std.Build) !void {
472 .max_rss = 1 * 1024 * 1024 * 1024,474 .max_rss = 1 * 1024 * 1024 * 1024,
473 }));475 }));
474476
475 test_step.dependOn(tests.addModuleTests(b, .{477 test_modules_step.dependOn(tests.addModuleTests(b, .{
476 .test_filters = test_filters,478 .test_filters = test_filters,
477 .test_target_filters = test_target_filters,479 .test_target_filters = test_target_filters,
478 .test_slow_targets = test_slow_targets,480 .test_slow_targets = test_slow_targets,
...@@ -486,7 +488,7 @@ pub fn build(b: *std.Build) !void {...@@ -486,7 +488,7 @@ pub fn build(b: *std.Build) !void {
486 .skip_libc = skip_libc,488 .skip_libc = skip_libc,
487 }));489 }));
488490
489 test_step.dependOn(tests.addModuleTests(b, .{491 test_modules_step.dependOn(tests.addModuleTests(b, .{
490 .test_filters = test_filters,492 .test_filters = test_filters,
491 .test_target_filters = test_target_filters,493 .test_target_filters = test_target_filters,
492 .test_slow_targets = test_slow_targets,494 .test_slow_targets = test_slow_targets,
...@@ -501,7 +503,7 @@ pub fn build(b: *std.Build) !void {...@@ -501,7 +503,7 @@ pub fn build(b: *std.Build) !void {
501 .no_builtin = true,503 .no_builtin = true,
502 }));504 }));
503505
504 test_step.dependOn(tests.addModuleTests(b, .{506 test_modules_step.dependOn(tests.addModuleTests(b, .{
505 .test_filters = test_filters,507 .test_filters = test_filters,
506 .test_target_filters = test_target_filters,508 .test_target_filters = test_target_filters,
507 .test_slow_targets = test_slow_targets,509 .test_slow_targets = test_slow_targets,
...@@ -516,20 +518,7 @@ pub fn build(b: *std.Build) !void {...@@ -516,20 +518,7 @@ pub fn build(b: *std.Build) !void {
516 .no_builtin = true,518 .no_builtin = true,
517 }));519 }));
518520
519 test_step.dependOn(tests.addCompareOutputTests(b, test_filters, optimization_modes));521 test_modules_step.dependOn(tests.addModuleTests(b, .{
520 test_step.dependOn(tests.addStandaloneTests(
521 b,
522 optimization_modes,
523 enable_macos_sdk,
524 enable_ios_sdk,
525 enable_symlinks_windows,
526 ));
527 test_step.dependOn(tests.addCAbiTests(b, skip_non_native, skip_release));
528 test_step.dependOn(tests.addLinkTests(b, enable_macos_sdk, enable_ios_sdk, enable_symlinks_windows));
529 test_step.dependOn(tests.addStackTraceTests(b, test_filters, optimization_modes));
530 test_step.dependOn(tests.addCliTests(b));
531 test_step.dependOn(tests.addAssembleAndLinkTests(b, test_filters, optimization_modes));
532 test_step.dependOn(tests.addModuleTests(b, .{
533 .test_filters = test_filters,522 .test_filters = test_filters,
534 .test_target_filters = test_target_filters,523 .test_target_filters = test_target_filters,
535 .test_slow_targets = test_slow_targets,524 .test_slow_targets = test_slow_targets,
...@@ -545,6 +534,22 @@ pub fn build(b: *std.Build) !void {...@@ -545,6 +534,22 @@ pub fn build(b: *std.Build) !void {
545 .max_rss = 5029889638,534 .max_rss = 5029889638,
546 }));535 }));
547536
537 test_step.dependOn(test_modules_step);
538
539 test_step.dependOn(tests.addCompareOutputTests(b, test_filters, optimization_modes));
540 test_step.dependOn(tests.addStandaloneTests(
541 b,
542 optimization_modes,
543 enable_macos_sdk,
544 enable_ios_sdk,
545 enable_symlinks_windows,
546 ));
547 test_step.dependOn(tests.addCAbiTests(b, skip_non_native, skip_release));
548 test_step.dependOn(tests.addLinkTests(b, enable_macos_sdk, enable_ios_sdk, enable_symlinks_windows));
549 test_step.dependOn(tests.addStackTraceTests(b, test_filters, optimization_modes));
550 test_step.dependOn(tests.addCliTests(b));
551 test_step.dependOn(tests.addAssembleAndLinkTests(b, test_filters, optimization_modes));
552
548 try addWasiUpdateStep(b, version);553 try addWasiUpdateStep(b, version);
549554
550 const update_mingw_step = b.step("update-mingw", "Update zig's bundled mingw");555 const update_mingw_step = b.step("update-mingw", "Update zig's bundled mingw");