Commit Graph

868 Commits

Author SHA1 Message Date
Zachinquarantine
a67b3bdd58 Removes support for Debian Wheezy (7)
As per the schedule on https://wiki.debian.org/LTS.
The only reason I haven't fully removed support for Jesse (8) is because it's still in https://wiki.debian.org/LTS/Extended
2021-10-15 19:44:34 +02:00
Kamil Śliwak
0280c8d00e Use fail and assertFail where appropriate in command-line tests 2021-10-14 18:56:08 +02:00
Kamil Śliwak
3b1b9a0bfb common.sh: Adjust formatting in msg_on_error() and add stack trace 2021-10-14 18:56:08 +02:00
Kamil Śliwak
b85172b055 common.sh: Print the source code from locations indicated in the stack trace 2021-10-14 18:56:08 +02:00
Kamil Śliwak
9aad8d683d common.sh: printStackTrace() and assertFail() 2021-10-14 18:55:08 +02:00
Kamil Śliwak
fc0fe4f022 isolate_tests.py: Silence spurious pylint warning about isfile() being unused 2021-10-13 16:19:16 +02: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
Christian Parpart
859a170273 Updates PPA release script to pre-fetch the correct fmtlib version. 2021-10-11 14:52:07 +02:00
Christian Parpart
3f08b2269a Adds fmtlib as 3rdparty dependency for easier string composition. 2021-10-11 13:35:08 +02:00
Kamil Śliwak
476c76b54e compileFull(): Use find instead of /*/*, which requires ignoring missing files 2021-10-06 18:46:42 +02:00
Kamil Śliwak
4054e2a28f compileFull(): Print only file names, not their content in case of failure 2021-10-06 18:46:34 +02:00
chriseth
9c6ca4f439
Merge pull request #12076 from ethereum/cmdline-test-error-helpers
Error helpers + small refactors in `cmdlineTests.sh`
2021-10-05 17:20:49 +02:00
Marenz
98dd78362e Add `.address and .selector` in inside assembly for external function pointers 2021-10-04 18:05:57 +02:00
Kamil Śliwak
b4073179d7 cmdlineTests.sh: Add msg_on_error helper that automatically prints stderr and stdout of a failed command 2021-10-04 14:30:30 +02:00
Kamil Śliwak
26f9a554fb cmdlineTests.sh: Add fail helper to make exiting on an error more convenient 2021-10-04 14:30:30 +02:00
Kamil Śliwak
7915f32852 Remove leftovers of compact-format and interface from --combined-json 2021-10-01 13:05:30 +02:00
chriseth
321e362789
Merge pull request #12024 from ethereum/require-boost-1.77-on-windows
Require Boost 1.77 on Windows
2021-09-27 15:41:21 +02:00
Kamil Śliwak
970381cb1d splitSources.py: Support the case where the input file is empty 2021-09-27 13:17:13 +02:00
Kamil Śliwak
e3a3829f97 Increase minimum Boost version to 1.77 on Windows 2021-09-27 13:15:57 +02:00
chriseth
487c5ce613
Merge pull request #12018 from ethereum/fix-silent-errors-in-ast-import-tests
Fix silent errors in AST import tests
2021-09-27 12:09:54 +02:00
Kamil Śliwak
091e15d6da Verify checksums of packages downloaded by scripts 2021-09-24 16:29:45 +02:00
Kamil Śliwak
59e8bbb1d7 Do not use --force with rm if not needed 2021-09-24 16:29:14 +02:00
Kamil Śliwak
67041fb37f Put versions of packages downloaded by scripts in variables to reduce duplication 2021-09-24 16:29:14 +02:00
Kamil Śliwak
9326b2eaeb ASTImportTest.sh: Print an error when AST reimport fails instead of just exiting silently 2021-09-23 17:55:01 +02:00
Leonardo
20ca5c1361
Merge pull request #11986 from ethereum/fix-pylint-warnings-about-f-strings
Fix pylint warnings about the usage of f-strings
2021-09-17 14:24:05 +02:00
Basit Raza
553d3ed714
Added the BigSur 11.5 in the supported os list 2021-09-17 10:51:54 +04:00
Bhargava Shastry
7877758cf3
Merge pull request #11979 from ethereum/update-ossfuzz-docker
Docker: Tag ossfuzz base clang image
2021-09-16 22:35:23 +02:00
Kamil Śliwak
66a540ea01 Fix pylint warnings about the usage of f-strings 2021-09-16 19:38:44 +02:00
chriseth
63993387d6 Add test for invalid ast id. 2021-09-16 17:18:48 +02:00
chriseth
4284499180
Merge pull request #11888 from ethereum/spdx-license-handling-10145
Properly detect multiple licenses and validate them.
2021-09-16 14:18:17 +02:00
Marenz
c81814915c Properly detect multiple licenses and validate them. 2021-09-16 11:18:26 +02:00
Bhargava Shastry
0dc1600fa5 Docker: Tag ossfuzz base clang image 2021-09-16 10:14:13 +02:00
Bhargava Shastry
9a8fc605b2
Update scripts/docker/buildpack-deps/Dockerfile.ubuntu1604.clang.ossfuzz
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2021-09-15 12:57:55 +02:00
Bhargava Shastry
479cd33e6f
Update scripts/docker/buildpack-deps/Dockerfile.ubuntu1604.clang.ossfuzz
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2021-09-15 12:57:46 +02:00
Bhargava Shastry
08a7eaca47 Upgrade python pip and sphinx 2021-09-14 16:11:28 +02:00
Bhargava Shastry
3e86598bfd Docker: Update ossfuzz docker image to pull in clang-14. 2021-09-14 16:11:28 +02:00
Leonardo
e45083f319
Merge pull request #11606 from ethereum/info_message
Add new info severity
2021-09-14 14:30:07 +02:00
Kamil Śliwak
d78522b08b AsmParser: Accept optional code snippets after the @src tags 2021-09-14 12:09:59 +02:00
Leo Alt
e72fa7fc10 Add new info severity 2021-09-13 22:48:22 +02:00
chriseth
f957820351
Merge pull request #11913 from ethereum/source-location-parsing-extra-tests-and-regex-refactor
More generic source location parsing + more errors
2021-09-13 19:06:29 +02:00
soroosh-sdi
f5e8f5246c Add switch for command line & test.sh to skip smt
- add --no-smt in scripts/tests.sh and test/cmdlineTests.sh

Signed-off-by: soroosh-sdi <soroosh.sardari@gmail.com>
2021-09-10 23:35:17 +04:30
Kamil Śliwak
14396c207c AsmParser: Generalize location comment parsing to make it easier to add support for more tags 2021-09-09 17:12:59 +02:00
Kamil Śliwak
f4d1044331 Don't try to remove soljson.js after running npm install in cloned solc-js repo 2021-09-06 21:04:36 +02:00
Kamil Śliwak
7ad45a2772 pylintrc: Ignore duplicate-code warnings
- We get a lot of them in test/format/. They were not being reported before because pylint was getting only one file at a time.
2021-08-23 23:12:56 +02:00
Kamil Śliwak
fa2b9dd1e1 pylint_all: Enable pylint's built-in colors and disable score summary 2021-08-23 23:12:56 +02:00
Kamil Śliwak
5da52048ac pylint_all: In non-dev mode run pylint on all files at once
- This is much faster than running it one file at a time
2021-08-23 23:12:56 +02:00
Kamil Śliwak
7dd24edf14 pylint_all: Handle Ctrl+C more gracefully 2021-08-23 23:12:56 +02:00
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