Skip to content
Snippets Groups Projects
Unverified Commit 2c60dde8 authored by Mike McCready's avatar Mike McCready Committed by GitHub
Browse files

Make Error report filename Windows compatible (EXPOSUREAPP-7266) (COMMUNITY) (#3235)


* Make snapshot log filename Windows compatible (replace : with _)

* Modify LogSnapshotterTest for changed filename timezone and colon replacement

Co-authored-by: default avatarharambasicluka <64483219+harambasicluka@users.noreply.github.com>
parent de6e4d74
No related branches found
No related tags found
No related merge requests found
...@@ -34,7 +34,8 @@ class LogSnapshotter @Inject constructor( ...@@ -34,7 +34,8 @@ class LogSnapshotter @Inject constructor(
} }
val now = timeStamper.nowUTC.toUserTimeZone() val now = timeStamper.nowUTC.toUserTimeZone()
val formatter = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss.SSS") // Avoid ":" in filename since it is a reserved character in Microsoft Windows
val formatter = DateTimeFormat.forPattern("yyyy-MM-dd HH_mm_ss.SSS")
val formattedFileName = "CWA Log ${now.toString(formatter)}" val formattedFileName = "CWA Log ${now.toString(formatter)}"
if (!snapshotDir.exists() && snapshotDir.mkdirs()) { if (!snapshotDir.exists() && snapshotDir.mkdirs()) {
Timber.tag(TAG).v("Created %s", snapshotDir) Timber.tag(TAG).v("Created %s", snapshotDir)
......
...@@ -2,12 +2,13 @@ package de.rki.coronawarnapp.bugreporting.debuglog.internal ...@@ -2,12 +2,13 @@ package de.rki.coronawarnapp.bugreporting.debuglog.internal
import android.content.Context import android.content.Context
import de.rki.coronawarnapp.bugreporting.debuglog.DebugLogger import de.rki.coronawarnapp.bugreporting.debuglog.DebugLogger
import de.rki.coronawarnapp.util.TimeAndDateExtensions.toUserTimeZone
import de.rki.coronawarnapp.util.TimeStamper import de.rki.coronawarnapp.util.TimeStamper
import io.kotest.matchers.shouldBe import io.kotest.matchers.shouldBe
import io.mockk.MockKAnnotations import io.mockk.MockKAnnotations
import io.mockk.every import io.mockk.every
import io.mockk.impl.annotations.MockK import io.mockk.impl.annotations.MockK
import org.joda.time.Instant import org.joda.time.DateTime
import org.junit.jupiter.api.AfterEach import org.junit.jupiter.api.AfterEach
import org.junit.jupiter.api.BeforeEach import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Test import org.junit.jupiter.api.Test
...@@ -26,7 +27,7 @@ class LogSnapshotterTest : BaseIOTest() { ...@@ -26,7 +27,7 @@ class LogSnapshotterTest : BaseIOTest() {
private val runningLogFake = File(testDir, "running.log") private val runningLogFake = File(testDir, "running.log")
private val snapshotDir = File(cacheDir, "debuglog_snapshots") private val snapshotDir = File(cacheDir, "debuglog_snapshots")
private val expectedSnapshot = File(snapshotDir, "CWA Log 1970-01-01 00:00:00.000.zip") private val expectedSnapshot = File(snapshotDir, "CWA Log 1970-01-01 00_00_00.000.zip")
@BeforeEach @BeforeEach
fun setup() { fun setup() {
...@@ -38,7 +39,7 @@ class LogSnapshotterTest : BaseIOTest() { ...@@ -38,7 +39,7 @@ class LogSnapshotterTest : BaseIOTest() {
testDir.exists() shouldBe true testDir.exists() shouldBe true
every { debugLogger.runningLog } returns runningLogFake every { debugLogger.runningLog } returns runningLogFake
every { timeStamper.nowUTC } returns Instant.EPOCH every { timeStamper.nowUTC.toUserTimeZone() } returns DateTime.parse("1970-01-01T00:00:00.000Z")
runningLogFake.parentFile!!.mkdirs() runningLogFake.parentFile!!.mkdirs()
runningLogFake.writeText("1 Doge = 1 Doge") runningLogFake.writeText("1 Doge = 1 Doge")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment