From 67faa44a1d6c60c3f6e2f28c632c4d8f685eef60 Mon Sep 17 00:00:00 2001 From: eugene yokota Date: Mon, 3 Aug 2026 03:32:19 -0400 Subject: [PATCH] [2.x] test: Add test for Test/baseDirectory (#9544) --- sbt-app/src/sbt-test/tests/fork/build.sbt | 22 +++++++++++++------ .../fork/core/src/test/scala/FileTest.scala | 10 +++++++++ .../tests/fork/src/test/scala/Ensemble.scala | 21 +++++++++--------- sbt-app/src/sbt-test/tests/fork/test | 6 +++-- 4 files changed, 40 insertions(+), 19 deletions(-) create mode 100644 sbt-app/src/sbt-test/tests/fork/core/src/test/scala/FileTest.scala diff --git a/sbt-app/src/sbt-test/tests/fork/build.sbt b/sbt-app/src/sbt-test/tests/fork/build.sbt index 9456aeff4..c6d1069cf 100644 --- a/sbt-app/src/sbt-test/tests/fork/build.sbt +++ b/sbt-app/src/sbt-test/tests/fork/build.sbt @@ -4,18 +4,18 @@ import Defaults._ val groupSize = 3 val groups = 3 +@transient val check = TaskKey[Unit]("check", "Check all files were created and remove them.") -val scalatest = "org.scalatest" %% "scalatest" % "3.0.5" -val scalaxml = "org.scala-lang.modules" %% "scala-xml" % "1.1.1" +val munit = "org.scalameta" %% "munit" % "1.0.4" def groupId(idx: Int) = "group_" + (idx + 1) def groupPrefix(idx: Int) = groupId(idx) + "_file_" Global / localCacheDirectory := baseDirectory.value / "diskcache" -ThisBuild / scalaVersion := "2.12.21" -ThisBuild / organization := "org.example" +scalaVersion := "3.8.4" +organization := "com.example" -lazy val root = (project in file(".")) +lazy val root = rootProject .settings( Test / testGrouping := Def.uncached { val tests = (Test / definedTests).value @@ -38,7 +38,15 @@ lazy val root = (project in file(".")) }, concurrentRestrictions := Tags.limit(Tags.ForkedTestGroup, 2) :: Nil, libraryDependencies ++= List( - scalaxml, - scalatest % Test + munit % Test ) ) + +lazy val core = project + .settings( + Test / fork := true, + libraryDependencies ++= List( + munit % Test + ), + Test / baseDirectory := (LocalRootProject / baseDirectory).value, + ) diff --git a/sbt-app/src/sbt-test/tests/fork/core/src/test/scala/FileTest.scala b/sbt-app/src/sbt-test/tests/fork/core/src/test/scala/FileTest.scala new file mode 100644 index 000000000..6c973938e --- /dev/null +++ b/sbt-app/src/sbt-test/tests/fork/core/src/test/scala/FileTest.scala @@ -0,0 +1,10 @@ +import java.io.File + +import munit.FunSuite + +class FileTest extends FunSuite: + test("test baseDirectory") { + val x = new File("foo").getAbsoluteFile().getParentFile() + assert(x.getName() != "core", s"actual ${x.getName()}") + } +end FileTest diff --git a/sbt-app/src/sbt-test/tests/fork/src/test/scala/Ensemble.scala b/sbt-app/src/sbt-test/tests/fork/src/test/scala/Ensemble.scala index 9dbd69cb7..71c1d09dc 100644 --- a/sbt-app/src/sbt-test/tests/fork/src/test/scala/Ensemble.scala +++ b/sbt-app/src/sbt-test/tests/fork/src/test/scala/Ensemble.scala @@ -1,16 +1,17 @@ -import org.scalatest.FlatSpec import java.io.File -trait Ensemble extends FlatSpec { - def i: Int - def prefix = System.getProperty("group.prefix") +import munit.FunSuite - "an ensemble" should "create all files" in { - val f = new File(prefix + i) - f.createNewFile - } -} +trait Ensemble extends FunSuite: + def i: Int + def prefix = System.getProperty("group.prefix") + + test("an ensemble should create all files") { + val f = new File(prefix + i) + f.createNewFile + } +end Ensemble class Ensemble1 extends Ensemble { def i = 1 } class Ensemble2 extends Ensemble { def i = 2 } -class Ensemble3 extends Ensemble { def i = 3 } \ No newline at end of file +class Ensemble3 extends Ensemble { def i = 3 } diff --git a/sbt-app/src/sbt-test/tests/fork/test b/sbt-app/src/sbt-test/tests/fork/test index de5041ba0..6967b71ca 100644 --- a/sbt-app/src/sbt-test/tests/fork/test +++ b/sbt-app/src/sbt-test/tests/fork/test @@ -1,2 +1,4 @@ -> test -> check \ No newline at end of file +> testFull +> check + +> core/testFull