ClickHouse/tests/queries/0_stateless/01176_mysql_client_interactive.expect
Azat Khuzhin e4b81e6de9 Add exp_internal for expect tests
This is to catch possible issues like 01565_reconnect_after_client_error in [1].

  [1]: https://s3.amazonaws.com/clickhouse-test-reports/38417/e33f236d502fe9f7906392f4ceffaee44e3c4ce4/stateless_tests__thread__actions__[3/3].html

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-07-02 17:08:06 +03:00

62 lines
1.6 KiB
Plaintext
Executable File

#!/usr/bin/expect -f
# Tags: no-fasttest
# Tag no-fasttest: requires mysql client
set basedir [file dirname $argv0]
set basename [file tail $argv0]
exp_internal -f $env(CLICKHOUSE_TMP)/$basename.debuglog 0
log_user 0
set timeout 60
match_max 100000
expect_after {
# Do not ignore eof from expect
eof { exp_continue }
# A default timeout action is to do nothing, change it to fail
timeout { exit 1 }
}
spawn bash -c "source $basedir/../shell_config.sh ; \$MYSQL_CLIENT_BINARY \$MYSQL_CLIENT_OPT"
expect -nocase -re "mysql.*> "
send -- "USE system;\r"
expect "Database changed"
send -- "SELECT * FROM one;\r"
expect "| dummy |"
expect "| 0 |"
expect "1 row in set"
# 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"
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"
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"
expect -nocase -re "mysql.*> "
send -- "quit;\r"
expect eof