fix(build): Add stabber submodule and make functional tests conditional
All checks were successful
CI Code / Check spelling (pull_request) Successful in 23s
CI Code / Check coding style (pull_request) Successful in 37s
CI Code / Linux (arch) (pull_request) Successful in 9m51s
CI Code / Linux (debian) (pull_request) Successful in 16m16s
CI Code / Linux (ubuntu) (pull_request) Successful in 16m31s

- Add stabber as git submodule from jabber.space fork (fix/xmpp-parsing branch)
- Make functional tests conditional on HAVE_STABBER and HAVE_EXPECT
- Tests are skipped when dependencies are not available, preventing CI failures

Submodule: https://git.jabber.space/jabber.developer2/stabber.git
Branch: fix/xmpp-parsing
This commit is contained in:
2025-12-09 17:00:52 +03:00
parent 70a1d93821
commit ecdf299113
2 changed files with 13 additions and 8 deletions

4
.gitmodules vendored Normal file
View File

@@ -0,0 +1,4 @@
[submodule "external/stabber"]
path = external/stabber
url = https://git.jabber.space/jabber.developer2/stabber.git
branch = fix/xmpp-parsing

View File

@@ -290,15 +290,14 @@ tests_unittests_unittests_CPPFLAGS = -Itests/
tests_unittests_unittests_SOURCES = $(unittest_sources)
tests_unittests_unittests_LDADD = -lcmocka
# Functional test were commented out because of:
# https://github.com/profanity-im/profanity/pull/1010
# An issue was raised for stabber:
# https://github.com/profanity-im/stabber/issues/5
# Once this issue is resolved functional tests should be enabled again
# Functional tests require libstabber and libexpect.
# They are only built when both libraries are available.
# See: https://github.com/profanity-im/profanity/pull/1010
# https://github.com/profanity-im/stabber/issues/5
#
# Note: We enable functional tests unconditionally here and link Tcl explicitly,
# because Debian/Ubuntu's libexpect requires -ltcl8.6 for linkage and the
# configure test for exp_expectl may fail otherwise.
# Note: Debian/Ubuntu's libexpect requires -ltcl8.6 for linkage.
if HAVE_STABBER
if HAVE_EXPECT
TESTS += tests/functionaltests/functionaltests
check_PROGRAMS += tests/functionaltests/functionaltests
tests_functionaltests_functionaltests_SOURCES = $(functionaltest_sources)
@@ -306,6 +305,8 @@ tests_functionaltests_functionaltests_CPPFLAGS = -Itests/ -I$(top_srcdir)/extern
tests_functionaltests_functionaltests_CFLAGS = $(AM_CFLAGS) -I/usr/include/tcl8.6 -I/usr/include/tcl8.5 -I$(top_srcdir)/external/stabber
tests_functionaltests_functionaltests_LDFLAGS = -L$(top_srcdir)/external/stabber/.libs -Wl,-rpath,$(top_srcdir)/external/stabber/.libs
tests_functionaltests_functionaltests_LDADD = -lcmocka -lstabber -lexpect -ltcl8.6
endif
endif
man1_MANS = $(man1_sources)