Debugging
VillageSQL server debugging uses GDB on Linux and lldb on macOS. GDB on macOS requires code signing, which is painful to set up — lldb is the standard macOS debugger and works out of the box.Linux (GDB)
Run VillageSQL under GDB:macOS (lldb)
Run VillageSQL under lldb:Running Tests
VillageSQL includes both unit tests and regression tests to verify functionality.Unit Tests
Run VillageSQL-specific unit tests (from within your build directory):Regression Tests
Change to the mysql-test directory:—suite vs —do-suite:
--suite=villagesqlruns only top-level villagesql tests--do-suite=villagesqlruns all tests including sub-suites (insert, select, stored_procedure, etc.)
Running Individual Tests
Run a specific test by name:Updating Test Results
If you’ve changed functionality and need to update expected test output:Test Portability
When test output includes paths from the test runner’s temp directory, add this directive inside your.test file so recorded results don’t contain absolute paths that break on other machines:
Debugging Test Failures
VillageSQL-specific log messages (emitted viaLogVSQL()) are suppressed by default. To surface them in the error log during a test run:
mysql-test/var/log/mysqld.1.err.
For writing extension regression tests, see the Development Guide.
Installing Binaries
To install VillageSQL system-wide (requires appropriate permissions):/usr/local/mysql/ by default. You can customize the installation prefix:

