Skip to content

Commit f670c22

Browse files
committed
Really startup trace recording error in integration tests
1 parent 43b82f7 commit f670c22

3 files changed

Lines changed: 10 additions & 8 deletions

File tree

embrace-android-sdk/src/integrationTest/kotlin/io/embrace/android/embracesdk/testcases/AppStartupTraceTest.kt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,7 @@ internal class AppStartupTraceTest {
3838
@Rule
3939
@JvmField
4040
val testRule: SdkIntegrationTestRule = SdkIntegrationTestRule {
41-
EmbraceSetupInterface().apply {
42-
getEmbLogger().ignoredErrors.clear()
43-
}
41+
EmbraceSetupInterface(ignoredInternalErrors = emptyList())
4442
}
4543

4644
@Test

embrace-android-sdk/src/integrationTest/kotlin/io/embrace/android/embracesdk/testframework/actions/EmbraceSetupInterface.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ internal class EmbraceSetupInterface @JvmOverloads constructor(
5555
var useMockWebServer: Boolean = true,
5656
var cacheStorageServiceProvider: Provider<PayloadStorageService>? = null,
5757
var payloadStorageServiceProvider: Provider<PayloadStorageService>? = null,
58+
val ignoredInternalErrors: List<InternalErrorType> = listOf(InternalErrorType.APP_LAUNCH_TRACE_FAIL),
5859
) {
5960
val fakeNetworkConnectivityService = FakeNetworkConnectivityService()
6061
val fakeJniDelegate = FakeJniDelegate()
@@ -63,7 +64,7 @@ internal class EmbraceSetupInterface @JvmOverloads constructor(
6364

6465
private val fakeInitModule: FakeInitModule = FakeInitModule(
6566
clock = FakeClock(currentTime = SdkIntegrationTestRule.DEFAULT_SDK_START_TIME_MS),
66-
logger = FakeEmbLogger(ignoredErrors = mutableListOf(InternalErrorType.PROCESS_STATE_CALLBACK_FAIL)),
67+
logger = FakeEmbLogger(ignoredErrors = ignoredInternalErrors),
6768
processIdentifierProvider = { processIdentifier }
6869
)
6970

embrace-test-fakes/src/main/kotlin/io/embrace/android/embracesdk/fakes/FakeEmbLogger.kt

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import io.embrace.android.embracesdk.internal.utils.Provider
88
class FakeEmbLogger(
99
var throwOnInternalError: Boolean = true,
1010
override var errorHandlerProvider: Provider<InternalErrorHandler?> = { null },
11-
val ignoredErrors: MutableList<InternalErrorType> = mutableListOf()
11+
val ignoredErrors: List<InternalErrorType> = emptyList()
1212
) : EmbLogger {
1313

1414
data class LogMessage(
@@ -37,10 +37,13 @@ class FakeEmbLogger(
3737
}
3838

3939
override fun trackInternalError(type: InternalErrorType, throwable: Throwable) {
40-
if (throwOnInternalError && !ignoredErrors.contains(type)) {
41-
throw IllegalStateException("Internal error: $type", throwable)
40+
if (!ignoredErrors.contains(type)) {
41+
if (throwOnInternalError) {
42+
throw IllegalStateException("Internal error: $type", throwable)
43+
} else {
44+
internalErrorMessages.add(LogMessage(type.toString(), throwable))
45+
}
4246
}
43-
internalErrorMessages.add(LogMessage(type.toString(), throwable))
4447
errorHandlerProvider()?.trackInternalError(type, throwable)
4548
}
4649
}

0 commit comments

Comments
 (0)