Basic tests for the C++ compiler environments on hermit1.
* testing availability of the compiler via version check ("CC --version") * compiling C++ program including the stdexcept header
This commit is contained in:
parent
44fff0ff8f
commit
9e651b17c0
2 changed files with 55 additions and 0 deletions
3
tests/c++-compiler/stdexcept.cpp
Normal file
3
tests/c++-compiler/stdexcept.cpp
Normal file
|
@ -0,0 +1,3 @@
|
|||
#include <stdexcept>
|
||||
|
||||
int main(){return 0;}
|
52
tests/c++-compiler/test.sh
Executable file
52
tests/c++-compiler/test.sh
Executable file
|
@ -0,0 +1,52 @@
|
|||
#!/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
|
Loading…
Reference in a new issue