ecl: enable tests
The tests for ecl were not running as make check failed to find the binary (according to upstream one should install it before running tests, but properly setting some variables makes it work). OTOH, there's a bunch of tests that fail. Out of 18098 tests there are around 10 that fail on x86_64 and i686 (the number varies as some failures are kind of random). On x86_64-musl there are about 30 more failures but they all seem to be the same (something to do with the value of acosh(-infinity)). It's also the case that failures in the test suite will NOT stop make with an error, so packaging with -Q is not broken. it is left for the future to fix the failing tests and patch make check so it actually fails the build. Not revbumping b/c this does not change anything in the installed files.
This commit is contained in:
parent
e78eaaf583
commit
f29a2c78ea
2 changed files with 31 additions and 1 deletions
15
srcpkgs/ecl/patches/fix-tests.patch
Normal file
15
srcpkgs/ecl/patches/fix-tests.patch
Normal file
|
@ -0,0 +1,15 @@
|
|||
The test config finds the build directory by looking for the file
|
||||
'BUILD-STAMP'. However, the build system creates 'build-stamp' instead
|
||||
so it will never be found on a case-sensitive filesystem.
|
||||
|
||||
--- a/src/tests/config.lsp.in 2021-02-01 09:59:46.000000000 -0300
|
||||
+++ b/src/tests/config.lsp.in 2021-11-20 18:12:39.318173405 -0300
|
||||
@@ -41,7 +41,7 @@
|
||||
(loop with root = (si::get-library-pathname)
|
||||
with lib-name = (format nil "../lib/ecl-~A/" (lisp-implementation-version))
|
||||
for base in (list root (merge-pathnames lib-name root))
|
||||
- when (or (probe-file (merge-pathnames "./BUILD-STAMP" base))
|
||||
+ when (or (probe-file (merge-pathnames "./build-stamp" base))
|
||||
(probe-file (merge-pathnames "./COPYING" base)))
|
||||
do (return base)))
|
||||
|
|
@ -7,7 +7,7 @@ configure_args="--enable-gmp=system --enable-boehm=system
|
|||
--enable-libatomic=system --with-dffi=system"
|
||||
hostmakedepends="pkg-config"
|
||||
makedepends="gc-devel libatomic_ops-devel gmp-devel libffi-devel"
|
||||
depends=$makedepends
|
||||
depends="$makedepends"
|
||||
short_desc="Common-Lisp interpreter as described in the X3J13 Ansi specification"
|
||||
maintainer="Kyle Nusbaum <knusbaum+void@sdf.org>"
|
||||
license="LGPL-2.1-or-later"
|
||||
|
@ -20,3 +20,18 @@ if [ "$CROSS_BUILD" ]; then
|
|||
hostmakedepends+=" ecl"
|
||||
configure_args+=" --with-cross-config=${XBPS_SRCPKGDIR}/ecl/files/cross_config"
|
||||
fi
|
||||
|
||||
pre_check() {
|
||||
# These settings enable `make check` to run using the compiled ecl.
|
||||
# A few tests fail: out of 18098 tests there are ~10 that fail on
|
||||
# glibc and an additional ~30 fail on musl (the numbers vary as
|
||||
# some failures seem random.)
|
||||
#
|
||||
# The build finishes since `make check` does NOT fail; it is left
|
||||
# for the future to fix the failing tests and patch make check so
|
||||
# it actually fails the build.
|
||||
export ECLDIR=$wrksrc/build/
|
||||
export LD_LIBRARY_PATH=$wrksrc/build/
|
||||
export TEST_IMAGE=$wrksrc/build/bin/ecl
|
||||
make_check_args="ECL=$TEST_IMAGE"
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue