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