summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/regress/CMakeLists.txt3
-rw-r--r--test/regress/regress1/bv/issue3654.smt224
-rw-r--r--test/regress/regress1/sygus/issue3649.sy (renamed from test/regress/regress1/sygus/issue3654.sy)0
-rwxr-xr-xtest/regress/run_regression.py12
4 files changed, 35 insertions, 4 deletions
diff --git a/test/regress/CMakeLists.txt b/test/regress/CMakeLists.txt
index aaabd2301..150983187 100644
--- a/test/regress/CMakeLists.txt
+++ b/test/regress/CMakeLists.txt
@@ -1191,6 +1191,7 @@ set(regress_1_tests
regress1/bv/divtest.smt2
regress1/bv/fuzz34.smtv1.smt2
regress1/bv/fuzz38.smtv1.smt2
+ regress1/bv/issue3654.smt2
regress1/bv/test-bv-abstraction.smt2
regress1/bv/unsound1.smt2
regress1/bvdiv2.smt2
@@ -1819,7 +1820,7 @@ set(regress_1_tests
regress1/sygus/issue3635.smt2
regress1/sygus/issue3644.smt2
regress1/sygus/issue3648.smt2
- regress1/sygus/issue3654.sy
+ regress1/sygus/issue3649.sy
regress1/sygus/large-const-simp.sy
regress1/sygus/let-bug-simp.sy
regress1/sygus/list-head-x.sy
diff --git a/test/regress/regress1/bv/issue3654.smt2 b/test/regress/regress1/bv/issue3654.smt2
new file mode 100644
index 000000000..59c11456f
--- /dev/null
+++ b/test/regress/regress1/bv/issue3654.smt2
@@ -0,0 +1,24 @@
+; COMMAND_LINE: --ext-rew-prep
+; EXPECT: sat
+(set-logic QF_BV)
+(declare-fun a () (_ BitVec 4))
+(assert (let ((a!1 ((_ sign_extend 3)
+ (ite (bvult ((_ sign_extend 15) #b0) #x2b7e) #b1 #b0)))
+ (a!2 ((_ zero_extend 15)
+ (ite (distinct #x2b7e ((_ sign_extend 12) a)) #b1 #b0)))
+ (a!4 (bvsgt (bvlshr (bvadd #x2b7e ((_ sign_extend 12) a))
+ ((_ sign_extend 12) a))
+ ((_ zero_extend 12) a)))
+ (a!5 (bvugt (ite (bvult ((_ sign_extend 15) #b0) #x2b7e) #b1 #b0) #b0))
+ (a!6 (bvugt (bvlshr (bvadd #x2b7e ((_ sign_extend 12) a))
+ ((_ sign_extend 12) a))
+ #x2b7e)))
+(let ((a!3 (bvslt a!2
+ (bvlshr (bvadd #x2b7e ((_ sign_extend 12) a))
+ ((_ sign_extend 12) a))))
+ (a!7 (xor (ite a!4 a!5 a!4)
+ a!6
+ (= (bvxnor #x2b7e ((_ zero_extend 12) a))
+ (bvadd #x2b7e ((_ sign_extend 12) a))))))
+ (ite (bvule a!1 a) a!3 a!7))))
+(check-sat)
diff --git a/test/regress/regress1/sygus/issue3654.sy b/test/regress/regress1/sygus/issue3649.sy
index 12949c55a..12949c55a 100644
--- a/test/regress/regress1/sygus/issue3654.sy
+++ b/test/regress/regress1/sygus/issue3649.sy
diff --git a/test/regress/run_regression.py b/test/regress/run_regression.py
index 2a0144c13..f2246c40b 100755
--- a/test/regress/run_regression.py
+++ b/test/regress/run_regression.py
@@ -29,7 +29,7 @@ REQUIRES = 'REQUIRES:'
EXIT_OK = 0
EXIT_FAILURE = 1
EXIT_SKIP = 77
-
+STATUS_TIMEOUT = 124
def run_process(args, cwd, timeout, s_input=None):
"""Runs a process with a timeout `timeout` in seconds. `args` are the
@@ -47,7 +47,7 @@ def run_process(args, cwd, timeout, s_input=None):
out = ''
err = ''
- exit_status = 124
+ exit_status = STATUS_TIMEOUT
try:
if timeout:
timer = threading.Timer(timeout, lambda p: p.kill(), [proc])
@@ -56,6 +56,9 @@ def run_process(args, cwd, timeout, s_input=None):
exit_status = proc.returncode
finally:
if timeout:
+ # The timer killed the process and is not active anymore.
+ if exit_status == -9 and not timer.is_alive():
+ exit_status = STATUS_TIMEOUT
timer.cancel()
return out, err, exit_status
@@ -344,7 +347,10 @@ def run_regression(unsat_cores, proofs, dump, use_skip_return_code, wrapper,
command_line_args, benchmark_dir, benchmark_basename, timeout)
output = re.sub(r'^[ \t]*', '', output, flags=re.MULTILINE)
error = re.sub(r'^[ \t]*', '', error, flags=re.MULTILINE)
- if output != expected_output:
+ if exit_status == STATUS_TIMEOUT:
+ exit_code = EXIT_SKIP if use_skip_return_code else EXIT_FAILURE
+ print('Timeout - Flags: {}'.format(command_line_args))
+ elif output != expected_output:
exit_code = EXIT_FAILURE
print(
'not ok - Differences between expected and actual output on stdout - Flags: {}'
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback