Commit Graph

821 Commits

Author SHA1 Message Date
Kamil Śliwak
714cce175f pylint_all: Do not rename exit() 2021-08-23 23:12:56 +02:00
Kamil Śliwak
74c73d396a pylint_all: Use subprocess module instead of os.system()
- As a bonus this makes the script properly stop on Ctrl+C
2021-08-23 23:12:56 +02:00
Kamil Śliwak
0746f2adf9 pylint_all: Make better use of the PROJECT_ROOT variable 2021-08-23 23:12:56 +02:00
Kamil Śliwak
9b3e714a6c pylint_all: Use argparse for processing arguments 2021-08-23 23:12:56 +02:00
Kamil Śliwak
bc68e95221 install_deps.ps1: Use empty user agent when downloading boost from jfrog to avoid being treated as a browser 2021-08-23 21:23:39 +02:00
Kamil Śliwak
a6683e3226 Fix pylint warnings about encoding not being specified in open() calls 2021-08-23 19:24:35 +02:00
Kamil Śliwak
941919e8ab fix_homebrew_paths_in_standalone_zip.py: Remove a superfluous call to open() 2021-08-23 16:00:35 +02:00
Daniel Kirchner
f7e9263cea Add hirsute and impish to and remove groovy from release_ppa script. 2021-08-11 17:00:02 +02:00
hrkrshnn
892700d769 Tests for basefee as identifier in inline assembly
Also added basefee to `EVMVersion::hasOpcode(...)`
2021-08-11 10:46:40 +02:00
hrkrshnn
7f1a2be0fe Allow basefee as Yul identifier for EVMVersion < london
This was done to prevent basefee from being a breaking change. This change will be removed in 0.9.0.

TODO revert this commit in breaking.
2021-08-11 10:46:08 +02:00
hrkrshnn
79733fca48 Set default EVM version to London. 2021-08-11 09:54:14 +02:00
Daniel Kirchner
6ec711b2f0
Merge pull request #11667 from ethereum/z3PPAScriptUpdate
Update Z3 version to 4.8.12 in PPA script and add static binary package.
2021-08-09 12:06:57 +02:00
Daniel Kirchner
88b5be4224 Update Z3 version to 4.8.12 in PPA script and add static binary package. 2021-08-09 11:14:03 +02:00
Marenz
dea201800f Provide a better error reporting for failed cmdline tests. 2021-08-04 15:00:34 +02:00
chriseth
62727f322a
Merge pull request #11662 from ethereum/docs-fix-highlighting-and-upgrade-pygments
[Docs] Fix highlighting and always use latest packages
2021-07-29 11:29:38 +02:00
Alex Beregszaszi
c018cdf419
Merge pull request #11706 from ethereum/update-evmone-part2
Update evmone part 2
2021-07-27 17:17:59 +01:00
Leonardo
57092b21a3
Merge pull request #11421 from ethereum/smt_solver_option
[SMTChecker] Solver option
2021-07-27 18:17:24 +02:00
Leo Alt
6c8ecfa82c Add option to choose solver 2021-07-27 17:14:21 +02:00
Christian Parpart
3755210b7b [libyul] ObjectParser: Enables the use of custom source mapping via @use-src. 2021-07-27 16:46:47 +02:00
hrkrshnn
8bec0c8a6b Updated docs and evmc.h header file for evmone 0.8.0 release 2021-07-27 16:39:41 +02:00
hrkrshnn
1b56fdea9d Updated dockerfiles for evmone 0.8.0 2021-07-27 15:20:49 +02:00
Leonardo
f697b349f1
Merge pull request #11672 from ethereum/z3_12_docker
Bump docker images to z3 4.8.12
2021-07-26 14:12:05 +02:00
Leo Alt
f745604474 Bump docker images to z3 4.8.12 2021-07-19 15:21:20 +02:00
Leo Alt
5decccaf3a update docker hashes and versions 2021-07-19 15:20:11 +02:00
Kamil Śliwak
8c5ae508f9 Use html_extra_template_renderer to replace the current robots.txt rendering script 2021-07-15 13:29:27 +02:00
Kamil Śliwak
0f7a185ee3 scripts/docs.sh: Install latest versions of packages when available 2021-07-15 10:14:00 +02:00
Kamil Śliwak
ef6ad57c9c
Merge pull request #11644 from ethereum/fix-no-text-rep-found
Fix test error "No text representation found."
2021-07-12 14:47:16 +02:00
Marenz
7836779975 Fix test error "No text representation found."
The result is actually okay as the code in question is never called.
2021-07-12 13:03:30 +02:00
Christian Parpart
132fa46faa Yul: Adds parsing @src comment in AsmParser to customize the AST's sourcer locations. 2021-07-09 11:48:00 +02:00
Marenz
d844d84b51 Test yul code blocks in documentation. 2021-07-08 14:59:05 +02:00
Marenz
5291ca2dd4 isolate_tests: Extract code blocks from documentation using code block header 2021-07-06 16:57:05 +02:00
Marenz
f62b80530b Fix isolate_tests when run with single files and add usage information 2021-07-01 15:18:32 +02:00
hrkrshnn
0ef7d27dbd Fix pylint issues 2021-06-30 10:38:37 +02:00
Kamil Śliwak
0311b955c2 isolate_tests.py: Parse Sphinx block parameters correctly 2021-06-21 20:54:12 +02:00
Allegheny Crypto
182ec685fe Updated install_deps.sh to handle Big Sur 11.3 and 11.4 2021-06-17 11:37:13 +02:00
Kamil Śliwak
379a04f257 Add "Big Sur" to codespell whitelist 2021-06-14 11:13:19 +02:00
hrkrshnn
a4fd7c56a4 A script to summarize gas differences from isoltest for PRs. 2021-06-08 11:38:58 +02:00
chriseth
033559206c Check for style of namespace. 2021-05-27 17:38:27 +02:00
hrkrshnn
d5564a0304 Set default EVM version to Berlin 2021-05-26 12:23:06 +02:00
Daniel Kirchner
324caef53c
Merge pull request #11286 from ethereum/evmc8
Upgrade to EVMC 8.0.0 + evmone 0.7.0
2021-05-13 18:32:01 +02:00
Alex Beregszaszi
d898342178 Update hera in docker images 2021-05-13 13:11:32 +01:00
Alex Beregszaszi
99354a3b59 Upgrade evmone to 0.7.0 2021-05-12 16:56:23 +02:00
Daniel Kirchner
c7f321c12d Update evmone and boost download links in docker images. 2021-05-10 13:25:39 +02:00
Daniel Kirchner
452c17c15e Change windows boost binary download URL. 2021-05-10 11:30:11 +02:00
cxxboy
bd1fc0e88d script to automate updates to robots.txt #11199
Rewritten the script to work with a 'robots.txt' template file and we
generate the 'robots.txt' from the template when we execute the script.
It's found to be a better alternative to editing the 'robots.txt' file
in-place.
2021-04-27 17:54:55 -04:00
Alexander Arlt
4e7dc24383 Fix problems detected by pylint 2.8.1. 2021-04-25 23:33:14 -05:00
Leonardo Alt
dd1865873e Choose contracts to be analyzed by the SMTChecker 2021-04-21 10:34:14 +02:00
chriseth
4912bfe639
Merge pull request #11229 from ethereum/antlrPath
Fix import paths in grammar and grammar testing details.
2021-04-12 16:30:41 +02:00
Daniel Kirchner
6fdfd8b62b Fix import path grammar and grammar testing details. 2021-04-12 14:54:36 +02:00
anurag4u80
ca382a5915 Support for 11.2 MacOS Big Sur 2021-04-09 19:32:32 +05:30
chriseth
5433a640fb
Merge pull request #11190 from ethereum/solc-bin-version-check
[solc-bin] Add version check to bytecode PR check
2021-04-01 14:49:45 +02:00
chriseth
d80059fb98 Skip certain test for grammar test. 2021-03-30 21:15:46 +02:00
Kamil Śliwak
03a0998b5b solc-bin: Validate version reported by the compiler in the bytecode PR check 2021-03-29 20:17:45 +02:00
Kamil Śliwak
d68d4727eb Fix bytecode PR check ignoring TOP_REF and always using HEAD as the end of the commit range 2021-03-29 17:48:49 +02:00
Kamil Śliwak
d4e95a76e4 bytecode_reports_for_modified_binaries.sh: Add a helper for exiting with an error message 2021-03-29 17:48:38 +02:00
Kamil Śliwak
855a806a5b Rewrite get_version.sh to make it work on macOS 2021-03-25 13:29:32 +01:00
Kamil Śliwak
14adb7df3b Really remove shellcheck ignore list 2021-03-15 20:02:42 +01:00
Kamil Śliwak
b8979a939c Remove shellcheck ignore list 2021-03-15 12:16:43 +01: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
Kamil Śliwak
008d648af3 Fix or disable find/ls related warnings 2021-03-15 12:16:43 +01:00
Kamil Śliwak
7929175db6 Add shellcheck source directive in places where it can't find sourced files on its own 2021-03-15 12:16:43 +01:00
Kamil Śliwak
978c25f1a4 Fix typos in isolate_tests.py 2021-03-10 20:42:46 +01:00
chriseth
eb85a4414c Fix handling of carriage return. 2021-03-09 15:33:12 +01:00
Kamil Śliwak
cf94c3f7df Remove scripts that now have no warnings from shellcheck ignore list 2021-03-04 16:57:25 +01:00
Kamil Śliwak
c8fc241be5 Avoid using $? in conditions and do && exit 1 instead if ! 2021-03-04 16:57:25 +01:00
Kamil Śliwak
87f9eba1cf docs_version_pragma_check.sh: Set SOLC only for the duration of compileFull
- This is a global variable and would be better to just make it a parameter. At least this makes shellcheck shut up
2021-03-04 16:57:25 +01:00
Kamil Śliwak
e8a70e8e4b Prefix globs with ./ or use -- to make commands safe with files named like command-line options 2021-03-04 16:57:25 +01:00
Kamil Śliwak
7d845c0289 Don't use globs in command names 2021-03-04 16:57:25 +01:00
Kamil Śliwak
62bf467fc2 Fix warnings about constructions that have no effect 2021-03-04 16:53:05 +01:00
Kamil Śliwak
4e3ebda0f4 Don't use negative exit codes 2021-03-04 16:53:05 +01:00
Kamil Śliwak
dbfd3db038 Use mapfile instead of () for reading multiple lines as separate array items 2021-03-04 16:53:05 +01:00
Kamil Śliwak
d14c4288ec Make scripts fail on non-zero return codes and undefined variables where possible 2021-03-04 16:53:05 +01:00
Kamil Śliwak
75b87d159d Declare variables separately when assigning the result of $() 2021-03-04 16:53:05 +01:00
Kamil Śliwak
1c7cc376d1 Use "$@" instead of $* 2021-03-04 16:53:05 +01:00
Kamil Śliwak
4c186321c8 Replace some older shell syntax with newer and/or more reliable equivalents 2021-03-04 16:53:05 +01:00
Kamil Śliwak
8c57c7cb35 Explicitly use Bash in scripts that actually use non-POSIX features or do not have a shebang at all 2021-03-04 16:53:05 +01:00
Bhargava Shastry
1ddfc7463a Tests: Do not remove filename from boost filesystem path for corner
cases.

Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2021-02-22 10:32:41 +01:00
Alex Beregszaszi
f766700000 Remove unreachable warning for shift/exp operator 2021-02-16 13:17:58 +00:00
Alex Beregszaszi
efe3199981 Remove unreachable assertion for import resolution 2021-02-16 12:55:01 +00:00
Alex Beregszaszi
346344dc7b Add missing test case for try/Catch 2021-02-16 12:33:55 +00:00
Alex Beregszaszi
ded5d721d2 Turn unreachable error into assertion 2021-02-16 10:59:22 +00:00
Alex Beregszaszi
fd9050614a Remove untriggerable errors on variadic calls (which have been removed) 2021-02-15 22:45:57 +00:00
chriseth
c82c2189d4
Merge pull request #10877 from ethereum/bash-arrays-for-arg-variables
Use Bash arrays for argument lists in shell scripts
2021-02-08 13:31:31 +01:00
Kamil Śliwak
800c338534 Scripts for generating and comparing bytecode reports for solc-bin binaries 2021-02-03 19:15:52 +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
cba6e6814b scripts/soltest.sh: Disable the warning about missing quotes around $DEBUGGER
- There are ways to fix the warning properly but they're all less readable than this in my opinion.
2021-02-02 15:45:24 +01:00
Kamil Śliwak
4a7d494d3c Use Bash arrays for variables containing multiple space-separated values 2021-02-02 15:45:24 +01:00
Kamil Śliwak
c19464f908 Remove scripts that now have no warnings from shellcheck ignore list 2021-02-01 17:26:11 +01:00
Kamil Śliwak
27754d3e3d Quote stuff properly 2021-02-01 17:14:38 +01:00
Kamil Śliwak
6d44055556 Fix inconsistent indentation 2021-02-01 17:03:05 +01:00
Kamil Śliwak
cd4b667545 post_style_errors_on_github.sh: Fix condition that sets $CIRCLE_PR_NUMBER 2021-01-28 12:41:26 +01:00
Kamil Śliwak
66d27f1ac6 Fix wrong script path in check_style.sh
- The script is actually in a subdirectory.
2021-01-28 12:37:33 +01:00
chriseth
46bb81d7ae
Merge pull request #10676 from ethereum/cli-bytecode-comparison
Bytecode comparison via CLI interface
2021-01-28 11:58:30 +01:00
Kamil Śliwak
b1f2d2994c Fix badly placed comment in build_emscripten.sh 2021-01-27 11:46:46 +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
Leonardo
c35fdda2ec
Merge pull request #10844 from ethereum/smt_z3_docker_4_18_10
Bump docker images for z3 4.8.10
2021-01-26 13:05:50 +01:00
Leonardo
6488dd5b96
Merge pull request #10843 from ethereum/updatez3ppa
Update z3 to 4.8.10.
2021-01-26 11:40:30 +01:00
Leonardo Alt
fbfcb4e71d Bump docker for z3 4.8.10 2021-01-26 11:37:11 +01:00
Leonardo Alt
40221a90c4 Update smtCheckerTests for z3 4.8.10 2021-01-26 10:18:52 +01:00
chriseth
1c35c52fbe Update z3 to 4.8.10. 2021-01-25 11:40:31 +01:00
Kamil Śliwak
aae271e399 Add a script for running the Python test suites and include it in scripts/tests.sh 2021-01-22 13:37:40 +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
81f3c7497b check_style.sh: Fix incorrect comment about for { being treated as a style error 2021-01-20 13:29:34 +01:00
Kamil Śliwak
7bc81e3c95 Rename report_errors.sh to post_style_errors_on_github.sh 2021-01-20 13:29:34 +01:00
Kamil Śliwak
f214682a27 report_errors.sh: Don't print error messages to stdout
- check_style.sh already does this
2021-01-20 13:29:34 +01:00
Kamil Śliwak
0a3cc81693 check_style.sh: Consistent identation 2021-01-20 13:29:33 +01:00
Kamil Śliwak
e5bc08fa7b Fix shellcheck errors in report_errors.sh and check_style.sh 2021-01-20 13:29:00 +01:00
Kamil Śliwak
877b5d1c1c Add proper quotes in check_style.sh and report_errors.sh 2021-01-20 13:29:00 +01:00
chriseth
86051dc099
Merge pull request #10792 from ethereum/fix-github-api-errors-from-check-style
Fix github API errors in check_style CI jobs
2021-01-19 13:46:15 +01:00
Kamil Śliwak
f0cb181545 Even more license tests 2021-01-18 16:17:06 +01:00
Alex Beregszaszi
5bbb017915 Add more tests for the SPDX-License-Identifier 2021-01-18 16:15:17 +01:00
Kamil Śliwak
433c261a2f report_errors.sh: Don't try to communicate with github if path or line is not known 2021-01-18 15:27:00 +01:00
Kamil Śliwak
ca7327ec3f Replace the weird magic trap-waterfall-style flow in report_errors.sh with normal calls 2021-01-18 15:27:00 +01:00
Kamil Śliwak
5958e8d9ea check_style: Always use a newly created temporary file to store logs 2021-01-18 15:27:00 +01:00
Kamil Śliwak
71d19c5178 build_win.ps1: Use commit date for CI builds on Windows and Emscripten as well 2021-01-14 22:23:06 +01:00
Kamil Śliwak
6c3ccc8e29 ci/build.sh: Use a more portable command for getting the date to make it work on macOS too 2021-01-14 22:22:39 +01:00
chriseth
f9bfceccd1
Merge pull request #10771 from ethereum/use-commit-date-in-ci-builds
Commit date in CI build version strings
2021-01-14 18:38:45 +01:00
Kamil Śliwak
a901f78be7 ci/build.sh: Use commit date rather than build date in version strings of CI builds 2021-01-14 18:04:41 +01:00
Kamil Śliwak
c63fd0a1af docs_version_pragma_check.sh: Remove the special case for versions ending in .99 2021-01-14 17:35:19 +01:00
Kamil Śliwak
a39c8e3750 docs_version_pragma_check.sh: Switch to the new-style [[ ]] conditions 2021-01-14 17:35:19 +01:00
Kamil Śliwak
d8d5b3ab20 docs_version_pragma_check.sh: Don't treat missing compiler version as an error if it's the current dev version 2021-01-14 17:35:19 +01:00
Kamil Śliwak
203ebf89bb scripts/common.sh: Add printWarning() helper 2021-01-14 17:35:19 +01:00
Daniel Kirchner
804bd8f6dd Switch to new emscripten docker image. 2021-01-13 02:22:09 +01:00
Daniel Kirchner
10c742ed0a Update emscripten build to be compatible with new docker image. 2021-01-13 01:09:34 +01:00
Daniel Kirchner
d0c8c79888 Update emscripten docker image to be based on emscripten 2.0.12 and boost 1.75.0. 2021-01-13 00:33:03 +01:00
Leonardo
7824ccb56d
Merge pull request #10663 from ethereum/check_style_exclude_list_support
scripts/check_style.sh: add exclude list support.
2021-01-12 11:28:26 +01:00
Kamil Śliwak
22af3a555a
Merge pull request #10736 from BinacsLee/binacs-update-install-deps
[scripts/install_deps.sh] support MacOS Big Sur
2021-01-12 09:57:11 +01:00
chriseth
67d21a87c5
Merge pull request #10737 from ethereum/range-v3
Add range-v3.
2021-01-11 19:24:13 +01:00
Daniel Kirchner
eac2bcf72f Add range-v3. 2021-01-11 18:44:55 +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
BinacsLee
3329f4ab9b [scripts/install_deps.sh] support MacOS Big Sur 2021-01-11 23:50:18 +08:00
Djordje Mijovic
b74c08143f Deleting yul unimplemented test. 2020-12-30 17:19:04 +01:00
Alexander Arlt
d0e8ae3aa5 scripts/check_style.sh: add exclude list support. 2020-12-18 20:39:48 -05:00