mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
A patch to Bug#17667 didn't take into consideration that the vardir, which contains
the server's binlog file, might be set to a different directory. This adds a new "vardir" parameter, which takes the name of the directory as a value, so that the test_bug17667() test can find the binlog. mysql-test/mysql-test-run.pl: Add the "vardir" to the options passed to "mysql_test_client", so we know where to find the binlog file. tests/mysql_client_test.c: Receive a new option, "vardir". Use the vardir option to find the binlog file in test_bug17667() .
This commit is contained in:
@ -3069,6 +3069,7 @@ sub run_mysqltest ($) {
|
|||||||
my $cmdline_mysql_client_test=
|
my $cmdline_mysql_client_test=
|
||||||
"$exe_mysql_client_test --no-defaults --testcase --user=root --silent " .
|
"$exe_mysql_client_test --no-defaults --testcase --user=root --silent " .
|
||||||
"--port=$master->[0]->{'path_myport'} " .
|
"--port=$master->[0]->{'path_myport'} " .
|
||||||
|
"--vardir=$opt_vardir " .
|
||||||
"--socket=$master->[0]->{'path_mysock'}";
|
"--socket=$master->[0]->{'path_mysock'}";
|
||||||
|
|
||||||
if ( $glob_use_embedded_server )
|
if ( $glob_use_embedded_server )
|
||||||
|
@ -58,6 +58,7 @@ static unsigned int iter_count= 0;
|
|||||||
static my_bool have_innodb= FALSE;
|
static my_bool have_innodb= FALSE;
|
||||||
|
|
||||||
static const char *opt_basedir= "./";
|
static const char *opt_basedir= "./";
|
||||||
|
static const char *opt_vardir= "mysql-test/var";
|
||||||
|
|
||||||
static longlong opt_getopt_ll_test= 0;
|
static longlong opt_getopt_ll_test= 0;
|
||||||
|
|
||||||
@ -14850,6 +14851,7 @@ static void test_bug17667()
|
|||||||
|
|
||||||
struct buffer_and_length *statement_cursor;
|
struct buffer_and_length *statement_cursor;
|
||||||
FILE *log_file;
|
FILE *log_file;
|
||||||
|
char *master_log_filename;
|
||||||
|
|
||||||
myheader("test_bug17667");
|
myheader("test_bug17667");
|
||||||
|
|
||||||
@ -14861,7 +14863,13 @@ static void test_bug17667()
|
|||||||
}
|
}
|
||||||
|
|
||||||
sleep(1); /* The server may need time to flush the data to the log. */
|
sleep(1); /* The server may need time to flush the data to the log. */
|
||||||
log_file= fopen("var/log/master.log", "r");
|
|
||||||
|
master_log_filename = (char *) malloc(strlen(opt_vardir) + strlen("/log/master.log") + 1);
|
||||||
|
strcpy(master_log_filename, opt_vardir);
|
||||||
|
strcat(master_log_filename, "/log/master.log");
|
||||||
|
log_file= fopen(master_log_filename, "r");
|
||||||
|
free(master_log_filename);
|
||||||
|
|
||||||
if (log_file != NULL) {
|
if (log_file != NULL) {
|
||||||
|
|
||||||
for (statement_cursor= statements; statement_cursor->buffer != NULL;
|
for (statement_cursor= statements; statement_cursor->buffer != NULL;
|
||||||
@ -14883,8 +14891,8 @@ static void test_bug17667()
|
|||||||
printf("success. All queries found intact in the log.\n");
|
printf("success. All queries found intact in the log.\n");
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
fprintf(stderr, "Could not find the log file, var/log/master.log, so "
|
fprintf(stderr, "Could not find the log file, VARDIR/log/master.log, "
|
||||||
"test_bug17667 is \ninconclusive. Run test from the "
|
"so test_bug17667 \nis inconclusive. Run test from the "
|
||||||
"mysql-test/mysql-test-run* program \nto set up the correct "
|
"mysql-test/mysql-test-run* program \nto set up the correct "
|
||||||
"environment for this test.\n\n");
|
"environment for this test.\n\n");
|
||||||
}
|
}
|
||||||
@ -14971,6 +14979,8 @@ static struct my_option client_test_long_options[] =
|
|||||||
{"user", 'u', "User for login if not current user", (char **) &opt_user,
|
{"user", 'u', "User for login if not current user", (char **) &opt_user,
|
||||||
(char **) &opt_user, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
(char **) &opt_user, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
#endif
|
#endif
|
||||||
|
{"vardir", 'v', "Data dir for tests.", (gptr*) &opt_vardir,
|
||||||
|
(gptr*) &opt_vardir, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"getopt-ll-test", 'g', "Option for testing bug in getopt library",
|
{"getopt-ll-test", 'g', "Option for testing bug in getopt library",
|
||||||
(char **) &opt_getopt_ll_test, (char **) &opt_getopt_ll_test, 0,
|
(char **) &opt_getopt_ll_test, (char **) &opt_getopt_ll_test, 0,
|
||||||
GET_LL, REQUIRED_ARG, 0, 0, LONGLONG_MAX, 0, 0, 0},
|
GET_LL, REQUIRED_ARG, 0, 0, LONGLONG_MAX, 0, 0, 0},
|
||||||
|
Reference in New Issue
Block a user