Commit Graph

370 Commits

Author SHA1 Message Date
chriseth
c3705f268c Add global variables and support multi-return and multi-assignment. 2019-05-02 18:37:13 +02:00
Bhargava Shastry
9b56bd1db4 Run all tests and summarize failures, add new fuzzers to artifact 2019-04-30 17:00:33 +02:00
Bhargava Shastry
a48c762513 Print dots in background to prevent circle CI from reporting a timeout because nothing was flushed to stdout in over 10 minutes 2019-04-29 11:14:16 +02:00
Bhargava Shastry
91d9e52d7d Fix log parsing error 2019-04-26 11:47:46 +02:00
Bhargava Shastry
98815fb98a Updated script to treat libFuzzer errors as failures 2019-04-24 19:52:47 +02:00
chriseth
4312f6ec23
Merge pull request #6475 from ethereum/ossfuzz-regression-ci
ossfuzz regression ci
2019-04-19 00:44:05 +02:00
rocky
b06b996461 soltest.sh, EthOptions.cmake, and CODING_STYLE.md tweaks
solidity.sh:
  * introduce SOLIDITY_BUILD_DIR env var for soltest.sh,
  * add --help output

EthOptions.cmake: more complete configuration information

CODING_STYLE.md: note existence of .editorconfig
contributing.rst: note that tests are Boost C++ unit tests
2019-04-18 07:53:28 -04:00
Bhargava Shastry
33ccc19619 Add a nightly run for ossfuzz regression tests 2019-04-17 15:31:40 +02:00
Daniel Kirchner
4e6ffc744d Update aleth to version 1.6.0-rc.1. 2019-04-12 16:11:41 +02:00
Mathias Baumann
977c7d333e Disable aleth log output again on the CI 2019-04-04 16:39:15 +02:00
Mathias Baumann
1466cbaa0c Log more lines from aleth 2019-04-04 16:39:15 +02:00
chriseth
c0ce540e26 Run tests with both ABIV2 and Yul optimizer. 2019-04-04 13:18:30 +02:00
chriseth
8942c5acfb
Merge pull request #6394 from ethereum/yet-more-info
Log aleth output upon test failure
2019-04-03 13:17:27 +02:00
Mathias Baumann
9633b285ab Log aleth output upon failure 2019-04-03 12:43:15 +02:00
Mathias Baumann
4c24cce386 Replace tab with spaces in test.sh 2019-04-03 10:59:36 +02:00
Bhargava Shastry
0d2566fa71 Add CI to build ossfuzz fuzzer binaries 2019-04-03 10:27:05 +02:00
Mathias Baumann
bddef01fdd Decrease xml test log size 2019-04-01 12:38:29 +02:00
Erik Kundt
470c161e50 Fixes boost repository URL in CentOS install script. 2019-03-13 19:55:36 +01:00
Erik Kundt
b907e550b2 Passes the docker password in Travis via stdin. 2019-03-05 11:29:46 +01:00
chriseth
19761a08fa Update bytecode output to cope with metadata-only compilability. 2019-03-04 17:38:45 +01:00
Alex Beregszaszi
ecd246aeb6 Support petersburg in evmVersion 2019-03-04 14:10:41 +01:00
Mathias Baumann
98b7dc2881 Change emscripten default build dir to "emscriptenBuild"
Avoids complications with local build directory when building.
2019-02-27 12:30:15 +01:00
chriseth
bde25a06c2 Simplify emscripten build script 2019-02-25 14:20:37 +01:00
Alex Beregszaszi
5bbd65c5ca Run constantinople in regular and in force-abiv2 mode. 2019-02-20 16:55:19 +01:00
Daniel Kirchner
0408130338
Merge pull request #6003 from ethereum/moreStyleChecks
Even more style checks.
2019-02-15 11:52:32 +01:00
Daniel Kirchner
794e519af8 Update aleth version to 1.5.2. 2019-02-14 12:45:06 +01:00
Daniel Kirchner
8d7ccff1c0 Improve style of style check script. 2019-02-14 11:54:52 +01:00
Daniel Kirchner
809b9a95f9 Even more style checks. 2019-02-14 11:53:00 +01:00
Daniel Kirchner
8ca6715e18 More style checks. 2019-02-14 11:41:20 +01:00
chriseth
dbb5438fed Add coding style check for "const" position and spaces/tabs. 2019-02-13 16:34:49 +01:00
chriseth
5c50e8fa99 Switch from Z3 to CVC4 as SMT solver for Ubuntu PPA. 2019-02-06 15:48:07 +01:00
Daniel Kirchner
027e1781d3 Install static boost on Alpine linux. 2019-02-04 13:13:34 +01:00
chriseth
8c4c581eed Add disco. 2019-01-22 22:26:38 +01:00
chriseth
0a3beb72f2 Some improvements to the ppa release script. 2019-01-22 18:22:54 +01:00
chriseth
4c9bbd85e6 Patch soljson.js to provide backwards compatibility with older emscripten versions. 2019-01-21 15:33:36 +01:00
Alex Beregszaszi
a582f0bec1 Update to emscripten 1.38.22 2019-01-18 16:49:21 +00:00
Daniel Kirchner
5baac8470b Use emscripten 1.38.8 on both travis and circle. 2019-01-17 18:31:34 +01:00
Christian Parpart
b7eaa4f8d3
Ensuring we use at least boost 1.65, build static on Xenial, and adapt CircleCI accordingly. 2019-01-14 16:10:26 +01:00
chriseth
c00c0690e8
Merge pull request #5738 from ethereum/emscriptenBoost168
Update to boost 1.68 for emscripten builds.
2019-01-07 14:34:23 +01:00
Daniel Kirchner
17e781f8d2 Change uid and gid for source tarball to 0:0. 2019-01-07 13:56:50 +01:00
Daniel Kirchner
c265bc4c0d Update to boost 1.68 for emscripten builds. 2019-01-07 13:30:49 +01:00
Alex Beregszaszi
aca9e58145
Merge pull request #5703 from ethereum/srcTarball
Remove real username from source tarballs.
2019-01-07 11:35:52 +00:00
Asher
3d64b0b0ec
Update install_deps.sh
In install_deps.sh, line 59 (sed -n -e 's/^NAME="?([^"])"?$/\1/p' /etc/os-release) will get CentOS Linux instead of CentOS, so it cant match CentOS.
I suggest that in line 355, can modified " CentOS)" to " CentOS*)"
2019-01-03 10:05:08 +08:00
chriseth
687558f046 Remove real username from source tarballs. 2018-12-20 07:23:08 +01:00
Paweł Bylica
b57a36ddae CMake: Use toolchain files 2018-12-19 12:32:15 +00:00
chriseth
7b1a6798e6 Remove support for Visual Studio 2015. 2018-12-17 18:56:23 +01:00
chriseth
02a8e5d4e9 Update to use memorydb for aleth. 2018-12-13 12:07:32 +01:00
chriseth
e85c3428b4
Merge pull request #5634 from ethereum/staticPPA
Replace trusty PPA build by static PPA build.
2018-12-12 18:43:08 +01:00
chriseth
17bf164afe
Merge pull request #4951 from ethereum/alethUpdates
Use current aleth release for testing.
2018-12-12 18:41:35 +01:00
Daniel Kirchner
60d7cc6049 Replace trusty PPA build by static PPA build. 2018-12-12 17:05:59 +01:00
Christian Parpart
5b86e3ec50 Enables C++14 standard (was C++11) within the Solidity compiler project. 2018-12-11 21:28:05 +01:00
Daniel Kirchner
6d82ad1338 Test updates for recent versions of aleth. 2018-12-11 04:47:05 +01:00
Christian Parpart
a3829516f0 build.sh bash script cleanup
* use `set -e` to abort script execution when error codes fail (and haven't been checked)
* use [[ ]] instead of [ ] or test.
* use ROOTDIR/BUILDDIR variables for better readability
* use mktemp in order to avoid accidental name clashes.
* use `make install` instead of `install ...` as cleaner installation process
  * this however doesn't install soltest anymore, which I believe is
    right, as normal users should not need it installed in their system.
    Those who want to run the test suite, can do so manually
* allow optional passing of more additional custom args to cmake
2018-12-10 14:59:55 +01:00
chriseth
8d9fa0f4fa Fix manual deploy script for alpine. 2018-12-05 12:03:28 +01:00
chriseth
6b11ef1887
Merge pull request #5513 from corollari/fedora-fix
Detect Fedora properly in install_deps.sh
2018-11-29 14:04:54 +01:00
Albert
87f9834381 Fix #5512
Make the double quotes around the distro name optional so it matches properly in Fedora (`NAME=Fedora`)
2018-11-28 23:18:44 +01:00
Justin Wilson
16d1bf3335 Builds both scratch & Alpine Docker images
- Adds `Dockerfile_alpine`, which copies the complier from the scratch
   step into an Alpine image
 - Updates `docker_build.sh` to build the Alpine image
 - Updates `docker_deploy.sh` to tag and push the Alpine images
 - Updates `docker_deploy_manual.sh` to tag and push the Alpine images

The tags that are pushed follow:

 - Scratch
    - ethereum/solc:stable
    - ethereum/solc:0.5.1
    - ethereum/solc:nightly
    - ethereum/solc:nightly-0.5.1-bc7cb301e3d71756c8fbefe888aca53433302117
    - ethereum/solc:nightly-0.5.1-bc7cb301e3d71756c8fbefe888aca53433302117
 - Alpine
    - ethereum/solc:stable-alpine
    - ethereum/solc:0.5.1-alpine
    - ethereum/solc:nightly-alpine
    - ethereum/solc:nightly-alpine-0.5.1-bc7cb301e3d71756c8fbefe888aca53433302117
    - ethereum/solc:nightly-alpine-0.5.1-bc7cb301e3d71756c8fbefe888aca53433302117
2018-11-27 13:45:59 -07:00
Chris Purta
5c67821af4 Script that directly comments errors to the github pull request. 2018-11-26 15:43:17 +01:00
chriseth
3672506de9 Fix bytecode report file. 2018-11-22 21:03:24 +01:00
Alex Beregszaszi
780990516b Fix storebytecode.sh for bytecode comparison 2018-11-22 15:27:38 +00:00
Daniel Kirchner
119aa107da Use emscripten 1.37.21 and boost 1.67.0 on both travis and circle. 2018-11-21 15:24:20 +01:00
chriseth
6ed3765941 Fix bytecode tests for solc-js 2018-11-13 13:57:31 +00:00
chriseth
28d98d61ef Use latest solcjs and replace compileStandard by compile. 2018-11-13 13:54:01 +00:00
chriseth
5256da03db Fix check style script. 2018-11-12 22:57:32 +01:00
chriseth
199a994e28 Update ubuntu versions. 2018-10-30 15:57:14 +01:00
mordax
40b9b52872 Remove another mention 2018-10-13 21:35:09 -04:00
chriseth
d76bfcd935 Fix typos. 2018-10-04 13:28:16 +02:00
chriseth
658bef5a38
Merge pull request #5115 from mestorlx/cleancircleci
removed stray (B in CI test output
2018-10-01 13:18:55 +02:00
Martin Diz
25f3565340 removed stray (B in CI test output 2018-09-28 19:27:55 -03:00
Chris Ward
d9b7fd1347 Add Mojave to dependencies script
Add changelog entry

Moved changelog item

Updates from review
2018-09-27 12:06:41 +03:00
liangdzou
982d883a88 enhance test_trailing_whitespace to test_check_style: several format rules for if/for are introduced 2018-09-20 21:31:16 +08:00
Daniel Kirchner
69673f5a4b Include origin filename in the filenames generated by isolate_tests.py. 2018-09-06 18:03:38 +02:00
chriseth
8da1f25030
Merge pull request #4897 from ethereum/trailingWhitespaceDetection
Trailing whitespace detection script and circleci job.
2018-09-04 18:20:57 +02:00
Daniel Kirchner
1ae6ec9038 Remove trailing whitespace. 2018-09-04 17:43:04 +02:00
Daniel Kirchner
1cd96b2dc4 Trailing whitespace detection script and circleci job. 2018-09-04 17:36:47 +02:00
Daniel Kirchner
9695d7b38d Use wildcards for MSVC version in scripts/release.bat. 2018-09-04 16:35:25 +02:00
Daniel Kirchner
b4a02522a4 Update generation of bugs_by_version.json. 2018-09-04 11:30:30 +02:00
Daniel Kirchner
a102f3b783 Remove trailing whitespace for all files in the repository. 2018-09-04 11:30:30 +02:00
chriseth
6a5a187d83 Also extract tests that do not start with a pragma. 2018-08-14 15:50:46 +02:00
chriseth
f873389c62 Test that documentation does not contain any warnings. 2018-08-14 15:50:46 +02:00
Christian Parpart
594102de6b
fixes tests.sh to not use hard-coded working dir and adds proper cleanup
* Implicitely also allows concurrent runs.
* Properly cleanup of any working files created during runtime.
* Properly cleanup upon singals.
* Allow early-abort during cmdline tests without leaking processes.
2018-08-01 10:25:24 +02:00
Alex Beregszaszi
4bd22399da Keep the proper aleth hash in contributing.rst 2018-07-18 10:20:18 +02:00
Cryptomental
d454cec1bd circleci: Integrate codespell.
Run codespell against documentation and during Linux test run.
Use codespell_whitelist.txt dictionary to whitelist words that
should not be considered as misspelled.

Currently whitelist "iff" and "nd".

Refs: #4442
2018-07-10 22:57:50 +02:00
chriseth
f6edb7fb8f
Merge pull request #4434 from mattaereal/patch-4
Update isolate_tests.py
2018-07-09 22:47:34 +02:00
Matías A. Ré Medina
5640eba382 Update isolate_tests to use simple quotes consistently.
The previous code had double quotes and the project uses simple quotes.
2018-07-09 11:28:34 +01:00
Matías A. Ré Medina
1ebeb7e588 Change isolate_tests to support single files as an input
On the documentation the examples for the usage of isolate_tests.py are shown with single files, and it's currently not working. It only works for folders or wildcards that return more than one file, since that's how os.walk works within a loop for that cases.

Proposed an simple and easy fix.

I extracted the core functionality for extracting tests from files, and made another function called `extract_and_write`
If the program receives a single file the function `extract_and_write` is called once, it even works for `docs` when specified.
If the program receives a path or a wildcard, works as used to.
2018-07-09 11:28:09 +01:00
Alex Beregszaszi
273be204b6 Rename eth to aleth in testing scripts 2018-07-09 11:10:39 +01:00
Alex Beregszaszi
8b8565c873 Simplify code regarding eth in tests.sh 2018-07-09 11:08:36 +01:00
chriseth
0e12903094 Pull before pushing to bytecode (as on *ix). 2018-07-05 12:18:43 +02:00
ajs
260e044db5 Avoid hanging in tests.sh when IPC program is not found 2018-07-02 22:23:49 -03:00
Alex Beregszaszi
d072cc6236 Update aleth for testing 2018-07-02 11:34:52 +02:00
ajs
fee4932906 Support Manjaro Linux distributions in dependencies script 2018-06-28 18:13:15 -03:00
Christian Parpart
37b5669ec3 make build concurrency build-time customizable 2018-06-26 12:13:03 +02:00
Christian Parpart
7546100776 Dockerfile: improves docker image size and small others
This greatly improves size of the final docker image with the help of
multi-stage docker builds.

With that change, we can also make the build stage readable/maintainable
again by splitting up into multiple RUN statements as well as not
needing to clean-up temporary objects.

The dependencies have been put on top of the primary COPY statement
in order to not rebuild the dependencies each time one wants to rebuild
the docker image (for example due to code changes).

The solc compilation itself is now parallelized to the CPU core count
to speed up those builds that have more cores available on their docker
build system.

Future Notes:
-------------

We could further improve the Dockerfile by explicitely adding the
directories this docker build is interested in (such as solc source code
exclusively).

Or one may want to also use the build step for automated testing (CI)
by enforcing soltest and cmdlineTests.sh right before finalizing the image.
2018-06-26 12:12:35 +02:00
chriseth
166a9e08e7 Use new PGP key and retire old ubuntu releases. 2018-06-21 20:29:16 +02:00
Leonardo Alt
e0d6050ca8 Use correct python version for the upgrade_bugs_by_version script 2018-06-18 13:55:01 +02:00
Daniel Kirchner
09c3317bd8 Correctly choose python version for scripts requiring python2. 2018-06-15 16:29:42 +02:00
bitshift
83ae2abad7 Updates Windows release to VS 2017 15.7.3 2018-06-11 11:53:03 +02:00
chriseth
7778eaf03a
Merge pull request #4073 from alibabe/fix-jsoncpp-install
Install a different jsoncpp version on cirleci to ensure compilation never clashes with the internal one
2018-05-28 22:06:14 +02:00
chriseth
b686fbbb32
Merge pull request #4180 from veox/use-pip-solidity-lexer
docs: Use Solidity lexer from PyPI, instead of a local module
2018-05-28 17:41:35 +02:00