blob: 977bf9068a2ae102a8bd6fe6a7ba8cfc2f3490f0 [file] [log] [blame]
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" {
state_key = "uniq_3"
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" {
parallel = false // effectively dividing the parallelizable group into two
variables {
input = "foo"
}
assert {
condition = output.value == var.foo
error_message = "double bad"
}
}
// Because of the division caused by main_fourth, main_fifth and main_sixth would run in parallel,
// but would only run after main_fourth has completed.
run "main_fifth" {
state_key = "uniq_5"
variables {
input = "foo"
}
assert {
condition = output.value == var.foo
error_message = "double bad"
}
}
run "main_sixth" {
state_key = "uniq_6"
variables {
input = "foo"
}
assert {
condition = output.value == var.foo
error_message = "double bad"
}
}