Skip to content

Commit afc385f

Browse files
committed
Added new tags for SMT regression tests
As per the proposal described in #5982, this PR introduces new tags that can be used to label tests that are known to be broken with specific solvers. It also updates the Makefile targets to use these solver-specific tags.
1 parent 2f7dcb5 commit afc385f

File tree

3 files changed

+53
-12
lines changed

3 files changed

+53
-12
lines changed

regression/cbmc/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ add_test_pl_profile(
2020
add_test_pl_profile(
2121
"cbmc-cprover-smt2"
2222
"$<TARGET_FILE:cbmc> --cprover-smt2"
23-
"-C;-X;broken-smt-backend;-X;thorough-smt-backend;${gcc_only_string}-s;cprover-smt2"
23+
"-C;-X;broken-smt-backend;-X;thorough-smt-backend;-X;broken-cprover-smt-backend;-X;thorough-cprover-smt-backend;${gcc_only_string}-s;cprover-smt2"
2424
"CORE"
2525
)
2626

regression/cbmc/Makefile

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,25 @@ test:
1313
@../test.pl -e -p -c "../../../src/cbmc/cbmc --validate-goto-model --validate-ssa-equation" -X smt-backend $(GCC_ONLY)
1414

1515
test-cprover-smt2:
16-
@../test.pl -e -p -c "../../../src/cbmc/cbmc --cprover-smt2" -X broken-smt-backend -X thorough-smt-backend $(GCC_ONLY)
16+
@../test.pl -e -p -c "../../../src/cbmc/cbmc --cprover-smt2" \
17+
-X broken-smt-backend -X thorough-smt-backend \
18+
-X broken-cprover-smt-backend -X thorough-cprover-smt-backend \
19+
-s cprover-smt2 $(GCC_ONLY)
20+
21+
test-z3:
22+
@../test.pl -e -p -c "../../../src/cbmc/cbmc --z3" \
23+
-X broken-smt-backend -X thorough-smt-backend \
24+
-X broken-z3-smt-backend -X thorough-z3-smt-backend \
25+
-s z3 $(GCC_ONLY)
1726

1827
test-paths-lifo:
19-
@../test.pl -e -p -c "../../../src/cbmc/cbmc --paths lifo" -X thorough-paths -X smt-backend -X paths-lifo-expected-failure $(GCC_ONLY)
28+
@../test.pl -e -p -c "../../../src/cbmc/cbmc --paths lifo" \
29+
-X thorough-paths -X smt-backend -X paths-lifo-expected-failure \
30+
-s paths-lifo $(GCC_ONLY)
2031

2132
tests.log: ../test.pl test
2233

2334
clean:
2435
find . -name '*.out' -execdir $(RM) '{}' \;
2536
find . -name '*.smt2' -execdir $(RM) '{}' \;
26-
$(RM) tests.log tests-paths-lifo.log tests-cprover-smt2.log
37+
$(RM) tests*.log

regression/readme.md

Lines changed: 38 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,42 @@
1-
# CProver regression tests
1+
# CProver Regression Tests
22

33
This folder contains the CProver regression test-suite.
44

5-
## Notes
5+
## Tags
66

7-
* Tests marked as `winbug` are currently known to be failing
8-
on Windows, but passing on other platforms. The reason for
9-
this is not known, and it's currently being investigated.
10-
This was discovered during work done to port CI from travis
11-
and codebuild to github actions. Worth noting that those tests
12-
were not being run on Windows before.
7+
### Backend
8+
9+
- `smt-backend`:
10+
These tests _require_ the SMT backend and do not work with the SAT backend.
11+
For example, quantified predicates are not fully supported in SAT.
12+
- `broken-smt-backend`:
13+
These tests are blocked on missing / buggy goto -> SMT translation rules,
14+
and therefore do not work with any SMT solver.
15+
- `thorough-smt-backend`:
16+
These tests are too slow to be run in CI with the SMT backend.
17+
18+
### Solver
19+
20+
- `broken-cprover-smt-backend`:
21+
These tests are known to not work with CPROVER SMT2.
22+
- `thorough-cprover-smt-backend`:
23+
These tests are too slow to be run in CI with CPROVER SMT2.
24+
- `broken-z3-smt-backend`:
25+
These tests are known to not work with Z3 (the version running on our CI).
26+
- `thorough-z3-smt-backend`:
27+
These tests are too slow to be run in CI with Z3.
28+
29+
### Platform
30+
31+
- `winbug`:
32+
These tests are currently known to be failing on Windows,
33+
but passing on other platforms.
34+
The reason for this is not known, and it's currently being investigated.
35+
This was discovered during work done to port CI from [Travis]
36+
and [AWS CodeBuild] to [GitHub Actions].
37+
Worth noting that those tests were not being run on Windows before.
38+
39+
40+
[AWS CodeBuild]: https://aws.amazon.com/codebuild/
41+
[GitHub Actions]: https://github.com/features/actions
42+
[Travis]: https://travis-ci.com/

0 commit comments

Comments
 (0)