~ubuntu-branches/ubuntu/trusty/drizzle/trusty

« back to all changes in this revision

Viewing changes to tests/t/drizzle_client.test

  • Committer: Bazaar Package Importer
  • Author(s): Monty Taylor
  • Date: 2010-10-02 14:17:48 UTC
  • mfrom: (1.1.1 upstream)
  • mto: (2.1.17 sid)
  • mto: This revision was merged to the branch mainline in revision 3.
  • Revision ID: james.westby@ubuntu.com-20101002141748-m6vbfbfjhrw1153e
Tags: 2010.09.1802-1
* New upstream release.
* Removed pid-file argument hack.
* Updated GPL-2 address to be new address.
* Directly copy in drizzledump.1 since debian doesn't have sphinx 1.0 yet.
* Link to jquery from libjs-jquery. Add it as a depend.
* Add drizzled.8 symlink to the install files.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#
 
2
# Testing the MySQL command line client(mysql)
 
3
#
 
4
 
 
5
--disable_warnings
 
6
drop table if exists t1;
 
7
--enable_warnings
 
8
 
 
9
#
 
10
# Test the "delimiter" functionality
 
11
# Bug#9879
 
12
#
 
13
create table t1(a int);
 
14
insert into t1 values(1);
 
15
 
 
16
# Test delimiters
 
17
# This breaks vpath builds - and I don't care enough about it to fix
 
18
# drizzletest. We can re-enable this in the new test system
 
19
#--exec $MYSQL test 2>&1 < "$DRIZZLE_TEST_DIR/t/mysql_delimiter.sql"
 
20
 
 
21
--disable_query_log
 
22
# Test delimiter : supplied on the command line
 
23
select "Test delimiter : from command line" as "_";
 
24
--exec $MYSQL test --delimiter=":" -e "select * from t1:"
 
25
# Test delimiter :; supplied on the command line
 
26
select "Test delimiter :; from command line" as "_";
 
27
--exec $MYSQL test --delimiter=":;" -e "select * from t1:;"
 
28
# Test 'go' command (vertical output) \G
 
29
select "Test 'go' command(vertical output) \G" as "_";
 
30
--exec $MYSQL test -e "select * from t1\G"
 
31
# Test 'go' command \g
 
32
select "Test  'go' command \g" as "_";
 
33
--exec $MYSQL test -e "select * from t1\g"
 
34
--enable_query_log
 
35
drop table t1;
 
36
 
 
37
#
 
38
# Bug#16859 -- NULLs in columns must not truncate data as if a C-language "string".
 
39
#
 
40
#--exec $MYSQL -t test -e "create table t1 (col1 binary(4), col2 varchar(10), col3 int); insert into t1 values ('a', 'b', 123421),('a ', '0123456789', 4), ('abcd', '', 4); select concat('>',col1,'<'), col2, col3 from t1; drop table t1;" 2>&1
 
41
 
 
42
#
 
43
# Bug#17939 Wrong table format when using UTF8 strings
 
44
#
 
45
--exec $MYSQL --table -e "SELECT 'John Doe' as '__tañgè Ñãmé'" 2>&1
 
46
--exec $MYSQL --table -e "SELECT '__tañgè Ñãmé' as 'John Doe'" 2>&1
 
47
 
 
48
#
 
49
# Bug#18265 -- mysql client: No longer right-justifies numeric columns
 
50
#
 
51
--exec $MYSQL -t test -e "create table t1 (i int, j int, k char(25)); insert into t1 (i) values (1); insert into t1 (k) values ('<----------------------->'); insert into t1 (k) values ('<-----'); insert into t1 (k) values ('Τη γλώσσα'); insert into t1 (k) values ('ᛖᚴ ᚷᛖᛏ'); select * from t1; DROP TABLE t1;"
 
52
 
 
53
#
 
54
# "DESCRIBE" commands may return strange NULLness flags.
 
55
#
 
56
--exec $MYSQL test -e "create table t1 (i int, j int not null, k int); insert into t1 values (null, 1, null); select * from t1; describe t1; drop table t1;"
 
57
--exec $MYSQL -t test -e "create table t1 (i int, j int not null, k int); insert into t1 values (null, 1, null); select * from t1; describe t1; drop table t1;"
 
58
 
 
59
#
 
60
# Bug#19564: mysql displays NULL instead of space
 
61
#
 
62
--exec $MYSQL test -e "create table b19564 (i int, s1 char(1)); insert into b19564 values (1, 'x'); insert into b19564 values (2, NULL); insert into b19564 values (3, ' '); select * from b19564 order by i; drop table b19564;" 
 
63
--exec $MYSQL -t test -e "create table b19564 (i int, s1 char(1)); insert into b19564 values (1, 'x'); insert into b19564 values (2, NULL); insert into b19564 values (3, ' '); select * from b19564 order by i; drop table b19564;" 
 
64
 
 
65
#
 
66
# Bug#21618: NULL shown as empty string in client
 
67
#
 
68
--exec $MYSQL test -e "select unhex('zz');" 
 
69
--exec $MYSQL -t test -e "select unhex('zz');" 
 
70
 
 
71
# Bug#19265 describe command does not work from mysql prompt
 
72
#
 
73
 
 
74
create table t1(a int, b varchar(255), c int);
 
75
--exec $MYSQL test -e "desc t1"
 
76
--exec $MYSQL test -e "desc t1\g"
 
77
drop table t1;
 
78
 
 
79
#--disable_parsing
 
80
#
 
81
# Bug#21042     mysql client segfaults on importing a mysqldump export
 
82
#
 
83
#--error 1
 
84
#--exec $MYSQL test -e "connect verylongdatabasenamethatshouldblowthe256byteslongbufferincom_connectfunctionxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxendcccccccdxxxxxxxxxxxxxxxxxkskskskskkskskskskskskskskskskkskskskskkskskskskskskskskskend" 2>&1
 
85
#--enable_parsing
 
86
 
 
87
 
 
88
#
 
89
# Bug #20432: mysql client interprets commands in comments
 
90
#
 
91
 
 
92
# if the client sees the 'use' within the comment, we haven't fixed
 
93
--exec echo "/*"          >  $MYSQLTEST_VARDIR/tmp/bug20432.sql
 
94
--exec echo "use"         >> $MYSQLTEST_VARDIR/tmp/bug20432.sql
 
95
--exec echo "*/"          >> $MYSQLTEST_VARDIR/tmp/bug20432.sql
 
96
--exec $MYSQL              < $MYSQLTEST_VARDIR/tmp/bug20432.sql 2>&1
 
97
 
 
98
# SQL can have embedded comments => workie
 
99
--exec echo "select /*"   >  $MYSQLTEST_VARDIR/tmp/bug20432.sql
 
100
--exec echo "use"         >> $MYSQLTEST_VARDIR/tmp/bug20432.sql
 
101
--exec echo "*/ 1"        >> $MYSQLTEST_VARDIR/tmp/bug20432.sql
 
102
--exec $MYSQL              < $MYSQLTEST_VARDIR/tmp/bug20432.sql 2>&1
 
103
 
 
104
# client commands on the other hand must be at BOL => error
 
105
--exec echo "/*"          >  $MYSQLTEST_VARDIR/tmp/bug20432.sql
 
106
--exec echo "xxx"         >> $MYSQLTEST_VARDIR/tmp/bug20432.sql
 
107
--exec echo "*/ use"      >> $MYSQLTEST_VARDIR/tmp/bug20432.sql
 
108
--error 1
 
109
--exec $MYSQL              < $MYSQLTEST_VARDIR/tmp/bug20432.sql 2>&1
 
110
 
 
111
# client comment recognized, but parameter missing => error
 
112
--exec echo "use"         >  $MYSQLTEST_VARDIR/tmp/bug20432.sql
 
113
--exec $MYSQL              < $MYSQLTEST_VARDIR/tmp/bug20432.sql 2>&1
 
114
 
 
115
#
 
