mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Formatting.
This commit is contained in:
parent
8825533222
commit
8690898ac1
@ -100,7 +100,8 @@ printTask "Testing unknown options..."
|
||||
failed=$?
|
||||
set -e
|
||||
|
||||
if [ "$output" == "unrecognised option '--allow=test'" ] && [ $failed -ne 0 ] ; then
|
||||
if [ "$output" == "unrecognised option '--allow=test'" ] && [ $failed -ne 0 ]
|
||||
then
|
||||
echo "Passed"
|
||||
else
|
||||
printError "Incorrect response to unknown options: $STDERR"
|
||||
@ -110,7 +111,8 @@ printTask "Testing unknown options..."
|
||||
|
||||
# General helper function for testing SOLC behaviour, based on file name, compile opts, exit code, stdout and stderr.
|
||||
# An failure is expected.
|
||||
test_solc_behaviour() {
|
||||
function test_solc_behaviour()
|
||||
{
|
||||
local filename="${1}"
|
||||
local solc_args="${2}"
|
||||
local solc_stdin="${3}"
|
||||
@ -122,7 +124,8 @@ test_solc_behaviour() {
|
||||
if [[ "$exit_code_expected" = "" ]]; then exit_code_expected="0"; fi
|
||||
|
||||
set +e
|
||||
if [[ "$solc_stdin" = "" ]]; then
|
||||
if [[ "$solc_stdin" = "" ]]
|
||||
then
|
||||
"$SOLC" "${filename}" ${solc_args} 1>$stdout_path 2>$stderr_path
|
||||
else
|
||||
"$SOLC" "${filename}" ${solc_args} <$solc_stdin 1>$stdout_path 2>$stderr_path
|
||||
@ -130,7 +133,8 @@ test_solc_behaviour() {
|
||||
exitCode=$?
|
||||
set -e
|
||||
|
||||
if [[ "$solc_args" == *"--standard-json"* ]]; then
|
||||
if [[ "$solc_args" == *"--standard-json"* ]]
|
||||
then
|
||||
sed -i -e 's/{[^{]*Warning: This is a pre-release compiler version[^}]*},\{0,1\}//' "$stdout_path"
|
||||
sed -i -e 's/"errors":\[\],\{0,1\}//' "$stdout_path"
|
||||
else
|
||||
@ -138,13 +142,15 @@ test_solc_behaviour() {
|
||||
sed -i -e 's/ Consider adding "pragma .*$//' "$stderr_path"
|
||||
fi
|
||||
|
||||
if [[ $exitCode -ne "$exit_code_expected" ]]; then
|
||||
if [[ $exitCode -ne "$exit_code_expected" ]]
|
||||
then
|
||||
printError "Incorrect exit code. Expected $exit_code_expected but got $exitCode."
|
||||
rm -f $stdout_path $stderr_path
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ "$(cat $stdout_path)" != "${stdout_expected}" ]]; then
|
||||
if [[ "$(cat $stdout_path)" != "${stdout_expected}" ]]
|
||||
then
|
||||
printError "Incorrect output on stdout received. Expected:"
|
||||
echo -e "${stdout_expected}"
|
||||
|
||||
@ -154,7 +160,8 @@ test_solc_behaviour() {
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ "$(cat $stderr_path)" != "${stderr_expected}" ]]; then
|
||||
if [[ "$(cat $stderr_path)" != "${stderr_expected}" ]]
|
||||
then
|
||||
printError "Incorrect output on stderr received. Expected:"
|
||||
echo -e "${stderr_expected}"
|
||||
|
||||
@ -179,9 +186,9 @@ test_solc_behaviour "${0}" "ctx:=/some/remapping/target" "" "" 1 "Invalid remapp
|
||||
|
||||
printTask "Running standard JSON commandline tests..."
|
||||
(
|
||||
cd "$REPO_ROOT"/test/cmdlineTests/
|
||||
for file in *.json
|
||||
do
|
||||
cd "$REPO_ROOT"/test/cmdlineTests/
|
||||
for file in *.json
|
||||
do
|
||||
args="--standard-json"
|
||||
stdin="$REPO_ROOT/test/cmdlineTests/$file"
|
||||
stdout=$(cat $file.stdout 2>/dev/null || true)
|
||||
@ -189,28 +196,28 @@ do
|
||||
err=$(cat $file.err 2>/dev/null || true)
|
||||
printTask " - $file"
|
||||
test_solc_behaviour "" "$args" "$stdin" "$stdout" "$exitCode" "$err"
|
||||
done
|
||||
done
|
||||
)
|
||||
|
||||
printTask "Running general commandline tests..."
|
||||
(
|
||||
cd "$REPO_ROOT"/test/cmdlineTests/
|
||||
for file in *.sol
|
||||
do
|
||||
cd "$REPO_ROOT"/test/cmdlineTests/
|
||||
for file in *.sol
|
||||
do
|
||||
args=$(cat $file.args 2>/dev/null || true)
|
||||
stdout=$(cat $file.stdout 2>/dev/null || true)
|
||||
exitCode=$(cat $file.exit 2>/dev/null || true)
|
||||
err=$(cat $file.err 2>/dev/null || true)
|
||||
printTask " - $file"
|
||||
test_solc_behaviour "$file" "$args" "" "$stdout" "$exitCode" "$err"
|
||||
done
|
||||
done
|
||||
)
|
||||
|
||||
printTask "Compiling various other contracts and libraries..."
|
||||
(
|
||||
cd "$REPO_ROOT"/test/compilationTests/
|
||||
for dir in *
|
||||
do
|
||||
cd "$REPO_ROOT"/test/compilationTests/
|
||||
for dir in *
|
||||
do
|
||||
if [ "$dir" != "README.md" ]
|
||||
then
|
||||
echo " - $dir"
|
||||
@ -218,7 +225,7 @@ do
|
||||
compileFull -w *.sol */*.sol
|
||||
cd ..
|
||||
fi
|
||||
done
|
||||
done
|
||||
)
|
||||
|
||||
printTask "Compiling all examples from the documentation..."
|
||||
@ -293,7 +300,8 @@ SOLTMPDIR=$(mktemp -d)
|
||||
)
|
||||
rm -rf "$SOLTMPDIR"
|
||||
|
||||
test_solc_assembly_output() {
|
||||
function test_solc_assembly_output()
|
||||
{
|
||||
local input="${1}"
|
||||
local expected="${2}"
|
||||
local solc_args="${3}"
|
||||
@ -342,7 +350,8 @@ SOLTMPDIR=$(mktemp -d)
|
||||
set -e
|
||||
|
||||
# This should fail
|
||||
if [[ !("$output" =~ "No input files given") || ($result == 0) ]] ; then
|
||||
if [[ !("$output" =~ "No input files given") || ($result == 0) ]]
|
||||
then
|
||||
printError "Incorrect response to empty input arg list: $STDERR"
|
||||
exit 1
|
||||
fi
|
||||
@ -353,7 +362,8 @@ SOLTMPDIR=$(mktemp -d)
|
||||
set -e
|
||||
|
||||
# The contract should be compiled
|
||||
if [[ "$result" != 0 ]] ; then
|
||||
if [[ "$result" != 0 ]]
|
||||
then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@ -361,7 +371,8 @@ SOLTMPDIR=$(mktemp -d)
|
||||
set +e
|
||||
output=$(echo '' | "$SOLC" --ast - 2>/dev/null)
|
||||
set -e
|
||||
if [[ $? != 0 ]] ; then
|
||||
if [[ $? != 0 ]]
|
||||
then
|
||||
exit 1
|
||||
fi
|
||||
)
|
||||
@ -379,14 +390,16 @@ SOLTMPDIR=$(mktemp -d)
|
||||
do
|
||||
set +e
|
||||
"$REPO_ROOT"/build/test/tools/solfuzzer --quiet < "$f"
|
||||
if [ $? -ne 0 ]; then
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
printError "Fuzzer failed on:"
|
||||
cat "$f"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
"$REPO_ROOT"/build/test/tools/solfuzzer --without-optimizer --quiet < "$f"
|
||||
if [ $? -ne 0 ]; then
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
printError "Fuzzer (without optimizer) failed on:"
|
||||
cat "$f"
|
||||
exit 1
|
||||
|
Loading…
Reference in New Issue
Block a user