From: Tor Didriksen Date: July 30 2010 8:34am Subject: bzr commit into mysql-next-mr-bugfixing branch (tor.didriksen:3329) Bug#54805 List-Archive: http://lists.mysql.com/commits/114708 X-Bug: 54805 Message-Id: <20100730083426.C540B3723@atum07.norway.sun.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============3691912299717677719==" --===============3691912299717677719== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///export/home/didrik/repo/next-mr-bf-bug54805-pp/ based on revid:alik@stripped 3329 Tor Didriksen 2010-07-30 Bug #54805 definitions in regex/my_regex.h conflict with /usr/include/regex.h Pos-push fix: header guard in my_regex.h conflicts with /usr/include/regex.h Also: Implement mock functions for new interactions between MDL and THD. Also: Don't gunit tests with sql library, link with a minimal library instead. @ regex/my_regex.h Fix include guard. @ sql/CMakeLists.txt New, minimal, library for gunit tests. @ unittest/gunit/CMakeLists.txt Do not link with sql library. @ unittest/gunit/mdl-t.cc New mock functions for MDL/THD interaction. @ unittest/gunit/mdl_mytap-t.cc New mock functions for MDL/THD interaction. modified: regex/my_regex.h sql/CMakeLists.txt unittest/gunit/CMakeLists.txt unittest/gunit/mdl-t.cc unittest/gunit/mdl_mytap-t.cc === modified file 'regex/my_regex.h' --- a/regex/my_regex.h 2010-07-26 10:39:38 +0000 +++ b/regex/my_regex.h 2010-07-30 08:34:23 +0000 @@ -1,5 +1,6 @@ -#ifndef _REGEX_H_ -#define _REGEX_H_ /* never again */ +#ifndef MY_REGEX_INCLUDED +#define MY_REGEX_INCLUDED + /* ========= begin header generated by ./mkh ========= */ #include "m_ctype.h" @@ -84,4 +85,5 @@ extern void my_regex_end(void); /* If on } #endif /* ========= end header generated by ./mkh ========= */ -#endif + +#endif // MY_REGEX_INCLUDED === modified file 'sql/CMakeLists.txt' --- a/sql/CMakeLists.txt 2010-07-29 13:37:49 +0000 +++ b/sql/CMakeLists.txt 2010-07-30 08:34:23 +0000 @@ -103,6 +103,7 @@ ADD_DEPENDENCIES(master GenError) SET (SLAVE_SOURCE rpl_slave.cc rpl_reporting.cc rpl_mi.cc rpl_rli.cc) ADD_LIBRARY(slave ${SLAVE_SOURCE}) ADD_DEPENDENCIES(slave GenError) +ADD_LIBRARY(sqlgunitlib mdl.cc sql_list.cc sql_string.cc thr_malloc.cc) IF(WIN32) === modified file 'unittest/gunit/CMakeLists.txt' --- a/unittest/gunit/CMakeLists.txt 2010-07-26 10:39:38 +0000 +++ b/unittest/gunit/CMakeLists.txt 2010-07-30 08:34:23 +0000 @@ -210,7 +210,7 @@ ENDIF() SET(TESTS sql_list mdl mdl_mytap my_regex thread_utils) FOREACH(test ${TESTS}) ADD_EXECUTABLE(${test}-t ${test}-t.cc) - TARGET_LINK_LIBRARIES(${test}-t gunit sql) + TARGET_LINK_LIBRARIES(${test}-t gunit sqlgunitlib strings dbug regex) IF (CMAKE_CXX_COMPILER_ID STREQUAL "SunPro") SET_TARGET_PROPERTIES(${test}-t PROPERTIES LINK_FLAGS "-library=stlport4") ENDIF() === modified file 'unittest/gunit/mdl-t.cc' --- a/unittest/gunit/mdl-t.cc 2010-07-27 13:02:03 +0000 +++ b/unittest/gunit/mdl-t.cc 2010-07-30 08:34:23 +0000 @@ -38,6 +38,26 @@ pthread_key(THD*, THR_THD); mysql_mutex_t LOCK_open; uint opt_debug_sync_timeout= 0; +static mysql_mutex_t *current_mutex= NULL; +extern "C" +const char* thd_enter_cond(MYSQL_THD thd, mysql_cond_t *cond, + mysql_mutex_t *mutex, const char *msg) +{ + current_mutex= mutex; + return NULL; +} + +extern "C" +void thd_exit_cond(MYSQL_THD thd, const char *old_msg) +{ + mysql_mutex_unlock(current_mutex); +} + +extern "C" int thd_killed(const MYSQL_THD thd) +{ + return 0; +} + /* A mock error handler. */ === modified file 'unittest/gunit/mdl_mytap-t.cc' --- a/unittest/gunit/mdl_mytap-t.cc 2010-07-27 13:02:03 +0000 +++ b/unittest/gunit/mdl_mytap-t.cc 2010-07-30 08:34:23 +0000 @@ -34,6 +34,27 @@ #include "thr_malloc.h" #include "thread_utils.h" +static mysql_mutex_t *current_mutex= NULL; +extern "C" +const char* thd_enter_cond(MYSQL_THD thd, mysql_cond_t *cond, + mysql_mutex_t *mutex, const char *msg) +{ + current_mutex= mutex; + return NULL; +} + +extern "C" +void thd_exit_cond(MYSQL_THD thd, const char *old_msg) +{ + mysql_mutex_unlock(current_mutex); +} + +extern "C" int thd_killed(const MYSQL_THD thd) +{ + return 0; +} + + pthread_key(MEM_ROOT**,THR_MALLOC); pthread_key(THD*, THR_THD); mysql_mutex_t LOCK_open; --===============3691912299717677719== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/tor.didriksen@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: tor.didriksen@stripped\ # s7e0vl1fjp15sh2i # target_branch: file:///export/home/didrik/repo/next-mr-bf-bug54805-\ # pp/ # testament_sha1: 1a428afe560d50daf06f588964ca64b059d73800 # timestamp: 2010-07-30 10:34:26 +0200 # base_revision_id: alik@stripped # # Begin bundle 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 --===============3691912299717677719==--