Skip to content

Commit 81d3e53

Browse files
authored
Merge pull request #12521 from ethereum/smt_z3_4_14
update smtchecker tests for new z3
2 parents a711969 + 098a3cb commit 81d3e53

31 files changed

+61
-46
lines changed

.circleci/config.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,20 +9,20 @@ version: 2.1
99
parameters:
1010
ubuntu-2004-docker-image:
1111
type: string
12-
# solbuildpackpusher/solidity-buildpack-deps:ubuntu2004-9
13-
default: "solbuildpackpusher/solidity-buildpack-deps@sha256:3d8a912e8e78e98cd217955d06d98608ad60adc67728d4c3a569991235fa1abb"
12+
# solbuildpackpusher/solidity-buildpack-deps:ubuntu2004-10
13+
default: "solbuildpackpusher/solidity-buildpack-deps@sha256:e61939751ff9777307857361f712b581bfc8a8aaae75fab7b50febc764710587"
1414
ubuntu-2004-clang-docker-image:
1515
type: string
16-
# solbuildpackpusher/solidity-buildpack-deps:ubuntu2004.clang-9
17-
default: "solbuildpackpusher/solidity-buildpack-deps@sha256:a1ba002cae17279d1396a898b04e4e9c45602ad881295db3e2f484a7e24f6f43"
16+
# solbuildpackpusher/solidity-buildpack-deps:ubuntu2004.clang-10
17+
default: "solbuildpackpusher/solidity-buildpack-deps@sha256:0de8c68f084120b2a165406e3a0c2aab58b32f5b7182c2322245245f1d243b8d"
1818
ubuntu-1604-clang-ossfuzz-docker-image:
1919
type: string
20-
# solbuildpackpusher/solidity-buildpack-deps:ubuntu1604.clang.ossfuzz-14
21-
default: "solbuildpackpusher/solidity-buildpack-deps@sha256:f353823cce2f6cd2f9f1459d86cd76fdfc551a0261d87626615ea6c1d8f90587"
20+
# solbuildpackpusher/solidity-buildpack-deps:ubuntu1604.clang.ossfuzz-15
21+
default: "solbuildpackpusher/solidity-buildpack-deps@sha256:87f1a57586eec194a6217ab624efc69d3d9af2f7ac8ca36497ad57488c2f08ae"
2222
emscripten-docker-image:
2323
type: string
24-
# solbuildpackpusher/solidity-buildpack-deps:emscripten-8
25-
default: "solbuildpackpusher/solidity-buildpack-deps@sha256:842d6074e0e7e5355c89122c1cafc1fdb59696596750e7d56e5f35c0d883ad59"
24+
# solbuildpackpusher/solidity-buildpack-deps:emscripten-9
25+
default: "solbuildpackpusher/solidity-buildpack-deps@sha256:d51534dfdd05ece86f69ed7beafd68c15b88606da00a4b7fe2873ccfbd0dce24"
2626
evm-version:
2727
type: string
2828
default: london

.circleci/osx_install_dependencies.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,11 +61,11 @@ then
6161
./scripts/install_obsolete_jsoncpp_1_7_4.sh
6262

