Skip to content

Commit ffd4ccf

Browse files
authored
Merge pull request #5958 from tautschnig/test-thorough
Run KNOWNBUG and THOROUGH regression tests in CI
2 parents 84ad287 + 882c670 commit ffd4ccf

File tree

878 files changed

+971
-886
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

878 files changed

+971
-886
lines changed

.github/workflows/pull-request-checks.yaml

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,90 @@ jobs:
170170
- name: Run tests
171171
run: cd build; ctest . -V -L CORE -j2
172172

173+
check-ubuntu-20_04-cmake-gcc-KNOWNBUG:
174+
runs-on: ubuntu-20.04
175+
steps:
176+
- uses: actions/checkout@v2
177+
with:
178+
submodules: recursive
179+
- name: Fetch dependencies
180+
env:
181+
# This is needed in addition to -yq to prevent apt-get from asking for
182+
# user input
183+
DEBIAN_FRONTEND: noninteractive
184+
run: |
185+
sudo apt-get update
186+
sudo apt-get install --no-install-recommends -yq cmake ninja-build gcc g++ maven flex bison libxml2-utils ccache z3
187+
- name: Prepare ccache
188+
uses: actions/cache@v2
189+
with:
190+
path: .ccache
191+
key: ${{ runner.os }}-20.04-Release-${{ github.ref }}-${{ github.sha }}-PR
192+
restore-keys: |
193+
${{ runner.os }}-20.04-Release-${{ github.ref }}
194+
${{ runner.os }}-20.04-Release
195+
- name: ccache environment
196+
run: |
197+
echo "CCACHE_BASEDIR=$PWD" >> $GITHUB_ENV
198+
echo "CCACHE_DIR=$PWD/.ccache" >> $GITHUB_ENV
199+
- name: Configure using CMake
200+
run: cmake -H. -Bbuild -G Ninja
201+
- name: Zero ccache stats and limit in size
202+
run: ccache -z --max-size=500M
203+
- name: Build with Ninja
204+
run: ninja -C build -j2
205+
- name: Print ccache stats
206+
run: ccache -s
207+
- name: Run tests
208+
run: |
209+
cd build
210+
ctest . -V -L KNOWNBUG -j2
211+
export PATH=$PWD/bin:$PATH
212+
cd ../regression/cbmc
213+
sed -i '1s/^CORE\(.*\)broken-smt-backend/KNOWNBUG\1broken-smt-backend/' */*.desc
214+
# the following test fails on some Unix systems
215+
git checkout -- r_w_ok6
216+
# the following tests fail on Windows only
217+
git checkout -- memory_allocation1 printf1 union12 va_list3
218+
../test.pl -c "cbmc --cprover-smt2" -I broken-smt-backend -K
219+
220+
check-ubuntu-20_04-cmake-gcc-THOROUGH:
221+
runs-on: ubuntu-20.04
222+
steps:
223+
- uses: actions/checkout@v2
224+
with:
225+
submodules: recursive
226+
- name: Fetch dependencies
227+
env:
228+
# This is needed in addition to -yq to prevent apt-get from asking for
229+
# user input
230+
DEBIAN_FRONTEND: noninteractive
231+
run: |
232+
sudo apt-get update
233+
sudo apt-get install --no-install-recommends -yq cmake ninja-build gcc g++ maven flex bison libxml2-utils ccache z3
234+
- name: Prepare ccache
235+
uses: actions/cache@v2
236+
with:
237+
path: .ccache
238+
key: ${{ runner.os }}-20.04-Release-${{ github.ref }}-${{ github.sha }}-PR
239+
restore-keys: |
240+
${{ runner.os }}-20.04-Release-${{ github.ref }}
241+
${{ runner.os }}-20.04-Release
242+
- name: ccache environment
243+
run: |
244+
echo "CCACHE_BASEDIR=$PWD" >> $GITHUB_ENV
245+
echo "CCACHE_DIR=$PWD/.ccache" >> $GITHUB_ENV
246+
- name: Configure using CMake
247+
run: cmake -H. -Bbuild -G Ninja
248+
- name: Zero ccache stats and limit in size
249+
run: ccache -z --max-size=500M
250+
- name: Build with Ninja
251+
run: ninja -C build -j2
252+
- name: Print ccache stats
253+
run: ccache -s
254+
- name: Run tests
255+
run: cd build; ctest . -V -L THOROUGH -j2
256+
173257
check-macos-10_15-make-clang:
174258
runs-on: macos-10.15
175259
steps:
Binary file not shown.

jbmc/regression/jbmc-strings/VerifStringLastIndexOf/Test.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ public int referenceLastIndexOf(String s, char ch, int fromIndex) {
1919
}
2020

2121
public int check(String s, char ch, int fromIndex) {
22+
if(s.length() <= fromIndex)
23+
return -1;
2224
int reference = referenceLastIndexOf(s, ch, fromIndex);
2325
int jbmc_result = s.lastIndexOf(ch, fromIndex);
2426
assert(reference == jbmc_result);
Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
THOROUGH
22
Test
3-
--function Test.check --max-nondet-string-length 50 --unwind 50 --java-assume-inputs-non-null
4-
^EXIT=10$
3+
--function Test.check --max-nondet-string-length 50 --unwind 50 --java-assume-inputs-non-null --cp `../../../../scripts/format_classpath.sh . ../../../lib/java-models-library/target/core-models.jar ../../../lib/java-models-library/target/cprover-api.jar`
4+
VERIFICATION SUCCESSFUL
5+
^EXIT=0$
56
^SIGNAL=0$
6-
assertion at file Test.java line 32 .* SUCCESS$
7-
assertion at file Test.java line 34 .* FAILURE$

jbmc/regression/strings-smoke-tests/java_format5/test.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
THOROUGH
1+
CORE
22
test
3-
--max-nondet-string-length 20
3+
--function test.main --max-nondet-string-length 20 --cp `../../../../scripts/format_classpath.sh . ../../../lib/java-models-library/target/core-models.jar ../../../lib/java-models-library/target/cprover-api.jar`
44
^EXIT=10$
55
^SIGNAL=0$
66
^\[.*assertion.1\].* line 7.* SUCCESS$

jbmc/regression/strings-smoke-tests/java_long_to_string/test2.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
THOROUGH
1+
CORE
22
Test2
3-
--max-nondet-string-length 1000 --function Test2.main
3+
--max-nondet-string-length 1000 --function Test2.main --cp `../../../../scripts/format_classpath.sh . ../../../lib/java-models-library/target/core-models.jar ../../../lib/java-models-library/target/cprover-api.jar`
44
^EXIT=10$
55
^SIGNAL=0$
66
assertion.* line 7 .* SUCCESS$

jbmc/regression/strings-smoke-tests/java_long_to_string/test3.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
THOROUGH
1+
CORE
22
Test3
3-
--max-nondet-string-length 1000 --function Test3.main
3+
--max-nondet-string-length 1000 --function Test3.main --cp `../../../../scripts/format_classpath.sh . ../../../lib/java-models-library/target/core-models.jar ../../../lib/java-models-library/target/cprover-api.jar`
44
^EXIT=10$
55
^SIGNAL=0$
66
assertion.* line 7 .* SUCCESS$

jbmc/regression/strings-smoke-tests/java_long_to_string/test4.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
THOROUGH
1+
CORE
22
Test4
3-
--max-nondet-string-length 1000 --function Test4.main
3+
--max-nondet-string-length 1000 --function Test4.main --cp `../../../../scripts/format_classpath.sh . ../../../lib/java-models-library/target/core-models.jar ../../../lib/java-models-library/target/cprover-api.jar`
44
^EXIT=10$
55
^SIGNAL=0$
66
assertion.* line 7 .* SUCCESS$

jbmc/regression/strings-smoke-tests/java_long_to_string_with_radix/test_binary1.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
THOROUGH
1+
CORE
22
Test_binary1
3-
--max-nondet-string-length 1000 --function Test_binary1.main
3+
--max-nondet-string-length 1000 --function Test_binary1.main --cp `../../../../scripts/format_classpath.sh . ../../../lib/java-models-library/target/core-models.jar ../../../lib/java-models-library/target/cprover-api.jar`
44
^EXIT=10$
55
^SIGNAL=0$
66
assertion.* line 7 .* SUCCESS$

jbmc/regression/strings-smoke-tests/java_long_to_string_with_radix/test_binary2.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
THOROUGH
1+
CORE
22
Test_binary2
3-
--max-nondet-string-length 1000 --function Test_binary2.main
3+
--max-nondet-string-length 1000 --function Test_binary2.main --cp `../../../../scripts/format_classpath.sh . ../../../lib/java-models-library/target/core-models.jar ../../../lib/java-models-library/target/cprover-api.jar`
44
^EXIT=10$
55
^SIGNAL=0$
66
assertion.* line 7 .* SUCCESS$

jbmc/regression/strings-smoke-tests/java_long_to_string_with_radix/test_binary3.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
THOROUGH
1+
CORE
22
Test_binary3
3-
--max-nondet-string-length 1000 --function Test_binary3.main
3+
--max-nondet-string-length 1000 --function Test_binary3.main --cp `../../../../scripts/format_classpath.sh . ../../../lib/java-models-library/target/core-models.jar ../../../lib/java-models-library/target/cprover-api.jar`
44
^EXIT=10$
55
^SIGNAL=0$
66
assertion.* line 7 .* SUCCESS$

jbmc/regression/strings-smoke-tests/java_value_of_float_4/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
THOROUGH
22
test
3-
--max-nondet-string-length 1000 --function test.check
3+
--max-nondet-string-length 1000 --function test.check --cp `../../../../scripts/format_classpath.sh . ../../../lib/java-models-library/target/core-models.jar ../../../lib/java-models-library/target/cprover-api.jar`
44
^EXIT=10$
55
^SIGNAL=0$
66
assertion.* test.java line 8 .* SUCCESS$

jbmc/regression/strings-smoke-tests/java_value_of_float_5/test.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
THOROUGH
1+
KNOWNBUG
22
test
3-
--max-nondet-string-length 1000 --function test.check
3+
--max-nondet-string-length 1000 --function test.check --cp `../../../../scripts/format_classpath.sh . ../../../lib/java-models-library/target/core-models.jar ../../../lib/java-models-library/target/cprover-api.jar`
44
^EXIT=10$
55
^SIGNAL=0$
66
assertion.* file test.java line 6 .* SUCCESS$

regression/cbmc-cover/location15/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ main.c
44
^EXIT=0$
55
^SIGNAL=0$
66
^\[main.coverage.1\] file main.c line 10 function main block 1.*: SATISFIED$
7-
^\[main.coverage.2\] file main.c line 11 function main block 2.*: SATISFIED$
7+
^\[main.coverage.2\] file main.c line 10 function main block 2.*: SATISFIED$
88
^\[main.coverage.3\] file main.c line 13 function main block 3.*: FAILED$
99
^\[main.coverage.4\] file main.c line 16 function main block 4.*: SATISFIED$
1010
^\[foo.coverage.1\] file main.c line 5 function foo block 1.*: FAILED$

regression/cbmc/gcc_popcount2/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ main.c
44
^EXIT=10$
55
^SIGNAL=0$
66
^VERIFICATION FAILED$
7-
\[main\.assertion\.1\] assertion sizeof\(ull\) != sizeof\(unsigned int\) && pop4\(ull\) == __builtin_popcount\(ull\): FAILURE$
7+
\[main\.assertion\.\d+\] line 39 assertion sizeof\(ull\) != sizeof\(unsigned int\) && pop4\(ull\) == __builtin_popcount\(ull\): FAILURE$
88
^\*\* 1 of 3 failed
99
--
1010
^warning: ignoring

regression/goto-instrument-wmm-core/ppc_bclwdww000_CAV11_ERROR/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
THOROUGH
1+
KNOWNBUG
22
bclwdww000.c
33
CAV11 ERROR
44
^EXIT=10$

regression/goto-instrument-wmm-core/ppc_bclwdww000_POWER_ALL/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
THOROUGH
1+
KNOWNBUG
22
bclwdww000.c
33
POWER ALL
44
^EXIT=10$

regression/goto-instrument-wmm-core/ppc_bclwdww000_POWER_OPC/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
THOROUGH
1+
KNOWNBUG
22
bclwdww000.c
33
POWER OPC
44
^EXIT=10$

regression/goto-instrument-wmm-core/ppc_bclwdww000_SC_SAFE/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
THOROUGH
1+
KNOWNBUG
22
bclwdww000.c
33
SC SAFE
44
^EXIT=10$

regression/goto-instrument-wmm-core/ppc_bclwdww001_CAV11_ERROR/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
THOROUGH
1+
KNOWNBUG
22
bclwdww001.c
33
CAV11 ERROR
44
^EXIT=10$

regression/goto-instrument-wmm-core/ppc_bclwdww001_POWER_OPC/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
THOROUGH
1+
KNOWNBUG
22
bclwdww001.c
33
POWER OPC
44
^EXIT=10$

regression/goto-instrument-wmm-core/ppc_bclwdww001_SC_SAFE/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
THOROUGH
1+
KNOWNBUG
22
bclwdww001.c
33
SC SAFE
44
^EXIT=10$

regression/goto-instrument-wmm-core/ppc_bclwdww002_CAV11_ERROR/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
THOROUGH
1+
KNOWNBUG
22
bclwdww002.c
33
CAV11 ERROR
44
^EXIT=10$

regression/goto-instrument-wmm-core/ppc_bclwdww002_SC_SAFE/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
THOROUGH
1+
KNOWNBUG
22
bclwdww002.c
33
SC SAFE
44
^EXIT=10$

regression/goto-instrument-wmm-core/ppc_bclwdww003_CAV11_ERROR/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
THOROUGH
1+
KNOWNBUG
22
bclwdww003.c
33
CAV11 ERROR
44
^EXIT=10$

regression/goto-instrument-wmm-core/ppc_bclwdww003_POWER_ALL/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
THOROUGH
1+
KNOWNBUG
22
bclwdww003.c
33
POWER ALL
44
^EXIT=10$

regression/goto-instrument-wmm-core/ppc_bclwdww003_POWER_OPC/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
THOROUGH
1+
KNOWNBUG
22
bclwdww003.c
33
POWER OPC
44
^EXIT=10$

regression/goto-instrument-wmm-core/ppc_bclwdww003_SC_SAFE/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
THOROUGH
1+
KNOWNBUG
22
bclwdww003.c
33
SC SAFE
44
^EXIT=10$

regression/goto-instrument-wmm-core/ppc_bclwdww004_CAV11_ERROR/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
THOROUGH
1+
KNOWNBUG
22
bclwdww004.c
33
CAV11 ERROR
44
^EXIT=10$

regression/goto-instrument-wmm-core/ppc_bclwdww004_SC_SAFE/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
THOROUGH
1+
KNOWNBUG
22
bclwdww004.c
33
SC SAFE
44
^EXIT=10$

regression/goto-instrument-wmm-core/ppc_bclwdww005_CAV11_ERROR/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
THOROUGH
1+
KNOWNBUG
22
bclwdww005.c
33
CAV11 ERROR
44
^EXIT=10$

regression/goto-instrument-wmm-core/ppc_bclwdww005_POWER_ALL/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
THOROUGH
1+
KNOWNBUG
22
bclwdww005.c
33
POWER ALL
44
^EXIT=10$

regression/goto-instrument-wmm-core/ppc_bclwdww005_POWER_OPC/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
THOROUGH
1+
KNOWNBUG
22
bclwdww005.c
33
POWER OPC
44
^EXIT=10$

regression/goto-instrument-wmm-core/ppc_bclwdww005_SC_SAFE/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
THOROUGH
1+
KNOWNBUG
22
bclwdww005.c
33
SC SAFE
44
^EXIT=10$

regression/goto-instrument-wmm-core/ppc_bclwdww006_CAV11_ERROR/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
THOROUGH
1+
KNOWNBUG
22
bclwdww006.c
33
CAV11 ERROR
44
^EXIT=10$

regression/goto-instrument-wmm-core/ppc_bclwdww006_SC_SAFE/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
THOROUGH
1+
KNOWNBUG
22
bclwdww006.c
33
SC SAFE
44
^EXIT=10$

regression/goto-instrument-wmm-core/ppc_bclwdww007_CAV11_ERROR/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
THOROUGH
1+
KNOWNBUG
22
bclwdww007.c
33
CAV11 ERROR
44
^EXIT=10$

regression/goto-instrument-wmm-core/ppc_bclwdww007_SC_SAFE/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
THOROUGH
1+
KNOWNBUG
22
bclwdww007.c
33
SC SAFE
44
^EXIT=10$

regression/goto-instrument-wmm-core/ppc_bclwdww009_CAV11_SAFE/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
THOROUGH
1+
KNOWNBUG
22
bclwdww009.c
33
CAV11 SAFE
44
^EXIT=10$

regression/goto-instrument-wmm-core/ppc_bclwdww009_POWER_ALL/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
THOROUGH
1+
KNOWNBUG
22
bclwdww009.c
33
POWER ALL
44
^EXIT=10$

regression/goto-instrument-wmm-core/ppc_bclwdww009_POWER_OPC/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
THOROUGH
1+
KNOWNBUG
22
bclwdww009.c
33
POWER OPC
44
^EXIT=10$

regression/goto-instrument-wmm-core/ppc_bclwdww009_SC_SAFE/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
THOROUGH
1+
KNOWNBUG
22
bclwdww009.c
33
SC SAFE
44
^EXIT=10$

regression/goto-instrument-wmm-core/ppc_bclwsww000_CAV11_ERROR/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
THOROUGH
1+
KNOWNBUG
22
bclwsww000.c
33
CAV11 ERROR
44
^EXIT=10$

regression/goto-instrument-wmm-core/ppc_bclwsww000_SC_SAFE/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
THOROUGH
1+
KNOWNBUG
22
bclwsww000.c
33
SC SAFE
44
^EXIT=10$

regression/goto-instrument-wmm-core/ppc_iriw+addrs_CAV11_SAFE/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
THOROUGH
1+
KNOWNBUG
22
iriw+addrs.c
33
CAV11 SAFE
44
^EXIT=10$

regression/goto-instrument-wmm-core/ppc_iriw+addrs_POWER_OPC/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
THOROUGH
1+
KNOWNBUG
22
iriw+addrs.c
33
POWER OPC
44
^EXIT=10$

0 commit comments

Comments
 (0)