Tree:
5002371864
master
v0.1a
${ noResults }
2 Commits (5002371864cfadbd863f75668fa20d5d9a6315f5)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
5002371864 |
Split long-running test files to lower the -jobs parallel floor (G-092 achieved)
multishell.test (10 tests, ~105s solo child - the -jobs floor) split five ways along shared-fixture boundaries, every test moved verbatim with its provenance lines: multishell.test keeps wrap + structure/LF-only + exec smoke (incl WSL); multishell_wrapverify.test (fresh-wrap checkfile) and multishell_wrapdeterminism.test (byte-identical re-wrap) each re-pay the wrap fixture; runtimecmd_checkfile.test and runtimecmd_roundtrip.test guard the committed bin/runtime.cmd and its source round-trip with no wrap fixture at all. argparsingtest.test (17 tests, ~32s) split into timeit/discover/contract/first_call (11) + argparsingtest_compare.test (compare_*, 6). Assessed and left unsplit: dtplite.test (24.6s solo), scriptexec.test (12s); exec.test excluded as imported core material. File headers point at the src/tests/modules/AGENTS.md punk/mix bullet for the sibling map; the runtests longest-first weight table carries measured post-split weights. runtests_parity.tcl gains a -names mode: multiset comparison of '- testname:' lines from '-report markdown -show-passes 1' captures, file attribution ignored - verbatim moves compare identical, lost/ duplicated/renamed tests are reported. Verified (native tclsh 9.0.3): repeated -jobs 8 full-suite runs 1m26.3s / 1m26.8s (was 2m16s at G-091, ~5m40s sequential - 4.07x vs the pre-parallel baseline, 36.6% vs the G-091 reference); slowest child 30.7s / 31.3s (bound 45s); NAMES identical (989 occurrences) vs the pre-split sequential capture; tallies identical in every run (989/973/ 15/1, exec-14.3 sole failure, files 87 -> 92); PARITY ok -jobs 8 vs -jobs 1 and between repeats; repo clean after runs. Notable finding recorded in the goal file: child-wall contention inflation (~45% with 50s+ dominant children present) collapsed to ~15% once the work distribution was flattened - splitting reduced both the critical path and the contention itself. G-092 flipped to achieved 2026-07-19 and archived (GOALS-archive.md record, detail file with full verification evidence to goals/archive/). goals_lint clean. Also noted in the goal file, out of scope: runtests -include-paths multi-pattern/repeated-flag matching misbehaved during measurement (single value with four deep patterns matched one; repeated flags matched zero) - contradicts documented semantics, needs its own investigation. Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com |
1 week ago |
|
|
218fbb1c46 |
runtests.tcl: complete -singleproc 0 multi-process mode + parity harness
Multi-process mode previously execd bare test files with no environment (children died on their first package require) and misreported the crashes as missing-cleanupTests warnings with the stderr discarded. - testsupport/child_test_runner.tcl (new): per-file child bootstrap. Applies a runtests-generated environment payload (prefer latest, test tm paths, auto_path, modpod ifneeded defs, tcltest options; per-file -testdir computed child-side), warms 'clock format' before the module-path wipe (first script-level clock use loads msgcat from the runtime default paths, which the test paths do not supply), and mirrors the testinterp preload: package require shellrun plus one no-op runx -tcl call (runx execution pulls punk::lib; several suites depend on preloaded punk::* commands). - runtests.tcl: generate the payload per run; spawn children via plain exec with file-captured stdout/stderr and immediate-EOF stdin (mechanism reusable for future parallel -jobs scheduling); classify nonzero child exits as file-level failures with the stderr tail surfaced in all report styles (exit-0-no-summary remains the missing-cleanupTests warning); warn under kit executables (children boot with kit-stamped punk packages preloaded, shadowing src dev modules - prefer a native tclsh). - scriptlib/developer/runtests_parity.tcl (new): compares two '-report json' captures on result identity (per-file counts, failure/skip/warning identities; timings ignored), tolerating preamble noise and the ANSI SGR reset emitted on the JSON line. Verified on native tclsh 9.0.3: full suite singleproc vs multiproc PARITY ok (87 files, 989 tests, 973/15/1 with the documented exec-14.3 baseline as the sole failure); crash and warning classification exercised. Wall time ~5m50s in both modes. Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com |
1 week ago |