From 7880ab4280bf4ce3192b381fead802f32cc6626b Mon Sep 17 00:00:00 2001 From: Rongsong Shen Date: Thu, 27 Aug 2026 02:24:56 +0000 Subject: [PATCH] chore(xce-test-rc-file): pass --norc from existing xce_test automation Now that xce_test auto-loads a personal rc file at startup (this spec), harden the three existing non-interactive xce_test callers so a future developer's ~/.config/xce_test/rc can never silently affect a CI/soak run: run-ha-soak.sh, run-resource-verify.sh, and clean_failover_preservation.sh all now pass --norc to their xtest() invocation. No behavior change today (no rc file exists in this environment yet, per xce-test-rc-file task 3.3's own verification) -- this is forward-looking reproducibility hardening. Independently re-verified end-to-end: run-ha-soak.sh (--sequential, 2 rounds, zero job loss) and run-resource-verify.sh (1 resource, 3 layers, zero mismatches) both PASS unchanged with --norc added. clean_failover_preservation.sh could not be run in this sandbox -- its DATADIR precondition (/ha/data/cluster.bin + certs) was deleted by an unrelated earlier commit (ee8473bd, admin-config-tool) and never restored; confirmed via git history this is pre-existing and unrelated to this edit (the precondition check runs before xtest() and fails identically on the unmodified script). Logged as bug-1721, not fixed here -- out of this spec's scope. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01AgYRU3zDTqNGV5Jk8aiKLg --- .claude/skills/xce-test-ha/run-ha-soak.sh | 2 +- .claude/skills/xce-test-resources/run-resource-verify.sh | 2 +- src/controller/testsuite/clean_failover_preservation.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.claude/skills/xce-test-ha/run-ha-soak.sh b/.claude/skills/xce-test-ha/run-ha-soak.sh index fc5d768d..e127a195 100755 --- a/.claude/skills/xce-test-ha/run-ha-soak.sh +++ b/.claude/skills/xce-test-ha/run-ha-soak.sh @@ -404,7 +404,7 @@ trap cleanup EXIT INT TERM # heap leaks at exit (non-zero exit code) that would otherwise be misread as a # command failure. Job-loss is judged by the command OUTPUT (expect-job "not # found"), not the leak-polluted process exit code. -xtest() { ASAN_OPTIONS=detect_leaks=0 timeout 60 "$XT" 2>&1; } +xtest() { ASAN_OPTIONS=detect_leaks=0 timeout 60 "$XT" --norc 2>&1; } start_node() { # bug-1418: chaotic mode's DOWN bookkeeping restarts "the previously-downed diff --git a/.claude/skills/xce-test-resources/run-resource-verify.sh b/.claude/skills/xce-test-resources/run-resource-verify.sh index b46bec9e..5068cf00 100755 --- a/.claude/skills/xce-test-resources/run-resource-verify.sh +++ b/.claude/skills/xce-test-resources/run-resource-verify.sh @@ -476,7 +476,7 @@ declare -A INJECTED_RESULTS=() # resource name -> "accepted" | "rejected: &1 + nix develop "$REPO/src" --command env ASAN_OPTIONS=detect_leaks=0 timeout 60 "$XT" --norc 2>&1 } # inject_resources [resource=value ...] diff --git a/src/controller/testsuite/clean_failover_preservation.sh b/src/controller/testsuite/clean_failover_preservation.sh index 2e81c3c0..4e780c72 100755 --- a/src/controller/testsuite/clean_failover_preservation.sh +++ b/src/controller/testsuite/clean_failover_preservation.sh @@ -132,7 +132,7 @@ cleanup() { # Run a batch of xce_test commands against the live cluster; returns its exit. xtest() { - timeout 60 "$XCE_TEST" 2>&1 + timeout 60 "$XCE_TEST" --norc 2>&1 } # ── Preconditions ────────────────────────────────────────────────────────────