diff --git a/loggerazzi/src/main/java/com/telefonica/loggerazzi/LoggerazziRule.kt b/loggerazzi/src/main/java/com/telefonica/loggerazzi/LoggerazziRule.kt index bf2619b..8317bca 100644 --- a/loggerazzi/src/main/java/com/telefonica/loggerazzi/LoggerazziRule.kt +++ b/loggerazzi/src/main/java/com/telefonica/loggerazzi/LoggerazziRule.kt @@ -53,7 +53,6 @@ open class GenericLoggerazziRule( val testName = "${description?.className}_${description?.methodName}" val fileName = "${testName}.${System.nanoTime()}" - val recordedLogs: List if (InstrumentationRegistry.getArguments().getString("record") != "true" && !isTestIgnored) { val goldenFile = InstrumentationRegistry.getInstrumentation().context.assets.open( @@ -61,17 +60,19 @@ open class GenericLoggerazziRule( ) val goldenStringLogs = String(goldenFile.readBytes()).takeIf { it.isNotEmpty() }?.split("\n") ?: emptyList() val comparison = compare(goldenStringLogs) + writeRecordedLogsToFile(fileName, comparison.recordedLogs) if (!comparison.success) { val compareFile = File(failuresDir, fileName) compareFile.createNewFile() compareFile.writeText(comparison.failure!!) throw AssertionError("Logs do not match:\n${comparison.failure}") } - recordedLogs = comparison.recordedLogs } else { - recordedLogs = recorder.getRecordedLogs() + writeRecordedLogsToFile(fileName, recorder.getRecordedLogs()) } + } + private fun writeRecordedLogsToFile(fileName: String, recordedLogs: List) { val log = recordedLogs.joinToString("\n") { stringMapper.fromLog(it) } val testFile = File(recordedDir, fileName) testFile.createNewFile()