0s autopkgtest [04:37:25]: starting date and time: 2026-02-06 04:37:25+0000 0s autopkgtest [04:37:25]: git checkout: 508d4a25 a-v-ssh wait_for_ssh: demote "ssh connection failed" to a debug message 0s autopkgtest [04:37:25]: host juju-7f2275-prod-proposed-migration-environment-9; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.gwm9d63f/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,localhost,localdomain,internal,login.ubuntu.com,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com,radosgw.ps5.canonical.com\n" >> /etc/environment' --apt-pocket=proposed=src:setuptools --apt-upgrade compyle --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=setuptools/78.1.1-0.1build1 -- lxd -r lxd-armhf-10.145.243.61 lxd-armhf-10.145.243.61:autopkgtest/ubuntu/resolute/armhf 27s autopkgtest [04:37:52]: testbed dpkg architecture: armhf 29s autopkgtest [04:37:54]: testbed apt version: 3.1.14 33s autopkgtest [04:37:58]: @@@@@@@@@@@@@@@@@@@@ test bed setup 35s autopkgtest [04:38:00]: testbed release detected to be: None 43s autopkgtest [04:38:08]: updating testbed package index (apt update) 46s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [124 kB] 46s Get:2 http://ftpmaster.internal/ubuntu resolute InRelease [124 kB] 46s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 46s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 47s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [220 kB] 47s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [5260 B] 47s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [1593 kB] 47s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [32.6 kB] 47s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf Packages [254 kB] 47s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/universe armhf Packages [1304 kB] 47s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse armhf Packages [8048 B] 47s Get:12 http://ftpmaster.internal/ubuntu resolute/main Sources [1410 kB] 47s Get:13 http://ftpmaster.internal/ubuntu resolute/universe Sources [21.3 MB] 48s Get:14 http://ftpmaster.internal/ubuntu resolute/multiverse Sources [310 kB] 48s Get:15 http://ftpmaster.internal/ubuntu resolute/main armhf Packages [1374 kB] 48s Get:16 http://ftpmaster.internal/ubuntu resolute/universe armhf Packages [14.9 MB] 48s Get:17 http://ftpmaster.internal/ubuntu resolute/multiverse armhf Packages [176 kB] 51s Fetched 43.2 MB in 5s (7994 kB/s) 53s Reading package lists... 60s autopkgtest [04:38:25]: upgrading testbed (apt dist-upgrade and autopurge) 62s Reading package lists... 62s Building dependency tree... 62s Reading state information... 62s Calculating upgrade... 63s The following packages will be upgraded: 63s python3-pkg-resources python3-setuptools 63s 2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 63s Need to get 805 kB of archives. 63s After this operation, 0 B of additional disk space will be used. 63s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf python3-pkg-resources all 78.1.1-0.1build1 [144 kB] 63s Get:2 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf python3-setuptools all 78.1.1-0.1build1 [661 kB] 64s Fetched 805 kB in 1s (1022 kB/s) 64s (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 ... 68395 files and directories currently installed.) 64s Preparing to unpack .../python3-pkg-resources_78.1.1-0.1build1_all.deb ... 64s Unpacking python3-pkg-resources (78.1.1-0.1build1) over (78.1.1-0.1) ... 64s Preparing to unpack .../python3-setuptools_78.1.1-0.1build1_all.deb ... 65s Unpacking python3-setuptools (78.1.1-0.1build1) over (78.1.1-0.1) ... 65s Setting up python3-pkg-resources (78.1.1-0.1build1) ... 65s Setting up python3-setuptools (78.1.1-0.1build1) ... 68s Reading package lists... 68s Building dependency tree... 68s Reading state information... 68s Solving dependencies... 69s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 72s autopkgtest [04:38:37]: rebooting testbed after setup commands that affected boot 113s autopkgtest [04:39:18]: testbed running kernel: Linux 6.8.0-87-generic #88~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Oct 14 14:00:09 UTC 2 140s autopkgtest [04:39:45]: @@@@@@@@@@@@@@@@@@@@ apt-source compyle 150s Get:1 http://ftpmaster.internal/ubuntu resolute/universe compyle 0.8.1-11 (dsc) [1843 B] 150s Get:2 http://ftpmaster.internal/ubuntu resolute/universe compyle 0.8.1-11 (tar) [123 kB] 150s Get:3 http://ftpmaster.internal/ubuntu resolute/universe compyle 0.8.1-11 (diff) [7400 B] 150s gpgv: Signature made Thu Jun 19 07:40:21 2025 UTC 150s gpgv: using RSA key D54C3BFAFFB042DE382DA5D741CE7F0B9F1B8B32 150s gpgv: Can't check signature: No public key 150s dpkg-source: warning: cannot verify inline signature for ./compyle_0.8.1-11.dsc: no acceptable signature found 151s autopkgtest [04:39:56]: testing package compyle version 0.8.1-11 153s autopkgtest [04:39:58]: build not needed 156s autopkgtest [04:40:01]: test pybuild-autopkgtest: preparing testbed 158s Reading package lists... 159s Building dependency tree... 159s Reading state information... 159s Solving dependencies... 160s The following NEW packages will be installed: 160s autoconf automake autopoint autotools-dev build-essential clang-18 cpp 160s cpp-15 cpp-15-arm-linux-gnueabihf cpp-arm-linux-gnueabihf cython3 debhelper 160s debugedit dh-autoreconf dh-python dh-strip-nondeterminism dwz g++ g++-15 160s g++-15-arm-linux-gnueabihf g++-arm-linux-gnueabihf gcc gcc-15 160s gcc-15-arm-linux-gnueabihf gcc-arm-linux-gnueabihf gettext intltool-debian 160s libarchive-zip-perl libasan8 libblas3 libc-dev-bin libc6-dev libcc1-0 160s libclang-common-18-dev libclang-cpp18 libclang1-18 libcrypt-dev 160s libdebhelper-perl libdw1t64 libexpat1-dev libfile-stripnondeterminism-perl 160s libgc1 libgcc-15-dev libgfortran5 libgomp1 libhwloc15 libisl23 liblapack3 160s libllvm18 libllvmspirvlib18.1 libmpc3 libobjc-15-dev libobjc4 160s libpocl2-common libpocl2t64 libpython3-all-dev libpython3-dev libpython3.13 160s libpython3.13-dev libpython3.14 libpython3.14-dev libpython3.14-minimal 160s libpython3.14-stdlib libstdc++-15-dev libtool libubsan1 linux-libc-dev 160s llvm-18-linker-tools llvm-spirv-18 m4 ocl-icd-libopencl1 po-debconf 160s pocl-opencl-icd pybuild-plugin-autopkgtest python3-all python3-all-dev 160s python3-compyle python3-decorator python3-dev python3-iniconfig python3-mako 160s python3-numpy python3-numpy-dev python3-platformdirs python3-pluggy 160s python3-pyopencl python3-pytest python3-pytools python3.13-dev python3.14 160s python3.14-dev python3.14-minimal rpcsvc-proto zlib1g-dev 160s 0 upgraded, 94 newly installed, 0 to remove and 0 not upgraded. 160s Need to get 144 MB of archives. 160s After this operation, 513 MB of additional disk space will be used. 160s Get:1 http://ftpmaster.internal/ubuntu resolute/main armhf python3-numpy-dev armhf 1:2.3.5+ds-3 [141 kB] 160s Get:2 http://ftpmaster.internal/ubuntu resolute/main armhf libblas3 armhf 3.12.1-7ubuntu1 [133 kB] 160s Get:3 http://ftpmaster.internal/ubuntu resolute/main armhf libgfortran5 armhf 15.2.0-12ubuntu1 [334 kB] 160s Get:4 http://ftpmaster.internal/ubuntu resolute/main armhf liblapack3 armhf 3.12.1-7ubuntu1 [2090 kB] 160s Get:5 http://ftpmaster.internal/ubuntu resolute/main armhf python3-numpy armhf 1:2.3.5+ds-3 [4729 kB] 161s Get:6 http://ftpmaster.internal/ubuntu resolute/main armhf libpython3.14-minimal armhf 3.14.2-1 [905 kB] 161s Get:7 http://ftpmaster.internal/ubuntu resolute/main armhf python3.14-minimal armhf 3.14.2-1 [2155 kB] 161s Get:8 http://ftpmaster.internal/ubuntu resolute/main armhf m4 armhf 1.4.20-2 [212 kB] 161s Get:9 http://ftpmaster.internal/ubuntu resolute/main armhf autoconf all 2.72-3.1ubuntu1 [384 kB] 161s Get:10 http://ftpmaster.internal/ubuntu resolute/main armhf autotools-dev all 20240727.1 [43.4 kB] 161s Get:11 http://ftpmaster.internal/ubuntu resolute/main armhf automake all 1:1.18.1-3build1 [582 kB] 161s Get:12 http://ftpmaster.internal/ubuntu resolute/main armhf autopoint all 0.23.2-1 [620 kB] 161s Get:13 http://ftpmaster.internal/ubuntu resolute/main armhf libc-dev-bin armhf 2.42-2ubuntu4 [21.8 kB] 161s Get:14 http://ftpmaster.internal/ubuntu resolute/main armhf linux-libc-dev armhf 6.18.0-9.9 [1819 kB] 161s Get:15 http://ftpmaster.internal/ubuntu resolute/main armhf libcrypt-dev armhf 1:4.5.1-1 [128 kB] 161s Get:16 http://ftpmaster.internal/ubuntu resolute/main armhf rpcsvc-proto armhf 1.4.3-1build1 [62.6 kB] 161s Get:17 http://ftpmaster.internal/ubuntu resolute/main armhf libc6-dev armhf 2.42-2ubuntu4 [1416 kB] 161s Get:18 http://ftpmaster.internal/ubuntu resolute/main armhf libisl23 armhf 0.27-1build1 [553 kB] 161s Get:19 http://ftpmaster.internal/ubuntu resolute/main armhf libmpc3 armhf 1.3.1-2 [47.0 kB] 161s Get:20 http://ftpmaster.internal/ubuntu resolute/main armhf cpp-15-arm-linux-gnueabihf armhf 15.2.0-12ubuntu1 [10.1 MB] 161s Get:21 http://ftpmaster.internal/ubuntu resolute/main armhf cpp-15 armhf 15.2.0-12ubuntu1 [1032 B] 161s Get:22 http://ftpmaster.internal/ubuntu resolute/main armhf cpp-arm-linux-gnueabihf armhf 4:15.2.0-4ubuntu1 [5756 B] 161s Get:23 http://ftpmaster.internal/ubuntu resolute/main armhf cpp armhf 4:15.2.0-4ubuntu1 [22.4 kB] 161s Get:24 http://ftpmaster.internal/ubuntu resolute/main armhf libcc1-0 armhf 15.2.0-12ubuntu1 [43.5 kB] 161s Get:25 http://ftpmaster.internal/ubuntu resolute/main armhf libgomp1 armhf 15.2.0-12ubuntu1 [129 kB] 161s Get:26 http://ftpmaster.internal/ubuntu resolute/main armhf libasan8 armhf 15.2.0-12ubuntu1 [2949 kB] 161s Get:27 http://ftpmaster.internal/ubuntu resolute/main armhf libubsan1 armhf 15.2.0-12ubuntu1 [1187 kB] 161s Get:28 http://ftpmaster.internal/ubuntu resolute/main armhf libgcc-15-dev armhf 15.2.0-12ubuntu1 [898 kB] 161s Get:29 http://ftpmaster.internal/ubuntu resolute/main armhf gcc-15-arm-linux-gnueabihf armhf 15.2.0-12ubuntu1 [19.5 MB] 162s Get:30 http://ftpmaster.internal/ubuntu resolute/main armhf gcc-15 armhf 15.2.0-12ubuntu1 [499 kB] 162s Get:31 http://ftpmaster.internal/ubuntu resolute/main armhf gcc-arm-linux-gnueabihf armhf 4:15.2.0-4ubuntu1 [1220 B] 162s Get:32 http://ftpmaster.internal/ubuntu resolute/main armhf gcc armhf 4:15.2.0-4ubuntu1 [5022 B] 162s Get:33 http://ftpmaster.internal/ubuntu resolute/main armhf libstdc++-15-dev armhf 15.2.0-12ubuntu1 [2638 kB] 162s Get:34 http://ftpmaster.internal/ubuntu resolute/main armhf g++-15-arm-linux-gnueabihf armhf 15.2.0-12ubuntu1 [11.4 MB] 162s Get:35 http://ftpmaster.internal/ubuntu resolute/main armhf g++-15 armhf 15.2.0-12ubuntu1 [25.3 kB] 162s Get:36 http://ftpmaster.internal/ubuntu resolute/main armhf g++-arm-linux-gnueabihf armhf 4:15.2.0-4ubuntu1 [968 B] 162s Get:37 http://ftpmaster.internal/ubuntu resolute/main armhf g++ armhf 4:15.2.0-4ubuntu1 [1086 B] 162s Get:38 http://ftpmaster.internal/ubuntu resolute/main armhf build-essential armhf 12.12ubuntu2 [5256 B] 162s Get:39 http://ftpmaster.internal/ubuntu resolute/universe armhf libllvm18 armhf 1:18.1.8-20ubuntu5 [26.4 MB] 163s Get:40 http://ftpmaster.internal/ubuntu resolute/universe armhf libclang-cpp18 armhf 1:18.1.8-20ubuntu5 [12.6 MB] 163s Get:41 http://ftpmaster.internal/ubuntu resolute/main armhf libgc1 armhf 1:8.2.10-1 [82.7 kB] 163s Get:42 http://ftpmaster.internal/ubuntu resolute/universe armhf libobjc4 armhf 15.2.0-12ubuntu1 [38.6 kB] 163s Get:43 http://ftpmaster.internal/ubuntu resolute/universe armhf libobjc-15-dev armhf 15.2.0-12ubuntu1 [186 kB] 163s Get:44 http://ftpmaster.internal/ubuntu resolute/universe armhf libclang-common-18-dev armhf 1:18.1.8-20ubuntu5 [737 kB] 163s Get:45 http://ftpmaster.internal/ubuntu resolute/universe armhf llvm-18-linker-tools armhf 1:18.1.8-20ubuntu5 [1147 kB] 163s Get:46 http://ftpmaster.internal/ubuntu resolute/universe armhf libclang1-18 armhf 1:18.1.8-20ubuntu5 [7252 kB] 163s Get:47 http://ftpmaster.internal/ubuntu resolute/universe armhf clang-18 armhf 1:18.1.8-20ubuntu5 [75.5 kB] 163s Get:48 http://ftpmaster.internal/ubuntu resolute/universe armhf cython3 armhf 3.1.6+dfsg-1ubuntu1 [3308 kB] 164s Get:49 http://ftpmaster.internal/ubuntu resolute/main armhf libdebhelper-perl all 13.28ubuntu1 [97.4 kB] 164s Get:50 http://ftpmaster.internal/ubuntu resolute/main armhf libtool all 2.5.4-9 [169 kB] 164s Get:51 http://ftpmaster.internal/ubuntu resolute/main armhf dh-autoreconf all 21 [12.5 kB] 164s Get:52 http://ftpmaster.internal/ubuntu resolute/main armhf libarchive-zip-perl all 1.68-1 [90.2 kB] 164s Get:53 http://ftpmaster.internal/ubuntu resolute/main armhf libfile-stripnondeterminism-perl all 1.15.0-1build1 [20.6 kB] 164s Get:54 http://ftpmaster.internal/ubuntu resolute/main armhf dh-strip-nondeterminism all 1.15.0-1build1 [5110 B] 164s Get:55 http://ftpmaster.internal/ubuntu resolute/main armhf libdw1t64 armhf 0.194-1 [254 kB] 164s Get:56 http://ftpmaster.internal/ubuntu resolute/main armhf debugedit armhf 1:5.2-3build1 [49.0 kB] 164s Get:57 http://ftpmaster.internal/ubuntu resolute/main armhf dwz armhf 0.16-2 [114 kB] 164s Get:58 http://ftpmaster.internal/ubuntu resolute/main armhf gettext armhf 0.23.2-1 [1059 kB] 164s Get:59 http://ftpmaster.internal/ubuntu resolute/main armhf intltool-debian all 0.35.0+20060710.6build1 [24.1 kB] 164s Get:60 http://ftpmaster.internal/ubuntu resolute/main armhf po-debconf all 1.0.22 [215 kB] 164s Get:61 http://ftpmaster.internal/ubuntu resolute/main armhf debhelper all 13.28ubuntu1 [916 kB] 164s Get:62 http://ftpmaster.internal/ubuntu resolute/universe armhf dh-python all 7.20260125 [122 kB] 164s Get:63 http://ftpmaster.internal/ubuntu resolute/main armhf libexpat1-dev armhf 2.7.4-1 [130 kB] 164s Get:64 http://ftpmaster.internal/ubuntu resolute/universe armhf libhwloc15 armhf 2.12.2-1 [149 kB] 164s Get:65 http://ftpmaster.internal/ubuntu resolute/universe armhf libllvmspirvlib18.1 armhf 18.1.19-1 [871 kB] 164s Get:66 http://ftpmaster.internal/ubuntu resolute/universe armhf libpocl2-common all 6.0-7 [83.0 kB] 164s Get:67 http://ftpmaster.internal/ubuntu resolute/universe armhf llvm-spirv-18 armhf 18.1.19-1 [506 kB] 164s Get:68 http://ftpmaster.internal/ubuntu resolute/universe armhf libpocl2t64 armhf 6.0-7 [1947 kB] 164s Get:69 http://ftpmaster.internal/ubuntu resolute/main armhf libpython3.13 armhf 3.13.11-1 [2124 kB] 164s Get:70 http://ftpmaster.internal/ubuntu resolute/main armhf zlib1g-dev armhf 1:1.3.dfsg+really1.3.1-1ubuntu2 [881 kB] 164s Get:71 http://ftpmaster.internal/ubuntu resolute/main armhf libpython3.13-dev armhf 3.13.11-1 [4564 kB] 164s Get:72 http://ftpmaster.internal/ubuntu resolute/main armhf libpython3-dev armhf 3.13.9-3 [11.2 kB] 164s Get:73 http://ftpmaster.internal/ubuntu resolute/main armhf libpython3.14-stdlib armhf 3.14.2-1 [2270 kB] 164s Get:74 http://ftpmaster.internal/ubuntu resolute/main armhf libpython3.14 armhf 3.14.2-1 [2213 kB] 164s Get:75 http://ftpmaster.internal/ubuntu resolute/main armhf libpython3.14-dev armhf 3.14.2-1 [4504 kB] 164s Get:76 http://ftpmaster.internal/ubuntu resolute/main armhf libpython3-all-dev armhf 3.13.9-3 [916 B] 164s Get:77 http://ftpmaster.internal/ubuntu resolute/universe armhf pybuild-plugin-autopkgtest all 7.20260125 [1744 B] 164s Get:78 http://ftpmaster.internal/ubuntu resolute/main armhf python3.14 armhf 3.14.2-1 [816 kB] 164s Get:79 http://ftpmaster.internal/ubuntu resolute/main armhf python3-all armhf 3.13.9-3 [890 B] 164s Get:80 http://ftpmaster.internal/ubuntu resolute/main armhf python3.13-dev armhf 3.13.11-1 [508 kB] 164s Get:81 http://ftpmaster.internal/ubuntu resolute/main armhf python3-dev armhf 3.13.9-3 [26.6 kB] 164s Get:82 http://ftpmaster.internal/ubuntu resolute/main armhf python3.14-dev armhf 3.14.2-1 [512 kB] 164s Get:83 http://ftpmaster.internal/ubuntu resolute/main armhf python3-all-dev armhf 3.13.9-3 [914 B] 164s Get:84 http://ftpmaster.internal/ubuntu resolute/main armhf python3-mako all 1.3.10-3build1 [63.9 kB] 164s Get:85 http://ftpmaster.internal/ubuntu resolute/main armhf python3-platformdirs all 4.5.1-1 [17.1 kB] 164s Get:86 http://ftpmaster.internal/ubuntu resolute/main armhf python3-decorator all 5.2.1-2 [28.1 kB] 164s Get:87 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-pytools all 2025.1.2-1 [69.9 kB] 164s Get:88 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-compyle all 0.8.1-11 [91.6 kB] 164s Get:89 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-iniconfig all 2.1.0-2 [6962 B] 164s Get:90 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-pluggy all 1.6.0-2 [21.1 kB] 164s Get:91 http://ftpmaster.internal/ubuntu resolute/main armhf ocl-icd-libopencl1 armhf 2.3.4-1 [37.6 kB] 164s Get:92 http://ftpmaster.internal/ubuntu resolute/universe armhf pocl-opencl-icd armhf 6.0-7 [7172 B] 164s Get:93 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-pyopencl armhf 2025.1-2 [500 kB] 164s Get:94 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-pytest all 9.0.2-2 [277 kB] 165s Fetched 144 MB in 5s (31.3 MB/s) 165s Selecting previously unselected package python3-numpy-dev:armhf. 165s (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 ... 68395 files and directories currently installed.) 165s Preparing to unpack .../00-python3-numpy-dev_1%3a2.3.5+ds-3_armhf.deb ... 165s Unpacking python3-numpy-dev:armhf (1:2.3.5+ds-3) ... 165s Selecting previously unselected package libblas3:armhf. 165s Preparing to unpack .../01-libblas3_3.12.1-7ubuntu1_armhf.deb ... 165s Unpacking libblas3:armhf (3.12.1-7ubuntu1) ... 165s Selecting previously unselected package libgfortran5:armhf. 165s Preparing to unpack .../02-libgfortran5_15.2.0-12ubuntu1_armhf.deb ... 165s Unpacking libgfortran5:armhf (15.2.0-12ubuntu1) ... 165s Selecting previously unselected package liblapack3:armhf. 165s Preparing to unpack .../03-liblapack3_3.12.1-7ubuntu1_armhf.deb ... 165s Unpacking liblapack3:armhf (3.12.1-7ubuntu1) ... 165s Selecting previously unselected package python3-numpy. 165s Preparing to unpack .../04-python3-numpy_1%3a2.3.5+ds-3_armhf.deb ... 165s Unpacking python3-numpy (1:2.3.5+ds-3) ... 165s Selecting previously unselected package libpython3.14-minimal:armhf. 165s Preparing to unpack .../05-libpython3.14-minimal_3.14.2-1_armhf.deb ... 165s Unpacking libpython3.14-minimal:armhf (3.14.2-1) ... 166s Selecting previously unselected package python3.14-minimal. 166s Preparing to unpack .../06-python3.14-minimal_3.14.2-1_armhf.deb ... 166s Unpacking python3.14-minimal (3.14.2-1) ... 166s Selecting previously unselected package m4. 166s Preparing to unpack .../07-m4_1.4.20-2_armhf.deb ... 166s Unpacking m4 (1.4.20-2) ... 166s Selecting previously unselected package autoconf. 166s Preparing to unpack .../08-autoconf_2.72-3.1ubuntu1_all.deb ... 166s Unpacking autoconf (2.72-3.1ubuntu1) ... 166s Selecting previously unselected package autotools-dev. 166s Preparing to unpack .../09-autotools-dev_20240727.1_all.deb ... 166s Unpacking autotools-dev (20240727.1) ... 166s Selecting previously unselected package automake. 166s Preparing to unpack .../10-automake_1%3a1.18.1-3build1_all.deb ... 166s Unpacking automake (1:1.18.1-3build1) ... 166s Selecting previously unselected package autopoint. 166s Preparing to unpack .../11-autopoint_0.23.2-1_all.deb ... 166s Unpacking autopoint (0.23.2-1) ... 166s Selecting previously unselected package libc-dev-bin. 166s Preparing to unpack .../12-libc-dev-bin_2.42-2ubuntu4_armhf.deb ... 166s Unpacking libc-dev-bin (2.42-2ubuntu4) ... 166s Selecting previously unselected package linux-libc-dev:armhf. 166s Preparing to unpack .../13-linux-libc-dev_6.18.0-9.9_armhf.deb ... 166s Unpacking linux-libc-dev:armhf (6.18.0-9.9) ... 166s Selecting previously unselected package libcrypt-dev:armhf. 166s Preparing to unpack .../14-libcrypt-dev_1%3a4.5.1-1_armhf.deb ... 166s Unpacking libcrypt-dev:armhf (1:4.5.1-1) ... 166s Selecting previously unselected package rpcsvc-proto. 166s Preparing to unpack .../15-rpcsvc-proto_1.4.3-1build1_armhf.deb ... 166s Unpacking rpcsvc-proto (1.4.3-1build1) ... 166s Selecting previously unselected package libc6-dev:armhf. 166s Preparing to unpack .../16-libc6-dev_2.42-2ubuntu4_armhf.deb ... 166s Unpacking libc6-dev:armhf (2.42-2ubuntu4) ... 166s Selecting previously unselected package libisl23:armhf. 166s Preparing to unpack .../17-libisl23_0.27-1build1_armhf.deb ... 166s Unpacking libisl23:armhf (0.27-1build1) ... 166s Selecting previously unselected package libmpc3:armhf. 166s Preparing to unpack .../18-libmpc3_1.3.1-2_armhf.deb ... 166s Unpacking libmpc3:armhf (1.3.1-2) ... 166s Selecting previously unselected package cpp-15-arm-linux-gnueabihf. 166s Preparing to unpack .../19-cpp-15-arm-linux-gnueabihf_15.2.0-12ubuntu1_armhf.deb ... 166s Unpacking cpp-15-arm-linux-gnueabihf (15.2.0-12ubuntu1) ... 167s Selecting previously unselected package cpp-15. 167s Preparing to unpack .../20-cpp-15_15.2.0-12ubuntu1_armhf.deb ... 167s Unpacking cpp-15 (15.2.0-12ubuntu1) ... 167s Selecting previously unselected package cpp-arm-linux-gnueabihf. 167s Preparing to unpack .../21-cpp-arm-linux-gnueabihf_4%3a15.2.0-4ubuntu1_armhf.deb ... 167s Unpacking cpp-arm-linux-gnueabihf (4:15.2.0-4ubuntu1) ... 167s Selecting previously unselected package cpp. 167s Preparing to unpack .../22-cpp_4%3a15.2.0-4ubuntu1_armhf.deb ... 167s Unpacking cpp (4:15.2.0-4ubuntu1) ... 167s Selecting previously unselected package libcc1-0:armhf. 167s Preparing to unpack .../23-libcc1-0_15.2.0-12ubuntu1_armhf.deb ... 167s Unpacking libcc1-0:armhf (15.2.0-12ubuntu1) ... 167s Selecting previously unselected package libgomp1:armhf. 167s Preparing to unpack .../24-libgomp1_15.2.0-12ubuntu1_armhf.deb ... 167s Unpacking libgomp1:armhf (15.2.0-12ubuntu1) ... 167s Selecting previously unselected package libasan8:armhf. 167s Preparing to unpack .../25-libasan8_15.2.0-12ubuntu1_armhf.deb ... 167s Unpacking libasan8:armhf (15.2.0-12ubuntu1) ... 167s Selecting previously unselected package libubsan1:armhf. 167s Preparing to unpack .../26-libubsan1_15.2.0-12ubuntu1_armhf.deb ... 167s Unpacking libubsan1:armhf (15.2.0-12ubuntu1) ... 167s Selecting previously unselected package libgcc-15-dev:armhf. 167s Preparing to unpack .../27-libgcc-15-dev_15.2.0-12ubuntu1_armhf.deb ... 167s Unpacking libgcc-15-dev:armhf (15.2.0-12ubuntu1) ... 167s Selecting previously unselected package gcc-15-arm-linux-gnueabihf. 167s Preparing to unpack .../28-gcc-15-arm-linux-gnueabihf_15.2.0-12ubuntu1_armhf.deb ... 167s Unpacking gcc-15-arm-linux-gnueabihf (15.2.0-12ubuntu1) ... 167s Selecting previously unselected package gcc-15. 167s Preparing to unpack .../29-gcc-15_15.2.0-12ubuntu1_armhf.deb ... 167s Unpacking gcc-15 (15.2.0-12ubuntu1) ... 168s Selecting previously unselected package gcc-arm-linux-gnueabihf. 168s Preparing to unpack .../30-gcc-arm-linux-gnueabihf_4%3a15.2.0-4ubuntu1_armhf.deb ... 168s Unpacking gcc-arm-linux-gnueabihf (4:15.2.0-4ubuntu1) ... 168s Selecting previously unselected package gcc. 168s Preparing to unpack .../31-gcc_4%3a15.2.0-4ubuntu1_armhf.deb ... 168s Unpacking gcc (4:15.2.0-4ubuntu1) ... 168s Selecting previously unselected package libstdc++-15-dev:armhf. 168s Preparing to unpack .../32-libstdc++-15-dev_15.2.0-12ubuntu1_armhf.deb ... 168s Unpacking libstdc++-15-dev:armhf (15.2.0-12ubuntu1) ... 168s Selecting previously unselected package g++-15-arm-linux-gnueabihf. 168s Preparing to unpack .../33-g++-15-arm-linux-gnueabihf_15.2.0-12ubuntu1_armhf.deb ... 168s Unpacking g++-15-arm-linux-gnueabihf (15.2.0-12ubuntu1) ... 168s Selecting previously unselected package g++-15. 168s Preparing to unpack .../34-g++-15_15.2.0-12ubuntu1_armhf.deb ... 168s Unpacking g++-15 (15.2.0-12ubuntu1) ... 168s Selecting previously unselected package g++-arm-linux-gnueabihf. 168s Preparing to unpack .../35-g++-arm-linux-gnueabihf_4%3a15.2.0-4ubuntu1_armhf.deb ... 168s Unpacking g++-arm-linux-gnueabihf (4:15.2.0-4ubuntu1) ... 168s Selecting previously unselected package g++. 168s Preparing to unpack .../36-g++_4%3a15.2.0-4ubuntu1_armhf.deb ... 168s Unpacking g++ (4:15.2.0-4ubuntu1) ... 168s Selecting previously unselected package build-essential. 168s Preparing to unpack .../37-build-essential_12.12ubuntu2_armhf.deb ... 168s Unpacking build-essential (12.12ubuntu2) ... 168s Selecting previously unselected package libllvm18:armhf. 168s Preparing to unpack .../38-libllvm18_1%3a18.1.8-20ubuntu5_armhf.deb ... 168s Unpacking libllvm18:armhf (1:18.1.8-20ubuntu5) ... 169s Selecting previously unselected package libclang-cpp18. 169s Preparing to unpack .../39-libclang-cpp18_1%3a18.1.8-20ubuntu5_armhf.deb ... 169s Unpacking libclang-cpp18 (1:18.1.8-20ubuntu5) ... 169s Selecting previously unselected package libgc1:armhf. 169s Preparing to unpack .../40-libgc1_1%3a8.2.10-1_armhf.deb ... 169s Unpacking libgc1:armhf (1:8.2.10-1) ... 169s Selecting previously unselected package libobjc4:armhf. 169s Preparing to unpack .../41-libobjc4_15.2.0-12ubuntu1_armhf.deb ... 169s Unpacking libobjc4:armhf (15.2.0-12ubuntu1) ... 169s Selecting previously unselected package libobjc-15-dev:armhf. 169s Preparing to unpack .../42-libobjc-15-dev_15.2.0-12ubuntu1_armhf.deb ... 169s Unpacking libobjc-15-dev:armhf (15.2.0-12ubuntu1) ... 169s Selecting previously unselected package libclang-common-18-dev:armhf. 169s Preparing to unpack .../43-libclang-common-18-dev_1%3a18.1.8-20ubuntu5_armhf.deb ... 169s Unpacking libclang-common-18-dev:armhf (1:18.1.8-20ubuntu5) ... 170s Selecting previously unselected package llvm-18-linker-tools. 170s Preparing to unpack .../44-llvm-18-linker-tools_1%3a18.1.8-20ubuntu5_armhf.deb ... 170s Unpacking llvm-18-linker-tools (1:18.1.8-20ubuntu5) ... 170s Selecting previously unselected package libclang1-18. 170s Preparing to unpack .../45-libclang1-18_1%3a18.1.8-20ubuntu5_armhf.deb ... 170s Unpacking libclang1-18 (1:18.1.8-20ubuntu5) ... 170s Selecting previously unselected package clang-18. 170s Preparing to unpack .../46-clang-18_1%3a18.1.8-20ubuntu5_armhf.deb ... 170s Unpacking clang-18 (1:18.1.8-20ubuntu5) ... 170s Selecting previously unselected package cython3. 170s Preparing to unpack .../47-cython3_3.1.6+dfsg-1ubuntu1_armhf.deb ... 170s Unpacking cython3 (3.1.6+dfsg-1ubuntu1) ... 170s Selecting previously unselected package libdebhelper-perl. 170s Preparing to unpack .../48-libdebhelper-perl_13.28ubuntu1_all.deb ... 170s Unpacking libdebhelper-perl (13.28ubuntu1) ... 170s Selecting previously unselected package libtool. 170s Preparing to unpack .../49-libtool_2.5.4-9_all.deb ... 170s Unpacking libtool (2.5.4-9) ... 170s Selecting previously unselected package dh-autoreconf. 170s Preparing to unpack .../50-dh-autoreconf_21_all.deb ... 170s Unpacking dh-autoreconf (21) ... 170s Selecting previously unselected package libarchive-zip-perl. 170s Preparing to unpack .../51-libarchive-zip-perl_1.68-1_all.deb ... 170s Unpacking libarchive-zip-perl (1.68-1) ... 170s Selecting previously unselected package libfile-stripnondeterminism-perl. 170s Preparing to unpack .../52-libfile-stripnondeterminism-perl_1.15.0-1build1_all.deb ... 170s Unpacking libfile-stripnondeterminism-perl (1.15.0-1build1) ... 170s Selecting previously unselected package dh-strip-nondeterminism. 170s Preparing to unpack .../53-dh-strip-nondeterminism_1.15.0-1build1_all.deb ... 170s Unpacking dh-strip-nondeterminism (1.15.0-1build1) ... 170s Selecting previously unselected package libdw1t64:armhf. 170s Preparing to unpack .../54-libdw1t64_0.194-1_armhf.deb ... 170s Unpacking libdw1t64:armhf (0.194-1) ... 170s Selecting previously unselected package debugedit. 170s Preparing to unpack .../55-debugedit_1%3a5.2-3build1_armhf.deb ... 170s Unpacking debugedit (1:5.2-3build1) ... 170s Selecting previously unselected package dwz. 170s Preparing to unpack .../56-dwz_0.16-2_armhf.deb ... 170s Unpacking dwz (0.16-2) ... 170s Selecting previously unselected package gettext. 170s Preparing to unpack .../57-gettext_0.23.2-1_armhf.deb ... 170s Unpacking gettext (0.23.2-1) ... 170s Selecting previously unselected package intltool-debian. 171s Preparing to unpack .../58-intltool-debian_0.35.0+20060710.6build1_all.deb ... 171s Unpacking intltool-debian (0.35.0+20060710.6build1) ... 171s Selecting previously unselected package po-debconf. 171s Preparing to unpack .../59-po-debconf_1.0.22_all.deb ... 171s Unpacking po-debconf (1.0.22) ... 171s Selecting previously unselected package debhelper. 171s Preparing to unpack .../60-debhelper_13.28ubuntu1_all.deb ... 171s Unpacking debhelper (13.28ubuntu1) ... 171s Selecting previously unselected package dh-python. 171s Preparing to unpack .../61-dh-python_7.20260125_all.deb ... 171s Unpacking dh-python (7.20260125) ... 171s Selecting previously unselected package libexpat1-dev:armhf. 171s Preparing to unpack .../62-libexpat1-dev_2.7.4-1_armhf.deb ... 171s Unpacking libexpat1-dev:armhf (2.7.4-1) ... 171s Selecting previously unselected package libhwloc15:armhf. 171s Preparing to unpack .../63-libhwloc15_2.12.2-1_armhf.deb ... 171s Unpacking libhwloc15:armhf (2.12.2-1) ... 171s Selecting previously unselected package libllvmspirvlib18.1:armhf. 171s Preparing to unpack .../64-libllvmspirvlib18.1_18.1.19-1_armhf.deb ... 171s Unpacking libllvmspirvlib18.1:armhf (18.1.19-1) ... 171s Selecting previously unselected package libpocl2-common. 171s Preparing to unpack .../65-libpocl2-common_6.0-7_all.deb ... 171s Unpacking libpocl2-common (6.0-7) ... 171s Selecting previously unselected package llvm-spirv-18. 171s Preparing to unpack .../66-llvm-spirv-18_18.1.19-1_armhf.deb ... 171s Unpacking llvm-spirv-18 (18.1.19-1) ... 171s Selecting previously unselected package libpocl2t64:armhf. 171s Preparing to unpack .../67-libpocl2t64_6.0-7_armhf.deb ... 171s Unpacking libpocl2t64:armhf (6.0-7) ... 171s Selecting previously unselected package libpython3.13:armhf. 171s Preparing to unpack .../68-libpython3.13_3.13.11-1_armhf.deb ... 171s Unpacking libpython3.13:armhf (3.13.11-1) ... 171s Selecting previously unselected package zlib1g-dev:armhf. 171s Preparing to unpack .../69-zlib1g-dev_1%3a1.3.dfsg+really1.3.1-1ubuntu2_armhf.deb ... 171s Unpacking zlib1g-dev:armhf (1:1.3.dfsg+really1.3.1-1ubuntu2) ... 171s Selecting previously unselected package libpython3.13-dev:armhf. 171s Preparing to unpack .../70-libpython3.13-dev_3.13.11-1_armhf.deb ... 171s Unpacking libpython3.13-dev:armhf (3.13.11-1) ... 171s Selecting previously unselected package libpython3-dev:armhf. 171s Preparing to unpack .../71-libpython3-dev_3.13.9-3_armhf.deb ... 171s Unpacking libpython3-dev:armhf (3.13.9-3) ... 171s Selecting previously unselected package libpython3.14-stdlib:armhf. 171s Preparing to unpack .../72-libpython3.14-stdlib_3.14.2-1_armhf.deb ... 171s Unpacking libpython3.14-stdlib:armhf (3.14.2-1) ... 172s Selecting previously unselected package libpython3.14:armhf. 172s Preparing to unpack .../73-libpython3.14_3.14.2-1_armhf.deb ... 172s Unpacking libpython3.14:armhf (3.14.2-1) ... 172s Selecting previously unselected package libpython3.14-dev:armhf. 172s Preparing to unpack .../74-libpython3.14-dev_3.14.2-1_armhf.deb ... 172s Unpacking libpython3.14-dev:armhf (3.14.2-1) ... 172s Selecting previously unselected package libpython3-all-dev:armhf. 172s Preparing to unpack .../75-libpython3-all-dev_3.13.9-3_armhf.deb ... 172s Unpacking libpython3-all-dev:armhf (3.13.9-3) ... 172s Selecting previously unselected package pybuild-plugin-autopkgtest. 172s Preparing to unpack .../76-pybuild-plugin-autopkgtest_7.20260125_all.deb ... 172s Unpacking pybuild-plugin-autopkgtest (7.20260125) ... 172s Selecting previously unselected package python3.14. 172s Preparing to unpack .../77-python3.14_3.14.2-1_armhf.deb ... 172s Unpacking python3.14 (3.14.2-1) ... 172s Selecting previously unselected package python3-all. 172s Preparing to unpack .../78-python3-all_3.13.9-3_armhf.deb ... 172s Unpacking python3-all (3.13.9-3) ... 172s Selecting previously unselected package python3.13-dev. 172s Preparing to unpack .../79-python3.13-dev_3.13.11-1_armhf.deb ... 172s Unpacking python3.13-dev (3.13.11-1) ... 172s Selecting previously unselected package python3-dev. 172s Preparing to unpack .../80-python3-dev_3.13.9-3_armhf.deb ... 172s Unpacking python3-dev (3.13.9-3) ... 172s Selecting previously unselected package python3.14-dev. 172s Preparing to unpack .../81-python3.14-dev_3.14.2-1_armhf.deb ... 172s Unpacking python3.14-dev (3.14.2-1) ... 172s Selecting previously unselected package python3-all-dev. 172s Preparing to unpack .../82-python3-all-dev_3.13.9-3_armhf.deb ... 172s Unpacking python3-all-dev (3.13.9-3) ... 172s Selecting previously unselected package python3-mako. 172s Preparing to unpack .../83-python3-mako_1.3.10-3build1_all.deb ... 172s Unpacking python3-mako (1.3.10-3build1) ... 172s Selecting previously unselected package python3-platformdirs. 172s Preparing to unpack .../84-python3-platformdirs_4.5.1-1_all.deb ... 172s Unpacking python3-platformdirs (4.5.1-1) ... 172s Selecting previously unselected package python3-decorator. 172s Preparing to unpack .../85-python3-decorator_5.2.1-2_all.deb ... 172s Unpacking python3-decorator (5.2.1-2) ... 172s Selecting previously unselected package python3-pytools. 172s Preparing to unpack .../86-python3-pytools_2025.1.2-1_all.deb ... 172s Unpacking python3-pytools (2025.1.2-1) ... 172s Selecting previously unselected package python3-compyle. 172s Preparing to unpack .../87-python3-compyle_0.8.1-11_all.deb ... 172s Unpacking python3-compyle (0.8.1-11) ... 172s Selecting previously unselected package python3-iniconfig. 172s Preparing to unpack .../88-python3-iniconfig_2.1.0-2_all.deb ... 172s Unpacking python3-iniconfig (2.1.0-2) ... 172s Selecting previously unselected package python3-pluggy. 172s Preparing to unpack .../89-python3-pluggy_1.6.0-2_all.deb ... 172s Unpacking python3-pluggy (1.6.0-2) ... 172s Selecting previously unselected package ocl-icd-libopencl1:armhf. 172s Preparing to unpack .../90-ocl-icd-libopencl1_2.3.4-1_armhf.deb ... 172s Unpacking ocl-icd-libopencl1:armhf (2.3.4-1) ... 173s Selecting previously unselected package pocl-opencl-icd:armhf. 173s Preparing to unpack .../91-pocl-opencl-icd_6.0-7_armhf.deb ... 173s Unpacking pocl-opencl-icd:armhf (6.0-7) ... 173s Selecting previously unselected package python3-pyopencl. 173s Preparing to unpack .../92-python3-pyopencl_2025.1-2_armhf.deb ... 173s Unpacking python3-pyopencl (2025.1-2) ... 173s Selecting previously unselected package python3-pytest. 173s Preparing to unpack .../93-python3-pytest_9.0.2-2_all.deb ... 173s Unpacking python3-pytest (9.0.2-2) ... 173s Setting up libpython3.13:armhf (3.13.11-1) ... 173s Setting up dh-python (7.20260125) ... 173s Setting up python3-iniconfig (2.1.0-2) ... 174s Setting up libarchive-zip-perl (1.68-1) ... 174s Setting up libdebhelper-perl (13.28ubuntu1) ... 174s Setting up libpython3.14-minimal:armhf (3.14.2-1) ... 174s Setting up linux-libc-dev:armhf (6.18.0-9.9) ... 174s Setting up m4 (1.4.20-2) ... 174s Setting up libgomp1:armhf (15.2.0-12ubuntu1) ... 174s Setting up python3-platformdirs (4.5.1-1) ... 174s Setting up libdw1t64:armhf (0.194-1) ... 174s Setting up python3-decorator (5.2.1-2) ... 174s Setting up autotools-dev (20240727.1) ... 174s Setting up libblas3:armhf (3.12.1-7ubuntu1) ... 174s update-alternatives: using /usr/lib/arm-linux-gnueabihf/blas/libblas.so.3 to provide /usr/lib/arm-linux-gnueabihf/libblas.so.3 (libblas.so.3-arm-linux-gnueabihf) in auto mode 174s Setting up rpcsvc-proto (1.4.3-1build1) ... 174s Setting up libpocl2-common (6.0-7) ... 174s Setting up libhwloc15:armhf (2.12.2-1) ... 174s Setting up libmpc3:armhf (1.3.1-2) ... 174s Setting up python3-numpy-dev:armhf (1:2.3.5+ds-3) ... 174s Setting up cython3 (3.1.6+dfsg-1ubuntu1) ... 176s Setting up autopoint (0.23.2-1) ... 176s Setting up libclang-common-18-dev:armhf (1:18.1.8-20ubuntu5) ... 176s Setting up libgc1:armhf (1:8.2.10-1) ... 176s Setting up libgfortran5:armhf (15.2.0-12ubuntu1) ... 176s Setting up autoconf (2.72-3.1ubuntu1) ... 176s Setting up python3-pluggy (1.6.0-2) ... 177s Setting up libubsan1:armhf (15.2.0-12ubuntu1) ... 177s Setting up dwz (0.16-2) ... 177s Setting up ocl-icd-libopencl1:armhf (2.3.4-1) ... 177s Setting up libcrypt-dev:armhf (1:4.5.1-1) ... 177s Setting up libasan8:armhf (15.2.0-12ubuntu1) ... 177s Setting up debugedit (1:5.2-3build1) ... 177s Setting up libisl23:armhf (0.27-1build1) ... 177s Setting up libc-dev-bin (2.42-2ubuntu4) ... 177s Setting up cpp-15-arm-linux-gnueabihf (15.2.0-12ubuntu1) ... 177s Setting up python3.14-minimal (3.14.2-1) ... 178s Setting up libcc1-0:armhf (15.2.0-12ubuntu1) ... 178s Setting up cpp-arm-linux-gnueabihf (4:15.2.0-4ubuntu1) ... 178s Setting up python3-mako (1.3.10-3build1) ... 178s Setting up libllvm18:armhf (1:18.1.8-20ubuntu5) ... 178s Setting up automake (1:1.18.1-3build1) ... 178s update-alternatives: using /usr/bin/automake-1.18 to provide /usr/bin/automake (automake) in auto mode 178s Setting up libfile-stripnondeterminism-perl (1.15.0-1build1) ... 178s Setting up libclang1-18 (1:18.1.8-20ubuntu5) ... 178s Setting up liblapack3:armhf (3.12.1-7ubuntu1) ... 178s update-alternatives: using /usr/lib/arm-linux-gnueabihf/lapack/liblapack.so.3 to provide /usr/lib/arm-linux-gnueabihf/liblapack.so.3 (liblapack.so.3-arm-linux-gnueabihf) in auto mode 178s Setting up gettext (0.23.2-1) ... 178s Setting up libgcc-15-dev:armhf (15.2.0-12ubuntu1) ... 178s Setting up gcc-15-arm-linux-gnueabihf (15.2.0-12ubuntu1) ... 178s Setting up libpython3.14-stdlib:armhf (3.14.2-1) ... 178s Setting up python3-pytest (9.0.2-2) ... 179s Setting up libobjc4:armhf (15.2.0-12ubuntu1) ... 179s Setting up intltool-debian (0.35.0+20060710.6build1) ... 179s Setting up python3-numpy (1:2.3.5+ds-3) ... 183s Setting up llvm-18-linker-tools (1:18.1.8-20ubuntu5) ... 183s Setting up dh-strip-nondeterminism (1.15.0-1build1) ... 183s Setting up cpp-15 (15.2.0-12ubuntu1) ... 183s Setting up cpp (4:15.2.0-4ubuntu1) ... 183s Setting up libpython3.14:armhf (3.14.2-1) ... 183s Setting up libc6-dev:armhf (2.42-2ubuntu4) ... 183s Setting up libllvmspirvlib18.1:armhf (18.1.19-1) ... 183s Setting up python3.14 (3.14.2-1) ... 184s Setting up libobjc-15-dev:armhf (15.2.0-12ubuntu1) ... 184s Setting up libclang-cpp18 (1:18.1.8-20ubuntu5) ... 184s Setting up gcc-arm-linux-gnueabihf (4:15.2.0-4ubuntu1) ... 184s Setting up po-debconf (1.0.22) ... 184s Setting up python3-all (3.13.9-3) ... 184s Setting up gcc-15 (15.2.0-12ubuntu1) ... 184s Setting up libstdc++-15-dev:armhf (15.2.0-12ubuntu1) ... 184s Setting up libexpat1-dev:armhf (2.7.4-1) ... 184s Setting up python3-pytools (2025.1.2-1) ... 184s Setting up llvm-spirv-18 (18.1.19-1) ... 184s Setting up zlib1g-dev:armhf (1:1.3.dfsg+really1.3.1-1ubuntu2) ... 184s Setting up libpython3.14-dev:armhf (3.14.2-1) ... 184s Setting up python3.14-dev (3.14.2-1) ... 184s Setting up libtool (2.5.4-9) ... 184s Setting up python3-compyle (0.8.1-11) ... 185s Setting up g++-15-arm-linux-gnueabihf (15.2.0-12ubuntu1) ... 185s Setting up clang-18 (1:18.1.8-20ubuntu5) ... 185s Setting up gcc (4:15.2.0-4ubuntu1) ... 185s Setting up dh-autoreconf (21) ... 185s Setting up libpython3.13-dev:armhf (3.13.11-1) ... 185s Setting up g++-15 (15.2.0-12ubuntu1) ... 185s Setting up g++-arm-linux-gnueabihf (4:15.2.0-4ubuntu1) ... 185s Setting up libpython3-dev:armhf (3.13.9-3) ... 185s Setting up libpocl2t64:armhf (6.0-7) ... 185s Setting up python3.13-dev (3.13.11-1) ... 185s Setting up debhelper (13.28ubuntu1) ... 185s Setting up pocl-opencl-icd:armhf (6.0-7) ... 185s Setting up libpython3-all-dev:armhf (3.13.9-3) ... 185s Setting up python3-dev (3.13.9-3) ... 185s Setting up g++ (4:15.2.0-4ubuntu1) ... 185s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 185s Setting up build-essential (12.12ubuntu2) ... 185s Setting up python3-pyopencl (2025.1-2) ... 185s Setting up python3-all-dev (3.13.9-3) ... 185s Setting up pybuild-plugin-autopkgtest (7.20260125) ... 185s Processing triggers for man-db (2.13.1-1) ... 187s Processing triggers for install-info (7.2-5) ... 187s Processing triggers for libc-bin (2.42-2ubuntu4) ... 187s Processing triggers for systemd (259-1ubuntu3) ... 196s autopkgtest [04:40:41]: test pybuild-autopkgtest: pybuild-autopkgtest 196s autopkgtest [04:40:41]: test pybuild-autopkgtest: [----------------------- 198s pybuild-autopkgtest 198s I: pybuild base:384: cd /tmp/autopkgtest.KRSzGs/autopkgtest_tmp/build; python3.14 -m pytest -k "not test_that_multiple_compiles_do_not_occur_for_same_source and not test_const_as_call_arg and not test_const_in_return" --ignore=/tmp/autopkgtest.KRSzGs/build.UwX/src/compyle/tests/test_cuda.py --ignore=/tmp/autopkgtest.KRSzGs/build.UwX/src/compyle/tests/test_parallel.py /tmp/autopkgtest.KRSzGs/build.UwX/src/compyle/tests 200s ============================= test session starts ============================== 200s platform linux -- Python 3.14.2, pytest-9.0.2, pluggy-1.6.0 200s rootdir: /tmp/autopkgtest.KRSzGs/build.UwX/src 200s configfile: pyproject.toml 200s plugins: typeguard-4.4.4 200s collected 327 items / 3 deselected / 324 selected 200s 219s ../../build.UwX/src/compyle/tests/test_array.py ..s..s..s..s..s..s..s.Fs [ 7%] 304s ..sFFs..s..s..sF.sFF.s.sx..s..s..s.Fs.Fs.Fs.Fs..s..s..s..s..s..s..s..s.. [ 29%] 416s s..s..s..s..s..s..s..s..s..s..ss..s......sss......sss...FFFsss..s [ 49%] 416s ../../build.UwX/src/compyle/tests/test_ast_utils.py ....... [ 51%] 417s ../../build.UwX/src/compyle/tests/test_capture_stream.py ..... [ 53%] 417s ../../build.UwX/src/compyle/tests/test_config.py ............ [ 57%] 417s ../../build.UwX/src/compyle/tests/test_cython_generator.py ......F.F.F.F [ 61%] 417s .... [ 62%] 420s ../../build.UwX/src/compyle/tests/test_ext_module.py ........ [ 64%] 420s ../../build.UwX/src/compyle/tests/test_gpu_struct.py s [ 65%] 420s ../../build.UwX/src/compyle/tests/test_jit.py ........F.F............FF. [ 73%] 420s [ 73%] 422s ../../build.UwX/src/compyle/tests/test_low_level.py sFsFFF.. [ 75%] 424s ../../build.UwX/src/compyle/tests/test_profile.py ..... [ 77%] 424s ../../build.UwX/src/compyle/tests/test_template.py FFFF. [ 78%] 425s ../../build.UwX/src/compyle/tests/test_translator.py FFFFFFFF.FFF.F...FF [ 84%] 426s FF..FFFFFFFFFF...FFFFF...FF...FF...F [ 95%] 426s ../../build.UwX/src/compyle/tests/test_transpiler.py ... [ 96%] 426s ../../build.UwX/src/compyle/tests/test_types.py ....... [ 98%] 426s ../../build.UwX/src/compyle/tests/test_utils.py .... [100%] 426s 426s =================================== FAILURES =================================== 426s _____________________________ test_remove[opencl] ______________________________ 426s 426s backend = 'opencl' 426s 426s @check_all_backends 426s def test_remove(backend): 426s check_import(backend) 426s 426s # Given 426s dev_array = Array(np.int32, backend=backend) 426s orig_array = array.arange(0, 16, 1, dtype=np.int32, 426s backend=backend) 426s dev_array.set_data(orig_array) 426s indices = array.arange(0, 8, 1, dtype=np.int32, backend=backend) 426s 426s # When 426s > dev_array.remove(indices) 426s 426s ../../build.UwX/src/compyle/tests/test_array.py:157: 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s ../../build.UwX/src/compyle/profile.py:72: in wrapper 426s return method(*args, **kwargs) 426s ^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/array.py:1154: in remove 426s fill_if_remove_knl(indices, if_remove) 426s ../../build.UwX/src/compyle/parallel.py:573: in __call__ 426s self.elementwise(*args, **kwargs) 426s ../../build.UwX/src/compyle/profile.py:72: in wrapper 426s return method(*args, **kwargs) 426s ^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:359: in __call__ 426s c_func = self._generate_kernel(*args) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:29: in wrapper 426s setattr(f, 'cached_kernel', {key_val: method(*args)}) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:347: in _generate_kernel 426s return self._generate(declarations=declarations) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/parallel.py:474: in _generate 426s all_source = knl.get_kernel(False)[0].program.source 426s ^^^^^^^^^^^^^^^^^^^^^ 426s /usr/lib/python3/dist-packages/pytools/__init__.py:758: in wrapper 426s result = function(obj, *args, **kwargs) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s /usr/lib/python3/dist-packages/pyopencl/elementwise.py:244: in get_kernel 426s knl, arg_descrs = get_elwise_kernel_and_types( 426s /usr/lib/python3/dist-packages/pyopencl/elementwise.py:169: in get_elwise_kernel_and_types 426s prg = get_elwise_program( 426s /usr/lib/python3/dist-packages/pyopencl/elementwise.py:116: in get_elwise_program 426s return cl.Program(context, source).build(options) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s /usr/lib/python3/dist-packages/pyopencl/__init__.py:518: in build 426s self._build_and_catch_errors( 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s 426s self = 426s build_func = . at 0xd2a75ef0> 426s options_bytes = b'-I /usr/lib/python3/dist-packages/pyopencl/cl', source = None 426s 426s def _build_and_catch_errors(self, build_func, options_bytes, source=None): 426s try: 426s return build_func() 426s except RuntimeError as e: 426s msg = str(e) 426s if options_bytes: 426s msg = msg + "\n(options: %s)" % options_bytes.decode("utf-8") 426s 426s if source is not None: 426s from tempfile import NamedTemporaryFile 426s srcfile = NamedTemporaryFile(mode="wt", delete=False, suffix=".cl") 426s try: 426s srcfile.write(source) 426s finally: 426s srcfile.close() 426s 426s msg = msg + "\n(source saved as %s)" % srcfile.name 426s 426s code = e.code 426s routine = e.routine 426s 426s err = RuntimeError( 426s _cl._ErrorRecord( 426s msg=msg, 426s code=code, 426s routine=routine)) 426s 426s # Python 3.2 outputs the whole list of currently active exceptions 426s # This serves to remove one (redundant) level from that nesting. 426s > raise err 426s E pyopencl._cl.RuntimeError: clBuildProgram failed: BUILD_PROGRAM_FAILURE - clBuildProgram failed: BUILD_PROGRAM_FAILURE - clBuildProgram failed: BUILD_PROGRAM_FAILURE 426s E 426s E Build on : 426s E 426s E error: /tmp/autopkgtest.KRSzGs/autopkgtest_tmp/.cache/pocl/kcache/tempfile_PlSzYE.cl:74:29: use of undeclared identifier 'None' 426s E warning: /tmp/autopkgtest.KRSzGs/autopkgtest_tmp/.cache/pocl/kcache/tempfile_PlSzYE.cl:62:9: 'max' macro redefined 426s E warning: /tmp/autopkgtest.KRSzGs/autopkgtest_tmp/.cache/pocl/kcache/tempfile_PlSzYE.cl:62:9: 'max' macro redefined 426s E Device cpu-arm1156t2f-s-0xd0c failed to build the program 426s E 426s E (options: -I /usr/lib/python3/dist-packages/pyopencl/cl) 426s 426s /usr/lib/python3/dist-packages/pyopencl/__init__.py:574: RuntimeError 426s ----------------------------- Captured stderr call ----------------------------- 426s 1 warning generated. 426s 2 warnings and 1 error generated. 426s ------------------------------ Captured log call ------------------------------- 426s INFO pyopencl:__init__.py:451 build program: kernel 'arange' was part of a lengthy uncached source build (assuming cached by ICD) (0.30 s) 426s _________________________ test_align_multiple[cython] __________________________ 426s 426s args = ([, ], ) 426s kwargs = {'backend': 'cython'}, key = ('guintp', 'gfloatp', 'cython', False) 426s 426s def wrapper(*args, **kwargs): 426s key = key_func(*args, **kwargs) 426s try: 426s > return func._memoize_dic[key] 426s ^^^^^^^^^^^^^^^^^ 426s E AttributeError: 'function' object has no attribute '_memoize_dic' 426s 426s /usr/lib/python3/dist-packages/pytools/__init__.py:684: AttributeError 426s 426s During handling of the above exception, another exception occurred: 426s 426s backend = 'cython' 426s 426s @check_all_backends 426s def test_align_multiple(backend): 426s check_import(backend) 426s 426s # Given 426s dev_array_a = Array(np.uint32, backend=backend) 426s dev_array_b = Array(np.float32, backend=backend) 426s orig_array_a = array.arange(0, 1024, 1, dtype=np.uint32, backend=backend) 426s orig_array_b = array.arange( 426s 1024, 2048, 1, dtype=np.float32, backend=backend) 426s dev_array_a.set_data(orig_array_a) 426s dev_array_b.set_data(orig_array_b) 426s 426s indices = array.arange(1023, -1, -1, dtype=np.int64, backend=backend) 426s 426s # When 426s > dev_array_a, dev_array_b = array.align([dev_array_a, dev_array_b], 426s indices) 426s 426s ../../build.UwX/src/compyle/tests/test_array.py:196: 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s ../../build.UwX/src/compyle/array.py:825: in align 426s align_multiple_elwise = get_align_kernel(ary_list, order, backend=backend) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s /usr/lib/python3/dist-packages/pytools/__init__.py:687: in wrapper 426s result = func(*args, **kwargs) 426s ^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/array.py:806: in get_align_kernel 426s align_multiple_elwise = parallel.Elementwise(align_multiple_knl.function, 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/template.py:24: in function 426s self._function = self._make_function() 426s ^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/template.py:28: in _make_function 426s src, annotations = self._get_code() 426s ^^^^^^^^^^^^^^^^ 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s 426s self = 426s 426s def _get_code(self): 426s m = ast.parse(dedent(inspect.getsource(self.template))) 426s argspec = getfullargspec(self.template) 426s args = argspec.args 426s if args[0] == 'self': 426s args = args[1:] 426s extra_args, extra_annotations = self.extra_args() 426s args += extra_args 426s arg_string = ', '.join(args) 426s body = m.body[0].body 426s > template = body[-1].value.s 426s ^^^^^^^^^^^^^^^^ 426s E AttributeError: 'Constant' object has no attribute 's' 426s 426s ../../build.UwX/src/compyle/template.py:52: AttributeError 426s _________________________ test_align_multiple[opencl] __________________________ 426s 426s args = ([, ], ) 426s kwargs = {'backend': 'opencl'}, key = ('guintp', 'gfloatp', 'opencl', False) 426s 426s def wrapper(*args, **kwargs): 426s key = key_func(*args, **kwargs) 426s try: 426s > return func._memoize_dic[key] 426s ^^^^^^^^^^^^^^^^^ 426s E AttributeError: 'function' object has no attribute '_memoize_dic' 426s 426s /usr/lib/python3/dist-packages/pytools/__init__.py:684: AttributeError 426s 426s During handling of the above exception, another exception occurred: 426s 426s backend = 'opencl' 426s 426s @check_all_backends 426s def test_align_multiple(backend): 426s check_import(backend) 426s 426s # Given 426s dev_array_a = Array(np.uint32, backend=backend) 426s dev_array_b = Array(np.float32, backend=backend) 426s orig_array_a = array.arange(0, 1024, 1, dtype=np.uint32, backend=backend) 426s orig_array_b = array.arange( 426s 1024, 2048, 1, dtype=np.float32, backend=backend) 426s dev_array_a.set_data(orig_array_a) 426s dev_array_b.set_data(orig_array_b) 426s 426s indices = array.arange(1023, -1, -1, dtype=np.int64, backend=backend) 426s 426s # When 426s > dev_array_a, dev_array_b = array.align([dev_array_a, dev_array_b], 426s indices) 426s 426s ../../build.UwX/src/compyle/tests/test_array.py:196: 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s ../../build.UwX/src/compyle/array.py:825: in align 426s align_multiple_elwise = get_align_kernel(ary_list, order, backend=backend) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s /usr/lib/python3/dist-packages/pytools/__init__.py:687: in wrapper 426s result = func(*args, **kwargs) 426s ^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/array.py:806: in get_align_kernel 426s align_multiple_elwise = parallel.Elementwise(align_multiple_knl.function, 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/template.py:24: in function 426s self._function = self._make_function() 426s ^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/template.py:28: in _make_function 426s src, annotations = self._get_code() 426s ^^^^^^^^^^^^^^^^ 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s 426s self = 426s 426s def _get_code(self): 426s m = ast.parse(dedent(inspect.getsource(self.template))) 426s argspec = getfullargspec(self.template) 426s args = argspec.args 426s if args[0] == 'self': 426s args = args[1:] 426s extra_args, extra_annotations = self.extra_args() 426s args += extra_args 426s arg_string = ', '.join(args) 426s body = m.body[0].body 426s > template = body[-1].value.s 426s ^^^^^^^^^^^^^^^^ 426s E AttributeError: 'Constant' object has no attribute 's' 426s 426s ../../build.UwX/src/compyle/template.py:52: AttributeError 426s ------------------------------ Captured log call ------------------------------- 426s INFO pyopencl:__init__.py:451 build program: kernel 'arange' was part of a lengthy uncached source build (assuming cached by ICD) (0.29 s) 426s INFO pyopencl:__init__.py:451 build program: kernel 'arange' was part of a lengthy uncached source build (assuming cached by ICD) (0.31 s) 426s INFO pyopencl:__init__.py:451 build program: kernel 'arange' was part of a lengthy uncached source build (assuming cached by ICD) (0.29 s) 426s __________________________ test_sort_by_keys[cython] ___________________________ 426s 426s args = ([, ], ) 426s kwargs = {'backend': 'cython'}, key = ('gintp', 'gintp', 'cython', False) 426s 426s def wrapper(*args, **kwargs): 426s key = key_func(*args, **kwargs) 426s try: 426s > return func._memoize_dic[key] 426s ^^^^^^^^^^^^^^^^^ 426s E AttributeError: 'function' object has no attribute '_memoize_dic' 426s 426s /usr/lib/python3/dist-packages/pytools/__init__.py:684: AttributeError 426s 426s During handling of the above exception, another exception occurred: 426s 426s backend = 'cython' 426s 426s @check_all_backends 426s def test_sort_by_keys(backend): 426s check_import(backend) 426s 426s # Given 426s pre_nparr1 = np.random.randint(0, 100, 16, dtype=np.int32) 426s pre_nparr2 = np.random.randint(0, 100, 16, dtype=np.int32) 426s 426s ## drop non unique values 426s nparr1, indices = np.unique(pre_nparr1, return_index=True) 426s nparr2 = pre_nparr2[indices] 426s 426s dev_array1, dev_array2 = array.wrap(nparr1, nparr2, backend=backend) 426s 426s # When 426s > out_array1, out_array2 = array.sort_by_keys([dev_array1, dev_array2]) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s 426s ../../build.UwX/src/compyle/tests/test_array.py:271: 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s ../../build.UwX/src/compyle/profile.py:72: in wrapper 426s return method(*args, **kwargs) 426s ^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/array.py:626: in sort_by_keys 426s out_list = align(ary_list, order, out_list=out_list, 426s ../../build.UwX/src/compyle/array.py:825: in align 426s align_multiple_elwise = get_align_kernel(ary_list, order, backend=backend) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s /usr/lib/python3/dist-packages/pytools/__init__.py:687: in wrapper 426s result = func(*args, **kwargs) 426s ^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/array.py:806: in get_align_kernel 426s align_multiple_elwise = parallel.Elementwise(align_multiple_knl.function, 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/template.py:24: in function 426s self._function = self._make_function() 426s ^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/template.py:28: in _make_function 426s src, annotations = self._get_code() 426s ^^^^^^^^^^^^^^^^ 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s 426s self = 426s 426s def _get_code(self): 426s m = ast.parse(dedent(inspect.getsource(self.template))) 426s argspec = getfullargspec(self.template) 426s args = argspec.args 426s if args[0] == 'self': 426s args = args[1:] 426s extra_args, extra_annotations = self.extra_args() 426s args += extra_args 426s arg_string = ', '.join(args) 426s body = m.body[0].body 426s > template = body[-1].value.s 426s ^^^^^^^^^^^^^^^^ 426s E AttributeError: 'Constant' object has no attribute 's' 426s 426s ../../build.UwX/src/compyle/template.py:52: AttributeError 426s ___________________________ test_radix_sort_by_keys ____________________________ 426s 426s def test_radix_sort_by_keys(): 426s backend = 'cython' 426s for use_openmp in [True, False]: 426s get_config().use_openmp = use_openmp 426s # Given 426s pre_nparr1 = np.random.randint(0, 100, 16, dtype=np.int32) 426s pre_nparr2 = np.random.randint(0, 100, 16, dtype=np.int32) 426s 426s ## drop non unique values 426s nparr1, indices = np.unique(pre_nparr1, return_index=True) 426s nparr2 = pre_nparr2[indices] 426s 426s dev_array1, dev_array2 = array.wrap(nparr1, nparr2, backend=backend) 426s 426s # When 426s > out_array1, out_array2 = array.sort_by_keys([dev_array1, dev_array2], 426s use_radix_sort=True) 426s 426s ../../build.UwX/src/compyle/tests/test_array.py:296: 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s ../../build.UwX/src/compyle/profile.py:72: in wrapper 426s return method(*args, **kwargs) 426s ^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/array.py:621: in sort_by_keys 426s out_list, order = radix_sort(ary_list, out_list=out_list, 426s ../../build.UwX/src/compyle/sort.py:66: in radix_sort 426s sort_bit_knl = Scan(input_sort_bit, output_sort_bit.function, 426s ^^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/template.py:24: in function 426s self._function = self._make_function() 426s ^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/template.py:28: in _make_function 426s src, annotations = self._get_code() 426s ^^^^^^^^^^^^^^^^ 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s 426s self = 426s 426s def _get_code(self): 426s m = ast.parse(dedent(inspect.getsource(self.template))) 426s argspec = getfullargspec(self.template) 426s args = argspec.args 426s if args[0] == 'self': 426s args = args[1:] 426s extra_args, extra_annotations = self.extra_args() 426s args += extra_args 426s arg_string = ', '.join(args) 426s body = m.body[0].body 426s > template = body[-1].value.s 426s ^^^^^^^^^^^^^^^^ 426s E AttributeError: 'Constant' object has no attribute 's' 426s 426s ../../build.UwX/src/compyle/template.py:52: AttributeError 426s ____________________ test_sort_by_keys_with_output[cython] _____________________ 426s 426s args = ([, ], ) 426s kwargs = {'backend': 'cython'}, key = ('gintp', 'gintp', 'cython', True) 426s 426s def wrapper(*args, **kwargs): 426s key = key_func(*args, **kwargs) 426s try: 426s > return func._memoize_dic[key] 426s ^^^^^^^^^^^^^^^^^ 426s E AttributeError: 'function' object has no attribute '_memoize_dic' 426s 426s /usr/lib/python3/dist-packages/pytools/__init__.py:684: AttributeError 426s 426s During handling of the above exception, another exception occurred: 426s 426s backend = 'cython' 426s 426s @pytest.mark.parametrize( 426s 'backend', ['cython', 'opencl', 426s pytest.param('cuda', marks=pytest.mark.xfail)]) 426s def test_sort_by_keys_with_output(backend): 426s check_import(backend) 426s 426s # Given 426s pre_nparr1 = np.random.randint(0, 100, 16, dtype=np.int32) 426s pre_nparr2 = np.random.randint(0, 100, 16, dtype=np.int32) 426s 426s ## drop non unique values 426s nparr1, indices = np.unique(pre_nparr1, return_index=True) 426s nparr2 = pre_nparr2[indices] 426s 426s dev_array1, dev_array2 = array.wrap(nparr1, nparr2, backend=backend) 426s out_arrays = [ 426s array.zeros_like(dev_array1), 426s array.zeros_like(dev_array2)] 426s 426s # When 426s > array.sort_by_keys([dev_array1, dev_array2], 426s out_list=out_arrays, use_radix_sort=False) 426s 426s ../../build.UwX/src/compyle/tests/test_array.py:330: 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s ../../build.UwX/src/compyle/profile.py:72: in wrapper 426s return method(*args, **kwargs) 426s ^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/array.py:626: in sort_by_keys 426s out_list = align(ary_list, order, out_list=out_list, 426s ../../build.UwX/src/compyle/array.py:825: in align 426s align_multiple_elwise = get_align_kernel(ary_list, order, backend=backend) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s /usr/lib/python3/dist-packages/pytools/__init__.py:687: in wrapper 426s result = func(*args, **kwargs) 426s ^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/array.py:806: in get_align_kernel 426s align_multiple_elwise = parallel.Elementwise(align_multiple_knl.function, 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/template.py:24: in function 426s self._function = self._make_function() 426s ^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/template.py:28: in _make_function 426s src, annotations = self._get_code() 426s ^^^^^^^^^^^^^^^^ 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s 426s self = 426s 426s def _get_code(self): 426s m = ast.parse(dedent(inspect.getsource(self.template))) 426s argspec = getfullargspec(self.template) 426s args = argspec.args 426s if args[0] == 'self': 426s args = args[1:] 426s extra_args, extra_annotations = self.extra_args() 426s args += extra_args 426s arg_string = ', '.join(args) 426s body = m.body[0].body 426s > template = body[-1].value.s 426s ^^^^^^^^^^^^^^^^ 426s E AttributeError: 'Constant' object has no attribute 's' 426s 426s ../../build.UwX/src/compyle/template.py:52: AttributeError 426s ___________________________ test_diff[int32-opencl] ____________________________ 426s 426s backend = 'opencl', dtype = 426s 426s @check_all_backends 426s @check_all_dtypes 426s def test_diff(backend, dtype): 426s check_import(backend) 426s if dtype == np.float64: 426s get_config().use_double = True 426s dev_array = array.ones(1, dtype=dtype, backend=backend) 426s with pytest.raises(ValueError): 426s y = array.diff(dev_array, 1) 426s y = array.diff(dev_array, 0) 426s assert(y[0] == dev_array[0]) 426s 426s dev_array = array.ones(2, dtype=dtype, backend=backend) 426s with pytest.raises(ValueError): 426s y = array.diff(dev_array, -1) 426s > y = array.diff(dev_array, 1) 426s ^^^^^^^^^^^^^^^^^^^^^^^^ 426s 426s ../../build.UwX/src/compyle/tests/test_array.py:434: 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s ../../build.UwX/src/compyle/array.py:449: in diff 426s e(y, a, binom_coeff, len(binom_coeff)) 426s ../../build.UwX/src/compyle/parallel.py:573: in __call__ 426s self.elementwise(*args, **kwargs) 426s ../../build.UwX/src/compyle/profile.py:72: in wrapper 426s return method(*args, **kwargs) 426s ^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:359: in __call__ 426s c_func = self._generate_kernel(*args) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:29: in wrapper 426s setattr(f, 'cached_kernel', {key_val: method(*args)}) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:345: in _generate_kernel 426s declarations = helper.annotate() 426s ^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:167: in annotate 426s self.visit(code) 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:514: in generic_visit 426s self.visit(item) 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:514: in generic_visit 426s self.visit(item) 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:277: in visit_Assign 426s right_type = self.visit(right) 426s ^^^^^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:242: in visit_Call 426s return self.visit_declare(node) 426s ^^^^^^^^^^^^^^^^^^^^^^^^ 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s 426s self = 426s node = Call(func=Name(id='declare', ctx=Load()), args=[Constant(value='int', kind=None), Constant(value=1, kind=None)], keywords=[]) 426s 426s def visit_declare(self, node): 426s > if not isinstance(node.args[0], ast.Str): 426s ^^^^^^^ 426s E AttributeError: module 'ast' has no attribute 'Str' 426s 426s ../../build.UwX/src/compyle/jit.py:205: AttributeError 426s __________________________ test_diff[float32-opencl] ___________________________ 426s 426s backend = 'opencl', dtype = 426s 426s @check_all_backends 426s @check_all_dtypes 426s def test_diff(backend, dtype): 426s check_import(backend) 426s if dtype == np.float64: 426s get_config().use_double = True 426s dev_array = array.ones(1, dtype=dtype, backend=backend) 426s with pytest.raises(ValueError): 426s y = array.diff(dev_array, 1) 426s y = array.diff(dev_array, 0) 426s assert(y[0] == dev_array[0]) 426s 426s dev_array = array.ones(2, dtype=dtype, backend=backend) 426s with pytest.raises(ValueError): 426s y = array.diff(dev_array, -1) 426s > y = array.diff(dev_array, 1) 426s ^^^^^^^^^^^^^^^^^^^^^^^^ 426s 426s ../../build.UwX/src/compyle/tests/test_array.py:434: 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s ../../build.UwX/src/compyle/array.py:449: in diff 426s e(y, a, binom_coeff, len(binom_coeff)) 426s ../../build.UwX/src/compyle/parallel.py:573: in __call__ 426s self.elementwise(*args, **kwargs) 426s ../../build.UwX/src/compyle/profile.py:72: in wrapper 426s return method(*args, **kwargs) 426s ^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:359: in __call__ 426s c_func = self._generate_kernel(*args) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:29: in wrapper 426s setattr(f, 'cached_kernel', {key_val: method(*args)}) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:345: in _generate_kernel 426s declarations = helper.annotate() 426s ^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:167: in annotate 426s self.visit(code) 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:514: in generic_visit 426s self.visit(item) 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:514: in generic_visit 426s self.visit(item) 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:277: in visit_Assign 426s right_type = self.visit(right) 426s ^^^^^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:242: in visit_Call 426s return self.visit_declare(node) 426s ^^^^^^^^^^^^^^^^^^^^^^^^ 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s 426s self = 426s node = Call(func=Name(id='declare', ctx=Load()), args=[Constant(value='int', kind=None), Constant(value=1, kind=None)], keywords=[]) 426s 426s def visit_declare(self, node): 426s > if not isinstance(node.args[0], ast.Str): 426s ^^^^^^^ 426s E AttributeError: module 'ast' has no attribute 'Str' 426s 426s ../../build.UwX/src/compyle/jit.py:205: AttributeError 426s ------------------------------ Captured log call ------------------------------- 426s INFO pyopencl:__init__.py:451 build program: kernel 'axpb' was part of a lengthy uncached source build (assuming cached by ICD) (0.29 s) 426s __________________________ test_diff[float64-opencl] ___________________________ 426s 426s backend = 'opencl', dtype = 426s 426s @check_all_backends 426s @check_all_dtypes 426s def test_diff(backend, dtype): 426s check_import(backend) 426s if dtype == np.float64: 426s get_config().use_double = True 426s dev_array = array.ones(1, dtype=dtype, backend=backend) 426s with pytest.raises(ValueError): 426s y = array.diff(dev_array, 1) 426s y = array.diff(dev_array, 0) 426s assert(y[0] == dev_array[0]) 426s 426s dev_array = array.ones(2, dtype=dtype, backend=backend) 426s with pytest.raises(ValueError): 426s y = array.diff(dev_array, -1) 426s > y = array.diff(dev_array, 1) 426s ^^^^^^^^^^^^^^^^^^^^^^^^ 426s 426s ../../build.UwX/src/compyle/tests/test_array.py:434: 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s ../../build.UwX/src/compyle/array.py:449: in diff 426s e(y, a, binom_coeff, len(binom_coeff)) 426s ../../build.UwX/src/compyle/parallel.py:573: in __call__ 426s self.elementwise(*args, **kwargs) 426s ../../build.UwX/src/compyle/profile.py:72: in wrapper 426s return method(*args, **kwargs) 426s ^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:359: in __call__ 426s c_func = self._generate_kernel(*args) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:29: in wrapper 426s setattr(f, 'cached_kernel', {key_val: method(*args)}) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:345: in _generate_kernel 426s declarations = helper.annotate() 426s ^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:167: in annotate 426s self.visit(code) 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:514: in generic_visit 426s self.visit(item) 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:514: in generic_visit 426s self.visit(item) 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:277: in visit_Assign 426s right_type = self.visit(right) 426s ^^^^^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:242: in visit_Call 426s return self.visit_declare(node) 426s ^^^^^^^^^^^^^^^^^^^^^^^^ 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s 426s self = 426s node = Call(func=Name(id='declare', ctx=Load()), args=[Constant(value='int', kind=None), Constant(value=1, kind=None)], keywords=[]) 426s 426s def visit_declare(self, node): 426s > if not isinstance(node.args[0], ast.Str): 426s ^^^^^^^ 426s E AttributeError: module 'ast' has no attribute 'Str' 426s 426s ../../build.UwX/src/compyle/jit.py:205: AttributeError 426s ______________________________ test_trapz[opencl] ______________________________ 426s 426s backend = 'opencl' 426s 426s @check_all_backends 426s def test_trapz(backend): 426s check_import(backend) 426s x = array.linspace(0, 5, 6, dtype=np.float32, backend=backend) 426s y = array.linspace(0, 5, 6, dtype=np.float32, backend=backend) 426s xn = np.linspace(0, 5, 6, dtype=np.float32) 426s yn = np.linspace(0, 5, 6, dtype=np.float32) 426s assert(array.trapz(y) == np.trapz(yn)) 426s > assert(array.trapz(y, x,) == np.trapz(yn, xn)) 426s ^^^^^^^^^^^^^^^^^^ 426s 426s ../../build.UwX/src/compyle/tests/test_array.py:453: 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s ../../build.UwX/src/compyle/array.py:516: in trapz 426s d = diff(x, 1, backend=backend) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/array.py:449: in diff 426s e(y, a, binom_coeff, len(binom_coeff)) 426s ../../build.UwX/src/compyle/parallel.py:573: in __call__ 426s self.elementwise(*args, **kwargs) 426s ../../build.UwX/src/compyle/profile.py:72: in wrapper 426s return method(*args, **kwargs) 426s ^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:359: in __call__ 426s c_func = self._generate_kernel(*args) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:29: in wrapper 426s setattr(f, 'cached_kernel', {key_val: method(*args)}) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:345: in _generate_kernel 426s declarations = helper.annotate() 426s ^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:167: in annotate 426s self.visit(code) 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:514: in generic_visit 426s self.visit(item) 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:514: in generic_visit 426s self.visit(item) 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:277: in visit_Assign 426s right_type = self.visit(right) 426s ^^^^^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:242: in visit_Call 426s return self.visit_declare(node) 426s ^^^^^^^^^^^^^^^^^^^^^^^^ 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s 426s self = 426s node = Call(func=Name(id='declare', ctx=Load()), args=[Constant(value='int', kind=None), Constant(value=1, kind=None)], keywords=[]) 426s 426s def visit_declare(self, node): 426s > if not isinstance(node.args[0], ast.Str): 426s ^^^^^^^ 426s E AttributeError: module 'ast' has no attribute 'Str' 426s 426s ../../build.UwX/src/compyle/jit.py:205: AttributeError 426s ------------------------------ Captured log call ------------------------------- 426s INFO pyopencl:__init__.py:451 build program: kernel 'reduce_kernel_stage1' was part of a lengthy uncached source build (assuming cached by ICD) (0.37 s) 426s INFO pyopencl:__init__.py:451 build program: kernel 'reduce_kernel_stage2' was part of a lengthy uncached source build (assuming cached by ICD) (0.36 s) 426s _________________________ test_take_bool[opencl-int32] _________________________ 426s 426s dtype = , backend = 'opencl' 426s 426s @check_all_dtypes 426s @check_all_backends 426s def test_take_bool(dtype, backend): 426s check_import(backend) 426s if dtype == np.float64: 426s get_config().use_double = True 426s 426s # Given 426s x = array.arange(0, 10, 1, backend=backend, dtype=dtype) 426s cond = x > 5 426s 426s # When 426s > out = array.take_bool(x, cond) 426s ^^^^^^^^^^^^^^^^^^^^^^^^ 426s 426s ../../build.UwX/src/compyle/tests/test_array.py:569: 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s ../../build.UwX/src/compyle/array.py:771: in take_bool 426s e(condition, ary, cumsum_ar, out_ar) 426s ../../build.UwX/src/compyle/parallel.py:573: in __call__ 426s self.elementwise(*args, **kwargs) 426s ../../build.UwX/src/compyle/profile.py:72: in wrapper 426s return method(*args, **kwargs) 426s ^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:359: in __call__ 426s c_func = self._generate_kernel(*args) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:31: in wrapper 426s f.cached_kernel[key_val] = method(*args) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:347: in _generate_kernel 426s return self._generate(declarations=declarations) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/parallel.py:474: in _generate 426s all_source = knl.get_kernel(False)[0].program.source 426s ^^^^^^^^^^^^^^^^^^^^^ 426s /usr/lib/python3/dist-packages/pytools/__init__.py:758: in wrapper 426s result = function(obj, *args, **kwargs) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s /usr/lib/python3/dist-packages/pyopencl/elementwise.py:244: in get_kernel 426s knl, arg_descrs = get_elwise_kernel_and_types( 426s /usr/lib/python3/dist-packages/pyopencl/elementwise.py:169: in get_elwise_kernel_and_types 426s prg = get_elwise_program( 426s /usr/lib/python3/dist-packages/pyopencl/elementwise.py:116: in get_elwise_program 426s return cl.Program(context, source).build(options) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s /usr/lib/python3/dist-packages/pyopencl/__init__.py:518: in build 426s self._build_and_catch_errors( 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s 426s self = 426s build_func = . at 0xc7419f48> 426s options_bytes = b'-I /usr/lib/python3/dist-packages/pyopencl/cl', source = None 426s 426s def _build_and_catch_errors(self, build_func, options_bytes, source=None): 426s try: 426s return build_func() 426s except RuntimeError as e: 426s msg = str(e) 426s if options_bytes: 426s msg = msg + "\n(options: %s)" % options_bytes.decode("utf-8") 426s 426s if source is not None: 426s from tempfile import NamedTemporaryFile 426s srcfile = NamedTemporaryFile(mode="wt", delete=False, suffix=".cl") 426s try: 426s srcfile.write(source) 426s finally: 426s srcfile.close() 426s 426s msg = msg + "\n(source saved as %s)" % srcfile.name 426s 426s code = e.code 426s routine = e.routine 426s 426s err = RuntimeError( 426s _cl._ErrorRecord( 426s msg=msg, 426s code=code, 426s routine=routine)) 426s 426s # Python 3.2 outputs the whole list of currently active exceptions 426s # This serves to remove one (redundant) level from that nesting. 426s > raise err 426s E pyopencl._cl.RuntimeError: clBuildProgram failed: BUILD_PROGRAM_FAILURE - clBuildProgram failed: BUILD_PROGRAM_FAILURE - clBuildProgram failed: BUILD_PROGRAM_FAILURE 426s E 426s E Build on : 426s E 426s E error: /tmp/autopkgtest.KRSzGs/autopkgtest_tmp/.cache/pocl/kcache/tempfile_LquLXs.cl:75:33: use of undeclared identifier 'None' 426s E warning: /tmp/autopkgtest.KRSzGs/autopkgtest_tmp/.cache/pocl/kcache/tempfile_LquLXs.cl:62:9: 'max' macro redefined 426s E warning: /tmp/autopkgtest.KRSzGs/autopkgtest_tmp/.cache/pocl/kcache/tempfile_LquLXs.cl:62:9: 'max' macro redefined 426s E Device cpu-arm1156t2f-s-0xd0c failed to build the program 426s E 426s E (options: -I /usr/lib/python3/dist-packages/pyopencl/cl) 426s 426s /usr/lib/python3/dist-packages/pyopencl/__init__.py:574: RuntimeError 426s ----------------------------- Captured stderr call ----------------------------- 426s 1 warning generated. 426s 2 warnings generated. 426s 1 warning generated. 426s 1 warning generated. 426s 2 warnings generated. 426s 1 warning generated. 426s 2 warnings generated. 426s 1 warning generated. 426s 2 warnings and 1 error generated. 426s ------------------------------ Captured log call ------------------------------- 426s DEBUG pyopencl.scan:scan.py:1198 cache miss for generated scan kernel 'scan' 426s INFO pyopencl:__init__.py:451 build program: kernel 'scan_lev1' was part of a lengthy uncached source build (assuming cached by ICD) (0.42 s) 426s INFO pyopencl:__init__.py:451 build program: kernel 'scan_lev2' was part of a lengthy uncached source build (assuming cached by ICD) (0.30 s) 426s INFO pyopencl:__init__.py:451 build program: kernel 'scan_final_update' was part of a lengthy uncached source build (assuming cached by ICD) (0.29 s) 426s ________________________ test_take_bool[opencl-float32] ________________________ 426s 426s dtype = , backend = 'opencl' 426s 426s @check_all_dtypes 426s @check_all_backends 426s def test_take_bool(dtype, backend): 426s check_import(backend) 426s if dtype == np.float64: 426s get_config().use_double = True 426s 426s # Given 426s x = array.arange(0, 10, 1, backend=backend, dtype=dtype) 426s cond = x > 5 426s 426s # When 426s > out = array.take_bool(x, cond) 426s ^^^^^^^^^^^^^^^^^^^^^^^^ 426s 426s ../../build.UwX/src/compyle/tests/test_array.py:569: 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s ../../build.UwX/src/compyle/array.py:771: in take_bool 426s e(condition, ary, cumsum_ar, out_ar) 426s ../../build.UwX/src/compyle/parallel.py:573: in __call__ 426s self.elementwise(*args, **kwargs) 426s ../../build.UwX/src/compyle/profile.py:72: in wrapper 426s return method(*args, **kwargs) 426s ^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:359: in __call__ 426s c_func = self._generate_kernel(*args) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:31: in wrapper 426s f.cached_kernel[key_val] = method(*args) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:347: in _generate_kernel 426s return self._generate(declarations=declarations) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/parallel.py:474: in _generate 426s all_source = knl.get_kernel(False)[0].program.source 426s ^^^^^^^^^^^^^^^^^^^^^ 426s /usr/lib/python3/dist-packages/pytools/__init__.py:758: in wrapper 426s result = function(obj, *args, **kwargs) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s /usr/lib/python3/dist-packages/pyopencl/elementwise.py:244: in get_kernel 426s knl, arg_descrs = get_elwise_kernel_and_types( 426s /usr/lib/python3/dist-packages/pyopencl/elementwise.py:169: in get_elwise_kernel_and_types 426s prg = get_elwise_program( 426s /usr/lib/python3/dist-packages/pyopencl/elementwise.py:116: in get_elwise_program 426s return cl.Program(context, source).build(options) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s /usr/lib/python3/dist-packages/pyopencl/__init__.py:518: in build 426s self._build_and_catch_errors( 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s 426s self = 426s build_func = . at 0xc740bad0> 426s options_bytes = b'-I /usr/lib/python3/dist-packages/pyopencl/cl', source = None 426s 426s def _build_and_catch_errors(self, build_func, options_bytes, source=None): 426s try: 426s return build_func() 426s except RuntimeError as e: 426s msg = str(e) 426s if options_bytes: 426s msg = msg + "\n(options: %s)" % options_bytes.decode("utf-8") 426s 426s if source is not None: 426s from tempfile import NamedTemporaryFile 426s srcfile = NamedTemporaryFile(mode="wt", delete=False, suffix=".cl") 426s try: 426s srcfile.write(source) 426s finally: 426s srcfile.close() 426s 426s msg = msg + "\n(source saved as %s)" % srcfile.name 426s 426s code = e.code 426s routine = e.routine 426s 426s err = RuntimeError( 426s _cl._ErrorRecord( 426s msg=msg, 426s code=code, 426s routine=routine)) 426s 426s # Python 3.2 outputs the whole list of currently active exceptions 426s # This serves to remove one (redundant) level from that nesting. 426s > raise err 426s E pyopencl._cl.RuntimeError: clBuildProgram failed: BUILD_PROGRAM_FAILURE - clBuildProgram failed: BUILD_PROGRAM_FAILURE - clBuildProgram failed: BUILD_PROGRAM_FAILURE 426s E 426s E Build on : 426s E 426s E error: /tmp/autopkgtest.KRSzGs/autopkgtest_tmp/.cache/pocl/kcache/tempfile_9jjH37.cl:76:33: use of undeclared identifier 'None' 426s E warning: /tmp/autopkgtest.KRSzGs/autopkgtest_tmp/.cache/pocl/kcache/tempfile_9jjH37.cl:62:9: 'max' macro redefined 426s E warning: /tmp/autopkgtest.KRSzGs/autopkgtest_tmp/.cache/pocl/kcache/tempfile_9jjH37.cl:62:9: 'max' macro redefined 426s E Device cpu-arm1156t2f-s-0xd0c failed to build the program 426s E 426s E (options: -I /usr/lib/python3/dist-packages/pyopencl/cl) 426s 426s /usr/lib/python3/dist-packages/pyopencl/__init__.py:574: RuntimeError 426s ----------------------------- Captured stderr call ----------------------------- 426s 1 warning generated. 426s 2 warnings and 1 error generated. 426s ________________________ test_take_bool[opencl-float64] ________________________ 426s 426s dtype = , backend = 'opencl' 426s 426s @check_all_dtypes 426s @check_all_backends 426s def test_take_bool(dtype, backend): 426s check_import(backend) 426s if dtype == np.float64: 426s get_config().use_double = True 426s 426s # Given 426s x = array.arange(0, 10, 1, backend=backend, dtype=dtype) 426s cond = x > 5 426s 426s # When 426s > out = array.take_bool(x, cond) 426s ^^^^^^^^^^^^^^^^^^^^^^^^ 426s 426s ../../build.UwX/src/compyle/tests/test_array.py:569: 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s ../../build.UwX/src/compyle/array.py:771: in take_bool 426s e(condition, ary, cumsum_ar, out_ar) 426s ../../build.UwX/src/compyle/parallel.py:573: in __call__ 426s self.elementwise(*args, **kwargs) 426s ../../build.UwX/src/compyle/profile.py:72: in wrapper 426s return method(*args, **kwargs) 426s ^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:359: in __call__ 426s c_func = self._generate_kernel(*args) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:31: in wrapper 426s f.cached_kernel[key_val] = method(*args) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:347: in _generate_kernel 426s return self._generate(declarations=declarations) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/parallel.py:474: in _generate 426s all_source = knl.get_kernel(False)[0].program.source 426s ^^^^^^^^^^^^^^^^^^^^^ 426s /usr/lib/python3/dist-packages/pytools/__init__.py:758: in wrapper 426s result = function(obj, *args, **kwargs) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s /usr/lib/python3/dist-packages/pyopencl/elementwise.py:244: in get_kernel 426s knl, arg_descrs = get_elwise_kernel_and_types( 426s /usr/lib/python3/dist-packages/pyopencl/elementwise.py:169: in get_elwise_kernel_and_types 426s prg = get_elwise_program( 426s /usr/lib/python3/dist-packages/pyopencl/elementwise.py:116: in get_elwise_program 426s return cl.Program(context, source).build(options) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s /usr/lib/python3/dist-packages/pyopencl/__init__.py:518: in build 426s self._build_and_catch_errors( 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s 426s self = 426s build_func = . at 0xc740b708> 426s options_bytes = b'-I /usr/lib/python3/dist-packages/pyopencl/cl', source = None 426s 426s def _build_and_catch_errors(self, build_func, options_bytes, source=None): 426s try: 426s return build_func() 426s except RuntimeError as e: 426s msg = str(e) 426s if options_bytes: 426s msg = msg + "\n(options: %s)" % options_bytes.decode("utf-8") 426s 426s if source is not None: 426s from tempfile import NamedTemporaryFile 426s srcfile = NamedTemporaryFile(mode="wt", delete=False, suffix=".cl") 426s try: 426s srcfile.write(source) 426s finally: 426s srcfile.close() 426s 426s msg = msg + "\n(source saved as %s)" % srcfile.name 426s 426s code = e.code 426s routine = e.routine 426s 426s err = RuntimeError( 426s _cl._ErrorRecord( 426s msg=msg, 426s code=code, 426s routine=routine)) 426s 426s # Python 3.2 outputs the whole list of currently active exceptions 426s # This serves to remove one (redundant) level from that nesting. 426s > raise err 426s E pyopencl._cl.RuntimeError: clBuildProgram failed: BUILD_PROGRAM_FAILURE - clBuildProgram failed: BUILD_PROGRAM_FAILURE - clBuildProgram failed: BUILD_PROGRAM_FAILURE 426s E 426s E Build on : 426s E 426s E error: /tmp/autopkgtest.KRSzGs/autopkgtest_tmp/.cache/pocl/kcache/tempfile_FT7RUY.cl:82:33: use of undeclared identifier 'None' 426s E warning: /tmp/autopkgtest.KRSzGs/autopkgtest_tmp/.cache/pocl/kcache/tempfile_FT7RUY.cl:68:9: 'max' macro redefined 426s E warning: /tmp/autopkgtest.KRSzGs/autopkgtest_tmp/.cache/pocl/kcache/tempfile_FT7RUY.cl:68:9: 'max' macro redefined 426s E Device cpu-arm1156t2f-s-0xd0c failed to build the program 426s E 426s E (options: -I /usr/lib/python3/dist-packages/pyopencl/cl) 426s 426s /usr/lib/python3/dist-packages/pyopencl/__init__.py:574: RuntimeError 426s ----------------------------- Captured stderr call ----------------------------- 426s 1 warning generated. 426s 2 warnings and 1 error generated. 426s ____________ TestCythonCodeGenerator.test_function_with_annotation _____________ 426s 426s self = 426s 426s def test_function_with_annotation(self): 426s # Given 426s cg = CythonGenerator() 426s # When 426s > cg.parse(annotated_f) 426s 426s ../../build.UwX/src/compyle/tests/test_cython_generator.py:242: 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s ../../build.UwX/src/compyle/cython_generator.py:208: in parse 426s self._parse_function(obj, declarations=declarations, 426s ../../build.UwX/src/compyle/cython_generator.py:505: in _parse_function 426s c_code, py_code = self._get_method_wrapper(obj, indent=' ' * 4, 426s ../../build.UwX/src/compyle/cython_generator.py:398: in _get_method_wrapper 426s c_body = self._get_method_body(meth, lines, indent=indent, 426s ../../build.UwX/src/compyle/cython_generator.py:368: in _get_method_body 426s src = [self._process_body_line(line, is_serial=is_serial) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/cython_generator.py:535: in _process_body_line 426s defn = self._handle_declare_statement(name, declare) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/cython_generator.py:462: in _handle_declare_statement 426s kind, _address_space, ctype, shape = parse_declare(declare) 426s ^^^^^^^^^^^^^^^^^^^^^^ 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s 426s code = 'declare(\'LOCAL_MEM matrix(64, "unsigned int")\')' 426s 426s def parse_declare(code): 426s """Given a string with the source for the declare method, 426s return the type information. 426s """ 426s m = ast.parse(code) 426s call = m.body[0].value 426s if call.func.id != 'declare': 426s raise CodeGenerationError('Unknown declare statement: %s' % code) 426s arg0 = call.args[0] 426s > if not isinstance(arg0, ast.Str): 426s ^^^^^^^ 426s E AttributeError: module 'ast' has no attribute 'Str' 426s 426s ../../build.UwX/src/compyle/cython_generator.py:129: AttributeError 426s _______________ TestCythonCodeGenerator.test_method_with_declare _______________ 426s 426s self = 426s 426s def test_method_with_declare(self): 426s cg = CythonGenerator() 426s > cg.parse(EqWithDeclare()) 426s 426s ../../build.UwX/src/compyle/tests/test_cython_generator.py:396: 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s ../../build.UwX/src/compyle/cython_generator.py:211: in parse 426s self._parse_instance(obj) 426s ../../build.UwX/src/compyle/cython_generator.py:518: in _parse_instance 426s methods = self._get_methods(cls) 426s ^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/cython_generator.py:352: in _get_methods 426s c_code, py_code = self._get_method_wrapper( 426s ../../build.UwX/src/compyle/cython_generator.py:398: in _get_method_wrapper 426s c_body = self._get_method_body(meth, lines, indent=indent, 426s ../../build.UwX/src/compyle/cython_generator.py:368: in _get_method_body 426s src = [self._process_body_line(line, is_serial=is_serial) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/cython_generator.py:535: in _process_body_line 426s defn = self._handle_declare_statement(name, declare) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/cython_generator.py:462: in _handle_declare_statement 426s kind, _address_space, ctype, shape = parse_declare(declare) 426s ^^^^^^^^^^^^^^^^^^^^^^ 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s 426s code = "declare('float', 2)" 426s 426s def parse_declare(code): 426s """Given a string with the source for the declare method, 426s return the type information. 426s """ 426s m = ast.parse(code) 426s call = m.body[0].value 426s if call.func.id != 'declare': 426s raise CodeGenerationError('Unknown declare statement: %s' % code) 426s arg0 = call.args[0] 426s > if not isinstance(arg0, ast.Str): 426s ^^^^^^^ 426s E AttributeError: module 'ast' has no attribute 'Str' 426s 426s ../../build.UwX/src/compyle/cython_generator.py:129: AttributeError 426s _______________ TestCythonCodeGenerator.test_method_with_matrix ________________ 426s 426s self = 426s 426s def test_method_with_matrix(self): 426s cg = CythonGenerator() 426s > cg.parse(EqWithMatrix()) 426s 426s ../../build.UwX/src/compyle/tests/test_cython_generator.py:379: 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s ../../build.UwX/src/compyle/cython_generator.py:211: in parse 426s self._parse_instance(obj) 426s ../../build.UwX/src/compyle/cython_generator.py:518: in _parse_instance 426s methods = self._get_methods(cls) 426s ^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/cython_generator.py:352: in _get_methods 426s c_code, py_code = self._get_method_wrapper( 426s ../../build.UwX/src/compyle/cython_generator.py:398: in _get_method_wrapper 426s c_body = self._get_method_body(meth, lines, indent=indent, 426s ../../build.UwX/src/compyle/cython_generator.py:368: in _get_method_body 426s src = [self._process_body_line(line, is_serial=is_serial) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/cython_generator.py:535: in _process_body_line 426s defn = self._handle_declare_statement(name, declare) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/cython_generator.py:462: in _handle_declare_statement 426s kind, _address_space, ctype, shape = parse_declare(declare) 426s ^^^^^^^^^^^^^^^^^^^^^^ 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s 426s code = "declare('matrix((2,2))')" 426s 426s def parse_declare(code): 426s """Given a string with the source for the declare method, 426s return the type information. 426s """ 426s m = ast.parse(code) 426s call = m.body[0].value 426s if call.func.id != 'declare': 426s raise CodeGenerationError('Unknown declare statement: %s' % code) 426s arg0 = call.args[0] 426s > if not isinstance(arg0, ast.Str): 426s ^^^^^^^ 426s E AttributeError: module 'ast' has no attribute 'Str' 426s 426s ../../build.UwX/src/compyle/cython_generator.py:129: AttributeError 426s _______________ TestCythonCodeGenerator.test_python3_annotation ________________ 426s 426s self = 426s 426s @unittest.skipIf(sys.version_info < (3, 4), reason='Requires Python3.') 426s def test_python3_annotation(self): 426s # Given 426s from .py3_code import py3_f 426s cg = CythonGenerator() 426s 426s # When 426s > cg.parse(py3_f) 426s 426s ../../build.UwX/src/compyle/tests/test_cython_generator.py:259: 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s ../../build.UwX/src/compyle/cython_generator.py:208: in parse 426s self._parse_function(obj, declarations=declarations, 426s ../../build.UwX/src/compyle/cython_generator.py:505: in _parse_function 426s c_code, py_code = self._get_method_wrapper(obj, indent=' ' * 4, 426s ../../build.UwX/src/compyle/cython_generator.py:398: in _get_method_wrapper 426s c_body = self._get_method_body(meth, lines, indent=indent, 426s ../../build.UwX/src/compyle/cython_generator.py:368: in _get_method_body 426s src = [self._process_body_line(line, is_serial=is_serial) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/cython_generator.py:535: in _process_body_line 426s defn = self._handle_declare_statement(name, declare) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/cython_generator.py:462: in _handle_declare_statement 426s kind, _address_space, ctype, shape = parse_declare(declare) 426s ^^^^^^^^^^^^^^^^^^^^^^ 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s 426s code = "declare('int')" 426s 426s def parse_declare(code): 426s """Given a string with the source for the declare method, 426s return the type information. 426s """ 426s m = ast.parse(code) 426s call = m.body[0].value 426s if call.func.id != 'declare': 426s raise CodeGenerationError('Unknown declare statement: %s' % code) 426s arg0 = call.args[0] 426s > if not isinstance(arg0, ast.Str): 426s ^^^^^^^ 426s E AttributeError: module 'ast' has no attribute 'Str' 426s 426s ../../build.UwX/src/compyle/cython_generator.py:129: AttributeError 426s __________________ TestAnnotationHelper.test_cast_return_type __________________ 426s 426s self = 426s 426s def test_cast_return_type(self): 426s # Given 426s @annotate 426s def f(a): 426s return cast(a, "int") 426s 426s # When 426s types = {'a': 'double'} 426s helper = AnnotationHelper(f, types) 426s > helper.annotate() 426s 426s ../../build.UwX/src/compyle/tests/test_jit.py:469: 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s ../../build.UwX/src/compyle/jit.py:167: in annotate 426s self.visit(code) 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:514: in generic_visit 426s self.visit(item) 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:514: in generic_visit 426s self.visit(item) 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:306: in visit_Return 426s result_type = self.visit(node.value) 426s ^^^^^^^^^^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:244: in visit_Call 426s return self.visit_cast(node) 426s ^^^^^^^^^^^^^^^^^^^^^ 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s 426s self = 426s node = Call(func=Name(id='cast', ctx=Load()), args=[Name(id='a', ctx=Load()), Constant(value='int', kind=None)], keywords=[]) 426s 426s def visit_cast(self, node): 426s > if not isinstance(node.args[1], ast.Str): 426s ^^^^^^^ 426s E AttributeError: module 'ast' has no attribute 'Str' 426s 426s ../../build.UwX/src/compyle/jit.py:211: AttributeError 426s _____________ TestAnnotationHelper.test_declare_multiple_variables _____________ 426s 426s self = 426s 426s def test_declare_multiple_variables(self): 426s # Given 426s @annotate 426s def f(x): 426s a, b = declare('int', 2) 426s a = 0 426s b = 1 426s return x + a + b 426s 426s # When 426s types = {'x': 'int'} 426s helper = AnnotationHelper(f, types) 426s > helper.annotate() 426s 426s ../../build.UwX/src/compyle/tests/test_jit.py:88: 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s ../../build.UwX/src/compyle/jit.py:167: in annotate 426s self.visit(code) 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:514: in generic_visit 426s self.visit(item) 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:514: in generic_visit 426s self.visit(item) 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:277: in visit_Assign 426s right_type = self.visit(right) 426s ^^^^^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:242: in visit_Call 426s return self.visit_declare(node) 426s ^^^^^^^^^^^^^^^^^^^^^^^^ 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s 426s self = 426s node = Call(func=Name(id='declare', ctx=Load()), args=[Constant(value='int', kind=None), Constant(value=2, kind=None)], keywords=[]) 426s 426s def visit_declare(self, node): 426s > if not isinstance(node.args[0], ast.Str): 426s ^^^^^^^ 426s E AttributeError: module 'ast' has no attribute 'Str' 426s 426s ../../build.UwX/src/compyle/jit.py:205: AttributeError 426s ________________ TestAnnotationHelper.test_variable_as_call_arg ________________ 426s 426s self = 426s 426s def test_variable_as_call_arg(self): 426s # Given 426s @annotate 426s def f(a, b): 426s x = declare('int') 426s x = a + b 426s return g(x) 426s 426s # When 426s types = {'a': 'int', 'b': 'int'} 426s helper = AnnotationHelper(f, types) 426s > helper.annotate() 426s 426s ../../build.UwX/src/compyle/tests/test_jit.py:105: 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s ../../build.UwX/src/compyle/jit.py:167: in annotate 426s self.visit(code) 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:514: in generic_visit 426s self.visit(item) 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:514: in generic_visit 426s self.visit(item) 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:277: in visit_Assign 426s right_type = self.visit(right) 426s ^^^^^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:242: in visit_Call 426s return self.visit_declare(node) 426s ^^^^^^^^^^^^^^^^^^^^^^^^ 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s 426s self = 426s node = Call(func=Name(id='declare', ctx=Load()), args=[Constant(value='int', kind=None)], keywords=[]) 426s 426s def visit_declare(self, node): 426s > if not isinstance(node.args[0], ast.Str): 426s ^^^^^^^ 426s E AttributeError: module 'ast' has no attribute 'Str' 426s 426s ../../build.UwX/src/compyle/jit.py:205: AttributeError 426s ____________ TestAnnotationHelper.test_variable_as_call_arg_nonjit _____________ 426s 426s self = 426s 426s def test_variable_as_call_arg_nonjit(self): 426s # Given 426s @annotate 426s def f(a, b): 426s x = declare('int') 426s x = a + b 426s return g_nonjit(x) 426s 426s # When 426s types = {'a': 'int', 'b': 'int'} 426s helper = AnnotationHelper(f, types) 426s > helper.annotate() 426s 426s ../../build.UwX/src/compyle/tests/test_jit.py:121: 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s ../../build.UwX/src/compyle/jit.py:167: in annotate 426s self.visit(code) 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:514: in generic_visit 426s self.visit(item) 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:514: in generic_visit 426s self.visit(item) 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:277: in visit_Assign 426s right_type = self.visit(right) 426s ^^^^^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/jit.py:242: in visit_Call 426s return self.visit_declare(node) 426s ^^^^^^^^^^^^^^^^^^^^^^^^ 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s 426s self = 426s node = Call(func=Name(id='declare', ctx=Load()), args=[Constant(value='int', kind=None)], keywords=[]) 426s 426s def visit_declare(self, node): 426s > if not isinstance(node.args[0], ast.Str): 426s ^^^^^^^ 426s E AttributeError: module 'ast' has no attribute 'Str' 426s 426s ../../build.UwX/src/compyle/jit.py:205: AttributeError 426s _______________ TestKernel.test_kernel_with_local_memory_opencl ________________ 426s 426s self = 426s 426s def test_kernel_with_local_memory_opencl(self): 426s importorskip('pyopencl') 426s 426s # Given 426s @annotate(gdoublep='x, y', xc='ldoublep', a='float') 426s def knl(x, y, xc, a): 426s i, lid = declare('int', 2) 426s lid = LID_0 426s i = GID_0 * LDIM_0 + lid 426s 426s xc[lid] = x[i] 426s 426s local_barrier() 426s 426s y[i] = xc[lid] * a 426s 426s x = np.linspace(0, 1, 1024) 426s y = np.zeros_like(x) 426s xc = LocalMem(1, backend='opencl') 426s 426s x, y = wrap(x, y, backend='opencl') 426s 426s # When 426s > k = Kernel(knl, backend='opencl') 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s 426s ../../build.UwX/src/compyle/tests/test_low_level.py:87: 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s ../../build.UwX/src/compyle/low_level.py:150: in __init__ 426s self._generate() 426s ../../build.UwX/src/compyle/low_level.py:195: in _generate 426s self.tp.add(self.func) 426s ../../build.UwX/src/compyle/transpiler.py:278: in add 426s code = self._cgen.parse( 426s ../../build.UwX/src/compyle/translator.py:281: in parse 426s code = self.parse_function(obj, declarations=declarations) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/translator.py:307: in parse_function 426s code = self.convert(src) 426s ^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/translator.py:252: in convert 426s result = self.visit(code) 426s ^^^^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/translator.py:652: in visit_Module 426s return '\n'.join( 426s ../../build.UwX/src/compyle/translator.py:653: in 426s self.visit(item) for item in node.body 426s ^^^^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/translator.py:584: in visit_FunctionDef 426s body = '\n'.join(self._indent_block(self.visit(item)) 426s ../../build.UwX/src/compyle/translator.py:584: in 426s body = '\n'.join(self._indent_block(self.visit(item)) 426s ^^^^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s 426s self = 426s node = Assign(targets=[Tuple(elts=[Name(id='i', ctx=Store(...)), Name(id='lid', ctx=Store(...))], ctx=Store())], value=Call(f...ctx=Load(...)), args=[Constant(value='int', kind=None), Constant(value=2, kind=None)], keywords=[]), type_comment=None) 426s 426s def visit_Assign(self, node): 426s if len(node.targets) != 1: 426s self.error("Assignments can have only one target.", node) 426s left, right = node.targets[0], node.value 426s if isinstance(right, ast.Call) and \ 426s isinstance(right.func, ast.Name) and right.func.id == 'declare': 426s > if not isinstance(right.args[0], ast.Str): 426s ^^^^^^^ 426s E AttributeError: module 'ast' has no attribute 'Str' 426s 426s ../../build.UwX/src/compyle/translator.py:344: AttributeError 426s _____________________ TestKernel.test_simple_kernel_opencl _____________________ 426s 426s self = 426s 426s def test_simple_kernel_opencl(self): 426s importorskip('pyopencl') 426s 426s # Given 426s @annotate(gdoublep='x, y', a='float', size='int') 426s def knl(x, y, a, size): 426s i = declare('int') 426s i = GID_0*LDIM_0 + LID_0 426s if i < size: 426s y[i] = x[i]*a 426s 426s x = np.linspace(0, 1, 1000) 426s y = np.zeros_like(x) 426s x, y = wrap(x, y, backend='opencl') 426s 426s # When 426s > k = Kernel(knl, backend='opencl') 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s 426s ../../build.UwX/src/compyle/tests/test_low_level.py:32: 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s ../../build.UwX/src/compyle/low_level.py:150: in __init__ 426s self._generate() 426s ../../build.UwX/src/compyle/low_level.py:195: in _generate 426s self.tp.add(self.func) 426s ../../build.UwX/src/compyle/transpiler.py:278: in add 426s code = self._cgen.parse( 426s ../../build.UwX/src/compyle/translator.py:281: in parse 426s code = self.parse_function(obj, declarations=declarations) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/translator.py:307: in parse_function 426s code = self.convert(src) 426s ^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/translator.py:252: in convert 426s result = self.visit(code) 426s ^^^^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/translator.py:652: in visit_Module 426s return '\n'.join( 426s ../../build.UwX/src/compyle/translator.py:653: in 426s self.visit(item) for item in node.body 426s ^^^^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/translator.py:584: in visit_FunctionDef 426s body = '\n'.join(self._indent_block(self.visit(item)) 426s ../../build.UwX/src/compyle/translator.py:584: in 426s body = '\n'.join(self._indent_block(self.visit(item)) 426s ^^^^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s 426s self = 426s node = Assign(targets=[Name(id='i', ctx=Store())], value=Call(func=Name(id='declare', ctx=Load(...)), args=[Constant(value='int', kind=None)], keywords=[]), type_comment=None) 426s 426s def visit_Assign(self, node): 426s if len(node.targets) != 1: 426s self.error("Assignments can have only one target.", node) 426s left, right = node.targets[0], node.value 426s if isinstance(right, ast.Call) and \ 426s isinstance(right.func, ast.Name) and right.func.id == 'declare': 426s > if not isinstance(right.args[0], ast.Str): 426s ^^^^^^^ 426s E AttributeError: module 'ast' has no attribute 'Str' 426s 426s ../../build.UwX/src/compyle/translator.py:344: AttributeError 426s ___________ TestCython.test_cython_code_with_return_and_nested_call ____________ 426s 426s self = 426s 426s def test_cython_code_with_return_and_nested_call(self): 426s # Given 426s n = 1000 426s x = np.linspace(0, 1, n) 426s y = x.copy() 426s a = 2.0 426s 426s # When 426s > cy = Cython(knl) 426s ^^^^^^^^^^^ 426s 426s ../../build.UwX/src/compyle/tests/test_low_level.py:167: 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s ../../build.UwX/src/compyle/low_level.py:360: in __init__ 426s self._generate() 426s ../../build.UwX/src/compyle/low_level.py:363: in _generate 426s self.tp.add(self.func) 426s ../../build.UwX/src/compyle/transpiler.py:273: in add 426s self._cgen.parse( 426s ../../build.UwX/src/compyle/cython_generator.py:208: in parse 426s self._parse_function(obj, declarations=declarations, 426s ../../build.UwX/src/compyle/cython_generator.py:505: in _parse_function 426s c_code, py_code = self._get_method_wrapper(obj, indent=' ' * 4, 426s ../../build.UwX/src/compyle/cython_generator.py:398: in _get_method_wrapper 426s c_body = self._get_method_body(meth, lines, indent=indent, 426s ../../build.UwX/src/compyle/cython_generator.py:368: in _get_method_body 426s src = [self._process_body_line(line, is_serial=is_serial) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/cython_generator.py:535: in _process_body_line 426s defn = self._handle_declare_statement(name, declare) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/cython_generator.py:462: in _handle_declare_statement 426s kind, _address_space, ctype, shape = parse_declare(declare) 426s ^^^^^^^^^^^^^^^^^^^^^^ 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s 426s code = "declare('int')" 426s 426s def parse_declare(code): 426s """Given a string with the source for the declare method, 426s return the type information. 426s """ 426s m = ast.parse(code) 426s call = m.body[0].value 426s if call.func.id != 'declare': 426s raise CodeGenerationError('Unknown declare statement: %s' % code) 426s arg0 = call.args[0] 426s > if not isinstance(arg0, ast.Str): 426s ^^^^^^^ 426s E AttributeError: module 'ast' has no attribute 'Str' 426s 426s ../../build.UwX/src/compyle/cython_generator.py:129: AttributeError 426s _____________________ TestCython.test_cython_with_externs ______________________ 426s 426s self = 426s 426s def test_cython_with_externs(self): 426s # Given 426s n = 1000 426s x = np.linspace(0, 1, n) 426s y = np.zeros_like(x) 426s a = 2.0 426s 426s # When 426s with use_config(use_openmp=True): 426s > cy = Cython(cy_extern) 426s ^^^^^^^^^^^^^^^^^ 426s 426s ../../build.UwX/src/compyle/tests/test_low_level.py:182: 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s ../../build.UwX/src/compyle/low_level.py:360: in __init__ 426s self._generate() 426s ../../build.UwX/src/compyle/low_level.py:363: in _generate 426s self.tp.add(self.func) 426s ../../build.UwX/src/compyle/transpiler.py:273: in add 426s self._cgen.parse( 426s ../../build.UwX/src/compyle/cython_generator.py:208: in parse 426s self._parse_function(obj, declarations=declarations, 426s ../../build.UwX/src/compyle/cython_generator.py:505: in _parse_function 426s c_code, py_code = self._get_method_wrapper(obj, indent=' ' * 4, 426s ../../build.UwX/src/compyle/cython_generator.py:398: in _get_method_wrapper 426s c_body = self._get_method_body(meth, lines, indent=indent, 426s ../../build.UwX/src/compyle/cython_generator.py:368: in _get_method_body 426s src = [self._process_body_line(line, is_serial=is_serial) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/cython_generator.py:535: in _process_body_line 426s defn = self._handle_declare_statement(name, declare) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/cython_generator.py:462: in _handle_declare_statement 426s kind, _address_space, ctype, shape = parse_declare(declare) 426s ^^^^^^^^^^^^^^^^^^^^^^ 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s 426s code = "declare('int')" 426s 426s def parse_declare(code): 426s """Given a string with the source for the declare method, 426s return the type information. 426s """ 426s m = ast.parse(code) 426s call = m.body[0].value 426s if call.func.id != 'declare': 426s raise CodeGenerationError('Unknown declare statement: %s' % code) 426s arg0 = call.args[0] 426s > if not isinstance(arg0, ast.Str): 426s ^^^^^^^ 426s E AttributeError: module 'ast' has no attribute 'Str' 426s 426s ../../build.UwX/src/compyle/cython_generator.py:129: AttributeError 426s _____________________________ test_simple_template _____________________________ 426s 426s def test_simple_template(): 426s # Given 426s t = SimpleTemplate(name='simple') 426s 426s # When 426s > simple = t.function 426s ^^^^^^^^^^ 426s 426s ../../build.UwX/src/compyle/tests/test_template.py:61: 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s ../../build.UwX/src/compyle/template.py:24: in function 426s self._function = self._make_function() 426s ^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/template.py:28: in _make_function 426s src, annotations = self._get_code() 426s ^^^^^^^^^^^^^^^^ 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s 426s self = 426s 426s def _get_code(self): 426s m = ast.parse(dedent(inspect.getsource(self.template))) 426s argspec = getfullargspec(self.template) 426s args = argspec.args 426s if args[0] == 'self': 426s args = args[1:] 426s extra_args, extra_annotations = self.extra_args() 426s args += extra_args 426s arg_string = ', '.join(args) 426s body = m.body[0].body 426s > template = body[-1].value.s 426s ^^^^^^^^^^^^^^^^ 426s E AttributeError: 'Constant' object has no attribute 's' 426s 426s ../../build.UwX/src/compyle/template.py:52: AttributeError 426s ______________________ test_that_source_code_is_available ______________________ 426s 426s def test_that_source_code_is_available(): 426s # Given/When 426s > dummy = Dummy('dummy').function 426s ^^^^^^^^^^^^^^^^^^^^^^^ 426s 426s ../../build.UwX/src/compyle/tests/test_template.py:80: 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s ../../build.UwX/src/compyle/template.py:24: in function 426s self._function = self._make_function() 426s ^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/template.py:28: in _make_function 426s src, annotations = self._get_code() 426s ^^^^^^^^^^^^^^^^ 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s 426s self = 426s 426s def _get_code(self): 426s m = ast.parse(dedent(inspect.getsource(self.template))) 426s argspec = getfullargspec(self.template) 426s args = argspec.args 426s if args[0] == 'self': 426s args = args[1:] 426s extra_args, extra_annotations = self.extra_args() 426s args += extra_args 426s arg_string = ', '.join(args) 426s body = m.body[0].body 426s > template = body[-1].value.s 426s ^^^^^^^^^^^^^^^^ 426s E AttributeError: 'Constant' object has no attribute 's' 426s 426s ../../build.UwX/src/compyle/template.py:52: AttributeError 426s ___________________ test_template_usable_in_code_generation ____________________ 426s 426s def test_template_usable_in_code_generation(): 426s # Given 426s > twice = ParallelExample('twice').function 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s 426s ../../build.UwX/src/compyle/tests/test_template.py:95: 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s ../../build.UwX/src/compyle/template.py:24: in function 426s self._function = self._make_function() 426s ^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/template.py:28: in _make_function 426s src, annotations = self._get_code() 426s ^^^^^^^^^^^^^^^^ 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s 426s self = 426s 426s def _get_code(self): 426s m = ast.parse(dedent(inspect.getsource(self.template))) 426s argspec = getfullargspec(self.template) 426s args = argspec.args 426s if args[0] == 'self': 426s args = args[1:] 426s extra_args, extra_annotations = self.extra_args() 426s args += extra_args 426s arg_string = ', '.join(args) 426s body = m.body[0].body 426s > template = body[-1].value.s 426s ^^^^^^^^^^^^^^^^ 426s E AttributeError: 'Constant' object has no attribute 's' 426s 426s ../../build.UwX/src/compyle/template.py:52: AttributeError 426s ________________________ test_template_with_extra_args _________________________ 426s 426s def test_template_with_extra_args(): 426s # Given 426s > extra = ExtraArgs('extra').function 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s 426s ../../build.UwX/src/compyle/tests/test_template.py:113: 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s ../../build.UwX/src/compyle/template.py:24: in function 426s self._function = self._make_function() 426s ^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/template.py:28: in _make_function 426s src, annotations = self._get_code() 426s ^^^^^^^^^^^^^^^^ 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s 426s self = 426s 426s def _get_code(self): 426s m = ast.parse(dedent(inspect.getsource(self.template))) 426s argspec = getfullargspec(self.template) 426s args = argspec.args 426s if args[0] == 'self': 426s args = args[1:] 426s extra_args, extra_annotations = self.extra_args() 426s args += extra_args 426s arg_string = ', '.join(args) 426s body = m.body[0].body 426s > template = body[-1].value.s 426s ^^^^^^^^^^^^^^^^ 426s E AttributeError: 'Constant' object has no attribute 's' 426s 426s ../../build.UwX/src/compyle/template.py:52: AttributeError 426s ______________________ test_simple_assignment_expression _______________________ 426s 426s def test_simple_assignment_expression(): 426s # Given 426s src = dedent(''' 426s b = (2*a + 1)*(-a/1.5)%2 426s ''') 426s 426s # When 426s code = py2c(src) 426s 426s # Then 426s expect = dedent(''' 426s double a; 426s double b; 426s b = ((((2 * a) + 1) * (-a / 1.5)) % 2); 426s ''') 426s > assert code == expect.strip() 426s E AssertionError: assert 'double a;\nd...ne)) % None);' == 'double a;\nd.../ 1.5)) % 2);' 426s E 426s E double a; 426s E double b; 426s E - b = ((((2 * a) + 1) * (-a / 1.5)) % 2); 426s E ? ^ ^ ^^^ ^ 426s E + b = ((((None * a) + None) * (-a / None)) % None); 426s E ? ^^^^ ^^^^ ^^^^ ^^^^ 426s 426s ../../build.UwX/src/compyle/tests/test_translator.py:35: AssertionError 426s ----------------------------- Captured stdout call ----------------------------- 426s double a; 426s double b; 426s b = ((((None * a) + None) * (-a / None)) % None); 426s _____________________ test_multiple_assignment_expressions _____________________ 426s 426s def test_multiple_assignment_expressions(): 426s # Given 426s src = dedent(''' 426s a = 21.5 426s b = (2*a + 1)*(a/1.5)%2 426s ''') 426s 426s # When 426s code = py2c(src) 426s 426s # Then 426s expect = dedent(''' 426s double a; 426s double b; 426s a = 21.5; 426s b = ((((2 * a) + 1) * (a / 1.5)) % 2); 426s ''') 426s > assert code == expect.strip() 426s E AssertionError: assert 'double a;\nd...ne)) % None);' == 'double a;\nd.../ 1.5)) % 2);' 426s E 426s E double a; 426s E double b; 426s E - a = 21.5; 426s E - b = ((((2 * a) + 1) * (a / 1.5)) % 2); 426s E + a = None; 426s E + b = ((((None * a) + None) * (a / None)) % None); 426s 426s ../../build.UwX/src/compyle/tests/test_translator.py:55: AssertionError 426s ----------------------------- Captured stdout call ----------------------------- 426s double a; 426s double b; 426s a = None; 426s b = ((((None * a) + None) * (a / None)) % None); 426s ________________________________ test_if_block _________________________________ 426s 426s def test_if_block(): 426s # Given 426s src = dedent(''' 426s a = 21.5 426s if a > 20: 426s b = a - 1 426s elif a < 20: 426s b = a + 1 426s else: 426s b = a 426s ''') 426s 426s # When 426s code = py2c(src) 426s 426s # Then 426s expect = dedent(''' 426s double a; 426s double b; 426s a = 21.5; 426s if ((a > 20)) { 426s b = (a - 1); 426s } 426s else { 426s if ((a < 20)) { 426s b = (a + 1); 426s } 426s else { 426s b = a; 426s } 426s } 426s ''') 426s > assert code.strip() == expect.strip() 426s E AssertionError: assert 'double a;\nd... a;\n }\n}' == 'double a;\nd... a;\n }\n}' 426s E 426s E double a; 426s E double b; 426s E - a = 21.5; 426s E + a = None; 426s E - if ((a > 20)) { 426s E ? ^^... 426s E 426s E ...Full output truncated (21 lines hidden), use '-vv' to show 426s 426s ../../build.UwX/src/compyle/tests/test_translator.py:90: AssertionError 426s ----------------------------- Captured stdout call ----------------------------- 426s double a; 426s double b; 426s a = None; 426s if ((a > None)) { 426s b = (a - None); 426s } 426s else { 426s if ((a < None)) { 426s b = (a + None); 426s } 426s else { 426s b = a; 426s } 426s } 426s 426s ______________________________ test_conditionals _______________________________ 426s 426s def test_conditionals(): 426s # Given 426s src = dedent(''' 426s if (x > 10 and x < 20) or not (x >= 10 and x <= 20): 426s y 426s ''') 426s 426s # When 426s code = py2c(src) 426s 426s # Then 426s expect = dedent(''' 426s double x; 426s double y; 426s if ((((x > 10) && (x < 20)) || !((x >= 10) && (x <= 20)))) { 426s y; 426s } 426s ''') 426s > assert code.strip() == expect.strip() 426s E AssertionError: assert 'double x;\nd... {\n y;\n}' == 'double x;\nd... {\n y;\n}' 426s E 426s E double x; 426s E double y; 426s E - if ((((x > 10) && (x < 20)) || !((x >= 10) && (x <= 20)))) { 426s E ? ^^ ^^ ^^ ^^ 426s E + if ((((x > None) && (x < None)) || !((x >= None) && (x <= None)))) { 426s E ? ^^^^ ^^^^ ^^^^ ^^^^ 426s E y; 426s E } 426s 426s ../../build.UwX/src/compyle/tests/test_translator.py:111: AssertionError 426s ----------------------------- Captured stdout call ----------------------------- 426s double x; 426s double y; 426s if ((((x > None) && (x < None)) || !((x >= None) && (x <= None)))) { 426s y; 426s } 426s 426s ____________________________ test_ternary_operator _____________________________ 426s 426s def test_ternary_operator(): 426s # Given 426s src = dedent(''' 426s y = 2.0 426s x = 1.0 if y >= 2.0 else 0.0 426s ''') 426s 426s # When 426s code = py2c(src) 426s 426s # Then 426s expect = dedent(''' 426s double x; 426s double y; 426s y = 2.0; 426s x = (y >= 2.0) ? 1.0 : 0.0; 426s ''') 426s > assert code.strip() == expect.strip() 426s E AssertionError: assert 'double x;\nd... None : None;' == 'double x;\nd... ? 1.0 : 0.0;' 426s E 426s E double x; 426s E double y; 426s E - y = 2.0; 426s E - x = (y >= 2.0) ? 1.0 : 0.0; 426s E + y = None; 426s E + x = (y >= None) ? None : None; 426s 426s ../../build.UwX/src/compyle/tests/test_translator.py:167: AssertionError 426s ----------------------------- Captured stdout call ----------------------------- 426s double x; 426s double y; 426s y = None; 426s x = (y >= None) ? None : None; 426s ____________________________ test_multiple_boolops _____________________________ 426s 426s def test_multiple_boolops(): 426s # Given 426s src = dedent(''' 426s if x % 2 == 0 or x % 2 == 1 or x > 0: 426s pass 426s ''') 426s 426s # When 426s code = py2c(src) 426s 426s # Then 426s expect = dedent(''' 426s double x; 426s if ((((x % 2) == 0) || ((x % 2) == 1) || (x > 0))) { 426s ; 426s } 426s ''') 426s > assert code.strip() == expect.strip() 426s E AssertionError: assert 'double x;\ni...) {\n ;\n}' == 'double x;\ni...) {\n ;\n}' 426s E 426s E double x; 426s E - if ((((x % 2) == 0) || ((x % 2) == 1) || (x > 0))) { 426s E ? ^ ^ ^ ^ ^ 426s E + if ((((x % None) == None) || ((x % None) == None) || (x > None))) { 426s E ? ^^^^ ^^^^ ^^^^ ^^^^ ^^^^ 426s E ; 426s E } 426s 426s ../../build.UwX/src/compyle/tests/test_translator.py:187: AssertionError 426s ----------------------------- Captured stdout call ----------------------------- 426s double x; 426s if ((((x % None) == None) || ((x % None) == None) || (x > None))) { 426s ; 426s } 426s 426s __________________________ test_multiple_bitwise_ops ___________________________ 426s 426s def test_multiple_bitwise_ops(): 426s # Given 426s src = dedent(''' 426s x = 1 << 5 426s y = x >> 2 426s z = (x | y) ^ (x & y) 426s ''') 426s 426s # When 426s code = py2c(src) 426s 426s # Then 426s expect = dedent(''' 426s double x; 426s double y; 426s double z; 426s x = (1 << 5); 426s y = (x >> 2); 426s z = ((x | y) ^ (x & y)); 426s ''') 426s 426s > assert code.strip() == expect.strip() 426s E AssertionError: assert 'double x;\nd...) ^ (x & y));' == 'double x;\nd...) ^ (x & y));' 426s E 426s E double x; 426s E double y; 426s E double z; 426s E - x = (1 << 5); 426s E + x = (None << None); 426s E - y = (x >> 2);... 426s E 426s E ...Full output truncated (4 lines hidden), use '-vv' to show 426s 426s ../../build.UwX/src/compyle/tests/test_translator.py:211: AssertionError 426s ----------------------------- Captured stdout call ----------------------------- 426s double x; 426s double y; 426s double z; 426s x = (None << None); 426s y = (x >> None); 426s z = ((x | y) ^ (x & y)); 426s __________________________________ test_power __________________________________ 426s 426s def test_power(): 426s # Given 426s src = dedent(''' 426s 1.5*x**2 426s ''') 426s 426s # When 426s code = py2c(src) 426s 426s # Then 426s expect = dedent(''' 426s double x; 426s (1.5 * pow(x, 2)); 426s ''') 426s > assert code.strip() == expect.strip() 426s E AssertionError: assert 'double x;\n(...ow(x, None));' == 'double x;\n(...* pow(x, 2));' 426s E 426s E double x; 426s E - (1.5 * pow(x, 2)); 426s E + (None * pow(x, None)); 426s 426s ../../build.UwX/src/compyle/tests/test_translator.py:228: AssertionError 426s ----------------------------- Captured stdout call ----------------------------- 426s double x; 426s (None * pow(x, None)); 426s ____________________________ test_calling_function _____________________________ 426s 426s def test_calling_function(): 426s # Given 426s src = dedent(''' 426s sin(23.2 + 1) 426s ''') 426s 426s # When 426s code = py2c(src) 426s 426s # Then 426s expect = dedent(''' 426s sin((23.2 + 1)); 426s ''') 426s > assert code == expect.strip() 426s E AssertionError: assert 'sin((None + None));' == 'sin((23.2 + 1));' 426s E 426s E - sin((23.2 + 1)); 426s E + sin((None + None)); 426s 426s ../../build.UwX/src/compyle/tests/test_translator.py:256: AssertionError 426s ----------------------------- Captured stdout call ----------------------------- 426s sin((None + None)); 426s _______________________ test_calling_printf_with_string ________________________ 426s 426s def test_calling_printf_with_string(): 426s # Given 426s src = dedent(r''' 426s printf('%s %d %f\n', 'hello', 1, 2.0) 426s ''') 426s 426s # When 426s > code = py2c(src) 426s ^^^^^^^^^ 426s 426s ../../build.UwX/src/compyle/tests/test_translator.py:266: 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s ../../build.UwX/src/compyle/translator.py:65: in py2c 426s result = converter.convert(src) 426s ^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/translator.py:252: in convert 426s result = self.visit(code) 426s ^^^^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/translator.py:652: in visit_Module 426s return '\n'.join( 426s ../../build.UwX/src/compyle/translator.py:653: in 426s self.visit(item) for item in node.body 426s ^^^^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/translator.py:438: in visit_Expr 426s return self.visit(node.value) + ';' 426s ^^^^^^^^^^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s 426s self = 426s node = Call(func=Name(id='printf', ctx=Load()), args=[Constant(value='%s %d %f\n', kind=None), ..., Constant(value=2.0, kind=None)], keywords=[]) 426s 426s def visit_Call(self, node): 426s if isinstance(node.func, ast.Name): 426s if node.func.id == 'address': 426s return '(&%s)' % self.visit(node.args[0]) 426s elif 'atomic' in node.func.id: 426s return self.render_atomic(node.func.id, node.args[0]) 426s elif node.func.id == 'cast': 426s return '(%s) (%s)' % (node.args[1].s, self.visit(node.args[0])) 426s else: 426s return '{func}({args})'.format( 426s func=node.func.id, 426s > args=', '.join(self.visit(x) for x in node.args) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s E TypeError: sequence item 0: expected str instance, NoneType found 426s 426s ../../build.UwX/src/compyle/translator.py:392: TypeError 426s ________________________________ test_subscript ________________________________ 426s 426s def test_subscript(): 426s # Given 426s src = dedent(''' 426s x[1] 426s ''') 426s 426s # When 426s code = py2c(src) 426s 426s # Then 426s expect = dedent(''' 426s double x; 426s x[1]; 426s ''') 426s > assert code == expect.strip() 426s E AssertionError: assert 'double x;\nx[None];' == 'double x;\nx[1];' 426s E 426s E double x; 426s E - x[1]; 426s E + x[None]; 426s 426s ../../build.UwX/src/compyle/tests/test_translator.py:289: AssertionError 426s ----------------------------- Captured stdout call ----------------------------- 426s double x; 426s x[None]; 426s _______________________ test_simple_function_with_return _______________________ 426s 426s def test_simple_function_with_return(): 426s # Given 426s src = dedent(''' 426s def f(x=0.0): 426s 'docstring' 426s y = x + 1 426s return y 426s ''') 426s 426s # When 426s > code = py2c(src) 426s ^^^^^^^^^ 426s 426s ../../build.UwX/src/compyle/tests/test_translator.py:329: 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s ../../build.UwX/src/compyle/translator.py:65: in py2c 426s result = converter.convert(src) 426s ^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/translator.py:252: in convert 426s result = self.visit(code) 426s ^^^^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/translator.py:652: in visit_Module 426s return '\n'.join( 426s ../../build.UwX/src/compyle/translator.py:653: in 426s self.visit(item) for item in node.body 426s ^^^^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/translator.py:585: in visit_FunctionDef 426s for item in self._remove_docstring(node.body)) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s 426s self = 426s body = [Expr(value=Constant(value='docstring', kind=None)), Assign(targets=[Name(id='y', ctx=Store())], value=BinOp(left=Name...=Load(...)), op=Add(), right=Constant(value=1, kind=None)), type_comment=None), Return(value=Name(id='y', ctx=Load()))] 426s 426s def _remove_docstring(self, body): 426s if body and isinstance(body[0], ast.Expr) and \ 426s > isinstance(body[0].value, ast.Str): 426s ^^^^^^^ 426s E AttributeError: module 'ast' has no attribute 'Str' 426s 426s ../../build.UwX/src/compyle/translator.py:228: AttributeError 426s ___________________________ test_annotated_function ____________________________ 426s 426s def test_annotated_function(): 426s # Given/When 426s t = CConverter() 426s > code = t.parse_function(annotated_f) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s 426s ../../build.UwX/src/compyle/tests/test_translator.py:411: 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s ../../build.UwX/src/compyle/translator.py:307: in parse_function 426s code = self.convert(src) 426s ^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/translator.py:252: in convert 426s result = self.visit(code) 426s ^^^^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/translator.py:652: in visit_Module 426s return '\n'.join( 426s ../../build.UwX/src/compyle/translator.py:653: in 426s self.visit(item) for item in node.body 426s ^^^^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/translator.py:584: in visit_FunctionDef 426s body = '\n'.join(self._indent_block(self.visit(item)) 426s ../../build.UwX/src/compyle/translator.py:584: in 426s body = '\n'.join(self._indent_block(self.visit(item)) 426s ^^^^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s 426s self = 426s node = Assign(targets=[Name(id='x', ctx=Store())], value=Call(func=Name(id='declare', ctx=Load(...)), args=[Constant(value='LOCAL_MEM matrix(64)', kind=None)], keywords=[]), type_comment=None) 426s 426s def visit_Assign(self, node): 426s if len(node.targets) != 1: 426s self.error("Assignments can have only one target.", node) 426s left, right = node.targets[0], node.value 426s if isinstance(right, ast.Call) and \ 426s isinstance(right.func, ast.Name) and right.func.id == 'declare': 426s > if not isinstance(right.args[0], ast.Str): 426s ^^^^^^^ 426s E AttributeError: module 'ast' has no attribute 'Str' 426s 426s ../../build.UwX/src/compyle/translator.py:344: AttributeError 426s _____________________________ test_py3_annotations _____________________________ 426s 426s @pytest.mark.skipif(sys.version_info < (3, 4), reason='Requires Python3') 426s def test_py3_annotations(): 426s # Given/When 426s from .py3_code import py3_f 426s t = CConverter() 426s > code = t.parse_function(py3_f) 426s ^^^^^^^^^^^^^^^^^^^^^^^ 426s 426s ../../build.UwX/src/compyle/tests/test_translator.py:429: 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s ../../build.UwX/src/compyle/translator.py:307: in parse_function 426s code = self.convert(src) 426s ^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/translator.py:252: in convert 426s result = self.visit(code) 426s ^^^^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/translator.py:652: in visit_Module 426s return '\n'.join( 426s ../../build.UwX/src/compyle/translator.py:653: in 426s self.visit(item) for item in node.body 426s ^^^^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/translator.py:584: in visit_FunctionDef 426s body = '\n'.join(self._indent_block(self.visit(item)) 426s ../../build.UwX/src/compyle/translator.py:584: in 426s body = '\n'.join(self._indent_block(self.visit(item)) 426s ^^^^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s 426s self = 426s node = Assign(targets=[Name(id='y', ctx=Store())], value=Call(func=Name(id='declare', ctx=Load(...)), args=[Constant(value='int', kind=None)], keywords=[]), type_comment=None) 426s 426s def visit_Assign(self, node): 426s if len(node.targets) != 1: 426s self.error("Assignments can have only one target.", node) 426s left, right = node.targets[0], node.value 426s if isinstance(right, ast.Call) and \ 426s isinstance(right.func, ast.Name) and right.func.id == 'declare': 426s > if not isinstance(right.args[0], ast.Str): 426s ^^^^^^^ 426s E AttributeError: module 'ast' has no attribute 'Str' 426s 426s ../../build.UwX/src/compyle/translator.py:344: AttributeError 426s ______________________ test_calling_method_of_known_type _______________________ 426s 426s def test_calling_method_of_known_type(): 426s # Given 426s src = dedent(''' 426s obj.method(1, 2) 426s obj.meth() 426s ''') 426s known = {'obj': KnownType('SomeClass*', base_type='SomeClass')} 426s 426s # When 426s > code = py2c(src, known_types=known) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s 426s ../../build.UwX/src/compyle/tests/test_translator.py:452: 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s ../../build.UwX/src/compyle/translator.py:65: in py2c 426s result = converter.convert(src) 426s ^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/translator.py:252: in convert 426s result = self.visit(code) 426s ^^^^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/translator.py:652: in visit_Module 426s return '\n'.join( 426s ../../build.UwX/src/compyle/translator.py:653: in 426s self.visit(item) for item in node.body 426s ^^^^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/translator.py:438: in visit_Expr 426s return self.visit(node.value) + ';' 426s ^^^^^^^^^^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s 426s self = 426s node = Call(func=Attribute(value=Name(id='obj', ctx=Load(...)), attr='method', ctx=Load()), args=[Constant(value=1, kind=None), Constant(value=2, kind=None)], keywords=[]) 426s 426s def visit_Call(self, node): 426s if isinstance(node.func, ast.Name): 426s if node.func.id == 'address': 426s return '(&%s)' % self.visit(node.args[0]) 426s elif 'atomic' in node.func.id: 426s return self.render_atomic(node.func.id, node.args[0]) 426s elif node.func.id == 'cast': 426s return '(%s) (%s)' % (node.args[1].s, self.visit(node.args[0])) 426s else: 426s return '{func}({args})'.format( 426s func=node.func.id, 426s args=', '.join(self.visit(x) for x in node.args) 426s ) 426s elif isinstance(node.func, ast.Attribute): 426s if node.func.value.id in self._known_types: 426s name = node.func.value.id 426s cls = self._known_types[name].base_type 426s args = [name] + [self.visit(x) for x in node.args] 426s return '{func}({args})'.format( 426s func='%s_%s' % (cls, node.func.attr), 426s > args=', '.join(args) 426s ^^^^^^^^^^^^^^^ 426s E TypeError: sequence item 1: expected str instance, NoneType found 426s 426s ../../build.UwX/src/compyle/translator.py:401: TypeError 426s _________________ test_calling_method_of_known_type_in_method __________________ 426s 426s def test_calling_method_of_known_type_in_method(): 426s # Given 426s src = dedent(''' 426s class Foo(object): 426s def g(self): 426s pass 426s def f(self, obj): 426s obj.method(1, 2) 426s self.g() 426s ''') 426s 426s # When 426s known = {'obj': KnownType('SomeClass*', base_type='SomeClass')} 426s > code = py2c(src, known_types=known) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s 426s ../../build.UwX/src/compyle/tests/test_translator.py:475: 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s ../../build.UwX/src/compyle/translator.py:65: in py2c 426s result = converter.convert(src) 426s ^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/translator.py:252: in convert 426s result = self.visit(code) 426s ^^^^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/translator.py:652: in visit_Module 426s return '\n'.join( 426s ../../build.UwX/src/compyle/translator.py:653: in 426s self.visit(item) for item in node.body 426s ^^^^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/translator.py:417: in visit_ClassDef 426s code = [self.visit(x) for x in self._remove_docstring(node.body)] 426s ^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/translator.py:585: in visit_FunctionDef 426s for item in self._remove_docstring(node.body)) 426s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s 426s self = 426s body = [Expr(value=Call(func=Attribute(value=Name(...), attr='method', ctx=Load(...)), args=[Constant(value=1, kind=None), Co...one)], keywords=[])), Expr(value=Call(func=Attribute(value=Name(...), attr='g', ctx=Load(...)), args=[], keywords=[]))] 426s 426s def _remove_docstring(self, body): 426s if body and isinstance(body[0], ast.Expr) and \ 426s > isinstance(body[0].value, ast.Str): 426s ^^^^^^^ 426s E AttributeError: module 'ast' has no attribute 'Str' 426s 426s ../../build.UwX/src/compyle/translator.py:228: AttributeError 426s __________________________________ test_while __________________________________ 426s 426s def test_while(): 426s # Given 426s src = dedent(''' 426s while x < 21: 426s do(x) 426s do1(x) 426s ''') 426s 426s # When 426s code = py2c(src) 426s 426s # Then 426s expect = dedent(''' 426s double x; 426s while ((x < 21)) { 426s do(x); 426s do1(x); 426s } 426s ''') 426s > assert code.strip() == expect.strip() 426s E AssertionError: assert 'double x;\nw... do1(x);\n}' == 'double x;\nw... do1(x);\n}' 426s E 426s E double x; 426s E - while ((x < 21)) { 426s E ? ^^ 426s E + while ((x < None)) { 426s E ? ^^^^ 426s E do(x); 426s E do1(x); 426s E } 426s 426s ../../build.UwX/src/compyle/tests/test_translator.py:568: AssertionError 426s ----------------------------- Captured stdout call ----------------------------- 426s double x; 426s while ((x < None)) { 426s do(x); 426s do1(x); 426s } 426s 426s ________________________ test_bool_true_false_and_none _________________________ 426s 426s def test_bool_true_false_and_none(): 426s # Given 426s src = dedent(''' 426s while True: 426s pass 426s if False: 426s pass 426s if x is None or x is not None: 426s pass 426s ''') 426s 426s # When 426s code = py2c(src) 426s 426s # Then 426s expect = dedent(''' 426s double x; 426s while (1) { 426s ; 426s } 426s 426s if (0) { 426s ; 426s } 426s 426s if (((x == NULL) || (x != NULL))) { 426s ; 426s } 426s ''') 426s > assert code.strip() == expect.strip() 426s E AssertionError: assert 'double x;\nw...) {\n ;\n}' == 'double x;\nw...) {\n ;\n}' 426s E 426s E double x; 426s E - while (1) { 426s E ? ^ 426s E + while (None) { 426s E ? ^^^^ 426s E ;... 426s E 426s E ...Full output truncated (15 lines hidden), use '-vv' to show 426s 426s ../../build.UwX/src/compyle/tests/test_translator.py:600: AssertionError 426s ----------------------------- Captured stdout call ----------------------------- 426s double x; 426s while (None) { 426s ; 426s } 426s 426s if (None) { 426s ; 426s } 426s 426s if (((x == None) || (x != None))) { 426s ; 426s } 426s 426s ___________________________________ test_for ___________________________________ 426s 426s def test_for(): 426s # Given 426s src = dedent(''' 426s for i in range(5): 426s do(i) 426s ''') 426s 426s # When 426s code = py2c(src) 426s 426s # Then 426s expect = dedent(''' 426s for (long i=0; i<5; i+=1) { 426s do(i); 426s } 426s ''') 426s > assert code.strip() == expect.strip() 426s E AssertionError: assert 'long __cpy_s... do(i);\n}' == 'for (long i=... do(i);\n}' 426s E 426s E + long __cpy_stop_0 = None; 426s E - for (long i=0; i<5; i+=1) { 426s E ? ^ 426s E + for (long i=0; i<__cpy_stop_0; i+=1) { 426s E ? ^^^^^^^^^^^^ 426s E do(i); 426s E } 426s 426s ../../build.UwX/src/compyle/tests/test_translator.py:619: AssertionError 426s ----------------------------- Captured stdout call ----------------------------- 426s long __cpy_stop_0 = None; 426s for (long i=0; i<__cpy_stop_0; i+=1) { 426s do(i); 426s } 426s 426s ________________________ test_for_with_decreasing_range ________________________ 426s 426s def test_for_with_decreasing_range(): 426s # Given 426s src = dedent(''' 426s for i in range(10, -1, -1): 426s pass 426s ''') 426s 426s # When 426s code = py2c(src) 426s 426s # Then 426s expect = dedent(''' 426s for (long i=10; i>-1; i+=-1) { 426s ; 426s } 426s ''') 426s > assert code.strip() == expect.strip() 426s E AssertionError: assert 'long __cpy_s... ;\n }\n}' == 'for (long i=...) {\n ;\n}' 426s E 426s E - for (long i=10; i>-1; i+=-1) { 426s E + long __cpy_stop_0 = -None; 426s E + long __cpy_step_0 = -None; 426s E + if (__cpy_step_0 < 0) { 426s E + for (long i=None; i>__cpy_stop_0; i+=__cpy_step_0) { 426s E - ;... 426s E 426s E ...Full output truncated (9 lines hidden), use '-vv' to show 426s 426s ../../build.UwX/src/compyle/tests/test_translator.py:672: AssertionError 426s ----------------------------- Captured stdout call ----------------------------- 426s long __cpy_stop_0 = -None; 426s long __cpy_step_0 = -None; 426s if (__cpy_step_0 < 0) { 426s for (long i=None; i>__cpy_stop_0; i+=__cpy_step_0) { 426s ; 426s } 426s } 426s else { 426s for (long i=None; i<__cpy_stop_0; i+=__cpy_step_0) { 426s ; 426s } 426s } 426s 426s ____________________________ test_for_with_declare _____________________________ 426s 426s def test_for_with_declare(): 426s # Given 426s src = dedent(''' 426s i = declare('int') 426s for i in range(5): 426s do(i) 426s ''') 426s 426s # When 426s > code = py2c(src) 426s ^^^^^^^^^ 426s 426s ../../build.UwX/src/compyle/tests/test_translator.py:684: 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s ../../build.UwX/src/compyle/translator.py:65: in py2c 426s result = converter.convert(src) 426s ^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/translator.py:252: in convert 426s result = self.visit(code) 426s ^^^^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/translator.py:652: in visit_Module 426s return '\n'.join( 426s ../../build.UwX/src/compyle/translator.py:653: in 426s self.visit(item) for item in node.body 426s ^^^^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s 426s self = 426s node = Assign(targets=[Name(id='i', ctx=Store())], value=Call(func=Name(id='declare', ctx=Load(...)), args=[Constant(value='int', kind=None)], keywords=[]), type_comment=None) 426s 426s def visit_Assign(self, node): 426s if len(node.targets) != 1: 426s self.error("Assignments can have only one target.", node) 426s left, right = node.targets[0], node.value 426s if isinstance(right, ast.Call) and \ 426s isinstance(right.func, ast.Name) and right.func.id == 'declare': 426s > if not isinstance(right.args[0], ast.Str): 426s ^^^^^^^ 426s E AttributeError: module 'ast' has no attribute 'Str' 426s 426s ../../build.UwX/src/compyle/translator.py:344: AttributeError 426s ________________________________ test_two_fors _________________________________ 426s 426s def test_two_fors(): 426s # Given 426s src = dedent(''' 426s for i in range(5): 426s do(i) 426s for i in range(5): 426s pass 426s ''') 426s 426s # When 426s code = py2c(src) 426s 426s # Then 426s expect = dedent(''' 426s for (long i=0; i<5; i+=1) { 426s do(i); 426s } 426s 426s for (long i=0; i<5; i+=1) { 426s ; 426s } 426s ''') 426s > assert code.strip() == expect.strip() 426s E AssertionError: assert 'long __cpy_s...) {\n ;\n}' == 'for (long i=...) {\n ;\n}' 426s E 426s E + long __cpy_stop_0 = None; 426s E - for (long i=0; i<5; i+=1) { 426s E ? ^ 426s E + for (long i=0; i<__cpy_stop_0; i+=1) { 426s E ? ^^^^^^^^^^^^ 426s E do(i);... 426s E 426s E ...Full output truncated (9 lines hidden), use '-vv' to show 426s 426s ../../build.UwX/src/compyle/tests/test_translator.py:718: AssertionError 426s ----------------------------- Captured stdout call ----------------------------- 426s long __cpy_stop_0 = None; 426s for (long i=0; i<__cpy_stop_0; i+=1) { 426s do(i); 426s } 426s 426s long __cpy_stop_1 = None; 426s for (long i=0; i<__cpy_stop_1; i+=1) { 426s ; 426s } 426s 426s ____________________________ test_for_with_symbols _____________________________ 426s 426s def test_for_with_symbols(): 426s # Given 426s src = dedent(''' 426s n = declare('int') 426s n = 25 426s for i in range(n): 426s pass 426s for i in range(0, n+1, step()): 426s pass 426s ''') 426s 426s # When 426s > code = py2c(src) 426s ^^^^^^^^^ 426s 426s ../../build.UwX/src/compyle/tests/test_translator.py:733: 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s ../../build.UwX/src/compyle/translator.py:65: in py2c 426s result = converter.convert(src) 426s ^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/translator.py:252: in convert 426s result = self.visit(code) 426s ^^^^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/translator.py:652: in visit_Module 426s return '\n'.join( 426s ../../build.UwX/src/compyle/translator.py:653: in 426s self.visit(item) for item in node.body 426s ^^^^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s 426s self = 426s node = Assign(targets=[Name(id='n', ctx=Store())], value=Call(func=Name(id='declare', ctx=Load(...)), args=[Constant(value='int', kind=None)], keywords=[]), type_comment=None) 426s 426s def visit_Assign(self, node): 426s if len(node.targets) != 1: 426s self.error("Assignments can have only one target.", node) 426s left, right = node.targets[0], node.value 426s if isinstance(right, ast.Call) and \ 426s isinstance(right.func, ast.Name) and right.func.id == 'declare': 426s > if not isinstance(right.args[0], ast.Str): 426s ^^^^^^^ 426s E AttributeError: module 'ast' has no attribute 'Str' 426s 426s ../../build.UwX/src/compyle/translator.py:344: AttributeError 426s _________________________ test_nested_for_with_symbols _________________________ 426s 426s def test_nested_for_with_symbols(): 426s # Given 426s src = dedent(''' 426s n = declare('int') 426s n = 25 426s for i in range(n): 426s for j in range(0, n+1, step()): 426s pass 426s for i in range(n+1): 426s for j in range(0, n+2, step()): 426s pass 426s ''') 426s 426s # When 426s > code = py2c(src) 426s ^^^^^^^^^ 426s 426s ../../build.UwX/src/compyle/tests/test_translator.py:774: 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s ../../build.UwX/src/compyle/translator.py:65: in py2c 426s result = converter.convert(src) 426s ^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/translator.py:252: in convert 426s result = self.visit(code) 426s ^^^^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/translator.py:652: in visit_Module 426s return '\n'.join( 426s ../../build.UwX/src/compyle/translator.py:653: in 426s self.visit(item) for item in node.body 426s ^^^^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s 426s self = 426s node = Assign(targets=[Name(id='n', ctx=Store())], value=Call(func=Name(id='declare', ctx=Load(...)), args=[Constant(value='int', kind=None)], keywords=[]), type_comment=None) 426s 426s def visit_Assign(self, node): 426s if len(node.targets) != 1: 426s self.error("Assignments can have only one target.", node) 426s left, right = node.targets[0], node.value 426s if isinstance(right, ast.Call) and \ 426s isinstance(right.func, ast.Name) and right.func.id == 'declare': 426s > if not isinstance(right.args[0], ast.Str): 426s ^^^^^^^ 426s E AttributeError: module 'ast' has no attribute 'Str' 426s 426s ../../build.UwX/src/compyle/translator.py:344: AttributeError 426s ___________________________ test_with_two_functions ____________________________ 426s 426s def test_with_two_functions(): 426s # Given 426s src = dedent(''' 426s def f(): 426s n = declare('int') 426s n = 20 426s for i in range(n): 426s pass 426s for i in range(n): 426s pass 426s def g(): 426s n = declare('int') 426s n = 20 426s for i in range(n): 426s pass 426s for i in range(n): 426s pass 426s ''') 426s > code = py2c(src) 426s ^^^^^^^^^ 426s 426s ../../build.UwX/src/compyle/tests/test_translator.py:833: 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s ../../build.UwX/src/compyle/translator.py:65: in py2c 426s result = converter.convert(src) 426s ^^^^^^^^^^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/translator.py:252: in convert 426s result = self.visit(code) 426s ^^^^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/translator.py:652: in visit_Module 426s return '\n'.join( 426s ../../build.UwX/src/compyle/translator.py:653: in 426s self.visit(item) for item in node.body 426s ^^^^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s ../../build.UwX/src/compyle/translator.py:584: in visit_FunctionDef 426s body = '\n'.join(self._indent_block(self.visit(item)) 426s ../../build.UwX/src/compyle/translator.py:584: in 426s body = '\n'.join(self._indent_block(self.visit(item)) 426s ^^^^^^^^^^^^^^^^ 426s /usr/lib/python3.14/ast.py:506: in visit 426s return visitor(node) 426s ^^^^^^^^^^^^^ 426s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 426s 426s self = 426s node = Assign(targets=[Name(id='n', ctx=Store())], value=Call(func=Name(id='declare', ctx=Load(...)), args=[Constant(value='int', kind=None)], keywords=[]), type_comment=None) 426s 426s def visit_Assign(self, node): 426s if len(node.targets) != 1: 426s self.error("Assignments can have only one target.", node) 426s left, right = node.targets[0], node.value 426s if isinstance(right, ast.Call) and \ 426s isinstance(right.func, ast.Name) and right.func.id == 'declare': 426s > if not isinstance(right.args[0], ast.Str): 426s ^^^^^^^ 426s E AttributeError: module 'ast' has no attribute 'Str' 426s 426s ../../build.UwX/src/compyle/translator.py:344: AttributeError 426s _________________________ test_for_with_break_continue _________________________ 426s 426s def test_for_with_break_continue(): 426s # Given 426s src = dedent(''' 426s for i in range(10): 426s if i%7 == 0: 426s break 426s if i%2 == 0: 426s continue 426s do(i) 426s ''') 426s 426s # When 426s code = py2c(src) 426s 426s # Then 426s expect = dedent(''' 426s for (long i=0; i<10; i+=1) { 426s if (((i % 7) == 0)) { 426s break; 426s } 426s if (((i % 2) == 0)) { 426s continue; 426s } 426s do(i); 426s } 426s ''') 426s > assert code.strip() == expect.strip() 426s E AssertionError: assert 'long __cpy_s... do(i);\n}' == 'for (long i=... do(i);\n}' 426s E 426s E + long __cpy_stop_0 = None; 426s E - for (long i=0; i<10; i+=1) { 426s E ? ^ 426s E + for (long i=0; i<__cpy_stop_0; i+=1) { 426s E ? ^^^^^^^^^^^ 426s E - if (((i % 7) == 0)) {... 426s E 426s E ...Full output truncated (13 lines hidden), use '-vv' to show 426s 426s ../../build.UwX/src/compyle/tests/test_translator.py:895: AssertionError 426s ----------------------------- Captured stdout call ----------------------------- 426s long __cpy_stop_0 = None; 426s for (long i=0; i<__cpy_stop_0; i+=1) { 426s if (((i % None) == None)) { 426s break; 426s } 426s if (((i % None) == None)) { 426s continue; 426s } 426s do(i); 426s } 426s 426s ____________________________ test_attribute_access _____________________________ 426s 426s def test_attribute_access(): 426s # Given 426s src = dedent(''' 426s self.x = 1 426s ''') 426s 426s # When 426s code = py2c(src) 426s 426s # Then 426s expect = dedent(''' 426s double self; 426s self->x = 1; 426s ''') 426s 426s > assert code.strip() == expect.strip() 426s E AssertionError: assert 'double self;...lf->x = None;' == 'double self;\nself->x = 1;' 426s E 426s E double self; 426s E - self->x = 1; 426s E ? ^ 426s E + self->x = None; 426s E ? ^^^^ 426s 426s ../../build.UwX/src/compyle/tests/test_translator.py:975: AssertionError 426s ----------------------------- Captured stdout call ----------------------------- 426s double self; 426s self->x = None; 426s _____________________ test_declare_call_declares_variable ______________________ 426s 426s def test_declare_call_declares_variable(): 426s # Given 426s src = dedent(''' 426s x = declare('int') 426s x += 1 426s ''') 426s 426s # When 428s > code = py2c(src) 428s ^^^^^^^^^ 428s 428s ../../build.UwX/src/compyle/tests/test_translator.py:986: 428s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 428s ../../build.UwX/src/compyle/translator.py:65: in py2c 428s result = converter.convert(src) 428s ^^^^^^^^^^^^^^^^^^^^^^ 428s ../../build.UwX/src/compyle/translator.py:252: in convert 428s result = self.visit(code) 428s ^^^^^^^^^^^^^^^^ 428s /usr/lib/python3.14/ast.py:506: in visit 428s return visitor(node) 428s ^^^^^^^^^^^^^ 428s ../../build.UwX/src/compyle/translator.py:652: in visit_Module 428s return '\n'.join( 428s ../../build.UwX/src/compyle/translator.py:653: in 428s self.visit(item) for item in node.body 428s ^^^^^^^^^^^^^^^^ 428s /usr/lib/python3.14/ast.py:506: in visit 428s return visitor(node) 428s ^^^^^^^^^^^^^ 428s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 428s 428s self = 428s node = Assign(targets=[Name(id='x', ctx=Store())], value=Call(func=Name(id='declare', ctx=Load(...)), args=[Constant(value='int', kind=None)], keywords=[]), type_comment=None) 428s 428s def visit_Assign(self, node): 428s if len(node.targets) != 1: 428s self.error("Assignments can have only one target.", node) 428s left, right = node.targets[0], node.value 428s if isinstance(right, ast.Call) and \ 428s isinstance(right.func, ast.Name) and right.func.id == 'declare': 428s > if not isinstance(right.args[0], ast.Str): 428s ^^^^^^^ 428s E AttributeError: module 'ast' has no attribute 'Str' 428s 428s ../../build.UwX/src/compyle/translator.py:344: AttributeError 428s _____________________________ test_declare_matrix ______________________________ 428s 428s def test_declare_matrix(): 428s # Given 428s src = dedent(''' 428s x = declare('matrix((3,))') 428s do(x[0]) 428s ''') 428s 428s # When 428s > code = py2c(src) 428s ^^^^^^^^^ 428s 428s ../../build.UwX/src/compyle/tests/test_translator.py:1004: 428s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 428s ../../build.UwX/src/compyle/translator.py:65: in py2c 428s result = converter.convert(src) 428s ^^^^^^^^^^^^^^^^^^^^^^ 428s ../../build.UwX/src/compyle/translator.py:252: in convert 428s result = self.visit(code) 428s ^^^^^^^^^^^^^^^^ 428s /usr/lib/python3.14/ast.py:506: in visit 428s return visitor(node) 428s ^^^^^^^^^^^^^ 428s ../../build.UwX/src/compyle/translator.py:652: in visit_Module 428s return '\n'.join( 428s ../../build.UwX/src/compyle/translator.py:653: in 428s self.visit(item) for item in node.body 428s ^^^^^^^^^^^^^^^^ 428s /usr/lib/python3.14/ast.py:506: in visit 428s return visitor(node) 428s ^^^^^^^^^^^^^ 428s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 428s 428s self = 428s node = Assign(targets=[Name(id='x', ctx=Store())], value=Call(func=Name(id='declare', ctx=Load(...)), args=[Constant(value='matrix((3,))', kind=None)], keywords=[]), type_comment=None) 428s 428s def visit_Assign(self, node): 428s if len(node.targets) != 1: 428s self.error("Assignments can have only one target.", node) 428s left, right = node.targets[0], node.value 428s if isinstance(right, ast.Call) and \ 428s isinstance(right.func, ast.Name) and right.func.id == 'declare': 428s > if not isinstance(right.args[0], ast.Str): 428s ^^^^^^^ 428s E AttributeError: module 'ast' has no attribute 'Str' 428s 428s ../../build.UwX/src/compyle/translator.py:344: AttributeError 428s ________________ test_declare_call_declares_multiple_variables _________________ 428s 428s def test_declare_call_declares_multiple_variables(): 428s # Given 428s src = dedent(''' 428s x, y = declare('int', 2) 428s u, v = declare('matrix(3)', 2) 428s A = declare('matrix((2,2), "long")') 428s ''') 428s 428s # When 428s > code = py2c(src) 428s ^^^^^^^^^ 428s 428s ../../build.UwX/src/compyle/tests/test_translator.py:1055: 428s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 428s ../../build.UwX/src/compyle/translator.py:65: in py2c 428s result = converter.convert(src) 428s ^^^^^^^^^^^^^^^^^^^^^^ 428s ../../build.UwX/src/compyle/translator.py:252: in convert 428s result = self.visit(code) 428s ^^^^^^^^^^^^^^^^ 428s /usr/lib/python3.14/ast.py:506: in visit 428s return visitor(node) 428s ^^^^^^^^^^^^^ 428s ../../build.UwX/src/compyle/translator.py:652: in visit_Module 428s return '\n'.join( 428s ../../build.UwX/src/compyle/translator.py:653: in 428s self.visit(item) for item in node.body 428s ^^^^^^^^^^^^^^^^ 428s /usr/lib/python3.14/ast.py:506: in visit 428s return visitor(node) 428s ^^^^^^^^^^^^^ 428s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 428s 428s self = 428s node = Assign(targets=[Tuple(elts=[Name(id='x', ctx=Store(...)), Name(id='y', ctx=Store(...))], ctx=Store())], value=Call(fun...ctx=Load(...)), args=[Constant(value='int', kind=None), Constant(value=2, kind=None)], keywords=[]), type_comment=None) 428s 428s def visit_Assign(self, node): 428s if len(node.targets) != 1: 428s self.error("Assignments can have only one target.", node) 428s left, right = node.targets[0], node.value 428s if isinstance(right, ast.Call) and \ 428s isinstance(right.func, ast.Name) and right.func.id == 'declare': 428s > if not isinstance(right.args[0], ast.Str): 428s ^^^^^^^ 428s E AttributeError: module 'ast' has no attribute 'Str' 428s 428s ../../build.UwX/src/compyle/translator.py:344: AttributeError 428s __________________________________ test_class __________________________________ 428s 428s def test_class(): 428s # Given 428s src = dedent(''' 428s class Foo(object): 428s def g(self, x=0.0): 428s return x*2.0 428s def f(self, x=0.0): 428s y = x + 1 428s do(self.a, x) 428s z = self.g(y) 428s ''') 428s 428s # When 428s code = py2c(src) 428s 428s # Then 428s expect = dedent(''' 428s double Foo_g(Foo* self, double x) 428s { 428s return (x * 2.0); 428s } 428s 428s void Foo_f(Foo* self, double x) 428s { 428s double y; 428s double z; 428s y = (x + 1); 428s do(self->a, x); 428s z = Foo_g(self, y); 428s } 428s ''') 428s > assert code.strip() == expect.strip() 428s E AssertionError: assert 'double Foo_g...(self, y);\n}' == 'double Foo_g...(self, y);\n}' 428s E 428s E Skipping 42 identical leading characters in diff, use -v to show 428s E - turn (x * 2.0); 428s E ? ^^^ 428s E + turn (x * None); 428s E ? ^^^^ 428s E }... 428s E 428s E ...Full output truncated (12 lines hidden), use '-vv' to show 428s 428s ../../build.UwX/src/compyle/tests/test_translator.py:1097: AssertionError 428s ----------------------------- Captured stdout call ----------------------------- 428s double Foo_g(Foo* self, double x) 428s { 428s return (x * None); 428s } 428s 428s void Foo_f(Foo* self, double x) 428s { 428s double y; 428s double z; 428s y = (x + None); 428s do(self->a, x); 428s z = Foo_g(self, y); 428s } 428s 428s _____________________________ test_wrapping_class ______________________________ 428s 428s def test_wrapping_class(): 428s # Given 428s class Dummy(object): 428s '''Class Docstring''' 428s 428s def __init__(self, x=0, f=0.0, s=''): 428s "Constructor docstring" 428s self.x = x 428s self.f = f 428s self.s = s 428s self._private = 1 428s 428s def method(self): 428s '''Method docstring. 428s ''' 428s pass 428s 428s obj = Dummy() 428s 428s # When 428s c = CConverter() 428s > result = c.parse_instance(obj) 428s ^^^^^^^^^^^^^^^^^^^^^ 428s 428s ../../build.UwX/src/compyle/tests/test_translator.py:1191: 428s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 428s ../../build.UwX/src/compyle/translator.py:297: in parse_instance 428s code += self.convert(src, ignore_methods) 428s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 428s ../../build.UwX/src/compyle/translator.py:252: in convert 428s result = self.visit(code) 428s ^^^^^^^^^^^^^^^^ 428s /usr/lib/python3.14/ast.py:506: in visit 428s return visitor(node) 428s ^^^^^^^^^^^^^ 428s ../../build.UwX/src/compyle/translator.py:652: in visit_Module 428s return '\n'.join( 428s ../../build.UwX/src/compyle/translator.py:653: in 428s self.visit(item) for item in node.body 428s ^^^^^^^^^^^^^^^^ 428s /usr/lib/python3.14/ast.py:506: in visit 428s return visitor(node) 428s ^^^^^^^^^^^^^ 428s ../../build.UwX/src/compyle/translator.py:417: in visit_ClassDef 428s code = [self.visit(x) for x in self._remove_docstring(node.body)] 428s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 428s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 428s 428s self = 428s body = [Expr(value=Constant(value='Class Docstring', kind=None)), FunctionDef(name='__init__', args=arguments(posonlyargs=[],...ethod docstring.\n ', kind=None)), Pass()], decorator_list=[], returns=None, type_comment=None, type_params=[])] 428s 428s def _remove_docstring(self, body): 428s if body and isinstance(body[0], ast.Expr) and \ 428s > isinstance(body[0].value, ast.Str): 428s ^^^^^^^ 428s E AttributeError: module 'ast' has no attribute 'Str' 428s 428s ../../build.UwX/src/compyle/translator.py:228: AttributeError 428s ___________________ test_wrapping_class_with_ignore_methods ____________________ 428s 428s def test_wrapping_class_with_ignore_methods(): 428s # Given 428s class Dummy1(object): 428s '''Class Docstring''' 428s 428s def f(self): 428s pass 428s 428s def not_me(self): 428s pass 428s 428s obj = Dummy1() 428s 428s # When 428s c = CConverter() 428s > result = c.parse_instance(obj, ignore_methods=['not_me']) 428s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 428s 428s ../../build.UwX/src/compyle/tests/test_translator.py:1232: 428s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 428s ../../build.UwX/src/compyle/translator.py:297: in parse_instance 428s code += self.convert(src, ignore_methods) 428s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 428s ../../build.UwX/src/compyle/translator.py:252: in convert 428s result = self.visit(code) 428s ^^^^^^^^^^^^^^^^ 428s /usr/lib/python3.14/ast.py:506: in visit 428s return visitor(node) 428s ^^^^^^^^^^^^^ 428s ../../build.UwX/src/compyle/translator.py:652: in visit_Module 428s return '\n'.join( 428s ../../build.UwX/src/compyle/translator.py:653: in 428s self.visit(item) for item in node.body 428s ^^^^^^^^^^^^^^^^ 428s /usr/lib/python3.14/ast.py:506: in visit 428s return visitor(node) 428s ^^^^^^^^^^^^^ 428s ../../build.UwX/src/compyle/translator.py:417: in visit_ClassDef 428s code = [self.visit(x) for x in self._remove_docstring(node.body)] 428s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 428s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 428s 428s self = 428s body = [Expr(value=Constant(value='Class Docstring', kind=None)), FunctionDef(name='f', args=arguments(posonlyargs=[], args=[...aults=[], kwarg=None, defaults=[]), body=[Pass()], decorator_list=[], returns=None, type_comment=None, type_params=[])] 428s 428s def _remove_docstring(self, body): 428s if body and isinstance(body[0], ast.Expr) and \ 428s > isinstance(body[0].value, ast.Str): 428s ^^^^^^^ 428s E AttributeError: module 'ast' has no attribute 'Str' 428s 428s ../../build.UwX/src/compyle/translator.py:228: AttributeError 428s __________________________ test_cuda_local_conversion __________________________ 428s 428s def test_cuda_local_conversion(): 428s @annotate(xc='ldoublep', yc='lintp') 428s def knl(xc, yc): 428s xc[LID_0] = 1 428s yc[LID_0] = 1 428s 428s # When 428s converter = CUDAConverter() 428s code = converter.parse(knl) 428s 428s # Then 428s expect_1 = dedent(''' 428s WITHIN_KERNEL void knl(int size_xc, int size_yc) 428s { 428s extern LOCAL_MEM float shared_buff[]; 428s double* xc = (double*) shared_buff; 428s int* yc = (int*) &xc[size_xc]; 428s xc[LID_0] = 1; 428s yc[LID_0] = 1; 428s } 428s ''') 428s 428s expect_2 = dedent(''' 428s WITHIN_KERNEL void knl(int size_xc, int size_yc) 428s { 428s extern LOCAL_MEM float shared_buff[]; 428s int* yc = (int*) shared_buff; 428s double* xc = (double*) &yc[size_yc]; 428s xc[LID_0] = 1; 428s yc[LID_0] = 1; 428s } 428s ''') 428s 428s > assert code.strip() == expect_1.strip() or code.strip() == expect_2.strip() 428s E AssertionError: assert ('WITHIN_KERNE...0] = None;\n}' == 'WITHIN_KERNE...ID_0] = 1;\n}' 428s E 428s E Skipping 174 identical leading characters in diff, use -v to show 428s E - [LID_0] = 1; 428s E ? ^ 428s E + [LID_0] = None; 428s E ? ^^^^ 428s E - yc[LID_0] = 1;... 428s E 428s E ...Full output truncated (4 lines hidden), use '-vv' to show or 'WITHIN_KERNE...0] = None;\n}' == 'WITHIN_KERNE...ID_0] = 1;\n}' 428s E 428s E Skipping 87 identical leading characters in diff, use -v to show 428s E ff[]; 428s E - int* yc = (int*) shared_buff; 428s E - double* xc = (double*) &yc[size_yc]; 428s E ? ---- ^^ ^^^ 428s E + double* xc = (double*) shared_buff;... 428s E 428s E ...Full output truncated (11 lines hidden), use '-vv' to show) 428s 428s ../../build.UwX/src/compyle/tests/test_translator.py:1333: AssertionError 428s ________________________ test_handles_parsing_functions ________________________ 428s 428s def test_handles_parsing_functions(): 428s # Given 428s def f(x=1.0): 428s return x + 1 428s 428s # When 428s t = CConverter() 428s code = t.parse_function(f) 428s 428s # Then 428s expect = dedent(''' 428s double f(double x) 428s { 428s return (x + 1); 428s } 428s ''') 428s > assert code.strip() == expect.strip() 428s E AssertionError: assert 'double f(dou...x + None);\n}' == 'double f(dou...n (x + 1);\n}' 428s E 428s E double f(double x) 428s E { 428s E - return (x + 1); 428s E ? ^ 428s E + return (x + None); 428s E ? ^^^^ 428s E } 428s 428s ../../build.UwX/src/compyle/tests/test_translator.py:1352: AssertionError 428s _______________________________ test_cast_works ________________________________ 428s 428s def test_cast_works(): 428s # Given 428s def f(x=1.0): 428s return cast(x, "float") 428s 428s # When 428s t = OpenCLConverter() 428s > code = t.parse_function(f) 428s ^^^^^^^^^^^^^^^^^^^ 428s 428s ../../build.UwX/src/compyle/tests/test_translator.py:1467: 428s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 428s ../../build.UwX/src/compyle/translator.py:307: in parse_function 428s code = self.convert(src) 428s ^^^^^^^^^^^^^^^^^ 428s ../../build.UwX/src/compyle/translator.py:252: in convert 428s result = self.visit(code) 428s ^^^^^^^^^^^^^^^^ 428s /usr/lib/python3.14/ast.py:506: in visit 428s return visitor(node) 428s ^^^^^^^^^^^^^ 428s ../../build.UwX/src/compyle/translator.py:652: in visit_Module 428s return '\n'.join( 428s ../../build.UwX/src/compyle/translator.py:653: in 428s self.visit(item) for item in node.body 428s ^^^^^^^^^^^^^^^^ 428s /usr/lib/python3.14/ast.py:506: in visit 428s return visitor(node) 428s ^^^^^^^^^^^^^ 428s ../../build.UwX/src/compyle/translator.py:584: in visit_FunctionDef 428s body = '\n'.join(self._indent_block(self.visit(item)) 428s ../../build.UwX/src/compyle/translator.py:584: in 428s body = '\n'.join(self._indent_block(self.visit(item)) 428s ^^^^^^^^^^^^^^^^ 428s /usr/lib/python3.14/ast.py:506: in visit 428s return visitor(node) 428s ^^^^^^^^^^^^^ 428s ../../build.UwX/src/compyle/translator.py:692: in visit_Return 428s return 'return %s;' % (self.visit(node.value)) 428s ^^^^^^^^^^^^^^^^^^^^^^ 428s /usr/lib/python3.14/ast.py:506: in visit 428s return visitor(node) 428s ^^^^^^^^^^^^^ 428s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 428s 428s self = 428s node = Call(func=Name(id='cast', ctx=Load()), args=[Name(id='x', ctx=Load()), Constant(value='float', kind=None)], keywords=[]) 428s 428s def visit_Call(self, node): 428s if isinstance(node.func, ast.Name): 428s if node.func.id == 'address': 428s return '(&%s)' % self.visit(node.args[0]) 428s elif 'atomic' in node.func.id: 428s return self.render_atomic(node.func.id, node.args[0]) 428s elif node.func.id == 'cast': 428s > return '(%s) (%s)' % (node.args[1].s, self.visit(node.args[0])) 428s ^^^^^^^^^^^^^^ 428s E AttributeError: 'Constant' object has no attribute 's' 428s 428s ../../build.UwX/src/compyle/translator.py:388: AttributeError 428s =============================== warnings summary =============================== 428s compyle/tests/test_array.py: 23 warnings 428s /usr/lib/python3/dist-packages/pyopencl/__init__.py:519: CompilerWarning: Non-empty compiler output encountered. Set the environment variable PYOPENCL_COMPILER_OUTPUT=1 to see more. 428s lambda: self._prg.build(options_bytes, devices), 428s 428s compyle/tests/test_array.py::test_trapz[cython] 428s compyle/tests/test_array.py::test_trapz[opencl] 428s /tmp/autopkgtest.KRSzGs/build.UwX/src/compyle/tests/test_array.py:452: DeprecationWarning: `trapz` is deprecated. Use `trapezoid` instead, or one of the numerical integration functions in `scipy.integrate`. 428s assert(array.trapz(y) == np.trapz(yn)) 428s 428s compyle/tests/test_array.py::test_trapz[cython] 428s /tmp/autopkgtest.KRSzGs/build.UwX/src/compyle/tests/test_array.py:453: DeprecationWarning: `trapz` is deprecated. Use `trapezoid` instead, or one of the numerical integration functions in `scipy.integrate`. 428s assert(array.trapz(y, x,) == np.trapz(yn, xn)) 428s 428s compyle/tests/test_array.py::test_trapz[cython] 428s /tmp/autopkgtest.KRSzGs/build.UwX/src/compyle/tests/test_array.py:454: DeprecationWarning: `trapz` is deprecated. Use `trapezoid` instead, or one of the numerical integration functions in `scipy.integrate`. 428s assert(array.trapz(y, dx=3) == np.trapz(yn, dx=3)) 428s 428s compyle/tests/test_jit.py::TestAnnotationHelper::test_non_jit_call_as_call_arg 428s /tmp/autopkgtest.KRSzGs/build.UwX/src/compyle/jit.py:202: UserWarning: 428s In code in line 5: 428s 428s return g(sin(a)) 428s ^ 428s 428s 428s Function called is not marked by the annotate decorator. Argument 428s type defaulting to 'double'. If the type is not 'double', store 428s the value in a variable of appropriate type and use the variable 428s 428s warnings.warn(msg) 428s 428s compyle/tests/test_jit.py::TestAnnotationHelper::test_non_jit_call_in_return 428s /tmp/autopkgtest.KRSzGs/build.UwX/src/compyle/jit.py:202: UserWarning: 428s In code in line 5: 428s 428s return sin(a) 428s ^ 428s 428s 428s Function called is not marked by the annotate decorator. Argument 428s type defaulting to 'double'. If the type is not 'double', store 428s the value in a variable of appropriate type and use the variable 428s 428s warnings.warn(msg) 428s 428s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 428s =========================== short test summary info ============================ 428s FAILED ../../build.UwX/src/compyle/tests/test_array.py::test_remove[opencl] 428s FAILED ../../build.UwX/src/compyle/tests/test_array.py::test_align_multiple[cython] 428s FAILED ../../build.UwX/src/compyle/tests/test_array.py::test_align_multiple[opencl] 428s FAILED ../../build.UwX/src/compyle/tests/test_array.py::test_sort_by_keys[cython] 428s FAILED ../../build.UwX/src/compyle/tests/test_array.py::test_radix_sort_by_keys 428s FAILED ../../build.UwX/src/compyle/tests/test_array.py::test_sort_by_keys_with_output[cython] 428s FAILED ../../build.UwX/src/compyle/tests/test_array.py::test_diff[int32-opencl] 428s FAILED ../../build.UwX/src/compyle/tests/test_array.py::test_diff[float32-opencl] 428s FAILED ../../build.UwX/src/compyle/tests/test_array.py::test_diff[float64-opencl] 428s FAILED ../../build.UwX/src/compyle/tests/test_array.py::test_trapz[opencl] - ... 428s FAILED ../../build.UwX/src/compyle/tests/test_array.py::test_take_bool[opencl-int32] 428s FAILED ../../build.UwX/src/compyle/tests/test_array.py::test_take_bool[opencl-float32] 428s FAILED ../../build.UwX/src/compyle/tests/test_array.py::test_take_bool[opencl-float64] 428s FAILED ../../build.UwX/src/compyle/tests/test_cython_generator.py::TestCythonCodeGenerator::test_function_with_annotation 428s FAILED ../../build.UwX/src/compyle/tests/test_cython_generator.py::TestCythonCodeGenerator::test_method_with_declare 428s FAILED ../../build.UwX/src/compyle/tests/test_cython_generator.py::TestCythonCodeGenerator::test_method_with_matrix 428s FAILED ../../build.UwX/src/compyle/tests/test_cython_generator.py::TestCythonCodeGenerator::test_python3_annotation 428s FAILED ../../build.UwX/src/compyle/tests/test_jit.py::TestAnnotationHelper::test_cast_return_type 428s FAILED ../../build.UwX/src/compyle/tests/test_jit.py::TestAnnotationHelper::test_declare_multiple_variables 428s FAILED ../../build.UwX/src/compyle/tests/test_jit.py::TestAnnotationHelper::test_variable_as_call_arg 428s FAILED ../../build.UwX/src/compyle/tests/test_jit.py::TestAnnotationHelper::test_variable_as_call_arg_nonjit 428s FAILED ../../build.UwX/src/compyle/tests/test_low_level.py::TestKernel::test_kernel_with_local_memory_opencl 428s FAILED ../../build.UwX/src/compyle/tests/test_low_level.py::TestKernel::test_simple_kernel_opencl 428s FAILED ../../build.UwX/src/compyle/tests/test_low_level.py::TestCython::test_cython_code_with_return_and_nested_call 428s FAILED ../../build.UwX/src/compyle/tests/test_low_level.py::TestCython::test_cython_with_externs 428s FAILED ../../build.UwX/src/compyle/tests/test_template.py::test_simple_template 428s FAILED ../../build.UwX/src/compyle/tests/test_template.py::test_that_source_code_is_available 428s FAILED ../../build.UwX/src/compyle/tests/test_template.py::test_template_usable_in_code_generation 428s FAILED ../../build.UwX/src/compyle/tests/test_template.py::test_template_with_extra_args 428s FAILED ../../build.UwX/src/compyle/tests/test_translator.py::test_simple_assignment_expression 428s FAILED ../../build.UwX/src/compyle/tests/test_translator.py::test_multiple_assignment_expressions 428s FAILED ../../build.UwX/src/compyle/tests/test_translator.py::test_if_block - ... 428s FAILED ../../build.UwX/src/compyle/tests/test_translator.py::test_conditionals 428s FAILED ../../build.UwX/src/compyle/tests/test_translator.py::test_ternary_operator 428s FAILED ../../build.UwX/src/compyle/tests/test_translator.py::test_multiple_boolops 428s FAILED ../../build.UwX/src/compyle/tests/test_translator.py::test_multiple_bitwise_ops 428s FAILED ../../build.UwX/src/compyle/tests/test_translator.py::test_power - Ass... 428s FAILED ../../build.UwX/src/compyle/tests/test_translator.py::test_calling_function 428s FAILED ../../build.UwX/src/compyle/tests/test_translator.py::test_calling_printf_with_string 428s FAILED ../../build.UwX/src/compyle/tests/test_translator.py::test_subscript 428s FAILED ../../build.UwX/src/compyle/tests/test_translator.py::test_simple_function_with_return 428s FAILED ../../build.UwX/src/compyle/tests/test_translator.py::test_annotated_function 428s FAILED ../../build.UwX/src/compyle/tests/test_translator.py::test_py3_annotations 428s FAILED ../../build.UwX/src/compyle/tests/test_translator.py::test_calling_method_of_known_type 428s FAILED ../../build.UwX/src/compyle/tests/test_translator.py::test_calling_method_of_known_type_in_method 428s FAILED ../../build.UwX/src/compyle/tests/test_translator.py::test_while - Ass... 428s FAILED ../../build.UwX/src/compyle/tests/test_translator.py::test_bool_true_false_and_none 428s FAILED ../../build.UwX/src/compyle/tests/test_translator.py::test_for - Asser... 428s FAILED ../../build.UwX/src/compyle/tests/test_translator.py::test_for_with_decreasing_range 428s FAILED ../../build.UwX/src/compyle/tests/test_translator.py::test_for_with_declare 428s FAILED ../../build.UwX/src/compyle/tests/test_translator.py::test_two_fors - ... 428s FAILED ../../build.UwX/src/compyle/tests/test_translator.py::test_for_with_symbols 428s FAILED ../../build.UwX/src/compyle/tests/test_translator.py::test_nested_for_with_symbols 428s FAILED ../../build.UwX/src/compyle/tests/test_translator.py::test_with_two_functions 428s FAILED ../../build.UwX/src/compyle/tests/test_translator.py::test_for_with_break_continue 428s FAILED ../../build.UwX/src/compyle/tests/test_translator.py::test_attribute_access 428s FAILED ../../build.UwX/src/compyle/tests/test_translator.py::test_declare_call_declares_variable 428s FAILED ../../build.UwX/src/compyle/tests/test_translator.py::test_declare_matrix 428s FAILED ../../build.UwX/src/compyle/tests/test_translator.py::test_declare_call_declares_multiple_variables 428s FAILED ../../build.UwX/src/compyle/tests/test_translator.py::test_class - Ass... 428s FAILED ../../build.UwX/src/compyle/tests/test_translator.py::test_wrapping_class 428s FAILED ../../build.UwX/src/compyle/tests/test_translator.py::test_wrapping_class_with_ignore_methods 428s FAILED ../../build.UwX/src/compyle/tests/test_translator.py::test_cuda_local_conversion 428s FAILED ../../build.UwX/src/compyle/tests/test_translator.py::test_handles_parsing_functions 428s FAILED ../../build.UwX/src/compyle/tests/test_translator.py::test_cast_works 428s = 65 failed, 201 passed, 57 skipped, 3 deselected, 1 xfailed, 29 warnings in 227.47s (0:03:47) = 429s E: pybuild pybuild:483: test: plugin distutils failed with: exit code=1: cd /tmp/autopkgtest.KRSzGs/autopkgtest_tmp/build; python3.14 -m pytest -k "not test_that_multiple_compiles_do_not_occur_for_same_source and not test_const_as_call_arg and not test_const_in_return" --ignore=/tmp/autopkgtest.KRSzGs/build.UwX/src/compyle/tests/test_cuda.py --ignore=/tmp/autopkgtest.KRSzGs/build.UwX/src/compyle/tests/test_parallel.py /tmp/autopkgtest.KRSzGs/build.UwX/src/compyle/tests 429s I: pybuild base:384: cd /tmp/autopkgtest.KRSzGs/autopkgtest_tmp/build; python3.13 -m pytest -k "not test_that_multiple_compiles_do_not_occur_for_same_source and not test_const_as_call_arg and not test_const_in_return" --ignore=/tmp/autopkgtest.KRSzGs/build.UwX/src/compyle/tests/test_cuda.py --ignore=/tmp/autopkgtest.KRSzGs/build.UwX/src/compyle/tests/test_parallel.py /tmp/autopkgtest.KRSzGs/build.UwX/src/compyle/tests 429s ============================= test session starts ============================== 429s platform linux -- Python 3.13.11, pytest-9.0.2, pluggy-1.6.0 429s rootdir: /tmp/autopkgtest.KRSzGs/build.UwX/src 429s configfile: pyproject.toml 429s plugins: typeguard-4.4.4 429s collected 327 items / 3 deselected / 324 selected 429s 448s ../../build.UwX/src/compyle/tests/test_array.py ..s..s..s..s..s..s..s..s [ 7%] 557s ..s..s..s..s..s..s...s.sx..s..s..s..s..s..s..s..s..s..s..s..s..s..s..s.. [ 29%] 658s s..s..s..s..s..s..s..s..s..s..ss..s......sss......sss......sss..s [ 49%] 658s ../../build.UwX/src/compyle/tests/test_ast_utils.py ....... [ 51%] 658s ../../build.UwX/src/compyle/tests/test_capture_stream.py ..... [ 53%] 658s ../../build.UwX/src/compyle/tests/test_config.py ............ [ 57%] 658s ../../build.UwX/src/compyle/tests/test_cython_generator.py ............. [ 61%] 658s .... [ 62%] 660s ../../build.UwX/src/compyle/tests/test_ext_module.py ........ [ 64%] 660s ../../build.UwX/src/compyle/tests/test_gpu_struct.py s [ 65%] 660s ../../build.UwX/src/compyle/tests/test_jit.py .......................... [ 73%] 660s [ 73%] 677s ../../build.UwX/src/compyle/tests/test_low_level.py s.s..... [ 75%] 677s ../../build.UwX/src/compyle/tests/test_profile.py ..... [ 77%] 685s ../../build.UwX/src/compyle/tests/test_template.py ..... [ 78%] 685s ../../build.UwX/src/compyle/tests/test_translator.py ................... [ 84%] 685s .................................... [ 95%] 685s ../../build.UwX/src/compyle/tests/test_transpiler.py ... [ 96%] 685s ../../build.UwX/src/compyle/tests/test_types.py ....... [ 98%] 685s ../../build.UwX/src/compyle/tests/test_utils.py .... [100%] 685s 685s =============================== warnings summary =============================== 685s compyle/tests/test_array.py: 8 warnings 685s compyle/tests/test_jit.py: 5 warnings 685s compyle/tests/test_translator.py: 93 warnings 685s /usr/lib/python3.13/ast.py:422: DeprecationWarning: visit_Num is deprecated; add visit_Constant 685s return visitor(node) 685s 685s compyle/tests/test_array.py: 4 warnings 685s compyle/tests/test_translator.py: 93 warnings 685s /tmp/autopkgtest.KRSzGs/build.UwX/src/compyle/translator.py:682: DeprecationWarning: Attribute n is deprecated and will be removed in Python 3.14; use value instead 685s return str(node.n) 685s 685s compyle/tests/test_array.py: 31 warnings 685s /usr/lib/python3/dist-packages/pyopencl/__init__.py:519: CompilerWarning: Non-empty compiler output encountered. Set the environment variable PYOPENCL_COMPILER_OUTPUT=1 to see more. 685s lambda: self._prg.build(options_bytes, devices), 685s 685s compyle/tests/test_array.py: 5 warnings 685s compyle/tests/test_template.py: 5 warnings 685s /tmp/autopkgtest.KRSzGs/build.UwX/src/compyle/template.py:52: DeprecationWarning: Attribute s is deprecated and will be removed in Python 3.14; use value instead 685s template = body[-1].value.s 685s 685s compyle/tests/test_array.py::test_align_multiple[opencl] 685s compyle/tests/test_array.py::test_align_multiple[opencl] 685s compyle/tests/test_translator.py::test_simple_function_with_return 685s compyle/tests/test_translator.py::test_calling_method_of_known_type_in_method 685s compyle/tests/test_translator.py::test_wrapping_class 685s compyle/tests/test_translator.py::test_wrapping_class 685s compyle/tests/test_translator.py::test_wrapping_class_with_ignore_methods 685s /tmp/autopkgtest.KRSzGs/build.UwX/src/compyle/translator.py:228: DeprecationWarning: ast.Str is deprecated and will be removed in Python 3.14; use ast.Constant instead 685s isinstance(body[0].value, ast.Str): 685s 685s compyle/tests/test_array.py::test_radix_sort_by_keys 685s compyle/tests/test_array.py::test_radix_sort_by_keys 685s compyle/tests/test_array.py::test_radix_sort_by_keys 685s compyle/tests/test_array.py::test_radix_sort_by_keys 685s compyle/tests/test_jit.py::TestAnnotationHelper::test_declare_multiple_variables 685s compyle/tests/test_jit.py::TestAnnotationHelper::test_declare_multiple_variables 685s compyle/tests/test_jit.py::TestAnnotationHelper::test_no_return_value 685s compyle/tests/test_jit.py::TestAnnotationHelper::test_no_return_value 685s compyle/tests/test_jit.py::TestAnnotationHelper::test_undeclared_variable_declaration_in_for 685s /tmp/autopkgtest.KRSzGs/build.UwX/src/compyle/jit.py:299: DeprecationWarning: Attribute n is deprecated and will be removed in Python 3.14; use value instead 685s return get_ctype_from_arg(node.n) 685s 685s compyle/tests/test_array.py::test_diff[int32-opencl] 685s compyle/tests/test_array.py::test_diff[float32-opencl] 685s compyle/tests/test_array.py::test_diff[float64-opencl] 685s compyle/tests/test_array.py::test_trapz[opencl] 685s compyle/tests/test_jit.py::TestAnnotationHelper::test_declare_multiple_variables 685s compyle/tests/test_jit.py::TestAnnotationHelper::test_variable_as_call_arg 685s compyle/tests/test_jit.py::TestAnnotationHelper::test_variable_as_call_arg_nonjit 685s /tmp/autopkgtest.KRSzGs/build.UwX/src/compyle/jit.py:205: DeprecationWarning: ast.Str is deprecated and will be removed in Python 3.14; use ast.Constant instead 685s if not isinstance(node.args[0], ast.Str): 685s 685s compyle/tests/test_array.py::test_diff[int32-opencl] 685s compyle/tests/test_array.py::test_diff[float32-opencl] 685s compyle/tests/test_array.py::test_diff[float64-opencl] 685s compyle/tests/test_array.py::test_trapz[opencl] 685s compyle/tests/test_jit.py::TestAnnotationHelper::test_declare_multiple_variables 685s compyle/tests/test_jit.py::TestAnnotationHelper::test_variable_as_call_arg 685s compyle/tests/test_jit.py::TestAnnotationHelper::test_variable_as_call_arg_nonjit 685s /tmp/autopkgtest.KRSzGs/build.UwX/src/compyle/jit.py:207: DeprecationWarning: Attribute s is deprecated and will be removed in Python 3.14; use value instead 685s type_str = node.args[0].s 685s 685s compyle/tests/test_array.py: 3 warnings 685s compyle/tests/test_low_level.py: 2 warnings 685s compyle/tests/test_translator.py: 14 warnings 685s /tmp/autopkgtest.KRSzGs/build.UwX/src/compyle/translator.py:344: DeprecationWarning: ast.Str is deprecated and will be removed in Python 3.14; use ast.Constant instead 685s if not isinstance(right.args[0], ast.Str): 685s 685s compyle/tests/test_array.py: 3 warnings 685s compyle/tests/test_low_level.py: 2 warnings 685s compyle/tests/test_translator.py: 14 warnings 685s /tmp/autopkgtest.KRSzGs/build.UwX/src/compyle/translator.py:346: DeprecationWarning: Attribute s is deprecated and will be removed in Python 3.14; use value instead 685s type = right.args[0].s 685s 685s compyle/tests/test_array.py::test_trapz[cython] 685s compyle/tests/test_array.py::test_trapz[opencl] 685s /tmp/autopkgtest.KRSzGs/build.UwX/src/compyle/tests/test_array.py:452: DeprecationWarning: `trapz` is deprecated. Use `trapezoid` instead, or one of the numerical integration functions in `scipy.integrate`. 685s assert(array.trapz(y) == np.trapz(yn)) 685s 685s compyle/tests/test_array.py::test_trapz[cython] 685s compyle/tests/test_array.py::test_trapz[opencl] 685s /tmp/autopkgtest.KRSzGs/build.UwX/src/compyle/tests/test_array.py:453: DeprecationWarning: `trapz` is deprecated. Use `trapezoid` instead, or one of the numerical integration functions in `scipy.integrate`. 685s assert(array.trapz(y, x,) == np.trapz(yn, xn)) 685s 685s compyle/tests/test_array.py::test_trapz[cython] 685s compyle/tests/test_array.py::test_trapz[opencl] 685s /tmp/autopkgtest.KRSzGs/build.UwX/src/compyle/tests/test_array.py:454: DeprecationWarning: `trapz` is deprecated. Use `trapezoid` instead, or one of the numerical integration functions in `scipy.integrate`. 685s assert(array.trapz(y, dx=3) == np.trapz(yn, dx=3)) 685s 685s compyle/tests/test_cython_generator.py::TestCythonCodeGenerator::test_function_with_annotation 685s compyle/tests/test_cython_generator.py::TestCythonCodeGenerator::test_method_with_declare 685s compyle/tests/test_cython_generator.py::TestCythonCodeGenerator::test_method_with_declare 685s compyle/tests/test_cython_generator.py::TestCythonCodeGenerator::test_method_with_matrix 685s compyle/tests/test_cython_generator.py::TestCythonCodeGenerator::test_method_with_matrix 685s compyle/tests/test_cython_generator.py::TestCythonCodeGenerator::test_python3_annotation 685s compyle/tests/test_low_level.py::TestCython::test_cython_code_with_return_and_nested_call 685s compyle/tests/test_low_level.py::TestCython::test_cython_code_with_return_and_nested_call 685s compyle/tests/test_low_level.py::TestCython::test_cython_with_externs 685s /tmp/autopkgtest.KRSzGs/build.UwX/src/compyle/cython_generator.py:129: DeprecationWarning: ast.Str is deprecated and will be removed in Python 3.14; use ast.Constant instead 685s if not isinstance(arg0, ast.Str): 685s 685s compyle/tests/test_cython_generator.py::TestCythonCodeGenerator::test_function_with_annotation 685s compyle/tests/test_cython_generator.py::TestCythonCodeGenerator::test_method_with_declare 685s compyle/tests/test_cython_generator.py::TestCythonCodeGenerator::test_method_with_declare 685s compyle/tests/test_cython_generator.py::TestCythonCodeGenerator::test_method_with_matrix 685s compyle/tests/test_cython_generator.py::TestCythonCodeGenerator::test_method_with_matrix 685s compyle/tests/test_cython_generator.py::TestCythonCodeGenerator::test_python3_annotation 685s compyle/tests/test_low_level.py::TestCython::test_cython_code_with_return_and_nested_call 685s compyle/tests/test_low_level.py::TestCython::test_cython_code_with_return_and_nested_call 685s compyle/tests/test_low_level.py::TestCython::test_cython_with_externs 685s /tmp/autopkgtest.KRSzGs/build.UwX/src/compyle/cython_generator.py:133: DeprecationWarning: Attribute s is deprecated and will be removed in Python 3.14; use value instead 685s return get_declare_info(arg0.s) 685s 685s compyle/tests/test_ext_module.py::TestExtModule::test_that_multiple_writes_do_not_occur_for_same_source 685s compyle/tests/test_ext_module.py::TestExtModule::test_that_multiple_writes_do_not_occur_for_same_source 685s compyle/tests/test_ext_module.py::TestExtModule::test_that_multiple_writes_do_not_occur_for_same_source 685s compyle/tests/test_ext_module.py::TestExtModule::test_that_multiple_writes_do_not_occur_for_same_source 685s compyle/tests/test_ext_module.py::TestExtModule::test_that_multiple_writes_do_not_occur_for_same_source 685s /usr/lib/python3.13/multiprocessing/popen_fork.py:67: DeprecationWarning: This process (pid=2348) is multi-threaded, use of fork() may lead to deadlocks in the child. 685s self.pid = os.fork() 685s 685s compyle/tests/test_jit.py::TestAnnotationHelper::test_cast_return_type 685s /tmp/autopkgtest.KRSzGs/build.UwX/src/compyle/jit.py:211: DeprecationWarning: ast.Str is deprecated and will be removed in Python 3.14; use ast.Constant instead 685s if not isinstance(node.args[1], ast.Str): 685s 685s compyle/tests/test_jit.py::TestAnnotationHelper::test_cast_return_type 685s /tmp/autopkgtest.KRSzGs/build.UwX/src/compyle/jit.py:213: DeprecationWarning: Attribute s is deprecated and will be removed in Python 3.14; use value instead 685s return node.args[1].s 685s 685s compyle/tests/test_jit.py::TestAnnotationHelper::test_non_jit_call_as_call_arg 685s /tmp/autopkgtest.KRSzGs/build.UwX/src/compyle/jit.py:202: UserWarning: 685s In code in line 5: 685s 685s return g(sin(a)) 685s ^ 685s 685s 685s Function called is not marked by the annotate decorator. Argument 685s type defaulting to 'double'. If the type is not 'double', store 685s the value in a variable of appropriate type and use the variable 685s 685s warnings.warn(msg) 685s 685s compyle/tests/test_jit.py::TestAnnotationHelper::test_non_jit_call_in_return 685s /tmp/autopkgtest.KRSzGs/build.UwX/src/compyle/jit.py:202: UserWarning: 685s In code in line 5: 685s 685s return sin(a) 685s ^ 685s 685s 685s Function called is not marked by the annotate decorator. Argument 685s type defaulting to 'double'. If the type is not 'double', store 685s the value in a variable of appropriate type and use the variable 685s 685s warnings.warn(msg) 685s 685s compyle/tests/test_template.py::test_simple_template 685s compyle/tests/test_template.py::test_simple_template 685s compyle/tests/test_template.py::test_that_source_code_is_available 685s /tmp/autopkgtest.KRSzGs/build.UwX/src/compyle/template.py:53: DeprecationWarning: Attribute s is deprecated and will be removed in Python 3.14; use value instead 685s docstring = body[0].value.s if len(body) == 2 else '' 685s 685s compyle/tests/test_translator.py::test_calling_printf_with_string 685s compyle/tests/test_translator.py::test_calling_printf_with_string 685s /usr/lib/python3.13/ast.py:422: DeprecationWarning: visit_Str is deprecated; add visit_Constant 685s return visitor(node) 685s 685s compyle/tests/test_translator.py::test_calling_printf_with_string 685s compyle/tests/test_translator.py::test_calling_printf_with_string 685s /tmp/autopkgtest.KRSzGs/build.UwX/src/compyle/translator.py:700: DeprecationWarning: Attribute s is deprecated and will be removed in Python 3.14; use value instead 685s return r'"%s"' % node.s 685s 685s compyle/tests/test_translator.py::test_bool_true_false_and_none 685s compyle/tests/test_translator.py::test_bool_true_false_and_none 685s compyle/tests/test_translator.py::test_bool_true_false_and_none 685s compyle/tests/test_translator.py::test_bool_true_false_and_none 685s /usr/lib/python3.13/ast.py:422: DeprecationWarning: visit_NameConstant is deprecated; add visit_Constant 685s return visitor(node) 685s 685s compyle/tests/test_translator.py::test_cast_works 685s compyle/tests/test_translator.py::test_cast_works 685s /tmp/autopkgtest.KRSzGs/build.UwX/src/compyle/translator.py:388: DeprecationWarning: Attribute s is deprecated and will be removed in Python 3.14; use value instead 685s return '(%s) (%s)' % (node.args[1].s, self.visit(node.args[0])) 685s 685s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 685s = 266 passed, 57 skipped, 3 deselected, 1 xfailed, 358 warnings in 256.06s (0:04:16) = 686s pybuild-autopkgtest: error: pybuild --autopkgtest --test-pytest -i python{version} -p "3.14 3.13" returned exit code 13 686s make: *** [/tmp/eiyBYrbfMQ/run:4: pybuild-autopkgtest] Error 25 686s pybuild-autopkgtest: error: /tmp/eiyBYrbfMQ/run pybuild-autopkgtest returned exit code 2 686s autopkgtest [04:48:51]: test pybuild-autopkgtest: -----------------------] 691s autopkgtest [04:48:56]: test pybuild-autopkgtest: - - - - - - - - - - results - - - - - - - - - - 691s pybuild-autopkgtest FAIL non-zero exit status 25 695s autopkgtest [04:49:00]: @@@@@@@@@@@@@@@@@@@@ summary 695s pybuild-autopkgtest FAIL non-zero exit status 25