Skip to content

Integration harness exits 0 when workflow tests are silently skipped #601

Description

@ericfitz

The integration runner can skip its main test body and still report success.

What happened

A make test-integration run reported:

=== SUMMARY ===
  Integration tests: 22 passed, 0 failed, 1 skipped
  Packages: 4 passed, 0 failed

exit code 0. But test/integration/workflows — the package holding the actual end-to-end API tests — never ran. Buried above the summary:

[WARNING] Test server did not become ready (see logs/tmi-test-server.log) — skipping workflow tests

A healthy run of the same command executes 7 packages and 82 tests, including the workflows module (~537s).

Why exit 0

In scripts/run-integration-tests.py, workflow_exit is initialized to 0 and only assigned inside the branch that runs when the test server came up. When the server fails to start, the variable keeps its initial 0 and the final return api_exit if api_exit != 0 else workflow_exit yields success.

Why it matters

This is a gate. A silent skip that still exits 0 means CI (or a person) can believe the API contract was verified when it was not — the 22 tests that did run are the in-process api package, not the end-to-end workflows.

Suggested fix

Treat "server did not become ready" as a failure, or track a distinct workflows_skipped flag and make the summary and exit code reflect it. At minimum the summary line should not read like a clean pass when a whole package was skipped.

Root cause of the skip in this instance (separate, already addressed)

mkdir /tmp/tmi-test-logs: no space left on device inside the container — Docker's VM disk was full because test/results/ (one ~1.4 GB SQLite DB per CATS run, 14 GB total) was not in .dockerignore and was being transferred and COPYed into every build. Fixed separately; the harness behavior above is the issue here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions