Commit Graph

46 Commits

Author SHA1 Message Date
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
Mathias Baumann
98b7dc2881 Change emscripten default build dir to "emscriptenBuild"
Avoids complications with local build directory when building.
2019-02-27 12:30:15 +01:00
chriseth
3672506de9 Fix bytecode report file. 2018-11-22 21:03:24 +01:00
Alex Beregszaszi
780990516b Fix storebytecode.sh for bytecode comparison 2018-11-22 15:27:38 +00:00
chriseth
6ed3765941 Fix bytecode tests for solc-js 2018-11-13 13:57:31 +00:00
chriseth
28d98d61ef Use latest solcjs and replace compileStandard by compile. 2018-11-13 13:54:01 +00:00
chriseth
0e12903094 Pull before pushing to bytecode (as on *ix). 2018-07-05 12:18:43 +02:00
Alex Beregszaszi
1734d44561 Rename jsonCompiler to libsolc 2017-12-11 12:49:08 +00:00
chriseth
066e995bbd Only push to bytecode repository if there is something to push. 2017-07-03 18:25:37 +02:00
chriseth
314f8beef1 This might fix our windows tests. 2017-06-20 17:47:06 +02:00
chriseth
a87b22c122 Change windows CI to use the same bytecode directory as linux. 2017-06-14 18:59:23 +02:00
chriseth
6d8afab928 Use actual hash. 2017-05-29 15:53:15 +02:00
chriseth
0ca941942b Use HEAD for report directory name 2017-05-24 14:36:46 +02:00
Alex Beregszaszi
e12b990038 Move COMMIT_DATE 2017-05-24 11:03:38 +01:00
chriseth
1ce9b91275 Make bytecode upload more robust and use date for directory name. 2017-05-19 21:08:13 +01:00
chriseth
4694eaec43 Run bytecode upload only if encrypted variables are available. 2017-04-18 12:32:38 +02:00
chriseth
5c3a80ab5b Also generate optimized code. 2017-03-23 09:56:18 +01:00
chriseth
bbe3557a2f Create bytecode for all tests and push to remote repo. 2017-03-23 09:56:18 +01:00