feat: merge labts fixes
This commit is contained in:
@@ -82,9 +82,11 @@ def compile(filename: String, outFile: Option[File] = None)(using
|
||||
def main(args: Array[String]): Unit =
|
||||
OParser.parse(cliParser, args, CliConfig()) match {
|
||||
case Some(config) =>
|
||||
System.exit(
|
||||
compile(
|
||||
config.file.getAbsolutePath,
|
||||
outFile = Some(File(".", config.file.getName.stripSuffix(".wacc") + ".s"))
|
||||
)
|
||||
)
|
||||
case None =>
|
||||
}
|
||||
|
||||
@@ -41,23 +41,7 @@ class ParallelExamplesSpec extends AnyFlatSpec with BeforeAndAfterAll {
|
||||
val inputLine =
|
||||
contents
|
||||
.find(_.matches("^# ?[Ii]nput:.*$"))
|
||||
.map(line =>
|
||||
("" :: line.split(":").last.strip.split(" ").toList)
|
||||
.sliding(2)
|
||||
.flatMap { arr =>
|
||||
if (
|
||||
// First entry has no space in front
|
||||
arr(0) == "" ||
|
||||
// int followed by non-digit, space can be removed
|
||||
arr(0).toIntOption.nonEmpty && !arr(1)(0).isDigit ||
|
||||
// non-int followed by int, space can be removed
|
||||
!arr(0).last.isDigit && arr(1).toIntOption.nonEmpty
|
||||
)
|
||||
then List(arr(1))
|
||||
else List(" ", arr(1))
|
||||
}
|
||||
.mkString
|
||||
)
|
||||
.map(_.split(":").last.strip + "\n")
|
||||
.getOrElse("")
|
||||
val outputLineIdx = contents.indexWhere(_.matches("^# ?[Oo]utput:.*$"))
|
||||
val expectedOutput =
|
||||
@@ -92,7 +76,13 @@ class ParallelExamplesSpec extends AnyFlatSpec with BeforeAndAfterAll {
|
||||
)
|
||||
|
||||
assert(process.exitValue == expectedExit)
|
||||
assert(stdout.toString.replaceAll("0x[0-9a-f]+", "#addrs#") == expectedOutput)
|
||||
assert(
|
||||
stdout.toString
|
||||
.replaceAll("0x[0-9a-f]+", "#addrs#")
|
||||
.replaceAll("fatal error:.*", "#runtime_error#\n\u0000")
|
||||
.takeWhile(_ != '\u0000')
|
||||
== expectedOutput
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user