diff --git a/build.gradle.kts b/build.gradle.kts index c9e6d9c3a2a6a0490b2065755b123f1828c665db..58b1010d6030b5e15fece0317f85e6fd14e242a0 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -35,6 +35,7 @@ dependencies { kapt("com.google.dagger:dagger-compiler:$daggerVersion") testImplementation(kotlin("test-testng")) + testImplementation("commons-io:commons-io:2.11.0") kaptTest("com.google.dagger:dagger-compiler:$daggerVersion") } diff --git a/src/test/kotlin/org/briarproject/briar/desktop/BriarDesktopTestApp.kt b/src/test/kotlin/org/briarproject/briar/desktop/BriarDesktopTestApp.kt index a4bbc9cd144d77ea03fbb615898fe0d3878a750c..17584c59986056838c7bb479c7cf5daf4eebfde3 100644 --- a/src/test/kotlin/org/briarproject/briar/desktop/BriarDesktopTestApp.kt +++ b/src/test/kotlin/org/briarproject/briar/desktop/BriarDesktopTestApp.kt @@ -5,6 +5,7 @@ import org.briarproject.bramble.BrambleCoreEagerSingletons import org.briarproject.bramble.BrambleCoreModule import org.briarproject.bramble.api.account.AccountManager import org.briarproject.bramble.api.lifecycle.LifecycleManager +import org.briarproject.bramble.api.lifecycle.ShutdownManager import org.briarproject.briar.BriarCoreEagerSingletons import org.briarproject.briar.BriarCoreModule import org.briarproject.briar.api.test.TestDataCreator @@ -27,6 +28,8 @@ internal interface BriarDesktopTestApp : BrambleCoreEagerSingletons, BriarCoreEa fun getLifecycleManager(): LifecycleManager + fun getShutdownManager(): ShutdownManager + fun getAccountManager(): AccountManager fun getTestDataCreator(): TestDataCreator diff --git a/src/test/kotlin/org/briarproject/briar/desktop/TestWithTemporaryAccount.kt b/src/test/kotlin/org/briarproject/briar/desktop/TestWithTemporaryAccount.kt index 20c9561e431bae0f2cf7180b81bacca2bf9bd958..ac5bb5cd3ba411f6dcbcdd19108cf55cc91859ec 100644 --- a/src/test/kotlin/org/briarproject/briar/desktop/TestWithTemporaryAccount.kt +++ b/src/test/kotlin/org/briarproject/briar/desktop/TestWithTemporaryAccount.kt @@ -2,6 +2,7 @@ package org.briarproject.briar.desktop import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.window.application +import org.apache.commons.io.FileUtils import org.briarproject.bramble.BrambleCoreEagerSingletons import org.briarproject.bramble.util.OsUtils.isLinux import org.briarproject.bramble.util.OsUtils.isMac @@ -32,6 +33,12 @@ private class TestWithTemporaryAccount { DaggerBriarDesktopTestApp.builder().desktopTestModule( DesktopTestModule(dataDir.toFile()) ).build() + + app.getShutdownManager().addShutdownHook { + println("deleting temporary account at $dataDir") + FileUtils.deleteDirectory(dataDir.toFile()) + } + // We need to load the eager singletons directly after making the // dependency graphs BrambleCoreEagerSingletons.Helper.injectEagerSingletons(app)