0s autopkgtest [11:45:08]: starting date and time: 2025-05-06 11:45:08+0000 0s autopkgtest [11:45:08]: git checkout: 9986aa8c Merge branch 'skia/fix_network_interface' into 'ubuntu/production' 0s autopkgtest [11:45:08]: host juju-7f2275-prod-proposed-migration-environment-15; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.npl6i1_z/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-s390x --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-15@sto01-s390x-9.secgroup --name adt-questing-s390x-numpydoc-20250506-114508-juju-7f2275-prod-proposed-migration-environment-15-3963810b-e915-411f-987f-c7dafa110e74 --image adt/ubuntu-questing-s390x-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-15 --net-id=net_prod-autopkgtest-workers-s390x -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 129s autopkgtest [11:47:17]: testbed dpkg architecture: s390x 129s autopkgtest [11:47:17]: testbed apt version: 3.0.0 129s autopkgtest [11:47:17]: @@@@@@@@@@@@@@@@@@@@ test bed setup 129s autopkgtest [11:47:17]: testbed release detected to be: None 130s autopkgtest [11:47:18]: updating testbed package index (apt update) 130s Get:1 http://ftpmaster.internal/ubuntu questing-proposed InRelease [110 kB] 130s Hit:2 http://ftpmaster.internal/ubuntu questing InRelease 131s Hit:3 http://ftpmaster.internal/ubuntu questing-updates InRelease 131s Hit:4 http://ftpmaster.internal/ubuntu questing-security InRelease 131s Get:5 http://ftpmaster.internal/ubuntu questing-proposed/universe Sources [595 kB] 131s Get:6 http://ftpmaster.internal/ubuntu questing-proposed/multiverse Sources [27.3 kB] 131s Get:7 http://ftpmaster.internal/ubuntu questing-proposed/main Sources [72.4 kB] 131s Get:8 http://ftpmaster.internal/ubuntu questing-proposed/main s390x Packages [136 kB] 131s Get:9 http://ftpmaster.internal/ubuntu questing-proposed/universe s390x Packages [612 kB] 131s Get:10 http://ftpmaster.internal/ubuntu questing-proposed/multiverse s390x Packages [15.0 kB] 133s Fetched 1567 kB in 2s (699 kB/s) 138s Reading package lists... 139s autopkgtest [11:47:27]: upgrading testbed (apt dist-upgrade and autopurge) 140s Reading package lists... 141s Building dependency tree... 141s Reading state information... 143s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 143s Starting 2 pkgProblemResolver with broken count: 0 143s Done 145s Entering ResolveByKeep 146s 147s Calculating upgrade... 147s The following packages will be upgraded: 147s libperl5.40 perl perl-base perl-modules-5.40 python3-dbus 148s 5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 148s Need to get 10.5 MB of archives. 148s After this operation, 3072 B of additional disk space will be used. 148s Get:1 http://ftpmaster.internal/ubuntu questing/main s390x libperl5.40 s390x 5.40.1-3 [4972 kB] 148s Get:2 http://ftpmaster.internal/ubuntu questing/main s390x perl s390x 5.40.1-3 [262 kB] 148s Get:3 http://ftpmaster.internal/ubuntu questing/main s390x perl-base s390x 5.40.1-3 [1954 kB] 148s Get:4 http://ftpmaster.internal/ubuntu questing/main s390x perl-modules-5.40 all 5.40.1-3 [3217 kB] 149s Get:5 http://ftpmaster.internal/ubuntu questing/main s390x python3-dbus s390x 1.4.0-1 [102 kB] 150s Fetched 10.5 MB in 1s (7364 kB/s) 152s (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 ... 59837 files and directories currently installed.) 152s Preparing to unpack .../libperl5.40_5.40.1-3_s390x.deb ... 152s Unpacking libperl5.40:s390x (5.40.1-3) over (5.40.1-2ubuntu0.1) ... 153s Preparing to unpack .../perl_5.40.1-3_s390x.deb ... 153s Unpacking perl (5.40.1-3) over (5.40.1-2ubuntu0.1) ... 153s Preparing to unpack .../perl-base_5.40.1-3_s390x.deb ... 153s Unpacking perl-base (5.40.1-3) over (5.40.1-2ubuntu0.1) ... 154s Setting up perl-base (5.40.1-3) ... 154s (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 ... 59837 files and directories currently installed.) 154s Preparing to unpack .../perl-modules-5.40_5.40.1-3_all.deb ... 154s Unpacking perl-modules-5.40 (5.40.1-3) over (5.40.1-2ubuntu0.1) ... 157s Preparing to unpack .../python3-dbus_1.4.0-1_s390x.deb ... 157s Unpacking python3-dbus (1.4.0-1) over (1.3.2-5build5) ... 157s Setting up python3-dbus (1.4.0-1) ... 158s Setting up perl-modules-5.40 (5.40.1-3) ... 158s Setting up libperl5.40:s390x (5.40.1-3) ... 158s Setting up perl (5.40.1-3) ... 158s Processing triggers for man-db (2.13.1-1) ... 160s Processing triggers for libc-bin (2.41-6ubuntu1) ... 162s Reading package lists... 163s Building dependency tree... 163s Reading state information... 165s Starting pkgProblemResolver with broken count: 0 165s Starting 2 pkgProblemResolver with broken count: 0 165s Done 165s Solving dependencies... 166s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 170s autopkgtest [11:47:58]: testbed running kernel: Linux 6.14.0-15-generic #15-Ubuntu SMP Sun Apr 6 13:39:00 UTC 2025 170s autopkgtest [11:47:58]: @@@@@@@@@@@@@@@@@@@@ apt-source numpydoc 174s Get:1 http://ftpmaster.internal/ubuntu questing/universe numpydoc 1.8.0-1 (dsc) [2370 B] 174s Get:2 http://ftpmaster.internal/ubuntu questing/universe numpydoc 1.8.0-1 (tar) [90.4 kB] 174s Get:3 http://ftpmaster.internal/ubuntu questing/universe numpydoc 1.8.0-1 (diff) [5120 B] 175s gpgv: Signature made Mon Nov 25 22:56:09 2024 UTC 175s gpgv: using RSA key 8F6DE104377F3B11E741748731F3144544A1741A 175s gpgv: issuer "tchet@debian.org" 175s gpgv: Can't check signature: No public key 175s dpkg-source: warning: cannot verify inline signature for ./numpydoc_1.8.0-1.dsc: no acceptable signature found 176s autopkgtest [11:48:04]: testing package numpydoc version 1.8.0-1 176s autopkgtest [11:48:04]: build not needed 177s autopkgtest [11:48:05]: test command1: preparing testbed 177s Reading package lists... 178s Building dependency tree... 178s Reading state information... 180s Starting pkgProblemResolver with broken count: 0 180s Starting 2 pkgProblemResolver with broken count: 0 180s Done 182s The following NEW packages will be installed: 182s docutils-common libjs-jquery libjs-jquery-hotkeys libjs-jquery-isonscreen 182s libjs-jquery-metadata libjs-jquery-tablesorter 182s libjs-jquery-throttle-debounce libjs-sphinxdoc libjs-underscore libjson-perl 182s python3-alabaster python3-all python3-bs4 python3-coverage 182s python3-defusedxml python3-doc python3-docutils python3-imagesize 182s python3-iniconfig python3-numpydoc python3-pluggy python3-pytest 182s python3-pytest-cov python3-roman python3-roman-numerals 182s python3-snowballstemmer python3-soupsieve python3-sphinx python3-tabulate 182s python3.13-doc sgml-base sphinx-common xml-core 182s 0 upgraded, 33 newly installed, 0 to remove and 0 not upgraded. 182s Need to get 17.6 MB of archives. 182s After this operation, 90.6 MB of additional disk space will be used. 182s Get:1 http://ftpmaster.internal/ubuntu questing/main s390x sgml-base all 1.31+nmu1 [11.0 kB] 182s Get:2 http://ftpmaster.internal/ubuntu questing/main s390x xml-core all 0.19 [20.3 kB] 182s Get:3 http://ftpmaster.internal/ubuntu questing/main s390x docutils-common all 0.21.2+dfsg-2 [131 kB] 182s Get:4 http://ftpmaster.internal/ubuntu questing/main s390x libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 183s Get:5 http://ftpmaster.internal/ubuntu questing/universe s390x libjs-jquery-metadata all 12-4 [6582 B] 183s Get:6 http://ftpmaster.internal/ubuntu questing/universe s390x libjs-jquery-tablesorter all 1:2.31.3+dfsg1-4 [192 kB] 183s Get:7 http://ftpmaster.internal/ubuntu questing/universe s390x libjs-jquery-throttle-debounce all 1.1+dfsg.1-2 [12.5 kB] 183s Get:8 http://ftpmaster.internal/ubuntu questing/main s390x libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 183s Get:9 http://ftpmaster.internal/ubuntu questing-proposed/main s390x libjs-sphinxdoc all 8.2.3-1 [27.8 kB] 183s Get:10 http://ftpmaster.internal/ubuntu questing/main s390x libjson-perl all 4.10000-1 [81.9 kB] 183s Get:11 http://ftpmaster.internal/ubuntu questing/main s390x python3-all s390x 3.13.3-1 [882 B] 183s Get:12 http://ftpmaster.internal/ubuntu questing/main s390x python3-soupsieve all 2.7-1 [33.5 kB] 183s Get:13 http://ftpmaster.internal/ubuntu questing/main s390x python3-bs4 all 4.13.4-1 [137 kB] 183s Get:14 http://ftpmaster.internal/ubuntu questing/universe s390x python3-coverage s390x 7.6.0+dfsg1-2build1 [153 kB] 183s Get:15 http://ftpmaster.internal/ubuntu questing/main s390x python3-defusedxml all 0.7.1-3 [42.2 kB] 183s Get:16 http://ftpmaster.internal/ubuntu questing/main s390x python3.13-doc all 3.13.3-1 [14.2 MB] 191s Get:17 http://ftpmaster.internal/ubuntu questing/main s390x python3-doc all 3.13.3-1 [10.7 kB] 191s Get:18 http://ftpmaster.internal/ubuntu questing/main s390x python3-roman all 5.0-1 [10.3 kB] 191s Get:19 http://ftpmaster.internal/ubuntu questing/main s390x python3-docutils all 0.21.2+dfsg-2 [409 kB] 191s Get:20 http://ftpmaster.internal/ubuntu questing/main s390x python3-imagesize all 1.4.1-1 [6844 B] 191s Get:21 http://ftpmaster.internal/ubuntu questing/universe s390x python3-iniconfig all 1.1.1-2 [6024 B] 191s Get:22 http://ftpmaster.internal/ubuntu questing-proposed/main s390x sphinx-common all 8.2.3-1 [656 kB] 191s Get:23 http://ftpmaster.internal/ubuntu questing/main s390x python3-alabaster all 0.7.16-0.1 [18.5 kB] 191s Get:24 http://ftpmaster.internal/ubuntu questing/universe s390x python3-roman-numerals all 3.1.0-1ubuntu1 [8432 B] 191s Get:25 http://ftpmaster.internal/ubuntu questing/main s390x python3-snowballstemmer all 2.2.0-4build1 [59.8 kB] 191s Get:26 http://ftpmaster.internal/ubuntu questing-proposed/main s390x python3-sphinx all 8.2.3-1 [482 kB] 191s Get:27 http://ftpmaster.internal/ubuntu questing/main s390x python3-tabulate all 0.9.0-1 [45.3 kB] 191s Get:28 http://ftpmaster.internal/ubuntu questing/universe s390x python3-numpydoc all 1.8.0-1 [52.4 kB] 191s Get:29 http://ftpmaster.internal/ubuntu questing/universe s390x python3-pluggy all 1.5.0-1 [21.0 kB] 191s Get:30 http://ftpmaster.internal/ubuntu questing/universe s390x python3-pytest all 8.3.5-1 [252 kB] 191s Get:31 http://ftpmaster.internal/ubuntu questing/universe s390x libjs-jquery-hotkeys all 0.2.0-1 [13.3 kB] 191s Get:32 http://ftpmaster.internal/ubuntu questing/universe s390x libjs-jquery-isonscreen all 1.2.0-1.1 [3244 B] 191s Get:33 http://ftpmaster.internal/ubuntu questing/universe s390x python3-pytest-cov all 5.0.0-1 [21.3 kB] 193s Fetched 17.6 MB in 9s (2014 kB/s) 193s Selecting previously unselected package sgml-base. 193s (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 ... 59837 files and directories currently installed.) 193s Preparing to unpack .../00-sgml-base_1.31+nmu1_all.deb ... 193s Unpacking sgml-base (1.31+nmu1) ... 194s Selecting previously unselected package xml-core. 195s Preparing to unpack .../01-xml-core_0.19_all.deb ... 195s Unpacking xml-core (0.19) ... 195s Selecting previously unselected package docutils-common. 195s Preparing to unpack .../02-docutils-common_0.21.2+dfsg-2_all.deb ... 195s Unpacking docutils-common (0.21.2+dfsg-2) ... 195s Selecting previously unselected package libjs-jquery. 195s Preparing to unpack .../03-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 195s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 195s Selecting previously unselected package libjs-jquery-metadata. 195s Preparing to unpack .../04-libjs-jquery-metadata_12-4_all.deb ... 195s Unpacking libjs-jquery-metadata (12-4) ... 195s Selecting previously unselected package libjs-jquery-tablesorter. 195s Preparing to unpack .../05-libjs-jquery-tablesorter_1%3a2.31.3+dfsg1-4_all.deb ... 195s Unpacking libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 195s Selecting previously unselected package libjs-jquery-throttle-debounce. 195s Preparing to unpack .../06-libjs-jquery-throttle-debounce_1.1+dfsg.1-2_all.deb ... 195s Unpacking libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 195s Selecting previously unselected package libjs-underscore. 195s Preparing to unpack .../07-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 195s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 195s Selecting previously unselected package libjs-sphinxdoc. 195s Preparing to unpack .../08-libjs-sphinxdoc_8.2.3-1_all.deb ... 195s Unpacking libjs-sphinxdoc (8.2.3-1) ... 195s Selecting previously unselected package libjson-perl. 195s Preparing to unpack .../09-libjson-perl_4.10000-1_all.deb ... 195s Unpacking libjson-perl (4.10000-1) ... 195s Selecting previously unselected package python3-all. 195s Preparing to unpack .../10-python3-all_3.13.3-1_s390x.deb ... 195s Unpacking python3-all (3.13.3-1) ... 195s Selecting previously unselected package python3-soupsieve. 195s Preparing to unpack .../11-python3-soupsieve_2.7-1_all.deb ... 195s Unpacking python3-soupsieve (2.7-1) ... 195s Selecting previously unselected package python3-bs4. 195s Preparing to unpack .../12-python3-bs4_4.13.4-1_all.deb ... 195s Unpacking python3-bs4 (4.13.4-1) ... 196s Selecting previously unselected package python3-coverage. 196s Preparing to unpack .../13-python3-coverage_7.6.0+dfsg1-2build1_s390x.deb ... 196s Unpacking python3-coverage (7.6.0+dfsg1-2build1) ... 196s Selecting previously unselected package python3-defusedxml. 196s Preparing to unpack .../14-python3-defusedxml_0.7.1-3_all.deb ... 196s Unpacking python3-defusedxml (0.7.1-3) ... 196s Selecting previously unselected package python3.13-doc. 196s Preparing to unpack .../15-python3.13-doc_3.13.3-1_all.deb ... 196s Unpacking python3.13-doc (3.13.3-1) ... 202s Selecting previously unselected package python3-doc. 202s Preparing to unpack .../16-python3-doc_3.13.3-1_all.deb ... 202s Unpacking python3-doc (3.13.3-1) ... 202s Selecting previously unselected package python3-roman. 202s Preparing to unpack .../17-python3-roman_5.0-1_all.deb ... 202s Unpacking python3-roman (5.0-1) ... 202s Selecting previously unselected package python3-docutils. 202s Preparing to unpack .../18-python3-docutils_0.21.2+dfsg-2_all.deb ... 202s Unpacking python3-docutils (0.21.2+dfsg-2) ... 203s Selecting previously unselected package python3-imagesize. 203s Preparing to unpack .../19-python3-imagesize_1.4.1-1_all.deb ... 203s Unpacking python3-imagesize (1.4.1-1) ... 203s Selecting previously unselected package python3-iniconfig. 203s Preparing to unpack .../20-python3-iniconfig_1.1.1-2_all.deb ... 203s Unpacking python3-iniconfig (1.1.1-2) ... 203s Selecting previously unselected package sphinx-common. 203s Preparing to unpack .../21-sphinx-common_8.2.3-1_all.deb ... 203s Unpacking sphinx-common (8.2.3-1) ... 204s Selecting previously unselected package python3-alabaster. 204s Preparing to unpack .../22-python3-alabaster_0.7.16-0.1_all.deb ... 204s Unpacking python3-alabaster (0.7.16-0.1) ... 204s Selecting previously unselected package python3-roman-numerals. 204s Preparing to unpack .../23-python3-roman-numerals_3.1.0-1ubuntu1_all.deb ... 204s Unpacking python3-roman-numerals (3.1.0-1ubuntu1) ... 204s Selecting previously unselected package python3-snowballstemmer. 204s Preparing to unpack .../24-python3-snowballstemmer_2.2.0-4build1_all.deb ... 204s Unpacking python3-snowballstemmer (2.2.0-4build1) ... 205s Selecting previously unselected package python3-sphinx. 205s Preparing to unpack .../25-python3-sphinx_8.2.3-1_all.deb ... 205s Unpacking python3-sphinx (8.2.3-1) ... 205s Selecting previously unselected package python3-tabulate. 205s Preparing to unpack .../26-python3-tabulate_0.9.0-1_all.deb ... 205s Unpacking python3-tabulate (0.9.0-1) ... 205s Selecting previously unselected package python3-numpydoc. 205s Preparing to unpack .../27-python3-numpydoc_1.8.0-1_all.deb ... 205s Unpacking python3-numpydoc (1.8.0-1) ... 206s Selecting previously unselected package python3-pluggy. 206s Preparing to unpack .../28-python3-pluggy_1.5.0-1_all.deb ... 206s Unpacking python3-pluggy (1.5.0-1) ... 206s Selecting previously unselected package python3-pytest. 206s Preparing to unpack .../29-python3-pytest_8.3.5-1_all.deb ... 206s Unpacking python3-pytest (8.3.5-1) ... 206s Selecting previously unselected package libjs-jquery-hotkeys. 206s Preparing to unpack .../30-libjs-jquery-hotkeys_0.2.0-1_all.deb ... 206s Unpacking libjs-jquery-hotkeys (0.2.0-1) ... 206s Selecting previously unselected package libjs-jquery-isonscreen. 206s Preparing to unpack .../31-libjs-jquery-isonscreen_1.2.0-1.1_all.deb ... 206s Unpacking libjs-jquery-isonscreen (1.2.0-1.1) ... 206s Selecting previously unselected package python3-pytest-cov. 206s Preparing to unpack .../32-python3-pytest-cov_5.0.0-1_all.deb ... 206s Unpacking python3-pytest-cov (5.0.0-1) ... 207s Setting up python3-iniconfig (1.1.1-2) ... 208s Setting up python3-defusedxml (0.7.1-3) ... 208s Setting up python3-alabaster (0.7.16-0.1) ... 208s Setting up python3-tabulate (0.9.0-1) ... 209s Setting up python3-all (3.13.3-1) ... 209s Setting up python3-coverage (7.6.0+dfsg1-2build1) ... 211s Setting up libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 211s Setting up python3-roman (5.0-1) ... 211s Setting up python3-snowballstemmer (2.2.0-4build1) ... 212s Setting up python3-pluggy (1.5.0-1) ... 212s Setting up libjson-perl (4.10000-1) ... 212s Setting up python3-roman-numerals (3.1.0-1ubuntu1) ... 212s Setting up sgml-base (1.31+nmu1) ... 213s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 213s Setting up libjs-jquery-hotkeys (0.2.0-1) ... 213s Setting up python3-soupsieve (2.7-1) ... 214s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 214s Setting up python3-imagesize (1.4.1-1) ... 215s Setting up python3-pytest (8.3.5-1) ... 217s Setting up python3-bs4 (4.13.4-1) ... 219s Setting up python3.13-doc (3.13.3-1) ... 219s Setting up libjs-jquery-metadata (12-4) ... 219s Setting up libjs-jquery-isonscreen (1.2.0-1.1) ... 219s Setting up libjs-sphinxdoc (8.2.3-1) ... 219s Setting up libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 219s Setting up xml-core (0.19) ... 220s Setting up python3-doc (3.13.3-1) ... 220s Setting up python3-pytest-cov (5.0.0-1) ... 222s Setting up sphinx-common (8.2.3-1) ... 222s Processing triggers for install-info (7.1.1-1) ... 224s Processing triggers for man-db (2.13.1-1) ... 229s Processing triggers for sgml-base (1.31+nmu1) ... 229s Setting up docutils-common (0.21.2+dfsg-2) ... 229s Processing triggers for sgml-base (1.31+nmu1) ... 229s Setting up python3-docutils (0.21.2+dfsg-2) ... 236s Setting up python3-sphinx (8.2.3-1) ... 236s Setting up python3-numpydoc (1.8.0-1) ... 239s autopkgtest [11:49:07]: test command1: set -e; for p in $(py3versions -s); do $p -m pytest numpydoc/; done 239s autopkgtest [11:49:07]: test command1: [----------------------- 245s ============================= test session starts ============================== 245s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 245s rootdir: /tmp/autopkgtest.cZb059/build.ptW/src 245s configfile: pyproject.toml 245s plugins: cov-5.0.0, typeguard-4.4.2 245s collected 295 items 245s 245s numpydoc/numpydoc.py . [ 0%] 245s numpydoc/tests/hooks/test_utils.py ..... [ 2%] 246s numpydoc/tests/hooks/test_validate_hook.py ....... [ 4%] 246s numpydoc/tests/test_docscrape.py ....................................... [ 17%] 247s ....................... [ 25%] 257s numpydoc/tests/test_full.py ..... [ 27%] 257s numpydoc/tests/test_main.py .......... [ 30%] 261s numpydoc/tests/test_numpydoc.py FF.FFFFFFF... [ 34%] 261s numpydoc/tests/test_validate.py ........................................ [ 48%] 263s ................................................................x..x.... [ 72%] 264s ................ [ 78%] 264s numpydoc/tests/test_xref.py ............................................ [ 93%] 264s ................... [ 99%] 264s numpydoc/validate.py . [100%] 264s 264s =================================== FAILURES =================================== 264s _________________________ test_mangle_docstrings_basic _________________________ 264s 264s def test_mangle_docstrings_basic(): 264s s = """ 264s A top section before 264s 264s .. autoclass:: str 264s """ 264s lines = s.split("\n") 264s > mangle_docstrings(MockApp(), "class", "str", str, {}, lines) 264s 264s lines = ['', 'A top section before', '', '.. autoclass:: str', ' '] 264s s = '\nA top section before\n\n.. autoclass:: str\n ' 264s 264s numpydoc/tests/test_numpydoc.py:62: 264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 264s numpydoc/numpydoc.py:194: in mangle_docstrings 264s doc = get_doc_object( 264s app = 264s cfg = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 264s lines = ['', 'A top section before', '', '.. autoclass:: str', ' '] 264s name = 'str' 264s obj = 264s options = {} 264s show_inherited_class_members = True 264s u_NL = '\n' 264s what = 'class' 264s numpydoc/docscrape_sphinx.py:417: in get_doc_object 264s template_loader.init(builder, dirs=template_dirs) 264s builder = 264s config = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 264s doc = '\nA top section before\n\n.. autoclass:: str\n ' 264s obj = 264s template_dirs = ['/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates'] 264s template_loader = 264s what = 'class' 264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 264s 264s self = 264s builder = , theme = None 264s dirs = ['/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates'] 264s 264s def init( 264s self, 264s builder: Builder, 264s theme: Theme | None = None, 264s dirs: list[str] | None = None, 264s ) -> None: 264s # create a chain of paths to search 264s if theme: 264s # the theme's own dir and its bases' dirs 264s pathchain = theme.get_theme_dirs() 264s # the loader dirs: pathchain + the parent directories for all themes 264s loaderchain = pathchain + [p.parent for p in pathchain] 264s elif dirs: 264s pathchain = list(map(_StrPath, dirs)) 264s loaderchain = list(map(_StrPath, dirs)) 264s else: 264s pathchain = [] 264s loaderchain = [] 264s 264s # prepend explicit template paths 264s self.templatepathlen = len(builder.config.templates_path) 264s if builder.config.templates_path: 264s cfg_templates_path = [ 264s builder.confdir / tp for tp in builder.config.templates_path 264s ] 264s pathchain[0:0] = cfg_templates_path 264s loaderchain[0:0] = cfg_templates_path 264s 264s # store it for use in newest_template_mtime 264s self.pathchain = pathchain 264s 264s # make the paths into loaders 264s self.loaders = [SphinxFileSystemLoader(x) for x in loaderchain] 264s 264s > use_i18n = builder._translator is not None 264s E AttributeError: 'MockBuilder' object has no attribute '_translator' 264s 264s builder = 264s dirs = ['/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates'] 264s loaderchain = [_StrPath('/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates')] 264s pathchain = [_StrPath('/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates')] 264s self = 264s theme = None 264s 264s /usr/lib/python3/dist-packages/sphinx/jinja2glue.py:201: AttributeError 264s ----------------------------- Captured stderr call ----------------------------- 264s ERROR: [numpydoc] While processing docstring for 'str' 264s ________________ test_mangle_docstrings_inherited_class_members ________________ 264s 264s def test_mangle_docstrings_inherited_class_members(): 264s # if subclass docs are rendered, this PosixPath should have Path.samefile 264s p = """ 264s A top section before 264s 264s .. autoclass:: pathlib.PosixPath 264s """ 264s lines = p.split("\n") 264s app = MockApp() 264s > mangle_docstrings(app, "class", "pathlib.PosixPath", PosixPath, {}, lines) 264s 264s app = 264s lines = ['', 'A top section before', '', '.. autoclass:: pathlib.PosixPath', ''] 264s p = '\nA top section before\n\n.. autoclass:: pathlib.PosixPath\n' 264s 264s numpydoc/tests/test_numpydoc.py:92: 264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 264s numpydoc/numpydoc.py:194: in mangle_docstrings 264s doc = get_doc_object( 264s app = 264s cfg = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 264s lines = ['', 'A top section before', '', '.. autoclass:: pathlib.PosixPath', ''] 264s name = 'pathlib.PosixPath' 264s obj = 264s options = {} 264s show_inherited_class_members = True 264s u_NL = '\n' 264s what = 'class' 264s numpydoc/docscrape_sphinx.py:417: in get_doc_object 264s template_loader.init(builder, dirs=template_dirs) 264s builder = 264s config = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 264s doc = '\nA top section before\n\n.. autoclass:: pathlib.PosixPath\n' 264s obj = 264s template_dirs = ['/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates'] 264s template_loader = 264s what = 'class' 264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 264s 264s self = 264s builder = , theme = None 264s dirs = ['/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates'] 264s 264s def init( 264s self, 264s builder: Builder, 264s theme: Theme | None = None, 264s dirs: list[str] | None = None, 264s ) -> None: 264s # create a chain of paths to search 264s if theme: 264s # the theme's own dir and its bases' dirs 264s pathchain = theme.get_theme_dirs() 264s # the loader dirs: pathchain + the parent directories for all themes 264s loaderchain = pathchain + [p.parent for p in pathchain] 264s elif dirs: 264s pathchain = list(map(_StrPath, dirs)) 264s loaderchain = list(map(_StrPath, dirs)) 264s else: 264s pathchain = [] 264s loaderchain = [] 264s 264s # prepend explicit template paths 264s self.templatepathlen = len(builder.config.templates_path) 264s if builder.config.templates_path: 264s cfg_templates_path = [ 264s builder.confdir / tp for tp in builder.config.templates_path 264s ] 264s pathchain[0:0] = cfg_templates_path 264s loaderchain[0:0] = cfg_templates_path 264s 264s # store it for use in newest_template_mtime 264s self.pathchain = pathchain 264s 264s # make the paths into loaders 264s self.loaders = [SphinxFileSystemLoader(x) for x in loaderchain] 264s 264s > use_i18n = builder._translator is not None 264s E AttributeError: 'MockBuilder' object has no attribute '_translator' 264s 264s builder = 264s dirs = ['/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates'] 264s loaderchain = [_StrPath('/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates')] 264s pathchain = [_StrPath('/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates')] 264s self = 264s theme = None 264s 264s /usr/lib/python3/dist-packages/sphinx/jinja2glue.py:201: AttributeError 264s ----------------------------- Captured stderr call ----------------------------- 264s ERROR: [numpydoc] While processing docstring for 'pathlib.PosixPath' 264s _ test_mangle_docstring_validation_warnings[numpydoc_validation_checks0-expected_warn0-non_warnings0] _ 264s 264s f = ._function_without_seealso_and_examples at 0x3ffb1baa0c0> 264s numpydoc_validation_checks = set(), expected_warn = [], non_warnings = [] 264s 264s @pytest.mark.parametrize( 264s ( 264s "numpydoc_validation_checks", 264s "expected_warn", 264s "non_warnings", 264s ), 264s ( 264s # Validation configured off - expect no warnings 264s (set(), [], []), 264s # Validation on with expected warnings 264s ({"SA01", "EX01"}, ("SA01", "EX01"), []), 264s # Validation on with only one activated check 264s ({"SA01"}, ("SA01",), ("EX01",)), 264s ), 264s ) 264s def test_mangle_docstring_validation_warnings( 264s f, 264s numpydoc_validation_checks, 264s expected_warn, 264s non_warnings, 264s ): 264s app = MockApp() 264s # Set up config for test 264s app.config.numpydoc_validation_checks = numpydoc_validation_checks 264s # Update configuration 264s update_config(app) 264s # Set up logging 264s status, warning = StringIO(), StringIO() 264s logging.setup(app, status, warning) 264s # Run mangle docstrings with the above configuration 264s > mangle_docstrings(app, "function", "f", f, None, f.__doc__.split("\n")) 264s 264s app = 264s expected_warn = [] 264s f = ._function_without_seealso_and_examples at 0x3ffb1baa0c0> 264s non_warnings = [] 264s numpydoc_validation_checks = set() 264s status = <_io.StringIO object at 0x3ffb1211600> 264s warning = <_io.StringIO object at 0x3ffb12113c0> 264s 264s numpydoc/tests/test_numpydoc.py:188: 264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 264s numpydoc/numpydoc.py:194: in mangle_docstrings 264s doc = get_doc_object( 264s app = 264s cfg = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 264s lines = ['', 'A function whose docstring has no examples or see also section.', '', 'Expect SA01 and EX01 errors if validation enabled.', ''] 264s name = 'f' 264s obj = ._function_without_seealso_and_examples at 0x3ffb1baa0c0> 264s options = None 264s show_inherited_class_members = True 264s u_NL = '\n' 264s what = 'function' 264s numpydoc/docscrape_sphinx.py:417: in get_doc_object 264s template_loader.init(builder, dirs=template_dirs) 264s builder = 264s config = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 264s doc = '\nA function whose docstring has no examples or see also section.\n\nExpect SA01 and EX01 errors if validation enabled.\n' 264s obj = ._function_without_seealso_and_examples at 0x3ffb1baa0c0> 264s template_dirs = ['/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates'] 264s template_loader = 264s what = 'function' 264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 264s 264s self = 264s builder = , theme = None 264s dirs = ['/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates'] 264s 264s def init( 264s self, 264s builder: Builder, 264s theme: Theme | None = None, 264s dirs: list[str] | None = None, 264s ) -> None: 264s # create a chain of paths to search 264s if theme: 264s # the theme's own dir and its bases' dirs 264s pathchain = theme.get_theme_dirs() 264s # the loader dirs: pathchain + the parent directories for all themes 264s loaderchain = pathchain + [p.parent for p in pathchain] 264s elif dirs: 264s pathchain = list(map(_StrPath, dirs)) 264s loaderchain = list(map(_StrPath, dirs)) 264s else: 264s pathchain = [] 264s loaderchain = [] 264s 264s # prepend explicit template paths 264s self.templatepathlen = len(builder.config.templates_path) 264s if builder.config.templates_path: 264s cfg_templates_path = [ 264s builder.confdir / tp for tp in builder.config.templates_path 264s ] 264s pathchain[0:0] = cfg_templates_path 264s loaderchain[0:0] = cfg_templates_path 264s 264s # store it for use in newest_template_mtime 264s self.pathchain = pathchain 264s 264s # make the paths into loaders 264s self.loaders = [SphinxFileSystemLoader(x) for x in loaderchain] 264s 264s > use_i18n = builder._translator is not None 264s E AttributeError: 'MockBuilder' object has no attribute '_translator' 264s 264s builder = 264s dirs = ['/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates'] 264s loaderchain = [_StrPath('/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates')] 264s pathchain = [_StrPath('/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates')] 264s self = 264s theme = None 264s 264s /usr/lib/python3/dist-packages/sphinx/jinja2glue.py:201: AttributeError 264s _ test_mangle_docstring_validation_warnings[numpydoc_validation_checks1-expected_warn1-non_warnings1] _ 264s 264s f = ._function_without_seealso_and_examples at 0x3ffb1627560> 264s numpydoc_validation_checks = {'EX01', 'SA01'}, expected_warn = ('SA01', 'EX01') 264s non_warnings = [] 264s 264s @pytest.mark.parametrize( 264s ( 264s "numpydoc_validation_checks", 264s "expected_warn", 264s "non_warnings", 264s ), 264s ( 264s # Validation configured off - expect no warnings 264s (set(), [], []), 264s # Validation on with expected warnings 264s ({"SA01", "EX01"}, ("SA01", "EX01"), []), 264s # Validation on with only one activated check 264s ({"SA01"}, ("SA01",), ("EX01",)), 264s ), 264s ) 264s def test_mangle_docstring_validation_warnings( 264s f, 264s numpydoc_validation_checks, 264s expected_warn, 264s non_warnings, 264s ): 264s app = MockApp() 264s # Set up config for test 264s app.config.numpydoc_validation_checks = numpydoc_validation_checks 264s # Update configuration 264s update_config(app) 264s # Set up logging 264s status, warning = StringIO(), StringIO() 264s logging.setup(app, status, warning) 264s # Run mangle docstrings with the above configuration 264s > mangle_docstrings(app, "function", "f", f, None, f.__doc__.split("\n")) 264s 264s app = 264s expected_warn = ('SA01', 'EX01') 264s f = ._function_without_seealso_and_examples at 0x3ffb1627560> 264s non_warnings = [] 264s numpydoc_validation_checks = {'EX01', 'SA01'} 264s status = <_io.StringIO object at 0x3ffb25f6980> 264s warning = <_io.StringIO object at 0x3ffb25f6080> 264s 264s numpydoc/tests/test_numpydoc.py:188: 264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 264s numpydoc/numpydoc.py:194: in mangle_docstrings 264s doc = get_doc_object( 264s app = 264s cfg = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 264s lines = ['', 'A function whose docstring has no examples or see also section.', '', 'Expect SA01 and EX01 errors if validation enabled.', ''] 264s name = 'f' 264s obj = ._function_without_seealso_and_examples at 0x3ffb1627560> 264s options = None 264s show_inherited_class_members = True 264s u_NL = '\n' 264s what = 'function' 264s numpydoc/docscrape_sphinx.py:417: in get_doc_object 264s template_loader.init(builder, dirs=template_dirs) 264s builder = 264s config = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 264s doc = '\nA function whose docstring has no examples or see also section.\n\nExpect SA01 and EX01 errors if validation enabled.\n' 264s obj = ._function_without_seealso_and_examples at 0x3ffb1627560> 264s template_dirs = ['/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates'] 264s template_loader = 264s what = 'function' 264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 264s 264s self = 264s builder = , theme = None 264s dirs = ['/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates'] 264s 264s def init( 264s self, 264s builder: Builder, 264s theme: Theme | None = None, 264s dirs: list[str] | None = None, 264s ) -> None: 264s # create a chain of paths to search 264s if theme: 264s # the theme's own dir and its bases' dirs 264s pathchain = theme.get_theme_dirs() 264s # the loader dirs: pathchain + the parent directories for all themes 264s loaderchain = pathchain + [p.parent for p in pathchain] 264s elif dirs: 264s pathchain = list(map(_StrPath, dirs)) 264s loaderchain = list(map(_StrPath, dirs)) 264s else: 264s pathchain = [] 264s loaderchain = [] 264s 264s # prepend explicit template paths 264s self.templatepathlen = len(builder.config.templates_path) 264s if builder.config.templates_path: 264s cfg_templates_path = [ 264s builder.confdir / tp for tp in builder.config.templates_path 264s ] 264s pathchain[0:0] = cfg_templates_path 264s loaderchain[0:0] = cfg_templates_path 264s 264s # store it for use in newest_template_mtime 264s self.pathchain = pathchain 264s 264s # make the paths into loaders 264s self.loaders = [SphinxFileSystemLoader(x) for x in loaderchain] 264s 264s > use_i18n = builder._translator is not None 264s E AttributeError: 'MockBuilder' object has no attribute '_translator' 264s 264s builder = 264s dirs = ['/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates'] 264s loaderchain = [_StrPath('/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates')] 264s pathchain = [_StrPath('/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates')] 264s self = 264s theme = None 264s 264s /usr/lib/python3/dist-packages/sphinx/jinja2glue.py:201: AttributeError 264s _ test_mangle_docstring_validation_warnings[numpydoc_validation_checks2-expected_warn2-non_warnings2] _ 264s 264s f = ._function_without_seealso_and_examples at 0x3ffb1626ac0> 264s numpydoc_validation_checks = {'SA01'}, expected_warn = ('SA01',) 264s non_warnings = ('EX01',) 264s 264s @pytest.mark.parametrize( 264s ( 264s "numpydoc_validation_checks", 264s "expected_warn", 264s "non_warnings", 264s ), 264s ( 264s # Validation configured off - expect no warnings 264s (set(), [], []), 264s # Validation on with expected warnings 264s ({"SA01", "EX01"}, ("SA01", "EX01"), []), 264s # Validation on with only one activated check 264s ({"SA01"}, ("SA01",), ("EX01",)), 264s ), 264s ) 264s def test_mangle_docstring_validation_warnings( 264s f, 264s numpydoc_validation_checks, 264s expected_warn, 264s non_warnings, 264s ): 264s app = MockApp() 264s # Set up config for test 264s app.config.numpydoc_validation_checks = numpydoc_validation_checks 264s # Update configuration 264s update_config(app) 264s # Set up logging 264s status, warning = StringIO(), StringIO() 264s logging.setup(app, status, warning) 264s # Run mangle docstrings with the above configuration 264s > mangle_docstrings(app, "function", "f", f, None, f.__doc__.split("\n")) 264s 264s app = 264s expected_warn = ('SA01',) 264s f = ._function_without_seealso_and_examples at 0x3ffb1626ac0> 264s non_warnings = ('EX01',) 264s numpydoc_validation_checks = {'SA01'} 264s status = <_io.StringIO object at 0x3ffb1210c40> 264s warning = <_io.StringIO object at 0x3ffb1210b80> 264s 264s numpydoc/tests/test_numpydoc.py:188: 264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 264s numpydoc/numpydoc.py:194: in mangle_docstrings 264s doc = get_doc_object( 264s app = 264s cfg = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 264s lines = ['', 'A function whose docstring has no examples or see also section.', '', 'Expect SA01 and EX01 errors if validation enabled.', ''] 264s name = 'f' 264s obj = ._function_without_seealso_and_examples at 0x3ffb1626ac0> 264s options = None 264s show_inherited_class_members = True 264s u_NL = '\n' 264s what = 'function' 264s numpydoc/docscrape_sphinx.py:417: in get_doc_object 264s template_loader.init(builder, dirs=template_dirs) 264s builder = 264s config = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 264s doc = '\nA function whose docstring has no examples or see also section.\n\nExpect SA01 and EX01 errors if validation enabled.\n' 264s obj = ._function_without_seealso_and_examples at 0x3ffb1626ac0> 264s template_dirs = ['/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates'] 264s template_loader = 264s what = 'function' 264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 264s 264s self = 264s builder = , theme = None 264s dirs = ['/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates'] 264s 264s def init( 264s self, 264s builder: Builder, 264s theme: Theme | None = None, 264s dirs: list[str] | None = None, 264s ) -> None: 264s # create a chain of paths to search 264s if theme: 264s # the theme's own dir and its bases' dirs 264s pathchain = theme.get_theme_dirs() 264s # the loader dirs: pathchain + the parent directories for all themes 264s loaderchain = pathchain + [p.parent for p in pathchain] 264s elif dirs: 264s pathchain = list(map(_StrPath, dirs)) 264s loaderchain = list(map(_StrPath, dirs)) 264s else: 264s pathchain = [] 264s loaderchain = [] 264s 264s # prepend explicit template paths 264s self.templatepathlen = len(builder.config.templates_path) 264s if builder.config.templates_path: 264s cfg_templates_path = [ 264s builder.confdir / tp for tp in builder.config.templates_path 264s ] 264s pathchain[0:0] = cfg_templates_path 264s loaderchain[0:0] = cfg_templates_path 264s 264s # store it for use in newest_template_mtime 264s self.pathchain = pathchain 264s 264s # make the paths into loaders 264s self.loaders = [SphinxFileSystemLoader(x) for x in loaderchain] 264s 264s > use_i18n = builder._translator is not None 264s E AttributeError: 'MockBuilder' object has no attribute '_translator' 264s 264s builder = 264s dirs = ['/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates'] 264s loaderchain = [_StrPath('/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates')] 264s pathchain = [_StrPath('/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates')] 264s self = 264s theme = None 264s 264s /usr/lib/python3/dist-packages/sphinx/jinja2glue.py:201: AttributeError 264s ___________________ test_mangle_docstring_validation_exclude ___________________ 264s 264s def test_mangle_docstring_validation_exclude(): 264s def function_with_bad_docstring(): 264s """ 264s This docstring will raise docstring validation warnings.""" 264s 264s app = MockApp() 264s app.config.numpydoc_validation_checks = {"all"} 264s app.config.numpydoc_validation_exclude = [r"_bad_"] 264s # Call update_config to construct regexp from config value 264s update_config(app) 264s # Setup for catching warnings 264s status, warning = StringIO(), StringIO() 264s logging.setup(app, status, warning) 264s # Run mangle docstrings on function_with_bad_docstring 264s > mangle_docstrings( 264s app, 264s "function", 264s function_with_bad_docstring.__name__, 264s function_with_bad_docstring, 264s None, 264s function_with_bad_docstring.__doc__.split("\n"), 264s ) 264s 264s app = 264s function_with_bad_docstring = .function_with_bad_docstring at 0x3ffb1626840> 264s status = <_io.StringIO object at 0x3ffb1210400> 264s warning = <_io.StringIO object at 0x3ffb1210340> 264s 264s numpydoc/tests/test_numpydoc.py:211: 264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 264s numpydoc/numpydoc.py:194: in mangle_docstrings 264s doc = get_doc_object( 264s app = 264s cfg = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 264s lines = ['', 'This docstring will raise docstring validation warnings.'] 264s name = 'function_with_bad_docstring' 264s obj = .function_with_bad_docstring at 0x3ffb1626840> 264s options = None 264s show_inherited_class_members = True 264s u_NL = '\n' 264s what = 'function' 264s numpydoc/docscrape_sphinx.py:417: in get_doc_object 264s template_loader.init(builder, dirs=template_dirs) 264s builder = 264s config = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 264s doc = '\nThis docstring will raise docstring validation warnings.' 264s obj = .function_with_bad_docstring at 0x3ffb1626840> 264s template_dirs = ['/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates'] 264s template_loader = 264s what = 'function' 264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 264s 264s self = 264s builder = , theme = None 264s dirs = ['/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates'] 264s 264s def init( 264s self, 264s builder: Builder, 264s theme: Theme | None = None, 264s dirs: list[str] | None = None, 264s ) -> None: 264s # create a chain of paths to search 264s if theme: 264s # the theme's own dir and its bases' dirs 264s pathchain = theme.get_theme_dirs() 264s # the loader dirs: pathchain + the parent directories for all themes 264s loaderchain = pathchain + [p.parent for p in pathchain] 264s elif dirs: 264s pathchain = list(map(_StrPath, dirs)) 264s loaderchain = list(map(_StrPath, dirs)) 264s else: 264s pathchain = [] 264s loaderchain = [] 264s 264s # prepend explicit template paths 264s self.templatepathlen = len(builder.config.templates_path) 264s if builder.config.templates_path: 264s cfg_templates_path = [ 264s builder.confdir / tp for tp in builder.config.templates_path 264s ] 264s pathchain[0:0] = cfg_templates_path 264s loaderchain[0:0] = cfg_templates_path 264s 264s # store it for use in newest_template_mtime 264s self.pathchain = pathchain 264s 264s # make the paths into loaders 264s self.loaders = [SphinxFileSystemLoader(x) for x in loaderchain] 264s 264s > use_i18n = builder._translator is not None 264s E AttributeError: 'MockBuilder' object has no attribute '_translator' 264s 264s builder = 264s dirs = ['/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates'] 264s loaderchain = [_StrPath('/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates')] 264s pathchain = [_StrPath('/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates')] 264s self = 264s theme = None 264s 264s /usr/lib/python3/dist-packages/sphinx/jinja2glue.py:201: AttributeError 264s _________________ test_mangle_docstrings_overrides[overrides0] _________________ 264s 264s overrides = {} 264s 264s @pytest.mark.parametrize("overrides", [{}, {"SS02"}, {"SS02", "SS03"}]) 264s def test_mangle_docstrings_overrides(overrides): 264s def process_something_noop_function(): 264s """Process something.""" 264s 264s app = MockApp() 264s app.config.numpydoc_validation_checks = {"all"} 264s app.config.numpydoc_validation_overrides = { 264s check: [r"^Process "] # overrides are regex on docstring content 264s for check in overrides 264s } 264s update_config(app) 264s 264s # Setup for catching warnings 264s status, warning = StringIO(), StringIO() 264s logging.setup(app, status, warning) 264s 264s # Run mangle docstrings on process_something_noop_function 264s > mangle_docstrings( 264s app, 264s "function", 264s process_something_noop_function.__name__, 264s process_something_noop_function, 264s None, 264s process_something_noop_function.__doc__.split("\n"), 264s ) 264s 264s app = 264s overrides = {} 264s process_something_noop_function = .process_something_noop_function at 0x3ffb259bce0> 264s status = <_io.StringIO object at 0x3ffb12104c0> 264s warning = <_io.StringIO object at 0x3ffb1210a00> 264s 264s numpydoc/tests/test_numpydoc.py:242: 264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 264s numpydoc/numpydoc.py:194: in mangle_docstrings 264s doc = get_doc_object( 264s app = 264s cfg = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 264s lines = ['Process something.'] 264s name = 'process_something_noop_function' 264s obj = .process_something_noop_function at 0x3ffb259bce0> 264s options = None 264s show_inherited_class_members = True 264s u_NL = '\n' 264s what = 'function' 264s numpydoc/docscrape_sphinx.py:417: in get_doc_object 264s template_loader.init(builder, dirs=template_dirs) 264s builder = 264s config = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 264s doc = 'Process something.' 264s obj = .process_something_noop_function at 0x3ffb259bce0> 264s template_dirs = ['/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates'] 264s template_loader = 264s what = 'function' 264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 264s 264s self = 264s builder = , theme = None 264s dirs = ['/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates'] 264s 264s def init( 264s self, 264s builder: Builder, 264s theme: Theme | None = None, 264s dirs: list[str] | None = None, 264s ) -> None: 264s # create a chain of paths to search 264s if theme: 264s # the theme's own dir and its bases' dirs 264s pathchain = theme.get_theme_dirs() 264s # the loader dirs: pathchain + the parent directories for all themes 264s loaderchain = pathchain + [p.parent for p in pathchain] 264s elif dirs: 264s pathchain = list(map(_StrPath, dirs)) 264s loaderchain = list(map(_StrPath, dirs)) 264s else: 264s pathchain = [] 264s loaderchain = [] 264s 264s # prepend explicit template paths 264s self.templatepathlen = len(builder.config.templates_path) 264s if builder.config.templates_path: 264s cfg_templates_path = [ 264s builder.confdir / tp for tp in builder.config.templates_path 264s ] 264s pathchain[0:0] = cfg_templates_path 264s loaderchain[0:0] = cfg_templates_path 264s 264s # store it for use in newest_template_mtime 264s self.pathchain = pathchain 264s 264s # make the paths into loaders 264s self.loaders = [SphinxFileSystemLoader(x) for x in loaderchain] 264s 264s > use_i18n = builder._translator is not None 264s E AttributeError: 'MockBuilder' object has no attribute '_translator' 264s 264s builder = 264s dirs = ['/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates'] 264s loaderchain = [_StrPath('/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates')] 264s pathchain = [_StrPath('/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates')] 264s self = 264s theme = None 264s 264s /usr/lib/python3/dist-packages/sphinx/jinja2glue.py:201: AttributeError 264s _________________ test_mangle_docstrings_overrides[overrides1] _________________ 264s 264s overrides = {'SS02'} 264s 264s @pytest.mark.parametrize("overrides", [{}, {"SS02"}, {"SS02", "SS03"}]) 264s def test_mangle_docstrings_overrides(overrides): 264s def process_something_noop_function(): 264s """Process something.""" 264s 264s app = MockApp() 264s app.config.numpydoc_validation_checks = {"all"} 264s app.config.numpydoc_validation_overrides = { 264s check: [r"^Process "] # overrides are regex on docstring content 264s for check in overrides 264s } 264s update_config(app) 264s 264s # Setup for catching warnings 264s status, warning = StringIO(), StringIO() 264s logging.setup(app, status, warning) 264s 264s # Run mangle docstrings on process_something_noop_function 264s > mangle_docstrings( 264s app, 264s "function", 264s process_something_noop_function.__name__, 264s process_something_noop_function, 264s None, 264s process_something_noop_function.__doc__.split("\n"), 264s ) 264s 264s app = 264s overrides = {'SS02'} 264s process_something_noop_function = .process_something_noop_function at 0x3ffb1ba9e40> 264s status = <_io.StringIO object at 0x3ffb12119c0> 264s warning = <_io.StringIO object at 0x3ffb1211a80> 264s 264s numpydoc/tests/test_numpydoc.py:242: 264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 264s numpydoc/numpydoc.py:194: in mangle_docstrings 264s doc = get_doc_object( 264s app = 264s cfg = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 264s lines = ['Process something.'] 264s name = 'process_something_noop_function' 264s obj = .process_something_noop_function at 0x3ffb1ba9e40> 264s options = None 264s show_inherited_class_members = True 264s u_NL = '\n' 264s what = 'function' 264s numpydoc/docscrape_sphinx.py:417: in get_doc_object 264s template_loader.init(builder, dirs=template_dirs) 264s builder = 264s config = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 264s doc = 'Process something.' 264s obj = .process_something_noop_function at 0x3ffb1ba9e40> 264s template_dirs = ['/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates'] 264s template_loader = 264s what = 'function' 264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 264s 264s self = 264s builder = , theme = None 264s dirs = ['/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates'] 264s 264s def init( 264s self, 264s builder: Builder, 264s theme: Theme | None = None, 264s dirs: list[str] | None = None, 264s ) -> None: 264s # create a chain of paths to search 264s if theme: 264s # the theme's own dir and its bases' dirs 264s pathchain = theme.get_theme_dirs() 264s # the loader dirs: pathchain + the parent directories for all themes 264s loaderchain = pathchain + [p.parent for p in pathchain] 264s elif dirs: 264s pathchain = list(map(_StrPath, dirs)) 264s loaderchain = list(map(_StrPath, dirs)) 264s else: 264s pathchain = [] 264s loaderchain = [] 264s 264s # prepend explicit template paths 264s self.templatepathlen = len(builder.config.templates_path) 264s if builder.config.templates_path: 264s cfg_templates_path = [ 264s builder.confdir / tp for tp in builder.config.templates_path 264s ] 264s pathchain[0:0] = cfg_templates_path 264s loaderchain[0:0] = cfg_templates_path 264s 264s # store it for use in newest_template_mtime 264s self.pathchain = pathchain 264s 264s # make the paths into loaders 264s self.loaders = [SphinxFileSystemLoader(x) for x in loaderchain] 264s 264s > use_i18n = builder._translator is not None 264s E AttributeError: 'MockBuilder' object has no attribute '_translator' 264s 264s builder = 264s dirs = ['/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates'] 264s loaderchain = [_StrPath('/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates')] 264s pathchain = [_StrPath('/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates')] 264s self = 264s theme = None 264s 264s /usr/lib/python3/dist-packages/sphinx/jinja2glue.py:201: AttributeError 264s _________________ test_mangle_docstrings_overrides[overrides2] _________________ 264s 264s overrides = {'SS02', 'SS03'} 264s 264s @pytest.mark.parametrize("overrides", [{}, {"SS02"}, {"SS02", "SS03"}]) 264s def test_mangle_docstrings_overrides(overrides): 264s def process_something_noop_function(): 264s """Process something.""" 264s 264s app = MockApp() 264s app.config.numpydoc_validation_checks = {"all"} 264s app.config.numpydoc_validation_overrides = { 264s check: [r"^Process "] # overrides are regex on docstring content 264s for check in overrides 264s } 264s update_config(app) 264s 264s # Setup for catching warnings 264s status, warning = StringIO(), StringIO() 264s logging.setup(app, status, warning) 264s 264s # Run mangle docstrings on process_something_noop_function 264s > mangle_docstrings( 264s app, 264s "function", 264s process_something_noop_function.__name__, 264s process_something_noop_function, 264s None, 264s process_something_noop_function.__doc__.split("\n"), 264s ) 264s 264s app = 264s overrides = {'SS02', 'SS03'} 264s process_something_noop_function = .process_something_noop_function at 0x3ffb1ba99e0> 264s status = <_io.StringIO object at 0x3ffb1211fc0> 264s warning = <_io.StringIO object at 0x3ffb1212080> 264s 264s numpydoc/tests/test_numpydoc.py:242: 264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 264s numpydoc/numpydoc.py:194: in mangle_docstrings 264s doc = get_doc_object( 264s app = 264s cfg = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 264s lines = ['Process something.'] 264s name = 'process_something_noop_function' 264s obj = .process_something_noop_function at 0x3ffb1ba99e0> 264s options = None 264s show_inherited_class_members = True 264s u_NL = '\n' 264s what = 'function' 264s numpydoc/docscrape_sphinx.py:417: in get_doc_object 264s template_loader.init(builder, dirs=template_dirs) 264s builder = 264s config = {'attributes_as_param_list': True, 'class_members_toctree': True, 'show_class_members': True, 'show_inherited_class_members': True, ...} 264s doc = 'Process something.' 264s obj = .process_something_noop_function at 0x3ffb1ba99e0> 264s template_dirs = ['/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates'] 264s template_loader = 264s what = 'function' 264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 264s 264s self = 264s builder = , theme = None 264s dirs = ['/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates'] 264s 264s def init( 264s self, 264s builder: Builder, 264s theme: Theme | None = None, 264s dirs: list[str] | None = None, 264s ) -> None: 264s # create a chain of paths to search 264s if theme: 264s # the theme's own dir and its bases' dirs 264s pathchain = theme.get_theme_dirs() 264s # the loader dirs: pathchain + the parent directories for all themes 264s loaderchain = pathchain + [p.parent for p in pathchain] 264s elif dirs: 264s pathchain = list(map(_StrPath, dirs)) 264s loaderchain = list(map(_StrPath, dirs)) 264s else: 264s pathchain = [] 264s loaderchain = [] 264s 264s # prepend explicit template paths 264s self.templatepathlen = len(builder.config.templates_path) 264s if builder.config.templates_path: 264s cfg_templates_path = [ 264s builder.confdir / tp for tp in builder.config.templates_path 264s ] 264s pathchain[0:0] = cfg_templates_path 264s loaderchain[0:0] = cfg_templates_path 264s 264s # store it for use in newest_template_mtime 264s self.pathchain = pathchain 264s 264s # make the paths into loaders 264s self.loaders = [SphinxFileSystemLoader(x) for x in loaderchain] 264s 264s > use_i18n = builder._translator is not None 264s E AttributeError: 'MockBuilder' object has no attribute '_translator' 264s 264s builder = 264s dirs = ['/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates'] 264s loaderchain = [_StrPath('/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates')] 264s pathchain = [_StrPath('/tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/templates')] 264s self = 264s theme = None 264s 264s /usr/lib/python3/dist-packages/sphinx/jinja2glue.py:201: AttributeError 264s =============================== warnings summary =============================== 264s numpydoc/tests/test_docscrape.py: 17 warnings 264s /tmp/autopkgtest.cZb059/build.ptW/src/numpydoc/docscrape_sphinx.py:163: DeprecationWarning: 'maxsplit' is passed as positional argument 264s desc = re.split(r"\n\s*\n", obj_doc.strip(), 1)[0] 264s 264s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 264s - generated xml file: /tmp/autopkgtest.cZb059/build.ptW/src/junit-results.xml -- 264s =========================== short test summary info ============================ 264s FAILED numpydoc/tests/test_numpydoc.py::test_mangle_docstrings_basic - Attrib... 264s FAILED numpydoc/tests/test_numpydoc.py::test_mangle_docstrings_inherited_class_members 264s FAILED numpydoc/tests/test_numpydoc.py::test_mangle_docstring_validation_warnings[numpydoc_validation_checks0-expected_warn0-non_warnings0] 264s FAILED numpydoc/tests/test_numpydoc.py::test_mangle_docstring_validation_warnings[numpydoc_validation_checks1-expected_warn1-non_warnings1] 264s FAILED numpydoc/tests/test_numpydoc.py::test_mangle_docstring_validation_warnings[numpydoc_validation_checks2-expected_warn2-non_warnings2] 264s FAILED numpydoc/tests/test_numpydoc.py::test_mangle_docstring_validation_exclude 264s FAILED numpydoc/tests/test_numpydoc.py::test_mangle_docstrings_overrides[overrides0] 264s FAILED numpydoc/tests/test_numpydoc.py::test_mangle_docstrings_overrides[overrides1] 264s FAILED numpydoc/tests/test_numpydoc.py::test_mangle_docstrings_overrides[overrides2] 264s ============ 9 failed, 284 passed, 2 xfailed, 17 warnings in 23.30s ============ 266s autopkgtest [11:49:34]: test command1: -----------------------] 266s command1 FAIL non-zero exit status 1 266s autopkgtest [11:49:34]: test command1: - - - - - - - - - - results - - - - - - - - - - 267s autopkgtest [11:49:35]: @@@@@@@@@@@@@@@@@@@@ summary 267s command1 FAIL non-zero exit status 1 284s nova [W] Using flock in prodstack7-s390x 284s Creating nova instance adt-questing-s390x-numpydoc-20250506-114508-juju-7f2275-prod-proposed-migration-environment-15-3963810b-e915-411f-987f-c7dafa110e74 from image adt/ubuntu-questing-s390x-server-20250506.img (UUID fef1f145-d219-47e4-a2ed-77b44eac0376)... 284s nova [W] Timed out waiting for 474bc97b-d908-4bdc-9237-cf0aea9cbb1f to get deleted.