#!/usr/bin/expect -f 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 } } set basedir [file dirname $argv0] spawn bash -c "source $basedir/../shell_config.sh ; \$CLICKHOUSE_CLIENT_BINARY \$CLICKHOUSE_CLIENT_OPT --disable_suggestion" expect ":) " send -- "SELECT 1\r" expect "│ 1 │" expect ":) " send -- "SELECT 1\\G\r" expect "Row 1:" expect "1: 1" expect ":) " send -- "SELECT 1\\\r" expect ":-] " send -- ", 2\r" expect "│ 1 │ 2 │" expect ":) " send -- "SELECT 1\\\r" expect ":-] " send -- ", 2\\G\r" expect "Row 1:" expect "1: 1" expect "2: 2" expect ":) " send -- "" expect eof spawn bash -c "source $basedir/../shell_config.sh ; \$CLICKHOUSE_CLIENT_BINARY \$CLICKHOUSE_CLIENT_OPT --disable_suggestion --multiline" expect ":) " send -- "SELECT 1;\r" expect "│ 1 │" expect ":) " send -- "SELECT 1\\G\r" expect "Row 1:" expect "1: 1" expect ":) " send -- "SELECT 1; \r" expect "│ 1 │" expect ":) " send -- "SELECT 1\\G \r" expect "Row 1:" expect "1: 1" expect ":) " send -- "SELECT 1\r" expect ":-] " send -- ";\r" expect "│ 1 │" expect ":) " send -- "SELECT 1\r" expect ":-] " send -- "\\G\r" expect "Row 1:" expect "1: 1" expect ":) " send -- "SELECT 1\r" expect ":-] " send -- ", 2;\r" expect "│ 1 │ 2 │" expect ":) " send -- "SELECT 1\r" expect ":-] " send -- ", 2\\G\r" expect "Row 1:" expect "1: 1" expect "2: 2" expect ":) " send -- "" expect eof