1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
|
# BUG#58455
# Starting mysqld with defaults file without extension cause
# segmentation fault
source include/not_windows.inc;
--let MDF_LOG= $MYSQLTEST_VARDIR/tmp/defaults.$_server_id.log
# All these tests refer to configuration files that do not exist
--error 1
exec $MYSQLD --defaults-file=/path/with/no/extension --print-defaults 2>$MDF_LOG;
--perl
use strict;
my $mysqld_log= $ENV{'MDF_LOG'};
open(MYSQLD_LOG, $mysqld_log) || die "1 - Failed to open '$mysqld_log': $!";
while(<MYSQLD_LOG>) {
if (!(/NOTIFY_SOCKET not set in environment/) &&
!(/Invalid systemd notify socket, cannot send: /)) {
s/mysqld-debug/mysqld/;
print; }}
close(MYSQLD_LOG);
EOF
--error 1
exec $MYSQLD --defaults-file=/path/with.ext --print-defaults 2>$MDF_LOG;
--perl
use strict;
my $mysqld_log= $ENV{'MDF_LOG'};
open(MYSQLD_LOG, $mysqld_log) || die "2 - Failed to open '$mysqld_log': $!";
while(<MYSQLD_LOG>) {
if (!(/NOTIFY_SOCKET not set in environment/) &&
!(/Invalid systemd notify socket, cannot send: /)) {
s/mysqld-debug/mysqld/;
print; }}
close(MYSQLD_LOG);
EOF
# Using $MYSQL_TEST_DIR_ABS which contains canonical path to the
# test directory since --print-default prints the absolute path.
--error 1
exec $MYSQLD --defaults-file=relative/path/with.ext --print-defaults 2>$MDF_LOG;
--perl
use strict;
my $mysqld_log= $ENV{'MDF_LOG'};
my $test_dir= $ENV{'MYSQL_TEST_DIR_ABS'};
open(MYSQLD_LOG, $mysqld_log) || die "3 - Failed to open '$mysqld_log': $!";
while(<MYSQLD_LOG>) {
if (!(/NOTIFY_SOCKET not set in environment/) &&
!(/Invalid systemd notify socket, cannot send: /)) {
s/mysqld-debug/mysqld/;
s/$test_dir/MYSQL_TEST_DIR/;
print; }}
close(MYSQLD_LOG);
EOF
--error 1
exec $MYSQLD --defaults-file=relative/path/without/extension --print-defaults 2>$MDF_LOG;
--perl
use strict;
my $mysqld_log= $ENV{'MDF_LOG'};
my $test_dir= $ENV{'MYSQL_TEST_DIR_ABS'};
open(MYSQLD_LOG, $mysqld_log) || die "4 - Failed to open '$mysqld_log': $!";
while(<MYSQLD_LOG>) {
if (!(/NOTIFY_SOCKET not set in environment/) &&
!(/Invalid systemd notify socket, cannot send: /)) {
s/mysqld-debug/mysqld/;
s/$test_dir/MYSQL_TEST_DIR/;
print; }}
close(MYSQLD_LOG);
EOF
--error 1
exec $MYSQLD --defaults-file=with.ext --print-defaults 2>$MDF_LOG;
--perl
use strict;
my $mysqld_log= $ENV{'MDF_LOG'};
my $test_dir= $ENV{'MYSQL_TEST_DIR_ABS'};
open(MYSQLD_LOG, $mysqld_log) || die "5 - Failed to open '$mysqld_log': $!";
while(<MYSQLD_LOG>) {
if (!(/NOTIFY_SOCKET not set in environment/) &&
!(/Invalid systemd notify socket, cannot send: /)) {
s/mysqld-debug/mysqld/;
s/$test_dir/MYSQL_TEST_DIR/;
print; }}
close(MYSQLD_LOG);
EOF
--error 1
exec $MYSQLD --defaults-file=no_extension --print-defaults 2>$MDF_LOG;
--perl
use strict;
my $mysqld_log= $ENV{'MDF_LOG'};
my $test_dir= $ENV{'MYSQL_TEST_DIR_ABS'};
open(MYSQLD_LOG, $mysqld_log) || die "6 - Failed to open '$mysqld_log': $!";
while(<MYSQLD_LOG>) {
if (!(/NOTIFY_SOCKET not set in environment/) &&
!(/Invalid systemd notify socket, cannot send: /)) {
s/mysqld-debug/mysqld/;
s/$test_dir/MYSQL_TEST_DIR/;
print; }}
close(MYSQLD_LOG);
EOF
--remove_file $MDF_LOG
|