Files
circ/scripts/test_c_smt.zsh
Edward Chen c06e938c41 Introducing SV Comp-style tests for C Frontend (#140)
Integrating SV comp tests for C Frontend

---------

Co-authored-by: Alex Ozdemir <aozdemir@hmc.edu>
2023-01-29 21:30:55 -05:00

43 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env zsh
set -ex
# cargo build --release --features lp,r1cs,smt,zok --example circ
MODE=release # release or debug
BIN=./target/$MODE/examples/circ
function c_smt_test {
cpath=$1
expect_counterexample=$2
$BIN --c-sv-functions --c-assert-no-ub $cpath smt > tmpout || echo failed
if grep "Counterexample" tmpout
then
found_counterexample=yes
else
found_counterexample=no
fi
if [[ "$expect_counterexample" == "$found_counterexample" ]]
then
echo "Test passed: $cpath"
else
echo "Test failed: $cpath"
echo "Expected Counterexample: $expect_counterexample"
echo " Found Counterexample: $found_counterexample"
echo "Output:"
cat tmpout
rm tmpout
exit 1
fi
rm tmpout
}
c_smt_test examples/C/smt/assert_assume_fails.c yes
c_smt_test examples/C/smt/assert_assume_ok.c no
c_smt_test examples/C/smt/assert_fails.c yes
c_smt_test examples/C/smt/defined_return.c no
c_smt_test examples/C/smt/shl_fails_1.c yes
c_smt_test examples/C/smt/shl_fails_2.c yes
c_smt_test examples/C/smt/shl_fails_3.c yes
c_smt_test examples/C/smt/shl_fails_4.c yes
c_smt_test examples/C/smt/shl_ok.c no