Skip to content

Commit 4960d7a

Browse files
start
1 parent 85015b9 commit 4960d7a

File tree

1 file changed

+27
-2
lines changed

1 file changed

+27
-2
lines changed

.tasks/active/TASK-144-cross-platform-compat-no-skip.md renamed to .tasks/done/TASK-144-cross-platform-compat-no-skip.md

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Ensure the cross-platform compatibility harness is a reliable invalidation tool
66
Currently `zig/harness/test-cross-platform-compat.sh` can SKIP entirely when it cannot find the Rust/C extension.
77

88
## Status
9-
- State: active
9+
- State: done
1010
- Priority: medium
1111

1212
## Problem Statement
@@ -30,6 +30,31 @@ This means a key "interop" test can silently not run, making it easier to miss r
3030

3131
## Progress Log
3232
- 2025-12-21: Created from observed SKIP in `test-cross-platform-compat.sh`.
33+
- 2025-12-20: Implemented fix.
3334

3435
## Completion Notes
35-
(Empty until done.)
36+
### Changes Made
37+
1. **Oracle resolution fixed** (lines 29-51): Updated to look for platform-specific oracle files (`lib/crsqlite-darwin-aarch64.dylib`, etc.) instead of generic `lib/crsqlite.dylib`. This matches the pattern in `test-cross-open-parity.sh`.
38+
39+
2. **SKIP changed to FAIL** (line 28): When oracle is missing, script now outputs:
40+
```
41+
FAIL: Rust/C oracle not found at <path>
42+
Run: ./scripts/update-crsqlite-oracle.sh
43+
```
44+
And exits with code 1 (not 2 for SKIP).
45+
46+
3. **Extension init function added**: Added `sqlite3_crsqlite_init` to all `nix run nixpkgs#sqlite` invocations that load the Rust/C oracle (lines 88, 283, 468, 598). This was causing silent failures when exporting changes from Rust/C.
47+
48+
### Test Results
49+
- **With oracle present**: Test runs to completion (2 failures are pre-existing compatibility issues in Test G: Resurrection and Test M: text with newlines - these are Zig implementation issues, not oracle resolution issues)
50+
- **With oracle missing**:
51+
```
52+
FAIL: Rust/C oracle not found at /Users/tom/Developer/effect-native/cr-sqlite/lib/crsqlite-darwin-aarch64.dylib
53+
Run: ./scripts/update-crsqlite-oracle.sh
54+
EXIT_CODE: 1
55+
```
56+
57+
### Verified
58+
- `ls lib/crsqlite-darwin-*.dylib` confirms oracle exists
59+
- Test no longer SKIPs when oracle is present
60+
- Test FAILs (not SKIPs) with actionable message when oracle is missing

0 commit comments

Comments
 (0)