blob: 61fc6782180e409c04414e33669bcf38a1273eb5 [file] [log] [blame]
// To run in parallel, sequential runs must have different state keys, and not depend on each other
// NotDepends: true
// DiffStateKey: true
test {
// This would set the parallel flag to true in all runs
parallel = true
}
variables {
foo = "foo"
}
run "setup" {
state_key = "start"
module {
source = "./setup"
}
variables {
input = "foo"
}
assert {
condition = output.value == var.foo
error_message = "bad"
}
}
// Depends on previous run, but has different state key, so would not run in parallel
// NotDepends: false
// DiffStateKey: true
run "test_a" {
variables {
input = run.setup.value
}
assert {
condition = output.value == var.foo
error_message = "double bad"
}
assert {
condition = run.setup.value == var.foo
error_message = "triple bad"
}
}
// Depends on previous run, and has same state key, so would not run in parallel
// NotDepends: false
// DiffStateKey: false
run "test_b" {
variables {
input = run.test_a.value
}
assert {
condition = output.value == var.foo
error_message = "double bad"
}
assert {
condition = run.setup.value == var.foo
error_message = "triple bad"
}
}
// Does not depend on previous run, and has same state key, so would not run in parallel
// NotDepends: true
// DiffStateKey: false
run "test_c" {
variables {
input = "foo"
}
assert {
condition = output.value == var.foo
error_message = "double bad"
}
}
// Does not depend on previous run, and has different state key, so would run in parallel
// NotDepends: true
// DiffStateKey: true
// However, it has a state key that is the same as run.setup, so it should wait for that run, and
// thus may run in parallel with test_a
run "test_d" {
state_key = "start"
variables {
input = "foo"
}
assert {
condition = output.value == var.foo
error_message = "double bad"
}
}
// NotDepends: true
// DiffStateKey: true
run "test_1" {
state_key = "state_foo"
variables {
input = "foo"
}
assert {
condition = output.value == var.foo
error_message = "error in test_1"
}
}
// NotDepends: false
// DiffStateKey: true
run "test_2" {
state_key = "state_bar"
variables {
input = run.setup.value
}
assert {
condition = output.value == var.foo
error_message = "error in test_2"
}
}
// NotDepends: true
// DiffStateKey: false
run "test_3" {
state_key = "start"
variables {
input = "foo"
}
assert {
condition = output.value == var.foo
error_message = "error in test_3"
}
}
// NotDepends: false
// DiffStateKey: false
run "test_4" {
state_key = "start"
variables {
input = run.test_2.value
}
assert {
condition = output.value == var.foo
error_message = "error in test_4"
}
}
// NotDepends: true
// DiffStateKey: true
run "test_5" {
state_key = "state_baz"
variables {
input = "foo"
}
assert {
condition = output.value == var.foo
error_message = "error in test_5"
}
}
// NotDepends: false
// DiffStateKey: true
run "test_6" {
state_key = "state_qux"
variables {
input = run.setup.value
}
assert {
condition = output.value == var.foo
error_message = "error in test_6"
}
}
// NotDepends: true
// DiffStateKey: false
run "test_7" {
state_key = "start"
variables {
input = "foo"
}
assert {
condition = output.value == var.foo
error_message = "error in test_7"
}
}
// NotDepends: false
// DiffStateKey: false
run "test_8" {
state_key = "start"
variables {
input = run.test_6.value
}
assert {
condition = output.value == var.foo
error_message = "error in test_8"
}
}
// NotDepends: true
// DiffStateKey: true
run "test_9" {
state_key = "state_foo"
variables {
input = "foo"
}
assert {
condition = output.value == var.foo
error_message = "error in test_9"
}
}
// NotDepends: false
// DiffStateKey: true
run "test_10" {
state_key = "state_bar"
variables {
input = run.setup.value
}
assert {
condition = output.value == var.foo
error_message = "error in test_10"
}
}
// NotDepends: true
// DiffStateKey: true
run "test_11" {
state_key = "state_foo"
variables {
input = "foo"
}
assert {
condition = output.value == var.foo
error_message = "error in test_11"
}
}
// NotDepends: false
// DiffStateKey: true
run "test_12" {
state_key = "state_bar"
variables {
input = run.setup.value
}
assert {
condition = output.value == var.foo
error_message = "error in test_12"
}
}
// NotDepends: true
// DiffStateKey: false
run "test_13" {
state_key = "start"
variables {
input = "foo"
}
assert {
condition = output.value == var.foo
error_message = "error in test_13"
}
}
// NotDepends: false
// DiffStateKey: false
run "test_14" {
state_key = "start"
variables {
input = run.test_12.value
}
assert {
condition = output.value == var.foo
error_message = "error in test_14"
}
}
// NotDepends: true
// DiffStateKey: true
run "test_15" {
state_key = "state_baz"
variables {
input = "foo"
}
assert {
condition = output.value == var.foo
error_message = "error in test_15"
}
}
// NotDepends: false
// DiffStateKey: true
run "test_16" {
state_key = "state_qux"
variables {
input = run.setup.value
}
assert {
condition = output.value == var.foo
error_message = "error in test_16"
}
}
// NotDepends: true
// DiffStateKey: false
run "test_17" {
state_key = "start"
variables {
input = "foo"
}
assert {
condition = output.value == var.foo
error_message = "error in test_17"
}
}
// NotDepends: false
// DiffStateKey: false
run "test_18" {
state_key = "start"
variables {
input = run.test_16.value
}
assert {
condition = output.value == var.foo
error_message = "error in test_18"
}
}
// NotDepends: true
// DiffStateKey: true
run "test_19" {
state_key = "state_foo"
variables {
input = "foo"
}
assert {
condition = output.value == var.foo
error_message = "error in test_19"
}
}
// NotDepends: false
// DiffStateKey: true
run "test_20" {
state_key = "state_bar"
variables {
input = run.setup.value
}
assert {
condition = output.value == var.foo
error_message = "error in test_20"
}
}
// NotDepends: true
// DiffStateKey: true
run "test_21" {
state_key = "state_foo"
variables {
input = "foo"
}
assert {
condition = output.value == var.foo
error_message = "error in test_21"
}
}
// NotDepends: false
// DiffStateKey: true
run "test_22" {
state_key = "state_bar"
variables {
input = run.setup.value
}
assert {
condition = output.value == var.foo
error_message = "error in test_22"
}
}
// NotDepends: true
// DiffStateKey: false
run "test_23" {
state_key = "start"
variables {
input = "foo"
}
assert {
condition = output.value == var.foo
error_message = "error in test_23"
}
}
// NotDepends: false
// DiffStateKey: false
run "test_24" {
state_key = "start"
variables {
input = run.test_22.value
}
assert {
condition = output.value == var.foo
error_message = "error in test_24"
}
}
// NotDepends: true
// DiffStateKey: true
run "test_25" {
state_key = "state_baz"
variables {
input = "foo"
}
assert {
condition = output.value == var.foo
error_message = "error in test_25"
}
}
// NotDepends: false
// DiffStateKey: true
run "test_26" {
state_key = "state_qux"
variables {
input = run.setup.value
}
assert {
condition = output.value == var.foo
error_message = "error in test_26"
}
}
// NotDepends: true
// DiffStateKey: false
run "test_27" {
state_key = "start"
variables {
input = "foo"
}
assert {
condition = output.value == var.foo
error_message = "error in test_27"
}
}
// NotDepends: false
// DiffStateKey: false
run "test_28" {
state_key = "start"
variables {
input = run.test_26.value
}
assert {
condition = output.value == var.foo
error_message = "error in test_28"
}
}
// NotDepends: true
// DiffStateKey: true
run "test_29" {
state_key = "state_foo"
variables {
input = "foo"
}
assert {
condition = output.value == var.foo
error_message = "error in test_29"
}
}
// NotDepends: false
// DiffStateKey: true
run "test_30" {
state_key = "state_bar"
variables {
input = run.setup.value
}
assert {
condition = output.value == var.foo
error_message = "error in test_30"
}
}
// Expected order:
// - run [setup]
// - run [test_a, test_d]
// - run [test_b]
// - run [test_c]