@@ -11,6 +11,7 @@ import (
11
11
12
12
func TestAggregateJobStatus (t * testing.T ) {
13
13
testStatuses := func (expected Status , statuses []Status ) {
14
+ t .Helper ()
14
15
var jobs []* ActionRunJob
15
16
for _ , v := range statuses {
16
17
jobs = append (jobs , & ActionRunJob {Status : v })
@@ -38,18 +39,28 @@ func TestAggregateJobStatus(t *testing.T) {
38
39
{[]Status {StatusSuccess , StatusRunning }, StatusRunning },
39
40
{[]Status {StatusSuccess , StatusBlocked }, StatusBlocked },
40
41
42
+ // any cancelled, then cancelled
43
+ {[]Status {StatusCancelled }, StatusCancelled },
44
+ {[]Status {StatusCancelled , StatusSuccess }, StatusCancelled },
45
+ {[]Status {StatusCancelled , StatusSkipped }, StatusCancelled },
46
+ {[]Status {StatusCancelled , StatusFailure }, StatusCancelled },
47
+ {[]Status {StatusCancelled , StatusWaiting }, StatusCancelled },
48
+ {[]Status {StatusCancelled , StatusRunning }, StatusCancelled },
49
+ {[]Status {StatusCancelled , StatusBlocked }, StatusCancelled },
50
+
41
51
// failure with other status, fail fast
42
52
// Should "running" win? Maybe no: old code does make "running" win, but GitHub does fail fast.
43
53
{[]Status {StatusFailure }, StatusFailure },
44
54
{[]Status {StatusFailure , StatusSuccess }, StatusFailure },
45
55
{[]Status {StatusFailure , StatusSkipped }, StatusFailure },
46
- {[]Status {StatusFailure , StatusCancelled }, StatusFailure },
56
+ {[]Status {StatusFailure , StatusCancelled }, StatusCancelled },
47
57
{[]Status {StatusFailure , StatusWaiting }, StatusFailure },
48
58
{[]Status {StatusFailure , StatusRunning }, StatusFailure },
49
59
{[]Status {StatusFailure , StatusBlocked }, StatusFailure },
50
60
51
61
// skipped with other status
52
- {[]Status {StatusSkipped }, StatusSuccess },
62
+ // TODO: need to clarify whether a PR with "skipped" job status is considered as "mergeable" or not.
63
+ {[]Status {StatusSkipped }, StatusSkipped },
53
64
{[]Status {StatusSkipped , StatusSuccess }, StatusSuccess },
54
65
{[]Status {StatusSkipped , StatusFailure }, StatusFailure },
55
66
{[]Status {StatusSkipped , StatusCancelled }, StatusCancelled },
0 commit comments