Subject: Re: [PATCH v2 01/21] ci: add missing dependency for TTY prereq

From: Junio C Hamano <[email-masked]>
Date: Fri, 24 May 2024 09:31:35 -0700

Patrick Steinhardt <[email-masked]> writes:

> In "t/lib-terminal.sh", we declare a lazy prerequisite for tests that
> require a TTY. The prerequisite uses a Perl script to figure out whether
> we do have a usable TTY or not and thus implicitly depends on the PERL
> prerequisite, as well. Furthermore though, the script requires another
> dependency that is easy to miss, namely on the IO::Pty module. If that
> module is not installed, then the script will exit early due to an
> reason unrelated to missing TTYs.
>
> This easily leads to missing test coverage. But most importantly, our CI
> systems are missing this dependency and thus don't execute those tests
> at all. Fix this.
> ---
>  ci/install-dependencies.sh | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

Ah, I should have read what I received first before starting to
respond to them ;-)  You'd want to sign it off, but other than that
looks good to me.

> diff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh
> index 2e7688ae8b..6ec0f85972 100755
> --- a/ci/install-dependencies.sh
> +++ b/ci/install-dependencies.sh
> @@ -27,7 +27,7 @@ alpine-*)
>  	apk add --update shadow sudo build-base curl-dev openssl-dev expat-dev gettext \
>  		pcre2-dev python3 musl-libintl perl-utils ncurses \
>  		apache2 apache2-http2 apache2-proxy apache2-ssl apache2-webdav apr-util-dbd_sqlite3 \
> -		bash cvs gnupg perl-cgi perl-dbd-sqlite >/dev/null
> +		bash cvs gnupg perl-cgi perl-dbd-sqlite perl-io-tty >/dev/null
>  	;;
>  fedora-*)
>  	dnf -yq update >/dev/null &&
> @@ -42,7 +42,7 @@ ubuntu-*)
>  		language-pack-is libsvn-perl apache2 cvs cvsps git gnupg subversion \
>  		make libssl-dev libcurl4-openssl-dev libexpat-dev wget sudo default-jre \
>  		tcl tk gettext zlib1g-dev perl-modules liberror-perl libauthen-sasl-perl \
> -		libemail-valid-perl libio-socket-ssl-perl libnet-smtp-ssl-perl libdbd-sqlite3-perl libcgi-pm-perl \
> +		libemail-valid-perl libio-pty-perl libio-socket-ssl-perl libnet-smtp-ssl-perl libdbd-sqlite3-perl libcgi-pm-perl \
>  		${CC_PACKAGE:-${CC:-gcc}} $PYTHON_PACKAGE
>  
>  	mkdir --parents "$CUSTOM_PATH"