diff --git a/Installation/install_cgal b/Installation/install_cgal index 5df0983bcb7..057d1811436 100755 --- a/Installation/install_cgal +++ b/Installation/install_cgal @@ -721,7 +721,8 @@ set_dirs_dependant_on_cgal_dir() # --------------------------------------------- # installation logfile (verbose) - INSTALL_LOGFILE="${CGAL_DIR}/install.log" + INSTALL_LOGFILE_BASE="${CGAL_DIR}/install.log" + INSTALL_LOGFILE=${INSTALL_LOGFILE_BASE} # installation logfile (only completed compile/test runs) # (Really Important Stuff) @@ -887,7 +888,7 @@ set_compiler_flags() EXE_EXT=".exe" CGAL_LIBNAME="CGAL.lib" CGAL_QT_LIBNAME="CGALQt.lib" - CGAL_BENCHMARK_LIBNAME="CGALBenchmark.lib" + CGAL_BENCHMARK_LIBNAME="CGALBenchmark.lib" CORE_LIBNAME="core++.lib" CGAL_WIN_EXTRA_DIR=mswin MATH_LIB= @@ -4176,7 +4177,7 @@ _do_compile() # only libCGAL can be compiled as a shared lib. case ${CGAL_OS_COMPILER} in *Darwin*) - if [ "$1" != "libCGAL" ]; then + if [ "$1" != "libCGAL" ]; then ${_printf} "%s\n" " skipped." return 0 fi;; @@ -4443,11 +4444,14 @@ install_menu() # USES: ii _build_one() { + # use platform specific logfile + CONFIG_BASENAME="`${_basename} \"$1\"`" + INSTALL_LOGFILE="${INSTALL_LOGFILE_BASE}.${CONFIG_BASENAME}" log_to_file_and_screen log_print log_print \ "--------------------------------------------------------" - log_print "Build on `${_basename} \"$1\"`:" + log_print "Build on ${CONFIG_BASENAME}:" log_print \ "--------------------------------------------------------" log_to_file @@ -4482,12 +4486,15 @@ _build_one() log_print "Cannot rebuild the library." print_filled_line print_empty_line - print_headline "Cannot build on `${_basename} \"$1\"` !" + print_headline "Cannot build on ${CONFIG_BASENAME} !" print_headline "No COMPILER defined in config/install/..." print_filled_line write_buffer "\n" flush_buffer fi + # restore main logfile + INSTALL_LOGFILE=${INSTALL_LOGFILE_BASE} + log_to_file } diff --git a/Scripts/developer_scripts/autotest_cgal b/Scripts/developer_scripts/autotest_cgal index 898683124ac..8f8b312d0e3 100755 --- a/Scripts/developer_scripts/autotest_cgal +++ b/Scripts/developer_scripts/autotest_cgal @@ -5,7 +5,7 @@ # test internal CGAL releases # $Id$ # ---------------------------------------------------- -# You will need +# You will need # * GNU wget and ftp # * or alternatively curl # @@ -13,7 +13,7 @@ # cutomize it for your environment. # In particular you have to change the BUILHOSTS # variable to contain the names of your hosts and -# set the COMPILERS_ variables to the +# set the COMPILERS_ variables to the # os-compilers descriptions on which you want to run # the testsuite. # ---------------------------------------------------- @@ -180,21 +180,22 @@ remote_command() build_cgal_libs() { if [ -z "`value_of BUILD_ON_${1}`" ]; then - eval BUILD_ON_${1}="`value_of COMPILERS_${1}`" + eval "BUILD_ON_${1}=\"`value_of COMPILERS_${1}`\"" fi if [ "`value_of BUILD_ON_${1}`" = "all" ]; then - remote_command ${1} \ - "cd ${CGAL_DIR}; + remote_command ${1} \ + "cd ${CGAL_DIR}; ${CGAL_DIR}/install_cgal --CGAL_DIR ${CGAL_DIR} --rebuild-all" \ - >> ${ACTUAL_LOGFILE} 2>&1 + >> ${ACTUAL_LOGFILE} 2>&1 else - for j in `value_of BUILD_ON_${1}`; do - remote_command ${1} \ - "cd ${CGAL_DIR}; + for j in `value_of BUILD_ON_${1}`; do + remote_command ${1} \ + "cd ${CGAL_DIR}; ${CGAL_DIR}/install_cgal --CGAL_DIR ${CGAL_DIR} --rebuild ${j}" \ - >> ${ACTUAL_LOGFILE} 2>&1 - done + >> ${ACTUAL_LOGFILE} 2>&1 + done fi + cp ${CGAL_DIR}/install.log* ${CGAL_TEST_DIR}/ } #----------------------------------------------- @@ -205,7 +206,7 @@ build_cgal_libs() run_testsuite() { for i in ${2}; do - test_script ${1} ${i} + test_script ${1} ${i} done } @@ -214,8 +215,8 @@ run_testsuite() # test script NEW # create additional directories to test in parallel # on multiple platforms -# the variable PROCESSORS_electra, where electra is the -# name of the machine, is used to specify the number of +# the variable PROCESSORS_electra, where electra is the +# name of the machine, is used to specify the number of # processors to use # --------------------------------------------------- # $1 = HOST @@ -232,7 +233,6 @@ test_script() else MAKE_OPTS="-j ${NUMBER_OF_PROCESSORS}" fi - cat > ${CGAL_TEST_DIR}/localtestscript.${1} <> ${ACTUAL_LOGFILE} - + # update symbolic links rm ${OLD_CGAL_DIR} ln -s `basename ${CGAL_DIR}` ${OLD_CGAL_DIR} @@ -363,7 +364,7 @@ build_cgal() log_done ${ACTUAL_LOGFILE} ${COMPRESSOR} -9f ${ACTUAL_LOGFILE} mv ${ACTUAL_LOGFILE}.gz \ - ${LOGS_DIR}/${CGAL_RELEASE_ID}-log`datestr`.gz + ${LOGS_DIR}/${CGAL_RELEASE_ID}-log`datestr`.gz } @@ -375,7 +376,7 @@ run_test() { log ${ACTUAL_LOGFILE} "running the testsuites" if [ -n "${CONSOLE_OUTPUT}" ]; then - printf "\n-------------------------------------------------------\n" + printf "\n-------------------------------------------------------\n" fi for i in ${BUILD_HOSTS}; do run_testsuite ${i} "`value_of COMPILERS_${i}`" & diff --git a/Testsuite/test/collect_cgal_testresults b/Testsuite/test/collect_cgal_testresults index 170e9d83d9a..def43817e86 100755 --- a/Testsuite/test/collect_cgal_testresults +++ b/Testsuite/test/collect_cgal_testresults @@ -3,7 +3,7 @@ # ======================== # collect all files to generate the html page # containing the testsuite results -# +# # to be run in the CGAL/test directory or a local test directory. # $CGAL_MAKEFILE is used to find out $CGAL_DIR. # CGAL_TESTER, CGAL_TESTER_NAME, CGAL_TESTER_ADDRESS are also used as @@ -69,6 +69,20 @@ do_platform() cat "${CGAL_DIR}/config/install/${PLATFORM}" >> $RESULT_FILE echo "------------" >> $RESULT_FILE + if [ -f install.log.${1} ] ; then + grep -e "Compilation of .\+ ${2}" install.log.${1} \ + | awk '{ print $3 " " $4 " " $6; }' \ + | sed -e 's/succeeded\.$/y/' -e 's/failed\.$/n/' \ + | while read libname shared_or_static y_or_no; do + mkdir "${libname}_${shared_or_static}" + _buildlog_marker="build log for ${libname} ${shared_or_static} shown" + cat install.log.$1 \ + | sed -n "/${_buildlog_marker} below/,/${_buildlog_marker} above/ p" \ + > ${libname}_${shared_or_static}/$TEST_REPORT + echo ${libname}_${shared_or_static} $y_or_no >> $RESULT_FILE + done + fi + for DIR in $TEST_DIRECTORIES ; do if [ -d $DIR ] ; then echo " $DIR ..."