6363
# z3
64-
z3_version="4.8.13"
64+
z3_version="4.8.14"
6565
z3_dir="z3-${z3_version}-x64-osx-10.16"
6666
z3_package="${z3_dir}.zip"
6767
wget "https://github.com/Z3Prover/z3/releases/download/z3-${z3_version}/${z3_package}"
68-
validate_checksum "$z3_package" 191b26be2b617b2dffffce139d77abcd7e584859efbc10a58d01a1d7830697a4
68+
validate_checksum "$z3_package" 1341671670e0c4e72da80815128a68975ee90816d50ceaf6bd820f06babe2cfd
6969
unzip "$z3_package"
7070
rm "$z3_package"
7171
cp "${z3_dir}/bin/libz3.a" /usr/local/lib

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ configure_file("${CMAKE_SOURCE_DIR}/cmake/templates/license.h.in" include/licens
6565

6666
include(EthOptions)
6767
configure_project(TESTS)
68-
set(LATEST_Z3_VERSION "4.8.13")
68+
set(LATEST_Z3_VERSION "4.8.14")
6969
set(MINIMUM_Z3_VERSION "4.8.0")
7070
find_package(Z3)
7171
if (${Z3_FOUND})

scripts/build_emscripten.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ else
3434
BUILD_DIR="$1"
3535
fi
3636

37-
# solbuildpackpusher/solidity-buildpack-deps:emscripten-8
37+
# solbuildpackpusher/solidity-buildpack-deps:emscripten-9
3838
docker run -v "$(pwd):/root/project" -w /root/project \
39-
solbuildpackpusher/solidity-buildpack-deps@sha256:842d6074e0e7e5355c89122c1cafc1fdb59696596750e7d56e5f35c0d883ad59 \
39+
solbuildpackpusher/solidity-buildpack-deps@sha256:d51534dfdd05ece86f69ed7beafd68c15b88606da00a4b7fe2873ccfbd0dce24\
4040
./scripts/ci/build_emscripten.sh "$BUILD_DIR"

test/libsolidity/smtCheckerTests/blockchain_state/balance_receive_2.sol

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ contract C {
1414
}
1515
// ====
1616
// SMTEngine: all
17+
// SMTIgnoreCex: yes
1718
// ----
18-
// Warning 4984: (266-272): CHC: Overflow (resulting value larger than 2**256 - 1) happens here.\nCounterexample:\nx = 115792089237316195423570985008687907853269984665640564039457584007913129639926, once = true\n\nTransaction trace:\nC.constructor(){ msg.value: 28100 }\nState: x = 115792089237316195423570985008687907853269984665640564039457584007913129639926, once = false\nC.f(){ msg.value: 8 }
19-
// Warning 6328: (235-273): CHC: Assertion violation happens here.\nCounterexample:\nx = 0, once = true\n\nTransaction trace:\nC.constructor(){ msg.value: 0 }\nState: x = 0, once = false\nC.f(){ msg.value: 8 }
19+
// Warning 4984: (266-272): CHC: Overflow (resulting value larger than 2**256 - 1) happens here.
20+
// Warning 6328: (235-273): CHC: Assertion violation happens here.
2021
// Info 1180: Contract invariant(s) for :C:\nonce\n

test/libsolidity/smtCheckerTests/blockchain_state/balance_receive_ext_calls_2.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ contract C {
99
// ====
1010
// SMTEngine: all
1111
// SMTIgnoreCex: yes
12+
// SMTIgnoreInv: yes
1213
// ----
1314
// Warning 9302: (82-93): Return value of low-level calls not used.
1415
// Warning 6328: (97-131): CHC: Assertion violation happens here.
15-
// Info 1180: Reentrancy property(ies) for :C:\n(!(<errorCode> >= 2) && (((:var 1).balances[address(this)] + ((- 1) * (:var 0).balances[address(this)])) <= 0))\n<errorCode> = 0 -> no errors\n<errorCode> = 1 -> Assertion failed at assert(address(this).balance == x)\n<errorCode> = 2 -> Assertion failed at assert(address(this).balance >= x)\n

test/libsolidity/smtCheckerTests/control_flow/branches_with_return/branches_in_modifiers_2.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,5 +45,5 @@ contract C {
4545
// SMTIgnoreOS: macos
4646
// ----
4747
// Warning 6328: (255-269): CHC: Assertion violation happens here.\nCounterexample:\nx = 0\n\nTransaction trace:\nC.constructor()\nState: x = 0\nC.test()\n C.reset_if_overflow() -- internal call
48-
// Warning 6328: (502-519): CHC: Assertion violation happens here.\nCounterexample:\nx = 2\noldx = 1\n\nTransaction trace:\nC.constructor()\nState: x = 0\nC.set(1)\nState: x = 1\nC.test()\n C.reset_if_overflow() -- internal call
48+
// Warning 6328: (502-519): CHC: Assertion violation happens here.
4949
// Warning 6328: (615-629): CHC: Assertion violation happens here.\nCounterexample:\nx = 1\n\nTransaction trace:\nC.constructor()\nState: x = 0\nC.set(10)\nState: x = 10\nC.test()\n C.reset_if_overflow() -- internal call

test/libsolidity/smtCheckerTests/external_calls/call_mutex_unsafe.sol

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ contract C {
2121
}
2222
// ====
2323
// SMTEngine: all
24+
// SMTIgnoreCex: yes
2425
// ----
2526
// Warning 9302: (212-228): Return value of low-level calls not used.
26-
// Warning 6328: (232-246): CHC: Assertion violation happens here.\nCounterexample:\nx = 1, lock = false\n_a = 0x0\ny = 0\n\nTransaction trace:\nC.constructor()\nState: x = 0, lock = false\nC.f(0x0)\n _a.call("aaaaa") -- untrusted external call, synthesized as:\n C.set(1) -- reentrant call
27+
// Warning 6328: (232-246): CHC: Assertion violation happens here.

test/libsolidity/smtCheckerTests/external_calls/call_with_value_1.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,5 @@ contract C {
1212
// ----
1313
// Warning 9302: (96-117): Return value of low-level calls not used.
1414
// Warning 6328: (121-156): CHC: Assertion violation might happen here.
15-
// Warning 6328: (175-211): CHC: Assertion violation happens here.\nCounterexample:\n\ni = 0x0\n\nTransaction trace:\nC.constructor()\nC.g(0x0)\n i.call{value: 10}("") -- untrusted external call
15+
// Warning 6328: (175-211): CHC: Assertion violation happens here.
1616
// Warning 4661: (121-156): BMC: Assertion violation happens here.

test/libsolidity/smtCheckerTests/external_calls/external_call_from_constructor_3.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,4 @@ contract C {
2020
// SMTEngine: all
2121
// ----
2222
// Warning 6328: (69-85): CHC: Assertion violation happens here.\nCounterexample:\n\n_x = 100\n = 0\n\nTransaction trace:\nState.constructor()\nState.f(100)
23-
// Warning 6328: (203-217): CHC: Assertion violation happens here.\nCounterexample:\ns = 0, z = 0\n\nTransaction trace:\nC.constructor()\nState: s = 0, z = 0\nC.f()
23+
// Warning 6328: (203-217): CHC: Assertion violation happens here.\nCounterexample:\ns = 0, z = 3\n\nTransaction trace:\nC.constructor()\nState: s = 0, z = 3\nC.f()

0 commit comments

Comments
 (0)