From 5fe42a43b2e9ae1e9884efb51e3a0757135ec9a5 Mon Sep 17 00:00:00 2001 From: Marco Antognini <antognini.marco@gmail.com> Date: Thu, 26 Nov 2015 19:09:18 +0100 Subject: [PATCH] Update GenC regression tests --- .../regression/genc/valid/AbsArray.scala | 21 +++++++++++++++++++ .../genc/valid/ExpressionOrder.scala | 15 ++++++++++++- src/test/scala/leon/genc/GenCSuite.scala | 2 +- 3 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 src/test/resources/regression/genc/valid/AbsArray.scala diff --git a/src/test/resources/regression/genc/valid/AbsArray.scala b/src/test/resources/regression/genc/valid/AbsArray.scala new file mode 100644 index 000000000..b3a592f1a --- /dev/null +++ b/src/test/resources/regression/genc/valid/AbsArray.scala @@ -0,0 +1,21 @@ +import leon.lang._ + +object AbsArray { + def abs(a: Array[Int]) { + var i = 0; + while (i < a.length) { + a(i) = if (a(i) < 0) -a(i) else a(i) + i = i + 1 + } + } + + def main = { + val a = Array(0, -1, 2, -3) + + abs(a) + + a(0) + a(1) - 1 + a(2) - 2 + a(3) - 3 // == 0 + } +} + + diff --git a/src/test/resources/regression/genc/valid/ExpressionOrder.scala b/src/test/resources/regression/genc/valid/ExpressionOrder.scala index 2969729a6..5507d8e19 100644 --- a/src/test/resources/regression/genc/valid/ExpressionOrder.scala +++ b/src/test/resources/regression/genc/valid/ExpressionOrder.scala @@ -41,7 +41,8 @@ object ExpressionOrder { bool2int(test3(false), 8) + bool2int(test4(false), 16) + bool2int(test6, 32) + - bool2int(test7, 64) + bool2int(test7, 64) + + bool2int(test8, 128) def test0(b: Boolean) = { val f = b && !b // == false @@ -128,6 +129,18 @@ object ExpressionOrder { c == 4 } + def test8 = { + var x = 0 + + def bar(y: Int) = { + def fun(z: Int) = 1 * x * (y + z) + + fun(3) + } + + bar(2) == 0 + } + def bool2int(b: Boolean, f: Int) = if (b) 0 else f; } diff --git a/src/test/scala/leon/genc/GenCSuite.scala b/src/test/scala/leon/genc/GenCSuite.scala index c63cbd9df..77405c6ef 100644 --- a/src/test/scala/leon/genc/GenCSuite.scala +++ b/src/test/scala/leon/genc/GenCSuite.scala @@ -87,7 +87,7 @@ class GenCSuite extends LeonRegressionSuite { } catch { case _: TimeoutException => p.destroy() - p.exitValue() + throw LeonFatalError("timeout reached") } } -- GitLab