Crafter.Build/tests
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jorijn van der Graaf 51d87a990f
test(shader): variants through the Shader API and through Build()
ShaderCompile registers one source twice and checks that the variant
gets its own output name, takes the other #ifdef branch and receives
the value of a NAME=VALUE define. Staleness is pinned per output: while
only the plain output exists the variant must still be due, or Build()
would never compile a variant added to a built project. Malformed
defines and a variant with a path separator must be refused by name.

ShaderVariantBuild drives the same through Build(), which is where the
entries compile in parallel into one directory: a variant added to an
already built configuration is compiled into its own file, and two
entries with one output name fail the build without touching the
existing output. Its fixture tests the macro with `#if`, which pins
that a bare define is 1 and not empty.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 16:50:41 +02:00
..
CleanProject feat(lint): const-local and constexpr-constant rules 2026-07-31 00:50:48 +02:00
CompilerWarning refactor: drop Windows host support 2026-10-02 22:03:34 +02:00
ConcurrentCacheRace linting 2026-07-23 01:24:42 +02:00
ConcurrentDependencyReset linting 2026-07-23 01:24:42 +02:00
DependencyLink linting 2026-07-23 01:24:42 +02:00
HelloWorld linting 2026-07-23 01:24:42 +02:00
HostCacheSourceStamp test(host-cache): changed declarations recompile project.so 2026-10-06 16:50:41 +02:00
HostCacheToolchainKey fix: key PCM and project.so freshness on content, not installed mtimes 2026-10-02 23:18:09 +02:00
IncrementalHeaderChange test: header-change incrementality across every compile path 2026-07-31 11:11:49 +00:00
IncrementalInterfaceChange fix: re-resolve module imports before checking staleness 2026-07-30 17:12:24 +00:00
Lint feat(lint): const-local and constexpr-constant rules 2026-07-31 00:50:48 +02:00
ModuleInterface linting 2026-07-23 01:24:42 +02:00
ProjectDependency fix: let a project file ask whether it is the top-level project 2026-10-02 22:02:40 +02:00
RunSingleTestExit linting 2026-07-23 01:24:42 +02:00
ShaderCompile test(shader): variants through the Shader API and through Build() 2026-10-06 16:50:41 +02:00
ShaderVariantBuild test(shader): variants through the Shader API and through Build() 2026-10-06 16:50:41 +02:00
StandardArgs fix: key the host PCM cache on source content, add clean, hash project args 2026-07-30 17:43:09 +00:00
StaticLib linting 2026-07-23 01:24:42 +02:00
SysrootStdModule test(sysroot): cover the std module source choice for a sysroot build 2026-10-03 16:37:00 +02:00
TestRunnerSpec feat(toolchain): resolve the compiler in one place 2026-10-02 22:26:31 +02:00
ToolchainResolve test(sysroot): cover the std module source choice for a sysroot build 2026-10-03 16:37:00 +02:00
TransitiveInterfaceChange test change 2026-08-05 05:49:42 +02:00
VariantId test(incremental): a compiler update perturbs VariantId 2026-10-03 20:09:22 +02:00
VersionFlag feat(toolchain): resolve the compiler in one place 2026-10-02 22:26:31 +02:00
WasiBrowserRuntime linting 2026-07-23 01:24:42 +02:00
WasmHelloRuns feat(packaging): ship crafter-build as a Flatpak with its own toolchain 2026-10-02 23:18:10 +02:00
WasmVariants linting 2026-07-23 01:24:42 +02:00