From a5ab89b2175d00465efb5d9beb733c77b011aa99 Mon Sep 17 00:00:00 2001 From: Ravi Chande Date: Thu, 4 Oct 2018 10:19:36 -0700 Subject: [PATCH 1/2] Handle dotnettestresult with null results array --- src/observers/DotnetTestLoggerObserver.ts | 4 +++- test/unitTests/logging/DotnetTestLoggerObserver.test.ts | 6 ++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/observers/DotnetTestLoggerObserver.ts b/src/observers/DotnetTestLoggerObserver.ts index fc1d3ae28..88f596e2b 100644 --- a/src/observers/DotnetTestLoggerObserver.ts +++ b/src/observers/DotnetTestLoggerObserver.ts @@ -72,7 +72,9 @@ export default class DotNetTestLoggerObserver extends BaseLoggerObserver { private handleReportDotnetTestResults(event: ReportDotNetTestResults) { this.logger.appendLine("----- Test Execution Summary -----"); this.logger.appendLine(''); - const results = event.results; + + // Omnisharp returns null results if there are build failures + const results = event.results || []; const totalTests = results.length; let totalPassed = 0, totalFailed = 0, totalSkipped = 0; diff --git a/test/unitTests/logging/DotnetTestLoggerObserver.test.ts b/test/unitTests/logging/DotnetTestLoggerObserver.test.ts index d113b2316..911e5d0de 100644 --- a/test/unitTests/logging/DotnetTestLoggerObserver.test.ts +++ b/test/unitTests/logging/DotnetTestLoggerObserver.test.ts @@ -107,6 +107,12 @@ suite(`${DotNetTestLoggerObserver.name}`, () => { result.StandardError.forEach(message => expect(appendedMessage).to.contain(message)); }); }); + + + test(`Can handle malformed results`, () => { + observer.post(new ReportDotNetTestResults([])); + expect(appendedMessage).to.contain("----- Test Execution Summary -----\n\nTotal tests: 0. Passed: 0. Failed: 0. Skipped: 0"); + }); }); }); From da7b8e50a2f48985c9e773e8fd50e9faef3a07c2 Mon Sep 17 00:00:00 2001 From: Ravi Chande Date: Thu, 4 Oct 2018 10:21:29 -0700 Subject: [PATCH 2/2] Whitespace --- test/unitTests/logging/DotnetTestLoggerObserver.test.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/test/unitTests/logging/DotnetTestLoggerObserver.test.ts b/test/unitTests/logging/DotnetTestLoggerObserver.test.ts index 911e5d0de..2af99c802 100644 --- a/test/unitTests/logging/DotnetTestLoggerObserver.test.ts +++ b/test/unitTests/logging/DotnetTestLoggerObserver.test.ts @@ -107,8 +107,7 @@ suite(`${DotNetTestLoggerObserver.name}`, () => { result.StandardError.forEach(message => expect(appendedMessage).to.contain(message)); }); }); - - + test(`Can handle malformed results`, () => { observer.post(new ReportDotNetTestResults([])); expect(appendedMessage).to.contain("----- Test Execution Summary -----\n\nTotal tests: 0. Passed: 0. Failed: 0. Skipped: 0");