42 lines
1.4 KiB
Kotlin
42 lines
1.4 KiB
Kotlin
|
|
/*
|
||
|
|
* Copyright © All Contributors. See LICENSE and AUTHORS in the root directory for details.
|
||
|
|
*/
|
||
|
|
|
||
|
|
package at.bitfire.davdroid
|
||
|
|
|
||
|
|
import android.app.Application
|
||
|
|
import android.content.Context
|
||
|
|
import android.os.Build
|
||
|
|
import android.os.Bundle
|
||
|
|
import androidx.test.runner.AndroidJUnitRunner
|
||
|
|
import at.bitfire.davdroid.di.TestCoroutineDispatchersModule
|
||
|
|
import at.bitfire.davdroid.test.BuildConfig
|
||
|
|
import at.bitfire.synctools.log.LogcatHandler
|
||
|
|
import dagger.hilt.android.testing.HiltTestApplication
|
||
|
|
import java.util.logging.Level
|
||
|
|
import java.util.logging.Logger
|
||
|
|
|
||
|
|
@Suppress("unused")
|
||
|
|
class HiltTestRunner : AndroidJUnitRunner() {
|
||
|
|
|
||
|
|
override fun newApplication(cl: ClassLoader, name: String, context: Context): Application =
|
||
|
|
super.newApplication(cl, HiltTestApplication::class.java.name, context)
|
||
|
|
|
||
|
|
override fun onCreate(arguments: Bundle?) {
|
||
|
|
super.onCreate(arguments)
|
||
|
|
|
||
|
|
// set root logger to adb Logcat
|
||
|
|
val rootLogger = Logger.getLogger("")
|
||
|
|
rootLogger.level = Level.ALL
|
||
|
|
rootLogger.handlers.forEach { rootLogger.removeHandler(it) }
|
||
|
|
rootLogger.addHandler(LogcatHandler(BuildConfig.APPLICATION_ID))
|
||
|
|
|
||
|
|
// MockK requirements
|
||
|
|
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.P)
|
||
|
|
throw AssertionError("MockK requires Android P [https://mockk.io/ANDROID.html]")
|
||
|
|
|
||
|
|
// set main dispatcher for tests (especially runTest)
|
||
|
|
TestCoroutineDispatchersModule.initMainDispatcher()
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|