Skip to content

Commit

Permalink
Honor $CC and $CXX in test runner (#132)
Browse files Browse the repository at this point in the history
  • Loading branch information
sbc100 authored May 13, 2020
1 parent 5531968 commit 800231e
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 8 deletions.
27 changes: 21 additions & 6 deletions tests/run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,14 @@ set -ueo pipefail
# Top-level test runner. Usage is "run.sh" to run tests in compile-only mode,
# or "run.sh <runwasi>" where <runwasi> is a WASI-capable runtime to run the
# tests in full compile and execute mode.
#
# By default this script will look for `clang` and `clang++` in $PATH and
# assume that they are correctly configured with the sysroot in the default
# location. Alternatively, exporting $CC and $CXX allow more flexibility. e.g:
#
# export CXX="<wasi-sdk>/bin/clang++ --sysroot <wasi-sdk>/share/wasi-sysroot"
# export CCC="<wasi-sdk>/bin/clang --sysroot <wasi-sdk>/share/wasi-sysroot"
#

# Determine the wasm runtime to use, if one is provided.
if [ $# -gt 0 ]; then
Expand All @@ -12,30 +20,37 @@ else
runwasi=""
fi

cd compile-only
testdir=$(dirname $0)
CC=${CC:=clang}
CXX=${CXX:=clang++}

echo $CC
echo $CXX

cd $testdir/compile-only
for options in -O0 -O2 "-O2 -flto"; do
echo "===== Testing compile-only with $options ====="
for file in *.c; do
echo "Testing compile-only $file..."
../testcase.sh "" clang "$options" "$file"
../testcase.sh "" "$CC" "$options" "$file"
done
for file in *.cc; do
echo "Testing compile-only $file..."
../testcase.sh "" clang++ "$options" "$file"
../testcase.sh "" "$CXX" "$options" "$file"
done
done
cd - >/dev/null

cd general
cd $testdir/general
for options in -O0 -O2 "-O2 -flto"; do
echo "===== Testing with $options ====="
for file in *.c; do
echo "Testing $file..."
../testcase.sh "$runwasi" clang "$options" "$file"
../testcase.sh "$runwasi" "$CC" "$options" "$file"
done
for file in *.cc; do
echo "Testing $file..."
../testcase.sh "$runwasi" clang++ "$options" "$file"
../testcase.sh "$runwasi" "$CXX" "$options" "$file"
done
done
cd - >/dev/null
4 changes: 2 additions & 2 deletions tests/testcase.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ set -ueo pipefail
# Command-line parsing; this script is meant to be run from a higher-level
# script, so don't do anything fancy.
runwasi="$1"
clang="$2"
compiler="$2"
options="$3"
input="$4"

Expand All @@ -27,7 +27,7 @@ fi
echo "Testing $input..."

# Compile the testcase.
"$clang" $options $file_options "$input" -o "$wasm"
$compiler $options $file_options "$input" -o "$wasm"

# If we don't have a runwasi command, we're just doing compile-only testing.
if [ "$runwasi" == "" ]; then
Expand Down

0 comments on commit 800231e

Please sign in to comment.