Skip to content

Commit c6c187b

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 82ab567 commit c6c187b

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
@@ -358,6 +358,7 @@ install:
358358
script:
359359
- if [ -e bin/gcc ] ; then export PATH=$PWD/bin:$PATH ; fi ;
360360
- env UBSAN_OPTIONS=print_stacktrace=1 make -C regression test-parallel "CXX=${COMPILER} ${EXTRA_CXXFLAGS}" -j2 JOBS=2
361+
- UBSAN_OPTIONS=print_stacktrace=1 make -C regression/cbmc test-paths-lifo
361362
- scripts/delete_failing_smt2_solver_tests ; env PATH=$PATH:`pwd`/src/solvers UBSAN_OPTIONS=print_stacktrace=1 make -C regression/cbmc test-cprover-smt2
362363
- make -C unit "CXX=${COMPILER} ${EXTRA_CXXFLAGS}" -j2
363364
- 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>" -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;-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
11+
912
tests.log: ../test.pl
1013
@../test.pl -p -c ../../../src/cbmc/cbmc -X smt-backend
1114

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)