fix: Fix test extension loading paths and Makefile (issue #8)#9
Merged
gabewillen merged 1 commit intoDec 12, 2025
Merged
Conversation
…ai#8) - Fix extension loading paths: Remove .so/.dylib suffixes from all test files (SQLite automatically appends these suffixes) - Fix Makefile: Update BASIC_TESTS to reference only existing test files - Fix symbol resolution: Add -Wl,--export-dynamic to LDFLAGS for dynamic extension loading - Fix TCK test generator to produce correct paths Fixes agentflare-ai#8
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR fixes three critical bugs that prevented tests from running:
Extension Loading Path Issue: SQLite's
sqlite3_load_extension()automatically appends.so(or.dylibon macOS) to extension paths. Tests were passing paths like"../build/libgraph.so", causing SQLite to attempt loading"../build/libgraph.so.so", which failed.Makefile References Non-Existent Tests: The Makefile referenced test files that don't exist (
test_loading,test_insert_nodes,test_query_nodes), causingmake testto fail immediately.Dynamic Symbol Resolution Issue: Tests statically linked SQLite but dynamically loaded the extension. The extension couldn't resolve SQLite symbols because they weren't exported from the test binary.
Related Issues
Closes #8
Type of Change
Changes Made
.so/.dylibsuffixes)tests/Makefileto reference only existing test files-Wl,--export-dynamicto LDFLAGS for dynamic symbol resolutiongenerate_tck_tests.py) to produce correct pathsTesting
make test)Test Evidence
Before fixes:
After fixes:
Documentation
Checklist
Breaking Changes
N/A
Performance Impact
Screenshots / Examples
N/A
Additional Context
This fix addresses the root cause of test failures. The changes are minimal and focused:
All 4 basic tests now pass successfully.
Reviewer Notes
Please verify:
.so/.dylibsuffixes)make testFor Maintainers: