1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-07 00:04:31 +03:00

[MDEV-14978] Client programs to use $MARIADB_HOST consistently

Only `mysql` client program was using $MYSQL_HOST as the default host.
Add the same feature in most other client programs but using
$MARIADB_HOST instead.

All new code of the whole pull request, including one or several files that are
either new files or modified ones, are contributed under the BSD-new license. I
am contributing on behalf of my employer Amazon Web Services, Inc.
This commit is contained in:
Ocean Li
2024-07-15 18:54:55 +00:00
committed by Andrew Hutchings
parent 383d1f90dd
commit eedbb901e5
11 changed files with 152 additions and 17 deletions

View File

@@ -0,0 +1,87 @@
-- source include/have_log_bin.inc
# Set up environment varibles for client programs
# The environment variables for client programs have default options file
# They interfere with the MTR test so I am creating new variables for them
--let MARIADB = $MYSQL_BINDIR/client//mariadb
--let MARIADBADMIN = $MYSQL_BINDIR/client//mariadb-admin
--let MARIADBBINLOG = $MYSQL_BINDIR/client//mariadb-binlog
--let MARIADBCHECK = $MYSQL_BINDIR/client//mariadb-check
--let MARIADBDUMP = $MYSQL_BINDIR/client//mariadb-dump
--let MARIADBIMPORT = $MYSQL_BINDIR/client//mariadb-import
--let MARIADBSHOW = $MYSQL_BINDIR/client//mariadb-show
--let MARIADBSLAP = $MYSQL_BINDIR/client//mariadb-slap
# Creating a table for the client programs
USE test;
CREATE TABLE pet (name VARCHAR(20));
# Creating a data file for mysqlimport
write_file $MYSQL_TMP_DIR/pet;
buster
bob
EOF
# Options for client program
--let $options = --user=root --port=$MASTER_MYPORT --disable-ssl-verify-server-cert
# Check to see if environment variable is defined
# MARIADB_HOST is defined in client-env-variable.cnf
--echo $MARIADB_HOST
# Positive test for client program with MARIADB_HOST
--exec $MARIADB $options -e "SHOW DATABASES;" > /dev/null 2>&1
--exec $MARIADBADMIN $options processlist > /dev/null 2>&1
--exec $MARIADBBINLOG $options --read-from-remote-server master-bin.000001 > /dev/null 2>&1
--exec $MARIADBCHECK $options -c --databases test > /dev/null 2>&1
--exec $MARIADBDUMP $options test > $MYSQL_TMP_DIR/tmp.sql > /dev/null 2>&1
--exec $MARIADBIMPORT $options test --local $MYSQL_TMP_DIR/pet > /dev/null 2>&1
--exec $MARIADBSHOW $options test > /dev/null 2>&1
--exec $MARIADBSLAP $options > /dev/null 2>&1
#Set up negative test with invalid server
--echo ****************
--let MARIADB_HOST=nonexistent-server
--echo $MARIADB_HOST
# Now run the same command as in the postive test case
# Client programs are expected to fail since the server does not exist
# Some client program fails with error 1 and some fails wtih error 2
--error 1
--exec $MARIADB $options -e "SHOW DATABASES;" > /dev/null 2>&1
--error 1
--exec $MARIADBADMIN $options processlist > /dev/null 2>&1
--error 1
--exec $MARIADBBINLOG $options --read-from-remote-server master-bin.000001 > /dev/null 2>&1
--error 2
--exec $MARIADBCHECK $options -c --databases test > /dev/null 2>&1
--error 2
--exec $MARIADBDUMP $options test > $MYSQL_TMP_DIR/tmp.sql > /dev/null 2>&1
--error 1
--exec $MARIADBIMPORT $options test $MYSQL_TMP_DIR/pet > /dev/null 2>&1
--error 1
--exec $MARIADBSLAP $options > /dev/null 2>&1
# Run the same command but with '--host' to verify command line input overrides env variable
--exec $MARIADB $options --host localhost -e "SHOW DATABASES;" > /dev/null 2>&1
--exec $MARIADBADMIN $options --host localhost processlist > /dev/null 2>&1
--exec $MARIADBBINLOG $options --host localhost --read-from-remote-server master-bin.000001 > /dev/null 2>&1
--exec $MARIADBCHECK $options --host localhost -c --databases test > /dev/null 2>&1
--exec $MARIADBDUMP $options --host localhost test > $MYSQL_TMP_DIR/tmp.sql > /dev/null 2>&1
--exec $MARIADBIMPORT $options --host localhost test --local $MYSQL_TMP_DIR/pet > /dev/null 2>&1
--exec $MARIADBSHOW $options --host localhost test > /dev/null 2>&1
--exec $MARIADBSLAP $options --host localhost > /dev/null 2>&1
# Clean up
--echo Done
DROP TABLE pet;
--remove_file $MYSQL_TMP_DIR/tmp.sql
--remove_file $MYSQL_TMP_DIR/pet