@@ -1159,6 +1159,77 @@ func TestIsSkipped(t *testing.T) {
11591159 "mytask1" : false ,
11601160 "mytask2" : true ,
11611161 },
1162+ }, {
1163+ name : "matrix-params-contain-empty-arr" ,
1164+ state : PipelineRunState {{
1165+ // not skipped no empty arrs
1166+ PipelineTask : & v1beta1.PipelineTask {
1167+ Name : "mytask1" ,
1168+ TaskRef : & v1beta1.TaskRef {Name : "matrix-1" },
1169+ Matrix : & v1beta1.Matrix {
1170+ Params : []v1beta1.Param {{
1171+ Name : "a-param" ,
1172+ Value : v1beta1.ParamValue {
1173+ Type : v1beta1 .ParamTypeArray ,
1174+ ArrayVal : []string {"foo" , "bar" },
1175+ },
1176+ }}},
1177+ },
1178+ TaskRunName : "pipelinerun-matrix-empty-params" ,
1179+ TaskRun : nil ,
1180+ ResolvedTask : & resources.ResolvedTask {
1181+ TaskSpec : & task .Spec ,
1182+ },
1183+ }, {
1184+ // skipped empty ArrayVal exist in matrix param
1185+ PipelineTask : & v1beta1.PipelineTask {
1186+ Name : "mytask2" ,
1187+ TaskRef : & v1beta1.TaskRef {Name : "matrix-2" },
1188+ Matrix : & v1beta1.Matrix {
1189+ Params : []v1beta1.Param {{
1190+ Name : "a-param" ,
1191+ Value : v1beta1.ParamValue {
1192+ Type : v1beta1 .ParamTypeArray ,
1193+ ArrayVal : []string {},
1194+ },
1195+ }}},
1196+ },
1197+ TaskRunName : "pipelinerun-matrix-empty-params" ,
1198+ TaskRun : nil ,
1199+ ResolvedTask : & resources.ResolvedTask {
1200+ TaskSpec : & task .Spec ,
1201+ },
1202+ }, {
1203+ // skipped empty ArrayVal exist in matrix param
1204+ PipelineTask : & v1beta1.PipelineTask {
1205+ Name : "mytask3" ,
1206+ TaskRef : & v1beta1.TaskRef {Name : "matrix-2" },
1207+ Matrix : & v1beta1.Matrix {
1208+ Params : []v1beta1.Param {{
1209+ Name : "a-param" ,
1210+ Value : v1beta1.ParamValue {
1211+ Type : v1beta1 .ParamTypeArray ,
1212+ ArrayVal : []string {"foo" , "bar" },
1213+ },
1214+ }, {
1215+ Name : "b-param" ,
1216+ Value : v1beta1.ParamValue {
1217+ Type : v1beta1 .ParamTypeArray ,
1218+ ArrayVal : []string {},
1219+ },
1220+ }}},
1221+ },
1222+ TaskRunName : "pipelinerun-matrix-empty-params" ,
1223+ TaskRun : nil ,
1224+ ResolvedTask : & resources.ResolvedTask {
1225+ TaskSpec : & task .Spec ,
1226+ },
1227+ }},
1228+ expected : map [string ]bool {
1229+ "mytask1" : false ,
1230+ "mytask2" : true ,
1231+ "mytask3" : true ,
1232+ },
11621233 }} {
11631234 t .Run (tc .name , func (t * testing.T ) {
11641235 d , err := dagFromState (tc .state )
@@ -2421,6 +2492,16 @@ func TestResolvedPipelineRunTask_IsFinallySkipped(t *testing.T) {
24212492 Values : []string {"none" },
24222493 }},
24232494 },
2495+ }, {
2496+ PipelineTask : & v1beta1.PipelineTask {
2497+ Name : "final-task-7" ,
2498+ TaskRef : & v1beta1.TaskRef {Name : "task" },
2499+ Matrix : & v1beta1.Matrix {
2500+ Params : []v1beta1.Param {{
2501+ Name : "platform" ,
2502+ Value : v1beta1.ParamValue {Type : v1beta1 .ParamTypeArray , ArrayVal : []string {}},
2503+ }}},
2504+ },
24242505 }}
24252506
24262507 testCases := []struct {
@@ -2440,6 +2521,7 @@ func TestResolvedPipelineRunTask_IsFinallySkipped(t *testing.T) {
24402521 "final-task-4" : true ,
24412522 "final-task-5" : false ,
24422523 "final-task-6" : true ,
2524+ "final-task-7" : true ,
24432525 },
24442526 }, {
24452527 name : "finally timeout not yet reached" ,
@@ -2452,6 +2534,7 @@ func TestResolvedPipelineRunTask_IsFinallySkipped(t *testing.T) {
24522534 "final-task-4" : true ,
24532535 "final-task-5" : false ,
24542536 "final-task-6" : true ,
2537+ "final-task-7" : true ,
24552538 },
24562539 }, {
24572540 name : "pipeline timeout not yet reached" ,
@@ -2464,6 +2547,7 @@ func TestResolvedPipelineRunTask_IsFinallySkipped(t *testing.T) {
24642547 "final-task-4" : true ,
24652548 "final-task-5" : false ,
24662549 "final-task-6" : true ,
2550+ "final-task-7" : true ,
24672551 },
24682552 }, {
24692553 name : "finally timeout passed" ,
@@ -2476,6 +2560,7 @@ func TestResolvedPipelineRunTask_IsFinallySkipped(t *testing.T) {
24762560 "final-task-4" : true ,
24772561 "final-task-5" : true ,
24782562 "final-task-6" : true ,
2563+ "final-task-7" : true ,
24792564 },
24802565 }, {
24812566 name : "pipeline timeout passed" ,
@@ -2488,6 +2573,7 @@ func TestResolvedPipelineRunTask_IsFinallySkipped(t *testing.T) {
24882573 "final-task-4" : true ,
24892574 "final-task-5" : true ,
24902575 "final-task-6" : true ,
2576+ "final-task-7" : true ,
24912577 },
24922578 },
24932579 }
0 commit comments