From: <ai...@us...> - 2010-08-20 18:20:23
|
Revision: 11140 http://plplot.svn.sourceforge.net/plplot/?rev=11140&view=rev Author: airwin Date: 2010-08-20 18:20:16 +0000 (Fri, 20 Aug 2010) Log Message: ----------- Initial commit for script to organize comprehensive testing of PLplot for all platforms with access to bash and GNU make. For each of the three principal PLplot configurations, this script runs all 7 of our fundamental tests. Those three configurations are (1) shared library/dynamic devices; (2) shared library/nondynamic devices; and (3) static library/nondynamic devices. The 7 fundamental tests are ctest in the build tree and running the make targets test_noninteractive and test_interactive in (1) the build tree; (2) the installed examples tree with cmake build system; and (3) the installed examples tree with traditional (Makefile + pkg-config) build system. FIXME: currently the choice of which configurations and which of the 7 possible tests to run is controlled by some hard-coded variables. Those variables are currently set to use all all 7 tests for each of the three configurations. Those variables should be controlled by user-settable options for maximum flexibility. Added Paths: ----------- trunk/scripts/comprehensive_test.sh Added: trunk/scripts/comprehensive_test.sh =================================================================== --- trunk/scripts/comprehensive_test.sh (rev 0) +++ trunk/scripts/comprehensive_test.sh 2010-08-20 18:20:16 UTC (rev 11140) @@ -0,0 +1,151 @@ +#!/bin/bash + +# Complete tests of PLplot for the three generic build types which +# consist of shared+dynamic, shared+nondynanic, and +# static+nondynamic. These complete tests that are run for each build +# type are (I) ctest, test_noninteractive, and test_interactive in +# build tree; (II) traditional [Makefile+pkg-config] +# test_noninteractive and test_interactive of installed examples; and +# (III) CMake-based test_noninteractive and test_interactive of +# installed examples. + +# FIXME: the following should be set as a result of user options. +# These control what kind of build is tested. +CMAKE_ADDED_OPTIONS='-DPLD_pdf=ON' +do_shared=yes +do_nondynamic=yes +do_static=yes + +# These control which of 7 tests that are run. +do_ctest=yes +do_build_tree_test=yes +do_install_tree_test=yes +do_traditional_tree_test=yes +do_noninteractive_test=yes +do_interactive_test=yes + +# Find absolute PATH of script without using readlink (since readlink is +# not available on all platforms). Followed advice at +# http://fritzthomas.com/open-source/linux/551-how-to-get-absolute-path-within-shell-script-part2/ +ORIGINAL_PATH="$(pwd)" +cd "$(dirname $0)" +# Absolute Path of the script +SCRIPT_PATH="$(pwd)" +cd "${ORIGINAL_PATH}" + +# Assumption: top-level source tree is parent directory of where script +# is located. +SOURCE_TREE="$(dirname ${SCRIPT_PATH})" +# This is the parent tree for the BUILD_TREE, INSTALL_TREE, +# INSTALL_BUILD_TREE, and OUTPUT_TREE. It is disposable. +PARENT_TREE="${SOURCE_TREE}/comprehensive_test_disposeable" + +function comprehensive_test { + mkdir -p "$OUTPUT_TREE" + rm -rf "$BUILD_TREE" + mkdir -p "$BUILD_TREE" + cd "$BUILD_TREE" + if [ "$do_ctest" = "yes" -o "$do_build_tree_test" = "yes" ] ; then + BUILD_TEST_OPTION="-DBUILD_TEST=ON" + else + BUILD_TEST_OPTION="" + fi + output="$OUTPUT_TREE"/cmake.out + rm -f "$output" + cmake "-DCMAKE_INSTALL_PREFIX=$INSTALL_TREE" $BUILD_TEST_OPTION \ + $CMAKE_ADDED_OPTIONS $1 "$SOURCE_TREE" >& "$output" + cmake_rc=$? + if [ "$cmake_rc" -eq 0 ] ; then + if [ "$do_build_tree_test" = "yes" -a "$do_noninteractive_test" = "yes" ] ; then + output="$OUTPUT_TREE"/make_noninteractive.out + rm -f "$output" + make -j4 VERBOSE=1 test_noninteractive >& "$output" + fi + rm -rf "$INSTALL_TREE" + output="$OUTPUT_TREE"/make_install.out + rm -f "$output" + make -j4 VERBOSE=1 install >& "$output" + make_install_rc=$? + if [ "$make_install_rc" -eq 0 ] ; then + PATH="$INSTALL_TREE/bin":$PATH + if [ "$do_ctest" = "yes" ] ; then + output="$OUTPUT_TREE"/ctest.out + rm -f "$output" + ctest --extra-verbose >& "$output" & + fi + if [ "$do_install_tree_test" = "yes" ] ; then + rm -rf "$INSTALL_BUILD_TREE" + mkdir -p "$INSTALL_BUILD_TREE" + cd "$INSTALL_BUILD_TREE" + output="$OUTPUT_TREE"/installed_cmake.out + rm -f "$output" + cmake "$INSTALL_TREE"/share/plplot?.?.?/examples >& "$output" + if [ "$do_noninteractive_test" = "yes" ] ; then + output="$OUTPUT_TREE"/installed_make_noninteractive.out + rm -f "$output" + make -j4 VERBOSE=1 test_noninteractive >& "$output" + fi + fi + if [ "$do_traditional_tree_test" = "yes" -a "$do_noninteractive_test" = "yes" ] ; then + cd "$INSTALL_TREE"/share/plplot?.?.?/examples + output="$OUTPUT_TREE"/traditional_make_noninteractive.out + rm -f "$output" + make -j4 test_noninteractive >& "$output" + fi + else + echo "ERROR: make install failed" + exit 1 + fi + + if [ "$do_interactive_test" = "yes" ] ; then + if [ "$do_build_tree_test" = "yes" ] ; then + cd "$BUILD_TREE" + output="$OUTPUT_TREE"/make_interactive.out + rm -f "$output" + make -j4 VERBOSE=1 test_interactive >& "$output" + fi + if [ "$do_install_tree_test" = "yes" ] ; then + cd "$INSTALL_BUILD_TREE" + output="$OUTPUT_TREE"/installed_make_interactive.out + rm -f "$output" + make -j4 VERBOSE=1 test_interactive >& "$output" + fi + if [ "$do_traditional_tree_test" = "yes" ] ; then + cd "$INSTALL_TREE"/share/plplot?.?.?/examples + output="$OUTPUT_TREE"/traditional_make_interactive.out + rm -f "$output" + make -j4 test_interactive >& "$output" + fi + fi + else + echo "ERROR: cmake in build tree failed" + exit 1 + fi +} + +# Shared + dynamic +if [ "$do_shared" = "yes" ] ; then + OUTPUT_TREE="$PARENT_TREE/shared/output_tree" + BUILD_TREE="$PARENT_TREE/shared/build_tree" + INSTALL_TREE="$PARENT_TREE/shared/install_tree" + INSTALL_BUILD_TREE="$PARENT_TREE/shared/install_build_tree" + comprehensive_test "-DBUILD_SHARED_LIBS=ON" +fi + +# Shared + nondynamic +if [ "$do_nondynamic" = "yes" ] ; then + OUTPUT_TREE="$PARENT_TREE/nondynamic/output_tree" + BUILD_TREE="$PARENT_TREE/nondynamic/build_tree" + INSTALL_TREE="$PARENT_TREE/nondynamic/install_tree" + INSTALL_BUILD_TREE="$PARENT_TREE/nondynamic/install_build_tree" + comprehensive_test "-DBUILD_SHARED_LIBS=ON -DENABLE_DYNDRIVERS=OFF" +fi + +if [ "$do_static" = "yes" ] ; then +# Static + nondynamic + OUTPUT_TREE="$PARENT_TREE/static/output_tree" + BUILD_TREE="$PARENT_TREE/static/build_tree" + INSTALL_TREE="$PARENT_TREE/static/install_tree" + INSTALL_BUILD_TREE="$PARENT_TREE/static/install_build_tree" + comprehensive_test "-DBUILD_SHARED_LIBS=OFF" +fi Property changes on: trunk/scripts/comprehensive_test.sh ___________________________________________________________________ Added: svn:executable + * Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2010-09-13 01:57:45
|
Revision: 11175 http://plplot.svn.sourceforge.net/plplot/?rev=11175&view=rev Author: airwin Date: 2010-09-13 01:57:39 +0000 (Mon, 13 Sep 2010) Log Message: ----------- Install user options to add a set of cmake options to each cmake invocation in the build tree, to allow control of the kind of builds that are tested, and to allow control of the kinds of tests that are done for each kind of build that is done. Modified Paths: -------------- trunk/scripts/comprehensive_test.sh Modified: trunk/scripts/comprehensive_test.sh =================================================================== --- trunk/scripts/comprehensive_test.sh 2010-09-12 19:16:27 UTC (rev 11174) +++ trunk/scripts/comprehensive_test.sh 2010-09-13 01:57:39 UTC (rev 11175) @@ -9,21 +9,197 @@ # (III) CMake-based test_noninteractive and test_interactive of # installed examples. -# FIXME: the following should be set as a result of user options. -# These control what kind of build is tested. -CMAKE_ADDED_OPTIONS='-DPLD_pdf=ON' +usage () { + local prog=`basename $0` + echo "Usage: $prog [OPTIONS] +OPTIONS: + The next four control what kind of build is tested. + [--cmake_added_options (defaults to none)] + [--do_shared (yes/no, defaults to yes)] + [--do_nondynamic (yes/no, defaults to yes)] + [--do_static (yes/no, defaults to yes)] + + The next six control which of seven kinds of tests are done for + each kind of build. + [--do_ctest (yes/no, defaults to yes)] + [--do_noninteractive_test (yes/no, defaults to yes)] + [--do_interactive_test (yes/no, defaults to yes)] + [--do_build_tree_test (yes/no, defaults to yes)] + [--do_install_tree_test (yes/no, defaults to yes)] + [--do_traditional_tree_test (yes/no, defaults to yes)] + + [--help] Show this message. +" + exit $1 +} + + +cmake_added_options= do_shared=yes do_nondynamic=yes do_static=yes # These control which of 7 tests that are run. do_ctest=yes +do_noninteractive_test=yes +do_interactive_test=yes do_build_tree_test=yes do_install_tree_test=yes do_traditional_tree_test=yes -do_noninteractive_test=yes -do_interactive_test=yes +while test $# -gt 0; do + + case $1 in + --cmake_added_options) + cmake_added_options=$2 + shift + ;; + --do_shared) + case $2 in + yes|no) + do_shared=$2 + shift + ;; + + *) + usage 1 1>&2 + ;; + esac + ;; + --do_nondynamic) + case $2 in + yes|no) + do_nondynamic=$2 + shift + ;; + *) + usage 1 1>&2 + ;; + esac + ;; + --do_static) + case $2 in + yes|no) + do_static=$2 + shift + ;; + *) + usage 1 1>&2 + ;; + esac + ;; + --do_ctest) + case $2 in + yes|no) + do_ctest=$2 + shift + ;; + *) + usage 1 1>&2 + ;; + esac + ;; + --do_noninteractive_test) + case $2 in + yes|no) + do_noninteractive_test=$2 + shift + ;; + *) + usage 1 1>&2 + ;; + esac + ;; + --do_interactive_test) + case $2 in + yes|no) + do_interactive_test=$2 + shift + ;; + *) + usage 1 1>&2 + ;; + esac + ;; + --do_build_tree_test) + case $2 in + yes|no) + do_build_tree_test=$2 + shift + ;; + *) + usage 1 1>&2 + ;; + esac + ;; + --do_install_tree_test) + case $2 in + yes|no) + do_install_tree_test=$2 + shift + ;; + *) + usage 1 1>&2 + ;; + esac + ;; + --do_traditional_tree_test) + case $2 in + yes|no) + do_traditional_tree_test=$2 + shift + ;; + *) + usage 1 1>&2 + ;; + esac + ;; + --help) + usage 0 1>&2 + ;; + *) + usage 1 1>&2 + ;; + esac + shift +done +echo "Summary of options used for these tests + +This/these cmake option(s) added for all builds +cmake_added_options = $cmake_added_options + +The next three control whether builds with shared libraries/dynamic +drivers; shared_libraries/nondynamic drivers; and/or static +libraries/nondynamic drivers are tested +do_shared = $do_shared +do_nondynamic = $do_nondynamic +do_static = $do_static + +Run the ctest test? +do_ctest = $do_ctest + +The next two control whether noninteractive and/or interactive tests are +performed for the next three kinds of tests +do_noninteractive_test = $do_noninteractive_test +do_interactive_test = $do_interactive_test + +The next three control whether build tree examples, installed examples +with CMake-based build system, and/or installed examples with +traditional (Makefile + pkg-config) build system tests are run. +do_build_tree_test = $do_build_tree_test +do_install_tree_test = $do_install_tree_test +do_traditional_tree_test = $do_traditional_tree_test +" +ANSWER= +while [ "$ANSWER" != "yes" -a "$ANSWER" != "no" ] ; do + echo -n "Continue (yes/no)? " + read ANSWER +done +if [ "$ANSWER" = "no" ] ; then + echo "Immediate exit specified!" + exit +fi + # Find absolute PATH of script without using readlink (since readlink is # not available on all platforms). Followed advice at # http://fritzthomas.com/open-source/linux/551-how-to-get-absolute-path-within-shell-script-part2/ @@ -53,7 +229,7 @@ output="$OUTPUT_TREE"/cmake.out rm -f "$output" cmake "-DCMAKE_INSTALL_PREFIX=$INSTALL_TREE" $BUILD_TEST_OPTION \ - $CMAKE_ADDED_OPTIONS $1 "$SOURCE_TREE" >& "$output" + "$cmake_added_options" $1 "$SOURCE_TREE" >& "$output" cmake_rc=$? if [ "$cmake_rc" -eq 0 ] ; then if [ "$do_build_tree_test" = "yes" -a "$do_noninteractive_test" = "yes" ] ; then This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2010-09-30 09:40:18
|
Revision: 11232 http://plplot.svn.sourceforge.net/plplot/?rev=11232&view=rev Author: airwin Date: 2010-09-30 09:40:12 +0000 (Thu, 30 Sep 2010) Log Message: ----------- Improved self documentation, mandatory option for the build command to be used (e.g., make, 'make -j4', nmake, or whatever). Modified Paths: -------------- trunk/scripts/comprehensive_test.sh Modified: trunk/scripts/comprehensive_test.sh =================================================================== --- trunk/scripts/comprehensive_test.sh 2010-09-28 22:45:18 UTC (rev 11231) +++ trunk/scripts/comprehensive_test.sh 2010-09-30 09:40:12 UTC (rev 11232) @@ -13,6 +13,8 @@ local prog=`basename $0` echo "Usage: $prog [OPTIONS] OPTIONS: + This next option is mandatory. + [--build_command (e.g., 'make -j4' or 'nmake')] The next four control what kind of build is tested. [--cmake_added_options (defaults to none)] [--do_shared (yes/no, defaults to yes)] @@ -33,7 +35,122 @@ exit $1 } +comprehensive_test () { + echo " +Running comprehensive_test function with the following variables set: +The variables below are key CMake options which determine the entire +kind of build that will be tested. +\$1 = $1 + +The location below is where all the important *.out files will be found. +OUTPUT_TREE = $OUTPUT_TREE + +The location below is the top-level build-tree directory. +BUILD_TREE = $BUILD_TREE + +The location below is the top-level install-tree directory. +INSTALL_TREE = $INSTALL_TREE + +The location below is the top-level directory of the build tree used +for the CMake-based build and test of the installed examples. +INSTALL_BUILD_TREE = $INSTALL_BUILD_TREE + +Each of the steps in this comprehensive test may take a while...." + + mkdir -p "$OUTPUT_TREE" + rm -rf "$BUILD_TREE" + mkdir -p "$BUILD_TREE" + cd "$BUILD_TREE" + if [ "$do_ctest" = "yes" -o "$do_build_tree_test" = "yes" ] ; then + BUILD_TEST_OPTION="-DBUILD_TEST=ON" + else + BUILD_TEST_OPTION="" + fi + output="$OUTPUT_TREE"/cmake.out + rm -f "$output" + echo "cmake in the build tree" + cmake "-DCMAKE_INSTALL_PREFIX=$INSTALL_TREE" $BUILD_TEST_OPTION \ + "$cmake_added_options" $1 "$SOURCE_TREE" >& "$output" + cmake_rc=$? + if [ "$cmake_rc" -eq 0 ] ; then + if [ "$do_build_tree_test" = "yes" -a "$do_noninteractive_test" = "yes" ] ; then + output="$OUTPUT_TREE"/make_noninteractive.out + rm -f "$output" + echo "$build_command test_noninteractive in the build tree" + $build_command VERBOSE=1 test_noninteractive >& "$output" + fi + rm -rf "$INSTALL_TREE" + output="$OUTPUT_TREE"/make_install.out + rm -f "$output" + echo "$build_command install in the build tree" + $build_command VERBOSE=1 install >& "$output" + make_install_rc=$? + if [ "$make_install_rc" -eq 0 ] ; then + PATH="$INSTALL_TREE/bin":$PATH + if [ "$do_ctest" = "yes" ] ; then + output="$OUTPUT_TREE"/ctest.out + rm -f "$output" + echo "launch ctest job in the build tree" + ctest --extra-verbose >& "$output" & + fi + if [ "$do_install_tree_test" = "yes" ] ; then + rm -rf "$INSTALL_BUILD_TREE" + mkdir -p "$INSTALL_BUILD_TREE" + cd "$INSTALL_BUILD_TREE" + output="$OUTPUT_TREE"/installed_cmake.out + rm -f "$output" + echo "cmake in the installed examples build tree" + cmake "$INSTALL_TREE"/share/plplot?.?.?/examples >& "$output" + if [ "$do_noninteractive_test" = "yes" ] ; then + output="$OUTPUT_TREE"/installed_make_noninteractive.out + rm -f "$output" + echo "$build_command test_noninteractive in the installed examples build tree" + $build_command VERBOSE=1 test_noninteractive >& "$output" + fi + fi + if [ "$do_traditional_tree_test" = "yes" -a "$do_noninteractive_test" = "yes" ] ; then + cd "$INSTALL_TREE"/share/plplot?.?.?/examples + output="$OUTPUT_TREE"/traditional_make_noninteractive.out + rm -f "$output" + echo "Traditional $build_command test_noninteractive in the installed examples tree" + $build_command test_noninteractive >& "$output" + fi + else + echo "ERROR: $build_command install failed" + exit 1 + fi + + if [ "$do_interactive_test" = "yes" ] ; then + if [ "$do_build_tree_test" = "yes" ] ; then + cd "$BUILD_TREE" + output="$OUTPUT_TREE"/make_interactive.out + rm -f "$output" + echo "$build_command test_interactive in the build tree" + $build_command VERBOSE=1 test_interactive >& "$output" + fi + if [ "$do_install_tree_test" = "yes" ] ; then + cd "$INSTALL_BUILD_TREE" + output="$OUTPUT_TREE"/installed_make_interactive.out + rm -f "$output" + echo "$build_command test_interactive in the installed examples build tree" + $build_command VERBOSE=1 test_interactive >& "$output" + fi + if [ "$do_traditional_tree_test" = "yes" ] ; then + cd "$INSTALL_TREE"/share/plplot?.?.?/examples + output="$OUTPUT_TREE"/traditional_make_interactive.out + rm -f "$output" + echo "Traditional $build_command test_interactive in the installed examples tree" + $build_command test_interactive >& "$output" + fi + fi + else + echo "ERROR: cmake in build tree failed" + exit 1 + fi +} + +build_command= cmake_added_options= do_shared=yes do_nondynamic=yes @@ -50,6 +167,10 @@ while test $# -gt 0; do case $1 in + --build_command) + build_command=$2 + shift + ;; --cmake_added_options) cmake_added_options=$2 shift @@ -163,8 +284,17 @@ esac shift done + +if [ -z "$build_command" ] ; then + echo "--build_command option is mandatory!" + usage 1 1>&2 +fi + echo "Summary of options used for these tests +This variable set as a result of the one mandatory --build_command option. +build_command = $build_command + This/these cmake option(s) added for all builds cmake_added_options = $cmake_added_options @@ -216,89 +346,6 @@ # INSTALL_BUILD_TREE, and OUTPUT_TREE. It is disposable. PARENT_TREE="${SOURCE_TREE}/comprehensive_test_disposeable" -function comprehensive_test { - mkdir -p "$OUTPUT_TREE" - rm -rf "$BUILD_TREE" - mkdir -p "$BUILD_TREE" - cd "$BUILD_TREE" - if [ "$do_ctest" = "yes" -o "$do_build_tree_test" = "yes" ] ; then - BUILD_TEST_OPTION="-DBUILD_TEST=ON" - else - BUILD_TEST_OPTION="" - fi - output="$OUTPUT_TREE"/cmake.out - rm -f "$output" - cmake "-DCMAKE_INSTALL_PREFIX=$INSTALL_TREE" $BUILD_TEST_OPTION \ - "$cmake_added_options" $1 "$SOURCE_TREE" >& "$output" - cmake_rc=$? - if [ "$cmake_rc" -eq 0 ] ; then - if [ "$do_build_tree_test" = "yes" -a "$do_noninteractive_test" = "yes" ] ; then - output="$OUTPUT_TREE"/make_noninteractive.out - rm -f "$output" - make -j4 VERBOSE=1 test_noninteractive >& "$output" - fi - rm -rf "$INSTALL_TREE" - output="$OUTPUT_TREE"/make_install.out - rm -f "$output" - make -j4 VERBOSE=1 install >& "$output" - make_install_rc=$? - if [ "$make_install_rc" -eq 0 ] ; then - PATH="$INSTALL_TREE/bin":$PATH - if [ "$do_ctest" = "yes" ] ; then - output="$OUTPUT_TREE"/ctest.out - rm -f "$output" - ctest --extra-verbose >& "$output" & - fi - if [ "$do_install_tree_test" = "yes" ] ; then - rm -rf "$INSTALL_BUILD_TREE" - mkdir -p "$INSTALL_BUILD_TREE" - cd "$INSTALL_BUILD_TREE" - output="$OUTPUT_TREE"/installed_cmake.out - rm -f "$output" - cmake "$INSTALL_TREE"/share/plplot?.?.?/examples >& "$output" - if [ "$do_noninteractive_test" = "yes" ] ; then - output="$OUTPUT_TREE"/installed_make_noninteractive.out - rm -f "$output" - make -j4 VERBOSE=1 test_noninteractive >& "$output" - fi - fi - if [ "$do_traditional_tree_test" = "yes" -a "$do_noninteractive_test" = "yes" ] ; then - cd "$INSTALL_TREE"/share/plplot?.?.?/examples - output="$OUTPUT_TREE"/traditional_make_noninteractive.out - rm -f "$output" - make -j4 test_noninteractive >& "$output" - fi - else - echo "ERROR: make install failed" - exit 1 - fi - - if [ "$do_interactive_test" = "yes" ] ; then - if [ "$do_build_tree_test" = "yes" ] ; then - cd "$BUILD_TREE" - output="$OUTPUT_TREE"/make_interactive.out - rm -f "$output" - make -j4 VERBOSE=1 test_interactive >& "$output" - fi - if [ "$do_install_tree_test" = "yes" ] ; then - cd "$INSTALL_BUILD_TREE" - output="$OUTPUT_TREE"/installed_make_interactive.out - rm -f "$output" - make -j4 VERBOSE=1 test_interactive >& "$output" - fi - if [ "$do_traditional_tree_test" = "yes" ] ; then - cd "$INSTALL_TREE"/share/plplot?.?.?/examples - output="$OUTPUT_TREE"/traditional_make_interactive.out - rm -f "$output" - make -j4 test_interactive >& "$output" - fi - fi - else - echo "ERROR: cmake in build tree failed" - exit 1 - fi -} - # Shared + dynamic if [ "$do_shared" = "yes" ] ; then OUTPUT_TREE="$PARENT_TREE/shared/output_tree" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2010-09-30 16:40:40
|
Revision: 11233 http://plplot.svn.sourceforge.net/plplot/?rev=11233&view=rev Author: airwin Date: 2010-09-30 16:40:34 +0000 (Thu, 30 Sep 2010) Log Message: ----------- Tweak self-documentation some more. Modified Paths: -------------- trunk/scripts/comprehensive_test.sh Modified: trunk/scripts/comprehensive_test.sh =================================================================== --- trunk/scripts/comprehensive_test.sh 2010-09-30 09:40:12 UTC (rev 11232) +++ trunk/scripts/comprehensive_test.sh 2010-09-30 16:40:34 UTC (rev 11233) @@ -16,7 +16,11 @@ This next option is mandatory. [--build_command (e.g., 'make -j4' or 'nmake')] The next four control what kind of build is tested. - [--cmake_added_options (defaults to none)] + [--cmake_added_options (defaults to no additional cmake options, but this + shell option can be used to supply additional cmake + options to, e.g, specify the cmake generator or + refine what parts of the PLplot software are + built and tested) [--do_shared (yes/no, defaults to yes)] [--do_nondynamic (yes/no, defaults to yes)] [--do_static (yes/no, defaults to yes)] This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2010-10-01 04:13:21
|
Revision: 11234 http://plplot.svn.sourceforge.net/plplot/?rev=11234&view=rev Author: airwin Date: 2010-10-01 04:13:15 +0000 (Fri, 01 Oct 2010) Log Message: ----------- Tweak error message. Modified Paths: -------------- trunk/scripts/comprehensive_test.sh Modified: trunk/scripts/comprehensive_test.sh =================================================================== --- trunk/scripts/comprehensive_test.sh 2010-09-30 16:40:34 UTC (rev 11233) +++ trunk/scripts/comprehensive_test.sh 2010-10-01 04:13:15 UTC (rev 11234) @@ -149,7 +149,7 @@ fi fi else - echo "ERROR: cmake in build tree failed" + echo "ERROR: cmake in the build tree failed" exit 1 fi } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2010-10-22 00:07:31
|
Revision: 11266 http://plplot.svn.sourceforge.net/plplot/?rev=11266&view=rev Author: airwin Date: 2010-10-22 00:07:24 +0000 (Fri, 22 Oct 2010) Log Message: ----------- Improve organization of script, naming of options, and parsing of cmake_added_options. Add generator_string option. Modified Paths: -------------- trunk/scripts/comprehensive_test.sh Modified: trunk/scripts/comprehensive_test.sh =================================================================== --- trunk/scripts/comprehensive_test.sh 2010-10-21 19:07:37 UTC (rev 11265) +++ trunk/scripts/comprehensive_test.sh 2010-10-22 00:07:24 UTC (rev 11266) @@ -13,14 +13,12 @@ local prog=`basename $0` echo "Usage: $prog [OPTIONS] OPTIONS: - This next option is mandatory. - [--build_command (e.g., 'make -j4' or 'nmake')] - The next four control what kind of build is tested. - [--cmake_added_options (defaults to no additional cmake options, but this - shell option can be used to supply additional cmake - options to, e.g, specify the cmake generator or - refine what parts of the PLplot software are - built and tested) + The next five control what kind of build is tested. + [--generator_string (defaults to 'Unix Makefiles')] + [--cmake_added_options (defaults to none, but can be used to specify any + combination of white-space-separated cmake options + to, e.g., refine what parts of the PLplot software are + built and tested)] [--do_shared (yes/no, defaults to yes)] [--do_nondynamic (yes/no, defaults to yes)] [--do_static (yes/no, defaults to yes)] @@ -28,24 +26,28 @@ The next six control which of seven kinds of tests are done for each kind of build. [--do_ctest (yes/no, defaults to yes)] - [--do_noninteractive_test (yes/no, defaults to yes)] - [--do_interactive_test (yes/no, defaults to yes)] - [--do_build_tree_test (yes/no, defaults to yes)] - [--do_install_tree_test (yes/no, defaults to yes)] - [--do_traditional_tree_test (yes/no, defaults to yes)] + [--do_test_noninteractive (yes/no, defaults to yes)] + [--do_test_interactive (yes/no, defaults to yes)] + [--do_test_build_tree (yes/no, defaults to yes)] + [--do_test_install_tree (yes/no, defaults to yes)] + [--do_test_traditional_install_tree (yes/no, defaults to yes)] + The next option controls what command is used for the build(s). + [--build_command (defaults to 'make -j4')] + [--help] Show this message. " exit $1 } comprehensive_test () { + CMAKE_BUILD_TYPE_OPTION=$1 echo " Running comprehensive_test function with the following variables set: The variables below are key CMake options which determine the entire kind of build that will be tested. -\$1 = $1 +CMAKE_BUILD_TYPE_OPTION = $CMAKE_BUILD_TYPE_OPTION The location below is where all the important *.out files will be found. OUTPUT_TREE = $OUTPUT_TREE @@ -66,81 +68,88 @@ rm -rf "$BUILD_TREE" mkdir -p "$BUILD_TREE" cd "$BUILD_TREE" - if [ "$do_ctest" = "yes" -o "$do_build_tree_test" = "yes" ] ; then + if [ "$do_ctest" = "yes" -o "$do_test_build_tree" = "yes" ] ; then BUILD_TEST_OPTION="-DBUILD_TEST=ON" else BUILD_TEST_OPTION="" fi output="$OUTPUT_TREE"/cmake.out rm -f "$output" + #Process $cmake_added_options into $* + set -- $cmake_added_options echo "cmake in the build tree" cmake "-DCMAKE_INSTALL_PREFIX=$INSTALL_TREE" $BUILD_TEST_OPTION \ - "$cmake_added_options" $1 "$SOURCE_TREE" >& "$output" + $* $CMAKE_BUILD_TYPE_OPTION -G "$generator_string" \ + "$SOURCE_TREE" >& "$output" cmake_rc=$? if [ "$cmake_rc" -eq 0 ] ; then - if [ "$do_build_tree_test" = "yes" -a "$do_noninteractive_test" = "yes" ] ; then + if [ "$do_test_build_tree" = "yes" -a "$do_test_noninteractive" = "yes" ] ; then output="$OUTPUT_TREE"/make_noninteractive.out rm -f "$output" echo "$build_command test_noninteractive in the build tree" $build_command VERBOSE=1 test_noninteractive >& "$output" fi - rm -rf "$INSTALL_TREE" - output="$OUTPUT_TREE"/make_install.out - rm -f "$output" - echo "$build_command install in the build tree" - $build_command VERBOSE=1 install >& "$output" - make_install_rc=$? - if [ "$make_install_rc" -eq 0 ] ; then - PATH="$INSTALL_TREE/bin":$PATH - if [ "$do_ctest" = "yes" ] ; then - output="$OUTPUT_TREE"/ctest.out - rm -f "$output" - echo "launch ctest job in the build tree" - ctest --extra-verbose >& "$output" & - fi - if [ "$do_install_tree_test" = "yes" ] ; then - rm -rf "$INSTALL_BUILD_TREE" - mkdir -p "$INSTALL_BUILD_TREE" - cd "$INSTALL_BUILD_TREE" - output="$OUTPUT_TREE"/installed_cmake.out - rm -f "$output" - echo "cmake in the installed examples build tree" - cmake "$INSTALL_TREE"/share/plplot?.?.?/examples >& "$output" - if [ "$do_noninteractive_test" = "yes" ] ; then - output="$OUTPUT_TREE"/installed_make_noninteractive.out + if [ "$do_ctest" = "yes" -o \ + "$do_test_install_tree" = "yes" -o \ + "$do_test_traditional_install_tree" = "yes" ] ; then + rm -rf "$INSTALL_TREE" + output="$OUTPUT_TREE"/make_install.out + rm -f "$output" + echo "$build_command install in the build tree" + $build_command VERBOSE=1 install >& "$output" + make_install_rc=$? + if [ "$make_install_rc" -eq 0 ] ; then + PATH="$INSTALL_TREE/bin":$PATH + if [ "$do_ctest" = "yes" ] ; then + output="$OUTPUT_TREE"/ctest.out rm -f "$output" - echo "$build_command test_noninteractive in the installed examples build tree" - $build_command VERBOSE=1 test_noninteractive >& "$output" + echo "launch ctest job in the build tree" + ctest --extra-verbose >& "$output" & fi + if [ "$do_test_install_tree" = "yes" ] ; then + rm -rf "$INSTALL_BUILD_TREE" + mkdir -p "$INSTALL_BUILD_TREE" + cd "$INSTALL_BUILD_TREE" + output="$OUTPUT_TREE"/installed_cmake.out + rm -f "$output" + echo "cmake in the installed examples build tree" + cmake "$INSTALL_TREE"/share/plplot?.?.?/examples >& "$output" + if [ "$do_test_noninteractive" = "yes" ] ; then + output="$OUTPUT_TREE"/installed_make_noninteractive.out + rm -f "$output" + echo "$build_command test_noninteractive in the installed examples build tree" + $build_command VERBOSE=1 test_noninteractive >& "$output" + fi + fi + if [ "$do_test_traditional_install_tree" = "yes" -a "$do_test_noninteractive" = "yes" ] ; then + cd "$INSTALL_TREE"/share/plplot?.?.?/examples + output="$OUTPUT_TREE"/traditional_make_noninteractive.out + rm -f "$output" + echo "Traditional $build_command test_noninteractive in the installed examples tree" + $build_command test_noninteractive >& "$output" + fi + else + echo "ERROR: $build_command install failed" + exit 1 fi - if [ "$do_traditional_tree_test" = "yes" -a "$do_noninteractive_test" = "yes" ] ; then - cd "$INSTALL_TREE"/share/plplot?.?.?/examples - output="$OUTPUT_TREE"/traditional_make_noninteractive.out - rm -f "$output" - echo "Traditional $build_command test_noninteractive in the installed examples tree" - $build_command test_noninteractive >& "$output" - fi - else - echo "ERROR: $build_command install failed" - exit 1 fi - if [ "$do_interactive_test" = "yes" ] ; then - if [ "$do_build_tree_test" = "yes" ] ; then + if [ "$do_test_interactive" = "yes" ] ; then + if [ "$do_test_build_tree" = "yes" ] ; then cd "$BUILD_TREE" output="$OUTPUT_TREE"/make_interactive.out rm -f "$output" echo "$build_command test_interactive in the build tree" $build_command VERBOSE=1 test_interactive >& "$output" fi - if [ "$do_install_tree_test" = "yes" ] ; then + if [ "$do_test_install_tree" = "yes" ] ; then cd "$INSTALL_BUILD_TREE" output="$OUTPUT_TREE"/installed_make_interactive.out rm -f "$output" echo "$build_command test_interactive in the installed examples build tree" $build_command VERBOSE=1 test_interactive >& "$output" fi - if [ "$do_traditional_tree_test" = "yes" ] ; then + if [ "$do_test_traditional_install_tree" = "yes" ] ; then cd "$INSTALL_TREE"/share/plplot?.?.?/examples output="$OUTPUT_TREE"/traditional_make_interactive.out rm -f "$output" @@ -154,25 +163,27 @@ fi } -build_command= +# Default values for options +generator_string="Unix Makefiles" cmake_added_options= do_shared=yes do_nondynamic=yes do_static=yes -# These control which of 7 tests that are run. do_ctest=yes -do_noninteractive_test=yes -do_interactive_test=yes -do_build_tree_test=yes -do_install_tree_test=yes -do_traditional_tree_test=yes +do_test_noninteractive=yes +do_test_interactive=yes +do_test_build_tree=yes +do_test_install_tree=yes +do_test_traditional_install_tree=yes +build_command="make -j4" + while test $# -gt 0; do case $1 in - --build_command) - build_command=$2 + --generator_string) + generator_string=$2 shift ;; --cmake_added_options) @@ -224,10 +235,10 @@ ;; esac ;; - --do_noninteractive_test) + --do_test_noninteractive) case $2 in yes|no) - do_noninteractive_test=$2 + do_test_noninteractive=$2 shift ;; *) @@ -235,10 +246,10 @@ ;; esac ;; - --do_interactive_test) + --do_test_interactive) case $2 in yes|no) - do_interactive_test=$2 + do_test_interactive=$2 shift ;; *) @@ -246,10 +257,10 @@ ;; esac ;; - --do_build_tree_test) + --do_test_build_tree) case $2 in yes|no) - do_build_tree_test=$2 + do_test_build_tree=$2 shift ;; *) @@ -257,10 +268,10 @@ ;; esac ;; - --do_install_tree_test) + --do_test_install_tree) case $2 in yes|no) - do_install_tree_test=$2 + do_test_install_tree=$2 shift ;; *) @@ -268,10 +279,10 @@ ;; esac ;; - --do_traditional_tree_test) + --do_test_traditional_install_tree) case $2 in yes|no) - do_traditional_tree_test=$2 + do_test_traditional_install_tree=$2 shift ;; *) @@ -279,6 +290,10 @@ ;; esac ;; + --build_command) + build_command=$2 + shift + ;; --help) usage 0 1>&2 ;; @@ -289,40 +304,26 @@ shift done -if [ -z "$build_command" ] ; then - echo "--build_command option is mandatory!" - usage 1 1>&2 -fi - echo "Summary of options used for these tests -This variable set as a result of the one mandatory --build_command option. -build_command = $build_command - -This/these cmake option(s) added for all builds +generator_string = $generator_string cmake_added_options = $cmake_added_options -The next three control whether builds with shared libraries/dynamic -drivers; shared_libraries/nondynamic drivers; and/or static -libraries/nondynamic drivers are tested do_shared = $do_shared do_nondynamic = $do_nondynamic do_static = $do_static -Run the ctest test? do_ctest = $do_ctest -The next two control whether noninteractive and/or interactive tests are -performed for the next three kinds of tests -do_noninteractive_test = $do_noninteractive_test -do_interactive_test = $do_interactive_test +do_test_noninteractive = $do_test_noninteractive +do_test_interactive = $do_test_interactive -The next three control whether build tree examples, installed examples -with CMake-based build system, and/or installed examples with -traditional (Makefile + pkg-config) build system tests are run. -do_build_tree_test = $do_build_tree_test -do_install_tree_test = $do_install_tree_test -do_traditional_tree_test = $do_traditional_tree_test +do_test_build_tree = $do_test_build_tree +do_test_install_tree = $do_test_install_tree +do_test_traditional_install_tree = $do_test_traditional_install_tree + +build_command = $build_command + " ANSWER= while [ "$ANSWER" != "yes" -a "$ANSWER" != "no" ] ; do This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2010-11-26 17:37:06
|
Revision: 11351 http://plplot.svn.sourceforge.net/plplot/?rev=11351&view=rev Author: airwin Date: 2010-11-26 17:36:59 +0000 (Fri, 26 Nov 2010) Log Message: ----------- Put dll on PATH in the build tree if using "MinGW Makefiles" or "MSYS Makefiles" generator. This change not tested yet. Modified Paths: -------------- trunk/scripts/comprehensive_test.sh Modified: trunk/scripts/comprehensive_test.sh =================================================================== --- trunk/scripts/comprehensive_test.sh 2010-11-24 07:52:02 UTC (rev 11350) +++ trunk/scripts/comprehensive_test.sh 2010-11-26 17:36:59 UTC (rev 11351) @@ -64,6 +64,7 @@ Each of the steps in this comprehensive test may take a while...." + PATH_SAVE=$PATH mkdir -p "$OUTPUT_TREE" rm -rf "$BUILD_TREE" mkdir -p "$BUILD_TREE" @@ -84,10 +85,14 @@ cmake_rc=$? if [ "$cmake_rc" -eq 0 ] ; then if [ "$do_test_build_tree" = "yes" -a "$do_test_noninteractive" = "yes" ] ; then + if [ "$generator_string" = "MinGW Makefiles" -o "$generator_string" = "MSYS Makefiles" ] ; then + PATH=$PATH_SAVE:dll + fi output="$OUTPUT_TREE"/make_noninteractive.out rm -f "$output" echo "$build_command test_noninteractive in the build tree" $build_command VERBOSE=1 test_noninteractive >& "$output" + PATH=$PATH_SAVE fi if [ "$do_ctest" = "yes" -o \ "$do_test_install_tree" = "yes" -o \ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2010-11-26 18:18:11
|
Revision: 11352 http://plplot.svn.sourceforge.net/plplot/?rev=11352&view=rev Author: airwin Date: 2010-11-26 18:18:05 +0000 (Fri, 26 Nov 2010) Log Message: ----------- Improve handling of PATH for dll subdirectory in build tree. Also, improve logic for install-tree PATH. Modified Paths: -------------- trunk/scripts/comprehensive_test.sh Modified: trunk/scripts/comprehensive_test.sh =================================================================== --- trunk/scripts/comprehensive_test.sh 2010-11-26 17:36:59 UTC (rev 11351) +++ trunk/scripts/comprehensive_test.sh 2010-11-26 18:18:05 UTC (rev 11352) @@ -65,6 +65,9 @@ Each of the steps in this comprehensive test may take a while...." PATH_SAVE=$PATH + if [ "$CMAKE_BUILD_TYPE_OPTION" = "-DBUILD_SHARED_LIBS=ON" -a ( "$generator_string" = "MinGW Makefiles" -o "$generator_string" = "MSYS Makefiles" ) ] ; then + PATH=$PATH_SAVE:$BUILD_TREE/dll + fi mkdir -p "$OUTPUT_TREE" rm -rf "$BUILD_TREE" mkdir -p "$BUILD_TREE" @@ -85,14 +88,10 @@ cmake_rc=$? if [ "$cmake_rc" -eq 0 ] ; then if [ "$do_test_build_tree" = "yes" -a "$do_test_noninteractive" = "yes" ] ; then - if [ "$generator_string" = "MinGW Makefiles" -o "$generator_string" = "MSYS Makefiles" ] ; then - PATH=$PATH_SAVE:dll - fi output="$OUTPUT_TREE"/make_noninteractive.out rm -f "$output" echo "$build_command test_noninteractive in the build tree" $build_command VERBOSE=1 test_noninteractive >& "$output" - PATH=$PATH_SAVE fi if [ "$do_ctest" = "yes" -o \ "$do_test_install_tree" = "yes" -o \ @@ -104,13 +103,13 @@ $build_command VERBOSE=1 install >& "$output" make_install_rc=$? if [ "$make_install_rc" -eq 0 ] ; then - PATH="$INSTALL_TREE/bin":$PATH if [ "$do_ctest" = "yes" ] ; then output="$OUTPUT_TREE"/ctest.out rm -f "$output" echo "launch ctest job in the build tree" ctest --extra-verbose >& "$output" & fi + PATH="$INSTALL_TREE/bin":$PATH_SAVE if [ "$do_test_install_tree" = "yes" ] ; then rm -rf "$INSTALL_BUILD_TREE" mkdir -p "$INSTALL_BUILD_TREE" @@ -139,6 +138,7 @@ fi fi + PATH=$PATH_SAVE if [ "$do_test_interactive" = "yes" ] ; then if [ "$do_test_build_tree" = "yes" ] ; then cd "$BUILD_TREE" @@ -147,6 +147,7 @@ echo "$build_command test_interactive in the build tree" $build_command VERBOSE=1 test_interactive >& "$output" fi + PATH="$INSTALL_TREE/bin":$PATH_SAVE if [ "$do_test_install_tree" = "yes" ] ; then cd "$INSTALL_BUILD_TREE" output="$OUTPUT_TREE"/installed_make_interactive.out This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2010-11-28 22:13:22
|
Revision: 11356 http://plplot.svn.sourceforge.net/plplot/?rev=11356&view=rev Author: airwin Date: 2010-11-28 22:13:16 +0000 (Sun, 28 Nov 2010) Log Message: ----------- Fix syntax error introduced by last commit. Parentheses which group test commands must be escaped to avoid using the other interpretation of parentheses which is to launch a subshell. Modified Paths: -------------- trunk/scripts/comprehensive_test.sh Modified: trunk/scripts/comprehensive_test.sh =================================================================== --- trunk/scripts/comprehensive_test.sh 2010-11-28 21:38:24 UTC (rev 11355) +++ trunk/scripts/comprehensive_test.sh 2010-11-28 22:13:16 UTC (rev 11356) @@ -65,7 +65,7 @@ Each of the steps in this comprehensive test may take a while...." PATH_SAVE=$PATH - if [ "$CMAKE_BUILD_TYPE_OPTION" = "-DBUILD_SHARED_LIBS=ON" -a ( "$generator_string" = "MinGW Makefiles" -o "$generator_string" = "MSYS Makefiles" ) ] ; then + if [ "$CMAKE_BUILD_TYPE_OPTION" = "-DBUILD_SHARED_LIBS=ON" -a \( "$generator_string" = "MinGW Makefiles" -o "$generator_string" = "MSYS Makefiles" \) ] ; then PATH=$PATH_SAVE:$BUILD_TREE/dll fi mkdir -p "$OUTPUT_TREE" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <arj...@us...> - 2010-12-03 07:49:50
|
Revision: 11361 http://plplot.svn.sourceforge.net/plplot/?rev=11361&view=rev Author: arjenmarkus Date: 2010-12-03 07:49:43 +0000 (Fri, 03 Dec 2010) Log Message: ----------- Present the unknown options in addition to the information on the (correct) usage, to make it easier to correct typos and such Modified Paths: -------------- trunk/scripts/comprehensive_test.sh Modified: trunk/scripts/comprehensive_test.sh =================================================================== --- trunk/scripts/comprehensive_test.sh 2010-12-01 19:31:36 UTC (rev 11360) +++ trunk/scripts/comprehensive_test.sh 2010-12-03 07:49:43 UTC (rev 11361) @@ -37,7 +37,9 @@ [--help] Show this message. " - exit $1 + if [ $1 -ne 0 ]; then + exit $1 + fi } comprehensive_test () { @@ -185,6 +187,8 @@ build_command="make -j4" +usage_reported=0 + while test $# -gt 0; do case $1 in @@ -304,12 +308,21 @@ usage 0 1>&2 ;; *) - usage 1 1>&2 + if [ $usage_reported -eq 0 ]; then + usage_reported=1 + usage 0 1>&2 + echo " " + fi + echo "Unknown option: $1" ;; esac shift done +if [ $usage_reported -eq 1 ]; then + exit 1 +fi + echo "Summary of options used for these tests generator_string = $generator_string This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2010-12-09 09:07:18
|
Revision: 11364 http://plplot.svn.sourceforge.net/plplot/?rev=11364&view=rev Author: airwin Date: 2010-12-09 09:07:08 +0000 (Thu, 09 Dec 2010) Log Message: ----------- Add the --path_excluding_msys option to deal properly with the "MinGW Makefiles" case. Add an option so that the user can specify the prefix of the tree where all results are stored. Reorganize the script and tighten up the logic. Modified Paths: -------------- trunk/scripts/comprehensive_test.sh Modified: trunk/scripts/comprehensive_test.sh =================================================================== --- trunk/scripts/comprehensive_test.sh 2010-12-03 19:37:11 UTC (rev 11363) +++ trunk/scripts/comprehensive_test.sh 2010-12-09 09:07:08 UTC (rev 11364) @@ -9,39 +9,6 @@ # (III) CMake-based test_noninteractive and test_interactive of # installed examples. -usage () { - local prog=`basename $0` - echo "Usage: $prog [OPTIONS] -OPTIONS: - The next five control what kind of build is tested. - [--generator_string (defaults to 'Unix Makefiles')] - [--cmake_added_options (defaults to none, but can be used to specify any - combination of white-space-separated cmake options - to, e.g., refine what parts of the PLplot software are - built and tested)] - [--do_shared (yes/no, defaults to yes)] - [--do_nondynamic (yes/no, defaults to yes)] - [--do_static (yes/no, defaults to yes)] - - The next six control which of seven kinds of tests are done for - each kind of build. - [--do_ctest (yes/no, defaults to yes)] - [--do_test_noninteractive (yes/no, defaults to yes)] - [--do_test_interactive (yes/no, defaults to yes)] - [--do_test_build_tree (yes/no, defaults to yes)] - [--do_test_install_tree (yes/no, defaults to yes)] - [--do_test_traditional_install_tree (yes/no, defaults to yes)] - - The next option controls what command is used for the build(s). - [--build_command (defaults to 'make -j4')] - - [--help] Show this message. -" - if [ $1 -ne 0 ]; then - exit $1 - fi -} - comprehensive_test () { CMAKE_BUILD_TYPE_OPTION=$1 echo " @@ -81,61 +48,91 @@ fi output="$OUTPUT_TREE"/cmake.out rm -f "$output" - #Process $cmake_added_options into $* + # Process $cmake_added_options into $* to be used on the cmake command + # line below. set -- $cmake_added_options echo "cmake in the build tree" + PATH_AFTER_CMAKE=$PATH + if [ "$generator_string" = "MinGW Makefiles" ] ; then + # For this case must use PATH specified by the user + # that excludes MSYS. + PATH=$path_excluding_msys + fi cmake "-DCMAKE_INSTALL_PREFIX=$INSTALL_TREE" $BUILD_TEST_OPTION \ $* $CMAKE_BUILD_TYPE_OPTION -G "$generator_string" \ "$SOURCE_TREE" >& "$output" cmake_rc=$? + PATH=$PATH_AFTER_CMAKE if [ "$cmake_rc" -eq 0 ] ; then if [ "$do_test_build_tree" = "yes" -a "$do_test_noninteractive" = "yes" ] ; then output="$OUTPUT_TREE"/make_noninteractive.out rm -f "$output" echo "$build_command test_noninteractive in the build tree" $build_command VERBOSE=1 test_noninteractive >& "$output" + make_test_noninteractive_rc=$? + if [ "$make_test_noninteractive_rc" -ne 0 ] ; then + echo "ERROR: $build_command test_noninteractive failed in the build tree" + exit 1 + fi fi if [ "$do_ctest" = "yes" -o \ "$do_test_install_tree" = "yes" -o \ "$do_test_traditional_install_tree" = "yes" ] ; then rm -rf "$INSTALL_TREE" - output="$OUTPUT_TREE"/make_install.out + output="$OUTPUT_TREE"/make.out rm -f "$output" - echo "$build_command install in the build tree" - $build_command VERBOSE=1 install >& "$output" - make_install_rc=$? - if [ "$make_install_rc" -eq 0 ] ; then - if [ "$do_ctest" = "yes" ] ; then - output="$OUTPUT_TREE"/ctest.out - rm -f "$output" - echo "launch ctest job in the build tree" - ctest --extra-verbose >& "$output" & - fi - PATH="$INSTALL_TREE/bin":$PATH_SAVE - if [ "$do_test_install_tree" = "yes" ] ; then - rm -rf "$INSTALL_BUILD_TREE" - mkdir -p "$INSTALL_BUILD_TREE" - cd "$INSTALL_BUILD_TREE" - output="$OUTPUT_TREE"/installed_cmake.out - rm -f "$output" - echo "cmake in the installed examples build tree" - cmake "$INSTALL_TREE"/share/plplot?.?.?/examples >& "$output" - if [ "$do_test_noninteractive" = "yes" ] ; then - output="$OUTPUT_TREE"/installed_make_noninteractive.out + echo "$build_command in the build tree" + $build_command VERBOSE=1 >& "$output" + make_rc=$? + if [ "$make_rc" -eq 0 ] ; then + output="$OUTPUT_TREE"/make_install.out + rm -f "$output" + echo "$build_command install in the build tree" + $build_command VERBOSE=1 install >& "$output" + make_install_rc=$? + if [ "$make_install_rc" -eq 0 ] ; then + if [ "$do_ctest" = "yes" ] ; then + output="$OUTPUT_TREE"/ctest.out rm -f "$output" - echo "$build_command test_noninteractive in the installed examples build tree" - $build_command VERBOSE=1 test_noninteractive >& "$output" + echo "launch ctest job in the build tree" + ctest --extra-verbose >& "$output" & fi + PATH="$INSTALL_TREE/bin":$PATH_SAVE + if [ "$do_test_install_tree" = "yes" ] ; then + rm -rf "$INSTALL_BUILD_TREE" + mkdir -p "$INSTALL_BUILD_TREE" + cd "$INSTALL_BUILD_TREE" + output="$OUTPUT_TREE"/installed_cmake.out + rm -f "$output" + echo "cmake in the installed examples build tree" + PATH_AFTER_CMAKE=$PATH + if [ "$generator_string" = "MinGW Makefiles" ] ; then + # For this case must use PATH specified by the user + # that excludes MSYS. + PATH=$path_excluding_msys + fi + cmake -G "$generator_string" "$INSTALL_TREE"/share/plplot?.?.?/examples >& "$output" + PATH=$PATH_AFTER_CMAKE + if [ "$do_test_noninteractive" = "yes" ] ; then + output="$OUTPUT_TREE"/installed_make_noninteractive.out + rm -f "$output" + echo "$build_command test_noninteractive in the installed examples build tree" + $build_command VERBOSE=1 test_noninteractive >& "$output" + fi + fi + if [ "$do_test_traditional_install_tree" = "yes" -a "$do_test_noninteractive" = "yes" ] ; then + cd "$INSTALL_TREE"/share/plplot?.?.?/examples + output="$OUTPUT_TREE"/traditional_make_noninteractive.out + rm -f "$output" + echo "Traditional $build_command test_noninteractive in the installed examples tree" + $build_command test_noninteractive >& "$output" + fi + else + echo "ERROR: $build_command install failed in the build tree" + exit 1 fi - if [ "$do_test_traditional_install_tree" = "yes" -a "$do_test_noninteractive" = "yes" ] ; then - cd "$INSTALL_TREE"/share/plplot?.?.?/examples - output="$OUTPUT_TREE"/traditional_make_noninteractive.out - rm -f "$output" - echo "Traditional $build_command test_noninteractive in the installed examples tree" - $build_command test_noninteractive >& "$output" - fi else - echo "ERROR: $build_command install failed" + echo "ERROR: $build_command failed in the build tree" exit 1 fi fi @@ -171,8 +168,70 @@ fi } +usage () { + local prog=`basename $0` + echo "Usage: $prog [OPTIONS] +OPTIONS: + The next option specifies the directory prefix which controls where + all files produced by this script are located. + [--prefix (defaults to the 'comprehensive_test_disposeable' + subdirectory of the top-level source-tree directory)] + + The next three control how the builds and tests are done. + [--generator_string (defaults to 'Unix Makefiles')] + [--path_excluding_msys (MUST be specified whenever the generator string is + 'MinGW Makefiles' where it is necessary to limit + the PATH for the cmake invocation to exclude MSYS. + Otherwise this option is completely ignored)] + [--build_command (defaults to 'make -j4')] + + The next four control what kind of builds and tests are done. + [--cmake_added_options (defaults to none, but can be used to specify any + combination of white-space-separated cmake options + to, e.g., refine what parts of the PLplot software are + built and tested)] + [--do_shared (yes/no, defaults to yes)] + [--do_nondynamic (yes/no, defaults to yes)] + [--do_static (yes/no, defaults to yes)] + + The next six control which of seven kinds of tests are done for + each kind of build. + [--do_ctest (yes/no, defaults to yes)] + [--do_test_noninteractive (yes/no, defaults to yes)] + [--do_test_interactive (yes/no, defaults to yes)] + [--do_test_build_tree (yes/no, defaults to yes)] + [--do_test_install_tree (yes/no, defaults to yes)] + [--do_test_traditional_install_tree (yes/no, defaults to yes)] + + [--help] Show this message. +" + if [ $1 -ne 0 ]; then + exit $1 + fi +} + +# Find absolute PATH of script without using readlink (since readlink is +# not available on all platforms). Followed advice at +# http://fritzthomas.com/open-source/linux/551-how-to-get-absolute-path-within-shell-script-part2/ +ORIGINAL_PATH="$(pwd)" +cd "$(dirname $0)" +# Absolute Path of the script +SCRIPT_PATH="$(pwd)" +cd "${ORIGINAL_PATH}" + +# Assumption: top-level source tree is parent directory of where script +# is located. +SOURCE_TREE="$(dirname ${SCRIPT_PATH})" +# This is the parent tree for the BUILD_TREE, INSTALL_TREE, +# INSTALL_BUILD_TREE, and OUTPUT_TREE. It is disposable. + # Default values for options +prefix="${SOURCE_TREE}/comprehensive_test_disposeable" + generator_string="Unix Makefiles" +path_excluding_msys= +build_command="make -j4" + cmake_added_options= do_shared=yes do_nondynamic=yes @@ -185,17 +244,27 @@ do_test_install_tree=yes do_test_traditional_install_tree=yes -build_command="make -j4" - usage_reported=0 while test $# -gt 0; do case $1 in + --prefix) + prefix=$2 + shift + ;; --generator_string) generator_string=$2 shift ;; + --path_excluding_msys) + path_excluding_msys=$2 + shift + ;; + --build_command) + build_command=$2 + shift + ;; --cmake_added_options) cmake_added_options=$2 shift @@ -300,12 +369,9 @@ ;; esac ;; - --build_command) - build_command=$2 - shift - ;; --help) usage 0 1>&2 + exit 0; ;; *) if [ $usage_reported -eq 0 ]; then @@ -323,26 +389,34 @@ exit 1 fi +if [ "$generator_string" = "MinGW Makefiles" -a -z "$path_excluding_msys" ] ; then + echo "ERROR: empty value of path_excluding_msys when generator is" + echo "'MinGW Makefiles'" + usage 1 1>&2 +fi + echo "Summary of options used for these tests -generator_string = $generator_string +prefix = $prefix + +generator_string = $generator_string" +if [ "$generator_string" = "MinGW Makefiles" ] ; then + echo "path_excluding_msys = $path_excluding_msys" +fi +echo "build_command = $build_command + cmake_added_options = $cmake_added_options - do_shared = $do_shared do_nondynamic = $do_nondynamic do_static = $do_static do_ctest = $do_ctest - do_test_noninteractive = $do_test_noninteractive do_test_interactive = $do_test_interactive - do_test_build_tree = $do_test_build_tree do_test_install_tree = $do_test_install_tree do_test_traditional_install_tree = $do_test_traditional_install_tree -build_command = $build_command - " ANSWER= while [ "$ANSWER" != "yes" -a "$ANSWER" != "no" ] ; do @@ -354,45 +428,29 @@ exit fi -# Find absolute PATH of script without using readlink (since readlink is -# not available on all platforms). Followed advice at -# http://fritzthomas.com/open-source/linux/551-how-to-get-absolute-path-within-shell-script-part2/ -ORIGINAL_PATH="$(pwd)" -cd "$(dirname $0)" -# Absolute Path of the script -SCRIPT_PATH="$(pwd)" -cd "${ORIGINAL_PATH}" - -# Assumption: top-level source tree is parent directory of where script -# is located. -SOURCE_TREE="$(dirname ${SCRIPT_PATH})" -# This is the parent tree for the BUILD_TREE, INSTALL_TREE, -# INSTALL_BUILD_TREE, and OUTPUT_TREE. It is disposable. -PARENT_TREE="${SOURCE_TREE}/comprehensive_test_disposeable" - # Shared + dynamic if [ "$do_shared" = "yes" ] ; then - OUTPUT_TREE="$PARENT_TREE/shared/output_tree" - BUILD_TREE="$PARENT_TREE/shared/build_tree" - INSTALL_TREE="$PARENT_TREE/shared/install_tree" - INSTALL_BUILD_TREE="$PARENT_TREE/shared/install_build_tree" + OUTPUT_TREE="$prefix/shared/output_tree" + BUILD_TREE="$prefix/shared/build_tree" + INSTALL_TREE="$prefix/shared/install_tree" + INSTALL_BUILD_TREE="$prefix/shared/install_build_tree" comprehensive_test "-DBUILD_SHARED_LIBS=ON" fi # Shared + nondynamic if [ "$do_nondynamic" = "yes" ] ; then - OUTPUT_TREE="$PARENT_TREE/nondynamic/output_tree" - BUILD_TREE="$PARENT_TREE/nondynamic/build_tree" - INSTALL_TREE="$PARENT_TREE/nondynamic/install_tree" - INSTALL_BUILD_TREE="$PARENT_TREE/nondynamic/install_build_tree" + OUTPUT_TREE="$prefix/nondynamic/output_tree" + BUILD_TREE="$prefix/nondynamic/build_tree" + INSTALL_TREE="$prefix/nondynamic/install_tree" + INSTALL_BUILD_TREE="$prefix/nondynamic/install_build_tree" comprehensive_test "-DBUILD_SHARED_LIBS=ON -DENABLE_DYNDRIVERS=OFF" fi if [ "$do_static" = "yes" ] ; then # Static + nondynamic - OUTPUT_TREE="$PARENT_TREE/static/output_tree" - BUILD_TREE="$PARENT_TREE/static/build_tree" - INSTALL_TREE="$PARENT_TREE/static/install_tree" - INSTALL_BUILD_TREE="$PARENT_TREE/static/install_build_tree" + OUTPUT_TREE="$prefix/static/output_tree" + BUILD_TREE="$prefix/static/build_tree" + INSTALL_TREE="$prefix/static/install_tree" + INSTALL_BUILD_TREE="$prefix/static/install_build_tree" comprehensive_test "-DBUILD_SHARED_LIBS=OFF" fi This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2010-12-10 21:28:00
|
Revision: 11365 http://plplot.svn.sourceforge.net/plplot/?rev=11365&view=rev Author: airwin Date: 2010-12-10 21:27:54 +0000 (Fri, 10 Dec 2010) Log Message: ----------- Put the installed driversd directory on the PATH for the installed examples case. Modified Paths: -------------- trunk/scripts/comprehensive_test.sh Modified: trunk/scripts/comprehensive_test.sh =================================================================== --- trunk/scripts/comprehensive_test.sh 2010-12-09 09:07:08 UTC (rev 11364) +++ trunk/scripts/comprehensive_test.sh 2010-12-10 21:27:54 UTC (rev 11365) @@ -34,7 +34,13 @@ Each of the steps in this comprehensive test may take a while...." PATH_SAVE=$PATH - if [ "$CMAKE_BUILD_TYPE_OPTION" = "-DBUILD_SHARED_LIBS=ON" -a \( "$generator_string" = "MinGW Makefiles" -o "$generator_string" = "MSYS Makefiles" \) ] ; then + if [ "$generator_string" = "MinGW Makefiles" -o "$generator_string" = "MSYS Makefiles" ] ; then + MINGW_OR_MSYS="true" + else + MINGW_OR_MSYS="false" + fi + + if [ "$CMAKE_BUILD_TYPE_OPTION" = "-DBUILD_SHARED_LIBS=ON" -a "$MINGW_OR_MSYS" = "true" ] ; then PATH=$PATH_SAVE:$BUILD_TREE/dll fi mkdir -p "$OUTPUT_TREE" @@ -98,6 +104,14 @@ ctest --extra-verbose >& "$output" & fi PATH="$INSTALL_TREE/bin":$PATH_SAVE + if [ "$MINGW_OR_MSYS" = "true" ] ; then + # Use this logic to be as version-independent as possible. + current_dir=$(pwd) + # Wild cards must not be inside quotes. + cd "$INSTALL_TREE"/lib/plplot?.?.?*/drivers* + PATH="$(pwd):$PATH" + cd $current_dir + fi if [ "$do_test_install_tree" = "yes" ] ; then rm -rf "$INSTALL_BUILD_TREE" mkdir -p "$INSTALL_BUILD_TREE" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2011-07-31 08:58:42
|
Revision: 11829 http://plplot.svn.sourceforge.net/plplot/?rev=11829&view=rev Author: airwin Date: 2011-07-31 08:58:36 +0000 (Sun, 31 Jul 2011) Log Message: ----------- Implement do_clean_as_you_go option to clean up as you go. However, it does not work well, yet, because the custom commands OUTPUT files just refer to the files from the first example rather than all 33 so those first example files are the only ones cleaned (so far). ToDo (some time in next release cycle) implement complete OUTPUT files for custom commands. Change launch of ctest job to execution of ctest. This probably takes longer (at least until we make ctest parallel), but it does allow clean up afterwards since this change makes ctest end become completely predictable within the scripts. Modified Paths: -------------- trunk/scripts/comprehensive_test.sh Modified: trunk/scripts/comprehensive_test.sh =================================================================== --- trunk/scripts/comprehensive_test.sh 2011-07-31 07:30:27 UTC (rev 11828) +++ trunk/scripts/comprehensive_test.sh 2011-07-31 08:58:36 UTC (rev 11829) @@ -100,9 +100,15 @@ if [ "$do_ctest" = "yes" ] ; then output="$OUTPUT_TREE"/ctest.out rm -f "$output" - echo "launch ctest job in the build tree" - ctest --extra-verbose >& "$output" & + echo "ctest in the build tree" + ctest --extra-verbose >& "$output" fi + if [ "$do_test_interactive" != "yes" -a "$do_clean_as_you_go" = "yes" ] ; then + output="$OUTPUT_TREE"/clean.out + rm -f "$output" + echo "$build_command clean in the build tree (since we are done with it)" + $build_command clean >& "$output" + fi PATH="$INSTALL_TREE/bin":$PATH_SAVE if [ "$MINGW_OR_MSYS" = "true" ] ; then # Use this logic to be as version-independent as possible. @@ -132,6 +138,12 @@ rm -f "$output" echo "$build_command test_noninteractive in the installed examples build tree" $build_command VERBOSE=1 test_noninteractive >& "$output" + if [ "$do_test_interactive" != "yes" -a "$do_clean_as_you_go" = "yes" ] ; then + output="$OUTPUT_TREE"/installed_clean.out + rm -f "$output" + echo "$build_command clean in the installed examples build tree (since we are done with it)" + $build_command clean >& "$output" + fi fi fi if [ "$do_test_traditional_install_tree" = "yes" -a "$do_test_noninteractive" = "yes" ] ; then @@ -140,6 +152,12 @@ rm -f "$output" echo "Traditional $build_command test_noninteractive in the installed examples tree" $build_command test_noninteractive >& "$output" + if [ "$do_test_interactive" != "yes" -a "$do_clean_as_you_go" = "yes" ] ; then + output="$OUTPUT_TREE"/traditional_clean.out + rm -f "$output" + echo "Traditional $build_command clean in the installed examples tree (since we are done with it)" + $build_command clean >& "$output" + fi fi else echo "ERROR: $build_command install failed in the build tree" @@ -160,6 +178,12 @@ echo "$build_command test_interactive in the build tree" $build_command VERBOSE=1 test_interactive >& "$output" fi + if [ "$do_clean_as_you_go" = "yes" ] ; then + output="$OUTPUT_TREE"/clean.out + rm -f "$output" + echo "$build_command clean in the build tree (since we are done with it)" + $build_command clean >& "$output" + fi PATH="$INSTALL_TREE/bin":$PATH_SAVE if [ "$do_test_install_tree" = "yes" ] ; then cd "$INSTALL_BUILD_TREE" @@ -167,6 +191,12 @@ rm -f "$output" echo "$build_command test_interactive in the installed examples build tree" $build_command VERBOSE=1 test_interactive >& "$output" + if [ "$do_clean_as_you_go" = "yes" ] ; then + output="$OUTPUT_TREE"/installed_clean.out + rm -f "$output" + echo "$build_command clean in the installed examples build tree (since we are done with it)" + $build_command clean >& "$output" + fi fi if [ "$do_test_traditional_install_tree" = "yes" ] ; then cd "$INSTALL_TREE"/share/plplot?.?.?/examples @@ -174,6 +204,12 @@ rm -f "$output" echo "Traditional $build_command test_interactive in the installed examples tree" $build_command test_interactive >& "$output" + if [ "$do_clean_as_you_go" = "yes" ] ; then + output="$OUTPUT_TREE"/traditional_clean.out + rm -f "$output" + echo "Traditional $build_command clean in the installed examples tree (since we are done with it)" + $build_command clean >& "$output" + fi fi fi else @@ -191,6 +227,13 @@ [--prefix (defaults to the 'comprehensive_test_disposeable' subdirectory of the top-level source-tree directory)] + The next option controls whether the script runs clean to get rid of + file results and save disk space after the tests are completed. + This option is highly recommended to greatly reduce the high-water + mark of disk usage (which can be as large as 40GB [!] without this + option). + [--do_clean_as_you_go (yes/no, defaults to yes)] + The next three control how the builds and tests are done. [--generator_string (defaults to 'Unix Makefiles')] [--path_excluding_msys (MUST be specified whenever the generator string is @@ -242,6 +285,8 @@ # Default values for options prefix="${SOURCE_TREE}/comprehensive_test_disposeable" +do_clean_as_you_go=yes + generator_string="Unix Makefiles" path_excluding_msys= build_command="make -j4" @@ -267,6 +312,18 @@ prefix=$2 shift ;; + --do_clean_as_you_go) + case $2 in + yes|no) + do_clean_as_you_go=$2 + shift + ;; + + *) + usage 1 1>&2 + ;; + esac + ;; --generator_string) generator_string=$2 shift @@ -411,25 +468,27 @@ echo "Summary of options used for these tests -prefix = $prefix +prefix=$prefix -generator_string = $generator_string" -if [ "$generator_string" = "MinGW Makefiles" ] ; then - echo "path_excluding_msys = $path_excluding_msys" +do_clean_as_you_go=$do_clean_as_you_go + +generator_string=$generator_string" +if [ "$generator_string"="MinGW Makefiles" ] ; then + echo "path_excluding_msys=$path_excluding_msys" fi -echo "build_command = $build_command +echo "build_command=$build_command -cmake_added_options = $cmake_added_options -do_shared = $do_shared -do_nondynamic = $do_nondynamic -do_static = $do_static +cmake_added_options=$cmake_added_options +do_shared=$do_shared +do_nondynamic=$do_nondynamic +do_static=$do_static -do_ctest = $do_ctest -do_test_noninteractive = $do_test_noninteractive -do_test_interactive = $do_test_interactive -do_test_build_tree = $do_test_build_tree -do_test_install_tree = $do_test_install_tree -do_test_traditional_install_tree = $do_test_traditional_install_tree +do_ctest=$do_ctest +do_test_noninteractive=$do_test_noninteractive +do_test_interactive=$do_test_interactive +do_test_build_tree=$do_test_build_tree +do_test_install_tree=$do_test_install_tree +do_test_traditional_install_tree=$do_test_traditional_install_tree " ANSWER= This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2011-10-14 05:14:39
|
Revision: 11963 http://plplot.svn.sourceforge.net/plplot/?rev=11963&view=rev Author: airwin Date: 2011-10-14 04:30:59 +0000 (Fri, 14 Oct 2011) Log Message: ----------- Completely reorganize the script. Now exits immediately if there is a detected error condition rather than using a bunch of Boolean logic with appropriate massive indentation to implement the various exits. Now more care is used with the order of the commands executed and what is cleaned to reduce the high-water mark of disk usage as much as possible. These changes mean, e.g., the interactive tests will require rebuilds of things that were cleaned previously, but that is a relatively small sacrifice in cpu time to keep the high-water mark (currently ~3-4GB) smaller than the alternative without these changes. Modified Paths: -------------- trunk/scripts/comprehensive_test.sh Modified: trunk/scripts/comprehensive_test.sh =================================================================== --- trunk/scripts/comprehensive_test.sh 2011-10-14 04:15:41 UTC (rev 11962) +++ trunk/scripts/comprehensive_test.sh 2011-10-14 04:30:59 UTC (rev 11963) @@ -68,153 +68,167 @@ $* $CMAKE_BUILD_TYPE_OPTION -G "$generator_string" \ "$SOURCE_TREE" >& "$output" cmake_rc=$? + if [ "$cmake_rc" -ne 0 ] ; then + echo "ERROR: cmake in the build tree failed" + exit 1 + fi + PATH=$PATH_AFTER_CMAKE - if [ "$cmake_rc" -eq 0 ] ; then - if [ "$do_test_build_tree" = "yes" -a "$do_test_noninteractive" = "yes" ] ; then - output="$OUTPUT_TREE"/make_noninteractive.out + if [ "$do_ctest" = "yes" ] ; then + output="$OUTPUT_TREE"/make.out + rm -f "$output" + echo "$build_command in the build tree" + $build_command VERBOSE=1 >& "$output" + make_rc=$? + if [ "$make_rc" -eq 0 ] ; then + output="$OUTPUT_TREE"/ctest.out rm -f "$output" - echo "$build_command test_noninteractive in the build tree" - $build_command VERBOSE=1 test_noninteractive >& "$output" - make_test_noninteractive_rc=$? - if [ "$make_test_noninteractive_rc" -ne 0 ] ; then - echo "ERROR: $build_command test_noninteractive failed in the build tree" - exit 1 + echo "$ctest_command in the build tree" + $ctest_command --extra-verbose >& "$output" + if [ "$do_clean_as_you_go" = "yes" ] ; then + output="$OUTPUT_TREE"/clean_ctest_plot_files.out + rm -f "$output" + echo "$build_command clean_ctest_plot_files in the build tree (since we are done with ctest)" + $build_command clean_ctest_plot_files >& "$output" fi + else + echo "ERROR: $build_command failed in the build tree" + exit 1 fi - if [ "$do_ctest" = "yes" -o \ - "$do_test_install_tree" = "yes" -o \ - "$do_test_traditional_install_tree" = "yes" ] ; then - rm -rf "$INSTALL_TREE" - output="$OUTPUT_TREE"/make.out + fi + + if [ "$do_test_build_tree" = "yes" -a "$do_test_noninteractive" = "yes" ] ; then + output="$OUTPUT_TREE"/make_noninteractive.out + rm -f "$output" + echo "$build_command test_noninteractive in the build tree" + $build_command VERBOSE=1 test_noninteractive >& "$output" + make_test_noninteractive_rc=$? + if [ "$make_test_noninteractive_rc" -ne 0 ] ; then + echo "ERROR: $build_command test_noninteractive failed in the build tree" + exit 1 + fi + fi + + if [ "$do_test_install_tree" = "yes" -o \ + "$do_test_traditional_install_tree" = "yes" ] ; then + rm -rf "$INSTALL_TREE" + output="$OUTPUT_TREE"/make_install.out + rm -f "$output" + echo "$build_command install in the build tree" + $build_command VERBOSE=1 install >& "$output" + make_install_rc=$? + if [ "$make_install_rc" -ne 0 ] ; then + echo "ERROR: $build_command install failed in the build tree" + exit 1 + fi + fi + + if [ "$do_clean_as_you_go" = "yes" ] ; then + output="$OUTPUT_TREE"/clean.out + rm -f "$output" + echo "$build_command clean in the build tree (since we are done with it at least for the non-interactive test case)" + $build_command clean >& "$output" + fi + + if [ "$do_test_install_tree" = "yes" -o \ + "$do_test_traditional_install_tree" = "yes" ] ; then + PATH="$INSTALL_TREE/bin":$PATH_SAVE + + if [ "$MINGW_OR_MSYS" = "true" ] ; then + # Use this logic to be as version-independent as possible. + current_dir=$(pwd) + # Wild cards must not be inside quotes. + cd "$INSTALL_TREE"/lib/plplot?.?.?*/drivers* + PATH="$(pwd):$PATH" + cd $current_dir + fi + + if [ "$do_test_install_tree" = "yes" ] ; then + rm -rf "$INSTALL_BUILD_TREE" + mkdir -p "$INSTALL_BUILD_TREE" + cd "$INSTALL_BUILD_TREE" + output="$OUTPUT_TREE"/installed_cmake.out rm -f "$output" - echo "$build_command in the build tree" - $build_command VERBOSE=1 >& "$output" - make_rc=$? - if [ "$make_rc" -eq 0 ] ; then - output="$OUTPUT_TREE"/make_install.out + echo "cmake in the installed examples build tree" + PATH_AFTER_CMAKE=$PATH + if [ "$generator_string" = "MinGW Makefiles" ] ; then + # For this case must use PATH specified by the user + # that excludes MSYS. + PATH=$path_excluding_msys + fi + cmake -G "$generator_string" "$INSTALL_TREE"/share/plplot?.?.?/examples >& "$output" + PATH=$PATH_AFTER_CMAKE + if [ "$do_test_noninteractive" = "yes" ] ; then + output="$OUTPUT_TREE"/installed_make_noninteractive.out rm -f "$output" - echo "$build_command install in the build tree" - $build_command VERBOSE=1 install >& "$output" - make_install_rc=$? - if [ "$make_install_rc" -eq 0 ] ; then - if [ "$do_ctest" = "yes" ] ; then - output="$OUTPUT_TREE"/ctest.out - rm -f "$output" - echo "ctest in the build tree" - ctest --extra-verbose >& "$output" - fi - if [ "$do_test_interactive" != "yes" -a "$do_clean_as_you_go" = "yes" ] ; then - output="$OUTPUT_TREE"/clean.out - rm -f "$output" - echo "$build_command clean in the build tree (since we are done with it)" - $build_command clean >& "$output" - fi - PATH="$INSTALL_TREE/bin":$PATH_SAVE - if [ "$MINGW_OR_MSYS" = "true" ] ; then - # Use this logic to be as version-independent as possible. - current_dir=$(pwd) - # Wild cards must not be inside quotes. - cd "$INSTALL_TREE"/lib/plplot?.?.?*/drivers* - PATH="$(pwd):$PATH" - cd $current_dir - fi - if [ "$do_test_install_tree" = "yes" ] ; then - rm -rf "$INSTALL_BUILD_TREE" - mkdir -p "$INSTALL_BUILD_TREE" - cd "$INSTALL_BUILD_TREE" - output="$OUTPUT_TREE"/installed_cmake.out - rm -f "$output" - echo "cmake in the installed examples build tree" - PATH_AFTER_CMAKE=$PATH - if [ "$generator_string" = "MinGW Makefiles" ] ; then - # For this case must use PATH specified by the user - # that excludes MSYS. - PATH=$path_excluding_msys - fi - cmake -G "$generator_string" "$INSTALL_TREE"/share/plplot?.?.?/examples >& "$output" - PATH=$PATH_AFTER_CMAKE - if [ "$do_test_noninteractive" = "yes" ] ; then - output="$OUTPUT_TREE"/installed_make_noninteractive.out - rm -f "$output" - echo "$build_command test_noninteractive in the installed examples build tree" - $build_command VERBOSE=1 test_noninteractive >& "$output" - if [ "$do_test_interactive" != "yes" -a "$do_clean_as_you_go" = "yes" ] ; then - output="$OUTPUT_TREE"/installed_clean.out - rm -f "$output" - echo "$build_command clean in the installed examples build tree (since we are done with it)" - $build_command clean >& "$output" - fi - fi - fi - if [ "$do_test_traditional_install_tree" = "yes" -a "$do_test_noninteractive" = "yes" ] ; then - cd "$INSTALL_TREE"/share/plplot?.?.?/examples - output="$OUTPUT_TREE"/traditional_make_noninteractive.out - rm -f "$output" - echo "Traditional $build_command test_noninteractive in the installed examples tree" - $build_command test_noninteractive >& "$output" - if [ "$do_test_interactive" != "yes" -a "$do_clean_as_you_go" = "yes" ] ; then - output="$OUTPUT_TREE"/traditional_clean.out - rm -f "$output" - echo "Traditional $build_command clean in the installed examples tree (since we are done with it)" - $build_command clean >& "$output" - fi - fi - else - echo "ERROR: $build_command install failed in the build tree" - exit 1 + echo "$build_command test_noninteractive in the installed examples build tree" + $build_command VERBOSE=1 test_noninteractive >& "$output" + if [ "$do_clean_as_you_go" = "yes" ] ; then + output="$OUTPUT_TREE"/installed_clean.out + rm -f "$output" + echo "$build_command clean in the installed examples build tree (since we are done with it at least for the non-interactive test case)" + $build_command clean >& "$output" fi - else - echo "ERROR: $build_command failed in the build tree" - exit 1 fi fi - PATH=$PATH_SAVE - if [ "$do_test_interactive" = "yes" ] ; then - if [ "$do_test_build_tree" = "yes" ] ; then - cd "$BUILD_TREE" - output="$OUTPUT_TREE"/make_interactive.out + if [ "$do_test_traditional_install_tree" = "yes" -a "$do_test_noninteractive" = "yes" ] ; then + cd "$INSTALL_TREE"/share/plplot?.?.?/examples + output="$OUTPUT_TREE"/traditional_make_noninteractive.out + rm -f "$output" + echo "Traditional $build_command test_noninteractive in the installed examples tree" + $build_command test_noninteractive >& "$output" + if [ "$do_clean_as_you_go" = "yes" ] ; then + output="$OUTPUT_TREE"/traditional_clean.out rm -f "$output" - echo "$build_command test_interactive in the build tree" - $build_command VERBOSE=1 test_interactive >& "$output" + echo "Traditional $build_command clean in the installed examples tree (since we are done with it at least for the non-interactive test case)" + $build_command clean >& "$output" fi + fi + fi + + PATH=$PATH_SAVE + if [ "$do_test_interactive" = "yes" ] ; then + if [ "$do_test_build_tree" = "yes" ] ; then + cd "$BUILD_TREE" + output="$OUTPUT_TREE"/make_interactive.out + rm -f "$output" + echo "$build_command test_interactive in the build tree" + $build_command VERBOSE=1 test_interactive >& "$output" + fi + if [ "$do_clean_as_you_go" = "yes" ] ; then + output="$OUTPUT_TREE"/clean.out + rm -f "$output" + echo "$build_command clean in the build tree (since we are done with it)" + $build_command clean >& "$output" + fi + PATH="$INSTALL_TREE/bin":$PATH_SAVE + if [ "$do_test_install_tree" = "yes" ] ; then + cd "$INSTALL_BUILD_TREE" + output="$OUTPUT_TREE"/installed_make_interactive.out + rm -f "$output" + echo "$build_command test_interactive in the installed examples build tree" + $build_command VERBOSE=1 test_interactive >& "$output" if [ "$do_clean_as_you_go" = "yes" ] ; then - output="$OUTPUT_TREE"/clean.out + output="$OUTPUT_TREE"/installed_clean.out rm -f "$output" - echo "$build_command clean in the build tree (since we are done with it)" + echo "$build_command clean in the installed examples build tree (since we are done with it)" $build_command clean >& "$output" fi - PATH="$INSTALL_TREE/bin":$PATH_SAVE - if [ "$do_test_install_tree" = "yes" ] ; then - cd "$INSTALL_BUILD_TREE" - output="$OUTPUT_TREE"/installed_make_interactive.out + fi + if [ "$do_test_traditional_install_tree" = "yes" ] ; then + cd "$INSTALL_TREE"/share/plplot?.?.?/examples + output="$OUTPUT_TREE"/traditional_make_interactive.out + rm -f "$output" + echo "Traditional $build_command test_interactive in the installed examples tree" + $build_command test_interactive >& "$output" + if [ "$do_clean_as_you_go" = "yes" ] ; then + output="$OUTPUT_TREE"/traditional_clean.out rm -f "$output" - echo "$build_command test_interactive in the installed examples build tree" - $build_command VERBOSE=1 test_interactive >& "$output" - if [ "$do_clean_as_you_go" = "yes" ] ; then - output="$OUTPUT_TREE"/installed_clean.out - rm -f "$output" - echo "$build_command clean in the installed examples build tree (since we are done with it)" - $build_command clean >& "$output" - fi + echo "Traditional $build_command clean in the installed examples tree (since we are done with it)" + $build_command clean >& "$output" fi - if [ "$do_test_traditional_install_tree" = "yes" ] ; then - cd "$INSTALL_TREE"/share/plplot?.?.?/examples - output="$OUTPUT_TREE"/traditional_make_interactive.out - rm -f "$output" - echo "Traditional $build_command test_interactive in the installed examples tree" - $build_command test_interactive >& "$output" - if [ "$do_clean_as_you_go" = "yes" ] ; then - output="$OUTPUT_TREE"/traditional_clean.out - rm -f "$output" - echo "Traditional $build_command clean in the installed examples tree (since we are done with it)" - $build_command clean >& "$output" - fi - fi fi - else - echo "ERROR: cmake in the build tree failed" - exit 1 fi } @@ -229,17 +243,18 @@ The next option controls whether the script runs clean to get rid of file results and save disk space after the tests are completed. - This option is highly recommended to greatly reduce the high-water - mark of disk usage (which can be as large as 40GB [!] without this + This option is highly recommended to greatly reduce the + the disk usage (which can be as large as 40GB [!] without this option). [--do_clean_as_you_go (yes/no, defaults to yes)] - The next three control how the builds and tests are done. + The next four control how the builds and tests are done. [--generator_string (defaults to 'Unix Makefiles')] [--path_excluding_msys (MUST be specified whenever the generator string is 'MinGW Makefiles' where it is necessary to limit the PATH for the cmake invocation to exclude MSYS. Otherwise this option is completely ignored)] + [--ctest_command (defaults to 'ctest -j4')] [--build_command (defaults to 'make -j4')] The next four control what kind of builds and tests are done. @@ -283,12 +298,13 @@ # INSTALL_BUILD_TREE, and OUTPUT_TREE. It is disposable. # Default values for options -prefix="${SOURCE_TREE}/comprehensive_test_disposeable" +prefix="${SOURCE_TREE}/../comprehensive_test_disposeable" do_clean_as_you_go=yes generator_string="Unix Makefiles" path_excluding_msys= +ctest_command="ctest -j4" build_command="make -j4" cmake_added_options= @@ -332,6 +348,10 @@ path_excluding_msys=$2 shift ;; + --ctest_command) + ctest_command=$2 + shift + ;; --build_command) build_command=$2 shift @@ -476,7 +496,9 @@ if [ "$generator_string"="MinGW Makefiles" ] ; then echo "path_excluding_msys=$path_excluding_msys" fi -echo "build_command=$build_command +echo " +ctest_command=$ctest_command +build_command=$build_command cmake_added_options=$cmake_added_options do_shared=$do_shared @@ -490,6 +512,10 @@ do_test_install_tree=$do_test_install_tree do_test_traditional_install_tree=$do_test_traditional_install_tree +N.B. do_clean_as_you_go above should be yes unless you don't mind an +accumulation of ~40GB of plot files! Even with this option set to yes +the high-water mark of disk usage can still be as high as 4GB so be +sure you have enough free disk space to run this test! " ANSWER= while [ "$ANSWER" != "yes" -a "$ANSWER" != "no" ] ; do This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2011-11-26 20:34:51
|
Revision: 12052 http://plplot.svn.sourceforge.net/plplot/?rev=12052&view=rev Author: airwin Date: 2011-11-26 20:34:45 +0000 (Sat, 26 Nov 2011) Log Message: ----------- By default use -j8 parallel build option rather than -j4. It doesn't seem to slow anything down to have all those tasks contending for my two processors (and I think that would also pertain to the single processor case), and there may be an advantage because if some process is waiting for i/o, others can use the cpu(s). In any case, with -j8, the "top" application shows %wa almost always at 0 per cent, i.e., the cpu's are kept busy with no pauses waiting for i/o to finish. That is the ideal result. Modified Paths: -------------- trunk/scripts/comprehensive_test.sh Modified: trunk/scripts/comprehensive_test.sh =================================================================== --- trunk/scripts/comprehensive_test.sh 2011-11-26 07:23:37 UTC (rev 12051) +++ trunk/scripts/comprehensive_test.sh 2011-11-26 20:34:45 UTC (rev 12052) @@ -254,8 +254,8 @@ 'MinGW Makefiles' where it is necessary to limit the PATH for the cmake invocation to exclude MSYS. Otherwise this option is completely ignored)] - [--ctest_command (defaults to 'ctest -j4')] - [--build_command (defaults to 'make -j4')] + [--ctest_command (defaults to 'ctest -j8')] + [--build_command (defaults to 'make -j8')] The next four control what kind of builds and tests are done. [--cmake_added_options (defaults to none, but can be used to specify any @@ -304,8 +304,8 @@ generator_string="Unix Makefiles" path_excluding_msys= -ctest_command="ctest -j4" -build_command="make -j4" +ctest_command="ctest -j8" +build_command="make -j8" cmake_added_options= do_shared=yes This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2013-09-29 10:21:57
|
Revision: 12547 http://sourceforge.net/p/plplot/code/12547 Author: airwin Date: 2013-09-29 10:21:53 +0000 (Sun, 29 Sep 2013) Log Message: ----------- Adjust script so that it can handle version numbers where the major number is one numerical digit, the minor number one or more numerical digits, and the patch number is one or more numerical digits. Modified Paths: -------------- trunk/scripts/comprehensive_test.sh Modified: trunk/scripts/comprehensive_test.sh =================================================================== --- trunk/scripts/comprehensive_test.sh 2013-09-29 08:17:29 UTC (rev 12546) +++ trunk/scripts/comprehensive_test.sh 2013-09-29 10:21:53 UTC (rev 12547) @@ -138,7 +138,7 @@ # Use this logic to be as version-independent as possible. current_dir=$(pwd) # Wild cards must not be inside quotes. - cd "$INSTALL_TREE"/lib/plplot?.?.?*/drivers* + cd "$INSTALL_TREE"/lib/plplot[0-9].[0-9]*.[0-9]*/drivers* PATH="$(pwd):$PATH" cd $current_dir fi @@ -156,7 +156,7 @@ # that excludes MSYS. PATH=$path_excluding_msys fi - cmake -G "$generator_string" "$INSTALL_TREE"/share/plplot?.?.?/examples >& "$output" + cmake -G "$generator_string" "$INSTALL_TREE"/share/plplot[0-9].[0-9]*.[0-9]*/examples >& "$output" PATH=$PATH_AFTER_CMAKE if [ "$do_test_noninteractive" = "yes" ] ; then output="$OUTPUT_TREE"/installed_make_noninteractive.out @@ -173,7 +173,7 @@ fi if [ "$do_test_traditional_install_tree" = "yes" -a "$do_test_noninteractive" = "yes" ] ; then - cd "$INSTALL_TREE"/share/plplot?.?.?/examples + cd "$INSTALL_TREE"/share/plplot[0-9].[0-9]*.[0-9]*/examples output="$OUTPUT_TREE"/traditional_make_noninteractive.out rm -f "$output" echo "Traditional $build_command test_noninteractive in the installed examples tree" @@ -217,7 +217,7 @@ fi fi if [ "$do_test_traditional_install_tree" = "yes" ] ; then - cd "$INSTALL_TREE"/share/plplot?.?.?/examples + cd "$INSTALL_TREE"/share/plplot[0-9].[0-9]*.[0-9]*/examples output="$OUTPUT_TREE"/traditional_make_interactive.out rm -f "$output" echo "Traditional $build_command test_interactive in the installed examples tree" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2014-01-21 09:10:27
|
Revision: 12946 http://sourceforge.net/p/plplot/code/12946 Author: airwin Date: 2014-01-21 09:10:25 +0000 (Tue, 21 Jan 2014) Log Message: ----------- Make this script much more robust against errors. Make the information messages from this more informative. Modified Paths: -------------- trunk/scripts/comprehensive_test.sh Modified: trunk/scripts/comprehensive_test.sh =================================================================== --- trunk/scripts/comprehensive_test.sh 2014-01-21 09:08:28 UTC (rev 12945) +++ trunk/scripts/comprehensive_test.sh 2014-01-21 09:10:25 UTC (rev 12946) @@ -77,7 +77,7 @@ if [ "$do_ctest" = "yes" ] ; then output="$OUTPUT_TREE"/make.out rm -f "$output" - echo "$build_command in the build tree" + echo "$build_command VERBOSE=1 in the build tree" $build_command VERBOSE=1 >& "$output" make_rc=$? if [ "$make_rc" -eq 0 ] ; then @@ -85,11 +85,22 @@ rm -f "$output" echo "$ctest_command in the build tree" $ctest_command --extra-verbose >& "$output" - if [ "$do_clean_as_you_go" = "yes" ] ; then - output="$OUTPUT_TREE"/clean_ctest_plot_files.out - rm -f "$output" - echo "$build_command clean_ctest_plot_files in the build tree (since we are done with ctest)" - $build_command clean_ctest_plot_files >& "$output" + ctest_rc=$? + if [ "$ctest_rc" -eq 0 ] ; then + if [ "$do_clean_as_you_go" = "yes" ] ; then + output="$OUTPUT_TREE"/clean_ctest_plot_files.out + rm -f "$output" + echo "$build_command clean_ctest_plot_files in the build tree (since we are done with ctest)" + $build_command clean_ctest_plot_files >& "$output" + make_rc=$? + if [ "$make_rc" -ne 0 ] ; then + echo "ERROR: $build_command clean_ctest_plot_files failed in the build tree" + exit 1 + fi + fi + else + echo "ERROR: $ctest_command failed in the build tree" + exit 1 fi else echo "ERROR: $build_command failed in the build tree" @@ -100,7 +111,7 @@ if [ "$do_test_build_tree" = "yes" -a "$do_test_noninteractive" = "yes" ] ; then output="$OUTPUT_TREE"/make_noninteractive.out rm -f "$output" - echo "$build_command test_noninteractive in the build tree" + echo "$build_command VERBOSE=1 test_noninteractive in the build tree" $build_command VERBOSE=1 test_noninteractive >& "$output" make_test_noninteractive_rc=$? if [ "$make_test_noninteractive_rc" -ne 0 ] ; then @@ -114,7 +125,7 @@ rm -rf "$INSTALL_TREE" output="$OUTPUT_TREE"/make_install.out rm -f "$output" - echo "$build_command install in the build tree" + echo "$build_command VERBOSE=1 install in the build tree" $build_command VERBOSE=1 install >& "$output" make_install_rc=$? if [ "$make_install_rc" -ne 0 ] ; then @@ -128,6 +139,11 @@ rm -f "$output" echo "$build_command clean in the build tree (since we are done with it at least for the non-interactive test case)" $build_command clean >& "$output" + make_rc=$? + if [ "$make_rc" -ne 0 ] ; then + echo "ERROR: $build_command clean failed in the build tree" + exit 1 + fi fi if [ "$do_test_install_tree" = "yes" -o \ @@ -161,13 +177,23 @@ if [ "$do_test_noninteractive" = "yes" ] ; then output="$OUTPUT_TREE"/installed_make_noninteractive.out rm -f "$output" - echo "$build_command test_noninteractive in the installed examples build tree" + echo "$build_command VERBOSE=1 test_noninteractive in the installed examples build tree" $build_command VERBOSE=1 test_noninteractive >& "$output" + make_rc=$? + if [ "$make_rc" -ne 0 ] ; then + echo "ERROR: $build_command test_noninteractive failed in the installed examples build tree" + exit 1 + fi if [ "$do_clean_as_you_go" = "yes" ] ; then output="$OUTPUT_TREE"/installed_clean.out rm -f "$output" echo "$build_command clean in the installed examples build tree (since we are done with it at least for the non-interactive test case)" $build_command clean >& "$output" + make_rc=$? + if [ "$make_rc" -ne 0 ] ; then + echo "ERROR: $build_command clean failed in the installed examples build tree" + exit 1 + fi fi fi fi @@ -178,11 +204,21 @@ rm -f "$output" echo "Traditional $build_command test_noninteractive in the installed examples tree" $build_command test_noninteractive >& "$output" + make_rc=$? + if [ "$make_rc" -ne 0 ] ; then + echo "ERROR: Traditional $build_command test_noninteractive failed in the installed examples tree" + exit 1 + fi if [ "$do_clean_as_you_go" = "yes" ] ; then output="$OUTPUT_TREE"/traditional_clean.out rm -f "$output" echo "Traditional $build_command clean in the installed examples tree (since we are done with it at least for the non-interactive test case)" $build_command clean >& "$output" + make_rc=$? + if [ "$make_rc" -ne 0 ] ; then + echo "ERROR: Traditional $build_command clean failed in the installed examples tree" + exit 1 + fi fi fi fi @@ -193,27 +229,47 @@ cd "$BUILD_TREE" output="$OUTPUT_TREE"/make_interactive.out rm -f "$output" - echo "$build_command test_interactive in the build tree" + echo "$build_command VERBOSE=1 test_interactive in the build tree" $build_command VERBOSE=1 test_interactive >& "$output" + make_rc=$? + if [ "$make_rc" -ne 0 ] ; then + echo "ERROR: $build_command test_interactive failed in the build tree" + exit 1 + fi fi if [ "$do_clean_as_you_go" = "yes" ] ; then output="$OUTPUT_TREE"/clean.out rm -f "$output" echo "$build_command clean in the build tree (since we are done with it)" $build_command clean >& "$output" + make_rc=$? + if [ "$make_rc" -ne 0 ] ; then + echo "ERROR: $build_command clean failed in the build tree" + exit 1 + fi fi PATH="$INSTALL_TREE/bin":$PATH_SAVE if [ "$do_test_install_tree" = "yes" ] ; then cd "$INSTALL_BUILD_TREE" output="$OUTPUT_TREE"/installed_make_interactive.out rm -f "$output" - echo "$build_command test_interactive in the installed examples build tree" + echo "$build_command VERBOSE=1 test_interactive in the installed examples build tree" $build_command VERBOSE=1 test_interactive >& "$output" + make_rc=$? + if [ "$make_rc" -ne 0 ] ; then + echo "ERROR: $build_command test_interactive failed in the installed examples build tree" + exit 1 + fi if [ "$do_clean_as_you_go" = "yes" ] ; then output="$OUTPUT_TREE"/installed_clean.out rm -f "$output" echo "$build_command clean in the installed examples build tree (since we are done with it)" $build_command clean >& "$output" + make_rc=$? + if [ "$make_rc" -ne 0 ] ; then + echo "ERROR: $build_command clean failed in the installed examples build tree" + exit 1 + fi fi fi if [ "$do_test_traditional_install_tree" = "yes" ] ; then @@ -222,11 +278,21 @@ rm -f "$output" echo "Traditional $build_command test_interactive in the installed examples tree" $build_command test_interactive >& "$output" + make_rc=$? + if [ "$make_rc" -ne 0 ] ; then + echo "ERROR: Traditional $build_command test_interactive failed in the installed exaples tree" + exit 1 + fi if [ "$do_clean_as_you_go" = "yes" ] ; then output="$OUTPUT_TREE"/traditional_clean.out rm -f "$output" echo "Traditional $build_command clean in the installed examples tree (since we are done with it)" $build_command clean >& "$output" + make_rc=$? + if [ "$make_rc" -ne 0 ] ; then + echo "ERROR: Traditional $build_command clean failed in the installed examples tree" + exit 1 + fi fi fi fi This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2014-01-22 09:06:25
|
Revision: 12948 http://sourceforge.net/p/plplot/code/12948 Author: airwin Date: 2014-01-22 09:06:22 +0000 (Wed, 22 Jan 2014) Log Message: ----------- Sort out some PATH issues for the "MinGW Makefiles" or "MSYS Makefiles" case. Modified Paths: -------------- trunk/scripts/comprehensive_test.sh Modified: trunk/scripts/comprehensive_test.sh =================================================================== --- trunk/scripts/comprehensive_test.sh 2014-01-22 09:03:05 UTC (rev 12947) +++ trunk/scripts/comprehensive_test.sh 2014-01-22 09:06:22 UTC (rev 12948) @@ -40,8 +40,9 @@ MINGW_OR_MSYS="false" fi - if [ "$CMAKE_BUILD_TYPE_OPTION" = "-DBUILD_SHARED_LIBS=ON" -a "$MINGW_OR_MSYS" = "true" ] ; then - PATH=$PATH_SAVE:$BUILD_TREE/dll + if [ "$CMAKE_BUILD_TYPE_OPTION" != "-DBUILD_SHARED_LIBS=OFF" -a "$MINGW_OR_MSYS" = "true" ] ; then + echo "Prepend $BUILD_TREE/dll to the original PATH" + PATH=$BUILD_TREE/dll:$PATH fi mkdir -p "$OUTPUT_TREE" rm -rf "$BUILD_TREE" @@ -58,12 +59,6 @@ # line below. set -- $cmake_added_options echo "cmake in the build tree" - PATH_AFTER_CMAKE=$PATH - if [ "$generator_string" = "MinGW Makefiles" ] ; then - # For this case must use PATH specified by the user - # that excludes MSYS. - PATH=$path_excluding_msys - fi cmake "-DCMAKE_INSTALL_PREFIX=$INSTALL_TREE" $BUILD_TEST_OPTION \ $* $CMAKE_BUILD_TYPE_OPTION -G "$generator_string" \ "$SOURCE_TREE" >& "$output" @@ -73,7 +68,6 @@ exit 1 fi - PATH=$PATH_AFTER_CMAKE if [ "$do_ctest" = "yes" ] ; then output="$OUTPUT_TREE"/make.out rm -f "$output" @@ -148,13 +142,15 @@ if [ "$do_test_install_tree" = "yes" -o \ "$do_test_traditional_install_tree" = "yes" ] ; then + echo "Prepend $INSTALL_TREE/bin to the original PATH" PATH="$INSTALL_TREE/bin":$PATH_SAVE - if [ "$MINGW_OR_MSYS" = "true" ] ; then + if [ "$CMAKE_BUILD_TYPE_OPTION" = "-DBUILD_SHARED_LIBS=ON" -a "$MINGW_OR_MSYS" = "true" ] ; then # Use this logic to be as version-independent as possible. current_dir=$(pwd) # Wild cards must not be inside quotes. cd "$INSTALL_TREE"/lib/plplot[0-9].[0-9]*.[0-9]*/drivers* + echo "Prepend $(pwd) to the current PATH" PATH="$(pwd):$PATH" cd $current_dir fi @@ -166,14 +162,7 @@ output="$OUTPUT_TREE"/installed_cmake.out rm -f "$output" echo "cmake in the installed examples build tree" - PATH_AFTER_CMAKE=$PATH - if [ "$generator_string" = "MinGW Makefiles" ] ; then - # For this case must use PATH specified by the user - # that excludes MSYS. - PATH=$path_excluding_msys - fi cmake -G "$generator_string" "$INSTALL_TREE"/share/plplot[0-9].[0-9]*.[0-9]*/examples >& "$output" - PATH=$PATH_AFTER_CMAKE if [ "$do_test_noninteractive" = "yes" ] ; then output="$OUTPUT_TREE"/installed_make_noninteractive.out rm -f "$output" @@ -223,6 +212,7 @@ fi fi + echo "Restore PATH to the original PATH" PATH=$PATH_SAVE if [ "$do_test_interactive" = "yes" ] ; then if [ "$do_test_build_tree" = "yes" ] ; then @@ -248,6 +238,7 @@ exit 1 fi fi + echo "Prepend $INSTALL_TREE/bin to the original PATH" PATH="$INSTALL_TREE/bin":$PATH_SAVE if [ "$do_test_install_tree" = "yes" ] ; then cd "$INSTALL_BUILD_TREE" @@ -296,6 +287,8 @@ fi fi fi + echo "Restore PATH to the the original PATH" + PATH=$PATH_SAVE } usage () { @@ -316,10 +309,6 @@ The next four control how the builds and tests are done. [--generator_string (defaults to 'Unix Makefiles')] - [--path_excluding_msys (MUST be specified whenever the generator string is - 'MinGW Makefiles' where it is necessary to limit - the PATH for the cmake invocation to exclude MSYS. - Otherwise this option is completely ignored)] [--ctest_command (defaults to 'ctest -j8')] [--build_command (defaults to 'make -j8')] @@ -369,7 +358,6 @@ do_clean_as_you_go=yes generator_string="Unix Makefiles" -path_excluding_msys= ctest_command="ctest -j8" build_command="make -j8" @@ -410,10 +398,6 @@ generator_string=$2 shift ;; - --path_excluding_msys) - path_excluding_msys=$2 - shift - ;; --ctest_command) ctest_command=$2 shift @@ -546,12 +530,6 @@ exit 1 fi -if [ "$generator_string" = "MinGW Makefiles" -a -z "$path_excluding_msys" ] ; then - echo "ERROR: empty value of path_excluding_msys when generator is" - echo "'MinGW Makefiles'" - usage 1 1>&2 -fi - echo "Summary of options used for these tests prefix=$prefix @@ -559,9 +537,6 @@ do_clean_as_you_go=$do_clean_as_you_go generator_string=$generator_string" -if [ "$generator_string"="MinGW Makefiles" ] ; then - echo "path_excluding_msys=$path_excluding_msys" -fi echo " ctest_command=$ctest_command build_command=$build_command This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2014-01-29 02:23:48
|
Revision: 12970 http://sourceforge.net/p/plplot/code/12970 Author: airwin Date: 2014-01-29 02:23:42 +0000 (Wed, 29 Jan 2014) Log Message: ----------- Tweak one of the messages. Modified Paths: -------------- trunk/scripts/comprehensive_test.sh Modified: trunk/scripts/comprehensive_test.sh =================================================================== --- trunk/scripts/comprehensive_test.sh 2014-01-29 02:20:43 UTC (rev 12969) +++ trunk/scripts/comprehensive_test.sh 2014-01-29 02:23:42 UTC (rev 12970) @@ -287,7 +287,7 @@ fi fi fi - echo "Restore PATH to the the original PATH" + echo "Restore PATH to the original PATH" PATH=$PATH_SAVE } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2014-02-10 21:15:30
|
Revision: 12991 http://sourceforge.net/p/plplot/code/12991 Author: airwin Date: 2014-02-10 21:15:26 +0000 (Mon, 10 Feb 2014) Log Message: ----------- Fix some PATH manipulation issues that occurred for the MinGW/MSYS interactive test case. Modified Paths: -------------- trunk/scripts/comprehensive_test.sh Modified: trunk/scripts/comprehensive_test.sh =================================================================== --- trunk/scripts/comprehensive_test.sh 2014-02-09 20:52:02 UTC (rev 12990) +++ trunk/scripts/comprehensive_test.sh 2014-02-10 21:15:26 UTC (rev 12991) @@ -40,10 +40,6 @@ MINGW_OR_MSYS="false" fi - if [ "$CMAKE_BUILD_TYPE_OPTION" != "-DBUILD_SHARED_LIBS=OFF" -a "$MINGW_OR_MSYS" = "true" ] ; then - echo "Prepend $BUILD_TREE/dll to the original PATH" - PATH=$BUILD_TREE/dll:$PATH - fi mkdir -p "$OUTPUT_TREE" rm -rf "$BUILD_TREE" mkdir -p "$BUILD_TREE" @@ -55,6 +51,12 @@ fi output="$OUTPUT_TREE"/cmake.out rm -f "$output" + + if [ "$CMAKE_BUILD_TYPE_OPTION" != "-DBUILD_SHARED_LIBS=OFF" -a "$MINGW_OR_MSYS" = "true" ] ; then + echo "Prepend $BUILD_TREE/dll to the original PATH" + PATH=$BUILD_TREE/dll:$PATH_SAVE + fi + # Process $cmake_added_options into $* to be used on the cmake command # line below. set -- $cmake_added_options @@ -212,10 +214,13 @@ fi fi - echo "Restore PATH to the original PATH" - PATH=$PATH_SAVE if [ "$do_test_interactive" = "yes" ] ; then if [ "$do_test_build_tree" = "yes" ] ; then + if [ "$CMAKE_BUILD_TYPE_OPTION" != "-DBUILD_SHARED_LIBS=OFF" -a "$MINGW_OR_MSYS" = "true" ] ; then + echo "Prepend $BUILD_TREE/dll to the original PATH" + PATH=$BUILD_TREE/dll:$PATH_SAVE + fi + cd "$BUILD_TREE" output="$OUTPUT_TREE"/make_interactive.out rm -f "$output" @@ -240,6 +245,17 @@ fi echo "Prepend $INSTALL_TREE/bin to the original PATH" PATH="$INSTALL_TREE/bin":$PATH_SAVE + + if [ "$CMAKE_BUILD_TYPE_OPTION" = "-DBUILD_SHARED_LIBS=ON" -a "$MINGW_OR_MSYS" = "true" ] ; then + # Use this logic to be as version-independent as possible. + current_dir=$(pwd) + # Wild cards must not be inside quotes. + cd "$INSTALL_TREE"/lib/plplot[0-9].[0-9]*.[0-9]*/drivers* + echo "Prepend $(pwd) to the current PATH" + PATH="$(pwd):$PATH" + cd $current_dir + fi + if [ "$do_test_install_tree" = "yes" ] ; then cd "$INSTALL_BUILD_TREE" output="$OUTPUT_TREE"/installed_make_interactive.out This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2014-04-20 23:58:49
|
Revision: 13101 http://sourceforge.net/p/plplot/code/13101 Author: airwin Date: 2014-04-20 23:58:47 +0000 (Sun, 20 Apr 2014) Log Message: ----------- Spelling fix. Modified Paths: -------------- trunk/scripts/comprehensive_test.sh Modified: trunk/scripts/comprehensive_test.sh =================================================================== --- trunk/scripts/comprehensive_test.sh 2014-04-08 06:52:52 UTC (rev 13100) +++ trunk/scripts/comprehensive_test.sh 2014-04-20 23:58:47 UTC (rev 13101) @@ -287,7 +287,7 @@ $build_command test_interactive >& "$output" make_rc=$? if [ "$make_rc" -ne 0 ] ; then - echo "ERROR: Traditional $build_command test_interactive failed in the installed exaples tree" + echo "ERROR: Traditional $build_command test_interactive failed in the installed examples tree" exit 1 fi if [ "$do_clean_as_you_go" = "yes" ] ; then This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2014-05-18 21:42:09
|
Revision: 13121 http://sourceforge.net/p/plplot/code/13121 Author: airwin Date: 2014-05-18 21:42:04 +0000 (Sun, 18 May 2014) Log Message: ----------- Distinguish between build command and traditional build command (used exclusively for the traditional build system (Makefile + pkg-config)) where for Windows the only build command that works is the MSYS-based make, (e.g., not the MinGW-based mingw32-make). Adjust default number of parallel builds from 8 to 4. Modified Paths: -------------- trunk/scripts/comprehensive_test.sh Modified: trunk/scripts/comprehensive_test.sh =================================================================== --- trunk/scripts/comprehensive_test.sh 2014-05-15 01:57:06 UTC (rev 13120) +++ trunk/scripts/comprehensive_test.sh 2014-05-18 21:42:04 UTC (rev 13121) @@ -193,21 +193,21 @@ cd "$INSTALL_TREE"/share/plplot[0-9].[0-9]*.[0-9]*/examples output="$OUTPUT_TREE"/traditional_make_noninteractive.out rm -f "$output" - echo "Traditional $build_command test_noninteractive in the installed examples tree" - $build_command test_noninteractive >& "$output" + echo "Traditional $traditional_build_command test_noninteractive in the installed examples tree" + $traditional_build_command test_noninteractive >& "$output" make_rc=$? if [ "$make_rc" -ne 0 ] ; then - echo "ERROR: Traditional $build_command test_noninteractive failed in the installed examples tree" + echo "ERROR: Traditional $traditional_build_command test_noninteractive failed in the installed examples tree" exit 1 fi if [ "$do_clean_as_you_go" = "yes" ] ; then output="$OUTPUT_TREE"/traditional_clean.out rm -f "$output" - echo "Traditional $build_command clean in the installed examples tree (since we are done with it at least for the non-interactive test case)" - $build_command clean >& "$output" + echo "Traditional $traditional_build_command clean in the installed examples tree (since we are done with it at least for the non-interactive test case)" + $traditional_build_command clean >& "$output" make_rc=$? if [ "$make_rc" -ne 0 ] ; then - echo "ERROR: Traditional $build_command clean failed in the installed examples tree" + echo "ERROR: Traditional $traditional_build_command clean failed in the installed examples tree" exit 1 fi fi @@ -283,21 +283,21 @@ cd "$INSTALL_TREE"/share/plplot[0-9].[0-9]*.[0-9]*/examples output="$OUTPUT_TREE"/traditional_make_interactive.out rm -f "$output" - echo "Traditional $build_command test_interactive in the installed examples tree" - $build_command test_interactive >& "$output" + echo "Traditional $traditional_build_command test_interactive in the installed examples tree" + $traditional_build_command test_interactive >& "$output" make_rc=$? if [ "$make_rc" -ne 0 ] ; then - echo "ERROR: Traditional $build_command test_interactive failed in the installed examples tree" + echo "ERROR: Traditional $traditional_build_command test_interactive failed in the installed examples tree" exit 1 fi if [ "$do_clean_as_you_go" = "yes" ] ; then output="$OUTPUT_TREE"/traditional_clean.out rm -f "$output" - echo "Traditional $build_command clean in the installed examples tree (since we are done with it)" - $build_command clean >& "$output" + echo "Traditional $traditional_build_command clean in the installed examples tree (since we are done with it)" + $traditional_build_command clean >& "$output" make_rc=$? if [ "$make_rc" -ne 0 ] ; then - echo "ERROR: Traditional $build_command clean failed in the installed examples tree" + echo "ERROR: Traditional $traditional_build_command clean failed in the installed examples tree" exit 1 fi fi @@ -325,8 +325,8 @@ The next four control how the builds and tests are done. [--generator_string (defaults to 'Unix Makefiles')] - [--ctest_command (defaults to 'ctest -j8')] - [--build_command (defaults to 'make -j8')] + [--ctest_command (defaults to 'ctest -j4')] + [--build_command (defaults to 'make -j4')] The next four control what kind of builds and tests are done. [--cmake_added_options (defaults to none, but can be used to specify any @@ -374,8 +374,8 @@ do_clean_as_you_go=yes generator_string="Unix Makefiles" -ctest_command="ctest -j8" -build_command="make -j8" +ctest_command="ctest -j4" +build_command="make -j4" cmake_added_options= do_shared=yes @@ -546,6 +546,21 @@ exit 1 fi +# The question of what to use for the traditional build command is a +# tricky one that depends on platform. Therefore, we hard code the +# value of this variable rather than allowing the user to change it. +if [ "$generator_string" = "MinGW Makefiles" -o "$generator_string" = "MSYS Makefiles" ] ; then + # For both these cases the MSYS make command should be used rather than + # the MinGW mingw32-make command. But a + # parallel version of the MSYS make command is problematic. + # Therefore, specify no -j option. + traditional_build_command="make" +else + # For all other cases, the traditional build command should be the + # same as the build command. + traditional_build_command="$build_command" +fi + echo "Summary of options used for these tests prefix=$prefix @@ -556,6 +571,7 @@ echo " ctest_command=$ctest_command build_command=$build_command +traditional_build_command=$traditional_build_command cmake_added_options=$cmake_added_options do_shared=$do_shared This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |