Commit Graph

23668 Commits

Author SHA1 Message Date
Kamil Śliwak
92816eb6c5 CI: Generate optimized and unoptimized bytecode reports in parallel 2023-06-26 10:53:29 +02:00
Kamil Śliwak
dabecb600f
Merge pull request #14353 from ethereum/unify-and-simplify-bytecode-report-generation-in-ci
Unify and simplify bytecode report generation in CI
2023-06-26 10:50:48 +02:00
Kamil Śliwak
45c2ffcd55 CI: Merge prepare_bytecode_report and storebytecode.sh script into a new script and use it for all platforms in CI 2023-06-23 19:49:54 +02:00
Kamil Śliwak
69ffcfc242 CI: Move bytecode report comparison logic to a script 2023-06-23 19:49:54 +02:00
Kamil Śliwak
ea1327707b CI: Don't use requires_nothing for jobs that explicitly state what they require 2023-06-23 19:49:54 +02:00
Kamil Śliwak
aca4c86a23
Merge pull request #14350 from ethereum/bytecode-report-presets
Bytecode report presets
2023-06-23 19:49:07 +02:00
Kamil Śliwak
10670d6286 prepare_report: Replace hard-coded optimize setting with selectable presets 2023-06-23 19:00:30 +02:00
Pawel Gebal
826fd90dcf Fix error in SMTChecker: Use rich indentifier instead of external identifier to ecnode member access to functions 2023-06-23 15:24:55 +02:00
Kamil Śliwak
f9a3c094a6
Merge pull request #14330 from ethereum/parallelize-bytecode-compare
Generate CLI and Standard JSON bytecode reports in parallel
2023-06-23 11:06:51 +02:00
Kamil Śliwak
3b80aa2ea4 Run Standard JSON and CLI bytecode report generation in parallel 2023-06-23 09:17:53 +02:00
Kamil Śliwak
e8c4d0e324 More consistent file naming for bytecode compare artifacts
- This will make it easier to have a single variable specifying the interface.
2023-06-23 09:17:53 +02:00
Kamil Śliwak
b26090c288
Merge pull request #14339 from ethereum/parallelize-cli-tests
Parallelize CLI tests
2023-06-21 17:46:45 +02:00
Nikola Matić
08897b88c9
Merge pull request #14342 from ethereum/peg-oz-to-specific-commit
Disable failing OZ tests
2023-06-21 16:11:23 +02:00
Nikola Matic
edd99b07fe Disable failing OZ tests 2023-06-21 14:50:05 +02:00
Kamil Śliwak
fac7ca943b Parallelize CLI tests 2023-06-20 14:01:18 +02:00
Kamil Śliwak
dc7cda18f0
Merge pull request #14338 from ethereum/cmdline-tests-exclude-option
Add `--exclude` option to `cmdlineTests.sh`
2023-06-20 13:49:53 +02:00
Kamil Śliwak
3ecf968001
Merge pull request #14328 from ethereum/fix-incomplete-ast-in-standard-json-on-analysis-fail
Fix incomplete AST in standard json on analysis fail
2023-06-19 18:26:33 +02:00
Leo
6b2939da31
Merge pull request #14307 from pgebal/pgebal/print_smt_to_output_smtchecker_smtlib_code
Add --print-smt flag to output the SMTChecker SMTLIB code
2023-06-19 16:58:52 +02:00
Kamil Śliwak
399457d74b cmdlineTests.sh: Add --exclude option 2023-06-19 16:43:30 +02:00
Kamil Śliwak
4752b31e6c cmdlineTests.sh: Rewrite test selection to use find 2023-06-19 16:43:30 +02:00
Kamil Śliwak
381b610fe5
Merge pull request #14336 from ethereum/remove-bytecode-compare-deploy-key
Remove unused Travis deploy key for bytecode compare
2023-06-19 15:09:58 +02:00
Kamil Śliwak
32e8297048 Remove unused bytecodecompare/deploy_key.enc 2023-06-19 14:20:35 +02:00
Pawel Gebal
d4be1d9c2f Add --print-smt flag to output SMTChecker SMTLIB code 2023-06-16 14:04:07 +02:00
Kamil Śliwak
712229a5c6 Fix StandardCompiler returning an incomplete AST in Standard JSON in case of an early exit during analysis 2023-06-15 10:50:04 +02:00
Kamil Śliwak
f50820fcae Tests checking outputs produced in presence of errors 2023-06-15 10:49:19 +02:00
Daniel
374a6fd50e
Merge pull request #14311 from ethereum/StackToMemoryDeterminism
Deterministically choose memory slots for variables during stack-to-memory.
2023-06-14 17:31:32 +02:00
Daniel
ca8db58edd
Merge pull request #14322 from ethereum/stackLayoutsForUnassignedReturnVariables
Account for unassigned return variables in stack layout generation.
2023-06-14 17:30:57 +02:00
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