Bug#893335: python-mpop: make autopkgtests pass on 32-bit archs

Steve Langasek steve.langasek at canonical.com
Sun Mar 18 05:57:11 UTC 2018


Package: python-mpop
Version: 1.5.0-1
Severity: minor
Tags: patch
User: ubuntu-devel at lists.ubuntu.com
Usertags: origin-ubuntu bionic ubuntu-patch autopkgtest

Dear maintainers,

With python-mpop 1.5.0-1, while the autopkgtests continue to pass fine on
amd64 as seen at <https://ci.debian.net/packages/p/python-mpop/>, but an
added upstream test makes assumptions about the python hash() function that
don't hold on 32-bit archs, as seen in Ubuntu at
<http://autopkgtest.ubuntu.com/packages/p/python-mpop/bionic/i386>.

Since there doesn't seem to be any reason to care that the cache filename
schema is consistent across architectures, and in any case this wasn't a
blocker for this version of python-mpop to reach testing, I think the test
should be fixed to be portable to 32-bit architectures.  The attached patch
achieves this, and has been uploaded to Ubuntu.

Please consider applying this change in Debian as well.

-- 
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                                    http://www.debian.org/
slangasek at ubuntu.com                                     vorlon at debian.org
-------------- next part --------------
diff -Nru python-mpop-1.5.0/debian/patches/series python-mpop-1.5.0/debian/patches/series
--- python-mpop-1.5.0/debian/patches/series	2017-03-13 10:28:27.000000000 -0700
+++ python-mpop-1.5.0/debian/patches/series	2018-03-17 00:02:10.000000000 -0700
@@ -3,3 +3,4 @@
 0003-fix-missing-trollsift.patch
 0004-Include-test-sub-package.patch
 0005-Disable-TestEmptyImage.test_pil_image.patch
+wordsize-safe-tests.patch
diff -Nru python-mpop-1.5.0/debian/patches/wordsize-safe-tests.patch python-mpop-1.5.0/debian/patches/wordsize-safe-tests.patch
--- python-mpop-1.5.0/debian/patches/wordsize-safe-tests.patch	1969-12-31 16:00:00.000000000 -0800
+++ python-mpop-1.5.0/debian/patches/wordsize-safe-tests.patch	2018-03-17 00:04:43.000000000 -0700
@@ -0,0 +1,26 @@
+Description: fix tests to work on 32-bit archs
+ The python hash() function doesn't return the same results on 64-bit and
+ 32-bit archs, so don't make incorrect assumptions about its output in a
+ test when used for something as inconsequential as predictable cache file
+ names.
+Author: Steve Langasek <steve.langasek at ubuntu.com>
+Index: python-mpop-1.5.0/mpop/tests/test_projector.py
+===================================================================
+--- python-mpop-1.5.0.orig/mpop/tests/test_projector.py
++++ python-mpop-1.5.0/mpop/tests/test_projector.py
+@@ -259,8 +259,13 @@
+         res = mpop.projector.get_precompute_cache_fname('in_id', 'out_id',
+                                                         'in_area', 'out_area',
+                                                         'mode', 'proj_dir')
+-        cor_res = "proj_dir/in_id2out_id_-" + \
+-                  "6296787761359943868to8984161303220364208_mode.npz"
++        if sys.maxsize > 2**32:
++            cor_res = "proj_dir/in_id2out_id_-" + \
++                      "6296787761359943868to8984161303220364208_mode.npz"
++        else:
++            cor_res = "proj_dir/in_id2out_id_-" + \
++                      "1843591356to-347954256_mode.npz"
++
+         self.assertTrue(res == cor_res)
+ 
+     @patch.object(mpop.projector, 'get_area_def')


More information about the Pkg-grass-devel mailing list