Tests

Run ./run test to run the shared tests and then the non-deploy tests. It stops at the first failure. Each test prints its name followed by PASSED when it succeeds. Statuses are colored when the terminal supports colors.

./run deploy first runs ./run test, creates the release script, runs the shared tests again against that script, and then runs the deploy-only tests.

Test stages

The test dispatcher runs tests/shared/stage*/ and then tests/non-deploy/stage*/ in stage order. The shared tests invoke markshup and therefore run both with the checkout stub and the release script. Non-deploy tests directly test implementation code or helper scripts and run only with ./run test.

tests/deploy/stage*/ contains deploy-only tests. These invoke the release script but only run after a deployment, for example because they need network access or are too expensive for every regular test run.

Stage 1

Stage 2

Stage 3

Stage 4

Shared test helpers