0s autopkgtest [07:44:37]: starting date and time: 2025-05-06 07:44:37+0000 0s autopkgtest [07:44:37]: git checkout: 9986aa8c Merge branch 'skia/fix_network_interface' into 'ubuntu/production' 0s autopkgtest [07:44:37]: host juju-7f2275-prod-proposed-migration-environment-23; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.ago0othk/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 autopkgtest-cpu2-ram4-disk20-amd64 --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-23@sto01-7.secgroup --name adt-questing-amd64-numpydoc-20250506-074437-juju-7f2275-prod-proposed-migration-environment-23-3d8f1d3b-3bff-4159-9277-d094f92a77c9 --image adt/ubuntu-questing-amd64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-23 --net-id=net_prod-autopkgtest-workers-amd64 -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 70s autopkgtest [07:45:47]: testbed dpkg architecture: amd64 70s autopkgtest [07:45:47]: testbed apt version: 3.0.0 70s autopkgtest [07:45:47]: @@@@@@@@@@@@@@@@@@@@ test bed setup 71s autopkgtest [07:45:48]: testbed release detected to be: None 71s autopkgtest [07:45:48]: updating testbed package index (apt update) 71s Get:1 http://ftpmaster.internal/ubuntu questing-proposed InRelease [110 kB] 71s Hit:2 http://ftpmaster.internal/ubuntu questing InRelease 71s Hit:3 http://ftpmaster.internal/ubuntu questing-updates InRelease 72s Hit:4 http://ftpmaster.internal/ubuntu questing-security InRelease 72s Get:5 http://ftpmaster.internal/ubuntu questing-proposed/main Sources [76.0 kB] 72s Get:6 http://ftpmaster.internal/ubuntu questing-proposed/universe Sources [657 kB] 72s Get:7 http://ftpmaster.internal/ubuntu questing-proposed/multiverse Sources [29.1 kB] 72s Get:8 http://ftpmaster.internal/ubuntu questing-proposed/main i386 Packages [109 kB] 72s Get:9 http://ftpmaster.internal/ubuntu questing-proposed/main amd64 Packages [153 kB] 72s Get:10 http://ftpmaster.internal/ubuntu questing-proposed/universe amd64 Packages [739 kB] 72s Get:11 http://ftpmaster.internal/ubuntu questing-proposed/universe i386 Packages [280 kB] 72s Get:12 http://ftpmaster.internal/ubuntu questing-proposed/multiverse i386 Packages [10.7 kB] 72s Get:13 http://ftpmaster.internal/ubuntu questing-proposed/multiverse amd64 Packages [18.9 kB] 72s Fetched 2183 kB in 1s (4080 kB/s) 72s Reading package lists... 73s autopkgtest [07:45:50]: upgrading testbed (apt dist-upgrade and autopurge) 73s Reading package lists... 73s Building dependency tree... 73s Reading state information... 74s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 74s Starting 2 pkgProblemResolver with broken count: 0 74s Done 74s Entering ResolveByKeep 74s 74s Calculating upgrade... 74s The following packages will be upgraded: 74s libperl5.40 perl perl-base perl-modules-5.40 python3-dbus 74s 5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 74s Need to get 10.3 MB of archives. 74s After this operation, 7168 B of additional disk space will be used. 74s Get:1 http://ftpmaster.internal/ubuntu questing/main amd64 libperl5.40 amd64 5.40.1-3 [4877 kB] 74s Get:2 http://ftpmaster.internal/ubuntu questing/main amd64 perl amd64 5.40.1-3 [262 kB] 74s Get:3 http://ftpmaster.internal/ubuntu questing/main amd64 perl-base amd64 5.40.1-3 [1840 kB] 74s Get:4 http://ftpmaster.internal/ubuntu questing/main amd64 perl-modules-5.40 all 5.40.1-3 [3217 kB] 74s Get:5 http://ftpmaster.internal/ubuntu questing/main amd64 python3-dbus amd64 1.4.0-1 [102 kB] 75s Fetched 10.3 MB in 0s (38.5 MB/s) 75s (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.) 75s Preparing to unpack .../libperl5.40_5.40.1-3_amd64.deb ... 75s Unpacking libperl5.40:amd64 (5.40.1-3) over (5.40.1-2ubuntu0.1) ... 75s Preparing to unpack .../perl_5.40.1-3_amd64.deb ... 75s Unpacking perl (5.40.1-3) over (5.40.1-2ubuntu0.1) ... 75s Preparing to unpack .../perl-base_5.40.1-3_amd64.deb ... 75s Unpacking perl-base (5.40.1-3) over (5.40.1-2ubuntu0.1) ... 75s Setting up perl-base (5.40.1-3) ... 75s (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.) 75s Preparing to unpack .../perl-modules-5.40_5.40.1-3_all.deb ... 75s Unpacking perl-modules-5.40 (5.40.1-3) over (5.40.1-2ubuntu0.1) ... 76s Preparing to unpack .../python3-dbus_1.4.0-1_amd64.deb ... 76s Unpacking python3-dbus (1.4.0-1) over (1.3.2-5build5) ... 76s Setting up python3-dbus (1.4.0-1) ... 76s Setting up perl-modules-5.40 (5.40.1-3) ... 76s Setting up libperl5.40:amd64 (5.40.1-3) ... 76s Setting up perl (5.40.1-3) ... 76s Processing triggers for man-db (2.13.1-1) ... 76s Processing triggers for libc-bin (2.41-6ubuntu1) ... 77s Reading package lists... 77s Building dependency tree... 77s Reading state information... 77s Starting pkgProblemResolver with broken count: 0 77s Starting 2 pkgProblemResolver with broken count: 0 77s Done 77s Solving dependencies... 77s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 80s autopkgtest [07:45:57]: testbed running kernel: Linux 6.14.0-15-generic #15-Ubuntu SMP PREEMPT_DYNAMIC Sun Apr 6 15:05:05 UTC 2025 80s autopkgtest [07:45:57]: @@@@@@@@@@@@@@@@@@@@ apt-source numpydoc 81s Get:1 http://ftpmaster.internal/ubuntu questing/universe numpydoc 1.8.0-1 (dsc) [2370 B] 81s Get:2 http://ftpmaster.internal/ubuntu questing/universe numpydoc 1.8.0-1 (tar) [90.4 kB] 81s Get:3 http://ftpmaster.internal/ubuntu questing/universe numpydoc 1.8.0-1 (diff) [5120 B] 81s gpgv: Signature made Mon Nov 25 22:56:09 2024 UTC 81s gpgv: using RSA key 8F6DE104377F3B11E741748731F3144544A1741A 81s gpgv: issuer "tchet@debian.org" 81s gpgv: Can't check signature: No public key 81s dpkg-source: warning: cannot verify inline signature for ./numpydoc_1.8.0-1.dsc: no acceptable signature found 81s autopkgtest [07:45:58]: testing package numpydoc version 1.8.0-1 81s autopkgtest [07:45:58]: build not needed 81s autopkgtest [07:45:58]: test command1: preparing testbed 81s Reading package lists... 82s Building dependency tree... 82s Reading state information... 82s Starting pkgProblemResolver with broken count: 0 82s Starting 2 pkgProblemResolver with broken count: 0 82s 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] 83s Fetched 17.6 MB in 1s (20.0 MB/s) 83s Selecting previously unselected package sgml-base. 83s (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.) 83s Preparing to unpack .../00-sgml-base_1.31+nmu1_all.deb ... 83s Unpacking sgml-base (1.31+nmu1) ... 83s Selecting previously unselected package xml-core. 83s Preparing to unpack .../01-xml-core_0.19_all.deb ... 83s Unpacking xml-core (0.19) ... 83s Selecting previously unselected package docutils-common. 83s Preparing to unpack .../02-docutils-common_0.21.2+dfsg-2_all.deb ... 83s Unpacking docutils-common (0.21.2+dfsg-2) ... 83s Selecting previously unselected package libjs-jquery. 83s Preparing to unpack .../03-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 83s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 83s Selecting previously unselected package libjs-jquery-metadata. 83s Preparing to unpack .../04-libjs-jquery-metadata_12-4_all.deb ... 83s Unpacking libjs-jquery-metadata (12-4) ... 83s Selecting previously unselected package libjs-jquery-tablesorter. 83s Preparing to unpack .../05-libjs-jquery-tablesorter_1%3a2.31.3+dfsg1-4_all.deb ... 83s Unpacking libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 83s Selecting previously unselected package libjs-jquery-throttle-debounce. 83s Preparing to unpack .../06-libjs-jquery-throttle-debounce_1.1+dfsg.1-2_all.deb ... 83s Unpacking libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 83s Selecting previously unselected package libjs-underscore. 83s Preparing to unpack .../07-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 83s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 83s Selecting previously unselected package libjs-sphinxdoc. 83s Preparing to unpack .../08-libjs-sphinxdoc_8.2.3-1_all.deb ... 83s Unpacking libjs-sphinxdoc (8.2.3-1) ... 83s 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) ... 84s Selecting previously unselected package python3-doc. 84s Preparing to unpack .../16-python3-doc_3.13.3-1_all.deb ... 84s Unpacking python3-doc (3.13.3-1) ... 84s Selecting previously unselected package python3-roman. 84s Preparing to unpack .../17-python3-roman_5.0-1_all.deb ... 84s Unpacking python3-roman (5.0-1) ... 84s Selecting previously unselected package python3-docutils. 84s Preparing to unpack .../18-python3-docutils_0.21.2+dfsg-2_all.deb ... 84s Unpacking python3-docutils (0.21.2+dfsg-2) ... 84s Selecting previously unselected package python3-imagesize. 84s Preparing to unpack .../19-python3-imagesize_1.4.1-1_all.deb ... 84s Unpacking python3-imagesize (1.4.1-1) ... 84s Selecting previously unselected package python3-iniconfig. 84s Preparing to unpack .../20-python3-iniconfig_1.1.1-2_all.deb ... 84s Unpacking python3-iniconfig (1.1.1-2) ... 84s Selecting previously unselected package sphinx-common. 84s Preparing to unpack .../21-sphinx-common_8.2.3-1_all.deb ... 84s Unpacking sphinx-common (8.2.3-1) ... 84s Selecting previously unselected package python3-alabaster. 84s Preparing to unpack .../22-python3-alabaster_0.7.16-0.1_all.deb ... 84s Unpacking python3-alabaster (0.7.16-0.1) ... 84s Selecting previously unselected package python3-roman-numerals. 84s Preparing to unpack .../23-python3-roman-numerals_3.1.0-1ubuntu1_all.deb ... 84s Unpacking python3-roman-numerals (3.1.0-1ubuntu1) ... 84s Selecting previously unselected package python3-snowballstemmer. 84s Preparing to unpack .../24-python3-snowballstemmer_2.2.0-4build1_all.deb ... 84s Unpacking python3-snowballstemmer (2.2.0-4build1) ... 84s Selecting previously unselected package python3-sphinx. 84s Preparing to unpack .../25-python3-sphinx_8.2.3-1_all.deb ... 84s Unpacking python3-sphinx (8.2.3-1) ... 84s Selecting previously unselected package python3-tabulate. 84s Preparing to unpack .../26-python3-tabulate_0.9.0-1_all.deb ... 84s Unpacking python3-tabulate (0.9.0-1) ... 84s Selecting previously unselected package python3-numpydoc. 84s Preparing to unpack .../27-python3-numpydoc_1.8.0-1_all.deb ... 84s Unpacking python3-numpydoc (1.8.0-1) ... 84s Selecting previously unselected package python3-pluggy. 84s Preparing to unpack .../28-python3-pluggy_1.5.0-1_all.deb ... 84s Unpacking python3-pluggy (1.5.0-1) ... 84s Selecting previously unselected package python3-pytest. 84s Preparing to unpack .../29-python3-pytest_8.3.5-1_all.deb ... 84s Unpacking python3-pytest (8.3.5-1) ... 84s Selecting previously unselected package libjs-jquery-hotkeys. 84s Preparing to unpack .../30-libjs-jquery-hotkeys_0.2.0-1_all.deb ... 84s Unpacking libjs-jquery-hotkeys (0.2.0-1) ... 84s Selecting previously unselected package libjs-jquery-isonscreen. 84s Preparing to unpack .../31-libjs-jquery-isonscreen_1.2.0-1.1_all.deb ... 84s Unpacking libjs-jquery-isonscreen (1.2.0-1.1) ... 84s Selecting previously unselected package python3-pytest-cov. 84s Preparing to unpack .../32-python3-pytest-cov_5.0.0-1_all.deb ... 84s Unpacking python3-pytest-cov (5.0.0-1) ... 84s Setting up python3-iniconfig (1.1.1-2) ... 84s 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) ... 85s Setting up python3-all (3.13.3-1) ... 85s Setting up python3-coverage (7.6.0+dfsg1-2build1) ... 85s Setting up libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 85s Setting up python3-roman (5.0-1) ... 85s Setting up python3-snowballstemmer (2.2.0-4build1) ... 85s Setting up python3-pluggy (1.5.0-1) ... 85s Setting up libjson-perl (4.10000-1) ... 85s Setting up python3-roman-numerals (3.1.0-1ubuntu1) ... 85s Setting up sgml-base (1.31+nmu1) ... 85s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 85s Setting up libjs-jquery-hotkeys (0.2.0-1) ... 85s Setting up python3-soupsieve (2.7-1) ... 85s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 85s Setting up python3-imagesize (1.4.1-1) ... 85s Setting up python3-pytest (8.3.5-1) ... 86s Setting up python3-bs4 (4.13.4-1) ... 86s Setting up python3.13-doc (3.13.3-1) ... 86s Setting up libjs-jquery-metadata (12-4) ... 86s Setting up libjs-jquery-isonscreen (1.2.0-1.1) ... 86s Setting up libjs-sphinxdoc (8.2.3-1) ... 86s Setting up libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 86s Setting up xml-core (0.19) ... 86s Setting up python3-doc (3.13.3-1) ... 86s Setting up python3-pytest-cov (5.0.0-1) ... 86s Setting up sphinx-common (8.2.3-1) ... 86s Processing triggers for install-info (7.1.1-1) ... 86s Processing triggers for man-db (2.13.1-1) ... 87s Processing triggers for sgml-base (1.31+nmu1) ... 87s Setting up docutils-common (0.21.2+dfsg-2) ... 87s Processing triggers for sgml-base (1.31+nmu1) ... 87s Setting up python3-docutils (0.21.2+dfsg-2) ... 87s Setting up python3-sphinx (8.2.3-1) ... 87s Setting up python3-numpydoc (1.8.0-1) ... 88s autopkgtest [07:46:05]: test command1: set -e; for p in $(py3versions -s); do $p -m pytest numpydoc/; done 88s autopkgtest [07:46:05]: test command1: [----------------------- 89s ============================= test session starts ============================== 89s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 89s rootdir: /tmp/autopkgtest.AnkQUA/build.9Oj/src 89s configfile: pyproject.toml 89s plugins: cov-5.0.0, typeguard-4.4.2 89s collected 295 items 89s 89s numpydoc/numpydoc.py . [ 0%] 89s numpydoc/tests/hooks/test_utils.py ..... [ 2%] 89s numpydoc/tests/hooks/test_validate_hook.py ....... [ 4%] 89s numpydoc/tests/test_docscrape.py ....................................... [ 17%] 89s ....................... [ 25%] 90s numpydoc/tests/test_full.py ..... [ 27%] 90s numpydoc/tests/test_main.py .......... [ 30%] 91s numpydoc/tests/test_numpydoc.py FF.FFFFFFF... [ 34%] 91s numpydoc/tests/test_validate.py ........................................ [ 48%] 91s ................................................................x..x.... [ 72%] 91s ................ [ 78%] 91s numpydoc/tests/test_xref.py ............................................ [ 93%] 91s ................... [ 99%] 91s numpydoc/validate.py . [100%] 91s 91s =================================== FAILURES =================================== 91s _________________________ test_mangle_docstrings_basic _________________________ 91s 91s def test_mangle_docstrings_basic(): 91s s = """ 91s A top section before 91s 91s .. autoclass:: str 91s """ 91s lines = s.split("\n") 91s > mangle_docstrings(MockApp(), "class", "str", str, {}, lines) 91s 91s lines = ['', 'A top section before', '', '.. autoclass:: str', ' '] 91s s = '\nA top section before\n\n.. autoclass:: str\n ' 91s 91s numpydoc/tests/test_numpydoc.py:62: 91s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 91s numpydoc/numpydoc.py:194: in mangle_docstrings 91s doc = get_doc_object( 91s app = 91s cfg = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 91s lines = ['', 'A top section before', '', '.. autoclass:: str', ' '] 91s name = 'str' 91s obj = 91s options = {} 91s show_inherited_class_members = True 91s u_NL = '\n' 91s what = 'class' 91s numpydoc/docscrape_sphinx.py:417: in get_doc_object 91s template_loader.init(builder, dirs=template_dirs) 91s builder = 91s config = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 91s doc = '\nA top section before\n\n.. autoclass:: str\n ' 91s obj = 91s template_dirs = ['/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates'] 91s template_loader = 91s what = 'class' 91s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 91s 91s self = 91s builder = , theme = None 91s dirs = ['/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates'] 91s 91s def init( 91s self, 91s builder: Builder, 91s theme: Theme | None = None, 91s dirs: list[str] | None = None, 91s ) -> None: 91s # create a chain of paths to search 91s if theme: 91s # the theme's own dir and its bases' dirs 91s pathchain = theme.get_theme_dirs() 91s # the loader dirs: pathchain + the parent directories for all themes 91s loaderchain = pathchain + [p.parent for p in pathchain] 91s elif dirs: 91s pathchain = list(map(_StrPath, dirs)) 91s loaderchain = list(map(_StrPath, dirs)) 91s else: 91s pathchain = [] 91s loaderchain = [] 91s 91s # prepend explicit template paths 91s self.templatepathlen = len(builder.config.templates_path) 91s if builder.config.templates_path: 91s cfg_templates_path = [ 91s builder.confdir / tp for tp in builder.config.templates_path 91s ] 91s pathchain[0:0] = cfg_templates_path 91s loaderchain[0:0] = cfg_templates_path 91s 91s # store it for use in newest_template_mtime 91s self.pathchain = pathchain 91s 91s # make the paths into loaders 91s self.loaders = [SphinxFileSystemLoader(x) for x in loaderchain] 91s 91s > use_i18n = builder._translator is not None 91s E AttributeError: 'MockBuilder' object has no attribute '_translator' 91s 91s builder = 91s dirs = ['/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates'] 91s loaderchain = [_StrPath('/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates')] 91s pathchain = [_StrPath('/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates')] 91s self = 91s theme = None 91s 91s /usr/lib/python3/dist-packages/sphinx/jinja2glue.py:201: AttributeError 91s ----------------------------- Captured stderr call ----------------------------- 91s ERROR: [numpydoc] While processing docstring for 'str' 91s ________________ test_mangle_docstrings_inherited_class_members ________________ 91s 91s def test_mangle_docstrings_inherited_class_members(): 91s # if subclass docs are rendered, this PosixPath should have Path.samefile 91s p = """ 91s A top section before 91s 91s .. autoclass:: pathlib.PosixPath 91s """ 91s lines = p.split("\n") 91s app = MockApp() 91s > mangle_docstrings(app, "class", "pathlib.PosixPath", PosixPath, {}, lines) 91s 91s app = 91s lines = ['', 'A top section before', '', '.. autoclass:: pathlib.PosixPath', ''] 91s p = '\nA top section before\n\n.. autoclass:: pathlib.PosixPath\n' 91s 91s numpydoc/tests/test_numpydoc.py:92: 91s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 91s numpydoc/numpydoc.py:194: in mangle_docstrings 91s doc = get_doc_object( 91s app = 91s cfg = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 91s lines = ['', 'A top section before', '', '.. autoclass:: pathlib.PosixPath', ''] 91s name = 'pathlib.PosixPath' 91s obj = 91s options = {} 91s show_inherited_class_members = True 91s u_NL = '\n' 91s what = 'class' 91s numpydoc/docscrape_sphinx.py:417: in get_doc_object 91s template_loader.init(builder, dirs=template_dirs) 91s builder = 91s config = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 91s doc = '\nA top section before\n\n.. autoclass:: pathlib.PosixPath\n' 91s obj = 91s template_dirs = ['/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates'] 91s template_loader = 91s what = 'class' 91s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 91s 91s self = 91s builder = , theme = None 91s dirs = ['/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates'] 91s 91s def init( 91s self, 91s builder: Builder, 91s theme: Theme | None = None, 91s dirs: list[str] | None = None, 91s ) -> None: 91s # create a chain of paths to search 91s if theme: 91s # the theme's own dir and its bases' dirs 91s pathchain = theme.get_theme_dirs() 91s # the loader dirs: pathchain + the parent directories for all themes 91s loaderchain = pathchain + [p.parent for p in pathchain] 91s elif dirs: 91s pathchain = list(map(_StrPath, dirs)) 91s loaderchain = list(map(_StrPath, dirs)) 91s else: 91s pathchain = [] 91s loaderchain = [] 91s 91s # prepend explicit template paths 91s self.templatepathlen = len(builder.config.templates_path) 91s if builder.config.templates_path: 91s cfg_templates_path = [ 91s builder.confdir / tp for tp in builder.config.templates_path 91s ] 91s pathchain[0:0] = cfg_templates_path 91s loaderchain[0:0] = cfg_templates_path 91s 91s # store it for use in newest_template_mtime 91s self.pathchain = pathchain 91s 91s # make the paths into loaders 91s self.loaders = [SphinxFileSystemLoader(x) for x in loaderchain] 91s 91s > use_i18n = builder._translator is not None 91s E AttributeError: 'MockBuilder' object has no attribute '_translator' 91s 91s builder = 91s dirs = ['/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates'] 91s loaderchain = [_StrPath('/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates')] 91s pathchain = [_StrPath('/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates')] 91s self = 91s theme = None 91s 91s /usr/lib/python3/dist-packages/sphinx/jinja2glue.py:201: AttributeError 91s ----------------------------- Captured stderr call ----------------------------- 91s ERROR: [numpydoc] While processing docstring for 'pathlib.PosixPath' 91s _ test_mangle_docstring_validation_warnings[numpydoc_validation_checks0-expected_warn0-non_warnings0] _ 91s 91s f = ._function_without_seealso_and_examples at 0x73e193b7a0c0> 91s numpydoc_validation_checks = set(), expected_warn = [], non_warnings = [] 91s 91s @pytest.mark.parametrize( 91s ( 91s "numpydoc_validation_checks", 91s "expected_warn", 91s "non_warnings", 91s ), 91s ( 91s # Validation configured off - expect no warnings 91s (set(), [], []), 91s # Validation on with expected warnings 91s ({"SA01", "EX01"}, ("SA01", "EX01"), []), 91s # Validation on with only one activated check 91s ({"SA01"}, ("SA01",), ("EX01",)), 91s ), 91s ) 91s def test_mangle_docstring_validation_warnings( 91s f, 91s numpydoc_validation_checks, 91s expected_warn, 91s non_warnings, 91s ): 91s app = MockApp() 91s # Set up config for test 91s app.config.numpydoc_validation_checks = numpydoc_validation_checks 91s # Update configuration 91s update_config(app) 91s # Set up logging 91s status, warning = StringIO(), StringIO() 91s logging.setup(app, status, warning) 91s # Run mangle docstrings with the above configuration 91s > mangle_docstrings(app, "function", "f", f, None, f.__doc__.split("\n")) 91s 91s app = 91s expected_warn = [] 91s f = ._function_without_seealso_and_examples at 0x73e193b7a0c0> 91s non_warnings = [] 91s numpydoc_validation_checks = set() 91s status = <_io.StringIO object at 0x73e193b49600> 91s warning = <_io.StringIO object at 0x73e193b493c0> 91s 91s numpydoc/tests/test_numpydoc.py:188: 91s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 91s numpydoc/numpydoc.py:194: in mangle_docstrings 91s doc = get_doc_object( 91s app = 91s cfg = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 91s lines = ['', 'A function whose docstring has no examples or see also section.', '', 'Expect SA01 and EX01 errors if validation enabled.', ''] 91s name = 'f' 91s obj = ._function_without_seealso_and_examples at 0x73e193b7a0c0> 91s options = None 91s show_inherited_class_members = True 91s u_NL = '\n' 91s what = 'function' 91s numpydoc/docscrape_sphinx.py:417: in get_doc_object 91s template_loader.init(builder, dirs=template_dirs) 91s builder = 91s config = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 91s doc = '\nA function whose docstring has no examples or see also section.\n\nExpect SA01 and EX01 errors if validation enabled.\n' 91s obj = ._function_without_seealso_and_examples at 0x73e193b7a0c0> 91s template_dirs = ['/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates'] 91s template_loader = 91s what = 'function' 91s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 91s 91s self = 91s builder = , theme = None 91s dirs = ['/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates'] 91s 91s def init( 91s self, 91s builder: Builder, 91s theme: Theme | None = None, 91s dirs: list[str] | None = None, 91s ) -> None: 91s # create a chain of paths to search 91s if theme: 91s # the theme's own dir and its bases' dirs 91s pathchain = theme.get_theme_dirs() 91s # the loader dirs: pathchain + the parent directories for all themes 91s loaderchain = pathchain + [p.parent for p in pathchain] 91s elif dirs: 91s pathchain = list(map(_StrPath, dirs)) 91s loaderchain = list(map(_StrPath, dirs)) 91s else: 91s pathchain = [] 91s loaderchain = [] 91s 91s # prepend explicit template paths 91s self.templatepathlen = len(builder.config.templates_path) 91s if builder.config.templates_path: 91s cfg_templates_path = [ 91s builder.confdir / tp for tp in builder.config.templates_path 91s ] 91s pathchain[0:0] = cfg_templates_path 91s loaderchain[0:0] = cfg_templates_path 91s 91s # store it for use in newest_template_mtime 91s self.pathchain = pathchain 91s 91s # make the paths into loaders 91s self.loaders = [SphinxFileSystemLoader(x) for x in loaderchain] 91s 91s > use_i18n = builder._translator is not None 91s E AttributeError: 'MockBuilder' object has no attribute '_translator' 91s 91s builder = 91s dirs = ['/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates'] 91s loaderchain = [_StrPath('/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates')] 91s pathchain = [_StrPath('/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates')] 91s self = 91s theme = None 91s 91s /usr/lib/python3/dist-packages/sphinx/jinja2glue.py:201: AttributeError 91s _ test_mangle_docstring_validation_warnings[numpydoc_validation_checks1-expected_warn1-non_warnings1] _ 91s 91s f = ._function_without_seealso_and_examples at 0x73e193573560> 91s numpydoc_validation_checks = {'EX01', 'SA01'}, expected_warn = ('SA01', 'EX01') 91s non_warnings = [] 91s 91s @pytest.mark.parametrize( 91s ( 91s "numpydoc_validation_checks", 91s "expected_warn", 91s "non_warnings", 91s ), 91s ( 91s # Validation configured off - expect no warnings 91s (set(), [], []), 91s # Validation on with expected warnings 91s ({"SA01", "EX01"}, ("SA01", "EX01"), []), 91s # Validation on with only one activated check 91s ({"SA01"}, ("SA01",), ("EX01",)), 91s ), 91s ) 91s def test_mangle_docstring_validation_warnings( 91s f, 91s numpydoc_validation_checks, 91s expected_warn, 91s non_warnings, 91s ): 91s app = MockApp() 91s # Set up config for test 91s app.config.numpydoc_validation_checks = numpydoc_validation_checks 91s # Update configuration 91s update_config(app) 91s # Set up logging 91s status, warning = StringIO(), StringIO() 91s logging.setup(app, status, warning) 91s # Run mangle docstrings with the above configuration 91s > mangle_docstrings(app, "function", "f", f, None, f.__doc__.split("\n")) 91s 91s app = 91s expected_warn = ('SA01', 'EX01') 91s f = ._function_without_seealso_and_examples at 0x73e193573560> 91s non_warnings = [] 91s numpydoc_validation_checks = {'EX01', 'SA01'} 91s status = <_io.StringIO object at 0x73e1945e2980> 91s warning = <_io.StringIO object at 0x73e1945e2080> 91s 91s numpydoc/tests/test_numpydoc.py:188: 91s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 91s numpydoc/numpydoc.py:194: in mangle_docstrings 91s doc = get_doc_object( 91s app = 91s cfg = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 91s lines = ['', 'A function whose docstring has no examples or see also section.', '', 'Expect SA01 and EX01 errors if validation enabled.', ''] 91s name = 'f' 91s obj = ._function_without_seealso_and_examples at 0x73e193573560> 91s options = None 91s show_inherited_class_members = True 91s u_NL = '\n' 91s what = 'function' 91s numpydoc/docscrape_sphinx.py:417: in get_doc_object 91s template_loader.init(builder, dirs=template_dirs) 91s builder = 91s config = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 91s doc = '\nA function whose docstring has no examples or see also section.\n\nExpect SA01 and EX01 errors if validation enabled.\n' 91s obj = ._function_without_seealso_and_examples at 0x73e193573560> 91s template_dirs = ['/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates'] 91s template_loader = 91s what = 'function' 91s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 91s 91s self = 91s builder = , theme = None 91s dirs = ['/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates'] 91s 91s def init( 91s self, 91s builder: Builder, 91s theme: Theme | None = None, 91s dirs: list[str] | None = None, 91s ) -> None: 91s # create a chain of paths to search 91s if theme: 91s # the theme's own dir and its bases' dirs 91s pathchain = theme.get_theme_dirs() 91s # the loader dirs: pathchain + the parent directories for all themes 91s loaderchain = pathchain + [p.parent for p in pathchain] 91s elif dirs: 91s pathchain = list(map(_StrPath, dirs)) 91s loaderchain = list(map(_StrPath, dirs)) 91s else: 91s pathchain = [] 91s loaderchain = [] 91s 91s # prepend explicit template paths 91s self.templatepathlen = len(builder.config.templates_path) 91s if builder.config.templates_path: 91s cfg_templates_path = [ 91s builder.confdir / tp for tp in builder.config.templates_path 91s ] 91s pathchain[0:0] = cfg_templates_path 91s loaderchain[0:0] = cfg_templates_path 91s 91s # store it for use in newest_template_mtime 91s self.pathchain = pathchain 91s 91s # make the paths into loaders 91s self.loaders = [SphinxFileSystemLoader(x) for x in loaderchain] 91s 91s > use_i18n = builder._translator is not None 91s E AttributeError: 'MockBuilder' object has no attribute '_translator' 91s 91s builder = 91s dirs = ['/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates'] 91s loaderchain = [_StrPath('/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates')] 91s pathchain = [_StrPath('/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates')] 91s self = 91s theme = None 91s 91s /usr/lib/python3/dist-packages/sphinx/jinja2glue.py:201: AttributeError 91s _ test_mangle_docstring_validation_warnings[numpydoc_validation_checks2-expected_warn2-non_warnings2] _ 91s 91s f = ._function_without_seealso_and_examples at 0x73e193572ac0> 91s numpydoc_validation_checks = {'SA01'}, expected_warn = ('SA01',) 91s non_warnings = ('EX01',) 91s 91s @pytest.mark.parametrize( 91s ( 91s "numpydoc_validation_checks", 91s "expected_warn", 91s "non_warnings", 91s ), 91s ( 91s # Validation configured off - expect no warnings 91s (set(), [], []), 91s # Validation on with expected warnings 91s ({"SA01", "EX01"}, ("SA01", "EX01"), []), 91s # Validation on with only one activated check 91s ({"SA01"}, ("SA01",), ("EX01",)), 91s ), 91s ) 91s def test_mangle_docstring_validation_warnings( 91s f, 91s numpydoc_validation_checks, 91s expected_warn, 91s non_warnings, 91s ): 91s app = MockApp() 91s # Set up config for test 91s app.config.numpydoc_validation_checks = numpydoc_validation_checks 91s # Update configuration 91s update_config(app) 91s # Set up logging 91s status, warning = StringIO(), StringIO() 91s logging.setup(app, status, warning) 91s # Run mangle docstrings with the above configuration 91s > mangle_docstrings(app, "function", "f", f, None, f.__doc__.split("\n")) 91s 91s app = 91s expected_warn = ('SA01',) 91s f = ._function_without_seealso_and_examples at 0x73e193572ac0> 91s non_warnings = ('EX01',) 91s numpydoc_validation_checks = {'SA01'} 91s status = <_io.StringIO object at 0x73e193b48c40> 91s warning = <_io.StringIO object at 0x73e193b48b80> 91s 91s numpydoc/tests/test_numpydoc.py:188: 91s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 91s numpydoc/numpydoc.py:194: in mangle_docstrings 91s doc = get_doc_object( 91s app = 91s cfg = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 91s lines = ['', 'A function whose docstring has no examples or see also section.', '', 'Expect SA01 and EX01 errors if validation enabled.', ''] 91s name = 'f' 91s obj = ._function_without_seealso_and_examples at 0x73e193572ac0> 91s options = None 91s show_inherited_class_members = True 91s u_NL = '\n' 91s what = 'function' 91s numpydoc/docscrape_sphinx.py:417: in get_doc_object 91s template_loader.init(builder, dirs=template_dirs) 91s builder = 91s config = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 91s doc = '\nA function whose docstring has no examples or see also section.\n\nExpect SA01 and EX01 errors if validation enabled.\n' 91s obj = ._function_without_seealso_and_examples at 0x73e193572ac0> 91s template_dirs = ['/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates'] 91s template_loader = 91s what = 'function' 91s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 91s 91s self = 91s builder = , theme = None 91s dirs = ['/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates'] 91s 91s def init( 91s self, 91s builder: Builder, 91s theme: Theme | None = None, 91s dirs: list[str] | None = None, 91s ) -> None: 91s # create a chain of paths to search 91s if theme: 91s # the theme's own dir and its bases' dirs 91s pathchain = theme.get_theme_dirs() 91s # the loader dirs: pathchain + the parent directories for all themes 91s loaderchain = pathchain + [p.parent for p in pathchain] 91s elif dirs: 91s pathchain = list(map(_StrPath, dirs)) 91s loaderchain = list(map(_StrPath, dirs)) 91s else: 91s pathchain = [] 91s loaderchain = [] 91s 91s # prepend explicit template paths 91s self.templatepathlen = len(builder.config.templates_path) 91s if builder.config.templates_path: 91s cfg_templates_path = [ 91s builder.confdir / tp for tp in builder.config.templates_path 91s ] 91s pathchain[0:0] = cfg_templates_path 91s loaderchain[0:0] = cfg_templates_path 91s 91s # store it for use in newest_template_mtime 91s self.pathchain = pathchain 91s 91s # make the paths into loaders 91s self.loaders = [SphinxFileSystemLoader(x) for x in loaderchain] 91s 91s > use_i18n = builder._translator is not None 91s E AttributeError: 'MockBuilder' object has no attribute '_translator' 91s 91s builder = 91s dirs = ['/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates'] 91s loaderchain = [_StrPath('/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates')] 91s pathchain = [_StrPath('/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates')] 91s self = 91s theme = None 91s 91s /usr/lib/python3/dist-packages/sphinx/jinja2glue.py:201: AttributeError 91s ___________________ test_mangle_docstring_validation_exclude ___________________ 91s 91s def test_mangle_docstring_validation_exclude(): 91s def function_with_bad_docstring(): 91s """ 91s This docstring will raise docstring validation warnings.""" 91s 91s app = MockApp() 91s app.config.numpydoc_validation_checks = {"all"} 91s app.config.numpydoc_validation_exclude = [r"_bad_"] 91s # Call update_config to construct regexp from config value 91s update_config(app) 91s # Setup for catching warnings 91s status, warning = StringIO(), StringIO() 91s logging.setup(app, status, warning) 91s # Run mangle docstrings on function_with_bad_docstring 91s > mangle_docstrings( 91s app, 91s "function", 91s function_with_bad_docstring.__name__, 91s function_with_bad_docstring, 91s None, 91s function_with_bad_docstring.__doc__.split("\n"), 91s ) 91s 91s app = 91s function_with_bad_docstring = .function_with_bad_docstring at 0x73e194581c60> 91s status = <_io.StringIO object at 0x73e193b48400> 91s warning = <_io.StringIO object at 0x73e193b48340> 91s 91s numpydoc/tests/test_numpydoc.py:211: 91s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 91s numpydoc/numpydoc.py:194: in mangle_docstrings 91s doc = get_doc_object( 91s app = 91s cfg = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 91s lines = ['', 'This docstring will raise docstring validation warnings.'] 91s name = 'function_with_bad_docstring' 91s obj = .function_with_bad_docstring at 0x73e194581c60> 91s options = None 91s show_inherited_class_members = True 91s u_NL = '\n' 91s what = 'function' 91s numpydoc/docscrape_sphinx.py:417: in get_doc_object 91s template_loader.init(builder, dirs=template_dirs) 91s builder = 91s config = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 91s doc = '\nThis docstring will raise docstring validation warnings.' 91s obj = .function_with_bad_docstring at 0x73e194581c60> 91s template_dirs = ['/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates'] 91s template_loader = 91s what = 'function' 91s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 91s 91s self = 91s builder = , theme = None 91s dirs = ['/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates'] 91s 91s def init( 91s self, 91s builder: Builder, 91s theme: Theme | None = None, 91s dirs: list[str] | None = None, 91s ) -> None: 91s # create a chain of paths to search 91s if theme: 91s # the theme's own dir and its bases' dirs 91s pathchain = theme.get_theme_dirs() 91s # the loader dirs: pathchain + the parent directories for all themes 91s loaderchain = pathchain + [p.parent for p in pathchain] 91s elif dirs: 91s pathchain = list(map(_StrPath, dirs)) 91s loaderchain = list(map(_StrPath, dirs)) 91s else: 91s pathchain = [] 91s loaderchain = [] 91s 91s # prepend explicit template paths 91s self.templatepathlen = len(builder.config.templates_path) 91s if builder.config.templates_path: 91s cfg_templates_path = [ 91s builder.confdir / tp for tp in builder.config.templates_path 91s ] 91s pathchain[0:0] = cfg_templates_path 91s loaderchain[0:0] = cfg_templates_path 91s 91s # store it for use in newest_template_mtime 91s self.pathchain = pathchain 91s 91s # make the paths into loaders 91s self.loaders = [SphinxFileSystemLoader(x) for x in loaderchain] 91s 91s > use_i18n = builder._translator is not None 91s E AttributeError: 'MockBuilder' object has no attribute '_translator' 91s 91s builder = 91s dirs = ['/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates'] 91s loaderchain = [_StrPath('/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates')] 91s pathchain = [_StrPath('/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates')] 91s self = 91s theme = None 91s 91s /usr/lib/python3/dist-packages/sphinx/jinja2glue.py:201: AttributeError 91s _________________ test_mangle_docstrings_overrides[overrides0] _________________ 91s 91s overrides = {} 91s 91s @pytest.mark.parametrize("overrides", [{}, {"SS02"}, {"SS02", "SS03"}]) 91s def test_mangle_docstrings_overrides(overrides): 91s def process_something_noop_function(): 91s """Process something.""" 91s 91s app = MockApp() 91s app.config.numpydoc_validation_checks = {"all"} 91s app.config.numpydoc_validation_overrides = { 91s check: [r"^Process "] # overrides are regex on docstring content 91s for check in overrides 91s } 91s update_config(app) 91s 91s # Setup for catching warnings 91s status, warning = StringIO(), StringIO() 91s logging.setup(app, status, warning) 91s 91s # Run mangle docstrings on process_something_noop_function 91s > mangle_docstrings( 91s app, 91s "function", 91s process_something_noop_function.__name__, 91s process_something_noop_function, 91s None, 91s process_something_noop_function.__doc__.split("\n"), 91s ) 91s 91s app = 91s overrides = {} 91s process_something_noop_function = .process_something_noop_function at 0x73e1945afd80> 91s status = <_io.StringIO object at 0x73e193b48a00> 91s warning = <_io.StringIO object at 0x73e193b48040> 91s 91s numpydoc/tests/test_numpydoc.py:242: 91s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 91s numpydoc/numpydoc.py:194: in mangle_docstrings 91s doc = get_doc_object( 91s app = 91s cfg = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 91s lines = ['Process something.'] 91s name = 'process_something_noop_function' 91s obj = .process_something_noop_function at 0x73e1945afd80> 91s options = None 91s show_inherited_class_members = True 91s u_NL = '\n' 91s what = 'function' 91s numpydoc/docscrape_sphinx.py:417: in get_doc_object 91s template_loader.init(builder, dirs=template_dirs) 91s builder = 91s config = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 91s doc = 'Process something.' 91s obj = .process_something_noop_function at 0x73e1945afd80> 91s template_dirs = ['/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates'] 91s template_loader = 91s what = 'function' 91s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 91s 91s self = 91s builder = , theme = None 91s dirs = ['/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates'] 91s 91s def init( 91s self, 91s builder: Builder, 91s theme: Theme | None = None, 91s dirs: list[str] | None = None, 91s ) -> None: 91s # create a chain of paths to search 91s if theme: 91s # the theme's own dir and its bases' dirs 91s pathchain = theme.get_theme_dirs() 91s # the loader dirs: pathchain + the parent directories for all themes 91s loaderchain = pathchain + [p.parent for p in pathchain] 91s elif dirs: 91s pathchain = list(map(_StrPath, dirs)) 91s loaderchain = list(map(_StrPath, dirs)) 91s else: 91s pathchain = [] 91s loaderchain = [] 91s 91s # prepend explicit template paths 91s self.templatepathlen = len(builder.config.templates_path) 91s if builder.config.templates_path: 91s cfg_templates_path = [ 91s builder.confdir / tp for tp in builder.config.templates_path 91s ] 91s pathchain[0:0] = cfg_templates_path 91s loaderchain[0:0] = cfg_templates_path 91s 91s # store it for use in newest_template_mtime 91s self.pathchain = pathchain 91s 91s # make the paths into loaders 91s self.loaders = [SphinxFileSystemLoader(x) for x in loaderchain] 91s 91s > use_i18n = builder._translator is not None 91s E AttributeError: 'MockBuilder' object has no attribute '_translator' 91s 91s builder = 91s dirs = ['/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates'] 91s loaderchain = [_StrPath('/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates')] 91s pathchain = [_StrPath('/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates')] 91s self = 91s theme = None 91s 91s /usr/lib/python3/dist-packages/sphinx/jinja2glue.py:201: AttributeError 91s _________________ test_mangle_docstrings_overrides[overrides1] _________________ 91s 91s overrides = {'SS02'} 91s 91s @pytest.mark.parametrize("overrides", [{}, {"SS02"}, {"SS02", "SS03"}]) 91s def test_mangle_docstrings_overrides(overrides): 91s def process_something_noop_function(): 91s """Process something.""" 91s 91s app = MockApp() 91s app.config.numpydoc_validation_checks = {"all"} 91s app.config.numpydoc_validation_overrides = { 91s check: [r"^Process "] # overrides are regex on docstring content 91s for check in overrides 91s } 91s update_config(app) 91s 91s # Setup for catching warnings 91s status, warning = StringIO(), StringIO() 91s logging.setup(app, status, warning) 91s 91s # Run mangle docstrings on process_something_noop_function 91s > mangle_docstrings( 91s app, 91s "function", 91s process_something_noop_function.__name__, 91s process_something_noop_function, 91s None, 91s process_something_noop_function.__doc__.split("\n"), 91s ) 91s 91s app = 91s overrides = {'SS02'} 91s process_something_noop_function = .process_something_noop_function at 0x73e193b79e40> 91s status = <_io.StringIO object at 0x73e193b49b40> 91s warning = <_io.StringIO object at 0x73e193b49c00> 91s 91s numpydoc/tests/test_numpydoc.py:242: 91s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 91s numpydoc/numpydoc.py:194: in mangle_docstrings 91s doc = get_doc_object( 91s app = 91s cfg = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 91s lines = ['Process something.'] 91s name = 'process_something_noop_function' 91s obj = .process_something_noop_function at 0x73e193b79e40> 91s options = None 91s show_inherited_class_members = True 91s u_NL = '\n' 91s what = 'function' 91s numpydoc/docscrape_sphinx.py:417: in get_doc_object 91s template_loader.init(builder, dirs=template_dirs) 91s builder = 91s config = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 91s doc = 'Process something.' 91s obj = .process_something_noop_function at 0x73e193b79e40> 91s template_dirs = ['/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates'] 91s template_loader = 91s what = 'function' 91s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 91s 91s self = 91s builder = , theme = None 91s dirs = ['/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates'] 91s 91s def init( 91s self, 91s builder: Builder, 91s theme: Theme | None = None, 91s dirs: list[str] | None = None, 91s ) -> None: 91s # create a chain of paths to search 91s if theme: 91s # the theme's own dir and its bases' dirs 91s pathchain = theme.get_theme_dirs() 91s # the loader dirs: pathchain + the parent directories for all themes 91s loaderchain = pathchain + [p.parent for p in pathchain] 91s elif dirs: 91s pathchain = list(map(_StrPath, dirs)) 91s loaderchain = list(map(_StrPath, dirs)) 91s else: 91s pathchain = [] 91s loaderchain = [] 91s 91s # prepend explicit template paths 91s self.templatepathlen = len(builder.config.templates_path) 91s if builder.config.templates_path: 91s cfg_templates_path = [ 91s builder.confdir / tp for tp in builder.config.templates_path 91s ] 91s pathchain[0:0] = cfg_templates_path 91s loaderchain[0:0] = cfg_templates_path 91s 91s # store it for use in newest_template_mtime 91s self.pathchain = pathchain 91s 91s # make the paths into loaders 91s self.loaders = [SphinxFileSystemLoader(x) for x in loaderchain] 91s 91s > use_i18n = builder._translator is not None 91s E AttributeError: 'MockBuilder' object has no attribute '_translator' 91s 91s builder = 91s dirs = ['/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates'] 91s loaderchain = [_StrPath('/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates')] 91s pathchain = [_StrPath('/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates')] 91s self = 91s theme = None 91s 91s /usr/lib/python3/dist-packages/sphinx/jinja2glue.py:201: AttributeError 91s _________________ test_mangle_docstrings_overrides[overrides2] _________________ 91s 91s overrides = {'SS02', 'SS03'} 91s 91s @pytest.mark.parametrize("overrides", [{}, {"SS02"}, {"SS02", "SS03"}]) 91s def test_mangle_docstrings_overrides(overrides): 91s def process_something_noop_function(): 91s """Process something.""" 91s 91s app = MockApp() 91s app.config.numpydoc_validation_checks = {"all"} 91s app.config.numpydoc_validation_overrides = { 91s check: [r"^Process "] # overrides are regex on docstring content 91s for check in overrides 91s } 91s update_config(app) 91s 91s # Setup for catching warnings 91s status, warning = StringIO(), StringIO() 91s logging.setup(app, status, warning) 91s 91s # Run mangle docstrings on process_something_noop_function 91s > mangle_docstrings( 91s app, 91s "function", 91s process_something_noop_function.__name__, 91s process_something_noop_function, 91s None, 91s process_something_noop_function.__doc__.split("\n"), 91s ) 91s 91s app = 91s overrides = {'SS02', 'SS03'} 91s process_something_noop_function = .process_something_noop_function at 0x73e193b799e0> 91s status = <_io.StringIO object at 0x73e193b4a200> 91s warning = <_io.StringIO object at 0x73e193b4a2c0> 91s 91s numpydoc/tests/test_numpydoc.py:242: 91s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 91s numpydoc/numpydoc.py:194: in mangle_docstrings 91s doc = get_doc_object( 91s app = 91s cfg = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 91s lines = ['Process something.'] 91s name = 'process_something_noop_function' 91s obj = .process_something_noop_function at 0x73e193b799e0> 91s options = None 91s show_inherited_class_members = True 91s u_NL = '\n' 91s what = 'function' 91s numpydoc/docscrape_sphinx.py:417: in get_doc_object 91s template_loader.init(builder, dirs=template_dirs) 91s builder = 91s config = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 91s doc = 'Process something.' 91s obj = .process_something_noop_function at 0x73e193b799e0> 91s template_dirs = ['/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates'] 91s template_loader = 91s what = 'function' 91s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 91s 91s self = 91s builder = , theme = None 91s dirs = ['/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates'] 91s 91s def init( 91s self, 91s builder: Builder, 91s theme: Theme | None = None, 91s dirs: list[str] | None = None, 91s ) -> None: 91s # create a chain of paths to search 91s if theme: 91s # the theme's own dir and its bases' dirs 91s pathchain = theme.get_theme_dirs() 91s # the loader dirs: pathchain + the parent directories for all themes 91s loaderchain = pathchain + [p.parent for p in pathchain] 91s elif dirs: 91s pathchain = list(map(_StrPath, dirs)) 91s loaderchain = list(map(_StrPath, dirs)) 91s else: 91s pathchain = [] 91s loaderchain = [] 91s 91s # prepend explicit template paths 91s self.templatepathlen = len(builder.config.templates_path) 91s if builder.config.templates_path: 91s cfg_templates_path = [ 91s builder.confdir / tp for tp in builder.config.templates_path 91s ] 91s pathchain[0:0] = cfg_templates_path 91s loaderchain[0:0] = cfg_templates_path 91s 91s # store it for use in newest_template_mtime 91s self.pathchain = pathchain 91s 91s # make the paths into loaders 91s self.loaders = [SphinxFileSystemLoader(x) for x in loaderchain] 91s 91s > use_i18n = builder._translator is not None 91s E AttributeError: 'MockBuilder' object has no attribute '_translator' 91s 91s builder = 91s dirs = ['/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates'] 91s loaderchain = [_StrPath('/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates')] 91s pathchain = [_StrPath('/tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/templates')] 91s self = 91s theme = None 91s 91s /usr/lib/python3/dist-packages/sphinx/jinja2glue.py:201: AttributeError 91s =============================== warnings summary =============================== 91s numpydoc/tests/test_docscrape.py: 17 warnings 91s /tmp/autopkgtest.AnkQUA/build.9Oj/src/numpydoc/docscrape_sphinx.py:163: DeprecationWarning: 'maxsplit' is passed as positional argument 91s desc = re.split(r"\n\s*\n", obj_doc.strip(), 1)[0] 91s 91s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 91s - generated xml file: /tmp/autopkgtest.AnkQUA/build.9Oj/src/junit-results.xml -- 91s =========================== short test summary info ============================ 91s FAILED numpydoc/tests/test_numpydoc.py::test_mangle_docstrings_basic - Attrib... 91s FAILED numpydoc/tests/test_numpydoc.py::test_mangle_docstrings_inherited_class_members 91s FAILED numpydoc/tests/test_numpydoc.py::test_mangle_docstring_validation_warnings[numpydoc_validation_checks0-expected_warn0-non_warnings0] 91s FAILED numpydoc/tests/test_numpydoc.py::test_mangle_docstring_validation_warnings[numpydoc_validation_checks1-expected_warn1-non_warnings1] 91s FAILED numpydoc/tests/test_numpydoc.py::test_mangle_docstring_validation_warnings[numpydoc_validation_checks2-expected_warn2-non_warnings2] 91s FAILED numpydoc/tests/test_numpydoc.py::test_mangle_docstring_validation_exclude 91s FAILED numpydoc/tests/test_numpydoc.py::test_mangle_docstrings_overrides[overrides0] 91s FAILED numpydoc/tests/test_numpydoc.py::test_mangle_docstrings_overrides[overrides1] 91s FAILED numpydoc/tests/test_numpydoc.py::test_mangle_docstrings_overrides[overrides2] 91s ============ 9 failed, 284 passed, 2 xfailed, 17 warnings in 2.07s ============= 91s autopkgtest [07:46:08]: test command1: -----------------------] 92s command1 FAIL non-zero exit status 1 92s autopkgtest [07:46:09]: test command1: - - - - - - - - - - results - - - - - - - - - - 92s autopkgtest [07:46:09]: @@@@@@@@@@@@@@@@@@@@ summary 92s command1 FAIL non-zero exit status 1 96s nova [W] Skipping flock for amd64 96s Creating nova instance adt-questing-amd64-numpydoc-20250506-074437-juju-7f2275-prod-proposed-migration-environment-23-3d8f1d3b-3bff-4159-9277-d094f92a77c9 from image adt/ubuntu-questing-amd64-server-20250506.img (UUID cb061278-8f5e-47a1-be24-4f5e6435dc1a)... 96s nova [W] Timed out waiting for 5b4fe155-a9d7-4251-aec3-dc81b92c32dd to get deleted.