mirror of
https://github.com/DeusData/codebase-memory-mcp.git
synced 2026-11-12 09:47:20 +08:00
test-infra: overlap the local ladder, open the serial tail, keep container I/O off virtiofs
Local runs left most of the machine idle: the serial tail ran sixteen suites one at a time on otherwise-idle cores, the three platform legs were launched by hand (usually sequentially), and every container-leg object write crossed the virtiofs bind mount. - run-tests-parallel.sh tail scheduling in two phases: the FLEX suites (timing-shaped but free of the shared per-account daemon runtime namespace) run CBM_TAIL_JOBS-wide (default 2), then the EXCL group — daemon-family plus the suites that drive daemon one-shots or supervisor rendezvous — runs strictly sequentially on a machine exactly as quiet as the old fully-serial tail gave it. The wave was already fed longest-first by the shard dealing order, so the drain-out no longer ends on a heavy straggler. - ladder.sh: one maintained entry point for the full local push gate with the legs overlapped — lint, the Linux container suite, and the Windows VM suite in the background, the macOS suite in the foreground, one verdict per leg, logs kept per leg. A missing prerequisite fails its leg loudly instead of silently skipping. - win.sh test-par now runs through vm-run-tests.sh (--par mode): the full parallel harness under the CI-shaped protected temp root with complete output. It previously ran under the MSYS-shared /tmp and piped through `tail -25` — the same truncated-blindness class that hid 40 Windows failures from the `test` command. - docker-compose: build artifacts and the incremental fixture cache move to named volumes on the container VM's native filesystem. Object writes over the virtiofs bind mount are the container legs' largest avoidable I/O cost, and the fixture cache now survives across container runs. - test_mem(win): the first valid full-parallel VM run proved working-set trimming beats the re-touch mitigation (19 MB resident of a 256 MB double-touch at 18 parallel suites). The RSS probe now VirtualLocks a 64 MB span — locked pages are exempt from trimming, making the measurement pressure-immune — with bounded touch-and-sample retries when the lock is unavailable. Red-to-green under the same 18-job load. - cli: the portable install's staging error now appends the activation refusal note (predicate, SID, object) like the managed path already does — a bare "activation transaction I/O failed" on a CI-only failure is undiagnosable without it. Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
This commit is contained in:
+4
-2
@@ -10627,8 +10627,10 @@ int cbm_cmd_install(int argc, char **argv) {
|
||||
cli_binary_validator_t staged_validator = {{0}};
|
||||
if (stage_status != CBM_ACTIVATION_TRANSACTION_OK || !binary_transaction ||
|
||||
!cli_activation_transaction_expected_build(binary_transaction, &staged_validator)) {
|
||||
(void)fprintf(stderr, "error: failed to stage install candidate: %s\n",
|
||||
cbm_activation_transaction_status_message(stage_status));
|
||||
const char *stage_refusal = cbm_activation_transaction_refusal_note();
|
||||
(void)fprintf(stderr, "error: failed to stage install candidate: %s%s%s\n",
|
||||
cbm_activation_transaction_status_message(stage_status),
|
||||
stage_refusal[0] ? ": " : "", stage_refusal);
|
||||
(void)cli_activation_transaction_abort(&binary_transaction);
|
||||
if (prepared_dir[0]) {
|
||||
(void)cbm_rmdir(prepared_dir);
|
||||
|
||||
Reference in New Issue
Block a user