Ensure Timber log output when running tests

to squash
This commit is contained in:
Benoit Marty 2020-04-24 13:37:29 +02:00
parent 51be8d5ed5
commit af0b798ef1
11 changed files with 86 additions and 8 deletions

View File

@ -71,6 +71,15 @@ android {
kotlinOptions { kotlinOptions {
jvmTarget = "1.8" jvmTarget = "1.8"
} }
sourceSets {
androidTest {
java.srcDirs += "src/sharedTest/java"
}
test {
java.srcDirs += "src/sharedTest/java"
}
}
} }
static def gitRevision() { static def gitRevision() {
@ -160,6 +169,8 @@ dependencies {
testImplementation 'io.mockk:mockk:1.9.2.kotlin12' testImplementation 'io.mockk:mockk:1.9.2.kotlin12'
testImplementation 'org.amshove.kluent:kluent-android:1.44' testImplementation 'org.amshove.kluent:kluent-android:1.44'
testImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutines_version" testImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutines_version"
// Plant Timber tree for test
testImplementation 'net.lachlanmckee:timber-junit-rule:1.0.1'
androidTestImplementation 'androidx.test:core:1.2.0' androidTestImplementation 'androidx.test:core:1.2.0'
androidTestImplementation 'androidx.test:runner:1.2.0' androidTestImplementation 'androidx.test:runner:1.2.0'
@ -171,5 +182,6 @@ dependencies {
androidTestImplementation 'io.mockk:mockk-android:1.9.2.kotlin12' androidTestImplementation 'io.mockk:mockk-android:1.9.2.kotlin12'
androidTestImplementation "androidx.arch.core:core-testing:$arch_version" androidTestImplementation "androidx.arch.core:core-testing:$arch_version"
androidTestImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutines_version" androidTestImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutines_version"
// Plant Timber tree for test
androidTestImplementation 'net.lachlanmckee:timber-junit-rule:1.0.1'
} }

View File

@ -18,10 +18,15 @@ package im.vector.matrix.android
import android.content.Context import android.content.Context
import androidx.test.core.app.ApplicationProvider import androidx.test.core.app.ApplicationProvider
import im.vector.matrix.android.test.shared.createTimberTestRule
import org.junit.Rule
import java.io.File import java.io.File
interface InstrumentedTest { interface InstrumentedTest {
@Rule
fun timberTestRule() = createTimberTestRule()
fun context(): Context { fun context(): Context {
return ApplicationProvider.getApplicationContext() return ApplicationProvider.getApplicationContext()
} }

View File

@ -0,0 +1,27 @@
/*
* Copyright (c) 2020 New Vector Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package im.vector.matrix.android.test.shared
import net.lachlanmckee.timberjunit.TimberTestRule
fun createTimberTestRule(): TimberTestRule {
return TimberTestRule.builder()
.showThread(false)
.showTimestamp(false)
.onlyLogWhenTestFails(false)
.build()
}

View File

@ -0,0 +1,26 @@
/*
* Copyright (c) 2020 New Vector Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package im.vector.matrix.android
import im.vector.matrix.android.test.shared.createTimberTestRule
import org.junit.Rule
interface MatrixTest {
@Rule
fun timberTestRule() = createTimberTestRule()
}

View File

@ -16,6 +16,7 @@
package im.vector.matrix.android.api.pushrules package im.vector.matrix.android.api.pushrules
import im.vector.matrix.android.MatrixTest
import im.vector.matrix.android.api.pushrules.rest.PushRule import im.vector.matrix.android.api.pushrules.rest.PushRule
import im.vector.matrix.android.internal.di.MoshiProvider import im.vector.matrix.android.internal.di.MoshiProvider
import org.junit.Assert.assertEquals import org.junit.Assert.assertEquals
@ -23,7 +24,7 @@ import org.junit.Assert.assertNotNull
import org.junit.Assert.assertTrue import org.junit.Assert.assertTrue
import org.junit.Test import org.junit.Test
class PushRuleActionsTest { class PushRuleActionsTest: MatrixTest {
@Test @Test
fun test_action_parsing() { fun test_action_parsing() {

View File

@ -16,6 +16,7 @@
package im.vector.matrix.android.api.pushrules package im.vector.matrix.android.api.pushrules
import im.vector.matrix.android.MatrixTest
import im.vector.matrix.android.api.session.events.model.Event import im.vector.matrix.android.api.session.events.model.Event
import im.vector.matrix.android.api.session.events.model.toContent import im.vector.matrix.android.api.session.events.model.toContent
import im.vector.matrix.android.api.session.room.Room import im.vector.matrix.android.api.session.room.Room
@ -30,7 +31,7 @@ import org.junit.Assert.assertFalse
import org.junit.Assert.assertTrue import org.junit.Assert.assertTrue
import org.junit.Test import org.junit.Test
class PushrulesConditionTest { class PushrulesConditionTest: MatrixTest {
/* ========================================================================================== /* ==========================================================================================
* Test EventMatchCondition * Test EventMatchCondition

View File

@ -16,6 +16,7 @@
package im.vector.matrix.android.internal.crypto.keysbackup.util package im.vector.matrix.android.internal.crypto.keysbackup.util
import im.vector.matrix.android.MatrixTest
import org.junit.Assert.assertArrayEquals import org.junit.Assert.assertArrayEquals
import org.junit.Assert.assertEquals import org.junit.Assert.assertEquals
import org.junit.FixMethodOrder import org.junit.FixMethodOrder
@ -23,7 +24,7 @@ import org.junit.Test
import org.junit.runners.MethodSorters import org.junit.runners.MethodSorters
@FixMethodOrder(MethodSorters.JVM) @FixMethodOrder(MethodSorters.JVM)
class Base58Test { class Base58Test: MatrixTest {
@Test @Test
fun encode() { fun encode() {

View File

@ -16,13 +16,15 @@
package im.vector.matrix.android.internal.crypto.keysbackup.util package im.vector.matrix.android.internal.crypto.keysbackup.util
import im.vector.matrix.android.MatrixTest
import org.junit.Assert.assertArrayEquals import org.junit.Assert.assertArrayEquals
import org.junit.Assert.assertEquals import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse import org.junit.Assert.assertFalse
import org.junit.Assert.assertTrue import org.junit.Assert.assertTrue
import org.junit.Test import org.junit.Test
class RecoveryKeyTest { class RecoveryKeyTest: MatrixTest {
private val curve25519Key = byteArrayOf( private val curve25519Key = byteArrayOf(
0x77.toByte(), 0x07.toByte(), 0x6D.toByte(), 0x0A.toByte(), 0x73.toByte(), 0x18.toByte(), 0xA5.toByte(), 0x7D.toByte(), 0x77.toByte(), 0x07.toByte(), 0x6D.toByte(), 0x0A.toByte(), 0x73.toByte(), 0x18.toByte(), 0xA5.toByte(), 0x7D.toByte(),
0x3C.toByte(), 0x16.toByte(), 0xC1.toByte(), 0x72.toByte(), 0x51.toByte(), 0xB2.toByte(), 0x66.toByte(), 0x45.toByte(), 0x3C.toByte(), 0x16.toByte(), 0xC1.toByte(), 0x72.toByte(), 0x51.toByte(), 0xB2.toByte(), 0x66.toByte(), 0x45.toByte(),

View File

@ -16,11 +16,12 @@
package im.vector.matrix.android.internal.crypto.store.db package im.vector.matrix.android.internal.crypto.store.db
import im.vector.matrix.android.MatrixTest
import im.vector.matrix.android.internal.util.md5 import im.vector.matrix.android.internal.util.md5
import org.junit.Assert.assertEquals import org.junit.Assert.assertEquals
import org.junit.Test import org.junit.Test
class HelperTest { class HelperTest: MatrixTest {
@Test @Test
fun testHash_ok() { fun testHash_ok() {

View File

@ -16,13 +16,14 @@
package im.vector.matrix.android.internal.crypto.verification.qrcode package im.vector.matrix.android.internal.crypto.verification.qrcode
import im.vector.matrix.android.MatrixTest
import org.amshove.kluent.shouldEqualTo import org.amshove.kluent.shouldEqualTo
import org.junit.FixMethodOrder import org.junit.FixMethodOrder
import org.junit.Test import org.junit.Test
import org.junit.runners.MethodSorters import org.junit.runners.MethodSorters
@FixMethodOrder(MethodSorters.JVM) @FixMethodOrder(MethodSorters.JVM)
class BinaryStringTest { class BinaryStringTest: MatrixTest {
/** /**
* I want to put bytes to a String, and vice versa * I want to put bytes to a String, and vice versa

View File

@ -16,6 +16,7 @@
package im.vector.matrix.android.internal.task package im.vector.matrix.android.internal.task
import im.vector.matrix.android.MatrixTest
import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.asCoroutineDispatcher import kotlinx.coroutines.asCoroutineDispatcher
import kotlinx.coroutines.delay import kotlinx.coroutines.delay
@ -26,7 +27,7 @@ import org.junit.Assert.assertEquals
import org.junit.Test import org.junit.Test
import java.util.concurrent.Executors import java.util.concurrent.Executors
class CoroutineSequencersTest { class CoroutineSequencersTest: MatrixTest {
private val dispatcher = Executors.newSingleThreadExecutor().asCoroutineDispatcher() private val dispatcher = Executors.newSingleThreadExecutor().asCoroutineDispatcher()