Crafter.Build/tests
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jorijn van der Graaf 8d031a1dba
test(script): names, arguments and exit codes, in process and by CLI
RunScript on hand-built configurations: the named script alone runs,
with the project, the project directory and the arguments exactly as
given; its return value comes back whole from 0 to 255 and as 1 outside
that; a script that throws exits 1. A project without scripts, a
duplicate, an untypeable name, a missing callback and an unknown name
all fail without running anything. ctx.Run returns the command's exit
code and 128+signal for a killed one, and ShellQuote carries quotes,
spaces and expansions through sh intact.

Then the same through Run() with a fixture project, because the parsing
is where this goes wrong. `run record a --help -v clean --debug
--version run` must hand all seven words to the script, leave the one
project arg that stood before `run` alone, and not delete the staged
bin/ and build/. `run clean` and `run help` look for scripts of those
names. Moving the two capture branches below the verbs in the parse
loop fails this test.

The command-line half needs the installed module sources and is skipped
without them, but only when the in-process half reported no failure.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-20 19:08:26 +02:00
..
CleanProject test(cli): a word after format is a glob, not the clean verb 2026-10-20 19:08:26 +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
Script test(script): names, arguments and exit codes, in process and by CLI 2026-10-20 19:08:26 +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
SysrootCompileFlags test(sysroot): the compile command forces the sysroot's libc++ 2026-10-06 16:50:41 +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