zorba-coders team mailing list archive
-
zorba-coders team
-
Mailing list archive
-
Message #18023
[Merge] lp:~zorba-coders/zorba/ctest-j8 into lp:zorba
Chris Hillery has proposed merging lp:~zorba-coders/zorba/ctest-j8 into lp:zorba.
Commit message:
Test fixes to ensure all tests can be run in parallel. In particular: create all .res file output directories at CMake time, not in the testdrivers. Also create unique test-gen files for RuntimeGenerator tests.
Requested reviews:
Chris Hillery (ceejatec)
For more details, see:
https://code.launchpad.net/~zorba-coders/zorba/ctest-j8/+merge/147855
--
https://code.launchpad.net/~zorba-coders/zorba/ctest-j8/+merge/147855
Your team Zorba Coders is subscribed to branch lp:zorba.
=== modified file 'cmake_modules/GenZorbaRuntime.cmake'
--- cmake_modules/GenZorbaRuntime.cmake 2012-09-19 21:16:15 +0000
+++ cmake_modules/GenZorbaRuntime.cmake 2013-02-12 08:51:26 +0000
@@ -68,8 +68,7 @@
# If we are testing the generation, overwrite gen_file with a dummy location.
IF(test_only)
STRING(REGEX REPLACE "[/\\]" "_" gen_file "${gen_relfilename}")
- SET(gen_file "${binary_dir}/gen_test.tmp.${gen_file}")
- MESSAGE(" dobbbling: ${gen_file}")
+ SET(gen_file "${binary_dir}/test/GenZorbaRuntime/${gen_relfile}")
ENDIF(test_only)
=== modified file 'test/rbkt/CMakeLists.txt'
--- test/rbkt/CMakeLists.txt 2012-09-19 21:16:15 +0000
+++ test/rbkt/CMakeLists.txt 2013-02-12 08:51:26 +0000
@@ -15,11 +15,6 @@
ADD_SUBDIRECTORY(Scripts)
ADD_SUBDIRECTORY(ExpCompilerResults)
-# create the result directory for all tests
-IF (NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/QueryResults/)
- FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/QueryResults/)
-ENDIF (NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/QueryResults/)
-
# configure the testdriver
CONFIGURE_FILE(testdriverconfig.h.in ${CMAKE_CURRENT_BINARY_DIR}/testdriverconfig.h)
=== modified file 'test/rbkt/Queries/CMakeLists.txt'
--- test/rbkt/Queries/CMakeLists.txt 2013-01-24 10:49:06 +0000
+++ test/rbkt/Queries/CMakeLists.txt 2013-02-12 08:51:26 +0000
@@ -18,6 +18,9 @@
MESSAGE(STATUS "Adding tests for CTest")
+# Compute results directory for testdriver
+SET (_results_dir "${CMAKE_CURRENT_BINARY_DIR}/../QueryResults")
+
FILE(GLOB_RECURSE TESTFILES FOLLOW_SYMLINKS
RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*.xq")
IF(ZORBA_TEST_XQUERYX)
@@ -91,6 +94,10 @@
# finally add the test
ZORBA_ADD_TEST("${TEST_NAME}" testdriver ${CHAINED_TESTS_FILES})
+ # Create directory for output, if it doesn't exit
+ IF (NOT EXISTS "${_results_dir}/${CT}")
+ FILE (MAKE_DIRECTORY "${_results_dir}/${CT}")
+ ENDIF (NOT EXISTS "${_results_dir}/${CT}")
# clear the list of testfiles, args and also the name of the test
SET(CHAINED_TESTS_FILES)
@@ -197,6 +204,12 @@
ZORBA_ADD_TEST("${TESTNAME}" testdriver ${TESTFILE})
+ # Create directory for output, if it doesn't exist
+ GET_FILENAME_COMPONENT(_bucket_path ${TESTFILE} PATH)
+ IF (NOT EXISTS "${_results_dir}/${_bucket_path}")
+ FILE (MAKE_DIRECTORY "${_results_dir}/${_bucket_path}")
+ ENDIF (NOT EXISTS "${_results_dir}/${_bucket_path}")
+
MATH(EXPR TESTCOUNTER ${TESTCOUNTER}+1)
MATH(EXPR TESTMOD "${TESTCOUNTER}/1000")
IF (${TESTMOD})
=== modified file 'test/rbkt/testdriver.cpp'
--- test/rbkt/testdriver.cpp 2013-02-08 00:42:44 +0000
+++ test/rbkt/testdriver.cpp 2013-02-12 08:51:26 +0000
@@ -216,15 +216,7 @@
zorba::file lResultFile (rbkt_bin_dir + "/QueryResults/"
+ lQueryWithoutSuffix + ".xml.res", path_flags);
- zorba::file lErrorFile (rbkt_bin_dir + "/"
- + lQueryWithoutSuffix + ".err", path_flags);
-
if ( lResultFile.exists () ) { lResultFile.remove (); }
- if ( lErrorFile.exists () ) { lErrorFile.remove (); }
-
- zorba::file lBucket (lResultFile.branch_path());
- if ( ! lBucket.exists () )
- lBucket.deep_mkdir (); // create deep directories
// Form the full pathname for the .spec file that may be associated
// with this query. If the .spec file exists, read its contents to
=== modified file 'test/sax2/CMakeLists.txt'
--- test/sax2/CMakeLists.txt 2012-09-19 21:16:15 +0000
+++ test/sax2/CMakeLists.txt 2013-02-12 08:51:26 +0000
@@ -12,11 +12,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-# create the result directory for all tests
-IF (NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/QueryResults/)
- FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/QueryResults/)
-ENDIF (NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/QueryResults/)
-
# configure the testdriver
CONFIGURE_FILE(sax2testdriverconfig.h.in ${CMAKE_CURRENT_BINARY_DIR}/sax2testdriverconfig.h)
@@ -31,6 +26,9 @@
ZORBA_GENERATE_EXE(sax2testdriver "${SAX2_TESTDRIVER_SRCS}" "" "" "")
+# Compute results directory for testdriver
+SET (_results_dir "${CMAKE_CURRENT_BINARY_DIR}/QueryResults")
+
# collect all queries (suffix .xq) in all subdirectories of the Queries dir
FILE(GLOB_RECURSE TESTFILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/Queries/ *.xq)
@@ -45,6 +43,13 @@
SET (TESTNAME "test/sax2/${TESTNAME}")
ZORBA_ADD_TEST(${TESTNAME} sax2testdriver ${TESTFILE})
+
+ # Create directory for output, if it doesn't exist
+ GET_FILENAME_COMPONENT(_bucket_path ${TESTFILE} PATH)
+ IF (NOT EXISTS "${_results_dir}/${_bucket_path}")
+ FILE (MAKE_DIRECTORY "${_results_dir}/${_bucket_path}")
+ ENDIF (NOT EXISTS "${_results_dir}/${_bucket_path}")
+
ZORBA_SET_TEST_PROPERTY (${TESTNAME} TIMEOUT "10")
MATH(EXPR TESTCOUNTER ${TESTCOUNTER}+1)
=== modified file 'test/sax2/sax2testdriver.cpp'
--- test/sax2/sax2testdriver.cpp 2012-09-19 21:16:15 +0000
+++ test/sax2/sax2testdriver.cpp 2013-02-12 08:51:26 +0000
@@ -303,11 +303,6 @@
if ( lResultFile.exists () ) { lResultFile.remove (); }
if ( lErrorFile.exists () ) { lErrorFile.remove (); }
- // create the result directory
- zorba::file lBucket = lResultFile.branch_path();
- if ( ! lBucket.exists () )
- lBucket.deep_mkdir ();
-
// we must either have a reference file or an expected error code
if ( (! lRefFile.exists ()) || lRefFile.is_directory ())
{
=== modified file 'test/update/CMakeLists.txt'
--- test/update/CMakeLists.txt 2012-09-19 21:16:15 +0000
+++ test/update/CMakeLists.txt 2013-02-12 08:51:26 +0000
@@ -12,11 +12,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-# create the result directory for all tests
-IF (NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/QueryResults/)
- FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/QueryResults/)
-ENDIF (NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/QueryResults/)
-
# configure the testdriver
CONFIGURE_FILE(testdriverconfig.h.in ${CMAKE_CURRENT_BINARY_DIR}/testdriverconfig.h)
@@ -40,6 +35,9 @@
MESSAGE(STATUS "Adding update tests for CTest")
SET(TESTCOUNTER 0)
+# Compute results directory for updtestdriver
+SET (_results_dir "${CMAKE_CURRENT_BINARY_DIR}/QueryResults")
+
FOREACH(TESTFILE ${TESTFILES})
STRING(LENGTH ${TESTFILE} TESTFILELENGTH)
@@ -56,10 +54,16 @@
ZORBA_ADD_TEST("${TESTNAME}" updtestdriver ${TESTFILE})
+ # Create directory for output, if it doesn't exist
+ GET_FILENAME_COMPONENT(_bucket_path ${TESTFILE} PATH)
+ IF (NOT EXISTS "${_results_dir}/${_bucket_path}")
+ FILE (MAKE_DIRECTORY "${_results_dir}/${_bucket_path}")
+ ENDIF (NOT EXISTS "${_results_dir}/${_bucket_path}")
+
MATH(EXPR TESTCOUNTER ${TESTCOUNTER}+1)
- MATH(EXPR TESTMOD "${TESTCOUNTER}/100")
+ MATH(EXPR TESTMOD "${TESTCOUNTER}/500")
IF (${TESTMOD})
- MESSAGE(STATUS "Adding another 100 update tests")
+ MESSAGE(STATUS "Adding another 500 update tests")
SET(TESTCOUNTER 0)
ENDIF (${TESTMOD})
=== modified file 'test/update/updtestdriver.cpp'
--- test/update/updtestdriver.cpp 2013-02-08 00:42:44 +0000
+++ test/update/updtestdriver.cpp 2013-02-12 08:51:26 +0000
@@ -252,8 +252,6 @@
std::string lResultFileString = binDir+"/QueryResults/"+lSpecNoSuffix+".res";
zorba::file lResultFile(lResultFileString, flags);
- if (!lResultFile.exists())
- zorba::file(lResultFile.branch_path()).deep_mkdir();
std::string lRefFileString = srcDir+"/ExpectedTestResults/"+lSpecNoSuffix+".xml.res";
zorba::file lRefFile(lRefFileString, flags);
@@ -267,8 +265,6 @@
std::auto_ptr<zorba::TestSchemaURIMapper> smapper;
- std::vector<zorba::XQuery_t> lQueries;
-
ulong numQueries = (ulong)lSpec.theStates.size();
//
Follow ups
-
[Merge] lp:~zorba-coders/zorba/ctest-j8 into lp:zorba
From: noreply, 2013-02-13
-
[Merge] lp:~zorba-coders/zorba/ctest-j8 into lp:zorba
From: Zorba Build Bot, 2013-02-13
-
[Merge] lp:~zorba-coders/zorba/ctest-j8 into lp:zorba
From: Zorba Build Bot, 2013-02-13
-
[Merge] lp:~zorba-coders/zorba/ctest-j8 into lp:zorba
From: Matthias Brantner, 2013-02-13
-
Re: [Merge] lp:~zorba-coders/zorba/ctest-j8 into lp:zorba
From: Matthias Brantner, 2013-02-13
-
[Merge] lp:~zorba-coders/zorba/ctest-j8 into lp:zorba
From: Zorba Build Bot, 2013-02-12
-
Re: [Merge] lp:~zorba-coders/zorba/ctest-j8 into lp:zorba
From: Zorba Build Bot, 2013-02-12
-
[Merge] lp:~zorba-coders/zorba/ctest-j8 into lp:zorba
From: Zorba Build Bot, 2013-02-12
-
[Merge] lp:~zorba-coders/zorba/ctest-j8 into lp:zorba
From: Zorba Build Bot, 2013-02-12
-
[Merge] lp:~zorba-coders/zorba/ctest-j8 into lp:zorba
From: Chris Hillery, 2013-02-12
-
[Merge] lp:~zorba-coders/zorba/ctest-j8 into lp:zorba
From: Zorba Build Bot, 2013-02-12
-
Re: [Merge] lp:~zorba-coders/zorba/ctest-j8 into lp:zorba
From: Zorba Build Bot, 2013-02-12
-
[Merge] lp:~zorba-coders/zorba/ctest-j8 into lp:zorba
From: Zorba Build Bot, 2013-02-12
-
Re: [Merge] lp:~zorba-coders/zorba/ctest-j8 into lp:zorba
From: Chris Hillery, 2013-02-12
-
[Merge] lp:~zorba-coders/zorba/ctest-j8 into lp:zorba
From: Chris Hillery, 2013-02-12
-
[Merge] lp:~zorba-coders/zorba/ctest-j8 into lp:zorba
From: Chris Hillery, 2013-02-12