0s autopkgtest [22:27:28]: starting date and time: 2024-07-13 22:27:28+0000 0s autopkgtest [22:27:28]: git checkout: fd3bed09 nova: allow more retries for quota issues 0s autopkgtest [22:27:28]: host juju-7f2275-prod-proposed-migration-environment-9; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.9wvgk8fm/out --timeout-copy=6000 --setup-commands 'ln -s /dev/null /etc/systemd/system/bluetooth.service; printf "http_proxy=http://squid.internal:3128\nhttps_proxy=http://squid.internal:3128\nno_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com\n" >> /etc/environment' --apt-pocket=proposed=src:setuptools --apt-upgrade scikit-build --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=setuptools/70.3.0-2 -- lxd -r lxd-armhf-10.145.243.39 lxd-armhf-10.145.243.39:autopkgtest/ubuntu/oracular/armhf 60s autopkgtest [22:28:28]: testbed dpkg architecture: armhf 62s autopkgtest [22:28:30]: testbed apt version: 2.9.6 62s autopkgtest [22:28:30]: @@@@@@@@@@@@@@@@@@@@ test bed setup 71s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [126 kB] 71s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [3304 B] 71s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [49.8 kB] 71s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [399 kB] 71s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [8548 B] 71s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main armhf Packages [76.7 kB] 71s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/main armhf c-n-f Metadata [1428 B] 71s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/restricted armhf Packages [1368 B] 71s Get:9 http://ftpmaster.internal/ubuntu oracular-proposed/restricted armhf c-n-f Metadata [120 B] 71s Get:10 http://ftpmaster.internal/ubuntu oracular-proposed/universe armhf Packages [387 kB] 71s Get:11 http://ftpmaster.internal/ubuntu oracular-proposed/universe armhf c-n-f Metadata [6916 B] 71s Get:12 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse armhf Packages [1784 B] 71s Get:13 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse armhf c-n-f Metadata [120 B] 73s Fetched 1062 kB in 1s (1089 kB/s) 73s Reading package lists... 91s tee: /proc/self/fd/2: Permission denied 113s Hit:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 113s Hit:2 http://ftpmaster.internal/ubuntu oracular InRelease 113s Hit:3 http://ftpmaster.internal/ubuntu oracular-updates InRelease 113s Hit:4 http://ftpmaster.internal/ubuntu oracular-security InRelease 114s Reading package lists... 115s Reading package lists... 115s Building dependency tree... 115s Reading state information... 116s Calculating upgrade... 116s The following packages will be upgraded: 116s libelf1t64 python3-pkg-resources python3-setuptools ubuntu-pro-client 116s ubuntu-pro-client-l10n 117s 5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 117s Need to get 917 kB of archives. 117s After this operation, 465 kB of additional disk space will be used. 117s Get:1 http://ftpmaster.internal/ubuntu oracular/main armhf libelf1t64 armhf 0.191-2 [50.0 kB] 117s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/main armhf python3-setuptools all 70.3.0-2 [429 kB] 117s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/main armhf python3-pkg-resources all 70.3.0-2 [187 kB] 117s Get:4 http://ftpmaster.internal/ubuntu oracular/main armhf ubuntu-pro-client-l10n armhf 33.1 [19.2 kB] 117s Get:5 http://ftpmaster.internal/ubuntu oracular/main armhf ubuntu-pro-client armhf 33.1 [232 kB] 117s Fetched 917 kB in 1s (1650 kB/s) 118s (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 ... 58436 files and directories currently installed.) 118s Preparing to unpack .../libelf1t64_0.191-2_armhf.deb ... 118s Unpacking libelf1t64:armhf (0.191-2) over (0.191-1) ... 118s Preparing to unpack .../python3-setuptools_70.3.0-2_all.deb ... 118s Unpacking python3-setuptools (70.3.0-2) over (68.1.2-2ubuntu1) ... 118s Preparing to unpack .../python3-pkg-resources_70.3.0-2_all.deb ... 118s Unpacking python3-pkg-resources (70.3.0-2) over (68.1.2-2ubuntu1) ... 118s Preparing to unpack .../ubuntu-pro-client-l10n_33.1_armhf.deb ... 118s Unpacking ubuntu-pro-client-l10n (33.1) over (33) ... 118s Preparing to unpack .../ubuntu-pro-client_33.1_armhf.deb ... 118s Unpacking ubuntu-pro-client (33.1) over (33) ... 118s Setting up python3-pkg-resources (70.3.0-2) ... 119s Setting up python3-setuptools (70.3.0-2) ... 119s Setting up libelf1t64:armhf (0.191-2) ... 119s Setting up ubuntu-pro-client (33.1) ... 120s apparmor_parser: Unable to replace "ubuntu_pro_apt_news". apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 120s 120s apparmor_parser: Unable to replace "apt_methods". apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 120s 120s apparmor_parser: Unable to replace "ubuntu_pro_esm_cache". apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 120s 121s Setting up ubuntu-pro-client-l10n (33.1) ... 121s Processing triggers for man-db (2.12.1-2) ... 122s Processing triggers for libc-bin (2.39-0ubuntu9) ... 122s Reading package lists... 123s Building dependency tree... 123s Reading state information... 124s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 126s autopkgtest [22:29:34]: rebooting testbed after setup commands that affected boot 197s autopkgtest [22:30:45]: testbed running kernel: Linux 6.5.0-41-generic #41~22.04.2-Ubuntu SMP PREEMPT_DYNAMIC Mon Jun 3 16:28:24 UTC 2 224s autopkgtest [22:31:12]: @@@@@@@@@@@@@@@@@@@@ apt-source scikit-build 239s Get:1 http://ftpmaster.internal/ubuntu oracular/universe scikit-build 0.17.6-2 (dsc) [2777 B] 239s Get:2 http://ftpmaster.internal/ubuntu oracular/universe scikit-build 0.17.6-2 (tar) [271 kB] 239s Get:3 http://ftpmaster.internal/ubuntu oracular/universe scikit-build 0.17.6-2 (diff) [5576 B] 240s gpgv: Signature made Sat Apr 27 01:25:13 2024 UTC 240s gpgv: using RSA key 13796755BBC72BB8ABE2AEB5FA9DEC5DE11C63F1 240s gpgv: issuer "eamanu@debian.org" 240s gpgv: Can't check signature: No public key 240s dpkg-source: warning: cannot verify inline signature for ./scikit-build_0.17.6-2.dsc: no acceptable signature found 240s autopkgtest [22:31:28]: testing package scikit-build version 0.17.6-2 242s autopkgtest [22:31:30]: build not needed 244s autopkgtest [22:31:32]: test testsuite: preparing testbed 257s Reading package lists... 258s Building dependency tree... 258s Reading state information... 258s Starting pkgProblemResolver with broken count: 0 258s Starting 2 pkgProblemResolver with broken count: 0 258s Done 259s The following additional packages will be installed: 259s build-essential cmake cmake-data cpp cpp-13 cpp-13-arm-linux-gnueabihf 259s cpp-arm-linux-gnueabihf cython3 fonts-font-awesome fonts-lato g++ g++-13 259s g++-13-arm-linux-gnueabihf g++-arm-linux-gnueabihf gcc gcc-13 259s gcc-13-arm-linux-gnueabihf gcc-13-base gcc-arm-linux-gnueabihf git git-man 259s libasan8 libatomic1 libc-dev-bin libc6-dev libcc1-0 libcrypt-dev 259s liberror-perl libexpat1-dev libgcc-13-dev libgomp1 libisl23 libjs-jquery 259s libjs-sphinxdoc libjs-underscore libjsoncpp25 libmpc3 libpython3-all-dev 259s libpython3-dev libpython3.12-dev libpython3.12t64 librhash0 libstdc++-13-dev 259s libubsan1 linux-libc-dev python-skbuild-doc python3-all python3-all-dev 259s python3-build python3-dev python3-distlib python3-filelock python3-iniconfig 259s python3-packaging python3-pip python3-pip-whl python3-platformdirs 259s python3-pluggy python3-pyproject-hooks python3-pytest python3-pytest-mock 259s python3-setuptools-whl python3-skbuild python3-toml python3-virtualenv 259s python3-wheel python3-wheel-whl python3.12-dev rpcsvc-proto 259s sphinx-rtd-theme-common zlib1g-dev 259s Suggested packages: 259s cmake-doc cmake-format elpa-cmake-mode ninja-build cpp-doc gcc-13-locales 259s cpp-13-doc cython-doc gcc-13-doc gcc-multilib manpages-dev autoconf automake 259s libtool flex bison gdb gcc-doc gdb-arm-linux-gnueabihf git-daemon-run 259s | git-daemon-sysvinit git-doc git-email git-gui gitk gitweb git-cvs 259s git-mediawiki git-svn glibc-doc libstdc++-13-doc python3-venv 259s python-build-doc python-pytest-mock-doc 259s Recommended packages: 259s manpages manpages-dev libc-devtools javascript-common libssl3 259s The following NEW packages will be installed: 259s autopkgtest-satdep build-essential cmake cmake-data cpp cpp-13 259s cpp-13-arm-linux-gnueabihf cpp-arm-linux-gnueabihf cython3 259s fonts-font-awesome fonts-lato g++ g++-13 g++-13-arm-linux-gnueabihf 259s g++-arm-linux-gnueabihf gcc gcc-13 gcc-13-arm-linux-gnueabihf gcc-13-base 259s gcc-arm-linux-gnueabihf git git-man libasan8 libatomic1 libc-dev-bin 259s libc6-dev libcc1-0 libcrypt-dev liberror-perl libexpat1-dev libgcc-13-dev 259s libgomp1 libisl23 libjs-jquery libjs-sphinxdoc libjs-underscore libjsoncpp25 259s libmpc3 libpython3-all-dev libpython3-dev libpython3.12-dev libpython3.12t64 259s librhash0 libstdc++-13-dev libubsan1 linux-libc-dev python-skbuild-doc 259s python3-all python3-all-dev python3-build python3-dev python3-distlib 259s python3-filelock python3-iniconfig python3-packaging python3-pip 259s python3-pip-whl python3-platformdirs python3-pluggy python3-pyproject-hooks 259s python3-pytest python3-pytest-mock python3-setuptools-whl python3-skbuild 259s python3-toml python3-virtualenv python3-wheel python3-wheel-whl 259s python3.12-dev rpcsvc-proto sphinx-rtd-theme-common zlib1g-dev 260s 0 upgraded, 72 newly installed, 0 to remove and 0 not upgraded. 260s Need to get 81.5 MB/81.5 MB of archives. 260s After this operation, 273 MB of additional disk space will be used. 260s Get:1 /tmp/autopkgtest.EPTB0Y/1-autopkgtest-satdep.deb autopkgtest-satdep armhf 0 [780 B] 260s Get:2 http://ftpmaster.internal/ubuntu oracular/main armhf fonts-lato all 2.015-1 [2781 kB] 260s Get:3 http://ftpmaster.internal/ubuntu oracular/main armhf libc-dev-bin armhf 2.39-0ubuntu9 [19.1 kB] 260s Get:4 http://ftpmaster.internal/ubuntu oracular/main armhf linux-libc-dev armhf 6.8.0-31.31 [1557 kB] 260s Get:5 http://ftpmaster.internal/ubuntu oracular/main armhf libcrypt-dev armhf 1:4.4.36-4build1 [120 kB] 260s Get:6 http://ftpmaster.internal/ubuntu oracular/main armhf rpcsvc-proto armhf 1.4.2-0ubuntu7 [62.2 kB] 260s Get:7 http://ftpmaster.internal/ubuntu oracular/main armhf libc6-dev armhf 2.39-0ubuntu9 [1351 kB] 260s Get:8 http://ftpmaster.internal/ubuntu oracular/main armhf gcc-13-base armhf 13.2.0-23ubuntu4 [48.9 kB] 260s Get:9 http://ftpmaster.internal/ubuntu oracular/main armhf libisl23 armhf 0.26-3build1 [544 kB] 260s Get:10 http://ftpmaster.internal/ubuntu oracular/main armhf libmpc3 armhf 1.3.1-1build1 [46.7 kB] 260s Get:11 http://ftpmaster.internal/ubuntu oracular/main armhf cpp-13-arm-linux-gnueabihf armhf 13.2.0-23ubuntu4 [8759 kB] 261s Get:12 http://ftpmaster.internal/ubuntu oracular/main armhf cpp-13 armhf 13.2.0-23ubuntu4 [1034 B] 261s Get:13 http://ftpmaster.internal/ubuntu oracular/main armhf cpp-arm-linux-gnueabihf armhf 4:13.2.0-7ubuntu1 [5320 B] 261s Get:14 http://ftpmaster.internal/ubuntu oracular/main armhf cpp armhf 4:13.2.0-7ubuntu1 [22.4 kB] 261s Get:15 http://ftpmaster.internal/ubuntu oracular/main armhf libcc1-0 armhf 14.1.0-1ubuntu1 [43.3 kB] 261s Get:16 http://ftpmaster.internal/ubuntu oracular/main armhf libgomp1 armhf 14.1.0-1ubuntu1 [125 kB] 261s Get:17 http://ftpmaster.internal/ubuntu oracular/main armhf libatomic1 armhf 14.1.0-1ubuntu1 [7816 B] 261s Get:18 http://ftpmaster.internal/ubuntu oracular/main armhf libasan8 armhf 14.1.0-1ubuntu1 [2913 kB] 261s Get:19 http://ftpmaster.internal/ubuntu oracular/main armhf libubsan1 armhf 14.1.0-1ubuntu1 [1154 kB] 261s Get:20 http://ftpmaster.internal/ubuntu oracular/main armhf libgcc-13-dev armhf 13.2.0-23ubuntu4 [899 kB] 261s Get:21 http://ftpmaster.internal/ubuntu oracular/main armhf gcc-13-arm-linux-gnueabihf armhf 13.2.0-23ubuntu4 [16.9 MB] 262s Get:22 http://ftpmaster.internal/ubuntu oracular/main armhf gcc-13 armhf 13.2.0-23ubuntu4 [453 kB] 262s Get:23 http://ftpmaster.internal/ubuntu oracular/main armhf gcc-arm-linux-gnueabihf armhf 4:13.2.0-7ubuntu1 [1220 B] 262s Get:24 http://ftpmaster.internal/ubuntu oracular/main armhf gcc armhf 4:13.2.0-7ubuntu1 [5022 B] 262s Get:25 http://ftpmaster.internal/ubuntu oracular/main armhf libstdc++-13-dev armhf 13.2.0-23ubuntu4 [2456 kB] 262s Get:26 http://ftpmaster.internal/ubuntu oracular/main armhf g++-13-arm-linux-gnueabihf armhf 13.2.0-23ubuntu4 [9941 kB] 262s Get:27 http://ftpmaster.internal/ubuntu oracular/main armhf g++-13 armhf 13.2.0-23ubuntu4 [14.5 kB] 262s Get:28 http://ftpmaster.internal/ubuntu oracular/main armhf g++-arm-linux-gnueabihf armhf 4:13.2.0-7ubuntu1 [966 B] 262s Get:29 http://ftpmaster.internal/ubuntu oracular/main armhf g++ armhf 4:13.2.0-7ubuntu1 [1090 B] 262s Get:30 http://ftpmaster.internal/ubuntu oracular/main armhf build-essential armhf 12.10ubuntu1 [4928 B] 262s Get:31 http://ftpmaster.internal/ubuntu oracular/main armhf libjsoncpp25 armhf 1.9.5-6build1 [75.3 kB] 262s Get:32 http://ftpmaster.internal/ubuntu oracular/main armhf librhash0 armhf 1.4.3-3build1 [143 kB] 262s Get:33 http://ftpmaster.internal/ubuntu oracular/main armhf cmake-data all 3.29.6-1 [2193 kB] 262s Get:34 http://ftpmaster.internal/ubuntu oracular/main armhf cmake armhf 3.29.6-1 [6176 kB] 262s Get:35 http://ftpmaster.internal/ubuntu oracular/universe armhf cython3 armhf 3.0.10+dfsg-5ubuntu1 [2317 kB] 262s Get:36 http://ftpmaster.internal/ubuntu oracular/main armhf fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 262s Get:37 http://ftpmaster.internal/ubuntu oracular/main armhf liberror-perl all 0.17029-2 [25.6 kB] 262s Get:38 http://ftpmaster.internal/ubuntu oracular/main armhf git-man all 1:2.45.2-1ubuntu1 [1122 kB] 262s Get:39 http://ftpmaster.internal/ubuntu oracular/main armhf git armhf 1:2.45.2-1ubuntu1 [4504 kB] 262s Get:40 http://ftpmaster.internal/ubuntu oracular/main armhf libexpat1-dev armhf 2.6.2-1 [123 kB] 262s Get:41 http://ftpmaster.internal/ubuntu oracular/main armhf libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 262s Get:42 http://ftpmaster.internal/ubuntu oracular/main armhf libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 262s Get:43 http://ftpmaster.internal/ubuntu oracular/main armhf libjs-sphinxdoc all 7.3.7-3 [154 kB] 262s Get:44 http://ftpmaster.internal/ubuntu oracular/main armhf libpython3.12t64 armhf 3.12.4-1ubuntu1 [2050 kB] 262s Get:45 http://ftpmaster.internal/ubuntu oracular/main armhf zlib1g-dev armhf 1:1.3.dfsg-3.1ubuntu2 [880 kB] 262s Get:46 http://ftpmaster.internal/ubuntu oracular/main armhf libpython3.12-dev armhf 3.12.4-1ubuntu1 [4299 kB] 262s Get:47 http://ftpmaster.internal/ubuntu oracular/main armhf libpython3-dev armhf 3.12.3-0ubuntu1 [10.2 kB] 262s Get:48 http://ftpmaster.internal/ubuntu oracular/main armhf libpython3-all-dev armhf 3.12.3-0ubuntu1 [910 B] 262s Get:49 http://ftpmaster.internal/ubuntu oracular/main armhf sphinx-rtd-theme-common all 2.0.0+dfsg-1 [1012 kB] 262s Get:50 http://ftpmaster.internal/ubuntu oracular/universe armhf python-skbuild-doc all 0.17.6-2 [135 kB] 262s Get:51 http://ftpmaster.internal/ubuntu oracular/main armhf python3-all armhf 3.12.3-0ubuntu1 [886 B] 262s Get:52 http://ftpmaster.internal/ubuntu oracular/main armhf python3.12-dev armhf 3.12.4-1ubuntu1 [498 kB] 262s Get:53 http://ftpmaster.internal/ubuntu oracular/main armhf python3-dev armhf 3.12.3-0ubuntu1 [26.7 kB] 262s Get:54 http://ftpmaster.internal/ubuntu oracular/main armhf python3-all-dev armhf 3.12.3-0ubuntu1 [910 B] 262s Get:55 http://ftpmaster.internal/ubuntu oracular/main armhf python3-packaging all 24.1-1 [41.4 kB] 262s Get:56 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-pyproject-hooks all 1.1.0-1 [9852 B] 262s Get:57 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-toml all 0.10.2-1 [16.5 kB] 262s Get:58 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-wheel all 0.43.0-1 [53.5 kB] 262s Get:59 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-build all 1.2.1-1 [29.7 kB] 262s Get:60 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-distlib all 0.3.8-1 [318 kB] 262s Get:61 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-filelock all 3.15.4-1 [12.8 kB] 262s Get:62 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-iniconfig all 1.1.1-2 [6024 B] 262s Get:63 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-pip all 24.1.1+dfsg-1 [1400 kB] 262s Get:64 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-pip-whl all 24.1.1+dfsg-1 [1427 kB] 262s Get:65 http://ftpmaster.internal/ubuntu oracular/main armhf python3-platformdirs all 4.2.1-1 [16.3 kB] 262s Get:66 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-pluggy all 1.5.0-1 [21.0 kB] 262s Get:67 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-pytest all 7.4.4-1 [305 kB] 262s Get:68 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-pytest-mock all 3.14.0-1 [11.6 kB] 262s Get:69 http://ftpmaster.internal/ubuntu oracular-proposed/universe armhf python3-setuptools-whl all 70.3.0-2 [762 kB] 262s Get:70 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-skbuild all 0.17.6-2 [59.1 kB] 262s Get:71 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-wheel-whl all 0.43.0-1 [68.2 kB] 262s Get:72 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-virtualenv all 20.26.2+ds-1 [71.6 kB] 263s Fetched 81.5 MB in 3s (29.7 MB/s) 263s Selecting previously unselected package fonts-lato. 263s (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 ... 58496 files and directories currently installed.) 263s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 263s Unpacking fonts-lato (2.015-1) ... 263s Selecting previously unselected package libc-dev-bin. 263s Preparing to unpack .../01-libc-dev-bin_2.39-0ubuntu9_armhf.deb ... 263s Unpacking libc-dev-bin (2.39-0ubuntu9) ... 263s Selecting previously unselected package linux-libc-dev:armhf. 263s Preparing to unpack .../02-linux-libc-dev_6.8.0-31.31_armhf.deb ... 263s Unpacking linux-libc-dev:armhf (6.8.0-31.31) ... 263s Selecting previously unselected package libcrypt-dev:armhf. 263s Preparing to unpack .../03-libcrypt-dev_1%3a4.4.36-4build1_armhf.deb ... 264s Unpacking libcrypt-dev:armhf (1:4.4.36-4build1) ... 264s Selecting previously unselected package rpcsvc-proto. 264s Preparing to unpack .../04-rpcsvc-proto_1.4.2-0ubuntu7_armhf.deb ... 264s Unpacking rpcsvc-proto (1.4.2-0ubuntu7) ... 264s Selecting previously unselected package libc6-dev:armhf. 264s Preparing to unpack .../05-libc6-dev_2.39-0ubuntu9_armhf.deb ... 264s Unpacking libc6-dev:armhf (2.39-0ubuntu9) ... 264s Selecting previously unselected package gcc-13-base:armhf. 264s Preparing to unpack .../06-gcc-13-base_13.2.0-23ubuntu4_armhf.deb ... 264s Unpacking gcc-13-base:armhf (13.2.0-23ubuntu4) ... 264s Selecting previously unselected package libisl23:armhf. 264s Preparing to unpack .../07-libisl23_0.26-3build1_armhf.deb ... 264s Unpacking libisl23:armhf (0.26-3build1) ... 264s Selecting previously unselected package libmpc3:armhf. 264s Preparing to unpack .../08-libmpc3_1.3.1-1build1_armhf.deb ... 264s Unpacking libmpc3:armhf (1.3.1-1build1) ... 264s Selecting previously unselected package cpp-13-arm-linux-gnueabihf. 264s Preparing to unpack .../09-cpp-13-arm-linux-gnueabihf_13.2.0-23ubuntu4_armhf.deb ... 264s Unpacking cpp-13-arm-linux-gnueabihf (13.2.0-23ubuntu4) ... 264s Selecting previously unselected package cpp-13. 264s Preparing to unpack .../10-cpp-13_13.2.0-23ubuntu4_armhf.deb ... 264s Unpacking cpp-13 (13.2.0-23ubuntu4) ... 264s Selecting previously unselected package cpp-arm-linux-gnueabihf. 264s Preparing to unpack .../11-cpp-arm-linux-gnueabihf_4%3a13.2.0-7ubuntu1_armhf.deb ... 264s Unpacking cpp-arm-linux-gnueabihf (4:13.2.0-7ubuntu1) ... 264s Selecting previously unselected package cpp. 264s Preparing to unpack .../12-cpp_4%3a13.2.0-7ubuntu1_armhf.deb ... 264s Unpacking cpp (4:13.2.0-7ubuntu1) ... 264s Selecting previously unselected package libcc1-0:armhf. 264s Preparing to unpack .../13-libcc1-0_14.1.0-1ubuntu1_armhf.deb ... 264s Unpacking libcc1-0:armhf (14.1.0-1ubuntu1) ... 264s Selecting previously unselected package libgomp1:armhf. 264s Preparing to unpack .../14-libgomp1_14.1.0-1ubuntu1_armhf.deb ... 264s Unpacking libgomp1:armhf (14.1.0-1ubuntu1) ... 264s Selecting previously unselected package libatomic1:armhf. 264s Preparing to unpack .../15-libatomic1_14.1.0-1ubuntu1_armhf.deb ... 264s Unpacking libatomic1:armhf (14.1.0-1ubuntu1) ... 264s Selecting previously unselected package libasan8:armhf. 264s Preparing to unpack .../16-libasan8_14.1.0-1ubuntu1_armhf.deb ... 264s Unpacking libasan8:armhf (14.1.0-1ubuntu1) ... 265s Selecting previously unselected package libubsan1:armhf. 265s Preparing to unpack .../17-libubsan1_14.1.0-1ubuntu1_armhf.deb ... 265s Unpacking libubsan1:armhf (14.1.0-1ubuntu1) ... 265s Selecting previously unselected package libgcc-13-dev:armhf. 265s Preparing to unpack .../18-libgcc-13-dev_13.2.0-23ubuntu4_armhf.deb ... 265s Unpacking libgcc-13-dev:armhf (13.2.0-23ubuntu4) ... 265s Selecting previously unselected package gcc-13-arm-linux-gnueabihf. 265s Preparing to unpack .../19-gcc-13-arm-linux-gnueabihf_13.2.0-23ubuntu4_armhf.deb ... 265s Unpacking gcc-13-arm-linux-gnueabihf (13.2.0-23ubuntu4) ... 267s Selecting previously unselected package gcc-13. 267s Preparing to unpack .../20-gcc-13_13.2.0-23ubuntu4_armhf.deb ... 267s Unpacking gcc-13 (13.2.0-23ubuntu4) ... 267s Selecting previously unselected package gcc-arm-linux-gnueabihf. 267s Preparing to unpack .../21-gcc-arm-linux-gnueabihf_4%3a13.2.0-7ubuntu1_armhf.deb ... 267s Unpacking gcc-arm-linux-gnueabihf (4:13.2.0-7ubuntu1) ... 267s Selecting previously unselected package gcc. 267s Preparing to unpack .../22-gcc_4%3a13.2.0-7ubuntu1_armhf.deb ... 267s Unpacking gcc (4:13.2.0-7ubuntu1) ... 267s Selecting previously unselected package libstdc++-13-dev:armhf. 267s Preparing to unpack .../23-libstdc++-13-dev_13.2.0-23ubuntu4_armhf.deb ... 267s Unpacking libstdc++-13-dev:armhf (13.2.0-23ubuntu4) ... 267s Selecting previously unselected package g++-13-arm-linux-gnueabihf. 267s Preparing to unpack .../24-g++-13-arm-linux-gnueabihf_13.2.0-23ubuntu4_armhf.deb ... 267s Unpacking g++-13-arm-linux-gnueabihf (13.2.0-23ubuntu4) ... 267s Selecting previously unselected package g++-13. 267s Preparing to unpack .../25-g++-13_13.2.0-23ubuntu4_armhf.deb ... 267s Unpacking g++-13 (13.2.0-23ubuntu4) ... 267s Selecting previously unselected package g++-arm-linux-gnueabihf. 267s Preparing to unpack .../26-g++-arm-linux-gnueabihf_4%3a13.2.0-7ubuntu1_armhf.deb ... 267s Unpacking g++-arm-linux-gnueabihf (4:13.2.0-7ubuntu1) ... 267s Selecting previously unselected package g++. 267s Preparing to unpack .../27-g++_4%3a13.2.0-7ubuntu1_armhf.deb ... 267s Unpacking g++ (4:13.2.0-7ubuntu1) ... 267s Selecting previously unselected package build-essential. 267s Preparing to unpack .../28-build-essential_12.10ubuntu1_armhf.deb ... 267s Unpacking build-essential (12.10ubuntu1) ... 267s Selecting previously unselected package libjsoncpp25:armhf. 267s Preparing to unpack .../29-libjsoncpp25_1.9.5-6build1_armhf.deb ... 267s Unpacking libjsoncpp25:armhf (1.9.5-6build1) ... 267s Selecting previously unselected package librhash0:armhf. 267s Preparing to unpack .../30-librhash0_1.4.3-3build1_armhf.deb ... 267s Unpacking librhash0:armhf (1.4.3-3build1) ... 267s Selecting previously unselected package cmake-data. 267s Preparing to unpack .../31-cmake-data_3.29.6-1_all.deb ... 267s Unpacking cmake-data (3.29.6-1) ... 267s Selecting previously unselected package cmake. 267s Preparing to unpack .../32-cmake_3.29.6-1_armhf.deb ... 267s Unpacking cmake (3.29.6-1) ... 267s Selecting previously unselected package cython3. 267s Preparing to unpack .../33-cython3_3.0.10+dfsg-5ubuntu1_armhf.deb ... 267s Unpacking cython3 (3.0.10+dfsg-5ubuntu1) ... 267s Selecting previously unselected package fonts-font-awesome. 267s Preparing to unpack .../34-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 267s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 267s Selecting previously unselected package liberror-perl. 267s Preparing to unpack .../35-liberror-perl_0.17029-2_all.deb ... 267s Unpacking liberror-perl (0.17029-2) ... 267s Selecting previously unselected package git-man. 267s Preparing to unpack .../36-git-man_1%3a2.45.2-1ubuntu1_all.deb ... 267s Unpacking git-man (1:2.45.2-1ubuntu1) ... 267s Selecting previously unselected package git. 268s Preparing to unpack .../37-git_1%3a2.45.2-1ubuntu1_armhf.deb ... 268s Unpacking git (1:2.45.2-1ubuntu1) ... 268s Selecting previously unselected package libexpat1-dev:armhf. 268s Preparing to unpack .../38-libexpat1-dev_2.6.2-1_armhf.deb ... 268s Unpacking libexpat1-dev:armhf (2.6.2-1) ... 268s Selecting previously unselected package libjs-jquery. 268s Preparing to unpack .../39-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 268s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 268s Selecting previously unselected package libjs-underscore. 268s Preparing to unpack .../40-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 268s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 268s Selecting previously unselected package libjs-sphinxdoc. 268s Preparing to unpack .../41-libjs-sphinxdoc_7.3.7-3_all.deb ... 268s Unpacking libjs-sphinxdoc (7.3.7-3) ... 268s Selecting previously unselected package libpython3.12t64:armhf. 268s Preparing to unpack .../42-libpython3.12t64_3.12.4-1ubuntu1_armhf.deb ... 268s Unpacking libpython3.12t64:armhf (3.12.4-1ubuntu1) ... 268s Selecting previously unselected package zlib1g-dev:armhf. 268s Preparing to unpack .../43-zlib1g-dev_1%3a1.3.dfsg-3.1ubuntu2_armhf.deb ... 268s Unpacking zlib1g-dev:armhf (1:1.3.dfsg-3.1ubuntu2) ... 268s Selecting previously unselected package libpython3.12-dev:armhf. 268s Preparing to unpack .../44-libpython3.12-dev_3.12.4-1ubuntu1_armhf.deb ... 268s Unpacking libpython3.12-dev:armhf (3.12.4-1ubuntu1) ... 268s Selecting previously unselected package libpython3-dev:armhf. 268s Preparing to unpack .../45-libpython3-dev_3.12.3-0ubuntu1_armhf.deb ... 268s Unpacking libpython3-dev:armhf (3.12.3-0ubuntu1) ... 268s Selecting previously unselected package libpython3-all-dev:armhf. 268s Preparing to unpack .../46-libpython3-all-dev_3.12.3-0ubuntu1_armhf.deb ... 268s Unpacking libpython3-all-dev:armhf (3.12.3-0ubuntu1) ... 269s Selecting previously unselected package sphinx-rtd-theme-common. 269s Preparing to unpack .../47-sphinx-rtd-theme-common_2.0.0+dfsg-1_all.deb ... 269s Unpacking sphinx-rtd-theme-common (2.0.0+dfsg-1) ... 269s Selecting previously unselected package python-skbuild-doc. 269s Preparing to unpack .../48-python-skbuild-doc_0.17.6-2_all.deb ... 269s Unpacking python-skbuild-doc (0.17.6-2) ... 269s Selecting previously unselected package python3-all. 269s Preparing to unpack .../49-python3-all_3.12.3-0ubuntu1_armhf.deb ... 269s Unpacking python3-all (3.12.3-0ubuntu1) ... 269s Selecting previously unselected package python3.12-dev. 269s Preparing to unpack .../50-python3.12-dev_3.12.4-1ubuntu1_armhf.deb ... 269s Unpacking python3.12-dev (3.12.4-1ubuntu1) ... 269s Selecting previously unselected package python3-dev. 269s Preparing to unpack .../51-python3-dev_3.12.3-0ubuntu1_armhf.deb ... 269s Unpacking python3-dev (3.12.3-0ubuntu1) ... 269s Selecting previously unselected package python3-all-dev. 269s Preparing to unpack .../52-python3-all-dev_3.12.3-0ubuntu1_armhf.deb ... 269s Unpacking python3-all-dev (3.12.3-0ubuntu1) ... 269s Selecting previously unselected package python3-packaging. 269s Preparing to unpack .../53-python3-packaging_24.1-1_all.deb ... 269s Unpacking python3-packaging (24.1-1) ... 269s Selecting previously unselected package python3-pyproject-hooks. 269s Preparing to unpack .../54-python3-pyproject-hooks_1.1.0-1_all.deb ... 269s Unpacking python3-pyproject-hooks (1.1.0-1) ... 269s Selecting previously unselected package python3-toml. 269s Preparing to unpack .../55-python3-toml_0.10.2-1_all.deb ... 269s Unpacking python3-toml (0.10.2-1) ... 269s Selecting previously unselected package python3-wheel. 269s Preparing to unpack .../56-python3-wheel_0.43.0-1_all.deb ... 269s Unpacking python3-wheel (0.43.0-1) ... 269s Selecting previously unselected package python3-build. 269s Preparing to unpack .../57-python3-build_1.2.1-1_all.deb ... 269s Unpacking python3-build (1.2.1-1) ... 269s Selecting previously unselected package python3-distlib. 269s Preparing to unpack .../58-python3-distlib_0.3.8-1_all.deb ... 269s Unpacking python3-distlib (0.3.8-1) ... 269s Selecting previously unselected package python3-filelock. 269s Preparing to unpack .../59-python3-filelock_3.15.4-1_all.deb ... 269s Unpacking python3-filelock (3.15.4-1) ... 269s Selecting previously unselected package python3-iniconfig. 269s Preparing to unpack .../60-python3-iniconfig_1.1.1-2_all.deb ... 269s Unpacking python3-iniconfig (1.1.1-2) ... 269s Selecting previously unselected package python3-pip. 269s Preparing to unpack .../61-python3-pip_24.1.1+dfsg-1_all.deb ... 269s Unpacking python3-pip (24.1.1+dfsg-1) ... 270s Selecting previously unselected package python3-pip-whl. 270s Preparing to unpack .../62-python3-pip-whl_24.1.1+dfsg-1_all.deb ... 270s Unpacking python3-pip-whl (24.1.1+dfsg-1) ... 270s Selecting previously unselected package python3-platformdirs. 270s Preparing to unpack .../63-python3-platformdirs_4.2.1-1_all.deb ... 270s Unpacking python3-platformdirs (4.2.1-1) ... 270s Selecting previously unselected package python3-pluggy. 270s Preparing to unpack .../64-python3-pluggy_1.5.0-1_all.deb ... 270s Unpacking python3-pluggy (1.5.0-1) ... 270s Selecting previously unselected package python3-pytest. 270s Preparing to unpack .../65-python3-pytest_7.4.4-1_all.deb ... 270s Unpacking python3-pytest (7.4.4-1) ... 270s Selecting previously unselected package python3-pytest-mock. 270s Preparing to unpack .../66-python3-pytest-mock_3.14.0-1_all.deb ... 270s Unpacking python3-pytest-mock (3.14.0-1) ... 270s Selecting previously unselected package python3-setuptools-whl. 270s Preparing to unpack .../67-python3-setuptools-whl_70.3.0-2_all.deb ... 270s Unpacking python3-setuptools-whl (70.3.0-2) ... 270s Selecting previously unselected package python3-skbuild. 270s Preparing to unpack .../68-python3-skbuild_0.17.6-2_all.deb ... 270s Unpacking python3-skbuild (0.17.6-2) ... 270s Selecting previously unselected package python3-wheel-whl. 270s Preparing to unpack .../69-python3-wheel-whl_0.43.0-1_all.deb ... 270s Unpacking python3-wheel-whl (0.43.0-1) ... 270s Selecting previously unselected package python3-virtualenv. 270s Preparing to unpack .../70-python3-virtualenv_20.26.2+ds-1_all.deb ... 270s Unpacking python3-virtualenv (20.26.2+ds-1) ... 270s Selecting previously unselected package autopkgtest-satdep. 270s Preparing to unpack .../71-1-autopkgtest-satdep.deb ... 270s Unpacking autopkgtest-satdep (0) ... 270s Setting up python3-iniconfig (1.1.1-2) ... 270s Setting up python3-setuptools-whl (70.3.0-2) ... 270s Setting up python3-filelock (3.15.4-1) ... 270s Setting up fonts-lato (2.015-1) ... 270s Setting up python3-pip-whl (24.1.1+dfsg-1) ... 270s Setting up linux-libc-dev:armhf (6.8.0-31.31) ... 270s Setting up python3-all (3.12.3-0ubuntu1) ... 270s Setting up python3-distlib (0.3.8-1) ... 271s Setting up libgomp1:armhf (14.1.0-1ubuntu1) ... 271s Setting up python3-wheel (0.43.0-1) ... 271s Setting up python3-platformdirs (4.2.1-1) ... 271s Setting up liberror-perl (0.17029-2) ... 271s Setting up libpython3.12t64:armhf (3.12.4-1ubuntu1) ... 271s Setting up python3-packaging (24.1-1) ... 271s Setting up rpcsvc-proto (1.4.2-0ubuntu7) ... 271s Setting up gcc-13-base:armhf (13.2.0-23ubuntu4) ... 271s Setting up python3-pyproject-hooks (1.1.0-1) ... 271s Setting up libmpc3:armhf (1.3.1-1build1) ... 271s Setting up libatomic1:armhf (14.1.0-1ubuntu1) ... 271s Setting up cython3 (3.0.10+dfsg-5ubuntu1) ... 273s Setting up libjsoncpp25:armhf (1.9.5-6build1) ... 273s Setting up python3-pip (24.1.1+dfsg-1) ... 274s Setting up python3-toml (0.10.2-1) ... 274s Setting up python3-pluggy (1.5.0-1) ... 274s Setting up libubsan1:armhf (14.1.0-1ubuntu1) ... 274s Setting up librhash0:armhf (1.4.3-3build1) ... 274s Setting up libcrypt-dev:armhf (1:4.4.36-4build1) ... 274s Setting up libasan8:armhf (14.1.0-1ubuntu1) ... 274s Setting up git-man (1:2.45.2-1ubuntu1) ... 274s Setting up cmake-data (3.29.6-1) ... 274s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 274s Setting up libisl23:armhf (0.26-3build1) ... 274s Setting up python3-build (1.2.1-1) ... 274s Setting up libc-dev-bin (2.39-0ubuntu9) ... 274s Setting up python3-wheel-whl (0.43.0-1) ... 274s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 274s Setting up sphinx-rtd-theme-common (2.0.0+dfsg-1) ... 274s Setting up libcc1-0:armhf (14.1.0-1ubuntu1) ... 274s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 274s Setting up cpp-13-arm-linux-gnueabihf (13.2.0-23ubuntu4) ... 274s Setting up python3-pytest (7.4.4-1) ... 275s Setting up python3-virtualenv (20.26.2+ds-1) ... 275s Setting up git (1:2.45.2-1ubuntu1) ... 275s Setting up libjs-sphinxdoc (7.3.7-3) ... 275s Setting up python3-pytest-mock (3.14.0-1) ... 275s Setting up libgcc-13-dev:armhf (13.2.0-23ubuntu4) ... 275s Setting up cmake (3.29.6-1) ... 275s Setting up libc6-dev:armhf (2.39-0ubuntu9) ... 275s Setting up cpp-arm-linux-gnueabihf (4:13.2.0-7ubuntu1) ... 275s Setting up libstdc++-13-dev:armhf (13.2.0-23ubuntu4) ... 275s Setting up cpp-13 (13.2.0-23ubuntu4) ... 275s Setting up python-skbuild-doc (0.17.6-2) ... 275s Setting up python3-skbuild (0.17.6-2) ... 276s Setting up gcc-13-arm-linux-gnueabihf (13.2.0-23ubuntu4) ... 276s Setting up libexpat1-dev:armhf (2.6.2-1) ... 276s Setting up gcc-13 (13.2.0-23ubuntu4) ... 276s Setting up zlib1g-dev:armhf (1:1.3.dfsg-3.1ubuntu2) ... 276s Setting up cpp (4:13.2.0-7ubuntu1) ... 276s Setting up gcc-arm-linux-gnueabihf (4:13.2.0-7ubuntu1) ... 276s Setting up g++-13-arm-linux-gnueabihf (13.2.0-23ubuntu4) ... 276s Setting up g++-arm-linux-gnueabihf (4:13.2.0-7ubuntu1) ... 276s Setting up g++-13 (13.2.0-23ubuntu4) ... 276s Setting up libpython3.12-dev:armhf (3.12.4-1ubuntu1) ... 276s Setting up gcc (4:13.2.0-7ubuntu1) ... 276s Setting up python3.12-dev (3.12.4-1ubuntu1) ... 276s Setting up g++ (4:13.2.0-7ubuntu1) ... 276s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 276s Setting up build-essential (12.10ubuntu1) ... 276s Setting up libpython3-dev:armhf (3.12.3-0ubuntu1) ... 276s Setting up libpython3-all-dev:armhf (3.12.3-0ubuntu1) ... 276s Setting up python3-dev (3.12.3-0ubuntu1) ... 276s Setting up python3-all-dev (3.12.3-0ubuntu1) ... 276s Setting up autopkgtest-satdep (0) ... 276s Processing triggers for man-db (2.12.1-2) ... 277s Processing triggers for libc-bin (2.39-0ubuntu9) ... 293s (Reading database ... 68034 files and directories currently installed.) 293s Removing autopkgtest-satdep (0) ... 300s autopkgtest [22:32:28]: test testsuite: [----------------------- 301s + cp -r tests /tmp/autopkgtest.EPTB0Y/autopkgtest_tmp 301s + cp pyproject.toml /tmp/autopkgtest.EPTB0Y/autopkgtest_tmp 301s + cd /tmp/autopkgtest.EPTB0Y/autopkgtest_tmp 301s + py3versions -s 302s + python3.12 -m pytest -W ignore::DeprecationWarning -k not test_hello_sdist and not test_hello_sdist_with_base and not test_sdist_with_symlinks and not test_manifest_in_sdist and not test_generator_cleanup and not test_fortran and not test_pep518_findpython and not test_pep518 and not test_dual_pep518 and not test_hello_develop and not test_install_command and not test_help_commands and not test_test_command and not test_source_distribution and not test_wheel --ignore=tests/test_distribution.py 303s ============================= test session starts ============================== 303s platform linux -- Python 3.12.4, pytest-7.4.4, pluggy-1.5.0 303s installed packages of interest: build==1.2.1 distro==1.9.0 packaging==24.1 pip==24.1.1 scikit-build==0.17.6 setuptools==70.3.0 virtualenv==20.26.2 wheel==0.43.0 303s rootdir: /tmp/autopkgtest.EPTB0Y/autopkgtest_tmp 303s configfile: pyproject.toml 303s testpaths: tests 303s plugins: mock-3.14.0 303s collected 241 items / 19 deselected / 1 skipped / 222 selected 303s 308s tests/test_broken_project.py ....... [ 3%] 308s tests/test_cmake_target.py . [ 3%] 311s tests/test_cmakelists_not_in_top_level_dir.py F... [ 5%] 317s tests/test_cmaker.py ............... [ 12%] 319s tests/test_command_line.py .......FFFF.. [ 18%] 319s tests/test_constants.py . [ 18%] 324s tests/test_cython_flags.py F [ 18%] 326s tests/test_filter_manifest.py F [ 19%] 341s tests/test_hello_cpp.py FFFFF [ 21%] 352s tests/test_hello_cython.py FFF [ 22%] 353s tests/test_hello_pure.py FFFF [ 24%] 354s tests/test_include_exclude_data.py FF [ 25%] 356s tests/test_issue284_build_ext_inplace.py F [ 26%] 357s tests/test_issue335_support_cmake_source_dir.py F [ 26%] 358s tests/test_issue342_cmake_osx_args_in_setup.py ......... [ 30%] 358s tests/test_issue352_isolated_environment_support.py . [ 31%] 365s tests/test_issue668_symbol_visibility.py FF [ 31%] 365s tests/test_logging.py .. [ 32%] 365s tests/test_manifest_in.py F [ 33%] 366s tests/test_outside_project_root.py ... [ 34%] 367s tests/test_platform.py .............s [ 40%] 489s tests/test_setup.py .FF......FFF.FFFFF.................................. [ 64%] 496s ..........sss.sss.sss.sss.sss.sss.sss.sssFF... [ 85%] 500s tests/test_skbuild.py .sF..ssss [ 89%] 501s tests/test_skbuild_variable.py .FF [ 90%] 501s tests/test_utils.py ..................... [100%] 501s 501s =================================== FAILURES =================================== 501s __________________________________ test_build __________________________________ 501s 501s iargs = () 501s ikwargs = {'capsys': <_pytest.capture.CaptureFixture object at 0xec9ba108>} 501s 501s @functools.wraps(fun) 501s def wrapped(*iargs, **ikwargs): 501s if wrapped.tmp_dir is None: # type: ignore[attr-defined] 501s wrapped.tmp_dir = _tmpdir(fun.__name__) # type: ignore[attr-defined] 501s prepare_project(wrapped.project, wrapped.tmp_dir) # type: ignore[attr-defined] 501s initialize_git_repo_and_commit(wrapped.tmp_dir, verbose=wrapped.verbose_git) # type: ignore[attr-defined] 501s 501s > with execute_setup_py(wrapped.tmp_dir, wrapped.setup_args, disable_languages_test=disable_languages_test): # type: ignore[attr-defined] 501s 501s disable_languages_test = True 501s fun = 501s iargs = () 501s ikwargs = {'capsys': <_pytest.capture.CaptureFixture object at 0xec9ba108>} 501s ret = False 501s wrapped = 501s 501s tests/__init__.py:261: 501s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 501s /usr/lib/python3.12/contextlib.py:137: in __enter__ 501s return next(self.gen) 501s self = 501s tests/__init__.py:244: in execute_setup_py 501s exec(setup_code) 501s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 501s disable_languages_test = True 501s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 501s original_write_test_cmakelist = 501s platform = 501s project_dir = local('/tmp/pytest-of-ubuntu/pytest-8/test_build0') 501s setup = 501s setup_args = ['build'] 501s setup_code = at 0xeca62020, file "setup.py", line 1> 501s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xeca3e258> 501s setup.py:5: in 501s ??? 501s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 501s disable_languages_test = True 501s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 501s original_write_test_cmakelist = 501s platform = 501s project_dir = local('/tmp/pytest-of-ubuntu/pytest-8/test_build0') 501s setup = 501s setup_args = ['build'] 501s setup_code = at 0xeca62020, file "setup.py", line 1> 501s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xeca3e258> 501s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:781: in setup 501s return setuptools.setup(**kw) # type: ignore[no-any-return, func-returns-value] 501s BinaryDistribution = .BinaryDistribution'> 501s build_ext_inplace = False 501s cmake_args = ['-DCMAKE_BUILD_TYPE:STRING=Release'] 501s cmake_args_from_args = [] 501s cmake_executable = '/usr/bin/cmake' 501s cmake_install_dir = '' 501s cmake_install_target = 'install' 501s cmake_install_target_from_command = '' 501s cmake_install_target_from_setup = 'install' 501s cmake_languages = ('C', 'CXX') 501s cmake_manifest = ['_skbuild/linux-armv7l-3.12/cmake-install/hello/_hello.cpython-312-arm-linux-gnueabihf.so'] 501s cmake_minimum_required_version = None 501s cmake_process_manifest_hook = None 501s cmake_source_dir = 'hello' 501s cmake_spec = {'args': ['/usr/bin/cmake', '-DCMAKE_BUILD_TYPE:STRING=Release'], 'environment': {'PYTHONNOUSERSITE': None, 'PYTHONPATH': None}, 'version': '3.29.6'} 501s cmake_with_sdist = False 501s cmdclass = {'bdist': , 'bdist_wheel': , 'build': , 'build_ext': , ...} 501s cmkr = 501s commands = ['build'] 501s config_type = 'Release' 501s data_files = {} 501s developer_mode = False 501s display_only = False 501s env = {'ADTTMP': '/tmp/autopkgtest.EPTB0Y/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', 'ADT_TEST_TRIGGERS': 'setuptools/70.3.0-2', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', ...} 501s env_cmake_args = [] 501s force_cmake = False 501s has_cmakelists = True 501s has_invalid_arguments = False 501s help_commands = 0 501s hide_listing = False 501s kw = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package (CMakeLists not in top-level dir)', ...} 501s make_args = ['--config', 'Release'] 501s new_py_modules = {} 501s new_scripts = {} 501s original_manifestin_data_files = [] 501s original_package_data = {} 501s package = 'hello' 501s package_data = {'hello': ['_hello.cpython-312-arm-linux-gnueabihf.so', 'hello/__init__.py', 'hello/__main__.py']} 501s package_dir = {'hello': 'hello'} 501s package_prefixes = [('hello', 'hello')] 501s packages = ['hello'] 501s plat_name = None 501s process_manifest = None 501s py_modules = [] 501s scripts = [] 501s skip_cmake = False 501s skip_generator_test = False 501s skip_skbuild = False 501s /usr/lib/python3/dist-packages/setuptools/__init__.py:103: in setup 501s return distutils.core.setup(**attrs) 501s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package (CMakeLists not in top-level dir)', ...} 501s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:184: in setup 501s return run_commands(dist) 501s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package (CMakeLists not in top-level dir)', ...} 501s dist = .BinaryDistribution object at 0xec9a1df8> 501s klass = .BinaryDistribution'> 501s ok = True 501s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:200: in run_commands 501s dist.run_commands() 501s dist = .BinaryDistribution object at 0xec9a1df8> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:970: in run_commands 501s self.run_command(cmd) 501s cmd = 'build' 501s self = .BinaryDistribution object at 0xec9a1df8> 501s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 501s super().run_command(command) 501s __class__ = 501s command = 'build' 501s self = .BinaryDistribution object at 0xec9a1df8> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 501s cmd_obj.run() 501s cmd_obj = 501s command = 'build' 501s self = .BinaryDistribution object at 0xec9a1df8> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build.py:135: in run 501s self.run_command(cmd_name) 501s cmd_name = 'build_py' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 501s self.distribution.run_command(command) 501s command = 'build_py' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 501s super().run_command(command) 501s __class__ = 501s command = 'build_py' 501s self = .BinaryDistribution object at 0xec9a1df8> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 501s cmd_obj.run() 501s cmd_obj = 501s command = 'build_py' 501s self = .BinaryDistribution object at 0xec9a1df8> 501s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:41: in run 501s super().run(*args, **kwargs) 501s __class__ = 501s args = () 501s kwargs = {} 501s self = 501s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:74: in run 501s self.build_packages() 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:379: in build_packages 501s self.build_module(module, module_file, package) 501s module = '__main__' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/hello/__main__.py' 501s modules = [('hello', '__main__', '_skbuild/linux-armv7l-3.12/cmake-install/hello/__main__.py'), ('hello', '__init__', '_skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py')] 501s package = 'hello' 501s package_ = 'hello' 501s package_dir = '_skbuild/linux-armv7l-3.12/cmake-install/hello' 501s self = 501s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:31: in build_module 501s super().build_module(module, module_file, package) # type: ignore[no-untyped-call] 501s __class__ = 501s module = '__main__' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/hello/__main__.py' 501s package = 'hello' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:89: in build_module 501s outfile, copied = orig.build_py.build_module(self, module, module_file, package) 501s module = '__main__' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/hello/__main__.py' 501s package = 'hello' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:349: in build_module 501s self.mkpath(dir) 501s dir = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello' 501s module = '__main__' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/hello/__main__.py' 501s outfile = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello/__main__.py' 501s package = ['hello'] 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:340: in mkpath 501s dir_util.mkpath(name, mode, dry_run=self.dry_run) 501s mode = 511 501s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello' 501s self = 501s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 501s 501s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello' 501s mode = 511, verbose = True, dry_run = False 501s 501s def mkpath(name, mode=0o777, verbose=True, dry_run=False): # noqa: C901 501s """Create a directory and any missing ancestor directories. 501s 501s If the directory already exists (or if 'name' is the empty string, which 501s means the current directory, which of course exists), then do nothing. 501s Raise DistutilsFileError if unable to create some directory along the way 501s (eg. some sub-path exists, but is a file rather than a directory). 501s If 'verbose' is true, print a one-line summary of each mkdir to stdout. 501s Return the list of directories actually created. 501s 501s os.makedirs is not used because: 501s 501s a) It's new to Python 1.5.2, and 501s b) it blows up if the directory already exists (in which case it should 501s silently succeed). 501s """ 501s 501s global _path_created 501s 501s # Detect a common bug -- name is None 501s if not isinstance(name, str): 501s raise DistutilsInternalError(f"mkpath: 'name' must be a string (got {name!r})") 501s 501s # XXX what's the better way to handle verbosity? print as we create 501s # each directory in the path (the current behaviour), or only announce 501s # the creation of the whole path? (quite easy to do the latter since 501s # we're not using a recursive algorithm) 501s 501s name = os.path.normpath(name) 501s created_dirs = [] 501s if os.path.isdir(name) or name == '': 501s return created_dirs 501s if os.path.abspath(name) in _path_created: 501s return created_dirs 501s 501s (head, tail) = os.path.split(name) 501s tails = [tail] # stack of lone dirs to create 501s 501s while head and tail and not os.path.isdir(head): 501s (head, tail) = os.path.split(head) 501s tails.insert(0, tail) # push next higher dir onto stack 501s 501s # now 'head' contains the deepest directory that already exists 501s # (that is, the child of 'head' in 'name' is the highest directory 501s # that does *not* exist) 501s for d in tails: 501s # print "head = %s, d = %s: " % (head, d), 501s head = os.path.join(head, d) 501s abs_head = os.path.abspath(head) 501s 501s if abs_head in _path_created: 501s continue 501s 501s if verbose >= 1: 501s log.info("creating %s", head) 501s 501s if not dry_run: 501s try: 501s os.mkdir(head, mode) 501s except OSError as exc: 501s if not (exc.errno == errno.EEXIST and os.path.isdir(head)): 501s raise DistutilsFileError( 501s f"could not create '{head}': {exc.args[-1]}" 501s ) 501s created_dirs.append(head) 501s 501s > _path_created.add(abs_head) 501s E AttributeError: 'dict' object has no attribute 'add' 501s 501s abs_head = '/tmp/pytest-of-ubuntu/pytest-8/test_build0/_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s created_dirs = ['_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312'] 501s d = 'lib.linux-armv7l-cpython-312' 501s dry_run = False 501s head = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s mode = 511 501s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello' 501s tail = 'lib.linux-armv7l-cpython-312' 501s tails = ['lib.linux-armv7l-cpython-312', 'hello'] 501s verbose = True 501s 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dir_util.py:82: AttributeError 501s ----------------------------- Captured stdout call ----------------------------- 501s Initialized empty Git repository in /tmp/pytest-of-ubuntu/pytest-8/test_build0/.git/ 501s [master (root-commit) f0b394c] Initial commit 501s 5 files changed, 94 insertions(+) 501s create mode 100644 hello/CMakeLists.txt 501s create mode 100644 hello/__init__.py 501s create mode 100644 hello/__main__.py 501s create mode 100644 hello/_hello.cxx 501s create mode 100644 setup.py 501s Not searching for unused variables given on the command line. 501s -- Configuring incomplete, errors occurred! 501s Not searching for unused variables given on the command line. 501s -- Configuring done (0.0s) 501s -- Generating done (0.0s) 501s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-8/test_build0/_cmake_test_compile/build 501s Not searching for unused variables given on the command line. 501s -- The C compiler identification is GNU 13.2.0 501s -- The CXX compiler identification is GNU 13.2.0 501s -- Detecting C compiler ABI info 501s -- Detecting C compiler ABI info - done 501s -- Check for working C compiler: /usr/bin/cc - skipped 501s -- Detecting C compile features 501s -- Detecting C compile features - done 501s -- Detecting CXX compiler ABI info 501s -- Detecting CXX compiler ABI info - done 501s -- Check for working CXX compiler: /usr/bin/c++ - skipped 501s -- Detecting CXX compile features 501s -- Detecting CXX compile features - done 501s -- Found PythonInterp: /usr/bin/python3.12 (found version "3.12.4") 501s -- Found PythonLibs: /usr/lib/arm-linux-gnueabihf/libpython3.12.so (found version "3.12.4") 501s -- Performing Test Weak Link MODULE -> SHARED (gnu_ld_ignore) - Success 501s -- Configuring done (1.4s) 501s -- Generating done (0.0s) 501s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-8/test_build0/_skbuild/linux-armv7l-3.12/cmake-build 501s [ 50%] Building CXX object CMakeFiles/_hello.dir/_hello.cxx.o 501s [100%] Linking CXX shared module _hello.cpython-312-arm-linux-gnueabihf.so 501s [100%] Built target _hello 501s Install the project... 501s -- Install configuration: "Release" 501s -- Installing: /tmp/pytest-of-ubuntu/pytest-8/test_build0/_skbuild/linux-armv7l-3.12/cmake-install/hello/_hello.cpython-312-arm-linux-gnueabihf.so 501s 501s 501s -------------------------------------------------------------------------------- 501s -- Trying 'Ninja' generator 501s -------------------------------- 501s --------------------------- 501s ---------------------- 501s ----------------- 501s ------------ 501s ------- 501s -- 501s -- 501s ------- 501s ------------ 501s ----------------- 501s ---------------------- 501s --------------------------- 501s -------------------------------- 501s -- Trying 'Ninja' generator - failure 501s -------------------------------------------------------------------------------- 501s 501s 501s 501s -------------------------------------------------------------------------------- 501s -- Trying 'Unix Makefiles' generator 501s -------------------------------- 501s --------------------------- 501s ---------------------- 501s ----------------- 501s ------------ 501s ------- 501s -- 501s -- 501s ------- 501s ------------ 501s ----------------- 501s ---------------------- 501s --------------------------- 501s -------------------------------- 501s -- Trying 'Unix Makefiles' generator - success 501s -------------------------------------------------------------------------------- 501s 501s Configuring Project 501s Working directory: 501s /tmp/pytest-of-ubuntu/pytest-8/test_build0/_skbuild/linux-armv7l-3.12/cmake-build 501s Command: 501s /usr/bin/cmake /tmp/pytest-of-ubuntu/pytest-8/test_build0/hello -G 'Unix Makefiles' --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pytest-of-ubuntu/pytest-8/test_build0/_skbuild/linux-armv7l-3.12/cmake-install -DPYTHON_VERSION_STRING:STRING=3.12.4 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/usr/lib/python3/dist-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/usr/bin/python3.12 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPYTHON_LIBRARY:PATH=/usr/lib/arm-linux-gnueabihf/libpython3.12.so -DPython_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython_ROOT_DIR:PATH=/usr -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPython3_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython3_ROOT_DIR:PATH=/usr -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.12 -DCMAKE_BUILD_TYPE:STRING=Release 501s 501s 501s copying hello/__init__.py -> _skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py 501s copying hello/__main__.py -> _skbuild/linux-armv7l-3.12/cmake-install/hello/__main__.py 501s 501s ----------------------------- Captured stderr call ----------------------------- 501s hint: Using 'master' as the name for the initial branch. This default branch name 501s hint: is subject to change. To configure the initial branch name to use in all 501s hint: of your new repositories, which will suppress this warning, call: 501s hint: 501s hint: git config --global init.defaultBranch 501s hint: 501s hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 501s hint: 'development'. The just-created branch can be renamed via this command: 501s hint: 501s hint: git branch -m 501s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 501s Compatibility with CMake < 3.5 will be removed from a future version of 501s CMake. 501s 501s Update the VERSION argument value or use a ... suffix to tell 501s CMake that the project does not need compatibility with older versions. 501s 501s 501s CMake Error: CMake was unable to find a build program corresponding to "Ninja". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. 501s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 501s Compatibility with CMake < 3.5 will be removed from a future version of 501s CMake. 501s 501s Update the VERSION argument value or use a ... suffix to tell 501s CMake that the project does not need compatibility with older versions. 501s 501s 501s CMake Warning (dev) at /usr/lib/python3/dist-packages/skbuild/resources/cmake/FindPythonExtensions.cmake:245 (find_package): 501s Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules 501s are removed. Run "cmake --help-policy CMP0148" for policy details. Use 501s the cmake_policy command to set the policy and suppress this warning. 501s 501s Call Stack (most recent call first): 501s CMakeLists.txt:5 (find_package) 501s This warning is for project developers. Use -Wno-dev to suppress it. 501s 501s CMake Warning (dev) at /usr/lib/python3/dist-packages/skbuild/resources/cmake/FindPythonExtensions.cmake:252 (find_package): 501s Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules 501s are removed. Run "cmake --help-policy CMP0148" for policy details. Use 501s the cmake_policy command to set the policy and suppress this warning. 501s 501s Call Stack (most recent call first): 501s CMakeLists.txt:5 (find_package) 501s This warning is for project developers. Use -Wno-dev to suppress it. 501s 501s _modinit_prefix:PyInit_ 501s ------------------------------ Captured log call ------------------------------- 501s INFO root:dist.py:986 running build 501s INFO root:dist.py:986 running build_py 501s INFO root:dir_util.py:70 creating _skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312 501s ________________________ test_hide_listing[True-sdist] _________________________ 501s 501s action = 'sdist', hide_listing = True 501s capfd = <_pytest.capture.CaptureFixture object at 0xec9a80f0> 501s caplog = <_pytest.logging.LogCaptureFixture object at 0xec981ed0> 501s 501s @pytest.mark.parametrize("action", ["sdist", "bdist_wheel"]) 501s @pytest.mark.parametrize("hide_listing", [True, False]) 501s def test_hide_listing(action, hide_listing, capfd, caplog): 501s cmd = [action] 501s if hide_listing: 501s cmd.insert(0, "--hide-listing") 501s 501s @project_setup_py_test("test-hide-listing", cmd, verbose_git=False, disable_languages_test=True) 501s def run(): 501s pass 501s 501s > run() 501s 501s action = 'sdist' 501s capfd = <_pytest.capture.CaptureFixture object at 0xec9a80f0> 501s caplog = <_pytest.logging.LogCaptureFixture object at 0xec981ed0> 501s cmd = ['--hide-listing', 'sdist'] 501s hide_listing = True 501s run = .run at 0xec910618> 501s 501s tests/test_command_line.py:154: 501s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 501s tests/__init__.py:261: in wrapped 501s with execute_setup_py(wrapped.tmp_dir, wrapped.setup_args, disable_languages_test=disable_languages_test): # type: ignore[attr-defined] 501s disable_languages_test = True 501s fun = .run at 0xec910b18> 501s iargs = () 501s ikwargs = {} 501s ret = False 501s wrapped = .run at 0xec910618> 501s /usr/lib/python3.12/contextlib.py:137: in __enter__ 501s return next(self.gen) 501s self = 501s tests/__init__.py:244: in execute_setup_py 501s exec(setup_code) 501s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 501s disable_languages_test = True 501s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 501s original_write_test_cmakelist = 501s platform = 501s project_dir = local('/tmp/pytest-of-ubuntu/pytest-28/run0') 501s setup = 501s setup_args = ['--hide-listing', 'sdist'] 501s setup_code = at 0xec99a408, file "setup.py", line 1> 501s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xec91fe88> 501s setup.py:5: in 501s ??? 501s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 501s disable_languages_test = True 501s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 501s original_write_test_cmakelist = 501s platform = 501s project_dir = local('/tmp/pytest-of-ubuntu/pytest-28/run0') 501s setup = 501s setup_args = ['--hide-listing', 'sdist'] 501s setup_code = at 0xec99a408, file "setup.py", line 1> 501s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xec91fe88> 501s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:513: in setup 501s return setuptools.setup(**kw) # type: ignore[no-any-return, func-returns-value] 501s build_ext_inplace = False 501s cmake_args = () 501s cmake_args_from_args = [] 501s cmake_executable = None 501s cmake_install_dir = '' 501s cmake_install_target = 'install' 501s cmake_languages = ('C', 'CXX') 501s cmake_minimum_required_version = None 501s cmake_process_manifest_hook = None 501s cmake_source_dir = '' 501s cmake_with_sdist = False 501s cmdclass = {'bdist': , 'bdist_wheel': , 'build': , 'build_ext': , ...} 501s commands = ['sdist'] 501s display_only = False 501s force_cmake = False 501s has_cmakelists = True 501s has_invalid_arguments = False 501s help_commands = 0 501s hide_listing = 1 501s kw = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'description': 'a minimal example package', 'license': 'MIT', ...} 501s make_args = [] 501s plat_name = None 501s skip_cmake = False 501s skip_generator_test = False 501s skip_skbuild = True 501s /usr/lib/python3/dist-packages/setuptools/__init__.py:103: in setup 501s return distutils.core.setup(**attrs) 501s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'description': 'a minimal example package', 'license': 'MIT', ...} 501s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:184: in setup 501s return run_commands(dist) 501s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'description': 'a minimal example package', 'license': 'MIT', ...} 501s dist = 501s klass = 501s ok = True 501s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:200: in run_commands 501s dist.run_commands() 501s dist = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:970: in run_commands 501s self.run_command(cmd) 501s cmd = 'sdist' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 501s super().run_command(command) 501s __class__ = 501s command = 'sdist' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 501s cmd_obj.run() 501s cmd_obj = 501s command = 'sdist' 501s self = 501s /usr/lib/python3/dist-packages/skbuild/command/sdist.py:39: in run 501s super().run(*args, **kwargs) 501s __class__ = 501s args = () 501s kwargs = {} 501s self = 501s /usr/lib/python3/dist-packages/setuptools/command/sdist.py:52: in run 501s self.run_command('egg_info') 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 501s self.distribution.run_command(command) 501s command = 'egg_info' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 501s super().run_command(command) 501s __class__ = 501s command = 'egg_info' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 501s cmd_obj.run() 501s cmd_obj = 501s command = 'egg_info' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/command/egg_info.py:306: in run 501s self.mkpath(self.egg_info) 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:340: in mkpath 501s dir_util.mkpath(name, mode, dry_run=self.dry_run) 501s mode = 511 501s name = 'hello.egg-info' 501s self = 501s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 501s 501s name = 'hello.egg-info', mode = 511, verbose = True, dry_run = False 501s 501s def mkpath(name, mode=0o777, verbose=True, dry_run=False): # noqa: C901 501s """Create a directory and any missing ancestor directories. 501s 501s If the directory already exists (or if 'name' is the empty string, which 501s means the current directory, which of course exists), then do nothing. 501s Raise DistutilsFileError if unable to create some directory along the way 501s (eg. some sub-path exists, but is a file rather than a directory). 501s If 'verbose' is true, print a one-line summary of each mkdir to stdout. 501s Return the list of directories actually created. 501s 501s os.makedirs is not used because: 501s 501s a) It's new to Python 1.5.2, and 501s b) it blows up if the directory already exists (in which case it should 501s silently succeed). 501s """ 501s 501s global _path_created 501s 501s # Detect a common bug -- name is None 501s if not isinstance(name, str): 501s raise DistutilsInternalError(f"mkpath: 'name' must be a string (got {name!r})") 501s 501s # XXX what's the better way to handle verbosity? print as we create 501s # each directory in the path (the current behaviour), or only announce 501s # the creation of the whole path? (quite easy to do the latter since 501s # we're not using a recursive algorithm) 501s 501s name = os.path.normpath(name) 501s created_dirs = [] 501s if os.path.isdir(name) or name == '': 501s return created_dirs 501s if os.path.abspath(name) in _path_created: 501s return created_dirs 501s 501s (head, tail) = os.path.split(name) 501s tails = [tail] # stack of lone dirs to create 501s 501s while head and tail and not os.path.isdir(head): 501s (head, tail) = os.path.split(head) 501s tails.insert(0, tail) # push next higher dir onto stack 501s 501s # now 'head' contains the deepest directory that already exists 501s # (that is, the child of 'head' in 'name' is the highest directory 501s # that does *not* exist) 501s for d in tails: 501s # print "head = %s, d = %s: " % (head, d), 501s head = os.path.join(head, d) 501s abs_head = os.path.abspath(head) 501s 501s if abs_head in _path_created: 501s continue 501s 501s if verbose >= 1: 501s log.info("creating %s", head) 501s 501s if not dry_run: 501s try: 501s os.mkdir(head, mode) 501s except OSError as exc: 501s if not (exc.errno == errno.EEXIST and os.path.isdir(head)): 501s raise DistutilsFileError( 501s f"could not create '{head}': {exc.args[-1]}" 501s ) 501s created_dirs.append(head) 501s 501s > _path_created.add(abs_head) 501s E AttributeError: 'dict' object has no attribute 'add' 501s 501s abs_head = '/tmp/pytest-of-ubuntu/pytest-28/run0/hello.egg-info' 501s created_dirs = ['hello.egg-info'] 501s d = 'hello.egg-info' 501s dry_run = False 501s head = 'hello.egg-info' 501s mode = 511 501s name = 'hello.egg-info' 501s tail = 'hello.egg-info' 501s tails = ['hello.egg-info'] 501s verbose = True 501s 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dir_util.py:82: AttributeError 501s ----------------------------- Captured stderr call ----------------------------- 501s hint: Using 'master' as the name for the initial branch. This default branch name 501s hint: is subject to change. To configure the initial branch name to use in all 501s hint: of your new repositories, which will suppress this warning, call: 501s hint: 501s hint: git config --global init.defaultBranch 501s hint: 501s hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 501s hint: 'development'. The just-created branch can be renamed via this command: 501s hint: 501s hint: git branch -m 501s ------------------------------ Captured log call ------------------------------- 501s INFO root:dist.py:986 running sdist 501s INFO root:dist.py:986 running generate_source_manifest 501s INFO root:dist.py:986 running egg_info 501s INFO root:dir_util.py:70 creating hello.egg-info 501s _____________________ test_hide_listing[True-bdist_wheel] ______________________ 501s 501s action = 'bdist_wheel', hide_listing = True 501s capfd = <_pytest.capture.CaptureFixture object at 0xec9a8798> 501s caplog = <_pytest.logging.LogCaptureFixture object at 0xec981ae0> 501s 501s @pytest.mark.parametrize("action", ["sdist", "bdist_wheel"]) 501s @pytest.mark.parametrize("hide_listing", [True, False]) 501s def test_hide_listing(action, hide_listing, capfd, caplog): 501s cmd = [action] 501s if hide_listing: 501s cmd.insert(0, "--hide-listing") 501s 501s @project_setup_py_test("test-hide-listing", cmd, verbose_git=False, disable_languages_test=True) 501s def run(): 501s pass 501s 501s > run() 501s 501s action = 'bdist_wheel' 501s capfd = <_pytest.capture.CaptureFixture object at 0xec9a8798> 501s caplog = <_pytest.logging.LogCaptureFixture object at 0xec981ae0> 501s cmd = ['--hide-listing', 'bdist_wheel'] 501s hide_listing = True 501s run = .run at 0xec988b18> 501s 501s tests/test_command_line.py:154: 501s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 501s tests/__init__.py:261: in wrapped 501s with execute_setup_py(wrapped.tmp_dir, wrapped.setup_args, disable_languages_test=disable_languages_test): # type: ignore[attr-defined] 501s disable_languages_test = True 501s fun = .run at 0xec988c58> 501s iargs = () 501s ikwargs = {} 501s ret = False 501s wrapped = .run at 0xec988b18> 501s /usr/lib/python3.12/contextlib.py:137: in __enter__ 501s return next(self.gen) 501s self = 501s tests/__init__.py:244: in execute_setup_py 501s exec(setup_code) 501s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 501s disable_languages_test = True 501s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 501s original_write_test_cmakelist = 501s platform = 501s project_dir = local('/tmp/pytest-of-ubuntu/pytest-29/run0') 501s setup = 501s setup_args = ['--hide-listing', 'bdist_wheel'] 501s setup_code = at 0xec99a7f0, file "setup.py", line 1> 501s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xec9887f8> 501s setup.py:5: in 501s ??? 501s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 501s disable_languages_test = True 501s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 501s original_write_test_cmakelist = 501s platform = 501s project_dir = local('/tmp/pytest-of-ubuntu/pytest-29/run0') 501s setup = 501s setup_args = ['--hide-listing', 'bdist_wheel'] 501s setup_code = at 0xec99a7f0, file "setup.py", line 1> 501s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xec9887f8> 501s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:781: in setup 501s return setuptools.setup(**kw) # type: ignore[no-any-return, func-returns-value] 501s BinaryDistribution = .BinaryDistribution'> 501s build_ext_inplace = False 501s cmake_args = ['-DCMAKE_BUILD_TYPE:STRING=Release'] 501s cmake_args_from_args = [] 501s cmake_executable = '/usr/bin/cmake' 501s cmake_install_dir = '' 501s cmake_install_target = 'install' 501s cmake_install_target_from_command = '' 501s cmake_install_target_from_setup = 'install' 501s cmake_languages = ('C', 'CXX') 501s cmake_manifest = ['_skbuild/linux-armv7l-3.12/cmake-install/helloModule.py', '_skbuild/linux-armv7l-3.12/cmake-install/hello/world.py'] 501s cmake_minimum_required_version = None 501s cmake_process_manifest_hook = None 501s cmake_source_dir = '' 501s cmake_spec = {'args': ['/usr/bin/cmake', '-DCMAKE_BUILD_TYPE:STRING=Release'], 'environment': {'PYTHONNOUSERSITE': None, 'PYTHONPATH': None}, 'version': '3.29.6'} 501s cmake_with_sdist = False 501s cmdclass = {'bdist': , 'bdist_wheel': , 'build': , 'build_ext': , ...} 501s cmkr = 501s commands = ['bdist_wheel'] 501s config_type = 'Release' 501s data_files = {} 501s developer_mode = False 501s display_only = False 501s env = {'ADTTMP': '/tmp/autopkgtest.EPTB0Y/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', 'ADT_TEST_TRIGGERS': 'setuptools/70.3.0-2', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', ...} 501s env_cmake_args = [] 501s force_cmake = False 501s has_cmakelists = True 501s has_invalid_arguments = False 501s help_commands = 0 501s hide_listing = 1 501s kw = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package', ...} 501s make_args = ['--config', 'Release'] 501s new_py_modules = {'bonjourModule': False, 'helloModule': True} 501s new_scripts = {} 501s original_manifestin_data_files = [] 501s original_package_data = {'bonjour': ['data/*.txt', 'data/terre.txt']} 501s package = 'hello' 501s package_data = {'': ['bonjourModule.py', 'helloModule.py'], 'bonjour': ['data/*.txt', 'data/terre.txt', '__init__.py'], 'hello': ['world.py', '__init__.py', '__main__.py']} 501s package_dir = {'bonjour': 'bonjour', 'hello': 'hello'} 501s package_prefixes = [('bonjour', 'bonjour'), ('hello', 'hello')] 501s packages = ['bonjour', 'hello'] 501s plat_name = None 501s process_manifest = None 501s py_modules = ['bonjourModule', 'helloModule'] 501s scripts = [] 501s skip_cmake = False 501s skip_generator_test = False 501s skip_skbuild = False 501s /usr/lib/python3/dist-packages/setuptools/__init__.py:103: in setup 501s return distutils.core.setup(**attrs) 501s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package', ...} 501s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:184: in setup 501s return run_commands(dist) 501s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package', ...} 501s dist = .BinaryDistribution object at 0xec939918> 501s klass = .BinaryDistribution'> 501s ok = True 501s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:200: in run_commands 501s dist.run_commands() 501s dist = .BinaryDistribution object at 0xec939918> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:970: in run_commands 501s self.run_command(cmd) 501s cmd = 'bdist_wheel' 501s self = .BinaryDistribution object at 0xec939918> 501s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 501s super().run_command(command) 501s __class__ = 501s command = 'bdist_wheel' 501s self = .BinaryDistribution object at 0xec939918> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 501s cmd_obj.run() 501s cmd_obj = 501s command = 'bdist_wheel' 501s self = .BinaryDistribution object at 0xec939918> 501s /usr/lib/python3/dist-packages/skbuild/command/bdist_wheel.py:33: in run 501s super().run(*args, **kwargs) 501s __class__ = 501s args = () 501s kwargs = {} 501s old_write_files = 501s self = 501s update_write_files = .update_write_files at 0xec9108e8> 501s /usr/lib/python3/dist-packages/wheel/bdist_wheel.py:368: in run 501s self.run_command("build") 501s build_ext = 501s build_scripts = 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 501s self.distribution.run_command(command) 501s command = 'build' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 501s super().run_command(command) 501s __class__ = 501s command = 'build' 501s self = .BinaryDistribution object at 0xec939918> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 501s cmd_obj.run() 501s cmd_obj = 501s command = 'build' 501s self = .BinaryDistribution object at 0xec939918> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build.py:135: in run 501s self.run_command(cmd_name) 501s cmd_name = 'build_py' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 501s self.distribution.run_command(command) 501s command = 'build_py' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 501s super().run_command(command) 501s __class__ = 501s command = 'build_py' 501s self = .BinaryDistribution object at 0xec939918> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 501s cmd_obj.run() 501s cmd_obj = 501s command = 'build_py' 501s self = .BinaryDistribution object at 0xec939918> 501s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:41: in run 501s super().run(*args, **kwargs) 501s __class__ = 501s args = () 501s kwargs = {} 501s self = 501s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:71: in run 501s self.build_modules() 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:359: in build_modules 501s self.build_module(module, module_file, package) 501s module = 'bonjourModule' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py' 501s modules = [('', 'bonjourModule', '_skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py'), ('', 'helloModule', '_skbuild/linux-armv7l-3.12/cmake-install/helloModule.py')] 501s package = '' 501s self = 501s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:31: in build_module 501s super().build_module(module, module_file, package) # type: ignore[no-untyped-call] 501s __class__ = 501s module = 'bonjourModule' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py' 501s package = '' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:89: in build_module 501s outfile, copied = orig.build_py.build_module(self, module, module_file, package) 501s module = 'bonjourModule' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py' 501s package = '' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:349: in build_module 501s self.mkpath(dir) 501s dir = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s module = 'bonjourModule' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py' 501s outfile = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/bonjourModule.py' 501s package = [''] 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:340: in mkpath 501s dir_util.mkpath(name, mode, dry_run=self.dry_run) 501s mode = 511 501s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s self = 501s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 501s 501s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s mode = 511, verbose = True, dry_run = False 501s 501s def mkpath(name, mode=0o777, verbose=True, dry_run=False): # noqa: C901 501s """Create a directory and any missing ancestor directories. 501s 501s If the directory already exists (or if 'name' is the empty string, which 501s means the current directory, which of course exists), then do nothing. 501s Raise DistutilsFileError if unable to create some directory along the way 501s (eg. some sub-path exists, but is a file rather than a directory). 501s If 'verbose' is true, print a one-line summary of each mkdir to stdout. 501s Return the list of directories actually created. 501s 501s os.makedirs is not used because: 501s 501s a) It's new to Python 1.5.2, and 501s b) it blows up if the directory already exists (in which case it should 501s silently succeed). 501s """ 501s 501s global _path_created 501s 501s # Detect a common bug -- name is None 501s if not isinstance(name, str): 501s raise DistutilsInternalError(f"mkpath: 'name' must be a string (got {name!r})") 501s 501s # XXX what's the better way to handle verbosity? print as we create 501s # each directory in the path (the current behaviour), or only announce 501s # the creation of the whole path? (quite easy to do the latter since 501s # we're not using a recursive algorithm) 501s 501s name = os.path.normpath(name) 501s created_dirs = [] 501s if os.path.isdir(name) or name == '': 501s return created_dirs 501s if os.path.abspath(name) in _path_created: 501s return created_dirs 501s 501s (head, tail) = os.path.split(name) 501s tails = [tail] # stack of lone dirs to create 501s 501s while head and tail and not os.path.isdir(head): 501s (head, tail) = os.path.split(head) 501s tails.insert(0, tail) # push next higher dir onto stack 501s 501s # now 'head' contains the deepest directory that already exists 501s # (that is, the child of 'head' in 'name' is the highest directory 501s # that does *not* exist) 501s for d in tails: 501s # print "head = %s, d = %s: " % (head, d), 501s head = os.path.join(head, d) 501s abs_head = os.path.abspath(head) 501s 501s if abs_head in _path_created: 501s continue 501s 501s if verbose >= 1: 501s log.info("creating %s", head) 501s 501s if not dry_run: 501s try: 501s os.mkdir(head, mode) 501s except OSError as exc: 501s if not (exc.errno == errno.EEXIST and os.path.isdir(head)): 501s raise DistutilsFileError( 501s f"could not create '{head}': {exc.args[-1]}" 501s ) 501s created_dirs.append(head) 501s 501s > _path_created.add(abs_head) 501s E AttributeError: 'dict' object has no attribute 'add' 501s 501s abs_head = '/tmp/pytest-of-ubuntu/pytest-29/run0/_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s created_dirs = ['_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312'] 501s d = 'lib.linux-armv7l-cpython-312' 501s dry_run = False 501s head = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s mode = 511 501s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s tail = 'lib.linux-armv7l-cpython-312' 501s tails = ['lib.linux-armv7l-cpython-312'] 501s verbose = True 501s 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dir_util.py:82: AttributeError 501s ----------------------------- Captured stdout call ----------------------------- 501s 501s 501s -------------------------------------------------------------------------------- 501s -- Trying 'Ninja' generator 501s -------------------------------- 501s --------------------------- 501s ---------------------- 501s ----------------- 501s ------------ 501s ------- 501s -- 501s Not searching for unused variables given on the command line. 501s -- Configuring incomplete, errors occurred! 501s -- 501s ------- 501s ------------ 501s ----------------- 501s ---------------------- 501s --------------------------- 501s -------------------------------- 501s -- Trying 'Ninja' generator - failure 501s -------------------------------------------------------------------------------- 501s 501s 501s 501s -------------------------------------------------------------------------------- 501s -- Trying 'Unix Makefiles' generator 501s -------------------------------- 501s --------------------------- 501s ---------------------- 501s ----------------- 501s ------------ 501s ------- 501s -- 501s Not searching for unused variables given on the command line. 501s -- Configuring done (0.0s) 501s -- Generating done (0.0s) 501s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-29/run0/_cmake_test_compile/build 501s -- 501s ------- 501s ------------ 501s ----------------- 501s ---------------------- 501s --------------------------- 501s -------------------------------- 501s -- Trying 'Unix Makefiles' generator - success 501s -------------------------------------------------------------------------------- 501s 501s Configuring Project 501s Working directory: 501s /tmp/pytest-of-ubuntu/pytest-29/run0/_skbuild/linux-armv7l-3.12/cmake-build 501s Command: 501s /usr/bin/cmake /tmp/pytest-of-ubuntu/pytest-29/run0 -G 'Unix Makefiles' --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pytest-of-ubuntu/pytest-29/run0/_skbuild/linux-armv7l-3.12/cmake-install -DPYTHON_VERSION_STRING:STRING=3.12.4 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/usr/lib/python3/dist-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/usr/bin/python3.12 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPYTHON_LIBRARY:PATH=/usr/lib/arm-linux-gnueabihf/libpython3.12.so -DPython_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython_ROOT_DIR:PATH=/usr -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPython3_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython3_ROOT_DIR:PATH=/usr -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.12 -DCMAKE_BUILD_TYPE:STRING=Release 501s 501s Not searching for unused variables given on the command line. 501s -- Configuring done (0.0s) 501s -- Generating done (0.0s) 501s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-29/run0/_skbuild/linux-armv7l-3.12/cmake-build 501s Install the project... 501s -- Install configuration: "Release" 501s -- Installing: /tmp/pytest-of-ubuntu/pytest-29/run0/_skbuild/linux-armv7l-3.12/cmake-install/./helloModule.py 501s -- Installing: /tmp/pytest-of-ubuntu/pytest-29/run0/_skbuild/linux-armv7l-3.12/cmake-install/hello/world.py 501s 501s 501s ----------------------------- Captured stderr call ----------------------------- 501s hint: Using 'master' as the name for the initial branch. This default branch name 501s hint: is subject to change. To configure the initial branch name to use in all 501s hint: of your new repositories, which will suppress this warning, call: 501s hint: 501s hint: git config --global init.defaultBranch 501s hint: 501s hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 501s hint: 'development'. The just-created branch can be renamed via this command: 501s hint: 501s hint: git branch -m 501s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 501s Compatibility with CMake < 3.5 will be removed from a future version of 501s CMake. 501s 501s Update the VERSION argument value or use a ... suffix to tell 501s CMake that the project does not need compatibility with older versions. 501s 501s 501s CMake Error: CMake was unable to find a build program corresponding to "Ninja". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. 501s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 501s Compatibility with CMake < 3.5 will be removed from a future version of 501s CMake. 501s 501s Update the VERSION argument value or use a ... suffix to tell 501s CMake that the project does not need compatibility with older versions. 501s 501s 501s ------------------------------ Captured log call ------------------------------- 501s INFO root:dist.py:986 running bdist_wheel 501s INFO root:dist.py:986 running build 501s INFO root:dist.py:986 running build_py 501s ________________________ test_hide_listing[False-sdist] ________________________ 501s 501s action = 'sdist', hide_listing = False 501s capfd = <_pytest.capture.CaptureFixture object at 0xec92ec00> 501s caplog = <_pytest.logging.LogCaptureFixture object at 0xec92e1f8> 501s 501s @pytest.mark.parametrize("action", ["sdist", "bdist_wheel"]) 501s @pytest.mark.parametrize("hide_listing", [True, False]) 501s def test_hide_listing(action, hide_listing, capfd, caplog): 501s cmd = [action] 501s if hide_listing: 501s cmd.insert(0, "--hide-listing") 501s 501s @project_setup_py_test("test-hide-listing", cmd, verbose_git=False, disable_languages_test=True) 501s def run(): 501s pass 501s 501s > run() 501s 501s action = 'sdist' 501s capfd = <_pytest.capture.CaptureFixture object at 0xec92ec00> 501s caplog = <_pytest.logging.LogCaptureFixture object at 0xec92e1f8> 501s cmd = ['sdist'] 501s hide_listing = False 501s run = .run at 0xec910d48> 501s 501s tests/test_command_line.py:154: 501s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 501s tests/__init__.py:261: in wrapped 501s with execute_setup_py(wrapped.tmp_dir, wrapped.setup_args, disable_languages_test=disable_languages_test): # type: ignore[attr-defined] 501s disable_languages_test = True 501s fun = .run at 0xec910bb8> 501s iargs = () 501s ikwargs = {} 501s ret = False 501s wrapped = .run at 0xec910d48> 501s /usr/lib/python3.12/contextlib.py:137: in __enter__ 501s return next(self.gen) 501s self = 501s tests/__init__.py:244: in execute_setup_py 501s exec(setup_code) 501s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 501s disable_languages_test = True 501s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 501s original_write_test_cmakelist = 501s platform = 501s project_dir = local('/tmp/pytest-of-ubuntu/pytest-30/run0') 501s setup = 501s setup_args = ['sdist'] 501s setup_code = at 0xec99a728, file "setup.py", line 1> 501s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xec99d668> 501s setup.py:5: in 501s ??? 501s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 501s disable_languages_test = True 501s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 501s original_write_test_cmakelist = 501s platform = 501s project_dir = local('/tmp/pytest-of-ubuntu/pytest-30/run0') 501s setup = 501s setup_args = ['sdist'] 501s setup_code = at 0xec99a728, file "setup.py", line 1> 501s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xec99d668> 501s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:513: in setup 501s return setuptools.setup(**kw) # type: ignore[no-any-return, func-returns-value] 501s build_ext_inplace = False 501s cmake_args = () 501s cmake_args_from_args = [] 501s cmake_executable = None 501s cmake_install_dir = '' 501s cmake_install_target = 'install' 501s cmake_languages = ('C', 'CXX') 501s cmake_minimum_required_version = None 501s cmake_process_manifest_hook = None 501s cmake_source_dir = '' 501s cmake_with_sdist = False 501s cmdclass = {'bdist': , 'bdist_wheel': , 'build': , 'build_ext': , ...} 501s commands = ['sdist'] 501s display_only = False 501s force_cmake = False 501s has_cmakelists = True 501s has_invalid_arguments = False 501s help_commands = 0 501s hide_listing = False 501s kw = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'description': 'a minimal example package', 'license': 'MIT', ...} 501s make_args = [] 501s plat_name = None 501s skip_cmake = False 501s skip_generator_test = False 501s skip_skbuild = True 501s /usr/lib/python3/dist-packages/setuptools/__init__.py:103: in setup 501s return distutils.core.setup(**attrs) 501s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'description': 'a minimal example package', 'license': 'MIT', ...} 501s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:184: in setup 501s return run_commands(dist) 501s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'description': 'a minimal example package', 'license': 'MIT', ...} 501s dist = 501s klass = 501s ok = True 501s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:200: in run_commands 501s dist.run_commands() 501s dist = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:970: in run_commands 501s self.run_command(cmd) 501s cmd = 'sdist' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 501s super().run_command(command) 501s __class__ = 501s command = 'sdist' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 501s cmd_obj.run() 501s cmd_obj = 501s command = 'sdist' 501s self = 501s /usr/lib/python3/dist-packages/skbuild/command/sdist.py:39: in run 501s super().run(*args, **kwargs) 501s __class__ = 501s args = () 501s kwargs = {} 501s self = 501s /usr/lib/python3/dist-packages/setuptools/command/sdist.py:52: in run 501s self.run_command('egg_info') 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 501s self.distribution.run_command(command) 501s command = 'egg_info' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 501s super().run_command(command) 501s __class__ = 501s command = 'egg_info' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 501s cmd_obj.run() 501s cmd_obj = 501s command = 'egg_info' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/command/egg_info.py:306: in run 501s self.mkpath(self.egg_info) 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:340: in mkpath 501s dir_util.mkpath(name, mode, dry_run=self.dry_run) 501s mode = 511 501s name = 'hello.egg-info' 501s self = 501s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 501s 501s name = 'hello.egg-info', mode = 511, verbose = True, dry_run = False 501s 501s def mkpath(name, mode=0o777, verbose=True, dry_run=False): # noqa: C901 501s """Create a directory and any missing ancestor directories. 501s 501s If the directory already exists (or if 'name' is the empty string, which 501s means the current directory, which of course exists), then do nothing. 501s Raise DistutilsFileError if unable to create some directory along the way 501s (eg. some sub-path exists, but is a file rather than a directory). 501s If 'verbose' is true, print a one-line summary of each mkdir to stdout. 501s Return the list of directories actually created. 501s 501s os.makedirs is not used because: 501s 501s a) It's new to Python 1.5.2, and 501s b) it blows up if the directory already exists (in which case it should 501s silently succeed). 501s """ 501s 501s global _path_created 501s 501s # Detect a common bug -- name is None 501s if not isinstance(name, str): 501s raise DistutilsInternalError(f"mkpath: 'name' must be a string (got {name!r})") 501s 501s # XXX what's the better way to handle verbosity? print as we create 501s # each directory in the path (the current behaviour), or only announce 501s # the creation of the whole path? (quite easy to do the latter since 501s # we're not using a recursive algorithm) 501s 501s name = os.path.normpath(name) 501s created_dirs = [] 501s if os.path.isdir(name) or name == '': 501s return created_dirs 501s if os.path.abspath(name) in _path_created: 501s return created_dirs 501s 501s (head, tail) = os.path.split(name) 501s tails = [tail] # stack of lone dirs to create 501s 501s while head and tail and not os.path.isdir(head): 501s (head, tail) = os.path.split(head) 501s tails.insert(0, tail) # push next higher dir onto stack 501s 501s # now 'head' contains the deepest directory that already exists 501s # (that is, the child of 'head' in 'name' is the highest directory 501s # that does *not* exist) 501s for d in tails: 501s # print "head = %s, d = %s: " % (head, d), 501s head = os.path.join(head, d) 501s abs_head = os.path.abspath(head) 501s 501s if abs_head in _path_created: 501s continue 501s 501s if verbose >= 1: 501s log.info("creating %s", head) 501s 501s if not dry_run: 501s try: 501s os.mkdir(head, mode) 501s except OSError as exc: 501s if not (exc.errno == errno.EEXIST and os.path.isdir(head)): 501s raise DistutilsFileError( 501s f"could not create '{head}': {exc.args[-1]}" 501s ) 501s created_dirs.append(head) 501s 501s > _path_created.add(abs_head) 501s E AttributeError: 'dict' object has no attribute 'add' 501s 501s abs_head = '/tmp/pytest-of-ubuntu/pytest-30/run0/hello.egg-info' 501s created_dirs = ['hello.egg-info'] 501s d = 'hello.egg-info' 501s dry_run = False 501s head = 'hello.egg-info' 501s mode = 511 501s name = 'hello.egg-info' 501s tail = 'hello.egg-info' 501s tails = ['hello.egg-info'] 501s verbose = True 501s 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dir_util.py:82: AttributeError 501s ----------------------------- Captured stderr call ----------------------------- 501s hint: Using 'master' as the name for the initial branch. This default branch name 501s hint: is subject to change. To configure the initial branch name to use in all 501s hint: of your new repositories, which will suppress this warning, call: 501s hint: 501s hint: git config --global init.defaultBranch 501s hint: 501s hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 501s hint: 'development'. The just-created branch can be renamed via this command: 501s hint: 501s hint: git branch -m 501s ------------------------------ Captured log call ------------------------------- 501s INFO root:dist.py:986 running sdist 501s INFO root:dist.py:986 running generate_source_manifest 501s INFO root:dist.py:986 running egg_info 501s INFO root:dir_util.py:70 creating hello.egg-info 501s _____________________ test_hide_listing[False-bdist_wheel] _____________________ 501s 501s action = 'bdist_wheel', hide_listing = False 501s capfd = <_pytest.capture.CaptureFixture object at 0xec92e978> 501s caplog = <_pytest.logging.LogCaptureFixture object at 0xec9b5b40> 501s 501s @pytest.mark.parametrize("action", ["sdist", "bdist_wheel"]) 501s @pytest.mark.parametrize("hide_listing", [True, False]) 501s def test_hide_listing(action, hide_listing, capfd, caplog): 501s cmd = [action] 501s if hide_listing: 501s cmd.insert(0, "--hide-listing") 501s 501s @project_setup_py_test("test-hide-listing", cmd, verbose_git=False, disable_languages_test=True) 501s def run(): 501s pass 501s 501s > run() 501s 501s action = 'bdist_wheel' 501s capfd = <_pytest.capture.CaptureFixture object at 0xec92e978> 501s caplog = <_pytest.logging.LogCaptureFixture object at 0xec9b5b40> 501s cmd = ['bdist_wheel'] 501s hide_listing = False 501s run = .run at 0xec8414d8> 501s 501s tests/test_command_line.py:154: 501s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 501s tests/__init__.py:261: in wrapped 501s with execute_setup_py(wrapped.tmp_dir, wrapped.setup_args, disable_languages_test=disable_languages_test): # type: ignore[attr-defined] 501s disable_languages_test = True 501s fun = .run at 0xec8412f8> 501s iargs = () 501s ikwargs = {} 501s ret = False 501s wrapped = .run at 0xec8414d8> 501s /usr/lib/python3.12/contextlib.py:137: in __enter__ 501s return next(self.gen) 501s self = 501s tests/__init__.py:244: in execute_setup_py 501s exec(setup_code) 501s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 501s disable_languages_test = True 501s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 501s original_write_test_cmakelist = 501s platform = 501s project_dir = local('/tmp/pytest-of-ubuntu/pytest-31/run0') 501s setup = 501s setup_args = ['bdist_wheel'] 501s setup_code = at 0xec99abd8, file "setup.py", line 1> 501s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xec902f78> 501s setup.py:5: in 501s ??? 501s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 501s disable_languages_test = True 501s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 501s original_write_test_cmakelist = 501s platform = 501s project_dir = local('/tmp/pytest-of-ubuntu/pytest-31/run0') 501s setup = 501s setup_args = ['bdist_wheel'] 501s setup_code = at 0xec99abd8, file "setup.py", line 1> 501s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xec902f78> 501s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:781: in setup 501s return setuptools.setup(**kw) # type: ignore[no-any-return, func-returns-value] 501s BinaryDistribution = .BinaryDistribution'> 501s build_ext_inplace = False 501s cmake_args = ['-DCMAKE_BUILD_TYPE:STRING=Release'] 501s cmake_args_from_args = [] 501s cmake_executable = '/usr/bin/cmake' 501s cmake_install_dir = '' 501s cmake_install_target = 'install' 501s cmake_install_target_from_command = '' 501s cmake_install_target_from_setup = 'install' 501s cmake_languages = ('C', 'CXX') 501s cmake_manifest = ['_skbuild/linux-armv7l-3.12/cmake-install/helloModule.py', '_skbuild/linux-armv7l-3.12/cmake-install/hello/world.py'] 501s cmake_minimum_required_version = None 501s cmake_process_manifest_hook = None 501s cmake_source_dir = '' 501s cmake_spec = {'args': ['/usr/bin/cmake', '-DCMAKE_BUILD_TYPE:STRING=Release'], 'environment': {'PYTHONNOUSERSITE': None, 'PYTHONPATH': None}, 'version': '3.29.6'} 501s cmake_with_sdist = False 501s cmdclass = {'bdist': , 'bdist_wheel': , 'build': , 'build_ext': , ...} 501s cmkr = 501s commands = ['bdist_wheel'] 501s config_type = 'Release' 501s data_files = {} 501s developer_mode = False 501s display_only = False 501s env = {'ADTTMP': '/tmp/autopkgtest.EPTB0Y/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', 'ADT_TEST_TRIGGERS': 'setuptools/70.3.0-2', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', ...} 501s env_cmake_args = [] 501s force_cmake = False 501s has_cmakelists = True 501s has_invalid_arguments = False 501s help_commands = 0 501s hide_listing = False 501s kw = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package', ...} 501s make_args = ['--config', 'Release'] 501s new_py_modules = {'bonjourModule': False, 'helloModule': True} 501s new_scripts = {} 501s original_manifestin_data_files = [] 501s original_package_data = {'bonjour': ['data/*.txt', 'data/terre.txt']} 501s package = 'hello' 501s package_data = {'': ['bonjourModule.py', 'helloModule.py'], 'bonjour': ['data/*.txt', 'data/terre.txt', '__init__.py'], 'hello': ['world.py', '__init__.py', '__main__.py']} 501s package_dir = {'bonjour': 'bonjour', 'hello': 'hello'} 501s package_prefixes = [('bonjour', 'bonjour'), ('hello', 'hello')] 501s packages = ['bonjour', 'hello'] 501s plat_name = None 501s process_manifest = None 501s py_modules = ['bonjourModule', 'helloModule'] 501s scripts = [] 501s skip_cmake = False 501s skip_generator_test = False 501s skip_skbuild = False 501s /usr/lib/python3/dist-packages/setuptools/__init__.py:103: in setup 501s return distutils.core.setup(**attrs) 501s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package', ...} 501s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:184: in setup 501s return run_commands(dist) 501s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package', ...} 501s dist = .BinaryDistribution object at 0xec900df8> 501s klass = .BinaryDistribution'> 501s ok = True 501s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:200: in run_commands 501s dist.run_commands() 501s dist = .BinaryDistribution object at 0xec900df8> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:970: in run_commands 501s self.run_command(cmd) 501s cmd = 'bdist_wheel' 501s self = .BinaryDistribution object at 0xec900df8> 501s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 501s super().run_command(command) 501s __class__ = 501s command = 'bdist_wheel' 501s self = .BinaryDistribution object at 0xec900df8> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 501s cmd_obj.run() 501s cmd_obj = 501s command = 'bdist_wheel' 501s self = .BinaryDistribution object at 0xec900df8> 501s /usr/lib/python3/dist-packages/skbuild/command/bdist_wheel.py:33: in run 501s super().run(*args, **kwargs) 501s __class__ = 501s args = () 501s kwargs = {} 501s old_write_files = 501s self = 501s update_write_files = .update_write_files at 0xecaeee88> 501s /usr/lib/python3/dist-packages/wheel/bdist_wheel.py:368: in run 501s self.run_command("build") 501s build_ext = 501s build_scripts = 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 501s self.distribution.run_command(command) 501s command = 'build' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 501s super().run_command(command) 501s __class__ = 501s command = 'build' 501s self = .BinaryDistribution object at 0xec900df8> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 501s cmd_obj.run() 501s cmd_obj = 501s command = 'build' 501s self = .BinaryDistribution object at 0xec900df8> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build.py:135: in run 501s self.run_command(cmd_name) 501s cmd_name = 'build_py' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 501s self.distribution.run_command(command) 501s command = 'build_py' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 501s super().run_command(command) 501s __class__ = 501s command = 'build_py' 501s self = .BinaryDistribution object at 0xec900df8> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 501s cmd_obj.run() 501s cmd_obj = 501s command = 'build_py' 501s self = .BinaryDistribution object at 0xec900df8> 501s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:41: in run 501s super().run(*args, **kwargs) 501s __class__ = 501s args = () 501s kwargs = {} 501s self = 501s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:71: in run 501s self.build_modules() 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:359: in build_modules 501s self.build_module(module, module_file, package) 501s module = 'bonjourModule' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py' 501s modules = [('', 'bonjourModule', '_skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py'), ('', 'helloModule', '_skbuild/linux-armv7l-3.12/cmake-install/helloModule.py')] 501s package = '' 501s self = 501s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:31: in build_module 501s super().build_module(module, module_file, package) # type: ignore[no-untyped-call] 501s __class__ = 501s module = 'bonjourModule' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py' 501s package = '' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:89: in build_module 501s outfile, copied = orig.build_py.build_module(self, module, module_file, package) 501s module = 'bonjourModule' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py' 501s package = '' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:349: in build_module 501s self.mkpath(dir) 501s dir = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s module = 'bonjourModule' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py' 501s outfile = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/bonjourModule.py' 501s package = [''] 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:340: in mkpath 501s dir_util.mkpath(name, mode, dry_run=self.dry_run) 501s mode = 511 501s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s self = 501s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 501s 501s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s mode = 511, verbose = True, dry_run = False 501s 501s def mkpath(name, mode=0o777, verbose=True, dry_run=False): # noqa: C901 501s """Create a directory and any missing ancestor directories. 501s 501s If the directory already exists (or if 'name' is the empty string, which 501s means the current directory, which of course exists), then do nothing. 501s Raise DistutilsFileError if unable to create some directory along the way 501s (eg. some sub-path exists, but is a file rather than a directory). 501s If 'verbose' is true, print a one-line summary of each mkdir to stdout. 501s Return the list of directories actually created. 501s 501s os.makedirs is not used because: 501s 501s a) It's new to Python 1.5.2, and 501s b) it blows up if the directory already exists (in which case it should 501s silently succeed). 501s """ 501s 501s global _path_created 501s 501s # Detect a common bug -- name is None 501s if not isinstance(name, str): 501s raise DistutilsInternalError(f"mkpath: 'name' must be a string (got {name!r})") 501s 501s # XXX what's the better way to handle verbosity? print as we create 501s # each directory in the path (the current behaviour), or only announce 501s # the creation of the whole path? (quite easy to do the latter since 501s # we're not using a recursive algorithm) 501s 501s name = os.path.normpath(name) 501s created_dirs = [] 501s if os.path.isdir(name) or name == '': 501s return created_dirs 501s if os.path.abspath(name) in _path_created: 501s return created_dirs 501s 501s (head, tail) = os.path.split(name) 501s tails = [tail] # stack of lone dirs to create 501s 501s while head and tail and not os.path.isdir(head): 501s (head, tail) = os.path.split(head) 501s tails.insert(0, tail) # push next higher dir onto stack 501s 501s # now 'head' contains the deepest directory that already exists 501s # (that is, the child of 'head' in 'name' is the highest directory 501s # that does *not* exist) 501s for d in tails: 501s # print "head = %s, d = %s: " % (head, d), 501s head = os.path.join(head, d) 501s abs_head = os.path.abspath(head) 501s 501s if abs_head in _path_created: 501s continue 501s 501s if verbose >= 1: 501s log.info("creating %s", head) 501s 501s if not dry_run: 501s try: 501s os.mkdir(head, mode) 501s except OSError as exc: 501s if not (exc.errno == errno.EEXIST and os.path.isdir(head)): 501s raise DistutilsFileError( 501s f"could not create '{head}': {exc.args[-1]}" 501s ) 501s created_dirs.append(head) 501s 501s > _path_created.add(abs_head) 501s E AttributeError: 'dict' object has no attribute 'add' 501s 501s abs_head = '/tmp/pytest-of-ubuntu/pytest-31/run0/_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s created_dirs = ['_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312'] 501s d = 'lib.linux-armv7l-cpython-312' 501s dry_run = False 501s head = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s mode = 511 501s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s tail = 'lib.linux-armv7l-cpython-312' 501s tails = ['lib.linux-armv7l-cpython-312'] 501s verbose = True 501s 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dir_util.py:82: AttributeError 501s ----------------------------- Captured stdout call ----------------------------- 501s 501s 501s -------------------------------------------------------------------------------- 501s -- Trying 'Ninja' generator 501s -------------------------------- 501s --------------------------- 501s ---------------------- 501s ----------------- 501s ------------ 501s ------- 501s -- 501s Not searching for unused variables given on the command line. 501s -- Configuring incomplete, errors occurred! 501s -- 501s ------- 501s ------------ 501s ----------------- 501s ---------------------- 501s --------------------------- 501s -------------------------------- 501s -- Trying 'Ninja' generator - failure 501s -------------------------------------------------------------------------------- 501s 501s 501s 501s -------------------------------------------------------------------------------- 501s -- Trying 'Unix Makefiles' generator 501s -------------------------------- 501s --------------------------- 501s ---------------------- 501s ----------------- 501s ------------ 501s ------- 501s -- 501s Not searching for unused variables given on the command line. 501s -- Configuring done (0.0s) 501s -- Generating done (0.0s) 501s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-31/run0/_cmake_test_compile/build 501s -- 501s ------- 501s ------------ 501s ----------------- 501s ---------------------- 501s --------------------------- 501s -------------------------------- 501s -- Trying 'Unix Makefiles' generator - success 501s -------------------------------------------------------------------------------- 501s 501s Configuring Project 501s Working directory: 501s /tmp/pytest-of-ubuntu/pytest-31/run0/_skbuild/linux-armv7l-3.12/cmake-build 501s Command: 501s /usr/bin/cmake /tmp/pytest-of-ubuntu/pytest-31/run0 -G 'Unix Makefiles' --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pytest-of-ubuntu/pytest-31/run0/_skbuild/linux-armv7l-3.12/cmake-install -DPYTHON_VERSION_STRING:STRING=3.12.4 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/usr/lib/python3/dist-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/usr/bin/python3.12 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPYTHON_LIBRARY:PATH=/usr/lib/arm-linux-gnueabihf/libpython3.12.so -DPython_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython_ROOT_DIR:PATH=/usr -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPython3_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython3_ROOT_DIR:PATH=/usr -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.12 -DCMAKE_BUILD_TYPE:STRING=Release 501s 501s Not searching for unused variables given on the command line. 501s -- Configuring done (0.0s) 501s -- Generating done (0.0s) 501s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-31/run0/_skbuild/linux-armv7l-3.12/cmake-build 501s Install the project... 501s -- Install configuration: "Release" 501s -- Installing: /tmp/pytest-of-ubuntu/pytest-31/run0/_skbuild/linux-armv7l-3.12/cmake-install/./helloModule.py 501s -- Installing: /tmp/pytest-of-ubuntu/pytest-31/run0/_skbuild/linux-armv7l-3.12/cmake-install/hello/world.py 501s 501s copying bonjourModule.py -> _skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py 501s creating directory _skbuild/linux-armv7l-3.12/cmake-install/bonjour 501s copying bonjour/__init__.py -> _skbuild/linux-armv7l-3.12/cmake-install/bonjour/__init__.py 501s copying hello/__init__.py -> _skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py 501s copying hello/__main__.py -> _skbuild/linux-armv7l-3.12/cmake-install/hello/__main__.py 501s creating directory _skbuild/linux-armv7l-3.12/cmake-install/bonjour/data 501s copying /tmp/pytest-of-ubuntu/pytest-31/run0/bonjour/data/ciel.txt -> _skbuild/linux-armv7l-3.12/cmake-install/bonjour/data/ciel.txt 501s copying /tmp/pytest-of-ubuntu/pytest-31/run0/bonjour/data/soleil.txt -> _skbuild/linux-armv7l-3.12/cmake-install/bonjour/data/soleil.txt 501s copying /tmp/pytest-of-ubuntu/pytest-31/run0/bonjour/data/terre.txt -> _skbuild/linux-armv7l-3.12/cmake-install/bonjour/data/terre.txt 501s copying /tmp/pytest-of-ubuntu/pytest-31/run0/bonjour/data/terre.txt -> _skbuild/linux-armv7l-3.12/cmake-install/bonjour/data/terre.txt 501s 501s ----------------------------- Captured stderr call ----------------------------- 501s hint: Using 'master' as the name for the initial branch. This default branch name 501s hint: is subject to change. To configure the initial branch name to use in all 501s hint: of your new repositories, which will suppress this warning, call: 501s hint: 501s hint: git config --global init.defaultBranch 501s hint: 501s hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 501s hint: 'development'. The just-created branch can be renamed via this command: 501s hint: 501s hint: git branch -m 501s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 501s Compatibility with CMake < 3.5 will be removed from a future version of 501s CMake. 501s 501s Update the VERSION argument value or use a ... suffix to tell 501s CMake that the project does not need compatibility with older versions. 501s 501s 501s CMake Error: CMake was unable to find a build program corresponding to "Ninja". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. 501s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 501s Compatibility with CMake < 3.5 will be removed from a future version of 501s CMake. 501s 501s Update the VERSION argument value or use a ... suffix to tell 501s CMake that the project does not need compatibility with older versions. 501s 501s 501s ------------------------------ Captured log call ------------------------------- 501s INFO root:dist.py:986 running bdist_wheel 501s INFO root:dist.py:986 running build 501s INFO root:dist.py:986 running build_py 501s INFO root:dir_util.py:70 creating _skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312 501s ___________________________ test_hello_cython_builds ___________________________ 501s 501s iargs = (), ikwargs = {} 501s 501s @functools.wraps(fun) 501s def wrapped(*iargs, **ikwargs): 501s if wrapped.tmp_dir is None: # type: ignore[attr-defined] 501s wrapped.tmp_dir = _tmpdir(fun.__name__) # type: ignore[attr-defined] 501s prepare_project(wrapped.project, wrapped.tmp_dir) # type: ignore[attr-defined] 501s initialize_git_repo_and_commit(wrapped.tmp_dir, verbose=wrapped.verbose_git) # type: ignore[attr-defined] 501s 501s > with execute_setup_py(wrapped.tmp_dir, wrapped.setup_args, disable_languages_test=disable_languages_test): # type: ignore[attr-defined] 501s 501s disable_languages_test = False 501s fun = 501s iargs = () 501s ikwargs = {} 501s ret = False 501s wrapped = 501s 501s tests/__init__.py:261: 501s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 501s /usr/lib/python3.12/contextlib.py:137: in __enter__ 501s return next(self.gen) 501s self = 501s tests/__init__.py:247: in execute_setup_py 501s exec(setup_code) 501s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 501s disable_languages_test = False 501s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 501s project_dir = local('/tmp/pytest-of-ubuntu/pytest-34/test_hello_cython_builds0') 501s setup = 501s setup_args = ['build'] 501s setup_code = at 0xec9faf20, file "setup.py", line 1> 501s setup.py:5: in 501s ??? 501s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 501s disable_languages_test = False 501s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 501s project_dir = local('/tmp/pytest-of-ubuntu/pytest-34/test_hello_cython_builds0') 501s setup = 501s setup_args = ['build'] 501s setup_code = at 0xec9faf20, file "setup.py", line 1> 501s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:781: in setup 501s return setuptools.setup(**kw) # type: ignore[no-any-return, func-returns-value] 501s BinaryDistribution = .BinaryDistribution'> 501s build_ext_inplace = False 501s cmake_args = ['-DCMAKE_BUILD_TYPE:STRING=Release'] 501s cmake_args_from_args = [] 501s cmake_executable = '/usr/bin/cmake' 501s cmake_install_dir = '' 501s cmake_install_target = 'install' 501s cmake_install_target_from_command = '' 501s cmake_install_target_from_setup = 'install' 501s cmake_languages = ('C', 'CXX') 501s cmake_manifest = ['_skbuild/linux-armv7l-3.12/cmake-install/hello/_hello.cpython-312-arm-linux-gnueabihf.so'] 501s cmake_minimum_required_version = None 501s cmake_process_manifest_hook = None 501s cmake_source_dir = '' 501s cmake_spec = {'args': ['/usr/bin/cmake', '-DCMAKE_BUILD_TYPE:STRING=Release'], 'environment': {'PYTHONNOUSERSITE': None, 'PYTHONPATH': None}, 'version': '3.29.6'} 501s cmake_with_sdist = False 501s cmdclass = {'bdist': , 'bdist_wheel': , 'build': , 'build_ext': , ...} 501s cmkr = 501s commands = ['build'] 501s config_type = 'Release' 501s data_files = {} 501s developer_mode = False 501s display_only = False 501s env = {'ADTTMP': '/tmp/autopkgtest.EPTB0Y/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', 'ADT_TEST_TRIGGERS': 'setuptools/70.3.0-2', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', ...} 501s env_cmake_args = [] 501s force_cmake = False 501s has_cmakelists = True 501s has_invalid_arguments = False 501s help_commands = 0 501s hide_listing = False 501s kw = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package (cython version)', ...} 501s make_args = ['--config', 'Release'] 501s new_py_modules = {} 501s new_scripts = {} 501s original_manifestin_data_files = [] 501s original_package_data = {} 501s package = 'cython_flags' 501s package_data = {'cython_flags': ['_hello.cpython-312-arm-linux-gnueabihf.so', 'hello/__init__.py', 'hello/__main__.py']} 501s package_dir = {'cython_flags': 'hello'} 501s package_prefixes = [('hello', 'cython_flags')] 501s packages = ['cython_flags'] 501s plat_name = None 501s prefix = 'hello' 501s process_manifest = None 501s py_modules = [] 501s scripts = [] 501s skip_cmake = False 501s skip_generator_test = False 501s skip_skbuild = False 501s /usr/lib/python3/dist-packages/setuptools/__init__.py:103: in setup 501s return distutils.core.setup(**attrs) 501s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package (cython version)', ...} 501s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:184: in setup 501s return run_commands(dist) 501s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package (cython version)', ...} 501s dist = .BinaryDistribution object at 0xec7a5fc0> 501s klass = .BinaryDistribution'> 501s ok = True 501s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:200: in run_commands 501s dist.run_commands() 501s dist = .BinaryDistribution object at 0xec7a5fc0> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:970: in run_commands 501s self.run_command(cmd) 501s cmd = 'build' 501s self = .BinaryDistribution object at 0xec7a5fc0> 501s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 501s super().run_command(command) 501s __class__ = 501s command = 'build' 501s self = .BinaryDistribution object at 0xec7a5fc0> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 501s cmd_obj.run() 501s cmd_obj = 501s command = 'build' 501s self = .BinaryDistribution object at 0xec7a5fc0> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build.py:135: in run 501s self.run_command(cmd_name) 501s cmd_name = 'build_py' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 501s self.distribution.run_command(command) 501s command = 'build_py' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 501s super().run_command(command) 501s __class__ = 501s command = 'build_py' 501s self = .BinaryDistribution object at 0xec7a5fc0> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 501s cmd_obj.run() 501s cmd_obj = 501s command = 'build_py' 501s self = .BinaryDistribution object at 0xec7a5fc0> 501s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:41: in run 501s super().run(*args, **kwargs) 501s __class__ = 501s args = () 501s kwargs = {} 501s self = 501s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:74: in run 501s self.build_packages() 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:379: in build_packages 501s self.build_module(module, module_file, package) 501s module = '__main__' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/hello/__main__.py' 501s modules = [('cython_flags', '__main__', '_skbuild/linux-armv7l-3.12/cmake-install/hello/__main__.py'), ('cython_flags', '__init__', '_skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py')] 501s package = 'cython_flags' 501s package_ = 'cython_flags' 501s package_dir = '_skbuild/linux-armv7l-3.12/cmake-install/hello' 501s self = 501s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:31: in build_module 501s super().build_module(module, module_file, package) # type: ignore[no-untyped-call] 501s __class__ = 501s module = '__main__' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/hello/__main__.py' 501s package = 'cython_flags' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:89: in build_module 501s outfile, copied = orig.build_py.build_module(self, module, module_file, package) 501s module = '__main__' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/hello/__main__.py' 501s package = 'cython_flags' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:349: in build_module 501s self.mkpath(dir) 501s dir = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/cython_flags' 501s module = '__main__' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/hello/__main__.py' 501s outfile = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/cython_flags/__main__.py' 501s package = ['cython_flags'] 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:340: in mkpath 501s dir_util.mkpath(name, mode, dry_run=self.dry_run) 501s mode = 511 501s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/cython_flags' 501s self = 501s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 501s 501s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/cython_flags' 501s mode = 511, verbose = True, dry_run = False 501s 501s def mkpath(name, mode=0o777, verbose=True, dry_run=False): # noqa: C901 501s """Create a directory and any missing ancestor directories. 501s 501s If the directory already exists (or if 'name' is the empty string, which 501s means the current directory, which of course exists), then do nothing. 501s Raise DistutilsFileError if unable to create some directory along the way 501s (eg. some sub-path exists, but is a file rather than a directory). 501s If 'verbose' is true, print a one-line summary of each mkdir to stdout. 501s Return the list of directories actually created. 501s 501s os.makedirs is not used because: 501s 501s a) It's new to Python 1.5.2, and 501s b) it blows up if the directory already exists (in which case it should 501s silently succeed). 501s """ 501s 501s global _path_created 501s 501s # Detect a common bug -- name is None 501s if not isinstance(name, str): 501s raise DistutilsInternalError(f"mkpath: 'name' must be a string (got {name!r})") 501s 501s # XXX what's the better way to handle verbosity? print as we create 501s # each directory in the path (the current behaviour), or only announce 501s # the creation of the whole path? (quite easy to do the latter since 501s # we're not using a recursive algorithm) 501s 501s name = os.path.normpath(name) 501s created_dirs = [] 501s if os.path.isdir(name) or name == '': 501s return created_dirs 501s if os.path.abspath(name) in _path_created: 501s return created_dirs 501s 501s (head, tail) = os.path.split(name) 501s tails = [tail] # stack of lone dirs to create 501s 501s while head and tail and not os.path.isdir(head): 501s (head, tail) = os.path.split(head) 501s tails.insert(0, tail) # push next higher dir onto stack 501s 501s # now 'head' contains the deepest directory that already exists 501s # (that is, the child of 'head' in 'name' is the highest directory 501s # that does *not* exist) 501s for d in tails: 501s # print "head = %s, d = %s: " % (head, d), 501s head = os.path.join(head, d) 501s abs_head = os.path.abspath(head) 501s 501s if abs_head in _path_created: 501s continue 501s 501s if verbose >= 1: 501s log.info("creating %s", head) 501s 501s if not dry_run: 501s try: 501s os.mkdir(head, mode) 501s except OSError as exc: 501s if not (exc.errno == errno.EEXIST and os.path.isdir(head)): 501s raise DistutilsFileError( 501s f"could not create '{head}': {exc.args[-1]}" 501s ) 501s created_dirs.append(head) 501s 501s > _path_created.add(abs_head) 501s E AttributeError: 'dict' object has no attribute 'add' 501s 501s abs_head = '/tmp/pytest-of-ubuntu/pytest-34/test_hello_cython_builds0/_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s created_dirs = ['_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312'] 501s d = 'lib.linux-armv7l-cpython-312' 501s dry_run = False 501s head = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s mode = 511 501s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/cython_flags' 501s tail = 'lib.linux-armv7l-cpython-312' 501s tails = ['lib.linux-armv7l-cpython-312', 'cython_flags'] 501s verbose = True 501s 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dir_util.py:82: AttributeError 501s ----------------------------- Captured stdout call ----------------------------- 501s Initialized empty Git repository in /tmp/pytest-of-ubuntu/pytest-34/test_hello_cython_builds0/.git/ 501s [master (root-commit) 7e4d513] Initial commit 501s 6 files changed, 40 insertions(+) 501s create mode 100644 CMakeLists.txt 501s create mode 100644 hello/CMakeLists.txt 501s create mode 100644 hello/__init__.py 501s create mode 100644 hello/__main__.py 501s create mode 100644 hello/_hello.pyx 501s create mode 100644 setup.py 501s 501s 501s -------------------------------------------------------------------------------- 501s -- Trying 'Ninja' generator 501s -------------------------------- 501s --------------------------- 501s ---------------------- 501s ----------------- 501s ------------ 501s ------- 501s -- 501s Not searching for unused variables given on the command line. 501s -- Configuring incomplete, errors occurred! 501s -- 501s ------- 501s ------------ 501s ----------------- 501s ---------------------- 501s --------------------------- 501s -------------------------------- 501s -- Trying 'Ninja' generator - failure 501s -------------------------------------------------------------------------------- 501s 501s 501s 501s -------------------------------------------------------------------------------- 501s -- Trying 'Unix Makefiles' generator 501s -------------------------------- 501s --------------------------- 501s ---------------------- 501s ----------------- 501s ------------ 501s ------- 501s -- 501s Not searching for unused variables given on the command line. 501s -- The C compiler identification is GNU 13.2.0 501s -- Detecting C compiler ABI info 501s -- Detecting C compiler ABI info - done 501s -- Check for working C compiler: /usr/bin/cc - skipped 501s -- Detecting C compile features 501s -- Detecting C compile features - done 501s -- The CXX compiler identification is GNU 13.2.0 501s -- Detecting CXX compiler ABI info 501s -- Detecting CXX compiler ABI info - done 501s -- Check for working CXX compiler: /usr/bin/c++ - skipped 501s -- Detecting CXX compile features 501s -- Detecting CXX compile features - done 501s -- Configuring done (0.7s) 501s -- Generating done (0.0s) 501s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-34/test_hello_cython_builds0/_cmake_test_compile/build 501s -- 501s ------- 501s ------------ 501s ----------------- 501s ---------------------- 501s --------------------------- 501s -------------------------------- 501s -- Trying 'Unix Makefiles' generator - success 501s -------------------------------------------------------------------------------- 501s 501s Configuring Project 501s Working directory: 501s /tmp/pytest-of-ubuntu/pytest-34/test_hello_cython_builds0/_skbuild/linux-armv7l-3.12/cmake-build 501s Command: 501s /usr/bin/cmake /tmp/pytest-of-ubuntu/pytest-34/test_hello_cython_builds0 -G 'Unix Makefiles' --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pytest-of-ubuntu/pytest-34/test_hello_cython_builds0/_skbuild/linux-armv7l-3.12/cmake-install -DPYTHON_VERSION_STRING:STRING=3.12.4 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/usr/lib/python3/dist-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/usr/bin/python3.12 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPYTHON_LIBRARY:PATH=/usr/lib/arm-linux-gnueabihf/libpython3.12.so -DPython_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython_ROOT_DIR:PATH=/usr -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPython3_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython3_ROOT_DIR:PATH=/usr -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.12 -DCMAKE_BUILD_TYPE:STRING=Release 501s 501s Not searching for unused variables given on the command line. 501s -- The C compiler identification is GNU 13.2.0 501s -- The CXX compiler identification is GNU 13.2.0 501s -- Detecting C compiler ABI info 501s -- Detecting C compiler ABI info - done 501s -- Check for working C compiler: /usr/bin/cc - skipped 501s -- Detecting C compile features 501s -- Detecting C compile features - done 501s -- Detecting CXX compiler ABI info 501s -- Detecting CXX compiler ABI info - done 501s -- Check for working CXX compiler: /usr/bin/c++ - skipped 501s -- Detecting CXX compile features 501s -- Detecting CXX compile features - done 501s -- Found PythonInterp: /usr/bin/python3.12 (found version "3.12.4") 501s -- Found PythonLibs: /usr/lib/arm-linux-gnueabihf/libpython3.12.so (found version "3.12.4") 501s -- Found Cython: /usr/bin/cython 501s -- Performing Test Weak Link MODULE -> SHARED (gnu_ld_ignore) - Success 501s -- Configuring done (1.6s) 501s -- Generating done (0.0s) 501s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-34/test_hello_cython_builds0/_skbuild/linux-armv7l-3.12/cmake-build 501s [ 33%] Generating CXX source hello/_hello.cxx 501s [ 66%] Building CXX object hello/CMakeFiles/_hello.dir/_hello.cxx.o 501s [100%] Linking CXX shared module _hello.cpython-312-arm-linux-gnueabihf.so 501s [100%] Built target _hello 501s Install the project... 501s -- Install configuration: "Release" 501s -- Installing: /tmp/pytest-of-ubuntu/pytest-34/test_hello_cython_builds0/_skbuild/linux-armv7l-3.12/cmake-install/hello/_hello.cpython-312-arm-linux-gnueabihf.so 501s 501s copying hello/__init__.py -> _skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py 501s copying hello/__main__.py -> _skbuild/linux-armv7l-3.12/cmake-install/hello/__main__.py 501s 501s ----------------------------- Captured stderr call ----------------------------- 501s hint: Using 'master' as the name for the initial branch. This default branch name 501s hint: is subject to change. To configure the initial branch name to use in all 501s hint: of your new repositories, which will suppress this warning, call: 501s hint: 501s hint: git config --global init.defaultBranch 501s hint: 501s hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 501s hint: 'development'. The just-created branch can be renamed via this command: 501s hint: 501s hint: git branch -m 501s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 501s Compatibility with CMake < 3.5 will be removed from a future version of 501s CMake. 501s 501s Update the VERSION argument value or use a ... suffix to tell 501s CMake that the project does not need compatibility with older versions. 501s 501s 501s CMake Error: CMake was unable to find a build program corresponding to "Ninja". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. 501s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 501s Compatibility with CMake < 3.5 will be removed from a future version of 501s CMake. 501s 501s Update the VERSION argument value or use a ... suffix to tell 501s CMake that the project does not need compatibility with older versions. 501s 501s 501s CMake Warning (dev) at /usr/lib/python3/dist-packages/skbuild/resources/cmake/FindPythonExtensions.cmake:245 (find_package): 501s Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules 501s are removed. Run "cmake --help-policy CMP0148" for policy details. Use 501s the cmake_policy command to set the policy and suppress this warning. 501s 501s Call Stack (most recent call first): 501s CMakeLists.txt:5 (find_package) 501s This warning is for project developers. Use -Wno-dev to suppress it. 501s 501s CMake Warning (dev) at /usr/lib/python3/dist-packages/skbuild/resources/cmake/FindPythonExtensions.cmake:252 (find_package): 501s Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules 501s are removed. Run "cmake --help-policy CMP0148" for policy details. Use 501s the cmake_policy command to set the policy and suppress this warning. 501s 501s Call Stack (most recent call first): 501s CMakeLists.txt:5 (find_package) 501s This warning is for project developers. Use -Wno-dev to suppress it. 501s 501s _modinit_prefix:PyInit_ 501s /usr/lib/python3/dist-packages/Cython/Compiler/Main.py:381: FutureWarning: Cython directive 'language_level' not set, using '3str' for now (Py3). This has changed from earlier releases! File: /tmp/pytest-of-ubuntu/pytest-34/test_hello_cython_builds0/hello/_hello.pyx 501s tree = Parsing.p_module(s, pxd, full_module_name) 501s ------------------------------ Captured log call ------------------------------- 501s INFO root:dist.py:986 running build 501s INFO root:dist.py:986 running build_py 501s INFO root:dir_util.py:70 creating _skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312 501s ___________________________ test_bdist_wheel_command ___________________________ 501s 501s def test_bdist_wheel_command(): 501s project = "test-filter-manifest" 501s 501s expected_content = [ 501s "hello/__init__.py", 501s "hello/swig_mwe.py", 501s "hello/_swig_mwe.pyd", 501s "hello-1.2.3.data/data/bin/hello", 501s ] 501s 501s expected_distribution_name = "hello-1.2.3" 501s 501s tmp_dir = _tmpdir("test_bdist_wheel_command") 501s prepare_project(project, tmp_dir) 501s initialize_git_repo_and_commit(tmp_dir, verbose=True) 501s 501s relative_setup_path = "wrapping/python/" 501s 501s > with execute_setup_py(tmp_dir.join(relative_setup_path), ["bdist_wheel"]): 501s 501s expected_content = ['hello/__init__.py', 'hello/swig_mwe.py', 'hello/_swig_mwe.pyd', 'hello-1.2.3.data/data/bin/hello'] 501s expected_distribution_name = 'hello-1.2.3' 501s project = 'test-filter-manifest' 501s relative_setup_path = 'wrapping/python/' 501s tmp_dir = local('/tmp/pytest-of-ubuntu/pytest-35/test_bdist_wheel_command0') 501s 501s tests/test_filter_manifest.py:27: 501s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 501s /usr/lib/python3.12/contextlib.py:137: in __enter__ 501s return next(self.gen) 501s self = 501s tests/__init__.py:247: in execute_setup_py 501s exec(setup_code) 501s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 501s disable_languages_test = False 501s exclude_dev_files = 501s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 501s project_dir = local('/tmp/pytest-of-ubuntu/pytest-35/test_bdist_wheel_command0/wrapping/python') 501s setup = 501s setup_args = ['bdist_wheel'] 501s setup_code = at 0xec584408, file "setup.py", line 1> 501s setup.py:10: in 501s ??? 501s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 501s disable_languages_test = False 501s exclude_dev_files = 501s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 501s project_dir = local('/tmp/pytest-of-ubuntu/pytest-35/test_bdist_wheel_command0/wrapping/python') 501s setup = 501s setup_args = ['bdist_wheel'] 501s setup_code = at 0xec584408, file "setup.py", line 1> 501s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:781: in setup 501s return setuptools.setup(**kw) # type: ignore[no-any-return, func-returns-value] 501s BinaryDistribution = .BinaryDistribution'> 501s build_ext_inplace = False 501s cmake_args = ['-DCMAKE_BUILD_TYPE:STRING=Release'] 501s cmake_args_from_args = [] 501s cmake_executable = '/usr/bin/cmake' 501s cmake_install_dir = '' 501s cmake_install_target = 'install' 501s cmake_install_target_from_command = '' 501s cmake_install_target_from_setup = 'install' 501s cmake_languages = ('C', 'CXX') 501s cmake_manifest = ['_skbuild/linux-armv7l-3.12/cmake-install/bin/hello', '_skbuild/linux-armv7l-3.12/cmake-install/hello/swig_mwe.py', '_skbuild/linux-armv7l-3.12/cmake-install/hello/_swig_mwe.pyd'] 501s cmake_minimum_required_version = None 501s cmake_process_manifest_hook = 501s cmake_source_dir = '../../' 501s cmake_spec = {'args': ['/usr/bin/cmake', '-DCMAKE_BUILD_TYPE:STRING=Release'], 'environment': {'PYTHONNOUSERSITE': None, 'PYTHONPATH': None}, 'version': '3.29.6'} 501s cmake_with_sdist = False 501s cmdclass = {'bdist': , 'bdist_wheel': , 'build': , 'build_ext': , ...} 501s cmkr = 501s commands = ['bdist_wheel'] 501s config_type = 'Release' 501s data_files = {'bin': {'_skbuild/linux-armv7l-3.12/cmake-install/bin/hello'}} 501s developer_mode = False 501s display_only = False 501s env = {'ADTTMP': '/tmp/autopkgtest.EPTB0Y/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', 'ADT_TEST_TRIGGERS': 'setuptools/70.3.0-2', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', ...} 501s env_cmake_args = [] 501s force_cmake = False 501s has_cmakelists = True 501s has_invalid_arguments = False 501s help_commands = 0 501s hide_listing = False 501s kw = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': 501s py_modules = [] 501s scripts = [] 501s skip_cmake = False 501s skip_generator_test = False 501s skip_skbuild = False 501s /usr/lib/python3/dist-packages/setuptools/__init__.py:103: in setup 501s return distutils.core.setup(**attrs) 501s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , 'bdist_wheel': .BinaryDistribution object at 0xec7b7120> 501s klass = .BinaryDistribution'> 501s ok = True 501s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:200: in run_commands 501s dist.run_commands() 501s dist = .BinaryDistribution object at 0xec7b7120> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:970: in run_commands 501s self.run_command(cmd) 501s cmd = 'bdist_wheel' 501s self = .BinaryDistribution object at 0xec7b7120> 501s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 501s super().run_command(command) 501s __class__ = 501s command = 'bdist_wheel' 501s self = .BinaryDistribution object at 0xec7b7120> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 501s cmd_obj.run() 501s cmd_obj = 501s command = 'bdist_wheel' 501s self = .BinaryDistribution object at 0xec7b7120> 501s /usr/lib/python3/dist-packages/skbuild/command/bdist_wheel.py:33: in run 501s super().run(*args, **kwargs) 501s __class__ = 501s args = () 501s kwargs = {} 501s old_write_files = 501s self = 501s update_write_files = .update_write_files at 0xec925f78> 501s /usr/lib/python3/dist-packages/wheel/bdist_wheel.py:368: in run 501s self.run_command("build") 501s build_ext = 501s build_scripts = 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 501s self.distribution.run_command(command) 501s command = 'build' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 501s super().run_command(command) 501s __class__ = 501s command = 'build' 501s self = .BinaryDistribution object at 0xec7b7120> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 501s cmd_obj.run() 501s cmd_obj = 501s command = 'build' 501s self = .BinaryDistribution object at 0xec7b7120> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build.py:135: in run 501s self.run_command(cmd_name) 501s cmd_name = 'build_py' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 501s self.distribution.run_command(command) 501s command = 'build_py' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 501s super().run_command(command) 501s __class__ = 501s command = 'build_py' 501s self = .BinaryDistribution object at 0xec7b7120> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 501s cmd_obj.run() 501s cmd_obj = 501s command = 'build_py' 501s self = .BinaryDistribution object at 0xec7b7120> 501s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:41: in run 501s super().run(*args, **kwargs) 501s __class__ = 501s args = () 501s kwargs = {} 501s self = 501s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:74: in run 501s self.build_packages() 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:379: in build_packages 501s self.build_module(module, module_file, package) 501s module = '__init__' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py' 501s modules = [('hello', '__init__', '_skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py'), ('hello', 'swig_mwe', '_skbuild/linux-armv7l-3.12/cmake-install/hello/swig_mwe.py')] 501s package = 'hello' 501s package_ = 'hello' 501s package_dir = '_skbuild/linux-armv7l-3.12/cmake-install/hello' 501s self = 501s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:31: in build_module 501s super().build_module(module, module_file, package) # type: ignore[no-untyped-call] 501s __class__ = 501s module = '__init__' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py' 501s package = 'hello' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:89: in build_module 501s outfile, copied = orig.build_py.build_module(self, module, module_file, package) 501s module = '__init__' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py' 501s package = 'hello' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:349: in build_module 501s self.mkpath(dir) 501s dir = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello' 501s module = '__init__' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py' 501s outfile = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello/__init__.py' 501s package = ['hello'] 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:340: in mkpath 501s dir_util.mkpath(name, mode, dry_run=self.dry_run) 501s mode = 511 501s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello' 501s self = 501s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 501s 501s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello' 501s mode = 511, verbose = True, dry_run = False 501s 501s def mkpath(name, mode=0o777, verbose=True, dry_run=False): # noqa: C901 501s """Create a directory and any missing ancestor directories. 501s 501s If the directory already exists (or if 'name' is the empty string, which 501s means the current directory, which of course exists), then do nothing. 501s Raise DistutilsFileError if unable to create some directory along the way 501s (eg. some sub-path exists, but is a file rather than a directory). 501s If 'verbose' is true, print a one-line summary of each mkdir to stdout. 501s Return the list of directories actually created. 501s 501s os.makedirs is not used because: 501s 501s a) It's new to Python 1.5.2, and 501s b) it blows up if the directory already exists (in which case it should 501s silently succeed). 501s """ 501s 501s global _path_created 501s 501s # Detect a common bug -- name is None 501s if not isinstance(name, str): 501s raise DistutilsInternalError(f"mkpath: 'name' must be a string (got {name!r})") 501s 501s # XXX what's the better way to handle verbosity? print as we create 501s # each directory in the path (the current behaviour), or only announce 501s # the creation of the whole path? (quite easy to do the latter since 501s # we're not using a recursive algorithm) 501s 501s name = os.path.normpath(name) 501s created_dirs = [] 501s if os.path.isdir(name) or name == '': 501s return created_dirs 501s if os.path.abspath(name) in _path_created: 501s return created_dirs 501s 501s (head, tail) = os.path.split(name) 501s tails = [tail] # stack of lone dirs to create 501s 501s while head and tail and not os.path.isdir(head): 501s (head, tail) = os.path.split(head) 501s tails.insert(0, tail) # push next higher dir onto stack 501s 501s # now 'head' contains the deepest directory that already exists 501s # (that is, the child of 'head' in 'name' is the highest directory 501s # that does *not* exist) 501s for d in tails: 501s # print "head = %s, d = %s: " % (head, d), 501s head = os.path.join(head, d) 501s abs_head = os.path.abspath(head) 501s 501s if abs_head in _path_created: 501s continue 501s 501s if verbose >= 1: 501s log.info("creating %s", head) 501s 501s if not dry_run: 501s try: 501s os.mkdir(head, mode) 501s except OSError as exc: 501s if not (exc.errno == errno.EEXIST and os.path.isdir(head)): 501s raise DistutilsFileError( 501s f"could not create '{head}': {exc.args[-1]}" 501s ) 501s created_dirs.append(head) 501s 501s > _path_created.add(abs_head) 501s E AttributeError: 'dict' object has no attribute 'add' 501s 501s abs_head = '/tmp/pytest-of-ubuntu/pytest-35/test_bdist_wheel_command0/wrapping/python/_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s created_dirs = ['_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312'] 501s d = 'lib.linux-armv7l-cpython-312' 501s dry_run = False 501s head = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s mode = 511 501s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello' 501s tail = 'lib.linux-armv7l-cpython-312' 501s tails = ['lib.linux-armv7l-cpython-312', 'hello'] 501s verbose = True 501s 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dir_util.py:82: AttributeError 501s ----------------------------- Captured stdout call ----------------------------- 501s Initialized empty Git repository in /tmp/pytest-of-ubuntu/pytest-35/test_bdist_wheel_command0/.git/ 501s [master (root-commit) f067b0c] Initial commit 501s 4 files changed, 60 insertions(+) 501s create mode 100644 CMakeLists.txt 501s create mode 100644 wrapping/python/CMakeLists.txt 501s create mode 100644 wrapping/python/hello/__init__.py 501s create mode 100644 wrapping/python/setup.py 501s 501s 501s -------------------------------------------------------------------------------- 501s -- Trying 'Ninja' generator 501s -------------------------------- 501s --------------------------- 501s ---------------------- 501s ----------------- 501s ------------ 501s ------- 501s -- 501s Not searching for unused variables given on the command line. 501s -- Configuring incomplete, errors occurred! 501s -- 501s ------- 501s ------------ 501s ----------------- 501s ---------------------- 501s --------------------------- 501s -------------------------------- 501s -- Trying 'Ninja' generator - failure 501s -------------------------------------------------------------------------------- 501s 501s 501s 501s -------------------------------------------------------------------------------- 501s -- Trying 'Unix Makefiles' generator 501s -------------------------------- 501s --------------------------- 501s ---------------------- 501s ----------------- 501s ------------ 501s ------- 501s -- 501s Not searching for unused variables given on the command line. 501s -- The C compiler identification is GNU 13.2.0 501s -- Detecting C compiler ABI info 501s -- Detecting C compiler ABI info - done 501s -- Check for working C compiler: /usr/bin/cc - skipped 501s -- Detecting C compile features 501s -- Detecting C compile features - done 501s -- The CXX compiler identification is GNU 13.2.0 501s -- Detecting CXX compiler ABI info 501s -- Detecting CXX compiler ABI info - done 501s -- Check for working CXX compiler: /usr/bin/c++ - skipped 501s -- Detecting CXX compile features 501s -- Detecting CXX compile features - done 501s -- Configuring done (0.7s) 501s -- Generating done (0.0s) 501s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-35/test_bdist_wheel_command0/wrapping/python/_cmake_test_compile/build 501s -- 501s ------- 501s ------------ 501s ----------------- 501s ---------------------- 501s --------------------------- 501s -------------------------------- 501s -- Trying 'Unix Makefiles' generator - success 501s -------------------------------------------------------------------------------- 501s 501s Configuring Project 501s Working directory: 501s /tmp/pytest-of-ubuntu/pytest-35/test_bdist_wheel_command0/wrapping/python/_skbuild/linux-armv7l-3.12/cmake-build 501s Command: 501s /usr/bin/cmake /tmp/pytest-of-ubuntu/pytest-35/test_bdist_wheel_command0 -G 'Unix Makefiles' --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pytest-of-ubuntu/pytest-35/test_bdist_wheel_command0/wrapping/python/_skbuild/linux-armv7l-3.12/cmake-install -DPYTHON_VERSION_STRING:STRING=3.12.4 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/usr/lib/python3/dist-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/usr/bin/python3.12 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPYTHON_LIBRARY:PATH=/usr/lib/arm-linux-gnueabihf/libpython3.12.so -DPython_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython_ROOT_DIR:PATH=/usr -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPython3_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython3_ROOT_DIR:PATH=/usr -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.12 -DCMAKE_BUILD_TYPE:STRING=Release 501s 501s Not searching for unused variables given on the command line. 501s -- Configuring done (0.0s) 501s -- Generating done (0.0s) 501s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-35/test_bdist_wheel_command0/wrapping/python/_skbuild/linux-armv7l-3.12/cmake-build 501s Install the project... 501s -- Install configuration: "Release" 501s -- Installing: /tmp/pytest-of-ubuntu/pytest-35/test_bdist_wheel_command0/wrapping/python/_skbuild/linux-armv7l-3.12/cmake-install/include/bar.h 501s -- Installing: /tmp/pytest-of-ubuntu/pytest-35/test_bdist_wheel_command0/wrapping/python/_skbuild/linux-armv7l-3.12/cmake-install/include/foo.h 501s -- Installing: /tmp/pytest-of-ubuntu/pytest-35/test_bdist_wheel_command0/wrapping/python/_skbuild/linux-armv7l-3.12/cmake-install/lib/static/libbar.a 501s -- Installing: /tmp/pytest-of-ubuntu/pytest-35/test_bdist_wheel_command0/wrapping/python/_skbuild/linux-armv7l-3.12/cmake-install/lib/static/libfoo.a 501s -- Installing: /tmp/pytest-of-ubuntu/pytest-35/test_bdist_wheel_command0/wrapping/python/_skbuild/linux-armv7l-3.12/cmake-install/bin/hello 501s -- Installing: /tmp/pytest-of-ubuntu/pytest-35/test_bdist_wheel_command0/wrapping/python/_skbuild/linux-armv7l-3.12/cmake-install/hello/swig_mwe.py 501s -- Installing: /tmp/pytest-of-ubuntu/pytest-35/test_bdist_wheel_command0/wrapping/python/_skbuild/linux-armv7l-3.12/cmake-install/hello/_swig_mwe.pyd 501s 501s copying hello/__init__.py -> _skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py 501s 501s ----------------------------- Captured stderr call ----------------------------- 501s hint: Using 'master' as the name for the initial branch. This default branch name 501s hint: is subject to change. To configure the initial branch name to use in all 501s hint: of your new repositories, which will suppress this warning, call: 501s hint: 501s hint: git config --global init.defaultBranch 501s hint: 501s hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 501s hint: 'development'. The just-created branch can be renamed via this command: 501s hint: 501s hint: git branch -m 501s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 501s Compatibility with CMake < 3.5 will be removed from a future version of 501s CMake. 501s 501s Update the VERSION argument value or use a ... suffix to tell 501s CMake that the project does not need compatibility with older versions. 501s 501s 501s CMake Error: CMake was unable to find a build program corresponding to "Ninja". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. 501s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 501s Compatibility with CMake < 3.5 will be removed from a future version of 501s CMake. 501s 501s Update the VERSION argument value or use a ... suffix to tell 501s CMake that the project does not need compatibility with older versions. 501s 501s 501s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 501s Compatibility with CMake < 3.5 will be removed from a future version of 501s CMake. 501s 501s Update the VERSION argument value or use a ... suffix to tell 501s CMake that the project does not need compatibility with older versions. 501s 501s 501s ------------------------------ Captured log call ------------------------------- 501s INFO root:dist.py:986 running bdist_wheel 501s INFO root:dist.py:986 running build 501s INFO root:dist.py:986 running build_py 501s INFO root:dir_util.py:70 creating _skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312 501s ______________________________ test_hello_builds _______________________________ 501s 501s def test_hello_builds(): 501s with push_dir(): 501s 501s @project_setup_py_test("hello-cpp", ["build"], ret=True) 501s def run(): 501s pass 501s 501s # Check that a project can be build twice in a row 501s # See issue scikit-build#120 501s > tmp_dir = run()[0] 501s 501s run = .run at 0xec906cf8> 501s 501s tests/test_hello_cpp.py:30: 501s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 501s tests/__init__.py:261: in wrapped 501s with execute_setup_py(wrapped.tmp_dir, wrapped.setup_args, disable_languages_test=disable_languages_test): # type: ignore[attr-defined] 501s disable_languages_test = False 501s fun = .run at 0xec906938> 501s iargs = () 501s ikwargs = {} 501s ret = True 501s wrapped = .run at 0xec906cf8> 501s /usr/lib/python3.12/contextlib.py:137: in __enter__ 501s return next(self.gen) 501s self = 501s tests/__init__.py:247: in execute_setup_py 501s exec(setup_code) 501s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 501s disable_languages_test = False 501s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 501s project_dir = local('/tmp/pytest-of-ubuntu/pytest-36/run0') 501s setup = 501s setup_args = ['build'] 501s setup_code = at 0xec584728, file "setup.py", line 1> 501s setup.py:5: in 501s ??? 501s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 501s disable_languages_test = False 501s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 501s project_dir = local('/tmp/pytest-of-ubuntu/pytest-36/run0') 501s setup = 501s setup_args = ['build'] 501s setup_code = at 0xec584728, file "setup.py", line 1> 501s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:781: in setup 501s return setuptools.setup(**kw) # type: ignore[no-any-return, func-returns-value] 501s BinaryDistribution = .BinaryDistribution'> 501s build_ext_inplace = False 501s cmake_args = ['-DCMAKE_BUILD_TYPE:STRING=Release'] 501s cmake_args_from_args = [] 501s cmake_executable = '/usr/bin/cmake' 501s cmake_install_dir = '' 501s cmake_install_target = 'install' 501s cmake_install_target_from_command = '' 501s cmake_install_target_from_setup = 'install' 501s cmake_languages = ('C', 'CXX') 501s cmake_manifest = ['_skbuild/linux-armv7l-3.12/cmake-install/helloModule.py', '_skbuild/linux-armv7l-3.12/cmake-install/hello/_hello.cpython-312-arm-linux-gnueabihf.so', '_skbuild/linux-armv7l-3.12/cmake-install/hello/world.py'] 501s cmake_minimum_required_version = None 501s cmake_process_manifest_hook = None 501s cmake_source_dir = '' 501s cmake_spec = {'args': ['/usr/bin/cmake', '-DCMAKE_BUILD_TYPE:STRING=Release'], 'environment': {'PYTHONNOUSERSITE': None, 'PYTHONPATH': None}, 'version': '3.29.6'} 501s cmake_with_sdist = False 501s cmdclass = {'bdist': , 'bdist_wheel': , 'build': , 'build_ext': , ...} 501s cmkr = 501s commands = ['build'] 501s config_type = 'Release' 501s data_files = {} 501s developer_mode = False 501s display_only = False 501s env = {'ADTTMP': '/tmp/autopkgtest.EPTB0Y/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', 'ADT_TEST_TRIGGERS': 'setuptools/70.3.0-2', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', ...} 501s env_cmake_args = [] 501s force_cmake = False 501s has_cmakelists = True 501s has_invalid_arguments = False 501s help_commands = 0 501s hide_listing = False 501s kw = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package', ...} 501s make_args = ['--config', 'Release'] 501s new_py_modules = {'bonjourModule': False, 'helloModule': True} 501s new_scripts = {} 501s original_manifestin_data_files = [] 501s original_package_data = {'bonjour': ['data/*.txt', 'data/terre.txt']} 501s package = 'hello' 501s package_data = {'': ['bonjourModule.py', 'helloModule.py'], 'bonjour': ['data/*.txt', 'data/terre.txt', '__init__.py'], 'hello': ['_hello.cpython-312-arm-linux-gnueabihf.so', 'world.py', '__init__.py', '__main__.py']} 501s package_dir = {'bonjour': 'bonjour', 'hello': 'hello'} 501s package_prefixes = [('bonjour', 'bonjour'), ('hello', 'hello')] 501s packages = ['bonjour', 'hello'] 501s plat_name = None 501s process_manifest = None 501s py_modules = ['bonjourModule', 'helloModule'] 501s scripts = [] 501s skip_cmake = False 501s skip_generator_test = False 501s skip_skbuild = False 501s /usr/lib/python3/dist-packages/setuptools/__init__.py:103: in setup 501s return distutils.core.setup(**attrs) 501s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package', ...} 501s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:184: in setup 501s return run_commands(dist) 501s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package', ...} 501s dist = .BinaryDistribution object at 0xec8c6e88> 501s klass = .BinaryDistribution'> 501s ok = True 501s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:200: in run_commands 501s dist.run_commands() 501s dist = .BinaryDistribution object at 0xec8c6e88> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:970: in run_commands 501s self.run_command(cmd) 501s cmd = 'build' 501s self = .BinaryDistribution object at 0xec8c6e88> 501s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 501s super().run_command(command) 501s __class__ = 501s command = 'build' 501s self = .BinaryDistribution object at 0xec8c6e88> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 501s cmd_obj.run() 501s cmd_obj = 501s command = 'build' 501s self = .BinaryDistribution object at 0xec8c6e88> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build.py:135: in run 501s self.run_command(cmd_name) 501s cmd_name = 'build_py' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 501s self.distribution.run_command(command) 501s command = 'build_py' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 501s super().run_command(command) 501s __class__ = 501s command = 'build_py' 501s self = .BinaryDistribution object at 0xec8c6e88> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 501s cmd_obj.run() 501s cmd_obj = 501s command = 'build_py' 501s self = .BinaryDistribution object at 0xec8c6e88> 501s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:41: in run 501s super().run(*args, **kwargs) 501s __class__ = 501s args = () 501s kwargs = {} 501s self = 501s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:71: in run 501s self.build_modules() 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:359: in build_modules 501s self.build_module(module, module_file, package) 501s module = 'bonjourModule' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py' 501s modules = [('', 'bonjourModule', '_skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py'), ('', 'helloModule', '_skbuild/linux-armv7l-3.12/cmake-install/helloModule.py')] 501s package = '' 501s self = 501s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:31: in build_module 501s super().build_module(module, module_file, package) # type: ignore[no-untyped-call] 501s __class__ = 501s module = 'bonjourModule' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py' 501s package = '' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:89: in build_module 501s outfile, copied = orig.build_py.build_module(self, module, module_file, package) 501s module = 'bonjourModule' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py' 501s package = '' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:349: in build_module 501s self.mkpath(dir) 501s dir = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s module = 'bonjourModule' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py' 501s outfile = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/bonjourModule.py' 501s package = [''] 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:340: in mkpath 501s dir_util.mkpath(name, mode, dry_run=self.dry_run) 501s mode = 511 501s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s self = 501s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 501s 501s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s mode = 511, verbose = True, dry_run = False 501s 501s def mkpath(name, mode=0o777, verbose=True, dry_run=False): # noqa: C901 501s """Create a directory and any missing ancestor directories. 501s 501s If the directory already exists (or if 'name' is the empty string, which 501s means the current directory, which of course exists), then do nothing. 501s Raise DistutilsFileError if unable to create some directory along the way 501s (eg. some sub-path exists, but is a file rather than a directory). 501s If 'verbose' is true, print a one-line summary of each mkdir to stdout. 501s Return the list of directories actually created. 501s 501s os.makedirs is not used because: 501s 501s a) It's new to Python 1.5.2, and 501s b) it blows up if the directory already exists (in which case it should 501s silently succeed). 501s """ 501s 501s global _path_created 501s 501s # Detect a common bug -- name is None 501s if not isinstance(name, str): 501s raise DistutilsInternalError(f"mkpath: 'name' must be a string (got {name!r})") 501s 501s # XXX what's the better way to handle verbosity? print as we create 501s # each directory in the path (the current behaviour), or only announce 501s # the creation of the whole path? (quite easy to do the latter since 501s # we're not using a recursive algorithm) 501s 501s name = os.path.normpath(name) 501s created_dirs = [] 501s if os.path.isdir(name) or name == '': 501s return created_dirs 501s if os.path.abspath(name) in _path_created: 501s return created_dirs 501s 501s (head, tail) = os.path.split(name) 501s tails = [tail] # stack of lone dirs to create 501s 501s while head and tail and not os.path.isdir(head): 501s (head, tail) = os.path.split(head) 501s tails.insert(0, tail) # push next higher dir onto stack 501s 501s # now 'head' contains the deepest directory that already exists 501s # (that is, the child of 'head' in 'name' is the highest directory 501s # that does *not* exist) 501s for d in tails: 501s # print "head = %s, d = %s: " % (head, d), 501s head = os.path.join(head, d) 501s abs_head = os.path.abspath(head) 501s 501s if abs_head in _path_created: 501s continue 501s 501s if verbose >= 1: 501s log.info("creating %s", head) 501s 501s if not dry_run: 501s try: 501s os.mkdir(head, mode) 501s except OSError as exc: 501s if not (exc.errno == errno.EEXIST and os.path.isdir(head)): 501s raise DistutilsFileError( 501s f"could not create '{head}': {exc.args[-1]}" 501s ) 501s created_dirs.append(head) 501s 501s > _path_created.add(abs_head) 501s E AttributeError: 'dict' object has no attribute 'add' 501s 501s abs_head = '/tmp/pytest-of-ubuntu/pytest-36/run0/_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s created_dirs = ['_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312'] 501s d = 'lib.linux-armv7l-cpython-312' 501s dry_run = False 501s head = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s mode = 511 501s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s tail = 'lib.linux-armv7l-cpython-312' 501s tails = ['lib.linux-armv7l-cpython-312'] 501s verbose = True 501s 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dir_util.py:82: AttributeError 501s ----------------------------- Captured stdout call ----------------------------- 501s Initialized empty Git repository in /tmp/pytest-of-ubuntu/pytest-36/run0/.git/ 501s [master (root-commit) b498f3d] Initial commit 501s 11 files changed, 115 insertions(+) 501s create mode 100644 CMakeLists.txt 501s create mode 100644 bonjour/__init__.py 501s create mode 100644 bonjour/data/ciel.txt 501s create mode 100644 bonjour/data/soleil.txt 501s create mode 100644 bonjour/data/terre.txt 501s create mode 100644 bonjourModule.py 501s create mode 100644 hello/CMakeLists.txt 501s create mode 100644 hello/__init__.py 501s create mode 100644 hello/__main__.py 501s create mode 100644 hello/_hello.cxx 501s create mode 100644 setup.py 501s 501s 501s -------------------------------------------------------------------------------- 501s -- Trying 'Ninja' generator 501s -------------------------------- 501s --------------------------- 501s ---------------------- 501s ----------------- 501s ------------ 501s ------- 501s -- 501s Not searching for unused variables given on the command line. 501s -- Configuring incomplete, errors occurred! 501s -- 501s ------- 501s ------------ 501s ----------------- 501s ---------------------- 501s --------------------------- 501s -------------------------------- 501s -- Trying 'Ninja' generator - failure 501s -------------------------------------------------------------------------------- 501s 501s 501s 501s -------------------------------------------------------------------------------- 501s -- Trying 'Unix Makefiles' generator 501s -------------------------------- 501s --------------------------- 501s ---------------------- 501s ----------------- 501s ------------ 501s ------- 501s -- 501s Not searching for unused variables given on the command line. 501s -- The C compiler identification is GNU 13.2.0 501s -- Detecting C compiler ABI info 501s -- Detecting C compiler ABI info - done 501s -- Check for working C compiler: /usr/bin/cc - skipped 501s -- Detecting C compile features 501s -- Detecting C compile features - done 501s -- The CXX compiler identification is GNU 13.2.0 501s -- Detecting CXX compiler ABI info 501s -- Detecting CXX compiler ABI info - done 501s -- Check for working CXX compiler: /usr/bin/c++ - skipped 501s -- Detecting CXX compile features 501s -- Detecting CXX compile features - done 501s -- Configuring done (0.7s) 501s -- Generating done (0.0s) 501s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-36/run0/_cmake_test_compile/build 501s -- 501s ------- 501s ------------ 501s ----------------- 501s ---------------------- 501s --------------------------- 501s -------------------------------- 501s -- Trying 'Unix Makefiles' generator - success 501s -------------------------------------------------------------------------------- 501s 501s Configuring Project 501s Working directory: 501s /tmp/pytest-of-ubuntu/pytest-36/run0/_skbuild/linux-armv7l-3.12/cmake-build 501s Command: 501s /usr/bin/cmake /tmp/pytest-of-ubuntu/pytest-36/run0 -G 'Unix Makefiles' --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pytest-of-ubuntu/pytest-36/run0/_skbuild/linux-armv7l-3.12/cmake-install -DPYTHON_VERSION_STRING:STRING=3.12.4 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/usr/lib/python3/dist-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/usr/bin/python3.12 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPYTHON_LIBRARY:PATH=/usr/lib/arm-linux-gnueabihf/libpython3.12.so -DPython_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython_ROOT_DIR:PATH=/usr -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPython3_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython3_ROOT_DIR:PATH=/usr -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.12 -DCMAKE_BUILD_TYPE:STRING=Release 501s 501s Not searching for unused variables given on the command line. 501s -- The C compiler identification is GNU 13.2.0 501s -- The CXX compiler identification is GNU 13.2.0 501s -- Detecting C compiler ABI info 501s -- Detecting C compiler ABI info - done 501s -- Check for working C compiler: /usr/bin/cc - skipped 501s -- Detecting C compile features 501s -- Detecting C compile features - done 501s -- Detecting CXX compiler ABI info 501s -- Detecting CXX compiler ABI info - done 501s -- Check for working CXX compiler: /usr/bin/c++ - skipped 501s -- Detecting CXX compile features 501s -- Detecting CXX compile features - done 501s -- Found PythonInterp: /usr/bin/python3.12 (found version "3.12.4") 501s -- Found PythonLibs: /usr/lib/arm-linux-gnueabihf/libpython3.12.so (found version "3.12.4") 501s -- Performing Test Weak Link MODULE -> SHARED (gnu_ld_ignore) - Success 501s -- Configuring done (1.5s) 501s -- Generating done (0.0s) 501s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-36/run0/_skbuild/linux-armv7l-3.12/cmake-build 501s [ 50%] Building CXX object hello/CMakeFiles/_hello.dir/_hello.cxx.o 501s [100%] Linking CXX shared module _hello.cpython-312-arm-linux-gnueabihf.so 501s [100%] Built target _hello 501s Install the project... 501s -- Install configuration: "Release" 501s -- Installing: /tmp/pytest-of-ubuntu/pytest-36/run0/_skbuild/linux-armv7l-3.12/cmake-install/./helloModule.py 501s -- Installing: /tmp/pytest-of-ubuntu/pytest-36/run0/_skbuild/linux-armv7l-3.12/cmake-install/hello/_hello.cpython-312-arm-linux-gnueabihf.so 501s -- Installing: /tmp/pytest-of-ubuntu/pytest-36/run0/_skbuild/linux-armv7l-3.12/cmake-install/hello/world.py 501s 501s copying bonjourModule.py -> _skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py 501s creating directory _skbuild/linux-armv7l-3.12/cmake-install/bonjour 501s copying bonjour/__init__.py -> _skbuild/linux-armv7l-3.12/cmake-install/bonjour/__init__.py 501s copying hello/__init__.py -> _skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py 501s copying hello/__main__.py -> _skbuild/linux-armv7l-3.12/cmake-install/hello/__main__.py 501s creating directory _skbuild/linux-armv7l-3.12/cmake-install/bonjour/data 501s copying /tmp/pytest-of-ubuntu/pytest-36/run0/bonjour/data/ciel.txt -> _skbuild/linux-armv7l-3.12/cmake-install/bonjour/data/ciel.txt 501s copying /tmp/pytest-of-ubuntu/pytest-36/run0/bonjour/data/soleil.txt -> _skbuild/linux-armv7l-3.12/cmake-install/bonjour/data/soleil.txt 501s copying /tmp/pytest-of-ubuntu/pytest-36/run0/bonjour/data/terre.txt -> _skbuild/linux-armv7l-3.12/cmake-install/bonjour/data/terre.txt 501s copying /tmp/pytest-of-ubuntu/pytest-36/run0/bonjour/data/terre.txt -> _skbuild/linux-armv7l-3.12/cmake-install/bonjour/data/terre.txt 501s 501s ----------------------------- Captured stderr call ----------------------------- 501s hint: Using 'master' as the name for the initial branch. This default branch name 501s hint: is subject to change. To configure the initial branch name to use in all 501s hint: of your new repositories, which will suppress this warning, call: 501s hint: 501s hint: git config --global init.defaultBranch 501s hint: 501s hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 501s hint: 'development'. The just-created branch can be renamed via this command: 501s hint: 501s hint: git branch -m 501s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 501s Compatibility with CMake < 3.5 will be removed from a future version of 501s CMake. 501s 501s Update the VERSION argument value or use a ... suffix to tell 501s CMake that the project does not need compatibility with older versions. 501s 501s 501s CMake Error: CMake was unable to find a build program corresponding to "Ninja". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. 501s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 501s Compatibility with CMake < 3.5 will be removed from a future version of 501s CMake. 501s 501s Update the VERSION argument value or use a ... suffix to tell 501s CMake that the project does not need compatibility with older versions. 501s 501s 501s CMake Warning (dev) at /usr/lib/python3/dist-packages/skbuild/resources/cmake/FindPythonExtensions.cmake:245 (find_package): 501s Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules 501s are removed. Run "cmake --help-policy CMP0148" for policy details. Use 501s the cmake_policy command to set the policy and suppress this warning. 501s 501s Call Stack (most recent call first): 501s CMakeLists.txt:5 (find_package) 501s This warning is for project developers. Use -Wno-dev to suppress it. 501s 501s CMake Warning (dev) at /usr/lib/python3/dist-packages/skbuild/resources/cmake/FindPythonExtensions.cmake:252 (find_package): 501s Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules 501s are removed. Run "cmake --help-policy CMP0148" for policy details. Use 501s the cmake_policy command to set the policy and suppress this warning. 501s 501s Call Stack (most recent call first): 501s CMakeLists.txt:5 (find_package) 501s This warning is for project developers. Use -Wno-dev to suppress it. 501s 501s _modinit_prefix:PyInit_ 501s ------------------------------ Captured log call ------------------------------- 501s INFO root:dist.py:986 running build 501s INFO root:dist.py:986 running build_py 501s INFO root:dir_util.py:70 creating _skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312 501s _______________________________ test_hello_wheel _______________________________ 501s 501s def test_hello_wheel(): 501s expected_content = [ 501s f"hello/_hello{get_ext_suffix()}", 501s "hello/__init__.py", 501s "hello/__main__.py", 501s "hello/world.py", 501s "helloModule.py", 501s "bonjour/__init__.py", 501s "bonjour/data/ciel.txt", 501s "bonjour/data/soleil.txt", 501s "bonjour/data/terre.txt", 501s "bonjourModule.py", 501s ] 501s 501s expected_distribution_name = "hello-1.2.3" 501s 501s @project_setup_py_test("hello-cpp", ["bdist_wheel"], ret=True) 501s def build_wheel(): 501s whls = glob.glob("dist/*.whl") 501s assert len(whls) == 1 501s check_wheel_content(whls[0], expected_distribution_name, expected_content) 501s os.remove(whls[0]) 501s assert not os.path.exists(whls[0]) 501s 501s assert os.path.exists(os.path.join(CMAKE_BUILD_DIR(), "CMakeCache.txt")) 501s os.remove(os.path.join(CMAKE_BUILD_DIR(), "CMakeCache.txt")) 501s 501s > tmp_dir = build_wheel()[0] 501s 501s build_wheel = .build_wheel at 0xec8c7668> 501s expected_content = ['hello/_hello.cpython-312-arm-linux-gnueabihf.so', 'hello/__init__.py', 'hello/__main__.py', 'hello/world.py', 'helloModule.py', 'bonjour/__init__.py', ...] 501s expected_distribution_name = 'hello-1.2.3' 501s 501s tests/test_hello_cpp.py:98: 501s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 501s tests/__init__.py:261: in wrapped 501s with execute_setup_py(wrapped.tmp_dir, wrapped.setup_args, disable_languages_test=disable_languages_test): # type: ignore[attr-defined] 501s disable_languages_test = False 501s fun = .build_wheel at 0xec8c71b8> 501s iargs = () 501s ikwargs = {} 501s ret = True 501s wrapped = .build_wheel at 0xec8c7668> 501s /usr/lib/python3.12/contextlib.py:137: in __enter__ 501s return next(self.gen) 501s self = 501s tests/__init__.py:247: in execute_setup_py 501s exec(setup_code) 501s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 501s disable_languages_test = False 501s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 501s project_dir = local('/tmp/pytest-of-ubuntu/pytest-37/build_wheel0') 501s setup = 501s setup_args = ['bdist_wheel'] 501s setup_code = at 0xec584a48, file "setup.py", line 1> 501s setup.py:5: in 501s ??? 501s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 501s disable_languages_test = False 501s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 501s project_dir = local('/tmp/pytest-of-ubuntu/pytest-37/build_wheel0') 501s setup = 501s setup_args = ['bdist_wheel'] 501s setup_code = at 0xec584a48, file "setup.py", line 1> 501s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:781: in setup 501s return setuptools.setup(**kw) # type: ignore[no-any-return, func-returns-value] 501s BinaryDistribution = .BinaryDistribution'> 501s build_ext_inplace = False 501s cmake_args = ['-DCMAKE_BUILD_TYPE:STRING=Release'] 501s cmake_args_from_args = [] 501s cmake_executable = '/usr/bin/cmake' 501s cmake_install_dir = '' 501s cmake_install_target = 'install' 501s cmake_install_target_from_command = '' 501s cmake_install_target_from_setup = 'install' 501s cmake_languages = ('C', 'CXX') 501s cmake_manifest = ['_skbuild/linux-armv7l-3.12/cmake-install/helloModule.py', '_skbuild/linux-armv7l-3.12/cmake-install/hello/_hello.cpython-312-arm-linux-gnueabihf.so', '_skbuild/linux-armv7l-3.12/cmake-install/hello/world.py'] 501s cmake_minimum_required_version = None 501s cmake_process_manifest_hook = None 501s cmake_source_dir = '' 501s cmake_spec = {'args': ['/usr/bin/cmake', '-DCMAKE_BUILD_TYPE:STRING=Release'], 'environment': {'PYTHONNOUSERSITE': None, 'PYTHONPATH': None}, 'version': '3.29.6'} 501s cmake_with_sdist = False 501s cmdclass = {'bdist': , 'bdist_wheel': , 'build': , 'build_ext': , ...} 501s cmkr = 501s commands = ['bdist_wheel'] 501s config_type = 'Release' 501s data_files = {} 501s developer_mode = False 501s display_only = False 501s env = {'ADTTMP': '/tmp/autopkgtest.EPTB0Y/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', 'ADT_TEST_TRIGGERS': 'setuptools/70.3.0-2', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', ...} 501s env_cmake_args = [] 501s force_cmake = False 501s has_cmakelists = True 501s has_invalid_arguments = False 501s help_commands = 0 501s hide_listing = False 501s kw = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package', ...} 501s make_args = ['--config', 'Release'] 501s new_py_modules = {'bonjourModule': False, 'helloModule': True} 501s new_scripts = {} 501s original_manifestin_data_files = [] 501s original_package_data = {'bonjour': ['data/*.txt', 'data/terre.txt']} 501s package = 'hello' 501s package_data = {'': ['bonjourModule.py', 'helloModule.py'], 'bonjour': ['data/*.txt', 'data/terre.txt', '__init__.py'], 'hello': ['_hello.cpython-312-arm-linux-gnueabihf.so', 'world.py', '__init__.py', '__main__.py']} 501s package_dir = {'bonjour': 'bonjour', 'hello': 'hello'} 501s package_prefixes = [('bonjour', 'bonjour'), ('hello', 'hello')] 501s packages = ['bonjour', 'hello'] 501s plat_name = None 501s process_manifest = None 501s py_modules = ['bonjourModule', 'helloModule'] 501s scripts = [] 501s skip_cmake = False 501s skip_generator_test = False 501s skip_skbuild = False 501s /usr/lib/python3/dist-packages/setuptools/__init__.py:103: in setup 501s return distutils.core.setup(**attrs) 501s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package', ...} 501s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:184: in setup 501s return run_commands(dist) 501s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package', ...} 501s dist = .BinaryDistribution object at 0xec8bede0> 501s klass = .BinaryDistribution'> 501s ok = True 501s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:200: in run_commands 501s dist.run_commands() 501s dist = .BinaryDistribution object at 0xec8bede0> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:970: in run_commands 501s self.run_command(cmd) 501s cmd = 'bdist_wheel' 501s self = .BinaryDistribution object at 0xec8bede0> 501s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 501s super().run_command(command) 501s __class__ = 501s command = 'bdist_wheel' 501s self = .BinaryDistribution object at 0xec8bede0> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 501s cmd_obj.run() 501s cmd_obj = 501s command = 'bdist_wheel' 501s self = .BinaryDistribution object at 0xec8bede0> 501s /usr/lib/python3/dist-packages/skbuild/command/bdist_wheel.py:33: in run 501s super().run(*args, **kwargs) 501s __class__ = 501s args = () 501s kwargs = {} 501s old_write_files = 501s self = 501s update_write_files = .update_write_files at 0xec8cfc58> 501s /usr/lib/python3/dist-packages/wheel/bdist_wheel.py:368: in run 501s self.run_command("build") 501s build_ext = 501s build_scripts = 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 501s self.distribution.run_command(command) 501s command = 'build' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 501s super().run_command(command) 501s __class__ = 501s command = 'build' 501s self = .BinaryDistribution object at 0xec8bede0> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 501s cmd_obj.run() 501s cmd_obj = 501s command = 'build' 501s self = .BinaryDistribution object at 0xec8bede0> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build.py:135: in run 501s self.run_command(cmd_name) 501s cmd_name = 'build_py' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 501s self.distribution.run_command(command) 501s command = 'build_py' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 501s super().run_command(command) 501s __class__ = 501s command = 'build_py' 501s self = .BinaryDistribution object at 0xec8bede0> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 501s cmd_obj.run() 501s cmd_obj = 501s command = 'build_py' 501s self = .BinaryDistribution object at 0xec8bede0> 501s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:41: in run 501s super().run(*args, **kwargs) 501s __class__ = 501s args = () 501s kwargs = {} 501s self = 501s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:71: in run 501s self.build_modules() 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:359: in build_modules 501s self.build_module(module, module_file, package) 501s module = 'bonjourModule' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py' 501s modules = [('', 'bonjourModule', '_skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py'), ('', 'helloModule', '_skbuild/linux-armv7l-3.12/cmake-install/helloModule.py')] 501s package = '' 501s self = 501s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:31: in build_module 501s super().build_module(module, module_file, package) # type: ignore[no-untyped-call] 501s __class__ = 501s module = 'bonjourModule' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py' 501s package = '' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:89: in build_module 501s outfile, copied = orig.build_py.build_module(self, module, module_file, package) 501s module = 'bonjourModule' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py' 501s package = '' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:349: in build_module 501s self.mkpath(dir) 501s dir = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s module = 'bonjourModule' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py' 501s outfile = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/bonjourModule.py' 501s package = [''] 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:340: in mkpath 501s dir_util.mkpath(name, mode, dry_run=self.dry_run) 501s mode = 511 501s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s self = 501s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 501s 501s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s mode = 511, verbose = True, dry_run = False 501s 501s def mkpath(name, mode=0o777, verbose=True, dry_run=False): # noqa: C901 501s """Create a directory and any missing ancestor directories. 501s 501s If the directory already exists (or if 'name' is the empty string, which 501s means the current directory, which of course exists), then do nothing. 501s Raise DistutilsFileError if unable to create some directory along the way 501s (eg. some sub-path exists, but is a file rather than a directory). 501s If 'verbose' is true, print a one-line summary of each mkdir to stdout. 501s Return the list of directories actually created. 501s 501s os.makedirs is not used because: 501s 501s a) It's new to Python 1.5.2, and 501s b) it blows up if the directory already exists (in which case it should 501s silently succeed). 501s """ 501s 501s global _path_created 501s 501s # Detect a common bug -- name is None 501s if not isinstance(name, str): 501s raise DistutilsInternalError(f"mkpath: 'name' must be a string (got {name!r})") 501s 501s # XXX what's the better way to handle verbosity? print as we create 501s # each directory in the path (the current behaviour), or only announce 501s # the creation of the whole path? (quite easy to do the latter since 501s # we're not using a recursive algorithm) 501s 501s name = os.path.normpath(name) 501s created_dirs = [] 501s if os.path.isdir(name) or name == '': 501s return created_dirs 501s if os.path.abspath(name) in _path_created: 501s return created_dirs 501s 501s (head, tail) = os.path.split(name) 501s tails = [tail] # stack of lone dirs to create 501s 501s while head and tail and not os.path.isdir(head): 501s (head, tail) = os.path.split(head) 501s tails.insert(0, tail) # push next higher dir onto stack 501s 501s # now 'head' contains the deepest directory that already exists 501s # (that is, the child of 'head' in 'name' is the highest directory 501s # that does *not* exist) 501s for d in tails: 501s # print "head = %s, d = %s: " % (head, d), 501s head = os.path.join(head, d) 501s abs_head = os.path.abspath(head) 501s 501s if abs_head in _path_created: 501s continue 501s 501s if verbose >= 1: 501s log.info("creating %s", head) 501s 501s if not dry_run: 501s try: 501s os.mkdir(head, mode) 501s except OSError as exc: 501s if not (exc.errno == errno.EEXIST and os.path.isdir(head)): 501s raise DistutilsFileError( 501s f"could not create '{head}': {exc.args[-1]}" 501s ) 501s created_dirs.append(head) 501s 501s > _path_created.add(abs_head) 501s E AttributeError: 'dict' object has no attribute 'add' 501s 501s abs_head = '/tmp/pytest-of-ubuntu/pytest-37/build_wheel0/_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s created_dirs = ['_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312'] 501s d = 'lib.linux-armv7l-cpython-312' 501s dry_run = False 501s head = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s mode = 511 501s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s tail = 'lib.linux-armv7l-cpython-312' 501s tails = ['lib.linux-armv7l-cpython-312'] 501s verbose = True 501s 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dir_util.py:82: AttributeError 501s ----------------------------- Captured stdout call ----------------------------- 501s Initialized empty Git repository in /tmp/pytest-of-ubuntu/pytest-37/build_wheel0/.git/ 501s [master (root-commit) 0ada308] Initial commit 501s 11 files changed, 115 insertions(+) 501s create mode 100644 CMakeLists.txt 501s create mode 100644 bonjour/__init__.py 501s create mode 100644 bonjour/data/ciel.txt 501s create mode 100644 bonjour/data/soleil.txt 501s create mode 100644 bonjour/data/terre.txt 501s create mode 100644 bonjourModule.py 501s create mode 100644 hello/CMakeLists.txt 501s create mode 100644 hello/__init__.py 501s create mode 100644 hello/__main__.py 501s create mode 100644 hello/_hello.cxx 501s create mode 100644 setup.py 501s 501s 501s -------------------------------------------------------------------------------- 501s -- Trying 'Ninja' generator 501s -------------------------------- 501s --------------------------- 501s ---------------------- 501s ----------------- 501s ------------ 501s ------- 501s -- 501s Not searching for unused variables given on the command line. 501s -- Configuring incomplete, errors occurred! 501s -- 501s ------- 501s ------------ 501s ----------------- 501s ---------------------- 501s --------------------------- 501s -------------------------------- 501s -- Trying 'Ninja' generator - failure 501s -------------------------------------------------------------------------------- 501s 501s 501s 501s -------------------------------------------------------------------------------- 501s -- Trying 'Unix Makefiles' generator 501s -------------------------------- 501s --------------------------- 501s ---------------------- 501s ----------------- 501s ------------ 501s ------- 501s -- 501s Not searching for unused variables given on the command line. 501s -- The C compiler identification is GNU 13.2.0 501s -- Detecting C compiler ABI info 501s -- Detecting C compiler ABI info - done 501s -- Check for working C compiler: /usr/bin/cc - skipped 501s -- Detecting C compile features 501s -- Detecting C compile features - done 501s -- The CXX compiler identification is GNU 13.2.0 501s -- Detecting CXX compiler ABI info 501s -- Detecting CXX compiler ABI info - done 501s -- Check for working CXX compiler: /usr/bin/c++ - skipped 501s -- Detecting CXX compile features 501s -- Detecting CXX compile features - done 501s -- Configuring done (0.7s) 501s -- Generating done (0.0s) 501s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-37/build_wheel0/_cmake_test_compile/build 501s -- 501s ------- 501s ------------ 501s ----------------- 501s ---------------------- 501s --------------------------- 501s -------------------------------- 501s -- Trying 'Unix Makefiles' generator - success 501s -------------------------------------------------------------------------------- 501s 501s Configuring Project 501s Working directory: 501s /tmp/pytest-of-ubuntu/pytest-37/build_wheel0/_skbuild/linux-armv7l-3.12/cmake-build 501s Command: 501s /usr/bin/cmake /tmp/pytest-of-ubuntu/pytest-37/build_wheel0 -G 'Unix Makefiles' --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pytest-of-ubuntu/pytest-37/build_wheel0/_skbuild/linux-armv7l-3.12/cmake-install -DPYTHON_VERSION_STRING:STRING=3.12.4 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/usr/lib/python3/dist-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/usr/bin/python3.12 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPYTHON_LIBRARY:PATH=/usr/lib/arm-linux-gnueabihf/libpython3.12.so -DPython_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython_ROOT_DIR:PATH=/usr -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPython3_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython3_ROOT_DIR:PATH=/usr -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.12 -DCMAKE_BUILD_TYPE:STRING=Release 501s 501s Not searching for unused variables given on the command line. 501s -- The C compiler identification is GNU 13.2.0 501s -- The CXX compiler identification is GNU 13.2.0 501s -- Detecting C compiler ABI info 501s -- Detecting C compiler ABI info - done 501s -- Check for working C compiler: /usr/bin/cc - skipped 501s -- Detecting C compile features 501s -- Detecting C compile features - done 501s -- Detecting CXX compiler ABI info 501s -- Detecting CXX compiler ABI info - done 501s -- Check for working CXX compiler: /usr/bin/c++ - skipped 501s -- Detecting CXX compile features 501s -- Detecting CXX compile features - done 501s -- Found PythonInterp: /usr/bin/python3.12 (found version "3.12.4") 501s -- Found PythonLibs: /usr/lib/arm-linux-gnueabihf/libpython3.12.so (found version "3.12.4") 501s -- Performing Test Weak Link MODULE -> SHARED (gnu_ld_ignore) - Success 501s -- Configuring done (1.5s) 501s -- Generating done (0.0s) 501s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-37/build_wheel0/_skbuild/linux-armv7l-3.12/cmake-build 501s [ 50%] Building CXX object hello/CMakeFiles/_hello.dir/_hello.cxx.o 501s [100%] Linking CXX shared module _hello.cpython-312-arm-linux-gnueabihf.so 501s [100%] Built target _hello 501s Install the project... 501s -- Install configuration: "Release" 501s -- Installing: /tmp/pytest-of-ubuntu/pytest-37/build_wheel0/_skbuild/linux-armv7l-3.12/cmake-install/./helloModule.py 501s -- Installing: /tmp/pytest-of-ubuntu/pytest-37/build_wheel0/_skbuild/linux-armv7l-3.12/cmake-install/hello/_hello.cpython-312-arm-linux-gnueabihf.so 501s -- Installing: /tmp/pytest-of-ubuntu/pytest-37/build_wheel0/_skbuild/linux-armv7l-3.12/cmake-install/hello/world.py 501s 501s copying bonjourModule.py -> _skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py 501s creating directory _skbuild/linux-armv7l-3.12/cmake-install/bonjour 501s copying bonjour/__init__.py -> _skbuild/linux-armv7l-3.12/cmake-install/bonjour/__init__.py 501s copying hello/__init__.py -> _skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py 501s copying hello/__main__.py -> _skbuild/linux-armv7l-3.12/cmake-install/hello/__main__.py 501s creating directory _skbuild/linux-armv7l-3.12/cmake-install/bonjour/data 501s copying /tmp/pytest-of-ubuntu/pytest-37/build_wheel0/bonjour/data/ciel.txt -> _skbuild/linux-armv7l-3.12/cmake-install/bonjour/data/ciel.txt 501s copying /tmp/pytest-of-ubuntu/pytest-37/build_wheel0/bonjour/data/soleil.txt -> _skbuild/linux-armv7l-3.12/cmake-install/bonjour/data/soleil.txt 501s copying /tmp/pytest-of-ubuntu/pytest-37/build_wheel0/bonjour/data/terre.txt -> _skbuild/linux-armv7l-3.12/cmake-install/bonjour/data/terre.txt 501s copying /tmp/pytest-of-ubuntu/pytest-37/build_wheel0/bonjour/data/terre.txt -> _skbuild/linux-armv7l-3.12/cmake-install/bonjour/data/terre.txt 501s 501s ----------------------------- Captured stderr call ----------------------------- 501s hint: Using 'master' as the name for the initial branch. This default branch name 501s hint: is subject to change. To configure the initial branch name to use in all 501s hint: of your new repositories, which will suppress this warning, call: 501s hint: 501s hint: git config --global init.defaultBranch 501s hint: 501s hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 501s hint: 'development'. The just-created branch can be renamed via this command: 501s hint: 501s hint: git branch -m 501s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 501s Compatibility with CMake < 3.5 will be removed from a future version of 501s CMake. 501s 501s Update the VERSION argument value or use a ... suffix to tell 501s CMake that the project does not need compatibility with older versions. 501s 501s 501s CMake Error: CMake was unable to find a build program corresponding to "Ninja". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. 501s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 501s Compatibility with CMake < 3.5 will be removed from a future version of 501s CMake. 501s 501s Update the VERSION argument value or use a ... suffix to tell 501s CMake that the project does not need compatibility with older versions. 501s 501s 501s CMake Warning (dev) at /usr/lib/python3/dist-packages/skbuild/resources/cmake/FindPythonExtensions.cmake:245 (find_package): 501s Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules 501s are removed. Run "cmake --help-policy CMP0148" for policy details. Use 501s the cmake_policy command to set the policy and suppress this warning. 501s 501s Call Stack (most recent call first): 501s CMakeLists.txt:5 (find_package) 501s This warning is for project developers. Use -Wno-dev to suppress it. 501s 501s CMake Warning (dev) at /usr/lib/python3/dist-packages/skbuild/resources/cmake/FindPythonExtensions.cmake:252 (find_package): 501s Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules 501s are removed. Run "cmake --help-policy CMP0148" for policy details. Use 501s the cmake_policy command to set the policy and suppress this warning. 501s 501s Call Stack (most recent call first): 501s CMakeLists.txt:5 (find_package) 501s This warning is for project developers. Use -Wno-dev to suppress it. 501s 501s _modinit_prefix:PyInit_ 501s ------------------------------ Captured log call ------------------------------- 501s INFO root:dist.py:986 running bdist_wheel 501s INFO root:dist.py:986 running build 501s INFO root:dist.py:986 running build_py 501s INFO root:dir_util.py:70 creating _skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312 501s ________________________ test_hello_clean[with-dry-run] ________________________ 501s 501s dry_run = True, capfd = <_pytest.capture.CaptureFixture object at 0xec8befd8> 501s 501s @pytest.mark.parametrize("dry_run", ["with-dry-run", "without-dry-run"]) 501s def test_hello_clean(dry_run, capfd): 501s with push_dir(): 501s dry_run = dry_run == "with-dry-run" 501s 501s @project_setup_py_test("hello-cpp", ["build"], ret=True) 501s def run_build(): 501s pass 501s 501s > tmp_dir = run_build()[0] 501s 501s capfd = <_pytest.capture.CaptureFixture object at 0xec8befd8> 501s dry_run = True 501s run_build = .run_build at 0xec8e1d98> 501s 501s tests/test_hello_cpp.py:119: 501s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 501s tests/__init__.py:261: in wrapped 501s with execute_setup_py(wrapped.tmp_dir, wrapped.setup_args, disable_languages_test=disable_languages_test): # type: ignore[attr-defined] 501s disable_languages_test = False 501s fun = .run_build at 0xec8e1988> 501s iargs = () 501s ikwargs = {} 501s ret = True 501s wrapped = .run_build at 0xec8e1d98> 501s /usr/lib/python3.12/contextlib.py:137: in __enter__ 501s return next(self.gen) 501s self = 501s tests/__init__.py:247: in execute_setup_py 501s exec(setup_code) 501s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 501s disable_languages_test = False 501s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 501s project_dir = local('/tmp/pytest-of-ubuntu/pytest-38/run_build0') 501s setup = 501s setup_args = ['build'] 501s setup_code = at 0xec584ef8, file "setup.py", line 1> 501s setup.py:5: in 501s ??? 501s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 501s disable_languages_test = False 501s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 501s project_dir = local('/tmp/pytest-of-ubuntu/pytest-38/run_build0') 501s setup = 501s setup_args = ['build'] 501s setup_code = at 0xec584ef8, file "setup.py", line 1> 501s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:781: in setup 501s return setuptools.setup(**kw) # type: ignore[no-any-return, func-returns-value] 501s BinaryDistribution = .BinaryDistribution'> 501s build_ext_inplace = False 501s cmake_args = ['-DCMAKE_BUILD_TYPE:STRING=Release'] 501s cmake_args_from_args = [] 501s cmake_executable = '/usr/bin/cmake' 501s cmake_install_dir = '' 501s cmake_install_target = 'install' 501s cmake_install_target_from_command = '' 501s cmake_install_target_from_setup = 'install' 501s cmake_languages = ('C', 'CXX') 501s cmake_manifest = ['_skbuild/linux-armv7l-3.12/cmake-install/helloModule.py', '_skbuild/linux-armv7l-3.12/cmake-install/hello/_hello.cpython-312-arm-linux-gnueabihf.so', '_skbuild/linux-armv7l-3.12/cmake-install/hello/world.py'] 501s cmake_minimum_required_version = None 501s cmake_process_manifest_hook = None 501s cmake_source_dir = '' 501s cmake_spec = {'args': ['/usr/bin/cmake', '-DCMAKE_BUILD_TYPE:STRING=Release'], 'environment': {'PYTHONNOUSERSITE': None, 'PYTHONPATH': None}, 'version': '3.29.6'} 501s cmake_with_sdist = False 501s cmdclass = {'bdist': , 'bdist_wheel': , 'build': , 'build_ext': , ...} 501s cmkr = 501s commands = ['build'] 501s config_type = 'Release' 501s data_files = {} 501s developer_mode = False 501s display_only = False 501s env = {'ADTTMP': '/tmp/autopkgtest.EPTB0Y/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', 'ADT_TEST_TRIGGERS': 'setuptools/70.3.0-2', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', ...} 501s env_cmake_args = [] 501s force_cmake = False 501s has_cmakelists = True 501s has_invalid_arguments = False 501s help_commands = 0 501s hide_listing = False 501s kw = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package', ...} 501s make_args = ['--config', 'Release'] 501s new_py_modules = {'bonjourModule': False, 'helloModule': True} 501s new_scripts = {} 501s original_manifestin_data_files = [] 501s original_package_data = {'bonjour': ['data/*.txt', 'data/terre.txt']} 501s package = 'hello' 501s package_data = {'': ['bonjourModule.py', 'helloModule.py'], 'bonjour': ['data/*.txt', 'data/terre.txt', '__init__.py'], 'hello': ['_hello.cpython-312-arm-linux-gnueabihf.so', 'world.py', '__init__.py', '__main__.py']} 501s package_dir = {'bonjour': 'bonjour', 'hello': 'hello'} 501s package_prefixes = [('bonjour', 'bonjour'), ('hello', 'hello')] 501s packages = ['bonjour', 'hello'] 501s plat_name = None 501s process_manifest = None 501s py_modules = ['bonjourModule', 'helloModule'] 501s scripts = [] 501s skip_cmake = False 501s skip_generator_test = False 501s skip_skbuild = False 501s /usr/lib/python3/dist-packages/setuptools/__init__.py:103: in setup 501s return distutils.core.setup(**attrs) 501s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package', ...} 501s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:184: in setup 501s return run_commands(dist) 501s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package', ...} 501s dist = .BinaryDistribution object at 0xec7b7648> 501s klass = .BinaryDistribution'> 501s ok = True 501s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:200: in run_commands 501s dist.run_commands() 501s dist = .BinaryDistribution object at 0xec7b7648> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:970: in run_commands 501s self.run_command(cmd) 501s cmd = 'build' 501s self = .BinaryDistribution object at 0xec7b7648> 501s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 501s super().run_command(command) 501s __class__ = 501s command = 'build' 501s self = .BinaryDistribution object at 0xec7b7648> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 501s cmd_obj.run() 501s cmd_obj = 501s command = 'build' 501s self = .BinaryDistribution object at 0xec7b7648> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build.py:135: in run 501s self.run_command(cmd_name) 501s cmd_name = 'build_py' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 501s self.distribution.run_command(command) 501s command = 'build_py' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 501s super().run_command(command) 501s __class__ = 501s command = 'build_py' 501s self = .BinaryDistribution object at 0xec7b7648> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 501s cmd_obj.run() 501s cmd_obj = 501s command = 'build_py' 501s self = .BinaryDistribution object at 0xec7b7648> 501s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:41: in run 501s super().run(*args, **kwargs) 501s __class__ = 501s args = () 501s kwargs = {} 501s self = 501s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:71: in run 501s self.build_modules() 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:359: in build_modules 501s self.build_module(module, module_file, package) 501s module = 'bonjourModule' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py' 501s modules = [('', 'bonjourModule', '_skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py'), ('', 'helloModule', '_skbuild/linux-armv7l-3.12/cmake-install/helloModule.py')] 501s package = '' 501s self = 501s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:31: in build_module 501s super().build_module(module, module_file, package) # type: ignore[no-untyped-call] 501s __class__ = 501s module = 'bonjourModule' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py' 501s package = '' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:89: in build_module 501s outfile, copied = orig.build_py.build_module(self, module, module_file, package) 501s module = 'bonjourModule' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py' 501s package = '' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:349: in build_module 501s self.mkpath(dir) 501s dir = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s module = 'bonjourModule' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py' 501s outfile = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/bonjourModule.py' 501s package = [''] 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:340: in mkpath 501s dir_util.mkpath(name, mode, dry_run=self.dry_run) 501s mode = 511 501s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s self = 501s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 501s 501s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s mode = 511, verbose = True, dry_run = False 501s 501s def mkpath(name, mode=0o777, verbose=True, dry_run=False): # noqa: C901 501s """Create a directory and any missing ancestor directories. 501s 501s If the directory already exists (or if 'name' is the empty string, which 501s means the current directory, which of course exists), then do nothing. 501s Raise DistutilsFileError if unable to create some directory along the way 501s (eg. some sub-path exists, but is a file rather than a directory). 501s If 'verbose' is true, print a one-line summary of each mkdir to stdout. 501s Return the list of directories actually created. 501s 501s os.makedirs is not used because: 501s 501s a) It's new to Python 1.5.2, and 501s b) it blows up if the directory already exists (in which case it should 501s silently succeed). 501s """ 501s 501s global _path_created 501s 501s # Detect a common bug -- name is None 501s if not isinstance(name, str): 501s raise DistutilsInternalError(f"mkpath: 'name' must be a string (got {name!r})") 501s 501s # XXX what's the better way to handle verbosity? print as we create 501s # each directory in the path (the current behaviour), or only announce 501s # the creation of the whole path? (quite easy to do the latter since 501s # we're not using a recursive algorithm) 501s 501s name = os.path.normpath(name) 501s created_dirs = [] 501s if os.path.isdir(name) or name == '': 501s return created_dirs 501s if os.path.abspath(name) in _path_created: 501s return created_dirs 501s 501s (head, tail) = os.path.split(name) 501s tails = [tail] # stack of lone dirs to create 501s 501s while head and tail and not os.path.isdir(head): 501s (head, tail) = os.path.split(head) 501s tails.insert(0, tail) # push next higher dir onto stack 501s 501s # now 'head' contains the deepest directory that already exists 501s # (that is, the child of 'head' in 'name' is the highest directory 501s # that does *not* exist) 501s for d in tails: 501s # print "head = %s, d = %s: " % (head, d), 501s head = os.path.join(head, d) 501s abs_head = os.path.abspath(head) 501s 501s if abs_head in _path_created: 501s continue 501s 501s if verbose >= 1: 501s log.info("creating %s", head) 501s 501s if not dry_run: 501s try: 501s os.mkdir(head, mode) 501s except OSError as exc: 501s if not (exc.errno == errno.EEXIST and os.path.isdir(head)): 501s raise DistutilsFileError( 501s f"could not create '{head}': {exc.args[-1]}" 501s ) 501s created_dirs.append(head) 501s 501s > _path_created.add(abs_head) 501s E AttributeError: 'dict' object has no attribute 'add' 501s 501s abs_head = '/tmp/pytest-of-ubuntu/pytest-38/run_build0/_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s created_dirs = ['_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312'] 501s d = 'lib.linux-armv7l-cpython-312' 501s dry_run = False 501s head = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s mode = 511 501s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s tail = 'lib.linux-armv7l-cpython-312' 501s tails = ['lib.linux-armv7l-cpython-312'] 501s verbose = True 501s 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dir_util.py:82: AttributeError 501s ----------------------------- Captured stdout call ----------------------------- 501s Initialized empty Git repository in /tmp/pytest-of-ubuntu/pytest-38/run_build0/.git/ 501s [master (root-commit) 6e52a45] Initial commit 501s 11 files changed, 115 insertions(+) 501s create mode 100644 CMakeLists.txt 501s create mode 100644 bonjour/__init__.py 501s create mode 100644 bonjour/data/ciel.txt 501s create mode 100644 bonjour/data/soleil.txt 501s create mode 100644 bonjour/data/terre.txt 501s create mode 100644 bonjourModule.py 501s create mode 100644 hello/CMakeLists.txt 501s create mode 100644 hello/__init__.py 501s create mode 100644 hello/__main__.py 501s create mode 100644 hello/_hello.cxx 501s create mode 100644 setup.py 501s 501s 501s -------------------------------------------------------------------------------- 501s -- Trying 'Ninja' generator 501s -------------------------------- 501s --------------------------- 501s ---------------------- 501s ----------------- 501s ------------ 501s ------- 501s -- 501s Not searching for unused variables given on the command line. 501s -- Configuring incomplete, errors occurred! 501s -- 501s ------- 501s ------------ 501s ----------------- 501s ---------------------- 501s --------------------------- 501s -------------------------------- 501s -- Trying 'Ninja' generator - failure 501s -------------------------------------------------------------------------------- 501s 501s 501s 501s -------------------------------------------------------------------------------- 501s -- Trying 'Unix Makefiles' generator 501s -------------------------------- 501s --------------------------- 501s ---------------------- 501s ----------------- 501s ------------ 501s ------- 501s -- 501s Not searching for unused variables given on the command line. 501s -- The C compiler identification is GNU 13.2.0 501s -- Detecting C compiler ABI info 501s -- Detecting C compiler ABI info - done 501s -- Check for working C compiler: /usr/bin/cc - skipped 501s -- Detecting C compile features 501s -- Detecting C compile features - done 501s -- The CXX compiler identification is GNU 13.2.0 501s -- Detecting CXX compiler ABI info 501s -- Detecting CXX compiler ABI info - done 501s -- Check for working CXX compiler: /usr/bin/c++ - skipped 501s -- Detecting CXX compile features 501s -- Detecting CXX compile features - done 501s -- Configuring done (0.6s) 501s -- Generating done (0.0s) 501s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-38/run_build0/_cmake_test_compile/build 501s -- 501s ------- 501s ------------ 501s ----------------- 501s ---------------------- 501s --------------------------- 501s -------------------------------- 501s -- Trying 'Unix Makefiles' generator - success 501s -------------------------------------------------------------------------------- 501s 501s Configuring Project 501s Working directory: 501s /tmp/pytest-of-ubuntu/pytest-38/run_build0/_skbuild/linux-armv7l-3.12/cmake-build 501s Command: 501s /usr/bin/cmake /tmp/pytest-of-ubuntu/pytest-38/run_build0 -G 'Unix Makefiles' --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pytest-of-ubuntu/pytest-38/run_build0/_skbuild/linux-armv7l-3.12/cmake-install -DPYTHON_VERSION_STRING:STRING=3.12.4 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/usr/lib/python3/dist-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/usr/bin/python3.12 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPYTHON_LIBRARY:PATH=/usr/lib/arm-linux-gnueabihf/libpython3.12.so -DPython_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython_ROOT_DIR:PATH=/usr -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPython3_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython3_ROOT_DIR:PATH=/usr -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.12 -DCMAKE_BUILD_TYPE:STRING=Release 501s 501s Not searching for unused variables given on the command line. 501s -- The C compiler identification is GNU 13.2.0 501s -- The CXX compiler identification is GNU 13.2.0 501s -- Detecting C compiler ABI info 501s -- Detecting C compiler ABI info - done 501s -- Check for working C compiler: /usr/bin/cc - skipped 501s -- Detecting C compile features 501s -- Detecting C compile features - done 501s -- Detecting CXX compiler ABI info 501s -- Detecting CXX compiler ABI info - done 501s -- Check for working CXX compiler: /usr/bin/c++ - skipped 501s -- Detecting CXX compile features 501s -- Detecting CXX compile features - done 501s -- Found PythonInterp: /usr/bin/python3.12 (found version "3.12.4") 501s -- Found PythonLibs: /usr/lib/arm-linux-gnueabihf/libpython3.12.so (found version "3.12.4") 501s -- Performing Test Weak Link MODULE -> SHARED (gnu_ld_ignore) - Success 501s -- Configuring done (1.5s) 501s -- Generating done (0.0s) 501s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-38/run_build0/_skbuild/linux-armv7l-3.12/cmake-build 501s [ 50%] Building CXX object hello/CMakeFiles/_hello.dir/_hello.cxx.o 501s [100%] Linking CXX shared module _hello.cpython-312-arm-linux-gnueabihf.so 501s [100%] Built target _hello 501s Install the project... 501s -- Install configuration: "Release" 501s -- Installing: /tmp/pytest-of-ubuntu/pytest-38/run_build0/_skbuild/linux-armv7l-3.12/cmake-install/./helloModule.py 501s -- Installing: /tmp/pytest-of-ubuntu/pytest-38/run_build0/_skbuild/linux-armv7l-3.12/cmake-install/hello/_hello.cpython-312-arm-linux-gnueabihf.so 501s -- Installing: /tmp/pytest-of-ubuntu/pytest-38/run_build0/_skbuild/linux-armv7l-3.12/cmake-install/hello/world.py 501s 501s copying bonjourModule.py -> _skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py 501s creating directory _skbuild/linux-armv7l-3.12/cmake-install/bonjour 501s copying bonjour/__init__.py -> _skbuild/linux-armv7l-3.12/cmake-install/bonjour/__init__.py 501s copying hello/__init__.py -> _skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py 501s copying hello/__main__.py -> _skbuild/linux-armv7l-3.12/cmake-install/hello/__main__.py 501s creating directory _skbuild/linux-armv7l-3.12/cmake-install/bonjour/data 501s copying /tmp/pytest-of-ubuntu/pytest-38/run_build0/bonjour/data/ciel.txt -> _skbuild/linux-armv7l-3.12/cmake-install/bonjour/data/ciel.txt 501s copying /tmp/pytest-of-ubuntu/pytest-38/run_build0/bonjour/data/soleil.txt -> _skbuild/linux-armv7l-3.12/cmake-install/bonjour/data/soleil.txt 501s copying /tmp/pytest-of-ubuntu/pytest-38/run_build0/bonjour/data/terre.txt -> _skbuild/linux-armv7l-3.12/cmake-install/bonjour/data/terre.txt 501s copying /tmp/pytest-of-ubuntu/pytest-38/run_build0/bonjour/data/terre.txt -> _skbuild/linux-armv7l-3.12/cmake-install/bonjour/data/terre.txt 501s 501s ----------------------------- Captured stderr call ----------------------------- 501s hint: Using 'master' as the name for the initial branch. This default branch name 501s hint: is subject to change. To configure the initial branch name to use in all 501s hint: of your new repositories, which will suppress this warning, call: 501s hint: 501s hint: git config --global init.defaultBranch 501s hint: 501s hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 501s hint: 'development'. The just-created branch can be renamed via this command: 501s hint: 501s hint: git branch -m 501s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 501s Compatibility with CMake < 3.5 will be removed from a future version of 501s CMake. 501s 501s Update the VERSION argument value or use a ... suffix to tell 501s CMake that the project does not need compatibility with older versions. 501s 501s 501s CMake Error: CMake was unable to find a build program corresponding to "Ninja". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. 501s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 501s Compatibility with CMake < 3.5 will be removed from a future version of 501s CMake. 501s 501s Update the VERSION argument value or use a ... suffix to tell 501s CMake that the project does not need compatibility with older versions. 501s 501s 501s CMake Warning (dev) at /usr/lib/python3/dist-packages/skbuild/resources/cmake/FindPythonExtensions.cmake:245 (find_package): 501s Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules 501s are removed. Run "cmake --help-policy CMP0148" for policy details. Use 501s the cmake_policy command to set the policy and suppress this warning. 501s 501s Call Stack (most recent call first): 501s CMakeLists.txt:5 (find_package) 501s This warning is for project developers. Use -Wno-dev to suppress it. 501s 501s CMake Warning (dev) at /usr/lib/python3/dist-packages/skbuild/resources/cmake/FindPythonExtensions.cmake:252 (find_package): 501s Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules 501s are removed. Run "cmake --help-policy CMP0148" for policy details. Use 501s the cmake_policy command to set the policy and suppress this warning. 501s 501s Call Stack (most recent call first): 501s CMakeLists.txt:5 (find_package) 501s This warning is for project developers. Use -Wno-dev to suppress it. 501s 501s _modinit_prefix:PyInit_ 501s ------------------------------ Captured log call ------------------------------- 501s INFO root:dist.py:986 running build 501s INFO root:dist.py:986 running build_py 501s INFO root:dir_util.py:70 creating _skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312 501s ______________________ test_hello_clean[without-dry-run] _______________________ 501s 501s dry_run = False, capfd = <_pytest.capture.CaptureFixture object at 0xec8c6570> 501s 501s @pytest.mark.parametrize("dry_run", ["with-dry-run", "without-dry-run"]) 501s def test_hello_clean(dry_run, capfd): 501s with push_dir(): 501s dry_run = dry_run == "with-dry-run" 501s 501s @project_setup_py_test("hello-cpp", ["build"], ret=True) 501s def run_build(): 501s pass 501s 501s > tmp_dir = run_build()[0] 501s 501s capfd = <_pytest.capture.CaptureFixture object at 0xec8c6570> 501s dry_run = False 501s run_build = .run_build at 0xec8e18e8> 501s 501s tests/test_hello_cpp.py:119: 501s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 501s tests/__init__.py:261: in wrapped 501s with execute_setup_py(wrapped.tmp_dir, wrapped.setup_args, disable_languages_test=disable_languages_test): # type: ignore[attr-defined] 501s disable_languages_test = False 501s fun = .run_build at 0xec8e1168> 501s iargs = () 501s ikwargs = {} 501s ret = True 501s wrapped = .run_build at 0xec8e18e8> 501s /usr/lib/python3.12/contextlib.py:137: in __enter__ 501s return next(self.gen) 501s self = 501s tests/__init__.py:247: in execute_setup_py 501s exec(setup_code) 501s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 501s disable_languages_test = False 501s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 501s project_dir = local('/tmp/pytest-of-ubuntu/pytest-39/run_build0') 501s setup = 501s setup_args = ['build'] 501s setup_code = at 0xec584598, file "setup.py", line 1> 501s setup.py:5: in 501s ??? 501s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 501s disable_languages_test = False 501s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 501s project_dir = local('/tmp/pytest-of-ubuntu/pytest-39/run_build0') 501s setup = 501s setup_args = ['build'] 501s setup_code = at 0xec584598, file "setup.py", line 1> 501s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:781: in setup 501s return setuptools.setup(**kw) # type: ignore[no-any-return, func-returns-value] 501s BinaryDistribution = .BinaryDistribution'> 501s build_ext_inplace = False 501s cmake_args = ['-DCMAKE_BUILD_TYPE:STRING=Release'] 501s cmake_args_from_args = [] 501s cmake_executable = '/usr/bin/cmake' 501s cmake_install_dir = '' 501s cmake_install_target = 'install' 501s cmake_install_target_from_command = '' 501s cmake_install_target_from_setup = 'install' 501s cmake_languages = ('C', 'CXX') 501s cmake_manifest = ['_skbuild/linux-armv7l-3.12/cmake-install/helloModule.py', '_skbuild/linux-armv7l-3.12/cmake-install/hello/_hello.cpython-312-arm-linux-gnueabihf.so', '_skbuild/linux-armv7l-3.12/cmake-install/hello/world.py'] 501s cmake_minimum_required_version = None 501s cmake_process_manifest_hook = None 501s cmake_source_dir = '' 501s cmake_spec = {'args': ['/usr/bin/cmake', '-DCMAKE_BUILD_TYPE:STRING=Release'], 'environment': {'PYTHONNOUSERSITE': None, 'PYTHONPATH': None}, 'version': '3.29.6'} 501s cmake_with_sdist = False 501s cmdclass = {'bdist': , 'bdist_wheel': , 'build': , 'build_ext': , ...} 501s cmkr = 501s commands = ['build'] 501s config_type = 'Release' 501s data_files = {} 501s developer_mode = False 501s display_only = False 501s env = {'ADTTMP': '/tmp/autopkgtest.EPTB0Y/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', 'ADT_TEST_TRIGGERS': 'setuptools/70.3.0-2', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', ...} 501s env_cmake_args = [] 501s force_cmake = False 501s has_cmakelists = True 501s has_invalid_arguments = False 501s help_commands = 0 501s hide_listing = False 501s kw = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package', ...} 501s make_args = ['--config', 'Release'] 501s new_py_modules = {'bonjourModule': False, 'helloModule': True} 501s new_scripts = {} 501s original_manifestin_data_files = [] 501s original_package_data = {'bonjour': ['data/*.txt', 'data/terre.txt']} 501s package = 'hello' 501s package_data = {'': ['bonjourModule.py', 'helloModule.py'], 'bonjour': ['data/*.txt', 'data/terre.txt', '__init__.py'], 'hello': ['_hello.cpython-312-arm-linux-gnueabihf.so', 'world.py', '__init__.py', '__main__.py']} 501s package_dir = {'bonjour': 'bonjour', 'hello': 'hello'} 501s package_prefixes = [('bonjour', 'bonjour'), ('hello', 'hello')] 501s packages = ['bonjour', 'hello'] 501s plat_name = None 501s process_manifest = None 501s py_modules = ['bonjourModule', 'helloModule'] 501s scripts = [] 501s skip_cmake = False 501s skip_generator_test = False 501s skip_skbuild = False 501s /usr/lib/python3/dist-packages/setuptools/__init__.py:103: in setup 501s return distutils.core.setup(**attrs) 501s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package', ...} 501s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:184: in setup 501s return run_commands(dist) 501s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package', ...} 501s dist = .BinaryDistribution object at 0xec7a3558> 501s klass = .BinaryDistribution'> 501s ok = True 501s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:200: in run_commands 501s dist.run_commands() 501s dist = .BinaryDistribution object at 0xec7a3558> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:970: in run_commands 501s self.run_command(cmd) 501s cmd = 'build' 501s self = .BinaryDistribution object at 0xec7a3558> 501s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 501s super().run_command(command) 501s __class__ = 501s command = 'build' 501s self = .BinaryDistribution object at 0xec7a3558> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 501s cmd_obj.run() 501s cmd_obj = 501s command = 'build' 501s self = .BinaryDistribution object at 0xec7a3558> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build.py:135: in run 501s self.run_command(cmd_name) 501s cmd_name = 'build_py' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 501s self.distribution.run_command(command) 501s command = 'build_py' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 501s super().run_command(command) 501s __class__ = 501s command = 'build_py' 501s self = .BinaryDistribution object at 0xec7a3558> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 501s cmd_obj.run() 501s cmd_obj = 501s command = 'build_py' 501s self = .BinaryDistribution object at 0xec7a3558> 501s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:41: in run 501s super().run(*args, **kwargs) 501s __class__ = 501s args = () 501s kwargs = {} 501s self = 501s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:71: in run 501s self.build_modules() 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:359: in build_modules 501s self.build_module(module, module_file, package) 501s module = 'bonjourModule' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py' 501s modules = [('', 'bonjourModule', '_skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py'), ('', 'helloModule', '_skbuild/linux-armv7l-3.12/cmake-install/helloModule.py')] 501s package = '' 501s self = 501s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:31: in build_module 501s super().build_module(module, module_file, package) # type: ignore[no-untyped-call] 501s __class__ = 501s module = 'bonjourModule' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py' 501s package = '' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:89: in build_module 501s outfile, copied = orig.build_py.build_module(self, module, module_file, package) 501s module = 'bonjourModule' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py' 501s package = '' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:349: in build_module 501s self.mkpath(dir) 501s dir = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s module = 'bonjourModule' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py' 501s outfile = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/bonjourModule.py' 501s package = [''] 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:340: in mkpath 501s dir_util.mkpath(name, mode, dry_run=self.dry_run) 501s mode = 511 501s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s self = 501s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 501s 501s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s mode = 511, verbose = True, dry_run = False 501s 501s def mkpath(name, mode=0o777, verbose=True, dry_run=False): # noqa: C901 501s """Create a directory and any missing ancestor directories. 501s 501s If the directory already exists (or if 'name' is the empty string, which 501s means the current directory, which of course exists), then do nothing. 501s Raise DistutilsFileError if unable to create some directory along the way 501s (eg. some sub-path exists, but is a file rather than a directory). 501s If 'verbose' is true, print a one-line summary of each mkdir to stdout. 501s Return the list of directories actually created. 501s 501s os.makedirs is not used because: 501s 501s a) It's new to Python 1.5.2, and 501s b) it blows up if the directory already exists (in which case it should 501s silently succeed). 501s """ 501s 501s global _path_created 501s 501s # Detect a common bug -- name is None 501s if not isinstance(name, str): 501s raise DistutilsInternalError(f"mkpath: 'name' must be a string (got {name!r})") 501s 501s # XXX what's the better way to handle verbosity? print as we create 501s # each directory in the path (the current behaviour), or only announce 501s # the creation of the whole path? (quite easy to do the latter since 501s # we're not using a recursive algorithm) 501s 501s name = os.path.normpath(name) 501s created_dirs = [] 501s if os.path.isdir(name) or name == '': 501s return created_dirs 501s if os.path.abspath(name) in _path_created: 501s return created_dirs 501s 501s (head, tail) = os.path.split(name) 501s tails = [tail] # stack of lone dirs to create 501s 501s while head and tail and not os.path.isdir(head): 501s (head, tail) = os.path.split(head) 501s tails.insert(0, tail) # push next higher dir onto stack 501s 501s # now 'head' contains the deepest directory that already exists 501s # (that is, the child of 'head' in 'name' is the highest directory 501s # that does *not* exist) 501s for d in tails: 501s # print "head = %s, d = %s: " % (head, d), 501s head = os.path.join(head, d) 501s abs_head = os.path.abspath(head) 501s 501s if abs_head in _path_created: 501s continue 501s 501s if verbose >= 1: 501s log.info("creating %s", head) 501s 501s if not dry_run: 501s try: 501s os.mkdir(head, mode) 501s except OSError as exc: 501s if not (exc.errno == errno.EEXIST and os.path.isdir(head)): 501s raise DistutilsFileError( 501s f"could not create '{head}': {exc.args[-1]}" 501s ) 501s created_dirs.append(head) 501s 501s > _path_created.add(abs_head) 501s E AttributeError: 'dict' object has no attribute 'add' 501s 501s abs_head = '/tmp/pytest-of-ubuntu/pytest-39/run_build0/_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s created_dirs = ['_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312'] 501s d = 'lib.linux-armv7l-cpython-312' 501s dry_run = False 501s head = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s mode = 511 501s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s tail = 'lib.linux-armv7l-cpython-312' 501s tails = ['lib.linux-armv7l-cpython-312'] 501s verbose = True 501s 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dir_util.py:82: AttributeError 501s ----------------------------- Captured stdout call ----------------------------- 501s Initialized empty Git repository in /tmp/pytest-of-ubuntu/pytest-39/run_build0/.git/ 501s [master (root-commit) 6facb81] Initial commit 501s 11 files changed, 115 insertions(+) 501s create mode 100644 CMakeLists.txt 501s create mode 100644 bonjour/__init__.py 501s create mode 100644 bonjour/data/ciel.txt 501s create mode 100644 bonjour/data/soleil.txt 501s create mode 100644 bonjour/data/terre.txt 501s create mode 100644 bonjourModule.py 501s create mode 100644 hello/CMakeLists.txt 501s create mode 100644 hello/__init__.py 501s create mode 100644 hello/__main__.py 501s create mode 100644 hello/_hello.cxx 501s create mode 100644 setup.py 501s 501s 501s -------------------------------------------------------------------------------- 501s -- Trying 'Ninja' generator 501s -------------------------------- 501s --------------------------- 501s ---------------------- 501s ----------------- 501s ------------ 501s ------- 501s -- 501s Not searching for unused variables given on the command line. 501s -- Configuring incomplete, errors occurred! 501s -- 501s ------- 501s ------------ 501s ----------------- 501s ---------------------- 501s --------------------------- 501s -------------------------------- 501s -- Trying 'Ninja' generator - failure 501s -------------------------------------------------------------------------------- 501s 501s 501s 501s -------------------------------------------------------------------------------- 501s -- Trying 'Unix Makefiles' generator 501s -------------------------------- 501s --------------------------- 501s ---------------------- 501s ----------------- 501s ------------ 501s ------- 501s -- 501s Not searching for unused variables given on the command line. 501s -- The C compiler identification is GNU 13.2.0 501s -- Detecting C compiler ABI info 501s -- Detecting C compiler ABI info - done 501s -- Check for working C compiler: /usr/bin/cc - skipped 501s -- Detecting C compile features 501s -- Detecting C compile features - done 501s -- The CXX compiler identification is GNU 13.2.0 501s -- Detecting CXX compiler ABI info 501s -- Detecting CXX compiler ABI info - done 501s -- Check for working CXX compiler: /usr/bin/c++ - skipped 501s -- Detecting CXX compile features 501s -- Detecting CXX compile features - done 501s -- Configuring done (0.7s) 501s -- Generating done (0.0s) 501s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-39/run_build0/_cmake_test_compile/build 501s -- 501s ------- 501s ------------ 501s ----------------- 501s ---------------------- 501s --------------------------- 501s -------------------------------- 501s -- Trying 'Unix Makefiles' generator - success 501s -------------------------------------------------------------------------------- 501s 501s Configuring Project 501s Working directory: 501s /tmp/pytest-of-ubuntu/pytest-39/run_build0/_skbuild/linux-armv7l-3.12/cmake-build 501s Command: 501s /usr/bin/cmake /tmp/pytest-of-ubuntu/pytest-39/run_build0 -G 'Unix Makefiles' --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pytest-of-ubuntu/pytest-39/run_build0/_skbuild/linux-armv7l-3.12/cmake-install -DPYTHON_VERSION_STRING:STRING=3.12.4 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/usr/lib/python3/dist-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/usr/bin/python3.12 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPYTHON_LIBRARY:PATH=/usr/lib/arm-linux-gnueabihf/libpython3.12.so -DPython_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython_ROOT_DIR:PATH=/usr -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPython3_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython3_ROOT_DIR:PATH=/usr -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.12 -DCMAKE_BUILD_TYPE:STRING=Release 501s 501s Not searching for unused variables given on the command line. 501s -- The C compiler identification is GNU 13.2.0 501s -- The CXX compiler identification is GNU 13.2.0 501s -- Detecting C compiler ABI info 501s -- Detecting C compiler ABI info - done 501s -- Check for working C compiler: /usr/bin/cc - skipped 501s -- Detecting C compile features 501s -- Detecting C compile features - done 501s -- Detecting CXX compiler ABI info 501s -- Detecting CXX compiler ABI info - done 501s -- Check for working CXX compiler: /usr/bin/c++ - skipped 501s -- Detecting CXX compile features 501s -- Detecting CXX compile features - done 501s -- Found PythonInterp: /usr/bin/python3.12 (found version "3.12.4") 501s -- Found PythonLibs: /usr/lib/arm-linux-gnueabihf/libpython3.12.so (found version "3.12.4") 501s -- Performing Test Weak Link MODULE -> SHARED (gnu_ld_ignore) - Success 501s -- Configuring done (1.4s) 501s -- Generating done (0.0s) 501s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-39/run_build0/_skbuild/linux-armv7l-3.12/cmake-build 501s [ 50%] Building CXX object hello/CMakeFiles/_hello.dir/_hello.cxx.o 501s [100%] Linking CXX shared module _hello.cpython-312-arm-linux-gnueabihf.so 501s [100%] Built target _hello 501s Install the project... 501s -- Install configuration: "Release" 501s -- Installing: /tmp/pytest-of-ubuntu/pytest-39/run_build0/_skbuild/linux-armv7l-3.12/cmake-install/./helloModule.py 501s -- Installing: /tmp/pytest-of-ubuntu/pytest-39/run_build0/_skbuild/linux-armv7l-3.12/cmake-install/hello/_hello.cpython-312-arm-linux-gnueabihf.so 501s -- Installing: /tmp/pytest-of-ubuntu/pytest-39/run_build0/_skbuild/linux-armv7l-3.12/cmake-install/hello/world.py 501s 501s copying bonjourModule.py -> _skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py 501s creating directory _skbuild/linux-armv7l-3.12/cmake-install/bonjour 501s copying bonjour/__init__.py -> _skbuild/linux-armv7l-3.12/cmake-install/bonjour/__init__.py 501s copying hello/__init__.py -> _skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py 501s copying hello/__main__.py -> _skbuild/linux-armv7l-3.12/cmake-install/hello/__main__.py 501s creating directory _skbuild/linux-armv7l-3.12/cmake-install/bonjour/data 501s copying /tmp/pytest-of-ubuntu/pytest-39/run_build0/bonjour/data/ciel.txt -> _skbuild/linux-armv7l-3.12/cmake-install/bonjour/data/ciel.txt 501s copying /tmp/pytest-of-ubuntu/pytest-39/run_build0/bonjour/data/soleil.txt -> _skbuild/linux-armv7l-3.12/cmake-install/bonjour/data/soleil.txt 501s copying /tmp/pytest-of-ubuntu/pytest-39/run_build0/bonjour/data/terre.txt -> _skbuild/linux-armv7l-3.12/cmake-install/bonjour/data/terre.txt 501s copying /tmp/pytest-of-ubuntu/pytest-39/run_build0/bonjour/data/terre.txt -> _skbuild/linux-armv7l-3.12/cmake-install/bonjour/data/terre.txt 501s 501s ----------------------------- Captured stderr call ----------------------------- 501s hint: Using 'master' as the name for the initial branch. This default branch name 501s hint: is subject to change. To configure the initial branch name to use in all 501s hint: of your new repositories, which will suppress this warning, call: 501s hint: 501s hint: git config --global init.defaultBranch 501s hint: 501s hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 501s hint: 'development'. The just-created branch can be renamed via this command: 501s hint: 501s hint: git branch -m 501s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 501s Compatibility with CMake < 3.5 will be removed from a future version of 501s CMake. 501s 501s Update the VERSION argument value or use a ... suffix to tell 501s CMake that the project does not need compatibility with older versions. 501s 501s 501s CMake Error: CMake was unable to find a build program corresponding to "Ninja". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. 501s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 501s Compatibility with CMake < 3.5 will be removed from a future version of 501s CMake. 501s 501s Update the VERSION argument value or use a ... suffix to tell 501s CMake that the project does not need compatibility with older versions. 501s 501s 501s CMake Warning (dev) at /usr/lib/python3/dist-packages/skbuild/resources/cmake/FindPythonExtensions.cmake:245 (find_package): 501s Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules 501s are removed. Run "cmake --help-policy CMP0148" for policy details. Use 501s the cmake_policy command to set the policy and suppress this warning. 501s 501s Call Stack (most recent call first): 501s CMakeLists.txt:5 (find_package) 501s This warning is for project developers. Use -Wno-dev to suppress it. 501s 501s CMake Warning (dev) at /usr/lib/python3/dist-packages/skbuild/resources/cmake/FindPythonExtensions.cmake:252 (find_package): 501s Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules 501s are removed. Run "cmake --help-policy CMP0148" for policy details. Use 501s the cmake_policy command to set the policy and suppress this warning. 501s 501s Call Stack (most recent call first): 501s CMakeLists.txt:5 (find_package) 501s This warning is for project developers. Use -Wno-dev to suppress it. 501s 501s _modinit_prefix:PyInit_ 501s ------------------------------ Captured log call ------------------------------- 501s INFO root:dist.py:986 running build 501s INFO root:dist.py:986 running build_py 501s INFO root:dir_util.py:70 creating _skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312 501s ______________________________ test_hello_cleans _______________________________ 501s 501s capfd = <_pytest.capture.CaptureFixture object at 0xec7a92a0> 501s caplog = <_pytest.logging.LogCaptureFixture object at 0xec7b7990> 501s 501s def test_hello_cleans(capfd, caplog): 501s with push_dir(): 501s tmp_dir = _tmpdir("test_hello_cleans") 501s 501s _copy_dir(tmp_dir, os.path.join(SAMPLES_DIR, "hello-cpp")) 501s 501s @project_setup_py_test("hello-cpp", ["build"], tmp_dir=tmp_dir) 501s def run_build(): 501s pass 501s 501s @project_setup_py_test("hello-cpp", ["clean"], tmp_dir=tmp_dir) 501s def run_clean(): 501s pass 501s 501s # Check that a project can be cleaned twice in a row 501s > run_build() 501s 501s capfd = <_pytest.capture.CaptureFixture object at 0xec7a92a0> 501s caplog = <_pytest.logging.LogCaptureFixture object at 0xec7b7990> 501s run_build = .run_build at 0xec7884d8> 501s run_clean = .run_clean at 0xeca3ef28> 501s tmp_dir = local('/tmp/pytest-of-ubuntu/pytest-40/test_hello_cleans0') 501s 501s tests/test_hello_cpp.py:163: 501s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 501s tests/__init__.py:261: in wrapped 501s with execute_setup_py(wrapped.tmp_dir, wrapped.setup_args, disable_languages_test=disable_languages_test): # type: ignore[attr-defined] 501s disable_languages_test = False 501s fun = .run_build at 0xec788e38> 501s iargs = () 501s ikwargs = {} 501s ret = False 501s wrapped = .run_build at 0xec7884d8> 501s /usr/lib/python3.12/contextlib.py:137: in __enter__ 501s return next(self.gen) 501s self = 501s tests/__init__.py:247: in execute_setup_py 501s exec(setup_code) 501s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 501s disable_languages_test = False 501s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 501s project_dir = local('/tmp/pytest-of-ubuntu/pytest-40/test_hello_cleans0') 501s setup = 501s setup_args = ['build'] 501s setup_code = at 0xec5840e8, file "setup.py", line 1> 501s setup.py:5: in 501s ??? 501s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 501s disable_languages_test = False 501s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 501s project_dir = local('/tmp/pytest-of-ubuntu/pytest-40/test_hello_cleans0') 501s setup = 501s setup_args = ['build'] 501s setup_code = at 0xec5840e8, file "setup.py", line 1> 501s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:781: in setup 501s return setuptools.setup(**kw) # type: ignore[no-any-return, func-returns-value] 501s BinaryDistribution = .BinaryDistribution'> 501s build_ext_inplace = False 501s cmake_args = ['-DCMAKE_BUILD_TYPE:STRING=Release'] 501s cmake_args_from_args = [] 501s cmake_executable = '/usr/bin/cmake' 501s cmake_install_dir = '' 501s cmake_install_target = 'install' 501s cmake_install_target_from_command = '' 501s cmake_install_target_from_setup = 'install' 501s cmake_languages = ('C', 'CXX') 501s cmake_manifest = ['_skbuild/linux-armv7l-3.12/cmake-install/helloModule.py', '_skbuild/linux-armv7l-3.12/cmake-install/hello/_hello.cpython-312-arm-linux-gnueabihf.so', '_skbuild/linux-armv7l-3.12/cmake-install/hello/world.py'] 501s cmake_minimum_required_version = None 501s cmake_process_manifest_hook = None 501s cmake_source_dir = '' 501s cmake_spec = {'args': ['/usr/bin/cmake', '-DCMAKE_BUILD_TYPE:STRING=Release'], 'environment': {'PYTHONNOUSERSITE': None, 'PYTHONPATH': None}, 'version': '3.29.6'} 501s cmake_with_sdist = False 501s cmdclass = {'bdist': , 'bdist_wheel': , 'build': , 'build_ext': , ...} 501s cmkr = 501s commands = ['build'] 501s config_type = 'Release' 501s data_files = {} 501s developer_mode = False 501s display_only = False 501s env = {'ADTTMP': '/tmp/autopkgtest.EPTB0Y/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', 'ADT_TEST_TRIGGERS': 'setuptools/70.3.0-2', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', ...} 501s env_cmake_args = [] 501s force_cmake = False 501s has_cmakelists = True 501s has_invalid_arguments = False 501s help_commands = 0 501s hide_listing = False 501s kw = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package', ...} 501s make_args = ['--config', 'Release'] 501s new_py_modules = {'bonjourModule': False, 'helloModule': True} 501s new_scripts = {} 501s original_manifestin_data_files = [] 501s original_package_data = {'bonjour': ['data/*.txt', 'data/terre.txt']} 501s package = 'hello' 501s package_data = {'': ['bonjourModule.py', 'helloModule.py'], 'bonjour': ['data/*.txt', 'data/terre.txt', '__init__.py'], 'hello': ['_hello.cpython-312-arm-linux-gnueabihf.so', 'world.py', '__init__.py', '__main__.py']} 501s package_dir = {'bonjour': 'bonjour', 'hello': 'hello'} 501s package_prefixes = [('bonjour', 'bonjour'), ('hello', 'hello')] 501s packages = ['bonjour', 'hello'] 501s plat_name = None 501s process_manifest = None 501s py_modules = ['bonjourModule', 'helloModule'] 501s scripts = [] 501s skip_cmake = False 501s skip_generator_test = False 501s skip_skbuild = False 501s /usr/lib/python3/dist-packages/setuptools/__init__.py:103: in setup 501s return distutils.core.setup(**attrs) 501s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package', ...} 501s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:184: in setup 501s return run_commands(dist) 501s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package', ...} 501s dist = .BinaryDistribution object at 0xec7903c0> 501s klass = .BinaryDistribution'> 501s ok = True 501s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:200: in run_commands 501s dist.run_commands() 501s dist = .BinaryDistribution object at 0xec7903c0> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:970: in run_commands 501s self.run_command(cmd) 501s cmd = 'build' 501s self = .BinaryDistribution object at 0xec7903c0> 501s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 501s super().run_command(command) 501s __class__ = 501s command = 'build' 501s self = .BinaryDistribution object at 0xec7903c0> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 501s cmd_obj.run() 501s cmd_obj = 501s command = 'build' 501s self = .BinaryDistribution object at 0xec7903c0> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build.py:135: in run 501s self.run_command(cmd_name) 501s cmd_name = 'build_py' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 501s self.distribution.run_command(command) 501s command = 'build_py' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 501s super().run_command(command) 501s __class__ = 501s command = 'build_py' 501s self = .BinaryDistribution object at 0xec7903c0> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 501s cmd_obj.run() 501s cmd_obj = 501s command = 'build_py' 501s self = .BinaryDistribution object at 0xec7903c0> 501s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:41: in run 501s super().run(*args, **kwargs) 501s __class__ = 501s args = () 501s kwargs = {} 501s self = 501s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:71: in run 501s self.build_modules() 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:359: in build_modules 501s self.build_module(module, module_file, package) 501s module = 'bonjourModule' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py' 501s modules = [('', 'bonjourModule', '_skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py'), ('', 'helloModule', '_skbuild/linux-armv7l-3.12/cmake-install/helloModule.py')] 501s package = '' 501s self = 501s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:31: in build_module 501s super().build_module(module, module_file, package) # type: ignore[no-untyped-call] 501s __class__ = 501s module = 'bonjourModule' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py' 501s package = '' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:89: in build_module 501s outfile, copied = orig.build_py.build_module(self, module, module_file, package) 501s module = 'bonjourModule' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py' 501s package = '' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:349: in build_module 501s self.mkpath(dir) 501s dir = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s module = 'bonjourModule' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py' 501s outfile = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/bonjourModule.py' 501s package = [''] 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:340: in mkpath 501s dir_util.mkpath(name, mode, dry_run=self.dry_run) 501s mode = 511 501s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s self = 501s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 501s 501s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s mode = 511, verbose = True, dry_run = False 501s 501s def mkpath(name, mode=0o777, verbose=True, dry_run=False): # noqa: C901 501s """Create a directory and any missing ancestor directories. 501s 501s If the directory already exists (or if 'name' is the empty string, which 501s means the current directory, which of course exists), then do nothing. 501s Raise DistutilsFileError if unable to create some directory along the way 501s (eg. some sub-path exists, but is a file rather than a directory). 501s If 'verbose' is true, print a one-line summary of each mkdir to stdout. 501s Return the list of directories actually created. 501s 501s os.makedirs is not used because: 501s 501s a) It's new to Python 1.5.2, and 501s b) it blows up if the directory already exists (in which case it should 501s silently succeed). 501s """ 501s 501s global _path_created 501s 501s # Detect a common bug -- name is None 501s if not isinstance(name, str): 501s raise DistutilsInternalError(f"mkpath: 'name' must be a string (got {name!r})") 501s 501s # XXX what's the better way to handle verbosity? print as we create 501s # each directory in the path (the current behaviour), or only announce 501s # the creation of the whole path? (quite easy to do the latter since 501s # we're not using a recursive algorithm) 501s 501s name = os.path.normpath(name) 501s created_dirs = [] 501s if os.path.isdir(name) or name == '': 501s return created_dirs 501s if os.path.abspath(name) in _path_created: 501s return created_dirs 501s 501s (head, tail) = os.path.split(name) 501s tails = [tail] # stack of lone dirs to create 501s 501s while head and tail and not os.path.isdir(head): 501s (head, tail) = os.path.split(head) 501s tails.insert(0, tail) # push next higher dir onto stack 501s 501s # now 'head' contains the deepest directory that already exists 501s # (that is, the child of 'head' in 'name' is the highest directory 501s # that does *not* exist) 501s for d in tails: 501s # print "head = %s, d = %s: " % (head, d), 501s head = os.path.join(head, d) 501s abs_head = os.path.abspath(head) 501s 501s if abs_head in _path_created: 501s continue 501s 501s if verbose >= 1: 501s log.info("creating %s", head) 501s 501s if not dry_run: 501s try: 501s os.mkdir(head, mode) 501s except OSError as exc: 501s if not (exc.errno == errno.EEXIST and os.path.isdir(head)): 501s raise DistutilsFileError( 501s f"could not create '{head}': {exc.args[-1]}" 501s ) 501s created_dirs.append(head) 501s 501s > _path_created.add(abs_head) 501s E AttributeError: 'dict' object has no attribute 'add' 501s 501s abs_head = '/tmp/pytest-of-ubuntu/pytest-40/test_hello_cleans0/_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s created_dirs = ['_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312'] 501s d = 'lib.linux-armv7l-cpython-312' 501s dry_run = False 501s head = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s mode = 511 501s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s tail = 'lib.linux-armv7l-cpython-312' 501s tails = ['lib.linux-armv7l-cpython-312'] 501s verbose = True 501s 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dir_util.py:82: AttributeError 501s ----------------------------- Captured stdout call ----------------------------- 501s 501s 501s -------------------------------------------------------------------------------- 501s -- Trying 'Ninja' generator 501s -------------------------------- 501s --------------------------- 501s ---------------------- 501s ----------------- 501s ------------ 501s ------- 501s -- 501s Not searching for unused variables given on the command line. 501s -- Configuring incomplete, errors occurred! 501s -- 501s ------- 501s ------------ 501s ----------------- 501s ---------------------- 501s --------------------------- 501s -------------------------------- 501s -- Trying 'Ninja' generator - failure 501s -------------------------------------------------------------------------------- 501s 501s 501s 501s -------------------------------------------------------------------------------- 501s -- Trying 'Unix Makefiles' generator 501s -------------------------------- 501s --------------------------- 501s ---------------------- 501s ----------------- 501s ------------ 501s ------- 501s -- 501s Not searching for unused variables given on the command line. 501s -- The C compiler identification is GNU 13.2.0 501s -- Detecting C compiler ABI info 501s -- Detecting C compiler ABI info - done 501s -- Check for working C compiler: /usr/bin/cc - skipped 501s -- Detecting C compile features 501s -- Detecting C compile features - done 501s -- The CXX compiler identification is GNU 13.2.0 501s -- Detecting CXX compiler ABI info 501s -- Detecting CXX compiler ABI info - done 501s -- Check for working CXX compiler: /usr/bin/c++ - skipped 501s -- Detecting CXX compile features 501s -- Detecting CXX compile features - done 501s -- Configuring done (0.6s) 501s -- Generating done (0.0s) 501s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-40/test_hello_cleans0/_cmake_test_compile/build 501s -- 501s ------- 501s ------------ 501s ----------------- 501s ---------------------- 501s --------------------------- 501s -------------------------------- 501s -- Trying 'Unix Makefiles' generator - success 501s -------------------------------------------------------------------------------- 501s 501s Configuring Project 501s Working directory: 501s /tmp/pytest-of-ubuntu/pytest-40/test_hello_cleans0/_skbuild/linux-armv7l-3.12/cmake-build 501s Command: 501s /usr/bin/cmake /tmp/pytest-of-ubuntu/pytest-40/test_hello_cleans0 -G 'Unix Makefiles' --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pytest-of-ubuntu/pytest-40/test_hello_cleans0/_skbuild/linux-armv7l-3.12/cmake-install -DPYTHON_VERSION_STRING:STRING=3.12.4 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/usr/lib/python3/dist-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/usr/bin/python3.12 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPYTHON_LIBRARY:PATH=/usr/lib/arm-linux-gnueabihf/libpython3.12.so -DPython_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython_ROOT_DIR:PATH=/usr -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPython3_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython3_ROOT_DIR:PATH=/usr -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.12 -DCMAKE_BUILD_TYPE:STRING=Release 501s 501s Not searching for unused variables given on the command line. 501s -- The C compiler identification is GNU 13.2.0 501s -- The CXX compiler identification is GNU 13.2.0 501s -- Detecting C compiler ABI info 501s -- Detecting C compiler ABI info - done 501s -- Check for working C compiler: /usr/bin/cc - skipped 501s -- Detecting C compile features 501s -- Detecting C compile features - done 501s -- Detecting CXX compiler ABI info 501s -- Detecting CXX compiler ABI info - done 501s -- Check for working CXX compiler: /usr/bin/c++ - skipped 501s -- Detecting CXX compile features 501s -- Detecting CXX compile features - done 501s -- Found PythonInterp: /usr/bin/python3.12 (found version "3.12.4") 501s -- Found PythonLibs: /usr/lib/arm-linux-gnueabihf/libpython3.12.so (found version "3.12.4") 501s -- Performing Test Weak Link MODULE -> SHARED (gnu_ld_ignore) - Success 501s -- Configuring done (1.5s) 501s -- Generating done (0.0s) 501s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-40/test_hello_cleans0/_skbuild/linux-armv7l-3.12/cmake-build 501s [ 50%] Building CXX object hello/CMakeFiles/_hello.dir/_hello.cxx.o 501s [100%] Linking CXX shared module _hello.cpython-312-arm-linux-gnueabihf.so 501s [100%] Built target _hello 501s Install the project... 501s -- Install configuration: "Release" 501s -- Installing: /tmp/pytest-of-ubuntu/pytest-40/test_hello_cleans0/_skbuild/linux-armv7l-3.12/cmake-install/./helloModule.py 501s -- Installing: /tmp/pytest-of-ubuntu/pytest-40/test_hello_cleans0/_skbuild/linux-armv7l-3.12/cmake-install/hello/_hello.cpython-312-arm-linux-gnueabihf.so 501s -- Installing: /tmp/pytest-of-ubuntu/pytest-40/test_hello_cleans0/_skbuild/linux-armv7l-3.12/cmake-install/hello/world.py 501s 501s copying bonjourModule.py -> _skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py 501s creating directory _skbuild/linux-armv7l-3.12/cmake-install/bonjour 501s copying bonjour/__init__.py -> _skbuild/linux-armv7l-3.12/cmake-install/bonjour/__init__.py 501s copying hello/__init__.py -> _skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py 501s copying hello/__main__.py -> _skbuild/linux-armv7l-3.12/cmake-install/hello/__main__.py 501s creating directory _skbuild/linux-armv7l-3.12/cmake-install/bonjour/data 501s copying /tmp/pytest-of-ubuntu/pytest-40/test_hello_cleans0/bonjour/data/ciel.txt -> _skbuild/linux-armv7l-3.12/cmake-install/bonjour/data/ciel.txt 501s copying /tmp/pytest-of-ubuntu/pytest-40/test_hello_cleans0/bonjour/data/soleil.txt -> _skbuild/linux-armv7l-3.12/cmake-install/bonjour/data/soleil.txt 501s copying /tmp/pytest-of-ubuntu/pytest-40/test_hello_cleans0/bonjour/data/terre.txt -> _skbuild/linux-armv7l-3.12/cmake-install/bonjour/data/terre.txt 501s copying /tmp/pytest-of-ubuntu/pytest-40/test_hello_cleans0/bonjour/data/terre.txt -> _skbuild/linux-armv7l-3.12/cmake-install/bonjour/data/terre.txt 501s 501s ----------------------------- Captured stderr call ----------------------------- 501s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 501s Compatibility with CMake < 3.5 will be removed from a future version of 501s CMake. 501s 501s Update the VERSION argument value or use a ... suffix to tell 501s CMake that the project does not need compatibility with older versions. 501s 501s 501s CMake Error: CMake was unable to find a build program corresponding to "Ninja". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. 501s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 501s Compatibility with CMake < 3.5 will be removed from a future version of 501s CMake. 501s 501s Update the VERSION argument value or use a ... suffix to tell 501s CMake that the project does not need compatibility with older versions. 501s 501s 501s CMake Warning (dev) at /usr/lib/python3/dist-packages/skbuild/resources/cmake/FindPythonExtensions.cmake:245 (find_package): 501s Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules 501s are removed. Run "cmake --help-policy CMP0148" for policy details. Use 501s the cmake_policy command to set the policy and suppress this warning. 501s 501s Call Stack (most recent call first): 501s CMakeLists.txt:5 (find_package) 501s This warning is for project developers. Use -Wno-dev to suppress it. 501s 501s CMake Warning (dev) at /usr/lib/python3/dist-packages/skbuild/resources/cmake/FindPythonExtensions.cmake:252 (find_package): 501s Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules 501s are removed. Run "cmake --help-policy CMP0148" for policy details. Use 501s the cmake_policy command to set the policy and suppress this warning. 501s 501s Call Stack (most recent call first): 501s CMakeLists.txt:5 (find_package) 501s This warning is for project developers. Use -Wno-dev to suppress it. 501s 501s _modinit_prefix:PyInit_ 501s ------------------------------ Captured log call ------------------------------- 501s INFO root:dist.py:986 running build 501s INFO root:dist.py:986 running build_py 501s INFO root:dir_util.py:70 creating _skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312 501s ___________________________ test_hello_cython_builds ___________________________ 501s 501s iargs = (), ikwargs = {} 501s 501s @functools.wraps(fun) 501s def wrapped(*iargs, **ikwargs): 501s if wrapped.tmp_dir is None: # type: ignore[attr-defined] 501s wrapped.tmp_dir = _tmpdir(fun.__name__) # type: ignore[attr-defined] 501s prepare_project(wrapped.project, wrapped.tmp_dir) # type: ignore[attr-defined] 501s initialize_git_repo_and_commit(wrapped.tmp_dir, verbose=wrapped.verbose_git) # type: ignore[attr-defined] 501s 501s > with execute_setup_py(wrapped.tmp_dir, wrapped.setup_args, disable_languages_test=disable_languages_test): # type: ignore[attr-defined] 501s 501s disable_languages_test = False 501s fun = 501s iargs = () 501s ikwargs = {} 501s ret = False 501s wrapped = 501s 501s tests/__init__.py:261: 501s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 501s /usr/lib/python3.12/contextlib.py:137: in __enter__ 501s return next(self.gen) 501s self = 501s tests/__init__.py:247: in execute_setup_py 501s exec(setup_code) 501s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 501s disable_languages_test = False 501s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 501s project_dir = local('/tmp/pytest-of-ubuntu/pytest-41/test_hello_cython_builds0') 501s setup = 501s setup_args = ['build'] 501s setup_code = at 0xec9faf20, file "setup.py", line 1> 501s setup.py:5: in 501s ??? 501s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 501s disable_languages_test = False 501s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 501s project_dir = local('/tmp/pytest-of-ubuntu/pytest-41/test_hello_cython_builds0') 501s setup = 501s setup_args = ['build'] 501s setup_code = at 0xec9faf20, file "setup.py", line 1> 501s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:781: in setup 501s return setuptools.setup(**kw) # type: ignore[no-any-return, func-returns-value] 501s BinaryDistribution = .BinaryDistribution'> 501s build_ext_inplace = False 501s cmake_args = ['-DCMAKE_BUILD_TYPE:STRING=Release'] 501s cmake_args_from_args = [] 501s cmake_executable = '/usr/bin/cmake' 501s cmake_install_dir = '' 501s cmake_install_target = 'install' 501s cmake_install_target_from_command = '' 501s cmake_install_target_from_setup = 'install' 501s cmake_languages = ('C', 'CXX') 501s cmake_manifest = ['_skbuild/linux-armv7l-3.12/cmake-install/hello/_hello.cpython-312-arm-linux-gnueabihf.so'] 501s cmake_minimum_required_version = None 501s cmake_process_manifest_hook = None 501s cmake_source_dir = '' 501s cmake_spec = {'args': ['/usr/bin/cmake', '-DCMAKE_BUILD_TYPE:STRING=Release'], 'environment': {'PYTHONNOUSERSITE': None, 'PYTHONPATH': None}, 'version': '3.29.6'} 501s cmake_with_sdist = False 501s cmdclass = {'bdist': , 'bdist_wheel': , 'build': , 'build_ext': , ...} 501s cmkr = 501s commands = ['build'] 501s config_type = 'Release' 501s data_files = {} 501s developer_mode = False 501s display_only = False 501s env = {'ADTTMP': '/tmp/autopkgtest.EPTB0Y/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', 'ADT_TEST_TRIGGERS': 'setuptools/70.3.0-2', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', ...} 501s env_cmake_args = [] 501s force_cmake = False 501s has_cmakelists = True 501s has_invalid_arguments = False 501s help_commands = 0 501s hide_listing = False 501s kw = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package (cython version)', ...} 501s make_args = ['--config', 'Release'] 501s msg = "package_dir={'hello_cython': 'hello/'} ends with a trailing slash, which is not supported by setuptools." 501s new_py_modules = {} 501s new_scripts = {} 501s original_manifestin_data_files = [] 501s original_package_data = {} 501s package = 'hello_cython' 501s package_data = {'hello_cython': ['_hello.cpython-312-arm-linux-gnueabihf.so', 'hello/__init__.py', 'hello/__main__.py']} 501s package_dir = {'hello_cython': 'hello'} 501s package_prefixes = [('hello', 'hello_cython')] 501s packages = ['hello_cython'] 501s plat_name = None 501s prefix = 'hello/' 501s process_manifest = None 501s py_modules = [] 501s scripts = [] 501s skip_cmake = False 501s skip_generator_test = False 501s skip_skbuild = False 501s /usr/lib/python3/dist-packages/setuptools/__init__.py:103: in setup 501s return distutils.core.setup(**attrs) 501s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package (cython version)', ...} 501s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:184: in setup 501s return run_commands(dist) 501s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package (cython version)', ...} 501s dist = .BinaryDistribution object at 0xec92e300> 501s klass = .BinaryDistribution'> 501s ok = True 501s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:200: in run_commands 501s dist.run_commands() 501s dist = .BinaryDistribution object at 0xec92e300> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:970: in run_commands 501s self.run_command(cmd) 501s cmd = 'build' 501s self = .BinaryDistribution object at 0xec92e300> 501s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 501s super().run_command(command) 501s __class__ = 501s command = 'build' 501s self = .BinaryDistribution object at 0xec92e300> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 501s cmd_obj.run() 501s cmd_obj = 501s command = 'build' 501s self = .BinaryDistribution object at 0xec92e300> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build.py:135: in run 501s self.run_command(cmd_name) 501s cmd_name = 'build_py' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 501s self.distribution.run_command(command) 501s command = 'build_py' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 501s super().run_command(command) 501s __class__ = 501s command = 'build_py' 501s self = .BinaryDistribution object at 0xec92e300> 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 501s cmd_obj.run() 501s cmd_obj = 501s command = 'build_py' 501s self = .BinaryDistribution object at 0xec92e300> 501s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:41: in run 501s super().run(*args, **kwargs) 501s __class__ = 501s args = () 501s kwargs = {} 501s self = 501s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:74: in run 501s self.build_packages() 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:379: in build_packages 501s self.build_module(module, module_file, package) 501s module = '__main__' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/hello/__main__.py' 501s modules = [('hello_cython', '__main__', '_skbuild/linux-armv7l-3.12/cmake-install/hello/__main__.py'), ('hello_cython', '__init__', '_skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py')] 501s package = 'hello_cython' 501s package_ = 'hello_cython' 501s package_dir = '_skbuild/linux-armv7l-3.12/cmake-install/hello' 501s self = 501s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:31: in build_module 501s super().build_module(module, module_file, package) # type: ignore[no-untyped-call] 501s __class__ = 501s module = '__main__' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/hello/__main__.py' 501s package = 'hello_cython' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:89: in build_module 501s outfile, copied = orig.build_py.build_module(self, module, module_file, package) 501s module = '__main__' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/hello/__main__.py' 501s package = 'hello_cython' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:349: in build_module 501s self.mkpath(dir) 501s dir = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello_cython' 501s module = '__main__' 501s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/hello/__main__.py' 501s outfile = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello_cython/__main__.py' 501s package = ['hello_cython'] 501s self = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:340: in mkpath 501s dir_util.mkpath(name, mode, dry_run=self.dry_run) 501s mode = 511 501s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello_cython' 501s self = 501s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 501s 501s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello_cython' 501s mode = 511, verbose = True, dry_run = False 501s 501s def mkpath(name, mode=0o777, verbose=True, dry_run=False): # noqa: C901 501s """Create a directory and any missing ancestor directories. 501s 501s If the directory already exists (or if 'name' is the empty string, which 501s means the current directory, which of course exists), then do nothing. 501s Raise DistutilsFileError if unable to create some directory along the way 501s (eg. some sub-path exists, but is a file rather than a directory). 501s If 'verbose' is true, print a one-line summary of each mkdir to stdout. 501s Return the list of directories actually created. 501s 501s os.makedirs is not used because: 501s 501s a) It's new to Python 1.5.2, and 501s b) it blows up if the directory already exists (in which case it should 501s silently succeed). 501s """ 501s 501s global _path_created 501s 501s # Detect a common bug -- name is None 501s if not isinstance(name, str): 501s raise DistutilsInternalError(f"mkpath: 'name' must be a string (got {name!r})") 501s 501s # XXX what's the better way to handle verbosity? print as we create 501s # each directory in the path (the current behaviour), or only announce 501s # the creation of the whole path? (quite easy to do the latter since 501s # we're not using a recursive algorithm) 501s 501s name = os.path.normpath(name) 501s created_dirs = [] 501s if os.path.isdir(name) or name == '': 501s return created_dirs 501s if os.path.abspath(name) in _path_created: 501s return created_dirs 501s 501s (head, tail) = os.path.split(name) 501s tails = [tail] # stack of lone dirs to create 501s 501s while head and tail and not os.path.isdir(head): 501s (head, tail) = os.path.split(head) 501s tails.insert(0, tail) # push next higher dir onto stack 501s 501s # now 'head' contains the deepest directory that already exists 501s # (that is, the child of 'head' in 'name' is the highest directory 501s # that does *not* exist) 501s for d in tails: 501s # print "head = %s, d = %s: " % (head, d), 501s head = os.path.join(head, d) 501s abs_head = os.path.abspath(head) 501s 501s if abs_head in _path_created: 501s continue 501s 501s if verbose >= 1: 501s log.info("creating %s", head) 501s 501s if not dry_run: 501s try: 501s os.mkdir(head, mode) 501s except OSError as exc: 501s if not (exc.errno == errno.EEXIST and os.path.isdir(head)): 501s raise DistutilsFileError( 501s f"could not create '{head}': {exc.args[-1]}" 501s ) 501s created_dirs.append(head) 501s 501s > _path_created.add(abs_head) 501s E AttributeError: 'dict' object has no attribute 'add' 501s 501s abs_head = '/tmp/pytest-of-ubuntu/pytest-41/test_hello_cython_builds0/_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s created_dirs = ['_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312'] 501s d = 'lib.linux-armv7l-cpython-312' 501s dry_run = False 501s head = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 501s mode = 511 501s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello_cython' 501s tail = 'lib.linux-armv7l-cpython-312' 501s tails = ['lib.linux-armv7l-cpython-312', 'hello_cython'] 501s verbose = True 501s 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dir_util.py:82: AttributeError 501s ----------------------------- Captured stdout call ----------------------------- 501s Initialized empty Git repository in /tmp/pytest-of-ubuntu/pytest-41/test_hello_cython_builds0/.git/ 501s [master (root-commit) 51e99d2] Initial commit 501s 6 files changed, 42 insertions(+) 501s create mode 100644 CMakeLists.txt 501s create mode 100644 hello/CMakeLists.txt 501s create mode 100644 hello/__init__.py 501s create mode 100644 hello/__main__.py 501s create mode 100644 hello/_hello.pyx 501s create mode 100644 setup.py 501s 501s 501s -------------------------------------------------------------------------------- 501s -- Trying 'Ninja' generator 501s -------------------------------- 501s --------------------------- 501s ---------------------- 501s ----------------- 501s ------------ 501s ------- 501s -- 501s Not searching for unused variables given on the command line. 501s -- Configuring incomplete, errors occurred! 501s -- 501s ------- 501s ------------ 501s ----------------- 501s ---------------------- 501s --------------------------- 501s -------------------------------- 501s -- Trying 'Ninja' generator - failure 501s -------------------------------------------------------------------------------- 501s 501s 501s 501s -------------------------------------------------------------------------------- 501s -- Trying 'Unix Makefiles' generator 501s -------------------------------- 501s --------------------------- 501s ---------------------- 501s ----------------- 501s ------------ 501s ------- 501s -- 501s Not searching for unused variables given on the command line. 501s -- The C compiler identification is GNU 13.2.0 501s -- Detecting C compiler ABI info 501s -- Detecting C compiler ABI info - done 501s -- Check for working C compiler: /usr/bin/cc - skipped 501s -- Detecting C compile features 501s -- Detecting C compile features - done 501s -- The CXX compiler identification is GNU 13.2.0 501s -- Detecting CXX compiler ABI info 501s -- Detecting CXX compiler ABI info - done 501s -- Check for working CXX compiler: /usr/bin/c++ - skipped 501s -- Detecting CXX compile features 501s -- Detecting CXX compile features - done 501s -- Configuring done (0.7s) 501s -- Generating done (0.0s) 501s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-41/test_hello_cython_builds0/_cmake_test_compile/build 501s -- 501s ------- 501s ------------ 501s ----------------- 501s ---------------------- 501s --------------------------- 501s -------------------------------- 501s -- Trying 'Unix Makefiles' generator - success 501s -------------------------------------------------------------------------------- 501s 501s Configuring Project 501s Working directory: 501s /tmp/pytest-of-ubuntu/pytest-41/test_hello_cython_builds0/_skbuild/linux-armv7l-3.12/cmake-build 501s Command: 501s /usr/bin/cmake /tmp/pytest-of-ubuntu/pytest-41/test_hello_cython_builds0 -G 'Unix Makefiles' --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pytest-of-ubuntu/pytest-41/test_hello_cython_builds0/_skbuild/linux-armv7l-3.12/cmake-install -DPYTHON_VERSION_STRING:STRING=3.12.4 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/usr/lib/python3/dist-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/usr/bin/python3.12 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPYTHON_LIBRARY:PATH=/usr/lib/arm-linux-gnueabihf/libpython3.12.so -DPython_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython_ROOT_DIR:PATH=/usr -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPython3_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython3_ROOT_DIR:PATH=/usr -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.12 -DCMAKE_BUILD_TYPE:STRING=Release 501s 501s Not searching for unused variables given on the command line. 501s -- The C compiler identification is GNU 13.2.0 501s -- The CXX compiler identification is GNU 13.2.0 501s -- Detecting C compiler ABI info 501s -- Detecting C compiler ABI info - done 501s -- Check for working C compiler: /usr/bin/cc - skipped 501s -- Detecting C compile features 501s -- Detecting C compile features - done 501s -- Detecting CXX compiler ABI info 501s -- Detecting CXX compiler ABI info - done 501s -- Check for working CXX compiler: /usr/bin/c++ - skipped 501s -- Detecting CXX compile features 501s -- Detecting CXX compile features - done 501s -- Found PythonInterp: /usr/bin/python3.12 (found version "3.12.4") 501s -- Found PythonLibs: /usr/lib/arm-linux-gnueabihf/libpython3.12.so (found version "3.12.4") 501s -- Found Cython: /usr/bin/cython 501s -- Performing Test Weak Link MODULE -> SHARED (gnu_ld_ignore) - Success 501s -- Configuring done (1.7s) 501s -- Generating done (0.0s) 501s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-41/test_hello_cython_builds0/_skbuild/linux-armv7l-3.12/cmake-build 501s [ 33%] Generating CXX source hello/_hello.cxx 501s [ 66%] Building CXX object hello/CMakeFiles/_hello.dir/_hello.cxx.o 501s [100%] Linking CXX shared module _hello.cpython-312-arm-linux-gnueabihf.so 501s [100%] Built target _hello 501s Install the project... 501s -- Install configuration: "Release" 501s -- Installing: /tmp/pytest-of-ubuntu/pytest-41/test_hello_cython_builds0/_skbuild/linux-armv7l-3.12/cmake-install/hello/_hello.cpython-312-arm-linux-gnueabihf.so 501s 501s copying hello/__init__.py -> _skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py 501s copying hello/__main__.py -> _skbuild/linux-armv7l-3.12/cmake-install/hello/__main__.py 501s 501s ----------------------------- Captured stderr call ----------------------------- 501s hint: Using 'master' as the name for the initial branch. This default branch name 501s hint: is subject to change. To configure the initial branch name to use in all 501s hint: of your new repositories, which will suppress this warning, call: 501s hint: 501s hint: git config --global init.defaultBranch 501s hint: 501s hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 501s hint: 'development'. The just-created branch can be renamed via this command: 501s hint: 501s hint: git branch -m 501s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 501s Compatibility with CMake < 3.5 will be removed from a future version of 501s CMake. 501s 501s Update the VERSION argument value or use a ... suffix to tell 501s CMake that the project does not need compatibility with older versions. 501s 501s 501s CMake Error: CMake was unable to find a build program corresponding to "Ninja". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. 501s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 501s Compatibility with CMake < 3.5 will be removed from a future version of 501s CMake. 501s 501s Update the VERSION argument value or use a ... suffix to tell 501s CMake that the project does not need compatibility with older versions. 501s 501s 501s CMake Warning (dev) at /usr/lib/python3/dist-packages/skbuild/resources/cmake/FindPythonExtensions.cmake:245 (find_package): 501s Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules 501s are removed. Run "cmake --help-policy CMP0148" for policy details. Use 501s the cmake_policy command to set the policy and suppress this warning. 501s 501s Call Stack (most recent call first): 501s CMakeLists.txt:5 (find_package) 501s This warning is for project developers. Use -Wno-dev to suppress it. 501s 501s CMake Warning (dev) at /usr/lib/python3/dist-packages/skbuild/resources/cmake/FindPythonExtensions.cmake:252 (find_package): 501s Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules 501s are removed. Run "cmake --help-policy CMP0148" for policy details. Use 501s the cmake_policy command to set the policy and suppress this warning. 501s 501s Call Stack (most recent call first): 501s CMakeLists.txt:5 (find_package) 501s This warning is for project developers. Use -Wno-dev to suppress it. 501s 501s _modinit_prefix:PyInit_ 501s /usr/lib/python3/dist-packages/Cython/Compiler/Main.py:381: FutureWarning: Cython directive 'language_level' not set, using '3str' for now (Py3). This has changed from earlier releases! File: /tmp/pytest-of-ubuntu/pytest-41/test_hello_cython_builds0/hello/_hello.pyx 501s tree = Parsing.p_module(s, pxd, full_module_name) 501s ------------------------------ Captured log call ------------------------------- 501s INFO root:dist.py:986 running build 501s INFO root:dist.py:986 running build_py 501s INFO root:dir_util.py:70 creating _skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312 501s ___________________________ test_hello_cython_sdist ____________________________ 501s 501s iargs = (), ikwargs = {} 501s 501s @functools.wraps(fun) 501s def wrapped(*iargs, **ikwargs): 501s if wrapped.tmp_dir is None: # type: ignore[attr-defined] 501s wrapped.tmp_dir = _tmpdir(fun.__name__) # type: ignore[attr-defined] 501s prepare_project(wrapped.project, wrapped.tmp_dir) # type: ignore[attr-defined] 501s initialize_git_repo_and_commit(wrapped.tmp_dir, verbose=wrapped.verbose_git) # type: ignore[attr-defined] 501s 501s > with execute_setup_py(wrapped.tmp_dir, wrapped.setup_args, disable_languages_test=disable_languages_test): # type: ignore[attr-defined] 501s 501s disable_languages_test = False 501s fun = 501s iargs = () 501s ikwargs = {} 501s ret = False 501s wrapped = 501s 501s tests/__init__.py:261: 501s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 501s /usr/lib/python3.12/contextlib.py:137: in __enter__ 501s return next(self.gen) 501s self = 501s tests/__init__.py:247: in execute_setup_py 501s exec(setup_code) 501s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 501s disable_languages_test = False 501s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 501s project_dir = local('/tmp/pytest-of-ubuntu/pytest-42/test_hello_cython_sdist0') 501s setup = 501s setup_args = ['sdist'] 501s setup_code = at 0xec9fac20, file "setup.py", line 1> 501s setup.py:5: in 501s ??? 501s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 501s disable_languages_test = False 501s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 501s project_dir = local('/tmp/pytest-of-ubuntu/pytest-42/test_hello_cython_sdist0') 501s setup = 501s setup_args = ['sdist'] 501s setup_code = at 0xec9fac20, file "setup.py", line 1> 501s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:513: in setup 501s return setuptools.setup(**kw) # type: ignore[no-any-return, func-returns-value] 501s build_ext_inplace = False 501s cmake_args = () 501s cmake_args_from_args = [] 501s cmake_executable = None 501s cmake_install_dir = '' 501s cmake_install_target = 'install' 501s cmake_languages = ('C', 'CXX') 501s cmake_minimum_required_version = None 501s cmake_process_manifest_hook = None 501s cmake_source_dir = '' 501s cmake_with_sdist = False 501s cmdclass = {'bdist': , 'bdist_wheel': , 'build': , 'build_ext': , ...} 501s commands = ['sdist'] 501s display_only = False 501s force_cmake = False 501s has_cmakelists = True 501s has_invalid_arguments = False 501s help_commands = 0 501s hide_listing = False 501s kw = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'description': 'a minimal example package (cython version)', 'license': 'MIT', ...} 501s make_args = [] 501s msg = "package_dir={'hello_cython': 'hello/'} ends with a trailing slash, which is not supported by setuptools." 501s package = 'hello_cython' 501s plat_name = None 501s prefix = 'hello/' 501s skip_cmake = False 501s skip_generator_test = False 501s skip_skbuild = True 501s /usr/lib/python3/dist-packages/setuptools/__init__.py:103: in setup 501s return distutils.core.setup(**attrs) 501s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'description': 'a minimal example package (cython version)', 'license': 'MIT', ...} 501s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:184: in setup 501s return run_commands(dist) 501s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'description': 'a minimal example package (cython version)', 'license': 'MIT', ...} 501s dist = 501s klass = 501s ok = True 501s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:200: in run_commands 501s dist.run_commands() 501s dist = 501s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:970: in run_commands 501s self.run_command(cmd) 501s cmd = 'sdist' 501s self = 501s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 501s super().run_command(command) 501s __class__ = 501s command = 'sdist' 501s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'sdist' 502s self = 502s /usr/lib/python3/dist-packages/skbuild/command/sdist.py:39: in run 502s super().run(*args, **kwargs) 502s __class__ = 502s args = () 502s kwargs = {} 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/sdist.py:52: in run 502s self.run_command('egg_info') 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 502s self.distribution.run_command(command) 502s command = 'egg_info' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'egg_info' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'egg_info' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/egg_info.py:306: in run 502s self.mkpath(self.egg_info) 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:340: in mkpath 502s dir_util.mkpath(name, mode, dry_run=self.dry_run) 502s mode = 511 502s name = 'hello/hello_cython.egg-info' 502s self = 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s 502s name = 'hello/hello_cython.egg-info', mode = 511, verbose = True 502s dry_run = False 502s 502s def mkpath(name, mode=0o777, verbose=True, dry_run=False): # noqa: C901 502s """Create a directory and any missing ancestor directories. 502s 502s If the directory already exists (or if 'name' is the empty string, which 502s means the current directory, which of course exists), then do nothing. 502s Raise DistutilsFileError if unable to create some directory along the way 502s (eg. some sub-path exists, but is a file rather than a directory). 502s If 'verbose' is true, print a one-line summary of each mkdir to stdout. 502s Return the list of directories actually created. 502s 502s os.makedirs is not used because: 502s 502s a) It's new to Python 1.5.2, and 502s b) it blows up if the directory already exists (in which case it should 502s silently succeed). 502s """ 502s 502s global _path_created 502s 502s # Detect a common bug -- name is None 502s if not isinstance(name, str): 502s raise DistutilsInternalError(f"mkpath: 'name' must be a string (got {name!r})") 502s 502s # XXX what's the better way to handle verbosity? print as we create 502s # each directory in the path (the current behaviour), or only announce 502s # the creation of the whole path? (quite easy to do the latter since 502s # we're not using a recursive algorithm) 502s 502s name = os.path.normpath(name) 502s created_dirs = [] 502s if os.path.isdir(name) or name == '': 502s return created_dirs 502s if os.path.abspath(name) in _path_created: 502s return created_dirs 502s 502s (head, tail) = os.path.split(name) 502s tails = [tail] # stack of lone dirs to create 502s 502s while head and tail and not os.path.isdir(head): 502s (head, tail) = os.path.split(head) 502s tails.insert(0, tail) # push next higher dir onto stack 502s 502s # now 'head' contains the deepest directory that already exists 502s # (that is, the child of 'head' in 'name' is the highest directory 502s # that does *not* exist) 502s for d in tails: 502s # print "head = %s, d = %s: " % (head, d), 502s head = os.path.join(head, d) 502s abs_head = os.path.abspath(head) 502s 502s if abs_head in _path_created: 502s continue 502s 502s if verbose >= 1: 502s log.info("creating %s", head) 502s 502s if not dry_run: 502s try: 502s os.mkdir(head, mode) 502s except OSError as exc: 502s if not (exc.errno == errno.EEXIST and os.path.isdir(head)): 502s raise DistutilsFileError( 502s f"could not create '{head}': {exc.args[-1]}" 502s ) 502s created_dirs.append(head) 502s 502s > _path_created.add(abs_head) 502s E AttributeError: 'dict' object has no attribute 'add' 502s 502s abs_head = '/tmp/pytest-of-ubuntu/pytest-42/test_hello_cython_sdist0/hello/hello_cython.egg-info' 502s created_dirs = ['hello/hello_cython.egg-info'] 502s d = 'hello_cython.egg-info' 502s dry_run = False 502s head = 'hello/hello_cython.egg-info' 502s mode = 511 502s name = 'hello/hello_cython.egg-info' 502s tail = 'hello_cython.egg-info' 502s tails = ['hello_cython.egg-info'] 502s verbose = True 502s 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dir_util.py:82: AttributeError 502s ----------------------------- Captured stdout call ----------------------------- 502s Initialized empty Git repository in /tmp/pytest-of-ubuntu/pytest-42/test_hello_cython_sdist0/.git/ 502s [master (root-commit) 8b20ad5] Initial commit 502s 6 files changed, 42 insertions(+) 502s create mode 100644 CMakeLists.txt 502s create mode 100644 hello/CMakeLists.txt 502s create mode 100644 hello/__init__.py 502s create mode 100644 hello/__main__.py 502s create mode 100644 hello/_hello.pyx 502s create mode 100644 setup.py 502s ----------------------------- Captured stderr call ----------------------------- 502s hint: Using 'master' as the name for the initial branch. This default branch name 502s hint: is subject to change. To configure the initial branch name to use in all 502s hint: of your new repositories, which will suppress this warning, call: 502s hint: 502s hint: git config --global init.defaultBranch 502s hint: 502s hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 502s hint: 'development'. The just-created branch can be renamed via this command: 502s hint: 502s hint: git branch -m 502s ------------------------------ Captured log call ------------------------------- 502s INFO root:dist.py:986 running sdist 502s INFO root:dist.py:986 running generate_source_manifest 502s INFO root:dist.py:986 running egg_info 502s INFO root:dir_util.py:70 creating hello/hello_cython.egg-info 502s ___________________________ test_hello_cython_wheel ____________________________ 502s 502s iargs = (), ikwargs = {} 502s 502s @functools.wraps(fun) 502s def wrapped(*iargs, **ikwargs): 502s if wrapped.tmp_dir is None: # type: ignore[attr-defined] 502s wrapped.tmp_dir = _tmpdir(fun.__name__) # type: ignore[attr-defined] 502s prepare_project(wrapped.project, wrapped.tmp_dir) # type: ignore[attr-defined] 502s initialize_git_repo_and_commit(wrapped.tmp_dir, verbose=wrapped.verbose_git) # type: ignore[attr-defined] 502s 502s > with execute_setup_py(wrapped.tmp_dir, wrapped.setup_args, disable_languages_test=disable_languages_test): # type: ignore[attr-defined] 502s 502s disable_languages_test = False 502s fun = 502s iargs = () 502s ikwargs = {} 502s ret = False 502s wrapped = 502s 502s tests/__init__.py:261: 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s /usr/lib/python3.12/contextlib.py:137: in __enter__ 502s return next(self.gen) 502s self = 502s tests/__init__.py:247: in execute_setup_py 502s exec(setup_code) 502s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 502s disable_languages_test = False 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-43/test_hello_cython_wheel0') 502s setup = 502s setup_args = ['bdist_wheel'] 502s setup_code = at 0xec9fa7a0, file "setup.py", line 1> 502s setup.py:5: in 502s ??? 502s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 502s disable_languages_test = False 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-43/test_hello_cython_wheel0') 502s setup = 502s setup_args = ['bdist_wheel'] 502s setup_code = at 0xec9fa7a0, file "setup.py", line 1> 502s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:781: in setup 502s return setuptools.setup(**kw) # type: ignore[no-any-return, func-returns-value] 502s BinaryDistribution = .BinaryDistribution'> 502s build_ext_inplace = False 502s cmake_args = ['-DCMAKE_BUILD_TYPE:STRING=Release'] 502s cmake_args_from_args = [] 502s cmake_executable = '/usr/bin/cmake' 502s cmake_install_dir = '' 502s cmake_install_target = 'install' 502s cmake_install_target_from_command = '' 502s cmake_install_target_from_setup = 'install' 502s cmake_languages = ('C', 'CXX') 502s cmake_manifest = ['_skbuild/linux-armv7l-3.12/cmake-install/hello/_hello.cpython-312-arm-linux-gnueabihf.so'] 502s cmake_minimum_required_version = None 502s cmake_process_manifest_hook = None 502s cmake_source_dir = '' 502s cmake_spec = {'args': ['/usr/bin/cmake', '-DCMAKE_BUILD_TYPE:STRING=Release'], 'environment': {'PYTHONNOUSERSITE': None, 'PYTHONPATH': None}, 'version': '3.29.6'} 502s cmake_with_sdist = False 502s cmdclass = {'bdist': , 'bdist_wheel': , 'build': , 'build_ext': , ...} 502s cmkr = 502s commands = ['bdist_wheel'] 502s config_type = 'Release' 502s data_files = {} 502s developer_mode = False 502s display_only = False 502s env = {'ADTTMP': '/tmp/autopkgtest.EPTB0Y/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', 'ADT_TEST_TRIGGERS': 'setuptools/70.3.0-2', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', ...} 502s env_cmake_args = [] 502s force_cmake = False 502s has_cmakelists = True 502s has_invalid_arguments = False 502s help_commands = 0 502s hide_listing = False 502s kw = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package (cython version)', ...} 502s make_args = ['--config', 'Release'] 502s msg = "package_dir={'hello_cython': 'hello/'} ends with a trailing slash, which is not supported by setuptools." 502s new_py_modules = {} 502s new_scripts = {} 502s original_manifestin_data_files = [] 502s original_package_data = {} 502s package = 'hello_cython' 502s package_data = {'hello_cython': ['_hello.cpython-312-arm-linux-gnueabihf.so', 'hello/__init__.py', 'hello/__main__.py']} 502s package_dir = {'hello_cython': 'hello'} 502s package_prefixes = [('hello', 'hello_cython')] 502s packages = ['hello_cython'] 502s plat_name = None 502s prefix = 'hello/' 502s process_manifest = None 502s py_modules = [] 502s scripts = [] 502s skip_cmake = False 502s skip_generator_test = False 502s skip_skbuild = False 502s /usr/lib/python3/dist-packages/setuptools/__init__.py:103: in setup 502s return distutils.core.setup(**attrs) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package (cython version)', ...} 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:184: in setup 502s return run_commands(dist) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package (cython version)', ...} 502s dist = .BinaryDistribution object at 0xec9b8b58> 502s klass = .BinaryDistribution'> 502s ok = True 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:200: in run_commands 502s dist.run_commands() 502s dist = .BinaryDistribution object at 0xec9b8b58> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:970: in run_commands 502s self.run_command(cmd) 502s cmd = 'bdist_wheel' 502s self = .BinaryDistribution object at 0xec9b8b58> 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'bdist_wheel' 502s self = .BinaryDistribution object at 0xec9b8b58> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'bdist_wheel' 502s self = .BinaryDistribution object at 0xec9b8b58> 502s /usr/lib/python3/dist-packages/skbuild/command/bdist_wheel.py:33: in run 502s super().run(*args, **kwargs) 502s __class__ = 502s args = () 502s kwargs = {} 502s old_write_files = 502s self = 502s update_write_files = .update_write_files at 0xec910118> 502s /usr/lib/python3/dist-packages/wheel/bdist_wheel.py:368: in run 502s self.run_command("build") 502s build_ext = 502s build_scripts = 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 502s self.distribution.run_command(command) 502s command = 'build' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'build' 502s self = .BinaryDistribution object at 0xec9b8b58> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'build' 502s self = .BinaryDistribution object at 0xec9b8b58> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build.py:135: in run 502s self.run_command(cmd_name) 502s cmd_name = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 502s self.distribution.run_command(command) 502s command = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'build_py' 502s self = .BinaryDistribution object at 0xec9b8b58> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'build_py' 502s self = .BinaryDistribution object at 0xec9b8b58> 502s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:41: in run 502s super().run(*args, **kwargs) 502s __class__ = 502s args = () 502s kwargs = {} 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:74: in run 502s self.build_packages() 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:379: in build_packages 502s self.build_module(module, module_file, package) 502s module = '__main__' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/hello/__main__.py' 502s modules = [('hello_cython', '__main__', '_skbuild/linux-armv7l-3.12/cmake-install/hello/__main__.py'), ('hello_cython', '__init__', '_skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py')] 502s package = 'hello_cython' 502s package_ = 'hello_cython' 502s package_dir = '_skbuild/linux-armv7l-3.12/cmake-install/hello' 502s self = 502s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:31: in build_module 502s super().build_module(module, module_file, package) # type: ignore[no-untyped-call] 502s __class__ = 502s module = '__main__' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/hello/__main__.py' 502s package = 'hello_cython' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:89: in build_module 502s outfile, copied = orig.build_py.build_module(self, module, module_file, package) 502s module = '__main__' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/hello/__main__.py' 502s package = 'hello_cython' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:349: in build_module 502s self.mkpath(dir) 502s dir = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello_cython' 502s module = '__main__' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/hello/__main__.py' 502s outfile = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello_cython/__main__.py' 502s package = ['hello_cython'] 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:340: in mkpath 502s dir_util.mkpath(name, mode, dry_run=self.dry_run) 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello_cython' 502s self = 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello_cython' 502s mode = 511, verbose = True, dry_run = False 502s 502s def mkpath(name, mode=0o777, verbose=True, dry_run=False): # noqa: C901 502s """Create a directory and any missing ancestor directories. 502s 502s If the directory already exists (or if 'name' is the empty string, which 502s means the current directory, which of course exists), then do nothing. 502s Raise DistutilsFileError if unable to create some directory along the way 502s (eg. some sub-path exists, but is a file rather than a directory). 502s If 'verbose' is true, print a one-line summary of each mkdir to stdout. 502s Return the list of directories actually created. 502s 502s os.makedirs is not used because: 502s 502s a) It's new to Python 1.5.2, and 502s b) it blows up if the directory already exists (in which case it should 502s silently succeed). 502s """ 502s 502s global _path_created 502s 502s # Detect a common bug -- name is None 502s if not isinstance(name, str): 502s raise DistutilsInternalError(f"mkpath: 'name' must be a string (got {name!r})") 502s 502s # XXX what's the better way to handle verbosity? print as we create 502s # each directory in the path (the current behaviour), or only announce 502s # the creation of the whole path? (quite easy to do the latter since 502s # we're not using a recursive algorithm) 502s 502s name = os.path.normpath(name) 502s created_dirs = [] 502s if os.path.isdir(name) or name == '': 502s return created_dirs 502s if os.path.abspath(name) in _path_created: 502s return created_dirs 502s 502s (head, tail) = os.path.split(name) 502s tails = [tail] # stack of lone dirs to create 502s 502s while head and tail and not os.path.isdir(head): 502s (head, tail) = os.path.split(head) 502s tails.insert(0, tail) # push next higher dir onto stack 502s 502s # now 'head' contains the deepest directory that already exists 502s # (that is, the child of 'head' in 'name' is the highest directory 502s # that does *not* exist) 502s for d in tails: 502s # print "head = %s, d = %s: " % (head, d), 502s head = os.path.join(head, d) 502s abs_head = os.path.abspath(head) 502s 502s if abs_head in _path_created: 502s continue 502s 502s if verbose >= 1: 502s log.info("creating %s", head) 502s 502s if not dry_run: 502s try: 502s os.mkdir(head, mode) 502s except OSError as exc: 502s if not (exc.errno == errno.EEXIST and os.path.isdir(head)): 502s raise DistutilsFileError( 502s f"could not create '{head}': {exc.args[-1]}" 502s ) 502s created_dirs.append(head) 502s 502s > _path_created.add(abs_head) 502s E AttributeError: 'dict' object has no attribute 'add' 502s 502s abs_head = '/tmp/pytest-of-ubuntu/pytest-43/test_hello_cython_wheel0/_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 502s created_dirs = ['_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312'] 502s d = 'lib.linux-armv7l-cpython-312' 502s dry_run = False 502s head = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello_cython' 502s tail = 'lib.linux-armv7l-cpython-312' 502s tails = ['lib.linux-armv7l-cpython-312', 'hello_cython'] 502s verbose = True 502s 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dir_util.py:82: AttributeError 502s ----------------------------- Captured stdout call ----------------------------- 502s Initialized empty Git repository in /tmp/pytest-of-ubuntu/pytest-43/test_hello_cython_wheel0/.git/ 502s [master (root-commit) 8b20ad5] Initial commit 502s 6 files changed, 42 insertions(+) 502s create mode 100644 CMakeLists.txt 502s create mode 100644 hello/CMakeLists.txt 502s create mode 100644 hello/__init__.py 502s create mode 100644 hello/__main__.py 502s create mode 100644 hello/_hello.pyx 502s create mode 100644 setup.py 502s 502s 502s -------------------------------------------------------------------------------- 502s -- Trying 'Ninja' generator 502s -------------------------------- 502s --------------------------- 502s ---------------------- 502s ----------------- 502s ------------ 502s ------- 502s -- 502s Not searching for unused variables given on the command line. 502s -- Configuring incomplete, errors occurred! 502s -- 502s ------- 502s ------------ 502s ----------------- 502s ---------------------- 502s --------------------------- 502s -------------------------------- 502s -- Trying 'Ninja' generator - failure 502s -------------------------------------------------------------------------------- 502s 502s 502s 502s -------------------------------------------------------------------------------- 502s -- Trying 'Unix Makefiles' generator 502s -------------------------------- 502s --------------------------- 502s ---------------------- 502s ----------------- 502s ------------ 502s ------- 502s -- 502s Not searching for unused variables given on the command line. 502s -- The C compiler identification is GNU 13.2.0 502s -- Detecting C compiler ABI info 502s -- Detecting C compiler ABI info - done 502s -- Check for working C compiler: /usr/bin/cc - skipped 502s -- Detecting C compile features 502s -- Detecting C compile features - done 502s -- The CXX compiler identification is GNU 13.2.0 502s -- Detecting CXX compiler ABI info 502s -- Detecting CXX compiler ABI info - done 502s -- Check for working CXX compiler: /usr/bin/c++ - skipped 502s -- Detecting CXX compile features 502s -- Detecting CXX compile features - done 502s -- Configuring done (0.6s) 502s -- Generating done (0.0s) 502s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-43/test_hello_cython_wheel0/_cmake_test_compile/build 502s -- 502s ------- 502s ------------ 502s ----------------- 502s ---------------------- 502s --------------------------- 502s -------------------------------- 502s -- Trying 'Unix Makefiles' generator - success 502s -------------------------------------------------------------------------------- 502s 502s Configuring Project 502s Working directory: 502s /tmp/pytest-of-ubuntu/pytest-43/test_hello_cython_wheel0/_skbuild/linux-armv7l-3.12/cmake-build 502s Command: 502s /usr/bin/cmake /tmp/pytest-of-ubuntu/pytest-43/test_hello_cython_wheel0 -G 'Unix Makefiles' --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pytest-of-ubuntu/pytest-43/test_hello_cython_wheel0/_skbuild/linux-armv7l-3.12/cmake-install -DPYTHON_VERSION_STRING:STRING=3.12.4 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/usr/lib/python3/dist-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/usr/bin/python3.12 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPYTHON_LIBRARY:PATH=/usr/lib/arm-linux-gnueabihf/libpython3.12.so -DPython_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython_ROOT_DIR:PATH=/usr -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPython3_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython3_ROOT_DIR:PATH=/usr -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.12 -DCMAKE_BUILD_TYPE:STRING=Release 502s 502s Not searching for unused variables given on the command line. 502s -- The C compiler identification is GNU 13.2.0 502s -- The CXX compiler identification is GNU 13.2.0 502s -- Detecting C compiler ABI info 502s -- Detecting C compiler ABI info - done 502s -- Check for working C compiler: /usr/bin/cc - skipped 502s -- Detecting C compile features 502s -- Detecting C compile features - done 502s -- Detecting CXX compiler ABI info 502s -- Detecting CXX compiler ABI info - done 502s -- Check for working CXX compiler: /usr/bin/c++ - skipped 502s -- Detecting CXX compile features 502s -- Detecting CXX compile features - done 502s -- Found PythonInterp: /usr/bin/python3.12 (found version "3.12.4") 502s -- Found PythonLibs: /usr/lib/arm-linux-gnueabihf/libpython3.12.so (found version "3.12.4") 502s -- Found Cython: /usr/bin/cython 502s -- Performing Test Weak Link MODULE -> SHARED (gnu_ld_ignore) - Success 502s -- Configuring done (1.7s) 502s -- Generating done (0.0s) 502s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-43/test_hello_cython_wheel0/_skbuild/linux-armv7l-3.12/cmake-build 502s [ 33%] Generating CXX source hello/_hello.cxx 502s [ 66%] Building CXX object hello/CMakeFiles/_hello.dir/_hello.cxx.o 502s [100%] Linking CXX shared module _hello.cpython-312-arm-linux-gnueabihf.so 502s [100%] Built target _hello 502s Install the project... 502s -- Install configuration: "Release" 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-43/test_hello_cython_wheel0/_skbuild/linux-armv7l-3.12/cmake-install/hello/_hello.cpython-312-arm-linux-gnueabihf.so 502s 502s copying hello/__init__.py -> _skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py 502s copying hello/__main__.py -> _skbuild/linux-armv7l-3.12/cmake-install/hello/__main__.py 502s 502s ----------------------------- Captured stderr call ----------------------------- 502s hint: Using 'master' as the name for the initial branch. This default branch name 502s hint: is subject to change. To configure the initial branch name to use in all 502s hint: of your new repositories, which will suppress this warning, call: 502s hint: 502s hint: git config --global init.defaultBranch 502s hint: 502s hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 502s hint: 'development'. The just-created branch can be renamed via this command: 502s hint: 502s hint: git branch -m 502s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 502s Compatibility with CMake < 3.5 will be removed from a future version of 502s CMake. 502s 502s Update the VERSION argument value or use a ... suffix to tell 502s CMake that the project does not need compatibility with older versions. 502s 502s 502s CMake Error: CMake was unable to find a build program corresponding to "Ninja". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. 502s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 502s Compatibility with CMake < 3.5 will be removed from a future version of 502s CMake. 502s 502s Update the VERSION argument value or use a ... suffix to tell 502s CMake that the project does not need compatibility with older versions. 502s 502s 502s CMake Warning (dev) at /usr/lib/python3/dist-packages/skbuild/resources/cmake/FindPythonExtensions.cmake:245 (find_package): 502s Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules 502s are removed. Run "cmake --help-policy CMP0148" for policy details. Use 502s the cmake_policy command to set the policy and suppress this warning. 502s 502s Call Stack (most recent call first): 502s CMakeLists.txt:5 (find_package) 502s This warning is for project developers. Use -Wno-dev to suppress it. 502s 502s CMake Warning (dev) at /usr/lib/python3/dist-packages/skbuild/resources/cmake/FindPythonExtensions.cmake:252 (find_package): 502s Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules 502s are removed. Run "cmake --help-policy CMP0148" for policy details. Use 502s the cmake_policy command to set the policy and suppress this warning. 502s 502s Call Stack (most recent call first): 502s CMakeLists.txt:5 (find_package) 502s This warning is for project developers. Use -Wno-dev to suppress it. 502s 502s _modinit_prefix:PyInit_ 502s /usr/lib/python3/dist-packages/Cython/Compiler/Main.py:381: FutureWarning: Cython directive 'language_level' not set, using '3str' for now (Py3). This has changed from earlier releases! File: /tmp/pytest-of-ubuntu/pytest-43/test_hello_cython_wheel0/hello/_hello.pyx 502s tree = Parsing.p_module(s, pxd, full_module_name) 502s ------------------------------ Captured log call ------------------------------- 502s INFO root:dist.py:986 running bdist_wheel 502s INFO root:dist.py:986 running build 502s INFO root:dist.py:986 running build_py 502s INFO root:dir_util.py:70 creating _skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312 502s ____________________________ test_hello_pure_builds ____________________________ 502s 502s iargs = () 502s ikwargs = {'capsys': <_pytest.capture.CaptureFixture object at 0xeca75e70>} 502s 502s @functools.wraps(fun) 502s def wrapped(*iargs, **ikwargs): 502s if wrapped.tmp_dir is None: # type: ignore[attr-defined] 502s wrapped.tmp_dir = _tmpdir(fun.__name__) # type: ignore[attr-defined] 502s prepare_project(wrapped.project, wrapped.tmp_dir) # type: ignore[attr-defined] 502s initialize_git_repo_and_commit(wrapped.tmp_dir, verbose=wrapped.verbose_git) # type: ignore[attr-defined] 502s 502s > with execute_setup_py(wrapped.tmp_dir, wrapped.setup_args, disable_languages_test=disable_languages_test): # type: ignore[attr-defined] 502s 502s disable_languages_test = True 502s fun = 502s iargs = () 502s ikwargs = {'capsys': <_pytest.capture.CaptureFixture object at 0xeca75e70>} 502s ret = False 502s wrapped = 502s 502s tests/__init__.py:261: 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s /usr/lib/python3.12/contextlib.py:137: in __enter__ 502s return next(self.gen) 502s self = 502s tests/__init__.py:244: in execute_setup_py 502s exec(setup_code) 502s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 502s disable_languages_test = True 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s original_write_test_cmakelist = 502s platform = 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-44/test_hello_pure_builds0') 502s setup = 502s setup_args = ['build'] 502s setup_code = at 0xec7ee020, file "setup.py", line 1> 502s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xec7d5f78> 502s setup.py:5: in 502s ??? 502s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 502s disable_languages_test = True 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s original_write_test_cmakelist = 502s platform = 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-44/test_hello_pure_builds0') 502s setup = 502s setup_args = ['build'] 502s setup_code = at 0xec7ee020, file "setup.py", line 1> 502s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xec7d5f78> 502s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:513: in setup 502s return setuptools.setup(**kw) # type: ignore[no-any-return, func-returns-value] 502s build_ext_inplace = False 502s cmake_args = () 502s cmake_args_from_args = [] 502s cmake_executable = None 502s cmake_install_dir = '' 502s cmake_install_target = 'install' 502s cmake_languages = ('C', 'CXX') 502s cmake_minimum_required_version = None 502s cmake_process_manifest_hook = None 502s cmake_source_dir = '' 502s cmake_with_sdist = False 502s cmdclass = {'bdist': , 'bdist_wheel': , 'build': , 'build_ext': , ...} 502s commands = ['build'] 502s display_only = False 502s force_cmake = False 502s has_cmakelists = False 502s has_invalid_arguments = False 502s help_commands = 0 502s hide_listing = False 502s kw = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'description': 'a minimal example package', 'license': 'MIT', ...} 502s make_args = [] 502s plat_name = None 502s skip_cmake = False 502s skip_generator_test = False 502s skip_skbuild = True 502s /usr/lib/python3/dist-packages/setuptools/__init__.py:103: in setup 502s return distutils.core.setup(**attrs) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'description': 'a minimal example package', 'license': 'MIT', ...} 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:184: in setup 502s return run_commands(dist) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'description': 'a minimal example package', 'license': 'MIT', ...} 502s dist = 502s klass = 502s ok = True 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:200: in run_commands 502s dist.run_commands() 502s dist = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:970: in run_commands 502s self.run_command(cmd) 502s cmd = 'build' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'build' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'build' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build.py:135: in run 502s self.run_command(cmd_name) 502s cmd_name = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 502s self.distribution.run_command(command) 502s command = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:41: in run 502s super().run(*args, **kwargs) 502s __class__ = 502s args = () 502s kwargs = {} 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:74: in run 502s self.build_packages() 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:379: in build_packages 502s self.build_module(module, module_file, package) 502s module = '__init__' 502s module_file = 'hello/__init__.py' 502s modules = [('hello', '__init__', 'hello/__init__.py')] 502s package = 'hello' 502s package_ = 'hello' 502s package_dir = 'hello' 502s self = 502s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:31: in build_module 502s super().build_module(module, module_file, package) # type: ignore[no-untyped-call] 502s __class__ = 502s module = '__init__' 502s module_file = 'hello/__init__.py' 502s package = 'hello' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:89: in build_module 502s outfile, copied = orig.build_py.build_module(self, module, module_file, package) 502s module = '__init__' 502s module_file = 'hello/__init__.py' 502s package = 'hello' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:349: in build_module 502s self.mkpath(dir) 502s dir = '_skbuild/linux-armv7l-3.12/setuptools/lib/hello' 502s module = '__init__' 502s module_file = 'hello/__init__.py' 502s outfile = '_skbuild/linux-armv7l-3.12/setuptools/lib/hello/__init__.py' 502s package = ['hello'] 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:340: in mkpath 502s dir_util.mkpath(name, mode, dry_run=self.dry_run) 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib/hello' 502s self = 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib/hello', mode = 511 502s verbose = True, dry_run = False 502s 502s def mkpath(name, mode=0o777, verbose=True, dry_run=False): # noqa: C901 502s """Create a directory and any missing ancestor directories. 502s 502s If the directory already exists (or if 'name' is the empty string, which 502s means the current directory, which of course exists), then do nothing. 502s Raise DistutilsFileError if unable to create some directory along the way 502s (eg. some sub-path exists, but is a file rather than a directory). 502s If 'verbose' is true, print a one-line summary of each mkdir to stdout. 502s Return the list of directories actually created. 502s 502s os.makedirs is not used because: 502s 502s a) It's new to Python 1.5.2, and 502s b) it blows up if the directory already exists (in which case it should 502s silently succeed). 502s """ 502s 502s global _path_created 502s 502s # Detect a common bug -- name is None 502s if not isinstance(name, str): 502s raise DistutilsInternalError(f"mkpath: 'name' must be a string (got {name!r})") 502s 502s # XXX what's the better way to handle verbosity? print as we create 502s # each directory in the path (the current behaviour), or only announce 502s # the creation of the whole path? (quite easy to do the latter since 502s # we're not using a recursive algorithm) 502s 502s name = os.path.normpath(name) 502s created_dirs = [] 502s if os.path.isdir(name) or name == '': 502s return created_dirs 502s if os.path.abspath(name) in _path_created: 502s return created_dirs 502s 502s (head, tail) = os.path.split(name) 502s tails = [tail] # stack of lone dirs to create 502s 502s while head and tail and not os.path.isdir(head): 502s (head, tail) = os.path.split(head) 502s tails.insert(0, tail) # push next higher dir onto stack 502s 502s # now 'head' contains the deepest directory that already exists 502s # (that is, the child of 'head' in 'name' is the highest directory 502s # that does *not* exist) 502s for d in tails: 502s # print "head = %s, d = %s: " % (head, d), 502s head = os.path.join(head, d) 502s abs_head = os.path.abspath(head) 502s 502s if abs_head in _path_created: 502s continue 502s 502s if verbose >= 1: 502s log.info("creating %s", head) 502s 502s if not dry_run: 502s try: 502s os.mkdir(head, mode) 502s except OSError as exc: 502s if not (exc.errno == errno.EEXIST and os.path.isdir(head)): 502s raise DistutilsFileError( 502s f"could not create '{head}': {exc.args[-1]}" 502s ) 502s created_dirs.append(head) 502s 502s > _path_created.add(abs_head) 502s E AttributeError: 'dict' object has no attribute 'add' 502s 502s abs_head = '/tmp/pytest-of-ubuntu/pytest-44/test_hello_pure_builds0/_skbuild' 502s created_dirs = ['_skbuild'] 502s d = '_skbuild' 502s dry_run = False 502s head = '_skbuild' 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib/hello' 502s tail = '_skbuild' 502s tails = ['_skbuild', 'linux-armv7l-3.12', 'setuptools', 'lib', 'hello'] 502s verbose = True 502s 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dir_util.py:82: AttributeError 502s ----------------------------- Captured stdout call ----------------------------- 502s Initialized empty Git repository in /tmp/pytest-of-ubuntu/pytest-44/test_hello_pure_builds0/.git/ 502s [master (root-commit) 8c4069e] Initial commit 502s 2 files changed, 12 insertions(+) 502s create mode 100644 hello/__init__.py 502s create mode 100644 setup.py 502s skipping skbuild (no CMakeLists.txt found) 502s ----------------------------- Captured stderr call ----------------------------- 502s hint: Using 'master' as the name for the initial branch. This default branch name 502s hint: is subject to change. To configure the initial branch name to use in all 502s hint: of your new repositories, which will suppress this warning, call: 502s hint: 502s hint: git config --global init.defaultBranch 502s hint: 502s hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 502s hint: 'development'. The just-created branch can be renamed via this command: 502s hint: 502s hint: git branch -m 502s ------------------------------ Captured log call ------------------------------- 502s INFO root:dist.py:986 running build 502s INFO root:dist.py:986 running build_py 502s INFO root:dir_util.py:70 creating _skbuild 502s ____________________________ test_hello_pure_sdist _____________________________ 502s 502s iargs = (), ikwargs = {} 502s 502s @functools.wraps(fun) 502s def wrapped(*iargs, **ikwargs): 502s if wrapped.tmp_dir is None: # type: ignore[attr-defined] 502s wrapped.tmp_dir = _tmpdir(fun.__name__) # type: ignore[attr-defined] 502s prepare_project(wrapped.project, wrapped.tmp_dir) # type: ignore[attr-defined] 502s initialize_git_repo_and_commit(wrapped.tmp_dir, verbose=wrapped.verbose_git) # type: ignore[attr-defined] 502s 502s > with execute_setup_py(wrapped.tmp_dir, wrapped.setup_args, disable_languages_test=disable_languages_test): # type: ignore[attr-defined] 502s 502s disable_languages_test = True 502s fun = 502s iargs = () 502s ikwargs = {} 502s ret = False 502s wrapped = 502s 502s tests/__init__.py:261: 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s /usr/lib/python3.12/contextlib.py:137: in __enter__ 502s return next(self.gen) 502s self = 502s tests/__init__.py:244: in execute_setup_py 502s exec(setup_code) 502s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 502s disable_languages_test = True 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s original_write_test_cmakelist = 502s platform = 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-45/test_hello_pure_sdist0') 502s setup = 502s setup_args = ['sdist'] 502s setup_code = at 0xec7ee248, file "setup.py", line 1> 502s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xec7de348> 502s setup.py:5: in 502s ??? 502s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 502s disable_languages_test = True 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s original_write_test_cmakelist = 502s platform = 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-45/test_hello_pure_sdist0') 502s setup = 502s setup_args = ['sdist'] 502s setup_code = at 0xec7ee248, file "setup.py", line 1> 502s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xec7de348> 502s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:513: in setup 502s return setuptools.setup(**kw) # type: ignore[no-any-return, func-returns-value] 502s build_ext_inplace = False 502s cmake_args = () 502s cmake_args_from_args = [] 502s cmake_executable = None 502s cmake_install_dir = '' 502s cmake_install_target = 'install' 502s cmake_languages = ('C', 'CXX') 502s cmake_minimum_required_version = None 502s cmake_process_manifest_hook = None 502s cmake_source_dir = '' 502s cmake_with_sdist = False 502s cmdclass = {'bdist': , 'bdist_wheel': , 'build': , 'build_ext': , ...} 502s commands = ['sdist'] 502s display_only = False 502s force_cmake = False 502s has_cmakelists = False 502s has_invalid_arguments = False 502s help_commands = 0 502s hide_listing = False 502s kw = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'description': 'a minimal example package', 'license': 'MIT', ...} 502s make_args = [] 502s plat_name = None 502s skip_cmake = False 502s skip_generator_test = False 502s skip_skbuild = True 502s /usr/lib/python3/dist-packages/setuptools/__init__.py:103: in setup 502s return distutils.core.setup(**attrs) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'description': 'a minimal example package', 'license': 'MIT', ...} 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:184: in setup 502s return run_commands(dist) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'description': 'a minimal example package', 'license': 'MIT', ...} 502s dist = 502s klass = 502s ok = True 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:200: in run_commands 502s dist.run_commands() 502s dist = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:970: in run_commands 502s self.run_command(cmd) 502s cmd = 'sdist' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'sdist' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'sdist' 502s self = 502s /usr/lib/python3/dist-packages/skbuild/command/sdist.py:39: in run 502s super().run(*args, **kwargs) 502s __class__ = 502s args = () 502s kwargs = {} 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/sdist.py:52: in run 502s self.run_command('egg_info') 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 502s self.distribution.run_command(command) 502s command = 'egg_info' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'egg_info' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'egg_info' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/egg_info.py:306: in run 502s self.mkpath(self.egg_info) 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:340: in mkpath 502s dir_util.mkpath(name, mode, dry_run=self.dry_run) 502s mode = 511 502s name = 'hello_pure.egg-info' 502s self = 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s 502s name = 'hello_pure.egg-info', mode = 511, verbose = True, dry_run = False 502s 502s def mkpath(name, mode=0o777, verbose=True, dry_run=False): # noqa: C901 502s """Create a directory and any missing ancestor directories. 502s 502s If the directory already exists (or if 'name' is the empty string, which 502s means the current directory, which of course exists), then do nothing. 502s Raise DistutilsFileError if unable to create some directory along the way 502s (eg. some sub-path exists, but is a file rather than a directory). 502s If 'verbose' is true, print a one-line summary of each mkdir to stdout. 502s Return the list of directories actually created. 502s 502s os.makedirs is not used because: 502s 502s a) It's new to Python 1.5.2, and 502s b) it blows up if the directory already exists (in which case it should 502s silently succeed). 502s """ 502s 502s global _path_created 502s 502s # Detect a common bug -- name is None 502s if not isinstance(name, str): 502s raise DistutilsInternalError(f"mkpath: 'name' must be a string (got {name!r})") 502s 502s # XXX what's the better way to handle verbosity? print as we create 502s # each directory in the path (the current behaviour), or only announce 502s # the creation of the whole path? (quite easy to do the latter since 502s # we're not using a recursive algorithm) 502s 502s name = os.path.normpath(name) 502s created_dirs = [] 502s if os.path.isdir(name) or name == '': 502s return created_dirs 502s if os.path.abspath(name) in _path_created: 502s return created_dirs 502s 502s (head, tail) = os.path.split(name) 502s tails = [tail] # stack of lone dirs to create 502s 502s while head and tail and not os.path.isdir(head): 502s (head, tail) = os.path.split(head) 502s tails.insert(0, tail) # push next higher dir onto stack 502s 502s # now 'head' contains the deepest directory that already exists 502s # (that is, the child of 'head' in 'name' is the highest directory 502s # that does *not* exist) 502s for d in tails: 502s # print "head = %s, d = %s: " % (head, d), 502s head = os.path.join(head, d) 502s abs_head = os.path.abspath(head) 502s 502s if abs_head in _path_created: 502s continue 502s 502s if verbose >= 1: 502s log.info("creating %s", head) 502s 502s if not dry_run: 502s try: 502s os.mkdir(head, mode) 502s except OSError as exc: 502s if not (exc.errno == errno.EEXIST and os.path.isdir(head)): 502s raise DistutilsFileError( 502s f"could not create '{head}': {exc.args[-1]}" 502s ) 502s created_dirs.append(head) 502s 502s > _path_created.add(abs_head) 502s E AttributeError: 'dict' object has no attribute 'add' 502s 502s abs_head = '/tmp/pytest-of-ubuntu/pytest-45/test_hello_pure_sdist0/hello_pure.egg-info' 502s created_dirs = ['hello_pure.egg-info'] 502s d = 'hello_pure.egg-info' 502s dry_run = False 502s head = 'hello_pure.egg-info' 502s mode = 511 502s name = 'hello_pure.egg-info' 502s tail = 'hello_pure.egg-info' 502s tails = ['hello_pure.egg-info'] 502s verbose = True 502s 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dir_util.py:82: AttributeError 502s ----------------------------- Captured stdout call ----------------------------- 502s Initialized empty Git repository in /tmp/pytest-of-ubuntu/pytest-45/test_hello_pure_sdist0/.git/ 502s [master (root-commit) 8c4069e] Initial commit 502s 2 files changed, 12 insertions(+) 502s create mode 100644 hello/__init__.py 502s create mode 100644 setup.py 502s skipping skbuild (no CMakeLists.txt found) 502s ----------------------------- Captured stderr call ----------------------------- 502s hint: Using 'master' as the name for the initial branch. This default branch name 502s hint: is subject to change. To configure the initial branch name to use in all 502s hint: of your new repositories, which will suppress this warning, call: 502s hint: 502s hint: git config --global init.defaultBranch 502s hint: 502s hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 502s hint: 'development'. The just-created branch can be renamed via this command: 502s hint: 502s hint: git branch -m 502s ------------------------------ Captured log call ------------------------------- 502s INFO root:dist.py:986 running sdist 502s INFO root:dist.py:986 running generate_source_manifest 502s INFO root:dist.py:986 running egg_info 502s INFO root:dir_util.py:70 creating hello_pure.egg-info 502s ____________________________ test_hello_pure_wheel _____________________________ 502s 502s iargs = (), ikwargs = {} 502s 502s @functools.wraps(fun) 502s def wrapped(*iargs, **ikwargs): 502s if wrapped.tmp_dir is None: # type: ignore[attr-defined] 502s wrapped.tmp_dir = _tmpdir(fun.__name__) # type: ignore[attr-defined] 502s prepare_project(wrapped.project, wrapped.tmp_dir) # type: ignore[attr-defined] 502s initialize_git_repo_and_commit(wrapped.tmp_dir, verbose=wrapped.verbose_git) # type: ignore[attr-defined] 502s 502s > with execute_setup_py(wrapped.tmp_dir, wrapped.setup_args, disable_languages_test=disable_languages_test): # type: ignore[attr-defined] 502s 502s disable_languages_test = True 502s fun = 502s iargs = () 502s ikwargs = {} 502s ret = False 502s wrapped = 502s 502s tests/__init__.py:261: 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s /usr/lib/python3.12/contextlib.py:137: in __enter__ 502s return next(self.gen) 502s self = 502s tests/__init__.py:244: in execute_setup_py 502s exec(setup_code) 502s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 502s disable_languages_test = True 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s original_write_test_cmakelist = 502s platform = 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-46/test_hello_pure_wheel0') 502s setup = 502s setup_args = ['bdist_wheel'] 502s setup_code = at 0xec7ee0d8, file "setup.py", line 1> 502s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xec7d4078> 502s setup.py:5: in 502s ??? 502s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 502s disable_languages_test = True 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s original_write_test_cmakelist = 502s platform = 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-46/test_hello_pure_wheel0') 502s setup = 502s setup_args = ['bdist_wheel'] 502s setup_code = at 0xec7ee0d8, file "setup.py", line 1> 502s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xec7d4078> 502s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:513: in setup 502s return setuptools.setup(**kw) # type: ignore[no-any-return, func-returns-value] 502s build_ext_inplace = False 502s cmake_args = () 502s cmake_args_from_args = [] 502s cmake_executable = None 502s cmake_install_dir = '' 502s cmake_install_target = 'install' 502s cmake_languages = ('C', 'CXX') 502s cmake_minimum_required_version = None 502s cmake_process_manifest_hook = None 502s cmake_source_dir = '' 502s cmake_with_sdist = False 502s cmdclass = {'bdist': , 'bdist_wheel': , 'build': , 'build_ext': , ...} 502s commands = ['bdist_wheel'] 502s display_only = False 502s force_cmake = False 502s has_cmakelists = False 502s has_invalid_arguments = False 502s help_commands = 0 502s hide_listing = False 502s kw = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'description': 'a minimal example package', 'license': 'MIT', ...} 502s make_args = [] 502s plat_name = None 502s skip_cmake = False 502s skip_generator_test = False 502s skip_skbuild = True 502s /usr/lib/python3/dist-packages/setuptools/__init__.py:103: in setup 502s return distutils.core.setup(**attrs) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'description': 'a minimal example package', 'license': 'MIT', ...} 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:184: in setup 502s return run_commands(dist) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'description': 'a minimal example package', 'license': 'MIT', ...} 502s dist = 502s klass = 502s ok = True 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:200: in run_commands 502s dist.run_commands() 502s dist = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:970: in run_commands 502s self.run_command(cmd) 502s cmd = 'bdist_wheel' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'bdist_wheel' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'bdist_wheel' 502s self = 502s /usr/lib/python3/dist-packages/skbuild/command/bdist_wheel.py:33: in run 502s super().run(*args, **kwargs) 502s __class__ = 502s args = () 502s kwargs = {} 502s old_write_files = 502s self = 502s update_write_files = .update_write_files at 0xec988d98> 502s /usr/lib/python3/dist-packages/wheel/bdist_wheel.py:368: in run 502s self.run_command("build") 502s build_ext = 502s build_scripts = 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 502s self.distribution.run_command(command) 502s command = 'build' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'build' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'build' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build.py:135: in run 502s self.run_command(cmd_name) 502s cmd_name = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 502s self.distribution.run_command(command) 502s command = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:41: in run 502s super().run(*args, **kwargs) 502s __class__ = 502s args = () 502s kwargs = {} 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:74: in run 502s self.build_packages() 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:379: in build_packages 502s self.build_module(module, module_file, package) 502s module = '__init__' 502s module_file = 'hello/__init__.py' 502s modules = [('hello', '__init__', 'hello/__init__.py')] 502s package = 'hello' 502s package_ = 'hello' 502s package_dir = 'hello' 502s self = 502s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:31: in build_module 502s super().build_module(module, module_file, package) # type: ignore[no-untyped-call] 502s __class__ = 502s module = '__init__' 502s module_file = 'hello/__init__.py' 502s package = 'hello' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:89: in build_module 502s outfile, copied = orig.build_py.build_module(self, module, module_file, package) 502s module = '__init__' 502s module_file = 'hello/__init__.py' 502s package = 'hello' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:349: in build_module 502s self.mkpath(dir) 502s dir = '_skbuild/linux-armv7l-3.12/setuptools/lib/hello' 502s module = '__init__' 502s module_file = 'hello/__init__.py' 502s outfile = '_skbuild/linux-armv7l-3.12/setuptools/lib/hello/__init__.py' 502s package = ['hello'] 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:340: in mkpath 502s dir_util.mkpath(name, mode, dry_run=self.dry_run) 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib/hello' 502s self = 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib/hello', mode = 511 502s verbose = True, dry_run = False 502s 502s def mkpath(name, mode=0o777, verbose=True, dry_run=False): # noqa: C901 502s """Create a directory and any missing ancestor directories. 502s 502s If the directory already exists (or if 'name' is the empty string, which 502s means the current directory, which of course exists), then do nothing. 502s Raise DistutilsFileError if unable to create some directory along the way 502s (eg. some sub-path exists, but is a file rather than a directory). 502s If 'verbose' is true, print a one-line summary of each mkdir to stdout. 502s Return the list of directories actually created. 502s 502s os.makedirs is not used because: 502s 502s a) It's new to Python 1.5.2, and 502s b) it blows up if the directory already exists (in which case it should 502s silently succeed). 502s """ 502s 502s global _path_created 502s 502s # Detect a common bug -- name is None 502s if not isinstance(name, str): 502s raise DistutilsInternalError(f"mkpath: 'name' must be a string (got {name!r})") 502s 502s # XXX what's the better way to handle verbosity? print as we create 502s # each directory in the path (the current behaviour), or only announce 502s # the creation of the whole path? (quite easy to do the latter since 502s # we're not using a recursive algorithm) 502s 502s name = os.path.normpath(name) 502s created_dirs = [] 502s if os.path.isdir(name) or name == '': 502s return created_dirs 502s if os.path.abspath(name) in _path_created: 502s return created_dirs 502s 502s (head, tail) = os.path.split(name) 502s tails = [tail] # stack of lone dirs to create 502s 502s while head and tail and not os.path.isdir(head): 502s (head, tail) = os.path.split(head) 502s tails.insert(0, tail) # push next higher dir onto stack 502s 502s # now 'head' contains the deepest directory that already exists 502s # (that is, the child of 'head' in 'name' is the highest directory 502s # that does *not* exist) 502s for d in tails: 502s # print "head = %s, d = %s: " % (head, d), 502s head = os.path.join(head, d) 502s abs_head = os.path.abspath(head) 502s 502s if abs_head in _path_created: 502s continue 502s 502s if verbose >= 1: 502s log.info("creating %s", head) 502s 502s if not dry_run: 502s try: 502s os.mkdir(head, mode) 502s except OSError as exc: 502s if not (exc.errno == errno.EEXIST and os.path.isdir(head)): 502s raise DistutilsFileError( 502s f"could not create '{head}': {exc.args[-1]}" 502s ) 502s created_dirs.append(head) 502s 502s > _path_created.add(abs_head) 502s E AttributeError: 'dict' object has no attribute 'add' 502s 502s abs_head = '/tmp/pytest-of-ubuntu/pytest-46/test_hello_pure_wheel0/_skbuild' 502s created_dirs = ['_skbuild'] 502s d = '_skbuild' 502s dry_run = False 502s head = '_skbuild' 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib/hello' 502s tail = '_skbuild' 502s tails = ['_skbuild', 'linux-armv7l-3.12', 'setuptools', 'lib', 'hello'] 502s verbose = True 502s 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dir_util.py:82: AttributeError 502s ----------------------------- Captured stdout call ----------------------------- 502s Initialized empty Git repository in /tmp/pytest-of-ubuntu/pytest-46/test_hello_pure_wheel0/.git/ 502s [master (root-commit) 8c4069e] Initial commit 502s 2 files changed, 12 insertions(+) 502s create mode 100644 hello/__init__.py 502s create mode 100644 setup.py 502s skipping skbuild (no CMakeLists.txt found) 502s ----------------------------- Captured stderr call ----------------------------- 502s hint: Using 'master' as the name for the initial branch. This default branch name 502s hint: is subject to change. To configure the initial branch name to use in all 502s hint: of your new repositories, which will suppress this warning, call: 502s hint: 502s hint: git config --global init.defaultBranch 502s hint: 502s hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 502s hint: 'development'. The just-created branch can be renamed via this command: 502s hint: 502s hint: git branch -m 502s ------------------------------ Captured log call ------------------------------- 502s INFO root:dist.py:986 running bdist_wheel 502s INFO root:dist.py:986 running build 502s INFO root:dist.py:986 running build_py 502s INFO root:dir_util.py:70 creating _skbuild 502s _______________________________ test_hello_clean _______________________________ 502s 502s capfd = <_pytest.capture.CaptureFixture object at 0xec7c0870> 502s 502s def test_hello_clean(capfd): 502s with push_dir(): 502s 502s @project_setup_py_test("hello-pure", ["build"], disable_languages_test=True, ret=True) 502s def run_build(): 502s pass 502s 502s > tmp_dir = run_build()[0] 502s 502s capfd = <_pytest.capture.CaptureFixture object at 0xec7c0870> 502s run_build = .run_build at 0xec7eb1b8> 502s 502s tests/test_hello_pure.py:65: 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s tests/__init__.py:261: in wrapped 502s with execute_setup_py(wrapped.tmp_dir, wrapped.setup_args, disable_languages_test=disable_languages_test): # type: ignore[attr-defined] 502s disable_languages_test = True 502s fun = .run_build at 0xec7eb488> 502s iargs = () 502s ikwargs = {} 502s ret = True 502s wrapped = .run_build at 0xec7eb1b8> 502s /usr/lib/python3.12/contextlib.py:137: in __enter__ 502s return next(self.gen) 502s self = 502s tests/__init__.py:244: in execute_setup_py 502s exec(setup_code) 502s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 502s disable_languages_test = True 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s original_write_test_cmakelist = 502s platform = 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-47/run_build0') 502s setup = 502s setup_args = ['build'] 502s setup_code = at 0xec7ee528, file "setup.py", line 1> 502s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xec7d4258> 502s setup.py:5: in 502s ??? 502s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 502s disable_languages_test = True 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s original_write_test_cmakelist = 502s platform = 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-47/run_build0') 502s setup = 502s setup_args = ['build'] 502s setup_code = at 0xec7ee528, file "setup.py", line 1> 502s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xec7d4258> 502s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:513: in setup 502s return setuptools.setup(**kw) # type: ignore[no-any-return, func-returns-value] 502s build_ext_inplace = False 502s cmake_args = () 502s cmake_args_from_args = [] 502s cmake_executable = None 502s cmake_install_dir = '' 502s cmake_install_target = 'install' 502s cmake_languages = ('C', 'CXX') 502s cmake_minimum_required_version = None 502s cmake_process_manifest_hook = None 502s cmake_source_dir = '' 502s cmake_with_sdist = False 502s cmdclass = {'bdist': , 'bdist_wheel': , 'build': , 'build_ext': , ...} 502s commands = ['build'] 502s display_only = False 502s force_cmake = False 502s has_cmakelists = False 502s has_invalid_arguments = False 502s help_commands = 0 502s hide_listing = False 502s kw = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'description': 'a minimal example package', 'license': 'MIT', ...} 502s make_args = [] 502s plat_name = None 502s skip_cmake = False 502s skip_generator_test = False 502s skip_skbuild = True 502s /usr/lib/python3/dist-packages/setuptools/__init__.py:103: in setup 502s return distutils.core.setup(**attrs) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'description': 'a minimal example package', 'license': 'MIT', ...} 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:184: in setup 502s return run_commands(dist) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'description': 'a minimal example package', 'license': 'MIT', ...} 502s dist = 502s klass = 502s ok = True 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:200: in run_commands 502s dist.run_commands() 502s dist = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:970: in run_commands 502s self.run_command(cmd) 502s cmd = 'build' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'build' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'build' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build.py:135: in run 502s self.run_command(cmd_name) 502s cmd_name = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 502s self.distribution.run_command(command) 502s command = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:41: in run 502s super().run(*args, **kwargs) 502s __class__ = 502s args = () 502s kwargs = {} 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:74: in run 502s self.build_packages() 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:379: in build_packages 502s self.build_module(module, module_file, package) 502s module = '__init__' 502s module_file = 'hello/__init__.py' 502s modules = [('hello', '__init__', 'hello/__init__.py')] 502s package = 'hello' 502s package_ = 'hello' 502s package_dir = 'hello' 502s self = 502s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:31: in build_module 502s super().build_module(module, module_file, package) # type: ignore[no-untyped-call] 502s __class__ = 502s module = '__init__' 502s module_file = 'hello/__init__.py' 502s package = 'hello' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:89: in build_module 502s outfile, copied = orig.build_py.build_module(self, module, module_file, package) 502s module = '__init__' 502s module_file = 'hello/__init__.py' 502s package = 'hello' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:349: in build_module 502s self.mkpath(dir) 502s dir = '_skbuild/linux-armv7l-3.12/setuptools/lib/hello' 502s module = '__init__' 502s module_file = 'hello/__init__.py' 502s outfile = '_skbuild/linux-armv7l-3.12/setuptools/lib/hello/__init__.py' 502s package = ['hello'] 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:340: in mkpath 502s dir_util.mkpath(name, mode, dry_run=self.dry_run) 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib/hello' 502s self = 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib/hello', mode = 511 502s verbose = True, dry_run = False 502s 502s def mkpath(name, mode=0o777, verbose=True, dry_run=False): # noqa: C901 502s """Create a directory and any missing ancestor directories. 502s 502s If the directory already exists (or if 'name' is the empty string, which 502s means the current directory, which of course exists), then do nothing. 502s Raise DistutilsFileError if unable to create some directory along the way 502s (eg. some sub-path exists, but is a file rather than a directory). 502s If 'verbose' is true, print a one-line summary of each mkdir to stdout. 502s Return the list of directories actually created. 502s 502s os.makedirs is not used because: 502s 502s a) It's new to Python 1.5.2, and 502s b) it blows up if the directory already exists (in which case it should 502s silently succeed). 502s """ 502s 502s global _path_created 502s 502s # Detect a common bug -- name is None 502s if not isinstance(name, str): 502s raise DistutilsInternalError(f"mkpath: 'name' must be a string (got {name!r})") 502s 502s # XXX what's the better way to handle verbosity? print as we create 502s # each directory in the path (the current behaviour), or only announce 502s # the creation of the whole path? (quite easy to do the latter since 502s # we're not using a recursive algorithm) 502s 502s name = os.path.normpath(name) 502s created_dirs = [] 502s if os.path.isdir(name) or name == '': 502s return created_dirs 502s if os.path.abspath(name) in _path_created: 502s return created_dirs 502s 502s (head, tail) = os.path.split(name) 502s tails = [tail] # stack of lone dirs to create 502s 502s while head and tail and not os.path.isdir(head): 502s (head, tail) = os.path.split(head) 502s tails.insert(0, tail) # push next higher dir onto stack 502s 502s # now 'head' contains the deepest directory that already exists 502s # (that is, the child of 'head' in 'name' is the highest directory 502s # that does *not* exist) 502s for d in tails: 502s # print "head = %s, d = %s: " % (head, d), 502s head = os.path.join(head, d) 502s abs_head = os.path.abspath(head) 502s 502s if abs_head in _path_created: 502s continue 502s 502s if verbose >= 1: 502s log.info("creating %s", head) 502s 502s if not dry_run: 502s try: 502s os.mkdir(head, mode) 502s except OSError as exc: 502s if not (exc.errno == errno.EEXIST and os.path.isdir(head)): 502s raise DistutilsFileError( 502s f"could not create '{head}': {exc.args[-1]}" 502s ) 502s created_dirs.append(head) 502s 502s > _path_created.add(abs_head) 502s E AttributeError: 'dict' object has no attribute 'add' 502s 502s abs_head = '/tmp/pytest-of-ubuntu/pytest-47/run_build0/_skbuild' 502s created_dirs = ['_skbuild'] 502s d = '_skbuild' 502s dry_run = False 502s head = '_skbuild' 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib/hello' 502s tail = '_skbuild' 502s tails = ['_skbuild', 'linux-armv7l-3.12', 'setuptools', 'lib', 'hello'] 502s verbose = True 502s 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dir_util.py:82: AttributeError 502s ----------------------------- Captured stdout call ----------------------------- 502s Initialized empty Git repository in /tmp/pytest-of-ubuntu/pytest-47/run_build0/.git/ 502s [master (root-commit) 8c4069e] Initial commit 502s 2 files changed, 12 insertions(+) 502s create mode 100644 hello/__init__.py 502s create mode 100644 setup.py 502s skipping skbuild (no CMakeLists.txt found) 502s ----------------------------- Captured stderr call ----------------------------- 502s hint: Using 'master' as the name for the initial branch. This default branch name 502s hint: is subject to change. To configure the initial branch name to use in all 502s hint: of your new repositories, which will suppress this warning, call: 502s hint: 502s hint: git config --global init.defaultBranch 502s hint: 502s hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 502s hint: 'development'. The just-created branch can be renamed via this command: 502s hint: 502s hint: git branch -m 502s ------------------------------ Captured log call ------------------------------- 502s INFO root:dist.py:986 running build 502s INFO root:dist.py:986 running build_py 502s INFO root:dir_util.py:70 creating _skbuild 502s __________________________ test_include_exclude_data ___________________________ 502s 502s iargs = (), ikwargs = {} 502s 502s @functools.wraps(fun) 502s def wrapped(*iargs, **ikwargs): 502s if wrapped.tmp_dir is None: # type: ignore[attr-defined] 502s wrapped.tmp_dir = _tmpdir(fun.__name__) # type: ignore[attr-defined] 502s prepare_project(wrapped.project, wrapped.tmp_dir) # type: ignore[attr-defined] 502s initialize_git_repo_and_commit(wrapped.tmp_dir, verbose=wrapped.verbose_git) # type: ignore[attr-defined] 502s 502s > with execute_setup_py(wrapped.tmp_dir, wrapped.setup_args, disable_languages_test=disable_languages_test): # type: ignore[attr-defined] 502s 502s disable_languages_test = False 502s fun = 502s iargs = () 502s ikwargs = {} 502s ret = False 502s wrapped = 502s 502s tests/__init__.py:261: 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s /usr/lib/python3.12/contextlib.py:137: in __enter__ 502s return next(self.gen) 502s self = 502s tests/__init__.py:247: in execute_setup_py 502s exec(setup_code) 502s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 502s disable_languages_test = False 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-48/test_include_exclude_data0') 502s setup = 502s setup_args = ['bdist_wheel'] 502s setup_code = at 0xec99a278, file "setup.py", line 1> 502s setup.py:5: in 502s ??? 502s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 502s disable_languages_test = False 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-48/test_include_exclude_data0') 502s setup = 502s setup_args = ['bdist_wheel'] 502s setup_code = at 0xec99a278, file "setup.py", line 1> 502s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:781: in setup 502s return setuptools.setup(**kw) # type: ignore[no-any-return, func-returns-value] 502s BinaryDistribution = .BinaryDistribution'> 502s build_ext_inplace = False 502s cmake_args = ['-DCMAKE_BUILD_TYPE:STRING=Release'] 502s cmake_args_from_args = [] 502s cmake_executable = '/usr/bin/cmake' 502s cmake_install_dir = '' 502s cmake_install_target = 'install' 502s cmake_install_target_from_command = '' 502s cmake_install_target_from_setup = 'install' 502s cmake_languages = () 502s cmake_manifest = ['_skbuild/linux-armv7l-3.12/cmake-install/hello/cmake_generated_module.py', '_skbuild/linux-armv7l-3.12/cmake-install...d_and_exclude_from_setup.txt', '_skbuild/linux-armv7l-3.12/cmake-install/hello2/hello2_data1_cmake_generated.txt', ...] 502s cmake_minimum_required_version = None 502s cmake_process_manifest_hook = None 502s cmake_source_dir = '' 502s cmake_spec = {'args': ['/usr/bin/cmake', '-DCMAKE_BUILD_TYPE:STRING=Release'], 'environment': {'PYTHONNOUSERSITE': None, 'PYTHONPATH': None}, 'version': '3.29.6'} 502s cmake_with_sdist = False 502s cmdclass = {'bdist': , 'bdist_wheel': , 'build': , 'build_ext': , ...} 502s cmkr = 502s commands = ['bdist_wheel'] 502s config_type = 'Release' 502s data_file = 'hello2/data2/subdata2/hello2_data4_include_from_manifest_and_exclude_from_setup.txt' 502s data_files = {} 502s dest_data_file = '_skbuild/linux-armv7l-3.12/cmake-install/hello2/data2/subdata2/hello2_data4_include_from_manifest_and_exclude_from_setup.txt' 502s developer_mode = False 502s display_only = False 502s env = {'ADTTMP': '/tmp/autopkgtest.EPTB0Y/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', 'ADT_TEST_TRIGGERS': 'setuptools/70.3.0-2', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', ...} 502s env_cmake_args = [] 502s force_cmake = False 502s has_cmakelists = True 502s has_invalid_arguments = False 502s help_commands = 0 502s hide_listing = False 502s kw = {'cmdclass': {'bdist': , 'bdist_wheel': , 'bdist_wheel': , 'bdist_wheel': .BinaryDistribution object at 0xec678330> 502s klass = .BinaryDistribution'> 502s ok = True 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:200: in run_commands 502s dist.run_commands() 502s dist = .BinaryDistribution object at 0xec678330> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:970: in run_commands 502s self.run_command(cmd) 502s cmd = 'bdist_wheel' 502s self = .BinaryDistribution object at 0xec678330> 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'bdist_wheel' 502s self = .BinaryDistribution object at 0xec678330> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'bdist_wheel' 502s self = .BinaryDistribution object at 0xec678330> 502s /usr/lib/python3/dist-packages/skbuild/command/bdist_wheel.py:33: in run 502s super().run(*args, **kwargs) 502s __class__ = 502s args = () 502s kwargs = {} 502s old_write_files = 502s self = 502s update_write_files = .update_write_files at 0xec8cfca8> 502s /usr/lib/python3/dist-packages/wheel/bdist_wheel.py:368: in run 502s self.run_command("build") 502s build_ext = 502s build_scripts = 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 502s self.distribution.run_command(command) 502s command = 'build' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'build' 502s self = .BinaryDistribution object at 0xec678330> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'build' 502s self = .BinaryDistribution object at 0xec678330> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build.py:135: in run 502s self.run_command(cmd_name) 502s cmd_name = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 502s self.distribution.run_command(command) 502s command = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'build_py' 502s self = .BinaryDistribution object at 0xec678330> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'build_py' 502s self = .BinaryDistribution object at 0xec678330> 502s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:41: in run 502s super().run(*args, **kwargs) 502s __class__ = 502s args = () 502s kwargs = {} 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:74: in run 502s self.build_packages() 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:379: in build_packages 502s self.build_module(module, module_file, package) 502s module = '__init__' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py' 502s modules = [('hello', '__init__', '_skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py'), ('hello', 'cmake_generated_module', '_skbuild/linux-armv7l-3.12/cmake-install/hello/cmake_generated_module.py')] 502s package = 'hello' 502s package_ = 'hello' 502s package_dir = '_skbuild/linux-armv7l-3.12/cmake-install/hello' 502s self = 502s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:31: in build_module 502s super().build_module(module, module_file, package) # type: ignore[no-untyped-call] 502s __class__ = 502s module = '__init__' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py' 502s package = 'hello' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:89: in build_module 502s outfile, copied = orig.build_py.build_module(self, module, module_file, package) 502s module = '__init__' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py' 502s package = 'hello' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:349: in build_module 502s self.mkpath(dir) 502s dir = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello' 502s module = '__init__' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py' 502s outfile = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello/__init__.py' 502s package = ['hello'] 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:340: in mkpath 502s dir_util.mkpath(name, mode, dry_run=self.dry_run) 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello' 502s self = 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello' 502s mode = 511, verbose = True, dry_run = False 502s 502s def mkpath(name, mode=0o777, verbose=True, dry_run=False): # noqa: C901 502s """Create a directory and any missing ancestor directories. 502s 502s If the directory already exists (or if 'name' is the empty string, which 502s means the current directory, which of course exists), then do nothing. 502s Raise DistutilsFileError if unable to create some directory along the way 502s (eg. some sub-path exists, but is a file rather than a directory). 502s If 'verbose' is true, print a one-line summary of each mkdir to stdout. 502s Return the list of directories actually created. 502s 502s os.makedirs is not used because: 502s 502s a) It's new to Python 1.5.2, and 502s b) it blows up if the directory already exists (in which case it should 502s silently succeed). 502s """ 502s 502s global _path_created 502s 502s # Detect a common bug -- name is None 502s if not isinstance(name, str): 502s raise DistutilsInternalError(f"mkpath: 'name' must be a string (got {name!r})") 502s 502s # XXX what's the better way to handle verbosity? print as we create 502s # each directory in the path (the current behaviour), or only announce 502s # the creation of the whole path? (quite easy to do the latter since 502s # we're not using a recursive algorithm) 502s 502s name = os.path.normpath(name) 502s created_dirs = [] 502s if os.path.isdir(name) or name == '': 502s return created_dirs 502s if os.path.abspath(name) in _path_created: 502s return created_dirs 502s 502s (head, tail) = os.path.split(name) 502s tails = [tail] # stack of lone dirs to create 502s 502s while head and tail and not os.path.isdir(head): 502s (head, tail) = os.path.split(head) 502s tails.insert(0, tail) # push next higher dir onto stack 502s 502s # now 'head' contains the deepest directory that already exists 502s # (that is, the child of 'head' in 'name' is the highest directory 502s # that does *not* exist) 502s for d in tails: 502s # print "head = %s, d = %s: " % (head, d), 502s head = os.path.join(head, d) 502s abs_head = os.path.abspath(head) 502s 502s if abs_head in _path_created: 502s continue 502s 502s if verbose >= 1: 502s log.info("creating %s", head) 502s 502s if not dry_run: 502s try: 502s os.mkdir(head, mode) 502s except OSError as exc: 502s if not (exc.errno == errno.EEXIST and os.path.isdir(head)): 502s raise DistutilsFileError( 502s f"could not create '{head}': {exc.args[-1]}" 502s ) 502s created_dirs.append(head) 502s 502s > _path_created.add(abs_head) 502s E AttributeError: 'dict' object has no attribute 'add' 502s 502s abs_head = '/tmp/pytest-of-ubuntu/pytest-48/test_include_exclude_data0/_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 502s created_dirs = ['_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312'] 502s d = 'lib.linux-armv7l-cpython-312' 502s dry_run = False 502s head = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello' 502s tail = 'lib.linux-armv7l-cpython-312' 502s tails = ['lib.linux-armv7l-cpython-312', 'hello'] 502s verbose = True 502s 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dir_util.py:82: AttributeError 502s ----------------------------- Captured stdout call ----------------------------- 502s Initialized empty Git repository in /tmp/pytest-of-ubuntu/pytest-48/test_include_exclude_data0/.git/ 502s [master (root-commit) c0f1161] Initial commit 502s 15 files changed, 79 insertions(+) 502s create mode 100644 CMakeLists.txt 502s create mode 100644 MANIFEST.in 502s create mode 100644 hello/__init__.py 502s create mode 100644 hello/data/subdata/hello_data1_include_from_manifest.txt 502s create mode 100644 hello/data/subdata/hello_data2_include_from_manifest.txt 502s create mode 100644 hello/data/subdata/hello_data3_include_from_manifest_and_exclude_from_manifest.txt 502s create mode 100644 hello/data/subdata/hello_data4_include_from_manifest_and_exclude_from_setup.txt 502s create mode 100644 hello/hello_include_from_manifest.txt 502s create mode 100644 hello2/__init__.py 502s create mode 100644 hello2/data2/subdata2/hello2_data1_include_from_manifest.txt 502s create mode 100644 hello2/data2/subdata2/hello2_data2_include_from_manifest.txt 502s create mode 100644 hello2/data2/subdata2/hello2_data3_include_from_manifest_and_exclude_from_manifest.txt 502s create mode 100644 hello2/data2/subdata2/hello2_data4_include_from_manifest_and_exclude_from_setup.txt 502s create mode 100644 hello2/hello2_include_from_manifest.txt 502s create mode 100644 setup.py 502s 502s 502s -------------------------------------------------------------------------------- 502s -- Trying 'Ninja' generator 502s -------------------------------- 502s --------------------------- 502s ---------------------- 502s ----------------- 502s ------------ 502s ------- 502s -- 502s Not searching for unused variables given on the command line. 502s -- Configuring incomplete, errors occurred! 502s -- 502s ------- 502s ------------ 502s ----------------- 502s ---------------------- 502s --------------------------- 502s -------------------------------- 502s -- Trying 'Ninja' generator - failure 502s -------------------------------------------------------------------------------- 502s 502s 502s 502s -------------------------------------------------------------------------------- 502s -- Trying 'Unix Makefiles' generator 502s -------------------------------- 502s --------------------------- 502s ---------------------- 502s ----------------- 502s ------------ 502s ------- 502s -- 502s Not searching for unused variables given on the command line. 502s -- Configuring done (0.0s) 502s -- Generating done (0.0s) 502s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-48/test_include_exclude_data0/_cmake_test_compile/build 502s -- 502s ------- 502s ------------ 502s ----------------- 502s ---------------------- 502s --------------------------- 502s -------------------------------- 502s -- Trying 'Unix Makefiles' generator - success 502s -------------------------------------------------------------------------------- 502s 502s Configuring Project 502s Working directory: 502s /tmp/pytest-of-ubuntu/pytest-48/test_include_exclude_data0/_skbuild/linux-armv7l-3.12/cmake-build 502s Command: 502s /usr/bin/cmake /tmp/pytest-of-ubuntu/pytest-48/test_include_exclude_data0 -G 'Unix Makefiles' --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pytest-of-ubuntu/pytest-48/test_include_exclude_data0/_skbuild/linux-armv7l-3.12/cmake-install -DPYTHON_VERSION_STRING:STRING=3.12.4 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/usr/lib/python3/dist-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/usr/bin/python3.12 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPYTHON_LIBRARY:PATH=/usr/lib/arm-linux-gnueabihf/libpython3.12.so -DPython_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython_ROOT_DIR:PATH=/usr -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPython3_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython3_ROOT_DIR:PATH=/usr -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.12 -DCMAKE_BUILD_TYPE:STRING=Release 502s 502s Not searching for unused variables given on the command line. 502s -- Configuring done (0.0s) 502s -- Generating done (0.0s) 502s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-48/test_include_exclude_data0/_skbuild/linux-armv7l-3.12/cmake-build 502s Install the project... 502s -- Install configuration: "Release" 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-48/test_include_exclude_data0/_skbuild/linux-armv7l-3.12/cmake-install/hello/cmake_generated_module.py 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-48/test_include_exclude_data0/_skbuild/linux-armv7l-3.12/cmake-install/hello/hello_data1_cmake_generated.txt 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-48/test_include_exclude_data0/_skbuild/linux-armv7l-3.12/cmake-install/hello/hello_data2_cmake_generated.txt 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-48/test_include_exclude_data0/_skbuild/linux-armv7l-3.12/cmake-install/hello/data/subdata/hello_data3_cmake_generated.txt 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-48/test_include_exclude_data0/_skbuild/linux-armv7l-3.12/cmake-install/hello/data/subdata/hello_data4_cmake_generated_and_exclude_from_setup.txt 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-48/test_include_exclude_data0/_skbuild/linux-armv7l-3.12/cmake-install/hello2/hello2_data1_cmake_generated.txt 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-48/test_include_exclude_data0/_skbuild/linux-armv7l-3.12/cmake-install/hello2/hello2_data2_cmake_generated.txt 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-48/test_include_exclude_data0/_skbuild/linux-armv7l-3.12/cmake-install/hello2/data2/subdata2/hello2_data3_cmake_generated.txt 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-48/test_include_exclude_data0/_skbuild/linux-armv7l-3.12/cmake-install/hello2/data2/subdata2/hello2_data4_cmake_generated_and_exclude_from_setup.txt 502s 502s copying hello/__init__.py -> _skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py 502s copying hello2/__init__.py -> _skbuild/linux-armv7l-3.12/cmake-install/hello2/__init__.py 502s copying hello/hello_include_from_manifest.txt -> _skbuild/linux-armv7l-3.12/cmake-install/hello/hello_include_from_manifest.txt 502s copying hello2/hello2_include_from_manifest.txt -> _skbuild/linux-armv7l-3.12/cmake-install/hello2/hello2_include_from_manifest.txt 502s copying hello/data/subdata/hello_data1_include_from_manifest.txt -> _skbuild/linux-armv7l-3.12/cmake-install/hello/data/subdata/hello_data1_include_from_manifest.txt 502s copying hello/data/subdata/hello_data2_include_from_manifest.txt -> _skbuild/linux-armv7l-3.12/cmake-install/hello/data/subdata/hello_data2_include_from_manifest.txt 502s copying hello/data/subdata/hello_data4_include_from_manifest_and_exclude_from_setup.txt -> _skbuild/linux-armv7l-3.12/cmake-install/hello/data/subdata/hello_data4_include_from_manifest_and_exclude_from_setup.txt 502s copying hello2/data2/subdata2/hello2_data1_include_from_manifest.txt -> _skbuild/linux-armv7l-3.12/cmake-install/hello2/data2/subdata2/hello2_data1_include_from_manifest.txt 502s copying hello2/data2/subdata2/hello2_data2_include_from_manifest.txt -> _skbuild/linux-armv7l-3.12/cmake-install/hello2/data2/subdata2/hello2_data2_include_from_manifest.txt 502s copying hello2/data2/subdata2/hello2_data4_include_from_manifest_and_exclude_from_setup.txt -> _skbuild/linux-armv7l-3.12/cmake-install/hello2/data2/subdata2/hello2_data4_include_from_manifest_and_exclude_from_setup.txt 502s 502s ----------------------------- Captured stderr call ----------------------------- 502s hint: Using 'master' as the name for the initial branch. This default branch name 502s hint: is subject to change. To configure the initial branch name to use in all 502s hint: of your new repositories, which will suppress this warning, call: 502s hint: 502s hint: git config --global init.defaultBranch 502s hint: 502s hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 502s hint: 'development'. The just-created branch can be renamed via this command: 502s hint: 502s hint: git branch -m 502s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 502s Compatibility with CMake < 3.5 will be removed from a future version of 502s CMake. 502s 502s Update the VERSION argument value or use a ... suffix to tell 502s CMake that the project does not need compatibility with older versions. 502s 502s 502s CMake Error: CMake was unable to find a build program corresponding to "Ninja". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. 502s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 502s Compatibility with CMake < 3.5 will be removed from a future version of 502s CMake. 502s 502s Update the VERSION argument value or use a ... suffix to tell 502s CMake that the project does not need compatibility with older versions. 502s 502s 502s ------------------------------ Captured log call ------------------------------- 502s WARNING root:filelist.py:129 warning: no previously-included files found matching 'MANIFEST.in' 502s INFO root:dist.py:986 running bdist_wheel 502s INFO root:dist.py:986 running build 502s INFO root:dist.py:986 running build_py 502s INFO root:dir_util.py:70 creating _skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312 502s _____________________ test_include_exclude_data_with_base ______________________ 502s 502s iargs = (), ikwargs = {} 502s 502s @functools.wraps(fun) 502s def wrapped(*iargs, **ikwargs): 502s if wrapped.tmp_dir is None: # type: ignore[attr-defined] 502s wrapped.tmp_dir = _tmpdir(fun.__name__) # type: ignore[attr-defined] 502s prepare_project(wrapped.project, wrapped.tmp_dir) # type: ignore[attr-defined] 502s initialize_git_repo_and_commit(wrapped.tmp_dir, verbose=wrapped.verbose_git) # type: ignore[attr-defined] 502s 502s > with execute_setup_py(wrapped.tmp_dir, wrapped.setup_args, disable_languages_test=disable_languages_test): # type: ignore[attr-defined] 502s 502s disable_languages_test = False 502s fun = 502s iargs = () 502s ikwargs = {} 502s ret = False 502s wrapped = 502s 502s tests/__init__.py:261: 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s /usr/lib/python3.12/contextlib.py:137: in __enter__ 502s return next(self.gen) 502s self = 502s tests/__init__.py:247: in execute_setup_py 502s exec(setup_code) 502s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 502s disable_languages_test = False 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-49/test_include_exclude_data_with0') 502s setup = 502s setup_args = ['bdist_wheel'] 502s setup_code = at 0xec6d7770, file "setup.py", line 1> 502s setup.py:5: in 502s ??? 502s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 502s disable_languages_test = False 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-49/test_include_exclude_data_with0') 502s setup = 502s setup_args = ['bdist_wheel'] 502s setup_code = at 0xec6d7770, file "setup.py", line 1> 502s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:781: in setup 502s return setuptools.setup(**kw) # type: ignore[no-any-return, func-returns-value] 502s BinaryDistribution = .BinaryDistribution'> 502s build_ext_inplace = False 502s cmake_args = ['-DCMAKE_BUILD_TYPE:STRING=Release'] 502s cmake_args_from_args = [] 502s cmake_executable = '/usr/bin/cmake' 502s cmake_install_dir = '' 502s cmake_install_target = 'install' 502s cmake_install_target_from_command = '' 502s cmake_install_target_from_setup = 'install' 502s cmake_languages = () 502s cmake_manifest = ['_skbuild/linux-armv7l-3.12/cmake-install/src/hello/cmake_generated_module.py', '_skbuild/linux-armv7l-3.12/cmake-ins...d_exclude_from_setup.txt', '_skbuild/linux-armv7l-3.12/cmake-install/src/hello2/hello2_data1_cmake_generated.txt', ...] 502s cmake_minimum_required_version = None 502s cmake_process_manifest_hook = None 502s cmake_source_dir = '' 502s cmake_spec = {'args': ['/usr/bin/cmake', '-DCMAKE_BUILD_TYPE:STRING=Release'], 'environment': {'PYTHONNOUSERSITE': None, 'PYTHONPATH': None}, 'version': '3.29.6'} 502s cmake_with_sdist = False 502s cmdclass = {'bdist': , 'bdist_wheel': , 'build': , 'build_ext': , ...} 502s cmkr = 502s commands = ['bdist_wheel'] 502s config_type = 'Release' 502s data_file = 'src/hello2/data2/subdata2/hello2_data4_include_from_manifest_and_exclude_from_setup.txt' 502s data_files = {} 502s dest_data_file = '_skbuild/linux-armv7l-3.12/cmake-install/src/hello2/data2/subdata2/hello2_data4_include_from_manifest_and_exclude_from_setup.txt' 502s developer_mode = False 502s display_only = False 502s env = {'ADTTMP': '/tmp/autopkgtest.EPTB0Y/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', 'ADT_TEST_TRIGGERS': 'setuptools/70.3.0-2', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', ...} 502s env_cmake_args = [] 502s force_cmake = False 502s has_cmakelists = True 502s has_invalid_arguments = False 502s help_commands = 0 502s hide_listing = False 502s kw = {'cmdclass': {'bdist': , 'bdist_wheel': , 'bdist_wheel': , 'bdist_wheel': .BinaryDistribution object at 0xee48a0a8> 502s klass = .BinaryDistribution'> 502s ok = True 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:200: in run_commands 502s dist.run_commands() 502s dist = .BinaryDistribution object at 0xee48a0a8> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:970: in run_commands 502s self.run_command(cmd) 502s cmd = 'bdist_wheel' 502s self = .BinaryDistribution object at 0xee48a0a8> 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'bdist_wheel' 502s self = .BinaryDistribution object at 0xee48a0a8> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'bdist_wheel' 502s self = .BinaryDistribution object at 0xee48a0a8> 502s /usr/lib/python3/dist-packages/skbuild/command/bdist_wheel.py:33: in run 502s super().run(*args, **kwargs) 502s __class__ = 502s args = () 502s kwargs = {} 502s old_write_files = 502s self = 502s update_write_files = .update_write_files at 0xec7ebde8> 502s /usr/lib/python3/dist-packages/wheel/bdist_wheel.py:368: in run 502s self.run_command("build") 502s build_ext = 502s build_scripts = 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 502s self.distribution.run_command(command) 502s command = 'build' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'build' 502s self = .BinaryDistribution object at 0xee48a0a8> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'build' 502s self = .BinaryDistribution object at 0xee48a0a8> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build.py:135: in run 502s self.run_command(cmd_name) 502s cmd_name = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 502s self.distribution.run_command(command) 502s command = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'build_py' 502s self = .BinaryDistribution object at 0xee48a0a8> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'build_py' 502s self = .BinaryDistribution object at 0xee48a0a8> 502s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:41: in run 502s super().run(*args, **kwargs) 502s __class__ = 502s args = () 502s kwargs = {} 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:74: in run 502s self.build_packages() 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:379: in build_packages 502s self.build_module(module, module_file, package) 502s module = '__init__' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/src/hello/__init__.py' 502s modules = [('hello', '__init__', '_skbuild/linux-armv7l-3.12/cmake-install/src/hello/__init__.py'), ('hello', 'cmake_generated_module', '_skbuild/linux-armv7l-3.12/cmake-install/src/hello/cmake_generated_module.py')] 502s package = 'hello' 502s package_ = 'hello' 502s package_dir = '_skbuild/linux-armv7l-3.12/cmake-install/src/hello' 502s self = 502s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:31: in build_module 502s super().build_module(module, module_file, package) # type: ignore[no-untyped-call] 502s __class__ = 502s module = '__init__' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/src/hello/__init__.py' 502s package = 'hello' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:89: in build_module 502s outfile, copied = orig.build_py.build_module(self, module, module_file, package) 502s module = '__init__' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/src/hello/__init__.py' 502s package = 'hello' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:349: in build_module 502s self.mkpath(dir) 502s dir = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello' 502s module = '__init__' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/src/hello/__init__.py' 502s outfile = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello/__init__.py' 502s package = ['hello'] 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:340: in mkpath 502s dir_util.mkpath(name, mode, dry_run=self.dry_run) 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello' 502s self = 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello' 502s mode = 511, verbose = True, dry_run = False 502s 502s def mkpath(name, mode=0o777, verbose=True, dry_run=False): # noqa: C901 502s """Create a directory and any missing ancestor directories. 502s 502s If the directory already exists (or if 'name' is the empty string, which 502s means the current directory, which of course exists), then do nothing. 502s Raise DistutilsFileError if unable to create some directory along the way 502s (eg. some sub-path exists, but is a file rather than a directory). 502s If 'verbose' is true, print a one-line summary of each mkdir to stdout. 502s Return the list of directories actually created. 502s 502s os.makedirs is not used because: 502s 502s a) It's new to Python 1.5.2, and 502s b) it blows up if the directory already exists (in which case it should 502s silently succeed). 502s """ 502s 502s global _path_created 502s 502s # Detect a common bug -- name is None 502s if not isinstance(name, str): 502s raise DistutilsInternalError(f"mkpath: 'name' must be a string (got {name!r})") 502s 502s # XXX what's the better way to handle verbosity? print as we create 502s # each directory in the path (the current behaviour), or only announce 502s # the creation of the whole path? (quite easy to do the latter since 502s # we're not using a recursive algorithm) 502s 502s name = os.path.normpath(name) 502s created_dirs = [] 502s if os.path.isdir(name) or name == '': 502s return created_dirs 502s if os.path.abspath(name) in _path_created: 502s return created_dirs 502s 502s (head, tail) = os.path.split(name) 502s tails = [tail] # stack of lone dirs to create 502s 502s while head and tail and not os.path.isdir(head): 502s (head, tail) = os.path.split(head) 502s tails.insert(0, tail) # push next higher dir onto stack 502s 502s # now 'head' contains the deepest directory that already exists 502s # (that is, the child of 'head' in 'name' is the highest directory 502s # that does *not* exist) 502s for d in tails: 502s # print "head = %s, d = %s: " % (head, d), 502s head = os.path.join(head, d) 502s abs_head = os.path.abspath(head) 502s 502s if abs_head in _path_created: 502s continue 502s 502s if verbose >= 1: 502s log.info("creating %s", head) 502s 502s if not dry_run: 502s try: 502s os.mkdir(head, mode) 502s except OSError as exc: 502s if not (exc.errno == errno.EEXIST and os.path.isdir(head)): 502s raise DistutilsFileError( 502s f"could not create '{head}': {exc.args[-1]}" 502s ) 502s created_dirs.append(head) 502s 502s > _path_created.add(abs_head) 502s E AttributeError: 'dict' object has no attribute 'add' 502s 502s abs_head = '/tmp/pytest-of-ubuntu/pytest-49/test_include_exclude_data_with0/_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 502s created_dirs = ['_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312'] 502s d = 'lib.linux-armv7l-cpython-312' 502s dry_run = False 502s head = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello' 502s tail = 'lib.linux-armv7l-cpython-312' 502s tails = ['lib.linux-armv7l-cpython-312', 'hello'] 502s verbose = True 502s 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dir_util.py:82: AttributeError 502s ----------------------------- Captured stdout call ----------------------------- 502s Initialized empty Git repository in /tmp/pytest-of-ubuntu/pytest-49/test_include_exclude_data_with0/.git/ 502s [master (root-commit) 2cc4902] Initial commit 502s 15 files changed, 80 insertions(+) 502s create mode 100644 CMakeLists.txt 502s create mode 100644 MANIFEST.in 502s create mode 100644 setup.py 502s create mode 100644 src/hello/__init__.py 502s create mode 100644 src/hello/data/subdata/hello_data1_include_from_manifest.txt 502s create mode 100644 src/hello/data/subdata/hello_data2_include_from_manifest.txt 502s create mode 100644 src/hello/data/subdata/hello_data3_include_from_manifest_and_exclude_from_manifest.txt 502s create mode 100644 src/hello/data/subdata/hello_data4_include_from_manifest_and_exclude_from_setup.txt 502s create mode 100644 src/hello/hello_include_from_manifest.txt 502s create mode 100644 src/hello2/__init__.py 502s create mode 100644 src/hello2/data2/subdata2/hello2_data1_include_from_manifest.txt 502s create mode 100644 src/hello2/data2/subdata2/hello2_data2_include_from_manifest.txt 502s create mode 100644 src/hello2/data2/subdata2/hello2_data3_include_from_manifest_and_exclude_from_manifest.txt 502s create mode 100644 src/hello2/data2/subdata2/hello2_data4_include_from_manifest_and_exclude_from_setup.txt 502s create mode 100644 src/hello2/hello2_include_from_manifest.txt 502s 502s 502s -------------------------------------------------------------------------------- 502s -- Trying 'Ninja' generator 502s -------------------------------- 502s --------------------------- 502s ---------------------- 502s ----------------- 502s ------------ 502s ------- 502s -- 502s Not searching for unused variables given on the command line. 502s -- Configuring incomplete, errors occurred! 502s -- 502s ------- 502s ------------ 502s ----------------- 502s ---------------------- 502s --------------------------- 502s -------------------------------- 502s -- Trying 'Ninja' generator - failure 502s -------------------------------------------------------------------------------- 502s 502s 502s 502s -------------------------------------------------------------------------------- 502s -- Trying 'Unix Makefiles' generator 502s -------------------------------- 502s --------------------------- 502s ---------------------- 502s ----------------- 502s ------------ 502s ------- 502s -- 502s Not searching for unused variables given on the command line. 502s -- Configuring done (0.0s) 502s -- Generating done (0.0s) 502s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-49/test_include_exclude_data_with0/_cmake_test_compile/build 502s -- 502s ------- 502s ------------ 502s ----------------- 502s ---------------------- 502s --------------------------- 502s -------------------------------- 502s -- Trying 'Unix Makefiles' generator - success 502s -------------------------------------------------------------------------------- 502s 502s Configuring Project 502s Working directory: 502s /tmp/pytest-of-ubuntu/pytest-49/test_include_exclude_data_with0/_skbuild/linux-armv7l-3.12/cmake-build 502s Command: 502s /usr/bin/cmake /tmp/pytest-of-ubuntu/pytest-49/test_include_exclude_data_with0 -G 'Unix Makefiles' --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pytest-of-ubuntu/pytest-49/test_include_exclude_data_with0/_skbuild/linux-armv7l-3.12/cmake-install -DPYTHON_VERSION_STRING:STRING=3.12.4 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/usr/lib/python3/dist-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/usr/bin/python3.12 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPYTHON_LIBRARY:PATH=/usr/lib/arm-linux-gnueabihf/libpython3.12.so -DPython_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython_ROOT_DIR:PATH=/usr -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPython3_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython3_ROOT_DIR:PATH=/usr -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.12 -DCMAKE_BUILD_TYPE:STRING=Release 502s 502s Not searching for unused variables given on the command line. 502s -- Configuring done (0.0s) 502s -- Generating done (0.0s) 502s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-49/test_include_exclude_data_with0/_skbuild/linux-armv7l-3.12/cmake-build 502s Install the project... 502s -- Install configuration: "Release" 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-49/test_include_exclude_data_with0/_skbuild/linux-armv7l-3.12/cmake-install/src/hello/cmake_generated_module.py 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-49/test_include_exclude_data_with0/_skbuild/linux-armv7l-3.12/cmake-install/src/hello/hello_data1_cmake_generated.txt 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-49/test_include_exclude_data_with0/_skbuild/linux-armv7l-3.12/cmake-install/src/hello/hello_data2_cmake_generated.txt 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-49/test_include_exclude_data_with0/_skbuild/linux-armv7l-3.12/cmake-install/src/hello/data/subdata/hello_data3_cmake_generated.txt 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-49/test_include_exclude_data_with0/_skbuild/linux-armv7l-3.12/cmake-install/src/hello/data/subdata/hello_data4_cmake_generated_and_exclude_from_setup.txt 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-49/test_include_exclude_data_with0/_skbuild/linux-armv7l-3.12/cmake-install/src/hello2/hello2_data1_cmake_generated.txt 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-49/test_include_exclude_data_with0/_skbuild/linux-armv7l-3.12/cmake-install/src/hello2/hello2_data2_cmake_generated.txt 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-49/test_include_exclude_data_with0/_skbuild/linux-armv7l-3.12/cmake-install/src/hello2/data2/subdata2/hello2_data3_cmake_generated.txt 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-49/test_include_exclude_data_with0/_skbuild/linux-armv7l-3.12/cmake-install/src/hello2/data2/subdata2/hello2_data4_cmake_generated_and_exclude_from_setup.txt 502s 502s copying src/hello/__init__.py -> _skbuild/linux-armv7l-3.12/cmake-install/src/hello/__init__.py 502s copying src/hello2/__init__.py -> _skbuild/linux-armv7l-3.12/cmake-install/src/hello2/__init__.py 502s copying src/hello/hello_include_from_manifest.txt -> _skbuild/linux-armv7l-3.12/cmake-install/src/hello/hello_include_from_manifest.txt 502s copying src/hello2/hello2_include_from_manifest.txt -> _skbuild/linux-armv7l-3.12/cmake-install/src/hello2/hello2_include_from_manifest.txt 502s copying src/hello/data/subdata/hello_data1_include_from_manifest.txt -> _skbuild/linux-armv7l-3.12/cmake-install/src/hello/data/subdata/hello_data1_include_from_manifest.txt 502s copying src/hello/data/subdata/hello_data2_include_from_manifest.txt -> _skbuild/linux-armv7l-3.12/cmake-install/src/hello/data/subdata/hello_data2_include_from_manifest.txt 502s copying src/hello/data/subdata/hello_data4_include_from_manifest_and_exclude_from_setup.txt -> _skbuild/linux-armv7l-3.12/cmake-install/src/hello/data/subdata/hello_data4_include_from_manifest_and_exclude_from_setup.txt 502s copying src/hello2/data2/subdata2/hello2_data1_include_from_manifest.txt -> _skbuild/linux-armv7l-3.12/cmake-install/src/hello2/data2/subdata2/hello2_data1_include_from_manifest.txt 502s copying src/hello2/data2/subdata2/hello2_data2_include_from_manifest.txt -> _skbuild/linux-armv7l-3.12/cmake-install/src/hello2/data2/subdata2/hello2_data2_include_from_manifest.txt 502s copying src/hello2/data2/subdata2/hello2_data4_include_from_manifest_and_exclude_from_setup.txt -> _skbuild/linux-armv7l-3.12/cmake-install/src/hello2/data2/subdata2/hello2_data4_include_from_manifest_and_exclude_from_setup.txt 502s 502s ----------------------------- Captured stderr call ----------------------------- 502s hint: Using 'master' as the name for the initial branch. This default branch name 502s hint: is subject to change. To configure the initial branch name to use in all 502s hint: of your new repositories, which will suppress this warning, call: 502s hint: 502s hint: git config --global init.defaultBranch 502s hint: 502s hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 502s hint: 'development'. The just-created branch can be renamed via this command: 502s hint: 502s hint: git branch -m 502s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 502s Compatibility with CMake < 3.5 will be removed from a future version of 502s CMake. 502s 502s Update the VERSION argument value or use a ... suffix to tell 502s CMake that the project does not need compatibility with older versions. 502s 502s 502s CMake Error: CMake was unable to find a build program corresponding to "Ninja". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. 502s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 502s Compatibility with CMake < 3.5 will be removed from a future version of 502s CMake. 502s 502s Update the VERSION argument value or use a ... suffix to tell 502s CMake that the project does not need compatibility with older versions. 502s 502s 502s ------------------------------ Captured log call ------------------------------- 502s WARNING root:filelist.py:129 warning: no previously-included files found matching 'MANIFEST.in' 502s INFO root:dist.py:986 running bdist_wheel 502s INFO root:dist.py:986 running build 502s INFO root:dist.py:986 running build_py 502s INFO root:dir_util.py:70 creating _skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312 502s ________________________ test_build_ext_inplace_command ________________________ 502s 502s iargs = (), ikwargs = {} 502s 502s @functools.wraps(fun) 502s def wrapped(*iargs, **ikwargs): 502s if wrapped.tmp_dir is None: # type: ignore[attr-defined] 502s wrapped.tmp_dir = _tmpdir(fun.__name__) # type: ignore[attr-defined] 502s prepare_project(wrapped.project, wrapped.tmp_dir) # type: ignore[attr-defined] 502s initialize_git_repo_and_commit(wrapped.tmp_dir, verbose=wrapped.verbose_git) # type: ignore[attr-defined] 502s 502s > with execute_setup_py(wrapped.tmp_dir, wrapped.setup_args, disable_languages_test=disable_languages_test): # type: ignore[attr-defined] 502s 502s disable_languages_test = True 502s fun = 502s iargs = () 502s ikwargs = {} 502s ret = False 502s wrapped = 502s 502s tests/__init__.py:261: 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s /usr/lib/python3.12/contextlib.py:137: in __enter__ 502s return next(self.gen) 502s self = 502s tests/__init__.py:244: in execute_setup_py 502s exec(setup_code) 502s Extension = 502s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 502s disable_languages_test = True 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s original_write_test_cmakelist = 502s platform = 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-50/test_build_ext_inplace_command0') 502s setup = 502s setup_args = ['build_ext', '--inplace'] 502s setup_code = at 0xec94fbf0, file "setup.py", line 1> 502s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xec7ebd48> 502s setup.py:7: in 502s ??? 502s Extension = 502s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 502s disable_languages_test = True 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s original_write_test_cmakelist = 502s platform = 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-50/test_build_ext_inplace_command0') 502s setup = 502s setup_args = ['build_ext', '--inplace'] 502s setup_code = at 0xec94fbf0, file "setup.py", line 1> 502s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xec7ebd48> 502s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:781: in setup 502s return setuptools.setup(**kw) # type: ignore[no-any-return, func-returns-value] 502s BinaryDistribution = .BinaryDistribution'> 502s build_ext_inplace = 1 502s cmake_args = ['-DCMAKE_BUILD_TYPE:STRING=Release'] 502s cmake_args_from_args = [] 502s cmake_executable = '/usr/bin/cmake' 502s cmake_file = '_skbuild/linux-armv7l-3.12/cmake-install/hello/_hello_sk.cpython-312-arm-linux-gnueabihf.so' 502s cmake_install_dir = '' 502s cmake_install_target = 'install' 502s cmake_install_target_from_command = '' 502s cmake_install_target_from_setup = 'install' 502s cmake_languages = ('C', 'CXX') 502s cmake_manifest = ['_skbuild/linux-armv7l-3.12/cmake-install/hello/_hello_sk.cpython-312-arm-linux-gnueabihf.so'] 502s cmake_minimum_required_version = None 502s cmake_process_manifest_hook = None 502s cmake_source_dir = '' 502s cmake_spec = {'args': ['/usr/bin/cmake', '-DCMAKE_BUILD_TYPE:STRING=Release'], 'environment': {'PYTHONNOUSERSITE': None, 'PYTHONPATH': None}, 'version': '3.29.6'} 502s cmake_with_sdist = False 502s cmdclass = {'bdist': , 'bdist_wheel': , 'build': , 'build_ext': , ...} 502s cmkr = 502s commands = ['build_ext'] 502s config_type = 'Release' 502s data_files = {} 502s developer_mode = 1 502s display_only = False 502s env = {'ADTTMP': '/tmp/autopkgtest.EPTB0Y/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', 'ADT_TEST_TRIGGERS': 'setuptools/70.3.0-2', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', ...} 502s env_cmake_args = [] 502s force_cmake = False 502s has_cmakelists = True 502s has_invalid_arguments = False 502s help_commands = 0 502s hide_listing = False 502s kw = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package', ...} 502s make_args = ['--config', 'Release'] 502s new_py_modules = {} 502s new_scripts = {} 502s original_manifestin_data_files = [] 502s package = 'hello' 502s package_data = {'hello': ['_hello_sk.cpython-312-arm-linux-gnueabihf.so']} 502s package_dir = {'hello': 'hello'} 502s package_file = '_hello_sk.cpython-312-arm-linux-gnueabihf.so' 502s package_file_list = ['_hello_sk.cpython-312-arm-linux-gnueabihf.so'] 502s package_path = 'hello/_hello_sk.cpython-312-arm-linux-gnueabihf.so' 502s package_prefixes = [('hello', 'hello')] 502s packages = ['hello'] 502s plat_name = None 502s process_manifest = None 502s py_modules = [] 502s scripts = [] 502s skip_cmake = False 502s skip_generator_test = False 502s skip_skbuild = False 502s /usr/lib/python3/dist-packages/setuptools/__init__.py:103: in setup 502s return distutils.core.setup(**attrs) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package', ...} 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:184: in setup 502s return run_commands(dist) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package', ...} 502s dist = .BinaryDistribution object at 0xec981960> 502s klass = .BinaryDistribution'> 502s ok = True 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:200: in run_commands 502s dist.run_commands() 502s dist = .BinaryDistribution object at 0xec981960> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:970: in run_commands 502s self.run_command(cmd) 502s cmd = 'build_ext' 502s self = .BinaryDistribution object at 0xec981960> 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'build_ext' 502s self = .BinaryDistribution object at 0xec981960> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'build_ext' 502s self = .BinaryDistribution object at 0xec981960> 502s /usr/lib/python3/dist-packages/setuptools/command/build_ext.py:93: in run 502s _build_ext.run(self) 502s old_inplace = 1 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_ext.py:359: in run 502s self.build_extensions() 502s new_compiler = 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_ext.py:479: in build_extensions 502s self._build_extensions_serial() 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_ext.py:505: in _build_extensions_serial 502s self.build_extension(ext) 502s ext = 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/build_ext.py:254: in build_extension 502s _build_ext.build_extension(self, ext) 502s _compiler = 502s ext = 502s self = 502s /usr/lib/python3/dist-packages/Cython/Distutils/build_ext.py:135: in build_extension 502s super(build_ext, self).build_extension(ext) 502s __class__ = 502s cythonize = 502s directives = {} 502s ext = 502s include_dir = '/usr/include/python3.12' 502s includes = ['/usr/include/python3.12'] 502s new_ext = 502s options = {'build_dir': None, 'c_line_in_traceback': True, 'compile_time_env': None, 'compiler_directives': {}, ...} 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_ext.py:560: in build_extension 502s objects = self.compiler.compile( 502s depends = ['hello/_hello_ext.cxx'] 502s ext = 502s ext_path = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello/_hello_ext.cpython-312-arm-linux-gnueabihf.so' 502s extra_args = [] 502s macros = [] 502s self = 502s sources = ['hello/_hello_ext.cxx'] 502s /usr/lib/python3/dist-packages/setuptools/_distutils/ccompiler.py:595: in compile 502s macros, objects, extra_postargs, pp_opts, build = self._setup_compile( 502s debug = None 502s depends = [] 502s extra_postargs = [] 502s extra_preargs = None 502s include_dirs = [] 502s macros = [] 502s output_dir = '_skbuild/linux-armv7l-3.12/setuptools/temp.linux-armv7l-cpython-312' 502s self = 502s sources = ['hello/_hello_ext.cxx'] 502s /usr/lib/python3/dist-packages/setuptools/_distutils/ccompiler.py:360: in _setup_compile 502s self.mkpath(os.path.dirname(obj)) 502s build = {} 502s depends = [] 502s ext = '.cxx' 502s extra = [] 502s i = 0 502s incdirs = ['/usr/include/python3.12'] 502s macros = [] 502s obj = '_skbuild/linux-armv7l-3.12/setuptools/temp.linux-armv7l-cpython-312/hello/_hello_ext.o' 502s objects = ['_skbuild/linux-armv7l-3.12/setuptools/temp.linux-armv7l-cpython-312/hello/_hello_ext.o'] 502s outdir = '_skbuild/linux-armv7l-3.12/setuptools/temp.linux-armv7l-cpython-312' 502s pp_opts = ['-I/usr/include/python3.12'] 502s self = 502s sources = ['hello/_hello_ext.cxx'] 502s src = 'hello/_hello_ext.cxx' 502s /usr/lib/python3/dist-packages/setuptools/_distutils/ccompiler.py:1050: in mkpath 502s mkpath(name, mode, dry_run=self.dry_run) 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/temp.linux-armv7l-cpython-312/hello' 502s self = 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s 502s name = '_skbuild/linux-armv7l-3.12/setuptools/temp.linux-armv7l-cpython-312/hello' 502s mode = 511, verbose = True, dry_run = False 502s 502s def mkpath(name, mode=0o777, verbose=True, dry_run=False): # noqa: C901 502s """Create a directory and any missing ancestor directories. 502s 502s If the directory already exists (or if 'name' is the empty string, which 502s means the current directory, which of course exists), then do nothing. 502s Raise DistutilsFileError if unable to create some directory along the way 502s (eg. some sub-path exists, but is a file rather than a directory). 502s If 'verbose' is true, print a one-line summary of each mkdir to stdout. 502s Return the list of directories actually created. 502s 502s os.makedirs is not used because: 502s 502s a) It's new to Python 1.5.2, and 502s b) it blows up if the directory already exists (in which case it should 502s silently succeed). 502s """ 502s 502s global _path_created 502s 502s # Detect a common bug -- name is None 502s if not isinstance(name, str): 502s raise DistutilsInternalError(f"mkpath: 'name' must be a string (got {name!r})") 502s 502s # XXX what's the better way to handle verbosity? print as we create 502s # each directory in the path (the current behaviour), or only announce 502s # the creation of the whole path? (quite easy to do the latter since 502s # we're not using a recursive algorithm) 502s 502s name = os.path.normpath(name) 502s created_dirs = [] 502s if os.path.isdir(name) or name == '': 502s return created_dirs 502s if os.path.abspath(name) in _path_created: 502s return created_dirs 502s 502s (head, tail) = os.path.split(name) 502s tails = [tail] # stack of lone dirs to create 502s 502s while head and tail and not os.path.isdir(head): 502s (head, tail) = os.path.split(head) 502s tails.insert(0, tail) # push next higher dir onto stack 502s 502s # now 'head' contains the deepest directory that already exists 502s # (that is, the child of 'head' in 'name' is the highest directory 502s # that does *not* exist) 502s for d in tails: 502s # print "head = %s, d = %s: " % (head, d), 502s head = os.path.join(head, d) 502s abs_head = os.path.abspath(head) 502s 502s if abs_head in _path_created: 502s continue 502s 502s if verbose >= 1: 502s log.info("creating %s", head) 502s 502s if not dry_run: 502s try: 502s os.mkdir(head, mode) 502s except OSError as exc: 502s if not (exc.errno == errno.EEXIST and os.path.isdir(head)): 502s raise DistutilsFileError( 502s f"could not create '{head}': {exc.args[-1]}" 502s ) 502s created_dirs.append(head) 502s 502s > _path_created.add(abs_head) 502s E AttributeError: 'dict' object has no attribute 'add' 502s 502s abs_head = '/tmp/pytest-of-ubuntu/pytest-50/test_build_ext_inplace_command0/_skbuild/linux-armv7l-3.12/setuptools/temp.linux-armv7l-cpython-312' 502s created_dirs = ['_skbuild/linux-armv7l-3.12/setuptools/temp.linux-armv7l-cpython-312'] 502s d = 'temp.linux-armv7l-cpython-312' 502s dry_run = False 502s head = '_skbuild/linux-armv7l-3.12/setuptools/temp.linux-armv7l-cpython-312' 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/temp.linux-armv7l-cpython-312/hello' 502s tail = 'temp.linux-armv7l-cpython-312' 502s tails = ['temp.linux-armv7l-cpython-312', 'hello'] 502s verbose = True 502s 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dir_util.py:82: AttributeError 502s ----------------------------- Captured stdout call ----------------------------- 502s Initialized empty Git repository in /tmp/pytest-of-ubuntu/pytest-50/test_build_ext_inplace_command0/.git/ 502s [master (root-commit) 326b495] Initial commit 502s 5 files changed, 160 insertions(+) 502s create mode 100644 CMakeLists.txt 502s create mode 100644 hello/__init__.py 502s create mode 100644 hello/_hello_ext.cxx 502s create mode 100644 hello/_hello_sk.cxx 502s create mode 100644 setup.py 502s 502s 502s -------------------------------------------------------------------------------- 502s -- Trying 'Ninja' generator 502s -------------------------------- 502s --------------------------- 502s ---------------------- 502s ----------------- 502s ------------ 502s ------- 502s -- 502s Not searching for unused variables given on the command line. 502s -- Configuring incomplete, errors occurred! 502s -- 502s ------- 502s ------------ 502s ----------------- 502s ---------------------- 502s --------------------------- 502s -------------------------------- 502s -- Trying 'Ninja' generator - failure 502s -------------------------------------------------------------------------------- 502s 502s 502s 502s -------------------------------------------------------------------------------- 502s -- Trying 'Unix Makefiles' generator 502s -------------------------------- 502s --------------------------- 502s ---------------------- 502s ----------------- 502s ------------ 502s ------- 502s -- 502s Not searching for unused variables given on the command line. 502s -- Configuring done (0.0s) 502s -- Generating done (0.0s) 502s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-50/test_build_ext_inplace_command0/_cmake_test_compile/build 502s -- 502s ------- 502s ------------ 502s ----------------- 502s ---------------------- 502s --------------------------- 502s -------------------------------- 502s -- Trying 'Unix Makefiles' generator - success 502s -------------------------------------------------------------------------------- 502s 502s Configuring Project 502s Working directory: 502s /tmp/pytest-of-ubuntu/pytest-50/test_build_ext_inplace_command0/_skbuild/linux-armv7l-3.12/cmake-build 502s Command: 502s /usr/bin/cmake /tmp/pytest-of-ubuntu/pytest-50/test_build_ext_inplace_command0 -G 'Unix Makefiles' --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pytest-of-ubuntu/pytest-50/test_build_ext_inplace_command0/_skbuild/linux-armv7l-3.12/cmake-install -DPYTHON_VERSION_STRING:STRING=3.12.4 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/usr/lib/python3/dist-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/usr/bin/python3.12 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPYTHON_LIBRARY:PATH=/usr/lib/arm-linux-gnueabihf/libpython3.12.so -DPython_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython_ROOT_DIR:PATH=/usr -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPython3_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython3_ROOT_DIR:PATH=/usr -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.12 -DCMAKE_BUILD_TYPE:STRING=Release 502s 502s Not searching for unused variables given on the command line. 502s -- The C compiler identification is GNU 13.2.0 502s -- The CXX compiler identification is GNU 13.2.0 502s -- Detecting C compiler ABI info 502s -- Detecting C compiler ABI info - done 502s -- Check for working C compiler: /usr/bin/cc - skipped 502s -- Detecting C compile features 502s -- Detecting C compile features - done 502s -- Detecting CXX compiler ABI info 502s -- Detecting CXX compiler ABI info - done 502s -- Check for working CXX compiler: /usr/bin/c++ - skipped 502s -- Detecting CXX compile features 502s -- Detecting CXX compile features - done 502s -- Found PythonInterp: /usr/bin/python3.12 (found version "3.12.4") 502s -- Found PythonLibs: /usr/lib/arm-linux-gnueabihf/libpython3.12.so (found version "3.12.4") 502s -- Performing Test Weak Link MODULE -> SHARED (gnu_ld_ignore) - Success 502s -- Configuring done (1.5s) 502s -- Generating done (0.0s) 502s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-50/test_build_ext_inplace_command0/_skbuild/linux-armv7l-3.12/cmake-build 502s [ 50%] Building CXX object CMakeFiles/_hello_sk.dir/hello/_hello_sk.cxx.o 502s [100%] Linking CXX shared module _hello_sk.cpython-312-arm-linux-gnueabihf.so 502s [100%] Built target _hello_sk 502s Install the project... 502s -- Install configuration: "Release" 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-50/test_build_ext_inplace_command0/_skbuild/linux-armv7l-3.12/cmake-install/hello/_hello_sk.cpython-312-arm-linux-gnueabihf.so 502s copying _skbuild/linux-armv7l-3.12/cmake-install/hello/_hello_sk.cpython-312-arm-linux-gnueabihf.so -> hello/_hello_sk.cpython-312-arm-linux-gnueabihf.so 502s 502s ----------------------------- Captured stderr call ----------------------------- 502s hint: Using 'master' as the name for the initial branch. This default branch name 502s hint: is subject to change. To configure the initial branch name to use in all 502s hint: of your new repositories, which will suppress this warning, call: 502s hint: 502s hint: git config --global init.defaultBranch 502s hint: 502s hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 502s hint: 'development'. The just-created branch can be renamed via this command: 502s hint: 502s hint: git branch -m 502s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 502s Compatibility with CMake < 3.5 will be removed from a future version of 502s CMake. 502s 502s Update the VERSION argument value or use a ... suffix to tell 502s CMake that the project does not need compatibility with older versions. 502s 502s 502s CMake Error: CMake was unable to find a build program corresponding to "Ninja". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. 502s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 502s Compatibility with CMake < 3.5 will be removed from a future version of 502s CMake. 502s 502s Update the VERSION argument value or use a ... suffix to tell 502s CMake that the project does not need compatibility with older versions. 502s 502s 502s CMake Warning (dev) at /usr/lib/python3/dist-packages/skbuild/resources/cmake/FindPythonExtensions.cmake:245 (find_package): 502s Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules 502s are removed. Run "cmake --help-policy CMP0148" for policy details. Use 502s the cmake_policy command to set the policy and suppress this warning. 502s 502s Call Stack (most recent call first): 502s CMakeLists.txt:5 (find_package) 502s This warning is for project developers. Use -Wno-dev to suppress it. 502s 502s CMake Warning (dev) at /usr/lib/python3/dist-packages/skbuild/resources/cmake/FindPythonExtensions.cmake:252 (find_package): 502s Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules 502s are removed. Run "cmake --help-policy CMP0148" for policy details. Use 502s the cmake_policy command to set the policy and suppress this warning. 502s 502s Call Stack (most recent call first): 502s CMakeLists.txt:5 (find_package) 502s This warning is for project developers. Use -Wno-dev to suppress it. 502s 502s _modinit_prefix:PyInit_ 502s ------------------------------ Captured log call ------------------------------- 502s INFO root:dist.py:986 running build_ext 502s INFO root:build_ext.py:533 building 'hello._hello_ext' extension 502s INFO root:dir_util.py:70 creating _skbuild/linux-armv7l-3.12/setuptools/temp.linux-armv7l-cpython-312 502s ___________________________ test_bdist_wheel_command ___________________________ 502s 502s def test_bdist_wheel_command(): 502s project = "issue-335-support-cmake-source-dir" 502s 502s expected_content = [ 502s "hello/__init__.py", 502s "hello/swig_mwe.py", 502s "hello/_swig_mwe.pyd", 502s "hello-1.2.3.data/data/bin/hello", 502s "hello-1.2.3.data/data/lib/static/libbar.a", 502s "hello-1.2.3.data/data/lib/static/libfoo.a", 502s "hello-1.2.3.data/data/include/bar.h", 502s "hello-1.2.3.data/data/include/foo.h", 502s ] 502s 502s expected_distribution_name = "hello-1.2.3" 502s 502s tmp_dir = _tmpdir("test_bdist_wheel_command") 502s prepare_project(project, tmp_dir) 502s initialize_git_repo_and_commit(tmp_dir, verbose=True) 502s 502s relative_setup_path = "wrapping/python/" 502s 502s > with execute_setup_py(tmp_dir.join(relative_setup_path), ["bdist_wheel"]): 502s 502s expected_content = ['hello/__init__.py', 'hello/swig_mwe.py', 'hello/_swig_mwe.pyd', 'hello-1.2.3.data/data/bin/hello', 'hello-1.2.3.data/data/lib/static/libbar.a', 'hello-1.2.3.data/data/lib/static/libfoo.a', ...] 502s expected_distribution_name = 'hello-1.2.3' 502s project = 'issue-335-support-cmake-source-dir' 502s relative_setup_path = 'wrapping/python/' 502s tmp_dir = local('/tmp/pytest-of-ubuntu/pytest-51/test_bdist_wheel_command0') 502s 502s tests/test_issue335_support_cmake_source_dir.py:31: 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s /usr/lib/python3.12/contextlib.py:137: in __enter__ 502s return next(self.gen) 502s self = 502s tests/__init__.py:247: in execute_setup_py 502s exec(setup_code) 502s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 502s disable_languages_test = False 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-51/test_bdist_wheel_command0/wrapping/python') 502s setup = 502s setup_args = ['bdist_wheel'] 502s setup_code = at 0xec3d57a0, file "setup.py", line 1> 502s setup.py:5: in 502s ??? 502s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 502s disable_languages_test = False 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-51/test_bdist_wheel_command0/wrapping/python') 502s setup = 502s setup_args = ['bdist_wheel'] 502s setup_code = at 0xec3d57a0, file "setup.py", line 1> 502s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:781: in setup 502s return setuptools.setup(**kw) # type: ignore[no-any-return, func-returns-value] 502s BinaryDistribution = .BinaryDistribution'> 502s build_ext_inplace = False 502s cmake_args = ['-DCMAKE_BUILD_TYPE:STRING=Release'] 502s cmake_args_from_args = [] 502s cmake_executable = '/usr/bin/cmake' 502s cmake_install_dir = '' 502s cmake_install_target = 'install' 502s cmake_install_target_from_command = '' 502s cmake_install_target_from_setup = 'install' 502s cmake_languages = ('C', 'CXX') 502s cmake_manifest = ['_skbuild/linux-armv7l-3.12/cmake-install/include/bar.h', '_skbuild/linux-armv7l-3.12/cmake-install/include/foo.h', '..._skbuild/linux-armv7l-3.12/cmake-install/bin/hello', '_skbuild/linux-armv7l-3.12/cmake-install/hello/swig_mwe.py', ...] 502s cmake_minimum_required_version = None 502s cmake_process_manifest_hook = None 502s cmake_source_dir = '../../' 502s cmake_spec = {'args': ['/usr/bin/cmake', '-DCMAKE_BUILD_TYPE:STRING=Release'], 'environment': {'PYTHONNOUSERSITE': None, 'PYTHONPATH': None}, 'version': '3.29.6'} 502s cmake_with_sdist = False 502s cmdclass = {'bdist': , 'bdist_wheel': , 'build': , 'build_ext': , ...} 502s cmkr = 502s commands = ['bdist_wheel'] 502s config_type = 'Release' 502s data_files = {'bin': {'_skbuild/linux-armv7l-3.12/cmake-install/bin/hello'}, 'include': {'_skbuild/linux-armv7l-3.12/cmake-install/.../linux-armv7l-3.12/cmake-install/lib/static/libbar.a', '_skbuild/linux-armv7l-3.12/cmake-install/lib/static/libfoo.a'}} 502s developer_mode = False 502s display_only = False 502s env = {'ADTTMP': '/tmp/autopkgtest.EPTB0Y/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', 'ADT_TEST_TRIGGERS': 'setuptools/70.3.0-2', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', ...} 502s env_cmake_args = [] 502s force_cmake = False 502s has_cmakelists = True 502s has_invalid_arguments = False 502s help_commands = 0 502s hide_listing = False 502s kw = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , 'bdist_wheel': , 'bdist_wheel': .BinaryDistribution object at 0xec413d38> 502s klass = .BinaryDistribution'> 502s ok = True 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:200: in run_commands 502s dist.run_commands() 502s dist = .BinaryDistribution object at 0xec413d38> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:970: in run_commands 502s self.run_command(cmd) 502s cmd = 'bdist_wheel' 502s self = .BinaryDistribution object at 0xec413d38> 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'bdist_wheel' 502s self = .BinaryDistribution object at 0xec413d38> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'bdist_wheel' 502s self = .BinaryDistribution object at 0xec413d38> 502s /usr/lib/python3/dist-packages/skbuild/command/bdist_wheel.py:33: in run 502s super().run(*args, **kwargs) 502s __class__ = 502s args = () 502s kwargs = {} 502s old_write_files = 502s self = 502s update_write_files = .update_write_files at 0xec988b68> 502s /usr/lib/python3/dist-packages/wheel/bdist_wheel.py:368: in run 502s self.run_command("build") 502s build_ext = 502s build_scripts = 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 502s self.distribution.run_command(command) 502s command = 'build' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'build' 502s self = .BinaryDistribution object at 0xec413d38> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'build' 502s self = .BinaryDistribution object at 0xec413d38> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build.py:135: in run 502s self.run_command(cmd_name) 502s cmd_name = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 502s self.distribution.run_command(command) 502s command = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'build_py' 502s self = .BinaryDistribution object at 0xec413d38> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'build_py' 502s self = .BinaryDistribution object at 0xec413d38> 502s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:41: in run 502s super().run(*args, **kwargs) 502s __class__ = 502s args = () 502s kwargs = {} 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:74: in run 502s self.build_packages() 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:379: in build_packages 502s self.build_module(module, module_file, package) 502s module = '__init__' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py' 502s modules = [('hello', '__init__', '_skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py'), ('hello', 'swig_mwe', '_skbuild/linux-armv7l-3.12/cmake-install/hello/swig_mwe.py')] 502s package = 'hello' 502s package_ = 'hello' 502s package_dir = '_skbuild/linux-armv7l-3.12/cmake-install/hello' 502s self = 502s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:31: in build_module 502s super().build_module(module, module_file, package) # type: ignore[no-untyped-call] 502s __class__ = 502s module = '__init__' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py' 502s package = 'hello' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:89: in build_module 502s outfile, copied = orig.build_py.build_module(self, module, module_file, package) 502s module = '__init__' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py' 502s package = 'hello' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:349: in build_module 502s self.mkpath(dir) 502s dir = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello' 502s module = '__init__' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py' 502s outfile = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello/__init__.py' 502s package = ['hello'] 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:340: in mkpath 502s dir_util.mkpath(name, mode, dry_run=self.dry_run) 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello' 502s self = 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello' 502s mode = 511, verbose = True, dry_run = False 502s 502s def mkpath(name, mode=0o777, verbose=True, dry_run=False): # noqa: C901 502s """Create a directory and any missing ancestor directories. 502s 502s If the directory already exists (or if 'name' is the empty string, which 502s means the current directory, which of course exists), then do nothing. 502s Raise DistutilsFileError if unable to create some directory along the way 502s (eg. some sub-path exists, but is a file rather than a directory). 502s If 'verbose' is true, print a one-line summary of each mkdir to stdout. 502s Return the list of directories actually created. 502s 502s os.makedirs is not used because: 502s 502s a) It's new to Python 1.5.2, and 502s b) it blows up if the directory already exists (in which case it should 502s silently succeed). 502s """ 502s 502s global _path_created 502s 502s # Detect a common bug -- name is None 502s if not isinstance(name, str): 502s raise DistutilsInternalError(f"mkpath: 'name' must be a string (got {name!r})") 502s 502s # XXX what's the better way to handle verbosity? print as we create 502s # each directory in the path (the current behaviour), or only announce 502s # the creation of the whole path? (quite easy to do the latter since 502s # we're not using a recursive algorithm) 502s 502s name = os.path.normpath(name) 502s created_dirs = [] 502s if os.path.isdir(name) or name == '': 502s return created_dirs 502s if os.path.abspath(name) in _path_created: 502s return created_dirs 502s 502s (head, tail) = os.path.split(name) 502s tails = [tail] # stack of lone dirs to create 502s 502s while head and tail and not os.path.isdir(head): 502s (head, tail) = os.path.split(head) 502s tails.insert(0, tail) # push next higher dir onto stack 502s 502s # now 'head' contains the deepest directory that already exists 502s # (that is, the child of 'head' in 'name' is the highest directory 502s # that does *not* exist) 502s for d in tails: 502s # print "head = %s, d = %s: " % (head, d), 502s head = os.path.join(head, d) 502s abs_head = os.path.abspath(head) 502s 502s if abs_head in _path_created: 502s continue 502s 502s if verbose >= 1: 502s log.info("creating %s", head) 502s 502s if not dry_run: 502s try: 502s os.mkdir(head, mode) 502s except OSError as exc: 502s if not (exc.errno == errno.EEXIST and os.path.isdir(head)): 502s raise DistutilsFileError( 502s f"could not create '{head}': {exc.args[-1]}" 502s ) 502s created_dirs.append(head) 502s 502s > _path_created.add(abs_head) 502s E AttributeError: 'dict' object has no attribute 'add' 502s 502s abs_head = '/tmp/pytest-of-ubuntu/pytest-51/test_bdist_wheel_command0/wrapping/python/_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 502s created_dirs = ['_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312'] 502s d = 'lib.linux-armv7l-cpython-312' 502s dry_run = False 502s head = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello' 502s tail = 'lib.linux-armv7l-cpython-312' 502s tails = ['lib.linux-armv7l-cpython-312', 'hello'] 502s verbose = True 502s 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dir_util.py:82: AttributeError 502s ----------------------------- Captured stdout call ----------------------------- 502s Initialized empty Git repository in /tmp/pytest-of-ubuntu/pytest-51/test_bdist_wheel_command0/.git/ 502s [master (root-commit) 0cfe7d3] Initial commit 502s 4 files changed, 53 insertions(+) 502s create mode 100644 CMakeLists.txt 502s create mode 100644 wrapping/python/CMakeLists.txt 502s create mode 100644 wrapping/python/hello/__init__.py 502s create mode 100644 wrapping/python/setup.py 502s 502s 502s -------------------------------------------------------------------------------- 502s -- Trying 'Ninja' generator 502s -------------------------------- 502s --------------------------- 502s ---------------------- 502s ----------------- 502s ------------ 502s ------- 502s -- 502s Not searching for unused variables given on the command line. 502s -- Configuring incomplete, errors occurred! 502s -- 502s ------- 502s ------------ 502s ----------------- 502s ---------------------- 502s --------------------------- 502s -------------------------------- 502s -- Trying 'Ninja' generator - failure 502s -------------------------------------------------------------------------------- 502s 502s 502s 502s -------------------------------------------------------------------------------- 502s -- Trying 'Unix Makefiles' generator 502s -------------------------------- 502s --------------------------- 502s ---------------------- 502s ----------------- 502s ------------ 502s ------- 502s -- 502s Not searching for unused variables given on the command line. 502s -- The C compiler identification is GNU 13.2.0 502s -- Detecting C compiler ABI info 502s -- Detecting C compiler ABI info - done 502s -- Check for working C compiler: /usr/bin/cc - skipped 502s -- Detecting C compile features 502s -- Detecting C compile features - done 502s -- The CXX compiler identification is GNU 13.2.0 502s -- Detecting CXX compiler ABI info 502s -- Detecting CXX compiler ABI info - done 502s -- Check for working CXX compiler: /usr/bin/c++ - skipped 502s -- Detecting CXX compile features 502s -- Detecting CXX compile features - done 502s -- Configuring done (0.7s) 502s -- Generating done (0.0s) 502s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-51/test_bdist_wheel_command0/wrapping/python/_cmake_test_compile/build 502s -- 502s ------- 502s ------------ 502s ----------------- 502s ---------------------- 502s --------------------------- 502s -------------------------------- 502s -- Trying 'Unix Makefiles' generator - success 502s -------------------------------------------------------------------------------- 502s 502s Configuring Project 502s Working directory: 502s /tmp/pytest-of-ubuntu/pytest-51/test_bdist_wheel_command0/wrapping/python/_skbuild/linux-armv7l-3.12/cmake-build 502s Command: 502s /usr/bin/cmake /tmp/pytest-of-ubuntu/pytest-51/test_bdist_wheel_command0 -G 'Unix Makefiles' --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pytest-of-ubuntu/pytest-51/test_bdist_wheel_command0/wrapping/python/_skbuild/linux-armv7l-3.12/cmake-install -DPYTHON_VERSION_STRING:STRING=3.12.4 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/usr/lib/python3/dist-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/usr/bin/python3.12 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPYTHON_LIBRARY:PATH=/usr/lib/arm-linux-gnueabihf/libpython3.12.so -DPython_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython_ROOT_DIR:PATH=/usr -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPython3_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython3_ROOT_DIR:PATH=/usr -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.12 -DCMAKE_BUILD_TYPE:STRING=Release 502s 502s Not searching for unused variables given on the command line. 502s -- Configuring done (0.0s) 502s -- Generating done (0.0s) 502s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-51/test_bdist_wheel_command0/wrapping/python/_skbuild/linux-armv7l-3.12/cmake-build 502s Install the project... 502s -- Install configuration: "Release" 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-51/test_bdist_wheel_command0/wrapping/python/_skbuild/linux-armv7l-3.12/cmake-install/include/bar.h 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-51/test_bdist_wheel_command0/wrapping/python/_skbuild/linux-armv7l-3.12/cmake-install/include/foo.h 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-51/test_bdist_wheel_command0/wrapping/python/_skbuild/linux-armv7l-3.12/cmake-install/lib/static/libbar.a 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-51/test_bdist_wheel_command0/wrapping/python/_skbuild/linux-armv7l-3.12/cmake-install/lib/static/libfoo.a 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-51/test_bdist_wheel_command0/wrapping/python/_skbuild/linux-armv7l-3.12/cmake-install/bin/hello 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-51/test_bdist_wheel_command0/wrapping/python/_skbuild/linux-armv7l-3.12/cmake-install/hello/swig_mwe.py 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-51/test_bdist_wheel_command0/wrapping/python/_skbuild/linux-armv7l-3.12/cmake-install/hello/_swig_mwe.pyd 502s 502s copying hello/__init__.py -> _skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py 502s 502s ----------------------------- Captured stderr call ----------------------------- 502s hint: Using 'master' as the name for the initial branch. This default branch name 502s hint: is subject to change. To configure the initial branch name to use in all 502s hint: of your new repositories, which will suppress this warning, call: 502s hint: 502s hint: git config --global init.defaultBranch 502s hint: 502s hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 502s hint: 'development'. The just-created branch can be renamed via this command: 502s hint: 502s hint: git branch -m 502s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 502s Compatibility with CMake < 3.5 will be removed from a future version of 502s CMake. 502s 502s Update the VERSION argument value or use a ... suffix to tell 502s CMake that the project does not need compatibility with older versions. 502s 502s 502s CMake Error: CMake was unable to find a build program corresponding to "Ninja". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. 502s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 502s Compatibility with CMake < 3.5 will be removed from a future version of 502s CMake. 502s 502s Update the VERSION argument value or use a ... suffix to tell 502s CMake that the project does not need compatibility with older versions. 502s 502s 502s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 502s Compatibility with CMake < 3.5 will be removed from a future version of 502s CMake. 502s 502s Update the VERSION argument value or use a ... suffix to tell 502s CMake that the project does not need compatibility with older versions. 502s 502s 502s ------------------------------ Captured log call ------------------------------- 502s INFO root:dist.py:986 running bdist_wheel 502s INFO root:dist.py:986 running build 502s INFO root:dist.py:986 running build_py 502s INFO root:dir_util.py:70 creating _skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312 502s __________________________ test_symbol_visibility[ON] __________________________ 502s 502s skip_override = 'ON' 502s 502s @pytest.mark.skipif( 502s platform.system().lower() not in ["linux"], reason="Executable and Linkable Format (ELF) is specific to Linux" 502s ) 502s @pytest.mark.parametrize("skip_override", ["ON", "OFF"]) 502s def test_symbol_visibility(skip_override): 502s with push_dir(): 502s tmp_dir = _tmpdir("test_issue668_symbol_visibility") 502s project = "issue-668-symbol-visibility" 502s prepare_project(project, tmp_dir) 502s initialize_git_repo_and_commit(tmp_dir, verbose=True) 502s 502s > with execute_setup_py( 502s tmp_dir, ["build", f"-DSKBUILD_GNU_SKIP_LOCAL_SYMBOL_EXPORT_OVERRIDE:BOOL={skip_override}"] 502s ): 502s 502s project = 'issue-668-symbol-visibility' 502s skip_override = 'ON' 502s tmp_dir = local('/tmp/pytest-of-ubuntu/pytest-62/test_issue668_symbol_visibilit0') 502s 502s tests/test_issue668_symbol_visibility.py:32: 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s /usr/lib/python3.12/contextlib.py:137: in __enter__ 502s return next(self.gen) 502s self = 502s tests/__init__.py:247: in execute_setup_py 502s exec(setup_code) 502s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 502s disable_languages_test = False 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-62/test_issue668_symbol_visibilit0') 502s setup = 502s setup_args = ['build', '-DSKBUILD_GNU_SKIP_LOCAL_SYMBOL_EXPORT_OVERRIDE:BOOL=ON'] 502s setup_code = at 0xec3ef8c0, file "setup.py", line 1> 502s setup.py:5: in 502s ??? 502s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 502s disable_languages_test = False 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-62/test_issue668_symbol_visibilit0') 502s setup = 502s setup_args = ['build', '-DSKBUILD_GNU_SKIP_LOCAL_SYMBOL_EXPORT_OVERRIDE:BOOL=ON'] 502s setup_code = at 0xec3ef8c0, file "setup.py", line 1> 502s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:781: in setup 502s return setuptools.setup(**kw) # type: ignore[no-any-return, func-returns-value] 502s BinaryDistribution = .BinaryDistribution'> 502s build_ext_inplace = False 502s cmake_args = ['-DSKBUILD_GNU_SKIP_LOCAL_SYMBOL_EXPORT_OVERRIDE:BOOL=ON', '-DCMAKE_BUILD_TYPE:STRING=Release'] 502s cmake_args_from_args = ['-DSKBUILD_GNU_SKIP_LOCAL_SYMBOL_EXPORT_OVERRIDE:BOOL=ON'] 502s cmake_executable = '/usr/bin/cmake' 502s cmake_install_dir = '' 502s cmake_install_target = 'install' 502s cmake_install_target_from_command = '' 502s cmake_install_target_from_setup = 'install' 502s cmake_languages = ('C', 'CXX') 502s cmake_manifest = ['_skbuild/linux-armv7l-3.12/cmake-install/hello/_hello.cpython-312-arm-linux-gnueabihf.so'] 502s cmake_minimum_required_version = None 502s cmake_process_manifest_hook = None 502s cmake_source_dir = '' 502s cmake_spec = {'args': ['/usr/bin/cmake', '-DSKBUILD_GNU_SKIP_LOCAL_SYMBOL_EXPORT_OVERRIDE:BOOL=ON', '-DCMAKE_BUILD_TYPE:STRING=Release'], 'environment': {'PYTHONNOUSERSITE': '1', 'PYTHONPATH': '/path/to/anything'}, 'version': '3.29.6'} 502s cmake_with_sdist = False 502s cmdclass = {'bdist': , 'bdist_wheel': , 'build': , 'build_ext': , ...} 502s cmkr = 502s commands = ['build'] 502s config_type = 'Release' 502s data_files = {} 502s developer_mode = False 502s display_only = False 502s env = {'ADTTMP': '/tmp/autopkgtest.EPTB0Y/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', 'ADT_TEST_TRIGGERS': 'setuptools/70.3.0-2', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', ...} 502s env_cmake_args = [] 502s force_cmake = False 502s has_cmakelists = True 502s has_invalid_arguments = False 502s help_commands = 0 502s hide_listing = False 502s item = '-DSKBUILD_GNU_SKIP_LOCAL_SYMBOL_EXPORT_OVERRIDE:BOOL=ON' 502s kw = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package (cpp version)', ...} 502s make_args = ['--config', 'Release'] 502s new_py_modules = {} 502s new_scripts = {} 502s original_manifestin_data_files = [] 502s original_package_data = {} 502s package = 'hello' 502s package_data = {'hello': ['_hello.cpython-312-arm-linux-gnueabihf.so', '__init__.py']} 502s package_dir = {'hello': 'hello'} 502s package_prefixes = [('hello', 'hello')] 502s packages = ['hello'] 502s plat_name = None 502s process_manifest = None 502s py_modules = [] 502s scripts = [] 502s skip_cmake = False 502s skip_generator_test = False 502s skip_skbuild = False 502s /usr/lib/python3/dist-packages/setuptools/__init__.py:103: in setup 502s return distutils.core.setup(**attrs) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package (cpp version)', ...} 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:184: in setup 502s return run_commands(dist) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package (cpp version)', ...} 502s dist = .BinaryDistribution object at 0xec55f078> 502s klass = .BinaryDistribution'> 502s ok = True 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:200: in run_commands 502s dist.run_commands() 502s dist = .BinaryDistribution object at 0xec55f078> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:970: in run_commands 502s self.run_command(cmd) 502s cmd = 'build' 502s self = .BinaryDistribution object at 0xec55f078> 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'build' 502s self = .BinaryDistribution object at 0xec55f078> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'build' 502s self = .BinaryDistribution object at 0xec55f078> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build.py:135: in run 502s self.run_command(cmd_name) 502s cmd_name = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 502s self.distribution.run_command(command) 502s command = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'build_py' 502s self = .BinaryDistribution object at 0xec55f078> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'build_py' 502s self = .BinaryDistribution object at 0xec55f078> 502s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:41: in run 502s super().run(*args, **kwargs) 502s __class__ = 502s args = () 502s kwargs = {} 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:74: in run 502s self.build_packages() 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:379: in build_packages 502s self.build_module(module, module_file, package) 502s module = '__init__' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py' 502s modules = [('hello', '__init__', '_skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py')] 502s package = 'hello' 502s package_ = 'hello' 502s package_dir = '_skbuild/linux-armv7l-3.12/cmake-install/hello' 502s self = 502s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:31: in build_module 502s super().build_module(module, module_file, package) # type: ignore[no-untyped-call] 502s __class__ = 502s module = '__init__' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py' 502s package = 'hello' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:89: in build_module 502s outfile, copied = orig.build_py.build_module(self, module, module_file, package) 502s module = '__init__' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py' 502s package = 'hello' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:349: in build_module 502s self.mkpath(dir) 502s dir = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello' 502s module = '__init__' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py' 502s outfile = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello/__init__.py' 502s package = ['hello'] 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:340: in mkpath 502s dir_util.mkpath(name, mode, dry_run=self.dry_run) 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello' 502s self = 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello' 502s mode = 511, verbose = True, dry_run = False 502s 502s def mkpath(name, mode=0o777, verbose=True, dry_run=False): # noqa: C901 502s """Create a directory and any missing ancestor directories. 502s 502s If the directory already exists (or if 'name' is the empty string, which 502s means the current directory, which of course exists), then do nothing. 502s Raise DistutilsFileError if unable to create some directory along the way 502s (eg. some sub-path exists, but is a file rather than a directory). 502s If 'verbose' is true, print a one-line summary of each mkdir to stdout. 502s Return the list of directories actually created. 502s 502s os.makedirs is not used because: 502s 502s a) It's new to Python 1.5.2, and 502s b) it blows up if the directory already exists (in which case it should 502s silently succeed). 502s """ 502s 502s global _path_created 502s 502s # Detect a common bug -- name is None 502s if not isinstance(name, str): 502s raise DistutilsInternalError(f"mkpath: 'name' must be a string (got {name!r})") 502s 502s # XXX what's the better way to handle verbosity? print as we create 502s # each directory in the path (the current behaviour), or only announce 502s # the creation of the whole path? (quite easy to do the latter since 502s # we're not using a recursive algorithm) 502s 502s name = os.path.normpath(name) 502s created_dirs = [] 502s if os.path.isdir(name) or name == '': 502s return created_dirs 502s if os.path.abspath(name) in _path_created: 502s return created_dirs 502s 502s (head, tail) = os.path.split(name) 502s tails = [tail] # stack of lone dirs to create 502s 502s while head and tail and not os.path.isdir(head): 502s (head, tail) = os.path.split(head) 502s tails.insert(0, tail) # push next higher dir onto stack 502s 502s # now 'head' contains the deepest directory that already exists 502s # (that is, the child of 'head' in 'name' is the highest directory 502s # that does *not* exist) 502s for d in tails: 502s # print "head = %s, d = %s: " % (head, d), 502s head = os.path.join(head, d) 502s abs_head = os.path.abspath(head) 502s 502s if abs_head in _path_created: 502s continue 502s 502s if verbose >= 1: 502s log.info("creating %s", head) 502s 502s if not dry_run: 502s try: 502s os.mkdir(head, mode) 502s except OSError as exc: 502s if not (exc.errno == errno.EEXIST and os.path.isdir(head)): 502s raise DistutilsFileError( 502s f"could not create '{head}': {exc.args[-1]}" 502s ) 502s created_dirs.append(head) 502s 502s > _path_created.add(abs_head) 502s E AttributeError: 'dict' object has no attribute 'add' 502s 502s abs_head = '/tmp/pytest-of-ubuntu/pytest-62/test_issue668_symbol_visibilit0/_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 502s created_dirs = ['_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312'] 502s d = 'lib.linux-armv7l-cpython-312' 502s dry_run = False 502s head = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello' 502s tail = 'lib.linux-armv7l-cpython-312' 502s tails = ['lib.linux-armv7l-cpython-312', 'hello'] 502s verbose = True 502s 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dir_util.py:82: AttributeError 502s ----------------------------- Captured stdout call ----------------------------- 502s Initialized empty Git repository in /tmp/pytest-of-ubuntu/pytest-62/test_issue668_symbol_visibilit0/.git/ 502s [master (root-commit) d41d47f] Initial commit 502s 5 files changed, 121 insertions(+) 502s create mode 100644 CMakeLists.txt 502s create mode 100644 hello/__init__.py 502s create mode 100644 hello/_hello.cxx 502s create mode 100644 pyproject.toml 502s create mode 100644 setup.py 502s 502s 502s -------------------------------------------------------------------------------- 502s -- Trying 'Ninja' generator 502s -------------------------------- 502s --------------------------- 502s ---------------------- 502s ----------------- 502s ------------ 502s ------- 502s -- 502s Not searching for unused variables given on the command line. 502s -- Configuring incomplete, errors occurred! 502s -- 502s ------- 502s ------------ 502s ----------------- 502s ---------------------- 502s --------------------------- 502s -------------------------------- 502s -- Trying 'Ninja' generator - failure 502s -------------------------------------------------------------------------------- 502s 502s 502s 502s -------------------------------------------------------------------------------- 502s -- Trying 'Unix Makefiles' generator 502s -------------------------------- 502s --------------------------- 502s ---------------------- 502s ----------------- 502s ------------ 502s ------- 502s -- 502s Not searching for unused variables given on the command line. 502s -- The C compiler identification is GNU 13.2.0 502s -- Detecting C compiler ABI info 502s -- Detecting C compiler ABI info - done 502s -- Check for working C compiler: /usr/bin/cc - skipped 502s -- Detecting C compile features 502s -- Detecting C compile features - done 502s -- The CXX compiler identification is GNU 13.2.0 502s -- Detecting CXX compiler ABI info 502s -- Detecting CXX compiler ABI info - done 502s -- Check for working CXX compiler: /usr/bin/c++ - skipped 502s -- Detecting CXX compile features 502s -- Detecting CXX compile features - done 502s -- Configuring done (0.6s) 502s -- Generating done (0.0s) 502s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-62/test_issue668_symbol_visibilit0/_cmake_test_compile/build 502s -- 502s ------- 502s ------------ 502s ----------------- 502s ---------------------- 502s --------------------------- 502s -------------------------------- 502s -- Trying 'Unix Makefiles' generator - success 502s -------------------------------------------------------------------------------- 502s 502s Configuring Project 502s Working directory: 502s /tmp/pytest-of-ubuntu/pytest-62/test_issue668_symbol_visibilit0/_skbuild/linux-armv7l-3.12/cmake-build 502s Command: 502s /usr/bin/cmake /tmp/pytest-of-ubuntu/pytest-62/test_issue668_symbol_visibilit0 -G 'Unix Makefiles' --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pytest-of-ubuntu/pytest-62/test_issue668_symbol_visibilit0/_skbuild/linux-armv7l-3.12/cmake-install -DPYTHON_VERSION_STRING:STRING=3.12.4 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/usr/lib/python3/dist-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/usr/bin/python3.12 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPYTHON_LIBRARY:PATH=/usr/lib/arm-linux-gnueabihf/libpython3.12.so -DPython_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython_ROOT_DIR:PATH=/usr -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPython3_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython3_ROOT_DIR:PATH=/usr -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.12 -DSKBUILD_GNU_SKIP_LOCAL_SYMBOL_EXPORT_OVERRIDE:BOOL=ON -DCMAKE_BUILD_TYPE:STRING=Release 502s 502s Not searching for unused variables given on the command line. 502s -- The C compiler identification is GNU 13.2.0 502s -- The CXX compiler identification is GNU 13.2.0 502s -- Detecting C compiler ABI info 502s -- Detecting C compiler ABI info - done 502s -- Check for working C compiler: /usr/bin/cc - skipped 502s -- Detecting C compile features 502s -- Detecting C compile features - done 502s -- Detecting CXX compiler ABI info 502s -- Detecting CXX compiler ABI info - done 502s -- Check for working CXX compiler: /usr/bin/c++ - skipped 502s -- Detecting CXX compile features 502s -- Detecting CXX compile features - done 502s -- Found PythonInterp: /usr/bin/python3.12 (found version "3.12.4") 502s -- Found PythonLibs: /usr/lib/arm-linux-gnueabihf/libpython3.12.so (found version "3.12.4") 502s -- Performing Test Weak Link MODULE -> SHARED (gnu_ld_ignore) - Success 502s -- Configuring done (1.4s) 502s -- Generating done (0.0s) 502s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-62/test_issue668_symbol_visibilit0/_skbuild/linux-armv7l-3.12/cmake-build 502s [ 50%] Building CXX object CMakeFiles/_hello.dir/hello/_hello.cxx.o 502s [100%] Linking CXX shared module _hello.cpython-312-arm-linux-gnueabihf.so 502s [100%] Built target _hello 502s Install the project... 502s -- Install configuration: "Release" 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-62/test_issue668_symbol_visibilit0/_skbuild/linux-armv7l-3.12/cmake-install/hello/_hello.cpython-312-arm-linux-gnueabihf.so 502s 502s copying hello/__init__.py -> _skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py 502s 502s ----------------------------- Captured stderr call ----------------------------- 502s hint: Using 'master' as the name for the initial branch. This default branch name 502s hint: is subject to change. To configure the initial branch name to use in all 502s hint: of your new repositories, which will suppress this warning, call: 502s hint: 502s hint: git config --global init.defaultBranch 502s hint: 502s hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 502s hint: 'development'. The just-created branch can be renamed via this command: 502s hint: 502s hint: git branch -m 502s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 502s Compatibility with CMake < 3.5 will be removed from a future version of 502s CMake. 502s 502s Update the VERSION argument value or use a ... suffix to tell 502s CMake that the project does not need compatibility with older versions. 502s 502s 502s CMake Error: CMake was unable to find a build program corresponding to "Ninja". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. 502s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 502s Compatibility with CMake < 3.5 will be removed from a future version of 502s CMake. 502s 502s Update the VERSION argument value or use a ... suffix to tell 502s CMake that the project does not need compatibility with older versions. 502s 502s 502s CMake Warning (dev) at /usr/lib/python3/dist-packages/skbuild/resources/cmake/FindPythonExtensions.cmake:245 (find_package): 502s Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules 502s are removed. Run "cmake --help-policy CMP0148" for policy details. Use 502s the cmake_policy command to set the policy and suppress this warning. 502s 502s Call Stack (most recent call first): 502s CMakeLists.txt:5 (find_package) 502s This warning is for project developers. Use -Wno-dev to suppress it. 502s 502s CMake Warning (dev) at /usr/lib/python3/dist-packages/skbuild/resources/cmake/FindPythonExtensions.cmake:252 (find_package): 502s Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules 502s are removed. Run "cmake --help-policy CMP0148" for policy details. Use 502s the cmake_policy command to set the policy and suppress this warning. 502s 502s Call Stack (most recent call first): 502s CMakeLists.txt:5 (find_package) 502s This warning is for project developers. Use -Wno-dev to suppress it. 502s 502s _modinit_prefix:PyInit_ 502s ------------------------------ Captured log call ------------------------------- 502s INFO root:dist.py:986 running build 502s INFO root:dist.py:986 running build_py 502s INFO root:dir_util.py:70 creating _skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312 502s _________________________ test_symbol_visibility[OFF] __________________________ 502s 502s skip_override = 'OFF' 502s 502s @pytest.mark.skipif( 502s platform.system().lower() not in ["linux"], reason="Executable and Linkable Format (ELF) is specific to Linux" 502s ) 502s @pytest.mark.parametrize("skip_override", ["ON", "OFF"]) 502s def test_symbol_visibility(skip_override): 502s with push_dir(): 502s tmp_dir = _tmpdir("test_issue668_symbol_visibility") 502s project = "issue-668-symbol-visibility" 502s prepare_project(project, tmp_dir) 502s initialize_git_repo_and_commit(tmp_dir, verbose=True) 502s 502s > with execute_setup_py( 502s tmp_dir, ["build", f"-DSKBUILD_GNU_SKIP_LOCAL_SYMBOL_EXPORT_OVERRIDE:BOOL={skip_override}"] 502s ): 502s 502s project = 'issue-668-symbol-visibility' 502s skip_override = 'OFF' 502s tmp_dir = local('/tmp/pytest-of-ubuntu/pytest-63/test_issue668_symbol_visibilit0') 502s 502s tests/test_issue668_symbol_visibility.py:32: 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s /usr/lib/python3.12/contextlib.py:137: in __enter__ 502s return next(self.gen) 502s self = 502s tests/__init__.py:247: in execute_setup_py 502s exec(setup_code) 502s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 502s disable_languages_test = False 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-63/test_issue668_symbol_visibilit0') 502s setup = 502s setup_args = ['build', '-DSKBUILD_GNU_SKIP_LOCAL_SYMBOL_EXPORT_OVERRIDE:BOOL=OFF'] 502s setup_code = at 0xec3efa30, file "setup.py", line 1> 502s setup.py:5: in 502s ??? 502s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 502s disable_languages_test = False 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-63/test_issue668_symbol_visibilit0') 502s setup = 502s setup_args = ['build', '-DSKBUILD_GNU_SKIP_LOCAL_SYMBOL_EXPORT_OVERRIDE:BOOL=OFF'] 502s setup_code = at 0xec3efa30, file "setup.py", line 1> 502s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:781: in setup 502s return setuptools.setup(**kw) # type: ignore[no-any-return, func-returns-value] 502s BinaryDistribution = .BinaryDistribution'> 502s build_ext_inplace = False 502s cmake_args = ['-DSKBUILD_GNU_SKIP_LOCAL_SYMBOL_EXPORT_OVERRIDE:BOOL=OFF', '-DCMAKE_BUILD_TYPE:STRING=Release'] 502s cmake_args_from_args = ['-DSKBUILD_GNU_SKIP_LOCAL_SYMBOL_EXPORT_OVERRIDE:BOOL=OFF'] 502s cmake_executable = '/usr/bin/cmake' 502s cmake_install_dir = '' 502s cmake_install_target = 'install' 502s cmake_install_target_from_command = '' 502s cmake_install_target_from_setup = 'install' 502s cmake_languages = ('C', 'CXX') 502s cmake_manifest = ['_skbuild/linux-armv7l-3.12/cmake-install/hello/_hello.cpython-312-arm-linux-gnueabihf.so'] 502s cmake_minimum_required_version = None 502s cmake_process_manifest_hook = None 502s cmake_source_dir = '' 502s cmake_spec = {'args': ['/usr/bin/cmake', '-DSKBUILD_GNU_SKIP_LOCAL_SYMBOL_EXPORT_OVERRIDE:BOOL=OFF', '-DCMAKE_BUILD_TYPE:STRING=Release'], 'environment': {'PYTHONNOUSERSITE': '1', 'PYTHONPATH': '/path/to/anything'}, 'version': '3.29.6'} 502s cmake_with_sdist = False 502s cmdclass = {'bdist': , 'bdist_wheel': , 'build': , 'build_ext': , ...} 502s cmkr = 502s commands = ['build'] 502s config_type = 'Release' 502s data_files = {} 502s developer_mode = False 502s display_only = False 502s env = {'ADTTMP': '/tmp/autopkgtest.EPTB0Y/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', 'ADT_TEST_TRIGGERS': 'setuptools/70.3.0-2', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', ...} 502s env_cmake_args = [] 502s force_cmake = False 502s has_cmakelists = True 502s has_invalid_arguments = False 502s help_commands = 0 502s hide_listing = False 502s item = '-DSKBUILD_GNU_SKIP_LOCAL_SYMBOL_EXPORT_OVERRIDE:BOOL=OFF' 502s kw = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package (cpp version)', ...} 502s make_args = ['--config', 'Release'] 502s new_py_modules = {} 502s new_scripts = {} 502s original_manifestin_data_files = [] 502s original_package_data = {} 502s package = 'hello' 502s package_data = {'hello': ['_hello.cpython-312-arm-linux-gnueabihf.so', '__init__.py']} 502s package_dir = {'hello': 'hello'} 502s package_prefixes = [('hello', 'hello')] 502s packages = ['hello'] 502s plat_name = None 502s process_manifest = None 502s py_modules = [] 502s scripts = [] 502s skip_cmake = False 502s skip_generator_test = False 502s skip_skbuild = False 502s /usr/lib/python3/dist-packages/setuptools/__init__.py:103: in setup 502s return distutils.core.setup(**attrs) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package (cpp version)', ...} 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:184: in setup 502s return run_commands(dist) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package (cpp version)', ...} 502s dist = .BinaryDistribution object at 0xec56f618> 502s klass = .BinaryDistribution'> 502s ok = True 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:200: in run_commands 502s dist.run_commands() 502s dist = .BinaryDistribution object at 0xec56f618> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:970: in run_commands 502s self.run_command(cmd) 502s cmd = 'build' 502s self = .BinaryDistribution object at 0xec56f618> 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'build' 502s self = .BinaryDistribution object at 0xec56f618> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'build' 502s self = .BinaryDistribution object at 0xec56f618> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build.py:135: in run 502s self.run_command(cmd_name) 502s cmd_name = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 502s self.distribution.run_command(command) 502s command = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'build_py' 502s self = .BinaryDistribution object at 0xec56f618> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'build_py' 502s self = .BinaryDistribution object at 0xec56f618> 502s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:41: in run 502s super().run(*args, **kwargs) 502s __class__ = 502s args = () 502s kwargs = {} 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:74: in run 502s self.build_packages() 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:379: in build_packages 502s self.build_module(module, module_file, package) 502s module = '__init__' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py' 502s modules = [('hello', '__init__', '_skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py')] 502s package = 'hello' 502s package_ = 'hello' 502s package_dir = '_skbuild/linux-armv7l-3.12/cmake-install/hello' 502s self = 502s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:31: in build_module 502s super().build_module(module, module_file, package) # type: ignore[no-untyped-call] 502s __class__ = 502s module = '__init__' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py' 502s package = 'hello' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:89: in build_module 502s outfile, copied = orig.build_py.build_module(self, module, module_file, package) 502s module = '__init__' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py' 502s package = 'hello' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:349: in build_module 502s self.mkpath(dir) 502s dir = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello' 502s module = '__init__' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py' 502s outfile = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello/__init__.py' 502s package = ['hello'] 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:340: in mkpath 502s dir_util.mkpath(name, mode, dry_run=self.dry_run) 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello' 502s self = 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello' 502s mode = 511, verbose = True, dry_run = False 502s 502s def mkpath(name, mode=0o777, verbose=True, dry_run=False): # noqa: C901 502s """Create a directory and any missing ancestor directories. 502s 502s If the directory already exists (or if 'name' is the empty string, which 502s means the current directory, which of course exists), then do nothing. 502s Raise DistutilsFileError if unable to create some directory along the way 502s (eg. some sub-path exists, but is a file rather than a directory). 502s If 'verbose' is true, print a one-line summary of each mkdir to stdout. 502s Return the list of directories actually created. 502s 502s os.makedirs is not used because: 502s 502s a) It's new to Python 1.5.2, and 502s b) it blows up if the directory already exists (in which case it should 502s silently succeed). 502s """ 502s 502s global _path_created 502s 502s # Detect a common bug -- name is None 502s if not isinstance(name, str): 502s raise DistutilsInternalError(f"mkpath: 'name' must be a string (got {name!r})") 502s 502s # XXX what's the better way to handle verbosity? print as we create 502s # each directory in the path (the current behaviour), or only announce 502s # the creation of the whole path? (quite easy to do the latter since 502s # we're not using a recursive algorithm) 502s 502s name = os.path.normpath(name) 502s created_dirs = [] 502s if os.path.isdir(name) or name == '': 502s return created_dirs 502s if os.path.abspath(name) in _path_created: 502s return created_dirs 502s 502s (head, tail) = os.path.split(name) 502s tails = [tail] # stack of lone dirs to create 502s 502s while head and tail and not os.path.isdir(head): 502s (head, tail) = os.path.split(head) 502s tails.insert(0, tail) # push next higher dir onto stack 502s 502s # now 'head' contains the deepest directory that already exists 502s # (that is, the child of 'head' in 'name' is the highest directory 502s # that does *not* exist) 502s for d in tails: 502s # print "head = %s, d = %s: " % (head, d), 502s head = os.path.join(head, d) 502s abs_head = os.path.abspath(head) 502s 502s if abs_head in _path_created: 502s continue 502s 502s if verbose >= 1: 502s log.info("creating %s", head) 502s 502s if not dry_run: 502s try: 502s os.mkdir(head, mode) 502s except OSError as exc: 502s if not (exc.errno == errno.EEXIST and os.path.isdir(head)): 502s raise DistutilsFileError( 502s f"could not create '{head}': {exc.args[-1]}" 502s ) 502s created_dirs.append(head) 502s 502s > _path_created.add(abs_head) 502s E AttributeError: 'dict' object has no attribute 'add' 502s 502s abs_head = '/tmp/pytest-of-ubuntu/pytest-63/test_issue668_symbol_visibilit0/_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 502s created_dirs = ['_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312'] 502s d = 'lib.linux-armv7l-cpython-312' 502s dry_run = False 502s head = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/hello' 502s tail = 'lib.linux-armv7l-cpython-312' 502s tails = ['lib.linux-armv7l-cpython-312', 'hello'] 502s verbose = True 502s 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dir_util.py:82: AttributeError 502s ----------------------------- Captured stdout call ----------------------------- 502s Initialized empty Git repository in /tmp/pytest-of-ubuntu/pytest-63/test_issue668_symbol_visibilit0/.git/ 502s [master (root-commit) 551249a] Initial commit 502s 5 files changed, 121 insertions(+) 502s create mode 100644 CMakeLists.txt 502s create mode 100644 hello/__init__.py 502s create mode 100644 hello/_hello.cxx 502s create mode 100644 pyproject.toml 502s create mode 100644 setup.py 502s 502s 502s -------------------------------------------------------------------------------- 502s -- Trying 'Ninja' generator 502s -------------------------------- 502s --------------------------- 502s ---------------------- 502s ----------------- 502s ------------ 502s ------- 502s -- 502s Not searching for unused variables given on the command line. 502s -- Configuring incomplete, errors occurred! 502s -- 502s ------- 502s ------------ 502s ----------------- 502s ---------------------- 502s --------------------------- 502s -------------------------------- 502s -- Trying 'Ninja' generator - failure 502s -------------------------------------------------------------------------------- 502s 502s 502s 502s -------------------------------------------------------------------------------- 502s -- Trying 'Unix Makefiles' generator 502s -------------------------------- 502s --------------------------- 502s ---------------------- 502s ----------------- 502s ------------ 502s ------- 502s -- 502s Not searching for unused variables given on the command line. 502s -- The C compiler identification is GNU 13.2.0 502s -- Detecting C compiler ABI info 502s -- Detecting C compiler ABI info - done 502s -- Check for working C compiler: /usr/bin/cc - skipped 502s -- Detecting C compile features 502s -- Detecting C compile features - done 502s -- The CXX compiler identification is GNU 13.2.0 502s -- Detecting CXX compiler ABI info 502s -- Detecting CXX compiler ABI info - done 502s -- Check for working CXX compiler: /usr/bin/c++ - skipped 502s -- Detecting CXX compile features 502s -- Detecting CXX compile features - done 502s -- Configuring done (0.6s) 502s -- Generating done (0.0s) 502s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-63/test_issue668_symbol_visibilit0/_cmake_test_compile/build 502s -- 502s ------- 502s ------------ 502s ----------------- 502s ---------------------- 502s --------------------------- 502s -------------------------------- 502s -- Trying 'Unix Makefiles' generator - success 502s -------------------------------------------------------------------------------- 502s 502s Configuring Project 502s Working directory: 502s /tmp/pytest-of-ubuntu/pytest-63/test_issue668_symbol_visibilit0/_skbuild/linux-armv7l-3.12/cmake-build 502s Command: 502s /usr/bin/cmake /tmp/pytest-of-ubuntu/pytest-63/test_issue668_symbol_visibilit0 -G 'Unix Makefiles' --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pytest-of-ubuntu/pytest-63/test_issue668_symbol_visibilit0/_skbuild/linux-armv7l-3.12/cmake-install -DPYTHON_VERSION_STRING:STRING=3.12.4 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/usr/lib/python3/dist-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/usr/bin/python3.12 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPYTHON_LIBRARY:PATH=/usr/lib/arm-linux-gnueabihf/libpython3.12.so -DPython_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython_ROOT_DIR:PATH=/usr -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPython3_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython3_ROOT_DIR:PATH=/usr -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.12 -DSKBUILD_GNU_SKIP_LOCAL_SYMBOL_EXPORT_OVERRIDE:BOOL=OFF -DCMAKE_BUILD_TYPE:STRING=Release 502s 502s Not searching for unused variables given on the command line. 502s -- The C compiler identification is GNU 13.2.0 502s -- The CXX compiler identification is GNU 13.2.0 502s -- Detecting C compiler ABI info 502s -- Detecting C compiler ABI info - done 502s -- Check for working C compiler: /usr/bin/cc - skipped 502s -- Detecting C compile features 502s -- Detecting C compile features - done 502s -- Detecting CXX compiler ABI info 502s -- Detecting CXX compiler ABI info - done 502s -- Check for working CXX compiler: /usr/bin/c++ - skipped 502s -- Detecting CXX compile features 502s -- Detecting CXX compile features - done 502s -- Found PythonInterp: /usr/bin/python3.12 (found version "3.12.4") 502s -- Found PythonLibs: /usr/lib/arm-linux-gnueabihf/libpython3.12.so (found version "3.12.4") 502s -- Performing Test Weak Link MODULE -> SHARED (gnu_ld_ignore) - Success 502s -- Configuring done (1.4s) 502s -- Generating done (0.0s) 502s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-63/test_issue668_symbol_visibilit0/_skbuild/linux-armv7l-3.12/cmake-build 502s [ 50%] Building CXX object CMakeFiles/_hello.dir/hello/_hello.cxx.o 502s [100%] Linking CXX shared module _hello.cpython-312-arm-linux-gnueabihf.so 502s [100%] Built target _hello 502s Install the project... 502s -- Install configuration: "Release" 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-63/test_issue668_symbol_visibilit0/_skbuild/linux-armv7l-3.12/cmake-install/hello/_hello.cpython-312-arm-linux-gnueabihf.so 502s 502s copying hello/__init__.py -> _skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py 502s 502s ----------------------------- Captured stderr call ----------------------------- 502s hint: Using 'master' as the name for the initial branch. This default branch name 502s hint: is subject to change. To configure the initial branch name to use in all 502s hint: of your new repositories, which will suppress this warning, call: 502s hint: 502s hint: git config --global init.defaultBranch 502s hint: 502s hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 502s hint: 'development'. The just-created branch can be renamed via this command: 502s hint: 502s hint: git branch -m 502s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 502s Compatibility with CMake < 3.5 will be removed from a future version of 502s CMake. 502s 502s Update the VERSION argument value or use a ... suffix to tell 502s CMake that the project does not need compatibility with older versions. 502s 502s 502s CMake Error: CMake was unable to find a build program corresponding to "Ninja". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. 502s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 502s Compatibility with CMake < 3.5 will be removed from a future version of 502s CMake. 502s 502s Update the VERSION argument value or use a ... suffix to tell 502s CMake that the project does not need compatibility with older versions. 502s 502s 502s CMake Warning (dev) at /usr/lib/python3/dist-packages/skbuild/resources/cmake/FindPythonExtensions.cmake:245 (find_package): 502s Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules 502s are removed. Run "cmake --help-policy CMP0148" for policy details. Use 502s the cmake_policy command to set the policy and suppress this warning. 502s 502s Call Stack (most recent call first): 502s CMakeLists.txt:5 (find_package) 502s This warning is for project developers. Use -Wno-dev to suppress it. 502s 502s CMake Warning (dev) at /usr/lib/python3/dist-packages/skbuild/resources/cmake/FindPythonExtensions.cmake:252 (find_package): 502s Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules 502s are removed. Run "cmake --help-policy CMP0148" for policy details. Use 502s the cmake_policy command to set the policy and suppress this warning. 502s 502s Call Stack (most recent call first): 502s CMakeLists.txt:5 (find_package) 502s This warning is for project developers. Use -Wno-dev to suppress it. 502s 502s _modinit_prefix:PyInit_ 502s ------------------------------ Captured log call ------------------------------- 502s INFO root:dist.py:986 running build 502s INFO root:dist.py:986 running build_py 502s INFO root:dir_util.py:70 creating _skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312 502s ____________________________ test_manifest_in_wheel ____________________________ 502s 502s iargs = (), ikwargs = {} 502s 502s @functools.wraps(fun) 502s def wrapped(*iargs, **ikwargs): 502s if wrapped.tmp_dir is None: # type: ignore[attr-defined] 502s wrapped.tmp_dir = _tmpdir(fun.__name__) # type: ignore[attr-defined] 502s prepare_project(wrapped.project, wrapped.tmp_dir) # type: ignore[attr-defined] 502s initialize_git_repo_and_commit(wrapped.tmp_dir, verbose=wrapped.verbose_git) # type: ignore[attr-defined] 502s 502s > with execute_setup_py(wrapped.tmp_dir, wrapped.setup_args, disable_languages_test=disable_languages_test): # type: ignore[attr-defined] 502s 502s disable_languages_test = True 502s fun = 502s iargs = () 502s ikwargs = {} 502s ret = False 502s wrapped = 502s 502s tests/__init__.py:261: 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s /usr/lib/python3.12/contextlib.py:137: in __enter__ 502s return next(self.gen) 502s self = 502s tests/__init__.py:244: in execute_setup_py 502s exec(setup_code) 502s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 502s disable_languages_test = True 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s original_write_test_cmakelist = 502s platform = 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-64/test_manifest_in_wheel0') 502s setup = 502s setup_args = ['bdist_wheel'] 502s setup_code = at 0xec3eff38, file "setup.py", line 1> 502s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xec38be38> 502s setup.py:5: in 502s ??? 502s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 502s disable_languages_test = True 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s original_write_test_cmakelist = 502s platform = 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-64/test_manifest_in_wheel0') 502s setup = 502s setup_args = ['bdist_wheel'] 502s setup_code = at 0xec3eff38, file "setup.py", line 1> 502s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xec38be38> 502s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:513: in setup 502s return setuptools.setup(**kw) # type: ignore[no-any-return, func-returns-value] 502s build_ext_inplace = False 502s cmake_args = () 502s cmake_args_from_args = [] 502s cmake_executable = None 502s cmake_install_dir = '' 502s cmake_install_target = 'install' 502s cmake_languages = ('C', 'CXX') 502s cmake_minimum_required_version = None 502s cmake_process_manifest_hook = None 502s cmake_source_dir = '' 502s cmake_with_sdist = False 502s cmdclass = {'bdist': , 'bdist_wheel': , 'build': , 'build_ext': , ...} 502s commands = ['bdist_wheel'] 502s display_only = False 502s force_cmake = False 502s has_cmakelists = False 502s has_invalid_arguments = False 502s help_commands = 0 502s hide_listing = False 502s kw = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'description': 'a minimal example package with a MANIFEST.in', 'license': 'MIT', ...} 502s make_args = [] 502s plat_name = None 502s skip_cmake = False 502s skip_generator_test = False 502s skip_skbuild = True 502s /usr/lib/python3/dist-packages/setuptools/__init__.py:103: in setup 502s return distutils.core.setup(**attrs) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'description': 'a minimal example package with a MANIFEST.in', 'license': 'MIT', ...} 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:184: in setup 502s return run_commands(dist) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'description': 'a minimal example package with a MANIFEST.in', 'license': 'MIT', ...} 502s dist = 502s klass = 502s ok = True 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:200: in run_commands 502s dist.run_commands() 502s dist = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:970: in run_commands 502s self.run_command(cmd) 502s cmd = 'bdist_wheel' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'bdist_wheel' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'bdist_wheel' 502s self = 502s /usr/lib/python3/dist-packages/skbuild/command/bdist_wheel.py:33: in run 502s super().run(*args, **kwargs) 502s __class__ = 502s args = () 502s kwargs = {} 502s old_write_files = 502s self = 502s update_write_files = .update_write_files at 0xec088bb8> 502s /usr/lib/python3/dist-packages/wheel/bdist_wheel.py:368: in run 502s self.run_command("build") 502s build_ext = 502s build_scripts = 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 502s self.distribution.run_command(command) 502s command = 'build' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'build' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'build' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build.py:135: in run 502s self.run_command(cmd_name) 502s cmd_name = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 502s self.distribution.run_command(command) 502s command = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:41: in run 502s super().run(*args, **kwargs) 502s __class__ = 502s args = () 502s kwargs = {} 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:74: in run 502s self.build_packages() 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:379: in build_packages 502s self.build_module(module, module_file, package) 502s module = '__init__' 502s module_file = 'hello/__init__.py' 502s modules = [('hello', '__init__', 'hello/__init__.py')] 502s package = 'hello' 502s package_ = 'hello' 502s package_dir = 'hello' 502s self = 502s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:31: in build_module 502s super().build_module(module, module_file, package) # type: ignore[no-untyped-call] 502s __class__ = 502s module = '__init__' 502s module_file = 'hello/__init__.py' 502s package = 'hello' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:89: in build_module 502s outfile, copied = orig.build_py.build_module(self, module, module_file, package) 502s module = '__init__' 502s module_file = 'hello/__init__.py' 502s package = 'hello' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:349: in build_module 502s self.mkpath(dir) 502s dir = '_skbuild/linux-armv7l-3.12/setuptools/lib/hello' 502s module = '__init__' 502s module_file = 'hello/__init__.py' 502s outfile = '_skbuild/linux-armv7l-3.12/setuptools/lib/hello/__init__.py' 502s package = ['hello'] 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:340: in mkpath 502s dir_util.mkpath(name, mode, dry_run=self.dry_run) 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib/hello' 502s self = 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib/hello', mode = 511 502s verbose = True, dry_run = False 502s 502s def mkpath(name, mode=0o777, verbose=True, dry_run=False): # noqa: C901 502s """Create a directory and any missing ancestor directories. 502s 502s If the directory already exists (or if 'name' is the empty string, which 502s means the current directory, which of course exists), then do nothing. 502s Raise DistutilsFileError if unable to create some directory along the way 502s (eg. some sub-path exists, but is a file rather than a directory). 502s If 'verbose' is true, print a one-line summary of each mkdir to stdout. 502s Return the list of directories actually created. 502s 502s os.makedirs is not used because: 502s 502s a) It's new to Python 1.5.2, and 502s b) it blows up if the directory already exists (in which case it should 502s silently succeed). 502s """ 502s 502s global _path_created 502s 502s # Detect a common bug -- name is None 502s if not isinstance(name, str): 502s raise DistutilsInternalError(f"mkpath: 'name' must be a string (got {name!r})") 502s 502s # XXX what's the better way to handle verbosity? print as we create 502s # each directory in the path (the current behaviour), or only announce 502s # the creation of the whole path? (quite easy to do the latter since 502s # we're not using a recursive algorithm) 502s 502s name = os.path.normpath(name) 502s created_dirs = [] 502s if os.path.isdir(name) or name == '': 502s return created_dirs 502s if os.path.abspath(name) in _path_created: 502s return created_dirs 502s 502s (head, tail) = os.path.split(name) 502s tails = [tail] # stack of lone dirs to create 502s 502s while head and tail and not os.path.isdir(head): 502s (head, tail) = os.path.split(head) 502s tails.insert(0, tail) # push next higher dir onto stack 502s 502s # now 'head' contains the deepest directory that already exists 502s # (that is, the child of 'head' in 'name' is the highest directory 502s # that does *not* exist) 502s for d in tails: 502s # print "head = %s, d = %s: " % (head, d), 502s head = os.path.join(head, d) 502s abs_head = os.path.abspath(head) 502s 502s if abs_head in _path_created: 502s continue 502s 502s if verbose >= 1: 502s log.info("creating %s", head) 502s 502s if not dry_run: 502s try: 502s os.mkdir(head, mode) 502s except OSError as exc: 502s if not (exc.errno == errno.EEXIST and os.path.isdir(head)): 502s raise DistutilsFileError( 502s f"could not create '{head}': {exc.args[-1]}" 502s ) 502s created_dirs.append(head) 502s 502s > _path_created.add(abs_head) 502s E AttributeError: 'dict' object has no attribute 'add' 502s 502s abs_head = '/tmp/pytest-of-ubuntu/pytest-64/test_manifest_in_wheel0/_skbuild' 502s created_dirs = ['_skbuild'] 502s d = '_skbuild' 502s dry_run = False 502s head = '_skbuild' 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib/hello' 502s tail = '_skbuild' 502s tails = ['_skbuild', 'linux-armv7l-3.12', 'setuptools', 'lib', 'hello'] 502s verbose = True 502s 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dir_util.py:82: AttributeError 502s ----------------------------- Captured stdout call ----------------------------- 502s Initialized empty Git repository in /tmp/pytest-of-ubuntu/pytest-64/test_manifest_in_wheel0/.git/ 502s [master (root-commit) 27d6084] Initial commit 502s 4 files changed, 14 insertions(+) 502s create mode 100644 MANIFEST.in 502s create mode 100644 hello/__init__.py 502s create mode 100644 not_included.txt 502s create mode 100644 setup.py 502s skipping skbuild (no CMakeLists.txt found) 502s ----------------------------- Captured stderr call ----------------------------- 502s hint: Using 'master' as the name for the initial branch. This default branch name 502s hint: is subject to change. To configure the initial branch name to use in all 502s hint: of your new repositories, which will suppress this warning, call: 502s hint: 502s hint: git config --global init.defaultBranch 502s hint: 502s hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 502s hint: 'development'. The just-created branch can be renamed via this command: 502s hint: 502s hint: git branch -m 502s ------------------------------ Captured log call ------------------------------- 502s INFO root:dist.py:986 running bdist_wheel 502s INFO root:dist.py:986 running build 502s INFO root:dist.py:986 running build_py 502s INFO root:dir_util.py:70 creating _skbuild 502s ____________________ test_distribution_is_pure[py_modules] _____________________ 502s 502s distribution_type = 'py_modules' 502s tmpdir = local('/tmp/pytest-of-ubuntu/pytest-21/test_distribution_is_pure_py_m0') 502s 502s @pytest.mark.parametrize("distribution_type", ["unknown", "py_modules", "packages", "skbuild"]) 502s def test_distribution_is_pure(distribution_type, tmpdir): 502s skbuild_setup_kwargs = {} 502s 502s if distribution_type == "unknown": 502s is_pure = False 502s 502s elif distribution_type == "py_modules": 502s is_pure = True 502s hello_py = tmpdir.join("hello.py") 502s hello_py.write("") 502s skbuild_setup_kwargs["py_modules"] = ["hello"] 502s 502s elif distribution_type == "packages": 502s is_pure = True 502s init_py = tmpdir.mkdir("hello").join("__init__.py") 502s init_py.write("") 502s skbuild_setup_kwargs["packages"] = ["hello"] 502s 502s elif distribution_type == "skbuild": 502s is_pure = False 502s cmakelists_txt = tmpdir.join("CMakeLists.txt") 502s cmakelists_txt.write( 502s """ 502s cmake_minimum_required(VERSION 3.5.0) 502s project(test NONE) 502s install(CODE "execute_process( 502s COMMAND \\${CMAKE_COMMAND} -E sleep 0)") 502s """ 502s ) 502s else: 502s msg = f"Unknown distribution_type: {distribution_type}" 502s raise Exception(msg) 502s 502s platform = get_platform() 502s original_write_test_cmakelist = platform.write_test_cmakelist 502s 502s def write_test_cmakelist_no_languages(_self, _languages): 502s original_write_test_cmakelist([]) 502s 502s with patch.object(type(platform), "write_test_cmakelist", new=write_test_cmakelist_no_languages): 502s with push_dir(str(tmpdir)), push_argv(["setup.py", "build"]): 502s > distribution = skbuild_setup( 502s name="test", 502s version="0.0.1", 502s description="test object returned by setup function", 502s author="The scikit-build team", 502s license="MIT", 502s **skbuild_setup_kwargs, # type: ignore[arg-type] 502s ) 502s 502s distribution_type = 'py_modules' 502s hello_py = local('/tmp/pytest-of-ubuntu/pytest-21/test_distribution_is_pure_py_m0/hello.py') 502s is_pure = True 502s original_write_test_cmakelist = 502s platform = 502s skbuild_setup_kwargs = {'py_modules': ['hello']} 502s tmpdir = local('/tmp/pytest-of-ubuntu/pytest-21/test_distribution_is_pure_py_m0') 502s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xec5fba78> 502s 502s tests/test_setup.py:78: 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:513: in setup 502s return setuptools.setup(**kw) # type: ignore[no-any-return, func-returns-value] 502s build_ext_inplace = False 502s cmake_args = () 502s cmake_args_from_args = [] 502s cmake_executable = None 502s cmake_install_dir = '' 502s cmake_install_target = 'install' 502s cmake_languages = ('C', 'CXX') 502s cmake_minimum_required_version = None 502s cmake_process_manifest_hook = None 502s cmake_source_dir = '' 502s cmake_with_sdist = False 502s cmdclass = {'bdist': , 'bdist_wheel': , 'build': , 'build_ext': , ...} 502s commands = ['build'] 502s display_only = False 502s force_cmake = False 502s has_cmakelists = False 502s has_invalid_arguments = False 502s help_commands = 0 502s hide_listing = False 502s kw = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'description': 'test object returned by setup function', 'license': 'MIT', ...} 502s make_args = [] 502s plat_name = None 502s skip_cmake = False 502s skip_generator_test = False 502s skip_skbuild = True 502s /usr/lib/python3/dist-packages/setuptools/__init__.py:103: in setup 502s return distutils.core.setup(**attrs) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'description': 'test object returned by setup function', 'license': 'MIT', ...} 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:184: in setup 502s return run_commands(dist) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'description': 'test object returned by setup function', 'license': 'MIT', ...} 502s dist = 502s klass = 502s ok = True 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:200: in run_commands 502s dist.run_commands() 502s dist = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:970: in run_commands 502s self.run_command(cmd) 502s cmd = 'build' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'build' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'build' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build.py:135: in run 502s self.run_command(cmd_name) 502s cmd_name = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 502s self.distribution.run_command(command) 502s command = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:41: in run 502s super().run(*args, **kwargs) 502s __class__ = 502s args = () 502s kwargs = {} 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:71: in run 502s self.build_modules() 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:359: in build_modules 502s self.build_module(module, module_file, package) 502s module = 'hello' 502s module_file = 'hello.py' 502s modules = [('', 'hello', 'hello.py')] 502s package = '' 502s self = 502s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:31: in build_module 502s super().build_module(module, module_file, package) # type: ignore[no-untyped-call] 502s __class__ = 502s module = 'hello' 502s module_file = 'hello.py' 502s package = '' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:89: in build_module 502s outfile, copied = orig.build_py.build_module(self, module, module_file, package) 502s module = 'hello' 502s module_file = 'hello.py' 502s package = '' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:349: in build_module 502s self.mkpath(dir) 502s dir = '_skbuild/linux-armv7l-3.12/setuptools/lib' 502s module = 'hello' 502s module_file = 'hello.py' 502s outfile = '_skbuild/linux-armv7l-3.12/setuptools/lib/hello.py' 502s package = [''] 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:340: in mkpath 502s dir_util.mkpath(name, mode, dry_run=self.dry_run) 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib' 502s self = 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib', mode = 511, verbose = True 502s dry_run = False 502s 502s def mkpath(name, mode=0o777, verbose=True, dry_run=False): # noqa: C901 502s """Create a directory and any missing ancestor directories. 502s 502s If the directory already exists (or if 'name' is the empty string, which 502s means the current directory, which of course exists), then do nothing. 502s Raise DistutilsFileError if unable to create some directory along the way 502s (eg. some sub-path exists, but is a file rather than a directory). 502s If 'verbose' is true, print a one-line summary of each mkdir to stdout. 502s Return the list of directories actually created. 502s 502s os.makedirs is not used because: 502s 502s a) It's new to Python 1.5.2, and 502s b) it blows up if the directory already exists (in which case it should 502s silently succeed). 502s """ 502s 502s global _path_created 502s 502s # Detect a common bug -- name is None 502s if not isinstance(name, str): 502s raise DistutilsInternalError(f"mkpath: 'name' must be a string (got {name!r})") 502s 502s # XXX what's the better way to handle verbosity? print as we create 502s # each directory in the path (the current behaviour), or only announce 502s # the creation of the whole path? (quite easy to do the latter since 502s # we're not using a recursive algorithm) 502s 502s name = os.path.normpath(name) 502s created_dirs = [] 502s if os.path.isdir(name) or name == '': 502s return created_dirs 502s if os.path.abspath(name) in _path_created: 502s return created_dirs 502s 502s (head, tail) = os.path.split(name) 502s tails = [tail] # stack of lone dirs to create 502s 502s while head and tail and not os.path.isdir(head): 502s (head, tail) = os.path.split(head) 502s tails.insert(0, tail) # push next higher dir onto stack 502s 502s # now 'head' contains the deepest directory that already exists 502s # (that is, the child of 'head' in 'name' is the highest directory 502s # that does *not* exist) 502s for d in tails: 502s # print "head = %s, d = %s: " % (head, d), 502s head = os.path.join(head, d) 502s abs_head = os.path.abspath(head) 502s 502s if abs_head in _path_created: 502s continue 502s 502s if verbose >= 1: 502s log.info("creating %s", head) 502s 502s if not dry_run: 502s try: 502s os.mkdir(head, mode) 502s except OSError as exc: 502s if not (exc.errno == errno.EEXIST and os.path.isdir(head)): 502s raise DistutilsFileError( 502s f"could not create '{head}': {exc.args[-1]}" 502s ) 502s created_dirs.append(head) 502s 502s > _path_created.add(abs_head) 502s E AttributeError: 'dict' object has no attribute 'add' 502s 502s abs_head = '/tmp/pytest-of-ubuntu/pytest-21/test_distribution_is_pure_py_m0/_skbuild' 502s created_dirs = ['_skbuild'] 502s d = '_skbuild' 502s dry_run = False 502s head = '_skbuild' 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib' 502s tail = '_skbuild' 502s tails = ['_skbuild', 'linux-armv7l-3.12', 'setuptools', 'lib'] 502s verbose = True 502s 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dir_util.py:82: AttributeError 502s ----------------------------- Captured stdout call ----------------------------- 502s skipping skbuild (no CMakeLists.txt found) 502s ------------------------------ Captured log call ------------------------------- 502s INFO root:dist.py:986 running build 502s INFO root:dist.py:986 running build_py 502s INFO root:dir_util.py:70 creating _skbuild 502s _____________________ test_distribution_is_pure[packages] ______________________ 502s 502s distribution_type = 'packages' 502s tmpdir = local('/tmp/pytest-of-ubuntu/pytest-21/test_distribution_is_pure_pack0') 502s 502s @pytest.mark.parametrize("distribution_type", ["unknown", "py_modules", "packages", "skbuild"]) 502s def test_distribution_is_pure(distribution_type, tmpdir): 502s skbuild_setup_kwargs = {} 502s 502s if distribution_type == "unknown": 502s is_pure = False 502s 502s elif distribution_type == "py_modules": 502s is_pure = True 502s hello_py = tmpdir.join("hello.py") 502s hello_py.write("") 502s skbuild_setup_kwargs["py_modules"] = ["hello"] 502s 502s elif distribution_type == "packages": 502s is_pure = True 502s init_py = tmpdir.mkdir("hello").join("__init__.py") 502s init_py.write("") 502s skbuild_setup_kwargs["packages"] = ["hello"] 502s 502s elif distribution_type == "skbuild": 502s is_pure = False 502s cmakelists_txt = tmpdir.join("CMakeLists.txt") 502s cmakelists_txt.write( 502s """ 502s cmake_minimum_required(VERSION 3.5.0) 502s project(test NONE) 502s install(CODE "execute_process( 502s COMMAND \\${CMAKE_COMMAND} -E sleep 0)") 502s """ 502s ) 502s else: 502s msg = f"Unknown distribution_type: {distribution_type}" 502s raise Exception(msg) 502s 502s platform = get_platform() 502s original_write_test_cmakelist = platform.write_test_cmakelist 502s 502s def write_test_cmakelist_no_languages(_self, _languages): 502s original_write_test_cmakelist([]) 502s 502s with patch.object(type(platform), "write_test_cmakelist", new=write_test_cmakelist_no_languages): 502s with push_dir(str(tmpdir)), push_argv(["setup.py", "build"]): 502s > distribution = skbuild_setup( 502s name="test", 502s version="0.0.1", 502s description="test object returned by setup function", 502s author="The scikit-build team", 502s license="MIT", 502s **skbuild_setup_kwargs, # type: ignore[arg-type] 502s ) 502s 502s distribution_type = 'packages' 502s init_py = local('/tmp/pytest-of-ubuntu/pytest-21/test_distribution_is_pure_pack0/hello/__init__.py') 502s is_pure = True 502s original_write_test_cmakelist = 502s platform = 502s skbuild_setup_kwargs = {'packages': ['hello']} 502s tmpdir = local('/tmp/pytest-of-ubuntu/pytest-21/test_distribution_is_pure_pack0') 502s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xec80d438> 502s 502s tests/test_setup.py:78: 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:513: in setup 502s return setuptools.setup(**kw) # type: ignore[no-any-return, func-returns-value] 502s build_ext_inplace = False 502s cmake_args = () 502s cmake_args_from_args = [] 502s cmake_executable = None 502s cmake_install_dir = '' 502s cmake_install_target = 'install' 502s cmake_languages = ('C', 'CXX') 502s cmake_minimum_required_version = None 502s cmake_process_manifest_hook = None 502s cmake_source_dir = '' 502s cmake_with_sdist = False 502s cmdclass = {'bdist': , 'bdist_wheel': , 'build': , 'build_ext': , ...} 502s commands = ['build'] 502s display_only = False 502s force_cmake = False 502s has_cmakelists = False 502s has_invalid_arguments = False 502s help_commands = 0 502s hide_listing = False 502s kw = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'description': 'test object returned by setup function', 'license': 'MIT', ...} 502s make_args = [] 502s plat_name = None 502s skip_cmake = False 502s skip_generator_test = False 502s skip_skbuild = True 502s /usr/lib/python3/dist-packages/setuptools/__init__.py:103: in setup 502s return distutils.core.setup(**attrs) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'description': 'test object returned by setup function', 'license': 'MIT', ...} 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:184: in setup 502s return run_commands(dist) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'description': 'test object returned by setup function', 'license': 'MIT', ...} 502s dist = 502s klass = 502s ok = True 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:200: in run_commands 502s dist.run_commands() 502s dist = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:970: in run_commands 502s self.run_command(cmd) 502s cmd = 'build' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'build' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'build' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build.py:135: in run 502s self.run_command(cmd_name) 502s cmd_name = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 502s self.distribution.run_command(command) 502s command = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:41: in run 502s super().run(*args, **kwargs) 502s __class__ = 502s args = () 502s kwargs = {} 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:74: in run 502s self.build_packages() 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:379: in build_packages 502s self.build_module(module, module_file, package) 502s module = '__init__' 502s module_file = 'hello/__init__.py' 502s modules = [('hello', '__init__', 'hello/__init__.py')] 502s package = 'hello' 502s package_ = 'hello' 502s package_dir = 'hello' 502s self = 502s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:31: in build_module 502s super().build_module(module, module_file, package) # type: ignore[no-untyped-call] 502s __class__ = 502s module = '__init__' 502s module_file = 'hello/__init__.py' 502s package = 'hello' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:89: in build_module 502s outfile, copied = orig.build_py.build_module(self, module, module_file, package) 502s module = '__init__' 502s module_file = 'hello/__init__.py' 502s package = 'hello' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:349: in build_module 502s self.mkpath(dir) 502s dir = '_skbuild/linux-armv7l-3.12/setuptools/lib/hello' 502s module = '__init__' 502s module_file = 'hello/__init__.py' 502s outfile = '_skbuild/linux-armv7l-3.12/setuptools/lib/hello/__init__.py' 502s package = ['hello'] 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:340: in mkpath 502s dir_util.mkpath(name, mode, dry_run=self.dry_run) 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib/hello' 502s self = 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib/hello', mode = 511 502s verbose = True, dry_run = False 502s 502s def mkpath(name, mode=0o777, verbose=True, dry_run=False): # noqa: C901 502s """Create a directory and any missing ancestor directories. 502s 502s If the directory already exists (or if 'name' is the empty string, which 502s means the current directory, which of course exists), then do nothing. 502s Raise DistutilsFileError if unable to create some directory along the way 502s (eg. some sub-path exists, but is a file rather than a directory). 502s If 'verbose' is true, print a one-line summary of each mkdir to stdout. 502s Return the list of directories actually created. 502s 502s os.makedirs is not used because: 502s 502s a) It's new to Python 1.5.2, and 502s b) it blows up if the directory already exists (in which case it should 502s silently succeed). 502s """ 502s 502s global _path_created 502s 502s # Detect a common bug -- name is None 502s if not isinstance(name, str): 502s raise DistutilsInternalError(f"mkpath: 'name' must be a string (got {name!r})") 502s 502s # XXX what's the better way to handle verbosity? print as we create 502s # each directory in the path (the current behaviour), or only announce 502s # the creation of the whole path? (quite easy to do the latter since 502s # we're not using a recursive algorithm) 502s 502s name = os.path.normpath(name) 502s created_dirs = [] 502s if os.path.isdir(name) or name == '': 502s return created_dirs 502s if os.path.abspath(name) in _path_created: 502s return created_dirs 502s 502s (head, tail) = os.path.split(name) 502s tails = [tail] # stack of lone dirs to create 502s 502s while head and tail and not os.path.isdir(head): 502s (head, tail) = os.path.split(head) 502s tails.insert(0, tail) # push next higher dir onto stack 502s 502s # now 'head' contains the deepest directory that already exists 502s # (that is, the child of 'head' in 'name' is the highest directory 502s # that does *not* exist) 502s for d in tails: 502s # print "head = %s, d = %s: " % (head, d), 502s head = os.path.join(head, d) 502s abs_head = os.path.abspath(head) 502s 502s if abs_head in _path_created: 502s continue 502s 502s if verbose >= 1: 502s log.info("creating %s", head) 502s 502s if not dry_run: 502s try: 502s os.mkdir(head, mode) 502s except OSError as exc: 502s if not (exc.errno == errno.EEXIST and os.path.isdir(head)): 502s raise DistutilsFileError( 502s f"could not create '{head}': {exc.args[-1]}" 502s ) 502s created_dirs.append(head) 502s 502s > _path_created.add(abs_head) 502s E AttributeError: 'dict' object has no attribute 'add' 502s 502s abs_head = '/tmp/pytest-of-ubuntu/pytest-21/test_distribution_is_pure_pack0/_skbuild' 502s created_dirs = ['_skbuild'] 502s d = '_skbuild' 502s dry_run = False 502s head = '_skbuild' 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib/hello' 502s tail = '_skbuild' 502s tails = ['_skbuild', 'linux-armv7l-3.12', 'setuptools', 'lib', 'hello'] 502s verbose = True 502s 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dir_util.py:82: AttributeError 502s ----------------------------- Captured stdout call ----------------------------- 502s skipping skbuild (no CMakeLists.txt found) 502s ------------------------------ Captured log call ------------------------------- 502s INFO root:dist.py:986 running build 502s INFO root:dist.py:986 running build_py 502s INFO root:dir_util.py:70 creating _skbuild 502s _______________ test_cmake_install_dir_keyword[banana-False-str] _______________ 502s 502s cmake_install_dir = 'banana', expected_failed = False 502s error_code_type = 502s capsys = <_pytest.capture.CaptureFixture object at 0xec06cd98> 502s caplog = <_pytest.logging.LogCaptureFixture object at 0xec819ae0> 502s 502s @pytest.mark.parametrize( 502s ("cmake_install_dir", "expected_failed", "error_code_type"), 502s [ 502s (None, True, str), 502s ("", True, str), 502s (str(py.path.local.get_temproot().join("scikit-build")), True, SKBuildError), 502s ("banana", False, str), 502s ], 502s ) 502s def test_cmake_install_dir_keyword(cmake_install_dir, expected_failed, error_code_type, capsys, caplog): 502s # ------------------------------------------------------------------------- 502s # "SOURCE" tree layout: 502s # 502s # ROOT/ 502s # 502s # CMakeLists.txt 502s # setup.py 502s # 502s # apple/ 502s # __init__.py 502s # 502s # ------------------------------------------------------------------------- 502s # "BINARY" distribution layout 502s # 502s # ROOT/ 502s # 502s # apple/ 502s # __init__.py 502s # 502s 502s tmp_dir = _tmpdir("cmake_install_dir_keyword") 502s 502s setup_kwarg = "" 502s if cmake_install_dir is not None: 502s setup_kwarg = f"cmake_install_dir={str(cmake_install_dir)!r}" 502s 502s tmp_dir.join("setup.py").write( 502s textwrap.dedent( 502s f""" 502s from skbuild import setup 502s setup( 502s name="test_cmake_install_dir", 502s version="1.2.3", 502s description="a package testing use of cmake_install_dir", 502s author='The scikit-build team', 502s license="MIT", 502s packages=['apple', 'banana'], 502s {setup_kwarg} 502s ) 502s """ 502s ) 502s ) 502s 502s # Install location purposely set to "." so that we can test 502s # usage of "cmake_install_dir" skbuild.setup keyword. 502s tmp_dir.join("CMakeLists.txt").write( 502s textwrap.dedent( 502s """ 502s cmake_minimum_required(VERSION 3.5.0) 502s project(banana NONE) 502s file(WRITE "${CMAKE_BINARY_DIR}/__init__.py" "") 502s install(FILES "${CMAKE_BINARY_DIR}/__init__.py" DESTINATION ".") 502s """ 502s ) 502s ) 502s 502s tmp_dir.ensure("apple", "__init__.py") 502s 502s failed = False 502s message = "" 502s try: 502s > with execute_setup_py(tmp_dir, ["build"], disable_languages_test=True): 502s 502s caplog = <_pytest.logging.LogCaptureFixture object at 0xec819ae0> 502s capsys = <_pytest.capture.CaptureFixture object at 0xec06cd98> 502s cmake_install_dir = 'banana' 502s error_code_type = 502s expected_failed = False 502s failed = False 502s message = '' 502s setup_kwarg = "cmake_install_dir='banana'" 502s tmp_dir = local('/tmp/pytest-of-ubuntu/pytest-73/cmake_install_dir_keyword0') 502s 502s tests/test_setup.py:210: 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s /usr/lib/python3.12/contextlib.py:137: in __enter__ 502s return next(self.gen) 502s self = 502s tests/__init__.py:244: in execute_setup_py 502s exec(setup_code) 502s disable_languages_test = True 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s original_write_test_cmakelist = 502s platform = 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-73/cmake_install_dir_keyword0') 502s setup = 502s setup_args = ['build'] 502s setup_code = at 0xec839020, file "setup.py", line 1> 502s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xec80d898> 502s setup.py:3: in 502s setup( 502s disable_languages_test = True 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s original_write_test_cmakelist = 502s platform = 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-73/cmake_install_dir_keyword0') 502s setup = 502s setup_args = ['build'] 502s setup_code = at 0xec839020, file "setup.py", line 1> 502s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xec80d898> 502s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:781: in setup 502s return setuptools.setup(**kw) # type: ignore[no-any-return, func-returns-value] 502s BinaryDistribution = .BinaryDistribution'> 502s build_ext_inplace = False 502s cmake_args = ['-DCMAKE_BUILD_TYPE:STRING=Release'] 502s cmake_args_from_args = [] 502s cmake_executable = '/usr/bin/cmake' 502s cmake_install_dir = 'banana' 502s cmake_install_target = 'install' 502s cmake_install_target_from_command = '' 502s cmake_install_target_from_setup = 'install' 502s cmake_languages = ('C', 'CXX') 502s cmake_manifest = ['_skbuild/linux-armv7l-3.12/cmake-install/banana/__init__.py'] 502s cmake_minimum_required_version = None 502s cmake_process_manifest_hook = None 502s cmake_source_dir = '' 502s cmake_spec = {'args': ['/usr/bin/cmake', '-DCMAKE_BUILD_TYPE:STRING=Release'], 'environment': {'PYTHONNOUSERSITE': '1', 'PYTHONPATH': '/path/to/anything'}, 'version': '3.29.6'} 502s cmake_with_sdist = False 502s cmdclass = {'bdist': , 'bdist_wheel': , 'build': , 'build_ext': , ...} 502s cmkr = 502s commands = ['build'] 502s config_type = 'Release' 502s data_files = {} 502s developer_mode = False 502s display_only = False 502s env = {'ADTTMP': '/tmp/autopkgtest.EPTB0Y/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', 'ADT_TEST_TRIGGERS': 'setuptools/70.3.0-2', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', ...} 502s env_cmake_args = [] 502s force_cmake = False 502s has_cmakelists = True 502s has_invalid_arguments = False 502s help_commands = 0 502s hide_listing = False 502s kw = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a package testing use of cmake_install_dir', ...} 502s make_args = ['--config', 'Release'] 502s new_py_modules = {} 502s new_scripts = {} 502s original_manifestin_data_files = [] 502s original_package_data = {} 502s package = 'banana' 502s package_data = {'apple': ['__init__.py'], 'banana': ['__init__.py']} 502s package_dir = {'apple': 'apple', 'banana': 'banana'} 502s package_prefixes = [('banana', 'banana'), ('apple', 'apple')] 502s packages = ['apple', 'banana'] 502s plat_name = None 502s process_manifest = None 502s py_modules = [] 502s scripts = [] 502s skip_cmake = False 502s skip_generator_test = False 502s skip_skbuild = False 502s /usr/lib/python3/dist-packages/setuptools/__init__.py:103: in setup 502s return distutils.core.setup(**attrs) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a package testing use of cmake_install_dir', ...} 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:184: in setup 502s return run_commands(dist) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a package testing use of cmake_install_dir', ...} 502s dist = .BinaryDistribution object at 0xec049eb8> 502s klass = .BinaryDistribution'> 502s ok = True 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:200: in run_commands 502s dist.run_commands() 502s dist = .BinaryDistribution object at 0xec049eb8> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:970: in run_commands 502s self.run_command(cmd) 502s cmd = 'build' 502s self = .BinaryDistribution object at 0xec049eb8> 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'build' 502s self = .BinaryDistribution object at 0xec049eb8> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'build' 502s self = .BinaryDistribution object at 0xec049eb8> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build.py:135: in run 502s self.run_command(cmd_name) 502s cmd_name = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 502s self.distribution.run_command(command) 502s command = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'build_py' 502s self = .BinaryDistribution object at 0xec049eb8> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'build_py' 502s self = .BinaryDistribution object at 0xec049eb8> 502s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:41: in run 502s super().run(*args, **kwargs) 502s __class__ = 502s args = () 502s kwargs = {} 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:74: in run 502s self.build_packages() 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:379: in build_packages 502s self.build_module(module, module_file, package) 502s module = '__init__' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/apple/__init__.py' 502s modules = [('apple', '__init__', '_skbuild/linux-armv7l-3.12/cmake-install/apple/__init__.py')] 502s package = 'apple' 502s package_ = 'apple' 502s package_dir = '_skbuild/linux-armv7l-3.12/cmake-install/apple' 502s self = 502s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:31: in build_module 502s super().build_module(module, module_file, package) # type: ignore[no-untyped-call] 502s __class__ = 502s module = '__init__' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/apple/__init__.py' 502s package = 'apple' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:89: in build_module 502s outfile, copied = orig.build_py.build_module(self, module, module_file, package) 502s module = '__init__' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/apple/__init__.py' 502s package = 'apple' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:349: in build_module 502s self.mkpath(dir) 502s dir = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/apple' 502s module = '__init__' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/apple/__init__.py' 502s outfile = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/apple/__init__.py' 502s package = ['apple'] 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:340: in mkpath 502s dir_util.mkpath(name, mode, dry_run=self.dry_run) 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/apple' 502s self = 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/apple' 502s mode = 511, verbose = True, dry_run = False 502s 502s def mkpath(name, mode=0o777, verbose=True, dry_run=False): # noqa: C901 502s """Create a directory and any missing ancestor directories. 502s 502s If the directory already exists (or if 'name' is the empty string, which 502s means the current directory, which of course exists), then do nothing. 502s Raise DistutilsFileError if unable to create some directory along the way 502s (eg. some sub-path exists, but is a file rather than a directory). 502s If 'verbose' is true, print a one-line summary of each mkdir to stdout. 502s Return the list of directories actually created. 502s 502s os.makedirs is not used because: 502s 502s a) It's new to Python 1.5.2, and 502s b) it blows up if the directory already exists (in which case it should 502s silently succeed). 502s """ 502s 502s global _path_created 502s 502s # Detect a common bug -- name is None 502s if not isinstance(name, str): 502s raise DistutilsInternalError(f"mkpath: 'name' must be a string (got {name!r})") 502s 502s # XXX what's the better way to handle verbosity? print as we create 502s # each directory in the path (the current behaviour), or only announce 502s # the creation of the whole path? (quite easy to do the latter since 502s # we're not using a recursive algorithm) 502s 502s name = os.path.normpath(name) 502s created_dirs = [] 502s if os.path.isdir(name) or name == '': 502s return created_dirs 502s if os.path.abspath(name) in _path_created: 502s return created_dirs 502s 502s (head, tail) = os.path.split(name) 502s tails = [tail] # stack of lone dirs to create 502s 502s while head and tail and not os.path.isdir(head): 502s (head, tail) = os.path.split(head) 502s tails.insert(0, tail) # push next higher dir onto stack 502s 502s # now 'head' contains the deepest directory that already exists 502s # (that is, the child of 'head' in 'name' is the highest directory 502s # that does *not* exist) 502s for d in tails: 502s # print "head = %s, d = %s: " % (head, d), 502s head = os.path.join(head, d) 502s abs_head = os.path.abspath(head) 502s 502s if abs_head in _path_created: 502s continue 502s 502s if verbose >= 1: 502s log.info("creating %s", head) 502s 502s if not dry_run: 502s try: 502s os.mkdir(head, mode) 502s except OSError as exc: 502s if not (exc.errno == errno.EEXIST and os.path.isdir(head)): 502s raise DistutilsFileError( 502s f"could not create '{head}': {exc.args[-1]}" 502s ) 502s created_dirs.append(head) 502s 502s > _path_created.add(abs_head) 502s E AttributeError: 'dict' object has no attribute 'add' 502s 502s abs_head = '/tmp/pytest-of-ubuntu/pytest-73/cmake_install_dir_keyword0/_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 502s created_dirs = ['_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312'] 502s d = 'lib.linux-armv7l-cpython-312' 502s dry_run = False 502s head = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/apple' 502s tail = 'lib.linux-armv7l-cpython-312' 502s tails = ['lib.linux-armv7l-cpython-312', 'apple'] 502s verbose = True 502s 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dir_util.py:82: AttributeError 502s ----------------------------- Captured stdout call ----------------------------- 502s Not searching for unused variables given on the command line. 502s -- Configuring incomplete, errors occurred! 502s Not searching for unused variables given on the command line. 502s -- Configuring done (0.0s) 502s -- Generating done (0.0s) 502s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-73/cmake_install_dir_keyword0/_cmake_test_compile/build 502s Not searching for unused variables given on the command line. 502s -- Configuring done (0.0s) 502s -- Generating done (0.0s) 502s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-73/cmake_install_dir_keyword0/_skbuild/linux-armv7l-3.12/cmake-build 502s Install the project... 502s -- Install configuration: "Release" 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-73/cmake_install_dir_keyword0/_skbuild/linux-armv7l-3.12/cmake-install/banana/./__init__.py 502s 502s 502s -------------------------------------------------------------------------------- 502s -- Trying 'Ninja' generator 502s -------------------------------- 502s --------------------------- 502s ---------------------- 502s ----------------- 502s ------------ 502s ------- 502s -- 502s -- 502s ------- 502s ------------ 502s ----------------- 502s ---------------------- 502s --------------------------- 502s -------------------------------- 502s -- Trying 'Ninja' generator - failure 502s -------------------------------------------------------------------------------- 502s 502s 502s 502s -------------------------------------------------------------------------------- 502s -- Trying 'Unix Makefiles' generator 502s -------------------------------- 502s --------------------------- 502s ---------------------- 502s ----------------- 502s ------------ 502s ------- 502s -- 502s -- 502s ------- 502s ------------ 502s ----------------- 502s ---------------------- 502s --------------------------- 502s -------------------------------- 502s -- Trying 'Unix Makefiles' generator - success 502s -------------------------------------------------------------------------------- 502s 502s Configuring Project 502s Working directory: 502s /tmp/pytest-of-ubuntu/pytest-73/cmake_install_dir_keyword0/_skbuild/linux-armv7l-3.12/cmake-build 502s Command: 502s /usr/bin/cmake /tmp/pytest-of-ubuntu/pytest-73/cmake_install_dir_keyword0 -G 'Unix Makefiles' --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pytest-of-ubuntu/pytest-73/cmake_install_dir_keyword0/_skbuild/linux-armv7l-3.12/cmake-install/banana -DPYTHON_VERSION_STRING:STRING=3.12.4 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/usr/lib/python3/dist-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/usr/bin/python3.12 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPYTHON_LIBRARY:PATH=/usr/lib/arm-linux-gnueabihf/libpython3.12.so -DPython_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython_ROOT_DIR:PATH=/usr -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPython3_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython3_ROOT_DIR:PATH=/usr -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.12 -DCMAKE_BUILD_TYPE:STRING=Release 502s 502s 502s creating directory _skbuild/linux-armv7l-3.12/cmake-install/apple 502s copying apple/__init__.py -> _skbuild/linux-armv7l-3.12/cmake-install/apple/__init__.py 502s 502s ----------------------------- Captured stderr call ----------------------------- 502s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 502s Compatibility with CMake < 3.5 will be removed from a future version of 502s CMake. 502s 502s Update the VERSION argument value or use a ... suffix to tell 502s CMake that the project does not need compatibility with older versions. 502s 502s 502s CMake Error: CMake was unable to find a build program corresponding to "Ninja". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. 502s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 502s Compatibility with CMake < 3.5 will be removed from a future version of 502s CMake. 502s 502s Update the VERSION argument value or use a ... suffix to tell 502s CMake that the project does not need compatibility with older versions. 502s 502s 502s ------------------------------ Captured log call ------------------------------- 502s INFO root:dist.py:986 running build 502s INFO root:dist.py:986 running build_py 502s INFO root:dir_util.py:70 creating _skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312 502s _____________________ test_cmake_with_sdist_keyword[True] ______________________ 502s 502s cmake_with_sdist = True 502s capfd = <_pytest.capture.CaptureFixture object at 0xec06c708> 502s 502s @pytest.mark.parametrize("cmake_with_sdist", [True, False]) 502s def test_cmake_with_sdist_keyword(cmake_with_sdist, capfd): 502s tmp_dir = _tmpdir("cmake_with_sdist") 502s 502s tmp_dir.join("setup.py").write( 502s textwrap.dedent( 502s f""" 502s from skbuild import setup 502s setup( 502s name="cmake_with_sdist_keyword", 502s version="1.2.3", 502s description="a minimal example package", 502s author='The scikit-build team', 502s license="MIT", 502s cmake_with_sdist={cmake_with_sdist} 502s ) 502s """ 502s ) 502s ) 502s tmp_dir.join("CMakeLists.txt").write( 502s textwrap.dedent( 502s """ 502s cmake_minimum_required(VERSION 3.5.0) 502s project(test NONE) 502s install(CODE "execute_process( 502s COMMAND \\${CMAKE_COMMAND} -E sleep 0)") 502s """ 502s ) 502s ) 502s 502s initialize_git_repo_and_commit(tmp_dir) 502s 502s > with execute_setup_py(tmp_dir, ["sdist"], disable_languages_test=True): 502s 502s capfd = <_pytest.capture.CaptureFixture object at 0xec06c708> 502s cmake_with_sdist = True 502s tmp_dir = local('/tmp/pytest-of-ubuntu/pytest-74/cmake_with_sdist0') 502s 502s tests/test_setup.py:266: 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s /usr/lib/python3.12/contextlib.py:137: in __enter__ 502s return next(self.gen) 502s self = 502s tests/__init__.py:244: in execute_setup_py 502s exec(setup_code) 502s disable_languages_test = True 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s original_write_test_cmakelist = 502s platform = 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-74/cmake_with_sdist0') 502s setup = 502s setup_args = ['sdist'] 502s setup_code = at 0xec719e90, file "setup.py", line 1> 502s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xec80d8e8> 502s setup.py:3: in 502s setup( 502s disable_languages_test = True 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s original_write_test_cmakelist = 502s platform = 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-74/cmake_with_sdist0') 502s setup = 502s setup_args = ['sdist'] 502s setup_code = at 0xec719e90, file "setup.py", line 1> 502s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xec80d8e8> 502s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:781: in setup 502s return setuptools.setup(**kw) # type: ignore[no-any-return, func-returns-value] 502s BinaryDistribution = .BinaryDistribution'> 502s build_ext_inplace = False 502s cmake_args = ['-DCMAKE_BUILD_TYPE:STRING=Release'] 502s cmake_args_from_args = [] 502s cmake_executable = '/usr/bin/cmake' 502s cmake_install_dir = '' 502s cmake_install_target = 'install' 502s cmake_install_target_from_command = '' 502s cmake_install_target_from_setup = 'install' 502s cmake_languages = ('C', 'CXX') 502s cmake_manifest = [] 502s cmake_minimum_required_version = None 502s cmake_process_manifest_hook = None 502s cmake_source_dir = '' 502s cmake_spec = {'args': ['/usr/bin/cmake', '-DCMAKE_BUILD_TYPE:STRING=Release'], 'environment': {'PYTHONNOUSERSITE': '1', 'PYTHONPATH': '/path/to/anything'}, 'version': '3.29.6'} 502s cmake_with_sdist = True 502s cmdclass = {'bdist': , 'bdist_wheel': , 'build': , 'build_ext': , ...} 502s cmkr = 502s commands = ['sdist'] 502s config_type = 'Release' 502s data_files = {} 502s developer_mode = False 502s display_only = False 502s env = {'ADTTMP': '/tmp/autopkgtest.EPTB0Y/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', 'ADT_TEST_TRIGGERS': 'setuptools/70.3.0-2', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', ...} 502s env_cmake_args = [] 502s force_cmake = False 502s has_cmakelists = True 502s has_invalid_arguments = False 502s help_commands = 0 502s hide_listing = False 502s kw = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package', ...} 502s make_args = ['--config', 'Release'] 502s new_py_modules = {} 502s new_scripts = {} 502s original_manifestin_data_files = [] 502s original_package_data = {} 502s package_data = {} 502s package_dir = {} 502s package_prefixes = [] 502s packages = [] 502s plat_name = None 502s process_manifest = None 502s py_modules = [] 502s scripts = [] 502s skip_cmake = False 502s skip_generator_test = False 502s skip_skbuild = False 502s /usr/lib/python3/dist-packages/setuptools/__init__.py:103: in setup 502s return distutils.core.setup(**attrs) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package', ...} 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:184: in setup 502s return run_commands(dist) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package', ...} 502s dist = .BinaryDistribution object at 0xec7ff1e0> 502s klass = .BinaryDistribution'> 502s ok = True 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:200: in run_commands 502s dist.run_commands() 502s dist = .BinaryDistribution object at 0xec7ff1e0> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:970: in run_commands 502s self.run_command(cmd) 502s cmd = 'sdist' 502s self = .BinaryDistribution object at 0xec7ff1e0> 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'sdist' 502s self = .BinaryDistribution object at 0xec7ff1e0> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'sdist' 502s self = .BinaryDistribution object at 0xec7ff1e0> 502s /usr/lib/python3/dist-packages/skbuild/command/sdist.py:39: in run 502s super().run(*args, **kwargs) 502s __class__ = 502s args = () 502s kwargs = {} 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/sdist.py:52: in run 502s self.run_command('egg_info') 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 502s self.distribution.run_command(command) 502s command = 'egg_info' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'egg_info' 502s self = .BinaryDistribution object at 0xec7ff1e0> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'egg_info' 502s self = .BinaryDistribution object at 0xec7ff1e0> 502s /usr/lib/python3/dist-packages/setuptools/command/egg_info.py:306: in run 502s self.mkpath(self.egg_info) 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:340: in mkpath 502s dir_util.mkpath(name, mode, dry_run=self.dry_run) 502s mode = 511 502s name = 'cmake_with_sdist_keyword.egg-info' 502s self = 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s 502s name = 'cmake_with_sdist_keyword.egg-info', mode = 511, verbose = True 502s dry_run = False 502s 502s def mkpath(name, mode=0o777, verbose=True, dry_run=False): # noqa: C901 502s """Create a directory and any missing ancestor directories. 502s 502s If the directory already exists (or if 'name' is the empty string, which 502s means the current directory, which of course exists), then do nothing. 502s Raise DistutilsFileError if unable to create some directory along the way 502s (eg. some sub-path exists, but is a file rather than a directory). 502s If 'verbose' is true, print a one-line summary of each mkdir to stdout. 502s Return the list of directories actually created. 502s 502s os.makedirs is not used because: 502s 502s a) It's new to Python 1.5.2, and 502s b) it blows up if the directory already exists (in which case it should 502s silently succeed). 502s """ 502s 502s global _path_created 502s 502s # Detect a common bug -- name is None 502s if not isinstance(name, str): 502s raise DistutilsInternalError(f"mkpath: 'name' must be a string (got {name!r})") 502s 502s # XXX what's the better way to handle verbosity? print as we create 502s # each directory in the path (the current behaviour), or only announce 502s # the creation of the whole path? (quite easy to do the latter since 502s # we're not using a recursive algorithm) 502s 502s name = os.path.normpath(name) 502s created_dirs = [] 502s if os.path.isdir(name) or name == '': 502s return created_dirs 502s if os.path.abspath(name) in _path_created: 502s return created_dirs 502s 502s (head, tail) = os.path.split(name) 502s tails = [tail] # stack of lone dirs to create 502s 502s while head and tail and not os.path.isdir(head): 502s (head, tail) = os.path.split(head) 502s tails.insert(0, tail) # push next higher dir onto stack 502s 502s # now 'head' contains the deepest directory that already exists 502s # (that is, the child of 'head' in 'name' is the highest directory 502s # that does *not* exist) 502s for d in tails: 502s # print "head = %s, d = %s: " % (head, d), 502s head = os.path.join(head, d) 502s abs_head = os.path.abspath(head) 502s 502s if abs_head in _path_created: 502s continue 502s 502s if verbose >= 1: 502s log.info("creating %s", head) 502s 502s if not dry_run: 502s try: 502s os.mkdir(head, mode) 502s except OSError as exc: 502s if not (exc.errno == errno.EEXIST and os.path.isdir(head)): 502s raise DistutilsFileError( 502s f"could not create '{head}': {exc.args[-1]}" 502s ) 502s created_dirs.append(head) 502s 502s > _path_created.add(abs_head) 502s E AttributeError: 'dict' object has no attribute 'add' 502s 502s abs_head = '/tmp/pytest-of-ubuntu/pytest-74/cmake_with_sdist0/cmake_with_sdist_keyword.egg-info' 502s created_dirs = ['cmake_with_sdist_keyword.egg-info'] 502s d = 'cmake_with_sdist_keyword.egg-info' 502s dry_run = False 502s head = 'cmake_with_sdist_keyword.egg-info' 502s mode = 511 502s name = 'cmake_with_sdist_keyword.egg-info' 502s tail = 'cmake_with_sdist_keyword.egg-info' 502s tails = ['cmake_with_sdist_keyword.egg-info'] 502s verbose = True 502s 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dir_util.py:82: AttributeError 502s ----------------------------- Captured stdout call ----------------------------- 502s Initialized empty Git repository in /tmp/pytest-of-ubuntu/pytest-74/cmake_with_sdist0/.git/ 502s [master (root-commit) 6519d22] Initial commit 502s 2 files changed, 15 insertions(+) 502s create mode 100644 CMakeLists.txt 502s create mode 100644 setup.py 502s 502s 502s -------------------------------------------------------------------------------- 502s -- Trying 'Ninja' generator 502s -------------------------------- 502s --------------------------- 502s ---------------------- 502s ----------------- 502s ------------ 502s ------- 502s -- 502s Not searching for unused variables given on the command line. 502s -- Configuring incomplete, errors occurred! 502s -- 502s ------- 502s ------------ 502s ----------------- 502s ---------------------- 502s --------------------------- 502s -------------------------------- 502s -- Trying 'Ninja' generator - failure 502s -------------------------------------------------------------------------------- 502s 502s 502s 502s -------------------------------------------------------------------------------- 502s -- Trying 'Unix Makefiles' generator 502s -------------------------------- 502s --------------------------- 502s ---------------------- 502s ----------------- 502s ------------ 502s ------- 502s -- 502s Not searching for unused variables given on the command line. 502s -- Configuring done (0.0s) 502s -- Generating done (0.0s) 502s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-74/cmake_with_sdist0/_cmake_test_compile/build 502s -- 502s ------- 502s ------------ 502s ----------------- 502s ---------------------- 502s --------------------------- 502s -------------------------------- 502s -- Trying 'Unix Makefiles' generator - success 502s -------------------------------------------------------------------------------- 502s 502s Configuring Project 502s Working directory: 502s /tmp/pytest-of-ubuntu/pytest-74/cmake_with_sdist0/_skbuild/linux-armv7l-3.12/cmake-build 502s Command: 502s /usr/bin/cmake /tmp/pytest-of-ubuntu/pytest-74/cmake_with_sdist0 -G 'Unix Makefiles' --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pytest-of-ubuntu/pytest-74/cmake_with_sdist0/_skbuild/linux-armv7l-3.12/cmake-install -DPYTHON_VERSION_STRING:STRING=3.12.4 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/usr/lib/python3/dist-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/usr/bin/python3.12 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPYTHON_LIBRARY:PATH=/usr/lib/arm-linux-gnueabihf/libpython3.12.so -DPython_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython_ROOT_DIR:PATH=/usr -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPython3_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython3_ROOT_DIR:PATH=/usr -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.12 -DCMAKE_BUILD_TYPE:STRING=Release 502s 502s Not searching for unused variables given on the command line. 502s -- Configuring done (0.0s) 502s -- Generating done (0.0s) 502s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-74/cmake_with_sdist0/_skbuild/linux-armv7l-3.12/cmake-build 502s Install the project... 502s -- Install configuration: "Release" 502s 502s 502s ----------------------------- Captured stderr call ----------------------------- 502s hint: Using 'master' as the name for the initial branch. This default branch name 502s hint: is subject to change. To configure the initial branch name to use in all 502s hint: of your new repositories, which will suppress this warning, call: 502s hint: 502s hint: git config --global init.defaultBranch 502s hint: 502s hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 502s hint: 'development'. The just-created branch can be renamed via this command: 502s hint: 502s hint: git branch -m 502s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 502s Compatibility with CMake < 3.5 will be removed from a future version of 502s CMake. 502s 502s Update the VERSION argument value or use a ... suffix to tell 502s CMake that the project does not need compatibility with older versions. 502s 502s 502s CMake Error: CMake was unable to find a build program corresponding to "Ninja". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. 502s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 502s Compatibility with CMake < 3.5 will be removed from a future version of 502s CMake. 502s 502s Update the VERSION argument value or use a ... suffix to tell 502s CMake that the project does not need compatibility with older versions. 502s 502s 502s ------------------------------ Captured log call ------------------------------- 502s INFO root:dist.py:986 running sdist 502s INFO root:dist.py:986 running generate_source_manifest 502s INFO root:dist.py:986 running egg_info 502s INFO root:dir_util.py:70 creating cmake_with_sdist_keyword.egg-info 502s _____________________ test_cmake_with_sdist_keyword[False] _____________________ 502s 502s cmake_with_sdist = False 502s capfd = <_pytest.capture.CaptureFixture object at 0xec06c5e8> 502s 502s @pytest.mark.parametrize("cmake_with_sdist", [True, False]) 502s def test_cmake_with_sdist_keyword(cmake_with_sdist, capfd): 502s tmp_dir = _tmpdir("cmake_with_sdist") 502s 502s tmp_dir.join("setup.py").write( 502s textwrap.dedent( 502s f""" 502s from skbuild import setup 502s setup( 502s name="cmake_with_sdist_keyword", 502s version="1.2.3", 502s description="a minimal example package", 502s author='The scikit-build team', 502s license="MIT", 502s cmake_with_sdist={cmake_with_sdist} 502s ) 502s """ 502s ) 502s ) 502s tmp_dir.join("CMakeLists.txt").write( 502s textwrap.dedent( 502s """ 502s cmake_minimum_required(VERSION 3.5.0) 502s project(test NONE) 502s install(CODE "execute_process( 502s COMMAND \\${CMAKE_COMMAND} -E sleep 0)") 502s """ 502s ) 502s ) 502s 502s initialize_git_repo_and_commit(tmp_dir) 502s 502s > with execute_setup_py(tmp_dir, ["sdist"], disable_languages_test=True): 502s 502s capfd = <_pytest.capture.CaptureFixture object at 0xec06c5e8> 502s cmake_with_sdist = False 502s tmp_dir = local('/tmp/pytest-of-ubuntu/pytest-75/cmake_with_sdist0') 502s 502s tests/test_setup.py:266: 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s /usr/lib/python3.12/contextlib.py:137: in __enter__ 502s return next(self.gen) 502s self = 502s tests/__init__.py:244: in execute_setup_py 502s exec(setup_code) 502s disable_languages_test = True 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s original_write_test_cmakelist = 502s platform = 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-75/cmake_with_sdist0') 502s setup = 502s setup_args = ['sdist'] 502s setup_code = at 0xec719de8, file "setup.py", line 1> 502s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xec80b078> 502s setup.py:3: in 502s setup( 502s disable_languages_test = True 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s original_write_test_cmakelist = 502s platform = 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-75/cmake_with_sdist0') 502s setup = 502s setup_args = ['sdist'] 502s setup_code = at 0xec719de8, file "setup.py", line 1> 502s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xec80b078> 502s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:513: in setup 502s return setuptools.setup(**kw) # type: ignore[no-any-return, func-returns-value] 502s build_ext_inplace = False 502s cmake_args = () 502s cmake_args_from_args = [] 502s cmake_executable = None 502s cmake_install_dir = '' 502s cmake_install_target = 'install' 502s cmake_languages = ('C', 'CXX') 502s cmake_minimum_required_version = None 502s cmake_process_manifest_hook = None 502s cmake_source_dir = '' 502s cmake_with_sdist = False 502s cmdclass = {'bdist': , 'bdist_wheel': , 'build': , 'build_ext': , ...} 502s commands = ['sdist'] 502s display_only = False 502s force_cmake = False 502s has_cmakelists = True 502s has_invalid_arguments = False 502s help_commands = 0 502s hide_listing = False 502s kw = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'description': 'a minimal example package', 'license': 'MIT', ...} 502s make_args = [] 502s plat_name = None 502s skip_cmake = False 502s skip_generator_test = False 502s skip_skbuild = True 502s /usr/lib/python3/dist-packages/setuptools/__init__.py:103: in setup 502s return distutils.core.setup(**attrs) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'description': 'a minimal example package', 'license': 'MIT', ...} 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:184: in setup 502s return run_commands(dist) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'description': 'a minimal example package', 'license': 'MIT', ...} 502s dist = 502s klass = 502s ok = True 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:200: in run_commands 502s dist.run_commands() 502s dist = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:970: in run_commands 502s self.run_command(cmd) 502s cmd = 'sdist' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'sdist' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'sdist' 502s self = 502s /usr/lib/python3/dist-packages/skbuild/command/sdist.py:39: in run 502s super().run(*args, **kwargs) 502s __class__ = 502s args = () 502s kwargs = {} 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/sdist.py:52: in run 502s self.run_command('egg_info') 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 502s self.distribution.run_command(command) 502s command = 'egg_info' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'egg_info' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'egg_info' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/egg_info.py:306: in run 502s self.mkpath(self.egg_info) 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:340: in mkpath 502s dir_util.mkpath(name, mode, dry_run=self.dry_run) 502s mode = 511 502s name = 'cmake_with_sdist_keyword.egg-info' 502s self = 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s 502s name = 'cmake_with_sdist_keyword.egg-info', mode = 511, verbose = True 502s dry_run = False 502s 502s def mkpath(name, mode=0o777, verbose=True, dry_run=False): # noqa: C901 502s """Create a directory and any missing ancestor directories. 502s 502s If the directory already exists (or if 'name' is the empty string, which 502s means the current directory, which of course exists), then do nothing. 502s Raise DistutilsFileError if unable to create some directory along the way 502s (eg. some sub-path exists, but is a file rather than a directory). 502s If 'verbose' is true, print a one-line summary of each mkdir to stdout. 502s Return the list of directories actually created. 502s 502s os.makedirs is not used because: 502s 502s a) It's new to Python 1.5.2, and 502s b) it blows up if the directory already exists (in which case it should 502s silently succeed). 502s """ 502s 502s global _path_created 502s 502s # Detect a common bug -- name is None 502s if not isinstance(name, str): 502s raise DistutilsInternalError(f"mkpath: 'name' must be a string (got {name!r})") 502s 502s # XXX what's the better way to handle verbosity? print as we create 502s # each directory in the path (the current behaviour), or only announce 502s # the creation of the whole path? (quite easy to do the latter since 502s # we're not using a recursive algorithm) 502s 502s name = os.path.normpath(name) 502s created_dirs = [] 502s if os.path.isdir(name) or name == '': 502s return created_dirs 502s if os.path.abspath(name) in _path_created: 502s return created_dirs 502s 502s (head, tail) = os.path.split(name) 502s tails = [tail] # stack of lone dirs to create 502s 502s while head and tail and not os.path.isdir(head): 502s (head, tail) = os.path.split(head) 502s tails.insert(0, tail) # push next higher dir onto stack 502s 502s # now 'head' contains the deepest directory that already exists 502s # (that is, the child of 'head' in 'name' is the highest directory 502s # that does *not* exist) 502s for d in tails: 502s # print "head = %s, d = %s: " % (head, d), 502s head = os.path.join(head, d) 502s abs_head = os.path.abspath(head) 502s 502s if abs_head in _path_created: 502s continue 502s 502s if verbose >= 1: 502s log.info("creating %s", head) 502s 502s if not dry_run: 502s try: 502s os.mkdir(head, mode) 502s except OSError as exc: 502s if not (exc.errno == errno.EEXIST and os.path.isdir(head)): 502s raise DistutilsFileError( 502s f"could not create '{head}': {exc.args[-1]}" 502s ) 502s created_dirs.append(head) 502s 502s > _path_created.add(abs_head) 502s E AttributeError: 'dict' object has no attribute 'add' 502s 502s abs_head = '/tmp/pytest-of-ubuntu/pytest-75/cmake_with_sdist0/cmake_with_sdist_keyword.egg-info' 502s created_dirs = ['cmake_with_sdist_keyword.egg-info'] 502s d = 'cmake_with_sdist_keyword.egg-info' 502s dry_run = False 502s head = 'cmake_with_sdist_keyword.egg-info' 502s mode = 511 502s name = 'cmake_with_sdist_keyword.egg-info' 502s tail = 'cmake_with_sdist_keyword.egg-info' 502s tails = ['cmake_with_sdist_keyword.egg-info'] 502s verbose = True 502s 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dir_util.py:82: AttributeError 502s ----------------------------- Captured stdout call ----------------------------- 502s Initialized empty Git repository in /tmp/pytest-of-ubuntu/pytest-75/cmake_with_sdist0/.git/ 502s [master (root-commit) 93d0317] Initial commit 502s 2 files changed, 15 insertions(+) 502s create mode 100644 CMakeLists.txt 502s create mode 100644 setup.py 502s ----------------------------- Captured stderr call ----------------------------- 502s hint: Using 'master' as the name for the initial branch. This default branch name 502s hint: is subject to change. To configure the initial branch name to use in all 502s hint: of your new repositories, which will suppress this warning, call: 502s hint: 502s hint: git config --global init.defaultBranch 502s hint: 502s hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 502s hint: 'development'. The just-created branch can be renamed via this command: 502s hint: 502s hint: git branch -m 502s ------------------------------ Captured log call ------------------------------- 502s INFO root:dist.py:986 running sdist 502s INFO root:dist.py:986 running generate_source_manifest 502s INFO root:dist.py:986 running egg_info 502s INFO root:dir_util.py:70 creating cmake_with_sdist_keyword.egg-info 502s __________________ test_setup_requires_keyword_include_cmake ___________________ 502s 502s dist = 502s req = Requirement.parse('cmake>=3.10') 502s 502s def _fetch_build_egg_no_warn(dist, req): # noqa: C901 # is too complex (16) # FIXME 502s import pkg_resources # Delay import to avoid unnecessary side-effects 502s 502s # Ignore environment markers; if supplied, it is required. 502s req = strip_marker(req) 502s # Take easy_install options into account, but do not override relevant 502s # pip environment variables (like PIP_INDEX_URL or PIP_QUIET); they'll 502s # take precedence. 502s opts = dist.get_option_dict('easy_install') 502s if 'allow_hosts' in opts: 502s raise DistutilsError( 502s 'the `allow-hosts` option is not supported ' 502s 'when using pip to install requirements.' 502s ) 502s quiet = 'PIP_QUIET' not in os.environ and 'PIP_VERBOSE' not in os.environ 502s if 'PIP_INDEX_URL' in os.environ: 502s index_url = None 502s elif 'index_url' in opts: 502s index_url = opts['index_url'][1] 502s else: 502s index_url = None 502s find_links = ( 502s _fixup_find_links(opts['find_links'][1])[:] if 'find_links' in opts else [] 502s ) 502s if dist.dependency_links: 502s find_links.extend(dist.dependency_links) 502s eggs_dir = os.path.realpath(dist.get_egg_cache_dir()) 502s environment = pkg_resources.Environment() 502s for egg_dist in pkg_resources.find_distributions(eggs_dir): 502s if egg_dist in req and environment.can_add(egg_dist): 502s return egg_dist 502s with tempfile.TemporaryDirectory() as tmpdir: 502s cmd = [ 502s sys.executable, 502s '-m', 502s 'pip', 502s '--disable-pip-version-check', 502s 'wheel', 502s '--no-deps', 502s '-w', 502s tmpdir, 502s ] 502s if quiet: 502s cmd.append('--quiet') 502s if index_url is not None: 502s cmd.extend(('--index-url', index_url)) 502s for link in find_links or []: 502s cmd.extend(('--find-links', link)) 502s # If requirement is a PEP 508 direct URL, directly pass 502s # the URL to pip, as `req @ url` does not work on the 502s # command line. 502s cmd.append(req.url or str(req)) 502s try: 502s > subprocess.check_call(cmd) 502s 502s cmd = ['/usr/bin/python3.12', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', ...] 502s dist = 502s eggs_dir = '/tmp/pytest-of-ubuntu/pytest-77/setup_requires_keyword_include0/.eggs' 502s environment = 502s find_links = [] 502s index_url = None 502s opts = {} 502s pkg_resources = 502s quiet = True 502s req = Requirement.parse('cmake>=3.10') 502s tmpdir = '/tmp/tmp3v49_fl4' 502s 502s /usr/lib/python3/dist-packages/setuptools/installer.py:101: 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s 502s popenargs = (['/usr/bin/python3.12', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', ...],) 502s kwargs = {}, retcode = 1 502s cmd = ['/usr/bin/python3.12', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', ...] 502s 502s def check_call(*popenargs, **kwargs): 502s """Run command with arguments. Wait for command to complete. If 502s the exit code was zero then return, otherwise raise 502s CalledProcessError. The CalledProcessError object will have the 502s return code in the returncode attribute. 502s 502s The arguments are the same as for the call function. Example: 502s 502s check_call(["ls", "-l"]) 502s """ 502s retcode = call(*popenargs, **kwargs) 502s if retcode: 502s cmd = kwargs.get("args") 502s if cmd is None: 502s cmd = popenargs[0] 502s > raise CalledProcessError(retcode, cmd) 502s E subprocess.CalledProcessError: Command '['/usr/bin/python3.12', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', '/tmp/tmp3v49_fl4', '--quiet', 'cmake>=3.10']' returned non-zero exit status 1. 502s 502s cmd = ['/usr/bin/python3.12', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', ...] 502s kwargs = {} 502s popenargs = (['/usr/bin/python3.12', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', ...],) 502s retcode = 1 502s 502s /usr/lib/python3.12/subprocess.py:413: CalledProcessError 502s 502s The above exception was the direct cause of the following exception: 502s 502s mocker = 502s capsys = <_pytest.capture.CaptureFixture object at 0xebfa9678> 502s 502s @pytest.mark.deprecated() 502s @pytest.mark.filterwarnings("ignore:setuptools.installer is deprecated:Warning") 502s @pytest.mark.skipif( 502s os.environ.get("CONDA_BUILD", "0") == "1", 502s reason="running tests expecting network connection in Conda is not possible. " 502s "See https://github.com/conda/conda/issues/508", 502s ) 502s @pytest.mark.skipif(not is_site_reachable("https://pypi.org/simple/cmake/"), reason="pypi.org website not reachable") 502s @pytest.mark.xfail( 502s sys.platform.startswith("cygwin"), strict=False, reason="Cygwin needs a release of scikit-build first" 502s ) 502s def test_setup_requires_keyword_include_cmake(mocker, capsys): 502s mock_setup = mocker.patch("skbuild.setuptools_wrap.setuptools.setup") 502s 502s tmp_dir = _tmpdir("setup_requires_keyword_include_cmake") 502s 502s setup_requires = ["cmake>=3.10"] 502s 502s tmp_dir.join("setup.py").write( 502s textwrap.dedent( 502s """ 502s from skbuild import setup 502s setup( 502s name="cmake_with_sdist_keyword", 502s version="1.2.3", 502s description="a minimal example package", 502s author='The scikit-build team', 502s license="MIT", 502s setup_requires=[{setup_requires}] 502s ) 502s """.format( 502s setup_requires=",".join(["'%s'" % package for package in setup_requires]) 502s ) 502s ) 502s ) 502s tmp_dir.join("CMakeLists.txt").write( 502s textwrap.dedent( 502s """ 502s cmake_minimum_required(VERSION 3.5.0) 502s project(test NONE) 502s install(CODE "execute_process( 502s COMMAND \\${CMAKE_COMMAND} -E sleep 0)") 502s """ 502s ) 502s ) 502s 502s > with execute_setup_py(tmp_dir, ["build"], disable_languages_test=True): 502s 502s capsys = <_pytest.capture.CaptureFixture object at 0xebfa9678> 502s mock_setup = 502s mocker = 502s setup_requires = ['cmake>=3.10'] 502s tmp_dir = local('/tmp/pytest-of-ubuntu/pytest-77/setup_requires_keyword_include0') 502s 502s tests/test_setup.py:364: 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s /usr/lib/python3.12/contextlib.py:137: in __enter__ 502s return next(self.gen) 502s self = 502s tests/__init__.py:244: in execute_setup_py 502s exec(setup_code) 502s disable_languages_test = True 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s original_write_test_cmakelist = 502s platform = 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-77/setup_requires_keyword_include0') 502s setup = 502s setup_args = ['build'] 502s setup_code = at 0xec8390d0, file "setup.py", line 1> 502s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xebf8f488> 502s setup.py:3: in 502s setup( 502s disable_languages_test = True 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s original_write_test_cmakelist = 502s platform = 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-77/setup_requires_keyword_include0') 502s setup = 502s setup_args = ['build'] 502s setup_code = at 0xec8390d0, file "setup.py", line 1> 502s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xebf8f488> 502s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:617: in setup 502s dist.fetch_build_eggs(setup_requires) 502s build_ext_inplace = False 502s cmake_args = ['-DCMAKE_BUILD_TYPE:STRING=Release'] 502s cmake_args_from_args = [] 502s cmake_executable = None 502s cmake_install_dir = '' 502s cmake_install_target = 'install' 502s cmake_install_target_from_command = '' 502s cmake_install_target_from_setup = 'install' 502s cmake_languages = ('C', 'CXX') 502s cmake_minimum_required_version = None 502s cmake_process_manifest_hook = None 502s cmake_source_dir = '' 502s cmake_with_sdist = False 502s cmdclass = {'bdist': , 'bdist_wheel': , 'build': , 'build_ext': , ...} 502s commands = ['build'] 502s config_type = 'Release' 502s data_files = {} 502s developer_mode = False 502s display_only = False 502s dist = 502s env_cmake_args = [] 502s force_cmake = False 502s has_cmakelists = True 502s has_invalid_arguments = False 502s help_commands = 0 502s hide_listing = False 502s kw = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'description': 'a minimal example package', 'license': 'MIT', ...} 502s make_args = ['--config', 'Release'] 502s new_py_modules = {} 502s new_scripts = {} 502s package = 'cmake>=3.10' 502s package_data = {} 502s package_dir = {} 502s packages = [] 502s plat_name = None 502s py_modules = [] 502s scripts = [] 502s setup_requires = ['cmake>=3.10'] 502s skip_cmake = False 502s skip_generator_test = False 502s skip_skbuild = False 502s /usr/lib/python3/dist-packages/setuptools/dist.py:641: in fetch_build_eggs 502s return _fetch_build_eggs(self, requires) 502s _fetch_build_eggs = 502s requires = ['cmake>=3.10'] 502s self = 502s /usr/lib/python3/dist-packages/setuptools/installer.py:38: in _fetch_build_eggs 502s resolved_dists = pkg_resources.working_set.resolve( 502s dist = 502s pkg_resources = 502s requires = ['cmake>=3.10'] 502s /usr/lib/python3/dist-packages/pkg_resources/__init__.py:889: in resolve 502s dist = self._resolve_dist( 502s best = {} 502s env = None 502s extras = None 502s installer = functools.partial(, ) 502s processed = set() 502s replace_conflicting = True 502s req = Requirement.parse('cmake>=3.10') 502s req_extras = {} 502s required_by = defaultdict(, {}) 502s requirements = [] 502s self = 502s to_activate = [] 502s /usr/lib/python3/dist-packages/pkg_resources/__init__.py:925: in _resolve_dist 502s dist = best[req.key] = env.best_match( 502s best = {} 502s dist = None 502s env = 502s installer = functools.partial(, ) 502s replace_conflicting = True 502s req = Requirement.parse('cmake>=3.10') 502s required_by = defaultdict(, {}) 502s self = 502s to_activate = [] 502s ws = 502s /usr/lib/python3/dist-packages/pkg_resources/__init__.py:1256: in best_match 502s return self.obtain(req, installer) 502s dist = None 502s installer = functools.partial(, ) 502s replace_conflicting = True 502s req = Requirement.parse('cmake>=3.10') 502s self = 502s working_set = 502s /usr/lib/python3/dist-packages/pkg_resources/__init__.py:1292: in obtain 502s return installer(requirement) if installer else None 502s installer = functools.partial(, ) 502s requirement = Requirement.parse('cmake>=3.10') 502s self = 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s 502s dist = 502s req = Requirement.parse('cmake>=3.10') 502s 502s def _fetch_build_egg_no_warn(dist, req): # noqa: C901 # is too complex (16) # FIXME 502s import pkg_resources # Delay import to avoid unnecessary side-effects 502s 502s # Ignore environment markers; if supplied, it is required. 502s req = strip_marker(req) 502s # Take easy_install options into account, but do not override relevant 502s # pip environment variables (like PIP_INDEX_URL or PIP_QUIET); they'll 502s # take precedence. 502s opts = dist.get_option_dict('easy_install') 502s if 'allow_hosts' in opts: 502s raise DistutilsError( 502s 'the `allow-hosts` option is not supported ' 502s 'when using pip to install requirements.' 502s ) 502s quiet = 'PIP_QUIET' not in os.environ and 'PIP_VERBOSE' not in os.environ 502s if 'PIP_INDEX_URL' in os.environ: 502s index_url = None 502s elif 'index_url' in opts: 502s index_url = opts['index_url'][1] 502s else: 502s index_url = None 502s find_links = ( 502s _fixup_find_links(opts['find_links'][1])[:] if 'find_links' in opts else [] 502s ) 502s if dist.dependency_links: 502s find_links.extend(dist.dependency_links) 502s eggs_dir = os.path.realpath(dist.get_egg_cache_dir()) 502s environment = pkg_resources.Environment() 502s for egg_dist in pkg_resources.find_distributions(eggs_dir): 502s if egg_dist in req and environment.can_add(egg_dist): 502s return egg_dist 502s with tempfile.TemporaryDirectory() as tmpdir: 502s cmd = [ 502s sys.executable, 502s '-m', 502s 'pip', 502s '--disable-pip-version-check', 502s 'wheel', 502s '--no-deps', 502s '-w', 502s tmpdir, 502s ] 502s if quiet: 502s cmd.append('--quiet') 502s if index_url is not None: 502s cmd.extend(('--index-url', index_url)) 502s for link in find_links or []: 502s cmd.extend(('--find-links', link)) 502s # If requirement is a PEP 508 direct URL, directly pass 502s # the URL to pip, as `req @ url` does not work on the 502s # command line. 502s cmd.append(req.url or str(req)) 502s try: 502s subprocess.check_call(cmd) 502s except subprocess.CalledProcessError as e: 502s > raise DistutilsError(str(e)) from e 502s E distutils.errors.DistutilsError: Command '['/usr/bin/python3.12', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', '/tmp/tmp3v49_fl4', '--quiet', 'cmake>=3.10']' returned non-zero exit status 1. 502s 502s cmd = ['/usr/bin/python3.12', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', ...] 502s dist = 502s eggs_dir = '/tmp/pytest-of-ubuntu/pytest-77/setup_requires_keyword_include0/.eggs' 502s environment = 502s find_links = [] 502s index_url = None 502s opts = {} 502s pkg_resources = 502s quiet = True 502s req = Requirement.parse('cmake>=3.10') 502s tmpdir = '/tmp/tmp3v49_fl4' 502s 502s /usr/lib/python3/dist-packages/setuptools/installer.py:103: DistutilsError 502s ----------------------------- Captured stderr call ----------------------------- 502s error: subprocess-exited-with-error 502s 502s × Building wheel for cmake (pyproject.toml) did not run successfully. 502s │ exit code: 1 502s ╰─> [249 lines of output] 502s *** scikit-build-core 0.9.8 using CMake 3.29.6 (wheel) 502s *** Configuring CMake... 502s loading initial cache file build/py3-none-linux_armv7l/CMakeInit.txt 502s -- The CXX compiler identification is GNU 13.2.0 502s -- Detecting CXX compiler ABI info 502s -- Detecting CXX compiler ABI info - done 502s -- Check for working CXX compiler: /usr/bin/arm-linux-gnueabihf-g++ - skipped 502s -- Detecting CXX compile features 502s -- Detecting CXX compile features - done 502s -- *************************************************** 502s -- Build CMake from source: ON 502s -- *************************************************** 502s -- SuperBuild - CMakeProject-src-download 502s -- SuperBuild - CMakeProject-src-download - URL: https://github.com/Kitware/CMake/releases/download/v3.30.0/cmake-3.30.0.tar.gz 502s -- SuperBuild - CMakeProject-src-download - CMakeProject_SOURCE_DIR: /tmp/pip-wheel-7w60bxg0/cmake_ca3f00d4a6c547f2beaec6f21c075b78/CMake-src 502s -- Looking for __GLIBC__ 502s -- Looking for __GLIBC__ - found 502s -- Looking for __GLIBC_MINOR__ 502s -- Looking for __GLIBC_MINOR__ - found 502s -- SuperBuild - CMakeProject-build 502s -- SuperBuild - CMakeProject-build - CMakeProject_BINARY_DIR: /tmp/pip-wheel-7w60bxg0/cmake_ca3f00d4a6c547f2beaec6f21c075b78/build/py3-none-linux_armv7l/CMakeProject-build 502s -- SuperBuild - CMakePythonDistributions 502s -- Configuring done (0.8s) 502s -- Generating done (0.0s) 502s -- Build files have been written to: /tmp/pip-wheel-7w60bxg0/cmake_ca3f00d4a6c547f2beaec6f21c075b78/build/py3-none-linux_armv7l 502s *** Building project with Ninja... 502s [1/26] Creating directories for 'CMakeProject-src-download' 502s [1/26] Performing download step (download, verify and extract) for 'CMakeProject-src-download' 502s -- Downloading... 502s dst='/tmp/pip-wheel-7w60bxg0/cmake_ca3f00d4a6c547f2beaec6f21c075b78/build/py3-none-linux_armv7l/cmake-3.30.0.tar.gz' 502s timeout='none' 502s inactivity timeout='none' 502s -- Using src='https://github.com/Kitware/CMake/releases/download/v3.30.0/cmake-3.30.0.tar.gz' 502s -- [download 0% complete] 502s -- [download 1% complete] 502s -- [download 2% complete] 502s -- [download 3% complete] 502s -- [download 4% complete] 502s -- [download 5% complete] 502s -- [download 6% complete] 502s -- [download 7% complete] 502s -- [download 8% complete] 502s -- [download 9% complete] 502s -- [download 10% complete] 502s -- [download 11% complete] 502s -- [download 12% complete] 502s -- [download 13% complete] 502s -- [download 14% complete] 502s -- [download 15% complete] 502s -- [download 16% complete] 502s -- [download 17% complete] 502s -- [download 18% complete] 502s -- [download 19% complete] 502s -- [download 20% complete] 502s -- [download 21% complete] 502s -- [download 22% complete] 502s -- [download 23% complete] 502s -- [download 24% complete] 502s -- [download 25% complete] 502s -- [download 26% complete] 502s -- [download 27% complete] 502s -- [download 28% complete] 502s -- [download 29% complete] 502s -- [download 30% complete] 502s -- [download 31% complete] 502s -- [download 32% complete] 502s -- [download 33% complete] 502s -- [download 34% complete] 502s -- [download 35% complete] 502s -- [download 36% complete] 502s -- [download 37% complete] 502s -- [download 38% complete] 502s -- [download 39% complete] 502s -- [download 40% complete] 502s -- [download 41% complete] 502s -- [download 42% complete] 502s -- [download 43% complete] 502s -- [download 44% complete] 502s -- [download 45% complete] 502s -- [download 46% complete] 502s -- [download 47% complete] 502s -- [download 48% complete] 502s -- [download 49% complete] 502s -- [download 50% complete] 502s -- [download 51% complete] 502s -- [download 52% complete] 502s -- [download 53% complete] 502s -- [download 54% complete] 502s -- [download 55% complete] 502s -- [download 56% complete] 502s -- [download 57% complete] 502s -- [download 58% complete] 502s -- [download 59% complete] 502s -- [download 60% complete] 502s -- [download 61% complete] 502s -- [download 62% complete] 502s -- [download 63% complete] 502s -- [download 64% complete] 502s -- [download 65% complete] 502s -- [download 66% complete] 502s -- [download 67% complete] 502s -- [download 68% complete] 502s -- [download 69% complete] 502s -- [download 70% complete] 502s -- [download 71% complete] 502s -- [download 72% complete] 502s -- [download 73% complete] 502s -- [download 74% complete] 502s -- [download 75% complete] 502s -- [download 76% complete] 502s -- [download 77% complete] 502s -- [download 78% complete] 502s -- [download 79% complete] 502s -- [download 80% complete] 502s -- [download 81% complete] 502s -- [download 82% complete] 502s -- [download 83% complete] 502s -- [download 84% complete] 502s -- [download 85% complete] 502s -- [download 86% complete] 502s -- [download 87% complete] 502s -- [download 88% complete] 502s -- [download 89% complete] 502s -- [download 90% complete] 502s -- [download 91% complete] 502s -- [download 92% complete] 502s -- [download 93% complete] 502s -- [download 94% complete] 502s -- [download 95% complete] 502s -- [download 96% complete] 502s -- [download 97% complete] 502s -- [download 98% complete] 502s -- [download 99% complete] 502s -- [download 100% complete] 502s -- verifying file... 502s file='/tmp/pip-wheel-7w60bxg0/cmake_ca3f00d4a6c547f2beaec6f21c075b78/build/py3-none-linux_armv7l/cmake-3.30.0.tar.gz' 502s -- Downloading... done 502s -- extracting... 502s src='/tmp/pip-wheel-7w60bxg0/cmake_ca3f00d4a6c547f2beaec6f21c075b78/build/py3-none-linux_armv7l/cmake-3.30.0.tar.gz' 502s dst='/tmp/pip-wheel-7w60bxg0/cmake_ca3f00d4a6c547f2beaec6f21c075b78/CMake-src' 502s -- extracting... [tar xfz] 502s -- extracting... [analysis] 502s -- extracting... [rename] 502s -- extracting... [clean up] 502s -- extracting... done 502s [3/26] No update step for 'CMakeProject-src-download' 502s [4/26] No patch step for 'CMakeProject-src-download' 502s [5/26] No configure step for 'CMakeProject-src-download' 502s [6/26] No build step for 'CMakeProject-src-download' 502s [7/26] No install step for 'CMakeProject-src-download' 502s [8/26] Completed 'CMakeProject-src-download' 502s [9/26] Creating directories for 'CMakeProject-build' 502s [10/26] No download step for 'CMakeProject-build' 502s [11/26] No update step for 'CMakeProject-build' 502s [12/26] No patch step for 'CMakeProject-build' 502s [12/26] Performing configure step for 'CMakeProject-build' 502s loading initial cache file /tmp/pip-wheel-7w60bxg0/cmake_ca3f00d4a6c547f2beaec6f21c075b78/build/py3-none-linux_armv7l/initial-cache.txt 502s loading initial cache file /tmp/pip-wheel-7w60bxg0/cmake_ca3f00d4a6c547f2beaec6f21c075b78/build/py3-none-linux_armv7l/CMakeProject-build-prefix/tmp/CMakeProject-build-cache-Release.cmake 502s -- The C compiler identification is GNU 13.2.0 502s -- The CXX compiler identification is GNU 13.2.0 502s -- Detecting C compiler ABI info 502s -- Detecting C compiler ABI info - done 502s -- Check for working C compiler: /usr/bin/arm-linux-gnueabihf-gcc - skipped 502s -- Detecting C compile features 502s -- Detecting C compile features - done 502s -- Detecting CXX compiler ABI info 502s -- Detecting CXX compiler ABI info - done 502s -- Check for working CXX compiler: /usr/bin/arm-linux-gnueabihf-g++ - skipped 502s -- Detecting CXX compile features 502s -- Detecting CXX compile features - done 502s -- Checking if compiler supports C11 _Thread_local 502s -- Checking if compiler supports C11 _Thread_local - yes 502s -- Checking if compiler supports needed C++17 constructs 502s -- Checking if compiler supports needed C++17 constructs - yes 502s -- Checking if compiler supports C++ make_unique 502s -- Checking if compiler supports C++ make_unique - yes 502s -- Checking if compiler supports C++ filesystem 502s -- Checking if compiler supports C++ filesystem - yes 502s -- Checking if compiler supports C++ atomic_builtin 502s -- Checking if compiler supports C++ atomic_builtin - yes 502s -- Looking for unsetenv 502s -- Looking for unsetenv - found 502s -- Looking for environ 502s -- Looking for environ - not found 502s -- Performing Test CMAKE_HAVE_LIBC_PTHREAD 502s -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success 502s -- Found Threads: TRUE 502s -- Checking whether wstring is available 502s -- Checking whether wstring is available - yes 502s -- Checking whether C compiler has ptrdiff_t in stddef.h 502s -- Checking whether C compiler has ptrdiff_t in stddef.h - yes 502s -- Checking whether C compiler has ssize_t in unistd.h 502s -- Checking whether C compiler has ssize_t in unistd.h - yes 502s -- Checking whether C compiler has clock_gettime 502s -- Checking whether C compiler has clock_gettime - yes 502s -- Checking whether CXX compiler has setenv 502s -- Checking whether CXX compiler has setenv - yes 502s -- Checking whether CXX compiler has unsetenv 502s -- Checking whether CXX compiler has unsetenv - yes 502s -- Checking whether CXX compiler has environ in stdlib.h 502s -- Checking whether CXX compiler has environ in stdlib.h - no 502s -- Checking whether CXX compiler has utimes 502s -- Checking whether CXX compiler has utimes - yes 502s -- Checking whether CXX compiler has utimensat 502s -- Checking whether CXX compiler has utimensat - yes 502s -- Checking whether CXX compiler struct stat has st_mtim member 502s -- Checking whether CXX compiler struct stat has st_mtim member - yes 502s -- Checking whether CXX compiler struct stat has st_mtimespec member 502s -- Checking whether CXX compiler struct stat has st_mtimespec member - no 502s -- Looking for include files sys/types.h, ifaddrs.h 502s -- Looking for include files sys/types.h, ifaddrs.h - found 502s -- Checking whether CXX compiler has rlimit64 502s -- Checking whether CXX compiler has rlimit64 - yes 502s -- Looking for C++ include execinfo.h 502s -- Looking for C++ include execinfo.h - found 502s -- Checking whether backtrace works with this C++ compiler 502s -- Checking whether backtrace works with this C++ compiler - yes 502s -- Looking for C++ include dlfcn.h 502s -- Looking for C++ include dlfcn.h - found 502s -- Checking whether dladdr works with this C++ compiler 502s -- Checking whether dladdr works with this C++ compiler - yes 502s -- Looking for C++ include cxxabi.h 502s -- Looking for C++ include cxxabi.h - found 502s -- Checking whether cxxabi works with this C++ compiler 502s -- Checking whether cxxabi works with this C++ compiler - yes 502s -- Checking whether CXX compiler has getloadavg 502s -- Checking whether CXX compiler has getloadavg - yes 502s -- Checking whether is available 502s -- Checking whether is available - yes 502s -- Performing Test HAVE_SOCKADDR_IN6_SIN6_ADDR 502s -- Performing Test HAVE_SOCKADDR_IN6_SIN6_ADDR - Success 502s -- Performing Test HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 502s -- Performing Test HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID - Success 502s -- Looking for connect in socket 502s -- Looking for connect in socket - not found 502s -- Looking for gethostname 502s -- Looking for gethostname - found 502s -- Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR (missing: OPENSSL_CRYPTO_LIBRARY OPENSSL_INCLUDE_DIR) 502s CMake Error at Utilities/cmcurl/CMakeLists.txt:645 (message): 502s Could not find OpenSSL. Install an OpenSSL development package or 502s configure CMake with -DCMAKE_USE_OPENSSL=OFF to build without OpenSSL. 502s 502s 502s -- Configuring incomplete, errors occurred! 502s FAILED: CMakeProject-build-prefix/src/CMakeProject-build-stamp/CMakeProject-build-configure /tmp/pip-wheel-7w60bxg0/cmake_ca3f00d4a6c547f2beaec6f21c075b78/build/py3-none-linux_armv7l/CMakeProject-build-prefix/src/CMakeProject-build-stamp/CMakeProject-build-configure 502s cd /tmp/pip-wheel-7w60bxg0/cmake_ca3f00d4a6c547f2beaec6f21c075b78/build/py3-none-linux_armv7l/CMakeProject-build && /usr/bin/cmake -C /tmp/pip-wheel-7w60bxg0/cmake_ca3f00d4a6c547f2beaec6f21c075b78/build/py3-none-linux_armv7l/initial-cache.txt -GNinja -C/tmp/pip-wheel-7w60bxg0/cmake_ca3f00d4a6c547f2beaec6f21c075b78/build/py3-none-linux_armv7l/CMakeProject-build-prefix/tmp/CMakeProject-build-cache-Release.cmake -S /tmp/pip-wheel-7w60bxg0/cmake_ca3f00d4a6c547f2beaec6f21c075b78/CMake-src -B /tmp/pip-wheel-7w60bxg0/cmake_ca3f00d4a6c547f2beaec6f21c075b78/build/py3-none-linux_armv7l/CMakeProject-build && /usr/bin/cmake -E touch /tmp/pip-wheel-7w60bxg0/cmake_ca3f00d4a6c547f2beaec6f21c075b78/build/py3-none-linux_armv7l/CMakeProject-build-prefix/src/CMakeProject-build-stamp/CMakeProject-build-configure 502s ninja: build stopped: subcommand failed. 502s 502s *** CMake build failed 502s [end of output] 502s 502s note: This error originates from a subprocess, and is likely not a problem with pip. 502s ERROR: Failed building wheel for cmake 502s ERROR: Failed to build one or more wheels 502s __________________________ test_script_keyword[pure] ___________________________ 502s 502s distribution_type = 'pure' 502s capsys = <_pytest.capture.CaptureFixture object at 0xec0219c0> 502s caplog = <_pytest.logging.LogCaptureFixture object at 0xec0211c8> 502s 502s @pytest.mark.parametrize("distribution_type", ["pure", "skbuild"]) 502s def test_script_keyword(distribution_type, capsys, caplog): 502s # ------------------------------------------------------------------------- 502s # 502s # "SOURCE" tree layout for "pure" distribution: 502s # 502s # ROOT/ 502s # setup.py 502s # foo.py 502s # bar.py 502s # 502s # "SOURCE" tree layout for "pure" distribution: 502s # 502s # ROOT/ 502s # setup.py 502s # CMakeLists.txt 502s # 502s # ------------------------------------------------------------------------- 502s # "BINARY" distribution layout is identical for both 502s # 502s # ROOT/ 502s # foo.py 502s # bar.py 502s # 502s 502s tmp_dir = _tmpdir("script_keyword") 502s 502s tmp_dir.join("setup.py").write( 502s textwrap.dedent( 502s """ 502s from skbuild import setup 502s setup( 502s name="test_script_keyword", 502s version="1.2.3", 502s description="a package testing use of script keyword", 502s author='The scikit-build team', 502s license="MIT", 502s scripts=['foo.py', 'bar.py'], 502s packages=[], 502s ) 502s """ 502s ) 502s ) 502s 502s if distribution_type == "skbuild": 502s tmp_dir.join("CMakeLists.txt").write( 502s textwrap.dedent( 502s """ 502s cmake_minimum_required(VERSION 3.5.0) 502s project(foo NONE) 502s file(WRITE "${CMAKE_BINARY_DIR}/foo.py" "# foo.py") 502s file(WRITE "${CMAKE_BINARY_DIR}/bar.py" "# bar.py") 502s install( 502s FILES 502s "${CMAKE_BINARY_DIR}/foo.py" 502s "${CMAKE_BINARY_DIR}/bar.py" 502s DESTINATION "." 502s ) 502s """ 502s ) 502s ) 502s 502s messages = [ 502s f"copying {CMAKE_INSTALL_DIR()}/{module}.py -> {SKBUILD_DIR()}/setuptools/scripts-" 502s for module in ["foo", "bar"] 502s ] 502s 502s elif distribution_type == "pure": 502s tmp_dir.join("foo.py").write("# foo.py") 502s tmp_dir.join("bar.py").write("# bar.py") 502s 502s messages = [f"copying {module}.py -> {SKBUILD_DIR()}/setuptools/scripts-" for module in ["foo", "bar"]] 502s 502s > with execute_setup_py(tmp_dir, ["build"], disable_languages_test=True): 502s 502s caplog = <_pytest.logging.LogCaptureFixture object at 0xec0211c8> 502s capsys = <_pytest.capture.CaptureFixture object at 0xec0219c0> 502s distribution_type = 'pure' 502s messages = ['copying foo.py -> _skbuild/linux-armv7l-3.12/setuptools/scripts-', 'copying bar.py -> _skbuild/linux-armv7l-3.12/setuptools/scripts-'] 502s tmp_dir = local('/tmp/pytest-of-ubuntu/pytest-78/script_keyword0') 502s 502s tests/test_setup.py:449: 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s /usr/lib/python3.12/contextlib.py:137: in __enter__ 502s return next(self.gen) 502s self = 502s tests/__init__.py:244: in execute_setup_py 502s exec(setup_code) 502s disable_languages_test = True 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s original_write_test_cmakelist = 502s platform = 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-78/script_keyword0') 502s setup = 502s setup_args = ['build'] 502s setup_code = at 0xec8392e0, file "setup.py", line 1> 502s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xebf7eb18> 502s setup.py:3: in 502s setup( 502s disable_languages_test = True 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s original_write_test_cmakelist = 502s platform = 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-78/script_keyword0') 502s setup = 502s setup_args = ['build'] 502s setup_code = at 0xec8392e0, file "setup.py", line 1> 502s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xebf7eb18> 502s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:513: in setup 502s return setuptools.setup(**kw) # type: ignore[no-any-return, func-returns-value] 502s build_ext_inplace = False 502s cmake_args = () 502s cmake_args_from_args = [] 502s cmake_executable = None 502s cmake_install_dir = '' 502s cmake_install_target = 'install' 502s cmake_languages = ('C', 'CXX') 502s cmake_minimum_required_version = None 502s cmake_process_manifest_hook = None 502s cmake_source_dir = '' 502s cmake_with_sdist = False 502s cmdclass = {'bdist': , 'bdist_wheel': , 'build': , 'build_ext': , ...} 502s commands = ['build'] 502s display_only = False 502s force_cmake = False 502s has_cmakelists = False 502s has_invalid_arguments = False 502s help_commands = 0 502s hide_listing = False 502s kw = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'description': 'a package testing use of script keyword', 'license': 'MIT', ...} 502s make_args = [] 502s plat_name = None 502s skip_cmake = False 502s skip_generator_test = False 502s skip_skbuild = True 502s /usr/lib/python3/dist-packages/setuptools/__init__.py:103: in setup 502s return distutils.core.setup(**attrs) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'description': 'a package testing use of script keyword', 'license': 'MIT', ...} 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:184: in setup 502s return run_commands(dist) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'description': 'a package testing use of script keyword', 'license': 'MIT', ...} 502s dist = 502s klass = 502s ok = True 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:200: in run_commands 502s dist.run_commands() 502s dist = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:970: in run_commands 502s self.run_command(cmd) 502s cmd = 'build' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'build' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'build' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build.py:135: in run 502s self.run_command(cmd_name) 502s cmd_name = 'build_scripts' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 502s self.distribution.run_command(command) 502s command = 'build_scripts' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'build_scripts' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'build_scripts' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_scripts.py:57: in run 502s self.copy_scripts() 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_scripts.py:68: in copy_scripts 502s self.mkpath(self.build_dir) 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:340: in mkpath 502s dir_util.mkpath(name, mode, dry_run=self.dry_run) 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/scripts-3.12' 502s self = 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s 502s name = '_skbuild/linux-armv7l-3.12/setuptools/scripts-3.12', mode = 511 502s verbose = True, dry_run = False 502s 502s def mkpath(name, mode=0o777, verbose=True, dry_run=False): # noqa: C901 502s """Create a directory and any missing ancestor directories. 502s 502s If the directory already exists (or if 'name' is the empty string, which 502s means the current directory, which of course exists), then do nothing. 502s Raise DistutilsFileError if unable to create some directory along the way 502s (eg. some sub-path exists, but is a file rather than a directory). 502s If 'verbose' is true, print a one-line summary of each mkdir to stdout. 502s Return the list of directories actually created. 502s 502s os.makedirs is not used because: 502s 502s a) It's new to Python 1.5.2, and 502s b) it blows up if the directory already exists (in which case it should 502s silently succeed). 502s """ 502s 502s global _path_created 502s 502s # Detect a common bug -- name is None 502s if not isinstance(name, str): 502s raise DistutilsInternalError(f"mkpath: 'name' must be a string (got {name!r})") 502s 502s # XXX what's the better way to handle verbosity? print as we create 502s # each directory in the path (the current behaviour), or only announce 502s # the creation of the whole path? (quite easy to do the latter since 502s # we're not using a recursive algorithm) 502s 502s name = os.path.normpath(name) 502s created_dirs = [] 502s if os.path.isdir(name) or name == '': 502s return created_dirs 502s if os.path.abspath(name) in _path_created: 502s return created_dirs 502s 502s (head, tail) = os.path.split(name) 502s tails = [tail] # stack of lone dirs to create 502s 502s while head and tail and not os.path.isdir(head): 502s (head, tail) = os.path.split(head) 502s tails.insert(0, tail) # push next higher dir onto stack 502s 502s # now 'head' contains the deepest directory that already exists 502s # (that is, the child of 'head' in 'name' is the highest directory 502s # that does *not* exist) 502s for d in tails: 502s # print "head = %s, d = %s: " % (head, d), 502s head = os.path.join(head, d) 502s abs_head = os.path.abspath(head) 502s 502s if abs_head in _path_created: 502s continue 502s 502s if verbose >= 1: 502s log.info("creating %s", head) 502s 502s if not dry_run: 502s try: 502s os.mkdir(head, mode) 502s except OSError as exc: 502s if not (exc.errno == errno.EEXIST and os.path.isdir(head)): 502s raise DistutilsFileError( 502s f"could not create '{head}': {exc.args[-1]}" 502s ) 502s created_dirs.append(head) 502s 502s > _path_created.add(abs_head) 502s E AttributeError: 'dict' object has no attribute 'add' 502s 502s abs_head = '/tmp/pytest-of-ubuntu/pytest-78/script_keyword0/_skbuild' 502s created_dirs = ['_skbuild'] 502s d = '_skbuild' 502s dry_run = False 502s head = '_skbuild' 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/scripts-3.12' 502s tail = '_skbuild' 502s tails = ['_skbuild', 'linux-armv7l-3.12', 'setuptools', 'scripts-3.12'] 502s verbose = True 502s 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dir_util.py:82: AttributeError 502s ----------------------------- Captured stdout call ----------------------------- 502s skipping skbuild (no CMakeLists.txt found) 502s ------------------------------ Captured log call ------------------------------- 502s INFO root:dist.py:986 running build 502s INFO root:dist.py:986 running build_scripts 502s INFO root:dir_util.py:70 creating _skbuild 502s _________________________ test_script_keyword[skbuild] _________________________ 502s 502s distribution_type = 'skbuild' 502s capsys = <_pytest.capture.CaptureFixture object at 0xebe81558> 502s caplog = <_pytest.logging.LogCaptureFixture object at 0xebe81ff0> 502s 502s @pytest.mark.parametrize("distribution_type", ["pure", "skbuild"]) 502s def test_script_keyword(distribution_type, capsys, caplog): 502s # ------------------------------------------------------------------------- 502s # 502s # "SOURCE" tree layout for "pure" distribution: 502s # 502s # ROOT/ 502s # setup.py 502s # foo.py 502s # bar.py 502s # 502s # "SOURCE" tree layout for "pure" distribution: 502s # 502s # ROOT/ 502s # setup.py 502s # CMakeLists.txt 502s # 502s # ------------------------------------------------------------------------- 502s # "BINARY" distribution layout is identical for both 502s # 502s # ROOT/ 502s # foo.py 502s # bar.py 502s # 502s 502s tmp_dir = _tmpdir("script_keyword") 502s 502s tmp_dir.join("setup.py").write( 502s textwrap.dedent( 502s """ 502s from skbuild import setup 502s setup( 502s name="test_script_keyword", 502s version="1.2.3", 502s description="a package testing use of script keyword", 502s author='The scikit-build team', 502s license="MIT", 502s scripts=['foo.py', 'bar.py'], 502s packages=[], 502s ) 502s """ 502s ) 502s ) 502s 502s if distribution_type == "skbuild": 502s tmp_dir.join("CMakeLists.txt").write( 502s textwrap.dedent( 502s """ 502s cmake_minimum_required(VERSION 3.5.0) 502s project(foo NONE) 502s file(WRITE "${CMAKE_BINARY_DIR}/foo.py" "# foo.py") 502s file(WRITE "${CMAKE_BINARY_DIR}/bar.py" "# bar.py") 502s install( 502s FILES 502s "${CMAKE_BINARY_DIR}/foo.py" 502s "${CMAKE_BINARY_DIR}/bar.py" 502s DESTINATION "." 502s ) 502s """ 502s ) 502s ) 502s 502s messages = [ 502s f"copying {CMAKE_INSTALL_DIR()}/{module}.py -> {SKBUILD_DIR()}/setuptools/scripts-" 502s for module in ["foo", "bar"] 502s ] 502s 502s elif distribution_type == "pure": 502s tmp_dir.join("foo.py").write("# foo.py") 502s tmp_dir.join("bar.py").write("# bar.py") 502s 502s messages = [f"copying {module}.py -> {SKBUILD_DIR()}/setuptools/scripts-" for module in ["foo", "bar"]] 502s 502s > with execute_setup_py(tmp_dir, ["build"], disable_languages_test=True): 502s 502s caplog = <_pytest.logging.LogCaptureFixture object at 0xebe81ff0> 502s capsys = <_pytest.capture.CaptureFixture object at 0xebe81558> 502s distribution_type = 'skbuild' 502s messages = ['copying _skbuild/linux-armv7l-3.12/cmake-install/foo.py -> _skbuild/linux-armv7l-3.12/setuptools/scripts-', 'copying _skbuild/linux-armv7l-3.12/cmake-install/bar.py -> _skbuild/linux-armv7l-3.12/setuptools/scripts-'] 502s tmp_dir = local('/tmp/pytest-of-ubuntu/pytest-79/script_keyword0') 502s 502s tests/test_setup.py:449: 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s /usr/lib/python3.12/contextlib.py:137: in __enter__ 502s return next(self.gen) 502s self = 502s tests/__init__.py:244: in execute_setup_py 502s exec(setup_code) 502s disable_languages_test = True 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s original_write_test_cmakelist = 502s platform = 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-79/script_keyword0') 502s setup = 502s setup_args = ['build'] 502s setup_code = at 0xec839440, file "setup.py", line 1> 502s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xebf9f488> 502s setup.py:3: in 502s setup( 502s disable_languages_test = True 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s original_write_test_cmakelist = 502s platform = 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-79/script_keyword0') 502s setup = 502s setup_args = ['build'] 502s setup_code = at 0xec839440, file "setup.py", line 1> 502s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xebf9f488> 502s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:781: in setup 502s return setuptools.setup(**kw) # type: ignore[no-any-return, func-returns-value] 502s BinaryDistribution = .BinaryDistribution'> 502s build_ext_inplace = False 502s cmake_args = ['-DCMAKE_BUILD_TYPE:STRING=Release'] 502s cmake_args_from_args = [] 502s cmake_executable = '/usr/bin/cmake' 502s cmake_install_dir = '' 502s cmake_install_target = 'install' 502s cmake_install_target_from_command = '' 502s cmake_install_target_from_setup = 'install' 502s cmake_languages = ('C', 'CXX') 502s cmake_manifest = ['_skbuild/linux-armv7l-3.12/cmake-install/foo.py', '_skbuild/linux-armv7l-3.12/cmake-install/bar.py'] 502s cmake_minimum_required_version = None 502s cmake_process_manifest_hook = None 502s cmake_source_dir = '' 502s cmake_spec = {'args': ['/usr/bin/cmake', '-DCMAKE_BUILD_TYPE:STRING=Release'], 'environment': {'PYTHONNOUSERSITE': '1', 'PYTHONPATH': '/path/to/anything'}, 'version': '3.29.6'} 502s cmake_with_sdist = False 502s cmdclass = {'bdist': , 'bdist_wheel': , 'build': , 'build_ext': , ...} 502s cmkr = 502s commands = ['build'] 502s config_type = 'Release' 502s data_files = {} 502s developer_mode = False 502s display_only = False 502s env = {'ADTTMP': '/tmp/autopkgtest.EPTB0Y/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', 'ADT_TEST_TRIGGERS': 'setuptools/70.3.0-2', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', ...} 502s env_cmake_args = [] 502s force_cmake = False 502s has_cmakelists = True 502s has_invalid_arguments = False 502s help_commands = 0 502s hide_listing = False 502s kw = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a package testing use of script keyword', ...} 502s make_args = ['--config', 'Release'] 502s new_py_modules = {} 502s new_scripts = {'bar.py': True, 'foo.py': True} 502s original_manifestin_data_files = [] 502s original_package_data = {} 502s package_data = {} 502s package_dir = {} 502s package_prefixes = [] 502s packages = [] 502s plat_name = None 502s process_manifest = None 502s py_modules = [] 502s scripts = ['foo.py', 'bar.py'] 502s skip_cmake = False 502s skip_generator_test = False 502s skip_skbuild = False 502s /usr/lib/python3/dist-packages/setuptools/__init__.py:103: in setup 502s return distutils.core.setup(**attrs) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a package testing use of script keyword', ...} 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:184: in setup 502s return run_commands(dist) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a package testing use of script keyword', ...} 502s dist = .BinaryDistribution object at 0xec021540> 502s klass = .BinaryDistribution'> 502s ok = True 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:200: in run_commands 502s dist.run_commands() 502s dist = .BinaryDistribution object at 0xec021540> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:970: in run_commands 502s self.run_command(cmd) 502s cmd = 'build' 502s self = .BinaryDistribution object at 0xec021540> 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'build' 502s self = .BinaryDistribution object at 0xec021540> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'build' 502s self = .BinaryDistribution object at 0xec021540> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build.py:135: in run 502s self.run_command(cmd_name) 502s cmd_name = 'build_scripts' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 502s self.distribution.run_command(command) 502s command = 'build_scripts' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'build_scripts' 502s self = .BinaryDistribution object at 0xec021540> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'build_scripts' 502s self = .BinaryDistribution object at 0xec021540> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_scripts.py:57: in run 502s self.copy_scripts() 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_scripts.py:68: in copy_scripts 502s self.mkpath(self.build_dir) 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:340: in mkpath 502s dir_util.mkpath(name, mode, dry_run=self.dry_run) 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/scripts-3.12' 502s self = 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s 502s name = '_skbuild/linux-armv7l-3.12/setuptools/scripts-3.12', mode = 511 502s verbose = True, dry_run = False 502s 502s def mkpath(name, mode=0o777, verbose=True, dry_run=False): # noqa: C901 502s """Create a directory and any missing ancestor directories. 502s 502s If the directory already exists (or if 'name' is the empty string, which 502s means the current directory, which of course exists), then do nothing. 502s Raise DistutilsFileError if unable to create some directory along the way 502s (eg. some sub-path exists, but is a file rather than a directory). 502s If 'verbose' is true, print a one-line summary of each mkdir to stdout. 502s Return the list of directories actually created. 502s 502s os.makedirs is not used because: 502s 502s a) It's new to Python 1.5.2, and 502s b) it blows up if the directory already exists (in which case it should 502s silently succeed). 502s """ 502s 502s global _path_created 502s 502s # Detect a common bug -- name is None 502s if not isinstance(name, str): 502s raise DistutilsInternalError(f"mkpath: 'name' must be a string (got {name!r})") 502s 502s # XXX what's the better way to handle verbosity? print as we create 502s # each directory in the path (the current behaviour), or only announce 502s # the creation of the whole path? (quite easy to do the latter since 502s # we're not using a recursive algorithm) 502s 502s name = os.path.normpath(name) 502s created_dirs = [] 502s if os.path.isdir(name) or name == '': 502s return created_dirs 502s if os.path.abspath(name) in _path_created: 502s return created_dirs 502s 502s (head, tail) = os.path.split(name) 502s tails = [tail] # stack of lone dirs to create 502s 502s while head and tail and not os.path.isdir(head): 502s (head, tail) = os.path.split(head) 502s tails.insert(0, tail) # push next higher dir onto stack 502s 502s # now 'head' contains the deepest directory that already exists 502s # (that is, the child of 'head' in 'name' is the highest directory 502s # that does *not* exist) 502s for d in tails: 502s # print "head = %s, d = %s: " % (head, d), 502s head = os.path.join(head, d) 502s abs_head = os.path.abspath(head) 502s 502s if abs_head in _path_created: 502s continue 502s 502s if verbose >= 1: 502s log.info("creating %s", head) 502s 502s if not dry_run: 502s try: 502s os.mkdir(head, mode) 502s except OSError as exc: 502s if not (exc.errno == errno.EEXIST and os.path.isdir(head)): 502s raise DistutilsFileError( 502s f"could not create '{head}': {exc.args[-1]}" 502s ) 502s created_dirs.append(head) 502s 502s > _path_created.add(abs_head) 502s E AttributeError: 'dict' object has no attribute 'add' 502s 502s abs_head = '/tmp/pytest-of-ubuntu/pytest-79/script_keyword0/_skbuild/linux-armv7l-3.12/setuptools/scripts-3.12' 502s created_dirs = ['_skbuild/linux-armv7l-3.12/setuptools/scripts-3.12'] 502s d = 'scripts-3.12' 502s dry_run = False 502s head = '_skbuild/linux-armv7l-3.12/setuptools/scripts-3.12' 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/scripts-3.12' 502s tail = 'scripts-3.12' 502s tails = ['scripts-3.12'] 502s verbose = True 502s 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dir_util.py:82: AttributeError 502s ----------------------------- Captured stdout call ----------------------------- 502s Not searching for unused variables given on the command line. 502s -- Configuring incomplete, errors occurred! 502s Not searching for unused variables given on the command line. 502s -- Configuring done (0.0s) 502s -- Generating done (0.0s) 502s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-79/script_keyword0/_cmake_test_compile/build 502s Not searching for unused variables given on the command line. 502s -- Configuring done (0.0s) 502s -- Generating done (0.0s) 502s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-79/script_keyword0/_skbuild/linux-armv7l-3.12/cmake-build 502s Install the project... 502s -- Install configuration: "Release" 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-79/script_keyword0/_skbuild/linux-armv7l-3.12/cmake-install/./foo.py 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-79/script_keyword0/_skbuild/linux-armv7l-3.12/cmake-install/./bar.py 502s 502s 502s -------------------------------------------------------------------------------- 502s -- Trying 'Ninja' generator 502s -------------------------------- 502s --------------------------- 502s ---------------------- 502s ----------------- 502s ------------ 502s ------- 502s -- 502s -- 502s ------- 502s ------------ 502s ----------------- 502s ---------------------- 502s --------------------------- 502s -------------------------------- 502s -- Trying 'Ninja' generator - failure 502s -------------------------------------------------------------------------------- 502s 502s 502s 502s -------------------------------------------------------------------------------- 502s -- Trying 'Unix Makefiles' generator 502s -------------------------------- 502s --------------------------- 502s ---------------------- 502s ----------------- 502s ------------ 502s ------- 502s -- 502s -- 502s ------- 502s ------------ 502s ----------------- 502s ---------------------- 502s --------------------------- 502s -------------------------------- 502s -- Trying 'Unix Makefiles' generator - success 502s -------------------------------------------------------------------------------- 502s 502s Configuring Project 502s Working directory: 502s /tmp/pytest-of-ubuntu/pytest-79/script_keyword0/_skbuild/linux-armv7l-3.12/cmake-build 502s Command: 502s /usr/bin/cmake /tmp/pytest-of-ubuntu/pytest-79/script_keyword0 -G 'Unix Makefiles' --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pytest-of-ubuntu/pytest-79/script_keyword0/_skbuild/linux-armv7l-3.12/cmake-install -DPYTHON_VERSION_STRING:STRING=3.12.4 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/usr/lib/python3/dist-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/usr/bin/python3.12 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPYTHON_LIBRARY:PATH=/usr/lib/arm-linux-gnueabihf/libpython3.12.so -DPython_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython_ROOT_DIR:PATH=/usr -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPython3_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython3_ROOT_DIR:PATH=/usr -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.12 -DCMAKE_BUILD_TYPE:STRING=Release 502s 502s 502s 502s ----------------------------- Captured stderr call ----------------------------- 502s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 502s Compatibility with CMake < 3.5 will be removed from a future version of 502s CMake. 502s 502s Update the VERSION argument value or use a ... suffix to tell 502s CMake that the project does not need compatibility with older versions. 502s 502s 502s CMake Error: CMake was unable to find a build program corresponding to "Ninja". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. 502s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 502s Compatibility with CMake < 3.5 will be removed from a future version of 502s CMake. 502s 502s Update the VERSION argument value or use a ... suffix to tell 502s CMake that the project does not need compatibility with older versions. 502s 502s 502s ------------------------------ Captured log call ------------------------------- 502s INFO root:dist.py:986 running build 502s INFO root:dist.py:986 running build_ext 502s INFO root:dist.py:986 running build_scripts 502s INFO root:dir_util.py:70 creating _skbuild/linux-armv7l-3.12/setuptools/scripts-3.12 502s ________________________ test_py_modules_keyword[pure] _________________________ 502s 502s distribution_type = 'pure' 502s capsys = <_pytest.capture.CaptureFixture object at 0xec021588> 502s caplog = <_pytest.logging.LogCaptureFixture object at 0xec021bd0> 502s 502s @pytest.mark.parametrize("distribution_type", ["pure", "skbuild"]) 502s def test_py_modules_keyword(distribution_type, capsys, caplog): 502s # ------------------------------------------------------------------------- 502s # 502s # "SOURCE" tree layout for "pure" distribution: 502s # 502s # ROOT/ 502s # setup.py 502s # foo.py 502s # bar.py 502s # 502s # "SOURCE" tree layout for "skbuild" distribution: 502s # 502s # ROOT/ 502s # setup.py 502s # CMakeLists.txt 502s # 502s # ------------------------------------------------------------------------- 502s # "BINARY" distribution layout is identical for both 502s # 502s # ROOT/ 502s # foo.py 502s # bar.py 502s # 502s 502s tmp_dir = _tmpdir("py_modules_keyword") 502s 502s tmp_dir.join("setup.py").write( 502s textwrap.dedent( 502s """ 502s from skbuild import setup 502s setup( 502s name="test_py_modules_keyword", 502s version="1.2.3", 502s description="a package testing use of py_modules keyword", 502s author='The scikit-build team', 502s license="MIT", 502s py_modules=['foo', 'bar'] 502s ) 502s """ 502s ) 502s ) 502s 502s if distribution_type == "skbuild": 502s tmp_dir.join("CMakeLists.txt").write( 502s textwrap.dedent( 502s """ 502s cmake_minimum_required(VERSION 3.5.0) 502s project(foobar NONE) 502s file(WRITE "${CMAKE_BINARY_DIR}/foo.py" "# foo.py") 502s file(WRITE "${CMAKE_BINARY_DIR}/bar.py" "# bar.py") 502s install( 502s FILES 502s "${CMAKE_BINARY_DIR}/foo.py" 502s "${CMAKE_BINARY_DIR}/bar.py" 502s DESTINATION "." 502s ) 502s """ 502s ) 502s ) 502s 502s messages = [ 502s f"copying {CMAKE_INSTALL_DIR()}/{module}.py -> {SKBUILD_DIR()}/setuptools/lib" for module in ["foo", "bar"] 502s ] 502s 502s elif distribution_type == "pure": 502s tmp_dir.join("foo.py").write("# foo.py") 502s tmp_dir.join("bar.py").write("# bar.py") 502s 502s messages = [f"copying {module}.py -> {SKBUILD_DIR()}/setuptools/lib" for module in ["foo", "bar"]] 502s 502s > with execute_setup_py(tmp_dir, ["build"], disable_languages_test=True): 502s 502s caplog = <_pytest.logging.LogCaptureFixture object at 0xec021bd0> 502s capsys = <_pytest.capture.CaptureFixture object at 0xec021588> 502s distribution_type = 'pure' 502s messages = ['copying foo.py -> _skbuild/linux-armv7l-3.12/setuptools/lib', 'copying bar.py -> _skbuild/linux-armv7l-3.12/setuptools/lib'] 502s tmp_dir = local('/tmp/pytest-of-ubuntu/pytest-80/py_modules_keyword0') 502s 502s tests/test_setup.py:529: 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s /usr/lib/python3.12/contextlib.py:137: in __enter__ 502s return next(self.gen) 502s self = 502s tests/__init__.py:244: in execute_setup_py 502s exec(setup_code) 502s disable_languages_test = True 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s original_write_test_cmakelist = 502s platform = 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-80/py_modules_keyword0') 502s setup = 502s setup_args = ['build'] 502s setup_code = at 0xec47e4f0, file "setup.py", line 1> 502s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xebe70a28> 502s setup.py:3: in 502s setup( 502s disable_languages_test = True 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s original_write_test_cmakelist = 502s platform = 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-80/py_modules_keyword0') 502s setup = 502s setup_args = ['build'] 502s setup_code = at 0xec47e4f0, file "setup.py", line 1> 502s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xebe70a28> 502s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:513: in setup 502s return setuptools.setup(**kw) # type: ignore[no-any-return, func-returns-value] 502s build_ext_inplace = False 502s cmake_args = () 502s cmake_args_from_args = [] 502s cmake_executable = None 502s cmake_install_dir = '' 502s cmake_install_target = 'install' 502s cmake_languages = ('C', 'CXX') 502s cmake_minimum_required_version = None 502s cmake_process_manifest_hook = None 502s cmake_source_dir = '' 502s cmake_with_sdist = False 502s cmdclass = {'bdist': , 'bdist_wheel': , 'build': , 'build_ext': , ...} 502s commands = ['build'] 502s display_only = False 502s force_cmake = False 502s has_cmakelists = False 502s has_invalid_arguments = False 502s help_commands = 0 502s hide_listing = False 502s kw = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'description': 'a package testing use of py_modules keyword', 'license': 'MIT', ...} 502s make_args = [] 502s plat_name = None 502s skip_cmake = False 502s skip_generator_test = False 502s skip_skbuild = True 502s /usr/lib/python3/dist-packages/setuptools/__init__.py:103: in setup 502s return distutils.core.setup(**attrs) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'description': 'a package testing use of py_modules keyword', 'license': 'MIT', ...} 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:184: in setup 502s return run_commands(dist) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'description': 'a package testing use of py_modules keyword', 'license': 'MIT', ...} 502s dist = 502s klass = 502s ok = True 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:200: in run_commands 502s dist.run_commands() 502s dist = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:970: in run_commands 502s self.run_command(cmd) 502s cmd = 'build' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'build' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'build' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build.py:135: in run 502s self.run_command(cmd_name) 502s cmd_name = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 502s self.distribution.run_command(command) 502s command = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:41: in run 502s super().run(*args, **kwargs) 502s __class__ = 502s args = () 502s kwargs = {} 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:71: in run 502s self.build_modules() 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:359: in build_modules 502s self.build_module(module, module_file, package) 502s module = 'foo' 502s module_file = 'foo.py' 502s modules = [('', 'foo', 'foo.py'), ('', 'bar', 'bar.py')] 502s package = '' 502s self = 502s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:31: in build_module 502s super().build_module(module, module_file, package) # type: ignore[no-untyped-call] 502s __class__ = 502s module = 'foo' 502s module_file = 'foo.py' 502s package = '' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:89: in build_module 502s outfile, copied = orig.build_py.build_module(self, module, module_file, package) 502s module = 'foo' 502s module_file = 'foo.py' 502s package = '' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:349: in build_module 502s self.mkpath(dir) 502s dir = '_skbuild/linux-armv7l-3.12/setuptools/lib' 502s module = 'foo' 502s module_file = 'foo.py' 502s outfile = '_skbuild/linux-armv7l-3.12/setuptools/lib/foo.py' 502s package = [''] 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:340: in mkpath 502s dir_util.mkpath(name, mode, dry_run=self.dry_run) 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib' 502s self = 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib', mode = 511, verbose = True 502s dry_run = False 502s 502s def mkpath(name, mode=0o777, verbose=True, dry_run=False): # noqa: C901 502s """Create a directory and any missing ancestor directories. 502s 502s If the directory already exists (or if 'name' is the empty string, which 502s means the current directory, which of course exists), then do nothing. 502s Raise DistutilsFileError if unable to create some directory along the way 502s (eg. some sub-path exists, but is a file rather than a directory). 502s If 'verbose' is true, print a one-line summary of each mkdir to stdout. 502s Return the list of directories actually created. 502s 502s os.makedirs is not used because: 502s 502s a) It's new to Python 1.5.2, and 502s b) it blows up if the directory already exists (in which case it should 502s silently succeed). 502s """ 502s 502s global _path_created 502s 502s # Detect a common bug -- name is None 502s if not isinstance(name, str): 502s raise DistutilsInternalError(f"mkpath: 'name' must be a string (got {name!r})") 502s 502s # XXX what's the better way to handle verbosity? print as we create 502s # each directory in the path (the current behaviour), or only announce 502s # the creation of the whole path? (quite easy to do the latter since 502s # we're not using a recursive algorithm) 502s 502s name = os.path.normpath(name) 502s created_dirs = [] 502s if os.path.isdir(name) or name == '': 502s return created_dirs 502s if os.path.abspath(name) in _path_created: 502s return created_dirs 502s 502s (head, tail) = os.path.split(name) 502s tails = [tail] # stack of lone dirs to create 502s 502s while head and tail and not os.path.isdir(head): 502s (head, tail) = os.path.split(head) 502s tails.insert(0, tail) # push next higher dir onto stack 502s 502s # now 'head' contains the deepest directory that already exists 502s # (that is, the child of 'head' in 'name' is the highest directory 502s # that does *not* exist) 502s for d in tails: 502s # print "head = %s, d = %s: " % (head, d), 502s head = os.path.join(head, d) 502s abs_head = os.path.abspath(head) 502s 502s if abs_head in _path_created: 502s continue 502s 502s if verbose >= 1: 502s log.info("creating %s", head) 502s 502s if not dry_run: 502s try: 502s os.mkdir(head, mode) 502s except OSError as exc: 502s if not (exc.errno == errno.EEXIST and os.path.isdir(head)): 502s raise DistutilsFileError( 502s f"could not create '{head}': {exc.args[-1]}" 502s ) 502s created_dirs.append(head) 502s 502s > _path_created.add(abs_head) 502s E AttributeError: 'dict' object has no attribute 'add' 502s 502s abs_head = '/tmp/pytest-of-ubuntu/pytest-80/py_modules_keyword0/_skbuild' 502s created_dirs = ['_skbuild'] 502s d = '_skbuild' 502s dry_run = False 502s head = '_skbuild' 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib' 502s tail = '_skbuild' 502s tails = ['_skbuild', 'linux-armv7l-3.12', 'setuptools', 'lib'] 502s verbose = True 502s 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dir_util.py:82: AttributeError 502s ----------------------------- Captured stdout call ----------------------------- 502s skipping skbuild (no CMakeLists.txt found) 502s ------------------------------ Captured log call ------------------------------- 502s INFO root:dist.py:986 running build 502s INFO root:dist.py:986 running build_py 502s INFO root:dir_util.py:70 creating _skbuild 502s _______________________ test_py_modules_keyword[skbuild] _______________________ 502s 502s distribution_type = 'skbuild' 502s capsys = <_pytest.capture.CaptureFixture object at 0xebe77e28> 502s caplog = <_pytest.logging.LogCaptureFixture object at 0xebe77af8> 502s 502s @pytest.mark.parametrize("distribution_type", ["pure", "skbuild"]) 502s def test_py_modules_keyword(distribution_type, capsys, caplog): 502s # ------------------------------------------------------------------------- 502s # 502s # "SOURCE" tree layout for "pure" distribution: 502s # 502s # ROOT/ 502s # setup.py 502s # foo.py 502s # bar.py 502s # 502s # "SOURCE" tree layout for "skbuild" distribution: 502s # 502s # ROOT/ 502s # setup.py 502s # CMakeLists.txt 502s # 502s # ------------------------------------------------------------------------- 502s # "BINARY" distribution layout is identical for both 502s # 502s # ROOT/ 502s # foo.py 502s # bar.py 502s # 502s 502s tmp_dir = _tmpdir("py_modules_keyword") 502s 502s tmp_dir.join("setup.py").write( 502s textwrap.dedent( 502s """ 502s from skbuild import setup 502s setup( 502s name="test_py_modules_keyword", 502s version="1.2.3", 502s description="a package testing use of py_modules keyword", 502s author='The scikit-build team', 502s license="MIT", 502s py_modules=['foo', 'bar'] 502s ) 502s """ 502s ) 502s ) 502s 502s if distribution_type == "skbuild": 502s tmp_dir.join("CMakeLists.txt").write( 502s textwrap.dedent( 502s """ 502s cmake_minimum_required(VERSION 3.5.0) 502s project(foobar NONE) 502s file(WRITE "${CMAKE_BINARY_DIR}/foo.py" "# foo.py") 502s file(WRITE "${CMAKE_BINARY_DIR}/bar.py" "# bar.py") 502s install( 502s FILES 502s "${CMAKE_BINARY_DIR}/foo.py" 502s "${CMAKE_BINARY_DIR}/bar.py" 502s DESTINATION "." 502s ) 502s """ 502s ) 502s ) 502s 502s messages = [ 502s f"copying {CMAKE_INSTALL_DIR()}/{module}.py -> {SKBUILD_DIR()}/setuptools/lib" for module in ["foo", "bar"] 502s ] 502s 502s elif distribution_type == "pure": 502s tmp_dir.join("foo.py").write("# foo.py") 502s tmp_dir.join("bar.py").write("# bar.py") 502s 502s messages = [f"copying {module}.py -> {SKBUILD_DIR()}/setuptools/lib" for module in ["foo", "bar"]] 502s 502s > with execute_setup_py(tmp_dir, ["build"], disable_languages_test=True): 502s 502s caplog = <_pytest.logging.LogCaptureFixture object at 0xebe77af8> 502s capsys = <_pytest.capture.CaptureFixture object at 0xebe77e28> 502s distribution_type = 'skbuild' 502s messages = ['copying _skbuild/linux-armv7l-3.12/cmake-install/foo.py -> _skbuild/linux-armv7l-3.12/setuptools/lib', 'copying _skbuild/linux-armv7l-3.12/cmake-install/bar.py -> _skbuild/linux-armv7l-3.12/setuptools/lib'] 502s tmp_dir = local('/tmp/pytest-of-ubuntu/pytest-81/py_modules_keyword0') 502s 502s tests/test_setup.py:529: 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s /usr/lib/python3.12/contextlib.py:137: in __enter__ 502s return next(self.gen) 502s self = 502s tests/__init__.py:244: in execute_setup_py 502s exec(setup_code) 502s disable_languages_test = True 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s original_write_test_cmakelist = 502s platform = 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-81/py_modules_keyword0') 502s setup = 502s setup_args = ['build'] 502s setup_code = at 0xec8395a0, file "setup.py", line 1> 502s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xebfbd168> 502s setup.py:3: in 502s setup( 502s disable_languages_test = True 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s original_write_test_cmakelist = 502s platform = 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-81/py_modules_keyword0') 502s setup = 502s setup_args = ['build'] 502s setup_code = at 0xec8395a0, file "setup.py", line 1> 502s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xebfbd168> 502s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:781: in setup 502s return setuptools.setup(**kw) # type: ignore[no-any-return, func-returns-value] 502s BinaryDistribution = .BinaryDistribution'> 502s build_ext_inplace = False 502s cmake_args = ['-DCMAKE_BUILD_TYPE:STRING=Release'] 502s cmake_args_from_args = [] 502s cmake_executable = '/usr/bin/cmake' 502s cmake_install_dir = '' 502s cmake_install_target = 'install' 502s cmake_install_target_from_command = '' 502s cmake_install_target_from_setup = 'install' 502s cmake_languages = ('C', 'CXX') 502s cmake_manifest = ['_skbuild/linux-armv7l-3.12/cmake-install/foo.py', '_skbuild/linux-armv7l-3.12/cmake-install/bar.py'] 502s cmake_minimum_required_version = None 502s cmake_process_manifest_hook = None 502s cmake_source_dir = '' 502s cmake_spec = {'args': ['/usr/bin/cmake', '-DCMAKE_BUILD_TYPE:STRING=Release'], 'environment': {'PYTHONNOUSERSITE': '1', 'PYTHONPATH': '/path/to/anything'}, 'version': '3.29.6'} 502s cmake_with_sdist = False 502s cmdclass = {'bdist': , 'bdist_wheel': , 'build': , 'build_ext': , ...} 502s cmkr = 502s commands = ['build'] 502s config_type = 'Release' 502s data_files = {} 502s developer_mode = False 502s display_only = False 502s env = {'ADTTMP': '/tmp/autopkgtest.EPTB0Y/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', 'ADT_TEST_TRIGGERS': 'setuptools/70.3.0-2', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', ...} 502s env_cmake_args = [] 502s force_cmake = False 502s has_cmakelists = True 502s has_invalid_arguments = False 502s help_commands = 0 502s hide_listing = False 502s kw = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a package testing use of py_modules keyword', ...} 502s make_args = ['--config', 'Release'] 502s new_py_modules = {'bar': True, 'foo': True} 502s new_scripts = {} 502s original_manifestin_data_files = [] 502s original_package_data = {} 502s package_data = {'': ['foo.py', 'bar.py']} 502s package_dir = {} 502s package_prefixes = [] 502s packages = [] 502s plat_name = None 502s process_manifest = None 502s py_modules = ['foo', 'bar'] 502s scripts = [] 502s skip_cmake = False 502s skip_generator_test = False 502s skip_skbuild = False 502s /usr/lib/python3/dist-packages/setuptools/__init__.py:103: in setup 502s return distutils.core.setup(**attrs) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a package testing use of py_modules keyword', ...} 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:184: in setup 502s return run_commands(dist) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a package testing use of py_modules keyword', ...} 502s dist = .BinaryDistribution object at 0xebfb2768> 502s klass = .BinaryDistribution'> 502s ok = True 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:200: in run_commands 502s dist.run_commands() 502s dist = .BinaryDistribution object at 0xebfb2768> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:970: in run_commands 502s self.run_command(cmd) 502s cmd = 'build' 502s self = .BinaryDistribution object at 0xebfb2768> 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'build' 502s self = .BinaryDistribution object at 0xebfb2768> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'build' 502s self = .BinaryDistribution object at 0xebfb2768> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build.py:135: in run 502s self.run_command(cmd_name) 502s cmd_name = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 502s self.distribution.run_command(command) 502s command = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'build_py' 502s self = .BinaryDistribution object at 0xebfb2768> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'build_py' 502s self = .BinaryDistribution object at 0xebfb2768> 502s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:41: in run 502s super().run(*args, **kwargs) 502s __class__ = 502s args = () 502s kwargs = {} 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:71: in run 502s self.build_modules() 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:359: in build_modules 502s self.build_module(module, module_file, package) 502s module = 'foo' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/foo.py' 502s modules = [('', 'foo', '_skbuild/linux-armv7l-3.12/cmake-install/foo.py'), ('', 'bar', '_skbuild/linux-armv7l-3.12/cmake-install/bar.py')] 502s package = '' 502s self = 502s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:31: in build_module 502s super().build_module(module, module_file, package) # type: ignore[no-untyped-call] 502s __class__ = 502s module = 'foo' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/foo.py' 502s package = '' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:89: in build_module 502s outfile, copied = orig.build_py.build_module(self, module, module_file, package) 502s module = 'foo' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/foo.py' 502s package = '' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:349: in build_module 502s self.mkpath(dir) 502s dir = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 502s module = 'foo' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/foo.py' 502s outfile = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/foo.py' 502s package = [''] 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:340: in mkpath 502s dir_util.mkpath(name, mode, dry_run=self.dry_run) 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 502s self = 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 502s mode = 511, verbose = True, dry_run = False 502s 502s def mkpath(name, mode=0o777, verbose=True, dry_run=False): # noqa: C901 502s """Create a directory and any missing ancestor directories. 502s 502s If the directory already exists (or if 'name' is the empty string, which 502s means the current directory, which of course exists), then do nothing. 502s Raise DistutilsFileError if unable to create some directory along the way 502s (eg. some sub-path exists, but is a file rather than a directory). 502s If 'verbose' is true, print a one-line summary of each mkdir to stdout. 502s Return the list of directories actually created. 502s 502s os.makedirs is not used because: 502s 502s a) It's new to Python 1.5.2, and 502s b) it blows up if the directory already exists (in which case it should 502s silently succeed). 502s """ 502s 502s global _path_created 502s 502s # Detect a common bug -- name is None 502s if not isinstance(name, str): 502s raise DistutilsInternalError(f"mkpath: 'name' must be a string (got {name!r})") 502s 502s # XXX what's the better way to handle verbosity? print as we create 502s # each directory in the path (the current behaviour), or only announce 502s # the creation of the whole path? (quite easy to do the latter since 502s # we're not using a recursive algorithm) 502s 502s name = os.path.normpath(name) 502s created_dirs = [] 502s if os.path.isdir(name) or name == '': 502s return created_dirs 502s if os.path.abspath(name) in _path_created: 502s return created_dirs 502s 502s (head, tail) = os.path.split(name) 502s tails = [tail] # stack of lone dirs to create 502s 502s while head and tail and not os.path.isdir(head): 502s (head, tail) = os.path.split(head) 502s tails.insert(0, tail) # push next higher dir onto stack 502s 502s # now 'head' contains the deepest directory that already exists 502s # (that is, the child of 'head' in 'name' is the highest directory 502s # that does *not* exist) 502s for d in tails: 502s # print "head = %s, d = %s: " % (head, d), 502s head = os.path.join(head, d) 502s abs_head = os.path.abspath(head) 502s 502s if abs_head in _path_created: 502s continue 502s 502s if verbose >= 1: 502s log.info("creating %s", head) 502s 502s if not dry_run: 502s try: 502s os.mkdir(head, mode) 502s except OSError as exc: 502s if not (exc.errno == errno.EEXIST and os.path.isdir(head)): 502s raise DistutilsFileError( 502s f"could not create '{head}': {exc.args[-1]}" 502s ) 502s created_dirs.append(head) 502s 502s > _path_created.add(abs_head) 502s E AttributeError: 'dict' object has no attribute 'add' 502s 502s abs_head = '/tmp/pytest-of-ubuntu/pytest-81/py_modules_keyword0/_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 502s created_dirs = ['_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312'] 502s d = 'lib.linux-armv7l-cpython-312' 502s dry_run = False 502s head = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 502s tail = 'lib.linux-armv7l-cpython-312' 502s tails = ['lib.linux-armv7l-cpython-312'] 502s verbose = True 502s 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dir_util.py:82: AttributeError 502s ----------------------------- Captured stdout call ----------------------------- 502s Not searching for unused variables given on the command line. 502s -- Configuring incomplete, errors occurred! 502s Not searching for unused variables given on the command line. 502s -- Configuring done (0.0s) 502s -- Generating done (0.0s) 502s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-81/py_modules_keyword0/_cmake_test_compile/build 502s Not searching for unused variables given on the command line. 502s -- Configuring done (0.0s) 502s -- Generating done (0.0s) 502s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-81/py_modules_keyword0/_skbuild/linux-armv7l-3.12/cmake-build 502s Install the project... 502s -- Install configuration: "Release" 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-81/py_modules_keyword0/_skbuild/linux-armv7l-3.12/cmake-install/./foo.py 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-81/py_modules_keyword0/_skbuild/linux-armv7l-3.12/cmake-install/./bar.py 502s 502s 502s -------------------------------------------------------------------------------- 502s -- Trying 'Ninja' generator 502s -------------------------------- 502s --------------------------- 502s ---------------------- 502s ----------------- 502s ------------ 502s ------- 502s -- 502s -- 502s ------- 502s ------------ 502s ----------------- 502s ---------------------- 502s --------------------------- 502s -------------------------------- 502s -- Trying 'Ninja' generator - failure 502s -------------------------------------------------------------------------------- 502s 502s 502s 502s -------------------------------------------------------------------------------- 502s -- Trying 'Unix Makefiles' generator 502s -------------------------------- 502s --------------------------- 502s ---------------------- 502s ----------------- 502s ------------ 502s ------- 502s -- 502s -- 502s ------- 502s ------------ 502s ----------------- 502s ---------------------- 502s --------------------------- 502s -------------------------------- 502s -- Trying 'Unix Makefiles' generator - success 502s -------------------------------------------------------------------------------- 502s 502s Configuring Project 502s Working directory: 502s /tmp/pytest-of-ubuntu/pytest-81/py_modules_keyword0/_skbuild/linux-armv7l-3.12/cmake-build 502s Command: 502s /usr/bin/cmake /tmp/pytest-of-ubuntu/pytest-81/py_modules_keyword0 -G 'Unix Makefiles' --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pytest-of-ubuntu/pytest-81/py_modules_keyword0/_skbuild/linux-armv7l-3.12/cmake-install -DPYTHON_VERSION_STRING:STRING=3.12.4 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/usr/lib/python3/dist-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/usr/bin/python3.12 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPYTHON_LIBRARY:PATH=/usr/lib/arm-linux-gnueabihf/libpython3.12.so -DPython_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython_ROOT_DIR:PATH=/usr -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPython3_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython3_ROOT_DIR:PATH=/usr -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.12 -DCMAKE_BUILD_TYPE:STRING=Release 502s 502s 502s 502s ----------------------------- Captured stderr call ----------------------------- 502s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 502s Compatibility with CMake < 3.5 will be removed from a future version of 502s CMake. 502s 502s Update the VERSION argument value or use a ... suffix to tell 502s CMake that the project does not need compatibility with older versions. 502s 502s 502s CMake Error: CMake was unable to find a build program corresponding to "Ninja". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. 502s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 502s Compatibility with CMake < 3.5 will be removed from a future version of 502s CMake. 502s 502s Update the VERSION argument value or use a ... suffix to tell 502s CMake that the project does not need compatibility with older versions. 502s 502s 502s ------------------------------ Captured log call ------------------------------- 502s INFO root:dist.py:986 running build 502s INFO root:dist.py:986 running build_py 502s INFO root:dir_util.py:70 creating _skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312 502s ___________________ test_cmake_install_into_pure_package[0] ____________________ 502s 502s with_cmake_source_dir = 0 502s capsys = <_pytest.capture.CaptureFixture object at 0xec564858> 502s caplog = <_pytest.logging.LogCaptureFixture object at 0xec564558> 502s 502s @pytest.mark.parametrize("with_cmake_source_dir", [0, 1]) 502s def test_cmake_install_into_pure_package(with_cmake_source_dir, capsys, caplog): 502s # ------------------------------------------------------------------------- 502s # "SOURCE" tree layout: 502s # 502s # (1) with_cmake_source_dir == 0 502s # 502s # ROOT/ 502s # 502s # CMakeLists.txt 502s # setup.py 502s # 502s # fruits/ 502s # __init__.py 502s # 502s # 502s # (2) with_cmake_source_dir == 1 502s # 502s # ROOT/ 502s # 502s # setup.py 502s # 502s # fruits/ 502s # __init__.py 502s # 502s # src/ 502s # 502s # CMakeLists.txt 502s # 502s # ------------------------------------------------------------------------- 502s # "BINARY" distribution layout: 502s # 502s # ROOT/ 502s # 502s # fruits/ 502s # 502s # __init__.py 502s # apple.py 502s # banana.py 502s # 502s # data/ 502s # 502s # apple.dat 502s # banana.dat 502s # 502s 502s tmp_dir = _tmpdir("cmake_install_into_pure_package") 502s 502s cmake_source_dir = "src" if with_cmake_source_dir else "" 502s 502s tmp_dir.join("setup.py").write( 502s textwrap.dedent( 502s f""" 502s from skbuild import setup 502s setup( 502s name="test_py_modules_keyword", 502s version="1.2.3", 502s description="a package testing use of py_modules keyword", 502s author='The scikit-build team', 502s license="MIT", 502s packages=['fruits'], 502s cmake_install_dir='fruits', 502s cmake_source_dir='{cmake_source_dir}', 502s ) 502s """ 502s ) 502s ) 502s 502s cmake_src_dir = tmp_dir.ensure(cmake_source_dir, dir=1) 502s cmake_src_dir.join("CMakeLists.txt").write( 502s textwrap.dedent( 502s """ 502s cmake_minimum_required(VERSION 3.5.0) 502s project(test NONE) 502s file(WRITE "${CMAKE_BINARY_DIR}/apple.py" "# apple.py") 502s file(WRITE "${CMAKE_BINARY_DIR}/banana.py" "# banana.py") 502s install( 502s FILES 502s "${CMAKE_BINARY_DIR}/apple.py" 502s "${CMAKE_BINARY_DIR}/banana.py" 502s DESTINATION "." 502s ) 502s file(WRITE "${CMAKE_BINARY_DIR}/apple.dat" "# apple.dat") 502s file(WRITE "${CMAKE_BINARY_DIR}/banana.dat" "# banana.dat") 502s install( 502s FILES 502s "${CMAKE_BINARY_DIR}/apple.dat" 502s "${CMAKE_BINARY_DIR}/banana.dat" 502s DESTINATION "data" 502s ) 502s """ 502s ) 502s ) 502s 502s tmp_dir.ensure("fruits/__init__.py") 502s 502s > with execute_setup_py(tmp_dir, ["build"], disable_languages_test=True): 502s 502s caplog = <_pytest.logging.LogCaptureFixture object at 0xec564558> 502s capsys = <_pytest.capture.CaptureFixture object at 0xec564858> 502s cmake_source_dir = '' 502s cmake_src_dir = local('/tmp/pytest-of-ubuntu/pytest-146/cmake_install_into_pure_packag0') 502s tmp_dir = local('/tmp/pytest-of-ubuntu/pytest-146/cmake_install_into_pure_packag0') 502s with_cmake_source_dir = 0 502s 502s tests/test_setup.py:1030: 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s /usr/lib/python3.12/contextlib.py:137: in __enter__ 502s return next(self.gen) 502s self = 502s tests/__init__.py:244: in execute_setup_py 502s exec(setup_code) 502s disable_languages_test = True 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s original_write_test_cmakelist = 502s platform = 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-146/cmake_install_into_pure_packag0') 502s setup = 502s setup_args = ['build'] 502s setup_code = at 0xec8392e0, file "setup.py", line 1> 502s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xec21b208> 502s setup.py:3: in 502s setup( 502s disable_languages_test = True 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s original_write_test_cmakelist = 502s platform = 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-146/cmake_install_into_pure_packag0') 502s setup = 502s setup_args = ['build'] 502s setup_code = at 0xec8392e0, file "setup.py", line 1> 502s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xec21b208> 502s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:781: in setup 502s return setuptools.setup(**kw) # type: ignore[no-any-return, func-returns-value] 502s BinaryDistribution = .BinaryDistribution'> 502s build_ext_inplace = False 502s cmake_args = ['-DCMAKE_BUILD_TYPE:STRING=Release'] 502s cmake_args_from_args = [] 502s cmake_executable = '/usr/bin/cmake' 502s cmake_install_dir = 'fruits' 502s cmake_install_target = 'install' 502s cmake_install_target_from_command = '' 502s cmake_install_target_from_setup = 'install' 502s cmake_languages = ('C', 'CXX') 502s cmake_manifest = ['_skbuild/linux-armv7l-3.12/cmake-install/fruits/apple.py', '_skbuild/linux-armv7l-3.12/cmake-install/fruits/banana.p...ux-armv7l-3.12/cmake-install/fruits/data/apple.dat', '_skbuild/linux-armv7l-3.12/cmake-install/fruits/data/banana.dat'] 502s cmake_minimum_required_version = None 502s cmake_process_manifest_hook = None 502s cmake_source_dir = '' 502s cmake_spec = {'args': ['/usr/bin/cmake', '-DCMAKE_BUILD_TYPE:STRING=Release'], 'environment': {'PYTHONNOUSERSITE': '1', 'PYTHONPATH': '/path/to/anything'}, 'version': '3.29.6'} 502s cmake_with_sdist = False 502s cmdclass = {'bdist': , 'bdist_wheel': , 'build': , 'build_ext': , ...} 502s cmkr = 502s commands = ['build'] 502s config_type = 'Release' 502s data_files = {} 502s developer_mode = False 502s display_only = False 502s env = {'ADTTMP': '/tmp/autopkgtest.EPTB0Y/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', 'ADT_TEST_TRIGGERS': 'setuptools/70.3.0-2', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', ...} 502s env_cmake_args = [] 502s force_cmake = False 502s has_cmakelists = True 502s has_invalid_arguments = False 502s help_commands = 0 502s hide_listing = False 502s kw = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a package testing use of py_modules keyword', ...} 502s make_args = ['--config', 'Release'] 502s new_py_modules = {} 502s new_scripts = {} 502s original_manifestin_data_files = [] 502s original_package_data = {} 502s package = 'fruits' 502s package_data = {'fruits': ['apple.py', 'banana.py', 'data/apple.dat', 'data/banana.dat', '__init__.py']} 502s package_dir = {'fruits': 'fruits'} 502s package_prefixes = [('fruits', 'fruits')] 502s packages = ['fruits'] 502s plat_name = None 502s process_manifest = None 502s py_modules = [] 502s scripts = [] 502s skip_cmake = False 502s skip_generator_test = False 502s skip_skbuild = False 502s /usr/lib/python3/dist-packages/setuptools/__init__.py:103: in setup 502s return distutils.core.setup(**attrs) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a package testing use of py_modules keyword', ...} 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:184: in setup 502s return run_commands(dist) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a package testing use of py_modules keyword', ...} 502s dist = .BinaryDistribution object at 0xec7c0078> 502s klass = .BinaryDistribution'> 502s ok = True 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:200: in run_commands 502s dist.run_commands() 502s dist = .BinaryDistribution object at 0xec7c0078> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:970: in run_commands 502s self.run_command(cmd) 502s cmd = 'build' 502s self = .BinaryDistribution object at 0xec7c0078> 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'build' 502s self = .BinaryDistribution object at 0xec7c0078> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'build' 502s self = .BinaryDistribution object at 0xec7c0078> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build.py:135: in run 502s self.run_command(cmd_name) 502s cmd_name = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 502s self.distribution.run_command(command) 502s command = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'build_py' 502s self = .BinaryDistribution object at 0xec7c0078> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'build_py' 502s self = .BinaryDistribution object at 0xec7c0078> 502s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:41: in run 502s super().run(*args, **kwargs) 502s __class__ = 502s args = () 502s kwargs = {} 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:74: in run 502s self.build_packages() 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:379: in build_packages 502s self.build_module(module, module_file, package) 502s module = '__init__' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/fruits/__init__.py' 502s modules = [('fruits', '__init__', '_skbuild/linux-armv7l-3.12/cmake-install/fruits/__init__.py'), ('fruits', 'banana', '_skbuild...3.12/cmake-install/fruits/banana.py'), ('fruits', 'apple', '_skbuild/linux-armv7l-3.12/cmake-install/fruits/apple.py')] 502s package = 'fruits' 502s package_ = 'fruits' 502s package_dir = '_skbuild/linux-armv7l-3.12/cmake-install/fruits' 502s self = 502s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:31: in build_module 502s super().build_module(module, module_file, package) # type: ignore[no-untyped-call] 502s __class__ = 502s module = '__init__' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/fruits/__init__.py' 502s package = 'fruits' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:89: in build_module 502s outfile, copied = orig.build_py.build_module(self, module, module_file, package) 502s module = '__init__' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/fruits/__init__.py' 502s package = 'fruits' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:349: in build_module 502s self.mkpath(dir) 502s dir = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/fruits' 502s module = '__init__' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/fruits/__init__.py' 502s outfile = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/fruits/__init__.py' 502s package = ['fruits'] 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:340: in mkpath 502s dir_util.mkpath(name, mode, dry_run=self.dry_run) 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/fruits' 502s self = 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/fruits' 502s mode = 511, verbose = True, dry_run = False 502s 502s def mkpath(name, mode=0o777, verbose=True, dry_run=False): # noqa: C901 502s """Create a directory and any missing ancestor directories. 502s 502s If the directory already exists (or if 'name' is the empty string, which 502s means the current directory, which of course exists), then do nothing. 502s Raise DistutilsFileError if unable to create some directory along the way 502s (eg. some sub-path exists, but is a file rather than a directory). 502s If 'verbose' is true, print a one-line summary of each mkdir to stdout. 502s Return the list of directories actually created. 502s 502s os.makedirs is not used because: 502s 502s a) It's new to Python 1.5.2, and 502s b) it blows up if the directory already exists (in which case it should 502s silently succeed). 502s """ 502s 502s global _path_created 502s 502s # Detect a common bug -- name is None 502s if not isinstance(name, str): 502s raise DistutilsInternalError(f"mkpath: 'name' must be a string (got {name!r})") 502s 502s # XXX what's the better way to handle verbosity? print as we create 502s # each directory in the path (the current behaviour), or only announce 502s # the creation of the whole path? (quite easy to do the latter since 502s # we're not using a recursive algorithm) 502s 502s name = os.path.normpath(name) 502s created_dirs = [] 502s if os.path.isdir(name) or name == '': 502s return created_dirs 502s if os.path.abspath(name) in _path_created: 502s return created_dirs 502s 502s (head, tail) = os.path.split(name) 502s tails = [tail] # stack of lone dirs to create 502s 502s while head and tail and not os.path.isdir(head): 502s (head, tail) = os.path.split(head) 502s tails.insert(0, tail) # push next higher dir onto stack 502s 502s # now 'head' contains the deepest directory that already exists 502s # (that is, the child of 'head' in 'name' is the highest directory 502s # that does *not* exist) 502s for d in tails: 502s # print "head = %s, d = %s: " % (head, d), 502s head = os.path.join(head, d) 502s abs_head = os.path.abspath(head) 502s 502s if abs_head in _path_created: 502s continue 502s 502s if verbose >= 1: 502s log.info("creating %s", head) 502s 502s if not dry_run: 502s try: 502s os.mkdir(head, mode) 502s except OSError as exc: 502s if not (exc.errno == errno.EEXIST and os.path.isdir(head)): 502s raise DistutilsFileError( 502s f"could not create '{head}': {exc.args[-1]}" 502s ) 502s created_dirs.append(head) 502s 502s > _path_created.add(abs_head) 502s E AttributeError: 'dict' object has no attribute 'add' 502s 502s abs_head = '/tmp/pytest-of-ubuntu/pytest-146/cmake_install_into_pure_packag0/_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 502s created_dirs = ['_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312'] 502s d = 'lib.linux-armv7l-cpython-312' 502s dry_run = False 502s head = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/fruits' 502s tail = 'lib.linux-armv7l-cpython-312' 502s tails = ['lib.linux-armv7l-cpython-312', 'fruits'] 502s verbose = True 502s 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dir_util.py:82: AttributeError 502s ----------------------------- Captured stdout call ----------------------------- 502s Not searching for unused variables given on the command line. 502s -- Configuring incomplete, errors occurred! 502s Not searching for unused variables given on the command line. 502s -- Configuring done (0.0s) 502s -- Generating done (0.0s) 502s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-146/cmake_install_into_pure_packag0/_cmake_test_compile/build 502s Not searching for unused variables given on the command line. 502s -- Configuring done (0.0s) 502s -- Generating done (0.0s) 502s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-146/cmake_install_into_pure_packag0/_skbuild/linux-armv7l-3.12/cmake-build 502s Install the project... 502s -- Install configuration: "Release" 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-146/cmake_install_into_pure_packag0/_skbuild/linux-armv7l-3.12/cmake-install/fruits/./apple.py 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-146/cmake_install_into_pure_packag0/_skbuild/linux-armv7l-3.12/cmake-install/fruits/./banana.py 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-146/cmake_install_into_pure_packag0/_skbuild/linux-armv7l-3.12/cmake-install/fruits/data/apple.dat 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-146/cmake_install_into_pure_packag0/_skbuild/linux-armv7l-3.12/cmake-install/fruits/data/banana.dat 502s 502s 502s -------------------------------------------------------------------------------- 502s -- Trying 'Ninja' generator 502s -------------------------------- 502s --------------------------- 502s ---------------------- 502s ----------------- 502s ------------ 502s ------- 502s -- 502s -- 502s ------- 502s ------------ 502s ----------------- 502s ---------------------- 502s --------------------------- 502s -------------------------------- 502s -- Trying 'Ninja' generator - failure 502s -------------------------------------------------------------------------------- 502s 502s 502s 502s -------------------------------------------------------------------------------- 502s -- Trying 'Unix Makefiles' generator 502s -------------------------------- 502s --------------------------- 502s ---------------------- 502s ----------------- 502s ------------ 502s ------- 502s -- 502s -- 502s ------- 502s ------------ 502s ----------------- 502s ---------------------- 502s --------------------------- 502s -------------------------------- 502s -- Trying 'Unix Makefiles' generator - success 502s -------------------------------------------------------------------------------- 502s 502s Configuring Project 502s Working directory: 502s /tmp/pytest-of-ubuntu/pytest-146/cmake_install_into_pure_packag0/_skbuild/linux-armv7l-3.12/cmake-build 502s Command: 502s /usr/bin/cmake /tmp/pytest-of-ubuntu/pytest-146/cmake_install_into_pure_packag0 -G 'Unix Makefiles' --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pytest-of-ubuntu/pytest-146/cmake_install_into_pure_packag0/_skbuild/linux-armv7l-3.12/cmake-install/fruits -DPYTHON_VERSION_STRING:STRING=3.12.4 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/usr/lib/python3/dist-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/usr/bin/python3.12 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPYTHON_LIBRARY:PATH=/usr/lib/arm-linux-gnueabihf/libpython3.12.so -DPython_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython_ROOT_DIR:PATH=/usr -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPython3_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython3_ROOT_DIR:PATH=/usr -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.12 -DCMAKE_BUILD_TYPE:STRING=Release 502s 502s 502s copying fruits/__init__.py -> _skbuild/linux-armv7l-3.12/cmake-install/fruits/__init__.py 502s 502s ----------------------------- Captured stderr call ----------------------------- 502s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 502s Compatibility with CMake < 3.5 will be removed from a future version of 502s CMake. 502s 502s Update the VERSION argument value or use a ... suffix to tell 502s CMake that the project does not need compatibility with older versions. 502s 502s 502s CMake Error: CMake was unable to find a build program corresponding to "Ninja". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. 502s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 502s Compatibility with CMake < 3.5 will be removed from a future version of 502s CMake. 502s 502s Update the VERSION argument value or use a ... suffix to tell 502s CMake that the project does not need compatibility with older versions. 502s 502s 502s ------------------------------ Captured log call ------------------------------- 502s INFO root:dist.py:986 running build 502s INFO root:dist.py:986 running build_py 502s INFO root:dir_util.py:70 creating _skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312 502s ___________________ test_cmake_install_into_pure_package[1] ____________________ 502s 502s with_cmake_source_dir = 1 502s capsys = <_pytest.capture.CaptureFixture object at 0xec5400c0> 502s caplog = <_pytest.logging.LogCaptureFixture object at 0xec540900> 502s 502s @pytest.mark.parametrize("with_cmake_source_dir", [0, 1]) 502s def test_cmake_install_into_pure_package(with_cmake_source_dir, capsys, caplog): 502s # ------------------------------------------------------------------------- 502s # "SOURCE" tree layout: 502s # 502s # (1) with_cmake_source_dir == 0 502s # 502s # ROOT/ 502s # 502s # CMakeLists.txt 502s # setup.py 502s # 502s # fruits/ 502s # __init__.py 502s # 502s # 502s # (2) with_cmake_source_dir == 1 502s # 502s # ROOT/ 502s # 502s # setup.py 502s # 502s # fruits/ 502s # __init__.py 502s # 502s # src/ 502s # 502s # CMakeLists.txt 502s # 502s # ------------------------------------------------------------------------- 502s # "BINARY" distribution layout: 502s # 502s # ROOT/ 502s # 502s # fruits/ 502s # 502s # __init__.py 502s # apple.py 502s # banana.py 502s # 502s # data/ 502s # 502s # apple.dat 502s # banana.dat 502s # 502s 502s tmp_dir = _tmpdir("cmake_install_into_pure_package") 502s 502s cmake_source_dir = "src" if with_cmake_source_dir else "" 502s 502s tmp_dir.join("setup.py").write( 502s textwrap.dedent( 502s f""" 502s from skbuild import setup 502s setup( 502s name="test_py_modules_keyword", 502s version="1.2.3", 502s description="a package testing use of py_modules keyword", 502s author='The scikit-build team', 502s license="MIT", 502s packages=['fruits'], 502s cmake_install_dir='fruits', 502s cmake_source_dir='{cmake_source_dir}', 502s ) 502s """ 502s ) 502s ) 502s 502s cmake_src_dir = tmp_dir.ensure(cmake_source_dir, dir=1) 502s cmake_src_dir.join("CMakeLists.txt").write( 502s textwrap.dedent( 502s """ 502s cmake_minimum_required(VERSION 3.5.0) 502s project(test NONE) 502s file(WRITE "${CMAKE_BINARY_DIR}/apple.py" "# apple.py") 502s file(WRITE "${CMAKE_BINARY_DIR}/banana.py" "# banana.py") 502s install( 502s FILES 502s "${CMAKE_BINARY_DIR}/apple.py" 502s "${CMAKE_BINARY_DIR}/banana.py" 502s DESTINATION "." 502s ) 502s file(WRITE "${CMAKE_BINARY_DIR}/apple.dat" "# apple.dat") 502s file(WRITE "${CMAKE_BINARY_DIR}/banana.dat" "# banana.dat") 502s install( 502s FILES 502s "${CMAKE_BINARY_DIR}/apple.dat" 502s "${CMAKE_BINARY_DIR}/banana.dat" 502s DESTINATION "data" 502s ) 502s """ 502s ) 502s ) 502s 502s tmp_dir.ensure("fruits/__init__.py") 502s 502s > with execute_setup_py(tmp_dir, ["build"], disable_languages_test=True): 502s 502s caplog = <_pytest.logging.LogCaptureFixture object at 0xec540900> 502s capsys = <_pytest.capture.CaptureFixture object at 0xec5400c0> 502s cmake_source_dir = 'src' 502s cmake_src_dir = local('/tmp/pytest-of-ubuntu/pytest-147/cmake_install_into_pure_packag0/src') 502s tmp_dir = local('/tmp/pytest-of-ubuntu/pytest-147/cmake_install_into_pure_packag0') 502s with_cmake_source_dir = 1 502s 502s tests/test_setup.py:1030: 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s /usr/lib/python3.12/contextlib.py:137: in __enter__ 502s return next(self.gen) 502s self = 502s tests/__init__.py:244: in execute_setup_py 502s exec(setup_code) 502s disable_languages_test = True 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s original_write_test_cmakelist = 502s platform = 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-147/cmake_install_into_pure_packag0') 502s setup = 502s setup_args = ['build'] 502s setup_code = at 0xec0b04f0, file "setup.py", line 1> 502s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xec216de8> 502s setup.py:3: in 502s setup( 502s disable_languages_test = True 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s original_write_test_cmakelist = 502s platform = 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-147/cmake_install_into_pure_packag0') 502s setup = 502s setup_args = ['build'] 502s setup_code = at 0xec0b04f0, file "setup.py", line 1> 502s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xec216de8> 502s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:781: in setup 502s return setuptools.setup(**kw) # type: ignore[no-any-return, func-returns-value] 502s BinaryDistribution = .BinaryDistribution'> 502s build_ext_inplace = False 502s cmake_args = ['-DCMAKE_BUILD_TYPE:STRING=Release'] 502s cmake_args_from_args = [] 502s cmake_executable = '/usr/bin/cmake' 502s cmake_install_dir = 'fruits' 502s cmake_install_target = 'install' 502s cmake_install_target_from_command = '' 502s cmake_install_target_from_setup = 'install' 502s cmake_languages = ('C', 'CXX') 502s cmake_manifest = ['_skbuild/linux-armv7l-3.12/cmake-install/fruits/apple.py', '_skbuild/linux-armv7l-3.12/cmake-install/fruits/banana.p...ux-armv7l-3.12/cmake-install/fruits/data/apple.dat', '_skbuild/linux-armv7l-3.12/cmake-install/fruits/data/banana.dat'] 502s cmake_minimum_required_version = None 502s cmake_process_manifest_hook = None 502s cmake_source_dir = 'src' 502s cmake_spec = {'args': ['/usr/bin/cmake', '-DCMAKE_BUILD_TYPE:STRING=Release'], 'environment': {'PYTHONNOUSERSITE': '1', 'PYTHONPATH': '/path/to/anything'}, 'version': '3.29.6'} 502s cmake_with_sdist = False 502s cmdclass = {'bdist': , 'bdist_wheel': , 'build': , 'build_ext': , ...} 502s cmkr = 502s commands = ['build'] 502s config_type = 'Release' 502s data_files = {} 502s developer_mode = False 502s display_only = False 502s env = {'ADTTMP': '/tmp/autopkgtest.EPTB0Y/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', 'ADT_TEST_TRIGGERS': 'setuptools/70.3.0-2', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', ...} 502s env_cmake_args = [] 502s force_cmake = False 502s has_cmakelists = True 502s has_invalid_arguments = False 502s help_commands = 0 502s hide_listing = False 502s kw = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a package testing use of py_modules keyword', ...} 502s make_args = ['--config', 'Release'] 502s new_py_modules = {} 502s new_scripts = {} 502s original_manifestin_data_files = [] 502s original_package_data = {} 502s package = 'fruits' 502s package_data = {'fruits': ['apple.py', 'banana.py', 'data/apple.dat', 'data/banana.dat', 'fruits/__init__.py']} 502s package_dir = {'fruits': 'fruits'} 502s package_prefixes = [('fruits', 'fruits')] 502s packages = ['fruits'] 502s plat_name = None 502s process_manifest = None 502s py_modules = [] 502s scripts = [] 502s skip_cmake = False 502s skip_generator_test = False 502s skip_skbuild = False 502s /usr/lib/python3/dist-packages/setuptools/__init__.py:103: in setup 502s return distutils.core.setup(**attrs) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a package testing use of py_modules keyword', ...} 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:184: in setup 502s return run_commands(dist) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a package testing use of py_modules keyword', ...} 502s dist = .BinaryDistribution object at 0xec572af8> 502s klass = .BinaryDistribution'> 502s ok = True 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:200: in run_commands 502s dist.run_commands() 502s dist = .BinaryDistribution object at 0xec572af8> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:970: in run_commands 502s self.run_command(cmd) 502s cmd = 'build' 502s self = .BinaryDistribution object at 0xec572af8> 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'build' 502s self = .BinaryDistribution object at 0xec572af8> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'build' 502s self = .BinaryDistribution object at 0xec572af8> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build.py:135: in run 502s self.run_command(cmd_name) 502s cmd_name = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 502s self.distribution.run_command(command) 502s command = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'build_py' 502s self = .BinaryDistribution object at 0xec572af8> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'build_py' 502s self = .BinaryDistribution object at 0xec572af8> 502s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:41: in run 502s super().run(*args, **kwargs) 502s __class__ = 502s args = () 502s kwargs = {} 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:74: in run 502s self.build_packages() 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:379: in build_packages 502s self.build_module(module, module_file, package) 502s module = '__init__' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/fruits/__init__.py' 502s modules = [('fruits', '__init__', '_skbuild/linux-armv7l-3.12/cmake-install/fruits/__init__.py'), ('fruits', 'banana', '_skbuild...3.12/cmake-install/fruits/banana.py'), ('fruits', 'apple', '_skbuild/linux-armv7l-3.12/cmake-install/fruits/apple.py')] 502s package = 'fruits' 502s package_ = 'fruits' 502s package_dir = '_skbuild/linux-armv7l-3.12/cmake-install/fruits' 502s self = 502s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:31: in build_module 502s super().build_module(module, module_file, package) # type: ignore[no-untyped-call] 502s __class__ = 502s module = '__init__' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/fruits/__init__.py' 502s package = 'fruits' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:89: in build_module 502s outfile, copied = orig.build_py.build_module(self, module, module_file, package) 502s module = '__init__' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/fruits/__init__.py' 502s package = 'fruits' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:349: in build_module 502s self.mkpath(dir) 502s dir = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/fruits' 502s module = '__init__' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/fruits/__init__.py' 502s outfile = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/fruits/__init__.py' 502s package = ['fruits'] 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:340: in mkpath 502s dir_util.mkpath(name, mode, dry_run=self.dry_run) 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/fruits' 502s self = 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/fruits' 502s mode = 511, verbose = True, dry_run = False 502s 502s def mkpath(name, mode=0o777, verbose=True, dry_run=False): # noqa: C901 502s """Create a directory and any missing ancestor directories. 502s 502s If the directory already exists (or if 'name' is the empty string, which 502s means the current directory, which of course exists), then do nothing. 502s Raise DistutilsFileError if unable to create some directory along the way 502s (eg. some sub-path exists, but is a file rather than a directory). 502s If 'verbose' is true, print a one-line summary of each mkdir to stdout. 502s Return the list of directories actually created. 502s 502s os.makedirs is not used because: 502s 502s a) It's new to Python 1.5.2, and 502s b) it blows up if the directory already exists (in which case it should 502s silently succeed). 502s """ 502s 502s global _path_created 502s 502s # Detect a common bug -- name is None 502s if not isinstance(name, str): 502s raise DistutilsInternalError(f"mkpath: 'name' must be a string (got {name!r})") 502s 502s # XXX what's the better way to handle verbosity? print as we create 502s # each directory in the path (the current behaviour), or only announce 502s # the creation of the whole path? (quite easy to do the latter since 502s # we're not using a recursive algorithm) 502s 502s name = os.path.normpath(name) 502s created_dirs = [] 502s if os.path.isdir(name) or name == '': 502s return created_dirs 502s if os.path.abspath(name) in _path_created: 502s return created_dirs 502s 502s (head, tail) = os.path.split(name) 502s tails = [tail] # stack of lone dirs to create 502s 502s while head and tail and not os.path.isdir(head): 502s (head, tail) = os.path.split(head) 502s tails.insert(0, tail) # push next higher dir onto stack 502s 502s # now 'head' contains the deepest directory that already exists 502s # (that is, the child of 'head' in 'name' is the highest directory 502s # that does *not* exist) 502s for d in tails: 502s # print "head = %s, d = %s: " % (head, d), 502s head = os.path.join(head, d) 502s abs_head = os.path.abspath(head) 502s 502s if abs_head in _path_created: 502s continue 502s 502s if verbose >= 1: 502s log.info("creating %s", head) 502s 502s if not dry_run: 502s try: 502s os.mkdir(head, mode) 502s except OSError as exc: 502s if not (exc.errno == errno.EEXIST and os.path.isdir(head)): 502s raise DistutilsFileError( 502s f"could not create '{head}': {exc.args[-1]}" 502s ) 502s created_dirs.append(head) 502s 502s > _path_created.add(abs_head) 502s E AttributeError: 'dict' object has no attribute 'add' 502s 502s abs_head = '/tmp/pytest-of-ubuntu/pytest-147/cmake_install_into_pure_packag0/_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 502s created_dirs = ['_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312'] 502s d = 'lib.linux-armv7l-cpython-312' 502s dry_run = False 502s head = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/fruits' 502s tail = 'lib.linux-armv7l-cpython-312' 502s tails = ['lib.linux-armv7l-cpython-312', 'fruits'] 502s verbose = True 502s 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dir_util.py:82: AttributeError 502s ----------------------------- Captured stdout call ----------------------------- 502s Not searching for unused variables given on the command line. 502s -- Configuring incomplete, errors occurred! 502s Not searching for unused variables given on the command line. 502s -- Configuring done (0.0s) 502s -- Generating done (0.0s) 502s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-147/cmake_install_into_pure_packag0/_cmake_test_compile/build 502s Not searching for unused variables given on the command line. 502s -- Configuring done (0.0s) 502s -- Generating done (0.0s) 502s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-147/cmake_install_into_pure_packag0/_skbuild/linux-armv7l-3.12/cmake-build 502s Install the project... 502s -- Install configuration: "Release" 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-147/cmake_install_into_pure_packag0/_skbuild/linux-armv7l-3.12/cmake-install/fruits/./apple.py 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-147/cmake_install_into_pure_packag0/_skbuild/linux-armv7l-3.12/cmake-install/fruits/./banana.py 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-147/cmake_install_into_pure_packag0/_skbuild/linux-armv7l-3.12/cmake-install/fruits/data/apple.dat 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-147/cmake_install_into_pure_packag0/_skbuild/linux-armv7l-3.12/cmake-install/fruits/data/banana.dat 502s 502s 502s -------------------------------------------------------------------------------- 502s -- Trying 'Ninja' generator 502s -------------------------------- 502s --------------------------- 502s ---------------------- 502s ----------------- 502s ------------ 502s ------- 502s -- 502s -- 502s ------- 502s ------------ 502s ----------------- 502s ---------------------- 502s --------------------------- 502s -------------------------------- 502s -- Trying 'Ninja' generator - failure 502s -------------------------------------------------------------------------------- 502s 502s 502s 502s -------------------------------------------------------------------------------- 502s -- Trying 'Unix Makefiles' generator 502s -------------------------------- 502s --------------------------- 502s ---------------------- 502s ----------------- 502s ------------ 502s ------- 502s -- 502s -- 502s ------- 502s ------------ 502s ----------------- 502s ---------------------- 502s --------------------------- 502s -------------------------------- 502s -- Trying 'Unix Makefiles' generator - success 502s -------------------------------------------------------------------------------- 502s 502s Configuring Project 502s Working directory: 502s /tmp/pytest-of-ubuntu/pytest-147/cmake_install_into_pure_packag0/_skbuild/linux-armv7l-3.12/cmake-build 502s Command: 502s /usr/bin/cmake /tmp/pytest-of-ubuntu/pytest-147/cmake_install_into_pure_packag0/src -G 'Unix Makefiles' --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pytest-of-ubuntu/pytest-147/cmake_install_into_pure_packag0/_skbuild/linux-armv7l-3.12/cmake-install/fruits -DPYTHON_VERSION_STRING:STRING=3.12.4 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/usr/lib/python3/dist-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/usr/bin/python3.12 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPYTHON_LIBRARY:PATH=/usr/lib/arm-linux-gnueabihf/libpython3.12.so -DPython_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython_ROOT_DIR:PATH=/usr -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPython3_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython3_ROOT_DIR:PATH=/usr -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.12 -DCMAKE_BUILD_TYPE:STRING=Release 502s 502s 502s copying fruits/__init__.py -> _skbuild/linux-armv7l-3.12/cmake-install/fruits/__init__.py 502s 502s ----------------------------- Captured stderr call ----------------------------- 502s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 502s Compatibility with CMake < 3.5 will be removed from a future version of 502s CMake. 502s 502s Update the VERSION argument value or use a ... suffix to tell 502s CMake that the project does not need compatibility with older versions. 502s 502s 502s CMake Error: CMake was unable to find a build program corresponding to "Ninja". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. 502s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 502s Compatibility with CMake < 3.5 will be removed from a future version of 502s CMake. 502s 502s Update the VERSION argument value or use a ... suffix to tell 502s CMake that the project does not need compatibility with older versions. 502s 502s 502s ------------------------------ Captured log call ------------------------------- 502s INFO root:dist.py:986 running build 502s INFO root:dist.py:986 running build_py 502s INFO root:dir_util.py:70 creating _skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312 502s _____________________ test_generator[Unix Makefiles-make] ______________________ 502s 502s generator = 'Unix Makefiles', expected_make_program = 'make' 502s 502s @pytest.mark.parametrize( 502s ("generator", "expected_make_program"), [("NMake Makefiles", "nmake"), ("Unix Makefiles", "make")] 502s ) 502s def test_generator(generator, expected_make_program): 502s generator_platform = {"NMake Makefiles": ["windows"], "Unix Makefiles": ["darwin", "linux"]} 502s assert generator in generator_platform 502s 502s this_platform = platform.system().lower() 502s if this_platform not in generator_platform[generator]: 502s pytest.skip(f"{generator} generator is not available on {this_platform.title()}") 502s 502s @project_setup_py_test("hello-cpp", ["build"], ret=True) 502s def run_build(): 502s pass 502s 502s with push_env(CMAKE_GENERATOR=generator): 502s > tmp_dir = run_build()[0] 502s 502s expected_make_program = 'make' 502s generator = 'Unix Makefiles' 502s generator_platform = {'NMake Makefiles': ['windows'], 'Unix Makefiles': ['darwin', 'linux']} 502s run_build = .run_build at 0xec216848> 502s this_platform = 'linux' 502s 502s tests/test_skbuild.py:91: 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s tests/__init__.py:261: in wrapped 502s with execute_setup_py(wrapped.tmp_dir, wrapped.setup_args, disable_languages_test=disable_languages_test): # type: ignore[attr-defined] 502s disable_languages_test = False 502s fun = .run_build at 0xec216d98> 502s iargs = () 502s ikwargs = {} 502s ret = True 502s wrapped = .run_build at 0xec216848> 502s /usr/lib/python3.12/contextlib.py:137: in __enter__ 502s return next(self.gen) 502s self = 502s tests/__init__.py:247: in execute_setup_py 502s exec(setup_code) 502s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 502s disable_languages_test = False 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-151/run_build0') 502s setup = 502s setup_args = ['build'] 502s setup_code = at 0xebf90ca0, file "setup.py", line 1> 502s setup.py:5: in 502s version="1.2.3", 502s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 502s disable_languages_test = False 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-151/run_build0') 502s setup = 502s setup_args = ['build'] 502s setup_code = at 0xebf90ca0, file "setup.py", line 1> 502s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:781: in setup 502s return setuptools.setup(**kw) # type: ignore[no-any-return, func-returns-value] 502s BinaryDistribution = .BinaryDistribution'> 502s build_ext_inplace = False 502s cmake_args = ['-DCMAKE_BUILD_TYPE:STRING=Release'] 502s cmake_args_from_args = [] 502s cmake_executable = '/usr/bin/cmake' 502s cmake_install_dir = '' 502s cmake_install_target = 'install' 502s cmake_install_target_from_command = '' 502s cmake_install_target_from_setup = 'install' 502s cmake_languages = ('C', 'CXX') 502s cmake_manifest = ['_skbuild/linux-armv7l-3.12/cmake-install/helloModule.py', '_skbuild/linux-armv7l-3.12/cmake-install/hello/_hello.cpython-312-arm-linux-gnueabihf.so', '_skbuild/linux-armv7l-3.12/cmake-install/hello/world.py'] 502s cmake_minimum_required_version = None 502s cmake_process_manifest_hook = None 502s cmake_source_dir = '' 502s cmake_spec = {'args': ['/usr/bin/cmake', '-DCMAKE_BUILD_TYPE:STRING=Release'], 'environment': {'PYTHONNOUSERSITE': '1', 'PYTHONPATH': '/path/to/anything'}, 'version': '3.29.6'} 502s cmake_with_sdist = False 502s cmdclass = {'bdist': , 'bdist_wheel': , 'build': , 'build_ext': , ...} 502s cmkr = 502s commands = ['build'] 502s config_type = 'Release' 502s data_files = {} 502s developer_mode = False 502s display_only = False 502s env = {'ADTTMP': '/tmp/autopkgtest.EPTB0Y/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', 'ADT_TEST_TRIGGERS': 'setuptools/70.3.0-2', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', ...} 502s env_cmake_args = [] 502s force_cmake = False 502s has_cmakelists = True 502s has_invalid_arguments = False 502s help_commands = 0 502s hide_listing = False 502s kw = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package', ...} 502s make_args = ['--config', 'Release'] 502s new_py_modules = {'bonjourModule': False, 'helloModule': True} 502s new_scripts = {} 502s original_manifestin_data_files = [] 502s original_package_data = {'bonjour': ['data/*.txt', 'data/terre.txt']} 502s package = 'hello' 502s package_data = {'': ['bonjourModule.py', 'helloModule.py'], 'bonjour': ['data/*.txt', 'data/terre.txt', '__init__.py'], 'hello': ['_hello.cpython-312-arm-linux-gnueabihf.so', 'world.py', '__init__.py', '__main__.py']} 502s package_dir = {'bonjour': 'bonjour', 'hello': 'hello'} 502s package_prefixes = [('bonjour', 'bonjour'), ('hello', 'hello')] 502s packages = ['bonjour', 'hello'] 502s plat_name = None 502s process_manifest = None 502s py_modules = ['bonjourModule', 'helloModule'] 502s scripts = [] 502s skip_cmake = False 502s skip_generator_test = False 502s skip_skbuild = False 502s /usr/lib/python3/dist-packages/setuptools/__init__.py:103: in setup 502s return distutils.core.setup(**attrs) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package', ...} 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:184: in setup 502s return run_commands(dist) 502s attrs = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , ...}, 'data_files': [], 'description': 'a minimal example package', ...} 502s dist = .BinaryDistribution object at 0xec06ff18> 502s klass = .BinaryDistribution'> 502s ok = True 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:200: in run_commands 502s dist.run_commands() 502s dist = .BinaryDistribution object at 0xec06ff18> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:970: in run_commands 502s self.run_command(cmd) 502s cmd = 'build' 502s self = .BinaryDistribution object at 0xec06ff18> 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'build' 502s self = .BinaryDistribution object at 0xec06ff18> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'build' 502s self = .BinaryDistribution object at 0xec06ff18> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build.py:135: in run 502s self.run_command(cmd_name) 502s cmd_name = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 502s self.distribution.run_command(command) 502s command = 'build_py' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'build_py' 502s self = .BinaryDistribution object at 0xec06ff18> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'build_py' 502s self = .BinaryDistribution object at 0xec06ff18> 502s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:41: in run 502s super().run(*args, **kwargs) 502s __class__ = 502s args = () 502s kwargs = {} 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:71: in run 502s self.build_modules() 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:359: in build_modules 502s self.build_module(module, module_file, package) 502s module = 'bonjourModule' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py' 502s modules = [('', 'bonjourModule', '_skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py'), ('', 'helloModule', '_skbuild/linux-armv7l-3.12/cmake-install/helloModule.py')] 502s package = '' 502s self = 502s /usr/lib/python3/dist-packages/skbuild/command/build_py.py:31: in build_module 502s super().build_module(module, module_file, package) # type: ignore[no-untyped-call] 502s __class__ = 502s module = 'bonjourModule' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py' 502s package = '' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:89: in build_module 502s outfile, copied = orig.build_py.build_module(self, module, module_file, package) 502s module = 'bonjourModule' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py' 502s package = '' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.py:349: in build_module 502s self.mkpath(dir) 502s dir = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 502s module = 'bonjourModule' 502s module_file = '_skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py' 502s outfile = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312/bonjourModule.py' 502s package = [''] 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:340: in mkpath 502s dir_util.mkpath(name, mode, dry_run=self.dry_run) 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 502s self = 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 502s mode = 511, verbose = True, dry_run = False 502s 502s def mkpath(name, mode=0o777, verbose=True, dry_run=False): # noqa: C901 502s """Create a directory and any missing ancestor directories. 502s 502s If the directory already exists (or if 'name' is the empty string, which 502s means the current directory, which of course exists), then do nothing. 502s Raise DistutilsFileError if unable to create some directory along the way 502s (eg. some sub-path exists, but is a file rather than a directory). 502s If 'verbose' is true, print a one-line summary of each mkdir to stdout. 502s Return the list of directories actually created. 502s 502s os.makedirs is not used because: 502s 502s a) It's new to Python 1.5.2, and 502s b) it blows up if the directory already exists (in which case it should 502s silently succeed). 502s """ 502s 502s global _path_created 502s 502s # Detect a common bug -- name is None 502s if not isinstance(name, str): 502s raise DistutilsInternalError(f"mkpath: 'name' must be a string (got {name!r})") 502s 502s # XXX what's the better way to handle verbosity? print as we create 502s # each directory in the path (the current behaviour), or only announce 502s # the creation of the whole path? (quite easy to do the latter since 502s # we're not using a recursive algorithm) 502s 502s name = os.path.normpath(name) 502s created_dirs = [] 502s if os.path.isdir(name) or name == '': 502s return created_dirs 502s if os.path.abspath(name) in _path_created: 502s return created_dirs 502s 502s (head, tail) = os.path.split(name) 502s tails = [tail] # stack of lone dirs to create 502s 502s while head and tail and not os.path.isdir(head): 502s (head, tail) = os.path.split(head) 502s tails.insert(0, tail) # push next higher dir onto stack 502s 502s # now 'head' contains the deepest directory that already exists 502s # (that is, the child of 'head' in 'name' is the highest directory 502s # that does *not* exist) 502s for d in tails: 502s # print "head = %s, d = %s: " % (head, d), 502s head = os.path.join(head, d) 502s abs_head = os.path.abspath(head) 502s 502s if abs_head in _path_created: 502s continue 502s 502s if verbose >= 1: 502s log.info("creating %s", head) 502s 502s if not dry_run: 502s try: 502s os.mkdir(head, mode) 502s except OSError as exc: 502s if not (exc.errno == errno.EEXIST and os.path.isdir(head)): 502s raise DistutilsFileError( 502s f"could not create '{head}': {exc.args[-1]}" 502s ) 502s created_dirs.append(head) 502s 502s > _path_created.add(abs_head) 502s E AttributeError: 'dict' object has no attribute 'add' 502s 502s abs_head = '/tmp/pytest-of-ubuntu/pytest-151/run_build0/_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 502s created_dirs = ['_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312'] 502s d = 'lib.linux-armv7l-cpython-312' 502s dry_run = False 502s head = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 502s mode = 511 502s name = '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' 502s tail = 'lib.linux-armv7l-cpython-312' 502s tails = ['lib.linux-armv7l-cpython-312'] 502s verbose = True 502s 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dir_util.py:82: AttributeError 502s ----------------------------- Captured stdout call ----------------------------- 502s Initialized empty Git repository in /tmp/pytest-of-ubuntu/pytest-151/run_build0/.git/ 502s [master (root-commit) 31ed3c3] Initial commit 502s 11 files changed, 115 insertions(+) 502s create mode 100644 CMakeLists.txt 502s create mode 100644 bonjour/__init__.py 502s create mode 100644 bonjour/data/ciel.txt 502s create mode 100644 bonjour/data/soleil.txt 502s create mode 100644 bonjour/data/terre.txt 502s create mode 100644 bonjourModule.py 502s create mode 100644 hello/CMakeLists.txt 502s create mode 100644 hello/__init__.py 502s create mode 100644 hello/__main__.py 502s create mode 100644 hello/_hello.cxx 502s create mode 100644 setup.py 502s 502s 502s -------------------------------------------------------------------------------- 502s -- Trying 'Unix Makefiles' generator 502s -------------------------------- 502s --------------------------- 502s ---------------------- 502s ----------------- 502s ------------ 502s ------- 502s -- 502s Not searching for unused variables given on the command line. 502s -- The C compiler identification is GNU 13.2.0 502s -- Detecting C compiler ABI info 502s -- Detecting C compiler ABI info - done 502s -- Check for working C compiler: /usr/bin/cc - skipped 502s -- Detecting C compile features 502s -- Detecting C compile features - done 502s -- The CXX compiler identification is GNU 13.2.0 502s -- Detecting CXX compiler ABI info 502s -- Detecting CXX compiler ABI info - done 502s -- Check for working CXX compiler: /usr/bin/c++ - skipped 502s -- Detecting CXX compile features 502s -- Detecting CXX compile features - done 502s -- Configuring done (0.6s) 502s -- Generating done (0.0s) 502s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-151/run_build0/_cmake_test_compile/build 502s -- 502s ------- 502s ------------ 502s ----------------- 502s ---------------------- 502s --------------------------- 502s -------------------------------- 502s -- Trying 'Unix Makefiles' generator - success 502s -------------------------------------------------------------------------------- 502s 502s Configuring Project 502s Working directory: 502s /tmp/pytest-of-ubuntu/pytest-151/run_build0/_skbuild/linux-armv7l-3.12/cmake-build 502s Command: 502s /usr/bin/cmake /tmp/pytest-of-ubuntu/pytest-151/run_build0 -G 'Unix Makefiles' --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pytest-of-ubuntu/pytest-151/run_build0/_skbuild/linux-armv7l-3.12/cmake-install -DPYTHON_VERSION_STRING:STRING=3.12.4 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/usr/lib/python3/dist-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/usr/bin/python3.12 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPYTHON_LIBRARY:PATH=/usr/lib/arm-linux-gnueabihf/libpython3.12.so -DPython_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython_ROOT_DIR:PATH=/usr -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPython3_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython3_ROOT_DIR:PATH=/usr -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.12 -DCMAKE_BUILD_TYPE:STRING=Release 502s 502s Not searching for unused variables given on the command line. 502s -- The C compiler identification is GNU 13.2.0 502s -- The CXX compiler identification is GNU 13.2.0 502s -- Detecting C compiler ABI info 502s -- Detecting C compiler ABI info - done 502s -- Check for working C compiler: /usr/bin/cc - skipped 502s -- Detecting C compile features 502s -- Detecting C compile features - done 502s -- Detecting CXX compiler ABI info 502s -- Detecting CXX compiler ABI info - done 502s -- Check for working CXX compiler: /usr/bin/c++ - skipped 502s -- Detecting CXX compile features 502s -- Detecting CXX compile features - done 502s -- Found PythonInterp: /usr/bin/python3.12 (found version "3.12.4") 502s -- Found PythonLibs: /usr/lib/arm-linux-gnueabihf/libpython3.12.so (found version "3.12.4") 502s -- Performing Test Weak Link MODULE -> SHARED (gnu_ld_ignore) - Success 502s -- Configuring done (1.5s) 502s -- Generating done (0.0s) 502s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-151/run_build0/_skbuild/linux-armv7l-3.12/cmake-build 502s [ 50%] Building CXX object hello/CMakeFiles/_hello.dir/_hello.cxx.o 502s [100%] Linking CXX shared module _hello.cpython-312-arm-linux-gnueabihf.so 502s [100%] Built target _hello 502s Install the project... 502s -- Install configuration: "Release" 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-151/run_build0/_skbuild/linux-armv7l-3.12/cmake-install/./helloModule.py 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-151/run_build0/_skbuild/linux-armv7l-3.12/cmake-install/hello/_hello.cpython-312-arm-linux-gnueabihf.so 502s -- Installing: /tmp/pytest-of-ubuntu/pytest-151/run_build0/_skbuild/linux-armv7l-3.12/cmake-install/hello/world.py 502s 502s copying bonjourModule.py -> _skbuild/linux-armv7l-3.12/cmake-install/bonjourModule.py 502s creating directory _skbuild/linux-armv7l-3.12/cmake-install/bonjour 502s copying bonjour/__init__.py -> _skbuild/linux-armv7l-3.12/cmake-install/bonjour/__init__.py 502s copying hello/__init__.py -> _skbuild/linux-armv7l-3.12/cmake-install/hello/__init__.py 502s copying hello/__main__.py -> _skbuild/linux-armv7l-3.12/cmake-install/hello/__main__.py 502s creating directory _skbuild/linux-armv7l-3.12/cmake-install/bonjour/data 502s copying /tmp/pytest-of-ubuntu/pytest-151/run_build0/bonjour/data/ciel.txt -> _skbuild/linux-armv7l-3.12/cmake-install/bonjour/data/ciel.txt 502s copying /tmp/pytest-of-ubuntu/pytest-151/run_build0/bonjour/data/soleil.txt -> _skbuild/linux-armv7l-3.12/cmake-install/bonjour/data/soleil.txt 502s copying /tmp/pytest-of-ubuntu/pytest-151/run_build0/bonjour/data/terre.txt -> _skbuild/linux-armv7l-3.12/cmake-install/bonjour/data/terre.txt 502s copying /tmp/pytest-of-ubuntu/pytest-151/run_build0/bonjour/data/terre.txt -> _skbuild/linux-armv7l-3.12/cmake-install/bonjour/data/terre.txt 502s 502s ----------------------------- Captured stderr call ----------------------------- 502s hint: Using 'master' as the name for the initial branch. This default branch name 502s hint: is subject to change. To configure the initial branch name to use in all 502s hint: of your new repositories, which will suppress this warning, call: 502s hint: 502s hint: git config --global init.defaultBranch 502s hint: 502s hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 502s hint: 'development'. The just-created branch can be renamed via this command: 502s hint: 502s hint: git branch -m 502s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 502s Compatibility with CMake < 3.5 will be removed from a future version of 502s CMake. 502s 502s Update the VERSION argument value or use a ... suffix to tell 502s CMake that the project does not need compatibility with older versions. 502s 502s 502s CMake Warning (dev) at /usr/lib/python3/dist-packages/skbuild/resources/cmake/FindPythonExtensions.cmake:245 (find_package): 502s Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules 502s are removed. Run "cmake --help-policy CMP0148" for policy details. Use 502s the cmake_policy command to set the policy and suppress this warning. 502s 502s Call Stack (most recent call first): 502s CMakeLists.txt:5 (find_package) 502s This warning is for project developers. Use -Wno-dev to suppress it. 502s 502s CMake Warning (dev) at /usr/lib/python3/dist-packages/skbuild/resources/cmake/FindPythonExtensions.cmake:252 (find_package): 502s Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules 502s are removed. Run "cmake --help-policy CMP0148" for policy details. Use 502s the cmake_policy command to set the policy and suppress this warning. 502s 502s Call Stack (most recent call first): 502s CMakeLists.txt:5 (find_package) 502s This warning is for project developers. Use -Wno-dev to suppress it. 502s 502s _modinit_prefix:PyInit_ 502s ------------------------------ Captured log call ------------------------------- 502s INFO root:dist.py:986 running build 502s INFO root:dist.py:986 running build_py 502s INFO root:dir_util.py:70 creating _skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312 502s _________________________ test_skbuild_variable_sdist __________________________ 502s 502s iargs = (), ikwargs = {} 502s 502s @functools.wraps(fun) 502s def wrapped(*iargs, **ikwargs): 502s if wrapped.tmp_dir is None: # type: ignore[attr-defined] 502s wrapped.tmp_dir = _tmpdir(fun.__name__) # type: ignore[attr-defined] 502s prepare_project(wrapped.project, wrapped.tmp_dir) # type: ignore[attr-defined] 502s initialize_git_repo_and_commit(wrapped.tmp_dir, verbose=wrapped.verbose_git) # type: ignore[attr-defined] 502s 502s > with execute_setup_py(wrapped.tmp_dir, wrapped.setup_args, disable_languages_test=disable_languages_test): # type: ignore[attr-defined] 502s 502s disable_languages_test = True 502s fun = 502s iargs = () 502s ikwargs = {} 502s ret = False 502s wrapped = 502s 502s tests/__init__.py:261: 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s /usr/lib/python3.12/contextlib.py:137: in __enter__ 502s return next(self.gen) 502s self = 502s tests/__init__.py:244: in execute_setup_py 502s exec(setup_code) 502s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 502s disable_languages_test = True 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s original_write_test_cmakelist = 502s platform = 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-155/test_skbuild_variable_sdist0') 502s setup = 502s setup_args = ['sdist'] 502s setup_code = at 0xec3eff38, file "setup.py", line 1> 502s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xebe4ee88> 502s setup.py:5: in 502s version="1.2.3", 502s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 502s disable_languages_test = True 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s original_write_test_cmakelist = 502s platform = 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-155/test_skbuild_variable_sdist0') 502s setup = 502s setup_args = ['sdist'] 502s setup_code = at 0xec3eff38, file "setup.py", line 1> 502s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xebe4ee88> 502s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:513: in setup 502s return setuptools.setup(**kw) # type: ignore[no-any-return, func-returns-value] 502s build_ext_inplace = False 502s cmake_args = () 502s cmake_args_from_args = [] 502s cmake_executable = None 502s cmake_install_dir = '' 502s cmake_install_target = 'install' 502s cmake_languages = ('C', 'CXX') 502s cmake_minimum_required_version = None 502s cmake_process_manifest_hook = None 502s cmake_source_dir = '' 502s cmake_with_sdist = False 502s cmdclass = {'bdist': , 'bdist_wheel': , 'build': , 'build_ext': , ...} 502s commands = ['sdist'] 502s display_only = False 502s force_cmake = False 502s has_cmakelists = True 502s has_invalid_arguments = False 502s help_commands = 0 502s hide_listing = False 502s kw = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , 'bdist_wheel': , 'bdist_wheel': 502s klass = 502s ok = True 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:200: in run_commands 502s dist.run_commands() 502s dist = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:970: in run_commands 502s self.run_command(cmd) 502s cmd = 'sdist' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'sdist' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'sdist' 502s self = 502s /usr/lib/python3/dist-packages/skbuild/command/sdist.py:39: in run 502s super().run(*args, **kwargs) 502s __class__ = 502s args = () 502s kwargs = {} 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/sdist.py:52: in run 502s self.run_command('egg_info') 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 502s self.distribution.run_command(command) 502s command = 'egg_info' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'egg_info' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'egg_info' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/command/egg_info.py:306: in run 502s self.mkpath(self.egg_info) 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:340: in mkpath 502s dir_util.mkpath(name, mode, dry_run=self.dry_run) 502s mode = 511 502s name = 'fail_unless_skbuild_set.egg-info' 502s self = 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s 502s name = 'fail_unless_skbuild_set.egg-info', mode = 511, verbose = True 502s dry_run = False 502s 502s def mkpath(name, mode=0o777, verbose=True, dry_run=False): # noqa: C901 502s """Create a directory and any missing ancestor directories. 502s 502s If the directory already exists (or if 'name' is the empty string, which 502s means the current directory, which of course exists), then do nothing. 502s Raise DistutilsFileError if unable to create some directory along the way 502s (eg. some sub-path exists, but is a file rather than a directory). 502s If 'verbose' is true, print a one-line summary of each mkdir to stdout. 502s Return the list of directories actually created. 502s 502s os.makedirs is not used because: 502s 502s a) It's new to Python 1.5.2, and 502s b) it blows up if the directory already exists (in which case it should 502s silently succeed). 502s """ 502s 502s global _path_created 502s 502s # Detect a common bug -- name is None 502s if not isinstance(name, str): 502s raise DistutilsInternalError(f"mkpath: 'name' must be a string (got {name!r})") 502s 502s # XXX what's the better way to handle verbosity? print as we create 502s # each directory in the path (the current behaviour), or only announce 502s # the creation of the whole path? (quite easy to do the latter since 502s # we're not using a recursive algorithm) 502s 502s name = os.path.normpath(name) 502s created_dirs = [] 502s if os.path.isdir(name) or name == '': 502s return created_dirs 502s if os.path.abspath(name) in _path_created: 502s return created_dirs 502s 502s (head, tail) = os.path.split(name) 502s tails = [tail] # stack of lone dirs to create 502s 502s while head and tail and not os.path.isdir(head): 502s (head, tail) = os.path.split(head) 502s tails.insert(0, tail) # push next higher dir onto stack 502s 502s # now 'head' contains the deepest directory that already exists 502s # (that is, the child of 'head' in 'name' is the highest directory 502s # that does *not* exist) 502s for d in tails: 502s # print "head = %s, d = %s: " % (head, d), 502s head = os.path.join(head, d) 502s abs_head = os.path.abspath(head) 502s 502s if abs_head in _path_created: 502s continue 502s 502s if verbose >= 1: 502s log.info("creating %s", head) 502s 502s if not dry_run: 502s try: 502s os.mkdir(head, mode) 502s except OSError as exc: 502s if not (exc.errno == errno.EEXIST and os.path.isdir(head)): 502s raise DistutilsFileError( 502s f"could not create '{head}': {exc.args[-1]}" 502s ) 502s created_dirs.append(head) 502s 502s > _path_created.add(abs_head) 502s E AttributeError: 'dict' object has no attribute 'add' 502s 502s abs_head = '/tmp/pytest-of-ubuntu/pytest-155/test_skbuild_variable_sdist0/fail_unless_skbuild_set.egg-info' 502s created_dirs = ['fail_unless_skbuild_set.egg-info'] 502s d = 'fail_unless_skbuild_set.egg-info' 502s dry_run = False 502s head = 'fail_unless_skbuild_set.egg-info' 502s mode = 511 502s name = 'fail_unless_skbuild_set.egg-info' 502s tail = 'fail_unless_skbuild_set.egg-info' 502s tails = ['fail_unless_skbuild_set.egg-info'] 502s verbose = True 502s 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dir_util.py:82: AttributeError 502s ----------------------------- Captured stdout call ----------------------------- 502s Initialized empty Git repository in /tmp/pytest-of-ubuntu/pytest-155/test_skbuild_variable_sdist0/.git/ 502s [master (root-commit) d73dffc] Initial commit 502s 2 files changed, 20 insertions(+) 502s create mode 100644 CMakeLists.txt 502s create mode 100644 setup.py 502s ----------------------------- Captured stderr call ----------------------------- 502s hint: Using 'master' as the name for the initial branch. This default branch name 502s hint: is subject to change. To configure the initial branch name to use in all 502s hint: of your new repositories, which will suppress this warning, call: 502s hint: 502s hint: git config --global init.defaultBranch 502s hint: 502s hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 502s hint: 'development'. The just-created branch can be renamed via this command: 502s hint: 502s hint: git branch -m 502s ------------------------------ Captured log call ------------------------------- 502s INFO root:dist.py:986 running sdist 502s INFO root:dist.py:986 running generate_source_manifest 502s INFO root:dist.py:986 running egg_info 502s INFO root:dir_util.py:70 creating fail_unless_skbuild_set.egg-info 502s _________________________ test_skbuild_variable_wheel __________________________ 502s 502s iargs = (), ikwargs = {} 502s 502s @functools.wraps(fun) 502s def wrapped(*iargs, **ikwargs): 502s if wrapped.tmp_dir is None: # type: ignore[attr-defined] 502s wrapped.tmp_dir = _tmpdir(fun.__name__) # type: ignore[attr-defined] 502s prepare_project(wrapped.project, wrapped.tmp_dir) # type: ignore[attr-defined] 502s initialize_git_repo_and_commit(wrapped.tmp_dir, verbose=wrapped.verbose_git) # type: ignore[attr-defined] 502s 502s > with execute_setup_py(wrapped.tmp_dir, wrapped.setup_args, disable_languages_test=disable_languages_test): # type: ignore[attr-defined] 502s 502s disable_languages_test = True 502s fun = 502s iargs = () 502s ikwargs = {} 502s ret = False 502s wrapped = 502s 502s tests/__init__.py:261: 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s /usr/lib/python3.12/contextlib.py:137: in __enter__ 502s return next(self.gen) 502s self = 502s tests/__init__.py:244: in execute_setup_py 502s exec(setup_code) 502s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 502s disable_languages_test = True 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s original_write_test_cmakelist = 502s platform = 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-156/test_skbuild_variable_wheel0') 502s setup = 502s setup_args = ['bdist_wheel'] 502s setup_code = at 0xec3b2a30, file "setup.py", line 1> 502s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xec0a6078> 502s setup.py:5: in 502s version="1.2.3", 502s annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) 502s disable_languages_test = True 502s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 502s original_write_test_cmakelist = 502s platform = 502s project_dir = local('/tmp/pytest-of-ubuntu/pytest-156/test_skbuild_variable_wheel0') 502s setup = 502s setup_args = ['bdist_wheel'] 502s setup_code = at 0xec3b2a30, file "setup.py", line 1> 502s write_test_cmakelist_no_languages = .write_test_cmakelist_no_languages at 0xec0a6078> 502s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:781: in setup 502s return setuptools.setup(**kw) # type: ignore[no-any-return, func-returns-value] 502s BinaryDistribution = .BinaryDistribution'> 502s build_ext_inplace = False 502s cmake_args = ['-DCMAKE_BUILD_TYPE:STRING=Release'] 502s cmake_args_from_args = [] 502s cmake_executable = '/usr/bin/cmake' 502s cmake_install_dir = '' 502s cmake_install_target = 'install' 502s cmake_install_target_from_command = '' 502s cmake_install_target_from_setup = 'install' 502s cmake_languages = ('C', 'CXX') 502s cmake_manifest = [] 502s cmake_minimum_required_version = None 502s cmake_process_manifest_hook = None 502s cmake_source_dir = '' 502s cmake_spec = {'args': ['/usr/bin/cmake', '-DCMAKE_BUILD_TYPE:STRING=Release'], 'environment': {'PYTHONNOUSERSITE': '1', 'PYTHONPATH': '/path/to/anything'}, 'version': '3.29.6'} 502s cmake_with_sdist = False 502s cmdclass = {'bdist': , 'bdist_wheel': , 'build': , 'build_ext': , ...} 502s cmkr = 502s commands = ['bdist_wheel'] 502s config_type = 'Release' 502s data_files = {} 502s developer_mode = False 502s display_only = False 502s env = {'ADTTMP': '/tmp/autopkgtest.EPTB0Y/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', 'ADT_TEST_TRIGGERS': 'setuptools/70.3.0-2', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.EPTB0Y/testsuite-artifacts', ...} 502s env_cmake_args = [] 502s force_cmake = False 502s has_cmakelists = True 502s has_invalid_arguments = False 502s help_commands = 0 502s hide_listing = False 502s kw = {'author': 'The scikit-build team', 'cmdclass': {'bdist': , 'bdist_wheel': , 'bdist_wheel': , 'bdist_wheel': .BinaryDistribution object at 0xec413a80> 502s klass = .BinaryDistribution'> 502s ok = True 502s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:200: in run_commands 502s dist.run_commands() 502s dist = .BinaryDistribution object at 0xec413a80> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:970: in run_commands 502s self.run_command(cmd) 502s cmd = 'bdist_wheel' 502s self = .BinaryDistribution object at 0xec413a80> 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'bdist_wheel' 502s self = .BinaryDistribution object at 0xec413a80> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'bdist_wheel' 502s self = .BinaryDistribution object at 0xec413a80> 502s /usr/lib/python3/dist-packages/skbuild/command/bdist_wheel.py:33: in run 502s super().run(*args, **kwargs) 502s __class__ = 502s args = () 502s kwargs = {} 502s old_write_files = 502s self = 502s update_write_files = .update_write_files at 0xec143ac8> 502s /usr/lib/python3/dist-packages/wheel/bdist_wheel.py:403: in run 502s self.run_command("install") 502s basedir_observed = '' 502s build_ext = 502s build_scripts = 502s install = 502s install_scripts = 502s key = 'platlib' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 502s self.distribution.run_command(command) 502s command = 'install' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'install' 502s self = .BinaryDistribution object at 0xec413a80> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'install' 502s self = .BinaryDistribution object at 0xec413a80> 502s /usr/lib/python3/dist-packages/setuptools/command/install.py:81: in run 502s return super().run() 502s __class__ = 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/command/install.py:705: in run 502s self.run_command(cmd_name) 502s build_plat = 'linux-armv7l' 502s cmd_name = 'install_egg_info' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 502s self.distribution.run_command(command) 502s command = 'install_egg_info' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'install_egg_info' 502s self = .BinaryDistribution object at 0xec413a80> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'install_egg_info' 502s self = .BinaryDistribution object at 0xec413a80> 502s /usr/lib/python3/dist-packages/setuptools/command/install_egg_info.py:48: in run 502s self.run_command('egg_info') 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:316: in run_command 502s self.distribution.run_command(command) 502s command = 'egg_info' 502s self = 502s /usr/lib/python3/dist-packages/setuptools/dist.py:974: in run_command 502s super().run_command(command) 502s __class__ = 502s command = 'egg_info' 502s self = .BinaryDistribution object at 0xec413a80> 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:989: in run_command 502s cmd_obj.run() 502s cmd_obj = 502s command = 'egg_info' 502s self = .BinaryDistribution object at 0xec413a80> 502s /usr/lib/python3/dist-packages/setuptools/command/egg_info.py:306: in run 502s self.mkpath(self.egg_info) 502s self = 502s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:340: in mkpath 502s dir_util.mkpath(name, mode, dry_run=self.dry_run) 502s mode = 511 502s name = 'fail_unless_skbuild_set.egg-info' 502s self = 502s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 502s 502s name = 'fail_unless_skbuild_set.egg-info', mode = 511, verbose = True 502s dry_run = False 502s 502s def mkpath(name, mode=0o777, verbose=True, dry_run=False): # noqa: C901 502s """Create a directory and any missing ancestor directories. 502s 502s If the directory already exists (or if 'name' is the empty string, which 502s means the current directory, which of course exists), then do nothing. 502s Raise DistutilsFileError if unable to create some directory along the way 502s (eg. some sub-path exists, but is a file rather than a directory). 502s If 'verbose' is true, print a one-line summary of each mkdir to stdout. 502s Return the list of directories actually created. 502s 502s os.makedirs is not used because: 502s 502s a) It's new to Python 1.5.2, and 502s b) it blows up if the directory already exists (in which case it should 502s silently succeed). 502s """ 502s 502s global _path_created 502s 502s # Detect a common bug -- name is None 502s if not isinstance(name, str): 502s raise DistutilsInternalError(f"mkpath: 'name' must be a string (got {name!r})") 502s 502s # XXX what's the better way to handle verbosity? print as we create 502s # each directory in the path (the current behaviour), or only announce 502s # the creation of the whole path? (quite easy to do the latter since 502s # we're not using a recursive algorithm) 502s 502s name = os.path.normpath(name) 502s created_dirs = [] 502s if os.path.isdir(name) or name == '': 502s return created_dirs 502s if os.path.abspath(name) in _path_created: 502s return created_dirs 502s 502s (head, tail) = os.path.split(name) 502s tails = [tail] # stack of lone dirs to create 502s 502s while head and tail and not os.path.isdir(head): 502s (head, tail) = os.path.split(head) 502s tails.insert(0, tail) # push next higher dir onto stack 502s 502s # now 'head' contains the deepest directory that already exists 502s # (that is, the child of 'head' in 'name' is the highest directory 502s # that does *not* exist) 502s for d in tails: 502s # print "head = %s, d = %s: " % (head, d), 502s head = os.path.join(head, d) 502s abs_head = os.path.abspath(head) 502s 502s if abs_head in _path_created: 502s continue 502s 502s if verbose >= 1: 502s log.info("creating %s", head) 502s 502s if not dry_run: 502s try: 502s os.mkdir(head, mode) 502s except OSError as exc: 502s if not (exc.errno == errno.EEXIST and os.path.isdir(head)): 502s raise DistutilsFileError( 502s f"could not create '{head}': {exc.args[-1]}" 502s ) 502s created_dirs.append(head) 502s 502s > _path_created.add(abs_head) 502s E AttributeError: 'dict' object has no attribute 'add' 502s 502s abs_head = '/tmp/pytest-of-ubuntu/pytest-156/test_skbuild_variable_wheel0/fail_unless_skbuild_set.egg-info' 502s created_dirs = ['fail_unless_skbuild_set.egg-info'] 502s d = 'fail_unless_skbuild_set.egg-info' 502s dry_run = False 502s head = 'fail_unless_skbuild_set.egg-info' 502s mode = 511 502s name = 'fail_unless_skbuild_set.egg-info' 502s tail = 'fail_unless_skbuild_set.egg-info' 502s tails = ['fail_unless_skbuild_set.egg-info'] 502s verbose = True 502s 502s /usr/lib/python3/dist-packages/setuptools/_distutils/dir_util.py:82: AttributeError 502s ----------------------------- Captured stdout call ----------------------------- 502s Initialized empty Git repository in /tmp/pytest-of-ubuntu/pytest-156/test_skbuild_variable_wheel0/.git/ 502s [master (root-commit) 02547f7] Initial commit 502s 2 files changed, 20 insertions(+) 502s create mode 100644 CMakeLists.txt 502s create mode 100644 setup.py 502s 502s 502s -------------------------------------------------------------------------------- 502s -- Trying 'Unix Makefiles' generator 502s -------------------------------- 502s --------------------------- 502s ---------------------- 502s ----------------- 502s ------------ 502s ------- 502s -- 502s Not searching for unused variables given on the command line. 502s -- Configuring done (0.0s) 502s -- Generating done (0.0s) 502s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-156/test_skbuild_variable_wheel0/_cmake_test_compile/build 502s -- 502s ------- 502s ------------ 502s ----------------- 502s ---------------------- 502s --------------------------- 502s -------------------------------- 502s -- Trying 'Unix Makefiles' generator - success 502s -------------------------------------------------------------------------------- 502s 502s Configuring Project 502s Working directory: 502s /tmp/pytest-of-ubuntu/pytest-156/test_skbuild_variable_wheel0/_skbuild/linux-armv7l-3.12/cmake-build 502s Command: 502s /usr/bin/cmake /tmp/pytest-of-ubuntu/pytest-156/test_skbuild_variable_wheel0 -G 'Unix Makefiles' --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pytest-of-ubuntu/pytest-156/test_skbuild_variable_wheel0/_skbuild/linux-armv7l-3.12/cmake-install -DPYTHON_VERSION_STRING:STRING=3.12.4 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/usr/lib/python3/dist-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/usr/bin/python3.12 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPYTHON_LIBRARY:PATH=/usr/lib/arm-linux-gnueabihf/libpython3.12.so -DPython_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython_ROOT_DIR:PATH=/usr -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/usr/include/python3.12 -DPython3_EXECUTABLE:PATH=/usr/bin/python3.12 -DPython3_ROOT_DIR:PATH=/usr -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.12 -DCMAKE_BUILD_TYPE:STRING=Release 502s 502s Not searching for unused variables given on the command line. 502s -- Configuring done (0.0s) 502s -- Generating done (0.0s) 502s -- Build files have been written to: /tmp/pytest-of-ubuntu/pytest-156/test_skbuild_variable_wheel0/_skbuild/linux-armv7l-3.12/cmake-build 502s Install the project... 502s -- Install configuration: "Release" 502s 502s 502s ----------------------------- Captured stderr call ----------------------------- 502s hint: Using 'master' as the name for the initial branch. This default branch name 502s hint: is subject to change. To configure the initial branch name to use in all 502s hint: of your new repositories, which will suppress this warning, call: 502s hint: 502s hint: git config --global init.defaultBranch 502s hint: 502s hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 502s hint: 'development'. The just-created branch can be renamed via this command: 502s hint: 502s hint: git branch -m 502s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): 502s Compatibility with CMake < 3.5 will be removed from a future version of 502s CMake. 502s 502s Update the VERSION argument value or use a ... suffix to tell 502s CMake that the project does not need compatibility with older versions. 502s 502s 502s ------------------------------ Captured log call ------------------------------- 502s INFO root:dist.py:986 running bdist_wheel 502s INFO root:dist.py:986 running build 502s INFO root:dist.py:986 running build_ext 502s INFO wheel:bdist_wheel.py:401 installing to _skbuild/linux-armv7l-3.12/setuptools/bdist.linux-armv7l/wheel 502s INFO root:dist.py:986 running install 502s INFO root:dist.py:986 running install_lib 502s WARNING root:cmd.py:334 warning: install_lib: '_skbuild/linux-armv7l-3.12/setuptools/lib.linux-armv7l-cpython-312' does not exist -- no Python modules to install 502s 502s INFO root:dist.py:986 running install_egg_info 502s INFO root:dist.py:986 running egg_info 502s INFO root:dir_util.py:70 creating fail_unless_skbuild_set.egg-info 502s =========================== short test summary info ============================ 502s SKIPPED [1] tests/test_hello_fortran.py:18: could not import 'numpy': No module named 'numpy' 502s SKIPPED [1] tests/test_platform.py:120: Requires Windows 502s SKIPPED [24] tests/test_setup.py:584: unsupported configuration: python package fully generated by CMake does *NOT* work. At least __init__.py should be in the project source tree 502s SKIPPED [1] tests/test_skbuild.py:84: NMake Makefiles generator is not available on Linux 502s SKIPPED [3] tests/test_skbuild.py:127: Requires Windows 502s SKIPPED [1] tests/test_skbuild.py:151: Requires Windows 502s FAILED tests/test_cmakelists_not_in_top_level_dir.py::test_build - AttributeE... 502s FAILED tests/test_command_line.py::test_hide_listing[True-sdist] - AttributeE... 502s FAILED tests/test_command_line.py::test_hide_listing[True-bdist_wheel] - Attr... 502s FAILED tests/test_command_line.py::test_hide_listing[False-sdist] - Attribute... 502s FAILED tests/test_command_line.py::test_hide_listing[False-bdist_wheel] - Att... 502s FAILED tests/test_cython_flags.py::test_hello_cython_builds - AttributeError:... 502s FAILED tests/test_filter_manifest.py::test_bdist_wheel_command - AttributeErr... 502s FAILED tests/test_hello_cpp.py::test_hello_builds - AttributeError: 'dict' ob... 502s FAILED tests/test_hello_cpp.py::test_hello_wheel - AttributeError: 'dict' obj... 502s FAILED tests/test_hello_cpp.py::test_hello_clean[with-dry-run] - AttributeErr... 502s FAILED tests/test_hello_cpp.py::test_hello_clean[without-dry-run] - Attribute... 502s FAILED tests/test_hello_cpp.py::test_hello_cleans - AttributeError: 'dict' ob... 502s FAILED tests/test_hello_cython.py::test_hello_cython_builds - AttributeError:... 502s FAILED tests/test_hello_cython.py::test_hello_cython_sdist - AttributeError: ... 502s FAILED tests/test_hello_cython.py::test_hello_cython_wheel - AttributeError: ... 502s FAILED tests/test_hello_pure.py::test_hello_pure_builds - AttributeError: 'di... 502s FAILED tests/test_hello_pure.py::test_hello_pure_sdist - AttributeError: 'dic... 502s FAILED tests/test_hello_pure.py::test_hello_pure_wheel - AttributeError: 'dic... 502s FAILED tests/test_hello_pure.py::test_hello_clean - AttributeError: 'dict' ob... 502s FAILED tests/test_include_exclude_data.py::test_include_exclude_data - Attrib... 502s FAILED tests/test_include_exclude_data.py::test_include_exclude_data_with_base 502s FAILED tests/test_issue284_build_ext_inplace.py::test_build_ext_inplace_command 502s FAILED tests/test_issue335_support_cmake_source_dir.py::test_bdist_wheel_command 502s FAILED tests/test_issue668_symbol_visibility.py::test_symbol_visibility[ON] 502s FAILED tests/test_issue668_symbol_visibility.py::test_symbol_visibility[OFF] 502s FAILED tests/test_manifest_in.py::test_manifest_in_wheel - AttributeError: 'd... 502s FAILED tests/test_setup.py::test_distribution_is_pure[py_modules] - Attribute... 502s FAILED tests/test_setup.py::test_distribution_is_pure[packages] - AttributeEr... 502s FAILED tests/test_setup.py::test_cmake_install_dir_keyword[banana-False-str] 502s FAILED tests/test_setup.py::test_cmake_with_sdist_keyword[True] - AttributeEr... 502s FAILED tests/test_setup.py::test_cmake_with_sdist_keyword[False] - AttributeE... 502s FAILED tests/test_setup.py::test_setup_requires_keyword_include_cmake - distu... 502s FAILED tests/test_setup.py::test_script_keyword[pure] - AttributeError: 'dict... 502s FAILED tests/test_setup.py::test_script_keyword[skbuild] - AttributeError: 'd... 502s FAILED tests/test_setup.py::test_py_modules_keyword[pure] - AttributeError: '... 502s FAILED tests/test_setup.py::test_py_modules_keyword[skbuild] - AttributeError... 502s FAILED tests/test_setup.py::test_cmake_install_into_pure_package[0] - Attribu... 502s FAILED tests/test_setup.py::test_cmake_install_into_pure_package[1] - Attribu... 502s FAILED tests/test_skbuild.py::test_generator[Unix Makefiles-make] - Attribute... 502s FAILED tests/test_skbuild_variable.py::test_skbuild_variable_sdist - Attribut... 502s FAILED tests/test_skbuild_variable.py::test_skbuild_variable_wheel - Attribut... 502s ==== 41 failed, 151 passed, 31 skipped, 19 deselected in 199.02s (0:03:19) ===== 502s autopkgtest [22:35:50]: test testsuite: -----------------------] 507s autopkgtest [22:35:55]: test testsuite: - - - - - - - - - - results - - - - - - - - - - 507s testsuite FAIL non-zero exit status 1 510s autopkgtest [22:35:58]: @@@@@@@@@@@@@@@@@@@@ summary 510s testsuite FAIL non-zero exit status 1