mirror of https://github.com/CGAL/cgal
87 lines
2.6 KiB
Bash
Executable File
87 lines
2.6 KiB
Bash
Executable File
#! /bin/sh
|
|
|
|
# This is a script for the CGAL test suite. Such a script must obey
|
|
# the following rules:
|
|
#
|
|
# - the name of the script is cgal_test
|
|
# - for every target two one line messages are written to the file 'error.txt'
|
|
# the first one indicates if the compilation was successful
|
|
# the second one indicates if the execution was successful
|
|
# if one of the two was not successful, the line should start with 'ERROR:'
|
|
# - running the script should not require any user interaction
|
|
# - the script should clean up object files and executables
|
|
|
|
ERRORFILE=error.txt
|
|
|
|
#---------------------------------------------------------------------#
|
|
# compile_and_run <target>
|
|
#---------------------------------------------------------------------#
|
|
|
|
compile_and_run()
|
|
{
|
|
echo "Compiling $1 ... "
|
|
SUCCES="y"
|
|
if eval 'make CGAL_MAKEFILE=$CGAL_MAKEFILE \
|
|
TESTSUITE_CXXFLAGS="$TESTSUITE_CXXFLAGS" \
|
|
TESTSUITE_LDFLAGS="$TESTSUITE_LDFLAGS" $1' ; then
|
|
echo " succesful compilation of $1" >> $ERRORFILE
|
|
else
|
|
echo " ERROR: compilation of $1" >> $ERRORFILE
|
|
SUCCES=""
|
|
fi
|
|
|
|
if [ -n "${SUCCES}" ] ; then
|
|
OUTPUTFILE=ProgramOutput.$1.$PLATFORM
|
|
rm -f $OUTPUTFILE
|
|
COMMAND="./$1"
|
|
if [ -f $1.cmd ] ; then
|
|
COMMAND="$COMMAND `cat $1.cmd`"
|
|
fi
|
|
if [ -f $1.cin ] ; then
|
|
COMMAND="cat $1.cin | $COMMAND"
|
|
fi
|
|
echo "Executing $1 ... "
|
|
echo
|
|
ulimit -t 1200
|
|
if eval $COMMAND > $OUTPUTFILE 2>&1 ; then
|
|
echo " succesful execution of $1" >> $ERRORFILE
|
|
else
|
|
echo " ERROR: execution of $1" >> $ERRORFILE
|
|
fi
|
|
else
|
|
echo " ERROR: not executed $1" >> $ERRORFILE
|
|
fi
|
|
|
|
eval "make CGAL_MAKEFILE=$CGAL_MAKEFILE clean > /dev/null 2>&1 "
|
|
}
|
|
|
|
#---------------------------------------------------------------------#
|
|
# remove the previous error file
|
|
#---------------------------------------------------------------------#
|
|
|
|
rm -f $ERRORFILE
|
|
touch $ERRORFILE
|
|
|
|
#---------------------------------------------------------------------#
|
|
# compile and run the tests
|
|
#---------------------------------------------------------------------#
|
|
|
|
if [ $# -ne 0 ] ; then
|
|
for file in $* ; do
|
|
compile_and_run $file
|
|
done
|
|
else
|
|
compile_and_run Cartesian
|
|
compile_and_run Dimension
|
|
compile_and_run Filtered_cartesian
|
|
compile_and_run Filtered_homogeneous
|
|
compile_and_run Homogeneous
|
|
compile_and_run Kernel_checker
|
|
compile_and_run Simple_cartesian
|
|
compile_and_run Simple_homogeneous
|
|
compile_and_run test_kernel_archetype_2
|
|
compile_and_run test_kernel_archetype_3
|
|
compile_and_run test_kernel__
|
|
fi
|
|
|