Kamil Śliwak
c2e97369d9
Merge pull request #14327 from ethereum/cmdline-tests-sanitize-metadata-in-standard-json-output
...
Sanitize metadata in Standard JSON output in command-line tests
2023-06-14 17:01:00 +02:00
Kamil Śliwak
e45e6cc31d
CLI tests for metadata output
2023-06-14 16:04:33 +02:00
Kamil Śliwak
e6b1f5ccee
cmdlineTest.sh: Remove compiler version from metadata in Standard JSON output as well
2023-06-14 16:04:33 +02:00
Kamil Śliwak
4e113820c9
Merge pull request #14321 from ethereum/fix-bash-syntax-error-on-expectation-update-in-cli-tests
...
Fix Bash syntax error that shows up in CLI test output when updating expectations
2023-06-14 16:03:40 +02:00
Kamil Śliwak
25f329e4a1
Merge pull request #14323 from ethereum/stop-after-parsing-disallow-outputs-that-require-analysis
...
Disallow `--stop-after parsing` with CLI outputs that require analysis
2023-06-14 16:02:37 +02:00
Kamil Śliwak
e87333f20f
More CLI tests for --stop-after parsing
2023-06-14 14:22:38 +02:00
Kamil Śliwak
f8a1af8bd5
CommandLineParser: Fix some outputs not being properly disallowed with --stop-after parsing
2023-06-14 14:22:38 +02:00
Kamil Śliwak
0713adde04
Fix bad indentation in handleCombinedJSON()
2023-06-14 14:22:38 +02:00
Kamil Śliwak
f4217bdc2c
Fix Bash syntax error that shows up in CLI tests when updating expectations
2023-06-14 14:22:10 +02:00
Daniel Kirchner
aa01223398
Account for unassigned return variables in stack layout generation.
2023-06-14 11:43:46 +02:00
Nikola Matić
e44b8b9097
Merge pull request #14324 from ethereum/zeppelin-via-ir-workaround
...
Workaround open-zeppelin expectRevertCustomError bug
2023-06-14 10:58:01 +02:00
r0qs
28573dc71b
Workaround open-zeppelin expectRevertCustomError bug
2023-06-14 09:49:38 +02:00
Daniel
53c305ea80
Merge pull request #14310 from ethereum/moreRobustSemanticsTests
...
Do not let low-level semantic test calls depend on a well-defined contract ABI.
2023-06-12 17:32:21 +02:00
Daniel Kirchner
b7abd9bba4
Deterministically choose memory slots for variables independently of names that may depend on AST IDs.
2023-06-12 17:28:01 +02:00
Daniel
6c4e40bcef
Merge pull request #14317 from ethereum/bump-node-cimg
...
Bump circleci cimg/node version
2023-06-12 16:26:12 +02:00
r0qs
54c0ca99c3
Bump circleci cimg/node version
2023-06-12 15:15:03 +02:00
Daniel
d32aef3fea
Merge pull request #14313 from junaire/fix-wrong-cmake-variable
...
Fix incorrect CMAKE_SOURCE_DIR usage
2023-06-12 14:46:24 +02:00
Kamil Śliwak
2f484431da
Merge pull request #14243 from ethereum/do-not-optimize-yul-twice
...
Remove redundant Yul optimization from `IRGenerator`
2023-06-12 12:26:55 +02:00
Jun Zhang
8c5ecd1c01
Fix incorrectly CMAKE_BINARY_DIR usage
...
Similiar to CMAKE_SOURCE_DIR. Using CMAKE_BINARY_DIR will put the
generated header (stdlib.h) in build/include/solidity/libstdlib but it
should start with build/third-party/solidity or the library can't find
the header.
Signed-off-by: Jun Zhang <jun@junz.org>
2023-06-10 00:35:24 +08:00
Jun Zhang
74a38fc3d8
Fix incorrect CMAKE_SOURCE_DIR usage
...
When using solidity as a third-party library (include it into our
project using FetchContent), we encountered a strange compilation error.
For some reason, cmake considers the root directory of the project as
the root directory of the dependency (solidity). This is because
solidity is incorrectly using CMAKE_SOURCE_DIR variable, which should be
PROJECT_SOURCE_DIR (The former one refers to the top-level source
directory that contains a CMakeLists.txt, while the latter refers to the
source directory of the most recent project() command)
I've created a repo for demonstration (https://github.com/junaire/test-solidity-fetch-content )
Signed-off-by: Jun Zhang <jun@junz.org>
2023-06-08 19:17:34 +08:00
Kamil Śliwak
b1a773be2f
IRGenerator: Leave IR optimization up to the caller to avoid unnecessarily doing it twice
2023-06-07 19:44:40 +02:00
Kamil Śliwak
facc38097d
Merge pull request #14149 from ethereum/enable-minimal-yul-optimizations-by-default
...
Minimal Yul optimizations by default
2023-06-07 18:26:00 +02:00
Kamil Śliwak
3aaa207162
Enable unoptimized presets in those external tests where they now pass
2023-06-07 16:45:45 +02:00
Daniel Kirchner
0ea06e1c71
Do not let low-level semantic test calls depend on a well-defined contract ABI.
2023-06-07 13:40:14 +02:00
Kamil Śliwak
5e32a728fe
Update test expectations
2023-06-07 12:13:39 +02:00
Kamil Śliwak
51cd87c94d
YulStack: Don't enable stack optimizations in unoptimized mode when msize is present
2023-06-07 12:13:39 +02:00
Kamil Śliwak
25be38905f
YulStack: When Yul optimization is not requested, run Yul optimizer with a minimal sequence instead of disabling it
2023-06-07 12:13:38 +02:00
Kamil Śliwak
dff774d82f
Overload MSizeFinder::containsMSize() for Yul objects
2023-06-07 12:12:00 +02:00
Kamil Śliwak
8e35e8dd8e
Command-line tests checking behavior of msize without optimizer
2023-06-07 12:12:00 +02:00
Kamil Śliwak
7ab730d410
Update tests that would become ineffective with minimal optimizations applied
2023-06-07 12:12:00 +02:00
Kamil Śliwak
811b8e565b
Merge pull request #14288 from ethereum/cli-and-standard-json-equivalence-tests
...
CLI and Standard JSON equivalence tests
2023-06-07 12:10:38 +02:00
Kamil Śliwak
64ef9d581b
Command-line test for equivalence of optimizer options on the CLI and in Standard JSON
2023-06-07 10:29:45 +02:00
Kamil Śliwak
e6716e3208
Helpers for removing decorations form solc output
2023-06-07 10:29:45 +02:00
Kamil Śliwak
25c78be73e
Give error_message in msg_on_error an initial value to make it compatible with set -u
2023-06-07 10:29:45 +02:00
Kamil Śliwak
c7372f3f22
Merge pull request #14268 from ethereum/resurrect-yul-optimizer-cli-options
...
Resurrect Yul optimizer CLI options
2023-06-07 10:28:16 +02:00
Daniel
09038ce4cb
Merge pull request #14249 from ethereum/experimental-stdlib
...
Experimental standard library
2023-06-06 18:08:34 +02:00
Nikola Matic
47969adf91
Experimental standard library
...
Change import syntax and cover with tests
2023-06-06 17:16:23 +02:00
Kamil Śliwak
2769bb52f6
Make --optimize-yul work again
2023-06-06 09:54:07 +02:00
Kamil Śliwak
42a068b449
CommandLineParser: Store the state of EVM assembly and Yul optimizer explicitly
...
- Does not change the meaning of CLI options, just the way we map them to internal variables.
2023-06-06 09:54:07 +02:00
pgebal
f1d2eda795
Merge pull request #14116 from pgebal/pgebal/add_option_to_add_bounds_to_unroll_loops_in_bmc
...
Add optional bounds to unroll loops in BMC model checker
2023-06-05 12:01:08 +02:00
Pawel Gebal
f15b826431
Add optional bounds to unroll loops in BMC model checker
2023-06-02 18:32:38 +02:00
Kamil Śliwak
dcecf00e30
Merge pull request #14292 from ethereum/command-line-test-docs
...
Document the command-line tests
2023-06-02 18:28:22 +02:00
Kamil Śliwak
f5a531fd71
Merge pull request #14289 from ethereum/script-based-cmdline-tests
...
Move hard-coded tests out of `cmdlineTests.sh`
2023-06-02 17:30:25 +02:00
Kamil Śliwak
0e48e1251d
Document the command-line tests
2023-06-02 16:11:04 +02:00
Kamil Śliwak
f397b9a083
cmdlineTests: Add prefixes for temporary files/dirs
2023-06-02 16:10:40 +02:00
Kamil Śliwak
5c5f8e8dad
cmdlineTests: Remove superfluous set and temporary dirs
2023-06-02 16:10:40 +02:00
Kamil Śliwak
00c2f511d3
cmdlineTests: Remove superfluous output from script-based tests and adjust the rest
2023-06-02 16:10:40 +02:00
Kamil Śliwak
c1df8ed563
cmdlineTests: Remove unnecessary subshells
...
- Whitespace-only change, separated out to make it easy to diff.
2023-06-02 16:10:40 +02:00
Kamil Śliwak
6b061ba696
cmdlineTests: Extract script-based test out of cmdlineTests.sh
...
- Just extraction, with as few changes to the code as possible.
2023-06-02 16:10:40 +02:00
Kamil Śliwak
dd10334754
cmdlineTests: Support tests that contain a script to run as an alternative to input.* files
2023-06-02 16:09:11 +02:00