ClickHouse/dbms/tests/queries/0_stateless/00910_client_window_size_detection.sh
Azat Khuzhin 6d8706e692
clickhouse-client: fix --help without tty
stdin_is_not_tty is detected too late when the --help message is
printed, so fix this and do not call ioctl if stdin is not tty.

Before this patch:
  $ clickhouse-client --help < /dev/null

debug build:
  $ dbms/programs/clickhouse-client --help < /dev/null
  Main options:
    --help
  clickhouse-client: ../contrib/boost/libs/program_options/src/options_description.cpp:542:
  void boost::program_options::{anonymous}::format_description(std::ostream&, const string&, unsigned int, unsigned int): Assertion `line_length > first_column_width' failed.
  Aborted (core dumped)

release build:
  $ dbms/programs/clickhouse-client --help < /dev/null
  .... print lots of empty lines and so forth ...

v2: add a test and bsdutils into image for tests
v3: adjust minimal cols to the length of one of the longest arguments,
since with line_length=3 boost will bail anyway (under script(1)
ioctl(TIOCGWINSZ) returnes ws_col=0)
2019-03-23 02:01:32 +03:00

11 lines
253 B
Bash
Executable File

#!/usr/bin/env bash
CURDIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
. $CURDIR/../shell_config.sh
set -e
set -o pipefail
${CLICKHOUSE_CLIENT} --help </dev/null | wc -L
script -e -q -c "${CLICKHOUSE_CLIENT} --help" /dev/null </dev/null >/dev/null