Commit Graph

74 Commits

Author SHA1 Message Date
Kamil Śliwak
bccfcd40a0 prepare_report: Add YulException to the list of ICEs for which we ignore Standard JSON outputs even when present 2023-07-14 15:28:11 +02:00
Kamil Śliwak
ea724071b1 prepare_report: Add viaIR presets 2023-07-14 15:28:11 +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
10670d6286 prepare_report: Replace hard-coded optimize setting with selectable presets 2023-06-23 19:00:30 +02:00
Kamil Śliwak
32e8297048 Remove unused bytecodecompare/deploy_key.enc 2023-06-19 14:20:35 +02:00
Rodrigo Q. Saramago
828f95ad9e Fix pylint 2.16 warnings 2023-02-01 10:39:00 -03:00
Kamil Śliwak
fe118abb53 CI: Switch from deprecated circleci/buildpack-deps image to cimg/base 2022-10-26 18:22:03 +02:00
Kamil Śliwak
0d28b8395a storebytecode.sh: Update outdated script docstring. 2022-02-18 21:48:32 +01:00
Kamil Śliwak
f5b345504b When installing solc-js use the dist/ subdir, which contains the built JS files 2022-02-03 18:47:19 +01:00
Kamil Śliwak
f46e333f9a fixup! bytecode compare: Stop depending on solc-js internal structure and install it via npm from a local dir instead 2022-01-26 11:56:34 +01:00
Kamil Śliwak
1cd4ffc355 bytecode compare: Stop depending on solc-js internal structure and install it via npm from a local dir instead 2022-01-25 16:39:47 +01:00
Kamil Śliwak
de364c566c pylint: Disable the opinionated too-many-xyz warnings 2021-12-21 18:37:38 +01:00
Kamil Śliwak
b96de320e2 Fix the simplest pylint warnings (variables/imports, semicolons, etc) and re-enable them in pylintrc 2021-10-13 16:19:16 +02:00
Kamil Śliwak
66a540ea01 Fix pylint warnings about the usage of f-strings 2021-09-16 19:38:44 +02:00
Kamil Śliwak
8e44b59251 Disable shellcheck in the remaining situations where it's either wrong or the problem is not worth fixing 2021-03-15 12:16:43 +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
Kamil Śliwak
67fe5fb145 prepare_report.py: Print some statistics about contracts and errors 2021-02-02 16:16:28 +01:00
Kamil Śliwak
4576b1ec89 prepare_report.py: --exit-on-error option 2021-02-02 16:16:28 +01:00
Kamil Śliwak
acaab18a0a prepare_report.py: More information on stdout, with verbosity control 2021-02-02 16:16:28 +01:00
Kamil Śliwak
96fd9051ed prepare_report.py: Add --report-file option 2021-02-02 16:16:28 +01:00
Kamil Śliwak
7bebcb7871 prepare_report.js: Print ERROR in case of an exception during compilation instead of failing
- Our v0.4.11 release raises an exception on some LLL snippets containing returnlll (extracted from its end-to-end tests).
- The report comparison will fail anyway because emscripten prints an abort code to stdout in that case but at least we'll be able to continue if we're comparing multiple versions.
2021-02-02 16:16:14 +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
27754d3e3d Quote stuff properly 2021-02-01 17:14:38 +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
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
ba6acae240 prepare_report.py: Prevent Windows-style paths from ending up in the bytecode report 2021-01-22 12:15:33 +01:00
Kamil Śliwak
6628f19fd8 Modernize prepare_report.py and make it easier to extend
- Add argument parser
- Add type annotations
- Use pathlib
- Split into functions
- Use dataclasses to separate report data from presentation
- Provide more information if the script is interrupted
2021-01-11 17:06:59 +01:00
Kamil Śliwak
887497a406 prepare_report: Make error/missing data placeholders actually look like placeholders 2021-01-11 17:06:59 +01:00
Kamil Śliwak
fe7cc2097b prepare_report: Report missing metadata as well 2021-01-11 17:06:59 +01:00
Kamil Śliwak
9f58f77b50 prepare_report: Unify error/missing data handling between JS and Python versions 2021-01-11 17:06:59 +01:00
Kamil Śliwak
a036cbea19 prepare_report.js: Replace var with const/let + minor cleanup 2021-01-11 17:06:59 +01:00
Kamil Śliwak
42786c2d29 Extract the script embedded in storebytecode.sh into a separate file 2021-01-11 17:06:59 +01:00
Daniel Kirchner
e691b7402a Move standard-json "modelCheckerSettings" key to "settings.modelChecker". 2020-12-09 15:53:32 +01:00
chriseth
36f9392154
Merge pull request #10361 from ethereum/bytecode-comparison-build-dir-outside-repo-root
Allow BUILD_DIR outside of REPO_ROOT in storebytecode.sh
2020-11-24 14:48:22 +01:00
Alex Beregszaszi
5b283f4a08
Merge pull request #10364 from ethereum/bytecode-comparison-with-model-checker-engine-none
Disable SMT checker instead of stripping SMT pragmas in bytecode comparison
2020-11-20 20:00:27 +00:00
Kamil Śliwak
fc1ade7cf6 Use modelCheckerSettings to disable SMT in bytecode comparison instead of stripping the pragmas 2020-11-20 18:53:15 +01:00
Kamil Śliwak
4cf4b03cc8 Remove unused storebytecode.bat 2020-11-20 16:13:30 +01:00
Kamil Śliwak
31a0a31c26 storebytecode.sh: Allow BUILD_DIR outside of REPO_ROOT 2020-11-20 16:12:56 +01:00
Daniel Kirchner
9726ed8586 Perform bytecode comparison on CircleCI. 2020-10-15 00:48:56 +02:00
chriseth
421f9f3876 Disable smt checker for bytecodecompare. 2020-05-27 11:12:40 +02:00
chriseth
75df2342d6 Adding some debug messages to bytecode store. 2020-05-27 09:39:45 +02:00
Daniel Kirchner
e8bb212ec6 Add hour and minute to bytecode repo directory names 2020-02-15 14:44:37 +01:00
Daniel Kirchner
50adb2943a Prevent windows line endings in bytecode report. 2020-02-14 17:03:48 +01:00
Christian Parpart
4b38f499ae pylint: reduces max-line-length to something more reasonable 2020-02-04 17:00:05 +01:00
Christian Parpart
1b310a93a2 travis: Run byte code comparison only if current travis job is a pull request (not a push-build). 2020-02-03 12:29:49 +01:00