I think I have found a crude solution I’m sure there is a better one but here we go
const maybe_filters = b.args;
if (maybe_filters) |filters| {
const exe_unit_test_compile = b.addTest(.{
.name = "Project",
.root_source_file = b.path("src/main.zig"),
.optimize = optimize,
.target = target,
.filter = filters[0],
});
exe_unit_test_compile.linkLibrary(raylib_artifact);
exe_unit_test_compile.root_module.addImport("raylib", raylib);
const exe_unit_test_run_from_artifact = b.addRunArtifact(exe_unit_test_compile);
const exe_unit_test_step = b.step("test", "Test Project");
exe_unit_test_step.dependOn(&exe_unit_test_run_from_artifact.step);
} else {
const exe_unit_test_compile = b.addTest(.{
.name = "Project",
.root_source_file = b.path("src/main.zig"),
.optimize = optimize,
.target = target,
});
exe_unit_test_compile.linkLibrary(raylib_artifact);
exe_unit_test_compile.root_module.addImport("raylib", raylib);
const exe_unit_test_run_from_artifact = b.addRunArtifact(exe_unit_test_compile);
const exe_unit_test_step = b.step("test", "Test Project");
exe_unit_test_step.dependOn(&exe_unit_test_run_from_artifact.step);
}