Commit Graph

6 Commits

Author SHA1 Message Date
Steve Yegge
3ae3e5b2cb Optimize test suite performance (bd-e05d)
- Gate slow git E2E tests with testing.Short() (saves ~5s)
- Use shallow/shared clones for test repos
- Disable git hooks in test setup (major speedup)
- Reduce sync rounds from 3→1 (2 for dedup test)
- Add git speed configs (gc.auto=0, fsync=false, gpgSign=false)

Results:
- cmd/bd tests: 41s → 33s with -short (~20% faster)
- Full suite: >300s timeout → ~40s (no timeout!)
- E2E tests: 2-3s each → skipped with -short

Run full E2E tests with: go test ./...
Run fast tests with: go test -short ./...
2025-11-02 16:24:35 -08:00
Steve Yegge
ad53c0bf4f Fix Windows CI: use forward slashes in git hook shell scripts
Root cause: getBDCommand() returned .\bd.exe on Windows, but git hooks
run with sh on Git for Windows where backslashes are escape characters.
This caused .\bd.exe to become .bd.exe, breaking hook execution.

Fix: Always use forward-slash paths (./bd.exe) in shell scripts.
Forward slashes work on Windows and are sh-compatible.
2025-11-02 10:52:37 -08:00
Steve Yegge
9f9b8bbdc2 Fix Windows test failures: path handling and bd binary references
- Fix TestFindDatabasePathEnvVar to expect canonicalized absolute paths
- Add getBDCommand() helper for platform-specific bd executable paths
- Update beads_hash_multiclone_test.go to use platform-specific bd paths
- Fix cleanupWALFiles linting error (removed unused error return)
2025-11-02 09:49:39 -08:00
Steve Yegge
d240439868 fix: Resolve Windows test failures and lint warnings
- Fix Windows binary path issues (bd.exe vs bd)
- Skip scripttest on Windows (requires Unix shell)
- Skip file lock tests on Windows (platform locking differences)
- Fix registry tests to use USERPROFILE on Windows
- Fix 8 unparam lint warnings by marking unused params with _

All changes are platform-aware and maintain functionality.

Amp-Thread-ID: https://ampcode.com/threads/T-bc27021a-65db-4b64-a3f3-4e8d7bc8aa0d
Co-authored-by: Amp <amp@ampcode.com>
2025-11-02 08:30:31 -08:00
Steve Yegge
e1c248bb7a fix: Use correct bd binary path for Windows tests
- Add getBDPath() helper to return bd.exe on Windows, bd on Unix
- Fixes TestHashIDs_MultiCloneConverge and TestHashIDs_IdenticalContentDedup on Windows CI
2025-11-02 08:10:43 -08:00
Steve Yegge
51fd63b107 Remove obsolete N-way collision tests, add focused hash ID tests
- Remove beads_nway_test.go (92s of obsolete sequential ID collision tests)
- Remove beads_twoclone_test.go (already skipped tests)
- Add beads_hash_multiclone_test.go (6s, tests hash ID multi-clone sync)
- Fix init.go git hook to remove --resolve-collisions flag

Result: 87% faster test suite (96s → 12s for full suite)

Hash-based IDs prevent collisions by design, making extensive N-way
collision resolution tests unnecessary. New tests verify that:
- Multiple clones can sync without ID collisions
- Identical content deduplicates correctly

Amp-Thread-ID: https://ampcode.com/threads/T-b256a7ad-c279-4c87-8b6b-6c34c6f05e7f
Co-authored-by: Amp <amp@ampcode.com>
2025-10-31 01:38:29 -07:00