@@ -183,35 +183,42 @@ val gradleTestMaxParallelForks by extra(
183183
184184private fun String?.parseIntOrDefault (defaultValue : Int ): Int = this ?.toIntOrNull() ? : defaultValue
185185
186+ var loggedTestSuiteCount = 0
187+
186188private fun logTestResultsToGitHubActions (desc : TestDescriptor , result : TestResult ) {
187189 if (! ciBuild) return
188190
189- val elapsed = (result.endTime - result.startTime).milliseconds
191+ val header = if (loggedTestSuiteCount == 0 ) {
192+ """
193+ |## Test Results
194+ |
195+ || Suite | Result | Duration | Tests | Passed | Failed | Skipped |
196+ || ----- | ------ | -------- | ----- | ------ | ------ | ------- |
197+ |
198+ """ .trimMargin()
199+ } else {
200+ " "
201+ }
202+ loggedTestSuiteCount++
203+
204+ val summaryPath = System .getenv(" GITHUB_STEP_SUMMARY" ) ? : return
190205
206+ val duration = (result.endTime - result.startTime).milliseconds
207+ val seconds = (duration.inWholeMilliseconds % 60000 ) / 1000.0
208+ // both digits are zero-padded: 01m 05.220s
209+ val elapsed = " %02dm %06.3fs" .format(duration.inWholeMinutes, seconds)
191210 val tests = result.testCount
192211 val passed = result.successfulTestCount
193212 val failed = result.failedTestCount
194213 val skipped = result.skippedTestCount
195214
196- // Gradle Test Run :AnkiDroid:testPlayDebugUnitTest returned SUCCESS in 5m 30s
197- val markdownSummary = """
198- |${desc.displayName} returned **${result.resultType} ** in $elapsed
199- || Tests | Passed | Failed | Skipped |
200- ||-------|--------|--------|---------|
201- || $tests | $passed | $failed | $skipped |
202- |----
203- """ .trimMargin()
215+ // Gradle Test Run :common:testDebugUnitTest | SUCCESS | ...
216+ val row = " | ${desc.displayName} | **${result.resultType} ** | $elapsed | $tests | $passed | $failed | $skipped |\n "
204217
205- appendToGitHubActionsSummary(markdownSummary)
206- }
207-
208- private fun appendToGitHubActionsSummary (message : String ) {
209- if (! ciBuild) return
210- val summaryPath = System .getenv(" GITHUB_STEP_SUMMARY" ) ? : return
211218 Files .writeString(
212219 Paths .get(summaryPath),
213- message ,
220+ header + row ,
214221 StandardOpenOption .CREATE ,
215- StandardOpenOption .APPEND
222+ StandardOpenOption .APPEND ,
216223 )
217224}
0 commit comments