#!/usr/bin/expect -f set basedir [file dirname $argv0] set basename [file tail $argv0] if {[info exists env(CLICKHOUSE_TMP)]} { set CLICKHOUSE_TMP $env(CLICKHOUSE_TMP) } else { set CLICKHOUSE_TMP "." } exp_internal -f $CLICKHOUSE_TMP/$basename.debuglog 0 set history_file $CLICKHOUSE_TMP/$basename.history log_user 0 set timeout 60 match_max 100000 expect_after { # Do not ignore eof from expect -i $any_spawn_id eof { exp_continue } # A default timeout action is to do nothing, change it to fail -i $any_spawn_id timeout { exit 1 } } spawn bash -c "source $basedir/../shell_config.sh ; \$CLICKHOUSE_CLIENT_BINARY \$CLICKHOUSE_CLIENT_OPT --disable_suggestion --history_file=$history_file" # (?n) - Do not match new lines expect -re "(?n)ClickHouse client version \[\\d\]{2}\.\[\\d\]{1,2}\.\[\\d\]{1,2}\.\[\\d\]{1,}.*\r" expect -re "(?n)Connecting to database .* at localhost:9000 as user default\.\r" expect -re "(?n)Connected to ClickHouse server version \[\\d\]{2}\.\[\\d\]{1,2}\.\[\\d\]{1,2}\.\r" expect ":) " send -- "" expect eof