Skip to content

Commit 70df07f

Browse files
authored
test(test): add tools/test-onboarding.sh local fresh-install harness (#2308)
Local harness that simulates the brand-new-user onboarding flow without touching the user's daily wheels install. Uses LUCLI_HOME isolation so an isolated copy of the worktree's cli/lucli/ is exercised, with the worktree's vendor/wheels/ as WHEELS_FRAMEWORK_PATH. Phases (mirrors fresh-VM journal format for direct comparison): - Phase 1: Setup isolated LUCLI_HOME (worktree mount, framework path, Lucee Express symlink to avoid the 74MB re-download) - Phase 2: wheels new (assertions for F3 dup create lines, F4 file tree shape, F1 no bundleName in generated config/app.cfm) - Phase 3: server boot via 'lucli server run' + sqlite-jdbc shim - Phase 4: migration cliff (F2/F5 false-success — verifies the actual sqlite db has the migrated tables, not just exit 0) - Phase 5: seed (cfscript wrapper + idempotency) - Phase 6: CRUD walkthrough through chapters 2-3 - Phase 7: wheels packages list (F7 — currently SKIP pending a separate fix; reports the bug signature when it reproduces) Closes the iteration loop: instead of fix → push → fresh-VM test (30+ min/round), we can now fix → run harness (~90s) and only burn a fresh VM as the final confidence check. Modes: - bash tools/test-onboarding.sh # symlink mount (default) - MODE=copy bash tools/test-onboarding.sh # copy (closer to brew install) - BASELINE=1 bash tools/test-onboarding.sh # use brew-installed wheels - KEEP_TEMP=1 bash tools/test-onboarding.sh # preserve temp dirs - FROM_PHASE=4 bash tools/test-onboarding.sh # skip earlier phases JAVA_HOME is auto-resolved (via /usr/libexec/java_home or brew-prefix fallback for keg-only openjdk@21). LUCLI_HOME ends in '.lucli' so LuCLI's getComponentPath() picks the absolute-file-path mode for Module.cfc loading. Without this harness we'd have shipped PR #2304 + #2306 + the formula updates, watched the next VM run still fail at migrate (the migrateToLatest bug surfaced in PR #2307 was masked by the silent exit-0), and needed a third VM iteration to find it.
1 parent d670bbc commit 70df07f

1 file changed

Lines changed: 702 additions & 0 deletions

File tree

0 commit comments

Comments
 (0)