Skip to content

Test harnesses

Every tests/*.test.sh harness in the repo. Subject is the file or file set the harness exercises, taken from the harness's SCRIPT assignment or its # @subject annotation. Fixtures lists the directories under tests/fixtures/ the harness reads; an em dash means the harness builds its tree at runtime rather than reading a committed fixture.

Regenerate with scripts/refresh-test-harnesses.sh.

Check harnesses

Harness Subject Fixtures
tests/check-actionlint-pyflakes-active.test.sh scripts/check-actionlint-pyflakes-active.sh —
tests/check-actionlint-shellcheck-active.test.sh scripts/check-actionlint-shellcheck-active.sh —
tests/check-auto-merge-decline-gate.test.sh scripts/check-auto-merge-decline-gate.sh tests/fixtures/auto-merge-decline-gate
tests/check-awk-operand-explicit.test.sh scripts/check-awk-operand-explicit.sh tests/fixtures/awk-operand-explicit
tests/check-bump-script-integrity.test.sh scripts/check-bump-script-integrity.sh tests/fixtures/check-bump-script-integrity
tests/check-changelog-fresh.test.sh scripts/check-changelog-fresh.sh tests/fixtures/changelog-fresh
tests/check-changelog-links.test.sh scripts/check-changelog-links.sh tests/fixtures/changelog-links
tests/check-checkout-persist-credentials.test.sh scripts/check-checkout-persist-credentials.sh tests/fixtures/checkout-persist-credentials
tests/check-ci-job-in-summary.test.sh scripts/check-ci-job-in-summary.sh tests/fixtures/ci-job-in-summary
tests/check-cliff-tag-pattern.test.sh scripts/check-cliff-tag-pattern.sh tests/fixtures/cliff-tag-pattern
tests/check-commitlint-config-explicit.test.sh scripts/check-commitlint-config-explicit.sh tests/fixtures/commitlint-config-explicit
tests/check-cosign-identity-pinned.test.sh scripts/check-cosign-identity-pinned.sh tests/fixtures/cosign-identity-pinned
tests/check-cron-table.test.sh scripts/check-cron-table.sh tests/fixtures/check-cron-table
tests/check-doc-anchors.test.sh scripts/check-doc-anchors.sh tests/fixtures/check-doc-anchors
tests/check-doc-cron-restatement.test.sh scripts/check-doc-cron-restatement.sh tests/fixtures/check-doc-cron-restatement
tests/check-dockerhub-token-scope-split.test.sh scripts/check-dockerhub-token-scope-split.sh —
tests/check-egress-allowlist.test.sh scripts/check-egress-allowlist.sh tests/fixtures/egress-allowlist, tests/fixtures/egress-allowlist-declaration, tests/fixtures/egress-allowlist-no-nix-host, tests/fixtures/egress-allowlist-no-notify
tests/check-enumerate-helper-required.test.sh scripts/check-enumerate-helper-required.sh tests/fixtures/enumerate-helper-required
tests/check-ephemeral-refs.test.sh scripts/check-ephemeral-refs.sh tests/fixtures/check-ephemeral-refs
tests/check-exit-contract-documented.test.sh scripts/check-exit-contract-documented.sh tests/fixtures/exit-contract-documented
tests/check-flake-lock-provenance.test.sh scripts/check-flake-lock-provenance.sh tests/fixtures/check-flake-lock-provenance
tests/check-flake-lock-staleness.test.sh scripts/check-flake-lock-staleness.sh tests/fixtures/check-flake-lock-staleness
tests/check-flake-systems-eval.test.sh scripts/check-flake-systems-eval.sh —
tests/check-fork-guard-release.test.sh scripts/check-fork-guard-release.sh tests/fixtures/fork-guard-release
tests/check-freshness-hook-watches-modules.test.sh scripts/check-freshness-hook-watches-modules.sh —
tests/check-gh-api-version-header.test.sh scripts/check-gh-api-version-header.sh tests/fixtures/check-gh-api-version-header
tests/check-gh-attestation-repo.test.sh scripts/check-gh-attestation-repo.sh tests/fixtures/gh-attestation-repo
tests/check-guard-exit-code.test.sh scripts/check-guard-exit-code.sh tests/fixtures/guard-exit-code
tests/check-harden-runner-block.test.sh scripts/check-harden-runner-block.sh tests/fixtures/harden-runner-block
tests/check-harden-runner-first.test.sh scripts/check-harden-runner-first.sh tests/fixtures/harden-runner-first
tests/check-harness-assert-wired.test.sh scripts/check-harness-assert-wired.sh tests/fixtures/harness-assert-wired
tests/check-harness-preamble.test.sh scripts/check-harness-preamble.sh tests/fixtures/harness-preamble
tests/check-job-timeout-minutes.test.sh scripts/check-job-timeout-minutes.sh tests/fixtures/job-timeout-minutes
tests/check-lib-source-tool-free.test.sh scripts/check-lib-source-tool-free.sh tests/fixtures/lib-source-tool-free
tests/check-lint-shell-tools.test.sh scripts/check-lint-shell-tools.sh —
tests/check-lock-derived-docs.test.sh scripts/check-lock-derived-docs.sh —
tests/check-manifest-digest-pinned.test.sh scripts/check-manifest-digest-pinned.sh tests/fixtures/manifest-digest-pinned
tests/check-manifest-hook-watches-nix.test.sh scripts/check-manifest-hook-watches-nix.sh —
tests/check-min-permissions.test.sh scripts/check-min-permissions.sh tests/fixtures/min-permissions
tests/check-nix-run-pinned.test.sh scripts/check-nix-run-pinned.sh tests/fixtures/nix-run-pinned
tests/check-no-opaque-procsub.test.sh scripts/check-no-opaque-procsub.sh tests/fixtures/no-opaque-procsub
tests/check-notify-arms.test.sh scripts/check-notify-arms.sh tests/fixtures/check-notify-arms
tests/check-notify-label-descriptions.test.sh scripts/check-notify-label-descriptions.sh —
tests/check-orphan-invariants.test.sh scripts/check-orphan-invariants.sh tests/fixtures/check-orphan-invariants
tests/check-patch-tag-pins.test.sh scripts/check-patch-tag-pins.sh tests/fixtures/check-patch-tag-pins
tests/check-path-hygiene.test.sh scripts/check-path-hygiene.sh —
tests/check-payload-shape-scenario.test.sh scripts/check-payload-shape-scenario.sh tests/fixtures/payload-shape-scenario
tests/check-payload-source-helper.test.sh scripts/check-payload-source-helper.sh tests/fixtures/check-payload-source-helper
tests/check-permission-scopes.test.sh scripts/check-permission-scopes.sh tests/fixtures/permission-scopes
tests/check-pin-diff-isolated.test.sh scripts/check-pin-diff-isolated.sh tests/fixtures/check-pin-diff-isolated
tests/check-pin-digest-provenance.test.sh scripts/check-pin-digest-provenance.sh tests/fixtures/check-pin-digest-provenance
tests/check-pr-workflows-no-secrets.test.sh scripts/check-pr-workflows-no-secrets.sh tests/fixtures/pr-workflows-no-secrets
tests/check-pre-commit-hooks-sha-parity.test.sh scripts/check-pre-commit-hooks-sha-parity.sh tests/fixtures/check-pre-commit-hooks-sha-parity
tests/check-prose-ci-names.test.sh scripts/check-prose-ci-names.sh tests/fixtures/check-prose-ci-names
tests/check-pull-request-target-absent.test.sh scripts/check-pull-request-target-absent.sh tests/fixtures/pull-request-target-absent
tests/check-ratchet-pin-audit.test.sh scripts/check-ratchet-pin-audit.sh tests/fixtures/ratchet-pin-audit
tests/check-regex-range-ascii.test.sh scripts/check-regex-range-ascii.sh —
tests/check-renovate-config-validator.test.sh scripts/check-renovate-config-validator.sh tests/fixtures/check-renovate-config-validator
tests/check-renovate-invariants.test.sh scripts/check-renovate-invariants.sh tests/fixtures/renovate-invariants
tests/check-renovate-markers-matched.test.sh scripts/check-renovate-markers-matched.sh tests/fixtures/renovate-markers
tests/check-required-check-counts.test.sh scripts/check-required-check-counts.sh tests/fixtures/check-required-check-counts
tests/check-required-checks-no-paths.test.sh scripts/check-required-checks-no-paths.sh tests/fixtures/required-checks
tests/check-run-block-strict.test.sh scripts/check-run-block-strict.sh tests/fixtures/run-block-strict
tests/check-scorecard-threshold.test.sh scripts/check-scorecard-threshold.sh tests/fixtures/scorecard-threshold
tests/check-script-has-test.test.sh scripts/check-script-has-test.sh tests/fixtures/script-has-test
tests/check-script-shebang-pipefail.test.sh scripts/check-script-shebang-pipefail.sh tests/fixtures/script-shebang-pipefail
tests/check-scripts-reference-roundtrip.test.sh scripts/check-scripts-reference-roundtrip.sh —
tests/check-setup-nix-required.test.sh scripts/check-setup-nix-required.sh tests/fixtures/setup-nix-required
tests/check-size-label-ignores.test.sh scripts/check-size-label-ignores.sh tests/fixtures/size-label-ignores
tests/check-test-reachable.test.sh scripts/check-test-reachable.sh —
tests/check-tool-guarded.test.sh scripts/check-tool-guarded.sh —
tests/check-upload-artifact-strict.test.sh scripts/check-upload-artifact-strict.sh tests/fixtures/upload-artifact-strict
tests/check-uses-sha-pinned.test.sh scripts/check-uses-sha-pinned.sh tests/fixtures/uses-sha-pinned
tests/check-verify-reason-ladder.test.sh scripts/check-verify-reason-ladder.sh tests/fixtures/verify-reason-ladder
tests/check-workflow-ascii-space.test.sh scripts/check-workflow-ascii-space.sh —
tests/check-workflow-concurrency.test.sh scripts/check-workflow-concurrency.sh tests/fixtures/workflow-concurrency
tests/check-workflow-on-branches.test.sh scripts/check-workflow-on-branches.sh tests/fixtures/workflow-on-branches

Library harnesses

Harness Subject Fixtures
tests/lib-ascii-match.test.sh scripts/lib/ascii-match.sh —
tests/lib-awk-path.test.sh scripts/lib/awk-path.sh —
tests/lib-enumerate.test.sh scripts/lib/enumerate.sh —
tests/lib-generates.test.sh scripts/lib/generates.sh —
tests/lib-harness-assert.test.sh scripts/lib/harness-assert.sh —
tests/lib-job-keys.test.sh scripts/lib/job-keys.sh —
tests/lib-locale-gap.test.sh scripts/lib/locale-gap.sh —
tests/lib-log.test.sh scripts/lib/log.sh —
tests/lib-md-fence.test.sh scripts/lib/md-fence.sh —
tests/lib-payload.test.sh scripts/lib/payload.sh —
tests/lib-repo.test.sh scripts/lib/repo.sh —
tests/lib-secret-uses.test.sh scripts/lib/secret-uses.sh —
tests/lib-temp.test.sh scripts/lib/temp.sh —

Refresh harnesses

Harness Subject Fixtures
tests/refresh-ci-dag.test.sh scripts/refresh-ci-dag.sh tests/fixtures/refresh-ci-dag
tests/refresh-ci-summary.test.sh scripts/refresh-ci-summary.sh —
tests/refresh-enforcement-matrix.test.sh scripts/refresh-enforcement-matrix.sh tests/fixtures/refresh-enforcement-matrix
tests/refresh-ephemeral-refs-gap.test.sh scripts/refresh-ephemeral-refs-gap.sh tests/fixtures/ephemeral-refs-gap
tests/refresh-flake-show.test.sh scripts/refresh-flake-show.sh —
tests/refresh-just-recipes.test.sh scripts/refresh-just-recipes.sh —
tests/refresh-pin-parity.test.sh scripts/refresh-pin-parity.sh tests/fixtures/pin-parity
tests/refresh-precommit-table.test.sh scripts/refresh-precommit-table.sh —
tests/refresh-scripts-reference.test.sh scripts/refresh-scripts-reference.sh —
tests/refresh-test-harnesses.test.sh scripts/refresh-test-harnesses.sh tests/fixtures/test-harnesses
tests/refresh-treefmt-config.test.sh scripts/refresh-treefmt-config.sh —

Other harnesses

Harness Subject Fixtures
tests/_attestation_invocations.test.sh scripts/_attestation_invocations.awk —
tests/_script_docs.test.sh scripts/_script_docs.awk tests/fixtures/refresh-scripts-reference
tests/apply-patch-tag-pin-rewrite.test.sh scripts/apply-patch-tag-pin-rewrite.sh tests/fixtures/apply-patch-tag-pin-rewrite
tests/bump-linpeas.test.sh scripts/bump-linpeas.sh tests/fixtures/bump-linpeas
tests/classify-backfill-image-mode.test.sh scripts/classify-backfill-image-mode.sh —
tests/classify-refresh-notify-result.test.sh scripts/classify-refresh-notify-result.sh —
tests/classify-renovate-flake-input.test.sh scripts/classify-renovate-flake-input.sh —
tests/classify-renovate-pr-author.test.sh scripts/classify-renovate-pr-author.sh —
tests/compare-repro.test.sh scripts/compare-repro.sh tests/fixtures/compare-repro
tests/docs-audit-pressure.test.sh scripts/docs-audit-pressure.sh —
tests/gen-dashboard-data.test.sh scripts/gen-dashboard-data.sh tests/fixtures/dashboard-data
tests/glob-scan-breadth.test.sh scripts/*.sh —
tests/harness-no-tracked-writes.test.sh scripts/lib/scratch-tree.sh —
tests/inventory-action-pin-tags.test.sh scripts/inventory-action-pin-tags.sh tests/fixtures/inventory-action-pin-tags
tests/linpeas-pin-assert.test.sh nix/linpeas.nix —
tests/mark-docs-audit.test.sh scripts/mark-docs-audit.sh —
tests/md-fence-shapes.test.sh scripts/check-manifest-digest-pinned.sh —
tests/octoscan-scan.test.sh scripts/octoscan-scan.sh —
tests/repo-root-guard.test.sh scripts/*.sh —
tests/run-doc-freshness.test.sh scripts/run-doc-freshness.sh —
tests/run-harness-group.test.sh scripts/run-harness-group.sh —
tests/run-lint-group.test.sh scripts/run-lint-group.sh —
tests/site-no-bytecode.test.sh mkdocs.yml tests/fixtures/site-no-bytecode