Skip to content
This repository was archived by the owner on Oct 18, 2024. It is now read-only.

Commit 84beac2

Browse files
committed
tests: try to fix XML inflater tests in CI
1 parent 87057d5 commit 84beac2

File tree

3 files changed

+16
-4
lines changed

3 files changed

+16
-4
lines changed

xml-inflater/src/test/java/com/itsaky/androidide/inflater/LayoutInflaterTest.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ import com.itsaky.androidide.inflater.internal.utils.IDTable
3131
import com.itsaky.androidide.inflater.utils.newAttribute
3232
import com.itsaky.androidide.projects.ProjectManager
3333
import com.itsaky.androidide.projects.api.AndroidModule
34+
import org.junit.Before
3435
import java.io.File
3536
import org.junit.Test
3637
import org.junit.runner.RunWith
@@ -40,6 +41,11 @@ import org.robolectric.RobolectricTestRunner
4041
@RunWith(RobolectricTestRunner::class)
4142
class LayoutInflaterTest {
4243

44+
@Before
45+
fun `setup project`() {
46+
XmlInflaterTest.initIfNeeded()
47+
}
48+
4349
@Test
4450
fun `test functionality`() {
4551
inflaterTest {

xml-inflater/src/test/java/com/itsaky/androidide/inflater/ValueParsersTest.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import com.itsaky.androidide.inflater.internal.utils.parseInteger
3030
import com.itsaky.androidide.inflater.internal.utils.parseIntegerArray
3131
import com.itsaky.androidide.inflater.internal.utils.parseString
3232
import com.itsaky.androidide.inflater.internal.utils.parseStringArray
33+
import org.junit.Before
3334
import kotlin.math.roundToInt
3435
import org.junit.Test
3536
import org.junit.runner.RunWith
@@ -38,6 +39,11 @@ import org.robolectric.RobolectricTestRunner
3839
@RunWith(RobolectricTestRunner::class)
3940
class ValueParsersTest {
4041

42+
@Before
43+
fun `setup project`() {
44+
XmlInflaterTest.initIfNeeded()
45+
}
46+
4147
@Test
4248
fun `hardcoded dimension parser test`() {
4349
inflaterTest {

xml-inflater/src/test/java/com/itsaky/androidide/inflater/XmlInflaterTest.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,19 +27,19 @@ import com.itsaky.androidide.projects.builder.BuildService
2727
import com.itsaky.androidide.tooling.api.messages.InitializeProjectMessage
2828
import com.itsaky.androidide.tooling.testing.ToolingApiTestLauncher
2929
import com.itsaky.androidide.utils.FileProvider
30-
import java.io.File
3130
import org.junit.Ignore
3231
import org.robolectric.Robolectric
32+
import java.util.concurrent.atomic.AtomicBoolean
3333
import kotlin.io.path.pathString
3434

3535
@Ignore("Test utility provider")
3636
object XmlInflaterTest {
3737

38-
private var init: Boolean = false
38+
private var init = AtomicBoolean(false)
3939
internal val activity by lazy { Robolectric.buildActivity(AppCompatActivity::class.java).get() }
4040

4141
fun initIfNeeded() {
42-
if (init) {
42+
if (init.get()) {
4343
return
4444
}
4545

@@ -49,7 +49,7 @@ object XmlInflaterTest {
4949

5050
Lookup.getDefault().register(BuildService.KEY_PROJECT_PROXY, project)
5151
ProjectManager.setupProject()
52-
init = true
52+
init.set(true)
5353
}
5454
}
5555

0 commit comments

Comments
 (0)