diff options
author | Jon Marius Venstad <venstad@gmail.com> | 2022-02-23 12:46:46 +0100 |
---|---|---|
committer | Jon Marius Venstad <venstad@gmail.com> | 2022-02-23 12:46:46 +0100 |
commit | 5d5788be39bae9c34a703c418201aa913d87f8db (patch) | |
tree | 72b0972b7c783bb8ed18f52c1589c7a9578a82b1 /vespa-osgi-testrunner/src/test | |
parent | 6fe4d32a19fa48b43aea8f03a6eec58810513d1b (diff) |
Fix junit test runner test report generation
Diffstat (limited to 'vespa-osgi-testrunner/src/test')
2 files changed, 19 insertions, 6 deletions
diff --git a/vespa-osgi-testrunner/src/test/java/com/yahoo/vespa/testrunner/AggregateTestRunnerTest.java b/vespa-osgi-testrunner/src/test/java/com/yahoo/vespa/testrunner/AggregateTestRunnerTest.java index 29d0a1a4b1e..1af012f0fb2 100644 --- a/vespa-osgi-testrunner/src/test/java/com/yahoo/vespa/testrunner/AggregateTestRunnerTest.java +++ b/vespa-osgi-testrunner/src/test/java/com/yahoo/vespa/testrunner/AggregateTestRunnerTest.java @@ -77,7 +77,7 @@ class AggregateTestRunnerTest { assertEquals(List.of(), runner.getLog(record1.getSequenceNumber())); // First wrapped runner completes, second is started. - first.status = SUCCESS; + first.status = NO_TESTS; first.future.complete(null); assertNotNull(second.future); assertFalse(future.isDone()); @@ -87,8 +87,13 @@ class AggregateTestRunnerTest { second.log.add(record2); assertEquals(List.of(record1, record2), runner.getLog(-1)); - // No failures means success. + // No tests in any runner means no tests. + second.status = NO_TESTS; second.future.complete(null); + assertEquals(NO_TESTS, runner.getStatus()); + + // No failures, and at least one success, mean success. + second.status = SUCCESS; assertEquals(SUCCESS, runner.getStatus()); // An inconclusive test means inconclusive. @@ -122,7 +127,6 @@ class AggregateTestRunnerTest { TestReport report = TestReport.builder() .withLogs(List.of(record1)) .withFailures(List.of(failure)) - .withTotalCount(15) .withSuccessCount(8) .withIgnoredCount(4) .withFailedCount(2) @@ -135,13 +139,23 @@ class AggregateTestRunnerTest { TestReport merged = runner.getReport(); assertEquals(List.of(record1, record1), merged.logLines); assertEquals(List.of(failure, failure), merged.failures); - assertEquals(30, merged.totalCount); assertEquals(16, merged.successCount); assertEquals(8, merged.ignoredCount); assertEquals(4, merged.failedCount); assertEquals(2, merged.abortedCount); } + @Test + void testReportStatus() { + assertEquals(NO_TESTS, TestReport.builder().build().status()); + assertEquals(SUCCESS, TestReport.builder().withSuccessCount(1).build().status()); + assertEquals(INCONCLUSIVE, TestReport.builder().withSuccessCount(1).withInconclusiveCount(1).build().status()); + assertEquals(FAILURE, TestReport.builder().withSuccessCount(1).withFailedCount(1).build().status()); + assertEquals(SUCCESS, TestReport.builder().withAbortedCount(1).build().status()); + assertEquals(SUCCESS, TestReport.builder().withIgnoredCount(1).build().status()); + assertEquals(FAILURE, JunitRunner.createReportWithFailedInitialization(new RuntimeException("hello")).status()); + } + static class MockTestRunner implements TestRunner { final List<LogRecord> log = new ArrayList<>(); diff --git a/vespa-osgi-testrunner/src/test/java/com/yahoo/vespa/testrunner/TestRunnerHandlerTest.java b/vespa-osgi-testrunner/src/test/java/com/yahoo/vespa/testrunner/TestRunnerHandlerTest.java index 9b08e398564..a3e50e7d5bf 100644 --- a/vespa-osgi-testrunner/src/test/java/com/yahoo/vespa/testrunner/TestRunnerHandlerTest.java +++ b/vespa-osgi-testrunner/src/test/java/com/yahoo/vespa/testrunner/TestRunnerHandlerTest.java @@ -47,7 +47,6 @@ class TestRunnerHandlerTest { .withFailedCount(2) .withIgnoredCount(3) .withAbortedCount(4) - .withTotalCount(10) .withFailures(List.of(new TestReport.Failure("Foo.bar()", exception))) .withLogs(logRecords).build(); @@ -60,7 +59,7 @@ class TestRunnerHandlerTest { HttpResponse response = testRunnerHandler.handle(HttpRequest.createTestRequest("http://localhost:1234/tester/v1/report", GET)); ByteArrayOutputStream out = new ByteArrayOutputStream(); response.render(out); - JsonTestHelper.assertJsonEquals(out.toString(UTF_8), "{\"summary\":{\"total\":10,\"success\":1,\"failed\":2,\"ignored\":3,\"aborted\":4,\"failures\":[{\"testName\":\"Foo.bar()\",\"testError\":\"org.junit.ComparisonFailure: expected:<foo> but was:<bar>\",\"exception\":\"java.lang.RuntimeException: org.junit.ComparisonFailure: expected:<foo> but was:<bar>\\n\\tat Foo.bar(Foo.java:1123)\\n\"}]},\"output\":[\"Tests started\"]}"); + JsonTestHelper.assertJsonEquals(out.toString(UTF_8), "{\"summary\":{\"success\":1,\"failed\":2,\"ignored\":3,\"aborted\":4,\"failures\":[{\"testName\":\"Foo.bar()\",\"testError\":\"org.junit.ComparisonFailure: expected:<foo> but was:<bar>\",\"exception\":\"java.lang.RuntimeException: org.junit.ComparisonFailure: expected:<foo> but was:<bar>\\n\\tat Foo.bar(Foo.java:1123)\\n\"}]},\"output\":[\"Tests started\"]}"); } @Test |