-- main.mcl --
exec "exec0" {
	cmd => "echo this is stdout && echo this is stderr 1>&2", # to stdout && stderr
	shell => "/bin/bash",
}

file ["/tmp/command-output", "/tmp/command-stdout", "/tmp/command-stderr"] {
	state => $const.res.file.state.exists,
}

Exec["exec0"].stdout -> File["/tmp/command-stdout"].content
Exec["exec0"].stderr -> File["/tmp/command-stderr"].content
# XXX: The Content line can be swapped randomly, create test to allow either.
# XXX: In the meantime, we skip including it.
#Exec["exec0"].output -> File["/tmp/command-output"].content
# Field: file[/tmp/command-output].Content = "this is stdout\nthis is stderr\n"
# Field: file[/tmp/command-output].Content = "this is stderr\nthis is stdout\n"
-- OUTPUT --
Edge: exec[exec0] -> file[/tmp/command-stderr] # exec[exec0] -> file[/tmp/command-stderr]
Edge: exec[exec0] -> file[/tmp/command-stdout] # exec[exec0] -> file[/tmp/command-stdout]
Field: exec[exec0].Cmd = "echo this is stdout && echo this is stderr 1>&2"
Field: exec[exec0].Shell = "/bin/bash"
Field: file[/tmp/command-output].State = "exists"
Field: file[/tmp/command-stderr].Content = "this is stderr\n"
Field: file[/tmp/command-stderr].State = "exists"
Field: file[/tmp/command-stdout].Content = "this is stdout\n"
Field: file[/tmp/command-stdout].State = "exists"
Vertex: exec[exec0]
Vertex: file[/tmp/command-output]
Vertex: file[/tmp/command-stderr]
Vertex: file[/tmp/command-stdout]
