Commit Graph

5743 Commits

Author SHA1 Message Date
Bhargava Shastry
91b7d60301 Optimiser fuzzer: Disable reasoning based simplifier runs. 2021-02-18 10:48:49 +01:00
hrkrshnn
f336a68009 Added syntax tests for constructors with function parameter 2021-02-17 17:12:02 +01:00
chriseth
612d8184d1 Update tests. 2021-02-16 15:50:48 +01:00
Alex Beregszaszi
346344dc7b Add missing test case for try/Catch 2021-02-16 12:33:55 +00:00
hrkrshnn
e24a23edcd Semantic test where constructor has a function as parameter 2021-02-15 14:16:28 +01:00
Djordje Mijovic
6e62cbf156 Run metadata tests for every metadata format. 2021-02-12 10:38:03 +01:00
Djordje Mijovic
b598948211 Run gas tests on NoMetadata format only. 2021-02-12 10:38:03 +01:00
hrkrshnn
a76ff8af1d Added tests for modifiers whose input is a function return value 2021-02-11 16:48:00 +01:00
chriseth
1716dcfb57
Merge pull request #10950 from ethereum/removeChecks
[SolYul] Remove (hopefully) unnecessary checks.
2021-02-11 14:10:05 +01:00
chriseth
45dc705683 Remove unnecessary checks. 2021-02-11 13:08:03 +01:00
chriseth
f4790971ae Add test. 2021-02-11 10:50:54 +01:00
Christian Parpart
9ca389d6cd MemberList.Member's last argument (declaration) made mandatory to avoid accidental missing out during construction. 2021-02-11 10:46:14 +01:00
chriseth
cbb197f7fa
Merge pull request #10833 from ethereum/ast-precise-name-locations
Extend the Solidity AST for precise locations of names
2021-02-11 10:44:58 +01:00
chriseth
70aa111dbf Update AST Json expectations. 2021-02-11 10:11:24 +01:00
Harikrishnan Mulackal
215233d5c8
Merge pull request #10945 from ethereum/constructor-modifier-bugfix
Fix IR bug about calling the wrong modifier during construction
2021-02-10 21:42:45 +01:00
hrkrshnn
2f30fdaa21 Fix IR bug about calling the wrong modifier during construction 2021-02-10 20:53:11 +01:00
Christian Parpart
32ba5f5ae7 libsolidity: Extend the AST for named AST nodes in order to get precise locations for names.
The actual SourceLocation on an ASTNode is representing the whole
ASTNode whereas in an LSP (for example) you are also interested in the
SourceLocation of a name of a construct (e.g. variable decarlation, function definition, ...).

