mirror of https://github.com/CGAL/cgal
Update all testsuite scripts, using master versions
This commit is contained in:
parent
a6e555c2ac
commit
07cfbc21d8
|
|
@ -24,7 +24,7 @@
|
|||
#sets the umask to 022 & 0777
|
||||
umask 022
|
||||
|
||||
# Warn deprecated use of enviroment variables to pass on flags
|
||||
# Warn deprecated use of environment variables to pass on flags
|
||||
if [ -n "$TESTSUITE_CXXFLAGS" ] ; then
|
||||
echo "\$TESTSUITE_CXXFLAGS is deprecated. Please use the CMAKE variable (CMAKE|CGAL)_CXX_FLAGS instead" >&2;
|
||||
fi
|
||||
|
|
@ -380,6 +380,8 @@ setup_dirs()
|
|||
CGAL_DIR=`readlink "${CGAL_ROOT}/CGAL-I"`
|
||||
|
||||
CGAL_TEST_DIR=${CGAL_DIR}/test
|
||||
CGAL_DATA_DIR=${CGAL_DIR}/data
|
||||
export CGAL_DATA_DIR=$(echo "$CGAL_DATA_DIR" | sed -E 's/\/cygdrive\/([a-z])\//\U\1:\//')
|
||||
|
||||
if [ ! -d "${CGAL_DIR}/cmake" ]; then
|
||||
mkdir "${CGAL_DIR}/cmake"
|
||||
|
|
@ -619,9 +621,7 @@ LIST_TEST_PACKAGES='${LIST_TEST_PACKAGES}'
|
|||
CGAL_ROOT='${CGAL_ROOT}'
|
||||
|
||||
rm -rf '${CGAL_BINARY_DIR}/test';
|
||||
|
||||
if [ -f '${LIST_TEST_PACKAGES}' ]; then
|
||||
|
||||
mkdir '${CGAL_BINARY_DIR}/test'
|
||||
|
||||
cp '${CGAL_TEST_DIR}/collect_cgal_testresults_from_cmake' '${CGAL_BINARY_DIR}/test'
|
||||
|
|
@ -633,7 +633,10 @@ if [ -f '${LIST_TEST_PACKAGES}' ]; then
|
|||
for PACKAGE in \$(ls "${CGAL_TEST_DIR}"); do
|
||||
if [ -d "${CGAL_TEST_DIR}/\$PACKAGE" ]; then
|
||||
if source '${LIST_TEST_PACKAGES}' '${CGAL_ROOT}' | egrep -q \$PACKAGE; then
|
||||
mkdir "\${CGAL_BINARY_DIR}/test/\${PACKAGE}"
|
||||
mkdir "${CGAL_BINARY_DIR}/test/\${PACKAGE}"
|
||||
cp -r "${CGAL_TEST_DIR}/\${PACKAGE}" '${CGAL_BINARY_DIR}/test'
|
||||
elif [ "\$PACKAGE" = "resources" ]; then
|
||||
mkdir "${CGAL_BINARY_DIR}/test/\${PACKAGE}"
|
||||
cp -r "${CGAL_TEST_DIR}/\${PACKAGE}" '${CGAL_BINARY_DIR}/test'
|
||||
else
|
||||
mkdir "${CGAL_BINARY_DIR}/test/\${PACKAGE}"
|
||||
|
|
@ -661,7 +664,20 @@ echo 'COLLECTING RESULTS';
|
|||
./collect_cgal_testresults_from_cmake;
|
||||
if [ -n "\$COLLECT_DEMOS_BINARIES" ]; then
|
||||
echo 'COLLECTING DEMOS BINARIES';
|
||||
tar czvf '${CGAL_TEST_DIR}/demos_${CGAL_TESTER}_${PLATFORM}.tar.gz' *_Demo/*.exe *_Demo/*.dll *_Demo/*/*.dll *_Demo/*/*/*.dll
|
||||
echo "cp ${CGAL_TEST_DIR}/../developer_scripts/cgal_demo_copy_all_dlls_cygwin.sh ${CGAL_BINARY_DIR}/test"
|
||||
cp "${CGAL_TEST_DIR}/../developer_scripts/cgal_demo_copy_all_dlls_cygwin.sh" "${CGAL_BINARY_DIR}/test"
|
||||
EOF
|
||||
cat >> "$file" <<'EOF'
|
||||
for demo_dir in *_Demo; do
|
||||
echo "pushd ${demo_dir}"
|
||||
pushd "${demo_dir}"
|
||||
bash ../cgal_demo_copy_all_dlls_cygwin.sh "${demo_dir}_with_dlls" ""
|
||||
mv "${demo_dir}_with_dlls" ..
|
||||
popd
|
||||
done
|
||||
EOF
|
||||
cat >> "$file" <<EOF
|
||||
tar czvf "${CGAL_TEST_DIR}/demos_${CGAL_TESTER}_${PLATFORM}.tar.gz" *_Demo_with_dlls/*
|
||||
fi
|
||||
echo 'COPYING RESULTS';
|
||||
cp 'results_${CGAL_TESTER}_${PLATFORM}.tar.gz' 'results_${CGAL_TESTER}_${PLATFORM}.txt' '${CGAL_TEST_DIR}';
|
||||
|
|
|
|||
|
|
@ -1,5 +1,3 @@
|
|||
#!/bin/bash
|
||||
|
||||
#!/bin/bash
|
||||
#usage : script [-c -l -n -s -k] testsuite_dir
|
||||
|
||||
|
|
@ -23,8 +21,8 @@ export TAR="tar"
|
|||
export GUNZIP="gunzip"
|
||||
export COMPRESSOR="gzip"
|
||||
export CONSOLE_OUTPUT="y"
|
||||
export CGAL_HOME=`pwd`
|
||||
export USE_TARGZ="n"
|
||||
export CGAL_HOME=$(pwd | sed -E 's/\/cygdrive\/([a-z])\//\U\1:\//')
|
||||
export USE_TARGZ="y"
|
||||
export USE_TARBZ="n"
|
||||
export CGAL_RELEASE=""
|
||||
export LOGS_DIR=""
|
||||
|
|
@ -35,6 +33,15 @@ export INSTALLATION_DIR=""
|
|||
export TESTSUITE_DIR=""
|
||||
USE_LATEST_UNZIPPED=""
|
||||
|
||||
# ----------------------------------------------------------------------------------------
|
||||
# produce a string containing the actual date/time
|
||||
# (used to identify files)
|
||||
# ----------------------------------------------------------------------------------------
|
||||
datestr()
|
||||
{
|
||||
date +%d%m%Y%H%M
|
||||
}
|
||||
|
||||
# ----------------------------------------------------------------------------------------
|
||||
# Logging functions
|
||||
# ----------------------------------------------------------------------------------------
|
||||
|
|
@ -61,7 +68,24 @@ log_done()
|
|||
printf "\n-------------------------------------------------------\n" >> "${1}"
|
||||
}
|
||||
|
||||
|
||||
error()
|
||||
{
|
||||
if [ -n "${CONSOLE_OUTPUT}" ]; then
|
||||
printf "\nERROR: ${*}, exiting.\n" >&2
|
||||
fi
|
||||
printf "\nERROR: ${*}, exiting.\n" >> "${ACTUAL_LOGFILE}"
|
||||
${COMPRESSOR} -9f "${ACTUAL_LOGFILE}"
|
||||
FILENAME="${CGAL_RELEASE_ID}-log`datestr`.gz"
|
||||
mv "${ACTUAL_LOGFILE}.gz" "${LOGS_DIR}/${FILENAME}"
|
||||
if [ ! "${MAIL_ADDRESS}" = "must_be_set_in_.autocgalrc" ]; then
|
||||
for i in ${MAIL_ADDRESS}; do
|
||||
printf "ERROR\n${LOGS_DIR}/${FILENAME}\n" | \
|
||||
${SENDMAIL} -s "completed autotest" "${i}"
|
||||
done
|
||||
fi
|
||||
rm -rf "$LOCK_FILE";
|
||||
exit 1
|
||||
}
|
||||
|
||||
# ----------------------------------------------------------------------------------------
|
||||
# Downloads the file "LATEST" whose contents indicates which release to test
|
||||
|
|
@ -73,8 +97,10 @@ download_latest()
|
|||
fi
|
||||
log "${ACTUAL_LOGFILE}" "getting LATEST"
|
||||
if [ -n "${USE_CURL}" ]; then
|
||||
echo "using curl..."
|
||||
${CURL} ${CURL_OPTS} "${LATEST_LOCATION}" >> "${ACTUAL_LOGFILE}" 2>&1
|
||||
else
|
||||
echo "using wget..."
|
||||
${WGET} ${WGET_OPTS} "${LATEST_LOCATION}" >> "${ACTUAL_LOGFILE}" 2>&1
|
||||
fi
|
||||
if [ ! -f "LATEST" ]; then
|
||||
|
|
@ -90,8 +116,7 @@ download_latest()
|
|||
abort_if_latest_already_tested()
|
||||
{
|
||||
if [ -r "RELEASE_NR" ]; then
|
||||
cmp LATEST RELEASE_NR >> "${ACTUAL_LOGFILE}"
|
||||
if [ ! ${?} != 0 ]; then
|
||||
if cmp LATEST RELEASE_NR >> "${ACTUAL_LOGFILE}"; then
|
||||
log "${ACTUAL_LOGFILE}" "This release has already been tested."
|
||||
rm -f "$LOCK_FILE";
|
||||
exit 1;
|
||||
|
|
@ -258,6 +283,8 @@ else
|
|||
CGAL_DIR=`readlink "${CGAL_HOME}/CGAL-I"`
|
||||
fi
|
||||
|
||||
CGAL_DIR=$(echo "$CGAL_DIR" | sed -E 's/\/cygdrive\/([a-z])\//\U\1:\//')
|
||||
|
||||
CGAL_RELEASE_ID=$(cat last_release_id)
|
||||
for HOST in ${BUILD_HOSTS}; do
|
||||
if [ "$HOST" != "localhost" ]; then
|
||||
|
|
|
|||
|
|
@ -176,7 +176,7 @@ setup_dirs()
|
|||
if [ -n "${USE_REFERENCE_PLATFORMS}" ]; then
|
||||
collect_all_reference_platforms
|
||||
fi
|
||||
|
||||
|
||||
for PLATFORM in ${PLATFORMS}; do
|
||||
|
||||
CGAL_BINARY_DIR=${CGAL_BINARY_DIR_BASE}/${PLATFORM}
|
||||
|
|
@ -226,9 +226,9 @@ publish_results()
|
|||
${TAR} cf "test_results-${HOST}_${PLATFORM}.tar" "results_${CGAL_TESTER}_${PLATFORM}.tar.gz" "results_${CGAL_TESTER}_${PLATFORM}.txt"
|
||||
${COMPRESSOR} -9f "test_results-${HOST}_${PLATFORM}.tar"
|
||||
COMPILER=`printf "%s" "$1" | tr -c '[A-Za-z0-9]./[=-=]*_\'\''\":?() ' 'x'`
|
||||
|
||||
|
||||
FILENAME="${CGAL_RELEASE_ID}_${CGAL_TESTER}-test`datestr`-${COMPILER}-cmake.tar.gz"
|
||||
|
||||
|
||||
LOGFILENAME="${CGAL_RELEASE_ID}-log`datestr`-${HOST}.gz"
|
||||
${COMPRESSOR} -9f "${ACTUAL_LOGFILE}.test.${PLATFORM}"
|
||||
mv "${ACTUAL_LOGFILE}.test.${PLATFORM}.gz" "${LOGS_DIR}/${LOGFILENAME}"
|
||||
|
|
@ -258,20 +258,25 @@ run_test_on_platform()
|
|||
CGAL_BINARY_DIR=${CGAL_BINARY_DIR_BASE}/${PLATFORM}
|
||||
cd "${CGAL_BINARY_DIR}"
|
||||
log "${ACTUAL_LOGFILE}.test.${PLATFORM}" "Testing on host ${HOST} and platform ${PLATFORM}"
|
||||
INIT_FILE="${CGAL_HOME}/${REFERENCE_PLATFORMS_DIR}/${PLATFORM}.cmake"
|
||||
|
||||
if [ -f "${CGAL_HOME}/${REFERENCE_PLATFORMS_DIR}/${PLATFORM}/setup" ]; then
|
||||
source "${CGAL_HOME}/${REFERENCE_PLATFORMS_DIR}/${PLATFORM}/setup"
|
||||
else
|
||||
INIT_FILE="${CGAL_HOME}/${REFERENCE_PLATFORMS_DIR}/${PLATFORM}.cmake"
|
||||
fi
|
||||
if [ ! -f "${INIT_FILE}" ]; then
|
||||
echo "error NEED A INIT FILE !"
|
||||
fi
|
||||
cmake ${INIT_FILE:+"-C${INIT_FILE}"} '${CMAKE_GENERATOR}' -DBUILD_TESTING=OFF -DWITH_tests=OFF -DWITH_CGAL_Qt5=OFF -DCGAL_HEADER_ONLY=ON $CGAL_DIR>installation.log 2>&1
|
||||
cmake ${INIT_FILE:+"-C${INIT_FILE}"} -DBUILD_TESTING=ON -DWITH_tests=ON -DCGAL_TEST_SUITE=ON $CGAL_DIR>installation.log 2>&1
|
||||
rm CMakeCache.txt
|
||||
CMAKE_OPTS="-DCGAL_TEST_SUITE=ON -DCMAKE_VERBOSE_MAKEFILE=ON"
|
||||
CMAKE_OPTS="-DCGAL_TEST_SUITE=ON -DCMAKE_VERBOSE_MAKEFILE=ON -DWITH_tests=ON"
|
||||
if [ -n "${SCRIPTS_DIR}" ]; then
|
||||
CMAKE_OPTS="${CMAKE_OPTS} -DWITH_examples=ON -DWITH_demos=ON"
|
||||
fi
|
||||
if [ -z "${SHOW_PROGRESS}" ]; then
|
||||
cmake ${INIT_FILE:+"-C${INIT_FILE}"} '${CMAKE_GENERATOR}' -DBUILD_TESTING=ON ${CMAKE_OPTS} $CGAL_DIR >package_installation.log 2>&1
|
||||
cmake ${INIT_FILE:+"-C${INIT_FILE}"} -DBUILD_TESTING=ON ${CMAKE_OPTS} $CGAL_DIR >package_installation.log 2>&1
|
||||
else
|
||||
cmake ${INIT_FILE:+"-C${INIT_FILE}"} '${CMAKE_GENERATOR}' -DBUILD_TESTING=ON ${CMAKE_OPTS} $CGAL_DIR 2>&1 |tee package_installation.log
|
||||
cmake ${INIT_FILE:+"-C${INIT_FILE}"} -DBUILD_TESTING=ON ${CMAKE_OPTS} $CGAL_DIR 2>&1 |tee package_installation.log
|
||||
fi
|
||||
LIST_TEST_FILE="${CGAL_HOME}/list_test_packages"
|
||||
if [ -f ${LIST_TEST_FILE} ]; then
|
||||
|
|
@ -279,7 +284,7 @@ run_test_on_platform()
|
|||
fi
|
||||
INIT=""
|
||||
for pkg in $LIST_TEST_PACKAGES; do
|
||||
if [ -z "$INIT" ]; then
|
||||
if [ -z "$INIT" ]; then
|
||||
TO_TEST=$pkg
|
||||
INIT="y"
|
||||
else
|
||||
|
|
@ -289,11 +294,15 @@ run_test_on_platform()
|
|||
#unsets the limit of 1024 bits for the logs through ssh
|
||||
echo "SET(CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE 1000000000)" > CTestCustom.cmake
|
||||
echo "SET(CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE 1000000000)" >> CTestCustom.cmake
|
||||
CTEST_OPTS="-T Start -T Test --timeout 1200 -j${NUMBER_OF_PROCESSORS} ${DO_NOT_TEST:+-E execution___of__} "
|
||||
|
||||
CTEST_OPTS="-T Start -T Test --timeout 1200 ${DO_NOT_TEST:+-E execution___of__}"
|
||||
if uname | grep -q "CYGWIN"; then
|
||||
CTEST_OPTS="-C ${CONFIG_TYPE} ${CTEST_OPTS}"
|
||||
fi
|
||||
if [ -z "${SHOW_PROGRESS}" ]; then
|
||||
ctest ${TO_TEST:+-L ${TO_TEST} } ${CTEST_OPTS} ${KEEP_TESTS:+-FC .}> tmp.txt
|
||||
ctest ${TO_TEST:+-L ${TO_TEST} } ${CTEST_OPTS} -j${NUMBER_OF_PROCESSORS} ${KEEP_TESTS:+-FC .}>tmp.txt
|
||||
else
|
||||
ctest ${CTEST_OPTS} ${TO_TEST:+-L ${TO_TEST}} ${KEEP_TESTS:+-FC .}|tee tmp.txt
|
||||
ctest ${TO_TEST:+-L ${TO_TEST} } ${CTEST_OPTS} -j${NUMBER_OF_PROCESSORS} ${KEEP_TESTS:+-FC .}|tee tmp.txt
|
||||
fi
|
||||
#####################
|
||||
## GET RESULTS ##
|
||||
|
|
@ -309,18 +318,21 @@ run_test_on_platform()
|
|||
else
|
||||
echo "CGAL_VERSION ${CGAL_GIT_VERSION}">> "$RESULT_FILE"
|
||||
fi
|
||||
sed -n '/The CXX compiler/s/-- The CXX compiler identification is/COMPILER_VERSION =/p' < "${CGAL_BINARY_DIR}/installation.log" |sed -E "s/ = (.*)/\ = '\1\'/">> "$RESULT_FILE"
|
||||
echo "TESTER ${CGAL_TESTER}" >> "$RESULT_FILE"
|
||||
echo "TESTER_NAME ${CGAL_TESTER}" >> "$RESULT_FILE"
|
||||
echo "TESTER_ADDRESS ${TESTER_ADDRESS}" >> "$RESULT_FILE"
|
||||
echo "CGAL_TEST_PLATFORM ${PLATFORM}" >> "$RESULT_FILE"
|
||||
grep -e "^-- USING " "${CGAL_BINARY_DIR}/installation.log" >> $RESULT_FILE
|
||||
grep -e "^-- USING " "${CGAL_BINARY_DIR}/installation.log"|sort -u >> $RESULT_FILE
|
||||
#Use sed to get the content of DEBUG or RELEASE CXX FLAGS so that Multiconfiguration platforms do provide their CXXXFLAGS to the testsuite page (that greps USING CXXFLAGS to get info)
|
||||
sed -i -E 's/(^-- USING )(DEBUG|RELEASE) (CXXFLAGS)/\1\3/' $RESULT_FILE
|
||||
echo "------------" >> "$RESULT_FILE"
|
||||
#if git branch, create empty scm file for python script
|
||||
if [ -n "${SCRIPTS_DIR}" ]; then
|
||||
touch ../../../../../.scm-branch
|
||||
fi
|
||||
python3 ${CGAL_DIR}/${TESTSUITE_DIR}test/parse-ctest-dashboard-xml.py $CGAL_TESTER $PLATFORM
|
||||
|
||||
|
||||
for file in $(ls|grep _Tests); do
|
||||
mv $file "$(echo "$file" | sed 's/_Tests//g')"
|
||||
done
|
||||
|
|
@ -329,7 +341,7 @@ run_test_on_platform()
|
|||
mkdir -p Installation
|
||||
chmod 777 Installation
|
||||
cat "${CGAL_BINARY_DIR}/package_installation.log" >> "Installation/${TEST_REPORT}"
|
||||
|
||||
|
||||
#call the python script to complete the results report.
|
||||
python3 ${CGAL_DIR}/${TESTSUITE_DIR}test/post_process_ctest_results.py Installation/${TEST_REPORT} ${TEST_REPORT} results_${CGAL_TESTER}_${PLATFORM}.txt
|
||||
rm -f $OUTPUT_FILE $OUTPUT_FILE.gz
|
||||
|
|
@ -351,7 +363,7 @@ run_test_on_host()
|
|||
collect_all_current_platforms "${CGAL_BINARY_DIR_BASE}"
|
||||
fi
|
||||
|
||||
for PLATFORM in ${PLATFORMS}; do
|
||||
for PLATFORM in ${PLATFORMS}; do
|
||||
run_test_on_platform "${PLATFORM}"
|
||||
publish_results "${PLATFORM}"
|
||||
if [ -z "${KEEP_TESTS}" ]; then
|
||||
|
|
@ -365,21 +377,7 @@ run_test_on_host()
|
|||
setup_dirs
|
||||
|
||||
|
||||
# Setup cmake
|
||||
if uname | grep -q "CYGWIN"; then
|
||||
JOM="`which jom`"
|
||||
if [ -e "$JOM" ]; then
|
||||
CMAKE_GENERATOR='-GNMake Makefiles JOM'
|
||||
MAKE_CMD='jom'
|
||||
else
|
||||
CMAKE_GENERATOR='-GNMake Makefiles'
|
||||
MAKE_CMD='nmake'
|
||||
fi
|
||||
IS_CYGWIN='y'
|
||||
else
|
||||
MAKE_CMD='make'
|
||||
fi
|
||||
|
||||
# Setup cmake
|
||||
log "${ACTUAL_LOGFILE}" "running the testsuites"
|
||||
if [ -n "${CONSOLE_OUTPUT}" ]; then
|
||||
printf "\n-------------------------------------------------------\n"
|
||||
|
|
|
|||
|
|
@ -9,8 +9,8 @@
|
|||
|
||||
|
||||
if [ -z "${CGAL_TEST_PLATFORM}" ]; then
|
||||
|
||||
CGAL_TEST_PLATFORM=`dirname $PWD`
|
||||
|
||||
CGAL_TEST_PLATFORM=`dirname $PWD`
|
||||
echo "CGAL_TEST_PLATFORM not in the environment, setting it to ${CGAL_TEST_PLATFORM}"
|
||||
fi
|
||||
|
||||
|
|
@ -24,14 +24,16 @@ GENERAL_BUILD_LOGFILE=''
|
|||
PLATFORM_BUILD_LOGFILE=''
|
||||
TEST_REPORT=''
|
||||
RESULT_FILE=''
|
||||
shared_or_static=''
|
||||
|
||||
#print_testresult <platform> <directory>
|
||||
# print result on stdout
|
||||
# print timings on fd3
|
||||
print_testresult()
|
||||
{
|
||||
if [ ! -f ErrorOutput_$1 ] ; then
|
||||
if [ -f skipped ]; then
|
||||
RESULT="s"
|
||||
TIMING="0"
|
||||
elif [ ! -f ErrorOutput_$1 ] ; then
|
||||
RESULT="?"
|
||||
TIMING="?"
|
||||
else
|
||||
|
|
@ -51,19 +53,19 @@ print_testresult()
|
|||
# 'QMessageBox::warning'.
|
||||
if grep -v -F 'CMake Warning at /usr/share/cmake/Modules/FindBoost' CompilerOutput_$1 ProgramOutput.*.$1 | grep -i -E -q '(^|[^a-zA-Z_,:-])warning'
|
||||
then
|
||||
if grep -v -F 'CMake Warning at /usr/share/cmake/Modules/FindBoost' CompilerOutput_$1 ProgramOutput.*.$1 | grep -i -E '(^|[^a-zA-Z_,:-])warning' | grep -i -q "include[/\]CGAL\|cmake"
|
||||
if grep -v -F 'CMake Warning at /usr/share/cmake/Modules/FindBoost' CompilerOutput_$1 ProgramOutput.*.$1 | grep -i -E '(^|[^a-zA-Z_,:-])warning' | grep -i -q "include[/\]CGAL\|cmake\|CGAL warning"
|
||||
then
|
||||
RESULT="w"
|
||||
else
|
||||
RESULT="t"
|
||||
fi
|
||||
else
|
||||
if grep -E -q 'NOTICE: .*(need|require|incompatible).*and.*will not be' CompilerOutput_$1
|
||||
then
|
||||
RESULT="r"
|
||||
if grep -E -q 'NOTICE: .*(need|require|incompatible).*will not be' CompilerOutput_$1
|
||||
then
|
||||
RESULT="r"
|
||||
else
|
||||
RESULT="y"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
TIMING=`awk '/^ # Running time: / {print $4}' < ErrorOutput_$1`
|
||||
|
|
@ -72,81 +74,19 @@ print_testresult()
|
|||
echo "$2 $RESULT"
|
||||
}
|
||||
|
||||
|
||||
parse_shared_or_static()
|
||||
{
|
||||
if [ -f "${PLATFORM_BUILD_LOGFILE}" ] ; then
|
||||
|
||||
if grep "Building shared libraries" ${PLATFORM_BUILD_LOGFILE} >/dev/null 2>&1; then
|
||||
shared_or_static='shared'
|
||||
else
|
||||
shared_or_static='static'
|
||||
fi
|
||||
|
||||
else
|
||||
shared_or_static='shared'
|
||||
fi
|
||||
}
|
||||
|
||||
parse_flags_and_third_party_choices()
|
||||
{
|
||||
grep -e "^-- USING " ${PLATFORM_BUILD_LOGFILE} >> $RESULT_FILE
|
||||
grep -e "^-- USING " ${PLATFORM_BUILD_LOGFILE} >> $RESULT_FILE
|
||||
echo "------------" >> $RESULT_FILE
|
||||
}
|
||||
|
||||
parse_lib_building_results()
|
||||
{
|
||||
libname=$1
|
||||
target=$2
|
||||
|
||||
if [ ! -e "${libname}_${shared_or_static}" ]; then
|
||||
mkdir "${libname}_${shared_or_static}"
|
||||
fi
|
||||
|
||||
y_or_no='n'
|
||||
|
||||
configured=''
|
||||
|
||||
if [ -f "${PLATFORM_BUILD_LOGFILE}" ]; then
|
||||
|
||||
if grep -q "Built target ${target}" ${PLATFORM_BUILD_LOGFILE} ; then
|
||||
y_or_no='y'
|
||||
fi
|
||||
|
||||
marker_beg=`grep -e "${target}.dir/depend$" ${PLATFORM_BUILD_LOGFILE} | head -1`
|
||||
|
||||
if [ -n "${marker_beg}" ]; then
|
||||
|
||||
configured='y'
|
||||
|
||||
if [ ! "$target" = "CGAL" ]; then
|
||||
cat ${PLATFORM_BUILD_LOGFILE} | sed -n "\|${marker_beg}|,\|depend$| p" >> ${libname}_${shared_or_static}/$TEST_REPORT
|
||||
fi
|
||||
|
||||
# Test if there is a warning in the build log.
|
||||
if [ "$y_or_no" = "y" ]; then
|
||||
# See the comment line 38.
|
||||
if grep -i -E -q '(^|[^a-zA-Z_,:-])warning' ${libname}_${shared_or_static}/$TEST_REPORT ; then
|
||||
y_or_no='w'
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -z "${configured}" ] ; then
|
||||
y_or_no='r'
|
||||
echo "Not configured!" >> ${libname}_${shared_or_static}/$TEST_REPORT
|
||||
fi
|
||||
|
||||
echo ${libname}_${shared_or_static} $y_or_no >> $RESULT_FILE
|
||||
}
|
||||
|
||||
output_main_logs()
|
||||
{
|
||||
[ -e Installation ] || mkdir "Installation"
|
||||
|
||||
|
||||
INSTALLATION_TEST_REPORT="Installation/$TEST_REPORT"
|
||||
|
||||
|
||||
echo "---------------------------------------------------------------" >> "$INSTALLATION_TEST_REPORT"
|
||||
echo " General Build Log " >> "$INSTALLATION_TEST_REPORT"
|
||||
echo "---------------------------------------------------------------" >> "$INSTALLATION_TEST_REPORT"
|
||||
|
|
@ -154,9 +94,9 @@ output_main_logs()
|
|||
if [ -f "${GENERAL_BUILD_LOGFILE}" ] ; then
|
||||
cat "${GENERAL_BUILD_LOGFILE}" >> "$INSTALLATION_TEST_REPORT"
|
||||
else
|
||||
echo "Not found!" >> "$INSTALLATION_TEST_REPORT"
|
||||
echo "Not found!" >> "$INSTALLATION_TEST_REPORT"
|
||||
fi
|
||||
|
||||
|
||||
echo "---------------------------------------------------------------" >> "$INSTALLATION_TEST_REPORT"
|
||||
echo " Platform-specific Build Log " >> "$INSTALLATION_TEST_REPORT"
|
||||
echo "---------------------------------------------------------------" >> "$INSTALLATION_TEST_REPORT"
|
||||
|
|
@ -164,9 +104,9 @@ output_main_logs()
|
|||
if [ -f "${PLATFORM_BUILD_LOGFILE}" ] ; then
|
||||
cat "${PLATFORM_BUILD_LOGFILE}" >> "$INSTALLATION_TEST_REPORT"
|
||||
else
|
||||
echo "Not found!" >> "$INSTALLATION_TEST_REPORT"
|
||||
echo "Not found!" >> "$INSTALLATION_TEST_REPORT"
|
||||
fi
|
||||
|
||||
|
||||
if [ -f "$HOME/.autocgal_with_cmake_rc" ] ; then
|
||||
echo "" >> "$INSTALLATION_TEST_REPORT"
|
||||
echo "---------------------------------------------------------------" >> "$INSTALLATION_TEST_REPORT"
|
||||
|
|
@ -184,7 +124,7 @@ output_main_logs()
|
|||
cat "$HOME/.autocgalrc" >> "$INSTALLATION_TEST_REPORT"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
if [ -f "../setup" ] ; then
|
||||
echo "" >> "$INSTALLATION_TEST_REPORT"
|
||||
echo "---------------------------------------------------------------" >> "$INSTALLATION_TEST_REPORT"
|
||||
|
|
@ -193,8 +133,8 @@ output_main_logs()
|
|||
echo "" >> "$INSTALLATION_TEST_REPORT"
|
||||
cat "../setup" >> "$INSTALLATION_TEST_REPORT"
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
echo "" >> "$INSTALLATION_TEST_REPORT"
|
||||
echo "---------------------------------------------------------------" >> "$INSTALLATION_TEST_REPORT"
|
||||
echo " CMakeCache.txt" >> "$INSTALLATION_TEST_REPORT"
|
||||
|
|
@ -203,9 +143,9 @@ output_main_logs()
|
|||
if [ -f "../CMakeCache.txt" ] ; then
|
||||
cat "../CMakeCache.txt" >> "$INSTALLATION_TEST_REPORT"
|
||||
else
|
||||
echo "Not found!" >> "$INSTALLATION_TEST_REPORT"
|
||||
echo "Not found!" >> "$INSTALLATION_TEST_REPORT"
|
||||
fi
|
||||
|
||||
|
||||
echo "" >> "$INSTALLATION_TEST_REPORT"
|
||||
echo "---------------------------------------------------------------" >> "$INSTALLATION_TEST_REPORT"
|
||||
echo " include/CGAL/compiler_config.h" >> "$INSTALLATION_TEST_REPORT"
|
||||
|
|
@ -214,9 +154,9 @@ output_main_logs()
|
|||
if [ -f "../include/CGAL/compiler_config.h" ] ; then
|
||||
cat "../include/CGAL/compiler_config.h" >> "$INSTALLATION_TEST_REPORT"
|
||||
else
|
||||
echo "Not found!" >> "$INSTALLATION_TEST_REPORT"
|
||||
echo "Not found!" >> "$INSTALLATION_TEST_REPORT"
|
||||
fi
|
||||
|
||||
|
||||
echo "" >> "$INSTALLATION_TEST_REPORT"
|
||||
echo "---------------------------------------------------------------" >> "$INSTALLATION_TEST_REPORT"
|
||||
echo " CGALConfig.cmake" >> "$INSTALLATION_TEST_REPORT"
|
||||
|
|
@ -225,9 +165,9 @@ output_main_logs()
|
|||
if [ -f "../CGALConfig.cmake" ] ; then
|
||||
cat "../CGALConfig.cmake" >> "$INSTALLATION_TEST_REPORT"
|
||||
else
|
||||
echo "Not found!" >> "$INSTALLATION_TEST_REPORT"
|
||||
echo "Not found!" >> "$INSTALLATION_TEST_REPORT"
|
||||
fi
|
||||
|
||||
|
||||
echo "" >> "$INSTALLATION_TEST_REPORT"
|
||||
echo "---------------------------------------------------------------" >> "$INSTALLATION_TEST_REPORT"
|
||||
echo " CMakeError.log" >> "$INSTALLATION_TEST_REPORT"
|
||||
|
|
@ -236,9 +176,9 @@ output_main_logs()
|
|||
if [ -f "../CMakeFiles/CMakeError.log" ] ; then
|
||||
cat "../CMakeFiles/CMakeError.log" >> "$INSTALLATION_TEST_REPORT"
|
||||
else
|
||||
echo "Not found!" >> "$INSTALLATION_TEST_REPORT"
|
||||
echo "Not found!" >> "$INSTALLATION_TEST_REPORT"
|
||||
fi
|
||||
|
||||
|
||||
echo "" >> "$INSTALLATION_TEST_REPORT"
|
||||
echo "---------------------------------------------------------------" >> "$INSTALLATION_TEST_REPORT"
|
||||
echo " CMakeOutput.log" >> "$INSTALLATION_TEST_REPORT"
|
||||
|
|
@ -247,9 +187,9 @@ output_main_logs()
|
|||
if [ -f "../CMakeFiles/CMakeOutput.log" ] ; then
|
||||
cat "../CMakeFiles/CMakeOutput.log" >> "$INSTALLATION_TEST_REPORT"
|
||||
else
|
||||
echo "Not found!" >> "$INSTALLATION_TEST_REPORT"
|
||||
echo "Not found!" >> "$INSTALLATION_TEST_REPORT"
|
||||
fi
|
||||
|
||||
|
||||
}
|
||||
|
||||
echo "---------------------------------------------------------------"
|
||||
|
|
@ -276,17 +216,10 @@ echo "CGAL_TEST_PLATFORM ${CGAL_TEST_PLATFORM}" >> "$RESULT_FILE"
|
|||
echo "General installation log file: ${GENERAL_BUILD_LOGFILE}" >> "$RESULT_FILE"
|
||||
echo "Host-specific installation log file: ${PLATFORM_BUILD_LOGFILE}" >> "$RESULT_FILE"
|
||||
|
||||
parse_shared_or_static
|
||||
|
||||
output_main_logs
|
||||
output_main_logs
|
||||
|
||||
parse_flags_and_third_party_choices
|
||||
|
||||
parse_lib_building_results "libCGAL" "CGAL"
|
||||
parse_lib_building_results "libCGALCore" "CGAL_Core"
|
||||
parse_lib_building_results "libCGALimageIO" "CGAL_ImageIO"
|
||||
parse_lib_building_results "libCGALQt5" "CGAL_Qt5"
|
||||
|
||||
for DIR in $TEST_DIRECTORIES ; do
|
||||
if [ -d "$DIR" ] ; then
|
||||
echo " $DIR ..."
|
||||
|
|
|
|||
|
|
@ -76,23 +76,42 @@ for t_id in range(0, len(tests)):
|
|||
labels.add(label)
|
||||
tests_per_label[label].append(t)
|
||||
|
||||
warning_pattern=re.compile(r'(.*([^a-zA-Z_,:-])warning)', flags=re.IGNORECASE)
|
||||
w_det=re.compile("warning");
|
||||
filter_pattern=re.compile(r'cmake|cgal', flags=re.IGNORECASE);
|
||||
with open_file_create_dir(result_file_name.format(dir=os.getcwd(),
|
||||
tester=tester_name,
|
||||
platform=platform_name), 'a+') as results:
|
||||
for label, tests in tests_per_label.items():
|
||||
counts={"n": 0, "w": 0, "t": 0}
|
||||
result_for_label='y'
|
||||
with open_file_create_dir("{}/error.txt".format(label), 'w') as error:
|
||||
for t in tests:
|
||||
print(" {result} {name} in {time} s : {value} ".format(result = "successful " if (t['Status'] == 'passed') else "ERROR: ", name = t['Name'], value = t['ExitValue'] if(t['ExitValue'] != "") else "SUCCESS" , time = t['ExecutionTime']), file=error)
|
||||
if t['Status'] != 'passed':
|
||||
result_for_label='n'
|
||||
elif t['Output'] != None and re.search(r'(^|[^a-zA-Z_,:-])warning', t['Output'], flags=re.IGNORECASE):
|
||||
result_for_label='w'
|
||||
counts["n"]+=1
|
||||
elif t['Output'] != None and w_det.search(t['Output']):
|
||||
entries = re.split("\n+", t['Output'])
|
||||
for entry in entries:
|
||||
m=warning_pattern.search(entry)
|
||||
if m:
|
||||
n = filter_pattern.search(m.group(0))
|
||||
if n:
|
||||
counts["w"]+=1
|
||||
break;
|
||||
else:
|
||||
counts["t"]+=1
|
||||
|
||||
with io.open("{}/ProgramOutput.{}".format(label, t['Name']), mode="w", encoding="utf-8") as f:
|
||||
print("{}/ProgramOutput.{}".format(label, t['Name']))
|
||||
f.write(t['Output'] if t['Output'] != None else "")
|
||||
|
||||
if counts["n"] > 0:
|
||||
result_for_label='n'
|
||||
elif counts["w"] > 0:
|
||||
result_for_label='w'
|
||||
elif counts["t"] > 0:
|
||||
result_for_label='t'
|
||||
|
||||
print("{label} {result}".format(label=label, result=result_for_label), file=results)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue