Merge pull request #114 from dorny/issue-113-print-breaks-dart-parsing

Fix dart-json parsing broken by print message
This commit is contained in:
Michal Dorner 2021-05-13 22:04:27 +02:00 committed by GitHub
commit e873f73dd6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 14 additions and 11 deletions

View file

@ -4,6 +4,7 @@
{"suite":{"id":2,"platform":"vm","path":"test\\second_test.dart"},"type":"suite","time":11}
{"test":{"id":3,"name":"loading test\\second_test.dart","suiteID":2,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":11}
{"count":2,"type":"allSuites","time":11}
{"testID":1,"messageType":"print","message":"Hello from the test","type":"print","time":3828}
{"testID":3,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":3649}
{"group":{"id":4,"suiteID":2,"parentID":null,"name":null,"metadata":{"skip":false,"skipReason":null},"testCount":2,"line":null,"column":null,"url":null},"type":"group","time":3654}
{"test":{"id":5,"name":"Timeout test","suiteID":2,"groupIDs":[4],"metadata":{"skip":false,"skipReason":null},"line":5,"column":3,"url":"file:///C:/Users/Michal/Workspace/dorny/test-check/reports/dart/test/second_test.dart"},"type":"testStart","time":3655}

14
dist/index.js generated vendored
View file

@ -483,13 +483,13 @@ class DartJsonParser {
group.tests.push(test);
tests[evt.test.id] = test;
}
else if (dart_json_types_1.isTestDoneEvent(evt) && !evt.hidden) {
else if (dart_json_types_1.isTestDoneEvent(evt) && !evt.hidden && tests[evt.testID]) {
tests[evt.testID].testDone = evt;
}
else if (dart_json_types_1.isErrorEvent(evt)) {
else if (dart_json_types_1.isErrorEvent(evt) && tests[evt.testID]) {
tests[evt.testID].error = evt;
}
else if (dart_json_types_1.isMessageEvent(evt)) {
else if (dart_json_types_1.isMessageEvent(evt) && tests[evt.testID]) {
tests[evt.testID].print.push(evt);
}
else if (dart_json_types_1.isDoneEvent(evt)) {
@ -763,10 +763,10 @@ class DotnetTrxParser {
return undefined;
}
const error = test.error;
if (!Array.isArray(error.Message)
|| error.Message.length === 0
|| !Array.isArray(error.StackTrace)
|| error.StackTrace.length === 0) {
if (!Array.isArray(error.Message) ||
error.Message.length === 0 ||
!Array.isArray(error.StackTrace) ||
error.StackTrace.length === 0) {
return undefined;
}
const message = test.error.Message[0];

2
dist/index.js.map generated vendored

File diff suppressed because one or more lines are too long

View file

@ -24,4 +24,6 @@ void main() {
throw Exception('Some error');
});
});
print('Hello from the test');
}

View file

@ -114,11 +114,11 @@ export class DartJsonParser implements TestParser {
const group = suite.groups[evt.test.groupIDs[evt.test.groupIDs.length - 1]]
group.tests.push(test)
tests[evt.test.id] = test
} else if (isTestDoneEvent(evt) && !evt.hidden) {
} else if (isTestDoneEvent(evt) && !evt.hidden && tests[evt.testID]) {
tests[evt.testID].testDone = evt
} else if (isErrorEvent(evt)) {
} else if (isErrorEvent(evt) && tests[evt.testID]) {
tests[evt.testID].error = evt
} else if (isMessageEvent(evt)) {
} else if (isMessageEvent(evt) && tests[evt.testID]) {
tests[evt.testID].print.push(evt)
} else if (isDoneEvent(evt)) {
success = evt.success