Your message dated Mon, 05 Nov 2012 21:47:46 +0000
with message-id <[email protected]>
and subject line Bug#692378: fixed in subunit 0.0.8+bzr176-2
has caused the Debian Bug report #692378,
regarding subunit: FTBFS undeterministic test suite under python3.3
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
692378: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=692378
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: subunit
Severity: normal
Version: 0.0.8+bzr176-1
User: [email protected]
Usertags: python3.3
Tags: patch

Python3.3 has python seed hash randomisation enabled by default.
Please consider applying the below patch.

The running testsuite with different hashes may be a bit excessive, but
helped a lot to find the failures, while developing the patch.

diff -Nru subunit-0.0.8+bzr176/debian/changelog subunit-0.0.8+bzr176/debian/changelog
--- subunit-0.0.8+bzr176/debian/changelog	2012-05-24 14:14:37.000000000 +0100
+++ subunit-0.0.8+bzr176/debian/changelog	2012-10-31 09:29:46.000000000 +0000
@@ -1,3 +1,12 @@
+subunit (0.0.8+bzr176-1.1) UNRELEASED; urgency=low
+
+  * Sort remaining iterators over dictionary keys.
+  * Execute python test-suite multiple times with different hash seeds.
+  * Use OrderedDict in test-suite to prevent hash randomisation failing
+    test suites. (LP: #1025392)
+
+ -- Dmitrijs Ledkovs <[email protected]>  Fri, 26 Oct 2012 18:56:25 +0100
+
 subunit (0.0.8+bzr176-1) unstable; urgency=low
 
   * New upstream snapshot.
diff -Nru subunit-0.0.8+bzr176/debian/patches/fix-ftbfs-python3.3.patch subunit-0.0.8+bzr176/debian/patches/fix-ftbfs-python3.3.patch
--- subunit-0.0.8+bzr176/debian/patches/fix-ftbfs-python3.3.patch	1970-01-01 01:00:00.000000000 +0100
+++ subunit-0.0.8+bzr176/debian/patches/fix-ftbfs-python3.3.patch	2012-10-31 08:39:00.000000000 +0000
@@ -0,0 +1,64 @@
+Description: Use or expect ordered results, fixes FTBFS with python3.3's order randomisation.
+Origin: commit, revision id: [email protected]
+Author: Dmitrijs Ledkovs <[email protected]>
+Bug: https://launchpad.net/bugs/1025392
+Last-Update: 2012-10-30
+X-Bzr-Revision-Id: [email protected]
+
+=== modified file 'python/subunit/__init__.py'
+--- old/python/subunit/__init__.py	2012-05-07 22:19:16 +0000
++++ new/python/subunit/__init__.py	2012-10-30 22:51:29 +0000
+@@ -772,7 +772,7 @@
+             return
+         tags = set([tag.encode('utf8') for tag in new_tags])
+         tags.update([_b("-") + tag.encode('utf8') for tag in gone_tags])
+-        tag_line = _b("tags: ") + _b(" ").join(tags) + _b("\n")
++        tag_line = _b("tags: ") + _b(" ").join(sorted(tags)) + _b("\n")
+         self._stream.write(tag_line)
+ 
+     def time(self, a_datetime):
+@@ -798,7 +798,7 @@
+             if parameters:
+                 self._stream.write(_b(";"))
+                 param_strs = []
+-                for param, value in parameters.items():
++                for param, value in sorted(parameters.items()):
+                     param_strs.append("%s=%s" % (param, value))
+                 self._stream.write(_b(",".join(param_strs)))
+             self._stream.write(_b("\n%s\n" % name))
+
+=== modified file 'python/subunit/tests/test_test_protocol.py'
+--- old/python/subunit/tests/test_test_protocol.py	2012-03-25 14:38:54 +0000
++++ new/python/subunit/tests/test_test_protocol.py	2012-10-30 22:51:29 +0000
+@@ -14,6 +14,7 @@
+ #  limitations under that license.
+ #
+ 
++from collections import OrderedDict
+ import datetime
+ import unittest
+ import os
+@@ -1134,9 +1135,10 @@
+         self.io = BytesIO()
+         self.protocol = subunit.TestProtocolClient(self.io)
+         self.test = TestTestProtocolClient("test_start_test")
+-        self.sample_details = {'something':Content(
+-            ContentType('text', 'plain'), lambda:[_b('serialised\nform')])}
+-        self.sample_tb_details = dict(self.sample_details)
++        self.sample_details = OrderedDict([
++            ('something', Content(ContentType('text', 'plain'),
++                                  lambda:[_b('serialised\nform')]))])
++        self.sample_tb_details = OrderedDict(self.sample_details)
+         self.sample_tb_details['traceback'] = TracebackContent(
+             subunit.RemoteError(_u("boo qux")), self.test)
+ 
+@@ -1311,7 +1313,7 @@
+ 
+     def test_tags_both(self):
+         self.protocol.tags(set(['quux']), set(['bar']))
+-        self.assertEqual(_b("tags: quux -bar\n"), self.io.getvalue())
++        self.assertEqual(_b("tags: -bar quux\n"), self.io.getvalue())
+ 
+     def test_tags_gone(self):
+         self.protocol.tags(set(), set(['bar']))
+
diff -Nru subunit-0.0.8+bzr176/debian/patches/series subunit-0.0.8+bzr176/debian/patches/series
--- subunit-0.0.8+bzr176/debian/patches/series	1970-01-01 01:00:00.000000000 +0100
+++ subunit-0.0.8+bzr176/debian/patches/series	2012-10-27 13:19:02.000000000 +0100
@@ -0,0 +1 @@
+fix-ftbfs-python3.3.patch
diff -Nru subunit-0.0.8+bzr176/debian/rules subunit-0.0.8+bzr176/debian/rules
--- subunit-0.0.8+bzr176/debian/rules	2012-03-13 09:11:59.000000000 +0000
+++ subunit-0.0.8+bzr176/debian/rules	2012-10-31 09:34:02.000000000 +0000
@@ -12,9 +12,19 @@
 
 override_dh_auto_clean:
 	$(MAKE) distclean || true
+	find . -name '*.pyc' -delete
+	find . -name '__pycache__' -delete 
 	rm -rf build
 	rm -f configure
 
+override_dh_auto_test:
+	dh_auto_test
+	set -ex; for i in random `seq 10`; do \
+            for vers in $(PY3VERS); do \
+		SHELL_SHARE='./shell/share/' PYTHONPATH=./python${PYTHONPATH:+:$PYTHONPATH} PYTHONHASHSEED=$$i python$$vers runtests.py; \
+	    done; \
+	done
+
 override_dh_auto_install:
 	$(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
 	find debian/tmp/ -name "*.pyc" | xargs rm -f
Regards,

Dmitrijs.

--- End Message ---
--- Begin Message ---
Source: subunit
Source-Version: 0.0.8+bzr176-2

We believe that the bug you reported is fixed in the latest version of
subunit, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Jelmer Vernooij <[email protected]> (supplier of updated subunit package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Tue, 22 May 2012 10:42:37 +0200
Source: subunit
Binary: subunit libsubunit-perl python-subunit python3-subunit libsubunit0 
libsubunit-dev libcppunit-subunit0 libcppunit-subunit-dev
Architecture: source all amd64
Version: 0.0.8+bzr176-2
Distribution: experimental
Urgency: low
Maintainer: Jelmer Vernooij <[email protected]>
Changed-By: Jelmer Vernooij <[email protected]>
Description: 
 libcppunit-subunit-dev - SubunitTestProgressListener for CPPUnit - Development 
headers
 libcppunit-subunit0 - SubunitTestProgressListener for CPPUnit - C++ shared 
library
 libsubunit-dev - Unit testing protocol - Development headers and static 
library fo
 libsubunit-perl - perl parser and diff for Subunit streams
 libsubunit0 - Unit testing protocol - C/C++ shared library
 python-subunit - unit testing protocol - Python bindings to generate and 
consume s
 python3-subunit - unit testing protocol - Python3 bindings to generate and 
consume
 subunit    - command line tools for processing Subunit streams
Closes: 692378
Changes: 
 subunit (0.0.8+bzr176-2) experimental; urgency=low
 .
   [ Dmitrijs Ledkovs ]
   * Sort remaining iterators over dictionary keys.
   * Run Python tests with all supported Python versions.
   * Use OrderedDict in test-suite to prevent hash randomisation failing
     test suites. LP: #1025392, Closes: #692378
Checksums-Sha1: 
 9f66bc647732dd6f891a82302046902a060982e7 2563 subunit_0.0.8+bzr176-2.dsc
 c26f16b3580d74756d94c7a60cad7bcf38e8c62c 85157 subunit_0.0.8+bzr176.orig.tar.gz
 6441463f1864cde2ee37329d945908bb1fbac858 7298 
subunit_0.0.8+bzr176-2.debian.tar.gz
 56d23ecd24ea3fb19cf59da16b272c529773cca8 15640 subunit_0.0.8+bzr176-2_all.deb
 6b921a6a3db4d72f513806b9e8a32b40907fc969 7126 
libsubunit-perl_0.0.8+bzr176-2_all.deb
 7c63028554d21a0b57e868ba8fa23e6c6e6e5fa2 34420 
python-subunit_0.0.8+bzr176-2_all.deb
 424390eb8da065abd8c3d0a70d55af6e27d95d7c 32992 
python3-subunit_0.0.8+bzr176-2_all.deb
 7056943b9ba9aa351f743a8c2ab76e0f61174266 7886 
libsubunit0_0.0.8+bzr176-2_amd64.deb
 995b467d86d951a45dbbdcbdf62bee4430aeb189 8470 
libsubunit-dev_0.0.8+bzr176-2_amd64.deb
 0982f730c6e0adccc98ceed3a4b9f7e9a4119b9b 11066 
libcppunit-subunit0_0.0.8+bzr176-2_amd64.deb
 871d22b5b78ffdc9a9118692ce1a875989d3a4c5 11652 
libcppunit-subunit-dev_0.0.8+bzr176-2_amd64.deb
Checksums-Sha256: 
 108fad4053a61e31f86090161c804ca797a11fea720f2cde2cd5b72bcb5eb29c 2563 
subunit_0.0.8+bzr176-2.dsc
 202d6e2e5c278147d9490786afa7b862a4f945d6af1949422276d4134ab8346c 85157 
subunit_0.0.8+bzr176.orig.tar.gz
 a832fd66c483b0450bd74767eb00d3a455bc1902583ff8a25a4c662029b16a47 7298 
subunit_0.0.8+bzr176-2.debian.tar.gz
 f33708f24597bf1b524304c1788bfbcb9f8ab33075b1f91ecbed9447eafcf223 15640 
subunit_0.0.8+bzr176-2_all.deb
 e4484e0d8cdf435ddd37e37964d9d3d0146874c60e025d5b2b27ad0abb746bf3 7126 
libsubunit-perl_0.0.8+bzr176-2_all.deb
 254f356f454ecd58c06bb7d696b6c092ab090cb03875fff202c1d1ed2dc2367d 34420 
python-subunit_0.0.8+bzr176-2_all.deb
 c0d7e74723f5aea05f41ed525627936d17749d83c5d5baa2f39a498a94fe8b9d 32992 
python3-subunit_0.0.8+bzr176-2_all.deb
 a160a1d846f50028c4fdb6462726362a9ae16d7ae9d3512125714a1549b25b40 7886 
libsubunit0_0.0.8+bzr176-2_amd64.deb
 36bde29ccac9b9d42787072e12c2b01c2829e4677f1617c85367345010ac10f2 8470 
libsubunit-dev_0.0.8+bzr176-2_amd64.deb
 cdba131da7e9cabd9cb74eb575da58ec32ecf2a7f4c7a9b044fd55884b7480e9 11066 
libcppunit-subunit0_0.0.8+bzr176-2_amd64.deb
 5d1f4cb8885f89ffebf7ca338c0bb35c5ddcc07735dfacbbbf029a9b7f499221 11652 
libcppunit-subunit-dev_0.0.8+bzr176-2_amd64.deb
Files: 
 3d0fb929b0d2177ca9dd5bb7d836a751 2563 devel optional subunit_0.0.8+bzr176-2.dsc
 70626a0bdb2b767569b49bf98974d2e6 85157 devel optional 
subunit_0.0.8+bzr176.orig.tar.gz
 2e9f0154b94d2f344b217de093ea3137 7298 devel optional 
subunit_0.0.8+bzr176-2.debian.tar.gz
 3f6e642e640b02eee81ab4f2e31efa31 15640 devel optional 
subunit_0.0.8+bzr176-2_all.deb
 2d999f67cdad6e6528b29ba0f3834c7b 7126 perl optional 
libsubunit-perl_0.0.8+bzr176-2_all.deb
 882ccfbea13447ac1ba07af273292ccd 34420 python optional 
python-subunit_0.0.8+bzr176-2_all.deb
 05a540207355565b436e5812e5b25c33 32992 python optional 
python3-subunit_0.0.8+bzr176-2_all.deb
 cec0cf8731a33622d371ea12fd944d5e 7886 devel optional 
libsubunit0_0.0.8+bzr176-2_amd64.deb
 1e364e23862cb49d6dc95e94ecd3c41a 8470 libdevel optional 
libsubunit-dev_0.0.8+bzr176-2_amd64.deb
 91b1969563f08aa5d57215a37f2b7531 11066 devel optional 
libcppunit-subunit0_0.0.8+bzr176-2_amd64.deb
 0c0283cc451bc8cbdf962a3b0aa06050 11652 libdevel optional 
libcppunit-subunit-dev_0.0.8+bzr176-2_amd64.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQIcBAEBAgAGBQJQmC+RAAoJEACAbyvXKaRXNTQP/jnZFFSsG+QLAAQxzRHote/2
mOawWGUi1C35un+r9aN11mnW1ZcHsvPmOPDeaGQSBRqZVn4q5OnJnExFemvr8pYK
gQkur8iPp11CCzRAAZ6Z76Y9/di++IHKQeJtSND9LKDC9hvQ1Sr8pHQkUgPXNUx9
yAAqKXwgled4N6J9QqeecEXNtbioUW31lj/zCaCA/0sxk1CvWG+BqnuMgSf9eGIr
Dboa3vwJ5/nfbSCXZgdMfXg5AJITehVBP2a/YQYhqDA+Khm3YLui4t9/fVXJEsYY
/2j2er0K+lyHEdSP0CWeMLZjn9/m9nPiSOjzEvxJ1wSGbfvANCU69aZCsaQpugtl
q/j02GaURDA3WmNWO17SBueLLV3JW3FW08TT4RH5mQX/LEjOXH8v3UpAODUpSUPe
97wDbZxQe2LSP9mhutM7xIJ9Virt6aYogGg27ZNb8rTcwbDjRiYPVCkg5aVPCCkg
qTw7N/HxUJRJL2UIHSl6Q5P+xLf+TAKk4Ccycho4nCY28TLTbjwmbH53bSFXzIJp
UaoNb7n4UwgLcWVQMz66QhvLi+yJo3kFUbJeysZ1Vn7pO0g8Q9RMz/tzB6LvUcGV
kAt+vJMpk4E0J9BGwps0F0JEPKreeVwHAhaxr5CSCW42aP08ShUH8ceRwUukZsVk
qseD1V6EIg+2oxLPFKWk
=Gm7+
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to