This also properly encodes non-existend sources as `-1` in the JSON output (eliminating the use of `numeric_limits<size_t>::max()`).
2021-02-10 18:13:09 +01:00
Bhargava Shastry
febccdd96a Fuzzer: Refactor utility methods shared by proto fuzzers.
Co-authored-by: Leonardo <leo@ethereum.org>
Co-authored-by: Daniel Kirchner <daniel@ekpyron.org>
2021-02-10 11:43:57 +01:00
Daniel Kirchner
cb74a45fd6 Add inlining for old optimizer. 2021-02-09 19:08:58 +01:00
chriseth
e777cad78a
Merge pull request #10924 from ethereum/exportDocs
Export statement documentation.
2021-02-09 18:23:45 +01:00
chriseth
fcdb5e0b40 Export statement documentation. 2021-02-09 17:33:01 +01:00
chriseth
2e699e8865
Merge pull request #10923 from ethereum/improve-error-reporting
Improve error reporting
2021-02-09 17:18:44 +01:00
hrkrshnn
8167029dc1 Updating tests after improving Yul error reporting 2021-02-09 16:55:33 +01:00
Bhargava Shastry
75e7e1bee7 Consistent use of returns documentation tag. 2021-02-09 12:51:36 +01:00
Bhargava Shastry
896de75bcb Solidity fuzzer: Add test state. 2021-02-09 12:49:35 +01:00
chriseth
c82c2189d4
Merge pull request #10877 from ethereum/bash-arrays-for-arg-variables
Use Bash arrays for argument lists in shell scripts
2021-02-08 13:31:31 +01:00
Bhargava Shastry
8843890785
Merge pull request #10902 from ethereum/unified-solc-fuzzer
Unify solc fuzzers.
2021-02-08 13:25:52 +01:00
Djordje Mijovic
706f5d9874 [Sol2Yul] Fixing setLValue for calldata types. 2021-02-08 12:42:10 +01:00
Bhargava Shastry
7e343987fc Update solidity dictionary with TestReader syntax. 2021-02-08 11:16:11 +01:00
Bhargava Shastry
2f001bb91c Unify solc fuzzers. 2021-02-08 11:14:38 +01:00
Bhargava Shastry
c7ee2c1f39 Clang tidy fixes in protoToYul.cpp. 2021-02-07 23:27:11 +01:00
chriseth
d4ce896582
Merge pull request #10886 from ethereum/issue-10874
OverrideSpecifier: Check for null before dereferencing
2021-02-04 14:12:07 +01:00
Mathias Baumann
3a8a74cbc7 OverrideSpecifier: Check for null before dereferencing 2021-02-04 13:17:28 +01:00
Daniel Kirchner
5faefdea65
Merge pull request #10893 from ethereum/string2BytesSol2Yul
[Sol->Yul] Fixing string calldata to bytes calldata conversion.
2021-02-04 10:33:40 +01:00
Djordje Mijovic
530435439d [Sol->Yul] Fixing string calldata to bytes calldata conversion. 2021-02-04 09:30:19 +01:00
Bhargava Shastry
1a949e5323
Merge pull request #10856 from ethereum/add-import-stmt-generator
Solidity fuzzer: Add import stmt generator
2021-02-03 18:56:11 +01:00
Leonardo
7405dc5b7f
Merge pull request #10836 from ethereum/smt_fix_cex_inheritance
Fix inheritance bug in CHC cex
2021-02-03 18:49:25 +01:00
Bhargava Shastry
0a59bd825b Solidity fuzzer: Add simple import statements.
Co-authored-by: Leonardo <leo@ethereum.org>
2021-02-03 17:03:57 +01:00
Martin Blicha
4bcdac71df [SMTChecker] updates to the tests 2021-02-03 15:53:58 +01:00
chriseth
8a4e6acdac
Merge pull request #10680 from ethereum/more-features-in-prepare-report
More features in prepare_report.py
2021-02-03 11:51:51 +01:00
Leonardo
d393624384
Merge pull request #10585 from ethereum/fix-quoting-and-whitespace-in-shell-scripts
Fix quoting in shell scripts
2021-02-03 11:27:40 +01:00
Leonardo Alt
665ce27c18 Fix inheritance bug in CHC cex 2021-02-02 18:06:32 +01:00
Kamil Śliwak
67fe5fb145 prepare_report.py: Print some statistics about contracts and errors 2021-02-02 16:16:28 +01:00
Kamil Śliwak
17fe96c4d0 prepare_report.py: Don't use --metadata option with compiler versions that do not support it
- Before 0.4.3 the option was unavailable but ignored.
- Between 0.4.3 and 0.4.6 an attempt to use that option causes an error.
2021-02-02 16:16:14 +01:00
Kamil Śliwak
49aede680b prepare_report.py: Add --force-no-optimize-yul flag to work around a bug in solc 0.6.0/0.6.1 2021-02-02 16:16:14 +01:00
Kamil Śliwak
7e48aeb848 prepare_report.py: Make parsing more lax to handle output from older compiler versions 2021-02-02 16:16:14 +01:00
Kamil Śliwak
b06de9a2d5 prepare_report: Add command-line options for switching between SMT pragma stripping and only disabling the SMT checker 2021-02-02 16:16:14 +01:00
Kamil Śliwak
4a7d494d3c Use Bash arrays for variables containing multiple space-separated values 2021-02-02 15:45:24 +01:00
Kamil Śliwak
27754d3e3d Quote stuff properly 2021-02-01 17:14:38 +01:00
Kamil Śliwak
566d49a1d1 Correct whitespace inside conditions 2021-02-01 17:03:05 +01:00
Martin Blicha
a49950cdf3 [SMTChecker] Added transaction constraints also for contract deployment 2021-02-01 16:46:34 +01:00
chriseth
c7d1e1911e
Merge pull request #10369 from ethereum/ewasm-polyfill-address-balance
[ewasm] Polyfill: balance, address.
2021-02-01 16:19:23 +01:00
Leonardo Alt
545305a31f [SMTChecker] Fix super and virtual 2021-01-28 18:51:29 +01:00
chriseth
46bb81d7ae
Merge pull request #10676 from ethereum/cli-bytecode-comparison
Bytecode comparison via CLI interface
2021-01-28 11:58:30 +01:00
Bhargava Shastry
b5525668de
Merge pull request #10855 from ethereum/clang-tidy-fixes-solgen
Solidity fuzzer: Clang tidy suggested fixes in Solidity generator
2021-01-28 10:28:50 +01:00
Martin Blicha
deb90d84a6 [SMTChecker] added missing type constraints for Address 2021-01-27 20:39:24 +01:00
Bhargava Shastry
8e691293e4 ossfuzz: Clang tidy suggested fixes in Solidity generator 2021-01-27 14:55:49 +01:00
Kamil Śliwak
53f9a11440 prepare_report: Handle internal compiler errors in Standard JSON as errors, not missing bytecode 2021-01-26 23:30:38 +01:00
Kamil Śliwak
7f19339934 prepare_report.py: Add support for switching between CLI and Standard JSON compiler interfaces 2021-01-26 23:30:38 +01:00
Leonardo
38d1ec3efe
Merge pull request #10835 from blishko/smt-assembly
[SMTChecker] Basic support for inline assembly that over-approximates its effects.
2021-01-26 22:35:25 +01:00
Martin Blicha
484e67815a [SMTChecker] Basic support for inline assembly using over-approximating analysis 2021-01-26 16:20:50 +01:00
Bhargava Shastry
be733d5f61 Reorganized code for better readability. 2021-01-26 16:16:03 +01:00
Bhargava Shastry
f5e0faaa37 Add documentation and/or comments.
Co-authored-by: Leonardo <leo@ethereum.org>
2021-01-26 15:48:42 +01:00
Bhargava Shastry
d7e3d3f75f Add visitors for automatic test case generation. 2021-01-26 15:48:42 +01:00
chriseth
4697beeab2
Merge pull request #10769 from ethereum/allocationCleanup
Cleanup allocation.
2021-01-26 11:58:11 +01:00
Leonardo
22ad64a0fd
Merge pull request #10845 from ethereum/smt_z3_4-8-10
Update smtCheckerTests for z3 4.8.10
2021-01-26 11:37:03 +01:00
hrkrshnn
133bc72970 Tests and changelog for <address>.code.length shortcut 2021-01-26 11:08:39 +01:00
Leonardo Alt
40221a90c4 Update smtCheckerTests for z3 4.8.10 2021-01-26 10:18:52 +01:00
hrkrshnn
ec57c791ef Fix infinite loop when accessing circular constants from inline assembly. 2021-01-26 09:22:05 +01:00
chriseth
9fc3d88617
Merge pull request #10826 from ethereum/issue-10821
Fix missing error when accessing unintialized variables.
2021-01-26 09:16:13 +01:00
chriseth
1adaf929dd
Merge pull request #10707 from ityuhui/yh-721-replace-colon-in-cli
[CLI] Accept also equal sign "=" for ``--libraries``
2021-01-26 08:17:26 +01:00
Mathias Baumann
07a1d230cd Fix missing error when accessing unintialized variables. 2021-01-25 14:44:15 +01:00
chriseth
ccdf57c9b1
Merge pull request #10700 from ethereum/whiskers_check_template_contains_tag
[whiskers] Add check that template contain tags.
2021-01-25 14:17:05 +01:00
Kamil Śliwak
4ad0b4338a Fix the 'intheritance' typo in the name of the of the subdirectories in semanticTests/ 2021-01-25 11:17:06 +01:00
Hui Yu
c669ee251a [CLI] Allow "=" as separator between library name and address in --libraries commandline option. 2021-01-25 16:14:39 +08:00
Kamil Śliwak
8a8442377d
Merge pull request #10832 from ethereum/cmdline-tests-more-robust-interactive-mode
More robust interactive mode in command-line tests
2021-01-22 15:34:40 +01:00
Kamil Śliwak
aae271e399 Add a script for running the Python test suites and include it in scripts/tests.sh 2021-01-22 13:37:40 +01:00
Kamil Śliwak
151df00bb0 Read/write files in python with newline='' option to preserve newlines as \n on Windows 2021-01-22 12:16:27 +01:00
Kamil Śliwak
cc516b2a16 Replace docstrings with normal strings in python unit tests to get same line endings on all platforms 2021-01-22 12:15:33 +01:00
Leonardo
3045770a6f
Merge pull request #10828 from ethereum/smt_cex_value
[SMTChecker] Add msgvalue to cex if > 0
2021-01-21 21:34:38 +01:00
Leonardo Alt
a612daa783 Add msgvalue to cex 2021-01-21 19:05:44 +01:00
Kamil Śliwak
c7d8e7ee87 cmdlineTests.sh: Ask about updating expectations in case of error code mismatch too 2021-01-21 15:21:10 +01:00
Kamil Śliwak
8ac36068fc cmdlineTests.sh: Add edit and skip options like in isoltest 2021-01-21 13:58:28 +01:00
chriseth
a4e228e552 Autoupdate for commandline tests. 2021-01-21 13:43:20 +01:00
Alexander Arlt
061fecbc90 [whiskers] Add check that template contain tags. 2021-01-20 15:26:34 -05:00
Leonardo
a75b87c80e
Merge pull request #10813 from ethereum/smt_targets_option
Add CLI and JSON option to select SMTChecker targets
2021-01-20 18:37:08 +01:00
chriseth
bbd29b24ab Update tests. 2021-01-20 18:25:27 +01:00
chriseth
3cc07694ed Cleanup allocation. 2021-01-20 18:25:27 +01:00
chriseth
2cc1e3393f
Merge pull request #10603 from ethereum/yul-optimiser-step-fuzzing
Fuzzer: Enable fine-grained yul optimizer fuzzing
2021-01-20 17:43:03 +01:00
Leonardo Alt
3b23cadbdc Add CLI and JSON option to select SMTChecker targets 2021-01-20 17:35:37 +01:00
chriseth
60cb8726f1 Enable test. 2021-01-20 14:02:35 +01:00
chriseth
aad7297b58
Merge pull request #10818 from ethereum/explainDisabled
Enable via yul or explain why disabled.
2021-01-20 14:01:09 +01:00
Alexander Arlt
f928107181 [ewasm] Polyfill: balance & address: Update Tests. 2021-01-19 13:04:45 -05:00
Alexander Arlt
87e3fbee6c [ewasm] Polyfill: balance & address. 2021-01-19 13:03:40 -05:00
Bhargava Shastry
b3dd83a20b Enable fine grained yul optimizer fuzzing 2021-01-19 18:22:59 +01:00
Leonardo
0b023b893e
Merge pull request #10817 from ethereum/splitShiftBytesTest
Split shift bytes test.
2021-01-19 16:16:45 +01:00
chriseth
06d19a9203 Enable via yul or explain why disabled. 2021-01-19 16:12:53 +01:00
chriseth
1fcc76a562 Fix empty packed encoder. 2021-01-19 15:50:04 +01:00
chriseth
52511a2163 Split shift bytes test. 2021-01-19 14:55:18 +01:00
chriseth
f5092088b4
Merge pull request #10811 from ethereum/prep-for-fuzzable-opt-steps
Minor refactor yul optimizer test framework to make it easier to fuzz
2021-01-19 13:05:35 +01:00