@@ -13,6 +13,48 @@ import (
1313 "github.com/stretchr/testify/require"
1414)
1515
16+ func TestAnyFailures (t * testing.T ) {
17+ xml1 := `<testsuites>
18+ <testsuite errors="0" failures="0" skipped="0" tests="1" time="0.000" name="github.com/cockroachdb/cockroach/pkg/build/util.TestMergeXml" timestamp="2025-12-02T20:59:24.432Z">
19+ <testcase classname="util" name="TestMergeXml" time="0.000"></testcase>
20+ </testsuite>
21+ <testsuite errors="0" failures="0" skipped="0" tests="1" time="0.000" name="github.com/cockroachdb/cockroach/pkg/build/util.TestMungeTestXML" timestamp="2025-12-02T20:59:24.433Z">
22+ <testcase classname="util" name="TestMungeTestXML" time="0.000"></testcase>
23+ </testsuite>
24+ <testsuite errors="0" failures="0" skipped="0" tests="1" time="0.000" name="github.com/cockroachdb/cockroach/pkg/build/util.TestOutputOfBinaryRule" timestamp="2025-12-02T20:59:24.432Z">
25+ <testcase classname="util" name="TestOutputOfBinaryRule" time="0.000"></testcase>
26+ </testsuite>
27+ <testsuite errors="0" failures="0" skipped="0" tests="1" time="0.000" name="github.com/cockroachdb/cockroach/pkg/build/util.TestOutputsOfGenrule" timestamp="2025-12-02T20:59:24.432Z">
28+ <testcase classname="util" name="TestOutputsOfGenrule" time="0.000"></testcase>
29+ </testsuite>
30+ </testsuites>`
31+ xml2 := `<testsuites>
32+ <testsuite errors="0" failures="1" skipped="0" tests="1" time="0.000" name="github.com/cockroachdb/cockroach/pkg/build/util.TestAnyFailures" timestamp="2025-12-02T21:01:33.393Z">
33+ <testcase classname="util" name="TestAnyFailures" time="0.000">
34+ <failure message="Failed" type="">=== RUN TestAnyFailures
 util_test.go:33: 
 	Error Trace:	pkg/build/util/util_test.go:33
 	Error: 	An error is expected but got nil.
 	Test: 	TestAnyFailures
--- FAIL: TestAnyFailures (0.00s)
</failure>
35+ </testcase>
36+ </testsuite>
37+ <testsuite errors="0" failures="0" skipped="0" tests="1" time="0.000" name="github.com/cockroachdb/cockroach/pkg/build/util.TestMergeXml" timestamp="2025-12-02T21:01:33.393Z">
38+ <testcase classname="util" name="TestMergeXml" time="0.000"></testcase>
39+ </testsuite>
40+ <testsuite errors="0" failures="0" skipped="0" tests="1" time="0.000" name="github.com/cockroachdb/cockroach/pkg/build/util.TestMungeTestXML" timestamp="2025-12-02T21:01:33.393Z">
41+ <testcase classname="util" name="TestMungeTestXML" time="0.000"></testcase>
42+ </testsuite>
43+ <testsuite errors="0" failures="0" skipped="0" tests="1" time="0.000" name="github.com/cockroachdb/cockroach/pkg/build/util.TestOutputOfBinaryRule" timestamp="2025-12-02T21:01:33.393Z">
44+ <testcase classname="util" name="TestOutputOfBinaryRule" time="0.000"></testcase>
45+ </testsuite>
46+ <testsuite errors="0" failures="0" skipped="0" tests="1" time="0.000" name="github.com/cockroachdb/cockroach/pkg/build/util.TestOutputsOfGenrule" timestamp="2025-12-02T21:01:33.393Z">
47+ <testcase classname="util" name="TestOutputsOfGenrule" time="0.000"></testcase>
48+ </testsuite>
49+ </testsuites>`
50+
51+ var suite1 , suite2 TestSuites
52+ require .NoError (t , xml .Unmarshal ([]byte (xml1 ), & suite1 ))
53+ require .False (t , AnyFailures (suite1 ))
54+ require .NoError (t , xml .Unmarshal ([]byte (xml2 ), & suite2 ))
55+ require .True (t , AnyFailures (suite2 ))
56+ }
57+
1658func TestOutputOfBinaryRule (t * testing.T ) {
1759 require .Equal (t , OutputOfBinaryRule ("//pkg/cmd/cockroach-short" , false ),
1860 "pkg/cmd/cockroach-short/cockroach-short_/cockroach-short" )
0 commit comments