Commit 019e221c authored by unknown's avatar unknown

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() .
parent e5d8d9d2
...@@ -3069,6 +3069,7 @@ sub run_mysqltest ($) { ...@@ -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; ...@@ -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() ...@@ -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() ...@@ -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() ...@@ -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[] = ...@@ -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},
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment