@@ -33,7 +33,7 @@ function exits_with_code() {
33
33
local -a expected_exit_codes=$3
34
34
35
35
printf " [$file ]...\n"
36
- timeout 15 ${action} " $file "
36
+ timeout 35 ${action} " $file " & > /dev/null
37
37
local result=$?
38
38
39
39
for code in " ${expected_exit_codes[@]} " ; do
@@ -51,32 +51,48 @@ DIRNAME=$(dirname "$0")
51
51
52
52
SUCC=$(
53
53
find $DIRNAME /cn_vip_testsuite -name ' *.c' \
54
+ \! -name ' *union*.c' \
55
+ \! -name ' *.unprovable.c' \
54
56
\! -name ' *.annot.c' \
55
57
\! -name ' *.error.c' \
56
58
)
57
- FAIL=$( find $DIRNAME /cn_vip_testsuite -name ' *.error.c' )
59
+ UNION=$( find $DIRNAME /cn_vip_testsuite -name ' *union*.c' )
60
+ UNPROV=$( find $DIRNAME /cn_vip_testsuite -name ' *.unprovable.c' \
61
+ \! -name ' pointer_copy_user_ctrlflow_bytewise.unprovable.c' )
62
+ # this test hits a CN performance bug
63
+ FAIL=$( find $DIRNAME /cn_vip_testsuite -name ' *.error.c' \! -name ' *union*.c' )
58
64
ANNOT=$( find $DIRNAME /cn_vip_testsuite -name ' *.annot.c' )
59
65
60
66
FAILED=' '
61
67
62
- # for TEST in ${SUCC} ${ANNOT}; do
63
- # if ! exits_with_code "cn verify -DVIP -DANNOT -DNO_ROUND_TRIP --solver-type=cvc5" "${TEST}" 0; then
64
- # FAILED+=" ${TEST}"
65
- # fi
66
- # done
67
-
68
- # TODO add below with both -DNON_DET_TRUE and -DNON_DET_FALSE
69
- # provenance_equality_auto_yx.c
70
- # provenance_equality_global_fn_yx.c
71
- # provenance_equality_global_yx.c
68
+ for TEST in ${SUCC} ${ANNOT} ; do
69
+ if ! exits_with_code " cn verify -DVIP -DANNOT -DNO_ROUND_TRIP --solver-type=cvc5" " ${TEST} " 0; then
70
+ FAILED+=" ${TEST} "
71
+ fi
72
+ done
72
73
73
- for TEST in $FAIL $ANNOT
74
- do
75
- if ! exits_with_code " cn verify -DNO_ROUND_TRIP --solver-type=cvc5" " ${TEST} " 1; then
74
+ for TEST in $FAIL $ANNOT $UNPROV ; do
75
+ if ! exits_with_code " cn verify -DVIP -DNO_ROUND_TRIP --solver-type=cvc5" " ${TEST} " 1; then
76
76
FAILED+=" ${TEST} "
77
77
fi
78
78
done
79
79
80
+
81
+ NON_DET=(
82
+ $DIRNAME /provenance_equality_auto_yx.c \
83
+ $DIRNAME /provenance_equality_global_fn_yx.c \
84
+ $DIRNAME /provenance_equality_global_yx.c \
85
+ )
86
+
87
+ for TEST in $NON_DET ; do
88
+ if ! exits_with_code " cn verify -DVIP -DNO_ROUND_TRIP -DNON_DET_TRUE --solver-type=cvc5" " ${TEST} " 1; then
89
+ FAILED+=" ${TEST} (nd. true)"
90
+ fi
91
+ if ! exits_with_code " cn verify -DVIP -DNO_ROUND_TRIP -DNON_DET_FALSE --solver-type=cvc5" " ${TEST} " 1; then
92
+ FAILED+=" ${TEST} (nd. false)"
93
+ fi
94
+ done
95
+
80
96
if [ -z " ${FAILED} " ]; then
81
97
exit 0
82
98
else
85
101
fi
86
102
87
103
88
-
0 commit comments