mirror of
https://github.com/MariaDB/server.git
synced 2025-01-29 02:05:57 +01:00
BUG#27448061: MYSQLD--DEFAULTS-FILE TEST FAILS FOR NDB RELEASES
PREVIOUS TO MYSQL 8.0 Description : ------------- The mysqld--defaults-file test fails when the test suite is run from a non-canonical path, which happens when the current working directory when mysql-test-run.pl is started contains a symbolic link. The problem is that this test case uses --replace-result with $MYSQL_TEST_DIR. This variable is a potentially non-canonical path based on the current working directory when mtr is started. However, the path in the expected error message from mysqld contains a canonical path. This means it does not contain $MYSQL_TEST_DIR if mtr's working directory is not the canonical path of the working directory. Because other tests produce output that may contain non-canonical paths, making $MYSQL_TEST_DIR always canonical is not a fix. Fix : ----- Introduced a new environment variable '$ABS_MYSQL_TEST_DIR' which will contin the canonical path to the test directory and replaced $MYSQL_TEST_DIR with the new variable in main.mysqld--defaults-file test file. This is a back-port of BUG#24579973. Change-Id: I3b8df6f2d7ce2b04e188a896d76250cc1addbbc1
This commit is contained in:
parent
3fb2f8db17
commit
e585decb45
2 changed files with 8 additions and 5 deletions
|
@ -1,7 +1,7 @@
|
|||
#!/usr/bin/perl
|
||||
# -*- cperl -*-
|
||||
|
||||
# Copyright (c) 2004, 2017, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2004, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
|
@ -2344,6 +2344,7 @@ sub environment_setup {
|
|||
$ENV{'DEFAULT_MASTER_PORT'}= $mysqld_variables{'port'};
|
||||
$ENV{'MYSQL_TMP_DIR'}= $opt_tmpdir;
|
||||
$ENV{'MYSQLTEST_VARDIR'}= $opt_vardir;
|
||||
$ENV{'MYSQL_TEST_DIR_ABS'}= getcwd();
|
||||
$ENV{'MYSQL_BINDIR'}= "$bindir";
|
||||
$ENV{'MYSQL_SHAREDIR'}= $path_language;
|
||||
$ENV{'MYSQL_CHARSETSDIR'}= $path_charsetsdir;
|
||||
|
|
|
@ -13,19 +13,21 @@ exec $MYSQLD --defaults-file=/path/with/no/extension --print-defaults 2>&1;
|
|||
--error 1
|
||||
exec $MYSQLD --defaults-file=/path/with.ext --print-defaults 2>&1;
|
||||
|
||||
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
|
||||
# Using $MYSQL_TEST_DIR_ABS which contains canonical path to the
|
||||
# test directory since --print-default prints the absolute path.
|
||||
--replace_result $MYSQL_TEST_DIR_ABS MYSQL_TEST_DIR
|
||||
--error 1
|
||||
exec $MYSQLD --defaults-file=relative/path/with.ext --print-defaults 2>&1;
|
||||
|
||||
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
|
||||
--replace_result $MYSQL_TEST_DIR_ABS MYSQL_TEST_DIR
|
||||
--error 1
|
||||
exec $MYSQLD --defaults-file=relative/path/without/extension --print-defaults 2>&1;
|
||||
|
||||
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
|
||||
--replace_result $MYSQL_TEST_DIR_ABS MYSQL_TEST_DIR
|
||||
--error 1
|
||||
exec $MYSQLD --defaults-file=with.ext --print-defaults 2>&1;
|
||||
|
||||
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
|
||||
--replace_result $MYSQL_TEST_DIR_ABS MYSQL_TEST_DIR
|
||||
--error 1
|
||||
exec $MYSQLD --defaults-file=no_extension --print-defaults 2>&1;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue