Make test results unique based on argument string Hopefully this makes e.g a failure on API level 36 report as Failure instead of Flaky if API level 1 passes. Change-Id: I660fbc40280fe689c816ce117bed6bd63ad6378c
diff --git a/d8_r8/commonBuildSrc/src/main/kotlin/TestConfigurationHelper.kt b/d8_r8/commonBuildSrc/src/main/kotlin/TestConfigurationHelper.kt index 43827f9..04df04e 100644 --- a/d8_r8/commonBuildSrc/src/main/kotlin/TestConfigurationHelper.kt +++ b/d8_r8/commonBuildSrc/src/main/kotlin/TestConfigurationHelper.kt
@@ -98,6 +98,7 @@ @OptIn(ExperimentalEncodingApi::class) private fun reportToResultSink( + test: Test, desc: TestDescriptor?, result: TestResult?, rootDir: File, @@ -134,14 +135,24 @@ } val payloadObj = JsonObject() - val testResultsArr = com.google.gson.JsonArray() + val testResultsArr = JsonArray() val testResultObj = JsonObject() val testIdStructuredObj = JsonObject() val testIdCaseNameComponents = JsonArray() testIdCaseNameComponents.add(desc.displayName.substringBefore('[')) val argumentString = desc.displayName.substringAfter('[').substringBeforeLast(']') + val moduleVariant = JsonObject() + val project = test.project + if (project.hasProperty("runtimes")) { + moduleVariant.addProperty("runtimes", project.property("runtimes").toString()) + } + if (project.hasProperty("dex_vm")) { + moduleVariant.addProperty("dex_vm", project.property("dex_vm").toString()) + } + moduleVariant.addProperty("args", argumentString) testIdStructuredObj.addProperty("module", "junit") + testIdStructuredObj.add("moduleVariant", moduleVariant) testIdStructuredObj.addProperty("coarseName", desc.className?.substringBeforeLast(".") ?: "") testIdStructuredObj.addProperty("fineName", desc.className?.substringAfterLast(".") ?: "") testIdStructuredObj.add("caseNameComponents", testIdCaseNameComponents) @@ -164,7 +175,7 @@ val summaryHtml = "<p>Arguments string: $argumentString</p>" if (stackTraceStr != null) { val artifact = JsonObject() - val encodedStackTrace = Base64.Default.encode(stackTraceStr.encodeToByteArray()) + val encodedStackTrace = Base64.encode(stackTraceStr.encodeToByteArray()) val jsonObject = JsonObject() jsonObject.addProperty("contents", encodedStackTrace) artifact.add("artifact-content-in-request", jsonObject) @@ -350,6 +361,7 @@ } } reportToResultSink( + test, desc, result, rootDir, @@ -379,6 +391,7 @@ println(baos) } reportToResultSink( + test, desc, result, rootDir,