further investigation: i uploaded -4 with a change to simply redirect input from /dev/null, rather than echoing 'blockdev -v' into the process. the result was pretty much the exact same: we don't see the input show up, and we get a time out. of course, attempting to reproduce this locally leads to the test immediately exiting on EOF as expected =\.
i notice the command to run the test is rather complicated: su -s /bin/bash root -c set -e; export USER=`id -nu`; . /etc/profile >/dev/null 2>&1 || true; . ~/.profile >/dev/null 2>&1 || true; buildtree="/tmp/autopkgtest-lxc.glluyzfl/downtmp/build.A7s/src"; mkdir -p -m 1777 -- "/tmp/autopkgtest-lxc.glluyzfl/downtmp/devnull-artifacts"; export AUTOPKGTEST_ARTIFACTS="/tmp/autopkgtest-lxc.glluyzfl/downtmp/devnull-artifacts"; export ADT_ARTIFACTS="$AUTOPKGTEST_ARTIFACTS"; mkdir -p -m 755 "/tmp/autopkgtest-lxc.glluyzfl/downtmp/autopkgtest_tmp"; export AUTOPKGTEST_TMP="/tmp/autopkgtest-lxc.glluyzfl/downtmp/autopkgtest_tmp"; export ADTTMP="$AUTOPKGTEST_TMP"; export DEBIAN_FRONTEND=noninteractive; export LANG=C.UTF-8; export DEB_BUILD_OPTIONS=parallel=160; unset LANGUAGE LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT LC_IDENTIFICATION LC_ALL;rm -f /tmp/autopkgtest_script_pid; set -C; echo $$ > /tmp/autopkgtest_script_pid; set +C; trap "rm -f /tmp/autopkgtest_script_pid" EXIT INT QUIT PIPE; cd "$buildtree"; export AUTOPKGTEST_NORMAL_USER=debci; export ADT_NORMAL_USER=debci; touch /tmp/autopkgtest-lxc.glluyzfl/downtmp/devnull-stdout /tmp/autopkgtest-lxc.glluyzfl/downtmp/devnull-stderr; bash -ec 'TERM=xterm-256color growlight-readline -v < /dev/null' 2> >(tee -a /tmp/autopkgtest-lxc.glluyzfl/downtmp/devnull-stderr >&2) > >(tee -a /tmp/autopkgtest-lxc.glluyzfl/downtmp/devnull-stdout);" maybe our answer lives in this setup? it seems we're redirecting both stdout and stderr (makes sense)...what else here is different from our setup? LANG is defined to C.UTF-8. we're defining TERM ourselves. Notcurses is getting sensibly initialized. we're just never receiving input, nor an indication that input is exhausted...