From 913b9c0e6b0c58a1983f676f8c73e4f6581a3e68 Mon Sep 17 00:00:00 2001 From: Alex Beregszaszi Date: Tue, 27 Jun 2017 10:50:42 +0100 Subject: Run solc-js tests on emscripten build --- .travis.yml | 1 + scripts/test_emscripten.sh | 53 +++++++++++++++++++++++++++ scripts/travis-emscripten/build_emscripten.sh | 2 +- 3 files changed, 55 insertions(+), 1 deletion(-) create mode 100755 scripts/test_emscripten.sh 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..df1ebaee --- /dev/null +++ b/scripts/test_emscripten.sh @@ -0,0 +1,53 @@ +#!/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 +# +# (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) +VERSION=`$REPO_ROOT/build/solc/solc --version | sed -ne "s/^Version: \([0-9]*.[0-9]*.[0-9]*\).*/\1/p"` +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' -- cgit v1.2.3 From cc4f2500fb1b8313ebfcb6e4d28c3adb3cd0a470 Mon Sep 17 00:00:00 2001 From: Alex Beregszaszi Date: Tue, 27 Jun 2017 11:39:48 +0100 Subject: Use BuildInfo.h to retrieve version --- scripts/test_emscripten.sh | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/scripts/test_emscripten.sh b/scripts/test_emscripten.sh index df1ebaee..3bb16aa4 100755 --- a/scripts/test_emscripten.sh +++ b/scripts/test_emscripten.sh @@ -45,7 +45,20 @@ rm -f soljson.js cp ../solc/soljson.js soljson.js # Update version (needed for some tests) -VERSION=`$REPO_ROOT/build/solc/solc --version | sed -ne "s/^Version: \([0-9]*.[0-9]*.[0-9]*\).*/\1/p"` +echo "Creating version.c" +rm -f version version.c +cat < version.c +#include +#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 -- cgit v1.2.3