diff options
author | chriseth <chris@ethereum.org> | 2017-06-29 20:41:21 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-29 20:41:21 +0800 |
commit | f5372cda5dee20aab456a318a1660d1fea0eeed5 (patch) | |
tree | 7cc6ba27f216dd234ed19a3f7e66d989dc98ae21 | |
parent | 2f983f70022391e1cf4d2b4a7c520873c338a821 (diff) | |
parent | cc4f2500fb1b8313ebfcb6e4d28c3adb3cd0a470 (diff) | |
download | dexon-solidity-f5372cda5dee20aab456a318a1660d1fea0eeed5.tar dexon-solidity-f5372cda5dee20aab456a318a1660d1fea0eeed5.tar.gz dexon-solidity-f5372cda5dee20aab456a318a1660d1fea0eeed5.tar.bz2 dexon-solidity-f5372cda5dee20aab456a318a1660d1fea0eeed5.tar.lz dexon-solidity-f5372cda5dee20aab456a318a1660d1fea0eeed5.tar.xz dexon-solidity-f5372cda5dee20aab456a318a1660d1fea0eeed5.tar.zst dexon-solidity-f5372cda5dee20aab456a318a1660d1fea0eeed5.zip |
Merge pull request #2472 from ethereum/emscripten-solcjs
Run solc-js tests on emscripten build
-rw-r--r-- | .travis.yml | 1 | ||||
-rwxr-xr-x | scripts/test_emscripten.sh | 66 | ||||
-rwxr-xr-x | scripts/travis-emscripten/build_emscripten.sh | 2 |
3 files changed, 68 insertions, 1 deletions
diff --git a/.travis.yml b/.travis.yml index d947707c..e82da7c0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -191,6 +191,7 @@ before_script: && scripts/create_source_tarball.sh) script: + - test $SOLC_EMSCRIPTEN != On || (scripts/test_emscripten.sh) - test $SOLC_DOCS != On || (scripts/docs.sh) - test $SOLC_TESTS != On || (cd $TRAVIS_BUILD_DIR && scripts/tests.sh) - test $SOLC_STOREBYTECODE != On || (cd $TRAVIS_BUILD_DIR && scripts/bytecodecompare/storebytecode.sh) diff --git a/scripts/test_emscripten.sh b/scripts/test_emscripten.sh new file mode 100755 index 00000000..3bb16aa4 --- /dev/null +++ b/scripts/test_emscripten.sh @@ -0,0 +1,66 @@ +#!/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 + +REPO_ROOT="$(dirname "$0")"/.. + +cd $REPO_ROOT/build + +echo "Preparing solc-js..." +rm -rf solc-js +git clone https://github.com/ethereum/solc-js +cd solc-js +npm install + +# Replace soljson with current build +echo "Replacing soljson.js" +rm -f soljson.js +# Make a copy because paths might not be absolute +cp ../solc/soljson.js soljson.js + +# Update version (needed for some tests) +echo "Creating version.c" +rm -f version version.c +cat <<EOF > version.c +#include <stdio.h> +#include "../include/solidity/BuildInfo.h" +int main(int argc, char **argv) { + printf(ETH_PROJECT_VERSION); + return 0; +} +EOF +echo "Compiling version.c" +gcc -o version version.c +echo "Running version" +VERSION=`./version` +echo "Updating package.json to version $VERSION" +npm version $VERSION + +echo "Running solc-js tests..." +npm run test diff --git a/scripts/travis-emscripten/build_emscripten.sh b/scripts/travis-emscripten/build_emscripten.sh index 02740e6c..f92b3c44 100755 --- a/scripts/travis-emscripten/build_emscripten.sh +++ b/scripts/travis-emscripten/build_emscripten.sh @@ -99,6 +99,6 @@ cp soljson.js upload/ OUTPUT_SIZE=`ls -la build/solc/soljson.js` -echo "Emscripten output size: ${OUTPUT_SIZE}" +echo "Emscripten output size: $OUTPUT_SIZE" echo -en 'travis_fold:end:compiling_solidity\\r' |