icom/ framework

A real shared-database test.

Exercise PDO MySQL against MariaDB with separate processes and explicit disposable state.

Tested database

The v0.4 release uses an isolated MariaDB 11.8.6 server through PDO MySQL. It tests migrations, prepared input, transaction rollback, sessions, MFA, reset tokens, queue reservations and concurrent one-use code consumption. The live documentation continues to use SQLite. MariaDB evidence is not an Oracle MySQL or PostgreSQL certification.

Run the integration checks

Use a new disposable database whose name begins with icom_test_. These tests delete the framework tables in that database and require an explicit opt-in. Configure credentials privately, never in committed production configuration.

example
ICOM_TEST_MYSQL_DSN='mysql:host=127.0.0.1;dbname=icom_test_local;charset=utf8mb4' \
ICOM_TEST_MYSQL_USER=test_user \
ICOM_TEST_MYSQL_ALLOW_RESET=1 \
php tests/run.php
# Set ICOM_TEST_MYSQL_PASSWORD privately if the test server requires it.
# Redis integration additionally uses ICOM_TEST_REDIS_URL.

What parallel processes establish

Six queue subprocesses compete for 60 jobs, with unique acknowledgement checked across all results. Four independent connections race on a recovery code and then a reset token; only one succeeds. SQLite receives its own independent-process recovery/challenge/reset races. These checks exercise actual database locks and commits, not mock storage.

Deployment work that remains

Production SQL topology, credentials, backups, failover, connection recovery, replicas and migration coordination still require an infrastructure rollout. Kubernetes examples remain untested manifests. Redis plus these tests does not automatically make the default SQLite application a multi-node deployment.

Developer preview — benchmark claims require reproducible evidence.

Explore the architecture