Bug#948559: double-conversion: Please make autopkgtests cross-test-friendly
Steve Langasek
steve.langasek at canonical.com
Fri Jan 10 06:32:36 GMT 2020
Package: double-conversion
Version: 3.1.5-4
Severity: minor
Tags: patch
User: ubuntu-devel at lists.ubuntu.com
Usertags: origin-ubuntu focal ubuntu-patch
Hi Mo,
In Ubuntu, we are in the process of moving the i386 architecture to a
compatibility-only layer on amd64, and therefore we are also moving our
autopkgtest infrastructure to test i386 binaries in a cross-environment.
This requires changes to some tests so that they are cross-aware and can do
the right thing.
The double-conversion tests currently fail in this environment, because
there are build tests that do not invoke the toolchain in a cross-aware
manner. I've verified that the attached patch lets the tests successfully
build (and run) i386 tests on an amd64 host.
As part of the patch I am dropping the first of the two tests listed in
debian/tests/control, after determining that the two tests are redundant
with one another since both are just building and running the test suite.
Note that upstream autopkgtest doesn't currently set DEB_HOST_ARCH so this
is a complete no-op in Debian for the moment. Support for cross-testing in
autopkgtest is currently awaiting review at
https://salsa.debian.org/ci-team/autopkgtest/merge_requests/69 and once
landed, will still have no effect unless autopkgtest is invoked with a '-a'
option. So this change should be safe to land in your package despite this
not being upstream in autopkgtest.
Thanks for considering,
--
Steve Langasek Give me a lever long enough and a Free OS
Debian Developer to set it on, and I can move the world.
Ubuntu Developer https://www.debian.org/
slangasek at ubuntu.com vorlon at debian.org
-------------- next part --------------
diff -Nru double-conversion-3.1.5/debian/tests/control double-conversion-3.1.5/debian/tests/control
--- double-conversion-3.1.5/debian/tests/control 2019-07-09 19:40:33.000000000 -0700
+++ double-conversion-3.1.5/debian/tests/control 2020-01-09 22:28:28.000000000 -0800
@@ -1,7 +1,3 @@
-# build and run upstream unit tests
-Test-Command: g++ test/cctest/*.cc -ldouble-conversion -o run_tests; make test
-Depends: @, build-essential
-
Tests: unittest.sh
Depends: @, build-essential
diff -Nru double-conversion-3.1.5/debian/tests/unittest.sh double-conversion-3.1.5/debian/tests/unittest.sh
--- double-conversion-3.1.5/debian/tests/unittest.sh 2019-11-23 22:40:08.000000000 -0800
+++ double-conversion-3.1.5/debian/tests/unittest.sh 2020-01-09 22:28:13.000000000 -0800
@@ -3,18 +3,24 @@
elfname="run_tests"
+if [ -n "${DEB_HOST_GNU_TYPE:-}" ]; then
+ CROSS_COMPILE="$DEB_HOST_GNU_TYPE-"
+else
+ CROSS_COMPILE=
+fi
+
# compile src into object files
srcs=$(find test/cctest -type f -name '*.cc' -print)
for src in $srcs; do
if ! test -r ${src%.cc}.o; then
- g++ -march=native -c $src -o ${src%.cc}.o
+ ${CROSS_COMPILE}g++ -march=native -c $src -o ${src%.cc}.o
echo CXX $src
fi
done
# link
objs=$(find test/cctest -type f -name '*.o' -print)
-g++ -o $elfname $objs -ldouble-conversion
+${CROSS_COMPILE}g++ -o $elfname $objs -ldouble-conversion
echo LD $elfname
# execute
More information about the debian-science-maintainers
mailing list