Skip to content

Commit 11db7b0

Browse files
committed
Run CBMC regression tests with --paths lifo in CI
We were not regularly exercising this code outside unit tests, leading to regressions on several tests. On my system, running this additional test takes 42 seconds, which is still better than users running into issues. (ctest -V -L CORE -j8 takes an extra 10 seconds.) Fixes: diffblue#3956
1 parent 4315c29 commit 11db7b0

File tree

8 files changed

+19
-3
lines changed

8 files changed

+19
-3
lines changed

.travis.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,7 @@ install:
303303
script:
304304
- if [ -e bin/gcc ] ; then export PATH=$PWD/bin:$PATH ; fi ;
305305
- env UBSAN_OPTIONS=print_stacktrace=1 make -C regression test-parallel "CXX=${COMPILER} ${EXTRA_CXXFLAGS}" -j2 JOBS=2
306+
- UBSAN_OPTIONS=print_stacktrace=1 make -C regression/cbmc test-paths-lifo
306307
- scripts/delete_failing_smt2_solver_tests ; env PATH=$PATH:`pwd`/src/solvers UBSAN_OPTIONS=print_stacktrace=1 make -C regression/cbmc test-cprover-smt2
307308
- make -C unit "CXX=${COMPILER} ${EXTRA_CXXFLAGS}" -j2
308309
- make -C unit test

buildspec-windows.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,10 @@ phases:
4040
$env:Path = "C:\tools\cygwin\bin;$env:Path"
4141
cmd /c 'call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x64 && bash -c "make -C regression test BUILD_ENV=MSVC" '
4242
43+
- |
44+
$env:Path = "C:\tools\cygwin\bin;$env:Path"
45+
cmd /c 'call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x64 && bash -c "make -C regression/cbmc test-paths-lifo BUILD_ENV=MSVC" '
46+
4347
- |
4448
$env:Path = "C:\tools\cygwin\bin;$env:Path"
4549
cmd /c 'call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x64 && bash -c "make -C unit test BUILD_ENV=MSVC" '

buildspec.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ phases:
2525
commands:
2626
- make -C unit test
2727
- make -C regression test
28+
- make -C regression/cbmc test-paths-lifo
2829
- scripts/delete_failing_smt2_solver_tests
2930
- env PATH=$PATH:`pwd`/src/solvers make -C regression/cbmc test-cprover-smt2
3031
- make -C jbmc/unit test

regression/cbmc/CMakeLists.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
11
add_test_pl_tests(
22
"$<TARGET_FILE:cbmc> --validate-goto-model" -X smt-backend
33
)
4+
5+
add_test_pl_profile(
6+
"cbmc-paths-lifo"
7+
"$<TARGET_FILE:cbmc> --paths lifo"
8+
"-C;-X;thorough-paths;-X;smt-backend;-s;paths-lifo"
9+
"CORE"
10+
)

regression/cbmc/Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ test:
66
test-cprover-smt2:
77
@../test.pl -p -c "../../../src/cbmc/cbmc --cprover-smt2"
88

9+
test-paths-lifo:
10+
@../test.pl -p -c "../../../src/cbmc/cbmc --paths lifo" -X thorough-paths -X smt-backend
11+
912
tests.log: ../test.pl test
1013

1114
show:

regression/cbmc/Multi_Dimensional_Array6/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
CORE
1+
CORE thorough-paths
22
main.c
33
--unwind 3 --no-unwinding-assertions
44
^EXIT=10$

regression/cbmc/address_space_size_limit1/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
CORE
1+
CORE thorough-paths
22
test.c
33
--no-simplify --unwind 300 --object-bits 8
44
too many addressed objects

regression/cbmc/array-tests/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
CORE
1+
CORE thorough-paths
22
main.c
33

44
^EXIT=0$

0 commit comments

Comments
 (0)