0s autopkgtest [11:45:06]: starting date and time: 2025-05-06 11:45:06+0000 0s autopkgtest [11:45:06]: git checkout: 9986aa8c Merge branch 'skia/fix_network_interface' into 'ubuntu/production' 0s autopkgtest [11:45:06]: host juju-7f2275-prod-proposed-migration-environment-23; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.fn_amd8r/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:sphinx --apt-upgrade numpydoc --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=sphinx/8.2.3-1 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor builder-cpu2-ram4-disk20 --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-23@bos03-14.secgroup --name adt-questing-amd64-numpydoc-20250506-114506-juju-7f2275-prod-proposed-migration-environment-23-8859b49a-dfb8-46bc-a427-589350d9e47a --image adt/ubuntu-questing-amd64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-23 --net-id=net_prod-proposed-migration-amd64 -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 65s autopkgtest [11:46:11]: testbed dpkg architecture: amd64 66s autopkgtest [11:46:12]: testbed apt version: 3.0.0 66s autopkgtest [11:46:12]: @@@@@@@@@@@@@@@@@@@@ test bed setup 66s autopkgtest [11:46:12]: testbed release detected to be: None 67s autopkgtest [11:46:13]: updating testbed package index (apt update) 67s Get:1 http://ftpmaster.internal/ubuntu questing-proposed InRelease [110 kB] 67s Hit:2 http://ftpmaster.internal/ubuntu questing InRelease 68s Hit:3 http://ftpmaster.internal/ubuntu questing-updates InRelease 68s Hit:4 http://ftpmaster.internal/ubuntu questing-security InRelease 68s Get:5 http://ftpmaster.internal/ubuntu questing-proposed/multiverse Sources [27.3 kB] 68s Get:6 http://ftpmaster.internal/ubuntu questing-proposed/universe Sources [595 kB] 68s Get:7 http://ftpmaster.internal/ubuntu questing-proposed/main Sources [72.4 kB] 68s Get:8 http://ftpmaster.internal/ubuntu questing-proposed/main i386 Packages [106 kB] 68s Get:9 http://ftpmaster.internal/ubuntu questing-proposed/main amd64 Packages [150 kB] 68s Get:10 http://ftpmaster.internal/ubuntu questing-proposed/universe i386 Packages [264 kB] 68s Get:11 http://ftpmaster.internal/ubuntu questing-proposed/universe amd64 Packages [669 kB] 68s Get:12 http://ftpmaster.internal/ubuntu questing-proposed/multiverse i386 Packages [5028 B] 68s Get:13 http://ftpmaster.internal/ubuntu questing-proposed/multiverse amd64 Packages [18.4 kB] 68s Fetched 2018 kB in 1s (2178 kB/s) 69s Reading package lists... 69s autopkgtest [11:46:15]: upgrading testbed (apt dist-upgrade and autopurge) 70s Reading package lists... 70s Building dependency tree... 70s Reading state information... 70s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 70s Starting 2 pkgProblemResolver with broken count: 0 70s Done 70s Entering ResolveByKeep 71s 71s Calculating upgrade... 71s The following packages will be upgraded: 71s libperl5.40 perl perl-base perl-modules-5.40 python3-dbus 71s 5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 71s Need to get 10.3 MB of archives. 71s After this operation, 5120 B of additional disk space will be used. 71s Get:1 http://ftpmaster.internal/ubuntu questing/main amd64 libperl5.40 amd64 5.40.1-3 [4877 kB] 72s Get:2 http://ftpmaster.internal/ubuntu questing/main amd64 perl amd64 5.40.1-3 [262 kB] 72s Get:3 http://ftpmaster.internal/ubuntu questing/main amd64 perl-base amd64 5.40.1-3 [1840 kB] 72s Get:4 http://ftpmaster.internal/ubuntu questing/main amd64 perl-modules-5.40 all 5.40.1-3 [3217 kB] 72s Get:5 http://ftpmaster.internal/ubuntu questing/main amd64 python3-dbus amd64 1.4.0-1 [102 kB] 72s Fetched 10.3 MB in 1s (8452 kB/s) 73s (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 ... 80527 files and directories currently installed.) 73s Preparing to unpack .../libperl5.40_5.40.1-3_amd64.deb ... 73s Unpacking libperl5.40:amd64 (5.40.1-3) over (5.40.1-2) ... 73s Preparing to unpack .../perl_5.40.1-3_amd64.deb ... 73s Unpacking perl (5.40.1-3) over (5.40.1-2) ... 73s Preparing to unpack .../perl-base_5.40.1-3_amd64.deb ... 73s Unpacking perl-base (5.40.1-3) over (5.40.1-2) ... 73s Setting up perl-base (5.40.1-3) ... 73s (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 ... 80527 files and directories currently installed.) 73s Preparing to unpack .../perl-modules-5.40_5.40.1-3_all.deb ... 73s Unpacking perl-modules-5.40 (5.40.1-3) over (5.40.1-2) ... 74s Preparing to unpack .../python3-dbus_1.4.0-1_amd64.deb ... 74s Unpacking python3-dbus (1.4.0-1) over (1.3.2-5build5) ... 74s Setting up python3-dbus (1.4.0-1) ... 74s Setting up perl-modules-5.40 (5.40.1-3) ... 74s Setting up libperl5.40:amd64 (5.40.1-3) ... 74s Setting up perl (5.40.1-3) ... 74s Processing triggers for man-db (2.13.1-1) ... 74s Processing triggers for libc-bin (2.41-6ubuntu1) ... 75s Reading package lists... 75s Building dependency tree... 75s Reading state information... 75s Starting pkgProblemResolver with broken count: 0 75s Starting 2 pkgProblemResolver with broken count: 0 75s Done 75s Solving dependencies... 75s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 78s autopkgtest [11:46:24]: testbed running kernel: Linux 6.14.0-15-generic #15-Ubuntu SMP PREEMPT_DYNAMIC Sun Apr 6 15:05:05 UTC 2025 78s autopkgtest [11:46:24]: @@@@@@@@@@@@@@@@@@@@ apt-source numpydoc 80s Get:1 http://ftpmaster.internal/ubuntu questing/universe numpydoc 1.8.0-1 (dsc) [2370 B] 80s Get:2 http://ftpmaster.internal/ubuntu questing/universe numpydoc 1.8.0-1 (tar) [90.4 kB] 80s Get:3 http://ftpmaster.internal/ubuntu questing/universe numpydoc 1.8.0-1 (diff) [5120 B] 80s gpgv: Signature made Mon Nov 25 22:56:09 2024 UTC 80s gpgv: using RSA key 8F6DE104377F3B11E741748731F3144544A1741A 80s gpgv: issuer "tchet@debian.org" 80s gpgv: Can't check signature: No public key 80s dpkg-source: warning: cannot verify inline signature for ./numpydoc_1.8.0-1.dsc: no acceptable signature found 80s autopkgtest [11:46:26]: testing package numpydoc version 1.8.0-1 80s autopkgtest [11:46:26]: build not needed 81s autopkgtest [11:46:27]: test command1: preparing testbed 81s Reading package lists... 81s Building dependency tree... 81s Reading state information... 81s Starting pkgProblemResolver with broken count: 0 81s Starting 2 pkgProblemResolver with broken count: 0 81s Done 82s The following NEW packages will be installed: 82s docutils-common libjs-jquery libjs-jquery-hotkeys libjs-jquery-isonscreen 82s libjs-jquery-metadata libjs-jquery-tablesorter 82s libjs-jquery-throttle-debounce libjs-sphinxdoc libjs-underscore libjson-perl 82s python3-alabaster python3-all python3-bs4 python3-coverage 82s python3-defusedxml python3-doc python3-docutils python3-imagesize 82s python3-iniconfig python3-numpydoc python3-pluggy python3-pytest 82s python3-pytest-cov python3-roman python3-roman-numerals 82s python3-snowballstemmer python3-soupsieve python3-sphinx python3-tabulate 82s python3.13-doc sgml-base sphinx-common xml-core 82s 0 upgraded, 33 newly installed, 0 to remove and 0 not upgraded. 82s Need to get 17.6 MB of archives. 82s After this operation, 90.6 MB of additional disk space will be used. 82s Get:1 http://ftpmaster.internal/ubuntu questing/main amd64 sgml-base all 1.31+nmu1 [11.0 kB] 82s Get:2 http://ftpmaster.internal/ubuntu questing/main amd64 xml-core all 0.19 [20.3 kB] 82s Get:3 http://ftpmaster.internal/ubuntu questing/main amd64 docutils-common all 0.21.2+dfsg-2 [131 kB] 82s Get:4 http://ftpmaster.internal/ubuntu questing/main amd64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 82s Get:5 http://ftpmaster.internal/ubuntu questing/universe amd64 libjs-jquery-metadata all 12-4 [6582 B] 82s Get:6 http://ftpmaster.internal/ubuntu questing/universe amd64 libjs-jquery-tablesorter all 1:2.31.3+dfsg1-4 [192 kB] 82s Get:7 http://ftpmaster.internal/ubuntu questing/universe amd64 libjs-jquery-throttle-debounce all 1.1+dfsg.1-2 [12.5 kB] 82s Get:8 http://ftpmaster.internal/ubuntu questing/main amd64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 82s Get:9 http://ftpmaster.internal/ubuntu questing-proposed/main amd64 libjs-sphinxdoc all 8.2.3-1 [27.8 kB] 82s Get:10 http://ftpmaster.internal/ubuntu questing/main amd64 libjson-perl all 4.10000-1 [81.9 kB] 82s Get:11 http://ftpmaster.internal/ubuntu questing/main amd64 python3-all amd64 3.13.3-1 [882 B] 82s Get:12 http://ftpmaster.internal/ubuntu questing/main amd64 python3-soupsieve all 2.7-1 [33.5 kB] 82s Get:13 http://ftpmaster.internal/ubuntu questing/main amd64 python3-bs4 all 4.13.4-1 [137 kB] 82s Get:14 http://ftpmaster.internal/ubuntu questing/universe amd64 python3-coverage amd64 7.6.0+dfsg1-2build1 [153 kB] 82s Get:15 http://ftpmaster.internal/ubuntu questing/main amd64 python3-defusedxml all 0.7.1-3 [42.2 kB] 82s Get:16 http://ftpmaster.internal/ubuntu questing/main amd64 python3.13-doc all 3.13.3-1 [14.2 MB] 83s Get:17 http://ftpmaster.internal/ubuntu questing/main amd64 python3-doc all 3.13.3-1 [10.7 kB] 83s Get:18 http://ftpmaster.internal/ubuntu questing/main amd64 python3-roman all 5.0-1 [10.3 kB] 83s Get:19 http://ftpmaster.internal/ubuntu questing/main amd64 python3-docutils all 0.21.2+dfsg-2 [409 kB] 83s Get:20 http://ftpmaster.internal/ubuntu questing/main amd64 python3-imagesize all 1.4.1-1 [6844 B] 83s Get:21 http://ftpmaster.internal/ubuntu questing/universe amd64 python3-iniconfig all 1.1.1-2 [6024 B] 83s Get:22 http://ftpmaster.internal/ubuntu questing-proposed/main amd64 sphinx-common all 8.2.3-1 [656 kB] 83s Get:23 http://ftpmaster.internal/ubuntu questing/main amd64 python3-alabaster all 0.7.16-0.1 [18.5 kB] 83s Get:24 http://ftpmaster.internal/ubuntu questing/universe amd64 python3-roman-numerals all 3.1.0-1ubuntu1 [8432 B] 83s Get:25 http://ftpmaster.internal/ubuntu questing/main amd64 python3-snowballstemmer all 2.2.0-4build1 [59.8 kB] 83s Get:26 http://ftpmaster.internal/ubuntu questing-proposed/main amd64 python3-sphinx all 8.2.3-1 [482 kB] 83s Get:27 http://ftpmaster.internal/ubuntu questing/main amd64 python3-tabulate all 0.9.0-1 [45.3 kB] 83s Get:28 http://ftpmaster.internal/ubuntu questing/universe amd64 python3-numpydoc all 1.8.0-1 [52.4 kB] 83s Get:29 http://ftpmaster.internal/ubuntu questing/universe amd64 python3-pluggy all 1.5.0-1 [21.0 kB] 83s Get:30 http://ftpmaster.internal/ubuntu questing/universe amd64 python3-pytest all 8.3.5-1 [252 kB] 83s Get:31 http://ftpmaster.internal/ubuntu questing/universe amd64 libjs-jquery-hotkeys all 0.2.0-1 [13.3 kB] 83s Get:32 http://ftpmaster.internal/ubuntu questing/universe amd64 libjs-jquery-isonscreen all 1.2.0-1.1 [3244 B] 83s Get:33 http://ftpmaster.internal/ubuntu questing/universe amd64 python3-pytest-cov all 5.0.0-1 [21.3 kB] 84s Fetched 17.6 MB in 2s (11.2 MB/s) 84s Selecting previously unselected package sgml-base. 84s (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 ... 80527 files and directories currently installed.) 84s Preparing to unpack .../00-sgml-base_1.31+nmu1_all.deb ... 84s Unpacking sgml-base (1.31+nmu1) ... 84s Selecting previously unselected package xml-core. 84s Preparing to unpack .../01-xml-core_0.19_all.deb ... 84s Unpacking xml-core (0.19) ... 84s Selecting previously unselected package docutils-common. 84s Preparing to unpack .../02-docutils-common_0.21.2+dfsg-2_all.deb ... 84s Unpacking docutils-common (0.21.2+dfsg-2) ... 84s Selecting previously unselected package libjs-jquery. 84s Preparing to unpack .../03-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 84s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 84s Selecting previously unselected package libjs-jquery-metadata. 84s Preparing to unpack .../04-libjs-jquery-metadata_12-4_all.deb ... 84s Unpacking libjs-jquery-metadata (12-4) ... 84s Selecting previously unselected package libjs-jquery-tablesorter. 84s Preparing to unpack .../05-libjs-jquery-tablesorter_1%3a2.31.3+dfsg1-4_all.deb ... 84s Unpacking libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 84s Selecting previously unselected package libjs-jquery-throttle-debounce. 84s Preparing to unpack .../06-libjs-jquery-throttle-debounce_1.1+dfsg.1-2_all.deb ... 84s Unpacking libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 84s Selecting previously unselected package libjs-underscore. 84s Preparing to unpack .../07-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 84s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 84s Selecting previously unselected package libjs-sphinxdoc. 84s Preparing to unpack .../08-libjs-sphinxdoc_8.2.3-1_all.deb ... 84s Unpacking libjs-sphinxdoc (8.2.3-1) ... 84s Selecting previously unselected package libjson-perl. 84s Preparing to unpack .../09-libjson-perl_4.10000-1_all.deb ... 84s Unpacking libjson-perl (4.10000-1) ... 84s Selecting previously unselected package python3-all. 84s Preparing to unpack .../10-python3-all_3.13.3-1_amd64.deb ... 84s Unpacking python3-all (3.13.3-1) ... 84s Selecting previously unselected package python3-soupsieve. 84s Preparing to unpack .../11-python3-soupsieve_2.7-1_all.deb ... 84s Unpacking python3-soupsieve (2.7-1) ... 84s Selecting previously unselected package python3-bs4. 84s Preparing to unpack .../12-python3-bs4_4.13.4-1_all.deb ... 84s Unpacking python3-bs4 (4.13.4-1) ... 84s Selecting previously unselected package python3-coverage. 84s Preparing to unpack .../13-python3-coverage_7.6.0+dfsg1-2build1_amd64.deb ... 84s Unpacking python3-coverage (7.6.0+dfsg1-2build1) ... 84s Selecting previously unselected package python3-defusedxml. 84s Preparing to unpack .../14-python3-defusedxml_0.7.1-3_all.deb ... 84s Unpacking python3-defusedxml (0.7.1-3) ... 84s Selecting previously unselected package python3.13-doc. 84s Preparing to unpack .../15-python3.13-doc_3.13.3-1_all.deb ... 84s Unpacking python3.13-doc (3.13.3-1) ... 85s Selecting previously unselected package python3-doc. 85s Preparing to unpack .../16-python3-doc_3.13.3-1_all.deb ... 85s Unpacking python3-doc (3.13.3-1) ... 85s Selecting previously unselected package python3-roman. 85s Preparing to unpack .../17-python3-roman_5.0-1_all.deb ... 85s Unpacking python3-roman (5.0-1) ... 85s Selecting previously unselected package python3-docutils. 85s Preparing to unpack .../18-python3-docutils_0.21.2+dfsg-2_all.deb ... 85s Unpacking python3-docutils (0.21.2+dfsg-2) ... 85s Selecting previously unselected package python3-imagesize. 85s Preparing to unpack .../19-python3-imagesize_1.4.1-1_all.deb ... 85s Unpacking python3-imagesize (1.4.1-1) ... 85s Selecting previously unselected package python3-iniconfig. 85s Preparing to unpack .../20-python3-iniconfig_1.1.1-2_all.deb ... 85s Unpacking python3-iniconfig (1.1.1-2) ... 85s Selecting previously unselected package sphinx-common. 85s Preparing to unpack .../21-sphinx-common_8.2.3-1_all.deb ... 85s Unpacking sphinx-common (8.2.3-1) ... 85s Selecting previously unselected package python3-alabaster. 85s Preparing to unpack .../22-python3-alabaster_0.7.16-0.1_all.deb ... 85s Unpacking python3-alabaster (0.7.16-0.1) ... 85s Selecting previously unselected package python3-roman-numerals. 85s Preparing to unpack .../23-python3-roman-numerals_3.1.0-1ubuntu1_all.deb ... 85s Unpacking python3-roman-numerals (3.1.0-1ubuntu1) ... 85s Selecting previously unselected package python3-snowballstemmer. 85s Preparing to unpack .../24-python3-snowballstemmer_2.2.0-4build1_all.deb ... 85s Unpacking python3-snowballstemmer (2.2.0-4build1) ... 85s Selecting previously unselected package python3-sphinx. 85s Preparing to unpack .../25-python3-sphinx_8.2.3-1_all.deb ... 85s Unpacking python3-sphinx (8.2.3-1) ... 85s Selecting previously unselected package python3-tabulate. 85s Preparing to unpack .../26-python3-tabulate_0.9.0-1_all.deb ... 85s Unpacking python3-tabulate (0.9.0-1) ... 85s Selecting previously unselected package python3-numpydoc. 85s Preparing to unpack .../27-python3-numpydoc_1.8.0-1_all.deb ... 85s Unpacking python3-numpydoc (1.8.0-1) ... 85s Selecting previously unselected package python3-pluggy. 85s Preparing to unpack .../28-python3-pluggy_1.5.0-1_all.deb ... 85s Unpacking python3-pluggy (1.5.0-1) ... 85s Selecting previously unselected package python3-pytest. 85s Preparing to unpack .../29-python3-pytest_8.3.5-1_all.deb ... 85s Unpacking python3-pytest (8.3.5-1) ... 85s Selecting previously unselected package libjs-jquery-hotkeys. 85s Preparing to unpack .../30-libjs-jquery-hotkeys_0.2.0-1_all.deb ... 85s Unpacking libjs-jquery-hotkeys (0.2.0-1) ... 85s Selecting previously unselected package libjs-jquery-isonscreen. 85s Preparing to unpack .../31-libjs-jquery-isonscreen_1.2.0-1.1_all.deb ... 85s Unpacking libjs-jquery-isonscreen (1.2.0-1.1) ... 85s Selecting previously unselected package python3-pytest-cov. 85s Preparing to unpack .../32-python3-pytest-cov_5.0.0-1_all.deb ... 85s Unpacking python3-pytest-cov (5.0.0-1) ... 85s Setting up python3-iniconfig (1.1.1-2) ... 85s Setting up python3-defusedxml (0.7.1-3) ... 85s Setting up python3-alabaster (0.7.16-0.1) ... 85s Setting up python3-tabulate (0.9.0-1) ... 86s Setting up python3-all (3.13.3-1) ... 86s Setting up python3-coverage (7.6.0+dfsg1-2build1) ... 86s Setting up libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 86s Setting up python3-roman (5.0-1) ... 86s Setting up python3-snowballstemmer (2.2.0-4build1) ... 86s Setting up python3-pluggy (1.5.0-1) ... 86s Setting up libjson-perl (4.10000-1) ... 86s Setting up python3-roman-numerals (3.1.0-1ubuntu1) ... 86s Setting up sgml-base (1.31+nmu1) ... 86s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 86s Setting up libjs-jquery-hotkeys (0.2.0-1) ... 86s Setting up python3-soupsieve (2.7-1) ... 87s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 87s Setting up python3-imagesize (1.4.1-1) ... 87s Setting up python3-pytest (8.3.5-1) ... 87s Setting up python3-bs4 (4.13.4-1) ... 87s Setting up python3.13-doc (3.13.3-1) ... 87s Setting up libjs-jquery-metadata (12-4) ... 87s Setting up libjs-jquery-isonscreen (1.2.0-1.1) ... 87s Setting up libjs-sphinxdoc (8.2.3-1) ... 87s Setting up libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 87s Setting up xml-core (0.19) ... 87s Setting up python3-doc (3.13.3-1) ... 87s Setting up python3-pytest-cov (5.0.0-1) ... 87s Setting up sphinx-common (8.2.3-1) ... 87s Processing triggers for install-info (7.1.1-1) ... 88s Processing triggers for man-db (2.13.1-1) ... 89s Processing triggers for sgml-base (1.31+nmu1) ... 89s Setting up docutils-common (0.21.2+dfsg-2) ... 89s Processing triggers for sgml-base (1.31+nmu1) ... 89s Setting up python3-docutils (0.21.2+dfsg-2) ... 89s Setting up python3-sphinx (8.2.3-1) ... 90s Setting up python3-numpydoc (1.8.0-1) ... 91s autopkgtest [11:46:37]: test command1: set -e; for p in $(py3versions -s); do $p -m pytest numpydoc/; done 91s autopkgtest [11:46:37]: test command1: [----------------------- 92s ============================= test session starts ============================== 92s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 92s rootdir: /tmp/autopkgtest.pkElcP/build.Jfx/src 92s configfile: pyproject.toml 92s plugins: typeguard-4.4.2, cov-5.0.0 92s collected 295 items 92s 92s numpydoc/numpydoc.py . [ 0%] 92s numpydoc/tests/hooks/test_utils.py ..... [ 2%] 92s numpydoc/tests/hooks/test_validate_hook.py ....... [ 4%] 93s numpydoc/tests/test_docscrape.py ....................................... [ 17%] 93s ....................... [ 25%] 94s numpydoc/tests/test_full.py ..... [ 27%] 94s numpydoc/tests/test_main.py .......... [ 30%] 94s numpydoc/tests/test_numpydoc.py FF.FFFFFFF... [ 34%] 95s numpydoc/tests/test_validate.py ........................................ [ 48%] 95s ................................................................x..x.... [ 72%] 95s ................ [ 78%] 95s numpydoc/tests/test_xref.py ............................................ [ 93%] 95s ................... [ 99%] 95s numpydoc/validate.py . [100%] 95s 95s =================================== FAILURES =================================== 95s _________________________ test_mangle_docstrings_basic _________________________ 95s 95s def test_mangle_docstrings_basic(): 95s s = """ 95s A top section before 95s 95s .. autoclass:: str 95s """ 95s lines = s.split("\n") 95s > mangle_docstrings(MockApp(), "class", "str", str, {}, lines) 95s 95s lines = ['', 'A top section before', '', '.. autoclass:: str', ' '] 95s s = '\nA top section before\n\n.. autoclass:: str\n ' 95s 95s numpydoc/tests/test_numpydoc.py:62: 95s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 95s numpydoc/numpydoc.py:194: in mangle_docstrings 95s doc = get_doc_object( 95s app = 95s cfg = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 95s lines = ['', 'A top section before', '', '.. autoclass:: str', ' '] 95s name = 'str' 95s obj = 95s options = {} 95s show_inherited_class_members = True 95s u_NL = '\n' 95s what = 'class' 95s numpydoc/docscrape_sphinx.py:417: in get_doc_object 95s template_loader.init(builder, dirs=template_dirs) 95s builder = 95s config = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 95s doc = '\nA top section before\n\n.. autoclass:: str\n ' 95s obj = 95s template_dirs = ['/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates'] 95s template_loader = 95s what = 'class' 95s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 95s 95s self = 95s builder = , theme = None 95s dirs = ['/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates'] 95s 95s def init( 95s self, 95s builder: Builder, 95s theme: Theme | None = None, 95s dirs: list[str] | None = None, 95s ) -> None: 95s # create a chain of paths to search 95s if theme: 95s # the theme's own dir and its bases' dirs 95s pathchain = theme.get_theme_dirs() 95s # the loader dirs: pathchain + the parent directories for all themes 95s loaderchain = pathchain + [p.parent for p in pathchain] 95s elif dirs: 95s pathchain = list(map(_StrPath, dirs)) 95s loaderchain = list(map(_StrPath, dirs)) 95s else: 95s pathchain = [] 95s loaderchain = [] 95s 95s # prepend explicit template paths 95s self.templatepathlen = len(builder.config.templates_path) 95s if builder.config.templates_path: 95s cfg_templates_path = [ 95s builder.confdir / tp for tp in builder.config.templates_path 95s ] 95s pathchain[0:0] = cfg_templates_path 95s loaderchain[0:0] = cfg_templates_path 95s 95s # store it for use in newest_template_mtime 95s self.pathchain = pathchain 95s 95s # make the paths into loaders 95s self.loaders = [SphinxFileSystemLoader(x) for x in loaderchain] 95s 95s > use_i18n = builder._translator is not None 95s E AttributeError: 'MockBuilder' object has no attribute '_translator' 95s 95s builder = 95s dirs = ['/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates'] 95s loaderchain = [_StrPath('/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates')] 95s pathchain = [_StrPath('/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates')] 95s self = 95s theme = None 95s 95s /usr/lib/python3/dist-packages/sphinx/jinja2glue.py:201: AttributeError 95s ----------------------------- Captured stderr call ----------------------------- 95s ERROR: [numpydoc] While processing docstring for 'str' 95s ________________ test_mangle_docstrings_inherited_class_members ________________ 95s 95s def test_mangle_docstrings_inherited_class_members(): 95s # if subclass docs are rendered, this PosixPath should have Path.samefile 95s p = """ 95s A top section before 95s 95s .. autoclass:: pathlib.PosixPath 95s """ 95s lines = p.split("\n") 95s app = MockApp() 95s > mangle_docstrings(app, "class", "pathlib.PosixPath", PosixPath, {}, lines) 95s 95s app = 95s lines = ['', 'A top section before', '', '.. autoclass:: pathlib.PosixPath', ''] 95s p = '\nA top section before\n\n.. autoclass:: pathlib.PosixPath\n' 95s 95s numpydoc/tests/test_numpydoc.py:92: 95s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 95s numpydoc/numpydoc.py:194: in mangle_docstrings 95s doc = get_doc_object( 95s app = 95s cfg = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 95s lines = ['', 'A top section before', '', '.. autoclass:: pathlib.PosixPath', ''] 95s name = 'pathlib.PosixPath' 95s obj = 95s options = {} 95s show_inherited_class_members = True 95s u_NL = '\n' 95s what = 'class' 95s numpydoc/docscrape_sphinx.py:417: in get_doc_object 95s template_loader.init(builder, dirs=template_dirs) 95s builder = 95s config = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 95s doc = '\nA top section before\n\n.. autoclass:: pathlib.PosixPath\n' 95s obj = 95s template_dirs = ['/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates'] 95s template_loader = 95s what = 'class' 95s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 95s 95s self = 95s builder = , theme = None 95s dirs = ['/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates'] 95s 95s def init( 95s self, 95s builder: Builder, 95s theme: Theme | None = None, 95s dirs: list[str] | None = None, 95s ) -> None: 95s # create a chain of paths to search 95s if theme: 95s # the theme's own dir and its bases' dirs 95s pathchain = theme.get_theme_dirs() 95s # the loader dirs: pathchain + the parent directories for all themes 95s loaderchain = pathchain + [p.parent for p in pathchain] 95s elif dirs: 95s pathchain = list(map(_StrPath, dirs)) 95s loaderchain = list(map(_StrPath, dirs)) 95s else: 95s pathchain = [] 95s loaderchain = [] 95s 95s # prepend explicit template paths 95s self.templatepathlen = len(builder.config.templates_path) 95s if builder.config.templates_path: 95s cfg_templates_path = [ 95s builder.confdir / tp for tp in builder.config.templates_path 95s ] 95s pathchain[0:0] = cfg_templates_path 95s loaderchain[0:0] = cfg_templates_path 95s 95s # store it for use in newest_template_mtime 95s self.pathchain = pathchain 95s 95s # make the paths into loaders 95s self.loaders = [SphinxFileSystemLoader(x) for x in loaderchain] 95s 95s > use_i18n = builder._translator is not None 95s E AttributeError: 'MockBuilder' object has no attribute '_translator' 95s 95s builder = 95s dirs = ['/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates'] 95s loaderchain = [_StrPath('/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates')] 95s pathchain = [_StrPath('/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates')] 95s self = 95s theme = None 95s 95s /usr/lib/python3/dist-packages/sphinx/jinja2glue.py:201: AttributeError 95s ----------------------------- Captured stderr call ----------------------------- 95s ERROR: [numpydoc] While processing docstring for 'pathlib.PosixPath' 95s _ test_mangle_docstring_validation_warnings[numpydoc_validation_checks0-expected_warn0-non_warnings0] _ 95s 95s f = ._function_without_seealso_and_examples at 0x796e3a2ce3e0> 95s numpydoc_validation_checks = set(), expected_warn = [], non_warnings = [] 95s 95s @pytest.mark.parametrize( 95s ( 95s "numpydoc_validation_checks", 95s "expected_warn", 95s "non_warnings", 95s ), 95s ( 95s # Validation configured off - expect no warnings 95s (set(), [], []), 95s # Validation on with expected warnings 95s ({"SA01", "EX01"}, ("SA01", "EX01"), []), 95s # Validation on with only one activated check 95s ({"SA01"}, ("SA01",), ("EX01",)), 95s ), 95s ) 95s def test_mangle_docstring_validation_warnings( 95s f, 95s numpydoc_validation_checks, 95s expected_warn, 95s non_warnings, 95s ): 95s app = MockApp() 95s # Set up config for test 95s app.config.numpydoc_validation_checks = numpydoc_validation_checks 95s # Update configuration 95s update_config(app) 95s # Set up logging 95s status, warning = StringIO(), StringIO() 95s logging.setup(app, status, warning) 95s # Run mangle docstrings with the above configuration 95s > mangle_docstrings(app, "function", "f", f, None, f.__doc__.split("\n")) 95s 95s app = 95s expected_warn = [] 95s f = ._function_without_seealso_and_examples at 0x796e3a2ce3e0> 95s non_warnings = [] 95s numpydoc_validation_checks = set() 95s status = <_io.StringIO object at 0x796e3a302440> 95s warning = <_io.StringIO object at 0x796e3a301600> 95s 95s numpydoc/tests/test_numpydoc.py:188: 95s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 95s numpydoc/numpydoc.py:194: in mangle_docstrings 95s doc = get_doc_object( 95s app = 95s cfg = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 95s lines = ['', 'A function whose docstring has no examples or see also section.', '', 'Expect SA01 and EX01 errors if validation enabled.', ''] 95s name = 'f' 95s obj = ._function_without_seealso_and_examples at 0x796e3a2ce3e0> 95s options = None 95s show_inherited_class_members = True 95s u_NL = '\n' 95s what = 'function' 95s numpydoc/docscrape_sphinx.py:417: in get_doc_object 95s template_loader.init(builder, dirs=template_dirs) 95s builder = 95s config = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 95s doc = '\nA function whose docstring has no examples or see also section.\n\nExpect SA01 and EX01 errors if validation enabled.\n' 95s obj = ._function_without_seealso_and_examples at 0x796e3a2ce3e0> 95s template_dirs = ['/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates'] 95s template_loader = 95s what = 'function' 95s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 95s 95s self = 95s builder = , theme = None 95s dirs = ['/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates'] 95s 95s def init( 95s self, 95s builder: Builder, 95s theme: Theme | None = None, 95s dirs: list[str] | None = None, 95s ) -> None: 95s # create a chain of paths to search 95s if theme: 95s # the theme's own dir and its bases' dirs 95s pathchain = theme.get_theme_dirs() 95s # the loader dirs: pathchain + the parent directories for all themes 95s loaderchain = pathchain + [p.parent for p in pathchain] 95s elif dirs: 95s pathchain = list(map(_StrPath, dirs)) 95s loaderchain = list(map(_StrPath, dirs)) 95s else: 95s pathchain = [] 95s loaderchain = [] 95s 95s # prepend explicit template paths 95s self.templatepathlen = len(builder.config.templates_path) 95s if builder.config.templates_path: 95s cfg_templates_path = [ 95s builder.confdir / tp for tp in builder.config.templates_path 95s ] 95s pathchain[0:0] = cfg_templates_path 95s loaderchain[0:0] = cfg_templates_path 95s 95s # store it for use in newest_template_mtime 95s self.pathchain = pathchain 95s 95s # make the paths into loaders 95s self.loaders = [SphinxFileSystemLoader(x) for x in loaderchain] 95s 95s > use_i18n = builder._translator is not None 95s E AttributeError: 'MockBuilder' object has no attribute '_translator' 95s 95s builder = 95s dirs = ['/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates'] 95s loaderchain = [_StrPath('/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates')] 95s pathchain = [_StrPath('/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates')] 95s self = 95s theme = None 95s 95s /usr/lib/python3/dist-packages/sphinx/jinja2glue.py:201: AttributeError 95s _ test_mangle_docstring_validation_warnings[numpydoc_validation_checks1-expected_warn1-non_warnings1] _ 95s 95s f = ._function_without_seealso_and_examples at 0x796e39f462a0> 95s numpydoc_validation_checks = {'EX01', 'SA01'}, expected_warn = ('SA01', 'EX01') 95s non_warnings = [] 95s 95s @pytest.mark.parametrize( 95s ( 95s "numpydoc_validation_checks", 95s "expected_warn", 95s "non_warnings", 95s ), 95s ( 95s # Validation configured off - expect no warnings 95s (set(), [], []), 95s # Validation on with expected warnings 95s ({"SA01", "EX01"}, ("SA01", "EX01"), []), 95s # Validation on with only one activated check 95s ({"SA01"}, ("SA01",), ("EX01",)), 95s ), 95s ) 95s def test_mangle_docstring_validation_warnings( 95s f, 95s numpydoc_validation_checks, 95s expected_warn, 95s non_warnings, 95s ): 95s app = MockApp() 95s # Set up config for test 95s app.config.numpydoc_validation_checks = numpydoc_validation_checks 95s # Update configuration 95s update_config(app) 95s # Set up logging 95s status, warning = StringIO(), StringIO() 95s logging.setup(app, status, warning) 95s # Run mangle docstrings with the above configuration 95s > mangle_docstrings(app, "function", "f", f, None, f.__doc__.split("\n")) 95s 95s app = 95s expected_warn = ('SA01', 'EX01') 95s f = ._function_without_seealso_and_examples at 0x796e39f462a0> 95s non_warnings = [] 95s numpydoc_validation_checks = {'EX01', 'SA01'} 95s status = <_io.StringIO object at 0x796e3a302200> 95s warning = <_io.StringIO object at 0x796e3a302140> 95s 95s numpydoc/tests/test_numpydoc.py:188: 95s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 95s numpydoc/numpydoc.py:194: in mangle_docstrings 95s doc = get_doc_object( 95s app = 95s cfg = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 95s lines = ['', 'A function whose docstring has no examples or see also section.', '', 'Expect SA01 and EX01 errors if validation enabled.', ''] 95s name = 'f' 95s obj = ._function_without_seealso_and_examples at 0x796e39f462a0> 95s options = None 95s show_inherited_class_members = True 95s u_NL = '\n' 95s what = 'function' 95s numpydoc/docscrape_sphinx.py:417: in get_doc_object 95s template_loader.init(builder, dirs=template_dirs) 95s builder = 95s config = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 95s doc = '\nA function whose docstring has no examples or see also section.\n\nExpect SA01 and EX01 errors if validation enabled.\n' 95s obj = ._function_without_seealso_and_examples at 0x796e39f462a0> 95s template_dirs = ['/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates'] 95s template_loader = 95s what = 'function' 95s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 95s 95s self = 95s builder = , theme = None 95s dirs = ['/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates'] 95s 95s def init( 95s self, 95s builder: Builder, 95s theme: Theme | None = None, 95s dirs: list[str] | None = None, 95s ) -> None: 95s # create a chain of paths to search 95s if theme: 95s # the theme's own dir and its bases' dirs 95s pathchain = theme.get_theme_dirs() 95s # the loader dirs: pathchain + the parent directories for all themes 95s loaderchain = pathchain + [p.parent for p in pathchain] 95s elif dirs: 95s pathchain = list(map(_StrPath, dirs)) 95s loaderchain = list(map(_StrPath, dirs)) 95s else: 95s pathchain = [] 95s loaderchain = [] 95s 95s # prepend explicit template paths 95s self.templatepathlen = len(builder.config.templates_path) 95s if builder.config.templates_path: 95s cfg_templates_path = [ 95s builder.confdir / tp for tp in builder.config.templates_path 95s ] 95s pathchain[0:0] = cfg_templates_path 95s loaderchain[0:0] = cfg_templates_path 95s 95s # store it for use in newest_template_mtime 95s self.pathchain = pathchain 95s 95s # make the paths into loaders 95s self.loaders = [SphinxFileSystemLoader(x) for x in loaderchain] 95s 95s > use_i18n = builder._translator is not None 95s E AttributeError: 'MockBuilder' object has no attribute '_translator' 95s 95s builder = 95s dirs = ['/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates'] 95s loaderchain = [_StrPath('/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates')] 95s pathchain = [_StrPath('/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates')] 95s self = 95s theme = None 95s 95s /usr/lib/python3/dist-packages/sphinx/jinja2glue.py:201: AttributeError 95s _ test_mangle_docstring_validation_warnings[numpydoc_validation_checks2-expected_warn2-non_warnings2] _ 95s 95s f = ._function_without_seealso_and_examples at 0x796e3a2cd800> 95s numpydoc_validation_checks = {'SA01'}, expected_warn = ('SA01',) 95s non_warnings = ('EX01',) 95s 95s @pytest.mark.parametrize( 95s ( 95s "numpydoc_validation_checks", 95s "expected_warn", 95s "non_warnings", 95s ), 95s ( 95s # Validation configured off - expect no warnings 95s (set(), [], []), 95s # Validation on with expected warnings 95s ({"SA01", "EX01"}, ("SA01", "EX01"), []), 95s # Validation on with only one activated check 95s ({"SA01"}, ("SA01",), ("EX01",)), 95s ), 95s ) 95s def test_mangle_docstring_validation_warnings( 95s f, 95s numpydoc_validation_checks, 95s expected_warn, 95s non_warnings, 95s ): 95s app = MockApp() 95s # Set up config for test 95s app.config.numpydoc_validation_checks = numpydoc_validation_checks 95s # Update configuration 95s update_config(app) 95s # Set up logging 95s status, warning = StringIO(), StringIO() 95s logging.setup(app, status, warning) 95s # Run mangle docstrings with the above configuration 95s > mangle_docstrings(app, "function", "f", f, None, f.__doc__.split("\n")) 95s 95s app = 95s expected_warn = ('SA01',) 95s f = ._function_without_seealso_and_examples at 0x796e3a2cd800> 95s non_warnings = ('EX01',) 95s numpydoc_validation_checks = {'SA01'} 95s status = <_io.StringIO object at 0x796e3a3fca00> 95s warning = <_io.StringIO object at 0x796e3a3fc940> 95s 95s numpydoc/tests/test_numpydoc.py:188: 95s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 95s numpydoc/numpydoc.py:194: in mangle_docstrings 95s doc = get_doc_object( 95s app = 95s cfg = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 95s lines = ['', 'A function whose docstring has no examples or see also section.', '', 'Expect SA01 and EX01 errors if validation enabled.', ''] 95s name = 'f' 95s obj = ._function_without_seealso_and_examples at 0x796e3a2cd800> 95s options = None 95s show_inherited_class_members = True 95s u_NL = '\n' 95s what = 'function' 95s numpydoc/docscrape_sphinx.py:417: in get_doc_object 95s template_loader.init(builder, dirs=template_dirs) 95s builder = 95s config = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 95s doc = '\nA function whose docstring has no examples or see also section.\n\nExpect SA01 and EX01 errors if validation enabled.\n' 95s obj = ._function_without_seealso_and_examples at 0x796e3a2cd800> 95s template_dirs = ['/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates'] 95s template_loader = 95s what = 'function' 95s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 95s 95s self = 95s builder = , theme = None 95s dirs = ['/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates'] 95s 95s def init( 95s self, 95s builder: Builder, 95s theme: Theme | None = None, 95s dirs: list[str] | None = None, 95s ) -> None: 95s # create a chain of paths to search 95s if theme: 95s # the theme's own dir and its bases' dirs 95s pathchain = theme.get_theme_dirs() 95s # the loader dirs: pathchain + the parent directories for all themes 95s loaderchain = pathchain + [p.parent for p in pathchain] 95s elif dirs: 95s pathchain = list(map(_StrPath, dirs)) 95s loaderchain = list(map(_StrPath, dirs)) 95s else: 95s pathchain = [] 95s loaderchain = [] 95s 95s # prepend explicit template paths 95s self.templatepathlen = len(builder.config.templates_path) 95s if builder.config.templates_path: 95s cfg_templates_path = [ 95s builder.confdir / tp for tp in builder.config.templates_path 95s ] 95s pathchain[0:0] = cfg_templates_path 95s loaderchain[0:0] = cfg_templates_path 95s 95s # store it for use in newest_template_mtime 95s self.pathchain = pathchain 95s 95s # make the paths into loaders 95s self.loaders = [SphinxFileSystemLoader(x) for x in loaderchain] 95s 95s > use_i18n = builder._translator is not None 95s E AttributeError: 'MockBuilder' object has no attribute '_translator' 95s 95s builder = 95s dirs = ['/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates'] 95s loaderchain = [_StrPath('/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates')] 95s pathchain = [_StrPath('/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates')] 95s self = 95s theme = None 95s 95s /usr/lib/python3/dist-packages/sphinx/jinja2glue.py:201: AttributeError 95s ___________________ test_mangle_docstring_validation_exclude ___________________ 95s 95s def test_mangle_docstring_validation_exclude(): 95s def function_with_bad_docstring(): 95s """ 95s This docstring will raise docstring validation warnings.""" 95s 95s app = MockApp() 95s app.config.numpydoc_validation_checks = {"all"} 95s app.config.numpydoc_validation_exclude = [r"_bad_"] 95s # Call update_config to construct regexp from config value 95s update_config(app) 95s # Setup for catching warnings 95s status, warning = StringIO(), StringIO() 95s logging.setup(app, status, warning) 95s # Run mangle docstrings on function_with_bad_docstring 95s > mangle_docstrings( 95s app, 95s "function", 95s function_with_bad_docstring.__name__, 95s function_with_bad_docstring, 95s None, 95s function_with_bad_docstring.__doc__.split("\n"), 95s ) 95s 95s app = 95s function_with_bad_docstring = .function_with_bad_docstring at 0x796e3a2ce5c0> 95s status = <_io.StringIO object at 0x796e3a302140> 95s warning = <_io.StringIO object at 0x796e3a302200> 95s 95s numpydoc/tests/test_numpydoc.py:211: 95s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 95s numpydoc/numpydoc.py:194: in mangle_docstrings 95s doc = get_doc_object( 95s app = 95s cfg = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 95s lines = ['', 'This docstring will raise docstring validation warnings.'] 95s name = 'function_with_bad_docstring' 95s obj = .function_with_bad_docstring at 0x796e3a2ce5c0> 95s options = None 95s show_inherited_class_members = True 95s u_NL = '\n' 95s what = 'function' 95s numpydoc/docscrape_sphinx.py:417: in get_doc_object 95s template_loader.init(builder, dirs=template_dirs) 95s builder = 95s config = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 95s doc = '\nThis docstring will raise docstring validation warnings.' 95s obj = .function_with_bad_docstring at 0x796e3a2ce5c0> 95s template_dirs = ['/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates'] 95s template_loader = 95s what = 'function' 95s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 95s 95s self = 95s builder = , theme = None 95s dirs = ['/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates'] 95s 95s def init( 95s self, 95s builder: Builder, 95s theme: Theme | None = None, 95s dirs: list[str] | None = None, 95s ) -> None: 95s # create a chain of paths to search 95s if theme: 95s # the theme's own dir and its bases' dirs 95s pathchain = theme.get_theme_dirs() 95s # the loader dirs: pathchain + the parent directories for all themes 95s loaderchain = pathchain + [p.parent for p in pathchain] 95s elif dirs: 95s pathchain = list(map(_StrPath, dirs)) 95s loaderchain = list(map(_StrPath, dirs)) 95s else: 95s pathchain = [] 95s loaderchain = [] 95s 95s # prepend explicit template paths 95s self.templatepathlen = len(builder.config.templates_path) 95s if builder.config.templates_path: 95s cfg_templates_path = [ 95s builder.confdir / tp for tp in builder.config.templates_path 95s ] 95s pathchain[0:0] = cfg_templates_path 95s loaderchain[0:0] = cfg_templates_path 95s 95s # store it for use in newest_template_mtime 95s self.pathchain = pathchain 95s 95s # make the paths into loaders 95s self.loaders = [SphinxFileSystemLoader(x) for x in loaderchain] 95s 95s > use_i18n = builder._translator is not None 95s E AttributeError: 'MockBuilder' object has no attribute '_translator' 95s 95s builder = 95s dirs = ['/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates'] 95s loaderchain = [_StrPath('/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates')] 95s pathchain = [_StrPath('/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates')] 95s self = 95s theme = None 95s 95s /usr/lib/python3/dist-packages/sphinx/jinja2glue.py:201: AttributeError 95s _________________ test_mangle_docstrings_overrides[overrides0] _________________ 95s 95s overrides = {} 95s 95s @pytest.mark.parametrize("overrides", [{}, {"SS02"}, {"SS02", "SS03"}]) 95s def test_mangle_docstrings_overrides(overrides): 95s def process_something_noop_function(): 95s """Process something.""" 95s 95s app = MockApp() 95s app.config.numpydoc_validation_checks = {"all"} 95s app.config.numpydoc_validation_overrides = { 95s check: [r"^Process "] # overrides are regex on docstring content 95s for check in overrides 95s } 95s update_config(app) 95s 95s # Setup for catching warnings 95s status, warning = StringIO(), StringIO() 95s logging.setup(app, status, warning) 95s 95s # Run mangle docstrings on process_something_noop_function 95s > mangle_docstrings( 95s app, 95s "function", 95s process_something_noop_function.__name__, 95s process_something_noop_function, 95s None, 95s process_something_noop_function.__doc__.split("\n"), 95s ) 95s 95s app = 95s overrides = {} 95s process_something_noop_function = .process_something_noop_function at 0x796e3a435da0> 95s status = <_io.StringIO object at 0x796e3a3fc7c0> 95s warning = <_io.StringIO object at 0x796e3a3fc040> 95s 95s numpydoc/tests/test_numpydoc.py:242: 95s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 95s numpydoc/numpydoc.py:194: in mangle_docstrings 95s doc = get_doc_object( 95s app = 95s cfg = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 95s lines = ['Process something.'] 95s name = 'process_something_noop_function' 95s obj = .process_something_noop_function at 0x796e3a435da0> 95s options = None 95s show_inherited_class_members = True 95s u_NL = '\n' 95s what = 'function' 95s numpydoc/docscrape_sphinx.py:417: in get_doc_object 95s template_loader.init(builder, dirs=template_dirs) 95s builder = 95s config = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 95s doc = 'Process something.' 95s obj = .process_something_noop_function at 0x796e3a435da0> 95s template_dirs = ['/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates'] 95s template_loader = 95s what = 'function' 95s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 95s 95s self = 95s builder = , theme = None 95s dirs = ['/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates'] 95s 95s def init( 95s self, 95s builder: Builder, 95s theme: Theme | None = None, 95s dirs: list[str] | None = None, 95s ) -> None: 95s # create a chain of paths to search 95s if theme: 95s # the theme's own dir and its bases' dirs 95s pathchain = theme.get_theme_dirs() 95s # the loader dirs: pathchain + the parent directories for all themes 95s loaderchain = pathchain + [p.parent for p in pathchain] 95s elif dirs: 95s pathchain = list(map(_StrPath, dirs)) 95s loaderchain = list(map(_StrPath, dirs)) 95s else: 95s pathchain = [] 95s loaderchain = [] 95s 95s # prepend explicit template paths 95s self.templatepathlen = len(builder.config.templates_path) 95s if builder.config.templates_path: 95s cfg_templates_path = [ 95s builder.confdir / tp for tp in builder.config.templates_path 95s ] 95s pathchain[0:0] = cfg_templates_path 95s loaderchain[0:0] = cfg_templates_path 95s 95s # store it for use in newest_template_mtime 95s self.pathchain = pathchain 95s 95s # make the paths into loaders 95s self.loaders = [SphinxFileSystemLoader(x) for x in loaderchain] 95s 95s > use_i18n = builder._translator is not None 95s E AttributeError: 'MockBuilder' object has no attribute '_translator' 95s 95s builder = 95s dirs = ['/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates'] 95s loaderchain = [_StrPath('/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates')] 95s pathchain = [_StrPath('/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates')] 95s self = 95s theme = None 95s 95s /usr/lib/python3/dist-packages/sphinx/jinja2glue.py:201: AttributeError 95s _________________ test_mangle_docstrings_overrides[overrides1] _________________ 95s 95s overrides = {'SS02'} 95s 95s @pytest.mark.parametrize("overrides", [{}, {"SS02"}, {"SS02", "SS03"}]) 95s def test_mangle_docstrings_overrides(overrides): 95s def process_something_noop_function(): 95s """Process something.""" 95s 95s app = MockApp() 95s app.config.numpydoc_validation_checks = {"all"} 95s app.config.numpydoc_validation_overrides = { 95s check: [r"^Process "] # overrides are regex on docstring content 95s for check in overrides 95s } 95s update_config(app) 95s 95s # Setup for catching warnings 95s status, warning = StringIO(), StringIO() 95s logging.setup(app, status, warning) 95s 95s # Run mangle docstrings on process_something_noop_function 95s > mangle_docstrings( 95s app, 95s "function", 95s process_something_noop_function.__name__, 95s process_something_noop_function, 95s None, 95s process_something_noop_function.__doc__.split("\n"), 95s ) 95s 95s app = 95s overrides = {'SS02'} 95s process_something_noop_function = .process_something_noop_function at 0x796e3a4359e0> 95s status = <_io.StringIO object at 0x796e3a3fd780> 95s warning = <_io.StringIO object at 0x796e3a3fd840> 95s 95s numpydoc/tests/test_numpydoc.py:242: 95s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 95s numpydoc/numpydoc.py:194: in mangle_docstrings 95s doc = get_doc_object( 95s app = 95s cfg = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 95s lines = ['Process something.'] 95s name = 'process_something_noop_function' 95s obj = .process_something_noop_function at 0x796e3a4359e0> 95s options = None 95s show_inherited_class_members = True 95s u_NL = '\n' 95s what = 'function' 95s numpydoc/docscrape_sphinx.py:417: in get_doc_object 95s template_loader.init(builder, dirs=template_dirs) 95s builder = 95s config = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 95s doc = 'Process something.' 95s obj = .process_something_noop_function at 0x796e3a4359e0> 95s template_dirs = ['/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates'] 95s template_loader = 95s what = 'function' 95s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 95s 95s self = 95s builder = , theme = None 95s dirs = ['/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates'] 95s 95s def init( 95s self, 95s builder: Builder, 95s theme: Theme | None = None, 95s dirs: list[str] | None = None, 95s ) -> None: 95s # create a chain of paths to search 95s if theme: 95s # the theme's own dir and its bases' dirs 95s pathchain = theme.get_theme_dirs() 95s # the loader dirs: pathchain + the parent directories for all themes 95s loaderchain = pathchain + [p.parent for p in pathchain] 95s elif dirs: 95s pathchain = list(map(_StrPath, dirs)) 95s loaderchain = list(map(_StrPath, dirs)) 95s else: 95s pathchain = [] 95s loaderchain = [] 95s 95s # prepend explicit template paths 95s self.templatepathlen = len(builder.config.templates_path) 95s if builder.config.templates_path: 95s cfg_templates_path = [ 95s builder.confdir / tp for tp in builder.config.templates_path 95s ] 95s pathchain[0:0] = cfg_templates_path 95s loaderchain[0:0] = cfg_templates_path 95s 95s # store it for use in newest_template_mtime 95s self.pathchain = pathchain 95s 95s # make the paths into loaders 95s self.loaders = [SphinxFileSystemLoader(x) for x in loaderchain] 95s 95s > use_i18n = builder._translator is not None 95s E AttributeError: 'MockBuilder' object has no attribute '_translator' 95s 95s builder = 95s dirs = ['/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates'] 95s loaderchain = [_StrPath('/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates')] 95s pathchain = [_StrPath('/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates')] 95s self = 95s theme = None 95s 95s /usr/lib/python3/dist-packages/sphinx/jinja2glue.py:201: AttributeError 95s _________________ test_mangle_docstrings_overrides[overrides2] _________________ 95s 95s overrides = {'SS02', 'SS03'} 95s 95s @pytest.mark.parametrize("overrides", [{}, {"SS02"}, {"SS02", "SS03"}]) 95s def test_mangle_docstrings_overrides(overrides): 95s def process_something_noop_function(): 95s """Process something.""" 95s 95s app = MockApp() 95s app.config.numpydoc_validation_checks = {"all"} 95s app.config.numpydoc_validation_overrides = { 95s check: [r"^Process "] # overrides are regex on docstring content 95s for check in overrides 95s } 95s update_config(app) 95s 95s # Setup for catching warnings 95s status, warning = StringIO(), StringIO() 95s logging.setup(app, status, warning) 95s 95s # Run mangle docstrings on process_something_noop_function 95s > mangle_docstrings( 95s app, 95s "function", 95s process_something_noop_function.__name__, 95s process_something_noop_function, 95s None, 95s process_something_noop_function.__doc__.split("\n"), 95s ) 95s 95s app = 95s overrides = {'SS02', 'SS03'} 95s process_something_noop_function = .process_something_noop_function at 0x796e3a4358a0> 95s status = <_io.StringIO object at 0x796e3a302140> 95s warning = <_io.StringIO object at 0x796e3a303dc0> 95s 95s numpydoc/tests/test_numpydoc.py:242: 95s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 95s numpydoc/numpydoc.py:194: in mangle_docstrings 95s doc = get_doc_object( 95s app = 95s cfg = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 95s lines = ['Process something.'] 95s name = 'process_something_noop_function' 95s obj = .process_something_noop_function at 0x796e3a4358a0> 95s options = None 95s show_inherited_class_members = True 95s u_NL = '\n' 95s what = 'function' 95s numpydoc/docscrape_sphinx.py:417: in get_doc_object 95s template_loader.init(builder, dirs=template_dirs) 95s builder = 95s config = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 95s doc = 'Process something.' 95s obj = .process_something_noop_function at 0x796e3a4358a0> 95s template_dirs = ['/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates'] 95s template_loader = 95s what = 'function' 95s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 95s 95s self = 95s builder = , theme = None 95s dirs = ['/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates'] 95s 95s def init( 95s self, 95s builder: Builder, 95s theme: Theme | None = None, 95s dirs: list[str] | None = None, 95s ) -> None: 95s # create a chain of paths to search 95s if theme: 95s # the theme's own dir and its bases' dirs 95s pathchain = theme.get_theme_dirs() 95s # the loader dirs: pathchain + the parent directories for all themes 95s loaderchain = pathchain + [p.parent for p in pathchain] 95s elif dirs: 95s pathchain = list(map(_StrPath, dirs)) 95s loaderchain = list(map(_StrPath, dirs)) 95s else: 95s pathchain = [] 95s loaderchain = [] 95s 95s # prepend explicit template paths 95s self.templatepathlen = len(builder.config.templates_path) 95s if builder.config.templates_path: 95s cfg_templates_path = [ 95s builder.confdir / tp for tp in builder.config.templates_path 95s ] 95s pathchain[0:0] = cfg_templates_path 95s loaderchain[0:0] = cfg_templates_path 95s 95s # store it for use in newest_template_mtime 95s self.pathchain = pathchain 95s 95s # make the paths into loaders 95s self.loaders = [SphinxFileSystemLoader(x) for x in loaderchain] 95s 95s > use_i18n = builder._translator is not None 95s E AttributeError: 'MockBuilder' object has no attribute '_translator' 95s 95s builder = 95s dirs = ['/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates'] 95s loaderchain = [_StrPath('/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates')] 95s pathchain = [_StrPath('/tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/templates')] 95s self = 95s theme = None 95s 95s /usr/lib/python3/dist-packages/sphinx/jinja2glue.py:201: AttributeError 95s =============================== warnings summary =============================== 95s numpydoc/tests/test_docscrape.py: 17 warnings 95s /tmp/autopkgtest.pkElcP/build.Jfx/src/numpydoc/docscrape_sphinx.py:163: DeprecationWarning: 'maxsplit' is passed as positional argument 95s desc = re.split(r"\n\s*\n", obj_doc.strip(), 1)[0] 95s 95s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 95s - generated xml file: /tmp/autopkgtest.pkElcP/build.Jfx/src/junit-results.xml -- 95s =========================== short test summary info ============================ 95s FAILED numpydoc/tests/test_numpydoc.py::test_mangle_docstrings_basic - Attrib... 95s FAILED numpydoc/tests/test_numpydoc.py::test_mangle_docstrings_inherited_class_members 95s FAILED numpydoc/tests/test_numpydoc.py::test_mangle_docstring_validation_warnings[numpydoc_validation_checks0-expected_warn0-non_warnings0] 95s FAILED numpydoc/tests/test_numpydoc.py::test_mangle_docstring_validation_warnings[numpydoc_validation_checks1-expected_warn1-non_warnings1] 95s FAILED numpydoc/tests/test_numpydoc.py::test_mangle_docstring_validation_warnings[numpydoc_validation_checks2-expected_warn2-non_warnings2] 95s FAILED numpydoc/tests/test_numpydoc.py::test_mangle_docstring_validation_exclude 95s FAILED numpydoc/tests/test_numpydoc.py::test_mangle_docstrings_overrides[overrides0] 95s FAILED numpydoc/tests/test_numpydoc.py::test_mangle_docstrings_overrides[overrides1] 95s FAILED numpydoc/tests/test_numpydoc.py::test_mangle_docstrings_overrides[overrides2] 95s ============ 9 failed, 284 passed, 2 xfailed, 17 warnings in 3.55s ============= 96s autopkgtest [11:46:42]: test command1: -----------------------] 96s command1 FAIL non-zero exit status 1 96s autopkgtest [11:46:42]: test command1: - - - - - - - - - - results - - - - - - - - - - 97s autopkgtest [11:46:43]: @@@@@@@@@@@@@@@@@@@@ summary 97s command1 FAIL non-zero exit status 1 115s nova [W] Skipping flock for amd64 115s Creating nova instance adt-questing-amd64-numpydoc-20250506-114506-juju-7f2275-prod-proposed-migration-environment-23-8859b49a-dfb8-46bc-a427-589350d9e47a from image adt/ubuntu-questing-amd64-server-20250506.img (UUID f1864fa2-149c-4e5d-800d-c5107d8a2f35)... 115s nova [W] Timed out waiting for ec45196c-c2d0-47e3-92e2-4843a36125cb to get deleted.