Skip to content

Commit 071a1f1

Browse files
Merge pull request #28 from scala-exercises/jp-adds-runtime-information-when-assert-failed
JP - Provides additional runtime information
2 parents 60deb99 + 61e41e1 commit 071a1f1

File tree

3 files changed

+11
-7
lines changed

3 files changed

+11
-7
lines changed

server/src/main/scala/org/scalaexercises/evaluator/evaluation.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ class Evaluator(timeout: FiniteDuration = 20.seconds)(
108108
result Try(eval.execute[T](code, resetState = true, jars = jars))
109109
} yield result
110110

111-
val errors = eval.errors.toMap.asInstanceOf[EvalResult.CI]
111+
val errors = eval.errors
112112

113113
result match {
114114
case scala.util.Success(r) EvalSuccess[T](errors, r, "")

server/src/main/scala/org/scalaexercises/evaluator/services.scala

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,11 @@ object services {
4242
) flatMap {
4343
result =>
4444
val response = result match {
45-
case EvalSuccess(cis, result, out) =>
45+
case EvalSuccess(cis, res, out) =>
4646
EvalResponse(
4747
`ok`,
48-
Option(result.toString),
49-
Option(result.asInstanceOf[AnyRef].getClass.getName),
48+
Option(res.toString),
49+
Option(res.asInstanceOf[AnyRef].getClass.getName),
5050
cis)
5151
case Timeout(_) =>
5252
EvalResponse(`Timeout Exceded`, None, None, Map.empty)
@@ -56,8 +56,12 @@ object services {
5656
None,
5757
None,
5858
Map.empty)
59-
case EvalRuntimeError(cis, _) =>
60-
EvalResponse(`Runtime Error`, None, None, cis)
59+
case EvalRuntimeError(cis, runtimeError) =>
60+
EvalResponse(
61+
`Runtime Error`,
62+
runtimeError map (_.error.getMessage),
63+
runtimeError map (_.error.getClass.getName),
64+
cis)
6165
case CompilationError(cis) =>
6266
EvalResponse(`Compilation Error`, None, None, cis)
6367
case GeneralError(err) =>

server/src/test/scala/org/scalaexercises/evaluator/EvalEndpointSpec.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ class EvalEndpointSpec extends FunSpec with Matchers {
157157
),
158158
`X-Scala-Eval-Api-Token`(validToken)),
159159
expectedStatus = HttpStatus.Ok,
160-
expectedValue = None,
160+
expectedValue = Some("true was not false"),
161161
expectedMessage = `Runtime Error`
162162
)
163163
}

0 commit comments

Comments
 (0)