116
# Bug #20328: mysql client interprets commands in comments
 
117
#
 
118
#--exec $MYSQL -e "help" > $MYSQLTEST_VARDIR/tmp/bug20328_1.result
 
119
#--exec $MYSQL -e "help " > $MYSQLTEST_VARDIR/tmp/bug20328_2.result
 
120
#--diff_files $MYSQLTEST_VARDIR/tmp/bug20328_1.result $MYSQLTEST_VARDIR/tmp/bug20328_2.result
 
121
 
 
122
#
 
123
# Bug #19216: Client crashes on long SELECT
 
124
#
 
125
# Create large SELECT
 
126
# - 3400 * 20 makes 68000 columns that is more than the
 
127
#   max number that can fit in a 16 bit number.
 
128
 
 
129
#--perl
 
130
#open(FILE,">","$ENV{'MYSQLTEST_VARDIR'}/tmp/b19216.tmp") or die;
 
131
#print FILE "select\n";
 
132
#print FILE "'a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a',\n" x 3400;
 
133
#print FILE "'b';\n";
 
134
#close FILE;
 
135
#EOF
 
136
 
 
137
#--disable_query_log
 
138
#--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/b19216.tmp >/dev/null
 
139
#--enable_query_log
 
140
#
 
141
#--remove_file $MYSQLTEST_VARDIR/tmp/b19216.tmp
 
142
 
 
143
#
 
144
# Bug#17583: mysql drops connection when stdout is not writable
 
145
#
 
146
create table t17583 (a int);
 
147
insert into t17583 (a) values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
 
148
insert into t17583 select a from t17583;
 
149
insert into t17583 select a from t17583;
 
150
insert into t17583 select a from t17583;
 
151
insert into t17583 select a from t17583;
 
152
insert into t17583 select a from t17583;
 
153
insert into t17583 select a from t17583;
 
154
insert into t17583 select a from t17583;
 
155
# Close to the minimal data needed to exercise bug.
 
156
select count(*) from t17583;
 
157
--exec echo "select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; " |$MYSQL test >&-
 
158
drop table t17583;
 
159
 
 
160
#
 
161
# Bug#20984: Reproducible MySQL client segmentation fault
 
162
#  + additional tests for the "com_connect" function in mysql
 
163
#
 
164
#
 
165
--echo Test connect without db- or host-name => reconnect
 
166
--exec $MYSQL test -e "\r" 2>&1
 
167
--exec $MYSQL test -e "connect" 2>&1
 
168
 
 
169
--echo Test connect with dbname only => new dbname, old hostname
 
170
--exec $MYSQL test -e "\r test" 2>&1
 
171
--exec $MYSQL test -e "connect test" 2>&1
 
172
--exec $MYSQL test -e "\rtest" 2>&1
 
173
--error 1
 
174
--exec $MYSQL test -e "connecttest" 2>&1
 
175
 
 
176
--echo Test connect with _invalid_ dbname only => new invalid dbname, old hostname
 
177
--error 1
 
178
--exec $MYSQL test -e "\r invalid" 2>&1
 
179
--error 1
 
180
--exec $MYSQL test -e "connect invalid" 2>&1
 
181
 
 
182
--echo Test connect with dbname + hostname
 
183
#--exec $MYSQL test -e "\r test localhost" 2>&1
 
184
#--exec $MYSQL test -e "connect test localhost" 2>&1
 
185
 
 
186
--echo Test connect with dbname + _invalid_ hostname
 
187
# Mask the errno of the error message
 
188
#--replace_regex /\([0-9]*\)/(errno)/
 
189
#--error 1
 
190
#--exec $MYSQL test -e "\r test invalid_hostname" 2>&1
 
191
#--replace_regex /\([0-9]*\)/(errno)/
 
192
#--error 1
 
193
#--exec $MYSQL test -e "connect test invalid_hostname" 2>&1
 
194
 
 
195
#--echo The commands reported in the bug report
 
196
#--replace_regex /\([0-9]*\)/(errno)/
 
197
#--error 1
 
