# Tests that CUE_UPDATE=1 fills bare @test(err) on a disjunction value with
# multiple sub-errors using suberr=(...) entries, one per sub-error.
-- in/test.cue --
x: ({a: int & string} | {b: int & bool}) @test(err)
-- out/update/test.cue --
x: ({a: int & string} | {b: int & bool}) @test(err, code=eval,
	suberr=(code=eval, path=a, contains="conflicting values %s and %s (mismatched types %s and %s)", args=[int, string, int, string], pos=[0:9, 0:15]),
	suberr=(code=eval, path=b, contains="conflicting values %s and %s (mismatched types %s and %s)", args=[int, bool, int, bool], pos=[0:29, 0:35]))
-- out/status.txt --
update: output passes run
force:  identical to update
-- out/update/out/errors.txt --
[eval] x: 2 errors in empty disjunction:
x.a: conflicting values int and string (mismatched types int and string):
    ./test.cue:1:9
    ./test.cue:1:15
x.b: conflicting values int and bool (mismatched types int and bool):
    ./test.cue:1:29
    ./test.cue:1:35
