! exec cue cmd cycle
cmp stderr expect-stderr1
! exec cue cmd aftercycle
cmp stderr expect-stderr2
exec cue cmd interlockedTasks
cmp stdout interlocked-stdout
cmp stderr expect-stderr3

-- expect-stderr1 --
cyclic task dependency:
	task command.cycle.t1 refers to
	task command.cycle.t2 refers to
	task command.cycle.t1:
    ./after_tool.cue:18:2
    ./after_tool.cue:19:2
-- expect-stderr2 --
command.aftercycle.t2.$after: structural cycle
-- expect-stderr3 --
-- interlocked-stdout --
v
v
-- after_tool.cue --
package home

import (
	"tool/cli"
)

command: interlockedTasks: {
  t1: cli.Print & { text: t2.value, value: "v" }
  t2: cli.Print & { text: t1.value, value: "v" }
}

command: aftercycle: {
	t1: cli.Print & { $after: t2, text: "t1" }
	t2: cli.Print & { $after: t1, text: "t2" }
}

command: cycle: {
	t1: cli.Print & { text: t2.text }
	t2: cli.Print & { text: t1.text }
}
