Commit Graph

699 Commits

Author SHA1 Message Date
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
Leonardo
158154bac3
Merge pull request #10345 from ethereum/ir-runtime
Output runtime object in IR
2020-12-18 17:19:40 +01:00
Leonardo
6b482d4b41
Merge pull request #10647 from ethereum/ppaStaticRelease
Build solidity-upgrade and yul-phaser statically on static PPA builds.
2020-12-18 14:20:44 +01:00
Alex Beregszaszi
b14a6a10cc Report meaningful error if parsing a version pragma failed 2020-12-18 11:50:37 +00:00
Daniel Kirchner
1afdfc2c84 Build solidity-upgrade and yul-phaser statically on static PPA builds. 2020-12-17 16:09:23 +01:00
Alex Beregszaszi
953d18c6cb Output runtime object in IR 2020-12-16 19:23:10 +00:00
chriseth
8f833f4e8f
Merge pull request #10618 from ethereum/develop
Merge develop into breaking.
2020-12-16 12:34:41 +01:00
Christian Parpart
381c63ec99 Scanner: Generate error on inbalanced RLO/LRO/PDF override markers. 2020-12-15 18:40:51 +01:00
chriseth
3c270ca7f7
Merge pull request #10608 from ethereum/develop
Merge develop into breaking.
2020-12-15 15:24:53 +01:00
Bhargava Shastry
3439e927e5 ossfuzz docker: Add sanitized build of gmp library that replaces system installed lib 2020-12-15 12:11:42 +01:00
chriseth
b03d110528 Ignore "no version found" check for pragmas containing "99". 2020-12-14 14:18:03 +01:00
chriseth
561280a5cc Merge remote-tracking branch 'origin/develop' into breaking 2020-12-14 11:33:40 +01:00
chriseth
e37e3099aa
Merge pull request #10583 from ethereum/fix-doc-pragma-checks
Fix checks for code snippets embedded in docs
2020-12-14 11:30:12 +01:00
Kamil Śliwak
4a16b13a57 get_version.sh: Quote the ? wildcard that could otherwise break the regex in the presence of a single-letter file name 2020-12-12 07:49:54 +01:00
Kamil Śliwak
893a5b6e60 Remove unused variables 2020-12-12 06:30:57 +01:00
Kamil Śliwak
f712662a66 ASTImportTest.sh: Fix the script ignoring all but the first file from a multi-source test when testing input equivalence 2020-12-12 06:30:57 +01:00
Kamil Śliwak
304b2fe232 docs_version_pragma_check.sh: Fail when there is no matching release 2020-12-12 04:52:16 +01:00
Kamil Śliwak
6fc45b3e02 docs_version_pragma_check.sh: Fix bad variable name making the script skip ^ and >= pragmas 2020-12-12 04:52:16 +01:00
Kamil Śliwak
784871c424 docs_version_pragma_check.sh: Get binaries from soliditylang.org, not github.io 2020-12-12 04:52:16 +01:00
Kamil Śliwak
74b5560f7e docs_version_pragma_check.sh: Fix broken variable comparison hiding missing compiler version warnings 2020-12-12 04:51:16 +01:00
Kamil Śliwak
2481f2c6bb common_cmdline.sh: Fix misspelled $args 2020-12-12 04:51:11 +01:00
chriseth
482bda6887 Merge remote-tracking branch 'origin/develop' into breaking 2020-12-10 12:15:52 +01:00
Daniel Kirchner
e691b7402a Move standard-json "modelCheckerSettings" key to "settings.modelChecker". 2020-12-09 15:53:32 +01:00