diff --git a/launcher-package/build.sbt b/launcher-package/build.sbt index b58d8b277..75f952e30 100755 --- a/launcher-package/build.sbt +++ b/launcher-package/build.sbt @@ -362,7 +362,7 @@ lazy val integrationTest = (project in file("integration-test")) libraryDependencies ++= Seq( "io.monix" %% "minitest" % "2.3.2" % Test, "com.eed3si9n.expecty" %% "expecty" % "0.11.0" % Test, - "org.scala-sbt" %% "io" % "1.3.1" % Test + "org.scala-sbt" %% "io" % "1.10.5" % Test ), testFrameworks += new TestFramework("minitest.runner.Framework"), test in Test := { diff --git a/launcher-package/integration-test/src/test/scala/ScriptTest.scala b/launcher-package/integration-test/src/test/scala/ScriptTest.scala index 512cd4345..222987887 100644 --- a/launcher-package/integration-test/src/test/scala/ScriptTest.scala +++ b/launcher-package/integration-test/src/test/scala/ScriptTest.scala @@ -16,7 +16,16 @@ object SbtScriptTest extends SimpleTestSuite with PowerAssertions { private val javaBinDir = new File("integration-test", "bin").getAbsolutePath - private def makeTest( + private def retry[A1](f: () => A1, maxAttempt: Int = 10): A1 = + try { + f() + } catch { + case _ if maxAttempt <= 1 => + Thread.sleep(100) + retry(f, maxAttempt - 1) + } + + def makeTest( name: String, javaOpts: String = "", sbtOpts: String = "", @@ -25,7 +34,7 @@ object SbtScriptTest extends SimpleTestSuite with PowerAssertions { )(args: String*)(f: List[String] => Any) = { test(name) { val workingDirectory = Files.createTempDirectory("sbt-launcher-package-test").toFile - IO.copyDirectory(new File("citest"), workingDirectory) + retry(() => IO.copyDirectory(new File("citest"), workingDirectory)) try { val sbtOptsFile = new File(workingDirectory, ".sbtopts")