summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTeodor Mircea Ionita <teodor@mariadb.org>2018-05-07 22:40:27 +0300
committerVicențiu-Marian Ciorbaru <cvicentiu@gmail.com>2018-06-10 10:14:31 +0300
commitd39629f01ebdd5b89186e6c8a4a8d3dd528bd26a (patch)
treea9df82b6096d135fd8a33f9e372220f2cb712d44
parent0e6d6354bf32ac26d36a5a1bb854f2b22de3a494 (diff)
downloadmariadb-git-d39629f01ebdd5b89186e6c8a4a8d3dd528bd26a.tar.gz
MDEV-16075: Workaround to run MTR test suite for make test
Assign all tests added via MY_ADD_TEST to a bogus default_ignore target, so that they are not ran by default when doing bare make test. Add default test named MTR that calls mysql-test-run suite, which is now the single test run by make test. In consequence, modified unit/suite.pm to exclude the MTR test and run the real ctests flagged for default_ignore target, thus no circular loop.
-rw-r--r--CMakeLists.txt4
-rw-r--r--cmake/ctest.cmake2
-rw-r--r--mysql-test/suite/unit/suite.pm2
-rw-r--r--unittest/sql/CMakeLists.txt2
4 files changed, 7 insertions, 3 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6ab17ebf64c..21ed1fcc24b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -366,6 +366,10 @@ INCLUDE(maintainer)
IF(WITH_UNIT_TESTS)
ENABLE_TESTING()
+ # This is the only instance where ADD_TEST should be used,
+ # to make sure that make test will run MTR,
+ # use MY_ADD_TEST macro to add other tests
+ ADD_TEST(NAME MTR COMMAND ./mysql-test-run WORKING_DIRECTORY "mysql-test")
ADD_SUBDIRECTORY(unittest/mytap)
ADD_SUBDIRECTORY(unittest/strings)
ADD_SUBDIRECTORY(unittest/examples)
diff --git a/cmake/ctest.cmake b/cmake/ctest.cmake
index 08852a366f6..fde7e1632f6 100644
--- a/cmake/ctest.cmake
+++ b/cmake/ctest.cmake
@@ -2,7 +2,7 @@
INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/cmake_parse_arguments.cmake)
MACRO(MY_ADD_TEST name)
- ADD_TEST(${name} ${name}-t)
+ ADD_TEST(NAME ${name} COMMAND ${name}-t CONFIGURATIONS default_ignore)
ENDMACRO()
MACRO (MY_ADD_TESTS)
diff --git a/mysql-test/suite/unit/suite.pm b/mysql-test/suite/unit/suite.pm
index 78d82ccb31d..43eaa970350 100644
--- a/mysql-test/suite/unit/suite.pm
+++ b/mysql-test/suite/unit/suite.pm
@@ -31,7 +31,7 @@ sub start_test {
return "Not run for embedded server" if $::opt_embedded_server;
return "Not configured to run ctest" unless -f "../CTestTestfile.cmake";
my ($ctest_vs)= $opt_vs_config ? "--build-config $opt_vs_config" : "";
- my (@ctest_list)= `cd .. && ctest $opt_vs_config --show-only --verbose`;
+ my (@ctest_list)= `cd .. && ctest $opt_vs_config -E MTR -C default_ignore --show-only --verbose`;
return "No ctest" if $?;
my ($command, %tests);
diff --git a/unittest/sql/CMakeLists.txt b/unittest/sql/CMakeLists.txt
index f80f2a5ae70..1efb0ac9cd1 100644
--- a/unittest/sql/CMakeLists.txt
+++ b/unittest/sql/CMakeLists.txt
@@ -26,4 +26,4 @@ ELSE()
ENDIF()
TARGET_LINK_LIBRARIES(explain_filename-t sql mytap)
-ADD_TEST(explain_filename explain_filename-t)
+MY_ADD_TEST(explain_filename explain_filename-t)