Seems like a minor change, webob assuming keys are sorted. Not sure if it has further implications, though. ====================================================================== FAIL: test_headers2 (tests.test_request.TestRequest_functional) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tmp/portage/dev-python/webob-1.2.3-r1/work/WebOb-1.2.3/tests/test_request.py", line 2665, in test_headers2 self.assertEqual(list(r.environ.keys()), ['a', 'HTTP_SERVER']) AssertionError: Lists differ: ['HTTP_SERVER', 'a'] != ['a', 'HTTP_SERVER'] First differing element 0: HTTP_SERVER a - ['HTTP_SERVER', 'a'] ? ----- + ['a', 'HTTP_SERVER'] ? +++++ """Fail immediately, with the given message.""" >> raise self.failureException("Lists differ: ['HTTP_SERVER', 'a'] != ['a', 'HTTP_SERVER']\n\nFirst differing element 0:\nHTTP_SERVER\na\n\n- ['HTTP_SERVER', 'a']\n? -----\n\n+ ['a', 'HTTP_SERVER']\n? +++++\n") ----------------------------------------------------------------------
This was fixed upstream by comparing sets instead of lists: https://github.com/Pylons/webob/blob/master/tests/test_request.py Doesn't look like there's been a new tag with the fix. You could patch it and see if tests pass, I suppose.
Oops. This was the actual commit: https://github.com/Pylons/webob/commit/3a2c16f2f72dbca5ddfce7f649daf426c2125fed
emerge --info would have ascertained whether it ways py3.3 or 3.3.0-r1. That is a possible diff to mine in which it passed the test under py3.3 without the patch. Mine is 3.3.0-r1, but it may be something else. Either way it passed with the patch too. 06 Jun 2013; Ian Delaney <idella4@gentoo.org> +files/webob-1.2.3-tests.patch, webob-1.2.3-r1.ebuild: patch from upstream applied, fix to one tests, wrt Bug #457740 by mgorny
Re: Comment 3 According to the upstream ticket, this was due to hash randomization in Python 3.3 that scrambles the key order: https://github.com/Pylons/webob/commit/3a2c16f2f72dbca5ddfce7f649daf426c2125fed Since there's only 2 items in the list, I guess it has a 50% chance of being in the right order each time, so that may be why your tests passed.
hmm makes sense