| test { | |
| // This would set the parallel flag to true in all runs | |
| parallel = true | |
| } | |
| variables { | |
| foo = "foo" | |
| } | |
| run "main_first" { | |
| state_key = "start" | |
| module { | |
| source = "./setup" | |
| } | |
| variables { | |
| input = "foo" | |
| } | |
| assert { | |
| condition = output.value == var.foo | |
| error_message = "bad" | |
| } | |
| } | |
| run "main_second" { | |
| variables { | |
| input = run.main_first.value | |
| } | |
| assert { | |
| condition = output.value == var.foo | |
| error_message = "double bad" | |
| } | |
| assert { | |
| condition = run.main_first.value == var.foo | |
| error_message = "triple bad" | |
| } | |
| } | |
| run "main_third" { | |
| variables { | |
| input = run.main_second.value | |
| } | |
| assert { | |
| condition = output.value == var.foo | |
| error_message = "double bad" | |
| } | |
| assert { | |
| condition = run.main_first.value == var.foo | |
| error_message = "triple bad" | |
| } | |
| } | |
| run "main_fourth" { | |
| variables { | |
| input = "foo" | |
| } | |
| assert { | |
| condition = output.value == var.foo | |
| error_message = "double bad" | |
| } | |
| } | |
| // The satisfies all the conditions to run in parallel, but the parallel flag is set to false, | |
| // so it should run in sequence | |
| run "main_fifth" { | |
| state_key = "start" | |
| parallel = false | |
| variables { | |
| input = "foo" | |
| } | |
| assert { | |
| condition = output.value == var.foo | |
| error_message = "double bad" | |
| } | |
| } | |
| // Expected order: | |
| // - run [main_first] | |
| // - run [main_second] | |
| // - run [main_third] | |
| // - run [main_fourth] | |
| // - run [main_fifth] | |