#1152273 presage: upstream test suite silently disabled (cppunit-config no longer exists)

Package:
presage
Source:
presage
Description:
intelligent predictive text entry platform (tools and demos)
Submitter:
Anas El Husseini
Date:
2026-10-27 11:27:05 UTC
Severity:
normal
Tags:
#1152273#5
Date:
2026-10-27 11:26:44 UTC
From:
To:
Dear Maintainer,

presage's upstream test suite has not been running at build time.
https://www.google.com/url?q=http://configure.ac&source=gmail&ust=1793186216816000&sa=E
detects CppUnit with AM_PATH_CPPUNIT, which relies on the
cppunit-config script. CppUnit no longer ships that script, so configure
prints

checking for cppunit-config... no
configure: WARNING: CppUnit not found. Unit tests will not be built.

and "make check" (dh_auto_test) then runs nothing: every test directory
reports "# TOTAL: 0". This is the case for 0.9.1-3 even though
libcppunit-dev is in Build-Depends.

The attached patch:

* adds d/p/use-pkg-config-for-cppunit.patch, which switches the check
to PKG_CHECK_MODULES([CPPUNIT], [cppunit >= 1.9.6]) using the
cppunit.pc file CppUnit installs. pkgconf is already a build
dependency, and
https://www.google.com/url?q=http://configure.ac&source=gmail&ust=1793186216816000&sa=E
already uses PKG_CHECK_MODULES
elsewhere. With debhelper compat 13, dh_autoreconf regenerates
configure, so no change to debian/rules is needed.

* adds "sqlite3 <!nocheck>" to Build-Depends. Once the tests run, three
SqliteDatabaseConnectorTest cases (testInsertNgram, testUpdateNgram,
testIncrementNgramCount) shell out to the sqlite3 command-line tool
to dump the test database
(test/lib/predictors/dbconnector/sqliteDatabaseConnectorTest.cpp:430)
and fail without it.

With only this patch applied to 0.9.1-3, configure reports "Unit tests:
yes" and all 9 test runners pass (core, contextTracker, tokenizer,
dbconnector, predictors, newPredictors, tools, testRunner and
integration.sh). This was checked with sbuild in an Ubuntu tenacious
arm64 chroot; Ubuntu's PPA builds of the same change pass on amd64,
arm64, armhf, ppc64el and s390x. A build with the nocheck profile still
succeeds without sqlite3 or libcppunit-dev.

In Ubuntu, the attached patch was applied to achieve the following:

* d/p/use-pkg-config-for-cppunit.patch: Detect CppUnit via pkg-config.
CppUnit no longer ships cppunit-config, so configure silently
disabled the upstream test suite.
* d/control: Build-Depend on sqlite3 <!nocheck>, used by the
dbconnector tests to dump the test database.

The Ubuntu merge proposal with build logs from all release
architectures is at
https://code.launchpad.net/~linux.anas/ubuntu/+source/presage/+git/presage/+merge/513731

The packaging is team-maintained on Salsa (debian/presage); I'm happy to
open a merge request there instead if that is preferred.

Thanks for considering the patch.