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
Mathias Baumann
7eb5fd1ca9
Appveyor: Prevent git from warning on std out
2020-01-27 18:28:23 +01:00
chriseth
8f36dd1571
Fix extract tests on windows.
2020-01-23 16:36:46 +01:00
cameel
d48883ca17
Fix crashes in prepare_report.py caused by using str where bytes is expected and vice-versa
...
1) `Popen.communicate()` expects `bytes` (a raw, binary string) if `stdout`/`stderr` are open in binary mode but is given output from `json.loads()` which is str (an abstract unicode string). Encoding the `str` object into `bytes` using UTF-8 encoding fixes that.
2) `REPORT_FILE` gets opened in binary mode which means that functions like `write()` expect `bytes`. We're giving them `str` which results in an error. Changed mode to text solves the problem.
2020-01-20 17:33:44 +01:00
Christian Parpart
54b81b0fda
python scripts: Some pylint tweaks.
2020-01-15 14:21:33 +01:00
Christian Parpart
44e892634b
Use Python 3 instead of Python 2 (EOL'd)
2020-01-15 14:20:43 +01:00
Daniel Kirchner
ef407ea896
Try to fix appveyor run by chaning bytecode pull output from stderr to stdout.
2019-09-04 10:57:01 +02:00
chriseth
19761a08fa
Update bytecode output to cope with metadata-only compilability.
2019-03-04 17:38:45 +01:00