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.

Reply via email to