-
Type: Improvement
-
Resolution: Incomplete
-
Priority: Trivial - P5
-
None
-
Affects Version/s: None
-
Component/s: None
How frequently does the bug occur?
Always
Description
Hello, we have set the exact same classes as in the realm-kotlin example project in order to confirm that we can run unit tests for realm-kotlin.
The project syncs and runs ok but the commonTest unit tests are always failing. We are running the unit tests for android.
class ExpressionRepositoryTest { @Test fun insert() { val repository = ExpressionRepository() val expression = repository.addExpression("a + b") assertEquals("a + b", expression.expressionString) } } class Expression : RealmObject { var expressionString: String = "" } class ExpressionRepository { val realm: Realm by lazy { val configuration = RealmConfiguration.create(schema = setOf(Expression::class)) Realm.open(configuration) } fun addExpression(expression: String): Expression { return realm.writeBlocking { copyToRealm(Expression().apply { expressionString = expression }) } } fun expressions(): List<Expression> { return realm.query<Expression>().find() } fun observeChanges(): Flow<List<Expression>> { return realm.query<Expression>().asFlow().map { it.list } } }
Stacktrace & log output
Unable to find source-code formatter for language: shell. Available languages are: actionscript, ada, applescript, bash, c, c#, c++, cpp, css, erlang, go, groovy, haskell, html, java, javascript, js, json, lua, none, nyan, objc, perl, php, python, r, rainbow, ruby, scala, sh, sql, swift, visualbasic, xml, yaml
java.lang.ExceptionInInitializerError
at io.realm.kotlin.RealmConfiguration$Builder.<init>(RealmConfiguration.kt:55)
at io.realm.kotlin.RealmConfiguration$Companion.create(RealmConfiguration.kt:181)
at gr.desquared.kmmsharedmodule.ExpressionRepository$realm$2.invoke(ExpressionRepository.kt:16)
at gr.desquared.kmmsharedmodule.ExpressionRepository$realm$2.invoke(ExpressionRepository.kt:15)
at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
at gr.desquared.kmmsharedmodule.ExpressionRepository.getRealm(ExpressionRepository.kt:15)
at gr.desquared.kmmsharedmodule.ExpressionRepository.addExpression(ExpressionRepository.kt:21)
at gr.desquared.kmmsharedmodule.ExpressionRepositoryTest.insert(OrderDataSourceTest.kt:11)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.runTestClass(JUnitTestClassExecutor.java:110)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:58)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:38)
at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor.processTestClass(AbstractJUnitTestClassProcessor.java:62)
at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:51)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
at jdk.proxy2/jdk.proxy2.$Proxy5.processTestClass(Unknown Source)
at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:176)
at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129)
at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100)
at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60)
at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:133)
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:71)
at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
Caused by: java.lang.NullPointerException: {
@Suppress("DEP…id.os.Build.CPU_ABI
} must not be null
at io.realm.kotlin.internal.platform.SystemUtilsAndroidKt.<clinit>(SystemUtilsAndroid.kt:16)
... 51 more
Can you reproduce the bug?
Always
Reproduction Steps
No response
Version
1.9.0
What Atlas App Services are you using?
Local Database only
Are you using encryption?
No
Platform OS and version(s)
KMM with Kotlin 1.8.20
Build environment
Android Studio version: Android Studio Flamingo | 2022.2.1 Patch 2
Android Build Tools version: 7.4.2
Gradle version: 7.5.1