add test case for backslash letter commands

Using `expect` script because `\letter` aliases are
implemented only in interactive client mode.
This commit is contained in:
Pavel Medvedev 2021-10-31 20:34:40 +01:00
parent 7b50ab7136
commit 882d469a09
2 changed files with 47 additions and 0 deletions

View File

@ -0,0 +1,47 @@
#!/usr/bin/expect -f
# Tags: no-fasttest
log_user 0
set timeout 02
match_max 100000
# A default timeout action is to do nothing, change it to fail
expect_after {
timeout {
exit 1
}
}
set basedir [file dirname $argv0]
spawn bash -c "source $basedir/../shell_config.sh ; \$CLICKHOUSE_CLIENT_BINARY \$CLICKHOUSE_CLIENT_OPT --disable_suggestion"
expect ":) "
# Send a command
send -- "\\ld;\r"
expect "Syntax error: *"
expect ":) "
send -- "\\c;\r"
expect "Syntax error: *"
expect ":) "
send -- " \\l ; \\d; \r"
expect "Syntax error (Multi-statements are not allowed): *"
expect ":) "
send -- " \\l ;\r"
expect "SHOW DATABASES"
expect "system"
expect ":) "
send -- "\\c system;\r"
#expect "USE system"
expect ":) "
send -- " \\d like 'one'\\G\r"
expect "SHOW TABLES"
expect "Row 1:"
expect "name: one"
expect ":) "
send -- "\4"
expect eof