zig_configure_test
Once-native configured Zig test target.
Description#
Compiles a Zig test binary with zig test --test-no-exec, then runs that
binary through Once's generic test capability. Configuration is declared
directly on the target with attributes such as mode, threaded,
zig_version, and zigopt.
The root can be set with main, or omitted when deps contains exactly one
Zig module dependency. Test execution is host-only.
Canonical module names are generated from target labels with collision-safe
escaping. import_names keys must match exactly one Zig module dependency by
full label, short label name, import name, or canonical name; ambiguous or
unknown keys fail validation.
Attributes#
This target accepts the complete attribute set documented by
zig_test, including strip,
translate_c_identity, csrcs, linker settings, env_inherit, test_env,
test_runner, labels, and timeout_ms.
Dependency Edges#
| Edge | Accepts | Description |
|---|---|---|
deps | zig_module, c_provider | Zig modules and C provider dependencies consumed by the test |
Providers#
The target emits zig_test and once_test_info.
Capabilities#
| Capability | Output groups | Requires |
|---|---|---|
build | binary, asm, llvm_ir, llvm_bc, zig_docs | |
test | default, test_results, logs | binary |
Example#
[[target]]
name = "math_tests"
kind = "zig_configure_test"
srcs = ["src/**/*.zig"]
[target.attrs]
main = "src/math_test.zig"
mode = "debug"
threaded = "multi"
labels = ["unit"]