diff --git a/bin/fm-crew-state.sh b/bin/fm-crew-state.sh index 267b0902a93..1efe0894452 100755 --- a/bin/fm-crew-state.sh +++ b/bin/fm-crew-state.sh @@ -499,7 +499,7 @@ if [ "$HAVE_RUN" = 1 ]; then if [ -n "$outcome" ]; then case "$outcome" in - passed) RUN_STATE="done"; RUN_DETAIL="run passed: PR merged/closed" ;; + passed) RUN_STATE="done"; RUN_DETAIL="run passed" ;; checks-passed) RUN_STATE="done"; RUN_DETAIL="checks green: PR ready for review" ;; failed) RUN_STATE=failed; RUN_DETAIL="run failed" ;; cancelled) RUN_STATE=failed; RUN_DETAIL="run cancelled" ;; diff --git a/tests/fm-crew-state.test.sh b/tests/fm-crew-state.test.sh index a284cbe8eb6..c89372aa3f6 100755 --- a/tests/fm-crew-state.test.sh +++ b/tests/fm-crew-state.test.sh @@ -668,6 +668,10 @@ test_terminal_passed() { local out; out=$(run_crew_state "$d" feat-d) assert_contains "$out" "state: done" "passed run -> done" assert_contains "$out" "source: run-step" "passed -> run-step source" + assert_contains "$out" "state: done · source: run-step · run passed" \ + "passed run reports its result" + assert_not_contains "$out" "merged" "passed run does not claim the PR merged" + assert_not_contains "$out" "closed" "passed run does not claim the PR closed" pass "terminal passed run is authoritative" }