Source: python-cookies Version: 2.2.1-1 Severity: serious Tags: ftbfs buster sid
https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/python-cookies.html ... ============================= test session starts ============================== platform linux -- Python 3.7.1, pytest-3.6.4, py-1.6.0, pluggy-0.6.0 rootdir: /build/1st/python-cookies-2.2.1, inifile: collected 67 items test_cookies.py ........................................................ [ 83%] ......F.... [100%] =================================== FAILURES =================================== __________________________ test_encoding_assumptions ___________________________ check_unicode = False def test_encoding_assumptions(check_unicode=False): "Document and test assumptions underlying URL encoding scheme" # Use the RFC 6265 based character class to build a regexp matcher that # will tell us whether or not a character is okay to put in cookie values. cookie_value_re = re.compile("[%s]" % Definitions.COOKIE_OCTET) # Figure out which characters are okay. (unichr doesn't exist in Python 3, # in Python 2 it shouldn't be an issue) cookie_value_safe1 = set(chr(i) for i in range(0, 256) \ if cookie_value_re.match(chr(i))) cookie_value_safe2 = set(unichr(i) for i in range(0, 256) \ if cookie_value_re.match(unichr(i))) # These two are NOT the same on Python3 assert cookie_value_safe1 == cookie_value_safe2 # Now which of these are quoted by urllib.quote? # caveat: Python 2.6 crashes if chr(127) is passed to quote and safe="", # so explicitly set it to b"" to avoid the issue safe_but_quoted = set(c for c in cookie_value_safe1 if quote(c, safe=b"") != c) # Produce a set of characters to give to urllib.quote for the safe parm. dont_quote = "".join(sorted(safe_but_quoted)) # Make sure it works (and that it works because of what we passed) for c in dont_quote: assert quote(c, safe="") != c assert quote(c, safe=dont_quote) == c # Make sure that the result of using dont_quote as the safe characters for # urllib.quote produces stuff which is safe as a cookie value, but not # different unless it has to be. for i in range(0, 255): original = chr(i) quoted = quote(original, safe=dont_quote) # If it is a valid value for a cookie, that quoting should leave it # alone. if cookie_value_re.match(original): assert original == quoted # If it isn't a valid value, then the quoted value should be valid. else: assert cookie_value_re.match(quoted) > assert set(dont_quote) == set("!#$%&'()*+/:<=>?@[]^`{|}~") E assert {'!', '#', '$...'&', "'", ...} == {'!', '#', '$'...'&', "'", ...} E Extra items in the right set: E '~' E Use -v to get the full diff test_cookies.py:2228: AssertionError ===================== 1 failed, 66 passed in 1.07 seconds ====================== E: pybuild pybuild:338: test: plugin distutils failed with: exit code=1: cd /build/1st/python-cookies-2.2.1/.pybuild/cpython3_3.7_cookies/build; python3.7 -m pytest dh_auto_test: pybuild --test -i python{version} -p "3.7 3.6" returned exit code 13 make: *** [debian/rules:8: build] Error 25