Commit Graph

6455 Commits

Author SHA1 Message Date
Kamil Śliwak
b0a5b92fe9
Merge pull request #12071 from ethereum/cli-validate-output-selection
Validate selected compiler outputs on the CLI
2021-10-11 17:52:32 +02:00
Christian Parpart
3f08b2269a Adds fmtlib as 3rdparty dependency for easier string composition. 2021-10-11 13:35:08 +02:00
Kamil Śliwak
a30348715b Use boost::current_exception_diagnostic_information() to print extra info about exceptions caught by (...) 2021-10-07 17:41:25 +02:00
chriseth
298af55cc5
Merge pull request #12102 from v-sreekesh/Nested_Brackets_Optimization
Nested brackets optimization
2021-10-07 10:48:19 +02:00
chriseth
75ccb4d41f
Merge pull request #12098 from ethereum/reformat-standard-optimizer-cmdline-tests
Reformat `standard_optimizer` command-line tests for readability
2021-10-07 10:22:43 +02:00
Kamil Śliwak
b9b2c69d24 CommandLineParser: Validate compiler output selection 2021-10-06 20:09:33 +02:00
Kamil Śliwak
620ec47efb OptimizerSuite: Rewrite runSequence() with support for nested brackets 2021-10-06 19:15:02 +02:00
Kamil Śliwak
b415e94e19 Reformat standard_optimizer command-line tests for readability 2021-10-06 18:46:53 +02:00
Kamil Śliwak
476c76b54e compileFull(): Use find instead of /*/*, which requires ignoring missing files 2021-10-06 18:46:42 +02:00
Marenz
4368da0201 Fix ICE when printing an error message related to mappings 2021-10-06 17:02:36 +02:00
chriseth
a709216e37
Merge pull request #11641 from TerranCivilian/src-hash-CommonIO-fix
Fix newline error in solidity::util::readUntilEnd
2021-10-06 11:47:02 +02:00
TerranCivilian
020ecc2131 Preserve original newlines in solidity::util::readUntilEnd() 2021-10-05 20:24:24 +02:00
chriseth
9c6ca4f439
Merge pull request #12076 from ethereum/cmdline-test-error-helpers
Error helpers + small refactors in `cmdlineTests.sh`
2021-10-05 17:20:49 +02:00
Leo Alt
4c2b661eaa [SMTChecker] Report values for block, msg and tx variables in counterexamples 2021-10-05 15:19:10 +02:00
chriseth
ecfcca1a27
Merge pull request #12016 from ethereum/external-fp-10358
Add ``.address`` and ``.selector`` in inside assembly for external function pointers
2021-10-05 14:48:58 +02:00
Marenz
98dd78362e Add `.address and .selector` in inside assembly for external function pointers 2021-10-04 18:05:57 +02:00
Kamil Śliwak
b4073179d7 cmdlineTests.sh: Add msg_on_error helper that automatically prints stderr and stdout of a failed command 2021-10-04 14:30:30 +02:00
Kamil Śliwak
26f9a554fb cmdlineTests.sh: Add fail helper to make exiting on an error more convenient 2021-10-04 14:30:30 +02:00
Kamil Śliwak
ce61a2bf28 cmdlineTests.sh: Add missing rm SOLTMPDIR and remove stray set -e 2021-10-04 14:29:57 +02:00
Kamil Śliwak
05ba53ecc3 cmdlineTests.sh: Don't use --force with rm unless actually needed 2021-10-04 14:29:57 +02:00
Kamil Śliwak
9662e9a8df cmdlineTests.sh: Enable set -o pipefail 2021-10-04 14:29:57 +02:00
Kamil Śliwak
7f7107405f Try out the new assertion macro variants with less arguments 2021-10-04 12:05:00 +02:00
chriseth
529087be6c
Merge pull request #12036 from ethereum/smt_fix_magic
[SMTChecker] Fix magic access
2021-10-04 11:01:39 +02:00
Kamil Śliwak
d10e668f4f
Merge pull request #12069 from ethereum/remove-combined-json-compact-format-leftovers
Remove leftovers of `compact-format` and `interface` from `--combined-json`
2021-10-01 14:40:17 +02:00
Kamil Śliwak
7915f32852 Remove leftovers of compact-format and interface from --combined-json 2021-10-01 13:05:30 +02:00
Leo Alt
d81ebe97c3 Fix magic access 2021-10-01 12:57:06 +02:00
Leo Alt
d25fb29178 Add isoltest option to ignore OS 2021-10-01 12:45:36 +02:00
hrkrshnn
14a678eb67 Fix gas stats 2021-09-29 13:50:51 +02:00
chriseth
e347c983b5 Update gas costs. 2021-09-29 13:25:37 +02:00
chriseth
78a1c1ca6d Add one more test case. 2021-09-29 13:22:13 +02:00
chriseth
df9721f869
Merge pull request #12047 from ethereum/fixFixedBytesCompilerUtils
Properly handle fixed-byte-like types.
2021-09-29 12:23:15 +02:00
chriseth
13354c0b9a
Merge pull request #12050 from ethereum/signedImmutablesBug
Fix signed immutables bug.
2021-09-29 11:46:58 +02:00
chriseth
090a46c2a5 New tests. 2021-09-29 11:44:17 +02:00
hrkrshnn
7b7e38768c Update tests. 2021-09-29 11:44:13 +02:00
hrkrshnn
6109b5c3a1 UserDefinedValueType.storageBytes() is correctly set
Previously it returned 32 bytes for all types, which was wasteful. This commit changes it to return
the storage bytes of the underlying type.
2021-09-29 11:41:47 +02:00
chriseth
8f7ba99e30
Merge pull request #12045 from ethereum/arrayTestsForUDFT
Fix array copying check.
2021-09-29 10:39:34 +02:00
chriseth
90f4ca1048 Do not store immutables packed. 2021-09-29 10:12:05 +02:00
chriseth
ed7884e341
Merge pull request #12043 from ethereum/exportCanonicalName
Export canonicalName
2021-09-29 10:11:30 +02:00
chriseth
bb4e3e191d Fix array copying check. 2021-09-29 10:00:14 +02:00
hrkrshnn
41f9aab219 Tests for assembly access of user defined value types. 2021-09-28 14:50:08 +02:00
chriseth
b6e62d61ec Export canonicalName 2021-09-28 12:00:30 +02:00
hrkrshnn
e24083a298 UserDefinedValueType: test for reading from dirty storage slots 2021-09-28 11:27:43 +02:00
chriseth
321e362789
Merge pull request #12024 from ethereum/require-boost-1.77-on-windows
Require Boost 1.77 on Windows
2021-09-27 15:41:21 +02:00
chriseth
8bcbf891e5
Merge pull request #12007 from ethereum/include-path-option
`--include-path` option (revived)
2021-09-27 15:40:14 +02:00
chriseth
39eb182ccc
Merge pull request #11688 from ethereum/fix-and-document-allow-paths
Fix and document `--allow-paths`
2021-09-27 15:39:14 +02:00
Kamil Śliwak
23f7b7781f cmdlineTests.sh: Skip empty test directories 2021-09-27 13:17:17 +02:00
Kamil Śliwak
77aa1707e1 Revert "Disable tests that fail on Windows due to a bug in Boost <= 1.76"
This reverts commit a801c12a8b89a7353a4339510aedc94739e9c46f.
2021-09-27 13:15:57 +02:00
Kamil Śliwak
f909555022 Treat ambiguous imports as errors 2021-09-27 13:14:23 +02:00
Kamil Śliwak
9975b5e26b Detect source unit name collisions between paths specified on the command line 2021-09-27 13:14:23 +02:00
Kamil Śliwak
c8a7a1da7c Add --include-path option 2021-09-27 13:14:23 +02:00
Kamil Śliwak
a61a950861 createFilesWithParentDirs(): Use binary mode to preserve original newlines on Windows 2021-09-27 13:14:23 +02:00
Kamil Śliwak
d4d778de77 Disable tests that fail on Windows due to a bug in Boost <= 1.76 2021-09-27 13:14:10 +02:00
Kamil Śliwak
c0b8378782 Do not whitelist any paths if remapping target is empty 2021-09-27 13:14:10 +02:00
Kamil Śliwak
8a8471d9cc Interpret remapping targets ending with /.. as directories 2021-09-27 13:14:10 +02:00
Kamil Śliwak
479ba7c523 Handle allowing empty paths correctly 2021-09-27 13:14:10 +02:00
Kamil Śliwak
3ac3612767 Whitelist base path 2021-09-27 13:14:10 +02:00
Kamil Śliwak
52dd39212d Normalize allowed paths before comparing them with imports 2021-09-27 13:14:10 +02:00
Kamil Śliwak
a436abfb25 normalizeCLIPathForVFS(): Add an option for resolving symlinks 2021-09-27 13:14:10 +02:00
Kamil Śliwak
b9b35a0def Tests for allowed paths (current state) 2021-09-27 13:14:10 +02:00
Kamil Śliwak
226f040e25 Ensure that native path separators are always used in symlink targets on Windows 2021-09-27 13:14:10 +02:00
Alex Beregszaszi
3c8846e669
Merge pull request #11976 from ethereum/json-cleanup
Some cleanup and testing for JSON
2021-09-24 19:03:45 +01:00
chriseth
1531863835 Split Common.h into Numeric.h. 2021-09-23 15:27:29 +02:00
Kamil Śliwak
11fdcc5159
Merge pull request #11996 from hawkess/isoltest-validation
Isoltest validation
2021-09-22 17:43:44 +02:00
Harikrishnan Mulackal
55d609d354
Merge pull request #11990 from ethereum/smt_user_types
[SMTChecker] Support user types
2021-09-22 15:40:49 +02:00
Kamil Śliwak
d23754eafd AsmParser: Don't use locationOverride as current location when location from comments is selected 2021-09-22 13:11:39 +02:00
Kamil Śliwak
ce4420f857 Separate DebugData fields for Solidity and Yul source locations 2021-09-22 13:11:39 +02:00
Kamil Śliwak
84ca67c283 Yul syntax tests showing broken behavior 2021-09-22 13:11:39 +02:00
chriseth
7726f37946 Update tests. 2021-09-22 11:33:02 +02:00
chriseth
d9ad047c21
Merge pull request #12001 from ethereum/cmdline-test-for-asm-json
Command-line test for `--asm-json`
2021-09-22 11:09:02 +02:00
hawkess
4fd5093d94 Removed pointer to external editor resource in IsolTestOptions, changed TestTool::handleResponse() to get editor value from m_options member variable 2021-09-21 14:12:26 -05:00
Marenz
7a51acc5fe Correct wrong error message referencing .slot and .offset when .length was used 2021-09-21 18:28:38 +02:00
Kamil Śliwak
b1351f4807 Fix typo in test name: leave_items_on_tack.sol -> leave_items_on_stack.sol 2021-09-21 16:28:16 +02:00
Kamil Śliwak
7bd1d1cf20 Command-line test for --asm-json 2021-09-21 16:28:16 +02:00
Leo Alt
e74f853c6b [SMTChecker] Support user types 2021-09-21 13:23:17 +02:00
Alex Beregszaszi
69e9531181 Add JSON tests for unicode, all types, and conformance to ECMA-262/ECMA-404
Also avoid using toStyledString
2021-09-21 10:49:13 +01:00
Kamil Śliwak
d86347cf7e Rename existing debug info tests to match the naming convention 2021-09-21 11:07:46 +02:00
hawkess
5edabc014d Changed enforce-gas-cost and enforce-via-yul to accept explicit arguments 2021-09-20 13:17:35 -05:00
Sean Hawkes
a875d1225a Explicity set default values for program options based on initialized values from constructor 2021-09-20 08:34:28 -05:00
chriseth
2c3322cbf6
Merge pull request #11993 from ethereum/remove-trailing-whitespace-after-location-with-no-snippet
Don't include whitespace after `@src` tag if there's no snippet
2021-09-20 14:10:59 +02:00
Sean Hawkes
f2e59923ab Added call to CommonOptions base class validate method to derived IsolTestOptions validate method to validate against both common and extended options 2021-09-18 06:59:37 -05:00
Sean Hawkes
76fa00abed Added invocation of base class addOptions in derived to populate list with common and derived options, fixed errors with editor member variable type mismatch 2021-09-18 06:22:27 -05:00
Sean Hawkes
ae7c617711 Added call to addOptions virtual helper in CommonOptions::parse to add options from base/derived classes, modified interface of IsolTestOptions to include editor member variable set based on provided parameter in constructor as it is now needed by addOptions helper function 2021-09-18 05:43:09 -05:00
Sean Hawkes
f47e918caa Moved program_options add_options to a helper function to allow defaults to be set by derived class constructor before immutable options are created by parent 2021-09-18 04:55:50 -05:00
Kamil Śliwak
a9b5835e5d AsmPrinter: Don't include whitespace after @src if there's no code snippet 2021-09-17 21:46:12 +02:00
Kamil Śliwak
fc8c4b046c StandardCompiler: Do not discard non-fatal errors that happened before a fatal error 2021-09-16 20:29:03 +02:00
Kamil Śliwak
1a9ba1baca Failing test: standard_yul_single_file_via_urls 2021-09-16 20:29:03 +02:00
chriseth
a141589adf Update tests. 2021-09-16 17:19:17 +02:00
chriseth
cedf68365b Move test. 2021-09-16 17:19:17 +02:00
chriseth
3e429ab231 Update commandline tests. 2021-09-16 17:19:17 +02:00
chriseth
63993387d6 Add test for invalid ast id. 2021-09-16 17:18:48 +02:00
chriseth
05d20446bb Parse @ast-id annotation. 2021-09-16 17:18:48 +02:00
Leo Alt
a1bea368cb [SMTChecker] Support constants via modules 2021-09-16 14:35:05 +02:00
chriseth
4284499180
Merge pull request #11888 from ethereum/spdx-license-handling-10145
Properly detect multiple licenses and validate them.
2021-09-16 14:18:17 +02:00
chriseth
91ef1ceb51
Merge pull request #11954 from ethereum/userdefinedvaluetype-multisource-test
Added a multisource test for UserDefinedValueTypes and imports
2021-09-16 13:59:22 +02:00
chriseth
ff0e433635
Merge pull request #11965 from ethereum/userdefined-changed-toString
User defined value types changed toString()
2021-09-16 13:58:55 +02:00
Marenz
c81814915c Properly detect multiple licenses and validate them. 2021-09-16 11:18:26 +02:00
Alex Beregszaszi
c1070fabc0
Merge pull request #11906 from ethereum/smt_fix_bmc
[SMTChecker] Fix BMCs constraints on internal functions
2021-09-15 21:01:29 +01:00
hrkrshnn
15fb427a99 Added a multisource test for UserDefinedValueTypes and imports
Testing if `import {MyType} from "source";` works
2021-09-15 17:48:53 +02:00
hrkrshnn
48e16ceb88 Changing the UserDefinedValueType::toString to userdefined <name> 2021-09-15 17:25:23 +02:00
Kamil Śliwak
b077ef46e2 cmdlineTests.sh: More descriptive message about used binary path 2021-09-15 16:49:25 +02:00