Skip to content

Commit b605c03

Browse files
committed
add util to modify repl tests
1 parent 542e669 commit b605c03

File tree

4 files changed

+45
-0
lines changed

4 files changed

+45
-0
lines changed

repl-test-update/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Small fix to update all repl test-resources
2+
3+
Made to fix this issue:
4+
https://github.com/lampepfl/dotty/issues/12981

repl-test-update/build.sbt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
scalaVersion := "3.0.0"
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
sbt.version=1.5.4
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
def replTestDir = "../compiler/test-resources/repl"
2+
3+
def list(dir: String = "."): Vector[String] =
4+
Option(new java.io.File(dir).list).map(_.toVector).getOrElse(Vector())
5+
6+
def loadLines(fileName: String, enc: String = "UTF-8"): Vector[String] =
7+
var result = Vector.empty[String]
8+
val source = scala.io.Source.fromFile(fileName, enc)
9+
try result = source.getLines().toVector finally source.close()
10+
result
11+
12+
def saveString(text: String, fileName: String, enc: String = "UTF-8"): Unit =
13+
val f = new java.io.File(fileName)
14+
val pw = new java.io.PrintWriter(f, enc)
15+
try pw.write(text) finally pw.close()
16+
17+
18+
@main
19+
def run_insert_error(): Unit =
20+
for f <- list(replTestDir) do
21+
val fileName = s"$replTestDir/$f"
22+
print(s"\nprocessing: $fileName")
23+
val lines = loadLines(fileName)
24+
var result = Vector[String]()
25+
for i <- lines.indices do
26+
result :+= lines(i)
27+
if lines(i).startsWith("scala>") &&
28+
lines.lift(i + 1).map(_.startsWith("1 | ")).getOrElse(false)
29+
then
30+
result :+= "-- Error:"
31+
32+
val msg =
33+
if lines == result then Console.GREEN + " unmodified" + Console.RESET
34+
else Console.RED + " *** MODIFIED" + Console.RESET
35+
println(msg)
36+
if lines != result then
37+
println("\nbefore ==========>\n" + lines.mkString("\n"))
38+
println("\nafter ==========>\n" + result.mkString("\n"))
39+
saveString(result.mkString("\n"), fileName)

0 commit comments

Comments
 (0)