Commit b461c41c authored by unknown's avatar unknown

Bug #23125 [patch] trigger test fails when run as root

 - Skip tests using chmod when running as root


mysql-test/t/information_schema_chmod.test:
  Use mysqltest builtin "chmode"
mysql-test/t/mysqltest.test:
  Dont run as root - test chmod
mysql-test/t/rpl_rotate_logs.test:
  Use mysqltest builtin "chmode"
  Use 'write_file' and 'chmod' instead of system
mysql-test/t/trigger.test:
  Don't run as root
  Use 'write_file' and 'chmod'
mysql-test/t/varbinary.test:
  Don't run as root
parent fd988f5b
......@@ -17,7 +17,7 @@
#
create database mysqltest;
create table mysqltest.t1(a int);
--exec chmod -r $MYSQLTEST_VARDIR/master-data/mysqltest
chmod 0000 $MYSQLTEST_VARDIR/master-data/mysqltest;
select table_schema from information_schema.tables where table_schema='mysqltest';
--exec chmod +r $MYSQLTEST_VARDIR/master-data/mysqltest
exec chmod 0777 $MYSQLTEST_VARDIR/master-data/mysqltest;
drop database mysqltest;
# This test should work in embedded server after mysqltest is fixed
-- source include/not_embedded.inc
# This test uses chmod, can't be run with root permissions
-- source include/not_as_root.inc
# ============================================================================
#
# Test of mysqltest itself
......
......@@ -17,8 +17,10 @@ connect (master,localhost,root,,test,$MASTER_MYPORT,$MASTER_MYSOCK);
drop table if exists t1, t2, t3, t4;
--enable_warnings
connect (slave,localhost,root,,test,$SLAVE_MYPORT,slave.sock);
system cat /dev/null > $MYSQLTEST_VARDIR/slave-data/master.info;
system chmod 000 $MYSQLTEST_VARDIR/slave-data/master.info;
# Create empty file
write_file $MYSQLTEST_VARDIR/slave-data/master.info;
EOF
chmod 0000 $MYSQLTEST_VARDIR/slave-data/master.info;
connection slave;
--disable_warnings
drop table if exists t1, t2, t3, t4;
......@@ -29,7 +31,7 @@ drop table if exists t1, t2, t3, t4;
--replace_result $MYSQL_TEST_DIR TESTDIR
--error 1105,1105,29
start slave;
system chmod 600 $MYSQLTEST_VARDIR/slave-data/master.info;
chmod 0600 $MYSQLTEST_VARDIR/slave-data/master.info;
# It will fail again because the file is empty so the slave cannot get valuable
# info about how to connect to the master from it (failure in
# init_strvar_from_file() in init_master_info()).
......
# This test uses chmod, can't be run with root permissions
-- source include/not_as_root.inc
#
# Basic triggers test
#
......@@ -1138,8 +1142,10 @@ select trigger_schema, trigger_name, event_object_schema,
event_object_table, action_statement from information_schema.triggers
where event_object_schema = 'test';
# Trick which makes update of second .TRN file impossible
system echo dummy >$MYSQLTEST_VARDIR/master-data/test/t1_ai.TRN~;
system chmod 000 $MYSQLTEST_VARDIR/master-data/test/t1_ai.TRN~;
write_file $MYSQLTEST_VARDIR/master-data/test/t1_ai.TRN~;
dummy
EOF
chmod 0000 $MYSQLTEST_VARDIR/master-data/test/t1_ai.TRN~;
--error 1
rename table t1 to t2;
# 't1' should be still there and triggers should work correctly
......@@ -1148,8 +1154,8 @@ select @a, @b;
select trigger_schema, trigger_name, event_object_schema,
event_object_table, action_statement from information_schema.triggers
where event_object_schema = 'test';
system chmod 600 $MYSQLTEST_VARDIR/master-data/test/t1_ai.TRN~;
system rm $MYSQLTEST_VARDIR/master-data/test/t1_ai.TRN~;
chmod 0600 $MYSQLTEST_VARDIR/master-data/test/t1_ai.TRN~;
remove_file $MYSQLTEST_VARDIR/master-data/test/t1_ai.TRN~;
# Let us check that updates to .TRN files were rolled back too
drop trigger t1_bi;
drop trigger t1_ai;
......
# This test uses chmod, can't be run with root permissions
-- source include/not_as_root.inc
# Initialise
--disable_warnings
drop table if exists t1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment