Repository navigation
Verification
The repository ships its own verification story. Everything on this page is reproducible by anyone with Docker and this repository.
- 178 tests: 171 default (against
:memory:), 6 server-dependent (MultiConnectionTest+LocalRemoteReplicaTest) — run against two seededlibsql-serverinstances on 8081/8082 in CI — plus 1 opt-in cloud offline-write test (skipped without credentials). CI result: 177 passed, 1 skipped, 556 assertions, identical on all 7 legs. - Data types, Query Builder, Eloquent (relationships, casts, soft deletes, collections), transactions, vector types, schema operations.
Run:
composer install
./vendor/bin/pestServer-dependent tests are skipped by default; enable with:
TURSO_SQLD_AVAILABLE=true ./vendor/bin/pest(A running sqld is required on 127.0.0.1:8081 and :8082 — the CI workflow
provisions these.)
A self-contained harness that builds a fresh Laravel 12 app, installs the driver from the tree under review, and proves it — through HTTP, through a web tier, during a real outage, and through sync — end to end.
Verified phases and their assert counts:
| Phase | Asserts | What is proven |
|---|---|---|
ProofRun |
42 | Console-side: health 3, connection modes/memory 12, remote 6, replica 4, transactions 8, second client 2, encryption at rest 4, write-failure rethrow 3 |
ProofHttp |
8 | Through nginx → php-fpm: fpm boot 4, remote read 2, write-failure surfaces as HTTP 500 2 |
ProofOfflineWrite |
9 | During outage: isOnline() false 1, journal captures DDL+inserts 7, server sees zero unsynced writes 1 |
ProofOfflineSync |
5 | After reconnect: isOnline() true 1, sync() drains journal 2, server holds exact drained rows 2 |
proof:offline-cloud (opt-in) |
12 | Turso Cloud flavor: bootstrap, journal, push, remote read, pushed drop |
Driver 1.7.0 with the harness inside the built image verifies: 42 console asserts + 8 HTTP asserts + 9 outage asserts + 5 drain asserts per run — all green, with the outage window verified from the host side by an independent Hrana client (blind server during the outage, exact rows after the drain).
Run:
docker/proof/proof.shReports are written to docker/proof/proof-report/ (gitignored).
.github/workflows/tests.yml:
| Laravel | PHP | Verifies |
|---|---|---|
| 12 | 8.2, 8.3, 8.4, 8.5 | tests + sqld services (8081/8082) |
| 13 | 8.3, 8.4, 8.5 | tests + sqld services (8081/8082) |
Green on every leg as of 1.7.0 (identical 556 assertions on all 7 legs).
- Turso Cloud flavor (
proof:offline-cloud/TursoCloudOfflineWriteTest) — requires real cloud credentials; exercised manually, not in CI. - Encryption at rest is verified inside the harness (
docker/proof/phaseencryption) but not as a standalone assertion across the test matrix.