mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Split solcjs and external tests.
This commit is contained in:
parent
0a4dc2cc86
commit
981ff308ec
41
circle.yml
41
circle.yml
@ -34,25 +34,19 @@ 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
|
||||
- run:
|
||||
name: Test external tests deps
|
||||
command: |
|
||||
export NVM_DIR="/usr/local/nvm"
|
||||
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
|
||||
nvm --version
|
||||
@ -60,10 +54,34 @@ jobs:
|
||||
node --version
|
||||
npm --version
|
||||
- run:
|
||||
name: Test
|
||||
name: Test solcjs
|
||||
command: |
|
||||
. /usr/local/nvm/nvm.sh
|
||||
scripts/test_emscripten.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
|
||||
nvm install 6
|
||||
node --version
|
||||
npm --version
|
||||
- run:
|
||||
name: External tests
|
||||
command: |
|
||||
. /usr/local/nvm/nvm.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
|
||||
|
@ -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"
|
||||
|
63
test/solcjsTests.sh
Executable file
63
test/solcjsTests.sh
Executable file
@ -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"
|
Loading…
Reference in New Issue
Block a user