mirror of
https://github.com/affaan-m/ECC.git
synced 2026-10-26 18:35:05 +00:00
fix: restore unskipped installer refactor validation
Follow up PR #3187 at 38b8c07f while preserving the original contribution history and all current-main helper bodies. Remove both CI safety-suite exclusions, clean stale imports and the warning glyph, retain shipped test/coverage entrypoints, and keep unknown test totals honest. The tree matches the fully tested 6246-pass/325-file tree; disposable Claude/OpenCode lifecycle passes.
This commit is contained in:
5 files changed
+9
-10
No files matched your search
@@ -97,7 +97,6 @@ jobs:
|
||||
run: node tests/run-all.js
|
||||
env:
|
||||
CLAUDE_CODE_PACKAGE_MANAGER: ${{ matrix.pm }}
|
||||
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
|
||||
@@ -361,8 +360,6 @@ jobs:
|
||||
|
||||
- name: Run coverage
|
||||
run: npm run coverage
|
||||
env:
|
||||
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()
|
||||
|
||||
+2
-2
@@ -501,10 +501,10 @@
|
||||
"test:validators": "node scripts/ci/check-unicode-safety.js && node scripts/ci/validate-agents.js && node scripts/ci/validate-commands.js && node scripts/ci/validate-rules.js && node scripts/ci/validate-skills.js && node scripts/ci/validate-hooks.js && node scripts/ci/check-hooks-schema-keys.js && node scripts/ci/validate-install-manifests.js && node scripts/ci/validate-context-profiles.js && node scripts/ci/validate-no-personal-paths.js && npm run catalog:check && npm run command-registry:check",
|
||||
"test:js": "node tests/run-all.js",
|
||||
"test:python": "python3 -m pytest tests/ -q",
|
||||
"test": "npm run test:validators && npm run test:js",
|
||||
"test": "node scripts/ci/check-unicode-safety.js && node scripts/ci/validate-agents.js && node scripts/ci/validate-commands.js && node scripts/ci/validate-rules.js && node scripts/ci/validate-skills.js && node scripts/ci/validate-hooks.js && node scripts/ci/check-hooks-schema-keys.js && node scripts/ci/validate-install-manifests.js && node scripts/ci/validate-context-profiles.js && node scripts/ci/validate-no-personal-paths.js && npm run catalog:check && npm run command-registry:check && node tests/run-all.js",
|
||||
"coverage:js": "c8 --all --include=\"scripts/**/*.js\" --include=\"scripts/**/*.mjs\" --check-coverage --lines 80 --functions 80 --branches 79 --statements 80 --reporter=text --reporter=lcov node tests/run-all.js",
|
||||
"coverage:python": "python3 -m pytest tests/ -q --cov=src --cov-report=term --cov-fail-under=80",
|
||||
"coverage": "npm run coverage:js",
|
||||
"coverage": "c8 --all --include=\"scripts/**/*.js\" --include=\"scripts/**/*.mjs\" --check-coverage --lines 80 --functions 80 --branches 79 --statements 80 --reporter=text --reporter=lcov node tests/run-all.js",
|
||||
"build:opencode": "node scripts/build-opencode.js",
|
||||
"prepack": "npm run build:opencode",
|
||||
"dashboard": "python3 ./ecc_dashboard.py",
|
||||
|
||||
@@ -10,7 +10,6 @@ const { readInstallState, validateInstallState } = require('./install-state');
|
||||
const { assertWithinTrustedRoot } = require('./path-safety');
|
||||
const { createInstallPlanFromRequest } = require('./install/runtime');
|
||||
const { assertNoNewUserOwnedFile, prepareUserOwnedFileGuard } = require('./install/ownership-guard');
|
||||
const { writeFileNoFollow: guardedWriteFile } = require('./install/guarded-write');
|
||||
const { withOpenCodeInstallLocks } = require('./install/opencode-install-lock');
|
||||
const { isCodexUserConfig } = require('./install/codex-user-config');
|
||||
const {
|
||||
@@ -57,7 +56,6 @@ const {
|
||||
readJsonNoFollow,
|
||||
removeContainedPath,
|
||||
writeContainedFile,
|
||||
writeFileNoFollow,
|
||||
} = require('./install/contained-fs');
|
||||
const {
|
||||
JSON_REMOVE_SENTINEL,
|
||||
|
||||
@@ -91,6 +91,12 @@ const tests = [
|
||||
assert.match(result.annotations[0], /AssertionError: mismatch/);
|
||||
assert.ok(!result.annotations[0].includes('PASS handles'));
|
||||
}],
|
||||
['successful files without counts do not invent test totals', () => {
|
||||
const result = run({ status: 0, stdout: 'suite complete' });
|
||||
assert.strictEqual(result.status, 0);
|
||||
assert.ok(result.logs.some(line => /Passed:\s+0\s/.test(line)));
|
||||
assert.ok(result.logs.some(line => /Files: 1 passed, 0 failed/.test(line)));
|
||||
}],
|
||||
['healthy suites preserve successful totals and emit no annotation', () => {
|
||||
const result = run({ status: 0, stdout: 'Passed: 3, Failed: 0' });
|
||||
assert.strictEqual(result.status, 0);
|
||||
|
||||
+1
-3
@@ -104,7 +104,7 @@ console.log('╚' + '═'.repeat(BOX_W) + '╝');
|
||||
console.log();
|
||||
|
||||
if (skipPatterns.length > 0) {
|
||||
console.log(`⚠ Skipped patterns: ${skipPatterns.join(', ')}`);
|
||||
console.log(`Skipped patterns: ${skipPatterns.join(', ')}`);
|
||||
console.log();
|
||||
}
|
||||
|
||||
@@ -174,8 +174,6 @@ for (const testFile of testFiles) {
|
||||
if (counts.definite) {
|
||||
totalPassed += counts.passed;
|
||||
totalFailed += counts.failed;
|
||||
} else {
|
||||
totalPassed += 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user