diff --git a/src/test/kotlin/org/briarproject/briar/desktop/RunWithTemporaryAccount.kt b/src/test/kotlin/org/briarproject/briar/desktop/RunWithTemporaryAccount.kt index d14708016ae8b5ff4698fc2cf9457c30b585ce7b..2f633c757e3d13843207042b85dddb76b24137d0 100644 --- a/src/test/kotlin/org/briarproject/briar/desktop/RunWithTemporaryAccount.kt +++ b/src/test/kotlin/org/briarproject/briar/desktop/RunWithTemporaryAccount.kt @@ -7,11 +7,14 @@ import org.briarproject.bramble.BrambleCoreEagerSingletons import org.briarproject.briar.BriarCoreEagerSingletons import org.briarproject.briar.desktop.TestUtils.getDataDir import org.briarproject.briar.desktop.utils.LogUtils +import java.nio.file.Files +import java.nio.file.attribute.PosixFilePermissions import java.util.logging.Level.ALL internal class RunWithTemporaryAccount( val createAccount: Boolean = true, val login: Boolean = true, + val makeDirUnwritable: Boolean = false, val customization: BriarDesktopTestApp.() -> Unit = {} ) { @@ -26,6 +29,11 @@ internal class RunWithTemporaryAccount( val dataDir = getDataDir() LOG.info { "Using data directory '$dataDir'" } + if (makeDirUnwritable) { + val permissions = PosixFilePermissions.fromString("r--r--r--") + Files.setPosixFilePermissions(dataDir, permissions) + } + val app = DaggerBriarDesktopTestApp.builder().desktopTestModule( DesktopTestModule(dataDir) diff --git a/src/test/kotlin/org/briarproject/briar/desktop/TestStartupWithUnwritableDirectory.kt b/src/test/kotlin/org/briarproject/briar/desktop/TestStartupWithUnwritableDirectory.kt new file mode 100644 index 0000000000000000000000000000000000000000..b4615cd41edd4f5a052ca788c83b4824058cc022 --- /dev/null +++ b/src/test/kotlin/org/briarproject/briar/desktop/TestStartupWithUnwritableDirectory.kt @@ -0,0 +1,3 @@ +package org.briarproject.briar.desktop + +fun main() = RunWithTemporaryAccount(createAccount = false, makeDirUnwritable = true).run()