#!/usr/bin/expect -f # This is a test for system.warnings. Testing in interactive mode is necessary, # as we want to see certain warnings from client log_user 0 set timeout 60 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] set Debug_type 0 spawn bash -c "source $basedir/../shell_config.sh ; \$CLICKHOUSE_CLIENT_BINARY \$CLICKHOUSE_CLIENT_OPT --disable_suggestion" expect ":) " # Check debug type send -- "SELECT value FROM system.build_options WHERE name='BUILD_TYPE'\r" expect { "Debug" { set Debug_type 1 expect ":) " } "RelWithDebInfo" } send -- "q\r" expect eof if { $Debug_type > 0} { spawn bash -c "source $basedir/../shell_config.sh ; \$CLICKHOUSE_CLIENT_BINARY \$CLICKHOUSE_CLIENT_OPT --disable_suggestion" expect "Warnings:" expect " * Server was built in debug mode. It will work slowly." expect ":) " # Check debug message in system.warnings send -- "SELECT message FROM system.warnings WHERE message='Server was built in debug mode. It will work slowly.'\r" expect "Server was built in debug mode. It will work slowly." expect ":) " send -- "q\r" expect eof }