2021-02-18 13:27:51 +00:00
|
|
|
#!/usr/bin/expect -f
|
2021-09-12 12:35:27 +00:00
|
|
|
# Tags: no-fasttest
|
|
|
|
# Tag no-fasttest: requires mysql client
|
2021-02-18 13:27:51 +00:00
|
|
|
|
|
|
|
log_user 0
|
2021-06-16 06:01:57 +00:00
|
|
|
set timeout 60
|
2021-02-18 13:27:51 +00:00
|
|
|
match_max 100000
|
2021-12-28 18:16:04 +00:00
|
|
|
|
2021-02-18 13:27:51 +00:00
|
|
|
expect_after {
|
2021-12-28 18:16:04 +00:00
|
|
|
# Do not ignore eof from expect
|
|
|
|
eof { exp_continue }
|
|
|
|
# A default timeout action is to do nothing, change it to fail
|
|
|
|
timeout { exit 1 }
|
2021-02-18 13:27:51 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
set basedir [file dirname $argv0]
|
|
|
|
spawn bash -c "source $basedir/../shell_config.sh ; \$MYSQL_CLIENT_BINARY \$MYSQL_CLIENT_OPT"
|
2021-08-06 16:03:27 +00:00
|
|
|
expect -nocase -re "mysql.*> "
|
2021-02-18 13:27:51 +00:00
|
|
|
|
|
|
|
send -- "USE system;\r"
|
|
|
|
expect "Database changed"
|
|
|
|
|
|
|
|
send -- "SELECT * FROM one;\r"
|
|
|
|
expect "| dummy |"
|
|
|
|
expect "| 0 |"
|
|
|
|
expect "1 row in set"
|
|
|
|
|
2021-07-07 15:46:56 +00:00
|
|
|
# exception before start
|
|
|
|
send -- "select * from table_that_does_not_exist;\r"
|
|
|
|
expect "ERROR 60 (00000): Code: 60"
|
|
|
|
|
|
|
|
# exception after start
|
|
|
|
send -- "select throwIf(number) from numbers(2) settings max_block_size=1;\r"
|
|
|
|
expect "ERROR 395 (00000): Code: 395"
|
|
|
|
|
|
|
|
# other formats
|
|
|
|
send -- "select * from system.one format TSV;\r"
|
|
|
|
expect "ERROR 1 (00000): Code: 1"
|
|
|
|
|
2021-08-12 09:29:50 +00:00
|
|
|
send -- "select * from system.one format JSON;\r"
|
|
|
|
expect "ERROR 1 (00000): Code: 1"
|
|
|
|
|
|
|
|
send -- "select * from system.one format MySQLWire;\r"
|
|
|
|
expect "| dummy |"
|
|
|
|
expect "| 0 |"
|
|
|
|
expect "1 row in set"
|
|
|
|
|
2021-07-07 15:46:56 +00:00
|
|
|
send -- "select count(number), sum(number) from numbers(10);\r"
|
|
|
|
expect "+---------------+-------------+"
|
|
|
|
expect "| count(number) | sum(number) |"
|
|
|
|
expect "+---------------+-------------+"
|
|
|
|
expect "| 10 | 45 |"
|
|
|
|
expect "+---------------+-------------+"
|
|
|
|
expect "1 row in set"
|
2021-08-06 16:03:27 +00:00
|
|
|
expect -nocase -re "mysql.*> "
|
2021-07-07 15:46:56 +00:00
|
|
|
|
2021-02-18 13:27:51 +00:00
|
|
|
send -- "quit;\r"
|
|
|
|
expect eof
|