Your message dated Fri, 25 Sep 2020 03:06:59 +0000
with message-id <e1kle4z-0000eh...@fasolo.debian.org>
and subject line Bug#966985: fixed in python-bleach 3.2.1-1
has caused the Debian Bug report #966985,
regarding python-bleach: FTBFS: dh_auto_test: error: pybuild --test 
--test-pytest -i python{version} -p 3.8 returned exit code 13
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 ow...@bugs.debian.org
immediately.)


-- 
966985: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=966985
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Source: python-bleach
Version: 3.1.5-2
Severity: serious
Justification: FTBFS on amd64
Tags: bullseye sid ftbfs
Usertags: ftbfs-20200802 ftbfs-bullseye

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.

Relevant part (hopefully):
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> dh_auto_build -O--buildsystem=pybuild
> I: pybuild base:217: /usr/bin/python3 setup.py build 
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach
> copying bleach/callbacks.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach
> copying bleach/__init__.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach
> copying bleach/html5lib_shim.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach
> copying bleach/linkifier.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach
> copying bleach/sanitizer.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach
> copying bleach/utils.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor
> copying bleach/_vendor/__init__.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor
> creating 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib
> copying bleach/_vendor/html5lib/_inputstream.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib
> copying bleach/_vendor/html5lib/__init__.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib
> copying bleach/_vendor/html5lib/_utils.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib
> copying bleach/_vendor/html5lib/_tokenizer.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib
> copying bleach/_vendor/html5lib/constants.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib
> copying bleach/_vendor/html5lib/html5parser.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib
> copying bleach/_vendor/html5lib/serializer.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib
> copying bleach/_vendor/html5lib/_ihatexml.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib
> creating 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib/filters
> copying bleach/_vendor/html5lib/filters/lint.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib/filters
> copying bleach/_vendor/html5lib/filters/__init__.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib/filters
> copying bleach/_vendor/html5lib/filters/alphabeticalattributes.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib/filters
> copying bleach/_vendor/html5lib/filters/whitespace.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib/filters
> copying bleach/_vendor/html5lib/filters/inject_meta_charset.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib/filters
> copying bleach/_vendor/html5lib/filters/optionaltags.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib/filters
> copying bleach/_vendor/html5lib/filters/base.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib/filters
> copying bleach/_vendor/html5lib/filters/sanitizer.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib/filters
> creating 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib/treewalkers
> copying bleach/_vendor/html5lib/treewalkers/__init__.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib/treewalkers
> copying bleach/_vendor/html5lib/treewalkers/etree.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib/treewalkers
> copying bleach/_vendor/html5lib/treewalkers/genshi.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib/treewalkers
> copying bleach/_vendor/html5lib/treewalkers/etree_lxml.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib/treewalkers
> copying bleach/_vendor/html5lib/treewalkers/dom.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib/treewalkers
> copying bleach/_vendor/html5lib/treewalkers/base.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib/treewalkers
> creating 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib/_trie
> copying bleach/_vendor/html5lib/_trie/__init__.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib/_trie
> copying bleach/_vendor/html5lib/_trie/_base.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib/_trie
> copying bleach/_vendor/html5lib/_trie/datrie.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib/_trie
> copying bleach/_vendor/html5lib/_trie/py.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib/_trie
> creating 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib/treeadapters
> copying bleach/_vendor/html5lib/treeadapters/__init__.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib/treeadapters
> copying bleach/_vendor/html5lib/treeadapters/genshi.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib/treeadapters
> copying bleach/_vendor/html5lib/treeadapters/sax.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib/treeadapters
> creating 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib/treebuilders
> copying bleach/_vendor/html5lib/treebuilders/__init__.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib/treebuilders
> copying bleach/_vendor/html5lib/treebuilders/etree.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib/treebuilders
> copying bleach/_vendor/html5lib/treebuilders/etree_lxml.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib/treebuilders
> copying bleach/_vendor/html5lib/treebuilders/dom.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib/treebuilders
> copying bleach/_vendor/html5lib/treebuilders/base.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib/treebuilders
> running egg_info
> creating bleach.egg-info
> writing bleach.egg-info/PKG-INFO
> writing dependency_links to bleach.egg-info/dependency_links.txt
> writing requirements to bleach.egg-info/requires.txt
> writing top-level names to bleach.egg-info/top_level.txt
> writing manifest file 'bleach.egg-info/SOURCES.txt'
> reading manifest file 'bleach.egg-info/SOURCES.txt'
> reading manifest template 'MANIFEST.in'
> writing manifest file 'bleach.egg-info/SOURCES.txt'
> copying bleach/_vendor/README.rst -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor
> copying bleach/_vendor/pip_install_vendor.sh -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor
> copying bleach/_vendor/vendor.txt -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor
> creating 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib-1.0.1.dist-info
> copying bleach/_vendor/html5lib-1.0.1.dist-info/DESCRIPTION.rst -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib-1.0.1.dist-info
> copying bleach/_vendor/html5lib-1.0.1.dist-info/INSTALLER -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib-1.0.1.dist-info
> copying bleach/_vendor/html5lib-1.0.1.dist-info/LICENSE.txt -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib-1.0.1.dist-info
> copying bleach/_vendor/html5lib-1.0.1.dist-info/METADATA -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib-1.0.1.dist-info
> copying bleach/_vendor/html5lib-1.0.1.dist-info/RECORD -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib-1.0.1.dist-info
> copying bleach/_vendor/html5lib-1.0.1.dist-info/WHEEL -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib-1.0.1.dist-info
> copying bleach/_vendor/html5lib-1.0.1.dist-info/metadata.json -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib-1.0.1.dist-info
> copying bleach/_vendor/html5lib-1.0.1.dist-info/top_level.txt -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build/bleach/_vendor/html5lib-1.0.1.dist-info
> PYTHONPATH=. http_proxy='localhost' python3 -m sphinx -N -bhtml docs/ 
> build/html
> Running Sphinx v2.4.3
> making output directory... done
> WARNING: html_static_path entry '_static' does not exist
> building [mo]: targets for 0 po files that are out of date
> building [html]: targets for 6 source files that are out of date
> updating environment: [new config] 6 added, 0 changed, 0 removed
> reading sources... [ 16%] changes
> reading sources... [ 33%] clean
> reading sources... [ 50%] dev
> reading sources... [ 66%] goals
> reading sources... [ 83%] index
> reading sources... [100%] linkify
> 
> looking for now-outdated files... none found
> pickling environment... done
> checking consistency... done
> preparing documents... done
> writing output... [ 16%] changes
> writing output... [ 33%] clean
> writing output... [ 50%] dev
> writing output... [ 66%] goals
> writing output... [ 83%] index
> writing output... [100%] linkify
> 
> generating indices...  genindexdone
> highlighting module code... [ 33%] bleach
> highlighting module code... [ 66%] bleach.linkifier
> highlighting module code... [100%] bleach.sanitizer
> 
> writing additional pages...  searchdone
> copying static files... ... done
> copying extra files... done
> dumping search index in English (code: en)... done
> dumping object inventory... done
> build succeeded, 1 warning.
> 
> The HTML pages are in build/html.
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
>    dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:217: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build; 
> python3.8 -m pytest tests
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.8.5, pytest-4.6.11, py-1.8.1, pluggy-0.13.0
> rootdir: /<<PKGBUILDDIR>>
> collected 338 items
> 
> tests/test_callbacks.py ..........                                       [  
> 2%]
> tests/test_clean.py .................................................... [ 
> 18%]
> ........................................................................ [ 
> 39%]
> ............................................                             [ 
> 52%]
> tests/test_css.py .....x..xx................F.                           [ 
> 60%]
> tests/test_html5lib_shim.py .................FF.                         [ 
> 66%]
> tests/test_linkify.py .................................................. [ 
> 81%]
> ..................................................                       [ 
> 96%]
> tests/test_unicode.py .........                                          [ 
> 99%]
> tests/test_utils.py ...                                                  
> [100%]
> 
> =================================== FAILURES 
> ===================================
> _______________ test_css_parsing_gauntlet_regex_backtracking['] 
> ________________
> 
> overlap_test_char = "'"
> 
>     @pytest.mark.parametrize('overlap_test_char', ["\"", "'", "-"])
>     def test_css_parsing_gauntlet_regex_backtracking(overlap_test_char):
>         """The sanitizer gauntlet regex should not catastrophically 
> backtrack"""
>         # refs: https://bugzilla.mozilla.org/show_bug.cgi?id=1623633
>     
>         def time_clean(test_char, size):
>             style_attr_value = (test_char + 'a' + test_char) * size + '^'
>             stmt = """clean('''<a style='%s'></a>''', attributes={'a': 
> ['style']})""" % style_attr_value
>             return timeit(stmt=stmt, setup='from bleach import clean', 
> number=1)
>     
>         # should complete in less than one second
> >       assert time_clean(overlap_test_char, 22) < 1.0
> 
> tests/test_css.py:246: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> tests/test_css.py:243: in time_clean
>     return timeit(stmt=stmt, setup='from bleach import clean', number=1)
> /usr/lib/python3.8/timeit.py:233: in timeit
>     return Timer(stmt, setup, timer, globals).timeit(number)
> /usr/lib/python3.8/timeit.py:177: in timeit
>     timing = self.inner(it, self.timer)
> <timeit-src>:6: in inner
>     ???
> bleach/__init__.py:84: in clean
>     return cleaner.clean(text)
> bleach/sanitizer.py:169: in clean
>     dom = self.parser.parseFragment(text)
> /usr/lib/python3/dist-packages/html5lib/html5parser.py:312: in parseFragment
>     self._parse(stream, True, *args, **kwargs)
> bleach/html5lib_shim.py:399: in _parse
>     self.mainLoop()
> /usr/lib/python3/dist-packages/html5lib/html5parser.py:240: in mainLoop
>     new_token = phase.processStartTag(new_token)
> /usr/lib/python3/dist-packages/html5lib/html5parser.py:469: in processStartTag
>     return func(token)
> /usr/lib/python3/dist-packages/html5lib/html5parser.py:1109: in startTagA
>     self.addFormattingElement(token)
> /usr/lib/python3/dist-packages/html5lib/html5parser.py:958: in 
> addFormattingElement
>     self.tree.insertElement(token)
> /usr/lib/python3/dist-packages/html5lib/treebuilders/base.py:328: in 
> insertElementNormal
>     element.attributes = token["data"]
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <a>
> attributes = ['style', 
> "a''a''a''a''a''a''a''a''a''a''a''a''a''a''a''a''a''a''a''a''a''a'^'"]
> 
>     def _setAttributes(self, attributes):
>         el_attrib = self._element.attrib
>         el_attrib.clear()
>         if attributes:
>             # calling .items _always_ allocates, and the above truthy check 
> is cheaper than the
>             # allocation on average
> >           for key, value in attributes.items():
> E           AttributeError: 'list' object has no attribute 'items'
> 
> /usr/lib/python3/dist-packages/html5lib/treebuilders/etree.py:71: 
> AttributeError
> _ test_bleach_html_parser[parser_args3-<a href="http://example.com"";>-<a 
> href="http://example.com";></a>] _
> 
> parser_args = {}, data = '<a href="http://example.com"";>'
> expected = '<a href="http://example.com";></a>'
> 
>     @pytest.mark.parametrize('parser_args, data, expected', [
>         # Make sure InputStreamWithMemory has charEncoding and changeEncoding
>         (
>             {},
>             '<meta charset="utf-8">',
>             '<meta charset="utf-8">'
>         ),
>         # Handle consume entities False--all entities are passed along and 
> then
>         # escaped when serialized
>         (
>             {'consume_entities': False},
>             'text &amp;&gt;&quot;',
>             'text &amp;amp;&amp;gt;&amp;quot;'
>         ),
>         # Handle consume entities True--all entities are consumed and 
> converted
>         # to their character equivalents and then &, <, and > are escaped when
>         # serialized
>         (
>             {'consume_entities': True},
>             'text &amp;&gt;&quot;',
>             'text &amp;&gt;"'
>         ),
>         # Test that "invalid-character-in-attribute-name" errors in tokenizing
>         # result in attributes with invalid names getting dropped
>         (
>             {},
>             '<a href="http://example.com"";>',
>             '<a href="http://example.com";></a>'
>         ),
>         (
>             {},
>             '<a href=\'http://example.com\'\'>',
>             '<a href="http://example.com";></a>'
>         ),
>         # Test that "expected-closing-tag-but-got-char" works when tags is 
> None
>         (
>             {},
>             '</ chars',
>             '<!-- chars-->',
>         )
>     ])
>     def test_bleach_html_parser(parser_args, data, expected):
>         args = {
>             'tags': None,
>             'strip': True,
>             'consume_entities': True
>         }
>         args.update(parser_args)
>     
>         # Build a parser, walker, and serializer just like we do in clean()
>         parser = html5lib_shim.BleachHTMLParser(**args)
>         walker = html5lib_shim.getTreeWalker('etree')
>         serializer = html5lib_shim.BleachHTMLSerializer(
>             quote_attr_values='always',
>             omit_optional_tags=False,
>             escape_lt_in_attrs=True,
>             resolve_entities=False,
>             sanitize=False,
>             alphabetical_attributes=False,
>         )
>     
>         # Parse, walk, and then serialize the output
> >       dom = parser.parseFragment(data)
> 
> tests/test_html5lib_shim.py:149: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/html5lib/html5parser.py:312: in parseFragment
>     self._parse(stream, True, *args, **kwargs)
> bleach/html5lib_shim.py:399: in _parse
>     self.mainLoop()
> /usr/lib/python3/dist-packages/html5lib/html5parser.py:240: in mainLoop
>     new_token = phase.processStartTag(new_token)
> /usr/lib/python3/dist-packages/html5lib/html5parser.py:469: in processStartTag
>     return func(token)
> /usr/lib/python3/dist-packages/html5lib/html5parser.py:1109: in startTagA
>     self.addFormattingElement(token)
> /usr/lib/python3/dist-packages/html5lib/html5parser.py:958: in 
> addFormattingElement
>     self.tree.insertElement(token)
> /usr/lib/python3/dist-packages/html5lib/treebuilders/base.py:328: in 
> insertElementNormal
>     element.attributes = token["data"]
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <a>, attributes = ['href']
> 
>     def _setAttributes(self, attributes):
>         el_attrib = self._element.attrib
>         el_attrib.clear()
>         if attributes:
>             # calling .items _always_ allocates, and the above truthy check 
> is cheaper than the
>             # allocation on average
> >           for key, value in attributes.items():
> E           AttributeError: 'list' object has no attribute 'items'
> 
> /usr/lib/python3/dist-packages/html5lib/treebuilders/etree.py:71: 
> AttributeError
> _ test_bleach_html_parser[parser_args4-<a href='http://example.com''>-<a 
> href="http://example.com";></a>] _
> 
> parser_args = {}, data = "<a href='http://example.com''>"
> expected = '<a href="http://example.com";></a>'
> 
>     @pytest.mark.parametrize('parser_args, data, expected', [
>         # Make sure InputStreamWithMemory has charEncoding and changeEncoding
>         (
>             {},
>             '<meta charset="utf-8">',
>             '<meta charset="utf-8">'
>         ),
>         # Handle consume entities False--all entities are passed along and 
> then
>         # escaped when serialized
>         (
>             {'consume_entities': False},
>             'text &amp;&gt;&quot;',
>             'text &amp;amp;&amp;gt;&amp;quot;'
>         ),
>         # Handle consume entities True--all entities are consumed and 
> converted
>         # to their character equivalents and then &, <, and > are escaped when
>         # serialized
>         (
>             {'consume_entities': True},
>             'text &amp;&gt;&quot;',
>             'text &amp;&gt;"'
>         ),
>         # Test that "invalid-character-in-attribute-name" errors in tokenizing
>         # result in attributes with invalid names getting dropped
>         (
>             {},
>             '<a href="http://example.com"";>',
>             '<a href="http://example.com";></a>'
>         ),
>         (
>             {},
>             '<a href=\'http://example.com\'\'>',
>             '<a href="http://example.com";></a>'
>         ),
>         # Test that "expected-closing-tag-but-got-char" works when tags is 
> None
>         (
>             {},
>             '</ chars',
>             '<!-- chars-->',
>         )
>     ])
>     def test_bleach_html_parser(parser_args, data, expected):
>         args = {
>             'tags': None,
>             'strip': True,
>             'consume_entities': True
>         }
>         args.update(parser_args)
>     
>         # Build a parser, walker, and serializer just like we do in clean()
>         parser = html5lib_shim.BleachHTMLParser(**args)
>         walker = html5lib_shim.getTreeWalker('etree')
>         serializer = html5lib_shim.BleachHTMLSerializer(
>             quote_attr_values='always',
>             omit_optional_tags=False,
>             escape_lt_in_attrs=True,
>             resolve_entities=False,
>             sanitize=False,
>             alphabetical_attributes=False,
>         )
>     
>         # Parse, walk, and then serialize the output
> >       dom = parser.parseFragment(data)
> 
> tests/test_html5lib_shim.py:149: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/html5lib/html5parser.py:312: in parseFragment
>     self._parse(stream, True, *args, **kwargs)
> bleach/html5lib_shim.py:399: in _parse
>     self.mainLoop()
> /usr/lib/python3/dist-packages/html5lib/html5parser.py:240: in mainLoop
>     new_token = phase.processStartTag(new_token)
> /usr/lib/python3/dist-packages/html5lib/html5parser.py:469: in processStartTag
>     return func(token)
> /usr/lib/python3/dist-packages/html5lib/html5parser.py:1109: in startTagA
>     self.addFormattingElement(token)
> /usr/lib/python3/dist-packages/html5lib/html5parser.py:958: in 
> addFormattingElement
>     self.tree.insertElement(token)
> /usr/lib/python3/dist-packages/html5lib/treebuilders/base.py:328: in 
> insertElementNormal
>     element.attributes = token["data"]
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <a>, attributes = ['href']
> 
>     def _setAttributes(self, attributes):
>         el_attrib = self._element.attrib
>         el_attrib.clear()
>         if attributes:
>             # calling .items _always_ allocates, and the above truthy check 
> is cheaper than the
>             # allocation on average
> >           for key, value in attributes.items():
> E           AttributeError: 'list' object has no attribute 'items'
> 
> /usr/lib/python3/dist-packages/html5lib/treebuilders/etree.py:71: 
> AttributeError
> =============================== warnings summary 
> ===============================
> /usr/lib/python3/dist-packages/html5lib/filters/sanitizer.py:29
>   /usr/lib/python3/dist-packages/html5lib/filters/sanitizer.py:29: 
> DeprecationWarning: html5lib's sanitizer is deprecated; see 
> https://github.com/html5lib/html5lib-python/issues/443 and please let us know 
> if Bleach is unsuitable for your needs
>     warnings.warn(_deprecation_msg, DeprecationWarning)
> 
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_clean_idempotent
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_clean_idempotent
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_clean_idempotent
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_only_text_is_cleaned
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_content_has_no_html
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_content_has_allowed_html[an
>  <strong>allowed</strong> tag-an <strong>allowed</strong> tag]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_content_has_allowed_html[another
>  <em>good</em> tag-another <em>good</em> tag]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_html_is_lowercased
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_invalid_uri_does_not_raise_error
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_comments[<!-- 
> this is a comment -->-True-]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_comments[<!-- 
> open comment-True-]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_comments[<!--open
>  comment-True-]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_comments[<!-- 
> open comment-False-<!-- open comment-->]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_comments[<!--open
>  comment-False-<!--open comment-->]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_comments[<!-- 
> comment -->text-True-text]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_comments[<!--comment-->text-True-text]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_comments[<!-- 
> comment -->text-False-<!-- comment -->text]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_comments[<!--comment-->text-False-<!--comment-->text]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_comments[text<!--
>  comment -->-True-text]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_comments[text<!--comment-->-True-text]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_comments[text<!--
>  comment -->-False-text<!-- comment -->]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_comments[text<!--comment-->-False-text<!--comment-->]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_invalid_char_in_tag
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_invalid_char_in_tag
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_unclosed_tag
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_unclosed_tag
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_unclosed_tag
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_unclosed_tag
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_nested_script_tag
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_nested_script_tag
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_nested_script_tag
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_bare_entities_get_escaped_correctly[an
>  & entity-an &amp; entity]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_bare_entities_get_escaped_correctly[an
>  < entity-an &lt; entity]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_bare_entities_get_escaped_correctly[tag
>  < <em>and</em> entity-tag &lt; <em>and</em> entity]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_character_entities_handling[&amp;-&amp;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_character_entities_handling[&nbsp;-&nbsp;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_character_entities_handling[&nbsp;
>  test string &nbsp;-&nbsp; test string &nbsp;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_character_entities_handling[&lt;em&gt;strong&lt;/em&gt;-&lt;em&gt;strong&lt;/em&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_character_entities_handling[&amp;is
>  cool-&amp;is cool]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_character_entities_handling[cool
>  &amp;-cool &amp;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_character_entities_handling[&&amp;
>  is cool-&amp;&amp; is cool]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_character_entities_handling[&amp;
>  is cool &amp;&-&amp; is cool &amp;&amp;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_character_entities_handling[this
>  &amp that-this &amp;amp that]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_character_entities_handling[http://example.com?active=true&current=true-http://example.com?active=true&amp;current=true]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_character_entities_handling[<a
>  href="?art&amp;copy">foo</a>-<a href="?art&amp;copy">foo</a>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_character_entities_handling[<a
>  href="?this=&gt;that">foo</a>-<a href="?this=&gt;that">foo</a>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_character_entities_handling[<a
>  href="http://example.com/&xx;";>foo</a>-<a 
> href="http://example.com/&amp;xx;";>foo</a>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_character_entities_handling[<a
>  href="http://example.com?active=true&current=true";>foo</a>-<a 
> href="http://example.com?active=true&amp;current=true";>foo</a>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_character_entities_handling[&xx;-&xx;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_character_entities_handling[&#39;-&#39;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_character_entities_handling[&#34;-&#34;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_character_entities_handling[&#123;-&#123;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_character_entities_handling[&#x0007b;-&#x0007b;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_character_entities_handling[&#x0007B;-&#x0007B;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_character_entities_handling[&#-&amp;#]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_character_entities_handling[&#<-&amp;#&lt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_character_entities_handling[&#39;&#34;-&#39;&#34;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[a 
> test <em>with</em> <b>html</b> tags-kwargs0-a test <em>with</em> <b>html</b> 
> tags]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[a 
> test <em>with</em> <b>html</b> tags-kwargs0-a test <em>with</em> <b>html</b> 
> tags]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[a 
> test <em>with</em> <b>html</b> tags-kwargs0-a test <em>with</em> <b>html</b> 
> tags]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[a 
> test <em>with</em> <img src="http://example.com/";> <b>html</b> tags-kwargs1-a 
> test <em>with</em>  <b>html</b> tags]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[a 
> test <em>with</em> <img src="http://example.com/";> <b>html</b> tags-kwargs1-a 
> test <em>with</em>  <b>html</b> tags]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[a 
> test <em>with</em> <img src="http://example.com/";> <b>html</b> tags-kwargs1-a 
> test <em>with</em>  <b>html</b> tags]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[<p><a
>  href="http://example.com/";>link text</a></p>-kwargs2-<p>link text</p>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[<p><a
>  href="http://example.com/";>link text</a></p>-kwargs2-<p>link text</p>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[<p><a
>  href="http://example.com/";>link text</a></p>-kwargs2-<p>link text</p>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[<p><span>multiply
>  <span>nested <span>text</span></span></span></p>-kwargs3-<p>multiply nested 
> text</p>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[<p><span>multiply
>  <span>nested <span>text</span></span></span></p>-kwargs3-<p>multiply nested 
> text</p>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[<p><span>multiply
>  <span>nested <span>text</span></span></span></p>-kwargs3-<p>multiply nested 
> text</p>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[<ul><li><script></li></ul>-kwargs4-<ul><li></li></ul>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[<ul><li><script></li></ul>-kwargs4-<ul><li></li></ul>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[<ul><li><script></li></ul>-kwargs4-<ul><li></li></ul>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[<p><a
>  href="http://example.com/";><img 
> src="http://example.com/";></a></p>-kwargs5-<p><a 
> href="http://example.com/";></a></p>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[<p><a
>  href="http://example.com/";><img 
> src="http://example.com/";></a></p>-kwargs5-<p><a 
> href="http://example.com/";></a></p>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[<p><a
>  href="http://example.com/";><img 
> src="http://example.com/";></a></p>-kwargs5-<p><a 
> href="http://example.com/";></a></p>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[<isindex>-kwargs6-]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[<isindex>-kwargs6-]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[<isindex>-kwargs6-]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[Yeah
>  right <sarcasm/>-kwargs7-Yeah right ]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[Yeah
>  right <sarcasm/>-kwargs7-Yeah right ]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[Yeah
>  right <sarcasm/>-kwargs7-Yeah right ]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[<sarcasm>-kwargs8-]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[<sarcasm>-kwargs8-]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[<sarcasm>-kwargs8-]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[</sarcasm>-kwargs9-]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[</sarcasm>-kwargs9-]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[</sarcasm>-kwargs9-]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[</
>  sarcasm>-kwargs10-&lt;/ sarcasm&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[</
>  sarcasm>-kwargs10-&lt;/ sarcasm&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[</
>  sarcasm>-kwargs10-&lt;/ sarcasm&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[</
>  sarcasm >-kwargs11-&lt;/ sarcasm &gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[</
>  sarcasm >-kwargs11-&lt;/ sarcasm &gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[</
>  sarcasm >-kwargs11-&lt;/ sarcasm &gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[Foo
>  <b...@example.com>-kwargs12-Foo ]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[Foo
>  <b...@example.com>-kwargs12-Foo ]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[Foo
>  <b...@example.com>-kwargs12-Foo ]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[Favorite
>  movie: <name of movie>-kwargs13-Favorite movie: ]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[Favorite
>  movie: <name of movie>-kwargs13-Favorite movie: ]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[Favorite
>  movie: <name of movie>-kwargs13-Favorite movie: ]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[</3-kwargs14-&lt;/3]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[</3-kwargs14-&lt;/3]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags[</3-kwargs14-&lt;/3]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_escaping_tags[<img
>  src="javascript:alert('XSS');">-&lt;img src="javascript:alert('XSS');"&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_escaping_tags[<img
>  src="javascript:alert('XSS');">-&lt;img src="javascript:alert('XSS');"&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_escaping_tags[<img
>  src="javascript:alert('XSS');">-&lt;img src="javascript:alert('XSS');"&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_escaping_tags[<script>safe()</script>-&lt;script&gt;safe()&lt;/script&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_escaping_tags[<script>safe()</script>-&lt;script&gt;safe()&lt;/script&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_escaping_tags[<script>safe()</script>-&lt;script&gt;safe()&lt;/script&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_escaping_tags[<style>body{}</style>-&lt;style&gt;body{}&lt;/style&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_escaping_tags[<style>body{}</style>-&lt;style&gt;body{}&lt;/style&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_escaping_tags[<style>body{}</style>-&lt;style&gt;body{}&lt;/style&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_escaping_tags[<ul><li><script></li></ul>-<ul><li>&lt;script&gt;</li></ul>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_escaping_tags[<ul><li><script></li></ul>-<ul><li>&lt;script&gt;</li></ul>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_escaping_tags[<ul><li><script></li></ul>-<ul><li>&lt;script&gt;</li></ul>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_escaping_tags[<isindex>-&lt;isindex&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_escaping_tags[<isindex>-&lt;isindex&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_escaping_tags[<isindex>-&lt;isindex&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_escaping_tags[<sarcasm/>-&lt;sarcasm/&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_escaping_tags[<sarcasm/>-&lt;sarcasm/&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_escaping_tags[<sarcasm/>-&lt;sarcasm/&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_escaping_tags[<sarcasm>-&lt;sarcasm&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_escaping_tags[<sarcasm>-&lt;sarcasm&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_escaping_tags[<sarcasm>-&lt;sarcasm&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_escaping_tags[</sarcasm>-&lt;/sarcasm&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_escaping_tags[</sarcasm>-&lt;/sarcasm&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_escaping_tags[</sarcasm>-&lt;/sarcasm&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_escaping_tags[</ 
> sarcasm>-&lt;/ sarcasm&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_escaping_tags[</ 
> sarcasm>-&lt;/ sarcasm&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_escaping_tags[</ 
> sarcasm>-&lt;/ sarcasm&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_escaping_tags[</ 
> sarcasm >-&lt;/ sarcasm &gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_escaping_tags[</ 
> sarcasm >-&lt;/ sarcasm &gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_escaping_tags[</ 
> sarcasm >-&lt;/ sarcasm &gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_escaping_tags[</3-&lt;/3]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_escaping_tags[</3-&lt;/3]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_escaping_tags[</3-&lt;/3]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_escaping_tags[<b...@example.com>-&lt;b...@example.com&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_escaping_tags[<b...@example.com>-&lt;b...@example.com&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_escaping_tags[<b...@example.com>-&lt;b...@example.com&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_escaping_tags[Favorite
>  movie: <name of movie>-Favorite movie: &lt;name of movie&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_escaping_tags[Favorite
>  movie: <name of movie>-Favorite movie: &lt;name of movie&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_escaping_tags[Favorite
>  movie: <name of movie>-Favorite movie: &lt;name of movie&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags_is_safe[<scri<script>pt>alert(1)</scr</script>ipt>-pt&gt;alert(1)ipt&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_stripping_tags_is_safe[<scri<scri<script>pt>pt>alert(1)</script>-pt&gt;pt&gt;alert(1)]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_allowed_styles
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_allowed_styles
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_allowed_styles
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_href_with_wrong_tag
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_disallowed_attr
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_disallowed_attr
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_disallowed_attr
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_unquoted_attr_values_are_quoted
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_unquoted_event_handler_attr_value
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_invalid_filter_attr
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_invalid_filter_attr
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_poster_attribute
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_poster_attribute
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_attributes_callable
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_attributes_wildcard
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_attributes_wildcard_callable
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_attributes_tag_callable
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_attributes_tag_callable
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_attributes_tag_list
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_attributes_list
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_uri_value_allowed_protocols[<a
>  href="javascript:alert('XSS')">xss</a>-kwargs0-<a>xss</a>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_uri_value_allowed_protocols[<a
>  href="file:///tmp/foo">foo</a>-kwargs1-<a>foo</a>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_uri_value_allowed_protocols[<a
>  href="myprotocol://more_text">allowed href</a>-kwargs2-<a 
> href="myprotocol://more_text">allowed href</a>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_uri_value_allowed_protocols[<a
>  href="http://example.com";>invalid href</a>-kwargs3-<a>invalid href</a>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_uri_value_allowed_protocols[<a
>  href="#example.com">foo</a>-kwargs4-<a href="#example.com">foo</a>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_uri_value_allowed_protocols[<a
>  href="example.com">valid</a>-kwargs5-<a href="example.com">valid</a>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_uri_value_allowed_protocols[<a
>  href="example.com:8000">valid</a>-kwargs6-<a 
> href="example.com:8000">valid</a>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_uri_value_allowed_protocols[<a
>  href="localhost">valid</a>-kwargs7-<a href="localhost">valid</a>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_uri_value_allowed_protocols[<a
>  href="localhost:8000">valid</a>-kwargs8-<a href="localhost:8000">valid</a>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_uri_value_allowed_protocols[<a
>  href="192.168.100.100">valid</a>-kwargs9-<a href="192.168.100.100">valid</a>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_uri_value_allowed_protocols[<a
>  href="192.168.100.100:8000">valid</a>-kwargs10-<a 
> href="192.168.100.100:8000">valid</a>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_uri_value_allowed_protocols[<a
>  href="example.com">foo</a>-kwargs11-<a>foo</a>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_uri_value_allowed_protocols[<a
>  href="example.com:8000">foo</a>-kwargs12-<a>foo</a>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_uri_value_allowed_protocols[<a
>  href="localhost">foo</a>-kwargs13-<a>foo</a>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_uri_value_allowed_protocols[<a
>  href="localhost:8000">foo</a>-kwargs14-<a>foo</a>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_uri_value_allowed_protocols[<a
>  href="192.168.100.100">foo</a>-kwargs15-<a>foo</a>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_uri_value_allowed_protocols[<a
>  href="192.168.100.100:8000">foo</a>-kwargs16-<a>foo</a>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_uri_value_allowed_protocols[<a
>  href="javas&#x09;cript:alert(1)">alert</a>-kwargs17-<a>alert</a>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_uri_value_allowed_protocols[<a
>  href="&#14;javascript:alert(1)">alert</a>-kwargs18-<a>alert</a>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_uri_value_allowed_protocols[<a
>  href="http://example.com/?foo&nbsp;bar";>foo</a>-kwargs19-<a 
> href="http://example.com/?foo&nbsp;bar";>foo</a>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_svg_attr_val_allows_ref
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_svg_attr_val_allows_ref
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_svg_allow_local_href[<svg><pattern
>  id="patt1" href="#patt2"></pattern></svg>-<svg><pattern href="#patt2" 
> id="patt1"></pattern></svg>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_svg_allow_local_href[<svg><pattern
>  id="patt1" xlink:href="#patt2"></pattern></svg>-<svg><pattern id="patt1" 
> href="#patt2"></pattern></svg>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_svg_allow_local_href_nonlocal[<svg><pattern
>  id="patt1" href="https://example.com/patt";></pattern></svg>-<svg><pattern 
> id="patt1"></pattern></svg>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_svg_allow_local_href_nonlocal[<svg><pattern
>  id="patt1" 
> xlink:href="https://example.com/patt";></pattern></svg>-<svg><pattern 
> id="patt1"></pattern></svg>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_invisible_characters[1\x0723-1?23]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_invisible_characters[1\x0823-1?23]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_invisible_characters[1\x0b23-1?23]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_invisible_characters[1\x0c23-1?23]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_invisible_characters[import
>  y\x08ose\x08m\x08i\x08t\x08e\x08-import y?ose?m?i?t?e?]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_nonexistent_namespace
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_noscript_rawtag_[title-<noscript><title></noscript><img
>  src=x onerror=alert(1) />-<noscript>&lt;title&gt;</noscript>&lt;img src=x 
> onerror=alert(1) /&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_noscript_rawtag_[textarea-<noscript><textarea></noscript><img
>  src=x onerror=alert(1) />-<noscript>&lt;textarea&gt;</noscript>&lt;img src=x 
> onerror=alert(1) /&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_noscript_rawtag_[script-<noscript><script></noscript><img
>  src=x onerror=alert(1) />-<noscript>&lt;script&gt;</noscript>&lt;img src=x 
> onerror=alert(1) /&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_noscript_rawtag_[style-<noscript><style></noscript><img
>  src=x onerror=alert(1) />-<noscript>&lt;style&gt;</noscript>&lt;img src=x 
> onerror=alert(1) /&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_noscript_rawtag_[noembed-<noscript><noembed></noscript><img
>  src=x onerror=alert(1) />-<noscript>&lt;noembed&gt;</noscript>&lt;img src=x 
> onerror=alert(1) /&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_noscript_rawtag_[noframes-<noscript><noframes></noscript><img
>  src=x onerror=alert(1) />-<noscript>&lt;noframes&gt;</noscript>&lt;img src=x 
> onerror=alert(1) /&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_noscript_rawtag_[iframe-<noscript><iframe></noscript><img
>  src=x onerror=alert(1) />-<noscript>&lt;iframe&gt;</noscript>&lt;img src=x 
> onerror=alert(1) /&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_noscript_rawtag_[xmp-<noscript><xmp></noscript><img
>  src=x onerror=alert(1) />-<noscript>&lt;xmp&gt;</noscript>&lt;img src=x 
> onerror=alert(1) /&gt;]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_namespace_rc_data_element_strip_false[math-iframe-<math><iframe><img
>  src=x onerror=alert(1)>-<math><iframe>&lt;img src=x 
> onerror=alert(1)&gt;</iframe></math>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_namespace_rc_data_element_strip_false[math-script-<math><script><img
>  src=x onerror=alert(1)>-<math><script>&lt;img src=x 
> onerror=alert(1)&gt;</script></math>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_namespace_rc_data_element_strip_false[math-noembed-<math><noembed><img
>  src=x onerror=alert(1)>-<math><noembed>&lt;img src=x 
> onerror=alert(1)&gt;</noembed></math>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_namespace_rc_data_element_strip_false[math-style-<math><style><img
>  src=x onerror=alert(1)>-<math><style>&lt;img src=x 
> onerror=alert(1)&gt;</style></math>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_namespace_rc_data_element_strip_false[math-noframes-<math><noframes><img
>  src=x onerror=alert(1)>-<math><noframes>&lt;img src=x 
> onerror=alert(1)&gt;</noframes></math>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_namespace_rc_data_element_strip_false[math-noscript-<math><noscript><img
>  src=x onerror=alert(1)>-<math><noscript>&lt;img src=x 
> onerror=alert(1)&gt;</noscript></math>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_namespace_rc_data_element_strip_false[math-xmp-<math><xmp><img
>  src=x onerror=alert(1)>-<math><xmp>&lt;img src=x 
> onerror=alert(1)&gt;</xmp></math>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_namespace_rc_data_element_strip_false[svg-iframe-<svg><iframe><img
>  src=x onerror=alert(1)>-<svg><iframe>&lt;img src=x 
> onerror=alert(1)&gt;</iframe></svg>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_namespace_rc_data_element_strip_false[svg-script-<svg><script><img
>  src=x onerror=alert(1)>-<svg><script>&lt;img src=x 
> onerror=alert(1)&gt;</script></svg>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_namespace_rc_data_element_strip_false[svg-noembed-<svg><noembed><img
>  src=x onerror=alert(1)>-<svg><noembed>&lt;img src=x 
> onerror=alert(1)&gt;</noembed></svg>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_namespace_rc_data_element_strip_false[svg-style-<svg><style><img
>  src=x onerror=alert(1)>-<svg><style>&lt;img src=x 
> onerror=alert(1)&gt;</style></svg>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_namespace_rc_data_element_strip_false[svg-noframes-<svg><noframes><img
>  src=x onerror=alert(1)>-<svg><noframes>&lt;img src=x 
> onerror=alert(1)&gt;</noframes></svg>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_namespace_rc_data_element_strip_false[svg-noscript-<svg><noscript><img
>  src=x onerror=alert(1)>-<svg><noscript>&lt;img src=x 
> onerror=alert(1)&gt;</noscript></svg>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_namespace_rc_data_element_strip_false[svg-xmp-<svg><xmp><img
>  src=x onerror=alert(1)>-<svg><xmp>&lt;img src=x 
> onerror=alert(1)&gt;</xmp></svg>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_regressions[1.test]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_regressions[2.test]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_regressions[3.test]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_regressions[4.test]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_regressions[5.test]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_regressions[6.test]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_regressions[7.test]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_regressions[8.test]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_regressions[9.test]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_regressions[10.test]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_regressions[11.test]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_regressions[12.test]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_regressions[13.test]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_regressions[14.test]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_regressions[15.test]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_regressions[16.test]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_regressions[17.test]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_regressions[18.test]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_regressions[19.test]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::test_regressions[20.test]
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::TestCleaner::test_basics
> .pybuild/cpython3_3.8_bleach/build/tests/test_clean.py::TestCleaner::test_filters
> .pybuild/cpython3_3.8_bleach/build/tests/test_css.py::test_allowed_css[<p 
> style="font-family: Arial; color: red; float: left; background-color: 
> red;">bar</p>-styles0-<p style="color: red;">bar</p>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_css.py::test_allowed_css[<p 
> style="border: 1px solid blue; color: red; float: left;">bar</p>-styles1-<p 
> style="color: red;">bar</p>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_css.py::test_allowed_css[<p 
> style="border: 1px solid blue; color: red; float: left;">bar</p>-styles2-<p 
> style="color: red; float: left;">bar</p>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_css.py::test_allowed_css[<p 
> style="color: red; float: left; padding: 1em;">bar</p>-styles3-<p 
> style="color: red; float: left;">bar</p>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_css.py::test_allowed_css[<p 
> style="color: red; float: left; padding: 1em;">bar</p>-styles4-<p 
> style="color: red;">bar</p>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_css.py::test_allowed_css[<p 
> style="cursor: -moz-grab;">bar</p>-styles5-<p style="cursor: 
> -moz-grab;">bar</p>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_css.py::test_allowed_css[<p 
> style="color: hsl(30,100%,50%);">bar</p>-styles6-<p style="color: 
> hsl(30,100%,50%);">bar</p>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_css.py::test_allowed_css[<p 
> style="color: rgba(255,0,0,0.4);">bar</p>-styles7-<p style="color: 
> rgba(255,0,0,0.4);">bar</p>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_css.py::test_allowed_css[<p 
> style="text-overflow: ',' ellipsis;">bar</p>-styles8-<p style="text-overflow: 
> ',' ellipsis;">bar</p>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_css.py::test_allowed_css[<p 
> style='text-overflow: "," ellipsis;'>bar</p>-styles9-<p style='text-overflow: 
> "," ellipsis;'>bar</p>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_css.py::test_allowed_css[<p 
> style='font-family: "Arial";'>bar</p>-styles10-<p style='font-family: 
> "Arial";'>bar</p>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_css.py::test_allowed_css[<p 
> style="font-family: \u30e1\u30a4\u30ea\u30aa; color: 
> blue;">bar</p>-styles11-<p style="color: blue;">bar</p>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_css.py::test_valid_css
> .pybuild/cpython3_3.8_bleach/build/tests/test_css.py::test_valid_css
> .pybuild/cpython3_3.8_bleach/build/tests/test_css.py::test_urls[<p 
> style="background: #00D;">foo</p>-<p style="background: #00D;">foo</p>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_css.py::test_urls[<p 
> style="background: url(topbanner.png) #00D;">foo</p>-<p style="background: 
> #00D;">foo</p>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_css.py::test_urls[<p 
> style="background: url('topbanner.png') #00D;">foo</p>-<p style="background: 
> #00D;">foo</p>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_css.py::test_urls[<p 
> style='background: url("topbanner.png") #00D;'>foo</p>-<p style="background: 
> #00D;">foo</p>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_css.py::test_urls[<p 
> style="background: url(  'topbanner.png') #00D;">foo</p>-<p 
> style="background: #00D;">foo</p>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_css.py::test_urls[<p 
> style="background: url('topbanner.png'  ) #00D;">foo</p>-<p 
> style="background: #00D;">foo</p>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_css.py::test_urls[<p 
> style="background: url(  'topbanner.png'  ) #00D;">foo</p>-<p 
> style="background: #00D;">foo</p>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_css.py::test_urls[<p 
> style="background: url (  'topbanner.png'  ) #00D;">foo</p>-<p 
> style="background: #00D;">foo</p>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_css.py::test_urls[<p 
> style="background: url&#x09;('topbanner.png') #00D;">foo</p>-<p 
> style="background: #00D;">foo</p>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_css.py::test_style_hang
> .pybuild/cpython3_3.8_bleach/build/tests/test_css.py::test_css_parsing_with_entities[<p
>  style="font-family: Droid Sans, serif; white-space: 
> pre-wrap;">text</p>-styles0-<p style="font-family: Droid Sans, serif; 
> white-space: pre-wrap;">text</p>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_css.py::test_css_parsing_with_entities[<p
>  style="font-family: &quot;Droid Sans&quot;, serif; white-space: 
> pre-wrap;">text</p>-styles1-<p style='font-family: "Droid Sans", serif; 
> white-space: pre-wrap;'>text</p>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_css.py::test_css_parsing_gauntlet_regex_backtracking["]
> .pybuild/cpython3_3.8_bleach/build/tests/test_css.py::test_css_parsing_gauntlet_regex_backtracking[-]
> .pybuild/cpython3_3.8_bleach/build/tests/test_linkify.py::test_linkify_filter[abc-abc]
> .pybuild/cpython3_3.8_bleach/build/tests/test_linkify.py::test_linkify_filter[example.com-<a
>  href="http://example.com";>example.com</a>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_linkify.py::test_linkify_filter[http://example.com?b=1&c=2-<a
>  href="http://example.com?b=1&amp;c=2";>http://example.com?b=1&amp;c=2</a>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_linkify.py::test_linkify_filter[http://example.com?b=1&amp;c=2-<a
>  href="http://example.com?b=1&amp;c=2";>http://example.com?b=1&amp;c=2</a>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_linkify.py::test_linkify_filter[link:
>  https://example.com/watch#anchor-link: <a 
> href="https://example.com/watch#anchor";>https://example.com/watch#anchor</a>]
> .pybuild/cpython3_3.8_bleach/build/tests/test_unicode.py::test_japanese_safe_simple
> .pybuild/cpython3_3.8_bleach/build/tests/test_unicode.py::test_japanese_strip
> .pybuild/cpython3_3.8_bleach/build/tests/test_unicode.py::test_japanese_strip
> .pybuild/cpython3_3.8_bleach/build/tests/test_unicode.py::test_russian_simple
> .pybuild/cpython3_3.8_bleach/build/tests/test_unicode.py::test_mixed
>   /usr/lib/python3/dist-packages/html5lib/filters/sanitizer.py:771: 
> DeprecationWarning: html5lib's sanitizer is deprecated; see 
> https://github.com/html5lib/html5lib-python/issues/443 and please let us know 
> if Bleach is unsuitable for your needs
>     warnings.warn(_deprecation_msg, DeprecationWarning)
> 
> -- Docs: https://docs.pytest.org/en/latest/warnings.html
> ======== 3 failed, 332 passed, 3 xfailed, 278 warnings in 1.10 seconds 
> =========
> E: pybuild pybuild:352: test: plugin distutils failed with: exit code=1: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_bleach/build; python3.8 -m pytest tests
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.8 
> returned exit code 13

The full build log is available from:
   http://qa-logs.debian.net/2020/08/02/python-bleach_3.1.5-2_unstable.log

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

About the archive rebuild: The rebuild was done on EC2 VM instances from
Amazon Web Services, using a clean, minimal and up-to-date chroot. Every
failed build was retried once to eliminate random failures.

--- End Message ---
--- Begin Message ---
Source: python-bleach
Source-Version: 3.2.1-1
Done: Sandro Tosi <mo...@debian.org>

We believe that the bug you reported is fixed in the latest version of
python-bleach, 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 966...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Sandro Tosi <mo...@debian.org> (supplier of updated python-bleach 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 ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Thu, 24 Sep 2020 22:31:21 -0400
Source: python-bleach
Architecture: source
Version: 3.2.1-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Python Team <team+pyt...@tracker.debian.org>
Changed-By: Sandro Tosi <mo...@debian.org>
Closes: 966985
Changes:
 python-bleach (3.2.1-1) unstable; urgency=medium
 .
   [ Ondřej Nový ]
   * d/control: Update Maintainer field with new Debian Python Team
     contact address.
   * d/control: Update Vcs-* fields with new Debian Python Team Salsa
     layout.
 .
   [ Sandro Tosi ]
   * New upstream release; Closes: #966985
   * debian/patches/0002-no_vendored_html5lib.patch
     - refresh patch
Checksums-Sha1:
 bd54f352833c9d5aaf78d523e504098732788b99 2522 python-bleach_3.2.1-1.dsc
 fc056a9213a115e3fd4a2a11761f5b3635cfec9b 133956 python-bleach_3.2.1.orig.tar.xz
 73a1d408009441ef499622af8bac294b6536d83c 5852 
python-bleach_3.2.1-1.debian.tar.xz
 d05137a40b217de74c440e31b3cbbfe7014be904 7676 
python-bleach_3.2.1-1_source.buildinfo
Checksums-Sha256:
 cacf3b612de5269879edcba877bb83cc623c74cec5035358ff9c1ae47424b502 2522 
python-bleach_3.2.1-1.dsc
 f07538cb478861b17a7e74eadb9fc7c32e3a27f8a464534ff279d38481d03954 133956 
python-bleach_3.2.1.orig.tar.xz
 566043c84667c920c92202ba662b16e74f7b902c200f4aa2d92f019dca26020a 5852 
python-bleach_3.2.1-1.debian.tar.xz
 f1ade2dd3084dcd20dc32259a63fddf617f3739497b637f62e180b56f0cbc856 7676 
python-bleach_3.2.1-1_source.buildinfo
Files:
 c9690228c96de55a1b0ea55c24c779e0 2522 python optional python-bleach_3.2.1-1.dsc
 604d8711dff3107c14cc1352e7c05690 133956 python optional 
python-bleach_3.2.1.orig.tar.xz
 81ac43de925f79d1c2a50d77b7b62a62 5852 python optional 
python-bleach_3.2.1-1.debian.tar.xz
 92b1c3d188c1fd61a4a1f50d9e17122b 7676 python optional 
python-bleach_3.2.1-1_source.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEufrTGSrz5KUwnZ05h588mTgBqU8FAl9tVowACgkQh588mTgB
qU8Rnw/6Aw4QPt5xV1MhOko89WmkszahKDqAREe2PLH2dXa9kFiikUvXgX5FMET0
wzS6/gTHXc9JStWI6SFmCBWxsr+UcAMcBzHDmdDF1IUrtDAxb3Ty42xf6Il4dEC/
XE4yYQGzEgmSklPMF5WJOzRL/OARKC0Fx9jfG2jG0vXOw8LnS9uMKOWsY4BX3CK8
39sPEXGnmNmU+WYSa52HjW4KXcZyJ1l1CxN8ff8YcM0p8V2S49hb2EOpLwMJiuOi
MpBsZTVz9CHEu68gbldHLKte5gZE2sjNo5hDUyjZyczBugaEhHxNfwQCYJRNXQBq
wg/go2pO8UhV8MxvOpk3fMZIWOkYCY51NuqxStXtozoCxs/w3Wbm6dTyxwJSyi3M
cbsDaYnHNGhTYJXlq4vgfkgS5ZCRV3aPAInlN+wdOoKIgZELhcZ2m+NjTnkDHLja
1lSAOng7QYbJym3ofOMYfSB0hWO5sRxqOLDOJbjuuxzc/3dEb9eROlP4IkWGamqn
9ohGXQmfetfEqM+mfsEVBTuy/cBAZAQMFsHdEFq6nrNiPHpkjGKwJpuFg7kaI6T/
7A6ZlcBgV8gKLvyhgvBJGMyfv8Hn3NR/iPoeJldt6mj79X1riO08zDcN3Z4EAbe3
UCx6WDpKLNKLTaBUs9Ck3qCSRFqX6Em5DD71mfOqUYgvUn+laDg=
=aarV
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to