mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 12:32:27 +01:00
d42fbb43fd
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.
30 lines
1.6 KiB
SQL
30 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
|