Skip to content

Commit

Permalink
Merge pull request #382 from adpi2/fix-manual-release-tests
Browse files Browse the repository at this point in the history
Fix tests on releasing RC versions of the expresion-compiler
  • Loading branch information
adpi2 authored Mar 8, 2023
2 parents f1a7f09 + 6f35bde commit f5253ab
Show file tree
Hide file tree
Showing 5 changed files with 52 additions and 45 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Manual Release
name: Release Expression Compiler (manual)
on:
workflow_dispatch:
inputs:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
name: Release
name: Full Release (manual)
on:
workflow_dispatch:
push:
tags: ["*"]
inputs:
java-debug-version:
required: true
description: 'Go find next version at https://repo1.maven.org/maven2/ch/epfl/scala/com-microsoft-java-debug-core/'
jobs:
publish:
runs-on: ubuntu-latest
Expand All @@ -16,6 +18,7 @@ jobs:
jvm: 'adopt:1.8.0-292'
- run: sbt ci-release
env:
JAVA_DEBUG_VERSION: ${{ inputs.java-debug-version }}
PGP_PASSPHRASE: ${{ secrets.PGP_PASSPHRASE }}
PGP_SECRET: ${{ secrets.PGP_SECRET }}
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
Expand Down
2 changes: 1 addition & 1 deletion build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ lazy val javaDebug = project
"com.github.sbt" % "junit-interface" % "0.13.3" % Test
),
Test / fork := true,
version := (if (isRelease) "0.34.0+12" else "0.34.0+12-SNAPSHOT")
version := Option(System.getenv("JAVA_DEBUG_VERSION")).getOrElse("0.34.0-SNAPSHOT")
)

lazy val core212 = core.jvm(Dependencies.scala212)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ case class ScalaVersion(value: String) {

def binaryVersion: String = if (isScala3) "3" else if (isScala213) "2.13" else "2.12"

def isRelease: Boolean = !value.contains("-")

override def toString: String = value
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,47 @@ package ch.epfl.scala.debugadapter
import ch.epfl.scala.debugadapter.testfmk.*

class Scala212EvaluationTests extends Scala2EvaluationTests(ScalaVersion.`2.12`)
class Scala213EvaluationTests extends Scala2EvaluationTests(ScalaVersion.`2.13`)
class Scala213EvaluationTests extends Scala2EvaluationTests(ScalaVersion.`2.13`) {
if (ScalaVersion.`3.1+`.isRelease) {
test("should use tasty-reader") {
val scala2Source =
"""|package example
|
|trait Msg
|
|object Sender {
| def send(msg: Msg): Unit = {
| println(msg)
| }
|}
|""".stripMargin

val scala2Debugee = TestingDebuggee.mainClass(scala2Source, "example.Sender", scalaVersion)
val scala3Source =
"""|package example
|
|case class Scala3Msg(msg: String) extends Msg:
| override def toString: String = msg
|
|object Main:
| def main(args: Array[String]): Unit =
| Sender.send(Scala3Msg("Hello"))
|""".stripMargin

implicit val debuggee: TestingDebuggee = TestingDebuggee.mainClass(
scala3Source,
"example.Main",
ScalaVersion.`3.1+`,
Seq.empty,
Seq(scala2Debugee.mainModule)
)
check(
Breakpoint(scala2Debugee.sourceFiles.head, 7),
Evaluation.success("msg.asInstanceOf[Scala3Msg].msg", "Hello")
)
}
}
}
class Scala30EvaluationTests extends Scala3EvaluationTests(ScalaVersion.`3.0`)
class Scala31PlusEvaluationTests extends Scala3EvaluationTests(ScalaVersion.`3.1+`)

Expand Down Expand Up @@ -1906,7 +1946,7 @@ abstract class ScalaEvaluationTests(scalaVersion: ScalaVersion) extends DebugTes
}
}

abstract class Scala2EvaluationTests(scalaVersion: ScalaVersion) extends ScalaEvaluationTests(scalaVersion) {
abstract class Scala2EvaluationTests(val scalaVersion: ScalaVersion) extends ScalaEvaluationTests(scalaVersion) {
test("should use -Xsource:3") {
val source =
"""|package example
Expand All @@ -1931,44 +1971,6 @@ abstract class Scala2EvaluationTests(scalaVersion: ScalaVersion) extends ScalaEv
Evaluation.success("""m(Seq("a", "b")*)""", "a, b")
)
}

test("should use tasty-reader") {
val scala2Source =
"""|package example
|
|trait Msg
|
|object Sender {
| def send(msg: Msg): Unit = {
| println(msg)
| }
|}
|""".stripMargin

val scala2Debugee = TestingDebuggee.mainClass(scala2Source, "example.Sender", scalaVersion)
val scala3Source =
"""|package example
|
|case class Scala3Msg(msg: String) extends Msg:
| override def toString: String = msg
|
|object Main:
| def main(args: Array[String]): Unit =
| Sender.send(Scala3Msg("Hello"))
|""".stripMargin

implicit val debuggee: TestingDebuggee = TestingDebuggee.mainClass(
scala3Source,
"example.Main",
ScalaVersion.`3.1+`,
Seq.empty,
Seq(scala2Debugee.mainModule)
)
check(
Breakpoint(scala2Debugee.sourceFiles.head, 7),
Evaluation.success("msg.asInstanceOf[Scala3Msg].msg", "Hello")
)
}
}

abstract class Scala3EvaluationTests(scalaVersion: ScalaVersion) extends ScalaEvaluationTests(scalaVersion) {
Expand Down

0 comments on commit f5253ab

Please sign in to comment.