Commit Graph

26 Commits

Author SHA1 Message Date
Kamil Śliwak
9a5db2dfed prepare_report.py: Print some statistics about contracts and errors 2020-12-22 07:51:50 +01:00
Kamil Śliwak
264e1a61d4 prepare_report.py: --exit-on-error option 2020-12-22 07:51:50 +01:00
Kamil Śliwak
eb8b7d5c23 prepare_report.py: More information on stdout, with verbosity control 2020-12-22 07:51:50 +01:00
Kamil Śliwak
d2904e9f7f prepare_report.py: Add --report-file option 2020-12-22 07:51:50 +01:00
Kamil Śliwak
15a1f74460 prepare_report.py: Add --force-no-optimize-yul flag to work around a bug in solc 0.6.0/0.6.1 2020-12-22 07:51:50 +01:00
Kamil Śliwak
2b316ea018 prepare_report.py: Make parsing more lax to handle output from older compiler versions 2020-12-22 07:51:50 +01:00
Kamil Śliwak
f2b060e68d prepare_report: Handle internal compiler errors in Standard JSON as errors, not missing bytecode 2020-12-22 07:51:50 +01:00
Kamil Śliwak
b3922bc300 prepare_report: Add command-line options for switching between SMT pragma stripping and only disabling the SMT checker 2020-12-22 07:51:48 +01:00
Kamil Śliwak
d71de88bc1 prepare_report.py: Add support for switching between CLI and Standard JSON compiler interfaces 2020-12-22 07:50:28 +01:00
Kamil Śliwak
5952c3dd71 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
2020-12-22 07:34:37 +01:00
Kamil Śliwak
48eeaa8f80 prepare_report: Make error/missing data placeholders actually look like placeholders 2020-12-22 07:34:37 +01:00
Kamil Śliwak
d0dcc0a3f5 prepare_report: Report missing metadata as well 2020-12-22 07:34:37 +01:00
Kamil Śliwak
cd82498fe8 prepare_report: Unify error/missing data handling between JS and Python versions 2020-12-22 07:34:37 +01:00
Daniel Kirchner
e691b7402a Move standard-json "modelCheckerSettings" key to "settings.modelChecker". 2020-12-09 15:53:32 +01: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
chriseth
421f9f3876 Disable smt checker for bytecodecompare. 2020-05-27 11:12:40 +02: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
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
chriseth
19761a08fa Update bytecode output to cope with metadata-only compilability. 2019-03-04 17:38:45 +01:00
chriseth
314f8beef1 This might fix our windows tests. 2017-06-20 17:47:06 +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