sit/tests/c++-compiler/test.sh

53 lines
1.2 KiB
Bash
Raw Normal View History

#!/bin/bash -l
compilers="pgi gcc cray"
compiler_version_cmd() {
case $1 in
cray|gcc)
cmd="CC --version"
;;
pgi)
cmd="CC -V"
;;
*)
echo "Unknown compiler $1"
esac
echo $cmd
$cmd
}
compiler_check_stdexcept() {
cmd="CC stdexcept.cpp"
echo $cmd
$cmd
}
swap_env() {
currentPrgEnv=$(module li 2>&1 | awk '/PrgEnv/{print $2}')
if [ "$1" == gcc ] ; then
newPrgEnv="gnu"
else
newPrgEnv=$1
fi
module swap $currentPrgEnv PrgEnv-$newPrgEnv
}
pwd
for compiler in $compilers; do
for version in $(module av $compiler -l 2>&1 | awk "/^$compiler/{print \$1}" | awk -F'/' '{print $2}'); do
echo "--------------------------------------------------"
echo "testing $compiler/$version ..."
echo "--------------------------------------------------"
swap_env $compiler
module swap $compiler $compiler/$version
compiler_version_cmd $compiler
compiler_check_stdexcept $compiler
echo "--------------------------------------------------"
done
echo "--------------------------------------------------"
echo ""
done 2>&1 | tee compiler-test.log