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 /scripts/test_emscripten.sh | |
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
Diffstat (limited to 'scripts/test_emscripten.sh')
-rwxr-xr-x | scripts/test_emscripten.sh | 66 |
1 files changed, 66 insertions, 0 deletions
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 |