198
#--exec $MYSQL test -e "\r\r\n\r\n cyril\ has\ found\ a\ bug\ :)XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" 2>&1
 
199
#
 
200
##--replace_regex /\([0-9]*\)/(errno)/
 
201
##--error 1
 
202
##--exec echo '\r\r\n\r\n cyril\ has\ found\ a\ bug\ :)XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' | $MYSQL 2>&1
 
203
#
 
204
#--echo Too long dbname
 
205
#--error 1
 
206
#--exec $MYSQL test -e "\r test_really_long_dbnamexxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx localhost" 2>&1
 
207
#
 
208
#--echo Too long hostname
 
209
#--replace_regex /\([0-9]*\)/(errno)/
 
210
#--error 1
 
211
#--exec $MYSQL test -e "\r  test cyrils_superlonghostnameXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" 2>&1
 
212
 
 
213
 
 
214
#
 
215
# Bug #21412: mysql cmdline client allows backslash(es) 
 
216
# as delimiter but can't recognize them
 
217
#
 
218
 
 
219
# This should work just fine...
 
220
#--write_file $MYSQLTEST_VARDIR/tmp/bug21412.sql
 
221
#DELIMITER /
 
222
#SELECT 1/
 
223
#EOF
 
224
#--exec $MYSQL             < $MYSQLTEST_VARDIR/tmp/bug21412.sql 2>&1
 
225
#remove_file $MYSQLTEST_VARDIR/tmp/bug21412.sql;
 
226
#
 
227
## This should give an error...
 
228
#--write_file $MYSQLTEST_VARDIR/tmp/bug21412.sql
 
229
#DELIMITER \
 
230
#EOF
 
231
#--exec $MYSQL             < $MYSQLTEST_VARDIR/tmp/bug21412.sql 2>&1
 
232
#remove_file $MYSQLTEST_VARDIR/tmp/bug21412.sql;
 
233
#
 
234
## As should this...
 
235
#--write_file $MYSQLTEST_VARDIR/tmp/bug21412.sql
 
236
#DELIMITER \\
 
237
#EOF
 
238
#--exec $MYSQL             < $MYSQLTEST_VARDIR/tmp/bug21412.sql 2>&1
 
239
#remove_file $MYSQLTEST_VARDIR/tmp/bug21412.sql;
 
240
#
 
241
#
 
242
# Some coverage of not normally used parts
 
243
#
 
244
 
 
245
--disable_query_log
 
246
#--exec $MYSQL test -e "show status" 2>&1 > /dev/null
 
247
--exec $MYSQL --help 2>&1 > /dev/null
 
248
--exec $MYSQL --version 2>&1 > /dev/null
 
249
--enable_query_log
 
250
 
 
251
#
 
252
# bug #26851: Mysql Client --pager Buffer Overflow
 
253
#
 
254
 
 
255
# allow error 7(invalid argument) since --pager does not always exist in mysql
 
256
--error 0,1,7
 
257
--exec $MYSQL --pager="540bytelengthstringxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" -e "select 1" > /dev/null 2>&1
 
258
 
 
259
#
 
260
# Bug#29323 mysql client only accetps ANSI encoded files
 
261
#
 
262
#--write_file $MYSQLTEST_VARDIR/tmp/bug29323.sql
 
263
#select "This is a file starting with UTF8 BOM 0xEFBBBF";
 
264
#EOF
 
265
#--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug29323.sql 2>&1
 
266
#remove_file $MYSQLTEST_VARDIR/tmp/bug29323.sql;
 
267
 
 
268
--echo End of 5.0 tests
 
269
 
 
270
#
 
271
# Bug#26780: patch to add auto vertical output option to the cli.
 
272
#
 
273
# Make this wide enough that it will wrap almost everywhere.
 
274
#--exec $MYSQL test --auto-vertical-output --table -e "SELECT 1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0;"
 
275
# Too short to wrap.
 
276
#--exec $MYSQL test --auto-vertical-output --table -e "SELECT 1;"
 
277
 
 
278
--echo End of tests