bactopia-test
Run the nf-test profile matrix for Bactopia components.
Each component is tested against docker, conda, singularity_galaxy, and singularity_pull. Docker validates (or generates) the snapshot; the other profiles validate against it so runtime drift is surfaced without rewriting any tests. Environments are pre-built serially before the parallel test phase. Per-profile logs and work directories are kept under logs/.
Usage
bactopia-test [OPTIONS]
Required Options
| Option | Type | Default | Description |
|---|---|---|---|
--bactopia-path | STRING | Directory where the Bactopia repository is stored | |
--test-data | STRING | Directory containing bactopia-tests data (sets BACTOPIA_TESTS env). Required unless --cleanup |
Cleanup
| Option | Type | Default | Description |
|---|---|---|---|
--cleanup | BOOL | false | Remove .nf-test/ temp files under modules/subworkflows/workflows/tests, then exit (no tests run) |
--dry-run | BOOL | false | With --cleanup, list what would be removed without deleting |
Test Selection
| Option | Type | Default | Description |
|---|---|---|---|
--tier | CHOICE (modules, subworkflows, workflows, all) | all | Which component tier to test |
--include | STRING | Comma-separated list of component names to include | |
--exclude | STRING | Comma-separated list of component names to exclude |
Execution Options
| Option | Type | Default | Description |
|---|---|---|---|
--cachedir | STRING | /home/runner/.bactopia | Cache directory holding conda/ and singularity/ subdirectories for pre-built environments |
--generate | BOOL | false | Force regeneration of the docker snapshot (otherwise the committed snapshot is validated; a missing snapshot is always generated) |
--force-rebuild | BOOL | false | Force a rebuild of existing Conda environments and Singularity images |
--max-retry | INT | 3 | Maximum build retries per environment during the build phase |
--jobs | INT | 32 | Number of components tested in parallel (profiles within a component run sequentially). Tune to the test host; the default 32 suits a large box |
--fail-fast | BOOL | false | Stop on the first component with any failing profile instead of continuing |
--timeout | INT | 90 | Per-run timeout in minutes. Each nf-test subprocess is killed after this duration. Set to 0 to disable |
--times | STRING | Path to test-times baseline JSON (expected_seconds per component). Default: {bactopia-path}/conf/test-times.json. Enables per-component timeouts and longest-first ordering. | |
-tm, --timeout-multiplier | INTRANGE | 4 | Per-component timeout = min(expected_seconds * this, --timeout). Only applied when a test-times file is available. |
Output Options
| Option | Type | Default | Description |
|---|---|---|---|
--outdir | STRING | . | Directory to write the logs/ folder into |
--json | BOOL | false | Output results as JSON |
Additional Options
| Option | Type | Default | Description |
|---|---|---|---|
--verbose | BOOL | false | Print debug related text |
--silent | BOOL | false | Only critical errors will be printed |
--version, -V | BOOL | false | Show the version and exit. |