| Test |
Duration |
Result |
| a branch cannot disable its bwrap sandbox or substitute a foreign rootfs through a build definition |
0.009s |
passed |
| a branch cannot raise the concurrency limit or reach the sandbox policy through a build definition |
0.007s |
passed |
| a branch may redefine the builds section for its own builds |
0.002s |
passed |
| a branch whose config is committed under the pre-rename name is still read as the branch layer |
0.004s |
passed |
| a branch writing its trigger flat fails only its own builds |
0.001s |
passed |
| a build the branch invents inherits the host's sandbox policy |
0.002s |
passed |
| a config that needs a newer Werkator is refused, naming the file and both versions |
0.393s |
passed |
| a config within its declared range loads, and exceeding only the ceiling still loads |
0.059s |
passed |
| a leftover builds.maxConcurrent is ignored instead of failing the config |
0.008s |
passed |
| a trigger key written outside the trigger block is refused, naming the definition |
0.007s |
passed |
| an exclusion pattern takes a branch out of a build that would otherwise select it |
0.002s |
passed |
| an exclusion wins over a matching pattern, whatever their order |
0.001s |
passed |
| an explicit builds.default entry overrides the implicit default build |
0.006s |
passed |
| an incompatible branch config is refused as the branch's problem, not the server's |
0.028s |
passed |
| applyInstanceFragment installs a valid fragment verbatim, and re-applying replaces it |
0.037s |
passed |
| applyInstanceFragment refuses a missing or empty fragment |
0.009s |
passed |
| applyInstanceFragment refuses an unknown key loudly instead of installing a silent no-op |
0.017s |
passed |
| branch-specific buildCommand overrides branches.default |
0.001s |
passed |
| branch-specific config inherits from branches.default |
0.004s |
passed |
| branches is honored while no build is defined and ignored as soon as one is |
0.007s |
passed |
| builds.default is the base of every other build, but never its trigger |
0.006s |
passed |
| empty publicBaseUrl defaults to https://<nginx.serverName>/ when set |
0.003s |
passed |
| enabling both docker and bwrap on a build is rejected, not picked silently |
0.008s |
passed |
| explicit publicBaseUrl wins over the nginx.serverName default |
0.001s |
passed |
| falls back to the pre-rename .gittally.yml at the repository root |
0.013s |
passed |
| falls back to the pre-rename machine config under .git/gittally |
0.018s |
passed |
| finds the machine config left under its old name in an already-moved directory |
0.007s |
passed |
| loadForWorktree falls back to .git over project when the worktree sets nothing |
0.002s |
passed |
| loadForWorktree lets the worktree override build config (worktree > .git > project) |
0.004s |
passed |
| loadForWorktree pins secrets and the docker sandbox policy to .git, but allows docker.image |
0.005s |
passed |
| loadForWorktree without a worktree config equals load |
0.003s |
passed |
| loadRaw only returns explicitly set values |
0.001s |
passed |
| loadRaw returns empty map when no config files exist |
0.023s |
passed |
| loadWithBranchLayer applies a branch config read from git, pinning the same keys |
0.002s |
passed |
| loadWithBranchLayer without a branch config equals load |
0.007s |
passed |
| publicBaseUrl stays empty without an nginx.serverName |
0.003s |
passed |
| reads executor.maxConcurrent and defaults it to 1 |
0.002s |
passed |
| reads gitea config from .werkator.yml |
0.051s |
passed |
| repo install config overrides project config for same keys |
0.002s |
passed |
| returns defaults when no config files exist |
0.008s |
passed |
| the applied instance fragment layers above the project config and below the machine config |
0.002s |
passed |
| the builds section holds named build definitions |
0.025s |
passed |
| the current name wins where both exist, so a half-done rename is not merged |
0.009s |
passed |
| the machine config is checked as its own file |
0.008s |
passed |
| toYaml serializes WerkatorConfig with all sections |
0.026s |
passed |