Local Test Server
This module can automatically install and run a local FoundationDB server for JVM tests.
- Automatic test lifecycle: macOS/Linux only.
scripts/run-fdb-for-tests.shstartsfdbserveron127.0.0.1:4500, writes logs tobuild/testdatastore/logs, and PID tobuild/testdatastore/fdbserver.pid;scripts/stop-fdb-for-tests.shstops that managed server and removes the test database directory. - Windows: unsupported for Maryk FoundationDB JVM tests.
scripts/install-foundationdb.ps1exits intentionally because the required release artifacts and checksums are not pinned. Do not use it as an installer; use macOS/Linux for the managed local test lifecycle. - Install location: Binaries are placed under
store/foundationdb/binand native libs understore/foundationdb/bin/lib. The Gradle JVM test task setsjava.library.pathandDYLD_LIBRARY_PATH/LD_LIBRARY_PATHto this location.
Gradle Integration
Section titled “Gradle Integration”- Auto start/stop:
jvmTestdepends on starting FDB and finalizes by stopping it. - Tasks:
installFoundationDB: installs or links FDB locally.startFoundationDBForTests: starts the local server.stopFoundationDBForTests: stops the server and cleans data.
Configuration
Section titled “Configuration”FDB_VERSION: Optional FoundationDB release selector. The only supported pinned release is7.3.79; any other version fails before local/system installation, download, or extraction. If unset, scripts use the project default matching the client dependency.FDB_CLEAN_MODE: Post‑test cleanup (defaultdata). Options:data: deletebuild/testdatastore/data(database wiped).all: deletebuild/testdatastore/dataandbuild/testdatastore/logs.none: keep both.
- Cluster file: Tests use
store/foundationdb/fdb.cluster(exported asFDB_CLUSTER_FILEfor JVM tests). The run script will create it if missing. - Ports/paths: Default listen/public address
127.0.0.1:4500, databuild/testdatastore/data, logsbuild/testdatastore/logs.
Manual Usage
Section titled “Manual Usage”- Install (macOS/Linux):
bash scripts/install-foundationdb.sh. - Install (Windows): not supported by Maryk. The PowerShell script exits intentionally; it does not install or configure a test runtime.
- Start/stop (macOS/Linux only):
bash scripts/run-fdb-for-tests.shandbash scripts/stop-fdb-for-tests.sh(respectsFDB_CLEAN_MODE).
Notes:
- On macOS, the installer downloads and extracts the FoundationDB
.pkgfrom GitHub releases iffdbserveris not on thePATH, and copieslibfdb_c.*intobin/lib. - On Linux, if no package manager is detected, the installer downloads and extracts
.debartifacts locally. - Windows FoundationDB testing is not supported by this module’s local tooling until release artifacts and checksums are pinned.
