summaryrefslogtreecommitdiffstats
path: root/mysql-test/main/log_errchk.test
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 18:00:34 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 18:00:34 +0000
commit3f619478f796eddbba6e39502fe941b285dd97b1 (patch)
treee2c7b5777f728320e5b5542b6213fd3591ba51e2 /mysql-test/main/log_errchk.test
parentInitial commit. (diff)
downloadmariadb-3f619478f796eddbba6e39502fe941b285dd97b1.tar.xz
mariadb-3f619478f796eddbba6e39502fe941b285dd97b1.zip
Adding upstream version 1:10.11.6.upstream/1%10.11.6upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'mysql-test/main/log_errchk.test')
-rw-r--r--mysql-test/main/log_errchk.test65
1 files changed, 65 insertions, 0 deletions
diff --git a/mysql-test/main/log_errchk.test b/mysql-test/main/log_errchk.test
new file mode 100644
index 00000000..1afc0e29
--- /dev/null
+++ b/mysql-test/main/log_errchk.test
@@ -0,0 +1,65 @@
+#
+--source include/not_windows.inc
+--source include/not_embedded.inc
+
+#
+# Bug#14757009 : WHEN THE GENERAL_LOG IS A SOCKET AND THE READER GOES AWAY,
+# MYSQL QUITS WORKING.
+#
+# MDEV-6870 Not possible to use FIFO file as a general_log file
+#
+
+--let $gen_log_file= $MYSQLTEST_VARDIR/tmp/general_log.fifo
+--let $slow_query_log_file= $MYSQLTEST_VARDIR/tmp/slow_log.fifo
+--let GREP_FILE=$MYSQLTEST_VARDIR/log/mysqld.1.err
+
+--exec mkfifo $gen_log_file
+--exec mkfifo $slow_query_log_file
+
+--echo # Case 1: Setting fifo file to general_log_file and slow_query_log_file
+--echo # system variable.
+# Setting fifo file to general log reports an error because the other end is closed
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--error ER_WRONG_VALUE_FOR_VAR
+--eval SET GLOBAL general_log_file="$gen_log_file";
+
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--error ER_WRONG_VALUE_FOR_VAR
+--eval SET GLOBAL slow_query_log_file="$slow_query_log_file";
+
+--echo # Case 2: Starting server with fifo file as general log file
+--echo # and slow query log file.
+# Restart server with fifo file as general log file.
+--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--shutdown_server
+--source include/wait_until_disconnected.inc
+--enable_reconnect
+# Write file to make mysql-test-run.pl start up the server again
+--exec echo "restart: --general-log-file=$gen_log_file --slow-query-log-file=$slow_query_log_file" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--source include/wait_until_connected_again.inc
+
+# Error 6 is reported, because the other end is closed
+call mtr.add_suppression("Could not use .* for logging \\(error 6\\)");
+call mtr.add_suppression("File '.*' not found \\(Errcode: 6 ");
+--perl
+ my $file= $ENV{'GREP_FILE'};
+ my $pattern= "for logging \\(error 6\\)\\. Turning logging off for the whole duration";
+ open(FILE, "$file") or die("Unable to open $file: $!\n");
+ my $count = 0;
+ while (<FILE>) {
+ if ($_ =~ m/$pattern/) {
+ $count++;
+ break;
+ }
+ }
+ if ($count >= 2){
+ print "Setting fifo file as general log file and slow query log failed.\n";
+ } else {
+ print "test failed.\n";
+ }
+ close(FILE);
+EOF
+
+# Cleanup
+--remove_file $gen_log_file
+--remove_file $slow_query_log_file