@@ -23,8 +23,8 @@ void main() {
23
23
{"missing": "entry"}
24
24
{"other": true}''' ;
25
25
file.writeAsStringSync (output);
26
- final Map < int , TestSpecs > result = generateMetrics (file);
27
- expect (result, isEmpty);
26
+ final TestFileReporterResults result = TestFileReporterResults . fromFile (file);
27
+ expect (result.allTestSpecs , isEmpty);
28
28
});
29
29
30
30
test ('have metrics' , () async {
@@ -47,7 +47,7 @@ void main() {
47
47
{"group":{"id":7,"suiteID":1,"parentID":2,"name":"ProjectValidatorTask","metadata":{"skip":false,"skipReason":null},"testCount":1,"line":82,"column":3,"url":"file:///file"},"type":"group","time":5000}
48
48
{"success":true,"type":"done","time":4870}''' ;
49
49
file.writeAsStringSync (output);
50
- final Map <int , TestSpecs > result = generateMetrics (file);
50
+ final Map <int , TestSpecs > result = TestFileReporterResults . fromFile (file).allTestSpecs ;
51
51
expect (result, contains (0 ));
52
52
expect (result, contains (1 ));
53
53
expect (result[0 ]! .path, 'test/general.shard/project_validator_result_test.dart' );
@@ -62,8 +62,37 @@ void main() {
62
62
{"suite":{"id":1,"platform":"vm","path":"other_path"},"type":"suite","time":1000}
63
63
{"group":{"id":7,"suiteID":1,"parentID":2,"name":"name","metadata":{"skip":false,"skipReason":null},"testCount":1,"line":82,"column":3,"url":"file:///file"},"type":"group","time":5000}''' ;
64
64
file.writeAsStringSync (output);
65
- final Map <int , TestSpecs > result = generateMetrics (file);
66
- expect (result, isEmpty);
65
+ final TestFileReporterResults result = TestFileReporterResults .fromFile (file);
66
+ expect (result.hasFailedTests, true );
67
+ });
68
+
69
+ test ('has failed stack traces' , () async {
70
+ final File file = fileSystem.file ('success_file' );
71
+ const String output = '''
72
+ {"protocolVersion":"0.1.1","runnerVersion":"1.22.1","pid":47372,"type":"start","time":0}
73
+ {"suite":{"id":0,"platform":"vm","path":"test/tool_subsharding_test.dart"},"type":"suite","time":0}
74
+ {"test":{"id":1,"name":"loading test/tool_subsharding_test.dart","suiteID":0,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":2}
75
+ {"count":1,"time":11,"type":"allSuites"}
76
+ {"testID":1,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":1021}
77
+ {"group":{"id":2,"suiteID":0,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":3,"line":null,"column":null,"url":null},"type":"group","time":1026}
78
+ {"group":{"id":3,"suiteID":0,"parentID":2,"name":"generateMetrics","metadata":{"skip":false,"skipReason":null},"testCount":3,"line":13,"column":3,"url":"file:///Users/user/Documents/flutter/dev/bots/test/tool_subsharding_test.dart"},"type":"group","time":1027}
79
+ {"test":{"id":4,"name":"generateMetrics empty metrics","suiteID":0,"groupIDs":[2,3],"metadata":{"skip":false,"skipReason":null},"line":20,"column":5,"url":"file:///Users/user/Documents/flutter/dev/bots/test/tool_subsharding_test.dart"},"type":"testStart","time":1027}
80
+ {"testID":4,"error":"Expected: <true> Actual: <false>","stackTrace":"package:test_api expect test/tool_subsharding_test.dart 28:7 main.<fn>.<fn> ","isFailure":true,"type":"error","time":1095}
81
+ {"testID":4,"result":"failure","skipped":false,"hidden":false,"type":"testDone","time":1096}
82
+ {"test":{"id":5,"name":"generateMetrics have metrics","suiteID":0,"groupIDs":[2,3],"metadata":{"skip":false,"skipReason":null},"line":31,"column":5,"url":"file:///Users/user/Documents/flutter/dev/bots/test/tool_subsharding_test.dart"},"type":"testStart","time":1097}
83
+ {"testID":5,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":1103}
84
+ {"test":{"id":6,"name":"generateMetrics missing success entry","suiteID":0,"groupIDs":[2,3],"metadata":{"skip":false,"skipReason":null},"line":60,"column":5,"url":"file:///Users/user/Documents/flutter/dev/bots/test/tool_subsharding_test.dart"},"type":"testStart","time":1103}
85
+ {"testID":6,"error":"Expected: <false> Actual: <true>","stackTrace":"package:test_api expect test/tool_subsharding_test.dart 68:7 main.<fn>.<fn> ","isFailure":true,"type":"error","time":1107}
86
+ {"testID":6,"result":"failure","skipped":false,"hidden":false,"type":"testDone","time":1107}
87
+ {"testID":6,"error":"my error","isFailure":true,"type":"error","time":1107}
88
+ {"success":false,"type":"done","time":1120}''' ;
89
+ file.writeAsStringSync (output);
90
+ final TestFileReporterResults result = TestFileReporterResults .fromFile (file);
91
+ expect (result.hasFailedTests, true );
92
+ expect (result.errors.length == 3 , true );
93
+ expect (result.errors[0 ].contains ('Expected: <true> Actual: <false>' ), true );
94
+ expect (result.errors[1 ].contains ('Expected: <false> Actual: <true>' ), true );
95
+ expect (result.errors[2 ].contains ('my error' ), true );
67
96
});
68
97
});
69
98
}
0 commit comments