From 59c007d6a4c8276876ecd4fa26003c7187ce4609 Mon Sep 17 00:00:00 2001 From: eugene yokota Date: Thu, 7 May 2026 11:23:22 -0400 Subject: [PATCH] [2.x] test: Add move-file test (#9197) **Problem** Moving files around seems to break compile task. --- .../source-dependencies/move-file/A.scala | 5 +++++ .../source-dependencies/move-file/build.sbt | 15 +++++++++++++++ .../source-dependencies/move-file/pending | 17 +++++++++++++++++ 3 files changed, 37 insertions(+) create mode 100644 sbt-app/src/sbt-test/source-dependencies/move-file/A.scala create mode 100644 sbt-app/src/sbt-test/source-dependencies/move-file/build.sbt create mode 100644 sbt-app/src/sbt-test/source-dependencies/move-file/pending diff --git a/sbt-app/src/sbt-test/source-dependencies/move-file/A.scala b/sbt-app/src/sbt-test/source-dependencies/move-file/A.scala new file mode 100644 index 000000000..83b986f33 --- /dev/null +++ b/sbt-app/src/sbt-test/source-dependencies/move-file/A.scala @@ -0,0 +1,5 @@ +package example + +object Main { + def main(args: Array[String]): Unit = () +} diff --git a/sbt-app/src/sbt-test/source-dependencies/move-file/build.sbt b/sbt-app/src/sbt-test/source-dependencies/move-file/build.sbt new file mode 100644 index 000000000..f62cfa56f --- /dev/null +++ b/sbt-app/src/sbt-test/source-dependencies/move-file/build.sbt @@ -0,0 +1,15 @@ +import sbt.internal.inc.Analysis +import complete.DefaultParsers.* + +scalaVersion := "2.13.18" + +val checkStampSize = inputKey[Unit]("Verifies the accumulated number of iterations of incremental compilation.") +checkStampSize := { + val expected: Int = (Space ~> NatBasic).parsed + val analysis = (Compile / compile).value match + case a: Analysis => a + println(s"analysis: $analysis") + val sourceStampSize = analysis.readStamps.getAllSourceStamps.size + assert(sourceStampSize == expected, s"sourceStampSize = $sourceStampSize") +} + diff --git a/sbt-app/src/sbt-test/source-dependencies/move-file/pending b/sbt-app/src/sbt-test/source-dependencies/move-file/pending new file mode 100644 index 000000000..358ab6596 --- /dev/null +++ b/sbt-app/src/sbt-test/source-dependencies/move-file/pending @@ -0,0 +1,17 @@ +> checkStampSize 1 + +# move A.scala elsewhere +$ copy-file A.scala A.txt +$ delete A.scala +> checkStampSize 0 + +# move A.scala back +$ copy-file A.txt A.scala +$ delete A.txt +$ exists A.scala + +> show Compile/sources + +# if we recompile, we should regain stamp size 1 +> debug +> checkStampSize 1