WIP from git and upload to private page

This commit is contained in:
Maxime Gimeno 2019-03-14 16:36:11 +01:00
parent f070e4345d
commit 1a6ef33010
3 changed files with 69 additions and 42 deletions

View File

@ -99,7 +99,7 @@ function(CGAL_setup_CGAL_dependencies target)
if (CGAL_HEADER_ONLY)
target_compile_definitions(${target} ${keyword} CGAL_HEADER_ONLY=1)
endif()
if (RUNNING_CGAL_AUTO_TEST)
if (RUNNING_CGAL_AUTO_TEST OR CGAL_TEST_SUITE)
target_compile_definitions(${target} ${keyword} CGAL_TEST_SUITE=1)
endif()

View File

@ -29,7 +29,6 @@ export USE_TARBZ="n"
export CGAL_RELEASE=""
export LOGS_DIR=""
export LOCK_FILE=""
export LIST_TEST_PACKAGES=""
export ACTUAL_LOGFILE=""
export CGAL_DIR=""
export INSTALLATION_DIR=""
@ -90,7 +89,7 @@ get_cgal()
fi
CGAL_RELEASE_ID=`echo $CGAL_ZIPFILE | sed "s/.tar.gz//"`
echo ${CGAL_RELEASE_ID} > last_release_id
echo ${CGAL_RELEASE_ID} |tee last_release_id
if [ ! "${CGAL_RELEASE_ID}" = "${CGAL_ZIPFILE}" ]; then
USE_TARGZ="y"
else
@ -186,8 +185,11 @@ do
;;
"-g")
echo "Run testsuite from GIT branch"
INSTALLATION_DIR="Installation/"
TESTSUITE_DIR="Testsuite/"
export INSTALLATION_DIR="Installation/"
export TESTSUITE_DIR="Testsuite/"
export SCRIPTS_DIR="Scripts/"
UPLOAD_RESULT_DESTINATION="mgimeno@cgal.geometryfactory.com:incoming"
;;
*)
CGAL_LOCATION=$arg
esac
@ -202,11 +204,15 @@ else
fi
CGAL_DIR=`readlink "${CGAL_ROOT}/CGAL-I"`
source "${CGAL_DIR}/developer_scripts/log.sh"
if [ -n "${SCRIPTS_DIR}" ]; then
CGAL_DIR=`readlink "${CGAL_ROOT}/CGAL-git"`
else
CGAL_DIR=`readlink "${CGAL_ROOT}/CGAL-I"`
fi
source "${CGAL_DIR}/${SCRIPTS_DIR}developer_scripts/log.sh"
LOGS_DIR="${CGAL_ROOT}/AUTOTEST_LOGS"
LOCK_FILE="${CGAL_ROOT}/autotest_cgal_with_cmake.lock"
LIST_TEST_PACKAGES="${CGAL_ROOT}/list_test_packages"
# Setup logfile
ACTUAL_LOGFILE="${CGAL_ROOT}/`basename ${0}`.log"
@ -218,7 +224,7 @@ cd "$CGAL_ROOT"
# Starts the process
if [ -z "${USE_LATEST_UNZIPPED}" ]; then
if [ -z "${USE_LATEST_UNZIPPED}" -a -z "${SCRIPTS_DIR}" ]; then
if [ -z "$CGAL_LOCATION" ]; then
download_latest
abort_if_latest_already_tested
@ -227,9 +233,13 @@ if [ -z "${USE_LATEST_UNZIPPED}" ]; then
unzip_cgal
fi
#reset CGAL-DIR with the updated CGAL-I
CGAL_DIR=`readlink "${CGAL_ROOT}/CGAL-I"`
CGAL_RELEASE_ID=$(cat last_release_id)
if [ -n "${SCRIPTS_DIR}" ]; then
CGAL_DIR=`readlink "${CGAL_ROOT}/CGAL-git"`
else
CGAL_DIR=`readlink "${CGAL_ROOT}/CGAL-I"`
fi
CGAL_RELEASE_ID=$(cat last_release_id)
for HOST in ${BUILD_HOSTS}; do
if [ "$HOST" != "localhost" ]; then
#launch docker container
@ -253,29 +263,31 @@ for HOST in ${BUILD_HOSTS}; do
echo "export USE_TARGZ=$USE_TARGZ">> env.sh
echo "export USE_TARBZ=$USE_TARBZ">> env.sh
echo "export CGAL_RELEASE=$CGAL_RELEASE">> env.sh
echo "export LIST_TEST_PACKAGES=/cgal_root/list_test_packages">> env.sh
echo "export LOGS_DIR=/cgal_root/AUTOTEST_LOGS">> env.sh
echo "export LOCK_FILE=/cgal_root/autotest_cgal_with_cmake.lock">> env.sh
echo "export ACTUAL_LOGFILE=/cgal_root/\`basename \${0}\`.log">> env.sh
echo "export REFERENCE_PLATFORMS_DIR=$REFERENCE_PLATFORMS_DIR">>env.sh
echo "export INSTALLATION_DIR=$INSTALLATION_DIR">>env.sh
echo "export TESTSUITE_DIR=$TESTSUITE_DIR">>env.sh
echo "export SCRIPTS_DIR=$SCRIPTS_DIR">>env.sh
docker pull cgal/testsuite-docker:debian-stable-cross-compilation-for-arm
if [ -z "${CGAL_RELEASE_ID}" ]; then #if not frmom branch
if [ -z "${SCRIPTS_DIR}" ]; then #if not from branch
echo "export CGAL_DIR=/cgal_root/\${CGAL_LAST}">>env.sh
docker run --rm -t -e CGAL_LAST="${CGAL_RELEASE_ID}" -e HOST="${HOST}" -v ${CGAL_ROOT}/ssh:/tmp_ssh -v ${DEPS_DIR}:/deps -v ${CGAL_ROOT}:/cgal_root cgal/testsuite-docker:debian-stable-cross-compilation-for-arm
else
#read number from file and increase
if [ ! -r last_dev_id \; then
echo "0" > last_dev_id
fi
DEV_ID=$(cat last_dev_id)
echo "export CGAL_DIR=/cgal_root/CGAL-0.${DEV_ID}-dev">>env.sh
docker run --rm -t -e HOST="${HOST}" -v ${CGAL_ROOT}/ssh:/tmp_ssh -v ${DEPS_DIR}:/deps -v ${CGAL_ROOT}:/cgal_root -v${CGAL_DIR}:/cgal_root/CGAL-0.${DEV_ID}-dev cgal/testsuite-docker:debian-stable-cross-compilation-for-arm
#if [ ! -r last_dev_id ]; then
# echo "0" > last_dev_id
#fi
#DEV_ID=$(cat last_dev_id)
#echo "$((${DEV_ID}+1))" > last_dev_id
#echo "export CGAL_DIR=/cgal_root/CGAL-0.${DEV_ID}-dev">>env.sh
echo "export CGAL_DIR=/cgal_root/CGAL-git">>env.sh
docker run --rm -t -e HOST="${HOST}" -v ${CGAL_ROOT}/ssh:/tmp_ssh -v ${DEPS_DIR}:/deps -v ${CGAL_ROOT}:/cgal_root -v${CGAL_DIR}:/cgal_root/CGAL-git cgal/testsuite-docker:debian-stable-cross-compilation-for-arm
fi
else
HOST=$HOST bash ${CGAL_DIR}/developer_scripts/run_testsuite_with_cmake
HOST=$HOST bash ${CGAL_DIR}/${SCRIPTS_DIR}developer_scripts/run_testsuite_with_cmake
fi
done

View File

@ -5,7 +5,7 @@
#### LAUNCH CTEST ####
##########################
source "${CGAL_DIR}/developer_scripts/log.sh"
source "${CGAL_DIR}/${SCRIPTS_DIR}developer_scripts/log.sh"
# Load settings
if [ -f "$CGAL_ROOT/.autocgalrc" ]; then
. "$CGAL_ROOT/.autocgalrc"
@ -121,7 +121,9 @@ build_platforms_list()
setup_dirs()
{
# dir for the actual release
if [ ! -d ${CGAL_DIR}/test ]; then
mkdir ${CGAL_DIR}/test
fi
CGAL_TEST_DIR=${CGAL_DIR}/test
if [ ! -d "${CGAL_DIR}/cmake" ]; then
@ -135,8 +137,13 @@ setup_dirs()
fi
CGAL_RELEASE_DIR="${CGAL_DIR}"
CGAL_RELEASE_ID=`basename "${CGAL_RELEASE_DIR}"`
if [ -z "$SCRIPTS_DIR" ]; then
CGAL_RELEASE_ID=`basename "${CGAL_RELEASE_DIR}"`
else
CGAL_GIT_VERSION=$(sed -n '/CGAL_VERSION /s/#define CGAL_VERSION //p'<"$CGAL_DIR/${INSTALLATION_DIR}include/CGAL/version.h" | sed -n 's/-\w*//p')
CGAL_GIT_VERSION="${CGAL_GIT_VERSION}-Ic-20190314"
CGAL_RELEASE_ID="CGAL-${CGAL_GIT_VERSION}"
fi
#todo : too complicated for nothing. Take a simpler outsource build dir
CGAL_BINARY_DIR_BASE=${CGAL_RELEASE_DIR}/cmake/platforms
@ -211,8 +218,10 @@ 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" "$2" | tr -c '[A-Za-z0-9]./[=-=]*_\'\''\":?() ' 'x'`
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}"
@ -243,13 +252,16 @@ run_test_on_platform()
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}"} '${CMAKE_GENERATOR}' -DBUILD_TESTING=OFF -DWITH_tests=OFF -DWITH_CGAL_Qt5=OFF -DCGAL_HEADER_ONLY=ON $CGAL_DIR>installation.log 2>&1
rm CMakeCache.txt
if [ -n "${SCRIPTS_DIR}" ]; then
CMAKE_OPTS="${CMAKE_OPTS} -DWITH_examples=ON -DWITH_demos=ON -DCGAL_TEST_SUITE=ON"
fi
if [ -z "${SHOW_PROGRESS}" ]; then
cmake ${INIT_FILE:+"-C${INIT_FILE}"} '${CMAKE_GENERATOR}' -DRUNNING_CGAL_AUTO_TEST=TRUE VERBOSE=1 $CGAL_DIR >/dev/null 2>&1
cmake ${INIT_FILE:+"-C${INIT_FILE}"} '${CMAKE_GENERATOR}' ${CMAKE_OPTS} $CGAL_DIR >package_installation.log 2>&1
else
cmake ${INIT_FILE:+"-C${INIT_FILE}"} '${CMAKE_GENERATOR}' -DRUNNING_CGAL_AUTO_TEST=TRUE VERBOSE=1 $CGAL_DIR
CMAKE_EXEC_CMD=$(echo "cmake ${INIT_FILE:+"-C${INIT_FILE}"} '${CMAKE_GENERATOR}' ${CMAKE_OPTS} $CGAL_DIR")
cmake ${INIT_FILE:+"-C${INIT_FILE}"} '${CMAKE_GENERATOR}' ${CMAKE_OPTS} $CGAL_DIR 2>&1 |tee package_installation.log
fi
LIST_TEST_FILE="${CGAL_ROOT}/list_test_packages"
if [ -f ${LIST_TEST_FILE} ]; then
@ -257,19 +269,18 @@ run_test_on_platform()
fi
INIT=""
for pkg in $LIST_TEST_PACKAGES; do
if [ -z "$INIT" ]; then
TO_TEST=$pkg
INIT="y"
else
TO_TEST="${TO_TEST}|$pkg"
fi
if [ -z "$INIT" ]; then
TO_TEST=$pkg
INIT="y"
else
TO_TEST="${TO_TEST}|$pkg"
fi
done
CTEST_OPTS="-T Start -T Test -j${NUMBER_OF_PROCESSORS} ${DO_NOT_TEST:+-E execution___of__} --timeout 1200"
CTEST_OPTS="-T Start -T Test -j${NUMBER_OF_PROCESSORS} ${DO_NOT_TEST:+-E execution___of__} --timeout 1200"
if [ -z "${SHOW_PROGRESS}" ]; then
ctest ${CTEST_OPTS} ${TO_TEST:+"-L ${TO_TEST}" } ${KEEP_TESTS:+-FC .}> tmp.txt
ctest ${TO_TEST:+-L ${TO_TEST} } ${CTEST_OPTS} ${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} ${KEEP_TESTS:+-FC .}|tee tmp.txt
fi
#####################
## GET RESULTS ##
@ -280,13 +291,15 @@ run_test_on_platform()
RESULT_FILE=./"results_${CGAL_TESTER}_${PLATFORM}.txt"
rm -f "$RESULT_FILE"
touch "$RESULT_FILE"
sed -n '/CGAL_VERSION /s/#define //p' < "$CGAL_DIR/${INSTALLATION_DIR}include/CGAL/version.h" >> "$RESULT_FILE"
if [ -z "${SCRIPTS_DIR}" ]; then
sed -n '/CGAL_VERSION /s/#define //p' < "$CGAL_DIR/${INSTALLATION_DIR}include/CGAL/version.h" >> "$RESULT_FILE"
else
echo "CGAL_VERSION ${CGAL_GIT_VERSION}">> "$RESULT_FILE"
fi
echo "TESTER ${CGAL_TESTER}" >> "$RESULT_FILE"
echo "TESTER_NAME ${CGAL_TESTER_NAME}" >> "$RESULT_FILE"
echo "TESTER_ADDRESS ${TESTER_ADDRESS}" >> "$RESULT_FILE"
echo "CGAL_TEST_PLATFORM ${PLATFORM}" >> "$RESULT_FILE"
#echo "General installation log file: ${GENERAL_BUILD_LOGFILE}" >> "$RESULT_FILE"
#echo "Host-specific installation log file: ../installation.log" >> "$RESULT_FILE"
grep -e "^-- USING " "${CGAL_BINARY_DIR}/installation.log" >> $RESULT_FILE
echo "------------" >> "$RESULT_FILE"
python3 ${CGAL_DIR}/${TESTSUITE_DIR}test/parse-ctest-dashboard-xml.py $CGAL_TESTER $PLATFORM
@ -296,6 +309,8 @@ run_test_on_platform()
done
OUTPUT_FILE=results_${CGAL_TESTER}_${PLATFORM}.tar
TEST_REPORT="TestReport_${CGAL_TESTER}_${PLATFORM}"
mkdir -p Installation
cp "${CGAL_BINARY_DIR}/package_installation.log" "Installation/${TEST_REPORT}"
rm -f $OUTPUT_FILE $OUTPUT_FILE.gz
tar cf $OUTPUT_FILE results_${CGAL_TESTER}_${PLATFORM}.txt */"$TEST_REPORT"