~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to tests/t/mysql_upgrade.test

  • Committer: Stewart Smith
  • Date: 2008-11-21 16:06:07 UTC
  • mto: This revision was merged to the branch mainline in revision 593.
  • Revision ID: stewart@flamingspork.com-20081121160607-n6gdlt013spuo54r
remove mysql_frm_type
and fix engines to return correct value from delete_table when table doesn't exist.
(it should be ENOENT).

Also fix up some tests that manipulated frm files by hand. These tests are no longer valid and will need to be rewritten in the not too distant future.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Only run test if "mysql_upgrade" is found
 
2
--require r/have_mysql_upgrade.result
 
3
--disable_query_log
 
4
select LENGTH("$DRIZZLE_UPGRADE")>0 as have_mysql_upgrade;
 
5
--enable_query_log
 
6
 
 
7
#
 
8
# Basic test that we can run mysql_upgrde and that it finds the
 
9
# expected binaries it uses.
 
10
#
 
11
--echo Run mysql_upgrade once
 
12
--exec $DRIZZLE_UPGRADE --skip-verbose 2>&1
 
13
 
 
14
# It should have created a file in the MySQL Servers datadir
 
15
file_exists $MYSQLTEST_VARDIR/master-data/mysql_upgrade_info;
 
16
 
 
17
--echo Run it again - should say already completed
 
18
--replace_result $DRIZZLE_SERVER_VERSION VERSION
 
19
--error 1
 
20
--exec $DRIZZLE_UPGRADE --skip-verbose 2>&1
 
21
 
 
22
# It should have created a file in the MySQL Servers datadir
 
23
file_exists $MYSQLTEST_VARDIR/master-data/mysql_upgrade_info;
 
24
 
 
25
--echo Force should run it regardless of wether it's been run before
 
26
--exec $DRIZZLE_UPGRADE --skip-verbose --force 2>&1
 
27
 
 
28
# It should have created a file in the MySQL Servers datadir
 
29
file_exists $MYSQLTEST_VARDIR/master-data/mysql_upgrade_info;
 
30
 
 
31
 
 
32
#
 
33
# Bug #25452 mysql_upgrade access denied.
 
34
#
 
35
 
 
36
# Password protect a root account and run mysql_upgrade
 
37
 
 
38
CREATE USER mysqltest1@'%' IDENTIFIED by 'sakila';
 
39
GRANT ALL ON *.* TO mysqltest1@'%';
 
40
--echo Run mysql_upgrade with password protected account
 
41
--exec $DRIZZLE_UPGRADE --skip-verbose --force --user=mysqltest1 --password=sakila 2>&1
 
42
 
 
43
DROP USER mysqltest1@'%';
 
44
 
 
45
 
 
46
#
 
47
# Bug #26639 mysql_upgrade exits successfully even if external command failed
 
48
#
 
49
 
 
50
--echo Run mysql_upgrade with a non existing server socket
 
51
--replace_result $MYSQLTEST_VARDIR var
 
52
--replace_regex /.*mysqlcheck.*: Got/mysqlcheck: Got/ /\([0-9]*\)/(errno)/
 
53
--error 1
 
54
--exec $DRIZZLE_UPGRADE --skip-verbose --force --host=not_existing_host 2>&1
 
55
 
 
56
#
 
57
# Bug #28401 mysql_upgrade Failed with STRICT_ALL_TABLES, ANSI_QUOTES and NO_ZERO_DATE
 
58
#
 
59
 
 
60
# The SQL commands used by mysql_upgrade are written to be run
 
61
# with sql_mode set to '' - thus the scripts should change sql_mode
 
62
# for the session to make sure the SQL is legal.
 
63
 
 
64
# Test by setting sql_mode before running mysql_upgrade
 
65
set GLOBAL sql_mode='STRICT_ALL_TABLES,ANSI_QUOTES,NO_ZERO_DATE';
 
66
--exec $DRIZZLE_UPGRADE --skip-verbose --force 2>&1
 
67
eval set GLOBAL sql_mode=default;