From 2a9b56bf36281e7ef384dacda1b388abcbf67c7e Mon Sep 17 00:00:00 2001 From: Geronimo Date: Fri, 25 Sep 2026 01:04:04 +0530 Subject: [PATCH] fix: replace blanket ECC_TEST_ALLOW_FAILURES with targeted ECC_TEST_SKIP Per chenzh01 review: the blanket ECC_TEST_ALLOW_FAILURES=1 env var masks all failures. Replace with ECC_TEST_SKIP listing only the known-broken test files. Any new failure will break CI. Added skip-pattern warning in test output for visibility. --- .github/workflows/ci.yml | 4 ++-- tests/run-all.js | 8 ++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e6b927316..3afd2d597 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -97,7 +97,7 @@ jobs: run: node tests/run-all.js env: CLAUDE_CODE_PACKAGE_MANAGER: ${{ matrix.pm }} - ECC_TEST_ALLOW_FAILURES: '1' + ECC_TEST_SKIP: 'ownership-guard,install-state-projection,install-state-selective-reinstall,codex-hooks,install-apply,hooks.test,observe-subdirectory-detection,claude-scope-migration,state-store,control-pane.test,setup.test' # Upload test artifacts on failure - name: Upload test artifacts @@ -324,7 +324,7 @@ jobs: - name: Run coverage run: npm run coverage env: - ECC_TEST_ALLOW_FAILURES: '1' + ECC_TEST_SKIP: 'ownership-guard,install-state-projection,install-state-selective-reinstall,codex-hooks,install-apply,hooks.test,observe-subdirectory-detection,claude-scope-migration,state-store,control-pane.test,setup.test' - name: Upload coverage report if: always() diff --git a/tests/run-all.js b/tests/run-all.js index 4ef029120..2a42fcdf3 100644 --- a/tests/run-all.js +++ b/tests/run-all.js @@ -103,6 +103,11 @@ console.log(boxLine(' Everything Claude Code - Test Suite')); console.log('╚' + '═'.repeat(BOX_W) + '╝'); console.log(); +if (skipPatterns.length > 0) { + console.log(`⚠ Skipped patterns: ${skipPatterns.join(', ')}`); + console.log(); +} + if (testFiles.length === 0) { console.log(`✗ No test files matched ${TEST_GLOB}${filter ? ` with filter "${filter}"` : ''}`); process.exit(1); @@ -196,5 +201,4 @@ if (failedFiles.length > 0) { console.log('╚' + '═'.repeat(BOX_W) + '╝'); console.log(`\nPassed: ${totalPassed}, Failed: ${totalFailed}`); -const allowFailures = process.env.ECC_TEST_ALLOW_FAILURES === '1'; -process.exit(!allowFailures && totalFailed > 0 ? 1 : 0); +process.exit(totalFailed > 0 ? 1 : 0);