fix(tests): replace libexpect with forkpty() for functional tests
Some checks failed
CI Code / Linux (debian) (pull_request) Waiting to run
CI Code / Linux (ubuntu) (pull_request) Waiting to run
CI Code / Check spelling (pull_request) Successful in 20s
CI Code / Check coding style (pull_request) Successful in 34s
CI Code / Linux (arch) (pull_request) Failing after 3h11m46s

Remove dependency on libexpect which had a segfault bug on Arch Linux.

- Replace exp_spawnl() with forkpty() for PTY creation
- Replace exp_expectl() with custom POSIX regex matching
- Update configure.ac to check for forkpty() instead of libexpect
- Update Makefile.am to link with libutil instead of libexpect/libtcl
- Remove expect/tcl packages from all Dockerfiles
- Add Valgrind suppressions for stabber/pthread false positives
This commit is contained in:
2025-12-29 21:19:30 +03:00
parent a179b02f5d
commit caac08a7d7
21 changed files with 514 additions and 68 deletions

View File

@@ -8,7 +8,6 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
autoconf \
autoconf-archive \
automake \
expect \
gcc \
git \
libcmocka-dev \
@@ -33,8 +32,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
valgrind \
libsqlite3-dev \
libgdk-pixbuf-2.0-dev \
libqrencode-dev \
tcl-expect-dev
libqrencode-dev
RUN mkdir -p /usr/src/{stabber,libstrophe,profanity}
WORKDIR /usr/src