Run the TMI comprehensive test suite against Oracle ADB (OCI) including unit tests, integration tests, API tests, and CATS security fuzzing. Use when asked to run tests against Oracle database.
You are executing the TMI comprehensive test suite against Oracle Autonomous Database (OCI). This skill runs all test levels in sequence, stopping at the first failure to allow investigation.
Before running this skill, ensure:
./wallet directoryscripts/oci-env.sh exists with your OCI credentials (copy from scripts/oci-env.sh.example)The test suite runs in the following order, with each stage only running if the previous stage passed:
First, stop any running server and clean up, then rebuild with Oracle support and start fresh:
make dev-down
make clean-everything
Build the server with Oracle support:
. scripts/oci-env.sh && go build -tags oracle -o bin/tmiserver ./cmd/server/
Start the development environment with OCI:
make dev-up DB=oracle
Wait for the server to be fully ready before proceeding. You can verify with:
curl -s http://localhost:8080/ > /dev/null && echo "Server ready"
Run unit tests (these don't use the database):
make test-unit
Analysis:
PASS or FAIL in the outputok (pass) or FAIL (failure)If unit tests passed, run integration tests against Oracle ADB:
make test-integration-oci
Analysis:
PASS or FAIL in the outputIf integration tests passed, run API tests. The server should already be running from Step 0:
make test-api
Analysis:
assertions passed/failed countsiterations and requests countsIf API tests passed, run CATS security fuzzing against the OCI-backed server:
make cats-fuzz-oci
This takes approximately 9 minutes. The output will show progress through various fuzzers.
make cats-fuzz-oci (Step 4) already parses and classifies results as part of the
run — there is no separate parse step. Query the results database directly. The cats
plugin is installed, so invoke the /cats:report skill for the full schema (tables,
views, worked queries) and for ad-hoc queries; /cats:analyze triages the findings.
For a quick shape-of-the-run check without loading a skill:
make query-cats-results
That target resolves the plugin the same way /cats:* does (installed copy first,
development checkout as fallback), so both run the same implementation.
Analysis:
true_positives_view (is_false_positive = 0)If all tests pass, report:
If any stage fails:
-tags oracle for OCI support. The make dev-up DB=oracle target handles this automatically.bin/tmi-dbtool, which must also be built with Oracle support. make cats-seed-oci (a prerequisite of make cats-fuzz-oci) calls scripts/run-dbtool.py --oci, which builds it with -tags oracle automatically after sourcing scripts/oci-env.sh. There is no separate build target, and bin/cats-seed is a pre-migration artifact that is no longer built or used.test/cats/false-positives.yaml classifies these; matched rows are flagged via the is_false_positive column.make dev-up DB=oracle)make start-redis - started automatically by dev-up DB=oracle)Invoke the /cats:report skill for the full results database schema — tables, views,
and worked queries.
If you see Oracle connection errors:
scripts/oci-env.sh has correct credentials./walletDYLD_LIBRARY_PATH points to Oracle Instant ClientTNS_ADMIN points to the wallet directoryCheck the logs:
tail -50 logs/tmi.log
Common issues: