You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by as...@apache.org on 2013/11/07 16:32:06 UTC

svn commit: r1539686 - in /qpid/trunk/qpid/cpp/src/tests: CMakeLists.txt legacystore/CMakeLists.txt run_test

Author: astitcher
Date: Thu Nov  7 15:32:06 2013
New Revision: 1539686

URL: http://svn.apache.org/r1539686
Log:
QPID-5308: Allow various bits of the test outputs to be XML
- This meshes nicely with the Jenkins CI system which can better
  display tests results generated in XML.

Modified:
    qpid/trunk/qpid/cpp/src/tests/CMakeLists.txt
    qpid/trunk/qpid/cpp/src/tests/legacystore/CMakeLists.txt
    qpid/trunk/qpid/cpp/src/tests/run_test

Modified: qpid/trunk/qpid/cpp/src/tests/CMakeLists.txt
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/CMakeLists.txt?rev=1539686&r1=1539685&r2=1539686&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/tests/CMakeLists.txt (original)
+++ qpid/trunk/qpid/cpp/src/tests/CMakeLists.txt Thu Nov  7 15:32:06 2013
@@ -226,7 +226,7 @@ target_link_libraries (unit_test
 set_target_properties (unit_test PROPERTIES COMPILE_DEFINITIONS _IN_QPID_BROKER)
 remember_location(unit_test)
 
-add_test (unit_test ${test_wrap} -- ${unit_test_LOCATION})
+add_test (unit_test ${test_wrap} --boost-test -- ${unit_test_LOCATION})
 
 endif (BUILD_TESTING_UNITTESTS)
 

Modified: qpid/trunk/qpid/cpp/src/tests/legacystore/CMakeLists.txt
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/legacystore/CMakeLists.txt?rev=1539686&r1=1539685&r2=1539686&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/tests/legacystore/CMakeLists.txt (original)
+++ qpid/trunk/qpid/cpp/src/tests/legacystore/CMakeLists.txt Thu Nov  7 15:32:06 2013
@@ -52,7 +52,7 @@ target_link_libraries (legacystore_${the
 set_target_properties (legacystore_${theSourceFile} PROPERTIES COMPILE_DEFINITIONS _IN_QPID_BROKER)
 remember_location(legacystore_${theSourceFile})
 
-add_test (legacystore_${theSourceFile} ${test_wrap} -- ${legacystore_${theSourceFile}_LOCATION})
+add_test (legacystore_${theSourceFile} ${test_wrap} --boost-test -- ${legacystore_${theSourceFile}_LOCATION})
 ENDMACRO (define_legacystore_test)
 
 define_legacystore_test (SimpleTest)
@@ -78,7 +78,7 @@ if ("${ARGV1}" STREQUAL "LONG")
   set_target_properties(${testname} PROPERTIES COMPILE_DEFINITIONS LONG_TEST)
 endif ()
 remember_location(${testname})
-add_test (${testname} ${test_wrap} -- ${${testname}_LOCATION})
+add_test (${testname} ${test_wrap} --boost-test -- ${${testname}_LOCATION})
 unset (testname)
 ENDMACRO (define_journal_test)
 
@@ -125,7 +125,7 @@ target_link_libraries (jtt__ut
                        ${Boost_PROGRAM_OPTIONS_LIBRARY}
                        ${clock_gettime_LIB} legacystore_shared)
 
-add_test(journal_jtt_ut ${test_wrap} --working-dir=${CMAKE_CURRENT_SOURCE_DIR}/jrnl/jtt -- ${CMAKE_CURRENT_BINARY_DIR}/jtt__ut)
+add_test(journal_jtt_ut ${test_wrap} --boost-test --working-dir=${CMAKE_CURRENT_SOURCE_DIR}/jrnl/jtt -- ${CMAKE_CURRENT_BINARY_DIR}/jtt__ut)
 
 endif (BUILD_TESTING_UNITTESTS)
 

Modified: qpid/trunk/qpid/cpp/src/tests/run_test
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/run_test?rev=1539686&r1=1539685&r2=1539686&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/tests/run_test (original)
+++ qpid/trunk/qpid/cpp/src/tests/run_test Thu Nov  7 15:32:06 2013
@@ -33,15 +33,17 @@
 
 working_dir='.'
 
-OPTS=$(getopt -n "Qpid Test Wrapper" -o d:b:s:p -l working-dir:,build-dir:,source-dir:,python,start-broker,broker-options: -- "$@") || exit 1
+OPTS=$(getopt -n "Qpid Test Wrapper" -o '' -l working-dir:,build-dir:,source-dir:,python,boost-test,xml,start-broker,broker-options: -- "$@") || exit 1
 eval set -- $OPTS
 
 while true; do
 case "$1" in
-    -d|--working-dir) working_dir=$2;    shift 2      ;;
-    -b|--build-dir)   build_dir=$2;      shift 2      ;;
-    -s|--source-dir)  source_dir=$2;     shift 2      ;;
-    -p|--python)      run_python=yes;    shift        ;;
+    --working-dir)    working_dir=$2;    shift 2      ;;
+    --build-dir)      build_dir=$2;      shift 2      ;;
+    --source-dir)     source_dir=$2;     shift 2      ;;
+    --python)         run_python=yes;    shift        ;;
+    --boost-test)     boost_test=yes;    shift        ;;
+    --xml)            xml_output=yes;    shift        ;;
     --start-broker)   start_broker=yes;  shift        ;;
     --broker-options) qpidd_extra_options=$2; shift 2 ;;
     --)                                  shift; break ;;
@@ -55,6 +57,10 @@ logfilebase=$(pwd -P)/$(basename $progra
 source $build_dir/src/tests/test_env.sh || (echo "Error: Couldn't read test_env.sh (build settings)" ; exit 1)
 source $srcdir/vg_check
 
+# Allow environment to dictate if we output xml test results
+if [ -n "$QPID_XML_TEST_OUTPUT" ] ; then
+  xml_output=yes
+fi
 
 # Use VALGRIND_OPTS="--gen-suppressions=all" to generated suppressions
 VALGRIND_OPTS="$VALGRIND_OPTS
@@ -66,11 +72,15 @@ VALGRIND_OPTS="$VALGRIND_OPTS
 
 # Set up environment for running a Qpid test
 if [ -n "$start_broker" ] ; then
-  qpidd_options="--auth=no --no-module-dir --daemon --port=0 --interface 127.0.0.1 --log-to-file $logfilebase-qpidd.log $qpidd_extra_options"
+  qpidd_command="$QPIDD_EXEC --auth=no --no-module-dir --daemon --port=0 --interface 127.0.0.1 --log-to-file $logfilebase-qpidd.log $qpidd_extra_options"
   if [ -n "$VALGRIND" ] ; then
-    QPID_PORT=$($VALGRIND $VALGRIND_OPTS --log-file=$logfilebase-qpidd.vglog -- $QPIDD_EXEC $qpidd_options)
+    if [ -n "$xml_output" ] ; then
+      QPID_PORT=$($VALGRIND $VALGRIND_OPTS --xml=yes --xml-file=$logfilebase-qpidd-vg.xml -- $qpidd_command)
+    else
+      QPID_PORT=$($VALGRIND $VALGRIND_OPTS --log-file=$logfilebase-qpidd.vglog -- $qpidd_command)
+    fi
   else
-    QPID_PORT=$($QPID_EXEC $qpidd_options)
+    QPID_PORT=$($qpidd_command)
   fi
 elif [ -r qpidd.port ]; then
   QPID_PORT=$(cat qpidd.port)
@@ -82,8 +92,15 @@ export QPID_LOG_TO_FILE
 # Export variables from makefile.
 export srcdir
 
-VG_LOG="$logfilebase.vglog"
-rm -f $VG_LOG*
+if [ -n "$VALGRIND" ] ; then
+  if [ -n "$xml_output" ] ; then
+    valgrind_command="$VALGRIND $VALGRIND_OPTS --xml=yes --xml-file=$logfilebase-vg.xml --"
+  else
+    VG_LOG="$logfilebase.vglog"
+    rm -f $VG_LOG*
+    valgrind_command="$VALGRIND $VALGRIND_OPTS --log-file=$VG_LOG --"
+  fi
+fi
 
 ERROR=0
 if [ -n "$run_python" -a -n "$PYTHON" ] ; then
@@ -91,11 +108,26 @@ if [ -n "$run_python" -a -n "$PYTHON" ] 
 elif [ ! -x $program ] ; then
     echo "Cannot execute $program"
     ERROR=1
-elif (file $program | grep -q ELF) && [ -n "$VALGRIND" ] ; then
-    # This is a real executable, valgrind it.
+elif file $program | grep -q ELF; then
+  if [ -n "$boost_test" ] ; then
+    # Set boost unit test environment
+    if [ -n "$xml_output" ] ; then
+      export BOOST_TEST_SHOW_PROGRESS=no
+      export BOOST_TEST_OUTPUT_FORMAT=XML
+      export BOOST_TEST_LOG_LEVEL=test_suite
+      export BOOST_TEST_REPORT_LEVEL=no
+      (cd $working_dir; $valgrind_command  $program "$@") > $logfilebase-unittest.xml || ERROR=1
+    else
+      (cd $working_dir; $valgrind_command  $program "$@") || ERROR=1
+    fi
+  else
+    # This is a real executable, valgrind it if required
     # Hide output unless there's an error.
-    (cd $working_dir; $VALGRIND $VALGRIND_OPTS --log-file=$VG_LOG -- $program "$@" 2>&1) || ERROR=1
+    (cd $working_dir; $valgrind_command  $program "$@" 2>&1) || ERROR=1
+  fi
+  if [ -n "$VG_LOG" ] ; then
     vg_check $VG_LOG* || ERROR=1
+  fi
 else
     (cd $working_dir; $program "$@") || ERROR=1
 fi
@@ -103,7 +135,7 @@ fi
 # Check log
 if [ -r $QPID_LOG_TO_FILE ]; then
 egrep 'warning\|error\|critical' $QPID_LOG_TO_FILE && {
-    echo "WARNING: Suspicious broker log entries in $QPID_LOG_TO_FILE, above."
+    echo "WARNING: Suspicious log entries in $QPID_LOG_TO_FILE, above."
 }
 fi
 
@@ -116,9 +148,8 @@ if [ -n "$start_broker" ] ; then
   }
 
   # Check valgrind log.
-  if test -n "$VALGRIND"; then
+  if [ -n "$VALGRIND" -a -z "$xml_output" ] ; then
     vg_check $logfilebase-qpidd.vglog || ERROR=1
   fi
 fi
 exit $ERROR
-



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org