0s autopkgtest [09:01:29]: starting date and time: 2024-11-13 09:01:29+0000 1s autopkgtest [09:01:30]: git checkout: 6f3be7a8 Fix armhf LXD image generation for plucky 1s autopkgtest [09:01:30]: host juju-7f2275-prod-proposed-migration-environment-20; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.5kyscff5/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:python3-defaults,src:python3-stdlib-extensions --apt-upgrade mwparserfromhell --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 '--env=ADT_TEST_TRIGGERS=python3-defaults/3.12.7-1 python3-stdlib-extensions/3.12.7-1' -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-20@lcy02-49.secgroup --name adt-plucky-amd64-mwparserfromhell-20241113-090129-juju-7f2275-prod-proposed-migration-environment-20-2a3868e0-4b1f-418d-b889-5af2c0954bcb --image adt/ubuntu-plucky-amd64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-20 --net-id=net_prod-proposed-migration -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 490s autopkgtest [09:09:39]: testbed dpkg architecture: amd64 490s autopkgtest [09:09:39]: testbed apt version: 2.9.8 490s autopkgtest [09:09:39]: @@@@@@@@@@@@@@@@@@@@ test bed setup 490s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 490s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [76.4 kB] 490s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 490s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.3 kB] 490s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [849 kB] 490s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 Packages [111 kB] 490s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main i386 Packages [65.2 kB] 490s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/restricted amd64 Packages [32.6 kB] 490s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/universe amd64 Packages [637 kB] 490s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/universe i386 Packages [255 kB] 490s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse amd64 Packages [37.7 kB] 490s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse i386 Packages [13.0 kB] 491s Fetched 2173 kB in 0s (7096 kB/s) 491s Reading package lists... 492s Reading package lists... 492s Building dependency tree... 492s Reading state information... 493s Calculating upgrade... 493s The following NEW packages will be installed: 493s python3.13-gdbm 493s The following packages will be upgraded: 493s libgpgme11t64 libpython3-stdlib python3 python3-gdbm python3-minimal 493s 5 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 493s Need to get 253 kB of archives. 493s After this operation, 147 kB of additional disk space will be used. 493s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 python3-minimal amd64 3.12.7-1 [27.4 kB] 493s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 python3 amd64 3.12.7-1 [24.0 kB] 493s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 libpython3-stdlib amd64 3.12.7-1 [10.0 kB] 493s Get:4 http://ftpmaster.internal/ubuntu plucky/main amd64 python3.13-gdbm amd64 3.13.0-2 [31.3 kB] 493s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 python3-gdbm amd64 3.12.7-1 [8642 B] 493s Get:6 http://ftpmaster.internal/ubuntu plucky/main amd64 libgpgme11t64 amd64 1.23.2-5ubuntu4 [152 kB] 494s Fetched 253 kB in 0s (3787 kB/s) 494s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 75541 files and directories currently installed.) 494s Preparing to unpack .../python3-minimal_3.12.7-1_amd64.deb ... 494s Unpacking python3-minimal (3.12.7-1) over (3.12.6-0ubuntu1) ... 494s Setting up python3-minimal (3.12.7-1) ... 494s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 75541 files and directories currently installed.) 494s Preparing to unpack .../python3_3.12.7-1_amd64.deb ... 494s Unpacking python3 (3.12.7-1) over (3.12.6-0ubuntu1) ... 494s Preparing to unpack .../libpython3-stdlib_3.12.7-1_amd64.deb ... 494s Unpacking libpython3-stdlib:amd64 (3.12.7-1) over (3.12.6-0ubuntu1) ... 494s Selecting previously unselected package python3.13-gdbm. 494s Preparing to unpack .../python3.13-gdbm_3.13.0-2_amd64.deb ... 494s Unpacking python3.13-gdbm (3.13.0-2) ... 494s Preparing to unpack .../python3-gdbm_3.12.7-1_amd64.deb ... 494s Unpacking python3-gdbm:amd64 (3.12.7-1) over (3.12.6-1ubuntu1) ... 494s Preparing to unpack .../libgpgme11t64_1.23.2-5ubuntu4_amd64.deb ... 494s Unpacking libgpgme11t64:amd64 (1.23.2-5ubuntu4) over (1.18.0-4.1ubuntu4) ... 495s Setting up libgpgme11t64:amd64 (1.23.2-5ubuntu4) ... 495s Setting up python3.13-gdbm (3.13.0-2) ... 495s Setting up libpython3-stdlib:amd64 (3.12.7-1) ... 495s Setting up python3 (3.12.7-1) ... 495s Setting up python3-gdbm:amd64 (3.12.7-1) ... 495s Processing triggers for man-db (2.12.1-3) ... 495s Processing triggers for libc-bin (2.40-1ubuntu3) ... 496s Reading package lists... 496s Building dependency tree... 496s Reading state information... 496s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 496s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 496s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 496s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 496s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 497s Reading package lists... 498s Reading package lists... 498s Building dependency tree... 498s Reading state information... 498s Calculating upgrade... 498s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 498s Reading package lists... 499s Building dependency tree... 499s Reading state information... 499s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 500s autopkgtest [09:09:49]: testbed running kernel: Linux 6.11.0-8-generic #8-Ubuntu SMP PREEMPT_DYNAMIC Mon Sep 16 13:41:20 UTC 2024 500s autopkgtest [09:09:49]: @@@@@@@@@@@@@@@@@@@@ apt-source mwparserfromhell 500s Get:1 http://ftpmaster.internal/ubuntu plucky/universe mwparserfromhell 0.6.6-1 (dsc) [2100 B] 500s Get:2 http://ftpmaster.internal/ubuntu plucky/universe mwparserfromhell 0.6.6-1 (tar) [155 kB] 500s Get:3 http://ftpmaster.internal/ubuntu plucky/universe mwparserfromhell 0.6.6-1 (diff) [3008 B] 500s gpgv: Signature made Sun Mar 24 01:00:12 2024 UTC 500s gpgv: using RSA key D8CB59F05DBB9E0538C4819DF105F8101B05269B 500s gpgv: issuer "legoktm@riseup.net" 500s gpgv: Can't check signature: No public key 500s dpkg-source: warning: cannot verify inline signature for ./mwparserfromhell_0.6.6-1.dsc: no acceptable signature found 500s autopkgtest [09:09:49]: testing package mwparserfromhell version 0.6.6-1 500s autopkgtest [09:09:49]: build not needed 501s autopkgtest [09:09:50]: test unittest: preparing testbed 501s Reading package lists... 501s Building dependency tree... 501s Reading state information... 502s Starting pkgProblemResolver with broken count: 0 502s Starting 2 pkgProblemResolver with broken count: 0 502s Done 502s The following additional packages will be installed: 502s libpython3.13-minimal libpython3.13-stdlib python3-all python3-iniconfig 502s python3-mwparserfromhell python3-packaging python3-pluggy python3-pytest 502s python3.13 python3.13-minimal 502s Suggested packages: 502s python3.13-venv python3.13-doc binfmt-support 502s The following NEW packages will be installed: 502s autopkgtest-satdep libpython3.13-minimal libpython3.13-stdlib python3-all 502s python3-iniconfig python3-mwparserfromhell python3-packaging python3-pluggy 502s python3-pytest python3.13 python3.13-minimal 503s 0 upgraded, 11 newly installed, 0 to remove and 0 not upgraded. 503s Need to get 6280 kB/6280 kB of archives. 503s After this operation, 24.3 MB of additional disk space will be used. 503s Get:1 /tmp/autopkgtest.WeJmGb/1-autopkgtest-satdep.deb autopkgtest-satdep amd64 0 [728 B] 503s Get:2 http://ftpmaster.internal/ubuntu plucky/main amd64 libpython3.13-minimal amd64 3.13.0-2 [879 kB] 503s Get:3 http://ftpmaster.internal/ubuntu plucky/main amd64 python3.13-minimal amd64 3.13.0-2 [2188 kB] 503s Get:4 http://ftpmaster.internal/ubuntu plucky/main amd64 libpython3.13-stdlib amd64 3.13.0-2 [2107 kB] 503s Get:5 http://ftpmaster.internal/ubuntu plucky/main amd64 python3.13 amd64 3.13.0-2 [719 kB] 503s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 python3-all amd64 3.12.7-1 [890 B] 503s Get:7 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-iniconfig all 1.1.1-2 [6024 B] 503s Get:8 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-mwparserfromhell amd64 0.6.6-1 [66.1 kB] 503s Get:9 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-packaging all 24.1-1 [41.4 kB] 503s Get:10 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-pluggy all 1.5.0-1 [21.0 kB] 503s Get:11 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-pytest all 8.3.3-1 [251 kB] 503s Fetched 6280 kB in 0s (14.7 MB/s) 503s Selecting previously unselected package libpython3.13-minimal:amd64. 503s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 75548 files and directories currently installed.) 503s Preparing to unpack .../00-libpython3.13-minimal_3.13.0-2_amd64.deb ... 503s Unpacking libpython3.13-minimal:amd64 (3.13.0-2) ... 503s Selecting previously unselected package python3.13-minimal. 503s Preparing to unpack .../01-python3.13-minimal_3.13.0-2_amd64.deb ... 503s Unpacking python3.13-minimal (3.13.0-2) ... 504s Selecting previously unselected package libpython3.13-stdlib:amd64. 504s Preparing to unpack .../02-libpython3.13-stdlib_3.13.0-2_amd64.deb ... 504s Unpacking libpython3.13-stdlib:amd64 (3.13.0-2) ... 504s Selecting previously unselected package python3.13. 504s Preparing to unpack .../03-python3.13_3.13.0-2_amd64.deb ... 504s Unpacking python3.13 (3.13.0-2) ... 504s Selecting previously unselected package python3-all. 504s Preparing to unpack .../04-python3-all_3.12.7-1_amd64.deb ... 504s Unpacking python3-all (3.12.7-1) ... 504s Selecting previously unselected package python3-iniconfig. 504s Preparing to unpack .../05-python3-iniconfig_1.1.1-2_all.deb ... 504s Unpacking python3-iniconfig (1.1.1-2) ... 504s Selecting previously unselected package python3-mwparserfromhell. 504s Preparing to unpack .../06-python3-mwparserfromhell_0.6.6-1_amd64.deb ... 504s Unpacking python3-mwparserfromhell (0.6.6-1) ... 504s Selecting previously unselected package python3-packaging. 504s Preparing to unpack .../07-python3-packaging_24.1-1_all.deb ... 504s Unpacking python3-packaging (24.1-1) ... 504s Selecting previously unselected package python3-pluggy. 504s Preparing to unpack .../08-python3-pluggy_1.5.0-1_all.deb ... 504s Unpacking python3-pluggy (1.5.0-1) ... 504s Selecting previously unselected package python3-pytest. 504s Preparing to unpack .../09-python3-pytest_8.3.3-1_all.deb ... 504s Unpacking python3-pytest (8.3.3-1) ... 504s Selecting previously unselected package autopkgtest-satdep. 504s Preparing to unpack .../10-1-autopkgtest-satdep.deb ... 504s Unpacking autopkgtest-satdep (0) ... 504s Setting up python3-iniconfig (1.1.1-2) ... 504s Setting up python3-mwparserfromhell (0.6.6-1) ... 504s Setting up libpython3.13-minimal:amd64 (3.13.0-2) ... 504s Setting up python3-packaging (24.1-1) ... 505s Setting up python3-pluggy (1.5.0-1) ... 505s Setting up python3.13-minimal (3.13.0-2) ... 506s Setting up libpython3.13-stdlib:amd64 (3.13.0-2) ... 506s Setting up python3.13 (3.13.0-2) ... 507s Setting up python3-pytest (8.3.3-1) ... 507s Setting up python3-all (3.12.7-1) ... 507s Setting up autopkgtest-satdep (0) ... 507s Processing triggers for man-db (2.12.1-3) ... 508s Processing triggers for systemd (256.5-2ubuntu4) ... 510s (Reading database ... 76489 files and directories currently installed.) 510s Removing autopkgtest-satdep (0) ... 510s autopkgtest [09:09:59]: test unittest: [----------------------- 511s ============================= test session starts ============================== 511s platform linux -- Python 3.13.0, pytest-8.3.3, pluggy-1.5.0 -- /usr/bin/python3.13 511s cachedir: .pytest_cache 511s rootdir: /tmp/autopkgtest.WeJmGb/build.eBc/src 511s plugins: typeguard-4.4.1 512s collecting ... collected 1432 items 512s 512s tests/test_argument.py::test_str PASSED [ 0%] 512s tests/test_argument.py::test_children PASSED [ 0%] 512s tests/test_argument.py::test_strip PASSED [ 0%] 512s tests/test_argument.py::test_showtree PASSED [ 0%] 512s tests/test_argument.py::test_name PASSED [ 0%] 512s tests/test_argument.py::test_default PASSED [ 0%] 512s tests/test_attribute.py::test_str PASSED [ 0%] 512s tests/test_attribute.py::test_name PASSED [ 0%] 512s tests/test_attribute.py::test_value PASSED [ 0%] 512s tests/test_attribute.py::test_quotes PASSED [ 0%] 512s tests/test_attribute.py::test_padding PASSED [ 0%] 512s tests/test_builder.py::test_text[test0-valid0] PASSED [ 0%] 512s tests/test_builder.py::test_text[test1-valid1] PASSED [ 0%] 512s tests/test_builder.py::test_text[test2-valid2] PASSED [ 0%] 512s tests/test_builder.py::test_template[test0-valid0] PASSED [ 1%] 512s tests/test_builder.py::test_template[test1-valid1] PASSED [ 1%] 512s tests/test_builder.py::test_template[test2-valid2] PASSED [ 1%] 512s tests/test_builder.py::test_template[test3-valid3] PASSED [ 1%] 512s tests/test_builder.py::test_template[test4-valid4] PASSED [ 1%] 512s tests/test_builder.py::test_template[test5-valid5] PASSED [ 1%] 512s tests/test_builder.py::test_argument[test0-valid0] PASSED [ 1%] 512s tests/test_builder.py::test_argument[test1-valid1] PASSED [ 1%] 512s tests/test_builder.py::test_argument[test2-valid2] PASSED [ 1%] 512s tests/test_builder.py::test_argument[test3-valid3] PASSED [ 1%] 512s tests/test_builder.py::test_wikilink[test0-valid0] PASSED [ 1%] 512s tests/test_builder.py::test_wikilink[test1-valid1] PASSED [ 1%] 512s tests/test_builder.py::test_wikilink[test2-valid2] PASSED [ 1%] 512s tests/test_builder.py::test_wikilink[test3-valid3] PASSED [ 1%] 512s tests/test_builder.py::test_external_link[test0-valid0] PASSED [ 2%] 512s tests/test_builder.py::test_external_link[test1-valid1] PASSED [ 2%] 512s tests/test_builder.py::test_external_link[test2-valid2] PASSED [ 2%] 512s tests/test_builder.py::test_external_link[test3-valid3] PASSED [ 2%] 512s tests/test_builder.py::test_external_link[test4-valid4] PASSED [ 2%] 512s tests/test_builder.py::test_external_link[test5-valid5] PASSED [ 2%] 512s tests/test_builder.py::test_html_entity[test0-valid0] PASSED [ 2%] 512s tests/test_builder.py::test_html_entity[test1-valid1] PASSED [ 2%] 512s tests/test_builder.py::test_html_entity[test2-valid2] PASSED [ 2%] 512s tests/test_builder.py::test_heading[test0-valid0] PASSED [ 2%] 512s tests/test_builder.py::test_heading[test1-valid1] PASSED [ 2%] 512s tests/test_builder.py::test_comment[test0-valid0] PASSED [ 2%] 512s tests/test_builder.py::test_comment[test1-valid1] PASSED [ 2%] 512s tests/test_builder.py::test_tag[test0-valid0] PASSED [ 2%] 512s tests/test_builder.py::test_tag[test1-valid1] PASSED [ 3%] 512s tests/test_builder.py::test_tag[test2-valid2] PASSED [ 3%] 512s tests/test_builder.py::test_tag[test3-valid3] PASSED [ 3%] 512s tests/test_builder.py::test_tag[test4-valid4] PASSED [ 3%] 512s tests/test_builder.py::test_tag[test5-valid5] PASSED [ 3%] 512s tests/test_builder.py::test_tag[test6-valid6] PASSED [ 3%] 512s tests/test_builder.py::test_tag[test7-valid7] PASSED [ 3%] 512s tests/test_builder.py::test_tag[test8-valid8] PASSED [ 3%] 512s tests/test_builder.py::test_tag[test9-valid9] PASSED [ 3%] 512s tests/test_builder.py::test_integration PASSED [ 3%] 512s tests/test_builder.py::test_integration2 PASSED [ 3%] 512s tests/test_builder.py::test_parser_errors[tokens0] PASSED [ 3%] 512s tests/test_builder.py::test_parser_errors[tokens1] PASSED [ 3%] 512s tests/test_builder.py::test_parser_errors[tokens2] PASSED [ 3%] 512s tests/test_builder.py::test_parser_errors[tokens3] PASSED [ 3%] 512s tests/test_builder.py::test_parser_errors[tokens4] PASSED [ 4%] 512s tests/test_builder.py::test_parser_errors[tokens5] PASSED [ 4%] 512s tests/test_builder.py::test_parser_errors[tokens6] PASSED [ 4%] 512s tests/test_builder.py::test_parser_errors[tokens7] PASSED [ 4%] 512s tests/test_builder.py::test_parser_errors[tokens8] PASSED [ 4%] 512s tests/test_builder.py::test_parser_errors_templateclose PASSED [ 4%] 512s tests/test_comment.py::test_str PASSED [ 4%] 512s tests/test_comment.py::test_children PASSED [ 4%] 512s tests/test_comment.py::test_strip PASSED [ 4%] 512s tests/test_comment.py::test_showtree PASSED [ 4%] 512s tests/test_comment.py::test_contents PASSED [ 4%] 512s tests/test_docs.py::test_readme_1 PASSED [ 4%] 512s tests/test_docs.py::test_readme_2 PASSED [ 4%] 512s tests/test_docs.py::test_readme_3 PASSED [ 4%] 512s tests/test_docs.py::test_readme_4 PASSED [ 5%] 512s tests/test_docs.py::test_readme_5 SKIPPED (web test disabled by envi...) [ 5%] 512s tests/test_external_link.py::test_str PASSED [ 5%] 512s tests/test_external_link.py::test_children PASSED [ 5%] 512s tests/test_external_link.py::test_strip PASSED [ 5%] 512s tests/test_external_link.py::test_showtree PASSED [ 5%] 512s tests/test_external_link.py::test_url PASSED [ 5%] 512s tests/test_external_link.py::test_title PASSED [ 5%] 512s tests/test_external_link.py::test_brackets PASSED [ 5%] 512s tests/test_heading.py::test_str PASSED [ 5%] 512s tests/test_heading.py::test_children PASSED [ 5%] 512s tests/test_heading.py::test_strip PASSED [ 5%] 512s tests/test_heading.py::test_showtree PASSED [ 5%] 512s tests/test_heading.py::test_title PASSED [ 5%] 512s tests/test_heading.py::test_level PASSED [ 6%] 512s tests/test_html_entity.py::test_str PASSED [ 6%] 512s tests/test_html_entity.py::test_children PASSED [ 6%] 512s tests/test_html_entity.py::test_strip PASSED [ 6%] 512s tests/test_html_entity.py::test_showtree PASSED [ 6%] 512s tests/test_html_entity.py::test_value PASSED [ 6%] 512s tests/test_html_entity.py::test_named PASSED [ 6%] 512s tests/test_html_entity.py::test_hexadecimal PASSED [ 6%] 512s tests/test_html_entity.py::test_hex_char PASSED [ 6%] 512s tests/test_html_entity.py::test_normalize PASSED [ 6%] 512s tests/test_parameter.py::test_str PASSED [ 6%] 512s tests/test_parameter.py::test_name PASSED [ 6%] 512s tests/test_parameter.py::test_value PASSED [ 6%] 512s tests/test_parameter.py::test_showkey PASSED [ 6%] 512s tests/test_parser.py::test_use_c PASSED [ 6%] 512s tests/test_parser.py::test_parsing PASSED [ 7%] 512s tests/test_parser.py::test_skip_style_tags PASSED [ 7%] 512s tests/test_smart_list.py::test_docs PASSED [ 7%] 512s tests/test_smart_list.py::test_doctest PASSED [ 7%] 512s tests/test_smart_list.py::test_parent_get_set_del PASSED [ 7%] 512s tests/test_smart_list.py::test_parent_add PASSED [ 7%] 512s tests/test_smart_list.py::test_parent_other_magics PASSED [ 7%] 512s tests/test_smart_list.py::test_parent_methods PASSED [ 7%] 512s tests/test_smart_list.py::test_child_get_set_del PASSED [ 7%] 512s tests/test_smart_list.py::test_child_add PASSED [ 7%] 512s tests/test_smart_list.py::test_child_other_magics PASSED [ 7%] 512s tests/test_smart_list.py::test_child_methods PASSED [ 7%] 512s tests/test_smart_list.py::test_influence PASSED [ 7%] 512s tests/test_smart_list.py::test_pickling[0] PASSED [ 7%] 512s tests/test_smart_list.py::test_pickling[1] PASSED [ 8%] 512s tests/test_smart_list.py::test_pickling[2] PASSED [ 8%] 512s tests/test_smart_list.py::test_pickling[3] PASSED [ 8%] 512s tests/test_smart_list.py::test_pickling[4] PASSED [ 8%] 512s tests/test_smart_list.py::test_pickling[5] PASSED [ 8%] 512s tests/test_string_mixin.py::test_docs[capitalize] PASSED [ 8%] 512s tests/test_string_mixin.py::test_docs[casefold] PASSED [ 8%] 512s tests/test_string_mixin.py::test_docs[center] PASSED [ 8%] 512s tests/test_string_mixin.py::test_docs[count] PASSED [ 8%] 512s tests/test_string_mixin.py::test_docs[encode] PASSED [ 8%] 512s tests/test_string_mixin.py::test_docs[endswith] PASSED [ 8%] 512s tests/test_string_mixin.py::test_docs[expandtabs] PASSED [ 8%] 512s tests/test_string_mixin.py::test_docs[find] PASSED [ 8%] 512s tests/test_string_mixin.py::test_docs[format] PASSED [ 8%] 512s tests/test_string_mixin.py::test_docs[format_map] PASSED [ 9%] 512s tests/test_string_mixin.py::test_docs[index] PASSED [ 9%] 512s tests/test_string_mixin.py::test_docs[isalnum] PASSED [ 9%] 512s tests/test_string_mixin.py::test_docs[isalpha] PASSED [ 9%] 512s tests/test_string_mixin.py::test_docs[isdecimal] PASSED [ 9%] 512s tests/test_string_mixin.py::test_docs[isdigit] PASSED [ 9%] 512s tests/test_string_mixin.py::test_docs[isidentifier] PASSED [ 9%] 512s tests/test_string_mixin.py::test_docs[islower] PASSED [ 9%] 512s tests/test_string_mixin.py::test_docs[isnumeric] PASSED [ 9%] 512s tests/test_string_mixin.py::test_docs[isprintable] PASSED [ 9%] 512s tests/test_string_mixin.py::test_docs[isspace] PASSED [ 9%] 512s tests/test_string_mixin.py::test_docs[istitle] PASSED [ 9%] 512s tests/test_string_mixin.py::test_docs[isupper] PASSED [ 9%] 512s tests/test_string_mixin.py::test_docs[join] PASSED [ 9%] 512s tests/test_string_mixin.py::test_docs[ljust] PASSED [ 9%] 512s tests/test_string_mixin.py::test_docs[lower] PASSED [ 10%] 512s tests/test_string_mixin.py::test_docs[lstrip] PASSED [ 10%] 512s tests/test_string_mixin.py::test_docs[maketrans] PASSED [ 10%] 512s tests/test_string_mixin.py::test_docs[partition] PASSED [ 10%] 512s tests/test_string_mixin.py::test_docs[replace] PASSED [ 10%] 512s tests/test_string_mixin.py::test_docs[rfind] PASSED [ 10%] 512s tests/test_string_mixin.py::test_docs[rindex] PASSED [ 10%] 512s tests/test_string_mixin.py::test_docs[rjust] PASSED [ 10%] 512s tests/test_string_mixin.py::test_docs[rpartition] PASSED [ 10%] 512s tests/test_string_mixin.py::test_docs[rsplit] PASSED [ 10%] 512s tests/test_string_mixin.py::test_docs[rstrip] PASSED [ 10%] 512s tests/test_string_mixin.py::test_docs[split] PASSED [ 10%] 512s tests/test_string_mixin.py::test_docs[splitlines] PASSED [ 10%] 512s tests/test_string_mixin.py::test_docs[startswith] PASSED [ 10%] 512s tests/test_string_mixin.py::test_docs[strip] PASSED [ 11%] 512s tests/test_string_mixin.py::test_docs[swapcase] PASSED [ 11%] 512s tests/test_string_mixin.py::test_docs[title] PASSED [ 11%] 512s tests/test_string_mixin.py::test_docs[translate] PASSED [ 11%] 512s tests/test_string_mixin.py::test_docs[upper] PASSED [ 11%] 512s tests/test_string_mixin.py::test_docs[zfill] PASSED [ 11%] 512s tests/test_string_mixin.py::test_types PASSED [ 11%] 512s tests/test_string_mixin.py::test_comparisons PASSED [ 11%] 512s tests/test_string_mixin.py::test_other_magics PASSED [ 11%] 512s tests/test_string_mixin.py::test_other_methods PASSED [ 11%] 512s tests/test_tag.py::test_str PASSED [ 11%] 512s tests/test_tag.py::test_children PASSED [ 11%] 512s tests/test_tag.py::test_strip PASSED [ 11%] 512s tests/test_tag.py::test_showtree PASSED [ 11%] 512s tests/test_tag.py::test_tag PASSED [ 12%] 512s tests/test_tag.py::test_contents PASSED [ 12%] 512s tests/test_tag.py::test_attributes PASSED [ 12%] 512s tests/test_tag.py::test_wiki_markup PASSED [ 12%] 512s tests/test_tag.py::test_self_closing PASSED [ 12%] 512s tests/test_tag.py::test_invalid PASSED [ 12%] 512s tests/test_tag.py::test_implicit PASSED [ 12%] 512s tests/test_tag.py::test_padding PASSED [ 12%] 512s tests/test_tag.py::test_closing_tag PASSED [ 12%] 512s tests/test_tag.py::test_wiki_style_separator PASSED [ 12%] 512s tests/test_tag.py::test_closing_wiki_markup PASSED [ 12%] 512s tests/test_tag.py::test_has PASSED [ 12%] 512s tests/test_tag.py::test_get PASSED [ 12%] 512s tests/test_tag.py::test_add PASSED [ 12%] 512s tests/test_tag.py::test_remove PASSED [ 12%] 512s tests/test_template.py::test_str PASSED [ 13%] 512s tests/test_template.py::test_children PASSED [ 13%] 512s tests/test_template.py::test_strip PASSED [ 13%] 512s tests/test_template.py::test_showtree PASSED [ 13%] 512s tests/test_template.py::test_name PASSED [ 13%] 512s tests/test_template.py::test_params PASSED [ 13%] 512s tests/test_template.py::test_has PASSED [ 13%] 512s tests/test_template.py::test_get PASSED [ 13%] 512s tests/test_template.py::test_add PASSED [ 13%] 512s tests/test_template.py::test_remove PASSED [ 13%] 512s tests/test_template.py::test_formatting PASSED [ 13%] 512s tests/test_text.py::test_str PASSED [ 13%] 512s tests/test_text.py::test_children PASSED [ 13%] 512s tests/test_text.py::test_strip PASSED [ 13%] 512s tests/test_text.py::test_showtree PASSED [ 14%] 512s tests/test_text.py::test_value PASSED [ 14%] 512s tests/test_tokenizer.py::test_tokenizer[templates:no_params-PyTokenizer] PASSED [ 14%] 512s tests/test_tokenizer.py::test_tokenizer[templates:one_param_unnamed-PyTokenizer] PASSED [ 14%] 512s tests/test_tokenizer.py::test_tokenizer[templates:one_param_named-PyTokenizer] PASSED [ 14%] 512s tests/test_tokenizer.py::test_tokenizer[templates:multiple_unnamed_params-PyTokenizer] PASSED [ 14%] 512s tests/test_tokenizer.py::test_tokenizer[templates:multiple_named_params-PyTokenizer] PASSED [ 14%] 512s tests/test_tokenizer.py::test_tokenizer[templates:multiple_mixed_params-PyTokenizer] PASSED [ 14%] 512s tests/test_tokenizer.py::test_tokenizer[templates:multiple_mixed_params2-PyTokenizer] PASSED [ 14%] 512s tests/test_tokenizer.py::test_tokenizer[templates:blank_params-PyTokenizer] PASSED [ 14%] 512s tests/test_tokenizer.py::test_tokenizer[templates:nested_unnamed_param-PyTokenizer] PASSED [ 14%] 512s tests/test_tokenizer.py::test_tokenizer[templates:nested_named_param_value-PyTokenizer] PASSED [ 14%] 512s tests/test_tokenizer.py::test_tokenizer[templates:nested_named_param_name_and_value-PyTokenizer] PASSED [ 14%] 512s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_start-PyTokenizer] PASSED [ 14%] 512s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_start_unnamed_param-PyTokenizer] PASSED [ 15%] 512s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_start_named_param_value-PyTokenizer] PASSED [ 15%] 512s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_start_named_param_name_and_value-PyTokenizer] PASSED [ 15%] 512s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_end-PyTokenizer] PASSED [ 15%] 512s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_end_unnamed_param-PyTokenizer] PASSED [ 15%] 512s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_end_named_param_value-PyTokenizer] PASSED [ 15%] 512s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_end_named_param_name_and_value-PyTokenizer] PASSED [ 15%] 512s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_mid-PyTokenizer] PASSED [ 15%] 512s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_mid_unnamed_param-PyTokenizer] PASSED [ 15%] 512s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_mid_named_param_value-PyTokenizer] PASSED [ 15%] 512s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_mid_named_param_name_and_value-PyTokenizer] PASSED [ 15%] 512s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_start_end-PyTokenizer] PASSED [ 15%] 512s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_start_end_unnamed_param-PyTokenizer] PASSED [ 15%] 512s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_start_end_named_param_value-PyTokenizer] PASSED [ 15%] 512s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_start_end_named_param_name_and_value-PyTokenizer] PASSED [ 15%] 512s tests/test_tokenizer.py::test_tokenizer[templates:nested_names_multiple-PyTokenizer] PASSED [ 16%] 512s tests/test_tokenizer.py::test_tokenizer[templates:nested_names_multiple_unnamed_param-PyTokenizer] PASSED [ 16%] 512s tests/test_tokenizer.py::test_tokenizer[templates:nested_names_multiple_named_param_value-PyTokenizer] PASSED [ 16%] 512s tests/test_tokenizer.py::test_tokenizer[templates:nested_names_multiple_named_param_name_and_value-PyTokenizer] PASSED [ 16%] 512s tests/test_tokenizer.py::test_tokenizer[templates:mixed_nested_templates-PyTokenizer] PASSED [ 16%] 512s tests/test_tokenizer.py::test_tokenizer[templates:nested_two_args-PyTokenizer] PASSED [ 16%] 512s tests/test_tokenizer.py::test_tokenizer[templates:newlines_start-PyTokenizer] PASSED [ 16%] 512s tests/test_tokenizer.py::test_tokenizer[templates:newlines_end-PyTokenizer] PASSED [ 16%] 512s tests/test_tokenizer.py::test_tokenizer[templates:newlines_start_end-PyTokenizer] PASSED [ 16%] 512s tests/test_tokenizer.py::test_tokenizer[templates:newlines_mid-PyTokenizer] PASSED [ 16%] 512s tests/test_tokenizer.py::test_tokenizer[templates:newlines_start_mid-PyTokenizer] PASSED [ 16%] 512s tests/test_tokenizer.py::test_tokenizer[templates:newlines_mid_end-PyTokenizer] PASSED [ 16%] 512s tests/test_tokenizer.py::test_tokenizer[templates:newlines_start_mid_end-PyTokenizer] PASSED [ 16%] 512s tests/test_tokenizer.py::test_tokenizer[templates:newlines_unnamed_param-PyTokenizer] PASSED [ 16%] 512s tests/test_tokenizer.py::test_tokenizer[templates:newlines_enclose_template_name_unnamed_param-PyTokenizer] PASSED [ 17%] 512s tests/test_tokenizer.py::test_tokenizer[templates:newlines_within_template_name_unnamed_param-PyTokenizer] PASSED [ 17%] 512s tests/test_tokenizer.py::test_tokenizer[templates:newlines_enclose_template_name_named_param_value-PyTokenizer] PASSED [ 17%] 512s tests/test_tokenizer.py::test_tokenizer[templates:newlines_within_template_name_named_param_value-PyTokenizer] PASSED [ 17%] 512s tests/test_tokenizer.py::test_tokenizer[templates:newlines_named_param_name-PyTokenizer] PASSED [ 17%] 512s tests/test_tokenizer.py::test_tokenizer[templates:newlines_named_param_name_param_value-PyTokenizer] PASSED [ 17%] 512s tests/test_tokenizer.py::test_tokenizer[templates:newlines_enclose_template_name_named_param_name-PyTokenizer] PASSED [ 17%] 512s tests/test_tokenizer.py::test_tokenizer[templates:newlines_enclose_template_name_named_param_name_param_value-PyTokenizer] PASSED [ 17%] 512s tests/test_tokenizer.py::test_tokenizer[templates:newlines_within_template_name_named_param_name-PyTokenizer] PASSED [ 17%] 512s tests/test_tokenizer.py::test_tokenizer[templates:newlines_within_template_name_named_param_name_param_value-PyTokenizer] PASSED [ 17%] 512s tests/test_tokenizer.py::test_tokenizer[templates:newlines_wildcard-PyTokenizer] PASSED [ 17%] 512s tests/test_tokenizer.py::test_tokenizer[templates:newlines_wildcard_redux-PyTokenizer] PASSED [ 17%] 512s tests/test_tokenizer.py::test_tokenizer[templates:newlines_wildcard_redux_invalid-PyTokenizer] PASSED [ 17%] 512s tests/test_tokenizer.py::test_tokenizer[templates:newlines_spaces-PyTokenizer] PASSED [ 17%] 512s tests/test_tokenizer.py::test_tokenizer[templates:newlines_spaces_param-PyTokenizer] PASSED [ 18%] 512s tests/test_tokenizer.py::test_tokenizer[templates:invalid_blank-PyTokenizer] PASSED [ 18%] 512s tests/test_tokenizer.py::test_tokenizer[templates:invalid_blank_whitespace-PyTokenizer] PASSED [ 18%] 512s tests/test_tokenizer.py::test_tokenizer[templates:invalid_blank_pipe-PyTokenizer] PASSED [ 18%] 512s tests/test_tokenizer.py::test_tokenizer[templates:invalid_blank_whitespace_pipe-PyTokenizer] PASSED [ 18%] 512s tests/test_tokenizer.py::test_tokenizer[templates:invalid_name_left_brace_middle-PyTokenizer] PASSED [ 18%] 512s tests/test_tokenizer.py::test_tokenizer[templates:invalid_name_right_brace_middle-PyTokenizer] PASSED [ 18%] 512s tests/test_tokenizer.py::test_tokenizer[templates:invalid_name_left_braces-PyTokenizer] PASSED [ 18%] 512s tests/test_tokenizer.py::test_tokenizer[templates:invalid_name_left_bracket_middle-PyTokenizer] PASSED [ 18%] 512s tests/test_tokenizer.py::test_tokenizer[templates:invalid_name_right_bracket_middle-PyTokenizer] PASSED [ 18%] 512s tests/test_tokenizer.py::test_tokenizer[templates:invalid_name_left_bracket_start-PyTokenizer] PASSED [ 18%] 512s tests/test_tokenizer.py::test_tokenizer[templates:invalid_name_right_bracket_start-PyTokenizer] PASSED [ 18%] 512s tests/test_tokenizer.py::test_tokenizer[templates:valid_name_left_brace_start-PyTokenizer] PASSED [ 18%] 512s tests/test_tokenizer.py::test_tokenizer[templates:valid_unnamed_param_left_brace-PyTokenizer] PASSED [ 18%] 512s tests/test_tokenizer.py::test_tokenizer[templates:valid_unnamed_param_braces-PyTokenizer] PASSED [ 18%] 512s tests/test_tokenizer.py::test_tokenizer[templates:valid_param_name_braces-PyTokenizer] PASSED [ 19%] 512s tests/test_tokenizer.py::test_tokenizer[templates:valid_param_name_brackets-PyTokenizer] PASSED [ 19%] 512s tests/test_tokenizer.py::test_tokenizer[templates:valid_param_name_double_left_brackets-PyTokenizer] PASSED [ 19%] 512s tests/test_tokenizer.py::test_tokenizer[templates:valid_param_name_double_right_brackets-PyTokenizer] PASSED [ 19%] 512s tests/test_tokenizer.py::test_tokenizer[templates:valid_param_name_double_brackets-PyTokenizer] PASSED [ 19%] 512s tests/test_tokenizer.py::test_tokenizer[templates:invalid_param_name_double_left_braces-PyTokenizer] PASSED [ 19%] 512s tests/test_tokenizer.py::test_tokenizer[templates:invalid_param_name_double_braces-PyTokenizer] PASSED [ 19%] 512s tests/test_tokenizer.py::test_tokenizer[templates:invalid_left_angle_bracket-PyTokenizer] PASSED [ 19%] 512s tests/test_tokenizer.py::test_tokenizer[templates:invalid_right_angle_bracket-PyTokenizer] PASSED [ 19%] 512s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_stub-PyTokenizer] PASSED [ 19%] 512s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_plain-PyTokenizer] PASSED [ 19%] 512s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_right_brace-PyTokenizer] PASSED [ 19%] 512s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_pipe-PyTokenizer] PASSED [ 19%] 512s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_unnamed_param-PyTokenizer] PASSED [ 19%] 512s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_unnamed_param_pipe-PyTokenizer] PASSED [ 20%] 512s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_valueless_param-PyTokenizer] PASSED [ 20%] 512s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_valueless_param_pipe-PyTokenizer] PASSED [ 20%] 512s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_named_param-PyTokenizer] PASSED [ 20%] 512s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_named_param_pipe-PyTokenizer] PASSED [ 20%] 512s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_two_unnamed_params-PyTokenizer] PASSED [ 20%] 512s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_unnamed_param_valueless_param-PyTokenizer] PASSED [ 20%] 512s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_unnamed_param_named_param-PyTokenizer] PASSED [ 20%] 512s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_named_param_unnamed_param-PyTokenizer] PASSED [ 20%] 512s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_named_param_valueless_param-PyTokenizer] PASSED [ 20%] 512s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_two_named_params-PyTokenizer] PASSED [ 20%] 512s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_nested_template_as_unnamed_param-PyTokenizer] PASSED [ 20%] 512s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_nested_template_as_param_value-PyTokenizer] PASSED [ 20%] 512s tests/test_tokenizer.py::test_tokenizer[templates:recursion_five_hundred_opens-PyTokenizer] PASSED [ 20%] 512s tests/test_tokenizer.py::test_tokenizer[templates:recursion_one_hundred_opens-PyTokenizer] PASSED [ 21%] 512s tests/test_tokenizer.py::test_tokenizer[templates:recursion_opens_and_closes-PyTokenizer] PASSED [ 21%] 512s tests/test_tokenizer.py::test_tokenizer[templates:invalid_section_level_1-PyTokenizer] PASSED [ 21%] 512s tests/test_tokenizer.py::test_tokenizer[templates:section_level_2-PyTokenizer] PASSED [ 21%] 512s tests/test_tokenizer.py::test_tokenizer[templates:invalid_section_level_2-PyTokenizer] PASSED [ 21%] 512s tests/test_tokenizer.py::test_tokenizer[templates:section_level_2_after_template_parameter-PyTokenizer] PASSED [ 21%] 512s tests/test_tokenizer.py::test_tokenizer[text:basic-PyTokenizer] PASSED [ 21%] 512s tests/test_tokenizer.py::test_tokenizer[text:newlines-PyTokenizer] PASSED [ 21%] 512s tests/test_tokenizer.py::test_tokenizer[text:unicode-PyTokenizer] PASSED [ 21%] 512s tests/test_tokenizer.py::test_tokenizer[text:unicode2-PyTokenizer] PASSED [ 21%] 512s tests/test_tokenizer.py::test_tokenizer[text:large-PyTokenizer] PASSED [ 21%] 512s tests/test_tokenizer.py::test_tokenizer[arguments:blank-PyTokenizer] PASSED [ 21%] 512s tests/test_tokenizer.py::test_tokenizer[arguments:blank_with_default-PyTokenizer] PASSED [ 21%] 512s tests/test_tokenizer.py::test_tokenizer[arguments:basic-PyTokenizer] PASSED [ 21%] 512s tests/test_tokenizer.py::test_tokenizer[arguments:default-PyTokenizer] PASSED [ 21%] 512s tests/test_tokenizer.py::test_tokenizer[arguments:blank_with_multiple_defaults-PyTokenizer] PASSED [ 22%] 512s tests/test_tokenizer.py::test_tokenizer[arguments:multiple_defaults-PyTokenizer] PASSED [ 22%] 512s tests/test_tokenizer.py::test_tokenizer[arguments:newline-PyTokenizer] PASSED [ 22%] 512s tests/test_tokenizer.py::test_tokenizer[arguments:right_braces-PyTokenizer] PASSED [ 22%] 512s tests/test_tokenizer.py::test_tokenizer[arguments:right_braces_default-PyTokenizer] PASSED [ 22%] 512s tests/test_tokenizer.py::test_tokenizer[arguments:nested-PyTokenizer] PASSED [ 22%] 512s tests/test_tokenizer.py::test_tokenizer[arguments:invalid_braces-PyTokenizer] PASSED [ 22%] 512s tests/test_tokenizer.py::test_tokenizer[arguments:incomplete_open_only-PyTokenizer] PASSED [ 22%] 512s tests/test_tokenizer.py::test_tokenizer[arguments:incomplete_open_text-PyTokenizer] PASSED [ 22%] 512s tests/test_tokenizer.py::test_tokenizer[arguments:incomplete_open_text_pipe-PyTokenizer] PASSED [ 22%] 512s tests/test_tokenizer.py::test_tokenizer[arguments:incomplete_open_pipe-PyTokenizer] PASSED [ 22%] 512s tests/test_tokenizer.py::test_tokenizer[arguments:incomplete_open_pipe_text-PyTokenizer] PASSED [ 22%] 512s tests/test_tokenizer.py::test_tokenizer[arguments:incomplete_open_pipes_text-PyTokenizer] PASSED [ 22%] 512s tests/test_tokenizer.py::test_tokenizer[arguments:incomplete_open_partial_close-PyTokenizer] PASSED [ 22%] 512s tests/test_tokenizer.py::test_tokenizer[arguments:incomplete_preserve_previous-PyTokenizer] PASSED [ 23%] 512s tests/test_tokenizer.py::test_tokenizer[integration:empty-PyTokenizer] PASSED [ 23%] 512s tests/test_tokenizer.py::test_tokenizer[integration:template_argument_mix-PyTokenizer] PASSED [ 23%] 512s tests/test_tokenizer.py::test_tokenizer[integration:link_in_template_name-PyTokenizer] PASSED [ 23%] 512s tests/test_tokenizer.py::test_tokenizer[integration:rich_heading-PyTokenizer] PASSED [ 23%] 512s tests/test_tokenizer.py::test_tokenizer[integration:html_entity_with_template-PyTokenizer] PASSED [ 23%] 512s tests/test_tokenizer.py::test_tokenizer[integration:html_entity_with_comment-PyTokenizer] PASSED [ 23%] 512s tests/test_tokenizer.py::test_tokenizer[integration:rich_tags-PyTokenizer] PASSED [ 23%] 512s tests/test_tokenizer.py::test_tokenizer[integration:wildcard-PyTokenizer] PASSED [ 23%] 512s tests/test_tokenizer.py::test_tokenizer[integration:wildcard_redux-PyTokenizer] PASSED [ 23%] 512s tests/test_tokenizer.py::test_tokenizer[integration:link_inside_dl-PyTokenizer] PASSED [ 23%] 512s tests/test_tokenizer.py::test_tokenizer[integration:link_inside_dl_2-PyTokenizer] PASSED [ 23%] 512s tests/test_tokenizer.py::test_tokenizer[integration:link_inside_template-PyTokenizer] PASSED [ 23%] 512s tests/test_tokenizer.py::test_tokenizer[integration:link_inside_template_2-PyTokenizer] PASSED [ 23%] 512s tests/test_tokenizer.py::test_tokenizer[integration:link_inside_template_3-PyTokenizer] PASSED [ 24%] 512s tests/test_tokenizer.py::test_tokenizer[integration:link_inside_argument-PyTokenizer] PASSED [ 24%] 512s tests/test_tokenizer.py::test_tokenizer[integration:link_inside_heading-PyTokenizer] PASSED [ 24%] 512s tests/test_tokenizer.py::test_tokenizer[integration:link_inside_tag_body-PyTokenizer] PASSED [ 24%] 512s tests/test_tokenizer.py::test_tokenizer[integration:link_inside_tag_style-PyTokenizer] PASSED [ 24%] 512s tests/test_tokenizer.py::test_tokenizer[integration:style_tag_inside_link-PyTokenizer] PASSED [ 24%] 512s tests/test_tokenizer.py::test_tokenizer[integration:comment_inside_link-PyTokenizer] PASSED [ 24%] 512s tests/test_tokenizer.py::test_tokenizer[integration:bracketed_link_inside_template-PyTokenizer] PASSED [ 24%] 512s tests/test_tokenizer.py::test_tokenizer[integration:comment_inside_bracketed_link-PyTokenizer] PASSED [ 24%] 512s tests/test_tokenizer.py::test_tokenizer[integration:wikilink_inside_external_link-PyTokenizer] PASSED [ 24%] 512s tests/test_tokenizer.py::test_tokenizer[integration:external_link_inside_wikilink-PyTokenizer] PASSED [ 24%] 512s tests/test_tokenizer.py::test_tokenizer[integration:external_link_inside_wikilink_brackets-PyTokenizer] PASSED [ 24%] 512s tests/test_tokenizer.py::test_tokenizer[integration:external_link_inside_wikilink_title-PyTokenizer] PASSED [ 24%] 512s tests/test_tokenizer.py::test_tokenizer[integration:italics_inside_external_link_inside_incomplete_list-PyTokenizer] PASSED [ 24%] 512s tests/test_tokenizer.py::test_tokenizer[integration:nodes_inside_external_link_after_punct-PyTokenizer] PASSED [ 25%] 512s tests/test_tokenizer.py::test_tokenizer[integration:newline_and_comment_in_template_name-PyTokenizer] PASSED [ 25%] 512s tests/test_tokenizer.py::test_tokenizer[integration:newline_and_comment_in_template_name_2-PyTokenizer] PASSED [ 25%] 512s tests/test_tokenizer.py::test_tokenizer[integration:newline_and_comment_in_template_name_3-PyTokenizer] PASSED [ 25%] 512s tests/test_tokenizer.py::test_tokenizer[integration:newline_and_comment_in_template_name_4-PyTokenizer] PASSED [ 25%] 512s tests/test_tokenizer.py::test_tokenizer[integration:newline_and_comment_in_template_name_5-PyTokenizer] PASSED [ 25%] 512s tests/test_tokenizer.py::test_tokenizer[integration:newline_and_comment_in_template_name_6-PyTokenizer] PASSED [ 25%] 512s tests/test_tokenizer.py::test_tokenizer[integration:newline_and_comment_in_template_name_7-PyTokenizer] PASSED [ 25%] 512s tests/test_tokenizer.py::test_tokenizer[integration:newline_and_comment_in_template_name_8-PyTokenizer] PASSED [ 25%] 512s tests/test_tokenizer.py::test_tokenizer[integration:tag_in_link_title-PyTokenizer] PASSED [ 25%] 512s tests/test_tokenizer.py::test_tokenizer[integration:tag_in_template_name-PyTokenizer] PASSED [ 25%] 512s tests/test_tokenizer.py::test_tokenizer[integration:tag_in_link_text-PyTokenizer] PASSED [ 25%] 512s tests/test_tokenizer.py::test_tokenizer[integration:comment_in_link_title-PyTokenizer] PASSED [ 25%] 512s tests/test_tokenizer.py::test_tokenizer[integration:incomplete_comment_in_link_title-PyTokenizer] PASSED [ 25%] 512s tests/test_tokenizer.py::test_tokenizer[integration:incomplete_comment_in_link_title_2-PyTokenizer] PASSED [ 25%] 512s tests/test_tokenizer.py::test_tokenizer[integration:incomplete_comment_in_link_title_3-PyTokenizer] PASSED [ 26%] 512s tests/test_tokenizer.py::test_tokenizer[integration:incomplete_comment_in_link_title_4-PyTokenizer] PASSED [ 26%] 512s tests/test_tokenizer.py::test_tokenizer[integration:incomplete_comment_in_link_title_5-PyTokenizer] PASSED [ 26%] 512s tests/test_tokenizer.py::test_tokenizer[integration:incomplete_comment_in_link_title_6-PyTokenizer] PASSED [ 26%] 512s tests/test_tokenizer.py::test_tokenizer[integration:wikilink_to_external_link_fallback-PyTokenizer] PASSED [ 26%] 512s tests/test_tokenizer.py::test_tokenizer[integration:wikilink_to_external_link_fallback_2-PyTokenizer] PASSED [ 26%] 512s tests/test_tokenizer.py::test_tokenizer[integration:tables_in_templates-PyTokenizer] PASSED [ 26%] 512s tests/test_tokenizer.py::test_tokenizer[integration:tables_in_templates_2-PyTokenizer] PASSED [ 26%] 512s tests/test_tokenizer.py::test_tokenizer[integration:many_invalid_nested_tags-PyTokenizer] PASSED [ 26%] 512s tests/test_tokenizer.py::test_tokenizer[integration:nested_templates_and_style_tags-PyTokenizer] PASSED [ 26%] 512s tests/test_tokenizer.py::test_tokenizer[integration:wikilink_nested_with_nowiki-PyTokenizer] PASSED [ 26%] 512s tests/test_tokenizer.py::test_tokenizer[html_entities:named-PyTokenizer] PASSED [ 26%] 512s tests/test_tokenizer.py::test_tokenizer[html_entities:numeric_decimal-PyTokenizer] PASSED [ 26%] 512s tests/test_tokenizer.py::test_tokenizer[html_entities:numeric_hexadecimal_x-PyTokenizer] PASSED [ 26%] 512s tests/test_tokenizer.py::test_tokenizer[html_entities:numeric_hexadecimal_X-PyTokenizer] PASSED [ 27%] 512s tests/test_tokenizer.py::test_tokenizer[html_entities:numeric_decimal_max-PyTokenizer] PASSED [ 27%] 512s tests/test_tokenizer.py::test_tokenizer[html_entities:numeric_hex_max-PyTokenizer] PASSED [ 27%] 512s tests/test_tokenizer.py::test_tokenizer[html_entities:numeric_zeros-PyTokenizer] PASSED [ 27%] 512s tests/test_tokenizer.py::test_tokenizer[html_entities:numeric_hex_zeros-PyTokenizer] PASSED [ 27%] 512s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_named_too_long-PyTokenizer] PASSED [ 27%] 512s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_named_undefined-PyTokenizer] PASSED [ 27%] 512s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_named_nonascii-PyTokenizer] PASSED [ 27%] 512s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_numeric_out_of_range_1-PyTokenizer] PASSED [ 27%] 512s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_numeric_out_of_range_2-PyTokenizer] PASSED [ 27%] 512s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_numeric_out_of_range_3-PyTokenizer] PASSED [ 27%] 512s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_numeric_out_of_range_4-PyTokenizer] PASSED [ 27%] 512s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_partial_amp-PyTokenizer] PASSED [ 27%] 512s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_partial_amp_semicolon-PyTokenizer] PASSED [ 27%] 512s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_partial_amp_pound-PyTokenizer] PASSED [ 28%] 512s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_partial_amp_pound_x-PyTokenizer] PASSED [ 28%] 512s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_partial_amp_pound_semicolon-PyTokenizer] PASSED [ 28%] 512s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_partial_amp_pound_x_semicolon0-PyTokenizer] PASSED [ 28%] 512s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_partial_amp_pound_numbers-PyTokenizer] PASSED [ 28%] 512s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_partial_amp_pound_x_semicolon1-PyTokenizer] PASSED [ 28%] 512s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_zeros_before_named-PyTokenizer] PASSED [ 28%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:basic-PyTokenizer] PASSED [ 28%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:basic_brackets-PyTokenizer] PASSED [ 28%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_space-PyTokenizer] PASSED [ 28%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_title-PyTokenizer] PASSED [ 28%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_multiword_title-PyTokenizer] PASSED [ 28%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_adjacent-PyTokenizer] PASSED [ 28%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_newline_before-PyTokenizer] PASSED [ 28%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_newline_inside-PyTokenizer] PASSED [ 28%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_newline_after-PyTokenizer] PASSED [ 29%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_space_before-PyTokenizer] PASSED [ 29%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_title_like_url-PyTokenizer] PASSED [ 29%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_recursive-PyTokenizer] PASSED [ 29%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_recursive_2-PyTokenizer] PASSED [ 29%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:period_after-PyTokenizer] PASSED [ 29%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:colons_after-PyTokenizer] PASSED [ 29%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:close_paren_after_excluded-PyTokenizer] PASSED [ 29%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:close_paren_after_included-PyTokenizer] PASSED [ 29%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:open_bracket_inside-PyTokenizer] PASSED [ 29%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_period_after-PyTokenizer] PASSED [ 29%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_punct_after-PyTokenizer] PASSED [ 29%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_close_paren_after_included-PyTokenizer] PASSED [ 29%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_close_paren_after_included_2-PyTokenizer] PASSED [ 29%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_open_bracket_inside-PyTokenizer] PASSED [ 30%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:adjacent_space-PyTokenizer] PASSED [ 30%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:adjacent_newline-PyTokenizer] PASSED [ 30%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:adjacent_close_bracket-PyTokenizer] PASSED [ 30%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:html_entity_in_url-PyTokenizer] PASSED [ 30%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:template_in_url-PyTokenizer] PASSED [ 30%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:argument_in_url-PyTokenizer] PASSED [ 30%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:wikilink_in_url-PyTokenizer] PASSED [ 30%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:external_link_in_url-PyTokenizer] PASSED [ 30%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:spaces_padding-PyTokenizer] PASSED [ 30%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:text_and_spaces_padding-PyTokenizer] PASSED [ 30%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:template_before-PyTokenizer] PASSED [ 30%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:spaces_padding_no_slashes-PyTokenizer] PASSED [ 30%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:text_and_spaces_padding_no_slashes-PyTokenizer] PASSED [ 30%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:template_before_no_slashes-PyTokenizer] PASSED [ 31%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:no_slashes-PyTokenizer] PASSED [ 31%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:slashes_optional-PyTokenizer] PASSED [ 31%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:short-PyTokenizer] PASSED [ 31%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:slashes_missing-PyTokenizer] PASSED [ 31%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:no_scheme_but_slashes-PyTokenizer] PASSED [ 31%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:no_scheme_but_colon-PyTokenizer] PASSED [ 31%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:no_scheme_but_colon_and_slashes-PyTokenizer] PASSED [ 31%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:fake_scheme_no_slashes-PyTokenizer] PASSED [ 31%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:fake_scheme_slashes-PyTokenizer] PASSED [ 31%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:fake_scheme_brackets_no_slashes-PyTokenizer] PASSED [ 31%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:fake_scheme_brackets_slashes-PyTokenizer] PASSED [ 31%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:interrupted_scheme-PyTokenizer] PASSED [ 31%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:interrupted_scheme_brackets-PyTokenizer] PASSED [ 31%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:no_slashes_brackets-PyTokenizer] PASSED [ 31%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:space_before_no_slashes_brackets-PyTokenizer] PASSED [ 32%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:slashes_optional_brackets-PyTokenizer] PASSED [ 32%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:short_brackets-PyTokenizer] PASSED [ 32%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:slashes_missing_brackets-PyTokenizer] PASSED [ 32%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:protcol_relative-PyTokenizer] PASSED [ 32%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:scheme_missing_but_colon_brackets-PyTokenizer] PASSED [ 32%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:scheme_missing_but_colon_slashes_brackets-PyTokenizer] PASSED [ 32%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:unclosed_protocol_relative-PyTokenizer] PASSED [ 32%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:space_before_protcol_relative-PyTokenizer] PASSED [ 32%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:unclosed_just_scheme-PyTokenizer] PASSED [ 32%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:unclosed_scheme_colon-PyTokenizer] PASSED [ 32%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:unclosed_scheme_colon_slashes-PyTokenizer] PASSED [ 32%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:incomplete_bracket-PyTokenizer] PASSED [ 32%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:incomplete_scheme_colon-PyTokenizer] PASSED [ 32%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:incomplete_scheme_colon_slashes-PyTokenizer] PASSED [ 33%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_scheme_but_no_url-PyTokenizer] PASSED [ 33%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_scheme_slashes_but_no_url-PyTokenizer] PASSED [ 33%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_scheme_title_but_no_url-PyTokenizer] PASSED [ 33%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:url_preceded_by_non_word_character-PyTokenizer] PASSED [ 33%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:url_preceded_by_underscore-PyTokenizer] PASSED [ 33%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:url_terminated_by_double_quote-PyTokenizer] PASSED [ 33%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:url_not_terminated_by_single_quote-PyTokenizer] PASSED [ 33%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:url_terminated_by_two_single_quotes-PyTokenizer] PASSED [ 33%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:url_terminated_by_left_angle-PyTokenizer] PASSED [ 33%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:url_terminated_by_right_angle-PyTokenizer] PASSED [ 33%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_terminated_by_double_quote-PyTokenizer] PASSED [ 33%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_not_terminated_by_single_quote-PyTokenizer] PASSED [ 33%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_terminated_by_two_single_quotes-PyTokenizer] PASSED [ 33%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_terminated_by_left_angle-PyTokenizer] PASSED [ 34%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_terminated_by_right_angle-PyTokenizer] PASSED [ 34%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:scheme_case-PyTokenizer] PASSED [ 34%] 512s tests/test_tokenizer.py::test_tokenizer[external_links:bracket_scheme_case-PyTokenizer] PASSED [ 34%] 512s tests/test_tokenizer.py::test_tokenizer[headings:level_1-PyTokenizer] PASSED [ 34%] 512s tests/test_tokenizer.py::test_tokenizer[headings:level_2-PyTokenizer] PASSED [ 34%] 512s tests/test_tokenizer.py::test_tokenizer[headings:level_3-PyTokenizer] PASSED [ 34%] 512s tests/test_tokenizer.py::test_tokenizer[headings:level_4-PyTokenizer] PASSED [ 34%] 512s tests/test_tokenizer.py::test_tokenizer[headings:level_5-PyTokenizer] PASSED [ 34%] 512s tests/test_tokenizer.py::test_tokenizer[headings:level_6-PyTokenizer] PASSED [ 34%] 512s tests/test_tokenizer.py::test_tokenizer[headings:level_7-PyTokenizer] PASSED [ 34%] 512s tests/test_tokenizer.py::test_tokenizer[headings:level_3_2-PyTokenizer] PASSED [ 34%] 512s tests/test_tokenizer.py::test_tokenizer[headings:level_4_6-PyTokenizer] PASSED [ 34%] 512s tests/test_tokenizer.py::test_tokenizer[headings:newline_before-PyTokenizer] PASSED [ 34%] 512s tests/test_tokenizer.py::test_tokenizer[headings:text_after-PyTokenizer] PASSED [ 34%] 512s tests/test_tokenizer.py::test_tokenizer[headings:invalid_text_before-PyTokenizer] PASSED [ 35%] 512s tests/test_tokenizer.py::test_tokenizer[headings:invalid_newline_middle-PyTokenizer] PASSED [ 35%] 512s tests/test_tokenizer.py::test_tokenizer[headings:invalid_newline_end-PyTokenizer] PASSED [ 35%] 512s tests/test_tokenizer.py::test_tokenizer[headings:invalid_nesting-PyTokenizer] PASSED [ 35%] 512s tests/test_tokenizer.py::test_tokenizer[headings:incomplete-PyTokenizer] PASSED [ 35%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:basic_italics-PyTokenizer] PASSED [ 35%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:basic_bold-PyTokenizer] PASSED [ 35%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:basic_ul-PyTokenizer] PASSED [ 35%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:basic_ol-PyTokenizer] PASSED [ 35%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:basic_dt-PyTokenizer] PASSED [ 35%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:basic_dd-PyTokenizer] PASSED [ 35%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:basic_hr-PyTokenizer] PASSED [ 35%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:complex_italics-PyTokenizer] PASSED [ 35%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:multiline_italics-PyTokenizer] PASSED [ 35%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:unending_italics-PyTokenizer] PASSED [ 36%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:misleading_italics_end-PyTokenizer] PASSED [ 36%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:italics_start_outside_end_inside-PyTokenizer] PASSED [ 36%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:italics_start_inside_end_outside-PyTokenizer] PASSED [ 36%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:complex_bold-PyTokenizer] PASSED [ 36%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:multiline_bold-PyTokenizer] PASSED [ 36%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:unending_bold-PyTokenizer] PASSED [ 36%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:misleading_bold_end-PyTokenizer] PASSED [ 36%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:bold_start_outside_end_inside-PyTokenizer] PASSED [ 36%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:bold_start_inside_end_outside-PyTokenizer] PASSED [ 36%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:bold_and_italics-PyTokenizer] PASSED [ 36%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:both_then_bold-PyTokenizer] PASSED [ 36%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:both_then_italics-PyTokenizer] PASSED [ 36%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:bold_then_both-PyTokenizer] PASSED [ 36%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:italics_then_both-PyTokenizer] PASSED [ 37%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:italics_then_bold-PyTokenizer] PASSED [ 37%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:bold_then_italics-PyTokenizer] PASSED [ 37%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:five_three-PyTokenizer] PASSED [ 37%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:five_two-PyTokenizer] PASSED [ 37%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:four-PyTokenizer] PASSED [ 37%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:four_two-PyTokenizer] PASSED [ 37%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:two_three-PyTokenizer] PASSED [ 37%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:two_four-PyTokenizer] PASSED [ 37%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:two_three_two-PyTokenizer] PASSED [ 37%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:two_four_four-PyTokenizer] PASSED [ 37%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:seven-PyTokenizer] PASSED [ 37%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:unending_bold_and_italics-PyTokenizer] PASSED [ 37%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:complex_ul-PyTokenizer] PASSED [ 37%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:ul_multiline_template-PyTokenizer] PASSED [ 37%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:ul_adjacent-PyTokenizer] PASSED [ 38%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:ul_depths-PyTokenizer] PASSED [ 38%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:ul_space_before-PyTokenizer] PASSED [ 38%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:ul_interruption-PyTokenizer] PASSED [ 38%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:complex_ol-PyTokenizer] PASSED [ 38%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:ol_multiline_template-PyTokenizer] PASSED [ 38%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:ol_adjacent-PyTokenizer] PASSED [ 38%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:ol_depths-PyTokenizer] PASSED [ 38%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:ol_space_before-PyTokenizer] PASSED [ 38%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:ol_interruption-PyTokenizer] PASSED [ 38%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:ul_ol_mix-PyTokenizer] PASSED [ 38%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:complex_dt-PyTokenizer] PASSED [ 38%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dt_multiline_template-PyTokenizer] PASSED [ 38%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dt_adjacent-PyTokenizer] PASSED [ 38%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dt_depths-PyTokenizer] PASSED [ 39%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dt_space_before-PyTokenizer] PASSED [ 39%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dt_interruption-PyTokenizer] PASSED [ 39%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:complex_dd-PyTokenizer] PASSED [ 39%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dd_multiline_template-PyTokenizer] PASSED [ 39%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dd_adjacent-PyTokenizer] PASSED [ 39%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dd_depths-PyTokenizer] PASSED [ 39%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dd_space_before-PyTokenizer] PASSED [ 39%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dd_interruption-PyTokenizer] PASSED [ 39%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dt_dd_mix-PyTokenizer] PASSED [ 39%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dt_dd_mix2-PyTokenizer] PASSED [ 39%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dt_dd_mix3-PyTokenizer] PASSED [ 39%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dt_dd_mix4-PyTokenizer] PASSED [ 39%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:ul_ol_dt_dd_mix-PyTokenizer] PASSED [ 39%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:hr_text_before-PyTokenizer] PASSED [ 40%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:hr_text_after-PyTokenizer] PASSED [ 40%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:hr_text_before_after-PyTokenizer] PASSED [ 40%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:hr_newlines-PyTokenizer] PASSED [ 40%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:hr_adjacent-PyTokenizer] PASSED [ 40%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:hr_adjacent_space-PyTokenizer] PASSED [ 40%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:hr_short-PyTokenizer] PASSED [ 40%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:hr_long-PyTokenizer] PASSED [ 40%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:hr_interruption_short-PyTokenizer] PASSED [ 40%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:hr_interruption_long-PyTokenizer] PASSED [ 40%] 512s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:nowiki_cancel-PyTokenizer] PASSED [ 40%] 512s tests/test_tokenizer.py::test_tokenizer[wikilinks:blank-PyTokenizer] PASSED [ 40%] 512s tests/test_tokenizer.py::test_tokenizer[wikilinks:blank_with_text-PyTokenizer] PASSED [ 40%] 512s tests/test_tokenizer.py::test_tokenizer[wikilinks:basic-PyTokenizer] PASSED [ 40%] 512s tests/test_tokenizer.py::test_tokenizer[wikilinks:with_text-PyTokenizer] PASSED [ 40%] 512s tests/test_tokenizer.py::test_tokenizer[wikilinks:blank_with_multiple_texts-PyTokenizer] PASSED [ 41%] 512s tests/test_tokenizer.py::test_tokenizer[wikilinks:multiple_texts-PyTokenizer] PASSED [ 41%] 512s tests/test_tokenizer.py::test_tokenizer[wikilinks:newline_text-PyTokenizer] PASSED [ 41%] 512s tests/test_tokenizer.py::test_tokenizer[wikilinks:bracket_text-PyTokenizer] PASSED [ 41%] 512s tests/test_tokenizer.py::test_tokenizer[wikilinks:nested-PyTokenizer] PASSED [ 41%] 512s tests/test_tokenizer.py::test_tokenizer[wikilinks:nested_padding-PyTokenizer] PASSED [ 41%] 512s tests/test_tokenizer.py::test_tokenizer[wikilinks:invalid_newline-PyTokenizer] PASSED [ 41%] 512s tests/test_tokenizer.py::test_tokenizer[wikilinks:invalid_right_brace-PyTokenizer] PASSED [ 41%] 512s tests/test_tokenizer.py::test_tokenizer[wikilinks:invalid_left_brace-PyTokenizer] PASSED [ 41%] 512s tests/test_tokenizer.py::test_tokenizer[wikilinks:invalid_right_bracket-PyTokenizer] PASSED [ 41%] 512s tests/test_tokenizer.py::test_tokenizer[wikilinks:invalid_left_bracket-PyTokenizer] PASSED [ 41%] 512s tests/test_tokenizer.py::test_tokenizer[wikilinks:invalid_nested_title-PyTokenizer] PASSED [ 41%] 512s tests/test_tokenizer.py::test_tokenizer[wikilinks:invalid_nested_title_and_text-PyTokenizer] PASSED [ 41%] 512s tests/test_tokenizer.py::test_tokenizer[wikilinks:invalid_nested_no_close-PyTokenizer] PASSED [ 41%] 512s tests/test_tokenizer.py::test_tokenizer[wikilinks:invalid_left_angle_bracket-PyTokenizer] PASSED [ 42%] 512s tests/test_tokenizer.py::test_tokenizer[wikilinks:invalid_right_angle_bracket-PyTokenizer] PASSED [ 42%] 512s tests/test_tokenizer.py::test_tokenizer[wikilinks:invalid_newline_at_start-PyTokenizer] PASSED [ 42%] 512s tests/test_tokenizer.py::test_tokenizer[wikilinks:invalid_newline_at_end-PyTokenizer] PASSED [ 42%] 512s tests/test_tokenizer.py::test_tokenizer[wikilinks:incomplete_open_only-PyTokenizer] PASSED [ 42%] 512s tests/test_tokenizer.py::test_tokenizer[wikilinks:incomplete_open_text-PyTokenizer] PASSED [ 42%] 512s tests/test_tokenizer.py::test_tokenizer[wikilinks:incomplete_open_text_pipe-PyTokenizer] PASSED [ 42%] 512s tests/test_tokenizer.py::test_tokenizer[wikilinks:incomplete_open_pipe-PyTokenizer] PASSED [ 42%] 512s tests/test_tokenizer.py::test_tokenizer[wikilinks:incomplete_open_pipe_text-PyTokenizer] PASSED [ 42%] 512s tests/test_tokenizer.py::test_tokenizer[wikilinks:incomplete_open_pipes_text-PyTokenizer] PASSED [ 42%] 512s tests/test_tokenizer.py::test_tokenizer[wikilinks:incomplete_open_partial_close-PyTokenizer] PASSED [ 42%] 512s tests/test_tokenizer.py::test_tokenizer[wikilinks:incomplete_preserve_previous-PyTokenizer] PASSED [ 42%] 512s tests/test_tokenizer.py::test_tokenizer[tags:basic-PyTokenizer] PASSED [ 42%] 512s tests/test_tokenizer.py::test_tokenizer[tags:basic_selfclosing-PyTokenizer] PASSED [ 42%] 512s tests/test_tokenizer.py::test_tokenizer[tags:content-PyTokenizer] PASSED [ 43%] 512s tests/test_tokenizer.py::test_tokenizer[tags:padded_open-PyTokenizer] PASSED [ 43%] 512s tests/test_tokenizer.py::test_tokenizer[tags:padded_close-PyTokenizer] PASSED [ 43%] 512s tests/test_tokenizer.py::test_tokenizer[tags:padded_selfclosing-PyTokenizer] PASSED [ 43%] 512s tests/test_tokenizer.py::test_tokenizer[tags:attribute-PyTokenizer] PASSED [ 43%] 512s tests/test_tokenizer.py::test_tokenizer[tags:attribute_value-PyTokenizer] PASSED [ 43%] 512s tests/test_tokenizer.py::test_tokenizer[tags:attribute_quoted-PyTokenizer] PASSED [ 43%] 512s tests/test_tokenizer.py::test_tokenizer[tags:attribute_single_quoted-PyTokenizer] PASSED [ 43%] 512s tests/test_tokenizer.py::test_tokenizer[tags:attribute_hyphen-PyTokenizer] PASSED [ 43%] 512s tests/test_tokenizer.py::test_tokenizer[tags:attribute_quoted_hyphen-PyTokenizer] PASSED [ 43%] 512s tests/test_tokenizer.py::test_tokenizer[tags:attribute_selfclosing-PyTokenizer] PASSED [ 43%] 512s tests/test_tokenizer.py::test_tokenizer[tags:attribute_selfclosing_value-PyTokenizer] PASSED [ 43%] 512s tests/test_tokenizer.py::test_tokenizer[tags:attribute_selfclosing_value_quoted-PyTokenizer] PASSED [ 43%] 512s tests/test_tokenizer.py::test_tokenizer[tags:nested_tag-PyTokenizer] PASSED [ 43%] 512s tests/test_tokenizer.py::test_tokenizer[tags:nested_tag_quoted-PyTokenizer] PASSED [ 43%] 512s tests/test_tokenizer.py::test_tokenizer[tags:nested_troll_tag-PyTokenizer] PASSED [ 44%] 512s tests/test_tokenizer.py::test_tokenizer[tags:nested_troll_tag_quoted-PyTokenizer] PASSED [ 44%] 512s tests/test_tokenizer.py::test_tokenizer[tags:nested_tag_selfclosing-PyTokenizer] PASSED [ 44%] 512s tests/test_tokenizer.py::test_tokenizer[tags:invalid_space_begin_open-PyTokenizer] PASSED [ 44%] 512s tests/test_tokenizer.py::test_tokenizer[tags:invalid_space_begin_close-PyTokenizer] PASSED [ 44%] 512s tests/test_tokenizer.py::test_tokenizer[tags:valid_space_end-PyTokenizer] PASSED [ 44%] 512s tests/test_tokenizer.py::test_tokenizer[tags:invalid_template_ends-PyTokenizer] PASSED [ 44%] 512s tests/test_tokenizer.py::test_tokenizer[tags:invalid_template_ends_nospace-PyTokenizer] PASSED [ 44%] 512s tests/test_tokenizer.py::test_tokenizer[tags:valid_template_end_open-PyTokenizer] PASSED [ 44%] 512s tests/test_tokenizer.py::test_tokenizer[tags:valid_template_end_open_space_end_close-PyTokenizer] PASSED [ 44%] 512s tests/test_tokenizer.py::test_tokenizer[tags:invalid_template_end_open_nospace-PyTokenizer] PASSED [ 44%] 512s tests/test_tokenizer.py::test_tokenizer[tags:invalid_template_start_close-PyTokenizer] PASSED [ 44%] 512s tests/test_tokenizer.py::test_tokenizer[tags:invalid_template_start_open-PyTokenizer] PASSED [ 44%] 512s tests/test_tokenizer.py::test_tokenizer[tags:unclosed_quote-PyTokenizer] PASSED [ 44%] 512s tests/test_tokenizer.py::test_tokenizer[tags:fake_quote-PyTokenizer] PASSED [ 45%] 512s tests/test_tokenizer.py::test_tokenizer[tags:fake_quote_complex-PyTokenizer] PASSED [ 45%] 512s tests/test_tokenizer.py::test_tokenizer[tags:quotes_in_quotes-PyTokenizer] PASSED [ 45%] 512s tests/test_tokenizer.py::test_tokenizer[tags:quotes_in_quotes_2-PyTokenizer] PASSED [ 45%] 512s tests/test_tokenizer.py::test_tokenizer[tags:quotes_in_quotes_3-PyTokenizer] PASSED [ 45%] 512s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_lbracket-PyTokenizer] PASSED [ 45%] 512s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_lbracket_junk-PyTokenizer] PASSED [ 45%] 512s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_unclosed_open-PyTokenizer] PASSED [ 45%] 512s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_unclosed_open_space-PyTokenizer] PASSED [ 45%] 512s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_unclosed_open_unnamed_attr-PyTokenizer] PASSED [ 45%] 512s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_unclosed_open_attr_equals-PyTokenizer] PASSED [ 45%] 512s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_unclosed_open_attr_equals_quoted-PyTokenizer] PASSED [ 45%] 512s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_unclosed_open_attr-PyTokenizer] PASSED [ 45%] 512s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_unclosed_open_attr_quoted-PyTokenizer] PASSED [ 45%] 512s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_open-PyTokenizer] PASSED [ 46%] 512s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_open_unnamed_attr-PyTokenizer] PASSED [ 46%] 512s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_open_attr_equals-PyTokenizer] PASSED [ 46%] 512s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_open_attr-PyTokenizer] PASSED [ 46%] 512s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_open_attr_quoted-PyTokenizer] PASSED [ 46%] 512s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_open_text-PyTokenizer] PASSED [ 46%] 512s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_open_attr_text-PyTokenizer] PASSED [ 46%] 512s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_open_text_lbracket-PyTokenizer] PASSED [ 46%] 512s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_open_text_lbracket_slash-PyTokenizer] PASSED [ 46%] 512s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_open_text_unclosed_close-PyTokenizer] PASSED [ 46%] 512s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_open_text_wrong_close-PyTokenizer] PASSED [ 46%] 512s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_unclosed_close-PyTokenizer] PASSED [ 46%] 512s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_unclosed_close_text-PyTokenizer] PASSED [ 46%] 512s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_close-PyTokenizer] PASSED [ 46%] 512s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_no_tag_name_open-PyTokenizer] PASSED [ 46%] 512s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_no_tag_name_selfclosing-PyTokenizer] PASSED [ 47%] 512s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_no_tag_name_open_close-PyTokenizer] PASSED [ 47%] 512s tests/test_tokenizer.py::test_tokenizer[tags:backslash_premature_before-PyTokenizer] PASSED [ 47%] 512s tests/test_tokenizer.py::test_tokenizer[tags:backslash_premature_after-PyTokenizer] PASSED [ 47%] 512s tests/test_tokenizer.py::test_tokenizer[tags:backslash_premature_middle-PyTokenizer] PASSED [ 47%] 512s tests/test_tokenizer.py::test_tokenizer[tags:backslash_adjacent-PyTokenizer] PASSED [ 47%] 512s tests/test_tokenizer.py::test_tokenizer[tags:backslash_endquote-PyTokenizer] PASSED [ 47%] 512s tests/test_tokenizer.py::test_tokenizer[tags:backslash_double-PyTokenizer] PASSED [ 47%] 512s tests/test_tokenizer.py::test_tokenizer[tags:backslash_triple-PyTokenizer] PASSED [ 47%] 512s tests/test_tokenizer.py::test_tokenizer[tags:backslash_unaffecting-PyTokenizer] PASSED [ 47%] 512s tests/test_tokenizer.py::test_tokenizer[tags:unparsable-PyTokenizer] PASSED [ 47%] 512s tests/test_tokenizer.py::test_tokenizer[tags:unparsable_complex-PyTokenizer] PASSED [ 47%] 512s tests/test_tokenizer.py::test_tokenizer[tags:unparsable_attributed-PyTokenizer] PASSED [ 47%] 512s tests/test_tokenizer.py::test_tokenizer[tags:unparsable_incomplete-PyTokenizer] PASSED [ 47%] 512s tests/test_tokenizer.py::test_tokenizer[tags:unparsable_entity-PyTokenizer] PASSED [ 48%] 512s tests/test_tokenizer.py::test_tokenizer[tags:unparsable_entity_incomplete-PyTokenizer] PASSED [ 48%] 512s tests/test_tokenizer.py::test_tokenizer[tags:unparsable_entity_incomplete_2-PyTokenizer] PASSED [ 48%] 512s tests/test_tokenizer.py::test_tokenizer[tags:single_open_close-PyTokenizer] PASSED [ 48%] 512s tests/test_tokenizer.py::test_tokenizer[tags:single_open-PyTokenizer] PASSED [ 48%] 512s tests/test_tokenizer.py::test_tokenizer[tags:single_selfclose-PyTokenizer] PASSED [ 48%] 512s tests/test_tokenizer.py::test_tokenizer[tags:single_close-PyTokenizer] PASSED [ 48%] 512s tests/test_tokenizer.py::test_tokenizer[tags:single_only_open_close-PyTokenizer] PASSED [ 48%] 512s tests/test_tokenizer.py::test_tokenizer[tags:single_only_open-PyTokenizer] PASSED [ 48%] 512s tests/test_tokenizer.py::test_tokenizer[tags:single_only_selfclose-PyTokenizer] PASSED [ 48%] 512s tests/test_tokenizer.py::test_tokenizer[tags:single_only_close-PyTokenizer] PASSED [ 48%] 512s tests/test_tokenizer.py::test_tokenizer[tags:single_only_double-PyTokenizer] PASSED [ 48%] 512s tests/test_tokenizer.py::test_tokenizer[tags:single_only_close_attribute-PyTokenizer] PASSED [ 48%] 512s tests/test_tokenizer.py::test_tokenizer[tags:capitalization-PyTokenizer] PASSED [ 48%] 512s tests/test_tokenizer.py::test_tokenizer[tags:unparsable_incomplete_close-PyTokenizer] PASSED [ 49%] 512s tests/test_tokenizer.py::test_tokenizer[tags:unparsable_with_intermediates-PyTokenizer] PASSED [ 49%] 512s tests/test_tokenizer.py::test_tokenizer[tags:unparsable_with_intermediates_normalize-PyTokenizer] PASSED [ 49%] 512s tests/test_tokenizer.py::test_tokenizer[tags:non_ascii_open-PyTokenizer] PASSED [ 49%] 512s tests/test_tokenizer.py::test_tokenizer[tags:non_ascii_full-PyTokenizer] PASSED [ 49%] 512s tests/test_tokenizer.py::test_tokenizer[tags:single_nested_selfclosing-PyTokenizer] PASSED [ 49%] 512s tests/test_tokenizer.py::test_tokenizer[tables:empty_table-PyTokenizer] PASSED [ 49%] 512s tests/test_tokenizer.py::test_tokenizer[tables:inline_table-PyTokenizer] PASSED [ 49%] 512s tests/test_tokenizer.py::test_tokenizer[tables:no_table_close_simple-PyTokenizer] PASSED [ 49%] 512s tests/test_tokenizer.py::test_tokenizer[tables:no_table_close_newline-PyTokenizer] PASSED [ 49%] 512s tests/test_tokenizer.py::test_tokenizer[tables:no_table_close_inside_cell-PyTokenizer] PASSED [ 49%] 512s tests/test_tokenizer.py::test_tokenizer[tables:no_table_close_inside_cell_after_newline-PyTokenizer] PASSED [ 49%] 512s tests/test_tokenizer.py::test_tokenizer[tables:no_table_close_inside_cell_with_attributes-PyTokenizer] PASSED [ 49%] 512s tests/test_tokenizer.py::test_tokenizer[tables:no_table_close_inside_row-PyTokenizer] PASSED [ 49%] 512s tests/test_tokenizer.py::test_tokenizer[tables:no_table_close_inside_row_after_newline-PyTokenizer] PASSED [ 50%] 512s tests/test_tokenizer.py::test_tokenizer[tables:no_table_close_row_and_cell-PyTokenizer] PASSED [ 50%] 512s tests/test_tokenizer.py::test_tokenizer[tables:no_table_close_attributes-PyTokenizer] PASSED [ 50%] 512s tests/test_tokenizer.py::test_tokenizer[tables:no_table_close_unclosed_attributes-PyTokenizer] PASSED [ 50%] 512s tests/test_tokenizer.py::test_tokenizer[tables:no_table_close_row_attributes-PyTokenizer] PASSED [ 50%] 512s tests/test_tokenizer.py::test_tokenizer[tables:no_table_close_cell-PyTokenizer] PASSED [ 50%] 512s tests/test_tokenizer.py::test_tokenizer[tables:crazy_no_table_close-PyTokenizer] PASSED [ 50%] 512s tests/test_tokenizer.py::test_tokenizer[tables:leading_whitespace_table-PyTokenizer] PASSED [ 50%] 512s tests/test_tokenizer.py::test_tokenizer[tables:whitespace_after_table-PyTokenizer] PASSED [ 50%] 512s tests/test_tokenizer.py::test_tokenizer[tables:different_whitespace_after_table-PyTokenizer] PASSED [ 50%] 512s tests/test_tokenizer.py::test_tokenizer[tables:characters_after_table-PyTokenizer] PASSED [ 50%] 512s tests/test_tokenizer.py::test_tokenizer[tables:characters_after_inline_table-PyTokenizer] PASSED [ 50%] 512s tests/test_tokenizer.py::test_tokenizer[tables:leading_characters_table-PyTokenizer] PASSED [ 50%] 512s tests/test_tokenizer.py::test_tokenizer[tables:table_row_simple-PyTokenizer] PASSED [ 50%] 512s tests/test_tokenizer.py::test_tokenizer[tables:table_row_multiple-PyTokenizer] PASSED [ 50%] 512s tests/test_tokenizer.py::test_tokenizer[tables:table_cell_simple-PyTokenizer] PASSED [ 51%] 512s tests/test_tokenizer.py::test_tokenizer[tables:table_cell_inline-PyTokenizer] PASSED [ 51%] 512s tests/test_tokenizer.py::test_tokenizer[tables:table_cell_multiple-PyTokenizer] PASSED [ 51%] 512s tests/test_tokenizer.py::test_tokenizer[tables:table_header_simple-PyTokenizer] PASSED [ 51%] 512s tests/test_tokenizer.py::test_tokenizer[tables:table_header_inline-PyTokenizer] PASSED [ 51%] 512s tests/test_tokenizer.py::test_tokenizer[tables:table_header_multiple-PyTokenizer] PASSED [ 51%] 512s tests/test_tokenizer.py::test_tokenizer[tables:nested_cells_and_rows-PyTokenizer] PASSED [ 51%] 512s tests/test_tokenizer.py::test_tokenizer[tables:table_cell_fake_close-PyTokenizer] PASSED [ 51%] 512s tests/test_tokenizer.py::test_tokenizer[tables:table_cell_more_fake_close-PyTokenizer] PASSED [ 51%] 512s tests/test_tokenizer.py::test_tokenizer[tables:table_cell_extra_close-PyTokenizer] PASSED [ 51%] 512s tests/test_tokenizer.py::test_tokenizer[tables:nowiki_inside_table-PyTokenizer] PASSED [ 51%] 512s tests/test_tokenizer.py::test_tokenizer[tables:table_text_outside_cell-PyTokenizer] PASSED [ 51%] 512s tests/test_tokenizer.py::test_tokenizer[tables:no_table_cell_with_leading_characters-PyTokenizer] PASSED [ 51%] 512s tests/test_tokenizer.py::test_tokenizer[tables:no_table_row_with_leading_characters-PyTokenizer] PASSED [ 51%] 512s tests/test_tokenizer.py::test_tokenizer[tables:template_inside_table_cell-PyTokenizer] PASSED [ 52%] 512s tests/test_tokenizer.py::test_tokenizer[tables:table_cell_attributes-PyTokenizer] PASSED [ 52%] 512s tests/test_tokenizer.py::test_tokenizer[tables:table_cell_empty_attributes-PyTokenizer] PASSED [ 52%] 512s tests/test_tokenizer.py::test_tokenizer[tables:table_cell_with_dash-PyTokenizer] PASSED [ 52%] 512s tests/test_tokenizer.py::test_tokenizer[tables:table_cell_attributes_quote_with_pipe-PyTokenizer] PASSED [ 52%] 512s tests/test_tokenizer.py::test_tokenizer[tables:table_cell_attributes_name_with_pipe-PyTokenizer] PASSED [ 52%] 512s tests/test_tokenizer.py::test_tokenizer[tables:table_cell_attributes_pipe_after_equals-PyTokenizer] PASSED [ 52%] 512s tests/test_tokenizer.py::test_tokenizer[tables:table_cell_attributes_templates-PyTokenizer] PASSED [ 52%] 512s tests/test_tokenizer.py::test_tokenizer[tables:header_cell_attributes-PyTokenizer] PASSED [ 52%] 512s tests/test_tokenizer.py::test_tokenizer[tables:inline_cell_attributes-PyTokenizer] PASSED [ 52%] 512s tests/test_tokenizer.py::test_tokenizer[tables:table_row_attributes-PyTokenizer] PASSED [ 52%] 512s tests/test_tokenizer.py::test_tokenizer[tables:table_row_attributes_crazy_whitespace-PyTokenizer] PASSED [ 52%] 512s tests/test_tokenizer.py::test_tokenizer[tables:table_attributes-PyTokenizer] PASSED [ 52%] 512s tests/test_tokenizer.py::test_tokenizer[tables:inline_table_attributes-PyTokenizer] PASSED [ 52%] 512s tests/test_tokenizer.py::test_tokenizer[tables:table_incorrect_attributes-PyTokenizer] PASSED [ 53%] 512s tests/test_tokenizer.py::test_tokenizer[tables:templates_in_table_attribute-PyTokenizer] PASSED [ 53%] 512s tests/test_tokenizer.py::test_tokenizer[tables:templates_in_table_attribute_2-PyTokenizer] PASSED [ 53%] 512s tests/test_tokenizer.py::test_tokenizer[tables:inappropriate_marker_at_line_start-PyTokenizer] PASSED [ 53%] 512s tests/test_tokenizer.py::test_tokenizer[tables:fake_close_near_start-PyTokenizer] PASSED [ 53%] 512s tests/test_tokenizer.py::test_tokenizer[tables:fake_close_near_start_2-PyTokenizer] PASSED [ 53%] 512s tests/test_tokenizer.py::test_tokenizer[tables:junk_after_table_start-PyTokenizer] PASSED [ 53%] 512s tests/test_tokenizer.py::test_tokenizer[tables:junk_after_table_row-PyTokenizer] PASSED [ 53%] 512s tests/test_tokenizer.py::test_tokenizer[tables:incomplete_nested_open_only-PyTokenizer] PASSED [ 53%] 512s tests/test_tokenizer.py::test_tokenizer[tables:incomplete_nested_open_and_row-PyTokenizer] PASSED [ 53%] 512s tests/test_tokenizer.py::test_tokenizer[comments:blank-PyTokenizer] PASSED [ 53%] 512s tests/test_tokenizer.py::test_tokenizer[comments:basic-PyTokenizer] PASSED [ 53%] 512s tests/test_tokenizer.py::test_tokenizer[comments:tons_of_nonsense-PyTokenizer] PASSED [ 53%] 512s tests/test_tokenizer.py::test_tokenizer[comments:incomplete_blank-PyTokenizer] PASSED [ 53%] 512s tests/test_tokenizer.py::test_tokenizer[comments:incomplete_text-PyTokenizer] PASSED [ 53%] 512s tests/test_tokenizer.py::test_tokenizer[comments:incomplete_partial_close-PyTokenizer] PASSED [ 54%] 512s tests/test_tokenizer.py::test_tokenizer[comments:incomplete_part_only-PyTokenizer] PASSED [ 54%] 512s tests/test_tokenizer.py::test_roundtrip[templates:no_params] PASSED [ 54%] 512s tests/test_tokenizer.py::test_roundtrip[templates:one_param_unnamed] PASSED [ 54%] 512s tests/test_tokenizer.py::test_roundtrip[templates:one_param_named] PASSED [ 54%] 512s tests/test_tokenizer.py::test_roundtrip[templates:multiple_unnamed_params] PASSED [ 54%] 512s tests/test_tokenizer.py::test_roundtrip[templates:multiple_named_params] PASSED [ 54%] 512s tests/test_tokenizer.py::test_roundtrip[templates:multiple_mixed_params] PASSED [ 54%] 512s tests/test_tokenizer.py::test_roundtrip[templates:multiple_mixed_params2] PASSED [ 54%] 512s tests/test_tokenizer.py::test_roundtrip[templates:blank_params] PASSED [ 54%] 512s tests/test_tokenizer.py::test_roundtrip[templates:nested_unnamed_param] PASSED [ 54%] 512s tests/test_tokenizer.py::test_roundtrip[templates:nested_named_param_value] PASSED [ 54%] 512s tests/test_tokenizer.py::test_roundtrip[templates:nested_named_param_name_and_value] PASSED [ 54%] 512s tests/test_tokenizer.py::test_roundtrip[templates:nested_name_start] PASSED [ 54%] 512s tests/test_tokenizer.py::test_roundtrip[templates:nested_name_start_unnamed_param] PASSED [ 55%] 512s tests/test_tokenizer.py::test_roundtrip[templates:nested_name_start_named_param_value] PASSED [ 55%] 512s tests/test_tokenizer.py::test_roundtrip[templates:nested_name_start_named_param_name_and_value] PASSED [ 55%] 512s tests/test_tokenizer.py::test_roundtrip[templates:nested_name_end] PASSED [ 55%] 512s tests/test_tokenizer.py::test_roundtrip[templates:nested_name_end_unnamed_param] PASSED [ 55%] 512s tests/test_tokenizer.py::test_roundtrip[templates:nested_name_end_named_param_value] PASSED [ 55%] 512s tests/test_tokenizer.py::test_roundtrip[templates:nested_name_end_named_param_name_and_value] PASSED [ 55%] 512s tests/test_tokenizer.py::test_roundtrip[templates:nested_name_mid] PASSED [ 55%] 512s tests/test_tokenizer.py::test_roundtrip[templates:nested_name_mid_unnamed_param] PASSED [ 55%] 512s tests/test_tokenizer.py::test_roundtrip[templates:nested_name_mid_named_param_value] PASSED [ 55%] 512s tests/test_tokenizer.py::test_roundtrip[templates:nested_name_mid_named_param_name_and_value] PASSED [ 55%] 512s tests/test_tokenizer.py::test_roundtrip[templates:nested_name_start_end] PASSED [ 55%] 512s tests/test_tokenizer.py::test_roundtrip[templates:nested_name_start_end_unnamed_param] PASSED [ 55%] 512s tests/test_tokenizer.py::test_roundtrip[templates:nested_name_start_end_named_param_value] PASSED [ 55%] 512s tests/test_tokenizer.py::test_roundtrip[templates:nested_name_start_end_named_param_name_and_value] PASSED [ 56%] 512s tests/test_tokenizer.py::test_roundtrip[templates:nested_names_multiple] PASSED [ 56%] 512s tests/test_tokenizer.py::test_roundtrip[templates:nested_names_multiple_unnamed_param] PASSED [ 56%] 512s tests/test_tokenizer.py::test_roundtrip[templates:nested_names_multiple_named_param_value] PASSED [ 56%] 512s tests/test_tokenizer.py::test_roundtrip[templates:nested_names_multiple_named_param_name_and_value] PASSED [ 56%] 512s tests/test_tokenizer.py::test_roundtrip[templates:mixed_nested_templates] PASSED [ 56%] 512s tests/test_tokenizer.py::test_roundtrip[templates:nested_two_args] PASSED [ 56%] 512s tests/test_tokenizer.py::test_roundtrip[templates:newlines_start] PASSED [ 56%] 512s tests/test_tokenizer.py::test_roundtrip[templates:newlines_end] PASSED [ 56%] 512s tests/test_tokenizer.py::test_roundtrip[templates:newlines_start_end] PASSED [ 56%] 512s tests/test_tokenizer.py::test_roundtrip[templates:newlines_mid] PASSED [ 56%] 512s tests/test_tokenizer.py::test_roundtrip[templates:newlines_start_mid] PASSED [ 56%] 512s tests/test_tokenizer.py::test_roundtrip[templates:newlines_mid_end] PASSED [ 56%] 512s tests/test_tokenizer.py::test_roundtrip[templates:newlines_start_mid_end] PASSED [ 56%] 512s tests/test_tokenizer.py::test_roundtrip[templates:newlines_unnamed_param] PASSED [ 56%] 512s tests/test_tokenizer.py::test_roundtrip[templates:newlines_enclose_template_name_unnamed_param] PASSED [ 57%] 512s tests/test_tokenizer.py::test_roundtrip[templates:newlines_within_template_name_unnamed_param] PASSED [ 57%] 512s tests/test_tokenizer.py::test_roundtrip[templates:newlines_enclose_template_name_named_param_value] PASSED [ 57%] 512s tests/test_tokenizer.py::test_roundtrip[templates:newlines_within_template_name_named_param_value] PASSED [ 57%] 512s tests/test_tokenizer.py::test_roundtrip[templates:newlines_named_param_name] PASSED [ 57%] 512s tests/test_tokenizer.py::test_roundtrip[templates:newlines_named_param_name_param_value] PASSED [ 57%] 512s tests/test_tokenizer.py::test_roundtrip[templates:newlines_enclose_template_name_named_param_name] PASSED [ 57%] 512s tests/test_tokenizer.py::test_roundtrip[templates:newlines_enclose_template_name_named_param_name_param_value] PASSED [ 57%] 512s tests/test_tokenizer.py::test_roundtrip[templates:newlines_within_template_name_named_param_name] PASSED [ 57%] 512s tests/test_tokenizer.py::test_roundtrip[templates:newlines_within_template_name_named_param_name_param_value] PASSED [ 57%] 512s tests/test_tokenizer.py::test_roundtrip[templates:newlines_wildcard] PASSED [ 57%] 512s tests/test_tokenizer.py::test_roundtrip[templates:newlines_wildcard_redux] PASSED [ 57%] 512s tests/test_tokenizer.py::test_roundtrip[templates:newlines_wildcard_redux_invalid] PASSED [ 57%] 512s tests/test_tokenizer.py::test_roundtrip[templates:newlines_spaces] PASSED [ 57%] 512s tests/test_tokenizer.py::test_roundtrip[templates:newlines_spaces_param] PASSED [ 58%] 512s tests/test_tokenizer.py::test_roundtrip[templates:invalid_blank] PASSED [ 58%] 512s tests/test_tokenizer.py::test_roundtrip[templates:invalid_blank_whitespace] PASSED [ 58%] 512s tests/test_tokenizer.py::test_roundtrip[templates:invalid_blank_pipe] PASSED [ 58%] 512s tests/test_tokenizer.py::test_roundtrip[templates:invalid_blank_whitespace_pipe] PASSED [ 58%] 512s tests/test_tokenizer.py::test_roundtrip[templates:invalid_name_left_brace_middle] PASSED [ 58%] 512s tests/test_tokenizer.py::test_roundtrip[templates:invalid_name_right_brace_middle] PASSED [ 58%] 512s tests/test_tokenizer.py::test_roundtrip[templates:invalid_name_left_braces] PASSED [ 58%] 512s tests/test_tokenizer.py::test_roundtrip[templates:invalid_name_left_bracket_middle] PASSED [ 58%] 512s tests/test_tokenizer.py::test_roundtrip[templates:invalid_name_right_bracket_middle] PASSED [ 58%] 512s tests/test_tokenizer.py::test_roundtrip[templates:invalid_name_left_bracket_start] PASSED [ 58%] 512s tests/test_tokenizer.py::test_roundtrip[templates:invalid_name_right_bracket_start] PASSED [ 58%] 512s tests/test_tokenizer.py::test_roundtrip[templates:valid_name_left_brace_start] PASSED [ 58%] 512s tests/test_tokenizer.py::test_roundtrip[templates:valid_unnamed_param_left_brace] PASSED [ 58%] 512s tests/test_tokenizer.py::test_roundtrip[templates:valid_unnamed_param_braces] PASSED [ 59%] 512s tests/test_tokenizer.py::test_roundtrip[templates:valid_param_name_braces] PASSED [ 59%] 512s tests/test_tokenizer.py::test_roundtrip[templates:valid_param_name_brackets] PASSED [ 59%] 512s tests/test_tokenizer.py::test_roundtrip[templates:valid_param_name_double_left_brackets] PASSED [ 59%] 512s tests/test_tokenizer.py::test_roundtrip[templates:valid_param_name_double_right_brackets] PASSED [ 59%] 512s tests/test_tokenizer.py::test_roundtrip[templates:valid_param_name_double_brackets] PASSED [ 59%] 512s tests/test_tokenizer.py::test_roundtrip[templates:invalid_param_name_double_left_braces] PASSED [ 59%] 512s tests/test_tokenizer.py::test_roundtrip[templates:invalid_param_name_double_braces] PASSED [ 59%] 512s tests/test_tokenizer.py::test_roundtrip[templates:invalid_left_angle_bracket] PASSED [ 59%] 512s tests/test_tokenizer.py::test_roundtrip[templates:invalid_right_angle_bracket] PASSED [ 59%] 512s tests/test_tokenizer.py::test_roundtrip[templates:incomplete_stub] PASSED [ 59%] 512s tests/test_tokenizer.py::test_roundtrip[templates:incomplete_plain] PASSED [ 59%] 512s tests/test_tokenizer.py::test_roundtrip[templates:incomplete_right_brace] PASSED [ 59%] 512s tests/test_tokenizer.py::test_roundtrip[templates:incomplete_pipe] PASSED [ 59%] 512s tests/test_tokenizer.py::test_roundtrip[templates:incomplete_unnamed_param] PASSED [ 59%] 512s tests/test_tokenizer.py::test_roundtrip[templates:incomplete_unnamed_param_pipe] PASSED [ 60%] 512s tests/test_tokenizer.py::test_roundtrip[templates:incomplete_valueless_param] PASSED [ 60%] 512s tests/test_tokenizer.py::test_roundtrip[templates:incomplete_valueless_param_pipe] PASSED [ 60%] 512s tests/test_tokenizer.py::test_roundtrip[templates:incomplete_named_param] PASSED [ 60%] 512s tests/test_tokenizer.py::test_roundtrip[templates:incomplete_named_param_pipe] PASSED [ 60%] 512s tests/test_tokenizer.py::test_roundtrip[templates:incomplete_two_unnamed_params] PASSED [ 60%] 512s tests/test_tokenizer.py::test_roundtrip[templates:incomplete_unnamed_param_valueless_param] PASSED [ 60%] 512s tests/test_tokenizer.py::test_roundtrip[templates:incomplete_unnamed_param_named_param] PASSED [ 60%] 512s tests/test_tokenizer.py::test_roundtrip[templates:incomplete_named_param_unnamed_param] PASSED [ 60%] 512s tests/test_tokenizer.py::test_roundtrip[templates:incomplete_named_param_valueless_param] PASSED [ 60%] 512s tests/test_tokenizer.py::test_roundtrip[templates:incomplete_two_named_params] PASSED [ 60%] 512s tests/test_tokenizer.py::test_roundtrip[templates:incomplete_nested_template_as_unnamed_param] PASSED [ 60%] 512s tests/test_tokenizer.py::test_roundtrip[templates:incomplete_nested_template_as_param_value] PASSED [ 60%] 512s tests/test_tokenizer.py::test_roundtrip[templates:recursion_five_hundred_opens] PASSED [ 60%] 512s tests/test_tokenizer.py::test_roundtrip[templates:recursion_one_hundred_opens] PASSED [ 61%] 512s tests/test_tokenizer.py::test_roundtrip[templates:recursion_opens_and_closes] PASSED [ 61%] 512s tests/test_tokenizer.py::test_roundtrip[templates:invalid_section_level_1] PASSED [ 61%] 512s tests/test_tokenizer.py::test_roundtrip[templates:section_level_2] PASSED [ 61%] 512s tests/test_tokenizer.py::test_roundtrip[templates:invalid_section_level_2] PASSED [ 61%] 512s tests/test_tokenizer.py::test_roundtrip[templates:section_level_2_after_template_parameter] PASSED [ 61%] 512s tests/test_tokenizer.py::test_roundtrip[text:basic] PASSED [ 61%] 512s tests/test_tokenizer.py::test_roundtrip[text:newlines] PASSED [ 61%] 512s tests/test_tokenizer.py::test_roundtrip[text:unicode] PASSED [ 61%] 512s tests/test_tokenizer.py::test_roundtrip[text:unicode2] PASSED [ 61%] 512s tests/test_tokenizer.py::test_roundtrip[text:large] PASSED [ 61%] 512s tests/test_tokenizer.py::test_roundtrip[arguments:blank] PASSED [ 61%] 512s tests/test_tokenizer.py::test_roundtrip[arguments:blank_with_default] PASSED [ 61%] 512s tests/test_tokenizer.py::test_roundtrip[arguments:basic] PASSED [ 61%] 512s tests/test_tokenizer.py::test_roundtrip[arguments:default] PASSED [ 62%] 512s tests/test_tokenizer.py::test_roundtrip[arguments:blank_with_multiple_defaults] PASSED [ 62%] 512s tests/test_tokenizer.py::test_roundtrip[arguments:multiple_defaults] PASSED [ 62%] 512s tests/test_tokenizer.py::test_roundtrip[arguments:newline] PASSED [ 62%] 512s tests/test_tokenizer.py::test_roundtrip[arguments:right_braces] PASSED [ 62%] 512s tests/test_tokenizer.py::test_roundtrip[arguments:right_braces_default] PASSED [ 62%] 512s tests/test_tokenizer.py::test_roundtrip[arguments:nested] PASSED [ 62%] 512s tests/test_tokenizer.py::test_roundtrip[arguments:invalid_braces] PASSED [ 62%] 512s tests/test_tokenizer.py::test_roundtrip[arguments:incomplete_open_only] PASSED [ 62%] 512s tests/test_tokenizer.py::test_roundtrip[arguments:incomplete_open_text] PASSED [ 62%] 512s tests/test_tokenizer.py::test_roundtrip[arguments:incomplete_open_text_pipe] PASSED [ 62%] 512s tests/test_tokenizer.py::test_roundtrip[arguments:incomplete_open_pipe] PASSED [ 62%] 512s tests/test_tokenizer.py::test_roundtrip[arguments:incomplete_open_pipe_text] PASSED [ 62%] 512s tests/test_tokenizer.py::test_roundtrip[arguments:incomplete_open_pipes_text] PASSED [ 62%] 512s tests/test_tokenizer.py::test_roundtrip[arguments:incomplete_open_partial_close] PASSED [ 62%] 512s tests/test_tokenizer.py::test_roundtrip[arguments:incomplete_preserve_previous] PASSED [ 63%] 512s tests/test_tokenizer.py::test_roundtrip[integration:empty] PASSED [ 63%] 512s tests/test_tokenizer.py::test_roundtrip[integration:template_argument_mix] PASSED [ 63%] 512s tests/test_tokenizer.py::test_roundtrip[integration:link_in_template_name] PASSED [ 63%] 512s tests/test_tokenizer.py::test_roundtrip[integration:rich_heading] PASSED [ 63%] 512s tests/test_tokenizer.py::test_roundtrip[integration:html_entity_with_template] PASSED [ 63%] 512s tests/test_tokenizer.py::test_roundtrip[integration:html_entity_with_comment] PASSED [ 63%] 512s tests/test_tokenizer.py::test_roundtrip[integration:rich_tags] PASSED [ 63%] 512s tests/test_tokenizer.py::test_roundtrip[integration:wildcard] PASSED [ 63%] 512s tests/test_tokenizer.py::test_roundtrip[integration:wildcard_redux] PASSED [ 63%] 512s tests/test_tokenizer.py::test_roundtrip[integration:link_inside_dl] PASSED [ 63%] 512s tests/test_tokenizer.py::test_roundtrip[integration:link_inside_dl_2] PASSED [ 63%] 512s tests/test_tokenizer.py::test_roundtrip[integration:link_inside_template] PASSED [ 63%] 512s tests/test_tokenizer.py::test_roundtrip[integration:link_inside_template_2] PASSED [ 63%] 512s tests/test_tokenizer.py::test_roundtrip[integration:link_inside_template_3] PASSED [ 64%] 512s tests/test_tokenizer.py::test_roundtrip[integration:link_inside_argument] PASSED [ 64%] 512s tests/test_tokenizer.py::test_roundtrip[integration:link_inside_heading] PASSED [ 64%] 512s tests/test_tokenizer.py::test_roundtrip[integration:link_inside_tag_body] PASSED [ 64%] 512s tests/test_tokenizer.py::test_roundtrip[integration:link_inside_tag_style] PASSED [ 64%] 512s tests/test_tokenizer.py::test_roundtrip[integration:style_tag_inside_link] PASSED [ 64%] 512s tests/test_tokenizer.py::test_roundtrip[integration:comment_inside_link] PASSED [ 64%] 512s tests/test_tokenizer.py::test_roundtrip[integration:bracketed_link_inside_template] PASSED [ 64%] 512s tests/test_tokenizer.py::test_roundtrip[integration:comment_inside_bracketed_link] PASSED [ 64%] 512s tests/test_tokenizer.py::test_roundtrip[integration:wikilink_inside_external_link] PASSED [ 64%] 512s tests/test_tokenizer.py::test_roundtrip[integration:external_link_inside_wikilink] PASSED [ 64%] 512s tests/test_tokenizer.py::test_roundtrip[integration:external_link_inside_wikilink_brackets] PASSED [ 64%] 512s tests/test_tokenizer.py::test_roundtrip[integration:external_link_inside_wikilink_title] PASSED [ 64%] 512s tests/test_tokenizer.py::test_roundtrip[integration:italics_inside_external_link_inside_incomplete_list] PASSED [ 64%] 512s tests/test_tokenizer.py::test_roundtrip[integration:nodes_inside_external_link_after_punct] PASSED [ 65%] 512s tests/test_tokenizer.py::test_roundtrip[integration:newline_and_comment_in_template_name] PASSED [ 65%] 512s tests/test_tokenizer.py::test_roundtrip[integration:newline_and_comment_in_template_name_2] PASSED [ 65%] 512s tests/test_tokenizer.py::test_roundtrip[integration:newline_and_comment_in_template_name_3] PASSED [ 65%] 512s tests/test_tokenizer.py::test_roundtrip[integration:newline_and_comment_in_template_name_4] PASSED [ 65%] 512s tests/test_tokenizer.py::test_roundtrip[integration:newline_and_comment_in_template_name_5] PASSED [ 65%] 512s tests/test_tokenizer.py::test_roundtrip[integration:newline_and_comment_in_template_name_6] PASSED [ 65%] 512s tests/test_tokenizer.py::test_roundtrip[integration:newline_and_comment_in_template_name_7] PASSED [ 65%] 512s tests/test_tokenizer.py::test_roundtrip[integration:newline_and_comment_in_template_name_8] PASSED [ 65%] 512s tests/test_tokenizer.py::test_roundtrip[integration:tag_in_link_title] PASSED [ 65%] 512s tests/test_tokenizer.py::test_roundtrip[integration:tag_in_template_name] PASSED [ 65%] 512s tests/test_tokenizer.py::test_roundtrip[integration:tag_in_link_text] PASSED [ 65%] 512s tests/test_tokenizer.py::test_roundtrip[integration:comment_in_link_title] PASSED [ 65%] 512s tests/test_tokenizer.py::test_roundtrip[integration:incomplete_comment_in_link_title] PASSED [ 65%] 512s tests/test_tokenizer.py::test_roundtrip[integration:incomplete_comment_in_link_title_2] PASSED [ 65%] 512s tests/test_tokenizer.py::test_roundtrip[integration:incomplete_comment_in_link_title_3] PASSED [ 66%] 512s tests/test_tokenizer.py::test_roundtrip[integration:incomplete_comment_in_link_title_4] PASSED [ 66%] 512s tests/test_tokenizer.py::test_roundtrip[integration:incomplete_comment_in_link_title_5] PASSED [ 66%] 512s tests/test_tokenizer.py::test_roundtrip[integration:incomplete_comment_in_link_title_6] PASSED [ 66%] 512s tests/test_tokenizer.py::test_roundtrip[integration:wikilink_to_external_link_fallback] PASSED [ 66%] 512s tests/test_tokenizer.py::test_roundtrip[integration:wikilink_to_external_link_fallback_2] PASSED [ 66%] 512s tests/test_tokenizer.py::test_roundtrip[integration:tables_in_templates] PASSED [ 66%] 512s tests/test_tokenizer.py::test_roundtrip[integration:tables_in_templates_2] PASSED [ 66%] 512s tests/test_tokenizer.py::test_roundtrip[integration:many_invalid_nested_tags] PASSED [ 66%] 512s tests/test_tokenizer.py::test_roundtrip[integration:nested_templates_and_style_tags] PASSED [ 66%] 512s tests/test_tokenizer.py::test_roundtrip[integration:wikilink_nested_with_nowiki] PASSED [ 66%] 512s tests/test_tokenizer.py::test_roundtrip[html_entities:named] PASSED [ 66%] 512s tests/test_tokenizer.py::test_roundtrip[html_entities:numeric_decimal] PASSED [ 66%] 512s tests/test_tokenizer.py::test_roundtrip[html_entities:numeric_hexadecimal_x] PASSED [ 66%] 512s tests/test_tokenizer.py::test_roundtrip[html_entities:numeric_hexadecimal_X] PASSED [ 67%] 512s tests/test_tokenizer.py::test_roundtrip[html_entities:numeric_decimal_max] PASSED [ 67%] 512s tests/test_tokenizer.py::test_roundtrip[html_entities:numeric_hex_max] PASSED [ 67%] 512s tests/test_tokenizer.py::test_roundtrip[html_entities:numeric_zeros] PASSED [ 67%] 512s tests/test_tokenizer.py::test_roundtrip[html_entities:numeric_hex_zeros] PASSED [ 67%] 512s tests/test_tokenizer.py::test_roundtrip[html_entities:invalid_named_too_long] PASSED [ 67%] 512s tests/test_tokenizer.py::test_roundtrip[html_entities:invalid_named_undefined] PASSED [ 67%] 512s tests/test_tokenizer.py::test_roundtrip[html_entities:invalid_named_nonascii] PASSED [ 67%] 512s tests/test_tokenizer.py::test_roundtrip[html_entities:invalid_numeric_out_of_range_1] PASSED [ 67%] 512s tests/test_tokenizer.py::test_roundtrip[html_entities:invalid_numeric_out_of_range_2] PASSED [ 67%] 512s tests/test_tokenizer.py::test_roundtrip[html_entities:invalid_numeric_out_of_range_3] PASSED [ 67%] 512s tests/test_tokenizer.py::test_roundtrip[html_entities:invalid_numeric_out_of_range_4] PASSED [ 67%] 512s tests/test_tokenizer.py::test_roundtrip[html_entities:invalid_partial_amp] PASSED [ 67%] 512s tests/test_tokenizer.py::test_roundtrip[html_entities:invalid_partial_amp_semicolon] PASSED [ 67%] 512s tests/test_tokenizer.py::test_roundtrip[html_entities:invalid_partial_amp_pound] PASSED [ 68%] 512s tests/test_tokenizer.py::test_roundtrip[html_entities:invalid_partial_amp_pound_x] PASSED [ 68%] 512s tests/test_tokenizer.py::test_roundtrip[html_entities:invalid_partial_amp_pound_semicolon] PASSED [ 68%] 512s tests/test_tokenizer.py::test_roundtrip[html_entities:invalid_partial_amp_pound_x_semicolon0] PASSED [ 68%] 512s tests/test_tokenizer.py::test_roundtrip[html_entities:invalid_partial_amp_pound_numbers] PASSED [ 68%] 512s tests/test_tokenizer.py::test_roundtrip[html_entities:invalid_partial_amp_pound_x_semicolon1] PASSED [ 68%] 512s tests/test_tokenizer.py::test_roundtrip[html_entities:invalid_zeros_before_named] PASSED [ 68%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:basic] PASSED [ 68%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:basic_brackets] PASSED [ 68%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_space] PASSED [ 68%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_title] PASSED [ 68%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_multiword_title] PASSED [ 68%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_adjacent] PASSED [ 68%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_newline_before] PASSED [ 68%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_newline_inside] PASSED [ 68%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_newline_after] PASSED [ 69%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_space_before] PASSED [ 69%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_title_like_url] PASSED [ 69%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_recursive] PASSED [ 69%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_recursive_2] PASSED [ 69%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:period_after] PASSED [ 69%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:colons_after] PASSED [ 69%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:close_paren_after_excluded] PASSED [ 69%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:close_paren_after_included] PASSED [ 69%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:open_bracket_inside] PASSED [ 69%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_period_after] PASSED [ 69%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_punct_after] PASSED [ 69%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_close_paren_after_included] PASSED [ 69%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_close_paren_after_included_2] PASSED [ 69%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_open_bracket_inside] PASSED [ 70%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:adjacent_space] PASSED [ 70%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:adjacent_newline] PASSED [ 70%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:adjacent_close_bracket] PASSED [ 70%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:html_entity_in_url] PASSED [ 70%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:template_in_url] PASSED [ 70%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:argument_in_url] PASSED [ 70%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:wikilink_in_url] PASSED [ 70%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:external_link_in_url] PASSED [ 70%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:spaces_padding] PASSED [ 70%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:text_and_spaces_padding] PASSED [ 70%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:template_before] PASSED [ 70%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:spaces_padding_no_slashes] PASSED [ 70%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:text_and_spaces_padding_no_slashes] PASSED [ 70%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:template_before_no_slashes] PASSED [ 71%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:no_slashes] PASSED [ 71%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:slashes_optional] PASSED [ 71%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:short] PASSED [ 71%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:slashes_missing] PASSED [ 71%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:no_scheme_but_slashes] PASSED [ 71%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:no_scheme_but_colon] PASSED [ 71%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:no_scheme_but_colon_and_slashes] PASSED [ 71%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:fake_scheme_no_slashes] PASSED [ 71%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:fake_scheme_slashes] PASSED [ 71%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:fake_scheme_brackets_no_slashes] PASSED [ 71%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:fake_scheme_brackets_slashes] PASSED [ 71%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:interrupted_scheme] PASSED [ 71%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:interrupted_scheme_brackets] PASSED [ 71%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:no_slashes_brackets] PASSED [ 71%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:space_before_no_slashes_brackets] PASSED [ 72%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:slashes_optional_brackets] PASSED [ 72%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:short_brackets] PASSED [ 72%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:slashes_missing_brackets] PASSED [ 72%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:protcol_relative] PASSED [ 72%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:scheme_missing_but_colon_brackets] PASSED [ 72%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:scheme_missing_but_colon_slashes_brackets] PASSED [ 72%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:unclosed_protocol_relative] PASSED [ 72%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:space_before_protcol_relative] PASSED [ 72%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:unclosed_just_scheme] PASSED [ 72%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:unclosed_scheme_colon] PASSED [ 72%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:unclosed_scheme_colon_slashes] PASSED [ 72%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:incomplete_bracket] PASSED [ 72%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:incomplete_scheme_colon] PASSED [ 72%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:incomplete_scheme_colon_slashes] PASSED [ 73%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_scheme_but_no_url] PASSED [ 73%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_scheme_slashes_but_no_url] PASSED [ 73%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_scheme_title_but_no_url] PASSED [ 73%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:url_preceded_by_non_word_character] PASSED [ 73%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:url_preceded_by_underscore] PASSED [ 73%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:url_terminated_by_double_quote] PASSED [ 73%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:url_not_terminated_by_single_quote] PASSED [ 73%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:url_terminated_by_two_single_quotes] PASSED [ 73%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:url_terminated_by_left_angle] PASSED [ 73%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:url_terminated_by_right_angle] PASSED [ 73%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_terminated_by_double_quote] PASSED [ 73%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_not_terminated_by_single_quote] PASSED [ 73%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_terminated_by_two_single_quotes] PASSED [ 73%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_terminated_by_left_angle] PASSED [ 74%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_terminated_by_right_angle] PASSED [ 74%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:scheme_case] PASSED [ 74%] 512s tests/test_tokenizer.py::test_roundtrip[external_links:bracket_scheme_case] PASSED [ 74%] 512s tests/test_tokenizer.py::test_roundtrip[headings:level_1] PASSED [ 74%] 512s tests/test_tokenizer.py::test_roundtrip[headings:level_2] PASSED [ 74%] 512s tests/test_tokenizer.py::test_roundtrip[headings:level_3] PASSED [ 74%] 512s tests/test_tokenizer.py::test_roundtrip[headings:level_4] PASSED [ 74%] 512s tests/test_tokenizer.py::test_roundtrip[headings:level_5] PASSED [ 74%] 512s tests/test_tokenizer.py::test_roundtrip[headings:level_6] PASSED [ 74%] 512s tests/test_tokenizer.py::test_roundtrip[headings:level_7] PASSED [ 74%] 512s tests/test_tokenizer.py::test_roundtrip[headings:level_3_2] PASSED [ 74%] 512s tests/test_tokenizer.py::test_roundtrip[headings:level_4_6] PASSED [ 74%] 512s tests/test_tokenizer.py::test_roundtrip[headings:newline_before] PASSED [ 74%] 512s tests/test_tokenizer.py::test_roundtrip[headings:text_after] PASSED [ 75%] 512s tests/test_tokenizer.py::test_roundtrip[headings:invalid_text_before] PASSED [ 75%] 512s tests/test_tokenizer.py::test_roundtrip[headings:invalid_newline_middle] PASSED [ 75%] 512s tests/test_tokenizer.py::test_roundtrip[headings:invalid_newline_end] PASSED [ 75%] 512s tests/test_tokenizer.py::test_roundtrip[headings:invalid_nesting] PASSED [ 75%] 512s tests/test_tokenizer.py::test_roundtrip[headings:incomplete] PASSED [ 75%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:basic_italics] PASSED [ 75%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:basic_bold] PASSED [ 75%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:basic_ul] PASSED [ 75%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:basic_ol] PASSED [ 75%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:basic_dt] PASSED [ 75%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:basic_dd] PASSED [ 75%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:basic_hr] PASSED [ 75%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:complex_italics] PASSED [ 75%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:multiline_italics] PASSED [ 75%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:unending_italics] PASSED [ 76%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:misleading_italics_end] PASSED [ 76%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:italics_start_outside_end_inside] PASSED [ 76%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:italics_start_inside_end_outside] PASSED [ 76%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:complex_bold] PASSED [ 76%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:multiline_bold] PASSED [ 76%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:unending_bold] PASSED [ 76%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:misleading_bold_end] PASSED [ 76%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:bold_start_outside_end_inside] PASSED [ 76%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:bold_start_inside_end_outside] PASSED [ 76%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:bold_and_italics] PASSED [ 76%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:both_then_bold] PASSED [ 76%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:both_then_italics] PASSED [ 76%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:bold_then_both] PASSED [ 76%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:italics_then_both] PASSED [ 77%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:italics_then_bold] PASSED [ 77%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:bold_then_italics] PASSED [ 77%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:five_three] PASSED [ 77%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:five_two] PASSED [ 77%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:four] PASSED [ 77%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:four_two] PASSED [ 77%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:two_three] PASSED [ 77%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:two_four] PASSED [ 77%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:two_three_two] PASSED [ 77%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:two_four_four] PASSED [ 77%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:seven] PASSED [ 77%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:unending_bold_and_italics] PASSED [ 77%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:complex_ul] PASSED [ 77%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:ul_multiline_template] PASSED [ 78%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:ul_adjacent] PASSED [ 78%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:ul_depths] PASSED [ 78%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:ul_space_before] PASSED [ 78%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:ul_interruption] PASSED [ 78%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:complex_ol] PASSED [ 78%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:ol_multiline_template] PASSED [ 78%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:ol_adjacent] PASSED [ 78%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:ol_depths] PASSED [ 78%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:ol_space_before] PASSED [ 78%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:ol_interruption] PASSED [ 78%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:ul_ol_mix] PASSED [ 78%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:complex_dt] PASSED [ 78%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:dt_multiline_template] PASSED [ 78%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:dt_adjacent] PASSED [ 78%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:dt_depths] PASSED [ 79%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:dt_space_before] PASSED [ 79%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:dt_interruption] PASSED [ 79%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:complex_dd] PASSED [ 79%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:dd_multiline_template] PASSED [ 79%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:dd_adjacent] PASSED [ 79%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:dd_depths] PASSED [ 79%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:dd_space_before] PASSED [ 79%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:dd_interruption] PASSED [ 79%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:dt_dd_mix] PASSED [ 79%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:dt_dd_mix2] PASSED [ 79%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:dt_dd_mix3] PASSED [ 79%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:dt_dd_mix4] PASSED [ 79%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:ul_ol_dt_dd_mix] PASSED [ 79%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:hr_text_before] PASSED [ 80%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:hr_text_after] PASSED [ 80%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:hr_text_before_after] PASSED [ 80%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:hr_newlines] PASSED [ 80%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:hr_adjacent] PASSED [ 80%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:hr_adjacent_space] PASSED [ 80%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:hr_short] PASSED [ 80%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:hr_long] PASSED [ 80%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:hr_interruption_short] PASSED [ 80%] 512s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:hr_interruption_long] PASSED [ 80%] 513s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:nowiki_cancel] PASSED [ 80%] 513s tests/test_tokenizer.py::test_roundtrip[wikilinks:blank] PASSED [ 80%] 513s tests/test_tokenizer.py::test_roundtrip[wikilinks:blank_with_text] PASSED [ 80%] 513s tests/test_tokenizer.py::test_roundtrip[wikilinks:basic] PASSED [ 80%] 513s tests/test_tokenizer.py::test_roundtrip[wikilinks:with_text] PASSED [ 81%] 513s tests/test_tokenizer.py::test_roundtrip[wikilinks:blank_with_multiple_texts] PASSED [ 81%] 513s tests/test_tokenizer.py::test_roundtrip[wikilinks:multiple_texts] PASSED [ 81%] 513s tests/test_tokenizer.py::test_roundtrip[wikilinks:newline_text] PASSED [ 81%] 513s tests/test_tokenizer.py::test_roundtrip[wikilinks:bracket_text] PASSED [ 81%] 513s tests/test_tokenizer.py::test_roundtrip[wikilinks:nested] PASSED [ 81%] 513s tests/test_tokenizer.py::test_roundtrip[wikilinks:nested_padding] PASSED [ 81%] 513s tests/test_tokenizer.py::test_roundtrip[wikilinks:invalid_newline] PASSED [ 81%] 513s tests/test_tokenizer.py::test_roundtrip[wikilinks:invalid_right_brace] PASSED [ 81%] 513s tests/test_tokenizer.py::test_roundtrip[wikilinks:invalid_left_brace] PASSED [ 81%] 513s tests/test_tokenizer.py::test_roundtrip[wikilinks:invalid_right_bracket] PASSED [ 81%] 513s tests/test_tokenizer.py::test_roundtrip[wikilinks:invalid_left_bracket] PASSED [ 81%] 513s tests/test_tokenizer.py::test_roundtrip[wikilinks:invalid_nested_title] PASSED [ 81%] 513s tests/test_tokenizer.py::test_roundtrip[wikilinks:invalid_nested_title_and_text] PASSED [ 81%] 513s tests/test_tokenizer.py::test_roundtrip[wikilinks:invalid_nested_no_close] PASSED [ 81%] 513s tests/test_tokenizer.py::test_roundtrip[wikilinks:invalid_left_angle_bracket] PASSED [ 82%] 513s tests/test_tokenizer.py::test_roundtrip[wikilinks:invalid_right_angle_bracket] PASSED [ 82%] 513s tests/test_tokenizer.py::test_roundtrip[wikilinks:invalid_newline_at_start] PASSED [ 82%] 513s tests/test_tokenizer.py::test_roundtrip[wikilinks:invalid_newline_at_end] PASSED [ 82%] 513s tests/test_tokenizer.py::test_roundtrip[wikilinks:incomplete_open_only] PASSED [ 82%] 513s tests/test_tokenizer.py::test_roundtrip[wikilinks:incomplete_open_text] PASSED [ 82%] 513s tests/test_tokenizer.py::test_roundtrip[wikilinks:incomplete_open_text_pipe] PASSED [ 82%] 513s tests/test_tokenizer.py::test_roundtrip[wikilinks:incomplete_open_pipe] PASSED [ 82%] 513s tests/test_tokenizer.py::test_roundtrip[wikilinks:incomplete_open_pipe_text] PASSED [ 82%] 513s tests/test_tokenizer.py::test_roundtrip[wikilinks:incomplete_open_pipes_text] PASSED [ 82%] 513s tests/test_tokenizer.py::test_roundtrip[wikilinks:incomplete_open_partial_close] PASSED [ 82%] 513s tests/test_tokenizer.py::test_roundtrip[wikilinks:incomplete_preserve_previous] PASSED [ 82%] 513s tests/test_tokenizer.py::test_roundtrip[tags:basic] PASSED [ 82%] 513s tests/test_tokenizer.py::test_roundtrip[tags:basic_selfclosing] PASSED [ 82%] 513s tests/test_tokenizer.py::test_roundtrip[tags:content] PASSED [ 83%] 513s tests/test_tokenizer.py::test_roundtrip[tags:padded_open] PASSED [ 83%] 513s tests/test_tokenizer.py::test_roundtrip[tags:padded_close] PASSED [ 83%] 513s tests/test_tokenizer.py::test_roundtrip[tags:padded_selfclosing] PASSED [ 83%] 513s tests/test_tokenizer.py::test_roundtrip[tags:attribute] PASSED [ 83%] 513s tests/test_tokenizer.py::test_roundtrip[tags:attribute_value] PASSED [ 83%] 513s tests/test_tokenizer.py::test_roundtrip[tags:attribute_quoted] PASSED [ 83%] 513s tests/test_tokenizer.py::test_roundtrip[tags:attribute_single_quoted] PASSED [ 83%] 513s tests/test_tokenizer.py::test_roundtrip[tags:attribute_hyphen] PASSED [ 83%] 513s tests/test_tokenizer.py::test_roundtrip[tags:attribute_quoted_hyphen] PASSED [ 83%] 513s tests/test_tokenizer.py::test_roundtrip[tags:attribute_selfclosing] PASSED [ 83%] 513s tests/test_tokenizer.py::test_roundtrip[tags:attribute_selfclosing_value] PASSED [ 83%] 513s tests/test_tokenizer.py::test_roundtrip[tags:attribute_selfclosing_value_quoted] PASSED [ 83%] 513s tests/test_tokenizer.py::test_roundtrip[tags:nested_tag] PASSED [ 83%] 513s tests/test_tokenizer.py::test_roundtrip[tags:nested_tag_quoted] PASSED [ 84%] 513s tests/test_tokenizer.py::test_roundtrip[tags:nested_troll_tag] PASSED [ 84%] 513s tests/test_tokenizer.py::test_roundtrip[tags:nested_troll_tag_quoted] PASSED [ 84%] 513s tests/test_tokenizer.py::test_roundtrip[tags:nested_tag_selfclosing] PASSED [ 84%] 513s tests/test_tokenizer.py::test_roundtrip[tags:invalid_space_begin_open] PASSED [ 84%] 513s tests/test_tokenizer.py::test_roundtrip[tags:invalid_space_begin_close] PASSED [ 84%] 513s tests/test_tokenizer.py::test_roundtrip[tags:valid_space_end] PASSED [ 84%] 513s tests/test_tokenizer.py::test_roundtrip[tags:invalid_template_ends] PASSED [ 84%] 513s tests/test_tokenizer.py::test_roundtrip[tags:invalid_template_ends_nospace] PASSED [ 84%] 513s tests/test_tokenizer.py::test_roundtrip[tags:valid_template_end_open] PASSED [ 84%] 513s tests/test_tokenizer.py::test_roundtrip[tags:valid_template_end_open_space_end_close] PASSED [ 84%] 513s tests/test_tokenizer.py::test_roundtrip[tags:invalid_template_end_open_nospace] PASSED [ 84%] 513s tests/test_tokenizer.py::test_roundtrip[tags:invalid_template_start_close] PASSED [ 84%] 513s tests/test_tokenizer.py::test_roundtrip[tags:invalid_template_start_open] PASSED [ 84%] 513s tests/test_tokenizer.py::test_roundtrip[tags:unclosed_quote] PASSED [ 84%] 513s tests/test_tokenizer.py::test_roundtrip[tags:fake_quote] PASSED [ 85%] 513s tests/test_tokenizer.py::test_roundtrip[tags:fake_quote_complex] PASSED [ 85%] 513s tests/test_tokenizer.py::test_roundtrip[tags:quotes_in_quotes] PASSED [ 85%] 513s tests/test_tokenizer.py::test_roundtrip[tags:quotes_in_quotes_2] PASSED [ 85%] 513s tests/test_tokenizer.py::test_roundtrip[tags:quotes_in_quotes_3] PASSED [ 85%] 513s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_lbracket] PASSED [ 85%] 513s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_lbracket_junk] PASSED [ 85%] 513s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_unclosed_open] PASSED [ 85%] 513s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_unclosed_open_space] PASSED [ 85%] 513s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_unclosed_open_unnamed_attr] PASSED [ 85%] 513s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_unclosed_open_attr_equals] PASSED [ 85%] 513s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_unclosed_open_attr_equals_quoted] PASSED [ 85%] 513s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_unclosed_open_attr] PASSED [ 85%] 513s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_unclosed_open_attr_quoted] PASSED [ 85%] 513s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_open] PASSED [ 86%] 513s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_open_unnamed_attr] PASSED [ 86%] 513s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_open_attr_equals] PASSED [ 86%] 513s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_open_attr] PASSED [ 86%] 513s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_open_attr_quoted] PASSED [ 86%] 513s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_open_text] PASSED [ 86%] 513s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_open_attr_text] PASSED [ 86%] 513s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_open_text_lbracket] PASSED [ 86%] 513s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_open_text_lbracket_slash] PASSED [ 86%] 513s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_open_text_unclosed_close] PASSED [ 86%] 513s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_open_text_wrong_close] PASSED [ 86%] 513s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_unclosed_close] PASSED [ 86%] 513s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_unclosed_close_text] PASSED [ 86%] 513s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_close] PASSED [ 86%] 513s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_no_tag_name_open] PASSED [ 87%] 513s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_no_tag_name_selfclosing] PASSED [ 87%] 513s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_no_tag_name_open_close] PASSED [ 87%] 513s tests/test_tokenizer.py::test_roundtrip[tags:backslash_premature_before] PASSED [ 87%] 513s tests/test_tokenizer.py::test_roundtrip[tags:backslash_premature_after] PASSED [ 87%] 513s tests/test_tokenizer.py::test_roundtrip[tags:backslash_premature_middle] PASSED [ 87%] 513s tests/test_tokenizer.py::test_roundtrip[tags:backslash_adjacent] PASSED [ 87%] 513s tests/test_tokenizer.py::test_roundtrip[tags:backslash_endquote] PASSED [ 87%] 513s tests/test_tokenizer.py::test_roundtrip[tags:backslash_double] PASSED [ 87%] 513s tests/test_tokenizer.py::test_roundtrip[tags:backslash_triple] PASSED [ 87%] 513s tests/test_tokenizer.py::test_roundtrip[tags:backslash_unaffecting] PASSED [ 87%] 513s tests/test_tokenizer.py::test_roundtrip[tags:unparsable] PASSED [ 87%] 513s tests/test_tokenizer.py::test_roundtrip[tags:unparsable_complex] PASSED [ 87%] 513s tests/test_tokenizer.py::test_roundtrip[tags:unparsable_attributed] PASSED [ 87%] 513s tests/test_tokenizer.py::test_roundtrip[tags:unparsable_incomplete] PASSED [ 87%] 513s tests/test_tokenizer.py::test_roundtrip[tags:unparsable_entity] PASSED [ 88%] 513s tests/test_tokenizer.py::test_roundtrip[tags:unparsable_entity_incomplete] PASSED [ 88%] 513s tests/test_tokenizer.py::test_roundtrip[tags:unparsable_entity_incomplete_2] PASSED [ 88%] 513s tests/test_tokenizer.py::test_roundtrip[tags:single_open_close] PASSED [ 88%] 513s tests/test_tokenizer.py::test_roundtrip[tags:single_open] PASSED [ 88%] 513s tests/test_tokenizer.py::test_roundtrip[tags:single_selfclose] PASSED [ 88%] 513s tests/test_tokenizer.py::test_roundtrip[tags:single_close] PASSED [ 88%] 513s tests/test_tokenizer.py::test_roundtrip[tags:single_only_open_close] PASSED [ 88%] 513s tests/test_tokenizer.py::test_roundtrip[tags:single_only_open] PASSED [ 88%] 513s tests/test_tokenizer.py::test_roundtrip[tags:single_only_selfclose] PASSED [ 88%] 513s tests/test_tokenizer.py::test_roundtrip[tags:single_only_close] PASSED [ 88%] 513s tests/test_tokenizer.py::test_roundtrip[tags:single_only_double] PASSED [ 88%] 513s tests/test_tokenizer.py::test_roundtrip[tags:single_only_close_attribute] PASSED [ 88%] 513s tests/test_tokenizer.py::test_roundtrip[tags:capitalization] PASSED [ 88%] 513s tests/test_tokenizer.py::test_roundtrip[tags:unparsable_incomplete_close] PASSED [ 89%] 513s tests/test_tokenizer.py::test_roundtrip[tags:unparsable_with_intermediates] PASSED [ 89%] 513s tests/test_tokenizer.py::test_roundtrip[tags:unparsable_with_intermediates_normalize] PASSED [ 89%] 513s tests/test_tokenizer.py::test_roundtrip[tags:non_ascii_open] PASSED [ 89%] 513s tests/test_tokenizer.py::test_roundtrip[tags:non_ascii_full] PASSED [ 89%] 513s tests/test_tokenizer.py::test_roundtrip[tags:single_nested_selfclosing] PASSED [ 89%] 513s tests/test_tokenizer.py::test_roundtrip[tables:empty_table] PASSED [ 89%] 513s tests/test_tokenizer.py::test_roundtrip[tables:inline_table] PASSED [ 89%] 513s tests/test_tokenizer.py::test_roundtrip[tables:no_table_close_simple] PASSED [ 89%] 513s tests/test_tokenizer.py::test_roundtrip[tables:no_table_close_newline] PASSED [ 89%] 513s tests/test_tokenizer.py::test_roundtrip[tables:no_table_close_inside_cell] PASSED [ 89%] 513s tests/test_tokenizer.py::test_roundtrip[tables:no_table_close_inside_cell_after_newline] PASSED [ 89%] 513s tests/test_tokenizer.py::test_roundtrip[tables:no_table_close_inside_cell_with_attributes] PASSED [ 89%] 513s tests/test_tokenizer.py::test_roundtrip[tables:no_table_close_inside_row] PASSED [ 89%] 513s tests/test_tokenizer.py::test_roundtrip[tables:no_table_close_inside_row_after_newline] PASSED [ 90%] 513s tests/test_tokenizer.py::test_roundtrip[tables:no_table_close_row_and_cell] PASSED [ 90%] 513s tests/test_tokenizer.py::test_roundtrip[tables:no_table_close_attributes] PASSED [ 90%] 513s tests/test_tokenizer.py::test_roundtrip[tables:no_table_close_unclosed_attributes] PASSED [ 90%] 513s tests/test_tokenizer.py::test_roundtrip[tables:no_table_close_row_attributes] PASSED [ 90%] 513s tests/test_tokenizer.py::test_roundtrip[tables:no_table_close_cell] PASSED [ 90%] 513s tests/test_tokenizer.py::test_roundtrip[tables:crazy_no_table_close] PASSED [ 90%] 513s tests/test_tokenizer.py::test_roundtrip[tables:leading_whitespace_table] PASSED [ 90%] 513s tests/test_tokenizer.py::test_roundtrip[tables:whitespace_after_table] PASSED [ 90%] 513s tests/test_tokenizer.py::test_roundtrip[tables:different_whitespace_after_table] PASSED [ 90%] 513s tests/test_tokenizer.py::test_roundtrip[tables:characters_after_table] PASSED [ 90%] 513s tests/test_tokenizer.py::test_roundtrip[tables:characters_after_inline_table] PASSED [ 90%] 513s tests/test_tokenizer.py::test_roundtrip[tables:leading_characters_table] PASSED [ 90%] 513s tests/test_tokenizer.py::test_roundtrip[tables:table_row_simple] PASSED [ 90%] 513s tests/test_tokenizer.py::test_roundtrip[tables:table_row_multiple] PASSED [ 90%] 513s tests/test_tokenizer.py::test_roundtrip[tables:table_cell_simple] PASSED [ 91%] 513s tests/test_tokenizer.py::test_roundtrip[tables:table_cell_inline] PASSED [ 91%] 513s tests/test_tokenizer.py::test_roundtrip[tables:table_cell_multiple] PASSED [ 91%] 513s tests/test_tokenizer.py::test_roundtrip[tables:table_header_simple] PASSED [ 91%] 513s tests/test_tokenizer.py::test_roundtrip[tables:table_header_inline] PASSED [ 91%] 513s tests/test_tokenizer.py::test_roundtrip[tables:table_header_multiple] PASSED [ 91%] 513s tests/test_tokenizer.py::test_roundtrip[tables:nested_cells_and_rows] PASSED [ 91%] 513s tests/test_tokenizer.py::test_roundtrip[tables:table_cell_fake_close] PASSED [ 91%] 513s tests/test_tokenizer.py::test_roundtrip[tables:table_cell_more_fake_close] PASSED [ 91%] 513s tests/test_tokenizer.py::test_roundtrip[tables:table_cell_extra_close] PASSED [ 91%] 513s tests/test_tokenizer.py::test_roundtrip[tables:nowiki_inside_table] PASSED [ 91%] 513s tests/test_tokenizer.py::test_roundtrip[tables:table_text_outside_cell] PASSED [ 91%] 513s tests/test_tokenizer.py::test_roundtrip[tables:no_table_cell_with_leading_characters] PASSED [ 91%] 513s tests/test_tokenizer.py::test_roundtrip[tables:no_table_row_with_leading_characters] PASSED [ 91%] 513s tests/test_tokenizer.py::test_roundtrip[tables:template_inside_table_cell] PASSED [ 92%] 513s tests/test_tokenizer.py::test_roundtrip[tables:table_cell_attributes] PASSED [ 92%] 513s tests/test_tokenizer.py::test_roundtrip[tables:table_cell_empty_attributes] PASSED [ 92%] 513s tests/test_tokenizer.py::test_roundtrip[tables:table_cell_with_dash] PASSED [ 92%] 513s tests/test_tokenizer.py::test_roundtrip[tables:table_cell_attributes_quote_with_pipe] PASSED [ 92%] 513s tests/test_tokenizer.py::test_roundtrip[tables:table_cell_attributes_name_with_pipe] PASSED [ 92%] 513s tests/test_tokenizer.py::test_roundtrip[tables:table_cell_attributes_pipe_after_equals] PASSED [ 92%] 513s tests/test_tokenizer.py::test_roundtrip[tables:table_cell_attributes_templates] PASSED [ 92%] 513s tests/test_tokenizer.py::test_roundtrip[tables:header_cell_attributes] PASSED [ 92%] 513s tests/test_tokenizer.py::test_roundtrip[tables:inline_cell_attributes] PASSED [ 92%] 513s tests/test_tokenizer.py::test_roundtrip[tables:table_row_attributes] PASSED [ 92%] 513s tests/test_tokenizer.py::test_roundtrip[tables:table_row_attributes_crazy_whitespace] PASSED [ 92%] 513s tests/test_tokenizer.py::test_roundtrip[tables:table_attributes] PASSED [ 92%] 513s tests/test_tokenizer.py::test_roundtrip[tables:inline_table_attributes] PASSED [ 92%] 513s tests/test_tokenizer.py::test_roundtrip[tables:table_incorrect_attributes] PASSED [ 93%] 513s tests/test_tokenizer.py::test_roundtrip[tables:templates_in_table_attribute] PASSED [ 93%] 513s tests/test_tokenizer.py::test_roundtrip[tables:templates_in_table_attribute_2] PASSED [ 93%] 513s tests/test_tokenizer.py::test_roundtrip[tables:inappropriate_marker_at_line_start] PASSED [ 93%] 513s tests/test_tokenizer.py::test_roundtrip[tables:fake_close_near_start] PASSED [ 93%] 513s tests/test_tokenizer.py::test_roundtrip[tables:fake_close_near_start_2] PASSED [ 93%] 513s tests/test_tokenizer.py::test_roundtrip[tables:junk_after_table_start] PASSED [ 93%] 513s tests/test_tokenizer.py::test_roundtrip[tables:junk_after_table_row] PASSED [ 93%] 513s tests/test_tokenizer.py::test_roundtrip[tables:incomplete_nested_open_only] PASSED [ 93%] 513s tests/test_tokenizer.py::test_roundtrip[tables:incomplete_nested_open_and_row] PASSED [ 93%] 513s tests/test_tokenizer.py::test_roundtrip[comments:blank] PASSED [ 93%] 513s tests/test_tokenizer.py::test_roundtrip[comments:basic] PASSED [ 93%] 513s tests/test_tokenizer.py::test_roundtrip[comments:tons_of_nonsense] PASSED [ 93%] 513s tests/test_tokenizer.py::test_roundtrip[comments:incomplete_blank] PASSED [ 93%] 513s tests/test_tokenizer.py::test_roundtrip[comments:incomplete_text] PASSED [ 93%] 513s tests/test_tokenizer.py::test_roundtrip[comments:incomplete_partial_close] PASSED [ 94%] 513s tests/test_tokenizer.py::test_roundtrip[comments:incomplete_part_only] PASSED [ 94%] 513s tests/test_tokenizer.py::test_c_tokenizer_uses_c SKIPPED (CTokenizer...) [ 94%] 513s tests/test_tokenizer.py::test_describe_context PASSED [ 94%] 513s tests/test_tokens.py::test_issubclass[Token] PASSED [ 94%] 513s tests/test_tokens.py::test_issubclass[Text] PASSED [ 94%] 513s tests/test_tokens.py::test_issubclass[TemplateOpen] PASSED [ 94%] 513s tests/test_tokens.py::test_issubclass[TemplateParamSeparator] PASSED [ 94%] 513s tests/test_tokens.py::test_issubclass[TemplateParamEquals] PASSED [ 94%] 513s tests/test_tokens.py::test_issubclass[TemplateClose] PASSED [ 94%] 513s tests/test_tokens.py::test_issubclass[ArgumentOpen] PASSED [ 94%] 513s tests/test_tokens.py::test_issubclass[ArgumentSeparator] PASSED [ 94%] 513s tests/test_tokens.py::test_issubclass[ArgumentClose] PASSED [ 94%] 513s tests/test_tokens.py::test_issubclass[WikilinkOpen] PASSED [ 94%] 513s tests/test_tokens.py::test_issubclass[WikilinkSeparator] PASSED [ 95%] 513s tests/test_tokens.py::test_issubclass[WikilinkClose] PASSED [ 95%] 513s tests/test_tokens.py::test_issubclass[ExternalLinkOpen] PASSED [ 95%] 513s tests/test_tokens.py::test_issubclass[ExternalLinkSeparator] PASSED [ 95%] 513s tests/test_tokens.py::test_issubclass[ExternalLinkClose] PASSED [ 95%] 513s tests/test_tokens.py::test_issubclass[HTMLEntityStart] PASSED [ 95%] 513s tests/test_tokens.py::test_issubclass[HTMLEntityNumeric] PASSED [ 95%] 513s tests/test_tokens.py::test_issubclass[HTMLEntityHex] PASSED [ 95%] 513s tests/test_tokens.py::test_issubclass[HTMLEntityEnd] PASSED [ 95%] 513s tests/test_tokens.py::test_issubclass[HeadingStart] PASSED [ 95%] 513s tests/test_tokens.py::test_issubclass[HeadingEnd] PASSED [ 95%] 513s tests/test_tokens.py::test_issubclass[CommentStart] PASSED [ 95%] 513s tests/test_tokens.py::test_issubclass[CommentEnd] PASSED [ 95%] 513s tests/test_tokens.py::test_issubclass[TagOpenOpen] PASSED [ 95%] 513s tests/test_tokens.py::test_issubclass[TagAttrStart] PASSED [ 96%] 513s tests/test_tokens.py::test_issubclass[TagAttrEquals] PASSED [ 96%] 513s tests/test_tokens.py::test_issubclass[TagAttrQuote] PASSED [ 96%] 513s tests/test_tokens.py::test_issubclass[TagCloseOpen] PASSED [ 96%] 513s tests/test_tokens.py::test_issubclass[TagCloseSelfclose] PASSED [ 96%] 513s tests/test_tokens.py::test_issubclass[TagOpenClose] PASSED [ 96%] 513s tests/test_tokens.py::test_issubclass[TagCloseClose] PASSED [ 96%] 513s tests/test_tokens.py::test_attributes PASSED [ 96%] 513s tests/test_tokens.py::test_repr PASSED [ 96%] 513s tests/test_tokens.py::test_equality PASSED [ 96%] 513s tests/test_tokens.py::test_repr_equality[token0] PASSED [ 96%] 513s tests/test_tokens.py::test_repr_equality[token1] PASSED [ 96%] 513s tests/test_tokens.py::test_repr_equality[token2] PASSED [ 96%] 513s tests/test_utils.py::test_parse_anything_valid[test0-valid0] PASSED [ 96%] 513s tests/test_utils.py::test_parse_anything_valid[test1-valid1] PASSED [ 96%] 513s tests/test_utils.py::test_parse_anything_valid[f\xf3\xf3bar-valid2] PASSED [ 97%] 513s tests/test_utils.py::test_parse_anything_valid[foob\xc3\xa1r-valid3] PASSED [ 97%] 513s tests/test_utils.py::test_parse_anything_valid[123-valid4] PASSED [ 97%] 513s tests/test_utils.py::test_parse_anything_valid[True-valid5] PASSED [ 97%] 513s tests/test_utils.py::test_parse_anything_valid[None-valid6] PASSED [ 97%] 513s tests/test_utils.py::test_parse_anything_valid[test7-valid7] PASSED [ 97%] 513s tests/test_utils.py::test_parse_anything_valid[test8-valid8] PASSED [ 97%] 513s tests/test_utils.py::test_parse_anything_valid[test9-valid9] PASSED [ 97%] 513s tests/test_utils.py::test_parse_anything_invalid[invalid0] PASSED [ 97%] 513s tests/test_utils.py::test_parse_anything_invalid[object] PASSED [ 97%] 513s tests/test_utils.py::test_parse_anything_invalid[invalid2] PASSED [ 97%] 513s tests/test_utils.py::test_parse_anything_invalid[type] PASSED [ 97%] 513s tests/test_utils.py::test_parse_anything_invalid[invalid4] PASSED [ 97%] 513s tests/test_wikicode.py::test_str PASSED [ 97%] 513s tests/test_wikicode.py::test_nodes PASSED [ 98%] 513s tests/test_wikicode.py::test_pickling[0] PASSED [ 98%] 513s tests/test_wikicode.py::test_pickling[1] PASSED [ 98%] 513s tests/test_wikicode.py::test_pickling[2] PASSED [ 98%] 513s tests/test_wikicode.py::test_pickling[3] PASSED [ 98%] 513s tests/test_wikicode.py::test_pickling[4] PASSED [ 98%] 513s tests/test_wikicode.py::test_pickling[5] PASSED [ 98%] 513s tests/test_wikicode.py::test_get PASSED [ 98%] 513s tests/test_wikicode.py::test_set PASSED [ 98%] 513s tests/test_wikicode.py::test_contains PASSED [ 98%] 513s tests/test_wikicode.py::test_index PASSED [ 98%] 513s tests/test_wikicode.py::test_get_ancestors_parent PASSED [ 98%] 513s tests/test_wikicode.py::test_insert PASSED [ 98%] 513s tests/test_wikicode.py::test_insert_before PASSED [ 98%] 513s tests/test_wikicode.py::test_insert_after PASSED [ 99%] 513s tests/test_wikicode.py::test_replace PASSED [ 99%] 513s tests/test_wikicode.py::test_append PASSED [ 99%] 513s tests/test_wikicode.py::test_remove PASSED [ 99%] 513s tests/test_wikicode.py::test_matches PASSED [ 99%] 513s tests/test_wikicode.py::test_filter_family PASSED [ 99%] 513s tests/test_wikicode.py::test_get_sections PASSED [ 99%] 513s tests/test_wikicode.py::test_strip_code PASSED [ 99%] 513s tests/test_wikicode.py::test_get_tree PASSED [ 99%] 513s tests/test_wikilink.py::test_str PASSED [ 99%] 513s tests/test_wikilink.py::test_children PASSED [ 99%] 513s tests/test_wikilink.py::test_strip PASSED [ 99%] 513s tests/test_wikilink.py::test_showtree PASSED [ 99%] 513s tests/test_wikilink.py::test_title PASSED [ 99%] 513s tests/test_wikilink.py::test_text PASSED [100%] 513s 513s ======================= 1430 passed, 2 skipped in 1.96s ======================== 513s ============================= test session starts ============================== 513s platform linux -- Python 3.12.7, pytest-8.3.3, pluggy-1.5.0 -- /usr/bin/python3.12 513s cachedir: .pytest_cache 513s rootdir: /tmp/autopkgtest.WeJmGb/build.eBc/src 513s plugins: typeguard-4.4.1 514s collecting ... collected 2005 items 514s 514s tests/test_argument.py::test_str PASSED [ 0%] 514s tests/test_argument.py::test_children PASSED [ 0%] 514s tests/test_argument.py::test_strip PASSED [ 0%] 514s tests/test_argument.py::test_showtree PASSED [ 0%] 514s tests/test_argument.py::test_name PASSED [ 0%] 514s tests/test_argument.py::test_default PASSED [ 0%] 514s tests/test_attribute.py::test_str PASSED [ 0%] 514s tests/test_attribute.py::test_name PASSED [ 0%] 514s tests/test_attribute.py::test_value PASSED [ 0%] 514s tests/test_attribute.py::test_quotes PASSED [ 0%] 514s tests/test_attribute.py::test_padding PASSED [ 0%] 514s tests/test_builder.py::test_text[test0-valid0] PASSED [ 0%] 514s tests/test_builder.py::test_text[test1-valid1] PASSED [ 0%] 514s tests/test_builder.py::test_text[test2-valid2] PASSED [ 0%] 514s tests/test_builder.py::test_template[test0-valid0] PASSED [ 0%] 514s tests/test_builder.py::test_template[test1-valid1] PASSED [ 0%] 514s tests/test_builder.py::test_template[test2-valid2] PASSED [ 0%] 514s tests/test_builder.py::test_template[test3-valid3] PASSED [ 0%] 514s tests/test_builder.py::test_template[test4-valid4] PASSED [ 0%] 514s tests/test_builder.py::test_template[test5-valid5] PASSED [ 0%] 514s tests/test_builder.py::test_argument[test0-valid0] PASSED [ 1%] 514s tests/test_builder.py::test_argument[test1-valid1] PASSED [ 1%] 514s tests/test_builder.py::test_argument[test2-valid2] PASSED [ 1%] 514s tests/test_builder.py::test_argument[test3-valid3] PASSED [ 1%] 514s tests/test_builder.py::test_wikilink[test0-valid0] PASSED [ 1%] 514s tests/test_builder.py::test_wikilink[test1-valid1] PASSED [ 1%] 514s tests/test_builder.py::test_wikilink[test2-valid2] PASSED [ 1%] 514s tests/test_builder.py::test_wikilink[test3-valid3] PASSED [ 1%] 514s tests/test_builder.py::test_external_link[test0-valid0] PASSED [ 1%] 514s tests/test_builder.py::test_external_link[test1-valid1] PASSED [ 1%] 514s tests/test_builder.py::test_external_link[test2-valid2] PASSED [ 1%] 514s tests/test_builder.py::test_external_link[test3-valid3] PASSED [ 1%] 514s tests/test_builder.py::test_external_link[test4-valid4] PASSED [ 1%] 514s tests/test_builder.py::test_external_link[test5-valid5] PASSED [ 1%] 514s tests/test_builder.py::test_html_entity[test0-valid0] PASSED [ 1%] 514s tests/test_builder.py::test_html_entity[test1-valid1] PASSED [ 1%] 514s tests/test_builder.py::test_html_entity[test2-valid2] PASSED [ 1%] 514s tests/test_builder.py::test_heading[test0-valid0] PASSED [ 1%] 514s tests/test_builder.py::test_heading[test1-valid1] PASSED [ 1%] 514s tests/test_builder.py::test_comment[test0-valid0] PASSED [ 1%] 514s tests/test_builder.py::test_comment[test1-valid1] PASSED [ 2%] 514s tests/test_builder.py::test_tag[test0-valid0] PASSED [ 2%] 514s tests/test_builder.py::test_tag[test1-valid1] PASSED [ 2%] 514s tests/test_builder.py::test_tag[test2-valid2] PASSED [ 2%] 514s tests/test_builder.py::test_tag[test3-valid3] PASSED [ 2%] 514s tests/test_builder.py::test_tag[test4-valid4] PASSED [ 2%] 514s tests/test_builder.py::test_tag[test5-valid5] PASSED [ 2%] 514s tests/test_builder.py::test_tag[test6-valid6] PASSED [ 2%] 514s tests/test_builder.py::test_tag[test7-valid7] PASSED [ 2%] 514s tests/test_builder.py::test_tag[test8-valid8] PASSED [ 2%] 514s tests/test_builder.py::test_tag[test9-valid9] PASSED [ 2%] 514s tests/test_builder.py::test_integration PASSED [ 2%] 514s tests/test_builder.py::test_integration2 PASSED [ 2%] 514s tests/test_builder.py::test_parser_errors[tokens0] PASSED [ 2%] 514s tests/test_builder.py::test_parser_errors[tokens1] PASSED [ 2%] 514s tests/test_builder.py::test_parser_errors[tokens2] PASSED [ 2%] 514s tests/test_builder.py::test_parser_errors[tokens3] PASSED [ 2%] 514s tests/test_builder.py::test_parser_errors[tokens4] PASSED [ 2%] 514s tests/test_builder.py::test_parser_errors[tokens5] PASSED [ 2%] 514s tests/test_builder.py::test_parser_errors[tokens6] PASSED [ 2%] 514s tests/test_builder.py::test_parser_errors[tokens7] PASSED [ 3%] 514s tests/test_builder.py::test_parser_errors[tokens8] PASSED [ 3%] 514s tests/test_builder.py::test_parser_errors_templateclose PASSED [ 3%] 514s tests/test_comment.py::test_str PASSED [ 3%] 514s tests/test_comment.py::test_children PASSED [ 3%] 514s tests/test_comment.py::test_strip PASSED [ 3%] 514s tests/test_comment.py::test_showtree PASSED [ 3%] 514s tests/test_comment.py::test_contents PASSED [ 3%] 514s tests/test_docs.py::test_readme_1 PASSED [ 3%] 514s tests/test_docs.py::test_readme_2 PASSED [ 3%] 514s tests/test_docs.py::test_readme_3 PASSED [ 3%] 514s tests/test_docs.py::test_readme_4 PASSED [ 3%] 514s tests/test_docs.py::test_readme_5 SKIPPED (web test disabled by envi...) [ 3%] 514s tests/test_external_link.py::test_str PASSED [ 3%] 514s tests/test_external_link.py::test_children PASSED [ 3%] 514s tests/test_external_link.py::test_strip PASSED [ 3%] 514s tests/test_external_link.py::test_showtree PASSED [ 3%] 514s tests/test_external_link.py::test_url PASSED [ 3%] 514s tests/test_external_link.py::test_title PASSED [ 3%] 514s tests/test_external_link.py::test_brackets PASSED [ 3%] 514s tests/test_heading.py::test_str PASSED [ 4%] 514s tests/test_heading.py::test_children PASSED [ 4%] 514s tests/test_heading.py::test_strip PASSED [ 4%] 514s tests/test_heading.py::test_showtree PASSED [ 4%] 514s tests/test_heading.py::test_title PASSED [ 4%] 514s tests/test_heading.py::test_level PASSED [ 4%] 514s tests/test_html_entity.py::test_str PASSED [ 4%] 514s tests/test_html_entity.py::test_children PASSED [ 4%] 514s tests/test_html_entity.py::test_strip PASSED [ 4%] 514s tests/test_html_entity.py::test_showtree PASSED [ 4%] 514s tests/test_html_entity.py::test_value PASSED [ 4%] 514s tests/test_html_entity.py::test_named PASSED [ 4%] 514s tests/test_html_entity.py::test_hexadecimal PASSED [ 4%] 514s tests/test_html_entity.py::test_hex_char PASSED [ 4%] 514s tests/test_html_entity.py::test_normalize PASSED [ 4%] 514s tests/test_parameter.py::test_str PASSED [ 4%] 514s tests/test_parameter.py::test_name PASSED [ 4%] 514s tests/test_parameter.py::test_value PASSED [ 4%] 514s tests/test_parameter.py::test_showkey PASSED [ 4%] 514s tests/test_parser.py::test_use_c PASSED [ 4%] 514s tests/test_parser.py::test_parsing PASSED [ 5%] 514s tests/test_parser.py::test_skip_style_tags PASSED [ 5%] 514s tests/test_smart_list.py::test_docs PASSED [ 5%] 514s tests/test_smart_list.py::test_doctest PASSED [ 5%] 514s tests/test_smart_list.py::test_parent_get_set_del PASSED [ 5%] 514s tests/test_smart_list.py::test_parent_add PASSED [ 5%] 514s tests/test_smart_list.py::test_parent_other_magics PASSED [ 5%] 514s tests/test_smart_list.py::test_parent_methods PASSED [ 5%] 514s tests/test_smart_list.py::test_child_get_set_del PASSED [ 5%] 514s tests/test_smart_list.py::test_child_add PASSED [ 5%] 514s tests/test_smart_list.py::test_child_other_magics PASSED [ 5%] 514s tests/test_smart_list.py::test_child_methods PASSED [ 5%] 514s tests/test_smart_list.py::test_influence PASSED [ 5%] 514s tests/test_smart_list.py::test_pickling[0] PASSED [ 5%] 514s tests/test_smart_list.py::test_pickling[1] PASSED [ 5%] 514s tests/test_smart_list.py::test_pickling[2] PASSED [ 5%] 514s tests/test_smart_list.py::test_pickling[3] PASSED [ 5%] 514s tests/test_smart_list.py::test_pickling[4] PASSED [ 5%] 514s tests/test_smart_list.py::test_pickling[5] PASSED [ 5%] 514s tests/test_string_mixin.py::test_docs[capitalize] PASSED [ 5%] 514s tests/test_string_mixin.py::test_docs[casefold] PASSED [ 6%] 514s tests/test_string_mixin.py::test_docs[center] PASSED [ 6%] 514s tests/test_string_mixin.py::test_docs[count] PASSED [ 6%] 514s tests/test_string_mixin.py::test_docs[encode] PASSED [ 6%] 514s tests/test_string_mixin.py::test_docs[endswith] PASSED [ 6%] 514s tests/test_string_mixin.py::test_docs[expandtabs] PASSED [ 6%] 514s tests/test_string_mixin.py::test_docs[find] PASSED [ 6%] 514s tests/test_string_mixin.py::test_docs[format] PASSED [ 6%] 514s tests/test_string_mixin.py::test_docs[format_map] PASSED [ 6%] 514s tests/test_string_mixin.py::test_docs[index] PASSED [ 6%] 514s tests/test_string_mixin.py::test_docs[isalnum] PASSED [ 6%] 514s tests/test_string_mixin.py::test_docs[isalpha] PASSED [ 6%] 514s tests/test_string_mixin.py::test_docs[isdecimal] PASSED [ 6%] 514s tests/test_string_mixin.py::test_docs[isdigit] PASSED [ 6%] 514s tests/test_string_mixin.py::test_docs[isidentifier] PASSED [ 6%] 514s tests/test_string_mixin.py::test_docs[islower] PASSED [ 6%] 514s tests/test_string_mixin.py::test_docs[isnumeric] PASSED [ 6%] 514s tests/test_string_mixin.py::test_docs[isprintable] PASSED [ 6%] 514s tests/test_string_mixin.py::test_docs[isspace] PASSED [ 6%] 514s tests/test_string_mixin.py::test_docs[istitle] PASSED [ 6%] 514s tests/test_string_mixin.py::test_docs[isupper] PASSED [ 7%] 514s tests/test_string_mixin.py::test_docs[join] PASSED [ 7%] 514s tests/test_string_mixin.py::test_docs[ljust] PASSED [ 7%] 514s tests/test_string_mixin.py::test_docs[lower] PASSED [ 7%] 514s tests/test_string_mixin.py::test_docs[lstrip] PASSED [ 7%] 514s tests/test_string_mixin.py::test_docs[maketrans] PASSED [ 7%] 514s tests/test_string_mixin.py::test_docs[partition] PASSED [ 7%] 514s tests/test_string_mixin.py::test_docs[replace] PASSED [ 7%] 514s tests/test_string_mixin.py::test_docs[rfind] PASSED [ 7%] 514s tests/test_string_mixin.py::test_docs[rindex] PASSED [ 7%] 514s tests/test_string_mixin.py::test_docs[rjust] PASSED [ 7%] 514s tests/test_string_mixin.py::test_docs[rpartition] PASSED [ 7%] 514s tests/test_string_mixin.py::test_docs[rsplit] PASSED [ 7%] 514s tests/test_string_mixin.py::test_docs[rstrip] PASSED [ 7%] 514s tests/test_string_mixin.py::test_docs[split] PASSED [ 7%] 514s tests/test_string_mixin.py::test_docs[splitlines] PASSED [ 7%] 514s tests/test_string_mixin.py::test_docs[startswith] PASSED [ 7%] 514s tests/test_string_mixin.py::test_docs[strip] PASSED [ 7%] 514s tests/test_string_mixin.py::test_docs[swapcase] PASSED [ 7%] 514s tests/test_string_mixin.py::test_docs[title] PASSED [ 7%] 514s tests/test_string_mixin.py::test_docs[translate] PASSED [ 8%] 514s tests/test_string_mixin.py::test_docs[upper] PASSED [ 8%] 514s tests/test_string_mixin.py::test_docs[zfill] PASSED [ 8%] 514s tests/test_string_mixin.py::test_types PASSED [ 8%] 514s tests/test_string_mixin.py::test_comparisons PASSED [ 8%] 514s tests/test_string_mixin.py::test_other_magics PASSED [ 8%] 514s tests/test_string_mixin.py::test_other_methods PASSED [ 8%] 514s tests/test_tag.py::test_str PASSED [ 8%] 514s tests/test_tag.py::test_children PASSED [ 8%] 514s tests/test_tag.py::test_strip PASSED [ 8%] 514s tests/test_tag.py::test_showtree PASSED [ 8%] 514s tests/test_tag.py::test_tag PASSED [ 8%] 514s tests/test_tag.py::test_contents PASSED [ 8%] 514s tests/test_tag.py::test_attributes PASSED [ 8%] 514s tests/test_tag.py::test_wiki_markup PASSED [ 8%] 514s tests/test_tag.py::test_self_closing PASSED [ 8%] 514s tests/test_tag.py::test_invalid PASSED [ 8%] 514s tests/test_tag.py::test_implicit PASSED [ 8%] 514s tests/test_tag.py::test_padding PASSED [ 8%] 514s tests/test_tag.py::test_closing_tag PASSED [ 8%] 514s tests/test_tag.py::test_wiki_style_separator PASSED [ 9%] 514s tests/test_tag.py::test_closing_wiki_markup PASSED [ 9%] 514s tests/test_tag.py::test_has PASSED [ 9%] 514s tests/test_tag.py::test_get PASSED [ 9%] 514s tests/test_tag.py::test_add PASSED [ 9%] 514s tests/test_tag.py::test_remove PASSED [ 9%] 514s tests/test_template.py::test_str PASSED [ 9%] 514s tests/test_template.py::test_children PASSED [ 9%] 514s tests/test_template.py::test_strip PASSED [ 9%] 514s tests/test_template.py::test_showtree PASSED [ 9%] 514s tests/test_template.py::test_name PASSED [ 9%] 514s tests/test_template.py::test_params PASSED [ 9%] 514s tests/test_template.py::test_has PASSED [ 9%] 514s tests/test_template.py::test_get PASSED [ 9%] 514s tests/test_template.py::test_add PASSED [ 9%] 514s tests/test_template.py::test_remove PASSED [ 9%] 514s tests/test_template.py::test_formatting PASSED [ 9%] 514s tests/test_text.py::test_str PASSED [ 9%] 514s tests/test_text.py::test_children PASSED [ 9%] 514s tests/test_text.py::test_strip PASSED [ 9%] 514s tests/test_text.py::test_showtree PASSED [ 10%] 514s tests/test_text.py::test_value PASSED [ 10%] 514s tests/test_tokenizer.py::test_tokenizer[templates:no_params-CTokenizer] PASSED [ 10%] 514s tests/test_tokenizer.py::test_tokenizer[templates:no_params-PyTokenizer] PASSED [ 10%] 514s tests/test_tokenizer.py::test_tokenizer[templates:one_param_unnamed-CTokenizer] PASSED [ 10%] 514s tests/test_tokenizer.py::test_tokenizer[templates:one_param_unnamed-PyTokenizer] PASSED [ 10%] 514s tests/test_tokenizer.py::test_tokenizer[templates:one_param_named-CTokenizer] PASSED [ 10%] 514s tests/test_tokenizer.py::test_tokenizer[templates:one_param_named-PyTokenizer] PASSED [ 10%] 514s tests/test_tokenizer.py::test_tokenizer[templates:multiple_unnamed_params-CTokenizer] PASSED [ 10%] 514s tests/test_tokenizer.py::test_tokenizer[templates:multiple_unnamed_params-PyTokenizer] PASSED [ 10%] 514s tests/test_tokenizer.py::test_tokenizer[templates:multiple_named_params-CTokenizer] PASSED [ 10%] 514s tests/test_tokenizer.py::test_tokenizer[templates:multiple_named_params-PyTokenizer] PASSED [ 10%] 514s tests/test_tokenizer.py::test_tokenizer[templates:multiple_mixed_params-CTokenizer] PASSED [ 10%] 514s tests/test_tokenizer.py::test_tokenizer[templates:multiple_mixed_params-PyTokenizer] PASSED [ 10%] 514s tests/test_tokenizer.py::test_tokenizer[templates:multiple_mixed_params2-CTokenizer] PASSED [ 10%] 514s tests/test_tokenizer.py::test_tokenizer[templates:multiple_mixed_params2-PyTokenizer] PASSED [ 10%] 514s tests/test_tokenizer.py::test_tokenizer[templates:blank_params-CTokenizer] PASSED [ 10%] 514s tests/test_tokenizer.py::test_tokenizer[templates:blank_params-PyTokenizer] PASSED [ 10%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_unnamed_param-CTokenizer] PASSED [ 10%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_unnamed_param-PyTokenizer] PASSED [ 10%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_named_param_value-CTokenizer] PASSED [ 11%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_named_param_value-PyTokenizer] PASSED [ 11%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_named_param_name_and_value-CTokenizer] PASSED [ 11%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_named_param_name_and_value-PyTokenizer] PASSED [ 11%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_start-CTokenizer] PASSED [ 11%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_start-PyTokenizer] PASSED [ 11%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_start_unnamed_param-CTokenizer] PASSED [ 11%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_start_unnamed_param-PyTokenizer] PASSED [ 11%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_start_named_param_value-CTokenizer] PASSED [ 11%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_start_named_param_value-PyTokenizer] PASSED [ 11%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_start_named_param_name_and_value-CTokenizer] PASSED [ 11%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_start_named_param_name_and_value-PyTokenizer] PASSED [ 11%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_end-CTokenizer] PASSED [ 11%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_end-PyTokenizer] PASSED [ 11%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_end_unnamed_param-CTokenizer] PASSED [ 11%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_end_unnamed_param-PyTokenizer] PASSED [ 11%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_end_named_param_value-CTokenizer] PASSED [ 11%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_end_named_param_value-PyTokenizer] PASSED [ 11%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_end_named_param_name_and_value-CTokenizer] PASSED [ 11%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_end_named_param_name_and_value-PyTokenizer] PASSED [ 11%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_mid-CTokenizer] PASSED [ 12%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_mid-PyTokenizer] PASSED [ 12%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_mid_unnamed_param-CTokenizer] PASSED [ 12%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_mid_unnamed_param-PyTokenizer] PASSED [ 12%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_mid_named_param_value-CTokenizer] PASSED [ 12%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_mid_named_param_value-PyTokenizer] PASSED [ 12%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_mid_named_param_name_and_value-CTokenizer] PASSED [ 12%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_mid_named_param_name_and_value-PyTokenizer] PASSED [ 12%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_start_end-CTokenizer] PASSED [ 12%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_start_end-PyTokenizer] PASSED [ 12%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_start_end_unnamed_param-CTokenizer] PASSED [ 12%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_start_end_unnamed_param-PyTokenizer] PASSED [ 12%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_start_end_named_param_value-CTokenizer] PASSED [ 12%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_start_end_named_param_value-PyTokenizer] PASSED [ 12%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_start_end_named_param_name_and_value-CTokenizer] PASSED [ 12%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_name_start_end_named_param_name_and_value-PyTokenizer] PASSED [ 12%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_names_multiple-CTokenizer] PASSED [ 12%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_names_multiple-PyTokenizer] PASSED [ 12%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_names_multiple_unnamed_param-CTokenizer] PASSED [ 12%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_names_multiple_unnamed_param-PyTokenizer] PASSED [ 12%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_names_multiple_named_param_value-CTokenizer] PASSED [ 13%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_names_multiple_named_param_value-PyTokenizer] PASSED [ 13%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_names_multiple_named_param_name_and_value-CTokenizer] PASSED [ 13%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_names_multiple_named_param_name_and_value-PyTokenizer] PASSED [ 13%] 514s tests/test_tokenizer.py::test_tokenizer[templates:mixed_nested_templates-CTokenizer] PASSED [ 13%] 514s tests/test_tokenizer.py::test_tokenizer[templates:mixed_nested_templates-PyTokenizer] PASSED [ 13%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_two_args-CTokenizer] PASSED [ 13%] 514s tests/test_tokenizer.py::test_tokenizer[templates:nested_two_args-PyTokenizer] PASSED [ 13%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_start-CTokenizer] PASSED [ 13%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_start-PyTokenizer] PASSED [ 13%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_end-CTokenizer] PASSED [ 13%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_end-PyTokenizer] PASSED [ 13%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_start_end-CTokenizer] PASSED [ 13%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_start_end-PyTokenizer] PASSED [ 13%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_mid-CTokenizer] PASSED [ 13%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_mid-PyTokenizer] PASSED [ 13%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_start_mid-CTokenizer] PASSED [ 13%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_start_mid-PyTokenizer] PASSED [ 13%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_mid_end-CTokenizer] PASSED [ 13%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_mid_end-PyTokenizer] PASSED [ 13%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_start_mid_end-CTokenizer] PASSED [ 14%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_start_mid_end-PyTokenizer] PASSED [ 14%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_unnamed_param-CTokenizer] PASSED [ 14%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_unnamed_param-PyTokenizer] PASSED [ 14%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_enclose_template_name_unnamed_param-CTokenizer] PASSED [ 14%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_enclose_template_name_unnamed_param-PyTokenizer] PASSED [ 14%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_within_template_name_unnamed_param-CTokenizer] PASSED [ 14%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_within_template_name_unnamed_param-PyTokenizer] PASSED [ 14%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_enclose_template_name_named_param_value-CTokenizer] PASSED [ 14%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_enclose_template_name_named_param_value-PyTokenizer] PASSED [ 14%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_within_template_name_named_param_value-CTokenizer] PASSED [ 14%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_within_template_name_named_param_value-PyTokenizer] PASSED [ 14%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_named_param_name-CTokenizer] PASSED [ 14%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_named_param_name-PyTokenizer] PASSED [ 14%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_named_param_name_param_value-CTokenizer] PASSED [ 14%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_named_param_name_param_value-PyTokenizer] PASSED [ 14%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_enclose_template_name_named_param_name-CTokenizer] PASSED [ 14%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_enclose_template_name_named_param_name-PyTokenizer] PASSED [ 14%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_enclose_template_name_named_param_name_param_value-CTokenizer] PASSED [ 14%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_enclose_template_name_named_param_name_param_value-PyTokenizer] PASSED [ 14%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_within_template_name_named_param_name-CTokenizer] PASSED [ 15%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_within_template_name_named_param_name-PyTokenizer] PASSED [ 15%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_within_template_name_named_param_name_param_value-CTokenizer] PASSED [ 15%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_within_template_name_named_param_name_param_value-PyTokenizer] PASSED [ 15%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_wildcard-CTokenizer] PASSED [ 15%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_wildcard-PyTokenizer] PASSED [ 15%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_wildcard_redux-CTokenizer] PASSED [ 15%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_wildcard_redux-PyTokenizer] PASSED [ 15%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_wildcard_redux_invalid-CTokenizer] PASSED [ 15%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_wildcard_redux_invalid-PyTokenizer] PASSED [ 15%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_spaces-CTokenizer] PASSED [ 15%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_spaces-PyTokenizer] PASSED [ 15%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_spaces_param-CTokenizer] PASSED [ 15%] 514s tests/test_tokenizer.py::test_tokenizer[templates:newlines_spaces_param-PyTokenizer] PASSED [ 15%] 514s tests/test_tokenizer.py::test_tokenizer[templates:invalid_blank-CTokenizer] PASSED [ 15%] 514s tests/test_tokenizer.py::test_tokenizer[templates:invalid_blank-PyTokenizer] PASSED [ 15%] 514s tests/test_tokenizer.py::test_tokenizer[templates:invalid_blank_whitespace-CTokenizer] PASSED [ 15%] 514s tests/test_tokenizer.py::test_tokenizer[templates:invalid_blank_whitespace-PyTokenizer] PASSED [ 15%] 514s tests/test_tokenizer.py::test_tokenizer[templates:invalid_blank_pipe-CTokenizer] PASSED [ 15%] 514s tests/test_tokenizer.py::test_tokenizer[templates:invalid_blank_pipe-PyTokenizer] PASSED [ 15%] 514s tests/test_tokenizer.py::test_tokenizer[templates:invalid_blank_whitespace_pipe-CTokenizer] PASSED [ 16%] 514s tests/test_tokenizer.py::test_tokenizer[templates:invalid_blank_whitespace_pipe-PyTokenizer] PASSED [ 16%] 514s tests/test_tokenizer.py::test_tokenizer[templates:invalid_name_left_brace_middle-CTokenizer] PASSED [ 16%] 514s tests/test_tokenizer.py::test_tokenizer[templates:invalid_name_left_brace_middle-PyTokenizer] PASSED [ 16%] 514s tests/test_tokenizer.py::test_tokenizer[templates:invalid_name_right_brace_middle-CTokenizer] PASSED [ 16%] 514s tests/test_tokenizer.py::test_tokenizer[templates:invalid_name_right_brace_middle-PyTokenizer] PASSED [ 16%] 514s tests/test_tokenizer.py::test_tokenizer[templates:invalid_name_left_braces-CTokenizer] PASSED [ 16%] 514s tests/test_tokenizer.py::test_tokenizer[templates:invalid_name_left_braces-PyTokenizer] PASSED [ 16%] 514s tests/test_tokenizer.py::test_tokenizer[templates:invalid_name_left_bracket_middle-CTokenizer] PASSED [ 16%] 514s tests/test_tokenizer.py::test_tokenizer[templates:invalid_name_left_bracket_middle-PyTokenizer] PASSED [ 16%] 514s tests/test_tokenizer.py::test_tokenizer[templates:invalid_name_right_bracket_middle-CTokenizer] PASSED [ 16%] 514s tests/test_tokenizer.py::test_tokenizer[templates:invalid_name_right_bracket_middle-PyTokenizer] PASSED [ 16%] 514s tests/test_tokenizer.py::test_tokenizer[templates:invalid_name_left_bracket_start-CTokenizer] PASSED [ 16%] 514s tests/test_tokenizer.py::test_tokenizer[templates:invalid_name_left_bracket_start-PyTokenizer] PASSED [ 16%] 514s tests/test_tokenizer.py::test_tokenizer[templates:invalid_name_right_bracket_start-CTokenizer] PASSED [ 16%] 514s tests/test_tokenizer.py::test_tokenizer[templates:invalid_name_right_bracket_start-PyTokenizer] PASSED [ 16%] 514s tests/test_tokenizer.py::test_tokenizer[templates:valid_name_left_brace_start-CTokenizer] PASSED [ 16%] 514s tests/test_tokenizer.py::test_tokenizer[templates:valid_name_left_brace_start-PyTokenizer] PASSED [ 16%] 514s tests/test_tokenizer.py::test_tokenizer[templates:valid_unnamed_param_left_brace-CTokenizer] PASSED [ 16%] 514s tests/test_tokenizer.py::test_tokenizer[templates:valid_unnamed_param_left_brace-PyTokenizer] PASSED [ 16%] 514s tests/test_tokenizer.py::test_tokenizer[templates:valid_unnamed_param_braces-CTokenizer] PASSED [ 17%] 514s tests/test_tokenizer.py::test_tokenizer[templates:valid_unnamed_param_braces-PyTokenizer] PASSED [ 17%] 514s tests/test_tokenizer.py::test_tokenizer[templates:valid_param_name_braces-CTokenizer] PASSED [ 17%] 514s tests/test_tokenizer.py::test_tokenizer[templates:valid_param_name_braces-PyTokenizer] PASSED [ 17%] 514s tests/test_tokenizer.py::test_tokenizer[templates:valid_param_name_brackets-CTokenizer] PASSED [ 17%] 514s tests/test_tokenizer.py::test_tokenizer[templates:valid_param_name_brackets-PyTokenizer] PASSED [ 17%] 514s tests/test_tokenizer.py::test_tokenizer[templates:valid_param_name_double_left_brackets-CTokenizer] PASSED [ 17%] 514s tests/test_tokenizer.py::test_tokenizer[templates:valid_param_name_double_left_brackets-PyTokenizer] PASSED [ 17%] 514s tests/test_tokenizer.py::test_tokenizer[templates:valid_param_name_double_right_brackets-CTokenizer] PASSED [ 17%] 514s tests/test_tokenizer.py::test_tokenizer[templates:valid_param_name_double_right_brackets-PyTokenizer] PASSED [ 17%] 514s tests/test_tokenizer.py::test_tokenizer[templates:valid_param_name_double_brackets-CTokenizer] PASSED [ 17%] 514s tests/test_tokenizer.py::test_tokenizer[templates:valid_param_name_double_brackets-PyTokenizer] PASSED [ 17%] 514s tests/test_tokenizer.py::test_tokenizer[templates:invalid_param_name_double_left_braces-CTokenizer] PASSED [ 17%] 514s tests/test_tokenizer.py::test_tokenizer[templates:invalid_param_name_double_left_braces-PyTokenizer] PASSED [ 17%] 514s tests/test_tokenizer.py::test_tokenizer[templates:invalid_param_name_double_braces-CTokenizer] PASSED [ 17%] 514s tests/test_tokenizer.py::test_tokenizer[templates:invalid_param_name_double_braces-PyTokenizer] PASSED [ 17%] 514s tests/test_tokenizer.py::test_tokenizer[templates:invalid_left_angle_bracket-CTokenizer] PASSED [ 17%] 514s tests/test_tokenizer.py::test_tokenizer[templates:invalid_left_angle_bracket-PyTokenizer] PASSED [ 17%] 514s tests/test_tokenizer.py::test_tokenizer[templates:invalid_right_angle_bracket-CTokenizer] PASSED [ 17%] 514s tests/test_tokenizer.py::test_tokenizer[templates:invalid_right_angle_bracket-PyTokenizer] PASSED [ 17%] 514s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_stub-CTokenizer] PASSED [ 18%] 514s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_stub-PyTokenizer] PASSED [ 18%] 514s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_plain-CTokenizer] PASSED [ 18%] 514s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_plain-PyTokenizer] PASSED [ 18%] 514s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_right_brace-CTokenizer] PASSED [ 18%] 514s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_right_brace-PyTokenizer] PASSED [ 18%] 514s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_pipe-CTokenizer] PASSED [ 18%] 514s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_pipe-PyTokenizer] PASSED [ 18%] 514s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_unnamed_param-CTokenizer] PASSED [ 18%] 514s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_unnamed_param-PyTokenizer] PASSED [ 18%] 514s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_unnamed_param_pipe-CTokenizer] PASSED [ 18%] 514s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_unnamed_param_pipe-PyTokenizer] PASSED [ 18%] 514s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_valueless_param-CTokenizer] PASSED [ 18%] 514s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_valueless_param-PyTokenizer] PASSED [ 18%] 514s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_valueless_param_pipe-CTokenizer] PASSED [ 18%] 514s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_valueless_param_pipe-PyTokenizer] PASSED [ 18%] 514s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_named_param-CTokenizer] PASSED [ 18%] 514s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_named_param-PyTokenizer] PASSED [ 18%] 514s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_named_param_pipe-CTokenizer] PASSED [ 18%] 514s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_named_param_pipe-PyTokenizer] PASSED [ 18%] 514s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_two_unnamed_params-CTokenizer] PASSED [ 19%] 514s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_two_unnamed_params-PyTokenizer] PASSED [ 19%] 514s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_unnamed_param_valueless_param-CTokenizer] PASSED [ 19%] 514s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_unnamed_param_valueless_param-PyTokenizer] PASSED [ 19%] 514s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_unnamed_param_named_param-CTokenizer] PASSED [ 19%] 514s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_unnamed_param_named_param-PyTokenizer] PASSED [ 19%] 514s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_named_param_unnamed_param-CTokenizer] PASSED [ 19%] 514s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_named_param_unnamed_param-PyTokenizer] PASSED [ 19%] 514s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_named_param_valueless_param-CTokenizer] PASSED [ 19%] 514s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_named_param_valueless_param-PyTokenizer] PASSED [ 19%] 514s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_two_named_params-CTokenizer] PASSED [ 19%] 514s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_two_named_params-PyTokenizer] PASSED [ 19%] 514s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_nested_template_as_unnamed_param-CTokenizer] PASSED [ 19%] 514s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_nested_template_as_unnamed_param-PyTokenizer] PASSED [ 19%] 514s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_nested_template_as_param_value-CTokenizer] PASSED [ 19%] 514s tests/test_tokenizer.py::test_tokenizer[templates:incomplete_nested_template_as_param_value-PyTokenizer] PASSED [ 19%] 514s tests/test_tokenizer.py::test_tokenizer[templates:recursion_five_hundred_opens-CTokenizer] PASSED [ 19%] 514s tests/test_tokenizer.py::test_tokenizer[templates:recursion_five_hundred_opens-PyTokenizer] PASSED [ 19%] 514s tests/test_tokenizer.py::test_tokenizer[templates:recursion_one_hundred_opens-CTokenizer] PASSED [ 19%] 514s tests/test_tokenizer.py::test_tokenizer[templates:recursion_one_hundred_opens-PyTokenizer] PASSED [ 19%] 514s tests/test_tokenizer.py::test_tokenizer[templates:recursion_opens_and_closes-CTokenizer] PASSED [ 20%] 514s tests/test_tokenizer.py::test_tokenizer[templates:recursion_opens_and_closes-PyTokenizer] PASSED [ 20%] 514s tests/test_tokenizer.py::test_tokenizer[templates:invalid_section_level_1-CTokenizer] PASSED [ 20%] 514s tests/test_tokenizer.py::test_tokenizer[templates:invalid_section_level_1-PyTokenizer] PASSED [ 20%] 514s tests/test_tokenizer.py::test_tokenizer[templates:section_level_2-CTokenizer] PASSED [ 20%] 514s tests/test_tokenizer.py::test_tokenizer[templates:section_level_2-PyTokenizer] PASSED [ 20%] 514s tests/test_tokenizer.py::test_tokenizer[templates:invalid_section_level_2-CTokenizer] PASSED [ 20%] 514s tests/test_tokenizer.py::test_tokenizer[templates:invalid_section_level_2-PyTokenizer] PASSED [ 20%] 514s tests/test_tokenizer.py::test_tokenizer[templates:section_level_2_after_template_parameter-CTokenizer] PASSED [ 20%] 514s tests/test_tokenizer.py::test_tokenizer[templates:section_level_2_after_template_parameter-PyTokenizer] PASSED [ 20%] 514s tests/test_tokenizer.py::test_tokenizer[text:basic-CTokenizer] PASSED [ 20%] 514s tests/test_tokenizer.py::test_tokenizer[text:basic-PyTokenizer] PASSED [ 20%] 514s tests/test_tokenizer.py::test_tokenizer[text:newlines-CTokenizer] PASSED [ 20%] 514s tests/test_tokenizer.py::test_tokenizer[text:newlines-PyTokenizer] PASSED [ 20%] 514s tests/test_tokenizer.py::test_tokenizer[text:unicode-CTokenizer] PASSED [ 20%] 514s tests/test_tokenizer.py::test_tokenizer[text:unicode-PyTokenizer] PASSED [ 20%] 514s tests/test_tokenizer.py::test_tokenizer[text:unicode2-CTokenizer] PASSED [ 20%] 514s tests/test_tokenizer.py::test_tokenizer[text:unicode2-PyTokenizer] PASSED [ 20%] 514s tests/test_tokenizer.py::test_tokenizer[text:large-CTokenizer] PASSED [ 20%] 514s tests/test_tokenizer.py::test_tokenizer[text:large-PyTokenizer] PASSED [ 20%] 514s tests/test_tokenizer.py::test_tokenizer[arguments:blank-CTokenizer] PASSED [ 20%] 514s tests/test_tokenizer.py::test_tokenizer[arguments:blank-PyTokenizer] PASSED [ 21%] 514s tests/test_tokenizer.py::test_tokenizer[arguments:blank_with_default-CTokenizer] PASSED [ 21%] 514s tests/test_tokenizer.py::test_tokenizer[arguments:blank_with_default-PyTokenizer] PASSED [ 21%] 514s tests/test_tokenizer.py::test_tokenizer[arguments:basic-CTokenizer] PASSED [ 21%] 514s tests/test_tokenizer.py::test_tokenizer[arguments:basic-PyTokenizer] PASSED [ 21%] 514s tests/test_tokenizer.py::test_tokenizer[arguments:default-CTokenizer] PASSED [ 21%] 514s tests/test_tokenizer.py::test_tokenizer[arguments:default-PyTokenizer] PASSED [ 21%] 514s tests/test_tokenizer.py::test_tokenizer[arguments:blank_with_multiple_defaults-CTokenizer] PASSED [ 21%] 514s tests/test_tokenizer.py::test_tokenizer[arguments:blank_with_multiple_defaults-PyTokenizer] PASSED [ 21%] 514s tests/test_tokenizer.py::test_tokenizer[arguments:multiple_defaults-CTokenizer] PASSED [ 21%] 514s tests/test_tokenizer.py::test_tokenizer[arguments:multiple_defaults-PyTokenizer] PASSED [ 21%] 514s tests/test_tokenizer.py::test_tokenizer[arguments:newline-CTokenizer] PASSED [ 21%] 514s tests/test_tokenizer.py::test_tokenizer[arguments:newline-PyTokenizer] PASSED [ 21%] 514s tests/test_tokenizer.py::test_tokenizer[arguments:right_braces-CTokenizer] PASSED [ 21%] 514s tests/test_tokenizer.py::test_tokenizer[arguments:right_braces-PyTokenizer] PASSED [ 21%] 514s tests/test_tokenizer.py::test_tokenizer[arguments:right_braces_default-CTokenizer] PASSED [ 21%] 514s tests/test_tokenizer.py::test_tokenizer[arguments:right_braces_default-PyTokenizer] PASSED [ 21%] 514s tests/test_tokenizer.py::test_tokenizer[arguments:nested-CTokenizer] PASSED [ 21%] 514s tests/test_tokenizer.py::test_tokenizer[arguments:nested-PyTokenizer] PASSED [ 21%] 514s tests/test_tokenizer.py::test_tokenizer[arguments:invalid_braces-CTokenizer] PASSED [ 21%] 514s tests/test_tokenizer.py::test_tokenizer[arguments:invalid_braces-PyTokenizer] PASSED [ 22%] 514s tests/test_tokenizer.py::test_tokenizer[arguments:incomplete_open_only-CTokenizer] PASSED [ 22%] 514s tests/test_tokenizer.py::test_tokenizer[arguments:incomplete_open_only-PyTokenizer] PASSED [ 22%] 514s tests/test_tokenizer.py::test_tokenizer[arguments:incomplete_open_text-CTokenizer] PASSED [ 22%] 514s tests/test_tokenizer.py::test_tokenizer[arguments:incomplete_open_text-PyTokenizer] PASSED [ 22%] 514s tests/test_tokenizer.py::test_tokenizer[arguments:incomplete_open_text_pipe-CTokenizer] PASSED [ 22%] 514s tests/test_tokenizer.py::test_tokenizer[arguments:incomplete_open_text_pipe-PyTokenizer] PASSED [ 22%] 514s tests/test_tokenizer.py::test_tokenizer[arguments:incomplete_open_pipe-CTokenizer] PASSED [ 22%] 514s tests/test_tokenizer.py::test_tokenizer[arguments:incomplete_open_pipe-PyTokenizer] PASSED [ 22%] 514s tests/test_tokenizer.py::test_tokenizer[arguments:incomplete_open_pipe_text-CTokenizer] PASSED [ 22%] 514s tests/test_tokenizer.py::test_tokenizer[arguments:incomplete_open_pipe_text-PyTokenizer] PASSED [ 22%] 514s tests/test_tokenizer.py::test_tokenizer[arguments:incomplete_open_pipes_text-CTokenizer] PASSED [ 22%] 514s tests/test_tokenizer.py::test_tokenizer[arguments:incomplete_open_pipes_text-PyTokenizer] PASSED [ 22%] 514s tests/test_tokenizer.py::test_tokenizer[arguments:incomplete_open_partial_close-CTokenizer] PASSED [ 22%] 514s tests/test_tokenizer.py::test_tokenizer[arguments:incomplete_open_partial_close-PyTokenizer] PASSED [ 22%] 514s tests/test_tokenizer.py::test_tokenizer[arguments:incomplete_preserve_previous-CTokenizer] PASSED [ 22%] 514s tests/test_tokenizer.py::test_tokenizer[arguments:incomplete_preserve_previous-PyTokenizer] PASSED [ 22%] 514s tests/test_tokenizer.py::test_tokenizer[integration:empty-CTokenizer] PASSED [ 22%] 514s tests/test_tokenizer.py::test_tokenizer[integration:empty-PyTokenizer] PASSED [ 22%] 514s tests/test_tokenizer.py::test_tokenizer[integration:template_argument_mix-CTokenizer] PASSED [ 22%] 514s tests/test_tokenizer.py::test_tokenizer[integration:template_argument_mix-PyTokenizer] PASSED [ 23%] 514s tests/test_tokenizer.py::test_tokenizer[integration:link_in_template_name-CTokenizer] PASSED [ 23%] 514s tests/test_tokenizer.py::test_tokenizer[integration:link_in_template_name-PyTokenizer] PASSED [ 23%] 514s tests/test_tokenizer.py::test_tokenizer[integration:rich_heading-CTokenizer] PASSED [ 23%] 514s tests/test_tokenizer.py::test_tokenizer[integration:rich_heading-PyTokenizer] PASSED [ 23%] 514s tests/test_tokenizer.py::test_tokenizer[integration:html_entity_with_template-CTokenizer] PASSED [ 23%] 514s tests/test_tokenizer.py::test_tokenizer[integration:html_entity_with_template-PyTokenizer] PASSED [ 23%] 514s tests/test_tokenizer.py::test_tokenizer[integration:html_entity_with_comment-CTokenizer] PASSED [ 23%] 514s tests/test_tokenizer.py::test_tokenizer[integration:html_entity_with_comment-PyTokenizer] PASSED [ 23%] 514s tests/test_tokenizer.py::test_tokenizer[integration:rich_tags-CTokenizer] PASSED [ 23%] 514s tests/test_tokenizer.py::test_tokenizer[integration:rich_tags-PyTokenizer] PASSED [ 23%] 514s tests/test_tokenizer.py::test_tokenizer[integration:wildcard-CTokenizer] PASSED [ 23%] 514s tests/test_tokenizer.py::test_tokenizer[integration:wildcard-PyTokenizer] PASSED [ 23%] 514s tests/test_tokenizer.py::test_tokenizer[integration:wildcard_redux-CTokenizer] PASSED [ 23%] 514s tests/test_tokenizer.py::test_tokenizer[integration:wildcard_redux-PyTokenizer] PASSED [ 23%] 514s tests/test_tokenizer.py::test_tokenizer[integration:link_inside_dl-CTokenizer] PASSED [ 23%] 514s tests/test_tokenizer.py::test_tokenizer[integration:link_inside_dl-PyTokenizer] PASSED [ 23%] 514s tests/test_tokenizer.py::test_tokenizer[integration:link_inside_dl_2-CTokenizer] PASSED [ 23%] 514s tests/test_tokenizer.py::test_tokenizer[integration:link_inside_dl_2-PyTokenizer] PASSED [ 23%] 514s tests/test_tokenizer.py::test_tokenizer[integration:link_inside_template-CTokenizer] PASSED [ 23%] 514s tests/test_tokenizer.py::test_tokenizer[integration:link_inside_template-PyTokenizer] PASSED [ 24%] 514s tests/test_tokenizer.py::test_tokenizer[integration:link_inside_template_2-CTokenizer] PASSED [ 24%] 514s tests/test_tokenizer.py::test_tokenizer[integration:link_inside_template_2-PyTokenizer] PASSED [ 24%] 514s tests/test_tokenizer.py::test_tokenizer[integration:link_inside_template_3-CTokenizer] PASSED [ 24%] 514s tests/test_tokenizer.py::test_tokenizer[integration:link_inside_template_3-PyTokenizer] PASSED [ 24%] 514s tests/test_tokenizer.py::test_tokenizer[integration:link_inside_argument-CTokenizer] PASSED [ 24%] 514s tests/test_tokenizer.py::test_tokenizer[integration:link_inside_argument-PyTokenizer] PASSED [ 24%] 514s tests/test_tokenizer.py::test_tokenizer[integration:link_inside_heading-CTokenizer] PASSED [ 24%] 514s tests/test_tokenizer.py::test_tokenizer[integration:link_inside_heading-PyTokenizer] PASSED [ 24%] 514s tests/test_tokenizer.py::test_tokenizer[integration:link_inside_tag_body-CTokenizer] PASSED [ 24%] 514s tests/test_tokenizer.py::test_tokenizer[integration:link_inside_tag_body-PyTokenizer] PASSED [ 24%] 514s tests/test_tokenizer.py::test_tokenizer[integration:link_inside_tag_style-CTokenizer] PASSED [ 24%] 514s tests/test_tokenizer.py::test_tokenizer[integration:link_inside_tag_style-PyTokenizer] PASSED [ 24%] 514s tests/test_tokenizer.py::test_tokenizer[integration:style_tag_inside_link-CTokenizer] PASSED [ 24%] 514s tests/test_tokenizer.py::test_tokenizer[integration:style_tag_inside_link-PyTokenizer] PASSED [ 24%] 514s tests/test_tokenizer.py::test_tokenizer[integration:comment_inside_link-CTokenizer] PASSED [ 24%] 514s tests/test_tokenizer.py::test_tokenizer[integration:comment_inside_link-PyTokenizer] PASSED [ 24%] 514s tests/test_tokenizer.py::test_tokenizer[integration:bracketed_link_inside_template-CTokenizer] PASSED [ 24%] 514s tests/test_tokenizer.py::test_tokenizer[integration:bracketed_link_inside_template-PyTokenizer] PASSED [ 24%] 514s tests/test_tokenizer.py::test_tokenizer[integration:comment_inside_bracketed_link-CTokenizer] PASSED [ 24%] 514s tests/test_tokenizer.py::test_tokenizer[integration:comment_inside_bracketed_link-PyTokenizer] PASSED [ 25%] 514s tests/test_tokenizer.py::test_tokenizer[integration:wikilink_inside_external_link-CTokenizer] PASSED [ 25%] 514s tests/test_tokenizer.py::test_tokenizer[integration:wikilink_inside_external_link-PyTokenizer] PASSED [ 25%] 514s tests/test_tokenizer.py::test_tokenizer[integration:external_link_inside_wikilink-CTokenizer] PASSED [ 25%] 514s tests/test_tokenizer.py::test_tokenizer[integration:external_link_inside_wikilink-PyTokenizer] PASSED [ 25%] 514s tests/test_tokenizer.py::test_tokenizer[integration:external_link_inside_wikilink_brackets-CTokenizer] PASSED [ 25%] 514s tests/test_tokenizer.py::test_tokenizer[integration:external_link_inside_wikilink_brackets-PyTokenizer] PASSED [ 25%] 514s tests/test_tokenizer.py::test_tokenizer[integration:external_link_inside_wikilink_title-CTokenizer] PASSED [ 25%] 514s tests/test_tokenizer.py::test_tokenizer[integration:external_link_inside_wikilink_title-PyTokenizer] PASSED [ 25%] 514s tests/test_tokenizer.py::test_tokenizer[integration:italics_inside_external_link_inside_incomplete_list-CTokenizer] PASSED [ 25%] 514s tests/test_tokenizer.py::test_tokenizer[integration:italics_inside_external_link_inside_incomplete_list-PyTokenizer] PASSED [ 25%] 514s tests/test_tokenizer.py::test_tokenizer[integration:nodes_inside_external_link_after_punct-CTokenizer] PASSED [ 25%] 514s tests/test_tokenizer.py::test_tokenizer[integration:nodes_inside_external_link_after_punct-PyTokenizer] PASSED [ 25%] 514s tests/test_tokenizer.py::test_tokenizer[integration:newline_and_comment_in_template_name-CTokenizer] PASSED [ 25%] 514s tests/test_tokenizer.py::test_tokenizer[integration:newline_and_comment_in_template_name-PyTokenizer] PASSED [ 25%] 514s tests/test_tokenizer.py::test_tokenizer[integration:newline_and_comment_in_template_name_2-CTokenizer] PASSED [ 25%] 514s tests/test_tokenizer.py::test_tokenizer[integration:newline_and_comment_in_template_name_2-PyTokenizer] PASSED [ 25%] 514s tests/test_tokenizer.py::test_tokenizer[integration:newline_and_comment_in_template_name_3-CTokenizer] PASSED [ 25%] 514s tests/test_tokenizer.py::test_tokenizer[integration:newline_and_comment_in_template_name_3-PyTokenizer] PASSED [ 25%] 514s tests/test_tokenizer.py::test_tokenizer[integration:newline_and_comment_in_template_name_4-CTokenizer] PASSED [ 25%] 514s tests/test_tokenizer.py::test_tokenizer[integration:newline_and_comment_in_template_name_4-PyTokenizer] PASSED [ 26%] 514s tests/test_tokenizer.py::test_tokenizer[integration:newline_and_comment_in_template_name_5-CTokenizer] PASSED [ 26%] 514s tests/test_tokenizer.py::test_tokenizer[integration:newline_and_comment_in_template_name_5-PyTokenizer] PASSED [ 26%] 514s tests/test_tokenizer.py::test_tokenizer[integration:newline_and_comment_in_template_name_6-CTokenizer] PASSED [ 26%] 514s tests/test_tokenizer.py::test_tokenizer[integration:newline_and_comment_in_template_name_6-PyTokenizer] PASSED [ 26%] 514s tests/test_tokenizer.py::test_tokenizer[integration:newline_and_comment_in_template_name_7-CTokenizer] PASSED [ 26%] 514s tests/test_tokenizer.py::test_tokenizer[integration:newline_and_comment_in_template_name_7-PyTokenizer] PASSED [ 26%] 514s tests/test_tokenizer.py::test_tokenizer[integration:newline_and_comment_in_template_name_8-CTokenizer] PASSED [ 26%] 514s tests/test_tokenizer.py::test_tokenizer[integration:newline_and_comment_in_template_name_8-PyTokenizer] PASSED [ 26%] 514s tests/test_tokenizer.py::test_tokenizer[integration:tag_in_link_title-CTokenizer] PASSED [ 26%] 514s tests/test_tokenizer.py::test_tokenizer[integration:tag_in_link_title-PyTokenizer] PASSED [ 26%] 514s tests/test_tokenizer.py::test_tokenizer[integration:tag_in_template_name-CTokenizer] PASSED [ 26%] 514s tests/test_tokenizer.py::test_tokenizer[integration:tag_in_template_name-PyTokenizer] PASSED [ 26%] 514s tests/test_tokenizer.py::test_tokenizer[integration:tag_in_link_text-CTokenizer] PASSED [ 26%] 514s tests/test_tokenizer.py::test_tokenizer[integration:tag_in_link_text-PyTokenizer] PASSED [ 26%] 514s tests/test_tokenizer.py::test_tokenizer[integration:comment_in_link_title-CTokenizer] PASSED [ 26%] 514s tests/test_tokenizer.py::test_tokenizer[integration:comment_in_link_title-PyTokenizer] PASSED [ 26%] 514s tests/test_tokenizer.py::test_tokenizer[integration:incomplete_comment_in_link_title-CTokenizer] PASSED [ 26%] 514s tests/test_tokenizer.py::test_tokenizer[integration:incomplete_comment_in_link_title-PyTokenizer] PASSED [ 26%] 514s tests/test_tokenizer.py::test_tokenizer[integration:incomplete_comment_in_link_title_2-CTokenizer] PASSED [ 26%] 514s tests/test_tokenizer.py::test_tokenizer[integration:incomplete_comment_in_link_title_2-PyTokenizer] PASSED [ 27%] 514s tests/test_tokenizer.py::test_tokenizer[integration:incomplete_comment_in_link_title_3-CTokenizer] PASSED [ 27%] 514s tests/test_tokenizer.py::test_tokenizer[integration:incomplete_comment_in_link_title_3-PyTokenizer] PASSED [ 27%] 514s tests/test_tokenizer.py::test_tokenizer[integration:incomplete_comment_in_link_title_4-CTokenizer] PASSED [ 27%] 514s tests/test_tokenizer.py::test_tokenizer[integration:incomplete_comment_in_link_title_4-PyTokenizer] PASSED [ 27%] 514s tests/test_tokenizer.py::test_tokenizer[integration:incomplete_comment_in_link_title_5-CTokenizer] PASSED [ 27%] 514s tests/test_tokenizer.py::test_tokenizer[integration:incomplete_comment_in_link_title_5-PyTokenizer] PASSED [ 27%] 514s tests/test_tokenizer.py::test_tokenizer[integration:incomplete_comment_in_link_title_6-CTokenizer] PASSED [ 27%] 514s tests/test_tokenizer.py::test_tokenizer[integration:incomplete_comment_in_link_title_6-PyTokenizer] PASSED [ 27%] 514s tests/test_tokenizer.py::test_tokenizer[integration:wikilink_to_external_link_fallback-CTokenizer] PASSED [ 27%] 514s tests/test_tokenizer.py::test_tokenizer[integration:wikilink_to_external_link_fallback-PyTokenizer] PASSED [ 27%] 514s tests/test_tokenizer.py::test_tokenizer[integration:wikilink_to_external_link_fallback_2-CTokenizer] PASSED [ 27%] 514s tests/test_tokenizer.py::test_tokenizer[integration:wikilink_to_external_link_fallback_2-PyTokenizer] PASSED [ 27%] 514s tests/test_tokenizer.py::test_tokenizer[integration:tables_in_templates-CTokenizer] PASSED [ 27%] 514s tests/test_tokenizer.py::test_tokenizer[integration:tables_in_templates-PyTokenizer] PASSED [ 27%] 514s tests/test_tokenizer.py::test_tokenizer[integration:tables_in_templates_2-CTokenizer] PASSED [ 27%] 514s tests/test_tokenizer.py::test_tokenizer[integration:tables_in_templates_2-PyTokenizer] PASSED [ 27%] 514s tests/test_tokenizer.py::test_tokenizer[integration:many_invalid_nested_tags-CTokenizer] PASSED [ 27%] 514s tests/test_tokenizer.py::test_tokenizer[integration:many_invalid_nested_tags-PyTokenizer] PASSED [ 27%] 514s tests/test_tokenizer.py::test_tokenizer[integration:nested_templates_and_style_tags-CTokenizer] PASSED [ 27%] 514s tests/test_tokenizer.py::test_tokenizer[integration:nested_templates_and_style_tags-PyTokenizer] PASSED [ 28%] 514s tests/test_tokenizer.py::test_tokenizer[integration:wikilink_nested_with_nowiki-CTokenizer] PASSED [ 28%] 514s tests/test_tokenizer.py::test_tokenizer[integration:wikilink_nested_with_nowiki-PyTokenizer] PASSED [ 28%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:named-CTokenizer] PASSED [ 28%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:named-PyTokenizer] PASSED [ 28%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:numeric_decimal-CTokenizer] PASSED [ 28%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:numeric_decimal-PyTokenizer] PASSED [ 28%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:numeric_hexadecimal_x-CTokenizer] PASSED [ 28%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:numeric_hexadecimal_x-PyTokenizer] PASSED [ 28%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:numeric_hexadecimal_X-CTokenizer] PASSED [ 28%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:numeric_hexadecimal_X-PyTokenizer] PASSED [ 28%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:numeric_decimal_max-CTokenizer] PASSED [ 28%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:numeric_decimal_max-PyTokenizer] PASSED [ 28%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:numeric_hex_max-CTokenizer] PASSED [ 28%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:numeric_hex_max-PyTokenizer] PASSED [ 28%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:numeric_zeros-CTokenizer] PASSED [ 28%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:numeric_zeros-PyTokenizer] PASSED [ 28%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:numeric_hex_zeros-CTokenizer] PASSED [ 28%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:numeric_hex_zeros-PyTokenizer] PASSED [ 28%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_named_too_long-CTokenizer] PASSED [ 28%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_named_too_long-PyTokenizer] PASSED [ 29%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_named_undefined-CTokenizer] PASSED [ 29%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_named_undefined-PyTokenizer] PASSED [ 29%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_named_nonascii-CTokenizer] PASSED [ 29%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_named_nonascii-PyTokenizer] PASSED [ 29%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_numeric_out_of_range_1-CTokenizer] PASSED [ 29%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_numeric_out_of_range_1-PyTokenizer] PASSED [ 29%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_numeric_out_of_range_2-CTokenizer] PASSED [ 29%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_numeric_out_of_range_2-PyTokenizer] PASSED [ 29%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_numeric_out_of_range_3-CTokenizer] PASSED [ 29%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_numeric_out_of_range_3-PyTokenizer] PASSED [ 29%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_numeric_out_of_range_4-CTokenizer] PASSED [ 29%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_numeric_out_of_range_4-PyTokenizer] PASSED [ 29%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_partial_amp-CTokenizer] PASSED [ 29%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_partial_amp-PyTokenizer] PASSED [ 29%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_partial_amp_semicolon-CTokenizer] PASSED [ 29%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_partial_amp_semicolon-PyTokenizer] PASSED [ 29%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_partial_amp_pound-CTokenizer] PASSED [ 29%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_partial_amp_pound-PyTokenizer] PASSED [ 29%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_partial_amp_pound_x-CTokenizer] PASSED [ 29%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_partial_amp_pound_x-PyTokenizer] PASSED [ 30%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_partial_amp_pound_semicolon-CTokenizer] PASSED [ 30%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_partial_amp_pound_semicolon-PyTokenizer] PASSED [ 30%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_partial_amp_pound_x_semicolon0-CTokenizer] PASSED [ 30%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_partial_amp_pound_x_semicolon0-PyTokenizer] PASSED [ 30%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_partial_amp_pound_numbers-CTokenizer] PASSED [ 30%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_partial_amp_pound_numbers-PyTokenizer] PASSED [ 30%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_partial_amp_pound_x_semicolon1-CTokenizer] PASSED [ 30%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_partial_amp_pound_x_semicolon1-PyTokenizer] PASSED [ 30%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_zeros_before_named-CTokenizer] PASSED [ 30%] 514s tests/test_tokenizer.py::test_tokenizer[html_entities:invalid_zeros_before_named-PyTokenizer] PASSED [ 30%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:basic-CTokenizer] PASSED [ 30%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:basic-PyTokenizer] PASSED [ 30%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:basic_brackets-CTokenizer] PASSED [ 30%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:basic_brackets-PyTokenizer] PASSED [ 30%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_space-CTokenizer] PASSED [ 30%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_space-PyTokenizer] PASSED [ 30%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_title-CTokenizer] PASSED [ 30%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_title-PyTokenizer] PASSED [ 30%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_multiword_title-CTokenizer] PASSED [ 30%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_multiword_title-PyTokenizer] PASSED [ 31%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_adjacent-CTokenizer] PASSED [ 31%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_adjacent-PyTokenizer] PASSED [ 31%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_newline_before-CTokenizer] PASSED [ 31%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_newline_before-PyTokenizer] PASSED [ 31%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_newline_inside-CTokenizer] PASSED [ 31%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_newline_inside-PyTokenizer] PASSED [ 31%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_newline_after-CTokenizer] PASSED [ 31%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_newline_after-PyTokenizer] PASSED [ 31%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_space_before-CTokenizer] PASSED [ 31%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_space_before-PyTokenizer] PASSED [ 31%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_title_like_url-CTokenizer] PASSED [ 31%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_title_like_url-PyTokenizer] PASSED [ 31%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_recursive-CTokenizer] PASSED [ 31%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_recursive-PyTokenizer] PASSED [ 31%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_recursive_2-CTokenizer] PASSED [ 31%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_recursive_2-PyTokenizer] PASSED [ 31%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:period_after-CTokenizer] PASSED [ 31%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:period_after-PyTokenizer] PASSED [ 31%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:colons_after-CTokenizer] PASSED [ 31%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:colons_after-PyTokenizer] PASSED [ 32%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:close_paren_after_excluded-CTokenizer] PASSED [ 32%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:close_paren_after_excluded-PyTokenizer] PASSED [ 32%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:close_paren_after_included-CTokenizer] PASSED [ 32%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:close_paren_after_included-PyTokenizer] PASSED [ 32%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:open_bracket_inside-CTokenizer] PASSED [ 32%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:open_bracket_inside-PyTokenizer] PASSED [ 32%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_period_after-CTokenizer] PASSED [ 32%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_period_after-PyTokenizer] PASSED [ 32%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_punct_after-CTokenizer] PASSED [ 32%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_punct_after-PyTokenizer] PASSED [ 32%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_close_paren_after_included-CTokenizer] PASSED [ 32%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_close_paren_after_included-PyTokenizer] PASSED [ 32%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_close_paren_after_included_2-CTokenizer] PASSED [ 32%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_close_paren_after_included_2-PyTokenizer] PASSED [ 32%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_open_bracket_inside-CTokenizer] PASSED [ 32%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_open_bracket_inside-PyTokenizer] PASSED [ 32%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:adjacent_space-CTokenizer] PASSED [ 32%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:adjacent_space-PyTokenizer] PASSED [ 32%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:adjacent_newline-CTokenizer] PASSED [ 32%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:adjacent_newline-PyTokenizer] PASSED [ 33%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:adjacent_close_bracket-CTokenizer] PASSED [ 33%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:adjacent_close_bracket-PyTokenizer] PASSED [ 33%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:html_entity_in_url-CTokenizer] PASSED [ 33%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:html_entity_in_url-PyTokenizer] PASSED [ 33%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:template_in_url-CTokenizer] PASSED [ 33%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:template_in_url-PyTokenizer] PASSED [ 33%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:argument_in_url-CTokenizer] PASSED [ 33%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:argument_in_url-PyTokenizer] PASSED [ 33%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:wikilink_in_url-CTokenizer] PASSED [ 33%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:wikilink_in_url-PyTokenizer] PASSED [ 33%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:external_link_in_url-CTokenizer] PASSED [ 33%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:external_link_in_url-PyTokenizer] PASSED [ 33%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:spaces_padding-CTokenizer] PASSED [ 33%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:spaces_padding-PyTokenizer] PASSED [ 33%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:text_and_spaces_padding-CTokenizer] PASSED [ 33%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:text_and_spaces_padding-PyTokenizer] PASSED [ 33%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:template_before-CTokenizer] PASSED [ 33%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:template_before-PyTokenizer] PASSED [ 33%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:spaces_padding_no_slashes-CTokenizer] PASSED [ 33%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:spaces_padding_no_slashes-PyTokenizer] PASSED [ 34%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:text_and_spaces_padding_no_slashes-CTokenizer] PASSED [ 34%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:text_and_spaces_padding_no_slashes-PyTokenizer] PASSED [ 34%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:template_before_no_slashes-CTokenizer] PASSED [ 34%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:template_before_no_slashes-PyTokenizer] PASSED [ 34%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:no_slashes-CTokenizer] PASSED [ 34%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:no_slashes-PyTokenizer] PASSED [ 34%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:slashes_optional-CTokenizer] PASSED [ 34%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:slashes_optional-PyTokenizer] PASSED [ 34%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:short-CTokenizer] PASSED [ 34%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:short-PyTokenizer] PASSED [ 34%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:slashes_missing-CTokenizer] PASSED [ 34%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:slashes_missing-PyTokenizer] PASSED [ 34%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:no_scheme_but_slashes-CTokenizer] PASSED [ 34%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:no_scheme_but_slashes-PyTokenizer] PASSED [ 34%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:no_scheme_but_colon-CTokenizer] PASSED [ 34%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:no_scheme_but_colon-PyTokenizer] PASSED [ 34%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:no_scheme_but_colon_and_slashes-CTokenizer] PASSED [ 34%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:no_scheme_but_colon_and_slashes-PyTokenizer] PASSED [ 34%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:fake_scheme_no_slashes-CTokenizer] PASSED [ 34%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:fake_scheme_no_slashes-PyTokenizer] PASSED [ 35%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:fake_scheme_slashes-CTokenizer] PASSED [ 35%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:fake_scheme_slashes-PyTokenizer] PASSED [ 35%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:fake_scheme_brackets_no_slashes-CTokenizer] PASSED [ 35%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:fake_scheme_brackets_no_slashes-PyTokenizer] PASSED [ 35%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:fake_scheme_brackets_slashes-CTokenizer] PASSED [ 35%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:fake_scheme_brackets_slashes-PyTokenizer] PASSED [ 35%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:interrupted_scheme-CTokenizer] PASSED [ 35%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:interrupted_scheme-PyTokenizer] PASSED [ 35%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:interrupted_scheme_brackets-CTokenizer] PASSED [ 35%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:interrupted_scheme_brackets-PyTokenizer] PASSED [ 35%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:no_slashes_brackets-CTokenizer] PASSED [ 35%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:no_slashes_brackets-PyTokenizer] PASSED [ 35%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:space_before_no_slashes_brackets-CTokenizer] PASSED [ 35%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:space_before_no_slashes_brackets-PyTokenizer] PASSED [ 35%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:slashes_optional_brackets-CTokenizer] PASSED [ 35%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:slashes_optional_brackets-PyTokenizer] PASSED [ 35%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:short_brackets-CTokenizer] PASSED [ 35%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:short_brackets-PyTokenizer] PASSED [ 35%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:slashes_missing_brackets-CTokenizer] PASSED [ 35%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:slashes_missing_brackets-PyTokenizer] PASSED [ 36%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:protcol_relative-CTokenizer] PASSED [ 36%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:protcol_relative-PyTokenizer] PASSED [ 36%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:scheme_missing_but_colon_brackets-CTokenizer] PASSED [ 36%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:scheme_missing_but_colon_brackets-PyTokenizer] PASSED [ 36%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:scheme_missing_but_colon_slashes_brackets-CTokenizer] PASSED [ 36%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:scheme_missing_but_colon_slashes_brackets-PyTokenizer] PASSED [ 36%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:unclosed_protocol_relative-CTokenizer] PASSED [ 36%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:unclosed_protocol_relative-PyTokenizer] PASSED [ 36%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:space_before_protcol_relative-CTokenizer] PASSED [ 36%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:space_before_protcol_relative-PyTokenizer] PASSED [ 36%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:unclosed_just_scheme-CTokenizer] PASSED [ 36%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:unclosed_just_scheme-PyTokenizer] PASSED [ 36%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:unclosed_scheme_colon-CTokenizer] PASSED [ 36%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:unclosed_scheme_colon-PyTokenizer] PASSED [ 36%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:unclosed_scheme_colon_slashes-CTokenizer] PASSED [ 36%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:unclosed_scheme_colon_slashes-PyTokenizer] PASSED [ 36%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:incomplete_bracket-CTokenizer] PASSED [ 36%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:incomplete_bracket-PyTokenizer] PASSED [ 36%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:incomplete_scheme_colon-CTokenizer] PASSED [ 36%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:incomplete_scheme_colon-PyTokenizer] PASSED [ 37%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:incomplete_scheme_colon_slashes-CTokenizer] PASSED [ 37%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:incomplete_scheme_colon_slashes-PyTokenizer] PASSED [ 37%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_scheme_but_no_url-CTokenizer] PASSED [ 37%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_scheme_but_no_url-PyTokenizer] PASSED [ 37%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_scheme_slashes_but_no_url-CTokenizer] PASSED [ 37%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_scheme_slashes_but_no_url-PyTokenizer] PASSED [ 37%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_scheme_title_but_no_url-CTokenizer] PASSED [ 37%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_scheme_title_but_no_url-PyTokenizer] PASSED [ 37%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:url_preceded_by_non_word_character-CTokenizer] PASSED [ 37%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:url_preceded_by_non_word_character-PyTokenizer] PASSED [ 37%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:url_preceded_by_underscore-CTokenizer] PASSED [ 37%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:url_preceded_by_underscore-PyTokenizer] PASSED [ 37%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:url_terminated_by_double_quote-CTokenizer] PASSED [ 37%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:url_terminated_by_double_quote-PyTokenizer] PASSED [ 37%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:url_not_terminated_by_single_quote-CTokenizer] PASSED [ 37%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:url_not_terminated_by_single_quote-PyTokenizer] PASSED [ 37%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:url_terminated_by_two_single_quotes-CTokenizer] PASSED [ 37%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:url_terminated_by_two_single_quotes-PyTokenizer] PASSED [ 37%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:url_terminated_by_left_angle-CTokenizer] PASSED [ 37%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:url_terminated_by_left_angle-PyTokenizer] PASSED [ 38%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:url_terminated_by_right_angle-CTokenizer] PASSED [ 38%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:url_terminated_by_right_angle-PyTokenizer] PASSED [ 38%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_terminated_by_double_quote-CTokenizer] PASSED [ 38%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_terminated_by_double_quote-PyTokenizer] PASSED [ 38%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_not_terminated_by_single_quote-CTokenizer] PASSED [ 38%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_not_terminated_by_single_quote-PyTokenizer] PASSED [ 38%] 514s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_terminated_by_two_single_quotes-CTokenizer] PASSED [ 38%] 515s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_terminated_by_two_single_quotes-PyTokenizer] PASSED [ 38%] 515s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_terminated_by_left_angle-CTokenizer] PASSED [ 38%] 515s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_terminated_by_left_angle-PyTokenizer] PASSED [ 38%] 515s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_terminated_by_right_angle-CTokenizer] PASSED [ 38%] 515s tests/test_tokenizer.py::test_tokenizer[external_links:brackets_terminated_by_right_angle-PyTokenizer] PASSED [ 38%] 515s tests/test_tokenizer.py::test_tokenizer[external_links:scheme_case-CTokenizer] PASSED [ 38%] 515s tests/test_tokenizer.py::test_tokenizer[external_links:scheme_case-PyTokenizer] PASSED [ 38%] 515s tests/test_tokenizer.py::test_tokenizer[external_links:bracket_scheme_case-CTokenizer] PASSED [ 38%] 515s tests/test_tokenizer.py::test_tokenizer[external_links:bracket_scheme_case-PyTokenizer] PASSED [ 38%] 515s tests/test_tokenizer.py::test_tokenizer[headings:level_1-CTokenizer] PASSED [ 38%] 515s tests/test_tokenizer.py::test_tokenizer[headings:level_1-PyTokenizer] PASSED [ 38%] 515s tests/test_tokenizer.py::test_tokenizer[headings:level_2-CTokenizer] PASSED [ 38%] 515s tests/test_tokenizer.py::test_tokenizer[headings:level_2-PyTokenizer] PASSED [ 39%] 515s tests/test_tokenizer.py::test_tokenizer[headings:level_3-CTokenizer] PASSED [ 39%] 515s tests/test_tokenizer.py::test_tokenizer[headings:level_3-PyTokenizer] PASSED [ 39%] 515s tests/test_tokenizer.py::test_tokenizer[headings:level_4-CTokenizer] PASSED [ 39%] 515s tests/test_tokenizer.py::test_tokenizer[headings:level_4-PyTokenizer] PASSED [ 39%] 515s tests/test_tokenizer.py::test_tokenizer[headings:level_5-CTokenizer] PASSED [ 39%] 515s tests/test_tokenizer.py::test_tokenizer[headings:level_5-PyTokenizer] PASSED [ 39%] 515s tests/test_tokenizer.py::test_tokenizer[headings:level_6-CTokenizer] PASSED [ 39%] 515s tests/test_tokenizer.py::test_tokenizer[headings:level_6-PyTokenizer] PASSED [ 39%] 515s tests/test_tokenizer.py::test_tokenizer[headings:level_7-CTokenizer] PASSED [ 39%] 515s tests/test_tokenizer.py::test_tokenizer[headings:level_7-PyTokenizer] PASSED [ 39%] 515s tests/test_tokenizer.py::test_tokenizer[headings:level_3_2-CTokenizer] PASSED [ 39%] 515s tests/test_tokenizer.py::test_tokenizer[headings:level_3_2-PyTokenizer] PASSED [ 39%] 515s tests/test_tokenizer.py::test_tokenizer[headings:level_4_6-CTokenizer] PASSED [ 39%] 515s tests/test_tokenizer.py::test_tokenizer[headings:level_4_6-PyTokenizer] PASSED [ 39%] 515s tests/test_tokenizer.py::test_tokenizer[headings:newline_before-CTokenizer] PASSED [ 39%] 515s tests/test_tokenizer.py::test_tokenizer[headings:newline_before-PyTokenizer] PASSED [ 39%] 515s tests/test_tokenizer.py::test_tokenizer[headings:text_after-CTokenizer] PASSED [ 39%] 515s tests/test_tokenizer.py::test_tokenizer[headings:text_after-PyTokenizer] PASSED [ 39%] 515s tests/test_tokenizer.py::test_tokenizer[headings:invalid_text_before-CTokenizer] PASSED [ 39%] 515s tests/test_tokenizer.py::test_tokenizer[headings:invalid_text_before-PyTokenizer] PASSED [ 40%] 515s tests/test_tokenizer.py::test_tokenizer[headings:invalid_newline_middle-CTokenizer] PASSED [ 40%] 515s tests/test_tokenizer.py::test_tokenizer[headings:invalid_newline_middle-PyTokenizer] PASSED [ 40%] 515s tests/test_tokenizer.py::test_tokenizer[headings:invalid_newline_end-CTokenizer] PASSED [ 40%] 515s tests/test_tokenizer.py::test_tokenizer[headings:invalid_newline_end-PyTokenizer] PASSED [ 40%] 515s tests/test_tokenizer.py::test_tokenizer[headings:invalid_nesting-CTokenizer] PASSED [ 40%] 515s tests/test_tokenizer.py::test_tokenizer[headings:invalid_nesting-PyTokenizer] PASSED [ 40%] 515s tests/test_tokenizer.py::test_tokenizer[headings:incomplete-CTokenizer] PASSED [ 40%] 515s tests/test_tokenizer.py::test_tokenizer[headings:incomplete-PyTokenizer] PASSED [ 40%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:basic_italics-CTokenizer] PASSED [ 40%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:basic_italics-PyTokenizer] PASSED [ 40%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:basic_bold-CTokenizer] PASSED [ 40%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:basic_bold-PyTokenizer] PASSED [ 40%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:basic_ul-CTokenizer] PASSED [ 40%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:basic_ul-PyTokenizer] PASSED [ 40%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:basic_ol-CTokenizer] PASSED [ 40%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:basic_ol-PyTokenizer] PASSED [ 40%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:basic_dt-CTokenizer] PASSED [ 40%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:basic_dt-PyTokenizer] PASSED [ 40%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:basic_dd-CTokenizer] PASSED [ 40%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:basic_dd-PyTokenizer] PASSED [ 40%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:basic_hr-CTokenizer] PASSED [ 41%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:basic_hr-PyTokenizer] PASSED [ 41%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:complex_italics-CTokenizer] PASSED [ 41%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:complex_italics-PyTokenizer] PASSED [ 41%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:multiline_italics-CTokenizer] PASSED [ 41%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:multiline_italics-PyTokenizer] PASSED [ 41%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:unending_italics-CTokenizer] PASSED [ 41%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:unending_italics-PyTokenizer] PASSED [ 41%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:misleading_italics_end-CTokenizer] PASSED [ 41%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:misleading_italics_end-PyTokenizer] PASSED [ 41%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:italics_start_outside_end_inside-CTokenizer] PASSED [ 41%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:italics_start_outside_end_inside-PyTokenizer] PASSED [ 41%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:italics_start_inside_end_outside-CTokenizer] PASSED [ 41%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:italics_start_inside_end_outside-PyTokenizer] PASSED [ 41%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:complex_bold-CTokenizer] PASSED [ 41%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:complex_bold-PyTokenizer] PASSED [ 41%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:multiline_bold-CTokenizer] PASSED [ 41%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:multiline_bold-PyTokenizer] PASSED [ 41%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:unending_bold-CTokenizer] PASSED [ 41%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:unending_bold-PyTokenizer] PASSED [ 41%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:misleading_bold_end-CTokenizer] PASSED [ 42%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:misleading_bold_end-PyTokenizer] PASSED [ 42%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:bold_start_outside_end_inside-CTokenizer] PASSED [ 42%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:bold_start_outside_end_inside-PyTokenizer] PASSED [ 42%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:bold_start_inside_end_outside-CTokenizer] PASSED [ 42%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:bold_start_inside_end_outside-PyTokenizer] PASSED [ 42%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:bold_and_italics-CTokenizer] PASSED [ 42%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:bold_and_italics-PyTokenizer] PASSED [ 42%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:both_then_bold-CTokenizer] PASSED [ 42%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:both_then_bold-PyTokenizer] PASSED [ 42%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:both_then_italics-CTokenizer] PASSED [ 42%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:both_then_italics-PyTokenizer] PASSED [ 42%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:bold_then_both-CTokenizer] PASSED [ 42%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:bold_then_both-PyTokenizer] PASSED [ 42%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:italics_then_both-CTokenizer] PASSED [ 42%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:italics_then_both-PyTokenizer] PASSED [ 42%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:italics_then_bold-CTokenizer] PASSED [ 42%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:italics_then_bold-PyTokenizer] PASSED [ 42%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:bold_then_italics-CTokenizer] PASSED [ 42%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:bold_then_italics-PyTokenizer] PASSED [ 42%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:five_three-CTokenizer] PASSED [ 43%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:five_three-PyTokenizer] PASSED [ 43%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:five_two-CTokenizer] PASSED [ 43%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:five_two-PyTokenizer] PASSED [ 43%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:four-CTokenizer] PASSED [ 43%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:four-PyTokenizer] PASSED [ 43%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:four_two-CTokenizer] PASSED [ 43%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:four_two-PyTokenizer] PASSED [ 43%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:two_three-CTokenizer] PASSED [ 43%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:two_three-PyTokenizer] PASSED [ 43%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:two_four-CTokenizer] PASSED [ 43%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:two_four-PyTokenizer] PASSED [ 43%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:two_three_two-CTokenizer] PASSED [ 43%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:two_three_two-PyTokenizer] PASSED [ 43%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:two_four_four-CTokenizer] PASSED [ 43%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:two_four_four-PyTokenizer] PASSED [ 43%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:seven-CTokenizer] PASSED [ 43%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:seven-PyTokenizer] PASSED [ 43%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:unending_bold_and_italics-CTokenizer] PASSED [ 43%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:unending_bold_and_italics-PyTokenizer] PASSED [ 43%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:complex_ul-CTokenizer] PASSED [ 44%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:complex_ul-PyTokenizer] PASSED [ 44%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:ul_multiline_template-CTokenizer] PASSED [ 44%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:ul_multiline_template-PyTokenizer] PASSED [ 44%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:ul_adjacent-CTokenizer] PASSED [ 44%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:ul_adjacent-PyTokenizer] PASSED [ 44%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:ul_depths-CTokenizer] PASSED [ 44%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:ul_depths-PyTokenizer] PASSED [ 44%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:ul_space_before-CTokenizer] PASSED [ 44%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:ul_space_before-PyTokenizer] PASSED [ 44%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:ul_interruption-CTokenizer] PASSED [ 44%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:ul_interruption-PyTokenizer] PASSED [ 44%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:complex_ol-CTokenizer] PASSED [ 44%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:complex_ol-PyTokenizer] PASSED [ 44%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:ol_multiline_template-CTokenizer] PASSED [ 44%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:ol_multiline_template-PyTokenizer] PASSED [ 44%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:ol_adjacent-CTokenizer] PASSED [ 44%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:ol_adjacent-PyTokenizer] PASSED [ 44%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:ol_depths-CTokenizer] PASSED [ 44%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:ol_depths-PyTokenizer] PASSED [ 44%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:ol_space_before-CTokenizer] PASSED [ 45%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:ol_space_before-PyTokenizer] PASSED [ 45%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:ol_interruption-CTokenizer] PASSED [ 45%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:ol_interruption-PyTokenizer] PASSED [ 45%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:ul_ol_mix-CTokenizer] PASSED [ 45%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:ul_ol_mix-PyTokenizer] PASSED [ 45%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:complex_dt-CTokenizer] PASSED [ 45%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:complex_dt-PyTokenizer] PASSED [ 45%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dt_multiline_template-CTokenizer] PASSED [ 45%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dt_multiline_template-PyTokenizer] PASSED [ 45%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dt_adjacent-CTokenizer] PASSED [ 45%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dt_adjacent-PyTokenizer] PASSED [ 45%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dt_depths-CTokenizer] PASSED [ 45%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dt_depths-PyTokenizer] PASSED [ 45%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dt_space_before-CTokenizer] PASSED [ 45%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dt_space_before-PyTokenizer] PASSED [ 45%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dt_interruption-CTokenizer] PASSED [ 45%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dt_interruption-PyTokenizer] PASSED [ 45%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:complex_dd-CTokenizer] PASSED [ 45%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:complex_dd-PyTokenizer] PASSED [ 45%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dd_multiline_template-CTokenizer] PASSED [ 46%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dd_multiline_template-PyTokenizer] PASSED [ 46%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dd_adjacent-CTokenizer] PASSED [ 46%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dd_adjacent-PyTokenizer] PASSED [ 46%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dd_depths-CTokenizer] PASSED [ 46%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dd_depths-PyTokenizer] PASSED [ 46%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dd_space_before-CTokenizer] PASSED [ 46%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dd_space_before-PyTokenizer] PASSED [ 46%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dd_interruption-CTokenizer] PASSED [ 46%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dd_interruption-PyTokenizer] PASSED [ 46%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dt_dd_mix-CTokenizer] PASSED [ 46%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dt_dd_mix-PyTokenizer] PASSED [ 46%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dt_dd_mix2-CTokenizer] PASSED [ 46%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dt_dd_mix2-PyTokenizer] PASSED [ 46%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dt_dd_mix3-CTokenizer] PASSED [ 46%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dt_dd_mix3-PyTokenizer] PASSED [ 46%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dt_dd_mix4-CTokenizer] PASSED [ 46%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:dt_dd_mix4-PyTokenizer] PASSED [ 46%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:ul_ol_dt_dd_mix-CTokenizer] PASSED [ 46%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:ul_ol_dt_dd_mix-PyTokenizer] PASSED [ 46%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:hr_text_before-CTokenizer] PASSED [ 47%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:hr_text_before-PyTokenizer] PASSED [ 47%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:hr_text_after-CTokenizer] PASSED [ 47%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:hr_text_after-PyTokenizer] PASSED [ 47%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:hr_text_before_after-CTokenizer] PASSED [ 47%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:hr_text_before_after-PyTokenizer] PASSED [ 47%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:hr_newlines-CTokenizer] PASSED [ 47%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:hr_newlines-PyTokenizer] PASSED [ 47%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:hr_adjacent-CTokenizer] PASSED [ 47%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:hr_adjacent-PyTokenizer] PASSED [ 47%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:hr_adjacent_space-CTokenizer] PASSED [ 47%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:hr_adjacent_space-PyTokenizer] PASSED [ 47%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:hr_short-CTokenizer] PASSED [ 47%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:hr_short-PyTokenizer] PASSED [ 47%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:hr_long-CTokenizer] PASSED [ 47%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:hr_long-PyTokenizer] PASSED [ 47%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:hr_interruption_short-CTokenizer] PASSED [ 47%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:hr_interruption_short-PyTokenizer] PASSED [ 47%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:hr_interruption_long-CTokenizer] PASSED [ 47%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:hr_interruption_long-PyTokenizer] PASSED [ 47%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:nowiki_cancel-CTokenizer] PASSED [ 48%] 515s tests/test_tokenizer.py::test_tokenizer[tags_wikimarkup:nowiki_cancel-PyTokenizer] PASSED [ 48%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:blank-CTokenizer] PASSED [ 48%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:blank-PyTokenizer] PASSED [ 48%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:blank_with_text-CTokenizer] PASSED [ 48%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:blank_with_text-PyTokenizer] PASSED [ 48%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:basic-CTokenizer] PASSED [ 48%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:basic-PyTokenizer] PASSED [ 48%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:with_text-CTokenizer] PASSED [ 48%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:with_text-PyTokenizer] PASSED [ 48%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:blank_with_multiple_texts-CTokenizer] PASSED [ 48%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:blank_with_multiple_texts-PyTokenizer] PASSED [ 48%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:multiple_texts-CTokenizer] PASSED [ 48%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:multiple_texts-PyTokenizer] PASSED [ 48%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:newline_text-CTokenizer] PASSED [ 48%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:newline_text-PyTokenizer] PASSED [ 48%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:bracket_text-CTokenizer] PASSED [ 48%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:bracket_text-PyTokenizer] PASSED [ 48%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:nested-CTokenizer] PASSED [ 48%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:nested-PyTokenizer] PASSED [ 48%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:nested_padding-CTokenizer] PASSED [ 49%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:nested_padding-PyTokenizer] PASSED [ 49%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:invalid_newline-CTokenizer] PASSED [ 49%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:invalid_newline-PyTokenizer] PASSED [ 49%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:invalid_right_brace-CTokenizer] PASSED [ 49%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:invalid_right_brace-PyTokenizer] PASSED [ 49%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:invalid_left_brace-CTokenizer] PASSED [ 49%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:invalid_left_brace-PyTokenizer] PASSED [ 49%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:invalid_right_bracket-CTokenizer] PASSED [ 49%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:invalid_right_bracket-PyTokenizer] PASSED [ 49%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:invalid_left_bracket-CTokenizer] PASSED [ 49%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:invalid_left_bracket-PyTokenizer] PASSED [ 49%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:invalid_nested_title-CTokenizer] PASSED [ 49%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:invalid_nested_title-PyTokenizer] PASSED [ 49%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:invalid_nested_title_and_text-CTokenizer] PASSED [ 49%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:invalid_nested_title_and_text-PyTokenizer] PASSED [ 49%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:invalid_nested_no_close-CTokenizer] PASSED [ 49%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:invalid_nested_no_close-PyTokenizer] PASSED [ 49%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:invalid_left_angle_bracket-CTokenizer] PASSED [ 49%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:invalid_left_angle_bracket-PyTokenizer] PASSED [ 49%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:invalid_right_angle_bracket-CTokenizer] PASSED [ 50%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:invalid_right_angle_bracket-PyTokenizer] PASSED [ 50%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:invalid_newline_at_start-CTokenizer] PASSED [ 50%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:invalid_newline_at_start-PyTokenizer] PASSED [ 50%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:invalid_newline_at_end-CTokenizer] PASSED [ 50%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:invalid_newline_at_end-PyTokenizer] PASSED [ 50%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:incomplete_open_only-CTokenizer] PASSED [ 50%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:incomplete_open_only-PyTokenizer] PASSED [ 50%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:incomplete_open_text-CTokenizer] PASSED [ 50%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:incomplete_open_text-PyTokenizer] PASSED [ 50%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:incomplete_open_text_pipe-CTokenizer] PASSED [ 50%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:incomplete_open_text_pipe-PyTokenizer] PASSED [ 50%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:incomplete_open_pipe-CTokenizer] PASSED [ 50%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:incomplete_open_pipe-PyTokenizer] PASSED [ 50%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:incomplete_open_pipe_text-CTokenizer] PASSED [ 50%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:incomplete_open_pipe_text-PyTokenizer] PASSED [ 50%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:incomplete_open_pipes_text-CTokenizer] PASSED [ 50%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:incomplete_open_pipes_text-PyTokenizer] PASSED [ 50%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:incomplete_open_partial_close-CTokenizer] PASSED [ 50%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:incomplete_open_partial_close-PyTokenizer] PASSED [ 50%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:incomplete_preserve_previous-CTokenizer] PASSED [ 51%] 515s tests/test_tokenizer.py::test_tokenizer[wikilinks:incomplete_preserve_previous-PyTokenizer] PASSED [ 51%] 515s tests/test_tokenizer.py::test_tokenizer[tags:basic-CTokenizer] PASSED [ 51%] 515s tests/test_tokenizer.py::test_tokenizer[tags:basic-PyTokenizer] PASSED [ 51%] 515s tests/test_tokenizer.py::test_tokenizer[tags:basic_selfclosing-CTokenizer] PASSED [ 51%] 515s tests/test_tokenizer.py::test_tokenizer[tags:basic_selfclosing-PyTokenizer] PASSED [ 51%] 515s tests/test_tokenizer.py::test_tokenizer[tags:content-CTokenizer] PASSED [ 51%] 515s tests/test_tokenizer.py::test_tokenizer[tags:content-PyTokenizer] PASSED [ 51%] 515s tests/test_tokenizer.py::test_tokenizer[tags:padded_open-CTokenizer] PASSED [ 51%] 515s tests/test_tokenizer.py::test_tokenizer[tags:padded_open-PyTokenizer] PASSED [ 51%] 515s tests/test_tokenizer.py::test_tokenizer[tags:padded_close-CTokenizer] PASSED [ 51%] 515s tests/test_tokenizer.py::test_tokenizer[tags:padded_close-PyTokenizer] PASSED [ 51%] 515s tests/test_tokenizer.py::test_tokenizer[tags:padded_selfclosing-CTokenizer] PASSED [ 51%] 515s tests/test_tokenizer.py::test_tokenizer[tags:padded_selfclosing-PyTokenizer] PASSED [ 51%] 515s tests/test_tokenizer.py::test_tokenizer[tags:attribute-CTokenizer] PASSED [ 51%] 515s tests/test_tokenizer.py::test_tokenizer[tags:attribute-PyTokenizer] PASSED [ 51%] 515s tests/test_tokenizer.py::test_tokenizer[tags:attribute_value-CTokenizer] PASSED [ 51%] 515s tests/test_tokenizer.py::test_tokenizer[tags:attribute_value-PyTokenizer] PASSED [ 51%] 515s tests/test_tokenizer.py::test_tokenizer[tags:attribute_quoted-CTokenizer] PASSED [ 51%] 515s tests/test_tokenizer.py::test_tokenizer[tags:attribute_quoted-PyTokenizer] PASSED [ 51%] 515s tests/test_tokenizer.py::test_tokenizer[tags:attribute_single_quoted-CTokenizer] PASSED [ 52%] 515s tests/test_tokenizer.py::test_tokenizer[tags:attribute_single_quoted-PyTokenizer] PASSED [ 52%] 515s tests/test_tokenizer.py::test_tokenizer[tags:attribute_hyphen-CTokenizer] PASSED [ 52%] 515s tests/test_tokenizer.py::test_tokenizer[tags:attribute_hyphen-PyTokenizer] PASSED [ 52%] 515s tests/test_tokenizer.py::test_tokenizer[tags:attribute_quoted_hyphen-CTokenizer] PASSED [ 52%] 515s tests/test_tokenizer.py::test_tokenizer[tags:attribute_quoted_hyphen-PyTokenizer] PASSED [ 52%] 515s tests/test_tokenizer.py::test_tokenizer[tags:attribute_selfclosing-CTokenizer] PASSED [ 52%] 515s tests/test_tokenizer.py::test_tokenizer[tags:attribute_selfclosing-PyTokenizer] PASSED [ 52%] 515s tests/test_tokenizer.py::test_tokenizer[tags:attribute_selfclosing_value-CTokenizer] PASSED [ 52%] 515s tests/test_tokenizer.py::test_tokenizer[tags:attribute_selfclosing_value-PyTokenizer] PASSED [ 52%] 515s tests/test_tokenizer.py::test_tokenizer[tags:attribute_selfclosing_value_quoted-CTokenizer] PASSED [ 52%] 515s tests/test_tokenizer.py::test_tokenizer[tags:attribute_selfclosing_value_quoted-PyTokenizer] PASSED [ 52%] 515s tests/test_tokenizer.py::test_tokenizer[tags:nested_tag-CTokenizer] PASSED [ 52%] 515s tests/test_tokenizer.py::test_tokenizer[tags:nested_tag-PyTokenizer] PASSED [ 52%] 515s tests/test_tokenizer.py::test_tokenizer[tags:nested_tag_quoted-CTokenizer] PASSED [ 52%] 515s tests/test_tokenizer.py::test_tokenizer[tags:nested_tag_quoted-PyTokenizer] PASSED [ 52%] 515s tests/test_tokenizer.py::test_tokenizer[tags:nested_troll_tag-CTokenizer] PASSED [ 52%] 515s tests/test_tokenizer.py::test_tokenizer[tags:nested_troll_tag-PyTokenizer] PASSED [ 52%] 515s tests/test_tokenizer.py::test_tokenizer[tags:nested_troll_tag_quoted-CTokenizer] PASSED [ 52%] 515s tests/test_tokenizer.py::test_tokenizer[tags:nested_troll_tag_quoted-PyTokenizer] PASSED [ 52%] 515s tests/test_tokenizer.py::test_tokenizer[tags:nested_tag_selfclosing-CTokenizer] PASSED [ 53%] 515s tests/test_tokenizer.py::test_tokenizer[tags:nested_tag_selfclosing-PyTokenizer] PASSED [ 53%] 515s tests/test_tokenizer.py::test_tokenizer[tags:invalid_space_begin_open-CTokenizer] PASSED [ 53%] 515s tests/test_tokenizer.py::test_tokenizer[tags:invalid_space_begin_open-PyTokenizer] PASSED [ 53%] 515s tests/test_tokenizer.py::test_tokenizer[tags:invalid_space_begin_close-CTokenizer] PASSED [ 53%] 515s tests/test_tokenizer.py::test_tokenizer[tags:invalid_space_begin_close-PyTokenizer] PASSED [ 53%] 515s tests/test_tokenizer.py::test_tokenizer[tags:valid_space_end-CTokenizer] PASSED [ 53%] 515s tests/test_tokenizer.py::test_tokenizer[tags:valid_space_end-PyTokenizer] PASSED [ 53%] 515s tests/test_tokenizer.py::test_tokenizer[tags:invalid_template_ends-CTokenizer] PASSED [ 53%] 515s tests/test_tokenizer.py::test_tokenizer[tags:invalid_template_ends-PyTokenizer] PASSED [ 53%] 515s tests/test_tokenizer.py::test_tokenizer[tags:invalid_template_ends_nospace-CTokenizer] PASSED [ 53%] 515s tests/test_tokenizer.py::test_tokenizer[tags:invalid_template_ends_nospace-PyTokenizer] PASSED [ 53%] 515s tests/test_tokenizer.py::test_tokenizer[tags:valid_template_end_open-CTokenizer] PASSED [ 53%] 515s tests/test_tokenizer.py::test_tokenizer[tags:valid_template_end_open-PyTokenizer] PASSED [ 53%] 515s tests/test_tokenizer.py::test_tokenizer[tags:valid_template_end_open_space_end_close-CTokenizer] PASSED [ 53%] 515s tests/test_tokenizer.py::test_tokenizer[tags:valid_template_end_open_space_end_close-PyTokenizer] PASSED [ 53%] 515s tests/test_tokenizer.py::test_tokenizer[tags:invalid_template_end_open_nospace-CTokenizer] PASSED [ 53%] 515s tests/test_tokenizer.py::test_tokenizer[tags:invalid_template_end_open_nospace-PyTokenizer] PASSED [ 53%] 515s tests/test_tokenizer.py::test_tokenizer[tags:invalid_template_start_close-CTokenizer] PASSED [ 53%] 515s tests/test_tokenizer.py::test_tokenizer[tags:invalid_template_start_close-PyTokenizer] PASSED [ 53%] 515s tests/test_tokenizer.py::test_tokenizer[tags:invalid_template_start_open-CTokenizer] PASSED [ 54%] 515s tests/test_tokenizer.py::test_tokenizer[tags:invalid_template_start_open-PyTokenizer] PASSED [ 54%] 515s tests/test_tokenizer.py::test_tokenizer[tags:unclosed_quote-CTokenizer] PASSED [ 54%] 515s tests/test_tokenizer.py::test_tokenizer[tags:unclosed_quote-PyTokenizer] PASSED [ 54%] 515s tests/test_tokenizer.py::test_tokenizer[tags:fake_quote-CTokenizer] PASSED [ 54%] 515s tests/test_tokenizer.py::test_tokenizer[tags:fake_quote-PyTokenizer] PASSED [ 54%] 515s tests/test_tokenizer.py::test_tokenizer[tags:fake_quote_complex-CTokenizer] PASSED [ 54%] 515s tests/test_tokenizer.py::test_tokenizer[tags:fake_quote_complex-PyTokenizer] PASSED [ 54%] 515s tests/test_tokenizer.py::test_tokenizer[tags:quotes_in_quotes-CTokenizer] PASSED [ 54%] 515s tests/test_tokenizer.py::test_tokenizer[tags:quotes_in_quotes-PyTokenizer] PASSED [ 54%] 515s tests/test_tokenizer.py::test_tokenizer[tags:quotes_in_quotes_2-CTokenizer] PASSED [ 54%] 515s tests/test_tokenizer.py::test_tokenizer[tags:quotes_in_quotes_2-PyTokenizer] PASSED [ 54%] 515s tests/test_tokenizer.py::test_tokenizer[tags:quotes_in_quotes_3-CTokenizer] PASSED [ 54%] 515s tests/test_tokenizer.py::test_tokenizer[tags:quotes_in_quotes_3-PyTokenizer] PASSED [ 54%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_lbracket-CTokenizer] PASSED [ 54%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_lbracket-PyTokenizer] PASSED [ 54%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_lbracket_junk-CTokenizer] PASSED [ 54%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_lbracket_junk-PyTokenizer] PASSED [ 54%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_unclosed_open-CTokenizer] PASSED [ 54%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_unclosed_open-PyTokenizer] PASSED [ 54%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_unclosed_open_space-CTokenizer] PASSED [ 55%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_unclosed_open_space-PyTokenizer] PASSED [ 55%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_unclosed_open_unnamed_attr-CTokenizer] PASSED [ 55%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_unclosed_open_unnamed_attr-PyTokenizer] PASSED [ 55%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_unclosed_open_attr_equals-CTokenizer] PASSED [ 55%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_unclosed_open_attr_equals-PyTokenizer] PASSED [ 55%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_unclosed_open_attr_equals_quoted-CTokenizer] PASSED [ 55%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_unclosed_open_attr_equals_quoted-PyTokenizer] PASSED [ 55%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_unclosed_open_attr-CTokenizer] PASSED [ 55%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_unclosed_open_attr-PyTokenizer] PASSED [ 55%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_unclosed_open_attr_quoted-CTokenizer] PASSED [ 55%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_unclosed_open_attr_quoted-PyTokenizer] PASSED [ 55%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_open-CTokenizer] PASSED [ 55%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_open-PyTokenizer] PASSED [ 55%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_open_unnamed_attr-CTokenizer] PASSED [ 55%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_open_unnamed_attr-PyTokenizer] PASSED [ 55%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_open_attr_equals-CTokenizer] PASSED [ 55%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_open_attr_equals-PyTokenizer] PASSED [ 55%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_open_attr-CTokenizer] PASSED [ 55%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_open_attr-PyTokenizer] PASSED [ 55%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_open_attr_quoted-CTokenizer] PASSED [ 56%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_open_attr_quoted-PyTokenizer] PASSED [ 56%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_open_text-CTokenizer] PASSED [ 56%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_open_text-PyTokenizer] PASSED [ 56%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_open_attr_text-CTokenizer] PASSED [ 56%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_open_attr_text-PyTokenizer] PASSED [ 56%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_open_text_lbracket-CTokenizer] PASSED [ 56%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_open_text_lbracket-PyTokenizer] PASSED [ 56%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_open_text_lbracket_slash-CTokenizer] PASSED [ 56%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_open_text_lbracket_slash-PyTokenizer] PASSED [ 56%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_open_text_unclosed_close-CTokenizer] PASSED [ 56%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_open_text_unclosed_close-PyTokenizer] PASSED [ 56%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_open_text_wrong_close-CTokenizer] PASSED [ 56%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_open_text_wrong_close-PyTokenizer] PASSED [ 56%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_unclosed_close-CTokenizer] PASSED [ 56%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_unclosed_close-PyTokenizer] PASSED [ 56%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_unclosed_close_text-CTokenizer] PASSED [ 56%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_unclosed_close_text-PyTokenizer] PASSED [ 56%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_close-CTokenizer] PASSED [ 56%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_close-PyTokenizer] PASSED [ 56%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_no_tag_name_open-CTokenizer] PASSED [ 57%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_no_tag_name_open-PyTokenizer] PASSED [ 57%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_no_tag_name_selfclosing-CTokenizer] PASSED [ 57%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_no_tag_name_selfclosing-PyTokenizer] PASSED [ 57%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_no_tag_name_open_close-CTokenizer] PASSED [ 57%] 515s tests/test_tokenizer.py::test_tokenizer[tags:incomplete_no_tag_name_open_close-PyTokenizer] PASSED [ 57%] 515s tests/test_tokenizer.py::test_tokenizer[tags:backslash_premature_before-CTokenizer] PASSED [ 57%] 515s tests/test_tokenizer.py::test_tokenizer[tags:backslash_premature_before-PyTokenizer] PASSED [ 57%] 515s tests/test_tokenizer.py::test_tokenizer[tags:backslash_premature_after-CTokenizer] PASSED [ 57%] 515s tests/test_tokenizer.py::test_tokenizer[tags:backslash_premature_after-PyTokenizer] PASSED [ 57%] 515s tests/test_tokenizer.py::test_tokenizer[tags:backslash_premature_middle-CTokenizer] PASSED [ 57%] 515s tests/test_tokenizer.py::test_tokenizer[tags:backslash_premature_middle-PyTokenizer] PASSED [ 57%] 515s tests/test_tokenizer.py::test_tokenizer[tags:backslash_adjacent-CTokenizer] PASSED [ 57%] 515s tests/test_tokenizer.py::test_tokenizer[tags:backslash_adjacent-PyTokenizer] PASSED [ 57%] 515s tests/test_tokenizer.py::test_tokenizer[tags:backslash_endquote-CTokenizer] PASSED [ 57%] 515s tests/test_tokenizer.py::test_tokenizer[tags:backslash_endquote-PyTokenizer] PASSED [ 57%] 515s tests/test_tokenizer.py::test_tokenizer[tags:backslash_double-CTokenizer] PASSED [ 57%] 515s tests/test_tokenizer.py::test_tokenizer[tags:backslash_double-PyTokenizer] PASSED [ 57%] 515s tests/test_tokenizer.py::test_tokenizer[tags:backslash_triple-CTokenizer] PASSED [ 57%] 515s tests/test_tokenizer.py::test_tokenizer[tags:backslash_triple-PyTokenizer] PASSED [ 57%] 515s tests/test_tokenizer.py::test_tokenizer[tags:backslash_unaffecting-CTokenizer] PASSED [ 58%] 515s tests/test_tokenizer.py::test_tokenizer[tags:backslash_unaffecting-PyTokenizer] PASSED [ 58%] 515s tests/test_tokenizer.py::test_tokenizer[tags:unparsable-CTokenizer] PASSED [ 58%] 515s tests/test_tokenizer.py::test_tokenizer[tags:unparsable-PyTokenizer] PASSED [ 58%] 515s tests/test_tokenizer.py::test_tokenizer[tags:unparsable_complex-CTokenizer] PASSED [ 58%] 515s tests/test_tokenizer.py::test_tokenizer[tags:unparsable_complex-PyTokenizer] PASSED [ 58%] 515s tests/test_tokenizer.py::test_tokenizer[tags:unparsable_attributed-CTokenizer] PASSED [ 58%] 515s tests/test_tokenizer.py::test_tokenizer[tags:unparsable_attributed-PyTokenizer] PASSED [ 58%] 515s tests/test_tokenizer.py::test_tokenizer[tags:unparsable_incomplete-CTokenizer] PASSED [ 58%] 515s tests/test_tokenizer.py::test_tokenizer[tags:unparsable_incomplete-PyTokenizer] PASSED [ 58%] 515s tests/test_tokenizer.py::test_tokenizer[tags:unparsable_entity-CTokenizer] PASSED [ 58%] 515s tests/test_tokenizer.py::test_tokenizer[tags:unparsable_entity-PyTokenizer] PASSED [ 58%] 515s tests/test_tokenizer.py::test_tokenizer[tags:unparsable_entity_incomplete-CTokenizer] PASSED [ 58%] 515s tests/test_tokenizer.py::test_tokenizer[tags:unparsable_entity_incomplete-PyTokenizer] PASSED [ 58%] 515s tests/test_tokenizer.py::test_tokenizer[tags:unparsable_entity_incomplete_2-CTokenizer] PASSED [ 58%] 515s tests/test_tokenizer.py::test_tokenizer[tags:unparsable_entity_incomplete_2-PyTokenizer] PASSED [ 58%] 515s tests/test_tokenizer.py::test_tokenizer[tags:single_open_close-CTokenizer] PASSED [ 58%] 515s tests/test_tokenizer.py::test_tokenizer[tags:single_open_close-PyTokenizer] PASSED [ 58%] 515s tests/test_tokenizer.py::test_tokenizer[tags:single_open-CTokenizer] PASSED [ 58%] 515s tests/test_tokenizer.py::test_tokenizer[tags:single_open-PyTokenizer] PASSED [ 58%] 515s tests/test_tokenizer.py::test_tokenizer[tags:single_selfclose-CTokenizer] PASSED [ 59%] 515s tests/test_tokenizer.py::test_tokenizer[tags:single_selfclose-PyTokenizer] PASSED [ 59%] 515s tests/test_tokenizer.py::test_tokenizer[tags:single_close-CTokenizer] PASSED [ 59%] 515s tests/test_tokenizer.py::test_tokenizer[tags:single_close-PyTokenizer] PASSED [ 59%] 515s tests/test_tokenizer.py::test_tokenizer[tags:single_only_open_close-CTokenizer] PASSED [ 59%] 515s tests/test_tokenizer.py::test_tokenizer[tags:single_only_open_close-PyTokenizer] PASSED [ 59%] 515s tests/test_tokenizer.py::test_tokenizer[tags:single_only_open-CTokenizer] PASSED [ 59%] 515s tests/test_tokenizer.py::test_tokenizer[tags:single_only_open-PyTokenizer] PASSED [ 59%] 515s tests/test_tokenizer.py::test_tokenizer[tags:single_only_selfclose-CTokenizer] PASSED [ 59%] 515s tests/test_tokenizer.py::test_tokenizer[tags:single_only_selfclose-PyTokenizer] PASSED [ 59%] 515s tests/test_tokenizer.py::test_tokenizer[tags:single_only_close-CTokenizer] PASSED [ 59%] 515s tests/test_tokenizer.py::test_tokenizer[tags:single_only_close-PyTokenizer] PASSED [ 59%] 515s tests/test_tokenizer.py::test_tokenizer[tags:single_only_double-CTokenizer] PASSED [ 59%] 515s tests/test_tokenizer.py::test_tokenizer[tags:single_only_double-PyTokenizer] PASSED [ 59%] 515s tests/test_tokenizer.py::test_tokenizer[tags:single_only_close_attribute-CTokenizer] PASSED [ 59%] 515s tests/test_tokenizer.py::test_tokenizer[tags:single_only_close_attribute-PyTokenizer] PASSED [ 59%] 515s tests/test_tokenizer.py::test_tokenizer[tags:capitalization-CTokenizer] PASSED [ 59%] 515s tests/test_tokenizer.py::test_tokenizer[tags:capitalization-PyTokenizer] PASSED [ 59%] 515s tests/test_tokenizer.py::test_tokenizer[tags:unparsable_incomplete_close-CTokenizer] PASSED [ 59%] 515s tests/test_tokenizer.py::test_tokenizer[tags:unparsable_incomplete_close-PyTokenizer] PASSED [ 59%] 515s tests/test_tokenizer.py::test_tokenizer[tags:unparsable_with_intermediates-CTokenizer] PASSED [ 60%] 515s tests/test_tokenizer.py::test_tokenizer[tags:unparsable_with_intermediates-PyTokenizer] PASSED [ 60%] 515s tests/test_tokenizer.py::test_tokenizer[tags:unparsable_with_intermediates_normalize-CTokenizer] PASSED [ 60%] 515s tests/test_tokenizer.py::test_tokenizer[tags:unparsable_with_intermediates_normalize-PyTokenizer] PASSED [ 60%] 515s tests/test_tokenizer.py::test_tokenizer[tags:non_ascii_open-CTokenizer] PASSED [ 60%] 515s tests/test_tokenizer.py::test_tokenizer[tags:non_ascii_open-PyTokenizer] PASSED [ 60%] 515s tests/test_tokenizer.py::test_tokenizer[tags:non_ascii_full-CTokenizer] PASSED [ 60%] 515s tests/test_tokenizer.py::test_tokenizer[tags:non_ascii_full-PyTokenizer] PASSED [ 60%] 515s tests/test_tokenizer.py::test_tokenizer[tags:single_nested_selfclosing-CTokenizer] PASSED [ 60%] 515s tests/test_tokenizer.py::test_tokenizer[tags:single_nested_selfclosing-PyTokenizer] PASSED [ 60%] 515s tests/test_tokenizer.py::test_tokenizer[tables:empty_table-CTokenizer] PASSED [ 60%] 515s tests/test_tokenizer.py::test_tokenizer[tables:empty_table-PyTokenizer] PASSED [ 60%] 515s tests/test_tokenizer.py::test_tokenizer[tables:inline_table-CTokenizer] PASSED [ 60%] 515s tests/test_tokenizer.py::test_tokenizer[tables:inline_table-PyTokenizer] PASSED [ 60%] 515s tests/test_tokenizer.py::test_tokenizer[tables:no_table_close_simple-CTokenizer] PASSED [ 60%] 515s tests/test_tokenizer.py::test_tokenizer[tables:no_table_close_simple-PyTokenizer] PASSED [ 60%] 515s tests/test_tokenizer.py::test_tokenizer[tables:no_table_close_newline-CTokenizer] PASSED [ 60%] 515s tests/test_tokenizer.py::test_tokenizer[tables:no_table_close_newline-PyTokenizer] PASSED [ 60%] 515s tests/test_tokenizer.py::test_tokenizer[tables:no_table_close_inside_cell-CTokenizer] PASSED [ 60%] 515s tests/test_tokenizer.py::test_tokenizer[tables:no_table_close_inside_cell-PyTokenizer] PASSED [ 60%] 515s tests/test_tokenizer.py::test_tokenizer[tables:no_table_close_inside_cell_after_newline-CTokenizer] PASSED [ 60%] 515s tests/test_tokenizer.py::test_tokenizer[tables:no_table_close_inside_cell_after_newline-PyTokenizer] PASSED [ 61%] 515s tests/test_tokenizer.py::test_tokenizer[tables:no_table_close_inside_cell_with_attributes-CTokenizer] PASSED [ 61%] 515s tests/test_tokenizer.py::test_tokenizer[tables:no_table_close_inside_cell_with_attributes-PyTokenizer] PASSED [ 61%] 515s tests/test_tokenizer.py::test_tokenizer[tables:no_table_close_inside_row-CTokenizer] PASSED [ 61%] 515s tests/test_tokenizer.py::test_tokenizer[tables:no_table_close_inside_row-PyTokenizer] PASSED [ 61%] 515s tests/test_tokenizer.py::test_tokenizer[tables:no_table_close_inside_row_after_newline-CTokenizer] PASSED [ 61%] 515s tests/test_tokenizer.py::test_tokenizer[tables:no_table_close_inside_row_after_newline-PyTokenizer] PASSED [ 61%] 515s tests/test_tokenizer.py::test_tokenizer[tables:no_table_close_row_and_cell-CTokenizer] PASSED [ 61%] 515s tests/test_tokenizer.py::test_tokenizer[tables:no_table_close_row_and_cell-PyTokenizer] PASSED [ 61%] 515s tests/test_tokenizer.py::test_tokenizer[tables:no_table_close_attributes-CTokenizer] PASSED [ 61%] 515s tests/test_tokenizer.py::test_tokenizer[tables:no_table_close_attributes-PyTokenizer] PASSED [ 61%] 515s tests/test_tokenizer.py::test_tokenizer[tables:no_table_close_unclosed_attributes-CTokenizer] PASSED [ 61%] 515s tests/test_tokenizer.py::test_tokenizer[tables:no_table_close_unclosed_attributes-PyTokenizer] PASSED [ 61%] 515s tests/test_tokenizer.py::test_tokenizer[tables:no_table_close_row_attributes-CTokenizer] PASSED [ 61%] 515s tests/test_tokenizer.py::test_tokenizer[tables:no_table_close_row_attributes-PyTokenizer] PASSED [ 61%] 515s tests/test_tokenizer.py::test_tokenizer[tables:no_table_close_cell-CTokenizer] PASSED [ 61%] 515s tests/test_tokenizer.py::test_tokenizer[tables:no_table_close_cell-PyTokenizer] PASSED [ 61%] 515s tests/test_tokenizer.py::test_tokenizer[tables:crazy_no_table_close-CTokenizer] PASSED [ 61%] 515s tests/test_tokenizer.py::test_tokenizer[tables:crazy_no_table_close-PyTokenizer] PASSED [ 61%] 515s tests/test_tokenizer.py::test_tokenizer[tables:leading_whitespace_table-CTokenizer] PASSED [ 61%] 515s tests/test_tokenizer.py::test_tokenizer[tables:leading_whitespace_table-PyTokenizer] PASSED [ 62%] 515s tests/test_tokenizer.py::test_tokenizer[tables:whitespace_after_table-CTokenizer] PASSED [ 62%] 515s tests/test_tokenizer.py::test_tokenizer[tables:whitespace_after_table-PyTokenizer] PASSED [ 62%] 515s tests/test_tokenizer.py::test_tokenizer[tables:different_whitespace_after_table-CTokenizer] PASSED [ 62%] 515s tests/test_tokenizer.py::test_tokenizer[tables:different_whitespace_after_table-PyTokenizer] PASSED [ 62%] 515s tests/test_tokenizer.py::test_tokenizer[tables:characters_after_table-CTokenizer] PASSED [ 62%] 515s tests/test_tokenizer.py::test_tokenizer[tables:characters_after_table-PyTokenizer] PASSED [ 62%] 515s tests/test_tokenizer.py::test_tokenizer[tables:characters_after_inline_table-CTokenizer] PASSED [ 62%] 515s tests/test_tokenizer.py::test_tokenizer[tables:characters_after_inline_table-PyTokenizer] PASSED [ 62%] 515s tests/test_tokenizer.py::test_tokenizer[tables:leading_characters_table-CTokenizer] PASSED [ 62%] 515s tests/test_tokenizer.py::test_tokenizer[tables:leading_characters_table-PyTokenizer] PASSED [ 62%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_row_simple-CTokenizer] PASSED [ 62%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_row_simple-PyTokenizer] PASSED [ 62%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_row_multiple-CTokenizer] PASSED [ 62%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_row_multiple-PyTokenizer] PASSED [ 62%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_cell_simple-CTokenizer] PASSED [ 62%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_cell_simple-PyTokenizer] PASSED [ 62%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_cell_inline-CTokenizer] PASSED [ 62%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_cell_inline-PyTokenizer] PASSED [ 62%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_cell_multiple-CTokenizer] PASSED [ 62%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_cell_multiple-PyTokenizer] PASSED [ 63%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_header_simple-CTokenizer] PASSED [ 63%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_header_simple-PyTokenizer] PASSED [ 63%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_header_inline-CTokenizer] PASSED [ 63%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_header_inline-PyTokenizer] PASSED [ 63%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_header_multiple-CTokenizer] PASSED [ 63%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_header_multiple-PyTokenizer] PASSED [ 63%] 515s tests/test_tokenizer.py::test_tokenizer[tables:nested_cells_and_rows-CTokenizer] PASSED [ 63%] 515s tests/test_tokenizer.py::test_tokenizer[tables:nested_cells_and_rows-PyTokenizer] PASSED [ 63%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_cell_fake_close-CTokenizer] PASSED [ 63%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_cell_fake_close-PyTokenizer] PASSED [ 63%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_cell_more_fake_close-CTokenizer] PASSED [ 63%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_cell_more_fake_close-PyTokenizer] PASSED [ 63%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_cell_extra_close-CTokenizer] PASSED [ 63%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_cell_extra_close-PyTokenizer] PASSED [ 63%] 515s tests/test_tokenizer.py::test_tokenizer[tables:nowiki_inside_table-CTokenizer] PASSED [ 63%] 515s tests/test_tokenizer.py::test_tokenizer[tables:nowiki_inside_table-PyTokenizer] PASSED [ 63%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_text_outside_cell-CTokenizer] PASSED [ 63%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_text_outside_cell-PyTokenizer] PASSED [ 63%] 515s tests/test_tokenizer.py::test_tokenizer[tables:no_table_cell_with_leading_characters-CTokenizer] PASSED [ 63%] 515s tests/test_tokenizer.py::test_tokenizer[tables:no_table_cell_with_leading_characters-PyTokenizer] PASSED [ 64%] 515s tests/test_tokenizer.py::test_tokenizer[tables:no_table_row_with_leading_characters-CTokenizer] PASSED [ 64%] 515s tests/test_tokenizer.py::test_tokenizer[tables:no_table_row_with_leading_characters-PyTokenizer] PASSED [ 64%] 515s tests/test_tokenizer.py::test_tokenizer[tables:template_inside_table_cell-CTokenizer] PASSED [ 64%] 515s tests/test_tokenizer.py::test_tokenizer[tables:template_inside_table_cell-PyTokenizer] PASSED [ 64%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_cell_attributes-CTokenizer] PASSED [ 64%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_cell_attributes-PyTokenizer] PASSED [ 64%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_cell_empty_attributes-CTokenizer] PASSED [ 64%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_cell_empty_attributes-PyTokenizer] PASSED [ 64%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_cell_with_dash-CTokenizer] PASSED [ 64%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_cell_with_dash-PyTokenizer] PASSED [ 64%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_cell_attributes_quote_with_pipe-CTokenizer] PASSED [ 64%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_cell_attributes_quote_with_pipe-PyTokenizer] PASSED [ 64%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_cell_attributes_name_with_pipe-CTokenizer] PASSED [ 64%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_cell_attributes_name_with_pipe-PyTokenizer] PASSED [ 64%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_cell_attributes_pipe_after_equals-CTokenizer] PASSED [ 64%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_cell_attributes_pipe_after_equals-PyTokenizer] PASSED [ 64%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_cell_attributes_templates-CTokenizer] PASSED [ 64%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_cell_attributes_templates-PyTokenizer] PASSED [ 64%] 515s tests/test_tokenizer.py::test_tokenizer[tables:header_cell_attributes-CTokenizer] PASSED [ 64%] 515s tests/test_tokenizer.py::test_tokenizer[tables:header_cell_attributes-PyTokenizer] PASSED [ 65%] 515s tests/test_tokenizer.py::test_tokenizer[tables:inline_cell_attributes-CTokenizer] PASSED [ 65%] 515s tests/test_tokenizer.py::test_tokenizer[tables:inline_cell_attributes-PyTokenizer] PASSED [ 65%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_row_attributes-CTokenizer] PASSED [ 65%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_row_attributes-PyTokenizer] PASSED [ 65%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_row_attributes_crazy_whitespace-CTokenizer] PASSED [ 65%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_row_attributes_crazy_whitespace-PyTokenizer] PASSED [ 65%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_attributes-CTokenizer] PASSED [ 65%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_attributes-PyTokenizer] PASSED [ 65%] 515s tests/test_tokenizer.py::test_tokenizer[tables:inline_table_attributes-CTokenizer] PASSED [ 65%] 515s tests/test_tokenizer.py::test_tokenizer[tables:inline_table_attributes-PyTokenizer] PASSED [ 65%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_incorrect_attributes-CTokenizer] PASSED [ 65%] 515s tests/test_tokenizer.py::test_tokenizer[tables:table_incorrect_attributes-PyTokenizer] PASSED [ 65%] 515s tests/test_tokenizer.py::test_tokenizer[tables:templates_in_table_attribute-CTokenizer] PASSED [ 65%] 515s tests/test_tokenizer.py::test_tokenizer[tables:templates_in_table_attribute-PyTokenizer] PASSED [ 65%] 515s tests/test_tokenizer.py::test_tokenizer[tables:templates_in_table_attribute_2-CTokenizer] PASSED [ 65%] 515s tests/test_tokenizer.py::test_tokenizer[tables:templates_in_table_attribute_2-PyTokenizer] PASSED [ 65%] 515s tests/test_tokenizer.py::test_tokenizer[tables:inappropriate_marker_at_line_start-CTokenizer] PASSED [ 65%] 515s tests/test_tokenizer.py::test_tokenizer[tables:inappropriate_marker_at_line_start-PyTokenizer] PASSED [ 65%] 515s tests/test_tokenizer.py::test_tokenizer[tables:fake_close_near_start-CTokenizer] PASSED [ 65%] 515s tests/test_tokenizer.py::test_tokenizer[tables:fake_close_near_start-PyTokenizer] PASSED [ 66%] 515s tests/test_tokenizer.py::test_tokenizer[tables:fake_close_near_start_2-CTokenizer] PASSED [ 66%] 515s tests/test_tokenizer.py::test_tokenizer[tables:fake_close_near_start_2-PyTokenizer] PASSED [ 66%] 515s tests/test_tokenizer.py::test_tokenizer[tables:junk_after_table_start-CTokenizer] PASSED [ 66%] 515s tests/test_tokenizer.py::test_tokenizer[tables:junk_after_table_start-PyTokenizer] PASSED [ 66%] 515s tests/test_tokenizer.py::test_tokenizer[tables:junk_after_table_row-CTokenizer] PASSED [ 66%] 515s tests/test_tokenizer.py::test_tokenizer[tables:junk_after_table_row-PyTokenizer] PASSED [ 66%] 515s tests/test_tokenizer.py::test_tokenizer[tables:incomplete_nested_open_only-CTokenizer] PASSED [ 66%] 515s tests/test_tokenizer.py::test_tokenizer[tables:incomplete_nested_open_only-PyTokenizer] PASSED [ 66%] 515s tests/test_tokenizer.py::test_tokenizer[tables:incomplete_nested_open_and_row-CTokenizer] PASSED [ 66%] 515s tests/test_tokenizer.py::test_tokenizer[tables:incomplete_nested_open_and_row-PyTokenizer] PASSED [ 66%] 515s tests/test_tokenizer.py::test_tokenizer[comments:blank-CTokenizer] PASSED [ 66%] 515s tests/test_tokenizer.py::test_tokenizer[comments:blank-PyTokenizer] PASSED [ 66%] 515s tests/test_tokenizer.py::test_tokenizer[comments:basic-CTokenizer] PASSED [ 66%] 515s tests/test_tokenizer.py::test_tokenizer[comments:basic-PyTokenizer] PASSED [ 66%] 515s tests/test_tokenizer.py::test_tokenizer[comments:tons_of_nonsense-CTokenizer] PASSED [ 66%] 515s tests/test_tokenizer.py::test_tokenizer[comments:tons_of_nonsense-PyTokenizer] PASSED [ 66%] 515s tests/test_tokenizer.py::test_tokenizer[comments:incomplete_blank-CTokenizer] PASSED [ 66%] 515s tests/test_tokenizer.py::test_tokenizer[comments:incomplete_blank-PyTokenizer] PASSED [ 66%] 515s tests/test_tokenizer.py::test_tokenizer[comments:incomplete_text-CTokenizer] PASSED [ 66%] 515s tests/test_tokenizer.py::test_tokenizer[comments:incomplete_text-PyTokenizer] PASSED [ 67%] 515s tests/test_tokenizer.py::test_tokenizer[comments:incomplete_partial_close-CTokenizer] PASSED [ 67%] 515s tests/test_tokenizer.py::test_tokenizer[comments:incomplete_partial_close-PyTokenizer] PASSED [ 67%] 515s tests/test_tokenizer.py::test_tokenizer[comments:incomplete_part_only-CTokenizer] PASSED [ 67%] 515s tests/test_tokenizer.py::test_tokenizer[comments:incomplete_part_only-PyTokenizer] PASSED [ 67%] 515s tests/test_tokenizer.py::test_roundtrip[templates:no_params] PASSED [ 67%] 515s tests/test_tokenizer.py::test_roundtrip[templates:one_param_unnamed] PASSED [ 67%] 515s tests/test_tokenizer.py::test_roundtrip[templates:one_param_named] PASSED [ 67%] 515s tests/test_tokenizer.py::test_roundtrip[templates:multiple_unnamed_params] PASSED [ 67%] 515s tests/test_tokenizer.py::test_roundtrip[templates:multiple_named_params] PASSED [ 67%] 515s tests/test_tokenizer.py::test_roundtrip[templates:multiple_mixed_params] PASSED [ 67%] 515s tests/test_tokenizer.py::test_roundtrip[templates:multiple_mixed_params2] PASSED [ 67%] 515s tests/test_tokenizer.py::test_roundtrip[templates:blank_params] PASSED [ 67%] 515s tests/test_tokenizer.py::test_roundtrip[templates:nested_unnamed_param] PASSED [ 67%] 515s tests/test_tokenizer.py::test_roundtrip[templates:nested_named_param_value] PASSED [ 67%] 515s tests/test_tokenizer.py::test_roundtrip[templates:nested_named_param_name_and_value] PASSED [ 67%] 515s tests/test_tokenizer.py::test_roundtrip[templates:nested_name_start] PASSED [ 67%] 515s tests/test_tokenizer.py::test_roundtrip[templates:nested_name_start_unnamed_param] PASSED [ 67%] 515s tests/test_tokenizer.py::test_roundtrip[templates:nested_name_start_named_param_value] PASSED [ 67%] 515s tests/test_tokenizer.py::test_roundtrip[templates:nested_name_start_named_param_name_and_value] PASSED [ 67%] 515s tests/test_tokenizer.py::test_roundtrip[templates:nested_name_end] PASSED [ 68%] 515s tests/test_tokenizer.py::test_roundtrip[templates:nested_name_end_unnamed_param] PASSED [ 68%] 515s tests/test_tokenizer.py::test_roundtrip[templates:nested_name_end_named_param_value] PASSED [ 68%] 515s tests/test_tokenizer.py::test_roundtrip[templates:nested_name_end_named_param_name_and_value] PASSED [ 68%] 515s tests/test_tokenizer.py::test_roundtrip[templates:nested_name_mid] PASSED [ 68%] 515s tests/test_tokenizer.py::test_roundtrip[templates:nested_name_mid_unnamed_param] PASSED [ 68%] 515s tests/test_tokenizer.py::test_roundtrip[templates:nested_name_mid_named_param_value] PASSED [ 68%] 515s tests/test_tokenizer.py::test_roundtrip[templates:nested_name_mid_named_param_name_and_value] PASSED [ 68%] 515s tests/test_tokenizer.py::test_roundtrip[templates:nested_name_start_end] PASSED [ 68%] 515s tests/test_tokenizer.py::test_roundtrip[templates:nested_name_start_end_unnamed_param] PASSED [ 68%] 515s tests/test_tokenizer.py::test_roundtrip[templates:nested_name_start_end_named_param_value] PASSED [ 68%] 515s tests/test_tokenizer.py::test_roundtrip[templates:nested_name_start_end_named_param_name_and_value] PASSED [ 68%] 515s tests/test_tokenizer.py::test_roundtrip[templates:nested_names_multiple] PASSED [ 68%] 515s tests/test_tokenizer.py::test_roundtrip[templates:nested_names_multiple_unnamed_param] PASSED [ 68%] 515s tests/test_tokenizer.py::test_roundtrip[templates:nested_names_multiple_named_param_value] PASSED [ 68%] 515s tests/test_tokenizer.py::test_roundtrip[templates:nested_names_multiple_named_param_name_and_value] PASSED [ 68%] 515s tests/test_tokenizer.py::test_roundtrip[templates:mixed_nested_templates] PASSED [ 68%] 515s tests/test_tokenizer.py::test_roundtrip[templates:nested_two_args] PASSED [ 68%] 515s tests/test_tokenizer.py::test_roundtrip[templates:newlines_start] PASSED [ 68%] 515s tests/test_tokenizer.py::test_roundtrip[templates:newlines_end] PASSED [ 68%] 515s tests/test_tokenizer.py::test_roundtrip[templates:newlines_start_end] PASSED [ 69%] 515s tests/test_tokenizer.py::test_roundtrip[templates:newlines_mid] PASSED [ 69%] 515s tests/test_tokenizer.py::test_roundtrip[templates:newlines_start_mid] PASSED [ 69%] 515s tests/test_tokenizer.py::test_roundtrip[templates:newlines_mid_end] PASSED [ 69%] 515s tests/test_tokenizer.py::test_roundtrip[templates:newlines_start_mid_end] PASSED [ 69%] 515s tests/test_tokenizer.py::test_roundtrip[templates:newlines_unnamed_param] PASSED [ 69%] 515s tests/test_tokenizer.py::test_roundtrip[templates:newlines_enclose_template_name_unnamed_param] PASSED [ 69%] 515s tests/test_tokenizer.py::test_roundtrip[templates:newlines_within_template_name_unnamed_param] PASSED [ 69%] 515s tests/test_tokenizer.py::test_roundtrip[templates:newlines_enclose_template_name_named_param_value] PASSED [ 69%] 515s tests/test_tokenizer.py::test_roundtrip[templates:newlines_within_template_name_named_param_value] PASSED [ 69%] 515s tests/test_tokenizer.py::test_roundtrip[templates:newlines_named_param_name] PASSED [ 69%] 515s tests/test_tokenizer.py::test_roundtrip[templates:newlines_named_param_name_param_value] PASSED [ 69%] 515s tests/test_tokenizer.py::test_roundtrip[templates:newlines_enclose_template_name_named_param_name] PASSED [ 69%] 515s tests/test_tokenizer.py::test_roundtrip[templates:newlines_enclose_template_name_named_param_name_param_value] PASSED [ 69%] 515s tests/test_tokenizer.py::test_roundtrip[templates:newlines_within_template_name_named_param_name] PASSED [ 69%] 515s tests/test_tokenizer.py::test_roundtrip[templates:newlines_within_template_name_named_param_name_param_value] PASSED [ 69%] 515s tests/test_tokenizer.py::test_roundtrip[templates:newlines_wildcard] PASSED [ 69%] 515s tests/test_tokenizer.py::test_roundtrip[templates:newlines_wildcard_redux] PASSED [ 69%] 515s tests/test_tokenizer.py::test_roundtrip[templates:newlines_wildcard_redux_invalid] PASSED [ 69%] 515s tests/test_tokenizer.py::test_roundtrip[templates:newlines_spaces] PASSED [ 69%] 515s tests/test_tokenizer.py::test_roundtrip[templates:newlines_spaces_param] PASSED [ 70%] 515s tests/test_tokenizer.py::test_roundtrip[templates:invalid_blank] PASSED [ 70%] 515s tests/test_tokenizer.py::test_roundtrip[templates:invalid_blank_whitespace] PASSED [ 70%] 515s tests/test_tokenizer.py::test_roundtrip[templates:invalid_blank_pipe] PASSED [ 70%] 515s tests/test_tokenizer.py::test_roundtrip[templates:invalid_blank_whitespace_pipe] PASSED [ 70%] 515s tests/test_tokenizer.py::test_roundtrip[templates:invalid_name_left_brace_middle] PASSED [ 70%] 515s tests/test_tokenizer.py::test_roundtrip[templates:invalid_name_right_brace_middle] PASSED [ 70%] 515s tests/test_tokenizer.py::test_roundtrip[templates:invalid_name_left_braces] PASSED [ 70%] 515s tests/test_tokenizer.py::test_roundtrip[templates:invalid_name_left_bracket_middle] PASSED [ 70%] 515s tests/test_tokenizer.py::test_roundtrip[templates:invalid_name_right_bracket_middle] PASSED [ 70%] 515s tests/test_tokenizer.py::test_roundtrip[templates:invalid_name_left_bracket_start] PASSED [ 70%] 515s tests/test_tokenizer.py::test_roundtrip[templates:invalid_name_right_bracket_start] PASSED [ 70%] 515s tests/test_tokenizer.py::test_roundtrip[templates:valid_name_left_brace_start] PASSED [ 70%] 515s tests/test_tokenizer.py::test_roundtrip[templates:valid_unnamed_param_left_brace] PASSED [ 70%] 515s tests/test_tokenizer.py::test_roundtrip[templates:valid_unnamed_param_braces] PASSED [ 70%] 515s tests/test_tokenizer.py::test_roundtrip[templates:valid_param_name_braces] PASSED [ 70%] 515s tests/test_tokenizer.py::test_roundtrip[templates:valid_param_name_brackets] PASSED [ 70%] 515s tests/test_tokenizer.py::test_roundtrip[templates:valid_param_name_double_left_brackets] PASSED [ 70%] 515s tests/test_tokenizer.py::test_roundtrip[templates:valid_param_name_double_right_brackets] PASSED [ 70%] 515s tests/test_tokenizer.py::test_roundtrip[templates:valid_param_name_double_brackets] PASSED [ 70%] 515s tests/test_tokenizer.py::test_roundtrip[templates:invalid_param_name_double_left_braces] PASSED [ 71%] 515s tests/test_tokenizer.py::test_roundtrip[templates:invalid_param_name_double_braces] PASSED [ 71%] 515s tests/test_tokenizer.py::test_roundtrip[templates:invalid_left_angle_bracket] PASSED [ 71%] 515s tests/test_tokenizer.py::test_roundtrip[templates:invalid_right_angle_bracket] PASSED [ 71%] 515s tests/test_tokenizer.py::test_roundtrip[templates:incomplete_stub] PASSED [ 71%] 515s tests/test_tokenizer.py::test_roundtrip[templates:incomplete_plain] PASSED [ 71%] 515s tests/test_tokenizer.py::test_roundtrip[templates:incomplete_right_brace] PASSED [ 71%] 515s tests/test_tokenizer.py::test_roundtrip[templates:incomplete_pipe] PASSED [ 71%] 515s tests/test_tokenizer.py::test_roundtrip[templates:incomplete_unnamed_param] PASSED [ 71%] 515s tests/test_tokenizer.py::test_roundtrip[templates:incomplete_unnamed_param_pipe] PASSED [ 71%] 515s tests/test_tokenizer.py::test_roundtrip[templates:incomplete_valueless_param] PASSED [ 71%] 515s tests/test_tokenizer.py::test_roundtrip[templates:incomplete_valueless_param_pipe] PASSED [ 71%] 515s tests/test_tokenizer.py::test_roundtrip[templates:incomplete_named_param] PASSED [ 71%] 515s tests/test_tokenizer.py::test_roundtrip[templates:incomplete_named_param_pipe] PASSED [ 71%] 515s tests/test_tokenizer.py::test_roundtrip[templates:incomplete_two_unnamed_params] PASSED [ 71%] 515s tests/test_tokenizer.py::test_roundtrip[templates:incomplete_unnamed_param_valueless_param] PASSED [ 71%] 515s tests/test_tokenizer.py::test_roundtrip[templates:incomplete_unnamed_param_named_param] PASSED [ 71%] 515s tests/test_tokenizer.py::test_roundtrip[templates:incomplete_named_param_unnamed_param] PASSED [ 71%] 515s tests/test_tokenizer.py::test_roundtrip[templates:incomplete_named_param_valueless_param] PASSED [ 71%] 515s tests/test_tokenizer.py::test_roundtrip[templates:incomplete_two_named_params] PASSED [ 71%] 515s tests/test_tokenizer.py::test_roundtrip[templates:incomplete_nested_template_as_unnamed_param] PASSED [ 72%] 515s tests/test_tokenizer.py::test_roundtrip[templates:incomplete_nested_template_as_param_value] PASSED [ 72%] 515s tests/test_tokenizer.py::test_roundtrip[templates:recursion_five_hundred_opens] PASSED [ 72%] 515s tests/test_tokenizer.py::test_roundtrip[templates:recursion_one_hundred_opens] PASSED [ 72%] 515s tests/test_tokenizer.py::test_roundtrip[templates:recursion_opens_and_closes] PASSED [ 72%] 515s tests/test_tokenizer.py::test_roundtrip[templates:invalid_section_level_1] PASSED [ 72%] 515s tests/test_tokenizer.py::test_roundtrip[templates:section_level_2] PASSED [ 72%] 515s tests/test_tokenizer.py::test_roundtrip[templates:invalid_section_level_2] PASSED [ 72%] 515s tests/test_tokenizer.py::test_roundtrip[templates:section_level_2_after_template_parameter] PASSED [ 72%] 515s tests/test_tokenizer.py::test_roundtrip[text:basic] PASSED [ 72%] 515s tests/test_tokenizer.py::test_roundtrip[text:newlines] PASSED [ 72%] 515s tests/test_tokenizer.py::test_roundtrip[text:unicode] PASSED [ 72%] 515s tests/test_tokenizer.py::test_roundtrip[text:unicode2] PASSED [ 72%] 515s tests/test_tokenizer.py::test_roundtrip[text:large] PASSED [ 72%] 515s tests/test_tokenizer.py::test_roundtrip[arguments:blank] PASSED [ 72%] 515s tests/test_tokenizer.py::test_roundtrip[arguments:blank_with_default] PASSED [ 72%] 515s tests/test_tokenizer.py::test_roundtrip[arguments:basic] PASSED [ 72%] 515s tests/test_tokenizer.py::test_roundtrip[arguments:default] PASSED [ 72%] 515s tests/test_tokenizer.py::test_roundtrip[arguments:blank_with_multiple_defaults] PASSED [ 72%] 515s tests/test_tokenizer.py::test_roundtrip[arguments:multiple_defaults] PASSED [ 72%] 515s tests/test_tokenizer.py::test_roundtrip[arguments:newline] PASSED [ 73%] 515s tests/test_tokenizer.py::test_roundtrip[arguments:right_braces] PASSED [ 73%] 515s tests/test_tokenizer.py::test_roundtrip[arguments:right_braces_default] PASSED [ 73%] 515s tests/test_tokenizer.py::test_roundtrip[arguments:nested] PASSED [ 73%] 515s tests/test_tokenizer.py::test_roundtrip[arguments:invalid_braces] PASSED [ 73%] 515s tests/test_tokenizer.py::test_roundtrip[arguments:incomplete_open_only] PASSED [ 73%] 515s tests/test_tokenizer.py::test_roundtrip[arguments:incomplete_open_text] PASSED [ 73%] 515s tests/test_tokenizer.py::test_roundtrip[arguments:incomplete_open_text_pipe] PASSED [ 73%] 515s tests/test_tokenizer.py::test_roundtrip[arguments:incomplete_open_pipe] PASSED [ 73%] 515s tests/test_tokenizer.py::test_roundtrip[arguments:incomplete_open_pipe_text] PASSED [ 73%] 515s tests/test_tokenizer.py::test_roundtrip[arguments:incomplete_open_pipes_text] PASSED [ 73%] 515s tests/test_tokenizer.py::test_roundtrip[arguments:incomplete_open_partial_close] PASSED [ 73%] 515s tests/test_tokenizer.py::test_roundtrip[arguments:incomplete_preserve_previous] PASSED [ 73%] 515s tests/test_tokenizer.py::test_roundtrip[integration:empty] PASSED [ 73%] 515s tests/test_tokenizer.py::test_roundtrip[integration:template_argument_mix] PASSED [ 73%] 515s tests/test_tokenizer.py::test_roundtrip[integration:link_in_template_name] PASSED [ 73%] 515s tests/test_tokenizer.py::test_roundtrip[integration:rich_heading] PASSED [ 73%] 515s tests/test_tokenizer.py::test_roundtrip[integration:html_entity_with_template] PASSED [ 73%] 515s tests/test_tokenizer.py::test_roundtrip[integration:html_entity_with_comment] PASSED [ 73%] 515s tests/test_tokenizer.py::test_roundtrip[integration:rich_tags] PASSED [ 73%] 515s tests/test_tokenizer.py::test_roundtrip[integration:wildcard] PASSED [ 74%] 515s tests/test_tokenizer.py::test_roundtrip[integration:wildcard_redux] PASSED [ 74%] 515s tests/test_tokenizer.py::test_roundtrip[integration:link_inside_dl] PASSED [ 74%] 515s tests/test_tokenizer.py::test_roundtrip[integration:link_inside_dl_2] PASSED [ 74%] 515s tests/test_tokenizer.py::test_roundtrip[integration:link_inside_template] PASSED [ 74%] 515s tests/test_tokenizer.py::test_roundtrip[integration:link_inside_template_2] PASSED [ 74%] 515s tests/test_tokenizer.py::test_roundtrip[integration:link_inside_template_3] PASSED [ 74%] 515s tests/test_tokenizer.py::test_roundtrip[integration:link_inside_argument] PASSED [ 74%] 515s tests/test_tokenizer.py::test_roundtrip[integration:link_inside_heading] PASSED [ 74%] 515s tests/test_tokenizer.py::test_roundtrip[integration:link_inside_tag_body] PASSED [ 74%] 515s tests/test_tokenizer.py::test_roundtrip[integration:link_inside_tag_style] PASSED [ 74%] 515s tests/test_tokenizer.py::test_roundtrip[integration:style_tag_inside_link] PASSED [ 74%] 515s tests/test_tokenizer.py::test_roundtrip[integration:comment_inside_link] PASSED [ 74%] 515s tests/test_tokenizer.py::test_roundtrip[integration:bracketed_link_inside_template] PASSED [ 74%] 515s tests/test_tokenizer.py::test_roundtrip[integration:comment_inside_bracketed_link] PASSED [ 74%] 515s tests/test_tokenizer.py::test_roundtrip[integration:wikilink_inside_external_link] PASSED [ 74%] 515s tests/test_tokenizer.py::test_roundtrip[integration:external_link_inside_wikilink] PASSED [ 74%] 515s tests/test_tokenizer.py::test_roundtrip[integration:external_link_inside_wikilink_brackets] PASSED [ 74%] 515s tests/test_tokenizer.py::test_roundtrip[integration:external_link_inside_wikilink_title] PASSED [ 74%] 515s tests/test_tokenizer.py::test_roundtrip[integration:italics_inside_external_link_inside_incomplete_list] PASSED [ 74%] 515s tests/test_tokenizer.py::test_roundtrip[integration:nodes_inside_external_link_after_punct] PASSED [ 75%] 515s tests/test_tokenizer.py::test_roundtrip[integration:newline_and_comment_in_template_name] PASSED [ 75%] 515s tests/test_tokenizer.py::test_roundtrip[integration:newline_and_comment_in_template_name_2] PASSED [ 75%] 515s tests/test_tokenizer.py::test_roundtrip[integration:newline_and_comment_in_template_name_3] PASSED [ 75%] 515s tests/test_tokenizer.py::test_roundtrip[integration:newline_and_comment_in_template_name_4] PASSED [ 75%] 515s tests/test_tokenizer.py::test_roundtrip[integration:newline_and_comment_in_template_name_5] PASSED [ 75%] 515s tests/test_tokenizer.py::test_roundtrip[integration:newline_and_comment_in_template_name_6] PASSED [ 75%] 515s tests/test_tokenizer.py::test_roundtrip[integration:newline_and_comment_in_template_name_7] PASSED [ 75%] 515s tests/test_tokenizer.py::test_roundtrip[integration:newline_and_comment_in_template_name_8] PASSED [ 75%] 515s tests/test_tokenizer.py::test_roundtrip[integration:tag_in_link_title] PASSED [ 75%] 515s tests/test_tokenizer.py::test_roundtrip[integration:tag_in_template_name] PASSED [ 75%] 515s tests/test_tokenizer.py::test_roundtrip[integration:tag_in_link_text] PASSED [ 75%] 515s tests/test_tokenizer.py::test_roundtrip[integration:comment_in_link_title] PASSED [ 75%] 515s tests/test_tokenizer.py::test_roundtrip[integration:incomplete_comment_in_link_title] PASSED [ 75%] 515s tests/test_tokenizer.py::test_roundtrip[integration:incomplete_comment_in_link_title_2] PASSED [ 75%] 515s tests/test_tokenizer.py::test_roundtrip[integration:incomplete_comment_in_link_title_3] PASSED [ 75%] 515s tests/test_tokenizer.py::test_roundtrip[integration:incomplete_comment_in_link_title_4] PASSED [ 75%] 515s tests/test_tokenizer.py::test_roundtrip[integration:incomplete_comment_in_link_title_5] PASSED [ 75%] 515s tests/test_tokenizer.py::test_roundtrip[integration:incomplete_comment_in_link_title_6] PASSED [ 75%] 515s tests/test_tokenizer.py::test_roundtrip[integration:wikilink_to_external_link_fallback] PASSED [ 75%] 515s tests/test_tokenizer.py::test_roundtrip[integration:wikilink_to_external_link_fallback_2] PASSED [ 76%] 515s tests/test_tokenizer.py::test_roundtrip[integration:tables_in_templates] PASSED [ 76%] 515s tests/test_tokenizer.py::test_roundtrip[integration:tables_in_templates_2] PASSED [ 76%] 515s tests/test_tokenizer.py::test_roundtrip[integration:many_invalid_nested_tags] PASSED [ 76%] 515s tests/test_tokenizer.py::test_roundtrip[integration:nested_templates_and_style_tags] PASSED [ 76%] 515s tests/test_tokenizer.py::test_roundtrip[integration:wikilink_nested_with_nowiki] PASSED [ 76%] 515s tests/test_tokenizer.py::test_roundtrip[html_entities:named] PASSED [ 76%] 515s tests/test_tokenizer.py::test_roundtrip[html_entities:numeric_decimal] PASSED [ 76%] 515s tests/test_tokenizer.py::test_roundtrip[html_entities:numeric_hexadecimal_x] PASSED [ 76%] 515s tests/test_tokenizer.py::test_roundtrip[html_entities:numeric_hexadecimal_X] PASSED [ 76%] 515s tests/test_tokenizer.py::test_roundtrip[html_entities:numeric_decimal_max] PASSED [ 76%] 515s tests/test_tokenizer.py::test_roundtrip[html_entities:numeric_hex_max] PASSED [ 76%] 515s tests/test_tokenizer.py::test_roundtrip[html_entities:numeric_zeros] PASSED [ 76%] 515s tests/test_tokenizer.py::test_roundtrip[html_entities:numeric_hex_zeros] PASSED [ 76%] 515s tests/test_tokenizer.py::test_roundtrip[html_entities:invalid_named_too_long] PASSED [ 76%] 515s tests/test_tokenizer.py::test_roundtrip[html_entities:invalid_named_undefined] PASSED [ 76%] 515s tests/test_tokenizer.py::test_roundtrip[html_entities:invalid_named_nonascii] PASSED [ 76%] 515s tests/test_tokenizer.py::test_roundtrip[html_entities:invalid_numeric_out_of_range_1] PASSED [ 76%] 515s tests/test_tokenizer.py::test_roundtrip[html_entities:invalid_numeric_out_of_range_2] PASSED [ 76%] 515s tests/test_tokenizer.py::test_roundtrip[html_entities:invalid_numeric_out_of_range_3] PASSED [ 76%] 515s tests/test_tokenizer.py::test_roundtrip[html_entities:invalid_numeric_out_of_range_4] PASSED [ 77%] 515s tests/test_tokenizer.py::test_roundtrip[html_entities:invalid_partial_amp] PASSED [ 77%] 515s tests/test_tokenizer.py::test_roundtrip[html_entities:invalid_partial_amp_semicolon] PASSED [ 77%] 515s tests/test_tokenizer.py::test_roundtrip[html_entities:invalid_partial_amp_pound] PASSED [ 77%] 515s tests/test_tokenizer.py::test_roundtrip[html_entities:invalid_partial_amp_pound_x] PASSED [ 77%] 515s tests/test_tokenizer.py::test_roundtrip[html_entities:invalid_partial_amp_pound_semicolon] PASSED [ 77%] 515s tests/test_tokenizer.py::test_roundtrip[html_entities:invalid_partial_amp_pound_x_semicolon0] PASSED [ 77%] 515s tests/test_tokenizer.py::test_roundtrip[html_entities:invalid_partial_amp_pound_numbers] PASSED [ 77%] 515s tests/test_tokenizer.py::test_roundtrip[html_entities:invalid_partial_amp_pound_x_semicolon1] PASSED [ 77%] 515s tests/test_tokenizer.py::test_roundtrip[html_entities:invalid_zeros_before_named] PASSED [ 77%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:basic] PASSED [ 77%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:basic_brackets] PASSED [ 77%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_space] PASSED [ 77%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_title] PASSED [ 77%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_multiword_title] PASSED [ 77%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_adjacent] PASSED [ 77%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_newline_before] PASSED [ 77%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_newline_inside] PASSED [ 77%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_newline_after] PASSED [ 77%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_space_before] PASSED [ 77%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_title_like_url] PASSED [ 78%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_recursive] PASSED [ 78%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_recursive_2] PASSED [ 78%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:period_after] PASSED [ 78%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:colons_after] PASSED [ 78%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:close_paren_after_excluded] PASSED [ 78%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:close_paren_after_included] PASSED [ 78%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:open_bracket_inside] PASSED [ 78%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_period_after] PASSED [ 78%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_punct_after] PASSED [ 78%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_close_paren_after_included] PASSED [ 78%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_close_paren_after_included_2] PASSED [ 78%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_open_bracket_inside] PASSED [ 78%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:adjacent_space] PASSED [ 78%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:adjacent_newline] PASSED [ 78%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:adjacent_close_bracket] PASSED [ 78%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:html_entity_in_url] PASSED [ 78%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:template_in_url] PASSED [ 78%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:argument_in_url] PASSED [ 78%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:wikilink_in_url] PASSED [ 78%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:external_link_in_url] PASSED [ 79%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:spaces_padding] PASSED [ 79%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:text_and_spaces_padding] PASSED [ 79%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:template_before] PASSED [ 79%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:spaces_padding_no_slashes] PASSED [ 79%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:text_and_spaces_padding_no_slashes] PASSED [ 79%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:template_before_no_slashes] PASSED [ 79%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:no_slashes] PASSED [ 79%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:slashes_optional] PASSED [ 79%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:short] PASSED [ 79%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:slashes_missing] PASSED [ 79%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:no_scheme_but_slashes] PASSED [ 79%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:no_scheme_but_colon] PASSED [ 79%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:no_scheme_but_colon_and_slashes] PASSED [ 79%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:fake_scheme_no_slashes] PASSED [ 79%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:fake_scheme_slashes] PASSED [ 79%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:fake_scheme_brackets_no_slashes] PASSED [ 79%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:fake_scheme_brackets_slashes] PASSED [ 79%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:interrupted_scheme] PASSED [ 79%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:interrupted_scheme_brackets] PASSED [ 79%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:no_slashes_brackets] PASSED [ 80%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:space_before_no_slashes_brackets] PASSED [ 80%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:slashes_optional_brackets] PASSED [ 80%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:short_brackets] PASSED [ 80%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:slashes_missing_brackets] PASSED [ 80%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:protcol_relative] PASSED [ 80%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:scheme_missing_but_colon_brackets] PASSED [ 80%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:scheme_missing_but_colon_slashes_brackets] PASSED [ 80%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:unclosed_protocol_relative] PASSED [ 80%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:space_before_protcol_relative] PASSED [ 80%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:unclosed_just_scheme] PASSED [ 80%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:unclosed_scheme_colon] PASSED [ 80%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:unclosed_scheme_colon_slashes] PASSED [ 80%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:incomplete_bracket] PASSED [ 80%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:incomplete_scheme_colon] PASSED [ 80%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:incomplete_scheme_colon_slashes] PASSED [ 80%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_scheme_but_no_url] PASSED [ 80%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_scheme_slashes_but_no_url] PASSED [ 80%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_scheme_title_but_no_url] PASSED [ 80%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:url_preceded_by_non_word_character] PASSED [ 80%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:url_preceded_by_underscore] PASSED [ 80%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:url_terminated_by_double_quote] PASSED [ 81%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:url_not_terminated_by_single_quote] PASSED [ 81%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:url_terminated_by_two_single_quotes] PASSED [ 81%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:url_terminated_by_left_angle] PASSED [ 81%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:url_terminated_by_right_angle] PASSED [ 81%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_terminated_by_double_quote] PASSED [ 81%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_not_terminated_by_single_quote] PASSED [ 81%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_terminated_by_two_single_quotes] PASSED [ 81%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_terminated_by_left_angle] PASSED [ 81%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:brackets_terminated_by_right_angle] PASSED [ 81%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:scheme_case] PASSED [ 81%] 515s tests/test_tokenizer.py::test_roundtrip[external_links:bracket_scheme_case] PASSED [ 81%] 515s tests/test_tokenizer.py::test_roundtrip[headings:level_1] PASSED [ 81%] 515s tests/test_tokenizer.py::test_roundtrip[headings:level_2] PASSED [ 81%] 515s tests/test_tokenizer.py::test_roundtrip[headings:level_3] PASSED [ 81%] 515s tests/test_tokenizer.py::test_roundtrip[headings:level_4] PASSED [ 81%] 515s tests/test_tokenizer.py::test_roundtrip[headings:level_5] PASSED [ 81%] 515s tests/test_tokenizer.py::test_roundtrip[headings:level_6] PASSED [ 81%] 515s tests/test_tokenizer.py::test_roundtrip[headings:level_7] PASSED [ 81%] 515s tests/test_tokenizer.py::test_roundtrip[headings:level_3_2] PASSED [ 81%] 515s tests/test_tokenizer.py::test_roundtrip[headings:level_4_6] PASSED [ 82%] 515s tests/test_tokenizer.py::test_roundtrip[headings:newline_before] PASSED [ 82%] 515s tests/test_tokenizer.py::test_roundtrip[headings:text_after] PASSED [ 82%] 515s tests/test_tokenizer.py::test_roundtrip[headings:invalid_text_before] PASSED [ 82%] 515s tests/test_tokenizer.py::test_roundtrip[headings:invalid_newline_middle] PASSED [ 82%] 515s tests/test_tokenizer.py::test_roundtrip[headings:invalid_newline_end] PASSED [ 82%] 515s tests/test_tokenizer.py::test_roundtrip[headings:invalid_nesting] PASSED [ 82%] 515s tests/test_tokenizer.py::test_roundtrip[headings:incomplete] PASSED [ 82%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:basic_italics] PASSED [ 82%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:basic_bold] PASSED [ 82%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:basic_ul] PASSED [ 82%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:basic_ol] PASSED [ 82%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:basic_dt] PASSED [ 82%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:basic_dd] PASSED [ 82%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:basic_hr] PASSED [ 82%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:complex_italics] PASSED [ 82%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:multiline_italics] PASSED [ 82%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:unending_italics] PASSED [ 82%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:misleading_italics_end] PASSED [ 82%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:italics_start_outside_end_inside] PASSED [ 82%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:italics_start_inside_end_outside] PASSED [ 83%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:complex_bold] PASSED [ 83%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:multiline_bold] PASSED [ 83%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:unending_bold] PASSED [ 83%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:misleading_bold_end] PASSED [ 83%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:bold_start_outside_end_inside] PASSED [ 83%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:bold_start_inside_end_outside] PASSED [ 83%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:bold_and_italics] PASSED [ 83%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:both_then_bold] PASSED [ 83%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:both_then_italics] PASSED [ 83%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:bold_then_both] PASSED [ 83%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:italics_then_both] PASSED [ 83%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:italics_then_bold] PASSED [ 83%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:bold_then_italics] PASSED [ 83%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:five_three] PASSED [ 83%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:five_two] PASSED [ 83%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:four] PASSED [ 83%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:four_two] PASSED [ 83%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:two_three] PASSED [ 83%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:two_four] PASSED [ 83%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:two_three_two] PASSED [ 84%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:two_four_four] PASSED [ 84%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:seven] PASSED [ 84%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:unending_bold_and_italics] PASSED [ 84%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:complex_ul] PASSED [ 84%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:ul_multiline_template] PASSED [ 84%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:ul_adjacent] PASSED [ 84%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:ul_depths] PASSED [ 84%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:ul_space_before] PASSED [ 84%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:ul_interruption] PASSED [ 84%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:complex_ol] PASSED [ 84%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:ol_multiline_template] PASSED [ 84%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:ol_adjacent] PASSED [ 84%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:ol_depths] PASSED [ 84%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:ol_space_before] PASSED [ 84%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:ol_interruption] PASSED [ 84%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:ul_ol_mix] PASSED [ 84%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:complex_dt] PASSED [ 84%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:dt_multiline_template] PASSED [ 84%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:dt_adjacent] PASSED [ 84%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:dt_depths] PASSED [ 85%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:dt_space_before] PASSED [ 85%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:dt_interruption] PASSED [ 85%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:complex_dd] PASSED [ 85%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:dd_multiline_template] PASSED [ 85%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:dd_adjacent] PASSED [ 85%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:dd_depths] PASSED [ 85%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:dd_space_before] PASSED [ 85%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:dd_interruption] PASSED [ 85%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:dt_dd_mix] PASSED [ 85%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:dt_dd_mix2] PASSED [ 85%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:dt_dd_mix3] PASSED [ 85%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:dt_dd_mix4] PASSED [ 85%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:ul_ol_dt_dd_mix] PASSED [ 85%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:hr_text_before] PASSED [ 85%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:hr_text_after] PASSED [ 85%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:hr_text_before_after] PASSED [ 85%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:hr_newlines] PASSED [ 85%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:hr_adjacent] PASSED [ 85%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:hr_adjacent_space] PASSED [ 85%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:hr_short] PASSED [ 86%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:hr_long] PASSED [ 86%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:hr_interruption_short] PASSED [ 86%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:hr_interruption_long] PASSED [ 86%] 515s tests/test_tokenizer.py::test_roundtrip[tags_wikimarkup:nowiki_cancel] PASSED [ 86%] 515s tests/test_tokenizer.py::test_roundtrip[wikilinks:blank] PASSED [ 86%] 515s tests/test_tokenizer.py::test_roundtrip[wikilinks:blank_with_text] PASSED [ 86%] 515s tests/test_tokenizer.py::test_roundtrip[wikilinks:basic] PASSED [ 86%] 515s tests/test_tokenizer.py::test_roundtrip[wikilinks:with_text] PASSED [ 86%] 515s tests/test_tokenizer.py::test_roundtrip[wikilinks:blank_with_multiple_texts] PASSED [ 86%] 515s tests/test_tokenizer.py::test_roundtrip[wikilinks:multiple_texts] PASSED [ 86%] 515s tests/test_tokenizer.py::test_roundtrip[wikilinks:newline_text] PASSED [ 86%] 515s tests/test_tokenizer.py::test_roundtrip[wikilinks:bracket_text] PASSED [ 86%] 515s tests/test_tokenizer.py::test_roundtrip[wikilinks:nested] PASSED [ 86%] 515s tests/test_tokenizer.py::test_roundtrip[wikilinks:nested_padding] PASSED [ 86%] 515s tests/test_tokenizer.py::test_roundtrip[wikilinks:invalid_newline] PASSED [ 86%] 515s tests/test_tokenizer.py::test_roundtrip[wikilinks:invalid_right_brace] PASSED [ 86%] 515s tests/test_tokenizer.py::test_roundtrip[wikilinks:invalid_left_brace] PASSED [ 86%] 515s tests/test_tokenizer.py::test_roundtrip[wikilinks:invalid_right_bracket] PASSED [ 86%] 515s tests/test_tokenizer.py::test_roundtrip[wikilinks:invalid_left_bracket] PASSED [ 86%] 515s tests/test_tokenizer.py::test_roundtrip[wikilinks:invalid_nested_title] PASSED [ 87%] 515s tests/test_tokenizer.py::test_roundtrip[wikilinks:invalid_nested_title_and_text] PASSED [ 87%] 515s tests/test_tokenizer.py::test_roundtrip[wikilinks:invalid_nested_no_close] PASSED [ 87%] 515s tests/test_tokenizer.py::test_roundtrip[wikilinks:invalid_left_angle_bracket] PASSED [ 87%] 515s tests/test_tokenizer.py::test_roundtrip[wikilinks:invalid_right_angle_bracket] PASSED [ 87%] 515s tests/test_tokenizer.py::test_roundtrip[wikilinks:invalid_newline_at_start] PASSED [ 87%] 515s tests/test_tokenizer.py::test_roundtrip[wikilinks:invalid_newline_at_end] PASSED [ 87%] 515s tests/test_tokenizer.py::test_roundtrip[wikilinks:incomplete_open_only] PASSED [ 87%] 515s tests/test_tokenizer.py::test_roundtrip[wikilinks:incomplete_open_text] PASSED [ 87%] 515s tests/test_tokenizer.py::test_roundtrip[wikilinks:incomplete_open_text_pipe] PASSED [ 87%] 515s tests/test_tokenizer.py::test_roundtrip[wikilinks:incomplete_open_pipe] PASSED [ 87%] 515s tests/test_tokenizer.py::test_roundtrip[wikilinks:incomplete_open_pipe_text] PASSED [ 87%] 515s tests/test_tokenizer.py::test_roundtrip[wikilinks:incomplete_open_pipes_text] PASSED [ 87%] 515s tests/test_tokenizer.py::test_roundtrip[wikilinks:incomplete_open_partial_close] PASSED [ 87%] 515s tests/test_tokenizer.py::test_roundtrip[wikilinks:incomplete_preserve_previous] PASSED [ 87%] 515s tests/test_tokenizer.py::test_roundtrip[tags:basic] PASSED [ 87%] 515s tests/test_tokenizer.py::test_roundtrip[tags:basic_selfclosing] PASSED [ 87%] 515s tests/test_tokenizer.py::test_roundtrip[tags:content] PASSED [ 87%] 515s tests/test_tokenizer.py::test_roundtrip[tags:padded_open] PASSED [ 87%] 515s tests/test_tokenizer.py::test_roundtrip[tags:padded_close] PASSED [ 87%] 515s tests/test_tokenizer.py::test_roundtrip[tags:padded_selfclosing] PASSED [ 88%] 515s tests/test_tokenizer.py::test_roundtrip[tags:attribute] PASSED [ 88%] 515s tests/test_tokenizer.py::test_roundtrip[tags:attribute_value] PASSED [ 88%] 515s tests/test_tokenizer.py::test_roundtrip[tags:attribute_quoted] PASSED [ 88%] 515s tests/test_tokenizer.py::test_roundtrip[tags:attribute_single_quoted] PASSED [ 88%] 515s tests/test_tokenizer.py::test_roundtrip[tags:attribute_hyphen] PASSED [ 88%] 515s tests/test_tokenizer.py::test_roundtrip[tags:attribute_quoted_hyphen] PASSED [ 88%] 515s tests/test_tokenizer.py::test_roundtrip[tags:attribute_selfclosing] PASSED [ 88%] 515s tests/test_tokenizer.py::test_roundtrip[tags:attribute_selfclosing_value] PASSED [ 88%] 515s tests/test_tokenizer.py::test_roundtrip[tags:attribute_selfclosing_value_quoted] PASSED [ 88%] 515s tests/test_tokenizer.py::test_roundtrip[tags:nested_tag] PASSED [ 88%] 515s tests/test_tokenizer.py::test_roundtrip[tags:nested_tag_quoted] PASSED [ 88%] 515s tests/test_tokenizer.py::test_roundtrip[tags:nested_troll_tag] PASSED [ 88%] 515s tests/test_tokenizer.py::test_roundtrip[tags:nested_troll_tag_quoted] PASSED [ 88%] 515s tests/test_tokenizer.py::test_roundtrip[tags:nested_tag_selfclosing] PASSED [ 88%] 515s tests/test_tokenizer.py::test_roundtrip[tags:invalid_space_begin_open] PASSED [ 88%] 515s tests/test_tokenizer.py::test_roundtrip[tags:invalid_space_begin_close] PASSED [ 88%] 515s tests/test_tokenizer.py::test_roundtrip[tags:valid_space_end] PASSED [ 88%] 515s tests/test_tokenizer.py::test_roundtrip[tags:invalid_template_ends] PASSED [ 88%] 515s tests/test_tokenizer.py::test_roundtrip[tags:invalid_template_ends_nospace] PASSED [ 88%] 515s tests/test_tokenizer.py::test_roundtrip[tags:valid_template_end_open] PASSED [ 89%] 515s tests/test_tokenizer.py::test_roundtrip[tags:valid_template_end_open_space_end_close] PASSED [ 89%] 515s tests/test_tokenizer.py::test_roundtrip[tags:invalid_template_end_open_nospace] PASSED [ 89%] 515s tests/test_tokenizer.py::test_roundtrip[tags:invalid_template_start_close] PASSED [ 89%] 515s tests/test_tokenizer.py::test_roundtrip[tags:invalid_template_start_open] PASSED [ 89%] 515s tests/test_tokenizer.py::test_roundtrip[tags:unclosed_quote] PASSED [ 89%] 515s tests/test_tokenizer.py::test_roundtrip[tags:fake_quote] PASSED [ 89%] 515s tests/test_tokenizer.py::test_roundtrip[tags:fake_quote_complex] PASSED [ 89%] 515s tests/test_tokenizer.py::test_roundtrip[tags:quotes_in_quotes] PASSED [ 89%] 515s tests/test_tokenizer.py::test_roundtrip[tags:quotes_in_quotes_2] PASSED [ 89%] 515s tests/test_tokenizer.py::test_roundtrip[tags:quotes_in_quotes_3] PASSED [ 89%] 515s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_lbracket] PASSED [ 89%] 515s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_lbracket_junk] PASSED [ 89%] 515s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_unclosed_open] PASSED [ 89%] 515s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_unclosed_open_space] PASSED [ 89%] 515s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_unclosed_open_unnamed_attr] PASSED [ 89%] 515s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_unclosed_open_attr_equals] PASSED [ 89%] 515s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_unclosed_open_attr_equals_quoted] PASSED [ 89%] 515s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_unclosed_open_attr] PASSED [ 89%] 515s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_unclosed_open_attr_quoted] PASSED [ 89%] 515s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_open] PASSED [ 90%] 515s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_open_unnamed_attr] PASSED [ 90%] 515s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_open_attr_equals] PASSED [ 90%] 515s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_open_attr] PASSED [ 90%] 515s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_open_attr_quoted] PASSED [ 90%] 515s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_open_text] PASSED [ 90%] 515s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_open_attr_text] PASSED [ 90%] 515s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_open_text_lbracket] PASSED [ 90%] 515s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_open_text_lbracket_slash] PASSED [ 90%] 515s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_open_text_unclosed_close] PASSED [ 90%] 515s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_open_text_wrong_close] PASSED [ 90%] 515s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_unclosed_close] PASSED [ 90%] 515s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_unclosed_close_text] PASSED [ 90%] 515s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_close] PASSED [ 90%] 515s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_no_tag_name_open] PASSED [ 90%] 515s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_no_tag_name_selfclosing] PASSED [ 90%] 515s tests/test_tokenizer.py::test_roundtrip[tags:incomplete_no_tag_name_open_close] PASSED [ 90%] 515s tests/test_tokenizer.py::test_roundtrip[tags:backslash_premature_before] PASSED [ 90%] 515s tests/test_tokenizer.py::test_roundtrip[tags:backslash_premature_after] PASSED [ 90%] 515s tests/test_tokenizer.py::test_roundtrip[tags:backslash_premature_middle] PASSED [ 90%] 515s tests/test_tokenizer.py::test_roundtrip[tags:backslash_adjacent] PASSED [ 91%] 515s tests/test_tokenizer.py::test_roundtrip[tags:backslash_endquote] PASSED [ 91%] 515s tests/test_tokenizer.py::test_roundtrip[tags:backslash_double] PASSED [ 91%] 515s tests/test_tokenizer.py::test_roundtrip[tags:backslash_triple] PASSED [ 91%] 515s tests/test_tokenizer.py::test_roundtrip[tags:backslash_unaffecting] PASSED [ 91%] 515s tests/test_tokenizer.py::test_roundtrip[tags:unparsable] PASSED [ 91%] 515s tests/test_tokenizer.py::test_roundtrip[tags:unparsable_complex] PASSED [ 91%] 515s tests/test_tokenizer.py::test_roundtrip[tags:unparsable_attributed] PASSED [ 91%] 515s tests/test_tokenizer.py::test_roundtrip[tags:unparsable_incomplete] PASSED [ 91%] 515s tests/test_tokenizer.py::test_roundtrip[tags:unparsable_entity] PASSED [ 91%] 515s tests/test_tokenizer.py::test_roundtrip[tags:unparsable_entity_incomplete] PASSED [ 91%] 515s tests/test_tokenizer.py::test_roundtrip[tags:unparsable_entity_incomplete_2] PASSED [ 91%] 515s tests/test_tokenizer.py::test_roundtrip[tags:single_open_close] PASSED [ 91%] 515s tests/test_tokenizer.py::test_roundtrip[tags:single_open] PASSED [ 91%] 515s tests/test_tokenizer.py::test_roundtrip[tags:single_selfclose] PASSED [ 91%] 515s tests/test_tokenizer.py::test_roundtrip[tags:single_close] PASSED [ 91%] 515s tests/test_tokenizer.py::test_roundtrip[tags:single_only_open_close] PASSED [ 91%] 515s tests/test_tokenizer.py::test_roundtrip[tags:single_only_open] PASSED [ 91%] 515s tests/test_tokenizer.py::test_roundtrip[tags:single_only_selfclose] PASSED [ 91%] 515s tests/test_tokenizer.py::test_roundtrip[tags:single_only_close] PASSED [ 91%] 515s tests/test_tokenizer.py::test_roundtrip[tags:single_only_double] PASSED [ 92%] 515s tests/test_tokenizer.py::test_roundtrip[tags:single_only_close_attribute] PASSED [ 92%] 515s tests/test_tokenizer.py::test_roundtrip[tags:capitalization] PASSED [ 92%] 515s tests/test_tokenizer.py::test_roundtrip[tags:unparsable_incomplete_close] PASSED [ 92%] 515s tests/test_tokenizer.py::test_roundtrip[tags:unparsable_with_intermediates] PASSED [ 92%] 515s tests/test_tokenizer.py::test_roundtrip[tags:unparsable_with_intermediates_normalize] PASSED [ 92%] 515s tests/test_tokenizer.py::test_roundtrip[tags:non_ascii_open] PASSED [ 92%] 515s tests/test_tokenizer.py::test_roundtrip[tags:non_ascii_full] PASSED [ 92%] 515s tests/test_tokenizer.py::test_roundtrip[tags:single_nested_selfclosing] PASSED [ 92%] 515s tests/test_tokenizer.py::test_roundtrip[tables:empty_table] PASSED [ 92%] 515s tests/test_tokenizer.py::test_roundtrip[tables:inline_table] PASSED [ 92%] 515s tests/test_tokenizer.py::test_roundtrip[tables:no_table_close_simple] PASSED [ 92%] 515s tests/test_tokenizer.py::test_roundtrip[tables:no_table_close_newline] PASSED [ 92%] 515s tests/test_tokenizer.py::test_roundtrip[tables:no_table_close_inside_cell] PASSED [ 92%] 515s tests/test_tokenizer.py::test_roundtrip[tables:no_table_close_inside_cell_after_newline] PASSED [ 92%] 515s tests/test_tokenizer.py::test_roundtrip[tables:no_table_close_inside_cell_with_attributes] PASSED [ 92%] 515s tests/test_tokenizer.py::test_roundtrip[tables:no_table_close_inside_row] PASSED [ 92%] 515s tests/test_tokenizer.py::test_roundtrip[tables:no_table_close_inside_row_after_newline] PASSED [ 92%] 515s tests/test_tokenizer.py::test_roundtrip[tables:no_table_close_row_and_cell] PASSED [ 92%] 515s tests/test_tokenizer.py::test_roundtrip[tables:no_table_close_attributes] PASSED [ 92%] 515s tests/test_tokenizer.py::test_roundtrip[tables:no_table_close_unclosed_attributes] PASSED [ 93%] 515s tests/test_tokenizer.py::test_roundtrip[tables:no_table_close_row_attributes] PASSED [ 93%] 515s tests/test_tokenizer.py::test_roundtrip[tables:no_table_close_cell] PASSED [ 93%] 515s tests/test_tokenizer.py::test_roundtrip[tables:crazy_no_table_close] PASSED [ 93%] 515s tests/test_tokenizer.py::test_roundtrip[tables:leading_whitespace_table] PASSED [ 93%] 515s tests/test_tokenizer.py::test_roundtrip[tables:whitespace_after_table] PASSED [ 93%] 515s tests/test_tokenizer.py::test_roundtrip[tables:different_whitespace_after_table] PASSED [ 93%] 515s tests/test_tokenizer.py::test_roundtrip[tables:characters_after_table] PASSED [ 93%] 515s tests/test_tokenizer.py::test_roundtrip[tables:characters_after_inline_table] PASSED [ 93%] 515s tests/test_tokenizer.py::test_roundtrip[tables:leading_characters_table] PASSED [ 93%] 515s tests/test_tokenizer.py::test_roundtrip[tables:table_row_simple] PASSED [ 93%] 515s tests/test_tokenizer.py::test_roundtrip[tables:table_row_multiple] PASSED [ 93%] 515s tests/test_tokenizer.py::test_roundtrip[tables:table_cell_simple] PASSED [ 93%] 515s tests/test_tokenizer.py::test_roundtrip[tables:table_cell_inline] PASSED [ 93%] 515s tests/test_tokenizer.py::test_roundtrip[tables:table_cell_multiple] PASSED [ 93%] 515s tests/test_tokenizer.py::test_roundtrip[tables:table_header_simple] PASSED [ 93%] 515s tests/test_tokenizer.py::test_roundtrip[tables:table_header_inline] PASSED [ 93%] 515s tests/test_tokenizer.py::test_roundtrip[tables:table_header_multiple] PASSED [ 93%] 515s tests/test_tokenizer.py::test_roundtrip[tables:nested_cells_and_rows] PASSED [ 93%] 515s tests/test_tokenizer.py::test_roundtrip[tables:table_cell_fake_close] PASSED [ 93%] 515s tests/test_tokenizer.py::test_roundtrip[tables:table_cell_more_fake_close] PASSED [ 94%] 515s tests/test_tokenizer.py::test_roundtrip[tables:table_cell_extra_close] PASSED [ 94%] 515s tests/test_tokenizer.py::test_roundtrip[tables:nowiki_inside_table] PASSED [ 94%] 515s tests/test_tokenizer.py::test_roundtrip[tables:table_text_outside_cell] PASSED [ 94%] 515s tests/test_tokenizer.py::test_roundtrip[tables:no_table_cell_with_leading_characters] PASSED [ 94%] 515s tests/test_tokenizer.py::test_roundtrip[tables:no_table_row_with_leading_characters] PASSED [ 94%] 515s tests/test_tokenizer.py::test_roundtrip[tables:template_inside_table_cell] PASSED [ 94%] 515s tests/test_tokenizer.py::test_roundtrip[tables:table_cell_attributes] PASSED [ 94%] 515s tests/test_tokenizer.py::test_roundtrip[tables:table_cell_empty_attributes] PASSED [ 94%] 515s tests/test_tokenizer.py::test_roundtrip[tables:table_cell_with_dash] PASSED [ 94%] 515s tests/test_tokenizer.py::test_roundtrip[tables:table_cell_attributes_quote_with_pipe] PASSED [ 94%] 515s tests/test_tokenizer.py::test_roundtrip[tables:table_cell_attributes_name_with_pipe] PASSED [ 94%] 515s tests/test_tokenizer.py::test_roundtrip[tables:table_cell_attributes_pipe_after_equals] PASSED [ 94%] 515s tests/test_tokenizer.py::test_roundtrip[tables:table_cell_attributes_templates] PASSED [ 94%] 515s tests/test_tokenizer.py::test_roundtrip[tables:header_cell_attributes] PASSED [ 94%] 515s tests/test_tokenizer.py::test_roundtrip[tables:inline_cell_attributes] PASSED [ 94%] 515s tests/test_tokenizer.py::test_roundtrip[tables:table_row_attributes] PASSED [ 94%] 515s tests/test_tokenizer.py::test_roundtrip[tables:table_row_attributes_crazy_whitespace] PASSED [ 94%] 515s tests/test_tokenizer.py::test_roundtrip[tables:table_attributes] PASSED [ 94%] 515s tests/test_tokenizer.py::test_roundtrip[tables:inline_table_attributes] PASSED [ 94%] 515s tests/test_tokenizer.py::test_roundtrip[tables:table_incorrect_attributes] PASSED [ 95%] 515s tests/test_tokenizer.py::test_roundtrip[tables:templates_in_table_attribute] PASSED [ 95%] 515s tests/test_tokenizer.py::test_roundtrip[tables:templates_in_table_attribute_2] PASSED [ 95%] 515s tests/test_tokenizer.py::test_roundtrip[tables:inappropriate_marker_at_line_start] PASSED [ 95%] 515s tests/test_tokenizer.py::test_roundtrip[tables:fake_close_near_start] PASSED [ 95%] 515s tests/test_tokenizer.py::test_roundtrip[tables:fake_close_near_start_2] PASSED [ 95%] 515s tests/test_tokenizer.py::test_roundtrip[tables:junk_after_table_start] PASSED [ 95%] 515s tests/test_tokenizer.py::test_roundtrip[tables:junk_after_table_row] PASSED [ 95%] 515s tests/test_tokenizer.py::test_roundtrip[tables:incomplete_nested_open_only] PASSED [ 95%] 515s tests/test_tokenizer.py::test_roundtrip[tables:incomplete_nested_open_and_row] PASSED [ 95%] 515s tests/test_tokenizer.py::test_roundtrip[comments:blank] PASSED [ 95%] 515s tests/test_tokenizer.py::test_roundtrip[comments:basic] PASSED [ 95%] 515s tests/test_tokenizer.py::test_roundtrip[comments:tons_of_nonsense] PASSED [ 95%] 515s tests/test_tokenizer.py::test_roundtrip[comments:incomplete_blank] PASSED [ 95%] 515s tests/test_tokenizer.py::test_roundtrip[comments:incomplete_text] PASSED [ 95%] 515s tests/test_tokenizer.py::test_roundtrip[comments:incomplete_partial_close] PASSED [ 95%] 515s tests/test_tokenizer.py::test_roundtrip[comments:incomplete_part_only] PASSED [ 95%] 515s tests/test_tokenizer.py::test_c_tokenizer_uses_c PASSED [ 95%] 515s tests/test_tokenizer.py::test_describe_context PASSED [ 95%] 515s tests/test_tokens.py::test_issubclass[Token] PASSED [ 95%] 515s tests/test_tokens.py::test_issubclass[Text] PASSED [ 96%] 515s tests/test_tokens.py::test_issubclass[TemplateOpen] PASSED [ 96%] 515s tests/test_tokens.py::test_issubclass[TemplateParamSeparator] PASSED [ 96%] 515s tests/test_tokens.py::test_issubclass[TemplateParamEquals] PASSED [ 96%] 515s tests/test_tokens.py::test_issubclass[TemplateClose] PASSED [ 96%] 515s tests/test_tokens.py::test_issubclass[ArgumentOpen] PASSED [ 96%] 515s tests/test_tokens.py::test_issubclass[ArgumentSeparator] PASSED [ 96%] 515s tests/test_tokens.py::test_issubclass[ArgumentClose] PASSED [ 96%] 515s tests/test_tokens.py::test_issubclass[WikilinkOpen] PASSED [ 96%] 515s tests/test_tokens.py::test_issubclass[WikilinkSeparator] PASSED [ 96%] 515s tests/test_tokens.py::test_issubclass[WikilinkClose] PASSED [ 96%] 515s tests/test_tokens.py::test_issubclass[ExternalLinkOpen] PASSED [ 96%] 515s tests/test_tokens.py::test_issubclass[ExternalLinkSeparator] PASSED [ 96%] 515s tests/test_tokens.py::test_issubclass[ExternalLinkClose] PASSED [ 96%] 515s tests/test_tokens.py::test_issubclass[HTMLEntityStart] PASSED [ 96%] 515s tests/test_tokens.py::test_issubclass[HTMLEntityNumeric] PASSED [ 96%] 515s tests/test_tokens.py::test_issubclass[HTMLEntityHex] PASSED [ 96%] 515s tests/test_tokens.py::test_issubclass[HTMLEntityEnd] PASSED [ 96%] 515s tests/test_tokens.py::test_issubclass[HeadingStart] PASSED [ 96%] 515s tests/test_tokens.py::test_issubclass[HeadingEnd] PASSED [ 96%] 515s tests/test_tokens.py::test_issubclass[CommentStart] PASSED [ 97%] 515s tests/test_tokens.py::test_issubclass[CommentEnd] PASSED [ 97%] 515s tests/test_tokens.py::test_issubclass[TagOpenOpen] PASSED [ 97%] 515s tests/test_tokens.py::test_issubclass[TagAttrStart] PASSED [ 97%] 515s tests/test_tokens.py::test_issubclass[TagAttrEquals] PASSED [ 97%] 515s tests/test_tokens.py::test_issubclass[TagAttrQuote] PASSED [ 97%] 515s tests/test_tokens.py::test_issubclass[TagCloseOpen] PASSED [ 97%] 515s tests/test_tokens.py::test_issubclass[TagCloseSelfclose] PASSED [ 97%] 515s tests/test_tokens.py::test_issubclass[TagOpenClose] PASSED [ 97%] 515s tests/test_tokens.py::test_issubclass[TagCloseClose] PASSED [ 97%] 515s tests/test_tokens.py::test_attributes PASSED [ 97%] 515s tests/test_tokens.py::test_repr PASSED [ 97%] 515s tests/test_tokens.py::test_equality PASSED [ 97%] 515s tests/test_tokens.py::test_repr_equality[token0] PASSED [ 97%] 515s tests/test_tokens.py::test_repr_equality[token1] PASSED [ 97%] 515s tests/test_tokens.py::test_repr_equality[token2] PASSED [ 97%] 515s tests/test_utils.py::test_parse_anything_valid[test0-valid0] PASSED [ 97%] 515s tests/test_utils.py::test_parse_anything_valid[test1-valid1] PASSED [ 97%] 515s tests/test_utils.py::test_parse_anything_valid[f\xf3\xf3bar-valid2] PASSED [ 97%] 515s tests/test_utils.py::test_parse_anything_valid[foob\xc3\xa1r-valid3] PASSED [ 97%] 515s tests/test_utils.py::test_parse_anything_valid[123-valid4] PASSED [ 98%] 515s tests/test_utils.py::test_parse_anything_valid[True-valid5] PASSED [ 98%] 515s tests/test_utils.py::test_parse_anything_valid[None-valid6] PASSED [ 98%] 515s tests/test_utils.py::test_parse_anything_valid[test7-valid7] PASSED [ 98%] 515s tests/test_utils.py::test_parse_anything_valid[test8-valid8] PASSED [ 98%] 515s tests/test_utils.py::test_parse_anything_valid[test9-valid9] PASSED [ 98%] 515s tests/test_utils.py::test_parse_anything_invalid[invalid0] PASSED [ 98%] 515s tests/test_utils.py::test_parse_anything_invalid[object] PASSED [ 98%] 515s tests/test_utils.py::test_parse_anything_invalid[invalid2] PASSED [ 98%] 515s tests/test_utils.py::test_parse_anything_invalid[type] PASSED [ 98%] 515s tests/test_utils.py::test_parse_anything_invalid[invalid4] PASSED [ 98%] 515s tests/test_wikicode.py::test_str PASSED [ 98%] 515s tests/test_wikicode.py::test_nodes PASSED [ 98%] 515s tests/test_wikicode.py::test_pickling[0] PASSED [ 98%] 515s tests/test_wikicode.py::test_pickling[1] PASSED [ 98%] 515s tests/test_wikicode.py::test_pickling[2] PASSED [ 98%] 515s tests/test_wikicode.py::test_pickling[3] PASSED [ 98%] 515s tests/test_wikicode.py::test_pickling[4] PASSED [ 98%] 515s tests/test_wikicode.py::test_pickling[5] PASSED [ 98%] 515s tests/test_wikicode.py::test_get PASSED [ 98%] 515s tests/test_wikicode.py::test_set PASSED [ 99%] 515s tests/test_wikicode.py::test_contains PASSED [ 99%] 515s tests/test_wikicode.py::test_index PASSED [ 99%] 515s tests/test_wikicode.py::test_get_ancestors_parent PASSED [ 99%] 515s tests/test_wikicode.py::test_insert PASSED [ 99%] 515s tests/test_wikicode.py::test_insert_before PASSED [ 99%] 515s tests/test_wikicode.py::test_insert_after PASSED [ 99%] 515s tests/test_wikicode.py::test_replace PASSED [ 99%] 515s tests/test_wikicode.py::test_append PASSED [ 99%] 515s tests/test_wikicode.py::test_remove PASSED [ 99%] 515s tests/test_wikicode.py::test_matches PASSED [ 99%] 515s tests/test_wikicode.py::test_filter_family PASSED [ 99%] 515s tests/test_wikicode.py::test_get_sections PASSED [ 99%] 515s tests/test_wikicode.py::test_strip_code PASSED [ 99%] 515s tests/test_wikicode.py::test_get_tree PASSED [ 99%] 515s tests/test_wikilink.py::test_str PASSED [ 99%] 515s tests/test_wikilink.py::test_children PASSED [ 99%] 515s tests/test_wikilink.py::test_strip PASSED [ 99%] 515s tests/test_wikilink.py::test_showtree PASSED [ 99%] 515s tests/test_wikilink.py::test_title PASSED [ 99%] 515s tests/test_wikilink.py::test_text PASSED [100%] 515s 515s ======================= 2004 passed, 1 skipped in 2.33s ======================== 516s autopkgtest [09:10:05]: test unittest: -----------------------] 516s autopkgtest [09:10:05]: test unittest: - - - - - - - - - - results - - - - - - - - - - 516s unittest PASS 516s autopkgtest [09:10:05]: @@@@@@@@@@@@@@@@@@@@ summary 516s unittest PASS 526s nova [W] Skipping flock for amd64 526s Creating nova instance adt-plucky-amd64-mwparserfromhell-20241113-090129-juju-7f2275-prod-proposed-migration-environment-20-2a3868e0-4b1f-418d-b889-5af2c0954bcb from image adt/ubuntu-plucky-amd64-server-20241113.img (UUID 76b850f9-98f4-4b79-af06-fa11000b95b2)...