From e76439140a3c6fcd2e65ba5d6ef7ae1e4268f5a7 Mon Sep 17 00:00:00 2001 From: navarrop Date: Tue, 23 Nov 2010 12:54:34 +0000 Subject: [PATCH] Update script for pipol git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@8612 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- buildtools/pipol/CtestPipol.cmake | 225 ++++++++++++++++++ buildtools/pipol/Experimental.sh | 39 +++ .../pipol/Experimental_all_simgrid_gt.sh | 6 +- buildtools/pipol/Nightly_simgrid.sh | 8 +- buildtools/pipol/deploy.sh | 2 - buildtools/pipol/deploy_simple.sh | 16 ++ buildtools/pipol/liste_install.sh | 72 +++--- 7 files changed, 324 insertions(+), 44 deletions(-) create mode 100755 buildtools/pipol/CtestPipol.cmake create mode 100644 buildtools/pipol/Experimental.sh create mode 100644 buildtools/pipol/deploy_simple.sh diff --git a/buildtools/pipol/CtestPipol.cmake b/buildtools/pipol/CtestPipol.cmake new file mode 100755 index 0000000000..8efdcd397d --- /dev/null +++ b/buildtools/pipol/CtestPipol.cmake @@ -0,0 +1,225 @@ +cmake_minimum_required(VERSION 2.6) + +find_path(GCOV_PATH NAMES gcov PATHS NO_DEFAULT_PATHS) +find_path(VALGRIND_PATH NAMES valgrind PATHS NO_DEFAULT_PATHS) +find_program(PWD_EXE NAMES pwd) +find_program(SED_EXE NAMES sed) + +### AUTO DETECT THE PROJECT_DIRECTORY +exec_program("${PWD_EXE}" ARGS "| ${SED_EXE} 's/\\/Cmake//g'" OUTPUT_VARIABLE PROJECT_DIRECTORY) +### MANUAL PROJECT_DIRECTORY +#set(PROJECT_DIRECTORY "") + +SET(CTEST_PROJECT_NAME "Simgrid") + +SET(CTEST_BUILD_NAME "CTEST_UCONTEXT") +SET(CTEST_SITE "Pierre_Navarro") + +SET(CTEST_SOURCE_DIRECTORY "./") +SET(CTEST_BINARY_DIRECTORY "./") +SET(CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE "3000000") +SET(CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE "3000000") + +SET(CTEST_CMAKE_COMMAND "/home/navarrop/Programmes/cmake-2.8.0/bin/cmake ./") +SET(CTEST_CONFIGURE_COMMAND "/home/navarrop/Programmes/cmake-2.8.0/bin/cmake -Denable_coverage=on -Denable_memcheck=on ./") +SET(CTEST_COMMAND "/home/navarrop/Programmes/cmake-2.8.0/bin/ctest") +SET(CTEST_BUILD_COMMAND "/usr/bin/make -j3") +SET(CTEST_COVERAGE_COMMAND "${GCOV_PATH}/gcov") +SET(CTEST_VALGRIND_COMMAND "${VALGRIND_PATH}/valgrind") +SET(CTEST_MEMORYCHECK_COMMAND "${VALGRIND_PATH}/valgrind") +set(CTEST_MEMORYCHECK_COMMAND_OPTIONS "--trace-children=yes --leak-check=full --show-reachable=yes --track-origins=yes --read-var-info=no") + +if(IS_DIRECTORY ${PROJECT_DIRECTORY}/.svn) + SET(CTEST_UPDATE_COMMAND "/usr/bin/svn") +endif(IS_DIRECTORY ${PROJECT_DIRECTORY}/.svn) + +if(IS_DIRECTORY ${PROJECT_DIRECTORY}/.git) + SET(CTEST_UPDATE_COMMAND "/usr/bin/git") +endif(IS_DIRECTORY ${PROJECT_DIRECTORY}/.git) + +SET(CTEST_DROP_METHOD "http") +SET(CTEST_DROP_SITE "cdash.inria.fr/CDash") +SET(CTEST_DROP_LOCATION "/submit.php?project=${CTEST_PROJECT_NAME}") +SET(CTEST_DROP_SITE_CDASH TRUE) +SET(CTEST_TRIGGER_SITE "http://cdash.inria.fr/CDash/cgi-bin/Submit-Random-TestingResults.cgi") + +###Custom ctest + +#CTEST_CUSTOM_ERROR_MATCH Regular expression for errors during build process +#CTEST_CUSTOM_ERROR_EXCEPTION Regular expression for error exceptions during build process +#CTEST_CUSTOM_WARNING_MATCH Regular expression for warnings during build process +#CTEST_CUSTOM_WARNING_EXCEPTION Regular expression for warning exception during build process +#CTEST_CUSTOM_MAXIMUM_NUMBER_OF_ERRORS Maximum number of errors to display +#CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS Maximum number of warnings to display +#CTEST_CUSTOM_TESTS_IGNORE List of tests to ignore during the Test stage +#CTEST_CUSTOM_MEMCHECK_IGNORE List of tests to ignore during the MemCheck stage +#CTEST_CUSTOM_PRE_TEST Command to execute before any tests are run during Test stage +#CTEST_CUSTOM_POST_TEST Command to execute after any tests are run during Test stage +#CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE Maximum size of passed test output +#CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE Maximum size of failed test output +#CTEST_CUSTOM_PRE_MEMCHECK Command to execute before any tests are run during MemCheck stage +#CTEST_CUSTOM_POST_MEMCHECK Command to execute after any tests are run during MemCheck stage +#CTEST_CUSTOM_COVERAGE_EXCLUDE Regular expression for excluding files from coverage testing + +SET(CTEST_CUSTOM_COVERAGE_EXCLUDE +"${PROJECT_DIRECTORY}/tools/*" +"${PROJECT_DIRECTORY}/buildtools/*" +"${PROJECT_DIRECTORY}/include/*" +"${PROJECT_DIRECTORY}/examples/*" +"${PROJECT_DIRECTORY}/testsuite/*" +"${PROJECT_DIRECTORY}/teshsuite/*" +"${PROJECT_DIRECTORY}/src/bindings/*" +) + +#ignore some memcheck tests +set(CTEST_CUSTOM_MEMCHECK_IGNORE + tesh-self-basic + tesh-self-cd + tesh-self-IO-broken-pipe + tesh-self-IO-orders + tesh-self-IO-bigsize + tesh-self-set-return + tesh-self-set-signal + tesh-self-set-timeout + tesh-self-set-ignore-output + tesh-self-catch-return + tesh-self-catch-signal + tesh-self-catch-timeout + tesh-self-catch-wrong-output + tesh-self-bg-basic + tesh-self-bg-set-signal + tesh-self-background + tesh-log-large + tesh-log-parallel + tesh-gras-dd-mem + tesh-gras-dd-rw + tesh-gras-dd-r_little32_4 + tesh-gras-dd-r_little64 + tesh-gras-dd-r_big32_8_4 + tesh-gras-dd-r_big32_8 + tesh-gras-dd-r_big32_2 + tesh-gras-empty_main-rl + tesh-gras-empty_main-sg + tesh-simdag-reinit_costs + tesh-simdag-parser + tesh-simdag-flatifier + tesh-simdag-basic0 + tesh-simdag-basic1 + tesh-simdag-basic2 + tesh-simdag-basic3 + tesh-simdag-basic4 + tesh-simdag-basic5 + tesh-simdag-basic6 + tesh-simdag-p2p-1 + tesh-simdag-p2p-2 + tesh-simdag-p2p-3 + tesh-simdag-p2p-3 + tesh-simdag-mxn-1 + tesh-simdag-mxn-2 + tesh-simdag-mxn-3 + tesh-simdag-par-1 + tesh-simdag-par-2 + tesh-msg-get_sender + gras-ping-rl + gras-rpc-rl + gras-spawn-rl + gras-timer-rl + gras-chrono-rl + gras-simple_token-rl + gras-mmrpc-rl + gras-all2all-rl + gras-pmm-rl + gras-synchro-rl + gras-properties-rl + msg-sendrecv_CLM03 + msg-sendrecv_Vegas + msg-sendrecv_Reno + msg-suspend + msg-masterslave + msg-masterslave-forwarder + msg-masterslave-failure + msg-masterslave-bypass + msg-migration + msg-ptask + msg-priority + msg-properties + msg-trace + msg-masterslave_cpu_ti + gras-properties-sg + amok-bandwidth-rl + amok-saturate-rl + simdag-test_simdag + simdag-test_simdag2 + simdag-test_prop + simdag-metaxml_test + smpi-bcast + smpi-reduce +) + +IF(${ARCH_32_BITS}) + SET(CTEST_CUSTOM_MEMCHECK_IGNORE + ${CTEST_CUSTOM_MEMCHECK_IGNORE} + tesh-gras-msg_handle-sg-32 + tesh-gras-small_sleep-sg-32 + gras-ping-sg-32 + gras-rpc-sg-32 + gras-spawn-sg-32 + gras-timer-sg-32 + gras-chrono-sg-32 + gras-simple_token-sg-32 + gras-mmrpc-sg-32 + gras-all2all-sg-32 + gras-pmm-sg-32 + gras-synchro-sg-32 + amok-bandwidth-sg-32 + amok-saturate-sg-32 + ) +ELSE(${ARCH_32_BITS}) + SET(CTEST_CUSTOM_MEMCHECK_IGNORE + ${CTEST_CUSTOM_MEMCHECK_IGNORE} + tesh-gras-msg_handle-sg-64 + tesh-gras-small_sleep-sg-64 + gras-ping-sg-64 + gras-rpc-sg-64 + gras-spawn-sg-64 + gras-timer-sg-64 + gras-chrono-sg-64 + gras-simple_token-sg-64 + gras-mmrpc-sg-64 + gras-all2all-sg-64 + gras-pmm-sg-64 + gras-synchro-sg-64 + amok-bandwidth-sg-64 + amok-saturate-sg-64 + ) +ENDIF(${ARCH_32_BITS}) + +if(HAVE_GTNETS) + SET(CTEST_CUSTOM_MEMCHECK_IGNORE + ${CTEST_CUSTOM_MEMCHECK_IGNORE} + msg-gtnets1 + msg-gtnets2 + msg-gtnets3 + msg-gtnets4 + msg-gtnets5 + ) +endif(HAVE_GTNETS) + +if(HAVE_JAVA) + SET(CTEST_CUSTOM_MEMCHECK_IGNORE + ${CTEST_CUSTOM_MEMCHECK_IGNORE} + java-basic + java-pingpong + java-comm_time + java-suspend + ) +endif(HAVE_JAVA) + +ctest_start(Experimental) +ctest_update(SOURCE "${CTEST_SOURCE_DIRECTORY}") +ctest_configure(BUILD "${CTEST_SOURCE_DIRECTORY}") +ctest_build(BUILD "${CTEST_SOURCE_DIRECTORY}") +ctest_test(BUILD "${CTEST_SOURCE_DIRECTORY}") +ctest_coverage(BUILD "${CTEST_SOURCE_DIRECTORY}") +ctest_memcheck(BUILD "${CTEST_SOURCE_DIRECTORY}") +ctest_submit() diff --git a/buildtools/pipol/Experimental.sh b/buildtools/pipol/Experimental.sh new file mode 100644 index 0000000000..4269329044 --- /dev/null +++ b/buildtools/pipol/Experimental.sh @@ -0,0 +1,39 @@ +#!/bin/bash + +SYSTEM=`uname` + +if [ -e ./pipol ] ; then + rm -rf ./pipol/$PIPOL_HOST + mkdir ./pipol/$PIPOL_HOST +else + mkdir ./pipol + rm -rf ./pipol/$PIPOL_HOST + mkdir ./pipol/$PIPOL_HOST +fi +cd ./pipol/$PIPOL_HOST + +svn checkout svn://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk simgrid-trunk --quiet + +sh ./simgrid-trunk/buildtools/pipol/liste_install.sh +perl ./simgrid-trunk/buildtools/pipol/cmake.pl + +cd simgrid-trunk +mkdir tmp_build +cd tmp_build + +cmake -Denable_lua=on -Denable_ruby=on -Denable_lib_static=on -Denable_graphviz=on -Denable_model-checking=on -Denable_tracing=on -Denable_latency_bound_tracking=on .. + +ctest -D ExperimentalStart +ctest -D ExperimentalConfigure +ctest -D ExperimentalBuild +ctest -D ExperimentalTest +ctest -D ExperimentalSubmit +make clean + +rm -rf * +cmake -Denable_lua=on -Denable_ruby=on -Denable_lib_static=on -Denable_graphviz=on -Denable_model-checking=on -Denable_tracing=on -Denable_latency_bound_tracking=on -Dwith_context=pthread .. +ctest -D ExperimentalStart +ctest -D ExperimentalConfigure +ctest -D ExperimentalBuild +ctest -D ExperimentalTest +ctest -D ExperimentalSubmit \ No newline at end of file diff --git a/buildtools/pipol/Experimental_all_simgrid_gt.sh b/buildtools/pipol/Experimental_all_simgrid_gt.sh index 03235e8d4e..11c95c7ee0 100644 --- a/buildtools/pipol/Experimental_all_simgrid_gt.sh +++ b/buildtools/pipol/Experimental_all_simgrid_gt.sh @@ -12,9 +12,11 @@ else fi cd ./pipol/$PIPOL_HOST -sh /home/mescal/navarro/liste_install.sh - svn checkout svn://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk simgrid-trunk --quiet + +sh ./simgrid-trunk/buildtools/pipol/liste_install.sh +perl ./simgrid-trunk/buildtools/pipol/cmake.pl + cd simgrid-trunk #Make the ucontext mode diff --git a/buildtools/pipol/Nightly_simgrid.sh b/buildtools/pipol/Nightly_simgrid.sh index b8e005675a..4eed185c6b 100644 --- a/buildtools/pipol/Nightly_simgrid.sh +++ b/buildtools/pipol/Nightly_simgrid.sh @@ -2,8 +2,6 @@ #PRE-PIPOL /home/mescal/navarro/pre-simgrid.sh -#PIPOL esn i386_mac-mac-osx-server-leopard.dd.gz none 02:00 --user --silent - #PIPOL esn i386-linux-ubuntu-intrepid.dd.gz none 02:00 --user --silent #PIPOL esn i386-linux-ubuntu-jaunty.dd.gz none 02:00 --user --silent @@ -33,9 +31,11 @@ else fi cd ./pipol/$PIPOL_HOST -sh /home/mescal/navarro/liste_install.sh - svn checkout svn://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk simgrid-trunk --quiet + +sh ./simgrid-trunk/buildtools/pipol/liste_install.sh +perl ./simgrid-trunk/buildtools/pipol/cmake.pl + cd simgrid-trunk #Make the ucontext mode diff --git a/buildtools/pipol/deploy.sh b/buildtools/pipol/deploy.sh index 26ea735e7a..af483f1742 100644 --- a/buildtools/pipol/deploy.sh +++ b/buildtools/pipol/deploy.sh @@ -1,7 +1,5 @@ #!/bin/bash -ssh pipol pipol-sub esn i386_mac-mac-osx-server-leopard.dd.gz none 02:00 "~/Experimental_all_simgrid_gt.sh" - ssh pipol pipol-sub esn i386-linux-ubuntu-intrepid.dd.gz none 02:00 "~/Experimental_all_simgrid_gt.sh" ssh pipol pipol-sub esn amd64-linux-ubuntu-intrepid.dd.gz none 02:00 "~/Experimental_all_simgrid_gt.sh" diff --git a/buildtools/pipol/deploy_simple.sh b/buildtools/pipol/deploy_simple.sh new file mode 100644 index 0000000000..da9701e661 --- /dev/null +++ b/buildtools/pipol/deploy_simple.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +ssh pipol pipol-sub esn i386-linux-ubuntu-intrepid.dd.gz none 02:00 "~/Experimental.sh" +ssh pipol pipol-sub esn amd64-linux-ubuntu-intrepid.dd.gz none 02:00 "~/Experimental.sh" + +ssh pipol pipol-sub esn i386-linux-ubuntu-jaunty.dd.gz none 02:00 "~/Experimental.sh" +ssh pipol pipol-sub esn amd64-linux-ubuntu-jaunty.dd.gz none 02:00 "~/Experimental.sh" + +ssh pipol pipol-sub esn i386-linux-ubuntu-karmic.dd.gz none 02:00 "~/Experimental.sh" +ssh pipol pipol-sub esn amd64-linux-ubuntu-karmic.dd.gz none 02:00 "~/Experimental.sh" + +ssh pipol pipol-sub esn i386-linux-debian-lenny.dd none 02:00 "~/Experimental.sh" +ssh pipol pipol-sub esn amd64-linux-debian-lenny.dd none 02:00 "~/Experimental.sh" + +ssh pipol pipol-sub esn i386-linux-fedora-core11.dd.gz none 02:00 "~/Experimental.sh" +ssh pipol pipol-sub esn amd64-linux-fedora-core11.dd.gz none 02:00 "~/Experimental.sh" diff --git a/buildtools/pipol/liste_install.sh b/buildtools/pipol/liste_install.sh index c7bd21ce3a..73799ccbbc 100644 --- a/buildtools/pipol/liste_install.sh +++ b/buildtools/pipol/liste_install.sh @@ -16,37 +16,40 @@ if [ -e /usr/bin/apt-get ] ; then sudo apt-get -y install perl sudo apt-get -y install graphviz-dev graphviz sudo apt-get -y install libpcre3-dev -fi - -if [ -e /usr/bin/yum ] ; then - sudo yum -y update - sudo yum -y install subversion - sudo yum -y install gcc - sudo yum -y install make - sudo yum -y install java-1.6.0-openjdk - sudo yum -y install lua-devel lua - sudo yum -y install ruby-devel ruby - sudo yum -y install unzip - sudo yum -y install cmake - sudo yum -y install wget - sudo yum -y install perl - sudo yum -y install graphviz-dev graphviz - sudo yum -y install libpcre3-dev -fi - -if [ x$arch = xDarwin ] ; then - sudo fink -y install svn - sudo fink -y install gcc42 - sudo fink -y install make - sudo fink -y install java-1.6.0-openjdk - sudo fink -y install lua51-dev lua51 - sudo fink -y install ruby18-dev ruby - sudo fink -y install unzip - sudo fink -y install cmake - sudo fink -y install wget - sudo fink -y install perl - sudo fink -y install graphviz-dev graphviz - sudo fink -y install pcre + sudo apt-get -y install f2c +else + if [ -e /usr/bin/yum ] ; then + sudo yum -y update + sudo yum -y install subversion + sudo yum -y install gcc + sudo yum -y install make + sudo yum -y install java-1.6.0-openjdk + sudo yum -y install lua-devel lua + sudo yum -y install ruby-devel ruby + sudo yum -y install unzip + sudo yum -y install cmake + sudo yum -y install wget + sudo yum -y install perl + sudo yum -y install graphviz-dev graphviz + sudo yum -y install libpcre3-dev + sudo yum -y install f2c + else + if [ x$arch = xDarwin ] ; then + sudo fink -y install svn + sudo fink -y install gcc42 + sudo fink -y install make + sudo fink -y install java-1.6.0-openjdk + sudo fink -y install lua51-dev lua51 + sudo fink -y install ruby18-dev ruby + sudo fink -y install unzip + sudo fink -y install cmake + sudo fink -y install wget + sudo fink -y install perl + sudo fink -y install graphviz-dev graphviz + sudo fink -y install pcre + sudo fink -y install f2c + fi + fi fi which_svn=`which svn` #svn necessary @@ -61,6 +64,7 @@ which_unzip=`which unzip` #unzip for gtnets which_wget=`which wget` #wget for cmake which_dot=`which dot` #dot for cgraph which_perl=`which perl` #perl +which_f2c=`which f2c` #f2c echo $which_cmake echo $which_unzip echo $which_ruby @@ -73,8 +77,4 @@ echo $which_svn echo $which_dot echo $which_wget echo $which_perl - -directory=`pwd` -cd ../ -perl $directory/buildtools/pipol/cmake.pl -cd $directory \ No newline at end of file +echo $which_f2c \ No newline at end of file -- 2.20.1