mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
Some bug fixes and a feature add to mysql-test-run
client/mysql.cc: Fixed Bug#981 ".mysql_history is lost if mysql clinent exit when out of space" client/mysqlbinlog.cc: Fix for mysqlbinlog, mysql_close() needs to be called. libmysql/Makefile.shared: Added use of my_rename() mysql-test/mysql-test-run.sh: Added possibility to add file t/testname.disabled. This will disable a test with same base name. Additionally, if the .disabled file contains text, it will be appended as a comment after the test during run.
This commit is contained in:
parent
f0a6c7e287
commit
a2fdebaa8d
5 changed files with 40 additions and 5 deletions
|
@ -44,7 +44,7 @@
|
|||
#include <locale.h>
|
||||
#endif
|
||||
|
||||
const char *VER= "14.7";
|
||||
const char *VER= "14.8";
|
||||
|
||||
/* Don't try to make a nice table if the data is too big */
|
||||
#define MAX_COLUMN_LENGTH 1024
|
||||
|
@ -144,6 +144,7 @@ static char *current_host,*current_db,*current_user=0,*opt_password=0,
|
|||
*current_prompt=0, *delimiter_str= 0,
|
||||
*default_charset= (char*) MYSQL_DEFAULT_CHARSET_NAME;
|
||||
static char *histfile;
|
||||
static char *histfile_tmp;
|
||||
static String glob_buffer,old_buffer;
|
||||
static String processed_prompt;
|
||||
static char *full_username=0,*part_username=0,*default_prompt=0;
|
||||
|
@ -442,6 +443,13 @@ int main(int argc,char *argv[])
|
|||
if (verbose)
|
||||
tee_fprintf(stdout, "Reading history-file %s\n",histfile);
|
||||
read_history(histfile);
|
||||
if (!(histfile_tmp= (char*) my_malloc((uint) strlen(histfile) + 5,
|
||||
MYF(MY_WME))))
|
||||
{
|
||||
fprintf(stderr, "Couldn't allocate memory for temp histfile!\n");
|
||||
exit(1);
|
||||
}
|
||||
sprintf(histfile_tmp, "%s.TMP", histfile);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
@ -470,7 +478,8 @@ sig_handler mysql_end(int sig)
|
|||
/* write-history */
|
||||
if (verbose)
|
||||
tee_fprintf(stdout, "Writing history-file %s\n",histfile);
|
||||
write_history(histfile);
|
||||
if (!write_history(histfile_tmp))
|
||||
my_rename(histfile_tmp, histfile, MYF(MY_WME));
|
||||
}
|
||||
batch_readline_end(status.line_buff);
|
||||
completion_hash_free(&ht);
|
||||
|
@ -485,6 +494,7 @@ sig_handler mysql_end(int sig)
|
|||
my_free(opt_password,MYF(MY_ALLOW_ZERO_PTR));
|
||||
my_free(opt_mysql_unix_port,MYF(MY_ALLOW_ZERO_PTR));
|
||||
my_free(histfile,MYF(MY_ALLOW_ZERO_PTR));
|
||||
my_free(histfile_tmp,MYF(MY_ALLOW_ZERO_PTR));
|
||||
my_free(current_db,MYF(MY_ALLOW_ZERO_PTR));
|
||||
my_free(current_host,MYF(MY_ALLOW_ZERO_PTR));
|
||||
my_free(current_user,MYF(MY_ALLOW_ZERO_PTR));
|
||||
|
|
|
@ -780,7 +780,13 @@ static int check_master_version(MYSQL* mysql,
|
|||
|
||||
if (mysql_query(mysql, "SELECT VERSION()") ||
|
||||
!(res = mysql_store_result(mysql)))
|
||||
die("Error checking master version: %s", mysql_error(mysql));
|
||||
{
|
||||
char errmsg[FN_REFLEN];
|
||||
|
||||
strmake(errmsg, mysql_error(mysql), sizeof(errmsg) - 1);
|
||||
mysql_close(mysql);
|
||||
die("Error checking master version: %s", errmsg);
|
||||
}
|
||||
if (!(row = mysql_fetch_row(res)))
|
||||
{
|
||||
mysql_free_result(res);
|
||||
|
|
|
@ -65,8 +65,9 @@ mysysobjects1 = my_init.lo my_static.lo my_malloc.lo my_realloc.lo \
|
|||
my_compress.lo array.lo my_once.lo list.lo my_net.lo \
|
||||
charset.lo charset-def.lo hash.lo mf_iocache.lo \
|
||||
mf_iocache2.lo my_seek.lo my_sleep.lo \
|
||||
my_pread.lo mf_cache.lo md5.lo sha1.lo\
|
||||
my_getopt.lo my_gethostbyname.lo my_port.lo
|
||||
my_pread.lo mf_cache.lo md5.lo sha1.lo \
|
||||
my_getopt.lo my_gethostbyname.lo my_port.lo \
|
||||
my_rename.lo
|
||||
sqlobjects = net.lo
|
||||
sql_cmn_objects = pack.lo client.lo my_time.lo
|
||||
|
||||
|
|
|
@ -765,6 +765,17 @@ skip_test() {
|
|||
$ECHO "$RES$RES_SPACE [ skipped ]"
|
||||
}
|
||||
|
||||
|
||||
disable_test() {
|
||||
USERT=" ...."
|
||||
SYST=" ...."
|
||||
REALT=" ...."
|
||||
pname=`$ECHO "$1 "|$CUT -c 1-24`
|
||||
RES="$pname"
|
||||
skip_inc
|
||||
$ECHO "$RES$RES_SPACE [ disabled ] $2"
|
||||
}
|
||||
|
||||
report_stats () {
|
||||
if [ $TOT_FAIL = 0 ]; then
|
||||
$ECHO "All $TOT_TEST tests were successful."
|
||||
|
@ -1411,6 +1422,12 @@ run_testcase ()
|
|||
if [ -n "$RESULT_EXT" -a \( x$RECORD = x1 -o -f "$result_file$RESULT_EXT" \) ] ; then
|
||||
result_file="$result_file$RESULT_EXT"
|
||||
fi
|
||||
if [ -e "$TESTDIR/$tname.disabled" ]
|
||||
then
|
||||
comment=`$CAT $TESTDIR/$tname.disabled`;
|
||||
disable_test $tname "$comment"
|
||||
return
|
||||
fi
|
||||
if [ "$USE_MANAGER" = 1 ] ; then
|
||||
many_slaves=`$EXPR \( \( $tname : rpl_failsafe \) != 0 \) \| \( \( $tname : rpl_chain_temp_table \) != 0 \)`
|
||||
fi
|
||||
|
|
1
mysql-test/t/federated.disabled
Normal file
1
mysql-test/t/federated.disabled
Normal file
|
@ -0,0 +1 @@
|
|||
Patrick Galbraith should fix this
|
Loading…
Reference in a new issue