diff options
author | chriseth <c@ethdev.com> | 2017-01-25 06:36:35 +0800 |
---|---|---|
committer | chriseth <c@ethdev.com> | 2017-01-25 06:37:48 +0800 |
commit | 605455f96b64f0c4b229cc31186f2dcf22433e6d (patch) | |
tree | c7712ebe18e4caa40acd04c0218cd0668a81560f | |
parent | 1316bb75651ea365c5246277d2dfd3d366be9070 (diff) | |
download | dexon-solidity-605455f96b64f0c4b229cc31186f2dcf22433e6d.tar.gz dexon-solidity-605455f96b64f0c4b229cc31186f2dcf22433e6d.tar.zst dexon-solidity-605455f96b64f0c4b229cc31186f2dcf22433e6d.zip |
Tests for library checksums.
-rwxr-xr-x | scripts/tests.sh | 16 | ||||
-rwxr-xr-x | test/cmdlineTests.sh | 51 |
2 files changed, 53 insertions, 14 deletions
diff --git a/scripts/tests.sh b/scripts/tests.sh index dfbda734..cf18cb26 100755 --- a/scripts/tests.sh +++ b/scripts/tests.sh @@ -30,20 +30,8 @@ set -e REPO_ROOT="$(dirname "$0")"/.. - # Compile all files in std and examples. - -for f in "$REPO_ROOT"/std/*.sol -do - echo "Compiling $f..." - set +e - output=$("$REPO_ROOT"/build/solc/solc "$f" 2>&1) - failed=$? - # Remove the pre-release warning from the compiler output - output=$(echo "$output" | grep -v 'pre-release') - echo "$output" - set -e - test -z "$output" -a "$failed" -eq 0 -done +echo "Running commandline tests..." +"$REPO_ROOT/test/cmdlineTests.sh" # This conditional is only needed because we don't have a working Homebrew # install for `eth` at the time of writing, so we unzip the ZIP file locally diff --git a/test/cmdlineTests.sh b/test/cmdlineTests.sh new file mode 100755 index 00000000..fc48654a --- /dev/null +++ b/test/cmdlineTests.sh @@ -0,0 +1,51 @@ +#!/usr/bin/env bash + +#------------------------------------------------------------------------------ +# Bash script to run commandline 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) 2016 solidity contributors. +#------------------------------------------------------------------------------ + +set -e + +REPO_ROOT="$(dirname "$0")"/.. +SOLC="$REPO_ROOT/build/solc/solc" + + # Compile all files in std and examples. + +for f in "$REPO_ROOT"/std/*.sol +do + echo "Compiling $f..." + set +e + output=$("$SOLC" "$f" 2>&1) + failed=$? + # Remove the pre-release warning from the compiler output + output=$(echo "$output" | grep -v 'pre-release') + echo "$output" + set -e + test -z "$output" -a "$failed" -eq 0 +done + +# Test library checksum +echo 'contact C {}' | "$SOLC" --link --libraries a:0x90f20564390eAe531E810af625A22f51385Cd222 +! echo 'contract C {}' | "$SOLC" --link --libraries a:0x80f20564390eAe531E810af625A22f51385Cd222 2>/dev/null |