solidity/test
Martin Blicha b0419da654 [SMTChecker] Remember verification targets from trusted external calls
Previously, we did not remember trusted external calls for later phase
when we compute possible verification targets for each function.
This led to false negative in cases where verification target can be
violated, but not by calling a public function directly, but only when
it is called as an external function from other function.

The added test cases witnesses this behaviour. The underflow in
`dec` cannot happen in any other way except what the `dec` is called
from `f`.

The same problem did not occur when the functions are called internally,
because for such cases, we have already been remembering these calls in
the callgraph in the CHC engine.
2023-05-26 13:03:44 +02:00
..
benchmarks Add snark verifier benchmark test 2023-01-12 11:59:33 +01:00
cmdlineTests Disallow using both --optimize-yul and --no-optimize-yul at the same time 2023-05-24 15:54:40 +02:00
compilationTests attempt rebase, fix free function, fix check errors 2022-04-04 22:49:12 +08:00
contracts Improve FunctionSelector helpers 2022-09-27 17:58:32 +02:00
evmc Upgrade to evmc 10.1.0 2023-04-23 15:51:06 +02:00
externalTests Workaround gp2 and prb-math external tests 2023-05-16 16:13:51 +02:00
formal added optimization. shl comes out from being distributed over and 2022-11-11 01:16:14 +05:30
libevmasm test: some tests for push0 2023-04-12 00:10:24 +02:00
liblangutil Add std:: qualifier to move() calls 2022-08-30 11:12:15 +02:00
libsolidity [SMTChecker] Remember verification targets from trusted external calls 2023-05-26 13:03:44 +02:00
libsolutil Allow running Eldarica from the command line 2022-11-22 21:16:45 +01:00
libyul Remove EWASM backend. 2023-05-11 10:56:55 -05:00
scripts Fix pylint warning 2022-08-29 11:50:29 +02:00
solc Remove EWASM backend. 2023-05-11 10:56:55 -05:00
tools Remove EWASM backend. 2023-05-11 10:56:55 -05:00
yulPhaser Allow running Eldarica from the command line 2022-11-22 21:16:45 +01:00
.solhint.json
.solhintignore
buglist_test_vectors.md
buglistTests.js
CMakeLists.txt Remove EWASM backend. 2023-05-11 10:56:55 -05:00
cmdlineTests.sh test_via_ir_equivalence(): Simplify by merging the asm loops 2023-05-23 15:30:07 +02:00
Common.cpp Remove EWASM backend. 2023-05-11 10:56:55 -05:00
Common.h Remove EWASM backend. 2023-05-11 10:56:55 -05:00
CommonSyntaxTest.cpp Add std:: qualifier to move() calls 2022-08-30 11:12:15 +02:00
CommonSyntaxTest.h
docsCodeStyle.sh Use consistent syntax for Bash function declarations 2021-11-08 16:34:07 +01:00
EVMHost.cpp Remove EWASM backend. 2023-05-11 10:56:55 -05:00
EVMHost.h Remove EWASM backend. 2023-05-11 10:56:55 -05:00
ExecutionFramework.cpp Remove EWASM backend. 2023-05-11 10:56:55 -05:00
ExecutionFramework.h Remove EWASM backend. 2023-05-11 10:56:55 -05:00
external_tests.py Fix throw of ExternalTestNotFound in external_tests.py 2023-04-28 18:28:07 +02:00
FilesystemUtils.cpp Fix compilation error. 2022-06-15 11:14:50 +02:00
FilesystemUtils.h Ensure that native path separators are always used in symlink targets on Windows 2021-09-27 13:14:10 +02:00
InteractiveTests.h Remove EWASM backend. 2023-05-11 10:56:55 -05:00
localeTest.sh A script and CI job for testing the compiler with different locales 2022-03-14 09:08:01 +01:00
lsp.py Keep test/lsp.py working when not on a tty 2023-03-19 16:09:42 -04:00
Metadata.cpp Add std:: qualifier to move() calls 2022-08-30 11:12:15 +02:00
Metadata.h Add a version of isValidMetadata() that accepts already parsed metadata 2021-09-14 13:44:04 +02:00
pyscriptTests.py
soltest.cpp Remove EWASM backend. 2023-05-11 10:56:55 -05:00
stopAfterParseTests.sh Use consistent syntax for Bash function declarations 2021-11-08 16:34:07 +01:00
TestCase.cpp Migrate yulStackShuffling tests to isoltest 2023-04-25 15:53:01 +02:00
TestCase.h Remove EWASM backend. 2023-05-11 10:56:55 -05:00
TestCaseReader.cpp Add std:: qualifier to move() calls 2022-08-30 11:12:15 +02:00
TestCaseReader.h