diff options
author | chriseth <chris@ethereum.org> | 2018-02-10 00:21:36 +0800 |
---|---|---|
committer | chriseth <chris@ethereum.org> | 2018-02-10 01:24:12 +0800 |
commit | 981ff308ecfbd596d7f94852462591316bcaa2e7 (patch) | |
tree | 23ba2beaae0b87402cdadf19f12b0431821cfa11 | |
parent | 0a4dc2cc8679389ede7f3617edcab37b3a145880 (diff) | |
download | dexon-solidity-981ff308ecfbd596d7f94852462591316bcaa2e7.tar.gz dexon-solidity-981ff308ecfbd596d7f94852462591316bcaa2e7.tar.zst dexon-solidity-981ff308ecfbd596d7f94852462591316bcaa2e7.zip |
Split solcjs and external tests.
-rw-r--r-- | circle.yml | 37 | ||||
-rwxr-xr-x | scripts/test_emscripten.sh | 28 | ||||
-rwxr-xr-x | test/solcjsTests.sh | 63 |
3 files changed, 94 insertions, 34 deletions
@@ -34,25 +34,43 @@ jobs: root: workspace paths: - soljson.js - test_emscripten: + test_emscripten_solcjs: docker: - image: trzeci/emscripten:sdk-tag-1.37.21-64bit steps: - checkout - attach_workspace: at: /tmp/workspace - - run: mkdir -p build/libsolc/ - - run: cp /tmp/workspace/soljson.js build/libsolc/soljson.js - - run: cp /tmp/workspace/soljson.js soljson.js - run: name: Install external tests deps command: | apt-get -qq update apt-get -qy install netcat curl curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.4/install.sh | NVM_DIR=/usr/local/nvm bash + export NVM_DIR="/usr/local/nvm" + [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm + nvm --version + nvm install 6 + node --version + npm --version - run: - name: Test external tests deps + name: Test solcjs command: | + . /usr/local/nvm/nvm.sh + test/solcjsTests.sh /tmp/workspace/soljson.js + test_emscripten_external: + docker: + - image: trzeci/emscripten:sdk-tag-1.37.21-64bit + steps: + - checkout + - attach_workspace: + at: /tmp/workspace + - run: + name: Install external tests deps + command: | + apt-get -qq update + apt-get -qy install netcat curl + curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.4/install.sh | NVM_DIR=/usr/local/nvm bash export NVM_DIR="/usr/local/nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm nvm --version @@ -60,10 +78,10 @@ jobs: node --version npm --version - run: - name: Test + name: External tests command: | . /usr/local/nvm/nvm.sh - scripts/test_emscripten.sh + test/externalTests.sh /tmp/workspace/soljson.js build_x86: docker: - image: buildpack-deps:artful @@ -115,7 +133,10 @@ workflows: build_all: jobs: - build_emscripten - - test_emscripten: + - test_emscripten_solcjs: + requires: + - build_emscripten + - test_emscripten_external: requires: - build_emscripten - build_x86 diff --git a/scripts/test_emscripten.sh b/scripts/test_emscripten.sh index b659e5e5..a0827138 100755 --- a/scripts/test_emscripten.sh +++ b/scripts/test_emscripten.sh @@ -31,31 +31,7 @@ set -e REPO_ROOT=$(cd $(dirname "$0")/.. && pwd) SOLJSON="$REPO_ROOT/build/libsolc/soljson.js" -DIR=$(mktemp -d) -( - echo "Preparing solc-js..." - git clone --depth 1 https://github.com/ethereum/solc-js "$DIR" - cd "$DIR" - # disable "prepublish" script which downloads the latest version - # (we will replace it anyway and it is often incorrectly cached - # on travis) - npm config set script.prepublish '' - npm install - - # Replace soljson with current build - echo "Replacing soljson.js" - rm -f soljson.js - cp "$SOLJSON" soljson.js - - # Update version (needed for some tests) - VERSION=$("$REPO_ROOT/scripts/get_version.sh") - echo "Updating package.json to version $VERSION" - npm version --no-git-tag-version $VERSION - - echo "Running solc-js tests..." - npm run test -) -rm -rf "$DIR" - +echo "Running solcjs tests...." +"$REPO_ROOT/test/solcjsTests.sh" "$SOLJSON" echo "Running external tests...." "$REPO_ROOT/test/externalTests.sh" "$SOLJSON" diff --git a/test/solcjsTests.sh b/test/solcjsTests.sh new file mode 100755 index 00000000..b6d2a017 --- /dev/null +++ b/test/solcjsTests.sh @@ -0,0 +1,63 @@ +#!/usr/bin/env bash + +#------------------------------------------------------------------------------ +# Bash script to execute the Solidity tests. +# +# The documentation for solidity is hosted at: +# +# https://solidity.readthedocs.org +# +# ------------------------------------------------------------------------------ +# This file is part of solidity. +# +# solidity is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# solidity is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with solidity. If not, see <http://www.gnu.org/licenses/> +# +# (c) 2017 solidity contributors. +#------------------------------------------------------------------------------ + +set -e + +if [ ! -f "$1" ] +then + echo "Usage: $0 <path to soljson.js>" + exit 1 +fi + +SOLJSON="$1" + +DIR=$(mktemp -d) +( + echo "Preparing solc-js..." + git clone --depth 1 https://github.com/ethereum/solc-js "$DIR" + cd "$DIR" + # disable "prepublish" script which downloads the latest version + # (we will replace it anyway and it is often incorrectly cached + # on travis) + npm config set script.prepublish '' + npm install + + # Replace soljson with current build + echo "Replacing soljson.js" + rm -f soljson.js + cp "$SOLJSON" soljson.js + + # Update version (needed for some tests) + VERSION=$("$REPO_ROOT/scripts/get_version.sh") + echo "Updating package.json to version $VERSION" + npm version --no-git-tag-version $VERSION + + echo "Running solc-js tests..." + npm run test +) +rm -rf "$DIR" |