Skip to content

test: parallelize BATS across semantic suites - #184

Merged
junior-ricon merged 1 commit into
mainfrom
junior/split-obfuscation-test-topology
Jul 27, 2026
Merged

test: parallelize BATS across semantic suites#184
junior-ricon merged 1 commit into
mainfrom
junior/split-obfuscation-test-topology

Conversation

@junior-ricon

Copy link
Copy Markdown
Contributor

Summary

  • split the former 86-test obfuscation suite into semantic obfuscate, deobfuscate, and hook/commit-cycle owners
  • disable Bats 1.13 within-file parallelism and let Rush schedule whole files across eight workers
  • update the runner contract to require cross-file-only scheduling

Why

Bats 1.13 within-file scheduling uses one-second semaphore polling, documented in KnickKnackLabs/template#7. Notes was explicitly enabling that path. Splitting by behavior gives Rush useful file-level scheduling units while keeping each test body unchanged.

All 86 test titles and bodies were mechanically verified as preserved byte-for-byte.

Validation

  • focused suites: 38/38 obfuscate, 28/28 deobfuscate, 20/20 hook/commit-cycle
  • runner contract: 9/9
  • full suite: 412 BATS and 9 Python tests
  • all eight Codebase lints
  • mise run doctor
  • readme build --check
  • Bash syntax and git diff --check
  • Fold pre-commit and pre-push (zero failures; expected no-upstream and GitHub merge-signature warnings before first push)

One comparable local observation on exact settled main ef2d0b19 took 171.57s. The exact candidate took 135.23s, 36.34s (21.2%) faster. This is one source-supported before/after observation, not a universal benchmark.

@junior-ricon
junior-ricon merged commit 23c1ed6 into main Jul 27, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant