Commit Graph

5715 Commits

Author SHA1 Message Date
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
chriseth
9caf671607
Merge pull request #10808 from ethereum/uninitializedInternal
Update expectations for uninitialized internal function.
2021-01-19 13:02:33 +01:00
chriseth
c3d3415207 Update expectations for uninitialized internal function. 2021-01-19 12:37:30 +01:00
Bhargava Shastry
7c24074909 Minor refactor yul optimizer test framework to make it easier to fuzz 2021-01-19 11:45:27 +01:00
Leonardo
9bde92ca20
Merge pull request #10807 from ethereum/fixIRReasonStrings
Properly omit require revert strings in IR code generator if requested.
2021-01-19 10:31:15 +01:00
Leonardo
957e9995a0
Merge pull request #10801 from blishko/issue-10793
[SMTChecker] Gather local variables also from nested try/catch clauses
2021-01-18 22:37:16 +01:00
chriseth
185e129657
Merge pull request #10776 from ethereum/fixABIEncoderWithSignature
Fix abi encode with signature shortcut.
2021-01-18 19:07:56 +01:00
chriseth
a3ee334b42 Omit require revert strings in IR code generator. 2021-01-18 18:47:55 +01:00
Martin Blicha
35d228d9b6 [SMTChecker] Gather local variables also from nested try/catch clauses 2021-01-18 18:30:18 +01:00
chriseth
87a68feea1
Merge pull request #10653 from ethereum/spdx-tests
Add more tests for the SPDX-License-Identifier
2021-01-18 18:05:25 +01:00
Leonardo Alt
c7ca87c012 Fix static virtual resolution 2021-01-18 16:23:38 +01:00
Kamil Śliwak
f0cb181545 Even more license tests 2021-01-18 16:17:06 +01:00
Alex Beregszaszi
0a3084abc0 Add metadata tests for SPDX-License-Identifier 2021-01-18 16:17:06 +01:00
Kamil Śliwak
baf530c484 Test helper for license metadata tests 2021-01-18 16:17:06 +01:00
Kamil Śliwak
5677211471 SyntaxTest::filterObtainedErrors(): Remove hard-coded preamble to match changes in setupCompiler() 2021-01-18 16:17:06 +01:00
Alex Beregszaszi
6f1f0c5bbc Do not insert SPDX identifier if already present in SyntaxTest 2021-01-18 16:15:17 +01:00
Alex Beregszaszi
5bbb017915 Add more tests for the SPDX-License-Identifier 2021-01-18 16:15:17 +01:00
chriseth
359c70649d
Merge pull request #10752 from ethereum/yulopti-option-order
[yulopti] Options ordered by name and in columns rather than rows
2021-01-18 15:59:58 +01:00
chriseth
1ad1591617
Merge pull request #10805 from ethereum/structMappingTestCase
Adding test for conversion of struct from storage to mapping.
2021-01-18 15:48:02 +01:00
chriseth
611d2b4de5 Enable some tests. 2021-01-18 14:30:50 +01:00
chriseth
87d4ae503b
Merge pull request #10699 from ethereum/refactor-yul-optimiser-test-framework
Yul optimizer test: Separate test parsing and optimisation
2021-01-18 14:28:15 +01:00
Djordje Mijovic
4c0cb2d76f Adding test for conversion of struct from storage to mapping. 2021-01-18 14:27:36 +01:00
chriseth
4f3839e4ba Fix abi encode with signature shortcut. 2021-01-18 13:44:52 +01:00
Djordje Mijovic
d738a5219c Activating more end to end tests via ir. 2021-01-18 12:52:33 +01:00
Djordje Mijovic
a0c80c2bdb [Sol->Yul] Enabling copying_bytes_multiassign test via ir. 2021-01-18 12:40:51 +01:00
Bhargava Shastry
02b28b42e8 Remove fuzzer mode from yul optimizer unit test framework. 2021-01-18 10:27:58 +01:00
Bhargava Shastry
3e7659596e Header cleanup 2021-01-18 10:27:58 +01:00
Bhargava Shastry
42c05df0a9 Yul optimizer test: Separate test parsing and optimisation 2021-01-18 10:27:58 +01:00
Kamil Śliwak
0f75582e12 [yulopti] Rewrite the check against overlapping abbreviations using ranges-v3 2021-01-16 01:10:55 +01:00