mirror of
https://github.com/MariaDB/server.git
synced 2025-10-25 18:38:00 +03:00
Test cases using common object (database,user,table,..) names could probably
destroy customer data, when connecting to an already running server.
This Changeset contains an auxiliary routine include/testdb_only.inc" which
should be sourced by tests doing such dangerous things.
The test case will get a "[skipped]" when the environment variable
USE_RUNNING_SERVER is not 0 .
The modified mysql-test-run.sh sets USE_RUNNING_SERVER to 0, when
the "mysql-test-run" starts its own server, aka there was no "--extern"
option.
mysql-test/mysql-test-run.sh:
If mysql-test-run spawns the server by itself, USE_RUNNING_SERVER will be set to 0 instead of "".
If the option "--extern" was detected, USE_RUNNING_SERVER will be set to 1 instead of "1".
Several comparisons have to be changed
[ -z "$USE_RUNNING_SERVER" ] --> [ $USE_RUNNING_SERVER -eq 0 ]
[ -n "$USE_RUNNING_SERVER" ] --> [ $USE_RUNNING_SERVER -eq 1 ]
USE_RUNNING_SERVER will be exported.
31 lines
1.6 KiB
SQL
31 lines
1.6 KiB
SQL
#################### include/testdb_only.inc ######################
|
|
# #
|
|
# We must prevent to work on databases created by customers, #
|
|
# because we DROP/CREATE/MODIFY objects with sometimes common #
|
|
# names like STAFF, EMPLOYEE etc. #
|
|
# #
|
|
# Therefore we check the environment variable USE_RUNNING_SERVER. #
|
|
# USE_RUNNING_SERVER is exported by "mysql-test-run" and could #
|
|
# contain the following values: #
|
|
# 0 -- mysql-test-run was started without the --extern option #
|
|
# That means the test will be performed within the test #
|
|
# area 'mysql-test/var/...' . #
|
|
# 1 -- mysql-test-run was started with the --extern option #
|
|
# That means the test will be performed by an already #
|
|
# running server and data modifications will most probably #
|
|
# outside of the common test area 'mysql-test/var/...' . #
|
|
# #
|
|
# If USE_RUNNING_SERVER is not 0 the test will be skipped. #
|
|
# #
|
|
###################################################################
|
|
|
|
--disable_query_log
|
|
eval set @USE_RUNNING_SERVER= '$USE_RUNNING_SERVER';
|
|
--require r/testdb_only.require
|
|
SELECT 'use extern server'
|
|
AS "Variable_name ",
|
|
IF(@USE_RUNNING_SERVER= '1','YES',
|
|
IF(@USE_RUNNING_SERVER= '0','NO','UNEXPECTED'))
|
|
AS "Value" ;
|
|
--enable_query_log
|