Skip to content
Snippets Groups Projects
Commit 35b2766c authored by Etienne Kneuss's avatar Etienne Kneuss
Browse files

Add evaluator tests checking that CodeGenParams work

parent 20c13c96
No related branches found
No related tags found
No related merge requests found
...@@ -434,4 +434,39 @@ class EvaluatorsTests extends LeonTestSuite { ...@@ -434,4 +434,39 @@ class EvaluatorsTests extends LeonTestSuite {
checkEvaluatorError(e, mkCall("c", IL(42))) checkEvaluatorError(e, mkCall("c", IL(42)))
} }
} }
test("Infinite Recursion") {
import codegen._
val p = """|object Program {
| import leon.Utils._
|
| def c(i : Int) : Int = c(i-1)
|}
|""".stripMargin
implicit val prog = parseString(p)
val e = new CodeGenEvaluator(leonContext, prog, CodeGenParams(maxFunctionInvocations = 32))
checkEvaluatorError(e, mkCall("c", IL(42)))
}
test("Wrong Contracts") {
import codegen._
val p = """|object Program {
| import leon.Utils._
|
| def c(i : Int) : Int = {
| require(i > 0);
| c(i-1)
| }
|}
|""".stripMargin
implicit val prog = parseString(p)
val e = new CodeGenEvaluator(leonContext, prog, CodeGenParams(checkContracts = true))
checkError(e, mkCall("c", IL(-42)))
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment