From 7102fec257835302cb4978160bba4cbebd0b63e1 Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Tue, 15 Apr 2025 10:40:30 -0400 Subject: tests: Switch from unbuffer to ptyx unbuffer is part of expect, which is not actively maintained. This recently led to a CI failure on NetBSD which looked like can't find package Expect while executing "package require Expect" (file "/usr/pkg/bin/unbuffer" line 6) Rather than debug this, I just reimplemented unbuffer myself. This also reduces our test dependencies, which is nice. Link: https://sourceforge.net/p/expect/bugs/107/ Link: https://github.com/tavianator/bfs/actions/runs/14421150823/job/40444068385 --- .github/workflows/ci.yml | 15 +++------------ .github/workflows/codecov.yml | 1 - tests/run.sh | 10 +--------- tests/util.sh | 1 + 4 files changed, 5 insertions(+), 22 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8e34313..e9c3f8e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,7 +16,6 @@ jobs: sudo dpkg --add-architecture i386 sudo apt-get update -y sudo apt-get install -y \ - expect \ mandoc \ gcc-multilib \ libgcc-s1:i386 \ @@ -57,7 +56,6 @@ jobs: run: | sudo apt-get update -y sudo apt-get install -y \ - expect \ mandoc \ acl \ libacl1-dev \ @@ -110,10 +108,8 @@ jobs: run: | sudo pkg install -y \ bash \ - expect \ oniguruma \ - pkgconf \ - tcl-wrapper + pkgconf sudo mount -t fdescfs none /dev/fd .github/diag.sh make -j$(nproc) distcheck @@ -139,7 +135,6 @@ jobs: run: | sudo pkg_add \ bash \ - expect \ gmake \ oniguruma jobs=$(sysctl -n hw.ncpu) @@ -170,8 +165,7 @@ jobs: sudo pkgin -y install \ bash \ oniguruma \ - pkgconf \ - tcl-expect + pkgconf jobs=$(sysctl -n hw.ncpu) ./configure .github/diag.sh make -j$jobs check TEST_FLAGS="--sudo --verbose=skipped" @@ -198,11 +192,9 @@ jobs: prepare: | pkg install -y \ bash \ - expect \ oniguruma \ pkgconf \ - sudo \ - tcl-wrapper + sudo pw useradd -n action -m -G wheel -s /usr/local/bin/bash echo "%wheel ALL=(ALL) NOPASSWD: ALL" >>/usr/local/etc/sudoers @@ -235,7 +227,6 @@ jobs: pkg install \ bash \ build-essential \ - expect \ gnu-make \ onig \ sudo diff --git a/.github/workflows/codecov.yml b/.github/workflows/codecov.yml index 4cce8ed..e4e8f71 100644 --- a/.github/workflows/codecov.yml +++ b/.github/workflows/codecov.yml @@ -13,7 +13,6 @@ jobs: run: | sudo apt-get update -y sudo apt-get install -y \ - expect \ gcc \ acl \ libacl1-dev \ diff --git a/tests/run.sh b/tests/run.sh index e3a4e3f..8d3a5d2 100644 --- a/tests/run.sh +++ b/tests/run.sh @@ -362,20 +362,12 @@ invoke_bfs() { fi } -if command -v unbuffer &>/dev/null; then - UNBUFFER=unbuffer -elif command -v expect_unbuffer &>/dev/null; then - UNBUFFER=expect_unbuffer -fi - # Run bfs with a pseudo-terminal attached bfs_pty() { - test -n "${UNBUFFER:-}" || skip - bfs_verbose "$@" local ret=0 - "$UNBUFFER" bash -c 'stty cols 80 rows 24 && "$@" 125)); then exit $ret diff --git a/tests/util.sh b/tests/util.sh index d8b7036..b846d45 100644 --- a/tests/util.sh +++ b/tests/util.sh @@ -16,6 +16,7 @@ ROOT=$(_realpath "$(dirname -- "$TESTS")") TESTS="$ROOT/tests" BIN="$ROOT/bin" MKSOCK="$BIN/tests/mksock" +PTYX="$BIN/tests/ptyx" XTOUCH="$BIN/tests/xtouch" UNAME=$(uname) -- cgit v1.2.3