Skip to content

Commit

Permalink
Fix failure exit code regression
Browse files Browse the repository at this point in the history
dctest should exit 1 if any test fails. We should be checking this
instead of swallowing all exit codes in GHA.
  • Loading branch information
jonsmock committed Oct 11, 2024
1 parent afc0af8 commit 80bc6c4
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 22 deletions.
41 changes: 20 additions & 21 deletions .github/workflows/push.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -46,39 +46,38 @@ jobs:

- name: Run Intro Examples
run: |
# Some examples demonstate failure.
# Swallow exit code and check the result counts.
docker run --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
-v $(pwd)/examples:/app/examples \
dctest --results-file /app/examples/results.json examples /app/examples/00-intro.yaml \
|| true
jq --exit-status '[.summary.passed == 5, .summary.failed == 0] | all' examples/results.json && \
node ./scripts/validateSchema.js examples/results.json schemas/results-file.yaml
dctest --results-file /app/examples/results.json examples /app/examples/00-intro.yaml
jq --exit-status '[.summary.passed == 5, .summary.failed == 0] | all' examples/results.json
node ./scripts/validateSchema.js examples/results.json schemas/results-file.yaml
- name: Run Intro + Fail Examples with --continue-on-error
run: |
# Some examples demonstate failure.
# Swallow exit code and check the result counts.
docker run --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
-v $(pwd)/examples:/app/examples \
dctest --continue-on-error --results-file /app/examples/results.json examples /app/examples/00-intro.yaml /app/examples/01-fails.yaml \
|| true
jq --exit-status '[.summary.passed == 6, .summary.failed == 4] | all' examples/results.json && \
node ./scripts/validateSchema.js examples/results.json schemas/results-file.yaml
exitcode=$(docker run --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
-v $(pwd)/examples:/app/examples \
dctest --continue-on-error --results-file /app/examples/results.json examples /app/examples/00-intro.yaml /app/examples/01-fails.yaml \
&& echo "$?" || echo "$?")
if [ "exitcode" != "1" ]; then
echo "dctest exited ${exitcode} instead of code 1 on failure"
exit 1
fi
jq --exit-status '[.summary.passed == 6, .summary.failed == 4] | all' examples/results.json
node ./scripts/validateSchema.js examples/results.json schemas/results-file.yaml
- name: Run Dependency Examples
run: |
# Some examples demonstate failure.
# Swallow exit code and check the result counts.
docker run --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
-v $(pwd)/examples:/app/examples \
dctest --results-file /app/examples/results.json examples /app/examples/02-deps.yaml \
|| true
jq --exit-status '[.summary.passed == 12, .summary.failed == 0] | all' examples/results.json && \
node ./scripts/validateSchema.js examples/results.json schemas/results-file.yaml
dctest --results-file /app/examples/results.json examples /app/examples/02-deps.yaml
jq --exit-status '[.summary.passed == 12, .summary.failed == 0] | all' examples/results.json
node ./scripts/validateSchema.js examples/results.json schemas/results-file.yaml
- name: Setup Fixtures
Expand Down
2 changes: 1 addition & 1 deletion src/dctest/core.cljs
Original file line number Diff line number Diff line change
Expand Up @@ -487,4 +487,4 @@ Options:
(write-results-file opts summary)
(print-results opts summary)

(when (failure? summary) (fatal 1))))
(when-not (passed? (:summary summary)) (fatal 1))))
3 changes: 3 additions & 0 deletions src/dctest/outcome.cljs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@
(defn failure? [{:keys [outcome]}]
(= :failed outcome))

(defn passed? [{:keys [outcome]}]
(= :passed outcome))

(defn pending? [{:keys [outcome]}]
(= :pending outcome))

Expand Down

0 comments on commit 80bc6c4

Please sign in to comment.