Skip to content

Commit 017a2e9

Browse files
committed
Only report TRUE when unwinding was sufficient
1 parent 3f42fcf commit 017a2e9

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

cbmc.inc

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@ echo "Unwind: $c" > $LOG.latest ; \
1717
./cbmc-binary --graphml-witness $LOG.witness --unwind $c --stop-on-fail $BIT_WIDTH $PROPERTY --function $ENTRY $BM >> $LOG.latest 2>&1 ; \
1818
ec=$? ; \
1919
if [ $ec -eq 0 ] ; then \
20-
if ! tail -n 10 $LOG.latest | grep -q "^VERIFICATION SUCCESSFUL$" ; then ec=1 ; fi ; \
20+
if ! tail -n 10 $LOG.latest | grep -q "^VERIFICATION SUCCESSFUL$" ; then ec=1 ; else \
21+
./cbmc-binary --unwinding-assertions --unwind $c --stop-on-fail $BIT_WIDTH $PROPERTY --function $ENTRY $BM > /dev/null 2>&1 || ec=42 ; \
22+
fi ; \
2123
fi ; \
2224
if [ $ec -eq 10 ] ; then \
2325
if ! tail -n 10 $LOG.latest | grep -q "^VERIFICATION FAILED$" ; then ec=1 ; fi ; \
@@ -26,6 +28,7 @@ fi ; \
2628
case $ec in \
2729
0) EC=0 ; mv $LOG.latest $LOG.ok ; echo "EC=$EC" >> $LOG.ok ;; \
2830
10) EC=10 ; mv $LOG.latest $LOG.ok ; echo "EC=$EC" >> $LOG.ok ; break ;; \
31+
42) EC=42 ; mv $LOG.latest $LOG.ok ; echo "EC=$EC" >> $LOG.ok ;; \
2932
*) if [ $EC -ne 0 ] ; then EC=$ec ; mv $LOG.latest $LOG.ok ; fi ; echo "EC=$EC" >> $LOG.ok ; break ;; \
3033
esac ; \
3134
\

0 commit comments

Comments
 (0)