0s autopkgtest [16:39:24]: starting date and time: 2025-03-15 16:39:24+0000 0s autopkgtest [16:39:24]: git checkout: 325255d2 Merge branch 'pin-any-arch' into 'ubuntu/production' 0s autopkgtest [16:39:24]: host juju-7f2275-prod-proposed-migration-environment-9; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.of0rbnwg/out --timeout-copy=6000 --setup-commands 'ln -s /dev/null /etc/systemd/system/bluetooth.service; printf "http_proxy=http://squid.internal:3128\nhttps_proxy=http://squid.internal:3128\nno_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com,radosgw.ps5.canonical.com\n" >> /etc/environment' --apt-pocket=proposed=src:glibc --apt-upgrade r-cran-spatstat.geom --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=glibc/2.41-1ubuntu2 -- lxd -r lxd-armhf-10.145.243.254 lxd-armhf-10.145.243.254:autopkgtest/ubuntu/plucky/armhf 20s autopkgtest [16:39:44]: testbed dpkg architecture: armhf 23s autopkgtest [16:39:47]: testbed apt version: 2.9.33 29s autopkgtest [16:39:53]: @@@@@@@@@@@@@@@@@@@@ test bed setup 33s autopkgtest [16:39:57]: testbed release detected to be: None 43s autopkgtest [16:40:07]: updating testbed package index (apt update) 45s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [126 kB] 45s Get:2 http://ftpmaster.internal/ubuntu plucky InRelease [257 kB] 45s Get:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease [126 kB] 46s Get:4 http://ftpmaster.internal/ubuntu plucky-security InRelease [126 kB] 46s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.8 kB] 46s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [379 kB] 46s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [99.7 kB] 46s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf Packages [114 kB] 46s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf c-n-f Metadata [1832 B] 46s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted armhf c-n-f Metadata [116 B] 46s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf Packages [312 kB] 47s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf c-n-f Metadata [11.1 kB] 47s Get:13 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf Packages [3472 B] 47s Get:14 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf c-n-f Metadata [240 B] 47s Get:15 http://ftpmaster.internal/ubuntu plucky/universe Sources [21.0 MB] 70s Get:16 http://ftpmaster.internal/ubuntu plucky/multiverse Sources [299 kB] 70s Get:17 http://ftpmaster.internal/ubuntu plucky/main Sources [1394 kB] 71s Get:18 http://ftpmaster.internal/ubuntu plucky/main armhf Packages [1378 kB] 73s Get:19 http://ftpmaster.internal/ubuntu plucky/main armhf c-n-f Metadata [29.4 kB] 73s Get:20 http://ftpmaster.internal/ubuntu plucky/restricted armhf c-n-f Metadata [108 B] 73s Get:21 http://ftpmaster.internal/ubuntu plucky/universe armhf Packages [15.1 MB] 89s Get:22 http://ftpmaster.internal/ubuntu plucky/multiverse armhf Packages [172 kB] 91s Fetched 41.0 MB in 46s (883 kB/s) 92s Reading package lists... 98s autopkgtest [16:41:02]: upgrading testbed (apt dist-upgrade and autopurge) 100s Reading package lists... 100s Building dependency tree... 100s Reading state information... 101s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 101s Starting 2 pkgProblemResolver with broken count: 0 101s Done 102s Entering ResolveByKeep 102s 102s Calculating upgrade... 103s The following packages will be upgraded: 103s libc-bin libc6 locales pinentry-curses python3-jinja2 sos strace 103s 7 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 103s Need to get 8683 kB of archives. 103s After this operation, 23.6 kB of additional disk space will be used. 103s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf libc6 armhf 2.41-1ubuntu2 [2932 kB] 106s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf libc-bin armhf 2.41-1ubuntu2 [545 kB] 107s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf locales all 2.41-1ubuntu2 [4246 kB] 112s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf strace armhf 6.13+ds-1ubuntu1 [445 kB] 112s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf pinentry-curses armhf 1.3.1-2ubuntu3 [40.6 kB] 112s Get:6 http://ftpmaster.internal/ubuntu plucky/main armhf python3-jinja2 all 3.1.5-2ubuntu1 [109 kB] 112s Get:7 http://ftpmaster.internal/ubuntu plucky/main armhf sos all 4.9.0-5 [365 kB] 113s Preconfiguring packages ... 113s Fetched 8683 kB in 10s (880 kB/s) 114s (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 ... 64655 files and directories currently installed.) 114s Preparing to unpack .../libc6_2.41-1ubuntu2_armhf.deb ... 114s Unpacking libc6:armhf (2.41-1ubuntu2) over (2.41-1ubuntu1) ... 114s Setting up libc6:armhf (2.41-1ubuntu2) ... 114s (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 ... 64655 files and directories currently installed.) 114s Preparing to unpack .../libc-bin_2.41-1ubuntu2_armhf.deb ... 114s Unpacking libc-bin (2.41-1ubuntu2) over (2.41-1ubuntu1) ... 114s Setting up libc-bin (2.41-1ubuntu2) ... 115s (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 ... 64655 files and directories currently installed.) 115s Preparing to unpack .../locales_2.41-1ubuntu2_all.deb ... 115s Unpacking locales (2.41-1ubuntu2) over (2.41-1ubuntu1) ... 115s Preparing to unpack .../strace_6.13+ds-1ubuntu1_armhf.deb ... 115s Unpacking strace (6.13+ds-1ubuntu1) over (6.11-0ubuntu1) ... 115s Preparing to unpack .../pinentry-curses_1.3.1-2ubuntu3_armhf.deb ... 115s Unpacking pinentry-curses (1.3.1-2ubuntu3) over (1.3.1-2ubuntu2) ... 115s Preparing to unpack .../python3-jinja2_3.1.5-2ubuntu1_all.deb ... 116s Unpacking python3-jinja2 (3.1.5-2ubuntu1) over (3.1.5-2) ... 116s Preparing to unpack .../archives/sos_4.9.0-5_all.deb ... 116s Unpacking sos (4.9.0-5) over (4.9.0-4) ... 116s Setting up sos (4.9.0-5) ... 116s Setting up pinentry-curses (1.3.1-2ubuntu3) ... 116s Setting up locales (2.41-1ubuntu2) ... 117s Generating locales (this might take a while)... 120s en_US.UTF-8... done 120s Generation complete. 120s Setting up python3-jinja2 (3.1.5-2ubuntu1) ... 120s Setting up strace (6.13+ds-1ubuntu1) ... 120s Processing triggers for man-db (2.13.0-1) ... 121s Processing triggers for systemd (257.3-1ubuntu3) ... 124s Reading package lists... 124s Building dependency tree... 124s Reading state information... 124s Starting pkgProblemResolver with broken count: 0 124s Starting 2 pkgProblemResolver with broken count: 0 125s Done 125s Solving dependencies... 126s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 127s autopkgtest [16:41:31]: rebooting testbed after setup commands that affected boot 166s autopkgtest [16:42:10]: testbed running kernel: Linux 6.8.0-52-generic #53~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Jan 15 18:10:51 UTC 2 191s autopkgtest [16:42:34]: @@@@@@@@@@@@@@@@@@@@ apt-source r-cran-spatstat.geom 201s Get:1 http://ftpmaster.internal/ubuntu plucky/universe r-cran-spatstat.geom 3.3-5-1 (dsc) [2418 B] 201s Get:2 http://ftpmaster.internal/ubuntu plucky/universe r-cran-spatstat.geom 3.3-5-1 (tar) [776 kB] 201s Get:3 http://ftpmaster.internal/ubuntu plucky/universe r-cran-spatstat.geom 3.3-5-1 (diff) [3044 B] 201s gpgv: Signature made Fri Jan 31 07:28:48 2025 UTC 201s gpgv: using RSA key 73471499CC60ED9EEE805946C5BD6C8F2295D502 201s gpgv: issuer "plessy@debian.org" 201s gpgv: Can't check signature: No public key 201s dpkg-source: warning: cannot verify inline signature for ./r-cran-spatstat.geom_3.3-5-1.dsc: no acceptable signature found 201s autopkgtest [16:42:45]: testing package r-cran-spatstat.geom version 3.3-5-1 203s autopkgtest [16:42:47]: build not needed 207s autopkgtest [16:42:51]: test run-unit-test: preparing testbed 208s Reading package lists... 209s Building dependency tree... 209s Reading state information... 209s Starting pkgProblemResolver with broken count: 0 209s Starting 2 pkgProblemResolver with broken count: 0 209s Done 211s The following NEW packages will be installed: 211s fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-mono libblas3 211s libcairo2 libdatrie1 libdeflate0 libfontconfig1 libfreetype6 libgfortran5 211s libgomp1 libgraphite2-3 libharfbuzz0b libice6 libjbig0 libjpeg-turbo8 211s libjpeg8 liblapack3 liblerc4 libpango-1.0-0 libpangocairo-1.0-0 211s libpangoft2-1.0-0 libpaper-utils libpaper2 libpixman-1-0 libsharpyuv0 libsm6 211s libtcl8.6 libthai-data libthai0 libtiff6 libtk8.6 libwebp7 libxcb-render0 211s libxcb-shm0 libxft2 libxrender1 libxss1 libxt6t64 r-base-core r-cran-abind 211s r-cran-deldir r-cran-goftest r-cran-lattice r-cran-matrix r-cran-mgcv 211s r-cran-nlme r-cran-polyclip r-cran-rpart r-cran-spatial r-cran-spatstat 211s r-cran-spatstat.data r-cran-spatstat.explore r-cran-spatstat.geom 211s r-cran-spatstat.linnet r-cran-spatstat.model r-cran-spatstat.random 211s r-cran-spatstat.sparse r-cran-spatstat.univar r-cran-spatstat.utils 211s r-cran-survival r-cran-tensor unzip x11-common xdg-utils zip 211s 0 upgraded, 67 newly installed, 0 to remove and 0 not upgraded. 211s Need to get 80.3 MB of archives. 211s After this operation, 123 MB of additional disk space will be used. 211s Get:1 http://ftpmaster.internal/ubuntu plucky/main armhf libfreetype6 armhf 2.13.3+dfsg-1 [330 kB] 211s Get:2 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-dejavu-mono all 2.37-8 [502 kB] 212s Get:3 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-dejavu-core all 2.37-8 [835 kB] 212s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf fontconfig-config armhf 2.15.0-2ubuntu1 [37.5 kB] 212s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf libfontconfig1 armhf 2.15.0-2ubuntu1 [114 kB] 212s Get:6 http://ftpmaster.internal/ubuntu plucky/main armhf fontconfig armhf 2.15.0-2ubuntu1 [190 kB] 213s Get:7 http://ftpmaster.internal/ubuntu plucky/main armhf libblas3 armhf 3.12.1-2 [132 kB] 213s Get:8 http://ftpmaster.internal/ubuntu plucky/main armhf libpixman-1-0 armhf 0.44.0-3 [183 kB] 213s Get:9 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-render0 armhf 1.17.0-2 [15.3 kB] 213s Get:10 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-shm0 armhf 1.17.0-2 [5774 B] 213s Get:11 http://ftpmaster.internal/ubuntu plucky/main armhf libxrender1 armhf 1:0.9.10-1.1build1 [16.0 kB] 213s Get:12 http://ftpmaster.internal/ubuntu plucky/main armhf libcairo2 armhf 1.18.2-2 [484 kB] 213s Get:13 http://ftpmaster.internal/ubuntu plucky/main armhf libdatrie1 armhf 0.2.13-3build1 [15.7 kB] 213s Get:14 http://ftpmaster.internal/ubuntu plucky/main armhf libdeflate0 armhf 1.23-1 [38.5 kB] 213s Get:15 http://ftpmaster.internal/ubuntu plucky/main armhf libgfortran5 armhf 15-20250222-0ubuntu1 [330 kB] 214s Get:16 http://ftpmaster.internal/ubuntu plucky/main armhf libgomp1 armhf 15-20250222-0ubuntu1 [128 kB] 214s Get:17 http://ftpmaster.internal/ubuntu plucky/main armhf libgraphite2-3 armhf 1.3.14-2ubuntu1 [64.8 kB] 214s Get:18 http://ftpmaster.internal/ubuntu plucky/main armhf libharfbuzz0b armhf 10.2.0-1 [464 kB] 214s Get:19 http://ftpmaster.internal/ubuntu plucky/main armhf x11-common all 1:7.7+23ubuntu3 [21.7 kB] 214s Get:20 http://ftpmaster.internal/ubuntu plucky/main armhf libice6 armhf 2:1.1.1-1 [36.5 kB] 214s Get:21 http://ftpmaster.internal/ubuntu plucky/main armhf libjpeg-turbo8 armhf 2.1.5-3ubuntu2 [127 kB] 214s Get:22 http://ftpmaster.internal/ubuntu plucky/main armhf libjpeg8 armhf 8c-2ubuntu11 [2148 B] 214s Get:23 http://ftpmaster.internal/ubuntu plucky/main armhf liblapack3 armhf 3.12.1-2 [2091 kB] 216s Get:24 http://ftpmaster.internal/ubuntu plucky/main armhf liblerc4 armhf 4.0.0+ds-5ubuntu1 [160 kB] 217s Get:25 http://ftpmaster.internal/ubuntu plucky/main armhf libthai-data all 0.1.29-2build1 [158 kB] 217s Get:26 http://ftpmaster.internal/ubuntu plucky/main armhf libthai0 armhf 0.1.29-2build1 [15.2 kB] 217s Get:27 http://ftpmaster.internal/ubuntu plucky/main armhf libpango-1.0-0 armhf 1.56.2-1 [216 kB] 217s Get:28 http://ftpmaster.internal/ubuntu plucky/main armhf libpangoft2-1.0-0 armhf 1.56.2-1 [43.6 kB] 217s Get:29 http://ftpmaster.internal/ubuntu plucky/main armhf libpangocairo-1.0-0 armhf 1.56.2-1 [25.1 kB] 217s Get:30 http://ftpmaster.internal/ubuntu plucky/main armhf libpaper2 armhf 2.2.5-0.3 [16.3 kB] 217s Get:31 http://ftpmaster.internal/ubuntu plucky/main armhf libpaper-utils armhf 2.2.5-0.3 [14.2 kB] 217s Get:32 http://ftpmaster.internal/ubuntu plucky/main armhf libsharpyuv0 armhf 1.5.0-0.1 [16.4 kB] 217s Get:33 http://ftpmaster.internal/ubuntu plucky/main armhf libsm6 armhf 2:1.2.4-1 [15.1 kB] 217s Get:34 http://ftpmaster.internal/ubuntu plucky/main armhf libtcl8.6 armhf 8.6.16+dfsg-1 [909 kB] 218s Get:35 http://ftpmaster.internal/ubuntu plucky/main armhf libjbig0 armhf 2.1-6.1ubuntu2 [24.9 kB] 218s Get:36 http://ftpmaster.internal/ubuntu plucky/main armhf libwebp7 armhf 1.5.0-0.1 [188 kB] 218s Get:37 http://ftpmaster.internal/ubuntu plucky/main armhf libtiff6 armhf 4.5.1+git230720-4ubuntu4 [179 kB] 218s Get:38 http://ftpmaster.internal/ubuntu plucky/main armhf libxft2 armhf 2.3.6-1build1 [37.4 kB] 218s Get:39 http://ftpmaster.internal/ubuntu plucky/main armhf libxss1 armhf 1:1.2.3-1build3 [6500 B] 218s Get:40 http://ftpmaster.internal/ubuntu plucky/main armhf libtk8.6 armhf 8.6.16-1 [686 kB] 219s Get:41 http://ftpmaster.internal/ubuntu plucky/main armhf libxt6t64 armhf 1:1.2.1-1.2build1 [145 kB] 219s Get:42 http://ftpmaster.internal/ubuntu plucky/main armhf zip armhf 3.0-14ubuntu2 [164 kB] 219s Get:43 http://ftpmaster.internal/ubuntu plucky/main armhf unzip armhf 6.0-28ubuntu6 [167 kB] 220s Get:44 http://ftpmaster.internal/ubuntu plucky/main armhf xdg-utils all 1.2.1-2ubuntu1 [66.0 kB] 220s Get:45 http://ftpmaster.internal/ubuntu plucky/universe armhf r-base-core armhf 4.4.3-1 [28.2 MB] 244s Get:46 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-abind all 1.4-8-1 [66.9 kB] 244s Get:47 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-deldir armhf 2.0-4-1build1 [268 kB] 244s Get:48 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-goftest armhf 1.2-3-1 [58.6 kB] 244s Get:49 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-lattice armhf 0.22-6-1 [1363 kB] 245s Get:50 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-matrix armhf 1.7-3-1 [4039 kB] 249s Get:51 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-nlme armhf 3.1.167-1 [2306 kB] 251s Get:52 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-mgcv armhf 1.9-1-1 [3205 kB] 254s Get:53 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-polyclip armhf 1.10-7-1 [109 kB] 254s Get:54 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-survival armhf 3.8-3-1 [8196 kB] 262s Get:55 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-rpart armhf 4.1.24-1 [661 kB] 263s Get:56 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-spatial armhf 7.3-18-1 [131 kB] 263s Get:57 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-spatstat.utils armhf 3.1-2-1 [379 kB] 263s Get:58 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-spatstat.data all 3.1-4-1 [4047 kB] 268s Get:59 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-spatstat.univar armhf 3.1-1-1build1 [305 kB] 268s Get:60 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-spatstat.geom armhf 3.3-5-1 [3917 kB] 272s Get:61 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-spatstat.random armhf 3.3-2-1 [1151 kB] 274s Get:62 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-tensor all 1.5-4 [15.7 kB] 274s Get:63 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-spatstat.sparse armhf 3.1-0-1 [216 kB] 274s Get:64 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-spatstat.explore armhf 3.3-4-1 [3271 kB] 277s Get:65 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-spatstat.model armhf 3.3-4-1 [3397 kB] 281s Get:66 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-spatstat.linnet armhf 3.2-5-1 [1505 kB] 283s Get:67 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-spatstat armhf 3.3-1-1 [4121 kB] 287s Preconfiguring packages ... 288s Fetched 80.3 MB in 1min 16s (1051 kB/s) 288s Selecting previously unselected package libfreetype6:armhf. 288s (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 ... 64655 files and directories currently installed.) 288s Preparing to unpack .../00-libfreetype6_2.13.3+dfsg-1_armhf.deb ... 288s Unpacking libfreetype6:armhf (2.13.3+dfsg-1) ... 288s Selecting previously unselected package fonts-dejavu-mono. 288s Preparing to unpack .../01-fonts-dejavu-mono_2.37-8_all.deb ... 288s Unpacking fonts-dejavu-mono (2.37-8) ... 288s Selecting previously unselected package fonts-dejavu-core. 288s Preparing to unpack .../02-fonts-dejavu-core_2.37-8_all.deb ... 288s Unpacking fonts-dejavu-core (2.37-8) ... 288s Selecting previously unselected package fontconfig-config. 288s Preparing to unpack .../03-fontconfig-config_2.15.0-2ubuntu1_armhf.deb ... 288s Unpacking fontconfig-config (2.15.0-2ubuntu1) ... 288s Selecting previously unselected package libfontconfig1:armhf. 288s Preparing to unpack .../04-libfontconfig1_2.15.0-2ubuntu1_armhf.deb ... 288s Unpacking libfontconfig1:armhf (2.15.0-2ubuntu1) ... 288s Selecting previously unselected package fontconfig. 288s Preparing to unpack .../05-fontconfig_2.15.0-2ubuntu1_armhf.deb ... 288s Unpacking fontconfig (2.15.0-2ubuntu1) ... 288s Selecting previously unselected package libblas3:armhf. 288s Preparing to unpack .../06-libblas3_3.12.1-2_armhf.deb ... 288s Unpacking libblas3:armhf (3.12.1-2) ... 288s Selecting previously unselected package libpixman-1-0:armhf. 288s Preparing to unpack .../07-libpixman-1-0_0.44.0-3_armhf.deb ... 288s Unpacking libpixman-1-0:armhf (0.44.0-3) ... 288s Selecting previously unselected package libxcb-render0:armhf. 288s Preparing to unpack .../08-libxcb-render0_1.17.0-2_armhf.deb ... 288s Unpacking libxcb-render0:armhf (1.17.0-2) ... 288s Selecting previously unselected package libxcb-shm0:armhf. 288s Preparing to unpack .../09-libxcb-shm0_1.17.0-2_armhf.deb ... 288s Unpacking libxcb-shm0:armhf (1.17.0-2) ... 288s Selecting previously unselected package libxrender1:armhf. 288s Preparing to unpack .../10-libxrender1_1%3a0.9.10-1.1build1_armhf.deb ... 288s Unpacking libxrender1:armhf (1:0.9.10-1.1build1) ... 289s Selecting previously unselected package libcairo2:armhf. 289s Preparing to unpack .../11-libcairo2_1.18.2-2_armhf.deb ... 289s Unpacking libcairo2:armhf (1.18.2-2) ... 289s Selecting previously unselected package libdatrie1:armhf. 289s Preparing to unpack .../12-libdatrie1_0.2.13-3build1_armhf.deb ... 289s Unpacking libdatrie1:armhf (0.2.13-3build1) ... 289s Selecting previously unselected package libdeflate0:armhf. 289s Preparing to unpack .../13-libdeflate0_1.23-1_armhf.deb ... 289s Unpacking libdeflate0:armhf (1.23-1) ... 289s Selecting previously unselected package libgfortran5:armhf. 289s Preparing to unpack .../14-libgfortran5_15-20250222-0ubuntu1_armhf.deb ... 289s Unpacking libgfortran5:armhf (15-20250222-0ubuntu1) ... 289s Selecting previously unselected package libgomp1:armhf. 289s Preparing to unpack .../15-libgomp1_15-20250222-0ubuntu1_armhf.deb ... 289s Unpacking libgomp1:armhf (15-20250222-0ubuntu1) ... 289s Selecting previously unselected package libgraphite2-3:armhf. 289s Preparing to unpack .../16-libgraphite2-3_1.3.14-2ubuntu1_armhf.deb ... 289s Unpacking libgraphite2-3:armhf (1.3.14-2ubuntu1) ... 289s Selecting previously unselected package libharfbuzz0b:armhf. 289s Preparing to unpack .../17-libharfbuzz0b_10.2.0-1_armhf.deb ... 289s Unpacking libharfbuzz0b:armhf (10.2.0-1) ... 289s Selecting previously unselected package x11-common. 289s Preparing to unpack .../18-x11-common_1%3a7.7+23ubuntu3_all.deb ... 289s Unpacking x11-common (1:7.7+23ubuntu3) ... 289s Selecting previously unselected package libice6:armhf. 289s Preparing to unpack .../19-libice6_2%3a1.1.1-1_armhf.deb ... 289s Unpacking libice6:armhf (2:1.1.1-1) ... 289s Selecting previously unselected package libjpeg-turbo8:armhf. 289s Preparing to unpack .../20-libjpeg-turbo8_2.1.5-3ubuntu2_armhf.deb ... 289s Unpacking libjpeg-turbo8:armhf (2.1.5-3ubuntu2) ... 289s Selecting previously unselected package libjpeg8:armhf. 289s Preparing to unpack .../21-libjpeg8_8c-2ubuntu11_armhf.deb ... 289s Unpacking libjpeg8:armhf (8c-2ubuntu11) ... 289s Selecting previously unselected package liblapack3:armhf. 289s Preparing to unpack .../22-liblapack3_3.12.1-2_armhf.deb ... 289s Unpacking liblapack3:armhf (3.12.1-2) ... 289s Selecting previously unselected package liblerc4:armhf. 289s Preparing to unpack .../23-liblerc4_4.0.0+ds-5ubuntu1_armhf.deb ... 289s Unpacking liblerc4:armhf (4.0.0+ds-5ubuntu1) ... 289s Selecting previously unselected package libthai-data. 289s Preparing to unpack .../24-libthai-data_0.1.29-2build1_all.deb ... 289s Unpacking libthai-data (0.1.29-2build1) ... 289s Selecting previously unselected package libthai0:armhf. 289s Preparing to unpack .../25-libthai0_0.1.29-2build1_armhf.deb ... 289s Unpacking libthai0:armhf (0.1.29-2build1) ... 289s Selecting previously unselected package libpango-1.0-0:armhf. 289s Preparing to unpack .../26-libpango-1.0-0_1.56.2-1_armhf.deb ... 289s Unpacking libpango-1.0-0:armhf (1.56.2-1) ... 289s Selecting previously unselected package libpangoft2-1.0-0:armhf. 289s Preparing to unpack .../27-libpangoft2-1.0-0_1.56.2-1_armhf.deb ... 289s Unpacking libpangoft2-1.0-0:armhf (1.56.2-1) ... 289s Selecting previously unselected package libpangocairo-1.0-0:armhf. 289s Preparing to unpack .../28-libpangocairo-1.0-0_1.56.2-1_armhf.deb ... 289s Unpacking libpangocairo-1.0-0:armhf (1.56.2-1) ... 289s Selecting previously unselected package libpaper2:armhf. 289s Preparing to unpack .../29-libpaper2_2.2.5-0.3_armhf.deb ... 289s Unpacking libpaper2:armhf (2.2.5-0.3) ... 289s Selecting previously unselected package libpaper-utils. 289s Preparing to unpack .../30-libpaper-utils_2.2.5-0.3_armhf.deb ... 289s Unpacking libpaper-utils (2.2.5-0.3) ... 289s Selecting previously unselected package libsharpyuv0:armhf. 290s Preparing to unpack .../31-libsharpyuv0_1.5.0-0.1_armhf.deb ... 290s Unpacking libsharpyuv0:armhf (1.5.0-0.1) ... 290s Selecting previously unselected package libsm6:armhf. 290s Preparing to unpack .../32-libsm6_2%3a1.2.4-1_armhf.deb ... 290s Unpacking libsm6:armhf (2:1.2.4-1) ... 290s Selecting previously unselected package libtcl8.6:armhf. 290s Preparing to unpack .../33-libtcl8.6_8.6.16+dfsg-1_armhf.deb ... 290s Unpacking libtcl8.6:armhf (8.6.16+dfsg-1) ... 290s Selecting previously unselected package libjbig0:armhf. 290s Preparing to unpack .../34-libjbig0_2.1-6.1ubuntu2_armhf.deb ... 290s Unpacking libjbig0:armhf (2.1-6.1ubuntu2) ... 290s Selecting previously unselected package libwebp7:armhf. 290s Preparing to unpack .../35-libwebp7_1.5.0-0.1_armhf.deb ... 290s Unpacking libwebp7:armhf (1.5.0-0.1) ... 290s Selecting previously unselected package libtiff6:armhf. 290s Preparing to unpack .../36-libtiff6_4.5.1+git230720-4ubuntu4_armhf.deb ... 290s Unpacking libtiff6:armhf (4.5.1+git230720-4ubuntu4) ... 290s Selecting previously unselected package libxft2:armhf. 290s Preparing to unpack .../37-libxft2_2.3.6-1build1_armhf.deb ... 290s Unpacking libxft2:armhf (2.3.6-1build1) ... 290s Selecting previously unselected package libxss1:armhf. 290s Preparing to unpack .../38-libxss1_1%3a1.2.3-1build3_armhf.deb ... 290s Unpacking libxss1:armhf (1:1.2.3-1build3) ... 290s Selecting previously unselected package libtk8.6:armhf. 290s Preparing to unpack .../39-libtk8.6_8.6.16-1_armhf.deb ... 290s Unpacking libtk8.6:armhf (8.6.16-1) ... 290s Selecting previously unselected package libxt6t64:armhf. 290s Preparing to unpack .../40-libxt6t64_1%3a1.2.1-1.2build1_armhf.deb ... 290s Unpacking libxt6t64:armhf (1:1.2.1-1.2build1) ... 290s Selecting previously unselected package zip. 290s Preparing to unpack .../41-zip_3.0-14ubuntu2_armhf.deb ... 290s Unpacking zip (3.0-14ubuntu2) ... 290s Selecting previously unselected package unzip. 290s Preparing to unpack .../42-unzip_6.0-28ubuntu6_armhf.deb ... 290s Unpacking unzip (6.0-28ubuntu6) ... 290s Selecting previously unselected package xdg-utils. 290s Preparing to unpack .../43-xdg-utils_1.2.1-2ubuntu1_all.deb ... 290s Unpacking xdg-utils (1.2.1-2ubuntu1) ... 290s Selecting previously unselected package r-base-core. 290s Preparing to unpack .../44-r-base-core_4.4.3-1_armhf.deb ... 290s Unpacking r-base-core (4.4.3-1) ... 291s Selecting previously unselected package r-cran-abind. 291s Preparing to unpack .../45-r-cran-abind_1.4-8-1_all.deb ... 291s Unpacking r-cran-abind (1.4-8-1) ... 291s Selecting previously unselected package r-cran-deldir. 291s Preparing to unpack .../46-r-cran-deldir_2.0-4-1build1_armhf.deb ... 291s Unpacking r-cran-deldir (2.0-4-1build1) ... 291s Selecting previously unselected package r-cran-goftest. 291s Preparing to unpack .../47-r-cran-goftest_1.2-3-1_armhf.deb ... 291s Unpacking r-cran-goftest (1.2-3-1) ... 291s Selecting previously unselected package r-cran-lattice. 291s Preparing to unpack .../48-r-cran-lattice_0.22-6-1_armhf.deb ... 291s Unpacking r-cran-lattice (0.22-6-1) ... 291s Selecting previously unselected package r-cran-matrix. 291s Preparing to unpack .../49-r-cran-matrix_1.7-3-1_armhf.deb ... 291s Unpacking r-cran-matrix (1.7-3-1) ... 291s Selecting previously unselected package r-cran-nlme. 291s Preparing to unpack .../50-r-cran-nlme_3.1.167-1_armhf.deb ... 291s Unpacking r-cran-nlme (3.1.167-1) ... 291s Selecting previously unselected package r-cran-mgcv. 291s Preparing to unpack .../51-r-cran-mgcv_1.9-1-1_armhf.deb ... 291s Unpacking r-cran-mgcv (1.9-1-1) ... 291s Selecting previously unselected package r-cran-polyclip. 291s Preparing to unpack .../52-r-cran-polyclip_1.10-7-1_armhf.deb ... 291s Unpacking r-cran-polyclip (1.10-7-1) ... 291s Selecting previously unselected package r-cran-survival. 291s Preparing to unpack .../53-r-cran-survival_3.8-3-1_armhf.deb ... 291s Unpacking r-cran-survival (3.8-3-1) ... 291s Selecting previously unselected package r-cran-rpart. 291s Preparing to unpack .../54-r-cran-rpart_4.1.24-1_armhf.deb ... 291s Unpacking r-cran-rpart (4.1.24-1) ... 291s Selecting previously unselected package r-cran-spatial. 291s Preparing to unpack .../55-r-cran-spatial_7.3-18-1_armhf.deb ... 291s Unpacking r-cran-spatial (7.3-18-1) ... 291s Selecting previously unselected package r-cran-spatstat.utils. 291s Preparing to unpack .../56-r-cran-spatstat.utils_3.1-2-1_armhf.deb ... 291s Unpacking r-cran-spatstat.utils (3.1-2-1) ... 292s Selecting previously unselected package r-cran-spatstat.data. 292s Preparing to unpack .../57-r-cran-spatstat.data_3.1-4-1_all.deb ... 292s Unpacking r-cran-spatstat.data (3.1-4-1) ... 292s Selecting previously unselected package r-cran-spatstat.univar. 292s Preparing to unpack .../58-r-cran-spatstat.univar_3.1-1-1build1_armhf.deb ... 292s Unpacking r-cran-spatstat.univar (3.1-1-1build1) ... 292s Selecting previously unselected package r-cran-spatstat.geom. 292s Preparing to unpack .../59-r-cran-spatstat.geom_3.3-5-1_armhf.deb ... 292s Unpacking r-cran-spatstat.geom (3.3-5-1) ... 292s Selecting previously unselected package r-cran-spatstat.random. 292s Preparing to unpack .../60-r-cran-spatstat.random_3.3-2-1_armhf.deb ... 292s Unpacking r-cran-spatstat.random (3.3-2-1) ... 292s Selecting previously unselected package r-cran-tensor. 292s Preparing to unpack .../61-r-cran-tensor_1.5-4_all.deb ... 292s Unpacking r-cran-tensor (1.5-4) ... 292s Selecting previously unselected package r-cran-spatstat.sparse. 292s Preparing to unpack .../62-r-cran-spatstat.sparse_3.1-0-1_armhf.deb ... 292s Unpacking r-cran-spatstat.sparse (3.1-0-1) ... 292s Selecting previously unselected package r-cran-spatstat.explore. 292s Preparing to unpack .../63-r-cran-spatstat.explore_3.3-4-1_armhf.deb ... 292s Unpacking r-cran-spatstat.explore (3.3-4-1) ... 292s Selecting previously unselected package r-cran-spatstat.model. 292s Preparing to unpack .../64-r-cran-spatstat.model_3.3-4-1_armhf.deb ... 292s Unpacking r-cran-spatstat.model (3.3-4-1) ... 292s Selecting previously unselected package r-cran-spatstat.linnet. 292s Preparing to unpack .../65-r-cran-spatstat.linnet_3.2-5-1_armhf.deb ... 292s Unpacking r-cran-spatstat.linnet (3.2-5-1) ... 292s Selecting previously unselected package r-cran-spatstat. 292s Preparing to unpack .../66-r-cran-spatstat_3.3-1-1_armhf.deb ... 292s Unpacking r-cran-spatstat (3.3-1-1) ... 292s Setting up libgraphite2-3:armhf (1.3.14-2ubuntu1) ... 292s Setting up libpixman-1-0:armhf (0.44.0-3) ... 292s Setting up libsharpyuv0:armhf (1.5.0-0.1) ... 292s Setting up liblerc4:armhf (4.0.0+ds-5ubuntu1) ... 292s Setting up libxrender1:armhf (1:0.9.10-1.1build1) ... 292s Setting up libdatrie1:armhf (0.2.13-3build1) ... 292s Setting up libxcb-render0:armhf (1.17.0-2) ... 292s Setting up unzip (6.0-28ubuntu6) ... 292s Setting up x11-common (1:7.7+23ubuntu3) ... 293s Setting up libdeflate0:armhf (1.23-1) ... 293s Setting up libxcb-shm0:armhf (1.17.0-2) ... 293s Setting up libgomp1:armhf (15-20250222-0ubuntu1) ... 293s Setting up libjbig0:armhf (2.1-6.1ubuntu2) ... 293s Setting up zip (3.0-14ubuntu2) ... 293s Setting up libblas3:armhf (3.12.1-2) ... 293s 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 293s Setting up libfreetype6:armhf (2.13.3+dfsg-1) ... 293s Setting up fonts-dejavu-mono (2.37-8) ... 293s Setting up libtcl8.6:armhf (8.6.16+dfsg-1) ... 293s Setting up fonts-dejavu-core (2.37-8) ... 293s Setting up libjpeg-turbo8:armhf (2.1.5-3ubuntu2) ... 293s Setting up libgfortran5:armhf (15-20250222-0ubuntu1) ... 293s Setting up libwebp7:armhf (1.5.0-0.1) ... 293s Setting up libharfbuzz0b:armhf (10.2.0-1) ... 293s Setting up libthai-data (0.1.29-2build1) ... 293s Setting up libxss1:armhf (1:1.2.3-1build3) ... 293s Setting up libpaper2:armhf (2.2.5-0.3) ... 293s Setting up xdg-utils (1.2.1-2ubuntu1) ... 293s update-alternatives: using /usr/bin/xdg-open to provide /usr/bin/open (open) in auto mode 293s Setting up libjpeg8:armhf (8c-2ubuntu11) ... 293s Setting up libice6:armhf (2:1.1.1-1) ... 293s Setting up liblapack3:armhf (3.12.1-2) ... 293s 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 293s Setting up fontconfig-config (2.15.0-2ubuntu1) ... 293s Setting up libpaper-utils (2.2.5-0.3) ... 293s Setting up libthai0:armhf (0.1.29-2build1) ... 293s Setting up libtiff6:armhf (4.5.1+git230720-4ubuntu4) ... 293s Setting up libfontconfig1:armhf (2.15.0-2ubuntu1) ... 293s Setting up libsm6:armhf (2:1.2.4-1) ... 293s Setting up fontconfig (2.15.0-2ubuntu1) ... 295s Regenerating fonts cache... done. 295s Setting up libxft2:armhf (2.3.6-1build1) ... 295s Setting up libtk8.6:armhf (8.6.16-1) ... 295s Setting up libpango-1.0-0:armhf (1.56.2-1) ... 295s Setting up libcairo2:armhf (1.18.2-2) ... 295s Setting up libxt6t64:armhf (1:1.2.1-1.2build1) ... 295s Setting up libpangoft2-1.0-0:armhf (1.56.2-1) ... 295s Setting up libpangocairo-1.0-0:armhf (1.56.2-1) ... 295s Setting up r-base-core (4.4.3-1) ... 296s Creating config file /etc/R/Renviron with new version 296s Setting up r-cran-lattice (0.22-6-1) ... 296s Setting up r-cran-nlme (3.1.167-1) ... 296s Setting up r-cran-spatstat.utils (3.1-2-1) ... 296s Setting up r-cran-tensor (1.5-4) ... 296s Setting up r-cran-spatstat.univar (3.1-1-1build1) ... 296s Setting up r-cran-spatial (7.3-18-1) ... 296s Setting up r-cran-abind (1.4-8-1) ... 296s Setting up r-cran-polyclip (1.10-7-1) ... 296s Setting up r-cran-deldir (2.0-4-1build1) ... 296s Setting up r-cran-goftest (1.2-3-1) ... 296s Setting up r-cran-matrix (1.7-3-1) ... 296s Setting up r-cran-spatstat.sparse (3.1-0-1) ... 296s Setting up r-cran-mgcv (1.9-1-1) ... 296s Setting up r-cran-survival (3.8-3-1) ... 296s Setting up r-cran-spatstat.data (3.1-4-1) ... 296s Setting up r-cran-spatstat.geom (3.3-5-1) ... 296s Setting up r-cran-rpart (4.1.24-1) ... 296s Setting up r-cran-spatstat.random (3.3-2-1) ... 296s Setting up r-cran-spatstat.explore (3.3-4-1) ... 296s Setting up r-cran-spatstat.model (3.3-4-1) ... 296s Setting up r-cran-spatstat.linnet (3.2-5-1) ... 296s Setting up r-cran-spatstat (3.3-1-1) ... 296s Processing triggers for install-info (7.1.1-1) ... 296s Processing triggers for libc-bin (2.41-1ubuntu2) ... 296s Processing triggers for man-db (2.13.0-1) ... 305s autopkgtest [16:44:29]: test run-unit-test: [----------------------- 307s BEGIN TEST testsAtoC.R 308s 308s R version 4.4.3 (2025-02-28) -- "Trophy Case" 308s Copyright (C) 2025 The R Foundation for Statistical Computing 308s Platform: arm-unknown-linux-gnueabihf (32-bit) 308s 308s R is free software and comes with ABSOLUTELY NO WARRANTY. 308s You are welcome to redistribute it under certain conditions. 308s Type 'license()' or 'licence()' for distribution details. 308s 308s R is a collaborative project with many contributors. 308s Type 'contributors()' for more information and 308s 'citation()' on how to cite R or R packages in publications. 308s 308s Type 'demo()' for some demos, 'help()' for on-line help, or 308s 'help.start()' for an HTML browser interface to help. 308s Type 'q()' to quit R. 308s 308s > #' 308s > #' Header for all (concatenated) test files 308s > #' 308s > #' Require spatstat.geom 308s > #' Obtain environment variable controlling tests. 308s > #' 308s > #' $Revision: 1.5 $ $Date: 2020/04/30 05:31:37 $ 308s > 308s > require(spatstat.geom) 308s Loading required package: spatstat.geom 308s Loading required package: spatstat.data 309s Loading required package: spatstat.univar 309s spatstat.univar 3.1-1 309s spatstat.geom 3.3-5 309s > FULLTEST <- (nchar(Sys.getenv("SPATSTAT_TEST", unset="")) > 0) 309s > ALWAYS <- TRUE 309s > cat(paste("--------- Executing", 309s + if(FULLTEST) "** ALL **" else "**RESTRICTED** subset of", 309s + "test code -----------\n")) 309s --------- Executing **RESTRICTED** subset of test code ----------- 309s > ## badwindowcheck.R 309s > ## $Revision: 1.3 $ $Date: 2020/04/28 12:58:26 $ 309s > ## 309s > 309s > local({ 309s + if(ALWAYS) { 309s + ## Simple example of self-crossing polygon 309s + x <- read.table("selfcross.txt", header=TRUE) 309s + ## Auto-repair 309s + w <- owin(poly=x) 309s + 309s + ## Real data involving various quirks 309s + b <- read.table("badwindow.txt", header=TRUE) 309s + b <- split(b, factor(b$i)) 309s + b <- lapply(b, function(z) { as.list(z[,-3]) }) 309s + ## make owin without checking 309s + W <- owin(poly=b, check=FALSE, fix=FALSE) 309s + ## Apply stringent checks 309s + owinpolycheck(W,verbose=FALSE) 309s + ## Auto-repair 309s + W2 <- owin(poly=b) 309s + } 309s + }) 310s > 310s > 310s > 310s > 310s > ## tests/closeshave.R 310s > ## check 'closepairs/crosspairs' code 310s > ## validity and memory allocation 310s > ## $Revision: 1.29 $ $Date: 2022/06/06 10:09:56 $ 310s > 310s > ## ------- All this code must be run on every hardware ------- 310s > local({ 310s + r <- 0.12 310s + 310s + close.all <- closepairs(redwood, r) 310s + close.ij <- closepairs(redwood, r, what="indices") 310s + close.ijd <- closepairs(redwood, r, what="ijd") 310s + close.every <- closepairs(redwood, r, what="all", distinct=FALSE) 310s + 310s + ## test agreement 310s + stopifnot(identical(close.ij, close.all[c("i","j")])) 310s + stopifnot(identical(close.ijd, close.all[c("i","j","d")])) 310s + 310s + ## validate basic format of result 310s + checkformat <- function(object, callstring) { 310s + if(length(unique(lengths(object))) > 1) 310s + stop(paste("Result of", callstring, 310s + "contains vectors with different lengths")) 310s + return(invisible(TRUE)) 310s + } 310s + checkformat(close.all, "closepairs(redwood, r)") 310s + checkformat(close.ij, "closepairs(redwood, r, what='indices')") 310s + checkformat(close.ijd, "closepairs(redwood, r, what='ijd')") 310s + checkformat(close.every, 310s + "closepairs(redwood, r, what='all', distinct=FALSE)") 310s + 310s + #' test memory overflow code 310s + close.cigar <- closepairs(redwood, r, what="ijd", nsize=2) 310s + close.cigar <- closepairs(redwood, r, what="ijd", nsize=2, periodic=TRUE) 310s + 310s + #' test special cases 310s + onepoint <- redwood[1] 310s + checkformat(closepairs(onepoint, r), 310s + "closepairs(onepoint, r)") 310s + checkformat(closepairs(onepoint, r, what="indices"), 310s + "closepairs(onepoint, r, what='indices')") 310s + checkformat(closepairs(onepoint, r, what="ijd"), 310s + "closepairs(onepoint, r, what='ijd')") 310s + checkformat(closepairs(onepoint, r, what="all", distinct=FALSE), 310s + "closepairs(onepoint, r, what='all', distinct=FALSE)") 310s + 310s + #' .............. crosspairs .................................. 310s + Y <- split(amacrine) 310s + on <- Y$on 310s + off <- Y$off 310s + 310s + cross.all <- crosspairs(on, off, r) 310s + cross.ij <- crosspairs(on, off, r, what="indices") 310s + cross.ijd <- crosspairs(on, off, r, what="ijd") 310s + cross.every <- crosspairs(on, off, r, what="all", distinct=FALSE) 310s + cross.period <- crosspairs(on, off, r, periodic=TRUE) 310s + cross.exclude <- crosspairs(cells, cells[1:32], 0.1, iX=1:42, iY=1:32) 310s + 310s + ## validate basic format 310s + checkformat(cross.all, "crosspairs(on, off, r)") 310s + checkformat(cross.ij, "crosspairs(on, off, r, what='indices')") 310s + checkformat(cross.ijd, "crosspairs(on, off, r, what='ijd')") 310s + checkformat(cross.every, "crosspairs(on, off, r, what='all', distinct=FALSE)") 310s + checkformat(cross.period, "crosspairs(on, off, r, periodic=TRUE)") 310s + checkformat(cross.exclude, "crosspairs(cells, cells[], r, iX, iY)") 310s + 310s + ## test agreement 310s + stopifnot(identical(cross.ij, cross.all[c("i","j")])) 310s + stopifnot(identical(cross.ijd, cross.all[c("i","j","d")])) 310s + 310s + # closethresh vs closepairs: EXACT agreement 310s + thresh <- 0.08 310s + clt <- closethresh(redwood, r, thresh) 310s + cl <- with(closepairs(redwood, r), 310s + list(i=i, j=j, th = (d <= thresh))) 310s + if(!identical(cl, clt)) 310s + stop("closepairs and closethresh disagree") 310s + 310s + reordered <- function(a) { 310s + o <- with(a, order(i,j)) 310s + as.list(as.data.frame(a)[o,,drop=FALSE]) 310s + } 310s + samesame <- function(a, b) { 310s + identical(reordered(a), reordered(b)) 310s + } 310s + 310s + ## ............................................... 310s + #' compare with older, slower code 310s + op <- spatstat.options(closepairs.newcode=FALSE, 310s + closepairs.altcode=FALSE, 310s + crosspairs.newcode=FALSE) 310s + ## ............................................... 310s + old.close.ij <- closepairs(redwood, r, what="indices") 310s + old.cross.ij <- crosspairs(on, off, r, what="indices") 310s + stopifnot(samesame(close.ij, old.close.ij)) 310s + stopifnot(samesame(cross.ij, old.cross.ij)) 310s + # execute only: 310s + old.close.every <- closepairs(redwood, r, what="all", distinct=FALSE) 310s + old.close.once <- closepairs(redwood, r, what="all", twice=FALSE) 310s + #' test memory overflow code 310s + old.close.cigar <- closepairs(redwood, r, what="ijd", nsize=2) 310s + old.close.cigar <- closepairs(redwood, r, what="ijd", nsize=2, periodic=TRUE) 310s + 310s + ## ............................................... 310s + spatstat.options(op) 310s + ## ............................................... 310s + 310s + ## ............................................... 310s + #' alternative code - execution only 310s + op <- spatstat.options(closepairs.newcode=FALSE, 310s + closepairs.altcode=TRUE) 310s + alt.close.ij <- closepairs(redwood, r, what="indices") 310s + alt.close.ijd <- closepairs(redwood, r, what="ijd") 310s + alt.close.all <- closepairs(redwood, r, what="all") 310s + #' test memory overflow code 310s + alt.close.cigar <- closepairs(redwood, r, what="ijd", nsize=2) 310s + alt.close.cigar <- closepairs(redwood, r, what="ijd", nsize=2, periodic=TRUE) 310s + spatstat.options(op) 310s + ## ............................................... 310s + 310s + # Rasmus' example 310s + R <- 0.04 310s + U <- as.ppp(gridcenters(owin(), 50, 50), W=owin()) 310s + cp <- crosspairs(U, U, R) 310s + G <- matrix(0, npoints(U), npoints(U)) 310s + G[cbind(cp$i, cp$j)] <- 1 310s + if(!isSymmetric(G)) 310s + stop("crosspairs is not symmetric in Rasmus example") 310s + 310s + #' periodic distance 310s + pclose <- function(X, R, method=c("raw", "C")) { 310s + method <- match.arg(method) 310s + switch(method, 310s + raw = { 310s + D <- pairdist(X, periodic=TRUE) 310s + diag(D) <- Inf 310s + result <- which(D <= R, arr.ind=TRUE) 310s + }, 310s + C = { 310s + result <- closepairs(X, R, periodic=TRUE, what="indices") 310s + }) 310s + result <- as.data.frame(result) 310s + colnames(result) <- c("i","j") 310s + return(result) 310s + } 310s + #' pick a threshold value which avoids GCC bug 323 310s + RR <- 0.193 310s + A <- pclose(redwood, RR, "raw") 310s + B <- pclose(redwood, RR, "C") 310s + if(!samesame(A,B)) 310s + stop("closepairs.ppp(periodic=TRUE) gives wrong answer") 310s + 310s + #' other functions that don't have a help file 310s + niets <- crosspairquad(quadscheme(cells), 0.1) 310s + 310s + #' other code blocks 310s + u <- closepairs(cells, 0.09, periodic=TRUE, what="all") 310s + v <- closepairs(cells, 0.07, twice=FALSE, neat=TRUE) 310s + #' tight cluster - guess count does not work 310s + Xc <- runifrect(100, square(0.01)) 310s + Window(Xc) <- square(1) 310s + z <- closepairs(Xc, 0.02, what="indices", distinct=FALSE) 310s + z <- closepairs(Xc, 0.02, what="ijd", distinct=FALSE) 310s + z <- closepairs(Xc, 0.02, what="all", distinct=FALSE) 310s + #' same task, older code 310s + aop <- spatstat.options(closepairs.newcode=FALSE) 310s + z <- closepairs(Xc, 0.02, what="indices", distinct=FALSE) 310s + z <- closepairs(Xc, 0.02, what="ijd", distinct=FALSE) 310s + z <- closepairs(Xc, 0.02, what="all", distinct=FALSE) 310s + spatstat.options(aop) 310s + 310s + #' experimental 310s + r <- 0.08 310s + a <- closepairs(redwood, r) 310s + b <- tweak.closepairs(a, r, 26, 0.1, 0.1) 310s + }) 310s Using nsize = 2 310s Using nsize = 2 310s Using nsize = 2 310s Using nsize = 2 310s Using nsize = 2 310s Using nsize = 2 311s > 311s > local({ 311s + #' Three-dimensional 311s + ## X <- runifpoint3(100) 311s + X <- pp3(runif(100), runif(100), runif(100), box3(c(0,1))) 311s + cl <- closepairs(X, 0.2, what="indices") 311s + cl <- closepairs(X, 0.2, what="ijd") 311s + cl <- closepairs(X, 0.2, distinct=FALSE) 311s + cl <- closepairs(X, 0.2, distinct=FALSE, what="indices") 311s + cl <- closepairs(X, 0.2, distinct=FALSE, what="ijd") 311s + cl <- closepairs(X, 0.2, twice=FALSE, neat=TRUE) 311s + #' Test memory overflow code 311s + cl <- closepairs(X, 0.2, what="ijd", nsize=2) 311s + #' trap obsolete usage 311s + cl <- closepairs(X, 0.2, ordered=FALSE) 311s + #' crosspairs 311s + ## Y <- runifpoint3(100) 311s + Y <- pp3(runif(100), runif(100), runif(100), box3(c(0,1))) 311s + cr <- crosspairs(X, Y, 0.2, what="indices") 311s + cr <- crosspairs(X, Y, 0.2, what="ijd") 311s + #' Test memory overflow code 311s + cr <- crosspairs(X, Y, 0.2, what="ijd", nsize=2) 311s + #' experimental 311s + rr <- 0.2 311s + cl <- closepairs(X, rr) 311s + ii <- cl$i[[1]] 311s + xl <- tweak.closepairs(cl, rr, ii, 0.05, -0.05, 0.05) 311s + }) 311s Using nsize = 2 311s Using nsize = 2 311s Warning message: 311s In closepairs.pp3(X, 0.2, ordered = FALSE) : 311s Obsolete argument 'ordered' has been replaced by 'twice' 311s > 311s > reset.spatstat.options() 311s > #' 311s > #' tests/cluck.R 311s > #' 311s > #' Tests of "click*" functions 311s > #' using queueing feature of spatstatLocator 311s > #' 311s > #' $Revision: 1.8 $ $Date: 2022/10/23 00:45:36 $ 311s > 311s > local({ 311s + #' clickppp 311s + if(ALWAYS) { 311s + spatstat.utils::queueSpatstatLocator(runif(5), runif(5)) 311s + XA <- clickppp(hook=square(0.5)) 311s + } 311s + if(FULLTEST) { 311s + spatstat.utils::queueSpatstatLocator(runif(6), runif(6)) 311s + XB <- clickppp(n=3, types=c("a", "b")) 311s + } 311s + if(ALWAYS) { 311s + #' clickbox 311s + spatstat.utils::queueSpatstatLocator(runif(2), runif(2)) 311s + BB <- clickbox() 311s + #' clickdist 311s + spatstat.utils::queueSpatstatLocator(runif(2), runif(2)) 311s + dd <- clickdist() 311s + #' clickpoly 311s + hex <- vertices(disc(radius=0.4, centre=c(0.5, 0.5), npoly=6)) 311s + spatstat.utils::queueSpatstatLocator(hex) 311s + PA <- clickpoly() 311s + } 311s + if(FULLTEST) { 311s + holy <- vertices(disc(radius=0.2, centre=c(0.5, 0.5), npoly=6)) 311s + holy <- lapply(holy, rev) 311s + spatstat.utils::queueSpatstatLocator(concatxy(hex, holy)) 311s + PB <- clickpoly(np=2, nv=6) 311s + } 311s + if(ALWAYS) { 311s + #' identify.psp 311s + E <- edges(letterR)[c(FALSE, TRUE)] 311s + Z <- ppp(c(2.86, 3.65, 3.15), c(1.69, 1.98, 2.56), window=Frame(letterR)) 311s + spatstat.utils::queueSpatstatLocator(Z) 311s + identify(E) 311s + } 311s + }) 311s Ready to click.. 311s Click two corners of a box 311s to add points: click left mouse button in window 311s to exit: press ESC or click middle mouse button 311s [The last point should NOT repeat the first point] 311s [1] 10 3 15 311s > ## tests/colour.R 311s > ## 311s > ## Colour value manipulation and colour maps 311s > ## 311s > ## $Revision: 1.10 $ $Date: 2022/10/23 00:37:44 $ 311s > ## 311s > 311s > local({ 311s + if(FULLTEST) { 311s + f <- function(n) grey(seq(0,1,length=n)) 311s + z <- to.grey(f) 311s + 311s + h <- colourmap(rainbow(9), range=c(0.01, 0.1)) 311s + plot(h, labelmap=100) 311s + } 311s + 311s + if(ALWAYS) { 311s + a <- colourmap(rainbow(12), range=as.Date(c("2018-01-01", "2018-12-31"))) 311s + print(a) 311s + print(summary(a)) 311s + a(as.Date("2018-06-15")) 311s + 311s + g <- colourmap(rainbow(4), 311s + breaks=as.Date(c("2018-01-01", "2018-04-01", 311s + "2018-07-01", "2018-10-01", "2018-12-31"))) 311s + print(g) 311s + print(summary(g)) 311s + g(as.Date("2018-06-15")) 311s + } 311s + 311s + if(FULLTEST) { 311s + b <- colourmap(rainbow(12), inputs=month.name) 311s + print(b) 311s + print(summary(b)) 311s + to.grey(b) 311s + to.grey(b, transparent=TRUE) 311s + plot(b, vertical=FALSE) 311s + plot(b, vertical=TRUE) 311s + plot(b, vertical=FALSE, gap=0) 311s + plot(b, vertical=TRUE, gap=0) 311s + plot(b, vertical=FALSE, xlim=c(0, 2)) 311s + plot(b, vertical=TRUE, xlim=c(0,2)) 311s + plot(b, vertical=FALSE, ylim=c(0, 2)) 311s + plot(b, vertical=TRUE, ylim=c(0,2)) 311s + 311s + argh <- list(a="iets", e="niets", col=b, f=42) 311s + arr <- col.args.to.grey(argh) 311s + rrgh <- col.args.to.grey(argh, transparent=TRUE) 311s + } 311s + 311s + if(ALWAYS) { 311s + #' constant colour map 311s + colourmap("grey", range=c(0.01, 0.1)) 311s + colourmap("grey", range=as.Date(c("2018-01-01", "2018-12-31"))) 311s + colourmap("grey", 311s + breaks=as.Date(c("2018-01-01", "2018-04-01", 311s + "2018-07-01", "2018-10-01", "2018-12-31"))) 311s + colourmap("grey", inputs=month.name) 311s + } 311s + 311s + if(FULLTEST) { 311s + #' empty colour map 311s + niets <- lut() 311s + print(niets) 311s + summary(niets) 311s + niets <- colourmap() 311s + print(niets) 311s + summary(niets) 311s + plot(niets) 311s + } 311s + 311s + if(FULLTEST) { 311s + #' interpolation - of transparent colours 311s + co <- colourmap(inputs=c(0, 0.5, 1), 311s + rgb(red=c(1,0,0), green=c(0,1,0), blue=c(0,0,1), 311s + alpha=c(0.3, 0.6, 0.9))) 311s + tco <- interp.colourmap(co) 311s + } 311s + }) 311s Colour map for the range [2018-01-01, 2018-12-31] 311s interval colour 311s 1 [2018-01-01, 2018-01-31) #FF0000 311s 2 [2018-01-31, 2018-03-03) #FF8000 311s 3 [2018-03-03, 2018-04-02) #FFFF00 311s 4 [2018-04-02, 2018-05-02) #80FF00 311s 5 [2018-05-02, 2018-06-02) #00FF00 311s 6 [2018-06-02, 2018-07-02) #00FF80 311s 7 [2018-07-02, 2018-08-01) #00FFFF 311s 8 [2018-08-01, 2018-09-01) #0080FF 311s 9 [2018-09-01, 2018-10-01) #0000FF 311s 10 [2018-10-01, 2018-10-31) #8000FF 311s 11 [2018-10-31, 2018-12-01) #FF00FF 311s 12 [2018-12-01, 2018-12-31] #FF0080 311s Colour map for the range [2018-01-01, 2018-12-31] 311s interval colour 311s 1 [2018-01-01, 2018-01-31) #FF0000 311s 2 [2018-01-31, 2018-03-03) #FF8000 311s 3 [2018-03-03, 2018-04-02) #FFFF00 311s 4 [2018-04-02, 2018-05-02) #80FF00 311s 5 [2018-05-02, 2018-06-02) #00FF00 311s 6 [2018-06-02, 2018-07-02) #00FF80 311s 7 [2018-07-02, 2018-08-01) #00FFFF 311s 8 [2018-08-01, 2018-09-01) #0080FF 311s 9 [2018-09-01, 2018-10-01) #0000FF 311s 10 [2018-10-01, 2018-10-31) #8000FF 311s 11 [2018-10-31, 2018-12-01) #FF00FF 311s 12 [2018-12-01, 2018-12-31] #FF0080 311s Colour map for the range [2018-01-01, 2018-12-31] 311s interval colour 311s 1 [2018-01-01, 2018-04-01) #FF0000 311s 2 [2018-04-01, 2018-07-01) #80FF00 311s 3 [2018-07-01, 2018-10-01) #00FFFF 311s 4 [2018-10-01, 2018-12-31] #8000FF 311s Colour map for the range [2018-01-01, 2018-12-31] 311s interval colour 311s 1 [2018-01-01, 2018-04-01) #FF0000 311s 2 [2018-04-01, 2018-07-01) #80FF00 311s 3 [2018-07-01, 2018-10-01) #00FFFF 311s 4 [2018-10-01, 2018-12-31] #8000FF 311s > 311s > # tests/correctC.R 311s > # check for agreement between C and interpreted code 311s > # for interpoint distances etc. 311s > # $Revision: 1.10 $ $Date: 2023/12/08 07:10:34 $ 311s > 311s > if(ALWAYS) { # depends on hardware 311s + local({ 311s + eps <- .Machine$double.eps * 4 311s + 311s + checkagree <- function(A, B, blurb) { 311s + maxerr <- max(abs(A-B)) 311s + cat("Discrepancy", maxerr, "for", blurb, fill=TRUE) 311s + if(maxerr > eps) 311s + stop(paste("Algorithms for", blurb, "disagree")) 311s + return(TRUE) 311s + } 311s + 311s + ## pairdist.ppp 311s + set.seed(190901) 311s + ## X <- rpoispp(42) 311s + X <- runifrect(max(2, rpois(1, 42))) 311s + dC <- pairdist(X, method="C") 311s + dR <- pairdist(X, method="interpreted") 311s + checkagree(dC, dR, "pairdist()") 311s + 311s + dCp <- pairdist(X, periodic=TRUE, method="C") 311s + dRp <- pairdist(X, periodic=TRUE, method="interpreted") 311s + checkagree(dCp, dRp, "pairdist(periodic=TRUE)") 311s + 311s + dCp2 <- pairdist(X, periodic=TRUE, squared=TRUE, method="C") 311s + dRp2 <- pairdist(X, periodic=TRUE, squared=TRUE, method="interpreted") 311s + checkagree(dCp2, dRp2, "pairdist(periodic=TRUE, squared=TRUE)") 311s + 311s + ## crossdist.ppp 311s + ## Y <- rpoispp(42) 311s + Y <- runifrect(max(2, rpois(1, 42))) 311s + dC <- crossdist(X, Y, method="C") 311s + dR <- crossdist(X, Y, method="interpreted") 311s + checkagree(dC, dR, "crossdist()") 311s + 311s + dC <- crossdist(X, Y, periodic=TRUE, method="C") 311s + dR <- crossdist(X, Y, periodic=TRUE, method="interpreted") 311s + checkagree(dC, dR, "crossdist(periodic=TRUE)") 311s + 311s + dC2 <- crossdist(X, Y, periodic=TRUE, squared=TRUE, method="C") 311s + dR2 <- crossdist(X, Y, periodic=TRUE, squared=TRUE, method="interpreted") 311s + checkagree(dC2, dR2, "crossdist(periodic=TRUE, squared=TRUE)") 311s + 311s + # nndist.ppp 311s + nnC <- nndist(X, method="C") 311s + nnI <- nndist(X, method="interpreted") 311s + checkagree(nnC, nnI, "nndist()") 311s + 311s + nn3C <- nndist(X, k=3, method="C") 311s + nn3I <- nndist(X, k=3, method="interpreted") 311s + checkagree(nn3C, nn3I, "nndist(k=3)") 311s + 311s + # nnwhich.ppp 311s + nwC <- nnwhich(X, method="C") 311s + nwI <- nnwhich(X, method="interpreted") 311s + checkagree(nwC, nwI, "nnwhich()") 311s + 311s + nw3C <- nnwhich(X, k=3, method="C") 311s + nw3I <- nnwhich(X, k=3, method="interpreted") 311s + checkagree(nw3C, nw3I, "nnwhich(k=3)") 311s + 311s + }) 311s + 311s + } 311s Discrepancy 0 for pairdist() 311s Discrepancy 0 for pairdist(periodic=TRUE) 311s Discrepancy 0 for pairdist(periodic=TRUE, squared=TRUE) 311s Discrepancy 0 for crossdist() 311s Discrepancy 0 for crossdist(periodic=TRUE) 311s Discrepancy 0 for crossdist(periodic=TRUE, squared=TRUE) 311s Discrepancy 0 for nndist() 311s Discrepancy 0 for nndist(k=3) 311s Discrepancy 0 for nnwhich() 311s Discrepancy 0 for nnwhich(k=3) 311s [1] TRUE 311s > 311s > 311s END TEST testsAtoC.R with result 0 311s BEGIN TEST testsD.R 312s 312s R version 4.4.3 (2025-02-28) -- "Trophy Case" 312s Copyright (C) 2025 The R Foundation for Statistical Computing 312s Platform: arm-unknown-linux-gnueabihf (32-bit) 312s 312s R is free software and comes with ABSOLUTELY NO WARRANTY. 312s You are welcome to redistribute it under certain conditions. 312s Type 'license()' or 'licence()' for distribution details. 312s 312s R is a collaborative project with many contributors. 312s Type 'contributors()' for more information and 312s 'citation()' on how to cite R or R packages in publications. 312s 312s Type 'demo()' for some demos, 'help()' for on-line help, or 312s 'help.start()' for an HTML browser interface to help. 312s Type 'q()' to quit R. 312s 312s > #' 312s > #' Header for all (concatenated) test files 312s > #' 312s > #' Require spatstat.geom 312s > #' Obtain environment variable controlling tests. 312s > #' 312s > #' $Revision: 1.5 $ $Date: 2020/04/30 05:31:37 $ 312s > 312s > require(spatstat.geom) 312s Loading required package: spatstat.geom 312s Loading required package: spatstat.data 313s Loading required package: spatstat.univar 313s spatstat.univar 3.1-1 313s spatstat.geom 3.3-5 313s > FULLTEST <- (nchar(Sys.getenv("SPATSTAT_TEST", unset="")) > 0) 313s > ALWAYS <- TRUE 313s > cat(paste("--------- Executing", 313s + if(FULLTEST) "** ALL **" else "**RESTRICTED** subset of", 313s + "test code -----------\n")) 313s --------- Executing **RESTRICTED** subset of test code ----------- 313s > #' 313s > #' tests/dominic.R 313s > #' 313s > #' Additional tests for Dominic Schuhmacher's code 313s > #' 313s > #' $Revision: 1.5 $ $Date: 2020/12/03 03:23:25 $ 313s > 313s > if(ALWAYS) { # tests C code 313s + local({ 313s + X <- runifrect(10) 313s + Y <- runifrect(10) 313s + 313s + d <- pppdist(X, Y, type="ace", show.rprimal=TRUE) 313s + a <- matchingdist(d, type="ace") 313s + b <- matchingdist(d, type="mat") 313s + 313s + d2 <- pppdist(X, Y, type="spa", ccode=FALSE) 313s + d2 <- pppdist(X, Y, type="spa", ccode=TRUE, auction=FALSE) 313s + d3 <- pppdist(X, Y, type="mat", ccode=TRUE, auction=FALSE) 313s + d4 <- pppdist(X[FALSE], Y[FALSE], matching=TRUE, type="spa") 313s + d4 <- pppdist(X[FALSE], Y[FALSE], matching=FALSE, type="spa") 313s + d4 <- pppdist(X[FALSE], Y[FALSE], matching=TRUE, type="ace") 313s + d4 <- pppdist(X[FALSE], Y[FALSE], matching=FALSE, type="ace") 313s + 313s + m <- pppdist.mat(X, Y, q=Inf, cutoff=0.001) 313s + m2 <- pppdist.mat(X[FALSE], Y[FALSE], q=Inf, cutoff=0.001) 313s + m3 <- pppdist.mat(X[FALSE], Y[FALSE], q=2, cutoff=0.001) 313s + 313s + }) 313s + } 314s > 314s > 314s > 314s > #' 314s > #' tests/discarea.R 314s > #' 314s > #' $Revision: 1.3 $ $Date: 2020/04/28 12:58:26 $ 314s > #' 314s > 314s > if(ALWAYS) { 314s + local({ 314s + u <- c(0.5,0.5) 314s + B <- owin(poly=list(x=c(0.3, 0.5, 0.7, 0.4), y=c(0.3, 0.3, 0.6, 0.8))) 314s + areaGain(u, cells, 0.1, exact=TRUE) 314s + areaGain(u, cells, 0.1, W=NULL) 314s + areaGain(u, cells, 0.1, W=B) 314s + 314s + X <- cells[square(0.4)] 314s + areaLoss(X, 0.1, exact=TRUE) # -> areaLoss.diri 314s + areaLoss(X, 0.1, exact=FALSE) # -> areaLoss.grid 314s + areaLoss.poly(X, 0.1) 314s Warning message: 314s In pppdist.mat(X, Y, q = Inf, cutoff = 0.001) : 314s distance with parameter q = Inf is approximated by distance with parameter q = 10 314s + 314s + areaLoss(X, 0.1, exact=FALSE, method="distmap") # -> areaLoss.grid 314s + areaLoss(X, c(0.1, 0.15), exact=FALSE, method="distmap") # -> areaLoss.grid 314s + }) 314s + } 314s [,1] [,2] 314s [1,] 0.010449219 0.002197266 314s [2,] 0.025009766 0.016718750 314s [3,] 0.019658203 0.004248047 314s [4,] 0.004970703 0.000000000 314s [5,] 0.014111328 0.004951172 314s [6,] 0.014394531 0.000156250 314s [7,] 0.013779297 0.003691406 314s > #' 314s > #' tests/duplicity.R 314s > #' 314s > #' Tests of duplicated/multiplicity code 314s > #' 314s > #' $Revision: 1.8 $ $Date: 2020/04/28 12:58:26 $ 314s > 314s > if(ALWAYS) { 314s + local({ 314s + X <- ppp(c(1,1,0.5,1), c(2,2,1,2), window=square(3), check=FALSE) 314s + Y <- X %mark% factor(letters[c(3,2,4,3)]) 314s + ZC <- X %mark% letters[c(3,2,4,3)] 314s + ZM <- Y %mark% matrix(c(3,2,4,3), 4, 2) 314s + ZD <- Y %mark% as.data.frame(marks(ZM)) 314s + 314s + #' multiplicity 314s + m <- multiplicity(X) 314s + mf <- multiplicity(Y) 314s + mm <- multiplicity(ZM) 314s + mz <- multiplicity(ZD) 314s + mc <- multiplicity(ZC) 314s + ## default method 314s + kk <- c(1,2,3,1,1,2) 314s + mk <- multiplicity(kk) 314s + ml <- multiplicity(list(sin, cos, tan)[kk]) 314s + mc <- multiplicity(c("sin", "cos", "tan")[kk]) 314s + if(!identical(ml, mk)) 314s + stop("multiplicity.default() disagrees with multiplicityNumeric") 314s + if(!identical(mc, mk)) 314s + stop("multiplicity() disagrees with multiplicity()") 314s + ## data frame method 314s + df <- data.frame(x=c(1:4, 1,3,2,4, 0,0, 3,4), 314s + y=factor(rep(letters[1:4], 3))) 314s + md <- multiplicity(df) 314s + 314s + ## uniquemap.ppp 314s + checkum <- function(X, blurb) { 314s + a <- uniquemap(X) 314s + if(any(a > seq_along(a))) 314s + stop(paste("uniquemap", blurb, 314s + "does not respect sequential ordering")) 314s + return(invisible(NULL)) 314s + } 314s + checkum(X, "") 314s + checkum(Y, "") 314s + checkum(ZC, "") 314s + checkum(ZM, "") 314s + checkum(ZD, "") 314s + 314s + ## uniquemap.data.frame 314s + dfbase <- as.data.frame(replicate(3, sample(1:20, 10), simplify=FALSE)) 314s + df <- dfbase[sample(1:10, 30, replace=TRUE), , drop=FALSE] 314s + #' faster algorithm for numeric values 314s + checkum(df, "") 314s + a <- uniquemap(df) 314s + #' general algorithm using 'duplicated' and 'match' 314s + dfletters <- as.data.frame(matrix(letters[as.matrix(df)], nrow=nrow(df))) 314s + checkum(dfletters, "") 314s + b <- uniquemap(dfletters) 314s + if(!isTRUE(all.equal(a,b))) 314s + stop("inconsistency between algorithms in uniquemap.data.frame") 314s + 314s + ## uniquemap.matrix 314s + M0 <- matrix(1:12, 3, 4) 314s + ii <- sample(1:3, 5, replace=TRUE) 314s + M4 <- M0[ii, , drop=FALSE] 314s + checkum(M4, "") 314s + u4 <- uniquemap(M4) 314s + C4 <- matrix(letters[M4], 5, 4) 314s + uc4 <- uniquemap(C4) 314s + checkum(C4, "") 314s + if(!isTRUE(all.equal(u4, uc4))) 314s + stop("Inconsistency between algorithms in uniquemap.matrix") 314s + 314s + ## uniquemap.default 314s + a <- letters[c(1, 1:4, 3:2)] 314s + checkum(a, "") 314s + checkum(as.list(a), "") 314s + u1 <- uniquemap(a) 314s + u2 <- uniquemap(as.list(a)) 314s + if(!isTRUE(all.equal(u1, u2))) 314s + stop("Inconsistency between algorithms in uniquemap.default") 314s + }) 314s + } 314s > 314s END TEST testsD.R with result 0 314s BEGIN TEST testsEtoF.R 314s 314s R version 4.4.3 (2025-02-28) -- "Trophy Case" 314s Copyright (C) 2025 The R Foundation for Statistical Computing 314s Platform: arm-unknown-linux-gnueabihf (32-bit) 314s 314s R is free software and comes with ABSOLUTELY NO WARRANTY. 314s You are welcome to redistribute it under certain conditions. 314s Type 'license()' or 'licence()' for distribution details. 314s 314s R is a collaborative project with many contributors. 314s Type 'contributors()' for more information and 314s 'citation()' on how to cite R or R packages in publications. 314s 314s Type 'demo()' for some demos, 'help()' for on-line help, or 314s 'help.start()' for an HTML browser interface to help. 314s Type 'q()' to quit R. 314s 315s > #' 315s > #' Header for all (concatenated) test files 315s > #' 315s > #' Require spatstat.geom 315s > #' Obtain environment variable controlling tests. 315s > #' 315s > #' $Revision: 1.5 $ $Date: 2020/04/30 05:31:37 $ 315s > 315s > require(spatstat.geom) 315s Loading required package: spatstat.geom 315s Loading required package: spatstat.data 316s Loading required package: spatstat.univar 316s spatstat.univar 3.1-1 316s spatstat.geom 3.3-5 316s > FULLTEST <- (nchar(Sys.getenv("SPATSTAT_TEST", unset="")) > 0) 316s > ALWAYS <- TRUE 316s > cat(paste("--------- Executing", 316s + if(FULLTEST) "** ALL **" else "**RESTRICTED** subset of", 316s + "test code -----------\n")) 316s --------- Executing **RESTRICTED** subset of test code ----------- 316s > # tests/emptymarks.R 316s > # 316s > # test cases where there are no (rows or columns of) marks 316s > # 316s > # $Revision: 1.4 $ $Date: 2020/04/28 12:58:26 $ 316s > 316s > if(ALWAYS) { 316s + local({ 316s + n <- npoints(cells) 316s + df <- data.frame(x=1:n, y=factor(sample(letters, n, replace=TRUE))) 316s + nocolumns <- c(FALSE, FALSE) 316s + norows <- rep(FALSE, n) 316s + X <- cells 316s + marks(X) <- df 316s + marks(X) <- df[,1] 316s + marks(X) <- df[,nocolumns] 316s + Z <- Y <- X[integer(0)] 316s + marks(Y) <- df[norows,] 316s + stopifnot(is.marked(Y)) 316s + marks(Z) <- df[norows,nocolumns] 316s + stopifnot(!is.marked(Z)) 316s + }) 316s + } 316s > # 316s > # tests/factorbugs.R 316s > # 316s > # check for various bugs related to factor conversions 316s > # 316s > # $Revision: 1.8 $ $Date: 2023/01/30 00:51:42 $ 316s > # 316s > 316s > if(ALWAYS) { 316s + local({ 316s + ## make a factor image 316s + m <- factor(rep(letters[1:4], 4)) 316s + Z <- im(m, xcol=1:4, yrow=1:4) 316s + ## make a point pattern 316s + set.seed(42) 316s + X <- runifrect(20, win=as.owin(Z)) 316s + ## look up the image at the points of X 316s + ## (a) internal 316s + ans1 <- lookup.im(Z, X$x, X$y) 316s + stopifnot(is.factor(ans1)) 316s + ## (b) user level 316s + ans2 <- Z[X] 316s + stopifnot(is.factor(ans2)) 316s + ## (c) turn the image into a tessellation 316s + ## and apply quadratcount 316s + V <- tess(image = Z) 316s + quadratcount(X, tess=V) 316s + ## Pad image 316s + Y <- padimage(Z, factor("b", levels=levels(Z))) 316s + stopifnot(Y$type == "factor") 316s + U <- padimage(Z, "b") 316s + stopifnot(U$type == "factor") 316s + ## Manipulate factor levels 316s + Zb <- relevel(Z, "b") 316s + Zv <- mergeLevels(Z, vowel="a", consonant=c("b","c","d")) 316s + P <- X %mark% Z[X] 316s + Pv <- mergeLevels(P, vowel="a", consonant=c("b","c","d")) 316s + ## Harmonise factor levels - cases not covered 316s + Flat <- factor(sample(letters[1:3], 10, replace=TRUE)) 316s + Image <- gorillas.extra$slopetype 316s + oo <- harmoniseLevels() 316s + oo <- harmoniseLevels(Flat) 316s + oo <- harmoniseLevels(A=Image) 316s + oo <- harmoniseLevels(A=Flat,B=Image) 316s + }) 316s + } 316s > # 316s > # tests/func.R 316s > # 316s > # $Revision: 1.9 $ $Date: 2022/10/23 00:48:40 $ 316s > # 316s > # Tests of 'funxy' infrastructure etc 316s > 316s > if(FULLTEST) { 316s + local({ 316s + ## Check the peculiar function-building code in funxy 316s + W <- square(1) 316s + f1a <- function(x, y) sqrt(x^2 + y^2) 316s + F1a <- funxy(f1a, W) 316s + f1b <- function(x, y) { sqrt(x^2 + y^2) } 316s + f2a <- function(x, y) sin(x) 316s + f2b <- function(x, y) { sin(x) } 316s + f3a <- function(x, y) sin(x) + cos(x) 316s + f3b <- function(x, y) { sin(x) + cos(x) } 316s + f4a <- function(x, y) { z <- x + y ; z } 316s + f4b <- function(x, y) { x + y } 316s + F1b <- funxy(f1b, W) 316s + F2a <- funxy(f2a, W) 316s + F2b <- funxy(f2b, W) 316s + F3a <- funxy(f3a, W) 316s + F3b <- funxy(f3b, W) 316s + F4a <- funxy(f4a, W) 316s + F4b <- funxy(f4b, W) 316s + stopifnot(identical(F1a(cells), F1b(cells))) 316s + stopifnot(identical(F2a(cells), F2b(cells))) 316s + stopifnot(identical(F3a(cells), F3b(cells))) 316s + stopifnot(identical(F4a(cells), F4b(cells))) 316s + ## check coordinate extraction from objects 316s + X <- runifrect(9) 316s + Q <- quadscheme(X) 316s + a <- F1a(X) 316s + d <- F1a(Q) 316s + }) 316s + } 316s > 316s > 316s > 316s END TEST testsEtoF.R with result 0 316s BEGIN TEST testsGtoJ.R 316s 316s R version 4.4.3 (2025-02-28) -- "Trophy Case" 316s Copyright (C) 2025 The R Foundation for Statistical Computing 316s Platform: arm-unknown-linux-gnueabihf (32-bit) 316s 316s R is free software and comes with ABSOLUTELY NO WARRANTY. 316s You are welcome to redistribute it under certain conditions. 316s Type 'license()' or 'licence()' for distribution details. 316s 316s R is a collaborative project with many contributors. 316s Type 'contributors()' for more information and 316s 'citation()' on how to cite R or R packages in publications. 316s 316s Type 'demo()' for some demos, 'help()' for on-line help, or 316s 'help.start()' for an HTML browser interface to help. 316s Type 'q()' to quit R. 316s 316s > #' 316s > #' Header for all (concatenated) test files 316s > #' 316s > #' Require spatstat.geom 316s > #' Obtain environment variable controlling tests. 316s > #' 316s > #' $Revision: 1.5 $ $Date: 2020/04/30 05:31:37 $ 316s > 316s > require(spatstat.geom) 316s Loading required package: spatstat.geom 316s Loading required package: spatstat.data 317s Loading required package: spatstat.univar 317s spatstat.univar 3.1-1 317s spatstat.geom 3.3-5 317s > FULLTEST <- (nchar(Sys.getenv("SPATSTAT_TEST", unset="")) > 0) 317s > ALWAYS <- TRUE 317s > cat(paste("--------- Executing", 317s + if(FULLTEST) "** ALL **" else "**RESTRICTED** subset of", 317s + "test code -----------\n")) 317s --------- Executing **RESTRICTED** subset of test code ----------- 317s > # 317s > # tests/hyperframe.R 317s > # 317s > # test "[.hyperframe" etc 317s > # 317s > # $Revision: 1.11 $ $Date: 2023/02/03 06:17:16 $ 317s > # 317s > 317s > if(FULLTEST) { 317s + local({ 317s + lambda <- runif(4, min=50, max=100) 317s + X <- lapply(as.list(lambda), function(x) { runifrect(rpois(1, x)) }) 317s + h <- hyperframe(lambda=lambda, X=X) 317s + h$lambda2 <- lambda^2 317s + h[, "lambda3"] <- lambda^3 317s + h[, "Y"] <- X 317s + h[, "X"] <- lapply(X, flipxy) 317s + h[, c("X", "Y")] <- hyperframe(X=X, Y=X) 317s + 317s + names(h) <- LETTERS[1:5] 317s + print(h) 317s + 317s + summary(h) 317s + str(h) 317s + head(h) 317s + tail(h) 317s + 317s + rn <- rownames(h) 317s + r.n <- row.names(h) 317s + if(!identical(rn, r.n)) 317s + stop("rownames and row.names conflict for hyperframes") 317s + 317s + dn <- dimnames(h) 317s + dimnames(h) <- dn 317s + dimnames(h)[[2]][2] <- "copacetic" 317s + dimnames(h)[[1]][2] <- "second" 317s + 317s + #' hyperframe with a hyperatom 317s + H <- hyperframe(A=runif(3), B=1:3, D=runifrect(10)) 317s + H[,3] 317s + H[,3,drop=TRUE] 317s + #' special cases of [<- 317s + H$B <- H[,1] 317s + H[2:3,1] <- H[2:3,2] 317s + H[2:3,1] <- H[2,2] 317s + H[2,1:2] <- H[3,1:2] 317s + 317s + #' split 317s + f <- factor(c("a", "a", "b")) 317s + G <- split(H, f) 317s + G[["a"]]$B <- 42 317s + split(H, f) <- G 317s + 317s + #' [[ and [[<- 317s + junk <- pyramidal 317s + a <- junk[["group"]] 317s + junk[["group"]] <- sample(a) 317s + a <- junk[[2]] 317s + a <- junk[[15,2]] 317s + junk[[15,2]] <- "schizoaffective" 317s + junk[[15,2]] <- "z" # Warning given. 317s + a <- junk[[2]] # The warned-about NA appears as entry 15. 317s + junk[[10,1]] <- cells 317s + a <- junk[[10,1]] 317s + a <- junk[[10,"Neurons"]] 317s + }) 317s + } 317s > # 317s > # tests/imageops.R 317s > # 317s > # $Revision: 1.43 $ $Date: 2023/08/29 01:03:59 $ 317s > # 317s > 317s > 317s > if(ALWAYS) { 317s + local({ 317s + #' Test of case 'CONNECT=24' in src/distmapbin.[ch] 317s + #' Distance transform with 24-connected neighbours 317s + A <- distmap(heather$coarse, connect=24) 317s + }) 317s + } 317s > 317s > if(FULLTEST) { 317s + local({ 317s + #' cases of 'im' data 317s + tab <- table(sample(factor(letters[1:10]), 30, replace=TRUE)) 317s + b <- im(tab, xrange=c(0,1), yrange=c(0,10)) 317s + b <- update(b) 317s + 317s + mat <- matrix(sample(0:4, 12, replace=TRUE), 3, 4) 317s + a <- im(mat) 317s + levels(a$v) <- 0:4 317s + a <- update(a) 317s + 317s + levels(mat) <- 0:4 317s + b <- im(mat) 317s + b <- update(b) 317s + 317s + D <- as.im(mat, letterR) 317s + df <- as.data.frame(D) 317s + DD <- as.im(df, step=c(D$xstep, D$ystep)) 317s + 317s + #' various manipulations 317s + AA <- A <- as.im(owin()) 317s + BB <- B <- as.im(owin(c(1.1, 1.9), c(0,1))) 317s + Z <- imcov(A, B) 317s + stopifnot(abs(max(Z) - 0.8) < 0.1) 317s + 317s + Frame(AA) <- Frame(B) 317s + Frame(BB) <- Frame(A) 317s + 317s + ## handling images with 1 row or column 317s + 317s + ycov <- function(x, y) y 317s + E <- as.im(ycov, owin(), dimyx = c(2,1)) 317s + G <- cut(E, 2) 317s + H <- as.tess(G) 317s + 317s + E12 <- as.im(ycov, owin(), dimyx = c(1,2)) 317s + G12 <- cut(E12, 2) 317s + H12 <- as.tess(G12) 317s + 317s + AAA <- as.array(AA) 317s + EEE <- as.array(E) 317s + AAD <- as.double(AA) 317s + EED <- as.double(E) 317s + aaa <- xtfrm(AAA) 317s + eee <- xtfrm(E) 317s + 317s + ## 317s + d <- distmap(cells, dimyx=32) 317s + D6 <- (d <= 0.06) 317s + Z <- connected(D6, method="interpreted") 317s + Z <- connected(D6, connect=4) 317s + Z <- connected(D6, method="interpreted", connect=4) 317s + 317s + a <- where.max(d, first=FALSE) 317s + a <- where.min(d, first=FALSE) 317s + 317s + dx <- raster.x(d) 317s + dy <- raster.y(d) 317s + dxy <- raster.xy(d) 317s + xyZ <- raster.xy(Z, drop=TRUE) 317s + 317s + horosho <- conform.imagelist(cells, list(d, Z)) 317s + 317s + #' split.im 317s + W <- square(1) 317s + X <- as.im(function(x,y){x}, W) 317s + Y <- dirichlet(runifrect(7, W)) 317s + Z <- split(X, as.im(Y)) 317s + 317s + ## ........... cases of "[.im" ........................ 317s + ## index window has zero overlap area with image window 317s + Out <- owin(c(-0.5, 0), c(0,1)) 317s + oo <- X[Out] 317s + oo <- X[Out, drop=FALSE] 317s + if(!is.im(oo)) stop("Wrong format in [.im with disjoint index window") 317s + oon <- X[Out, drop=TRUE, rescue=FALSE] 317s + if(is.im(oon)) stop("Expected a vector of values, not an image, from [.im") 317s + if(!all(is.na(oon))) stop("Expected a vector of NA values in [.im") 317s + ## 317s + Empty <- cells[FALSE] 317s + ff <- d[Empty] 317s + gg <- d[2,] 317s + gg <- d[,2] 317s + gg <- d[j=2] 317s + gg <- d[2:4, 3:5] 317s + hh <- d[2:4, 3:5, rescue=TRUE] 317s + if(!is.im(hh)) stop("rectangle was not rescued in [.im") 317s + ## factor and NA values 317s + f <- cut(d, breaks=4) 317s + f <- f[f != levels(f)[1], drop=FALSE] 317s + fff <- f[, , drop=FALSE] 317s + fff <- f[cells] 317s + fff <- f[cells, drop=FALSE] 317s + fff <- f[Empty] 317s + 317s + ## ........... cases of "[<-.im" ....................... 317s + d[,] <- d[] + 1 317s + d[Empty] <- 42 317s + ## smudge() and rasterfilter() 317s + dd <- smudge(d) 317s + 317s + ## rgb/hsv options 317s + X <- setcov(owin()) 317s + M <- Window(X) 317s + Y <- as.im(function(x,y) x, W=M) 317s + Z <- as.im(function(x,y) y, W=M) 317s + # convert after rescaling 317s + RGBscal <- rgbim(X, Y, Z, autoscale=TRUE, maxColorValue=1) 317s + HSVscal <- hsvim(X, Y, Z, autoscale=TRUE) 317s + 317s + #' cases of [.im 317s + Ma <- as.mask(M, dimyx=37) 317s + ZM <- Z[raster=Ma, drop=FALSE] 317s + ZM[solutionset(Y+Z > 0.4)] <- NA 317s + ZF <- cut(ZM, breaks=5) 317s + ZL <- (ZM > 0) 317s + P <- list(x=c(0.511, 0.774, 0.633, 0.248, 0.798), 317s + y=c(0.791, 0.608, 0.337, 0.613, 0.819)) 317s + zmp <- ZM[P, drop=TRUE] 317s + zfp <- ZF[P, drop=TRUE] 317s + zlp <- ZL[P, drop=TRUE] 317s + P <- as.ppp(P, owin()) 317s + zmp <- ZM[P, drop=TRUE] 317s + zfp <- ZF[P, drop=TRUE] 317s + zlp <- ZL[P, drop=TRUE] 317s + 317s + #' miscellaneous 317s + ZZ <- zapsmall.im(Z, digits=6) 317s + ZZ <- zapsmall.im(Z) 317s + 317s + ZS <- shift(Z, origin="centroid") 317s + ZS <- shift(Z, origin="bottomleft") 317s + 317s + ZA <- affine(Z, mat=diag(c(-1,-2))) 317s + 317s + U <- scaletointerval(Z) 317s + C <- as.im(1, W=U) 317s + U <- scaletointerval(C) 317s + 317s + #' hist.im 317s + h <- hist(Z) 317s + h <- hist(Z, probability=TRUE) 317s + h <- hist(Z, plot=FALSE) 317s + Zcut <- cut(Z, breaks=5) 317s + h <- hist(Zcut) # barplot 317s + hp <- hist(Zcut, probability=TRUE) # barplot 317s + plot(h) # plot.barplotdata 317s + 317s + #' plot.im code blocks 317s + plot(Z, ribside="left") 317s + plot(Z, ribside="top") 317s + plot(Z, riblab="value") 317s + plot(Z, clipwin=square(0.5)) 317s + plot(Z - mean(Z), log=TRUE) 317s + plot(Z, valuesAreColours=TRUE) # rejected with a warning 317s + IX <- as.im(function(x,y) { as.integer(round(3*x)) }, square(1)) 317s + co <- colourmap(rainbow(4), inputs=0:3) 317s + plot(IX, col=co) 317s + CX <- eval.im(col2hex(IX+1L)) 317s + plot(CX, valuesAreColours=TRUE) 317s + plot(CX, valuesAreColours=FALSE) 317s + 317s + #' plot.im contour code logarithmic case 317s + V0 <- setcov(owin()) 317s + V2 <- exp(2*V0+1) 317s + plot(V2, log=TRUE, addcontour=TRUE, contourargs=list(col="white")) 317s + plot(V2, log=TRUE, addcontour=TRUE, contourargs=list(col="white", nlevels=2)) 317s + plot(V2, log=TRUE, addcontour=TRUE, contourargs=list(col="white", nlevels=20)) 317s + V4 <- exp(4*V0+1) 317s + plot(V4, log=TRUE, addcontour=TRUE, contourargs=list(col="white")) 317s + plot(V4, log=TRUE, addcontour=TRUE, contourargs=list(col="white", nlevels=2)) 317s + plot(V4, log=TRUE, addcontour=TRUE, contourargs=list(col="white", nlevels=20)) 317s + 317s + #' pairs.im 317s + pairs(solist(Z)) 317s + pairs(solist(A=Z)) 317s + 317s + #' handling and plotting of character and factor images 317s + Afactor <- as.im(col2hex("green"), letterR, na.replace=col2hex("blue")) 317s + Acharacter <- as.im(col2hex("green"), letterR, na.replace=col2hex("blue"), 317s + stringsAsFactors=FALSE) 317s + plot(Afactor) 317s + plot(Acharacter, valuesAreColours=TRUE) 317s + print(summary(Afactor)) 317s + print(summary(Acharacter)) 317s + 317s + #' substitute for runifpoint 317s + rup <- function(n, W) { runifrect(n, Frame(W))[W] } 317s + #' safelookup (including extrapolation case) 317s + Z <- as.im(function(x,y) { x - y }, letterR) 317s + Zcut <- cut(Z, breaks=4) 317s + B <- grow.rectangle(Frame(letterR), 1) 317s + X <- superimpose(rup(10, letterR), 317s + rup(20, setminus.owin(B, letterR)), 317s + vertices(Frame(B)), 317s + W=B) 317s + a <- safelookup(Z, X) 317s + aa <- safelookup(Z, X, factor=100) 317s + b <- safelookup(Zcut, X) 317s + bb <- safelookup(Zcut, X, factor=100) 317s + cc <- lookup.im(Z, X) 317s + 317s + #' im.apply 317s + Z <- im.apply(bei.extra, sd) 317s + 317s + #' Math.imlist, Ops.imlist, Complex.imlist 317s + U <- Z+2i 317s + B <- U * (2+1i) 317s + print(summary(B)) 317s + V <- solist(A=U, B=B) 317s + negV <- -V 317s + E <- Re(V) 317s + negE <- -E 317s + 317s + }) 317s + } 317s > 317s > if(ALWAYS) { 317s + local({ 317s + #' check nearest.valid.pixel 317s + W <- Window(demopat) 317s + set.seed(911911) 317s + X <- runifrect(1000, Frame(W))[W] 317s + Z <- quantess(W, function(x,y) { x }, 9)$image 317s + nearest.valid.pixel(numeric(0), numeric(0), Z) 317s + x <- X$x 317s + y <- X$y 317s + a <- nearest.valid.pixel(x, y, Z, method="interpreted") 317s + b <- nearest.valid.pixel(x, y, Z, method="C") 317s + if(!isTRUE(all.equal(a,b))) 317s + stop("Unequal results in nearest.valid.pixel") 317s + if(!identical(a,b)) 317s + stop("Equal, but not identical, results in nearest.valid.pixel") 317s + }) 317s + } 317s > 317s > 317s > 317s END TEST testsGtoJ.R with result 0 317s BEGIN TEST testsK.R 317s 317s R version 4.4.3 (2025-02-28) -- "Trophy Case" 317s Copyright (C) 2025 The R Foundation for Statistical Computing 317s Platform: arm-unknown-linux-gnueabihf (32-bit) 317s 317s R is free software and comes with ABSOLUTELY NO WARRANTY. 317s You are welcome to redistribute it under certain conditions. 317s Type 'license()' or 'licence()' for distribution details. 317s 317s R is a collaborative project with many contributors. 317s Type 'contributors()' for more information and 317s 'citation()' on how to cite R or R packages in publications. 317s 317s Type 'demo()' for some demos, 'help()' for on-line help, or 317s 'help.start()' for an HTML browser interface to help. 317s Type 'q()' to quit R. 317s 317s > #' 317s > #' Header for all (concatenated) test files 317s > #' 317s > #' Require spatstat.geom 317s > #' Obtain environment variable controlling tests. 317s > #' 317s > #' $Revision: 1.5 $ $Date: 2020/04/30 05:31:37 $ 317s > 317s > require(spatstat.geom) 317s Loading required package: spatstat.geom 317s Loading required package: spatstat.data 319s Loading required package: spatstat.univar 319s spatstat.univar 3.1-1 319s spatstat.geom 3.3-5 319s > FULLTEST <- (nchar(Sys.getenv("SPATSTAT_TEST", unset="")) > 0) 319s > ALWAYS <- TRUE 319s > cat(paste("--------- Executing", 319s + if(FULLTEST) "** ALL **" else "**RESTRICTED** subset of", 319s + "test code -----------\n")) 319s --------- Executing **RESTRICTED** subset of test code ----------- 319s > 319s END TEST testsK.R with result 0 319s BEGIN TEST testsL.R 319s 319s R version 4.4.3 (2025-02-28) -- "Trophy Case" 319s Copyright (C) 2025 The R Foundation for Statistical Computing 319s Platform: arm-unknown-linux-gnueabihf (32-bit) 319s 319s R is free software and comes with ABSOLUTELY NO WARRANTY. 319s You are welcome to redistribute it under certain conditions. 319s Type 'license()' or 'licence()' for distribution details. 319s 319s R is a collaborative project with many contributors. 319s Type 'contributors()' for more information and 319s 'citation()' on how to cite R or R packages in publications. 319s 319s Type 'demo()' for some demos, 'help()' for on-line help, or 319s 'help.start()' for an HTML browser interface to help. 319s Type 'q()' to quit R. 319s 319s > #' 319s > #' Header for all (concatenated) test files 319s > #' 319s > #' Require spatstat.geom 319s > #' Obtain environment variable controlling tests. 319s > #' 319s > #' $Revision: 1.5 $ $Date: 2020/04/30 05:31:37 $ 319s > 319s > require(spatstat.geom) 319s Loading required package: spatstat.geom 319s Loading required package: spatstat.data 321s Loading required package: spatstat.univar 321s spatstat.univar 3.1-1 321s spatstat.geom 3.3-5 321s > FULLTEST <- (nchar(Sys.getenv("SPATSTAT_TEST", unset="")) > 0) 321s > ALWAYS <- TRUE 321s > cat(paste("--------- Executing", 321s + if(FULLTEST) "** ALL **" else "**RESTRICTED** subset of", 321s + "test code -----------\n")) 321s --------- Executing **RESTRICTED** subset of test code ----------- 321s > #' 321s > #' tests/layered.R 321s > #' 321s > #' Tests of 'layered' class 321s > #' 321s > #' $Revision: 1.2 $ $Date: 2020/04/29 08:55:17 $ 321s > #' 321s > if(FULLTEST) { 321s + local({ 321s + D <- distmap(cells) 321s + L <- layered(D, cells, 321s + plotargs=list(list(ribbon=FALSE), list(pch=16))) 321s + #' 321s + plot(L, which=2, plotargs=list(list(pch=3))) 321s + plot(L, plotargs=list(list(pch=3))) 321s + #' 321s + W <- as.owin(L) 321s + V <- domain(L) 321s + #' methods 321s + L2 <- L[square(0.5)] 321s + Lr <- reflect(L) 321s + Lf <- flipxy(L) 321s + Ls <- scalardilate(L, 2) 321s + La <- shift(L, origin="midpoint") 321s + Lo <- rotate(L, pi/3, origin="bottomleft") 321s + Lu <- rescale(L, 0.1, "parsec") 321s + #' as.layered 321s + M <- as.layered(finpines) 321s + M2 <- as.layered(split(amacrine)) 321s + }) 321s + } 321s > 321s END TEST testsL.R with result 0 321s BEGIN TEST testsM.R 321s 321s R version 4.4.3 (2025-02-28) -- "Trophy Case" 321s Copyright (C) 2025 The R Foundation for Statistical Computing 321s Platform: arm-unknown-linux-gnueabihf (32-bit) 321s 321s R is free software and comes with ABSOLUTELY NO WARRANTY. 321s You are welcome to redistribute it under certain conditions. 321s Type 'license()' or 'licence()' for distribution details. 321s 321s R is a collaborative project with many contributors. 321s Type 'contributors()' for more information and 321s 'citation()' on how to cite R or R packages in publications. 321s 321s Type 'demo()' for some demos, 'help()' for on-line help, or 321s 'help.start()' for an HTML browser interface to help. 321s Type 'q()' to quit R. 321s 321s > #' 321s > #' Header for all (concatenated) test files 321s > #' 321s > #' Require spatstat.geom 321s > #' Obtain environment variable controlling tests. 321s > #' 321s > #' $Revision: 1.5 $ $Date: 2020/04/30 05:31:37 $ 321s > 321s > require(spatstat.geom) 321s Loading required package: spatstat.geom 321s Loading required package: spatstat.data 322s Loading required package: spatstat.univar 322s spatstat.univar 3.1-1 322s spatstat.geom 3.3-5 322s > FULLTEST <- (nchar(Sys.getenv("SPATSTAT_TEST", unset="")) > 0) 322s > ALWAYS <- TRUE 322s > cat(paste("--------- Executing", 322s + if(FULLTEST) "** ALL **" else "**RESTRICTED** subset of", 322s + "test code -----------\n")) 322s --------- Executing **RESTRICTED** subset of test code ----------- 322s > #' tests/morpho.R 322s > #' 322s > #' morphology code blocks 322s > #' 322s > #' $Revision: 1.3 $ $Date: 2020/04/30 02:18:23 $ 322s > 322s > local({ 322s + if(ALWAYS) { # depends on C code etc 322s + #' owin 322s + a <- erosion(letterR, 0.1, polygonal=FALSE) 322s + b <- dilation(letterR, 0.1, polygonal=FALSE) 322s + at <- erosion(letterR, 0.1, polygonal=FALSE, strict=TRUE) 322s + bt <- dilation(letterR, 0.1, polygonal=FALSE, tight=FALSE) 322s + #' psp 322s + S <- edges(letterR) 322s + dm <- dilation(S, 0.1, polygonal=FALSE) 322s + dt <- dilation(S, 0.1, polygonal=FALSE, tight=FALSE) 322s + op <- spatstat.options(old.morpho.psp=TRUE) 322s + dn <- dilation(S, 0.1, polygonal=TRUE) 322s + spatstat.options(op) 322s + cS <- closing(S, 0.1, polygonal=FALSE) 322s + eS <- erosion(S, 0) 322s + oS <- opening(S, 0) 322s + #' ppp 322s + dc <- dilation(cells, 0.06, polygonal=FALSE) 322s + ec <- erosion(cells, 0) 322s + oc <- opening(cells, 0) 322s + #' 322s + reset.spatstat.options() 322s + } 322s + }) 322s > 322s > 322s END TEST testsM.R with result 0 322s BEGIN TEST testsNtoO.R 322s 322s R version 4.4.3 (2025-02-28) -- "Trophy Case" 322s Copyright (C) 2025 The R Foundation for Statistical Computing 322s Platform: arm-unknown-linux-gnueabihf (32-bit) 322s 322s R is free software and comes with ABSOLUTELY NO WARRANTY. 322s You are welcome to redistribute it under certain conditions. 322s Type 'license()' or 'licence()' for distribution details. 322s 322s R is a collaborative project with many contributors. 322s Type 'contributors()' for more information and 322s 'citation()' on how to cite R or R packages in publications. 322s 322s Type 'demo()' for some demos, 'help()' for on-line help, or 322s 'help.start()' for an HTML browser interface to help. 322s Type 'q()' to quit R. 322s 323s Loading required package: spatstat.geom 323s > #' 323s > #' Header for all (concatenated) test files 323s > #' 323s > #' Require spatstat.geom 323s > #' Obtain environment variable controlling tests. 323s > #' 323s > #' $Revision: 1.5 $ $Date: 2020/04/30 05:31:37 $ 323s > 323s > require(spatstat.geom) 323s Loading required package: spatstat.data 324s Loading required package: spatstat.univar 324s spatstat.univar 3.1-1 324s spatstat.geom 3.3-5 324s > FULLTEST <- (nchar(Sys.getenv("SPATSTAT_TEST", unset="")) > 0) 324s > ALWAYS <- TRUE 324s > cat(paste("--------- Executing", 324s + if(FULLTEST) "** ALL **" else "**RESTRICTED** subset of", 324s + "test code -----------\n")) 324s --------- Executing **RESTRICTED** subset of test code ----------- 324s > # 324s > # tests/nndist.R 324s > # 324s > # Check that nndist and nnwhich give 324s > # results consistent with direct calculation from pairdist 324s > # 324s > # Similarly for nncross and distfun 324s > # 324s > # Also test whether minnndist(X) == min(nndist(X)) 324s > # 324s > # $Revision: 1.39 $ $Date: 2021/05/20 09:31:23 $ 324s > # 324s > 324s > 324s > local({ 324s + eps <- sqrt(.Machine$double.eps) 324s + f <- function(mat,k) { apply(mat, 1, function(z,n) { sort(z)[n] }, n=k+1) } 324s + g <- function(mat,k) { apply(mat, 1, function(z,n) { order(z)[n] }, n=k+1) } 324s + 324s + ## ....... Two dimensions ................ 324s + if(ALWAYS) { 324s + X <- runifrect(24) 324s + 324s + nn <- nndist(X) 324s + nnP <- f(pairdist(X), 1) 324s + if(any(abs(nn - nnP) > eps)) 324s + stop("nndist.ppp does not agree with pairdist") 324s + 324s + nn5 <- nndist(X, k=5) 324s + nn5P <- f(pairdist(X), 5) 324s + if(any(abs(nn5 - nn5P) > eps)) 324s + stop("nndist.ppp(k=5) does not agree with pairdist") 324s + 324s + nw <- nnwhich(X) 324s + nwP <- g(pairdist(X), 1) 324s + if(any(nw != nwP)) 324s + stop("nnwhich.ppp does not agree with pairdist") 324s + 324s + nw5 <- nnwhich(X, k=5) 324s + nw5P <- g(pairdist(X), 5) 324s + if(any(nw5 != nw5P)) 324s + stop("nnwhich.ppp(k=5) does not agree with pairdist") 324s + } 324s + 324s + if(FULLTEST) { 324s + a <- nndist(X, method="test") 324s + b <- nnwhich(X, method="test") 324s + a <- nndist(X, method="test", k=1:2) 324s + b <- nnwhich(X, method="test", k=1:2) 324s + a2 <- nndist(cells[1:3], k=1:3) 324s + b2 <- nnwhich(cells[1:3], k=1:3) 324s + a3 <- nndist(cells[1]) 324s + b3 <- nnwhich(cells[1]) 324s + m <- factor((1:npoints(X)) %% 2 == 0) 324s + a4 <- nndist.default(X, by=m, k=2) 324s + b4 <- nnwhich.default(X, by=m, k=2) 324s + } 324s + 324s + if(ALWAYS) { 324s + ## nncross.ppp without options 324s + Y <- runifrect(30) 324s + Y <- Y[nndist(Y) > 0.02] 324s + nc <- nncross(X,Y) 324s + ncd <- nc$dist 324s + ncw <- nc$which 324s + cd <- crossdist(X,Y) 324s + cdd <- apply(cd, 1, min) 324s + cdw <- apply(cd, 1, which.min) 324s + if(any(abs(ncd - cdd) > eps)) 324s + stop("nncross()$dist does not agree with apply(crossdist(), 1, min)") 324s + if(any(ncw != cdw)) 324s + stop("nncross()$which does not agree with apply(crossdist(), 1, which.min)") 324s + 324s + ## nncross with sort on x 324s + nc <- nncross(X,Y, sortby="x") 324s + ncd <- nc$dist 324s + ncw <- nc$which 324s + if(any(abs(ncd - cdd) > eps)) 324s + stop("nncross(sortby=x)$dist does not agree with apply(crossdist(), 1, min)") 324s + if(any(ncw != cdw)) 324s + stop("nncross(sortby=x)$which does not agree with apply(crossdist(), 1, which.min)") 324s + 324s + ## nncross with data pre-sorted on x 324s + Y <- Y[order(Y$x)] 324s + nc <- nncross(X,Y, is.sorted.Y=TRUE, sortby="x") 324s + ncd <- nc$dist 324s + ncw <- nc$which 324s + cd <- crossdist(X,Y) 324s + cdd <- apply(cd, 1, min) 324s + cdw <- apply(cd, 1, which.min) 324s + if(any(abs(ncd - cdd) > eps)) 324s + stop("For sorted data, nncross()$dist does not agree with apply(crossdist(), 1, min)") 324s + if(any(ncw != cdw)) 324s + stop("For sorted data, nncross()$which does not agree with apply(crossdist(), 1, which.min)") 324s + 324s + ## sanity check for nncross with k > 1 324s + ndw <- nncross(X, Y, k=1:4, what="which") 324s + if(any(is.na(ndw))) 324s + stop("NA's returned by nncross.ppp(k > 1, what='which')") 324s + nnc4 <- nncross(X, Y, k=1:4) 324s + iswhich <- (substr(colnames(nnc4), 1, nchar("which")) == "which") 324s + ndw <- nnc4[,iswhich] 324s + if(any(is.na(ndw))) 324s + stop("NA's returned by nncross.ppp(k > 1)$which") 324s + 324s + ## test of correctness for nncross with k > 1 324s + flipcells <- flipxy(cells) 324s + calcwhich <- nncross(cells, flipcells, k=1:4, what="which") 324s + truewhich <- t(apply(crossdist(cells,flipcells), 1, order))[,1:4] 324s + if(any(calcwhich != truewhich)) 324s + stop("nncross(k > 1) gives wrong answer") 324s + } 324s + 324s + if(FULLTEST) { 324s + ## example from Hank Stevens 324s + A <- data.frame( 324s + m= c("K", "K", "A1", "A2", "G", "A2", "A3"), 324s + x=c(4.85, 6.76, 10.58, 19.18, 15.74, 19.08, 12.27), 324s + y=c(5.60, 12.92, 11.14, 17.22, 5.74, 1.24, 2.20), 324s + stringsAsFactors=TRUE 324s + ) 324s + X <- with(A, ppp(x, y, marks=m, window=bounding.box.xy(x, y))) 324s + suspect <- nncross(X, X[7], iX=1:7, iY=7L)$dist 324s + correct <- c(pairdist(X)[1:6, 7], Inf) 324s + maxer <- max(abs(suspect[1:6] - correct[1:6])) 324s + if(maxer > 0.001) 324s + stop("Error in nncross (Inf values) in Hank Stevens example") 324s + if(suspect[7] != Inf) 324s + stop("Error in nncross (finite values) in Hank Stevens example") 324s + M <- as.matrix(minnndist(X, by=marks(X))) 324s + M[is.infinite(M)] <- 0 324s + maxer <- max(abs(M - t(M))) 324s + if(maxer > 0.001) 324s + stop("Error in minnndist(by) in Hank Stevens example") 324s + } 324s + 324s + if(ALWAYS) { 324s + #' cover some C code blocks 324s + Z <- runifrect(50) 324s + X <- Z[1:30] 324s + Y <- Z[20:50] 324s + iX <- 1:30 324s + iY <- 20:50 324s + Ndw <- nncross(X,Y, iX, iY, k=3) 324s + Nw <- nncross(X,Y, iX, iY, k=3, what="which") 324s + Nd <- nncross(X,Y, iX, iY, k=3, what="dist") 324s + } 324s + 324s + if(FULLTEST) { 324s + ## special cases 324s + nndist(X[FALSE]) 324s + nndist(X[1]) 324s + nndist(X[1:3], k=4) 324s + nndist(X[1:3], k=1:4) 324s + nnwhich(X[FALSE]) 324s + nnwhich(X[1]) 324s + nnwhich(X[1:3], k=4) 324s + nnwhich(X[1:3], k=1:4) 324s + nncross(X[1:3], Y[FALSE]) 324s + nncross(X[1:3], Y[1]) 324s + nncross(X[1:3], Y[1:3], k=4) 324s + nncross(X[1:3], Y[1:3], k=1:4) 324s + } 324s + 324s + ## ....... Three dimensions ................ 324s + 324s + if(ALWAYS) { 324s + rthree <- function(n) { pp3(runif(n), runif(n), runif(n), box3(c(0,1))) } 324s + XX <- rthree(42) 324s + X <- XX[1:20] 324s + nn <- nndist(X) 324s + nnP <- f(pairdist(X), 1) 324s + if(any(abs(nn - nnP) > eps)) 324s + stop("nndist.pp3 does not agree with pairdist") 324s + 324s + nn5 <- nndist(X, k=5) 324s + nn5P <- f(pairdist(X), 5) 324s + if(any(abs(nn5 - nn5P) > eps)) 324s + stop("nndist.pp3(k=5) does not agree with pairdist") 324s + 324s + nw <- nnwhich(X) 324s + nwP <- g(pairdist(X), 1) 324s + if(any(nw != nwP)) 324s + stop("nnwhich.pp3 does not agree with pairdist") 324s + 324s + nw5 <- nnwhich(X, k=5) 324s + nw5P <- g(pairdist(X), 5) 324s + if(any(nw5 != nw5P)) 324s + stop("nnwhich.pp3(k=5) does not agree with pairdist") 324s + 324s + ff <- function(mat,k) { apply(mat, 1, function(z,n) { sort(z)[n] }, n=k) } 324s + gg <- function(mat,k) { apply(mat, 1, function(z,n) { order(z)[n] }, n=k) } 324s + 324s + Y <- rthree(20) 324s + Y <- Y[nndist(Y) > 0.02] 324s + DXY <- crossdist(X,Y) 324s + a <- nncross(X,Y) 324s + a <- nncross(X,Y, what="dist") 324s + a <- nncross(X,Y, what="which") 324s + if(any(a != gg(DXY, 1))) 324s + stop("incorrect result from nncross.pp3(what='which')") 324s + a2 <- nncross(X,Y, k=2) 324s + a2 <- nncross(X,Y, what="dist", k=2) 324s + a2 <- nncross(X,Y, what="which", k=2) 324s + if(any(a2 != gg(DXY, 2))) 324s + stop("incorrect result from nncross.pp3(k=2, what='which')") 324s + } 324s + 324s + if(FULLTEST) { 324s + X <- XX 324s + iX <- 1:42 324s + iZ <- 30:42 324s + Z <- X[iZ] 324s + b <- nncross(X, Z, iX=iX, iY=iZ) 324s + b <- nncross(X, Z, iX=iX, iY=iZ, what="which") 324s + b <- nncross(X, Z, iX=iX, iY=iZ, what="dist") 324s + b2 <- nncross(X, Z, iX=iX, iY=iZ, k=2) 324s + b2 <- nncross(X, Z, iX=iX, iY=iZ, what="which", k=2) 324s + b2 <- nncross(X, Z, iX=iX, iY=iZ, what="dist", k=2) 324s + e1 <- nncross(X, Y[1:3], k=2:4) 324s + c1 <- nncross(X, Y, sortby="var") 324s + c2 <- nncross(X, Y, sortby="x") 324s + c3 <- nncross(X, Y, sortby="y") 324s + c4 <- nncross(X, Y, sortby="z") 324s + Xsort <- X[order(coords(X)$x)] 324s + c5 <- nncross(Xsort, Y, is.sorted.X=TRUE, sortby="x") 324s + Ysort <- Y[order(coords(Y)$x)] 324s + c6 <- nncross(Xsort, Ysort, is.sorted.X=TRUE, is.sorted.Y=TRUE, sortby="x") 324s + } 324s + 324s + if(FULLTEST) { 324s + ## special cases 324s + nndist(X[FALSE]) 324s + nndist(X[1]) 324s + nndist(X[1:3], k=4) 324s + nndist(X[1:3], k=1:4) 324s + nnwhich(X[FALSE]) 324s + nnwhich(X[1]) 324s + nnwhich(X[1:3], k=4) 324s + nnwhich(X[1:3], k=1:4) 324s + nncross(X[1:3], Y[FALSE]) 324s + nncross(X[1:3], Y[1]) 324s + nncross(X[1:3], Y[1:3], k=4) 324s + nncross(X[1:3], Y[1:3], k=1:4) 324s + } 324s + 324s + ## ....... m dimensions ................ 324s + 324s + if(ALWAYS) { 324s + rx <- function(n) { 324s + B <- boxx(c(0,1),c(0,1),c(0,1),c(0,1)) 324s + df <- replicate(4, runif(n), simplify=FALSE) 324s + names(df) <- letters[23:26] 324s + ppx(as.data.frame(df), B) 324s + } 324s + ## X <- runifpointx(42, B) 324s + ## Y <- runifpointx(50, B) 324s + X <- rx(42) 324s + Y <- rx(50) 324s + Y <- Y[nndist(Y) > 0.02] 324s + DXY <- crossdist(X,Y) 324s + 324s + nn <- nndist(X) 324s + nnP <- f(pairdist(X), 1) 324s + if(any(abs(nn - nnP) > eps)) 324s + stop("nndist.ppx does not agree with pairdist") 324s + 324s + nn5 <- nndist(X, k=5) 324s + nn5P <- f(pairdist(X), 5) 324s + if(any(abs(nn5 - nn5P) > eps)) 324s + stop("nndist.ppx(k=5) does not agree with pairdist") 324s + 324s + nw <- nnwhich(X) 324s + nwP <- g(pairdist(X), 1) 324s + if(any(nw != nwP)) 324s + stop("nnwhich.ppx does not agree with pairdist") 324s + 324s + nw5 <- nnwhich(X, k=5) 324s + nw5P <- g(pairdist(X), 5) 324s + if(any(nw5 != nw5P)) 324s + stop("nnwhich.ppx(k=5) does not agree with pairdist") 324s + 324s + a <- nncross(X,Y) 324s + ncd <- nncross(X,Y, what="dist") 324s + ncw <- nncross(X,Y, what="which") 324s + if(any(ncw != gg(DXY, 1))) 324s + stop("incorrect result from nncross.ppx(what='which')") 324s + a2 <- nncross(X,Y, k=2) 324s + ncd <- nncross(X,Y, what="dist", k=2) 324s + ncw <- nncross(X,Y, what="which", k=2) 324s + if(any(ncw != gg(DXY, 2))) 324s + stop("incorrect result from nncross.ppx(k=2, what='which')") 324s + } 324s + 324s + if(FULLTEST) { 324s + ## special cases 324s + nndist(X[FALSE]) 324s + nndist(X[1]) 324s + nndist(X[1:3], k=4) 324s + nndist(X[1:3], k=1:4) 324s + nnwhich(X[FALSE]) 324s + nnwhich(X[1]) 324s + nnwhich(X[1:3], k=4) 324s + nnwhich(X[1:3], k=1:4) 324s + nncross(X[1:3], Y[FALSE]) 324s + nncross(X[1:3], Y[1]) 324s + nncross(X[1:3], Y[1:3], k=4) 324s + nncross(X[1:3], Y[1:3], k=1:4) 324s + } 324s + 324s + if(ALWAYS) { 324s + ## test of agreement between nngrid.h and knngrid.h 324s + ## dimyx=23 (found by trial-and-error) ensures that there are no ties 324s + a <- as.matrix(nnmap(cells, what="which", dimyx=23)) 324s + b <- as.matrix(nnmap(cells, what="which", dimyx=23, k=1:2)[[1]]) 324s + if(any(a != b)) 324s + stop("algorithms in nngrid.h and knngrid.h disagree") 324s + 324s + ## minnndist correctness 324s + X <- redwood3 324s + eps <- sqrt(.Machine$double.eps) 324s + mfast <- minnndist(X) 324s + mslow <- min(nndist(X)) 324s + if(abs(mfast-mslow) > eps) 324s + stop("minnndist(X) disagrees with min(nndist(X))") 324s + 324s + ## maxnndist correctness 324s + mfast <- maxnndist(X) 324s + mslow <- max(nndist(X)) 324s + if(abs(mfast-mslow) > eps) 324s + stop("maxnndist(X) disagrees with max(nndist(X))") 324s + } 324s + 324s + if(ALWAYS) { 324s + ## minnndist, maxnndist code blocks 324s + Y <- superimpose(amacrine, amacrine[10:20]) 324s + a <- maxnndist(Y, positive=TRUE) 324s + u <- maxnndist(Y, positive=TRUE, by=marks(Y)) 324s + b <- minnndist(Y, positive=TRUE) 324s + v <- minnndist(Y, positive=TRUE, by=marks(Y)) 324s + 324s + ## nnmap code blocks 324s + A <- nnmap(cells[FALSE]) 324s + A <- nnmap(cells, sortby="var") 324s + A <- nnmap(cells, sortby="x") 324s + A <- nnmap(cells, sortby="y") 324s + B <- nnmap(cells[1:3], k=4) 324s + B <- nnmap(cells[1:3], k=2:4) 324s + D <- nnmap(cells, outputarray=TRUE) 324s + } 324s + 324s + if(ALWAYS) { 324s + #' tests for has.close() 324s + #' (the default method uses nndist or pairdist, and can be trusted!) 324s + a <- has.close(redwood, 0.05) 324s + b <- has.close.default(redwood, 0.05) 324s + if(any(a != b)) stop("Incorrect result for has.close(X, r)") 324s + 324s + a <- has.close(redwood, 0.05, periodic=TRUE) 324s + a <- has.close.default(redwood, 0.05, periodic=TRUE) 324s + if(any(a != b)) stop("Incorrect result for has.close(X, r, periodic=TRUE)") 324s + 324s + Y <- split(amacrine) 324s + a <- with(Y, has.close(on, 0.05, off)) 324s + b <- with(Y, has.close.default(on, 0.05, off)) 324s + if(any(a != b)) stop("Incorrect result for has.close(X, r, Y)") 324s + 324s + a <- with(Y, has.close(on, 0.05, off, periodic=TRUE)) 324s + b <- with(Y, has.close.default(on, 0.05, off, periodic=TRUE)) 324s + if(any(a != b)) stop("Incorrect result for has.close(X, r, Y, periodic=TRUE)") 324s + } 324s + 324s + if(ALWAYS) { 324s + b <- bdist.pixels(letterR, style="coords") 324s + d <- bdist.pixels(letterR, dimyx=64, method="interpreted") 324s + } 324s + 324s + if(FULLTEST) { 324s + ## nnfun.ppp 324s + h <- nnfun(cells) 324s + Z <- as.im(h) 324s + d <- domain(h) 324s + h <- nnfun(amacrine, value="mark") 324s + d <- domain(h) 324s + Z <- as.im(h) 324s + h <- nnfun(longleaf, value="mark") 324s + d <- domain(h) 324s + Z <- as.im(h) 324s + } 324s + 324s + }) 324s > 324s > 324s Warning message: 324s data contain duplicated points 324s END TEST testsNtoO.R with result 0 324s BEGIN TEST testsP1.R 324s 324s R version 4.4.3 (2025-02-28) -- "Trophy Case" 324s Copyright (C) 2025 The R Foundation for Statistical Computing 324s Platform: arm-unknown-linux-gnueabihf (32-bit) 324s 324s R is free software and comes with ABSOLUTELY NO WARRANTY. 324s You are welcome to redistribute it under certain conditions. 324s Type 'license()' or 'licence()' for distribution details. 324s 324s R is a collaborative project with many contributors. 324s Type 'contributors()' for more information and 324s 'citation()' on how to cite R or R packages in publications. 324s 324s Type 'demo()' for some demos, 'help()' for on-line help, or 324s 'help.start()' for an HTML browser interface to help. 324s Type 'q()' to quit R. 324s 324s Loading required package: spatstat.geom 324s > #' 324s > #' Header for all (concatenated) test files 324s > #' 324s > #' Require spatstat.geom 324s > #' Obtain environment variable controlling tests. 324s > #' 324s > #' $Revision: 1.5 $ $Date: 2020/04/30 05:31:37 $ 324s > 324s > require(spatstat.geom) 324s Loading required package: spatstat.data 325s Loading required package: spatstat.univar 325s spatstat.univar 3.1-1 326s spatstat.geom 3.3-5 326s > FULLTEST <- (nchar(Sys.getenv("SPATSTAT_TEST", unset="")) > 0) 326s > ALWAYS <- TRUE 326s > cat(paste("--------- Executing", 326s + if(FULLTEST) "** ALL **" else "**RESTRICTED** subset of", 326s + "test code -----------\n")) 326s --------- Executing **RESTRICTED** subset of test code ----------- 326s > #' tests/perspim.R 326s > #' 326s > #' Check persp.im handling of NA, etc 326s > #' 326s > #' $Revision: 1.3 $ $Date: 2020/12/04 04:05:54 $ 326s > 326s > if(FULLTEST) { 326s + local({ 326s + set.seed(42) 326s + Z <- distmap(letterR, invert=TRUE)[letterR, drop=FALSE] 326s + X <- runifrect(100, Frame(Z)) 326s + M <- persp(Z, colin=Z, visible=TRUE, phi=50) 326s + perspPoints(X, Z=Z, M=M) 326s + P <- psp(c(2.360, 3.079, 2.211), 326s + c(0.934, 1.881, 2.184), 326s + c(2.337, 3.654, 3.274), 326s + c(1.829, 0.883, 2.093), window=letterR) 326s + perspSegments(P, Z=Z, M=M) 326s + 326s + persp(Z, colmap=rainbow) 326s + persp(Z, colmap=beachcolours, sealevel=mean(Z)) 326s + persp(Z, colin=as.im(Z, dimyx=dim(Z)/4)) 326s + }) 326s + } 326s > ## 326s > ## tests/pixelgripes.R 326s > ## Problems related to pixellation of windows 326s > ## 326s > ## $Revision: 1.8 $ $Date: 2022/10/23 06:21:10 $ 326s > 326s > if(FULLTEST) { 326s + local({ 326s + 326s + 326s + ## pixellate.ppp includes mapping from (x,y) to (row, col) 326s + Z <- pixellate(cells, savemap=TRUE) 326s + ind <- attr(Z, "map") 326s + m <- (as.matrix(Z))[ind] 326s + if(!all(m == 1)) stop("Coordinate mismatch in pixellate.ppp") 326s + }) 326s + } 326s > ## 326s > ## tests/polygons.R 326s > ## 326s > ## $Revision: 1.5 $ $Date: 2020/04/30 05:23:52 $ 326s > ## 326s > if(ALWAYS) { # involves C code 326s + local({ 326s + co <- as.ppp(corners(letterR), letterR, check=FALSE) 326s + co[letterR] 326s + 326s + b <- letterR$bdry 326s + a <- sapply(b, xypolyselfint, yesorno=TRUE) 326s + a <- lapply(b, xypolyselfint, proper=TRUE) 326s + 326s + ## Simple example of self-crossing polygon 326s + x <- read.table("selfcross.txt", header=TRUE) 326s + y <- xypolyselfint(x) 326s + }) 326s + } 326s > 326s END TEST testsP1.R with result 0 326s BEGIN TEST testsP2.R 326s 326s R version 4.4.3 (2025-02-28) -- "Trophy Case" 326s Copyright (C) 2025 The R Foundation for Statistical Computing 326s Platform: arm-unknown-linux-gnueabihf (32-bit) 326s 326s R is free software and comes with ABSOLUTELY NO WARRANTY. 326s You are welcome to redistribute it under certain conditions. 326s Type 'license()' or 'licence()' for distribution details. 326s 326s R is a collaborative project with many contributors. 326s Type 'contributors()' for more information and 326s 'citation()' on how to cite R or R packages in publications. 326s 326s Type 'demo()' for some demos, 'help()' for on-line help, or 326s 'help.start()' for an HTML browser interface to help. 326s Type 'q()' to quit R. 326s 326s > #' 326s > #' Header for all (concatenated) test files 326s > #' 326s > #' Require spatstat.geom 326s > #' Obtain environment variable controlling tests. 326s > #' 326s > #' $Revision: 1.5 $ $Date: 2020/04/30 05:31:37 $ 326s > 326s > require(spatstat.geom) 326s Loading required package: spatstat.geom 326s Loading required package: spatstat.data 327s Loading required package: spatstat.univar 327s spatstat.univar 3.1-1 327s spatstat.geom 3.3-5 327s > FULLTEST <- (nchar(Sys.getenv("SPATSTAT_TEST", unset="")) > 0) 327s > ALWAYS <- TRUE 327s > cat(paste("--------- Executing", 327s + if(FULLTEST) "** ALL **" else "**RESTRICTED** subset of", 327s + "test code -----------\n")) 327s --------- Executing **RESTRICTED** subset of test code ----------- 327s > #' 327s > #' tests/ppp.R 327s > #' 327s > #' $Revision: 1.14 $ $Date: 2022/08/27 04:49:32 $ 327s > #' 327s > #' Untested cases in ppp() or associated code 327s > 327s > local({ 327s + ## X <- runifpoint(10, letterR) 327s + ## Y <- runifpoint(10, complement.owin(letterR)) 327s + Bin <- owin(c(2.15, 2.45), c(0.85, 3.0)) 327s + Bout <- owin(c(2.75, 2.92), c(0.85, 1.4)) 327s + X <- runifrect(10, Bin)[letterR] 327s + Y <- runifrect(10, Bout)[complement.owin(letterR)] 327s + 327s + if(FULLTEST) { 327s + #' test handling of points out-of-bounds 327s + df <- rbind(as.data.frame(X), as.data.frame(Y)) 327s + A <- ppp(df$x, df$y, window=letterR, marks=1:20) 327s + #' test handling of points with bad coordinates 327s + df$x[1:3] <- c(Inf, NA, NaN) 327s + df$y[18:20] <- c(Inf, NA, NaN) 327s + B <- ppp(df$x, df$y, window=letterR, marks=1:20) 327s + D <- ppp(df$x, df$y, window=letterR, marks=data.frame(id=1:20, u=runif(20))) 327s + 327s + #' test print/summary/plot methods on these bad objects 327s + print(A) 327s + print(B) 327s + print(D) 327s + print(summary(A)) 327s + print(summary(B)) 327s + print(summary(D)) 327s + plot(A) 327s + plot(B) 327s + plot(D) 327s + plot(attr(A, "rejects")) 327s + plot(attr(B, "rejects")) 327s + plot(attr(D, "rejects")) 327s + 327s + #' subset operator --- cases not covered elsewhere 327s + #' subset index is a logical image 327s + Z <- distmap(letterR, invert=TRUE) 327s + V <- (Z > 0.2) 327s + XV <- X[V] 327s + #' multiple columns of marks 327s + fun3 <- finpines[1:3] 327s + #' multiple columns of marks, one of which is a factor 327s + U <- finpines 327s + marks(U)[,2] <- factor(c(rep("A", 60), rep("B", npoints(U)-60))) 327s + UU <- U[1:3, drop=TRUE] 327s + 327s + #' cut.ppp 327s + CU <- cut(U, "height") 327s + CU <- cut(U, breaks=3) 327s + 327s + #' cases of [<-.ppp 327s + set.seed(999) 327s + X <- cells 327s + B <- square(0.2) 327s + X[B] <- runifrect(3, B) 327s + #' checking 'value' 327s + Y <- flipxy(X) 327s + X[B] <- Y[square(0.3)] 327s + ## deprecated use of second argument 327s + X[,1:4] <- runifrect(3) # deprecated 327s + X[,B] <- runifrect(3, B) # deprecated 327s + X[1:3, B] <- runifrect(20) 327s + A <- superimpose(cells, X, W="convex") 327s + A <- superimpose(cells, X, W=ripras) 327s + B <- superimpose(concatxy(cells), concatxy(X), W=NULL) 327s + ## superimpose.splitppp 327s + Y <- superimpose(split(amacrine)) 327s + 327s + ## catch outdated usage of scanpp 327s + d <- system.file("rawdata", "amacrine", package="spatstat.data") 327s + if(nzchar(d)) { 327s + W <- owin(c(0, 1060/662), c(0, 1)) 327s + Y <- scanpp("amacrine.txt", dir=d, window=W, multitype=TRUE) 327s + print(Y) 327s + } 327s + ## (bad) usage of cobble.xy 327s + xx <- runif(10) 327s + yy <- runif(10) 327s + W1 <- cobble.xy(xx, yy) 327s + W2 <- cobble.xy(xx, yy, boundingbox) 327s + Wnope <- cobble.xy(xx, yy, function(x,y) {cbind(x,y)}, fatal=FALSE) 327s + 327s + ## as.data.frame.ppplist 327s + Z <- runifrect(3, nsim=4) 327s + Z[[2]] <- Z[[2]][1] 327s + Z[[3]] <- Z[[3]][FALSE] 327s + d <- as.data.frame(Z) 327s + } 327s + }) 327s > 327s > # 327s > # tests/ppx.R 327s > # 327s > # Test operations for ppx objects 327s > # 327s > # $Revision: 1.9 $ $Date: 2020/12/04 04:49:40 $ 327s > # 327s > 327s > local({ 327s + if(ALWAYS) { 327s + ## make data 327s + df <- data.frame(x=c(1,2,2,1)/4, y=c(1,2,3,1)/4, z=c(2,3,4,3)/5) 327s + X <- ppx(data=df, coord.type=rep("s", 3), domain=box3()) 327s + } 327s + if(ALWAYS) { 327s + #' methods involving C code 327s + unique(X) 327s + duplicated(X) 327s + anyDuplicated(X) 327s + multiplicity(X) 327s + uniquemap(X) 327s + } 327s + if(FULLTEST) { 327s + #' general tests 327s + print(X) 327s + summary(X) 327s + plot(X) 327s + domain(X) 327s + unitname(X) <- c("metre", "metres") 327s + unitname(X) 327s + 327s + #' subset operator 327s + X[integer(0)] 327s + Y <- X %mark% data.frame(a=df$x, b=1:4) 327s + Y[1:2] 327s + Y[FALSE] 327s + marks(Y) <- as.data.frame(marks(Y)) 327s + Y[integer(0)] 327s + Y[1:2] 327s + Y[FALSE] 327s + } 327s + 327s + if(FULLTEST) { 327s + #' two dimensional 327s + A <- ppx(data=df[,1:2], coord.type=rep("s", 2), domain=square(1)) 327s + plot(A) 327s + B <- ppx(data=df[,1:2], coord.type=rep("s", 2), domain=NULL) 327s + plot(B) 327s + #' one dimensional 327s + E <- ppx(data=data.frame(x=runif(10))) 327s + plot(E) 327s + 327s + #' bug 327s + stopifnot(identical(unmark(chicago[1]), 327s + unmark(chicago)[1])) 327s + 327s + #' ppx with zero points 327s + U <- chicago[integer(0)] 327s + V <- U %mark% 1 327s + V <- U %mark% factor("a") 327s + 327s + #' simplify lower-dimensional patterns 327s + X3 <- ppx(data=df, coord.type=rep("s", 3), domain=box3(), simplify=TRUE) 327s + stopifnot(is.pp3(X3)) 327s + X2 <- ppx(data=df[,1:2], coord.type=rep("s", 2), domain=square(1), simplify=TRUE) 327s + stopifnot(is.ppp(X2)) 327s + 327s + #' marks<-.ppx 327s + M <- as.matrix(X) 327s + marks(X) <- df[,1] 327s + marks(X) <- df[,integer(0)] 327s + } 327s + 327s + if(FULLTEST) { 327s + ## ............ from Ege .......................... 327s + ## Tests for shift: 327s + ## Check ppp and ppx shift are the same 327s + X <- cells 327s + Y <- ppx(coords(cells), domain = boxx(0:1,0:1)) 327s + Xs <- shift(X, vec = c(1,1)) 327s + Ys <- shift(Y, vec = c(1,1)) 327s + stopifnot(all.equal(coords(Xs), coords(Ys), 327s + check.attributes = FALSE)) 327s + stopifnot(all.equal(domain(Xs), as.owin(domain(Ys)), 327s + check.attributes = FALSE)) 327s + ## Check a single numeric for vec in shift.ppx 327s + stopifnot(identical(Ys, shift(Y, vec = 1))) 327s + 327s + ## Tests for scale: 327s + dat <- data.frame(x=1:3, y=1:3, m=letters[1:3]) 327s + xrange <- yrange <- c(0,4) 327s + cent <- c(2,2) 327s + scal <- c(5,5) 327s + X <- as.ppp(dat, W = owin(xrange, yrange)) 327s + Xscaled <- affine(shift(X, vec = -cent), mat = diag(1/scal)) 327s + ## Check ppx without domain: 327s + Y <- ppx(dat, coord.type = c("spatial", "spatial", "mark")) 327s + Yscaled <- scale(Y, center = cent, scale = scal) 327s + stopifnot(all.equal(coords(Xscaled), 327s + coords(Yscaled), 327s + check.attributes = FALSE)) 327s + ## Check ppx with domain: 327s + Y$domain <- boxx(xrange, yrange) 327s + Yscaled <- scale(Y, center = cent, scale = scal) 327s + stopifnot(all.equal(as.boxx(Window(Xscaled)), 327s + domain(Yscaled), 327s + check.attributes = FALSE)) 327s + 327s + ## Tests for intersect.boxx: 327s + ## Should be unit 2D box: 327s + A <- intersect.boxx(boxx(c(-1,1),c(0,2)), boxx(c(0,3),c(0,1))) 327s + stopifnot(identical(A, boxx(c(0,1),c(0,1)))) 327s + ## Should be empty (NULL) 327s + B <- intersect.boxx(boxx(c(-1,1),c(0,2)), 327s + boxx(c(0,3),c(0,1)), 327s + boxx(c(1,2), c(-1,1))) 327s + stopifnot(is.null(B)) 327s + ## Should be unit 3D box: 327s + C <- intersect.boxx(boxx(c(-1,1),c(0,2),c(-1,1)), 327s + boxx(c(0,3),c(0,1),c(0,4))) 327s + stopifnot(identical(C, boxx(c(0,1),c(0,1),c(0,1)))) 327s + ## Should be empty (NULL) 327s + D <- intersect.boxx(boxx(c(-1,1),c(0,2),c(-1,1)), 327s + boxx(c(0,3),c(0,1),c(0,4)), NULL) 327s + stopifnot(is.null(D)) 327s + 327s + ## Tests for [.boxx with clip: 327s + ## Check ppp and ppx subset with clip are the same 327s + X <- cells 327s + WX <- shift(domain(X), vec = c(.5,.5)) 327s + X2 <- X[WX, clip=TRUE] 327s + Y <- ppx(coords(X), domain = boxx(c(0,1),c(0,1))) 327s + WY <- shift(domain(Y), vec = c(.5,.5)) 327s + Y2 <- Y[WY, clip=TRUE] 327s + stopifnot(all.equal(coords(X2), coords(Y2), check.attributes = FALSE)) 327s + stopifnot(all.equal(domain(X2), as.owin(domain(Y2)))) 327s + } 327s + 327s + }) 327s > 327s END TEST testsP2.R with result 0 327s BEGIN TEST testsQ.R 327s 327s R version 4.4.3 (2025-02-28) -- "Trophy Case" 327s Copyright (C) 2025 The R Foundation for Statistical Computing 327s Platform: arm-unknown-linux-gnueabihf (32-bit) 327s 327s R is free software and comes with ABSOLUTELY NO WARRANTY. 327s You are welcome to redistribute it under certain conditions. 327s Type 'license()' or 'licence()' for distribution details. 327s 327s R is a collaborative project with many contributors. 327s Type 'contributors()' for more information and 327s 'citation()' on how to cite R or R packages in publications. 327s 327s Type 'demo()' for some demos, 'help()' for on-line help, or 327s 'help.start()' for an HTML browser interface to help. 327s Type 'q()' to quit R. 327s 327s > #' 327s > #' Header for all (concatenated) test files 327s > #' 327s > #' Require spatstat.geom 327s > #' Obtain environment variable controlling tests. 327s > #' 327s > #' $Revision: 1.5 $ $Date: 2020/04/30 05:31:37 $ 327s > 327s > require(spatstat.geom) 327s Loading required package: spatstat.geom 327s Loading required package: spatstat.data 328s Loading required package: spatstat.univar 328s spatstat.univar 3.1-1 328s spatstat.geom 3.3-5 328s > FULLTEST <- (nchar(Sys.getenv("SPATSTAT_TEST", unset="")) > 0) 328s > ALWAYS <- TRUE 328s > cat(paste("--------- Executing", 328s + if(FULLTEST) "** ALL **" else "**RESTRICTED** subset of", 328s + "test code -----------\n")) 328s --------- Executing **RESTRICTED** subset of test code ----------- 328s > #' 328s > #' tests/quadschemes.R 328s > #' 328s > #' Quadrature schemes, dummy points etc 328s > #' 328s > #' $Revision: 1.8 $ $Date: 2020/12/04 04:56:26 $ 328s > #' 328s > 328s > if(FULLTEST) { 328s + local({ 328s + ## class 'quad' 328s + qu <- quadscheme(cells) 328s + qm <- quadscheme(amacrine) 328s + plot(qu) 328s + plot(qm) 328s + is.multitype(qu) 328s + is.multitype(qm) 328s + a <- param.quad(qu) 328s + a <- param.quad(qm) 328s + a <- equals.quad(qu) 328s + a <- equals.quad(qm) 328s + a <- domain(qu) 328s + unitname(qu) <- c("Furlong", "Furlongs") 328s + 329s + ## utilities 329s + b <- cellmiddles(square(1), 3, 4) 329s + b <- cellmiddles(letterR, 3, 4, distances=FALSE) 329s + b <- cellmiddles(letterR, 3, 4, distances=TRUE) 329s + v <- tilecentroids(square(1), 3, 4) 329s + v <- tilecentroids(letterR, 3, 4) 329s + n <- default.n.tiling(cells) 329s + n <- default.n.tiling(cells, nd=4) 329s + n <- default.n.tiling(cells, ntile=4) 329s + n <- default.n.tiling(cells, ntile=4, quasi=TRUE) 329s + 329s + ## quadrature weights - special cases 329s + ## X <- runifpoint(10, as.mask(letterR)) 329s + X <- runifrect(10, Frame(letterR))[as.mask(letterR)] 329s + gr <- gridweights(X, ntile=12, npix=7) # causes warnings about zero digital area 329s + 329s + ## plot.quad 329s + plot(quadscheme(cells, method="dirichlet", nd=7), tiles=TRUE) 329s + plot(quadscheme(cells, method="dirichlet", nd=7, exact=FALSE), tiles=TRUE) 329s + 329s + ## logistic 329s + d <- quadscheme.logi(cells, logi.dummy(cells, "binomial")) 329s + print(summary(d)) 329s + d <- quadscheme.logi(cells, logi.dummy(cells, "poisson")) 329s + print(summary(d)) 329s + d <- quadscheme.logi(cells, logi.dummy(cells, "grid")) 329s + print(summary(d)) 329s + d <- quadscheme.logi(cells, logi.dummy(cells, "transgrid")) 329s + print(summary(d)) 329s + d <- quadscheme.logi(amacrine, 329s + logi.dummy(amacrine, "binomial", mark.repeat=TRUE)) 329s + print(summary(d)) 329s + d <- quadscheme.logi(amacrine, 329s + logi.dummy(amacrine, "poisson", mark.repeat=FALSE)) 329s + print(summary(d)) 329s + }) 329s + } 329s > # 329s > # tests/quadcount.R 329s > # 329s > # Tests of quadrat counting code 329s > # 329s > # $Revision: 1.3 $ $Date: 2023/08/15 13:28:31 $ 329s > 329s > local({ 329s + if(FULLTEST) { 329s + ## from Jordan Adamson 329s + Te <- quadrats(unit.square(), 4) 329s + X <- runifrect(8) 329s + Q <- quadratcount(X, tess=Te) 329s + ## from M. Gimond 329s + A <- quadratcount(humberside, 2, 3) 329s + nA <- as.integer(t(A)) 329s + if(!all(nA == c(2, 20, 13, 11, 34, 123))) 329s + stop("Incorrect quadrat count (2,3)") 329s + ## execute intensity.quadratcount 329s + lamA <- intensity(A, image=TRUE) 329s + ## check sum 1/lambda equals area 329s + vA <- sum(1/lamA[humberside]) 329s + aA <- area(Window(humberside)) 329s + if(abs(1 - vA/aA) > 0.05) 329s + stop("Incorrect sum of 1/lambda (2,3)") 329s + ## 329s + B <- quadratcount(humberside, 5, 3) 329s + nB <- as.integer(t(B)) 329s + if(!all(nB == c(0, 0, 3, 19, 3, 2, 14, 5, 0, 2, 117, 35, 3))) 329s + stop("Incorrect quadrat count (5,3)") 329s + lamB <- intensity(B, image=TRUE) 329s + vB <- sum(1/lamB[humberside]) 329s + aaB <- tile.areas(as.tess(B)) 329s + aB <- sum(aaB[nB > 0]) 329s + if(abs(1 - vB/aB) > 0.05) 329s + stop("Incorrect sum of 1/lambda (5,3)") 329s + } 329s + }) 329s > reset.spatstat.options() 329s > 329s END TEST testsQ.R with result 0 329s BEGIN TEST testsR.R 329s 329s R version 4.4.3 (2025-02-28) -- "Trophy Case" 329s Copyright (C) 2025 The R Foundation for Statistical Computing 329s Platform: arm-unknown-linux-gnueabihf (32-bit) 329s 329s R is free software and comes with ABSOLUTELY NO WARRANTY. 329s You are welcome to redistribute it under certain conditions. 329s Type 'license()' or 'licence()' for distribution details. 329s 329s R is a collaborative project with many contributors. 329s Type 'contributors()' for more information and 329s 'citation()' on how to cite R or R packages in publications. 329s 329s Type 'demo()' for some demos, 'help()' for on-line help, or 329s 'help.start()' for an HTML browser interface to help. 329s Type 'q()' to quit R. 329s 329s > #' 329s > #' Header for all (concatenated) test files 329s > #' 329s > #' Require spatstat.geom 329s > #' Obtain environment variable controlling tests. 329s > #' 329s > #' $Revision: 1.5 $ $Date: 2020/04/30 05:31:37 $ 329s > 329s > require(spatstat.geom) 329s Loading required package: spatstat.geom 329s Loading required package: spatstat.data 330s Loading required package: spatstat.univar 330s spatstat.univar 3.1-1 330s spatstat.geom 3.3-5 330s > FULLTEST <- (nchar(Sys.getenv("SPATSTAT_TEST", unset="")) > 0) 330s > ALWAYS <- TRUE 330s > cat(paste("--------- Executing", 330s + if(FULLTEST) "** ALL **" else "**RESTRICTED** subset of", 330s + "test code -----------\n")) 330s --------- Executing **RESTRICTED** subset of test code ----------- 330s > #' tests/randbasic.R 330s > #' Tests of basic random generation code 330s > #' $Revision: 1.1 $ $Date: 2021/09/09 09:59:23 $ 330s > 330s > 330s > local({ 330s + if(FULLTEST) { 330s + #' cases not covered in examples 330s + A <- runifrect(6, nsim=2) 330s + A <- rsyst(nx=4, nsim=2) 330s + A <- rjitter(cells, nsim=2, retry=FALSE) 330s + A <- rjitter(cells, nndist(cells)/2) 330s + A <- rjitter(cells[FALSE]) 330s + } 330s + }) 330s > 330s > 330s > 330s END TEST testsR.R with result 0 330s BEGIN TEST testsS.R 330s 330s R version 4.4.3 (2025-02-28) -- "Trophy Case" 330s Copyright (C) 2025 The R Foundation for Statistical Computing 330s Platform: arm-unknown-linux-gnueabihf (32-bit) 330s 330s R is free software and comes with ABSOLUTELY NO WARRANTY. 330s You are welcome to redistribute it under certain conditions. 330s Type 'license()' or 'licence()' for distribution details. 330s 330s R is a collaborative project with many contributors. 330s Type 'contributors()' for more information and 330s 'citation()' on how to cite R or R packages in publications. 330s 330s Type 'demo()' for some demos, 'help()' for on-line help, or 330s 'help.start()' for an HTML browser interface to help. 330s Type 'q()' to quit R. 330s 330s > #' 330s > #' Header for all (concatenated) test files 330s > #' 330s > #' Require spatstat.geom 330s > #' Obtain environment variable controlling tests. 330s > #' 330s > #' $Revision: 1.5 $ $Date: 2020/04/30 05:31:37 $ 330s > 330s > require(spatstat.geom) 330s Loading required package: spatstat.geom 330s Loading required package: spatstat.data 332s Loading required package: spatstat.univar 332s > FULLTEST <- (nchar(Sys.getenv("SPATSTAT_TEST", unset="")) > 0) 332s > ALWAYS <- TRUE 332s > cat(paste("--------- Executing", 332s + if(FULLTEST) "** ALL **" else "**RESTRICTED** subset of", 332s + "test code -----------\n")) 332s --------- Executing **RESTRICTED** subset of test code ----------- 332s > ## 332s > ## tests/segments.R 332s > ## Tests of psp class and related code 332s > ## [SEE ALSO: tests/xysegment.R] 332s > ## 332s > ## $Revision: 1.33 $ $Date: 2022/05/22 08:39:47 $ 332s > 332s > 332s > local({ 332s + 332s + if(ALWAYS) { # depends on platform 332s + ## pointed out by Jeff Laake 332s + W <- owin() 332s + X <- psp(x0=.25,x1=.25,y0=0,y1=1,window=W) 332s + X[W] 332s + } 332s + 332s + X <- psp(runif(10),runif(10),runif(10),runif(10), window=owin()) 332s + 332s + if(FULLTEST) { 332s + Z <- as.mask.psp(X) 332s + Z <- pixellate(X) 332s + } 332s + 332s + if(ALWAYS) { # platform dependent 332s + ## add short segment 332s + Shorty <- psp(0.5, 0.6, 0.5001, 0.6001, window=Window(X)) 332s + XX <- superimpose(X[1:5], Shorty, X[6:10]) 332s + ZZ <- as.mask.psp(XX) 332s + ZZ <- pixellate(XX) 332s + } 332s + 332s + if(FULLTEST) { 332s + #' misc 332s + PX <- periodify(X, 2) 332s + } 332s + 332s + if(ALWAYS) { # C code 332s + ## tests of pixellate.psp -> seg2pixL 332s + ns <- 50 332s + out <- numeric(ns) 332s + for(i in 1:ns) { 332s + X <- psp(runif(1), runif(1), runif(1), runif(1), window=owin()) 332s + len <- lengths_psp(X) 332s + dlen <- sum(pixellate(X)$v) 332s + out[i] <- if(len > 1e-7) dlen/len else 1 332s + } 332s + if(diff(range(out)) > 0.01) stop(paste( 332s + "pixellate.psp test 1: relative error [", 332s + paste(diff(range(out)), collapse=", "), 332s + "]")) 332s + 332s + ## Michael Sumner's test examples 332s + set.seed(33) 332s + n <- 2001 332s + co <- cbind(runif(n), runif(n)) 332s + ow <- owin() 332s + X <- psp(co[-n,1], co[-n,2], co[-1,1], co[-1,2], window=ow) 332s + s1 <- sum(pixellate(X)) 332s + s2 <- sum(lengths_psp(X)) 332s + if(abs(s1 - s2)/s2 > 0.01) { 332s + stop(paste("pixellate.psp test 2:", 332s + "sum(pixellate(X)) = ", s1, 332s + "!=", s2, "= sum(lengths_psp(X))")) 332s + } 332s + 332s + wts <- 1/(lengths_psp(X) * X$n) 332s + s1 <- sum(pixellate(X, weights=wts)) 332s + if(abs(s1-1) > 0.01) { 332s + stop(paste("pixellate.psp test 3:", 332s + "sum(pixellate(X, weights))=", s1, 332s + " (should be 1)")) 332s + } 332s + 332s + X <- psp(0, 0, 0.01, 0.001, window=owin()) 332s + s1 <- sum(pixellate(X)) 332s + s2 <- sum(lengths_psp(X)) 332s + if(abs(s1 - s2)/s2 > 0.01) { 332s + stop(paste("pixellate.psp test 4:", 332s + "sum(pixellate(X)) = ", s1, 332s + "!=", s2, "= sum(lengths_psp(X))")) 332s + } 332s + 332s + X <- psp(0, 0, 0.001, 0.001, window=owin()) 332s + s1 <- sum(pixellate(X)) 332s + s2 <- sum(lengths_psp(X)) 332s + if(abs(s1 - s2)/s2 > 0.01) { 332s + stop(paste("pixellate.psp test 5:", 332s + "sum(pixellate(X)) = ", s1, 332s + "!=", s2, "= sum(lengths_psp(X))")) 332s + } 332s + } 332s + 332s + if(FULLTEST) { 332s + #' cases of superimpose.psp 332s + A <- as.psp(matrix(runif(40), 10, 4), window=owin()) 332s + B <- as.psp(matrix(runif(40), 10, 4), window=owin()) 332s + superimpose(A, B, W=ripras) 332s + superimpose(A, B, W="convex") 332s + } 332s + 332s + if(FULLTEST) { 332s + #' as.psp.data.frame 332s + df <- as.data.frame(matrix(runif(40), ncol=4)) 332s + A <- as.psp(df, window=square(1)) 332s + colnames(df) <- c("x0","y0","x1","y1") 332s + df <- cbind(df, data.frame(marks=1:nrow(df))) 332s + B <- as.psp(df, window=square(1)) 332s + colnames(df) <- c("xmid", "ymid", "length", "angle", "marks") 332s + E <- as.psp(df, window=square(c(-1,2))) 332s + G <- E %mark% factor(sample(letters[1:3], nsegments(E), replace=TRUE)) 332s + H <- E %mark% runif(nsegments(E)) 332s + 332s + #' print and summary methods 332s + A 332s + B 332s + E 332s + G 332s + H 332s + summary(B) 332s + summary(G) 332s + summary(H) 332s + M <- B 332s + marks(M) <- data.frame(id=marks(B), len=lengths_psp(B)) 332s + M 332s + summary(M) 332s + subset(M, select=len) 332s + 332s + #' plot method cases 332s + spatstat.options(monochrome=TRUE) 332s + plot(B) 332s + plot(G) 332s + plot(M) 332s + spatstat.options(monochrome=FALSE) 332s + plot(B) 332s + plot(G) 332s + plot(M) 332s + #' misuse of 'col' argument - several cases 332s + plot(G, col="grey") # discrete 332s + plot(B, col="grey") 332s + plot(unmark(B), col="grey") 332s + plot(M, col="grey") 332s + 332s + #' miscellaneous class support cases 332s + marks(M) <- marks(M)[1,,drop=FALSE] 332s + 332s + #' undocumented 332s + as.ppp(B) 332s + } 332s + 332s + if(ALWAYS) { # C code 332s + #' segment crossing code 332s + X <- psp(runif(30),runif(30),runif(30),runif(30), window=owin()) 332s + A <- selfcut.psp(X, eps=1e-11) 332s + B <- selfcut.psp(X[1]) 332s + #' 332s + Y <- psp(runif(30),runif(30),runif(30),runif(30), window=owin()) 332s + Z <- edges(letterR)[c(FALSE,TRUE)] 332s + spatstat.options(selfcrossing.psp.useCall=FALSE, crossing.psp.useCall=FALSE) 332s + A <- selfcrossing.psp(X) 332s + B <- selfcrossing.psp(Z) 332s + D <- crossing.psp(X,Y,details=TRUE) 332s + spatstat.options(selfcrossing.psp.useCall=TRUE, crossing.psp.useCall=TRUE) 332s + A <- selfcrossing.psp(X) 332s + B <- selfcrossing.psp(Z) 332s + D <- crossing.psp(X,Y,details=TRUE) 332s + reset.spatstat.options() 332s + } 332s + 332s + if(FULLTEST) { 332s + #' geometry 332s + m <- data.frame(A=1:10, B=letters[1:10]) 332s + X <- psp(runif(10), runif(10), runif(10), runif(10), window=owin(), marks=m) 332s + Z <- rotate(X, angle=pi/3, centre=c(0.5, 0.5)) 332s + Y <- endpoints.psp(X, which="lower") 332s + Y <- endpoints.psp(X, which="upper") 332s + Y <- endpoints.psp(X, which="right") 332s + U <- flipxy(X) 332s + } 332s + 332s + if(ALWAYS) { 332s + ## nnfun.psp 332s + P <- psp(runif(10), runif(10), runif(10), runif(10), 332s + window=square(1), marks=runif(10)) 332s + f <- nnfun(P) 332s + f <- nnfun(P, value="mark") 332s + d <- domain(f) 332s + Z <- as.im(f) 332s + } 332s + 332s + }) 332s > 332s > reset.spatstat.options() 332s > 332s > 332s > 332s > 332s > 332s > #' 332s > #' tests/simplepan.R 332s > #' 332s > #' Tests of user interaction in simplepanel 332s > #' Handled by spatstatLocator() 332s > #' 332s > #' $Revision: 1.3 $ $Date: 2020/05/01 09:59:59 $ 332s > #' 332s > 332s > if(ALWAYS) { # may depend on platform 332s + local({ 332s + ## Adapted from example(simplepanel) 332s + ## make boxes 332s + outerbox <- owin(c(0,4), c(0,1)) 332s + buttonboxes <- layout.boxes(outerbox, 4, horizontal=TRUE, aspect=1) 332s + ## make environment containing an integer count 332s + myenv <- new.env() 332s + assign("answer", 0, envir=myenv) 332s + ## what to do when finished: return the count. 332s + myexit <- function(e) { return(get("answer", envir=e)) } 332s + ## button clicks 332s + ## decrement the count 332s + Cminus <- function(e, xy) { 332s + ans <- get("answer", envir=e) 332s + assign("answer", ans - 1, envir=e) 332s + return(TRUE) 332s + } 332s + ## display the count (clicking does nothing) 332s + Cvalue <- function(...) { TRUE } 332s + ## increment the count 332s + Cplus <- function(e, xy) { 332s + ans <- get("answer", envir=e) 332s + assign("answer", ans + 1, envir=e) 332s + return(TRUE) 332s + } 332s + ## 'Clear' button 332s + Cclear <- function(e, xy) { 332s + assign("answer", 0, envir=e) 332s + return(TRUE) 332s + } 332s + ## quit button 332s + Cdone <- function(e, xy) { return(FALSE) } 332s + 332s + myclicks <- list("-"=Cminus, 332s + value=Cvalue, 332s + "+"=Cplus, 332s + done=Cdone) 332s + ## redraw the button that displays the current value of the count 332s + Rvalue <- function(button, nam, e) { 332s + plot(button, add=TRUE) 332s + ans <- get("answer", envir=e) 332s + text(centroid.owin(button), labels=ans) 332s + return(TRUE) 332s + } 332s + ## make the panel 332s + P <- simplepanel("Counter", 332s + B=outerbox, boxes=buttonboxes, 332s + clicks=myclicks, 332s + redraws = list(NULL, Rvalue, NULL, NULL), 332s + exit=myexit, env=myenv) 332s + ## queue up a sequence of inputs 332s + boxcentres <- do.call(concatxy, unname(lapply(buttonboxes[c(3,3,1,3,2,4)], 332s + centroid.owin))) 332s + spatstat.utils::queueSpatstatLocator(boxcentres$x, boxcentres$y) 332s + ## go 332s + run.simplepanel(P) 332s + }) 332s + } 332s [1] 2 332s > # 332s > # tests/splitpea.R 332s > # 332s > # Check behaviour of split.ppp etc 332s > # 332s > # Thanks to Marcelino de la Cruz 332s > # 332s > # $Revision: 1.17 $ $Date: 2021/04/15 06:19:51 $ 332s > # 332s > 332s > local({ 332s + W <- square(8) 332s + X <- ppp(c(2.98, 4.58, 7.27, 1.61, 7.19), 332s + c(7.56, 5.29, 5.03, 0.49, 1.65), 332s + window=W, check=FALSE) 332s + Z <- quadrats(W, 4, 4) 332s + Yall <- split(X, Z, drop=FALSE) 332s + Ydrop <- split(X, Z, drop=TRUE) 332s + 332s + if(ALWAYS) { # may depend on platform 332s + P <- Yall[[1]] 332s + if(!all(inside.owin(P$x, P$y, P$window))) 332s + stop("Black hole detected when drop=FALSE") 332s + P <- Ydrop[[1]] 332s + if(!all(inside.owin(P$x, P$y, P$window))) 332s + stop("Black hole detected when drop=TRUE") 332s + Ydrop[[1]] <- P[1] 332s + split(X, Z, drop=TRUE) <- Ydrop 332s + } 332s + 332s + ## test NA handling 332s + Zbad <- quadrats(square(4), 2, 2) 332s + Ybdrop <- split(X, Zbad, drop=TRUE) 332s + Yball <- split(X, Zbad, drop=FALSE) 332s + 332s + if(FULLTEST) { 332s + ## other bugs/ code blocks in split.ppp, split<-.ppp, [<-.splitppp 332s + flog <- rep(c(TRUE,FALSE), 21) 332s + fimg <- as.im(dirichlet(runifrect(5, Window(cells))), dimyx=32) 332s + A <- split(cells, flog) 332s + B <- split(cells, square(0.5)) 332s + D <- split(cells, fimg) 332s + E <- split(cells, logical(42), drop=TRUE) 332s + Cellules <- cells 332s + split(Cellules, flog) <- solapply(A, rjitter) 332s + split(Cellules, fimg) <- solapply(D, rjitter) 332s + D[[2]] <- rjitter(D[[2]]) 332s + Funpines <- finpines 332s + marks(Funpines)[,"diameter"] <- factor(marks(Funpines)[,"diameter"]) 332s + G <- split(Funpines) 332s + H <- split(Funpines, "diameter") 332s + split(Funpines) <- solapply(G, rjitter) 332s + split(Funpines, "diameter") <- solapply(H, rjitter) 332s + 332s + ## From Marcelino 332s + set.seed(1) 332s + W<- square(10) # the big window 332s + ## puntos<- rpoispp(0.5, win=W) 332s + puntos<- runifrect(rpois(1, 0.5 * area(W)), win=W) 332s + r00 <- letterR 332s + r05 <- shift(letterR,c(0,5)) 332s + r50 <- shift(letterR,c(5,0)) 332s + r55 <- shift(letterR,c(5,5)) 332s + tessr4 <- tess(tiles=list(r00, r05,r50,r55)) 332s + puntosr4 <- split(puntos, tessr4, drop=TRUE) 332s + split(puntos, tessr4, drop=TRUE) <- puntosr4 332s + 332s + ## More headaches with mark format 332s + A <- runifrect(10) 332s + B <- runifrect(10) 332s + AB <- split(superimpose(A=A, B=B)) 332s + 332s + #' check that split<- respects ordering where possible 332s + X <- amacrine 332s + Y <- split(X) 332s + split(X) <- Y 332s + stopifnot(identical(X, amacrine)) 332s + 332s + #' split.ppx 332s + df <- data.frame(x=runif(4),y=runif(4),t=runif(4), 332s + age=rep(c("old", "new"), 2), 332s + mineral=factor(rep(c("Au","Cu"), each=2), 332s + levels=c("Au", "Cu", "Pb")), 332s + size=runif(4)) 332s + X <- ppx(data=df, coord.type=c("s","s","t","m", "m","m")) 332s + Y <- split(X, "age") 332s + Y <- split(X, "mineral", drop=TRUE) 332s + Y <- split(X, "mineral") 332s + print(Y) 332s + print(summary(Y)) 332s + Y[c(TRUE,FALSE,TRUE)] 332s + Y[1:2] 332s + Y[3] <- Y[1] 332s + } 332s + }) 332s > 332s > ## 332s > ## tests/symbolmaps.R 332s > ## 332s > ## Quirks associated with symbolmaps, etc. 332s > ## 332s > ## $Revision: 1.6 $ $Date: 2024/04/08 04:22:25 $ 332s > 332s > if(FULLTEST) { 332s + local({ 332s + set.seed(100) 332s + X <- runifrect(8) 332s + 332s + ## symbolmap for numeric values 332s + g1 <- symbolmap(range=c(0,100), size=function(x) x/50) 332s + invoke.symbolmap(g1, 50, x=numeric(0), y=numeric(0), add=TRUE) 332s + plot(g1, labelmap=100) 332s + ## symbolmap for discrete categories 332s + g2 <- symbolmap(inputs=letters[1:5], chars=1:5) 332s + invoke.symbolmap(g2, "a", x=numeric(0), y=numeric(0), add=TRUE) 332s + plot(g2) 332s + ## constant/trivial 332s + a <- symbolmap(pch=16) 332s + print(a) 332s + plot(a) 332s + symbolmapdomain(a) 332s + b <- symbolmap() 332s + print(b) 332s + ## graphical arguments with mixed types (function, constant) 332s + f <- function(x) { ifelse(x %in% letters[1:3], "circles", "squares")} 332s + g3 <- symbolmap(inputs=letters[1:5], size=0.7, shape=f) 332s + invoke.symbolmap(g3, "a", x=numeric(0), y=numeric(0), add=TRUE) 332s + plot(g3) 332s + 332s + ## textureplot 332s + V <- as.im(dirichlet(X)) 332s + tmap <- textureplot(V) 332s + textureplot(V, textures=tmap, legend=TRUE, leg.side="left") 332s + textureplot(V, leg.side="bottom") 332s + textureplot(V, leg.side="top") 332s + ## spacing too large for tiles - upsets various pieces of code 332s + textureplot(V, spacing=2) 332s + 332s + ## plot.texturemap 332s + plot(tmap, vertical=TRUE) 332s + plot(tmap, vertical=TRUE, xlim=c(0,1)) 332s + plot(tmap, vertical=TRUE, ylim=c(0,1)) 332s + plot(tmap, vertical=FALSE, xlim=c(0,1)) 332s + plot(tmap, vertical=FALSE, ylim=c(0,1)) 332s + 332s + ## infrastructure 332s + plan.legend.layout(owin(), side="top", started=TRUE) 332s + }) 332s + } 332s > 332s END TEST testsS.R with result 0 332s BEGIN TEST testsT.R 332s 332s R version 4.4.3 (2025-02-28) -- "Trophy Case" 332s Copyright (C) 2025 The R Foundation for Statistical Computing 332s Platform: arm-unknown-linux-gnueabihf (32-bit) 332s 332s R is free software and comes with ABSOLUTELY NO WARRANTY. 332s You are welcome to redistribute it under certain conditions. 332s Type 'license()' or 'licence()' for distribution details. 332s 332s R is a collaborative project with many contributors. 332s Type 'contributors()' for more information and 332s 'citation()' on how to cite R or R packages in publications. 332s 332s Type 'demo()' for some demos, 'help()' for on-line help, or 332s 'help.start()' for an HTML browser interface to help. 332s Type 'q()' to quit R. 332s 332s spatstat.univar 3.1-1 332s spatstat.geom 3.3-5 332s dev.new(): using pdf(file="Rplots1.pdf") 332s Loading required package: spatstat.geom 332s > #' 332s > #' Header for all (concatenated) test files 332s > #' 332s > #' Require spatstat.geom 332s > #' Obtain environment variable controlling tests. 332s > #' 332s > #' $Revision: 1.5 $ $Date: 2020/04/30 05:31:37 $ 332s > 332s > require(spatstat.geom) 332s Loading required package: spatstat.data 333s Loading required package: spatstat.univar 333s spatstat.univar 3.1-1 333s spatstat.geom 3.3-5 333s > FULLTEST <- (nchar(Sys.getenv("SPATSTAT_TEST", unset="")) > 0) 333s > ALWAYS <- TRUE 333s > cat(paste("--------- Executing", 333s + if(FULLTEST) "** ALL **" else "**RESTRICTED** subset of", 333s + "test code -----------\n")) 333s --------- Executing **RESTRICTED** subset of test code ----------- 333s > #' tests/tessera.R 333s > #' Tessellation code, not elsewhere tested 333s > #' $Revision: 1.9 $ $Date: 2020/12/04 08:04:38 $ 333s > #' 333s > if(FULLTEST) { 333s + local({ 333s + W <- owin() 333s + Wsub <- square(0.5) 333s + X <- runifrect(7, W) 333s + A <- dirichlet(X) 333s + marks(A) <- 1:nobjects(A) 333s + Z <- distmap(letterR, invert=TRUE)[letterR, drop=FALSE] 333s + H <- tess(xgrid=0:2, ygrid=0:3) 333s + #' discretisation of tiles 333s + V <- as.im(A) 333s + B <- tess(window=as.mask(W), tiles=tiles(A)) 333s + #' logical images 333s + D <- tess(image=(Z > 0.2)) 333s + U <- (Z > -0.2) # TRUE or NA 333s + E <- tess(image=U, keepempty=TRUE) 333s + G <- tess(image=U, keepempty=FALSE) 333s + #' methods 333s + flay <- function(op, ..., Rect=H, Poly=A, Img=E) { 333s + a <- do.call(op, list(Rect, ...)) 333s + b <- do.call(op, list(Poly, ...)) 333s + e <- do.call(op, list(Img, ...)) 333s + } 333s + flay(reflect) 333s + flay(flipxy) 333s + flay(shift, vec=c(1,2)) 333s + flay(scalardilate, f=2) 333s + flay(rotate, angle=pi/3, centre=c(0, 0)) 333s + flay(rotate, angle=pi/2) 333s + flay(affine, mat=matrix(c(1,2,0,1), 2, 2), vec=c(1,2)) 333s + flay(affine, mat=diag(c(1,2))) 333s + flay(as.data.frame) 333s + ## 333s + unitname(A) <- "km" 333s + unitname(B) <- c("metre", "metres") 333s + unitname(B) 333s + print(B) 333s + Bsub <- B[c(3,5,7)] 333s + print(Bsub) 333s + tilenames(H) <- letters[seq_along(tilenames(H))] 333s + G <- tess(xgrid=(0:3)/3, ygrid=(0:3)/3) 333s + tilenames(G) <- letters[1:9] 333s + h <- tilenames(G) 333s + GG <- as.tess(tiles(G)) 333s + #' 333s + Pe <- intersect.tess(A, Wsub, keepmarks=TRUE) 333s + Pm <- intersect.tess(A, as.mask(Wsub), keepmarks=TRUE) 333s + H <- dirichlet(runifrect(4, W)) 333s + AxH <- intersect.tess(A, H, keepmarks=TRUE) # A is marked, H is not 333s + HxA <- intersect.tess(H, A, keepmarks=TRUE) # A is marked, H is not 333s + 333s + b <- bdist.tiles(D) 333s + b <- bdist.tiles(A[c(3,5,7)]) 333s + #' 333s + Eim <- as.im(E, W=letterR) 333s + #' 333s + #' chop.tess 333s + #' horiz/vert lines 333s + W <- square(1) 333s + H <- infline(h=(2:4)/5) 333s + V <- infline(v=(3:4)/5) 333s + WH <- chop.tess(W, H) 333s + WV <- chop.tess(W, V) 333s + #' polygonal tessellation 333s + D <- dirichlet(runifrect(4)) 333s + DH <- chop.tess(D, H) 333s + DV <- chop.tess(D, V) 333s + #' image-based tessellation 333s + f <- function(x,y){factor(round(4* (x^2 + y^2)))} 333s + A <- tess(image=as.im(f, W=W)) 333s + L <- infline(p=(1:3)/3, theta=pi/4) 333s + AL <- chop.tess(A, L) 333s + AH <- chop.tess(A, H) 333s + AV <- chop.tess(A, V) 333s + #' 333s + #' quantess 333s + #' quantess.owin 333s + a <- quantess(square(1), "x", 3) 333s + a <- quantess(square(1), "y", 3) 333s + a <- quantess(square(1), "rad", 5, origin=c(1/2, 1/3)) 333s + a <- quantess(square(1), "ang", 7, origin=c(1/2, 1/3)) 333s + ZFUN <- function(x,y){y-x} 333s + a <- quantess(square(1), ZFUN, 3) 333s + b <- quantess(letterR, "y", 3) 333s + #' quantess.ppp 333s + d <- quantess(cells, "y", 4) 333s + g <- quantess(demopat, "x", 5) 333s + g <- quantess(demopat, "y", 5) 333s + g <- quantess(demopat, "rad", 5, origin=c(4442, 4214)) 333s + g <- quantess(demopat, "ang", 5, origin=c(4442, 4214)) 333s + g <- quantess(demopat, ZFUN, 7) 333s + #' quantess.im 333s + D <- distmap(demopat) 333s + h <- quantess(D, "y", 4) 333s + h <- quantess(D, ZFUN, 5) 333s + g <- quantess(D, "rad", 5, origin=c(4442, 4214)) 333s + g <- quantess(D, "ang", 5, origin=c(4442, 4214)) 333s + #' 333s + X <- shift(chorley, vec = c(1e6, 0)) 333s + tes <- quantess(X, "x", 4) 333s + if(anyDuplicated(tilenames(tes))) 333s + stop("quantess produced non-unique tilenames") 333s + ## 333s + ## 333s + XR <- runifrect(40, Frame(letterR))[letterR] 333s + da <- dirichletAreas(discretise(XR)) 333s + }) 333s + } 333s > #' tests/trigraph.R 333s > #' 333s > #' Tests for C code in trigraf.c 333s > #' 333s > #' $Revision: 1.5 $ $Date: 2020/06/12 00:35:44 $ 333s > #' 333s > if(ALWAYS) { # depends on C code 333s + local({ 333s + #' called from deldir.R 333s + spatstat.deldir.setopt(FALSE, TRUE) 333s + A <- delaunay(redwood) 333s + spatstat.deldir.setopt(FALSE, FALSE) 333s + B <- delaunay(redwood) 333s + spatstat.deldir.setopt(TRUE, TRUE) 333s + #' called from edges2triangles.R 333s + tryangles <- function(iedge, jedge, nt=0) { 333s + spatstat.options(fast.trigraph=FALSE) 333s + A <- edges2triangles(iedge, jedge) 333s + spatstat.options(fast.trigraph=TRUE) 333s + B <- edges2triangles(iedge, jedge) 333s + if(!all(dim(A) == dim(B)) || !all(A == B)) 333s + stop(paste("Discrepancy in edges2triangles (with", nt, "triangles)")) 333s + } 333s + ## ii <- simplenet$from 333s + ## jj <- simplenet$to 333s + ii <- c(1, 3, 4, 2, 4, 5, 5, 6, 7, 8) 333s + jj <- c(4, 4, 5, 6, 6, 8, 9, 10, 10, 10) 333s + tryangles(ii, jj, 0) 333s + tryangles(c(ii, 1), c(jj, 5), 1) 333s + tryangles(c(ii, 1, 8), c(jj, 5, 9), 2) 333s + }) 333s + } 333s > reset.spatstat.options() 333s > 333s > 333s > 333s END TEST testsT.R with result 0 333s BEGIN TEST testsUtoZ.R 333s 333s R version 4.4.3 (2025-02-28) -- "Trophy Case" 333s Copyright (C) 2025 The R Foundation for Statistical Computing 333s Platform: arm-unknown-linux-gnueabihf (32-bit) 333s 333s R is free software and comes with ABSOLUTELY NO WARRANTY. 333s You are welcome to redistribute it under certain conditions. 333s Type 'license()' or 'licence()' for distribution details. 333s 333s R is a collaborative project with many contributors. 333s Type 'contributors()' for more information and 333s 'citation()' on how to cite R or R packages in publications. 333s 333s Type 'demo()' for some demos, 'help()' for on-line help, or 333s 'help.start()' for an HTML browser interface to help. 333s Type 'q()' to quit R. 333s 333s > #' 333s > #' Header for all (concatenated) test files 333s > #' 333s > #' Require spatstat.geom 333s > #' Obtain environment variable controlling tests. 333s > #' 333s > #' $Revision: 1.5 $ $Date: 2020/04/30 05:31:37 $ 333s > 333s > require(spatstat.geom) 333s Loading required package: spatstat.geom 333s Loading required package: spatstat.data 334s Loading required package: spatstat.univar 334s spatstat.univar 3.1-1 334s spatstat.geom 3.3-5 334s > FULLTEST <- (nchar(Sys.getenv("SPATSTAT_TEST", unset="")) > 0) 334s > ALWAYS <- TRUE 334s > cat(paste("--------- Executing", 334s + if(FULLTEST) "** ALL **" else "**RESTRICTED** subset of", 334s + "test code -----------\n")) 334s --------- Executing **RESTRICTED** subset of test code ----------- 334s > # 334s > # tests/utils.R 334s > # 334s > # Tests of miscellaneous utilities 334s > # 334s > # $Revision: 1.1 $ $Date: 2023/05/07 08:59:32 $ 334s > 334s > local({ 334s + if(FULLTEST) { 334s + ## test code blocks in 'progressreport' 334s + pstate <- list() 334s + for(i in 1:10) { 334s + Sys.sleep(1) 334s + pstate <- progressreport(i, 10, 334s + formula = (time ~ i + I(i^2) + I(i^3)), 334s + showtime=TRUE, 334s + savehistory=TRUE, 334s + state=pstate) 334s + } 334s + } 334s + }) 334s > 334s > # 334s > # tests/windows.R 334s > # 334s > # Tests of owin geometry code 334s > # 334s > # $Revision: 1.18 $ $Date: 2023/07/11 06:21:37 $ 334s > 334s > local({ 334s + if(ALWAYS) { # C code 334s + ## Ege Rubak spotted this problem in 1.28-1 334s + A <- as.owin(ants) 334s + B <- dilation(A, 140) 334s + if(!is.subset.owin(A, B)) 334s + stop("is.subset.owin fails in polygonal case") 334s + 334s + ## thanks to Tom Rosenbaum 334s + A <- shift(square(3), origin="midpoint") 334s + B <- shift(square(1), origin="midpoint") 335s + AB <- setminus.owin(A, B) 335s + D <- shift(square(2), origin="midpoint") 335s + if(is.subset.owin(D,AB)) 335s + stop("is.subset.owin fails for polygons with holes") 335s + 335s + ## thanks to Brian Ripley / SpatialVx 335s + M <- as.mask(letterR) 335s + stopifnot(area(bdry.mask(M)) > 0) 335s + stopifnot(area(convexhull(M)) > 0) 335s + R <- as.mask(square(1)) 335s + stopifnot(area(bdry.mask(R)) > 0) 335s + stopifnot(area(convexhull(R)) > 0) 335s + } 335s + 335s + if(FULLTEST) { 335s + RR <- convexify(as.mask(letterR)) 335s + CC <- covering(letterR, 0.05, eps=0.1) 335s + 335s + #' as.owin.data.frame 335s + V <- as.mask(letterR, eps=0.2) 335s + Vdf <- as.data.frame(V) 335s + Vnew <- as.owin(Vdf) 335s + zz <- mask2df(V) 335s + } 335s + 335s + if(ALWAYS) { # C code 335s + RM <- owinpoly2mask(letterR, as.mask(Frame(letterR)), check=TRUE) 335s + } 335s + 335s + if(FULLTEST) { 335s + #' as.owin 335s + U <- as.owin(quadscheme(cells)) 335s + U2 <- as.owin(list(xmin=0, xmax=1, ymin=0, ymax=1)) 335s + } 335s + 335s + if(ALWAYS) { 335s + #' validity of as.mask applied to rectangles with additional raster info 335s + Z <- as.im(unit.square()) 335s + R <- square(0.5) 335s + aR <- area(R) 335s + a <- area(as.mask(R, xy=Z)) 335s + if(abs(a-aR) > aR/20) 335s + stop("Problem with as.mask(rectangle, xy=image)") 335s + a <- area(as.mask(R, xy=list(x=Z$xcol, y=Z$yrow))) 335s + if(abs(a-aR) > aR/20) 335s + stop("Problem with as.mask(rectangle, xy=list(x,y))") 335s + } 335s + 335s + if(FULLTEST) { 335s + #' intersections involving masks 335s + B1 <- square(1) 335s + B2 <- as.mask(shift(B1, c(0.2, 0.3))) 335s + o12 <- overlap.owin(B1, B2) 335s + o21 <- overlap.owin(B2, B1) 335s + i12 <- intersect.owin(B1, B2, eps=0.01) 335s + i21 <- intersect.owin(B2, B1, eps=0.01) 335s + E2 <- emptywindow(square(2)) 335s + e12 <- intersect.owin(B1, E2) 335s + e21 <- intersect.owin(E2, B1) 335s + 335s + #' geometry 335s + inradius(B1) 335s + inradius(B2) 335s + inradius(letterR) 335s + inpoint(B1) 335s + inpoint(B2) 335s + inpoint(letterR) 335s + is.convex(B1) 335s + is.convex(B2) 335s + is.convex(letterR) 335s + volume(letterR) 335s + perimeter(as.mask(letterR)) 335s + boundingradius(cells) 335s + 335s + boundingbox(letterR) 335s + boundingbox(letterR, NULL) 335s + boundingbox(solist(letterR)) 335s + 335s + } 335s + 335s + if(ALWAYS) { # C code 335s + spatstat.options(Cbdrymask=FALSE) 335s + bb <- bdry.mask(letterR) 335s + spatstat.options(Cbdrymask=TRUE) 335s + } 335s + 335s + if(FULLTEST) { 335s + X <- longleaf[square(50)] 335s + marks(X) <- marks(X)/8 335s + D <- discs(X) 335s + D <- discs(X, delta=5, separate=TRUE) 335s + } 335s + 335s + if(ALWAYS) { # C code 335s + AD <- dilated.areas(cells, 335s + r=0.01 * matrix(1:10, 10,1), 335s + constrained=FALSE, exact=FALSE) 335s + } 335s + 335s + if(FULLTEST) { 335s + periodify(B1, 2) 335s + periodify(union.owin(B1, B2), 2) 335s + periodify(letterR, 2) 335s + } 335s + 335s + if(ALWAYS) { 335s + #' Ancient bug in inside.owin 335s + W5 <- owin(poly=1e5*cbind(c(-1,1,1,-1),c(-1,-1,1,1))) 335s + W6 <- owin(poly=1e6*cbind(c(-1,1,1,-1),c(-1,-1,1,1))) 335s + i5 <- inside.owin(0,0,W5) 335s + i6 <- inside.owin(0,0,W6) 335s + if(!i5) stop("Wrong answer from inside.owin") 335s + if(i5 != i6) stop("Results from inside.owin are scale-dependent") 335s + } 335s + 335s + if(FULLTEST) { 335s + #' miscellaneous utilities 335s + thrash <- function(f) { 335s + f(letterR) 335s + f(Frame(letterR)) 335s + f(as.mask(letterR)) 335s + } 335s + thrash(meanX.owin) 335s + thrash(meanY.owin) 335s + thrash(intX.owin) 335s + thrash(intY.owin) 335s + 335s + interpretAsOrigin("right", letterR) 335s + interpretAsOrigin("bottom", letterR) 335s + interpretAsOrigin("bottomright", letterR) 335s + interpretAsOrigin("topleft", letterR) 335s + interpretAsOrigin("topright", letterR) 335s + } 335s + 335s + if(ALWAYS) { # depends on polyclip 335s + A <- break.holes(letterR) 335s + B <- break.holes(letterR, splitby="y") 335s + plot(letterR, col="blue", use.polypath=FALSE) 335s + } 335s + 335s + if(ALWAYS) { # C code 335s + #' mask conversion 335s + M <- as.mask(letterR) 335s + D2 <- as.data.frame(M) # two-column 335s + D3 <- as.data.frame(M, drop=FALSE) # three-column 335s + M2 <- as.owin(D2) 335s + M3 <- as.owin(D3) 335s + W2 <- owin(mask=D2) 335s + W3 <- owin(mask=D3) 335s + } 335s + 335s + if(FULLTEST) { 335s + #' void/empty cases 335s + nix <- nearest.raster.point(numeric(0), numeric(0), M) 335s + E <- emptywindow(Frame(letterR)) 335s + print(E) 335s + #' cases of summary.owin 335s + print(summary(E)) # empty 335s + print(summary(Window(humberside))) # single polygon 335s + #' additional cases of owin() 335s + B <- owin(mask=M$m) # no pixel size or coordinate info 335s + xy <- as.data.frame(letterR) 335s + xxyy <- split(xy[,1:2], xy$id) 335s + spatstat.options(checkpolygons=TRUE) 335s + H <- owin(poly=xxyy, check=TRUE) 335s + } 335s + 335s + #' Code for/using intersection and union of windows 335s + 335s + if(FULLTEST) { 335s + Empty <- emptywindow(Frame(letterR)) 335s + a <- intersect.owin() 335s + a <- intersect.owin(Empty) 335s + a <- intersect.owin(Empty, letterR) 335s + a <- intersect.owin(letterR, Empty) 335s + b <- intersect.owin() 335s + b <- intersect.owin(Empty) 335s + b <- intersect.owin(Empty, letterR) 335s + b <- intersect.owin(letterR, Empty) 335s + d <- union.owin(as.mask(square(1)), as.mask(square(2))) 335s + #' [.owin 335s + A <- erosion(letterR, 0.2) 335s + Alogi <- as.im(TRUE, W=A) 335s + B <- letterR[A] 335s + B <- letterR[Alogi] 335s + #' miscellaneous 335s + D <- convexhull(Alogi) 335s + } 335s + }) 335s > 335s > reset.spatstat.options() 335s > ## 335s > ## tests/xysegment.R 335s > ## [SEE ALSO tests/segments.R] 335s > ## 335s > ## Test weird problems and boundary cases for line segment code 335s > ## 335s > ## $Version$ $Date: 2022/10/23 01:21:09 $ 335s > ## 335s > 335s > local({ 335s + if(FULLTEST) { 335s + ## segment of length zero 335s + B <- psp(1/2, 1/2, 1/2, 1/2, window=square(1)) 335s + BB <- angles.psp(B) 335s + A <- runifrect(3) 335s + AB <- project2segment(A,B) 335s + 335s + ## mark inheritance 335s + X <- psp(runif(10), runif(10), runif(10), runif(10), window=owin()) 335s + marks(X) <- 1:10 335s + Y <- selfcut.psp(X) 335s + marks(X) <- data.frame(A=1:10, B=factor(letters[1:10])) 335s + Z <- selfcut.psp(X) 335s + #' psp class support 335s + S <- unmark(X) 335s + marks(S) <- sample(factor(c("A","B")), nobjects(S), replace=TRUE) 335s + intensity(S) 335s + intensity(S, weights=runif(nsegments(S))) 335s + } 335s + }) 335s > 335s > 335s > 335s END TEST testsUtoZ.R with result 0 335s autopkgtest [16:44:59]: test run-unit-test: -----------------------] 339s autopkgtest [16:45:03]: test run-unit-test: - - - - - - - - - - results - - - - - - - - - - 339s run-unit-test PASS 343s autopkgtest [16:45:07]: test pkg-r-autopkgtest: preparing testbed 374s autopkgtest [16:45:38]: testbed dpkg architecture: armhf 375s autopkgtest [16:45:39]: testbed apt version: 2.9.33 379s autopkgtest [16:45:43]: @@@@@@@@@@@@@@@@@@@@ test bed setup 381s autopkgtest [16:45:45]: testbed release detected to be: plucky 388s autopkgtest [16:45:52]: updating testbed package index (apt update) 390s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [126 kB] 390s Get:2 http://ftpmaster.internal/ubuntu plucky InRelease [257 kB] 391s Get:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease [126 kB] 391s Get:4 http://ftpmaster.internal/ubuntu plucky-security InRelease [126 kB] 391s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [379 kB] 392s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [99.7 kB] 392s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.8 kB] 392s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf Packages [114 kB] 392s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf c-n-f Metadata [1832 B] 392s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted armhf c-n-f Metadata [116 B] 392s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf Packages [312 kB] 392s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf c-n-f Metadata [11.1 kB] 392s Get:13 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf Packages [3472 B] 392s Get:14 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf c-n-f Metadata [240 B] 392s Get:15 http://ftpmaster.internal/ubuntu plucky/multiverse Sources [299 kB] 392s Get:16 http://ftpmaster.internal/ubuntu plucky/universe Sources [21.0 MB] 415s Get:17 http://ftpmaster.internal/ubuntu plucky/main Sources [1394 kB] 417s Get:18 http://ftpmaster.internal/ubuntu plucky/main armhf Packages [1378 kB] 418s Get:19 http://ftpmaster.internal/ubuntu plucky/main armhf c-n-f Metadata [29.4 kB] 419s Get:20 http://ftpmaster.internal/ubuntu plucky/restricted armhf c-n-f Metadata [108 B] 419s Get:21 http://ftpmaster.internal/ubuntu plucky/universe armhf Packages [15.1 MB] 435s Get:22 http://ftpmaster.internal/ubuntu plucky/multiverse armhf Packages [172 kB] 437s Fetched 41.0 MB in 47s (874 kB/s) 438s Reading package lists... 444s autopkgtest [16:46:48]: upgrading testbed (apt dist-upgrade and autopurge) 446s Reading package lists... 446s Building dependency tree... 446s Reading state information... 447s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 447s Starting 2 pkgProblemResolver with broken count: 0 447s Done 448s Entering ResolveByKeep 448s 448s Calculating upgrade... 449s The following packages will be upgraded: 449s libc-bin libc6 locales pinentry-curses python3-jinja2 sos strace 449s 7 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 449s Need to get 8683 kB of archives. 449s After this operation, 23.6 kB of additional disk space will be used. 449s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf libc6 armhf 2.41-1ubuntu2 [2932 kB] 453s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf libc-bin armhf 2.41-1ubuntu2 [545 kB] 454s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf locales all 2.41-1ubuntu2 [4246 kB] 459s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf strace armhf 6.13+ds-1ubuntu1 [445 kB] 460s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf pinentry-curses armhf 1.3.1-2ubuntu3 [40.6 kB] 460s Get:6 http://ftpmaster.internal/ubuntu plucky/main armhf python3-jinja2 all 3.1.5-2ubuntu1 [109 kB] 460s Get:7 http://ftpmaster.internal/ubuntu plucky/main armhf sos all 4.9.0-5 [365 kB] 461s Preconfiguring packages ... 461s Fetched 8683 kB in 11s (772 kB/s) 461s (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 ... 64655 files and directories currently installed.) 461s Preparing to unpack .../libc6_2.41-1ubuntu2_armhf.deb ... 461s Unpacking libc6:armhf (2.41-1ubuntu2) over (2.41-1ubuntu1) ... 462s Setting up libc6:armhf (2.41-1ubuntu2) ... 462s (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 ... 64655 files and directories currently installed.) 462s Preparing to unpack .../libc-bin_2.41-1ubuntu2_armhf.deb ... 462s Unpacking libc-bin (2.41-1ubuntu2) over (2.41-1ubuntu1) ... 462s Setting up libc-bin (2.41-1ubuntu2) ... 462s (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 ... 64655 files and directories currently installed.) 462s Preparing to unpack .../locales_2.41-1ubuntu2_all.deb ... 462s Unpacking locales (2.41-1ubuntu2) over (2.41-1ubuntu1) ... 462s Preparing to unpack .../strace_6.13+ds-1ubuntu1_armhf.deb ... 462s Unpacking strace (6.13+ds-1ubuntu1) over (6.11-0ubuntu1) ... 462s Preparing to unpack .../pinentry-curses_1.3.1-2ubuntu3_armhf.deb ... 463s Unpacking pinentry-curses (1.3.1-2ubuntu3) over (1.3.1-2ubuntu2) ... 463s Preparing to unpack .../python3-jinja2_3.1.5-2ubuntu1_all.deb ... 463s Unpacking python3-jinja2 (3.1.5-2ubuntu1) over (3.1.5-2) ... 463s Preparing to unpack .../archives/sos_4.9.0-5_all.deb ... 463s Unpacking sos (4.9.0-5) over (4.9.0-4) ... 463s Setting up sos (4.9.0-5) ... 464s Setting up pinentry-curses (1.3.1-2ubuntu3) ... 464s Setting up locales (2.41-1ubuntu2) ... 465s Generating locales (this might take a while)... 469s en_US.UTF-8... done 469s Generation complete. 469s Setting up python3-jinja2 (3.1.5-2ubuntu1) ... 469s Setting up strace (6.13+ds-1ubuntu1) ... 469s Processing triggers for man-db (2.13.0-1) ... 470s Processing triggers for systemd (257.3-1ubuntu3) ... 472s Reading package lists... 473s Building dependency tree... 473s Reading state information... 474s Starting pkgProblemResolver with broken count: 0 474s Starting 2 pkgProblemResolver with broken count: 0 474s Done 475s Solving dependencies... 477s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 479s autopkgtest [16:47:23]: rebooting testbed after setup commands that affected boot 542s Reading package lists... 543s Building dependency tree... 543s Reading state information... 544s Starting pkgProblemResolver with broken count: 0 544s Starting 2 pkgProblemResolver with broken count: 0 544s Done 546s The following NEW packages will be installed: 546s build-essential cpp cpp-14 cpp-14-arm-linux-gnueabihf 546s cpp-arm-linux-gnueabihf dctrl-tools fontconfig fontconfig-config 546s fonts-dejavu-core fonts-dejavu-mono g++ g++-14 g++-14-arm-linux-gnueabihf 546s g++-arm-linux-gnueabihf gcc gcc-14 gcc-14-arm-linux-gnueabihf 546s gcc-arm-linux-gnueabihf gfortran gfortran-14 gfortran-14-arm-linux-gnueabihf 546s gfortran-arm-linux-gnueabihf icu-devtools libasan8 libblas-dev libblas3 546s libbz2-dev libc-dev-bin libc6-dev libcairo2 libcc1-0 libcrypt-dev libdatrie1 546s libdeflate-dev libdeflate0 libfontconfig1 libfreetype6 libgcc-14-dev 546s libgfortran-14-dev libgfortran5 libgomp1 libgraphite2-3 libharfbuzz0b 546s libice6 libicu-dev libisl23 libjbig0 libjpeg-dev libjpeg-turbo8 546s libjpeg-turbo8-dev libjpeg8 libjpeg8-dev liblapack-dev liblapack3 liblerc4 546s liblzma-dev libmpc3 libncurses-dev libpango-1.0-0 libpangocairo-1.0-0 546s libpangoft2-1.0-0 libpaper-utils libpaper2 libpcre2-16-0 libpcre2-32-0 546s libpcre2-dev libpcre2-posix3 libpixman-1-0 libpkgconf3 libpng-dev 546s libreadline-dev libsharpyuv0 libsm6 libstdc++-14-dev libtcl8.6 libthai-data 546s libthai0 libtiff6 libtirpc-dev libtk8.6 libubsan1 libwebp7 libxcb-render0 546s libxcb-shm0 libxft2 libxrender1 libxss1 libxt6t64 linux-libc-dev 546s pkg-r-autopkgtest pkgconf pkgconf-bin r-base-core r-base-dev r-cran-abind 546s r-cran-deldir r-cran-goftest r-cran-lattice r-cran-matrix r-cran-mgcv 546s r-cran-nlme r-cran-polyclip r-cran-rpart r-cran-spatial r-cran-spatstat 546s r-cran-spatstat.data r-cran-spatstat.explore r-cran-spatstat.geom 546s r-cran-spatstat.linnet r-cran-spatstat.model r-cran-spatstat.random 546s r-cran-spatstat.sparse r-cran-spatstat.univar r-cran-spatstat.utils 546s r-cran-survival r-cran-tensor rpcsvc-proto unzip x11-common xdg-utils zip 546s zlib1g-dev 546s 0 upgraded, 122 newly installed, 0 to remove and 0 not upgraded. 546s Need to get 158 MB of archives. 546s After this operation, 366 MB of additional disk space will be used. 546s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf libc-dev-bin armhf 2.41-1ubuntu2 [23.0 kB] 546s Get:2 http://ftpmaster.internal/ubuntu plucky/main armhf linux-libc-dev armhf 6.14.0-10.10 [1683 kB] 548s Get:3 http://ftpmaster.internal/ubuntu plucky/main armhf libcrypt-dev armhf 1:4.4.38-1 [120 kB] 548s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf rpcsvc-proto armhf 1.4.2-0ubuntu7 [62.2 kB] 548s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf libc6-dev armhf 2.41-1ubuntu2 [1396 kB] 549s Get:6 http://ftpmaster.internal/ubuntu plucky/main armhf libisl23 armhf 0.27-1 [546 kB] 550s Get:7 http://ftpmaster.internal/ubuntu plucky/main armhf libmpc3 armhf 1.3.1-1build2 [47.1 kB] 550s Get:8 http://ftpmaster.internal/ubuntu plucky/main armhf cpp-14-arm-linux-gnueabihf armhf 14.2.0-17ubuntu3 [9220 kB] 558s Get:9 http://ftpmaster.internal/ubuntu plucky/main armhf cpp-14 armhf 14.2.0-17ubuntu3 [1030 B] 558s Get:10 http://ftpmaster.internal/ubuntu plucky/main armhf cpp-arm-linux-gnueabihf armhf 4:14.2.0-1ubuntu1 [5578 B] 558s Get:11 http://ftpmaster.internal/ubuntu plucky/main armhf cpp armhf 4:14.2.0-1ubuntu1 [22.4 kB] 558s Get:12 http://ftpmaster.internal/ubuntu plucky/main armhf libcc1-0 armhf 15-20250222-0ubuntu1 [38.9 kB] 558s Get:13 http://ftpmaster.internal/ubuntu plucky/main armhf libgomp1 armhf 15-20250222-0ubuntu1 [128 kB] 559s Get:14 http://ftpmaster.internal/ubuntu plucky/main armhf libasan8 armhf 15-20250222-0ubuntu1 [2955 kB] 561s Get:15 http://ftpmaster.internal/ubuntu plucky/main armhf libubsan1 armhf 15-20250222-0ubuntu1 [1191 kB] 563s Get:16 http://ftpmaster.internal/ubuntu plucky/main armhf libgcc-14-dev armhf 14.2.0-17ubuntu3 [897 kB] 563s Get:17 http://ftpmaster.internal/ubuntu plucky/main armhf gcc-14-arm-linux-gnueabihf armhf 14.2.0-17ubuntu3 [18.0 MB] 583s Get:18 http://ftpmaster.internal/ubuntu plucky/main armhf gcc-14 armhf 14.2.0-17ubuntu3 [506 kB] 584s Get:19 http://ftpmaster.internal/ubuntu plucky/main armhf gcc-arm-linux-gnueabihf armhf 4:14.2.0-1ubuntu1 [1218 B] 584s Get:20 http://ftpmaster.internal/ubuntu plucky/main armhf gcc armhf 4:14.2.0-1ubuntu1 [5004 B] 584s Get:21 http://ftpmaster.internal/ubuntu plucky/main armhf libstdc++-14-dev armhf 14.2.0-17ubuntu3 [2573 kB] 587s Get:22 http://ftpmaster.internal/ubuntu plucky/main armhf g++-14-arm-linux-gnueabihf armhf 14.2.0-17ubuntu3 [10.5 MB] 599s Get:23 http://ftpmaster.internal/ubuntu plucky/main armhf g++-14 armhf 14.2.0-17ubuntu3 [21.8 kB] 599s Get:24 http://ftpmaster.internal/ubuntu plucky/main armhf g++-arm-linux-gnueabihf armhf 4:14.2.0-1ubuntu1 [966 B] 599s Get:25 http://ftpmaster.internal/ubuntu plucky/main armhf g++ armhf 4:14.2.0-1ubuntu1 [1084 B] 599s Get:26 http://ftpmaster.internal/ubuntu plucky/main armhf build-essential armhf 12.10ubuntu1 [4928 B] 599s Get:27 http://ftpmaster.internal/ubuntu plucky/main armhf dctrl-tools armhf 2.24-3build3 [94.7 kB] 599s Get:28 http://ftpmaster.internal/ubuntu plucky/main armhf libfreetype6 armhf 2.13.3+dfsg-1 [330 kB] 600s Get:29 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-dejavu-mono all 2.37-8 [502 kB] 600s Get:30 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-dejavu-core all 2.37-8 [835 kB] 601s Get:31 http://ftpmaster.internal/ubuntu plucky/main armhf fontconfig-config armhf 2.15.0-2ubuntu1 [37.5 kB] 601s Get:32 http://ftpmaster.internal/ubuntu plucky/main armhf libfontconfig1 armhf 2.15.0-2ubuntu1 [114 kB] 601s Get:33 http://ftpmaster.internal/ubuntu plucky/main armhf fontconfig armhf 2.15.0-2ubuntu1 [190 kB] 601s Get:34 http://ftpmaster.internal/ubuntu plucky/main armhf libgfortran5 armhf 15-20250222-0ubuntu1 [330 kB] 602s Get:35 http://ftpmaster.internal/ubuntu plucky/main armhf libgfortran-14-dev armhf 14.2.0-17ubuntu3 [370 kB] 602s Get:36 http://ftpmaster.internal/ubuntu plucky/main armhf gfortran-14-arm-linux-gnueabihf armhf 14.2.0-17ubuntu3 [9763 kB] 614s Get:37 http://ftpmaster.internal/ubuntu plucky/main armhf gfortran-14 armhf 14.2.0-17ubuntu3 [13.6 kB] 614s Get:38 http://ftpmaster.internal/ubuntu plucky/main armhf gfortran-arm-linux-gnueabihf armhf 4:14.2.0-1ubuntu1 [1026 B] 614s Get:39 http://ftpmaster.internal/ubuntu plucky/main armhf gfortran armhf 4:14.2.0-1ubuntu1 [1166 B] 614s Get:40 http://ftpmaster.internal/ubuntu plucky/main armhf icu-devtools armhf 76.1-1ubuntu2 [206 kB] 614s Get:41 http://ftpmaster.internal/ubuntu plucky/main armhf libblas3 armhf 3.12.1-2 [132 kB] 614s Get:42 http://ftpmaster.internal/ubuntu plucky/main armhf libblas-dev armhf 3.12.1-2 [141 kB] 614s Get:43 http://ftpmaster.internal/ubuntu plucky/main armhf libbz2-dev armhf 1.0.8-6 [30.9 kB] 614s Get:44 http://ftpmaster.internal/ubuntu plucky/main armhf libpixman-1-0 armhf 0.44.0-3 [183 kB] 614s Get:45 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-render0 armhf 1.17.0-2 [15.3 kB] 614s Get:46 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-shm0 armhf 1.17.0-2 [5774 B] 614s Get:47 http://ftpmaster.internal/ubuntu plucky/main armhf libxrender1 armhf 1:0.9.10-1.1build1 [16.0 kB] 614s Get:48 http://ftpmaster.internal/ubuntu plucky/main armhf libcairo2 armhf 1.18.2-2 [484 kB] 615s Get:49 http://ftpmaster.internal/ubuntu plucky/main armhf libdatrie1 armhf 0.2.13-3build1 [15.7 kB] 615s Get:50 http://ftpmaster.internal/ubuntu plucky/main armhf libdeflate0 armhf 1.23-1 [38.5 kB] 615s Get:51 http://ftpmaster.internal/ubuntu plucky/main armhf libdeflate-dev armhf 1.23-1 [45.0 kB] 615s Get:52 http://ftpmaster.internal/ubuntu plucky/main armhf libgraphite2-3 armhf 1.3.14-2ubuntu1 [64.8 kB] 615s Get:53 http://ftpmaster.internal/ubuntu plucky/main armhf libharfbuzz0b armhf 10.2.0-1 [464 kB] 616s Get:54 http://ftpmaster.internal/ubuntu plucky/main armhf x11-common all 1:7.7+23ubuntu3 [21.7 kB] 616s Get:55 http://ftpmaster.internal/ubuntu plucky/main armhf libice6 armhf 2:1.1.1-1 [36.5 kB] 616s Get:56 http://ftpmaster.internal/ubuntu plucky/main armhf libicu-dev armhf 76.1-1ubuntu2 [12.0 MB] 629s Get:57 http://ftpmaster.internal/ubuntu plucky/main armhf libjpeg-turbo8 armhf 2.1.5-3ubuntu2 [127 kB] 629s Get:58 http://ftpmaster.internal/ubuntu plucky/main armhf libjpeg-turbo8-dev armhf 2.1.5-3ubuntu2 [265 kB] 629s Get:59 http://ftpmaster.internal/ubuntu plucky/main armhf libjpeg8 armhf 8c-2ubuntu11 [2148 B] 629s Get:60 http://ftpmaster.internal/ubuntu plucky/main armhf libjpeg8-dev armhf 8c-2ubuntu11 [1484 B] 629s Get:61 http://ftpmaster.internal/ubuntu plucky/main armhf libjpeg-dev armhf 8c-2ubuntu11 [1482 B] 629s Get:62 http://ftpmaster.internal/ubuntu plucky/main armhf liblapack3 armhf 3.12.1-2 [2091 kB] 631s Get:63 http://ftpmaster.internal/ubuntu plucky/main armhf liblapack-dev armhf 3.12.1-2 [2207 kB] 633s Get:64 http://ftpmaster.internal/ubuntu plucky/main armhf liblerc4 armhf 4.0.0+ds-5ubuntu1 [160 kB] 633s Get:65 http://ftpmaster.internal/ubuntu plucky/main armhf libncurses-dev armhf 6.5+20250216-2 [345 kB] 633s Get:66 http://ftpmaster.internal/ubuntu plucky/main armhf libthai-data all 0.1.29-2build1 [158 kB] 634s Get:67 http://ftpmaster.internal/ubuntu plucky/main armhf libthai0 armhf 0.1.29-2build1 [15.2 kB] 634s Get:68 http://ftpmaster.internal/ubuntu plucky/main armhf libpango-1.0-0 armhf 1.56.2-1 [216 kB] 634s Get:69 http://ftpmaster.internal/ubuntu plucky/main armhf libpangoft2-1.0-0 armhf 1.56.2-1 [43.6 kB] 634s Get:70 http://ftpmaster.internal/ubuntu plucky/main armhf libpangocairo-1.0-0 armhf 1.56.2-1 [25.1 kB] 634s Get:71 http://ftpmaster.internal/ubuntu plucky/main armhf libpaper2 armhf 2.2.5-0.3 [16.3 kB] 634s Get:72 http://ftpmaster.internal/ubuntu plucky/main armhf libpaper-utils armhf 2.2.5-0.3 [14.2 kB] 634s Get:73 http://ftpmaster.internal/ubuntu plucky/main armhf libpcre2-16-0 armhf 10.45-1 [207 kB] 634s Get:74 http://ftpmaster.internal/ubuntu plucky/main armhf libpcre2-32-0 armhf 10.45-1 [197 kB] 634s Get:75 http://ftpmaster.internal/ubuntu plucky/main armhf libpcre2-posix3 armhf 10.45-1 [6300 B] 634s Get:76 http://ftpmaster.internal/ubuntu plucky/main armhf libpcre2-dev armhf 10.45-1 [752 kB] 635s Get:77 http://ftpmaster.internal/ubuntu plucky/main armhf libpkgconf3 armhf 1.8.1-4 [26.6 kB] 635s Get:78 http://ftpmaster.internal/ubuntu plucky/main armhf zlib1g-dev armhf 1:1.3.dfsg+really1.3.1-1ubuntu1 [880 kB] 636s Get:79 http://ftpmaster.internal/ubuntu plucky/main armhf libpng-dev armhf 1.6.47-1 [251 kB] 636s Get:80 http://ftpmaster.internal/ubuntu plucky/main armhf libreadline-dev armhf 8.2-6 [153 kB] 636s Get:81 http://ftpmaster.internal/ubuntu plucky/main armhf libsharpyuv0 armhf 1.5.0-0.1 [16.4 kB] 636s Get:82 http://ftpmaster.internal/ubuntu plucky/main armhf libsm6 armhf 2:1.2.4-1 [15.1 kB] 636s Get:83 http://ftpmaster.internal/ubuntu plucky/main armhf libtcl8.6 armhf 8.6.16+dfsg-1 [909 kB] 637s Get:84 http://ftpmaster.internal/ubuntu plucky/main armhf libjbig0 armhf 2.1-6.1ubuntu2 [24.9 kB] 637s Get:85 http://ftpmaster.internal/ubuntu plucky/main armhf libwebp7 armhf 1.5.0-0.1 [188 kB] 637s Get:86 http://ftpmaster.internal/ubuntu plucky/main armhf libtiff6 armhf 4.5.1+git230720-4ubuntu4 [179 kB] 638s Get:87 http://ftpmaster.internal/ubuntu plucky/main armhf libxft2 armhf 2.3.6-1build1 [37.4 kB] 638s Get:88 http://ftpmaster.internal/ubuntu plucky/main armhf libxss1 armhf 1:1.2.3-1build3 [6500 B] 638s Get:89 http://ftpmaster.internal/ubuntu plucky/main armhf libtk8.6 armhf 8.6.16-1 [686 kB] 638s Get:90 http://ftpmaster.internal/ubuntu plucky/main armhf libxt6t64 armhf 1:1.2.1-1.2build1 [145 kB] 639s Get:91 http://ftpmaster.internal/ubuntu plucky/main armhf zip armhf 3.0-14ubuntu2 [164 kB] 639s Get:92 http://ftpmaster.internal/ubuntu plucky/main armhf unzip armhf 6.0-28ubuntu6 [167 kB] 639s Get:93 http://ftpmaster.internal/ubuntu plucky/main armhf xdg-utils all 1.2.1-2ubuntu1 [66.0 kB] 639s Get:94 http://ftpmaster.internal/ubuntu plucky/universe armhf r-base-core armhf 4.4.3-1 [28.2 MB] 669s Get:95 http://ftpmaster.internal/ubuntu plucky/main armhf liblzma-dev armhf 5.6.4-1 [166 kB] 669s Get:96 http://ftpmaster.internal/ubuntu plucky/main armhf pkgconf-bin armhf 1.8.1-4 [21.2 kB] 669s Get:97 http://ftpmaster.internal/ubuntu plucky/main armhf pkgconf armhf 1.8.1-4 [16.8 kB] 669s Get:98 http://ftpmaster.internal/ubuntu plucky/main armhf libtirpc-dev armhf 1.3.4+ds-1.3 [184 kB] 670s Get:99 http://ftpmaster.internal/ubuntu plucky/universe armhf r-base-dev all 4.4.3-1 [4176 B] 670s Get:100 http://ftpmaster.internal/ubuntu plucky/universe armhf pkg-r-autopkgtest all 20231212ubuntu1 [6448 B] 670s Get:101 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-abind all 1.4-8-1 [66.9 kB] 670s Get:102 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-deldir armhf 2.0-4-1build1 [268 kB] 670s Get:103 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-goftest armhf 1.2-3-1 [58.6 kB] 671s Get:104 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-lattice armhf 0.22-6-1 [1363 kB] 672s Get:105 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-matrix armhf 1.7-3-1 [4039 kB] 677s Get:106 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-nlme armhf 3.1.167-1 [2306 kB] 680s Get:107 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-mgcv armhf 1.9-1-1 [3205 kB] 684s Get:108 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-polyclip armhf 1.10-7-1 [109 kB] 684s Get:109 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-survival armhf 3.8-3-1 [8196 kB] 695s Get:110 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-rpart armhf 4.1.24-1 [661 kB] 696s Get:111 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-spatial armhf 7.3-18-1 [131 kB] 696s Get:112 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-spatstat.utils armhf 3.1-2-1 [379 kB] 697s Get:113 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-spatstat.data all 3.1-4-1 [4047 kB] 703s Get:114 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-spatstat.univar armhf 3.1-1-1build1 [305 kB] 703s Get:115 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-spatstat.geom armhf 3.3-5-1 [3917 kB] 708s Get:116 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-spatstat.random armhf 3.3-2-1 [1151 kB] 710s Get:117 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-tensor all 1.5-4 [15.7 kB] 710s Get:118 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-spatstat.sparse armhf 3.1-0-1 [216 kB] 710s Get:119 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-spatstat.explore armhf 3.3-4-1 [3271 kB] 715s Get:120 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-spatstat.model armhf 3.3-4-1 [3397 kB] 720s Get:121 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-spatstat.linnet armhf 3.2-5-1 [1505 kB] 721s Get:122 http://ftpmaster.internal/ubuntu plucky/universe armhf r-cran-spatstat armhf 3.3-1-1 [4121 kB] 727s Preconfiguring packages ... 727s Fetched 158 MB in 3min 0s (878 kB/s) 727s Selecting previously unselected package libc-dev-bin. 727s (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 ... 64655 files and directories currently installed.) 727s Preparing to unpack .../000-libc-dev-bin_2.41-1ubuntu2_armhf.deb ... 727s Unpacking libc-dev-bin (2.41-1ubuntu2) ... 727s Selecting previously unselected package linux-libc-dev:armhf. 727s Preparing to unpack .../001-linux-libc-dev_6.14.0-10.10_armhf.deb ... 727s Unpacking linux-libc-dev:armhf (6.14.0-10.10) ... 727s Selecting previously unselected package libcrypt-dev:armhf. 727s Preparing to unpack .../002-libcrypt-dev_1%3a4.4.38-1_armhf.deb ... 727s Unpacking libcrypt-dev:armhf (1:4.4.38-1) ... 727s Selecting previously unselected package rpcsvc-proto. 727s Preparing to unpack .../003-rpcsvc-proto_1.4.2-0ubuntu7_armhf.deb ... 727s Unpacking rpcsvc-proto (1.4.2-0ubuntu7) ... 727s Selecting previously unselected package libc6-dev:armhf. 727s Preparing to unpack .../004-libc6-dev_2.41-1ubuntu2_armhf.deb ... 727s Unpacking libc6-dev:armhf (2.41-1ubuntu2) ... 727s Selecting previously unselected package libisl23:armhf. 727s Preparing to unpack .../005-libisl23_0.27-1_armhf.deb ... 727s Unpacking libisl23:armhf (0.27-1) ... 727s Selecting previously unselected package libmpc3:armhf. 727s Preparing to unpack .../006-libmpc3_1.3.1-1build2_armhf.deb ... 727s Unpacking libmpc3:armhf (1.3.1-1build2) ... 727s Selecting previously unselected package cpp-14-arm-linux-gnueabihf. 727s Preparing to unpack .../007-cpp-14-arm-linux-gnueabihf_14.2.0-17ubuntu3_armhf.deb ... 727s Unpacking cpp-14-arm-linux-gnueabihf (14.2.0-17ubuntu3) ... 728s Selecting previously unselected package cpp-14. 728s Preparing to unpack .../008-cpp-14_14.2.0-17ubuntu3_armhf.deb ... 728s Unpacking cpp-14 (14.2.0-17ubuntu3) ... 728s Selecting previously unselected package cpp-arm-linux-gnueabihf. 728s Preparing to unpack .../009-cpp-arm-linux-gnueabihf_4%3a14.2.0-1ubuntu1_armhf.deb ... 728s Unpacking cpp-arm-linux-gnueabihf (4:14.2.0-1ubuntu1) ... 728s Selecting previously unselected package cpp. 728s Preparing to unpack .../010-cpp_4%3a14.2.0-1ubuntu1_armhf.deb ... 728s Unpacking cpp (4:14.2.0-1ubuntu1) ... 728s Selecting previously unselected package libcc1-0:armhf. 728s Preparing to unpack .../011-libcc1-0_15-20250222-0ubuntu1_armhf.deb ... 728s Unpacking libcc1-0:armhf (15-20250222-0ubuntu1) ... 728s Selecting previously unselected package libgomp1:armhf. 728s Preparing to unpack .../012-libgomp1_15-20250222-0ubuntu1_armhf.deb ... 728s Unpacking libgomp1:armhf (15-20250222-0ubuntu1) ... 728s Selecting previously unselected package libasan8:armhf. 728s Preparing to unpack .../013-libasan8_15-20250222-0ubuntu1_armhf.deb ... 728s Unpacking libasan8:armhf (15-20250222-0ubuntu1) ... 728s Selecting previously unselected package libubsan1:armhf. 728s Preparing to unpack .../014-libubsan1_15-20250222-0ubuntu1_armhf.deb ... 728s Unpacking libubsan1:armhf (15-20250222-0ubuntu1) ... 728s Selecting previously unselected package libgcc-14-dev:armhf. 728s Preparing to unpack .../015-libgcc-14-dev_14.2.0-17ubuntu3_armhf.deb ... 728s Unpacking libgcc-14-dev:armhf (14.2.0-17ubuntu3) ... 728s Selecting previously unselected package gcc-14-arm-linux-gnueabihf. 728s Preparing to unpack .../016-gcc-14-arm-linux-gnueabihf_14.2.0-17ubuntu3_armhf.deb ... 728s Unpacking gcc-14-arm-linux-gnueabihf (14.2.0-17ubuntu3) ... 729s Selecting previously unselected package gcc-14. 729s Preparing to unpack .../017-gcc-14_14.2.0-17ubuntu3_armhf.deb ... 729s Unpacking gcc-14 (14.2.0-17ubuntu3) ... 729s Selecting previously unselected package gcc-arm-linux-gnueabihf. 729s Preparing to unpack .../018-gcc-arm-linux-gnueabihf_4%3a14.2.0-1ubuntu1_armhf.deb ... 729s Unpacking gcc-arm-linux-gnueabihf (4:14.2.0-1ubuntu1) ... 729s Selecting previously unselected package gcc. 729s Preparing to unpack .../019-gcc_4%3a14.2.0-1ubuntu1_armhf.deb ... 729s Unpacking gcc (4:14.2.0-1ubuntu1) ... 729s Selecting previously unselected package libstdc++-14-dev:armhf. 729s Preparing to unpack .../020-libstdc++-14-dev_14.2.0-17ubuntu3_armhf.deb ... 729s Unpacking libstdc++-14-dev:armhf (14.2.0-17ubuntu3) ... 729s Selecting previously unselected package g++-14-arm-linux-gnueabihf. 729s Preparing to unpack .../021-g++-14-arm-linux-gnueabihf_14.2.0-17ubuntu3_armhf.deb ... 729s Unpacking g++-14-arm-linux-gnueabihf (14.2.0-17ubuntu3) ... 729s Selecting previously unselected package g++-14. 729s Preparing to unpack .../022-g++-14_14.2.0-17ubuntu3_armhf.deb ... 729s Unpacking g++-14 (14.2.0-17ubuntu3) ... 729s Selecting previously unselected package g++-arm-linux-gnueabihf. 729s Preparing to unpack .../023-g++-arm-linux-gnueabihf_4%3a14.2.0-1ubuntu1_armhf.deb ... 729s Unpacking g++-arm-linux-gnueabihf (4:14.2.0-1ubuntu1) ... 729s Selecting previously unselected package g++. 729s Preparing to unpack .../024-g++_4%3a14.2.0-1ubuntu1_armhf.deb ... 729s Unpacking g++ (4:14.2.0-1ubuntu1) ... 729s Selecting previously unselected package build-essential. 729s Preparing to unpack .../025-build-essential_12.10ubuntu1_armhf.deb ... 729s Unpacking build-essential (12.10ubuntu1) ... 729s Selecting previously unselected package dctrl-tools. 729s Preparing to unpack .../026-dctrl-tools_2.24-3build3_armhf.deb ... 729s Unpacking dctrl-tools (2.24-3build3) ... 729s Selecting previously unselected package libfreetype6:armhf. 729s Preparing to unpack .../027-libfreetype6_2.13.3+dfsg-1_armhf.deb ... 729s Unpacking libfreetype6:armhf (2.13.3+dfsg-1) ... 729s Selecting previously unselected package fonts-dejavu-mono. 729s Preparing to unpack .../028-fonts-dejavu-mono_2.37-8_all.deb ... 729s Unpacking fonts-dejavu-mono (2.37-8) ... 729s Selecting previously unselected package fonts-dejavu-core. 729s Preparing to unpack .../029-fonts-dejavu-core_2.37-8_all.deb ... 729s Unpacking fonts-dejavu-core (2.37-8) ... 729s Selecting previously unselected package fontconfig-config. 729s Preparing to unpack .../030-fontconfig-config_2.15.0-2ubuntu1_armhf.deb ... 730s Unpacking fontconfig-config (2.15.0-2ubuntu1) ... 730s Selecting previously unselected package libfontconfig1:armhf. 730s Preparing to unpack .../031-libfontconfig1_2.15.0-2ubuntu1_armhf.deb ... 730s Unpacking libfontconfig1:armhf (2.15.0-2ubuntu1) ... 730s Selecting previously unselected package fontconfig. 730s Preparing to unpack .../032-fontconfig_2.15.0-2ubuntu1_armhf.deb ... 730s Unpacking fontconfig (2.15.0-2ubuntu1) ... 730s Selecting previously unselected package libgfortran5:armhf. 730s Preparing to unpack .../033-libgfortran5_15-20250222-0ubuntu1_armhf.deb ... 730s Unpacking libgfortran5:armhf (15-20250222-0ubuntu1) ... 730s Selecting previously unselected package libgfortran-14-dev:armhf. 730s Preparing to unpack .../034-libgfortran-14-dev_14.2.0-17ubuntu3_armhf.deb ... 730s Unpacking libgfortran-14-dev:armhf (14.2.0-17ubuntu3) ... 730s Selecting previously unselected package gfortran-14-arm-linux-gnueabihf. 730s Preparing to unpack .../035-gfortran-14-arm-linux-gnueabihf_14.2.0-17ubuntu3_armhf.deb ... 730s Unpacking gfortran-14-arm-linux-gnueabihf (14.2.0-17ubuntu3) ... 730s Selecting previously unselected package gfortran-14. 730s Preparing to unpack .../036-gfortran-14_14.2.0-17ubuntu3_armhf.deb ... 730s Unpacking gfortran-14 (14.2.0-17ubuntu3) ... 730s Selecting previously unselected package gfortran-arm-linux-gnueabihf. 730s Preparing to unpack .../037-gfortran-arm-linux-gnueabihf_4%3a14.2.0-1ubuntu1_armhf.deb ... 730s Unpacking gfortran-arm-linux-gnueabihf (4:14.2.0-1ubuntu1) ... 730s Selecting previously unselected package gfortran. 730s Preparing to unpack .../038-gfortran_4%3a14.2.0-1ubuntu1_armhf.deb ... 730s Unpacking gfortran (4:14.2.0-1ubuntu1) ... 730s Selecting previously unselected package icu-devtools. 730s Preparing to unpack .../039-icu-devtools_76.1-1ubuntu2_armhf.deb ... 730s Unpacking icu-devtools (76.1-1ubuntu2) ... 730s Selecting previously unselected package libblas3:armhf. 730s Preparing to unpack .../040-libblas3_3.12.1-2_armhf.deb ... 730s Unpacking libblas3:armhf (3.12.1-2) ... 730s Selecting previously unselected package libblas-dev:armhf. 730s Preparing to unpack .../041-libblas-dev_3.12.1-2_armhf.deb ... 730s Unpacking libblas-dev:armhf (3.12.1-2) ... 730s Selecting previously unselected package libbz2-dev:armhf. 730s Preparing to unpack .../042-libbz2-dev_1.0.8-6_armhf.deb ... 730s Unpacking libbz2-dev:armhf (1.0.8-6) ... 730s Selecting previously unselected package libpixman-1-0:armhf. 730s Preparing to unpack .../043-libpixman-1-0_0.44.0-3_armhf.deb ... 730s Unpacking libpixman-1-0:armhf (0.44.0-3) ... 730s Selecting previously unselected package libxcb-render0:armhf. 730s Preparing to unpack .../044-libxcb-render0_1.17.0-2_armhf.deb ... 730s Unpacking libxcb-render0:armhf (1.17.0-2) ... 730s Selecting previously unselected package libxcb-shm0:armhf. 730s Preparing to unpack .../045-libxcb-shm0_1.17.0-2_armhf.deb ... 730s Unpacking libxcb-shm0:armhf (1.17.0-2) ... 730s Selecting previously unselected package libxrender1:armhf. 730s Preparing to unpack .../046-libxrender1_1%3a0.9.10-1.1build1_armhf.deb ... 730s Unpacking libxrender1:armhf (1:0.9.10-1.1build1) ... 731s Selecting previously unselected package libcairo2:armhf. 731s Preparing to unpack .../047-libcairo2_1.18.2-2_armhf.deb ... 731s Unpacking libcairo2:armhf (1.18.2-2) ... 731s Selecting previously unselected package libdatrie1:armhf. 731s Preparing to unpack .../048-libdatrie1_0.2.13-3build1_armhf.deb ... 731s Unpacking libdatrie1:armhf (0.2.13-3build1) ... 731s Selecting previously unselected package libdeflate0:armhf. 731s Preparing to unpack .../049-libdeflate0_1.23-1_armhf.deb ... 731s Unpacking libdeflate0:armhf (1.23-1) ... 731s Selecting previously unselected package libdeflate-dev:armhf. 731s Preparing to unpack .../050-libdeflate-dev_1.23-1_armhf.deb ... 731s Unpacking libdeflate-dev:armhf (1.23-1) ... 731s Selecting previously unselected package libgraphite2-3:armhf. 731s Preparing to unpack .../051-libgraphite2-3_1.3.14-2ubuntu1_armhf.deb ... 731s Unpacking libgraphite2-3:armhf (1.3.14-2ubuntu1) ... 731s Selecting previously unselected package libharfbuzz0b:armhf. 731s Preparing to unpack .../052-libharfbuzz0b_10.2.0-1_armhf.deb ... 731s Unpacking libharfbuzz0b:armhf (10.2.0-1) ... 731s Selecting previously unselected package x11-common. 731s Preparing to unpack .../053-x11-common_1%3a7.7+23ubuntu3_all.deb ... 731s Unpacking x11-common (1:7.7+23ubuntu3) ... 731s Selecting previously unselected package libice6:armhf. 731s Preparing to unpack .../054-libice6_2%3a1.1.1-1_armhf.deb ... 731s Unpacking libice6:armhf (2:1.1.1-1) ... 731s Selecting previously unselected package libicu-dev:armhf. 731s Preparing to unpack .../055-libicu-dev_76.1-1ubuntu2_armhf.deb ... 731s Unpacking libicu-dev:armhf (76.1-1ubuntu2) ... 731s Selecting previously unselected package libjpeg-turbo8:armhf. 731s Preparing to unpack .../056-libjpeg-turbo8_2.1.5-3ubuntu2_armhf.deb ... 731s Unpacking libjpeg-turbo8:armhf (2.1.5-3ubuntu2) ... 731s Selecting previously unselected package libjpeg-turbo8-dev:armhf. 731s Preparing to unpack .../057-libjpeg-turbo8-dev_2.1.5-3ubuntu2_armhf.deb ... 731s Unpacking libjpeg-turbo8-dev:armhf (2.1.5-3ubuntu2) ... 731s Selecting previously unselected package libjpeg8:armhf. 731s Preparing to unpack .../058-libjpeg8_8c-2ubuntu11_armhf.deb ... 731s Unpacking libjpeg8:armhf (8c-2ubuntu11) ... 731s Selecting previously unselected package libjpeg8-dev:armhf. 731s Preparing to unpack .../059-libjpeg8-dev_8c-2ubuntu11_armhf.deb ... 731s Unpacking libjpeg8-dev:armhf (8c-2ubuntu11) ... 731s Selecting previously unselected package libjpeg-dev:armhf. 731s Preparing to unpack .../060-libjpeg-dev_8c-2ubuntu11_armhf.deb ... 731s Unpacking libjpeg-dev:armhf (8c-2ubuntu11) ... 731s Selecting previously unselected package liblapack3:armhf. 731s Preparing to unpack .../061-liblapack3_3.12.1-2_armhf.deb ... 731s Unpacking liblapack3:armhf (3.12.1-2) ... 731s Selecting previously unselected package liblapack-dev:armhf. 731s Preparing to unpack .../062-liblapack-dev_3.12.1-2_armhf.deb ... 731s Unpacking liblapack-dev:armhf (3.12.1-2) ... 732s Selecting previously unselected package liblerc4:armhf. 732s Preparing to unpack .../063-liblerc4_4.0.0+ds-5ubuntu1_armhf.deb ... 732s Unpacking liblerc4:armhf (4.0.0+ds-5ubuntu1) ... 732s Selecting previously unselected package libncurses-dev:armhf. 732s Preparing to unpack .../064-libncurses-dev_6.5+20250216-2_armhf.deb ... 732s Unpacking libncurses-dev:armhf (6.5+20250216-2) ... 732s Selecting previously unselected package libthai-data. 732s Preparing to unpack .../065-libthai-data_0.1.29-2build1_all.deb ... 732s Unpacking libthai-data (0.1.29-2build1) ... 732s Selecting previously unselected package libthai0:armhf. 732s Preparing to unpack .../066-libthai0_0.1.29-2build1_armhf.deb ... 732s Unpacking libthai0:armhf (0.1.29-2build1) ... 732s Selecting previously unselected package libpango-1.0-0:armhf. 732s Preparing to unpack .../067-libpango-1.0-0_1.56.2-1_armhf.deb ... 732s Unpacking libpango-1.0-0:armhf (1.56.2-1) ... 732s Selecting previously unselected package libpangoft2-1.0-0:armhf. 732s Preparing to unpack .../068-libpangoft2-1.0-0_1.56.2-1_armhf.deb ... 732s Unpacking libpangoft2-1.0-0:armhf (1.56.2-1) ... 732s Selecting previously unselected package libpangocairo-1.0-0:armhf. 732s Preparing to unpack .../069-libpangocairo-1.0-0_1.56.2-1_armhf.deb ... 732s Unpacking libpangocairo-1.0-0:armhf (1.56.2-1) ... 732s Selecting previously unselected package libpaper2:armhf. 732s Preparing to unpack .../070-libpaper2_2.2.5-0.3_armhf.deb ... 732s Unpacking libpaper2:armhf (2.2.5-0.3) ... 732s Selecting previously unselected package libpaper-utils. 732s Preparing to unpack .../071-libpaper-utils_2.2.5-0.3_armhf.deb ... 732s Unpacking libpaper-utils (2.2.5-0.3) ... 732s Selecting previously unselected package libpcre2-16-0:armhf. 732s Preparing to unpack .../072-libpcre2-16-0_10.45-1_armhf.deb ... 732s Unpacking libpcre2-16-0:armhf (10.45-1) ... 732s Selecting previously unselected package libpcre2-32-0:armhf. 732s Preparing to unpack .../073-libpcre2-32-0_10.45-1_armhf.deb ... 732s Unpacking libpcre2-32-0:armhf (10.45-1) ... 732s Selecting previously unselected package libpcre2-posix3:armhf. 732s Preparing to unpack .../074-libpcre2-posix3_10.45-1_armhf.deb ... 732s Unpacking libpcre2-posix3:armhf (10.45-1) ... 732s Selecting previously unselected package libpcre2-dev:armhf. 732s Preparing to unpack .../075-libpcre2-dev_10.45-1_armhf.deb ... 732s Unpacking libpcre2-dev:armhf (10.45-1) ... 732s Selecting previously unselected package libpkgconf3:armhf. 732s Preparing to unpack .../076-libpkgconf3_1.8.1-4_armhf.deb ... 732s Unpacking libpkgconf3:armhf (1.8.1-4) ... 732s Selecting previously unselected package zlib1g-dev:armhf. 732s Preparing to unpack .../077-zlib1g-dev_1%3a1.3.dfsg+really1.3.1-1ubuntu1_armhf.deb ... 732s Unpacking zlib1g-dev:armhf (1:1.3.dfsg+really1.3.1-1ubuntu1) ... 732s Selecting previously unselected package libpng-dev:armhf. 732s Preparing to unpack .../078-libpng-dev_1.6.47-1_armhf.deb ... 732s Unpacking libpng-dev:armhf (1.6.47-1) ... 732s Selecting previously unselected package libreadline-dev:armhf. 732s Preparing to unpack .../079-libreadline-dev_8.2-6_armhf.deb ... 732s Unpacking libreadline-dev:armhf (8.2-6) ... 732s Selecting previously unselected package libsharpyuv0:armhf. 732s Preparing to unpack .../080-libsharpyuv0_1.5.0-0.1_armhf.deb ... 732s Unpacking libsharpyuv0:armhf (1.5.0-0.1) ... 732s Selecting previously unselected package libsm6:armhf. 732s Preparing to unpack .../081-libsm6_2%3a1.2.4-1_armhf.deb ... 732s Unpacking libsm6:armhf (2:1.2.4-1) ... 732s Selecting previously unselected package libtcl8.6:armhf. 732s Preparing to unpack .../082-libtcl8.6_8.6.16+dfsg-1_armhf.deb ... 732s Unpacking libtcl8.6:armhf (8.6.16+dfsg-1) ... 732s Selecting previously unselected package libjbig0:armhf. 732s Preparing to unpack .../083-libjbig0_2.1-6.1ubuntu2_armhf.deb ... 732s Unpacking libjbig0:armhf (2.1-6.1ubuntu2) ... 732s Selecting previously unselected package libwebp7:armhf. 732s Preparing to unpack .../084-libwebp7_1.5.0-0.1_armhf.deb ... 732s Unpacking libwebp7:armhf (1.5.0-0.1) ... 732s Selecting previously unselected package libtiff6:armhf. 732s Preparing to unpack .../085-libtiff6_4.5.1+git230720-4ubuntu4_armhf.deb ... 732s Unpacking libtiff6:armhf (4.5.1+git230720-4ubuntu4) ... 732s Selecting previously unselected package libxft2:armhf. 733s Preparing to unpack .../086-libxft2_2.3.6-1build1_armhf.deb ... 733s Unpacking libxft2:armhf (2.3.6-1build1) ... 733s Selecting previously unselected package libxss1:armhf. 733s Preparing to unpack .../087-libxss1_1%3a1.2.3-1build3_armhf.deb ... 733s Unpacking libxss1:armhf (1:1.2.3-1build3) ... 733s Selecting previously unselected package libtk8.6:armhf. 733s Preparing to unpack .../088-libtk8.6_8.6.16-1_armhf.deb ... 733s Unpacking libtk8.6:armhf (8.6.16-1) ... 733s Selecting previously unselected package libxt6t64:armhf. 733s Preparing to unpack .../089-libxt6t64_1%3a1.2.1-1.2build1_armhf.deb ... 733s Unpacking libxt6t64:armhf (1:1.2.1-1.2build1) ... 733s Selecting previously unselected package zip. 733s Preparing to unpack .../090-zip_3.0-14ubuntu2_armhf.deb ... 733s Unpacking zip (3.0-14ubuntu2) ... 733s Selecting previously unselected package unzip. 733s Preparing to unpack .../091-unzip_6.0-28ubuntu6_armhf.deb ... 733s Unpacking unzip (6.0-28ubuntu6) ... 733s Selecting previously unselected package xdg-utils. 733s Preparing to unpack .../092-xdg-utils_1.2.1-2ubuntu1_all.deb ... 733s Unpacking xdg-utils (1.2.1-2ubuntu1) ... 733s Selecting previously unselected package r-base-core. 733s Preparing to unpack .../093-r-base-core_4.4.3-1_armhf.deb ... 733s Unpacking r-base-core (4.4.3-1) ... 733s Selecting previously unselected package liblzma-dev:armhf. 733s Preparing to unpack .../094-liblzma-dev_5.6.4-1_armhf.deb ... 733s Unpacking liblzma-dev:armhf (5.6.4-1) ... 733s Selecting previously unselected package pkgconf-bin. 733s Preparing to unpack .../095-pkgconf-bin_1.8.1-4_armhf.deb ... 733s Unpacking pkgconf-bin (1.8.1-4) ... 733s Selecting previously unselected package pkgconf:armhf. 733s Preparing to unpack .../096-pkgconf_1.8.1-4_armhf.deb ... 733s Unpacking pkgconf:armhf (1.8.1-4) ... 733s Selecting previously unselected package libtirpc-dev:armhf. 733s Preparing to unpack .../097-libtirpc-dev_1.3.4+ds-1.3_armhf.deb ... 733s Unpacking libtirpc-dev:armhf (1.3.4+ds-1.3) ... 733s Selecting previously unselected package r-base-dev. 733s Preparing to unpack .../098-r-base-dev_4.4.3-1_all.deb ... 733s Unpacking r-base-dev (4.4.3-1) ... 733s Selecting previously unselected package pkg-r-autopkgtest. 733s Preparing to unpack .../099-pkg-r-autopkgtest_20231212ubuntu1_all.deb ... 733s Unpacking pkg-r-autopkgtest (20231212ubuntu1) ... 733s Selecting previously unselected package r-cran-abind. 733s Preparing to unpack .../100-r-cran-abind_1.4-8-1_all.deb ... 733s Unpacking r-cran-abind (1.4-8-1) ... 733s Selecting previously unselected package r-cran-deldir. 733s Preparing to unpack .../101-r-cran-deldir_2.0-4-1build1_armhf.deb ... 733s Unpacking r-cran-deldir (2.0-4-1build1) ... 733s Selecting previously unselected package r-cran-goftest. 733s Preparing to unpack .../102-r-cran-goftest_1.2-3-1_armhf.deb ... 733s Unpacking r-cran-goftest (1.2-3-1) ... 734s Selecting previously unselected package r-cran-lattice. 734s Preparing to unpack .../103-r-cran-lattice_0.22-6-1_armhf.deb ... 734s Unpacking r-cran-lattice (0.22-6-1) ... 734s Selecting previously unselected package r-cran-matrix. 734s Preparing to unpack .../104-r-cran-matrix_1.7-3-1_armhf.deb ... 734s Unpacking r-cran-matrix (1.7-3-1) ... 734s Selecting previously unselected package r-cran-nlme. 734s Preparing to unpack .../105-r-cran-nlme_3.1.167-1_armhf.deb ... 734s Unpacking r-cran-nlme (3.1.167-1) ... 734s Selecting previously unselected package r-cran-mgcv. 734s Preparing to unpack .../106-r-cran-mgcv_1.9-1-1_armhf.deb ... 734s Unpacking r-cran-mgcv (1.9-1-1) ... 734s Selecting previously unselected package r-cran-polyclip. 734s Preparing to unpack .../107-r-cran-polyclip_1.10-7-1_armhf.deb ... 734s Unpacking r-cran-polyclip (1.10-7-1) ... 734s Selecting previously unselected package r-cran-survival. 734s Preparing to unpack .../108-r-cran-survival_3.8-3-1_armhf.deb ... 734s Unpacking r-cran-survival (3.8-3-1) ... 734s Selecting previously unselected package r-cran-rpart. 734s Preparing to unpack .../109-r-cran-rpart_4.1.24-1_armhf.deb ... 734s Unpacking r-cran-rpart (4.1.24-1) ... 734s Selecting previously unselected package r-cran-spatial. 734s Preparing to unpack .../110-r-cran-spatial_7.3-18-1_armhf.deb ... 734s Unpacking r-cran-spatial (7.3-18-1) ... 734s Selecting previously unselected package r-cran-spatstat.utils. 734s Preparing to unpack .../111-r-cran-spatstat.utils_3.1-2-1_armhf.deb ... 734s Unpacking r-cran-spatstat.utils (3.1-2-1) ... 734s Selecting previously unselected package r-cran-spatstat.data. 734s Preparing to unpack .../112-r-cran-spatstat.data_3.1-4-1_all.deb ... 734s Unpacking r-cran-spatstat.data (3.1-4-1) ... 734s Selecting previously unselected package r-cran-spatstat.univar. 734s Preparing to unpack .../113-r-cran-spatstat.univar_3.1-1-1build1_armhf.deb ... 734s Unpacking r-cran-spatstat.univar (3.1-1-1build1) ... 734s Selecting previously unselected package r-cran-spatstat.geom. 734s Preparing to unpack .../114-r-cran-spatstat.geom_3.3-5-1_armhf.deb ... 734s Unpacking r-cran-spatstat.geom (3.3-5-1) ... 734s Selecting previously unselected package r-cran-spatstat.random. 734s Preparing to unpack .../115-r-cran-spatstat.random_3.3-2-1_armhf.deb ... 734s Unpacking r-cran-spatstat.random (3.3-2-1) ... 734s Selecting previously unselected package r-cran-tensor. 734s Preparing to unpack .../116-r-cran-tensor_1.5-4_all.deb ... 734s Unpacking r-cran-tensor (1.5-4) ... 734s Selecting previously unselected package r-cran-spatstat.sparse. 734s Preparing to unpack .../117-r-cran-spatstat.sparse_3.1-0-1_armhf.deb ... 734s Unpacking r-cran-spatstat.sparse (3.1-0-1) ... 734s Selecting previously unselected package r-cran-spatstat.explore. 734s Preparing to unpack .../118-r-cran-spatstat.explore_3.3-4-1_armhf.deb ... 734s Unpacking r-cran-spatstat.explore (3.3-4-1) ... 734s Selecting previously unselected package r-cran-spatstat.model. 734s Preparing to unpack .../119-r-cran-spatstat.model_3.3-4-1_armhf.deb ... 734s Unpacking r-cran-spatstat.model (3.3-4-1) ... 734s Selecting previously unselected package r-cran-spatstat.linnet. 734s Preparing to unpack .../120-r-cran-spatstat.linnet_3.2-5-1_armhf.deb ... 734s Unpacking r-cran-spatstat.linnet (3.2-5-1) ... 734s Selecting previously unselected package r-cran-spatstat. 734s Preparing to unpack .../121-r-cran-spatstat_3.3-1-1_armhf.deb ... 734s Unpacking r-cran-spatstat (3.3-1-1) ... 735s Setting up libgraphite2-3:armhf (1.3.14-2ubuntu1) ... 735s Setting up libpixman-1-0:armhf (0.44.0-3) ... 735s Setting up libsharpyuv0:armhf (1.5.0-0.1) ... 735s Setting up liblerc4:armhf (4.0.0+ds-5ubuntu1) ... 735s Setting up libxrender1:armhf (1:0.9.10-1.1build1) ... 735s Setting up libdatrie1:armhf (0.2.13-3build1) ... 735s Setting up libxcb-render0:armhf (1.17.0-2) ... 735s Setting up unzip (6.0-28ubuntu6) ... 735s Setting up x11-common (1:7.7+23ubuntu3) ... 735s Setting up libdeflate0:armhf (1.23-1) ... 735s Setting up linux-libc-dev:armhf (6.14.0-10.10) ... 735s Setting up libxcb-shm0:armhf (1.17.0-2) ... 735s Setting up libgomp1:armhf (15-20250222-0ubuntu1) ... 735s Setting up libjbig0:armhf (2.1-6.1ubuntu2) ... 735s Setting up libpcre2-16-0:armhf (10.45-1) ... 735s Setting up zip (3.0-14ubuntu2) ... 735s Setting up libpcre2-32-0:armhf (10.45-1) ... 735s Setting up libblas3:armhf (3.12.1-2) ... 735s 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 735s Setting up libtirpc-dev:armhf (1.3.4+ds-1.3) ... 735s Setting up libpkgconf3:armhf (1.8.1-4) ... 735s Setting up rpcsvc-proto (1.4.2-0ubuntu7) ... 735s Setting up libfreetype6:armhf (2.13.3+dfsg-1) ... 735s Setting up fonts-dejavu-mono (2.37-8) ... 735s Setting up libmpc3:armhf (1.3.1-1build2) ... 735s Setting up libtcl8.6:armhf (8.6.16+dfsg-1) ... 735s Setting up icu-devtools (76.1-1ubuntu2) ... 735s Setting up fonts-dejavu-core (2.37-8) ... 735s Setting up pkgconf-bin (1.8.1-4) ... 735s Setting up libjpeg-turbo8:armhf (2.1.5-3ubuntu2) ... 735s Setting up libgfortran5:armhf (15-20250222-0ubuntu1) ... 735s Setting up libwebp7:armhf (1.5.0-0.1) ... 735s Setting up liblzma-dev:armhf (5.6.4-1) ... 735s Setting up libubsan1:armhf (15-20250222-0ubuntu1) ... 735s Setting up libpcre2-posix3:armhf (10.45-1) ... 735s Setting up libcrypt-dev:armhf (1:4.4.38-1) ... 735s Setting up libasan8:armhf (15-20250222-0ubuntu1) ... 735s Setting up libharfbuzz0b:armhf (10.2.0-1) ... 735s Setting up libthai-data (0.1.29-2build1) ... 735s Setting up libxss1:armhf (1:1.2.3-1build3) ... 735s Setting up libpaper2:armhf (2.2.5-0.3) ... 735s Setting up libgcc-14-dev:armhf (14.2.0-17ubuntu3) ... 735s Setting up libisl23:armhf (0.27-1) ... 735s Setting up libc-dev-bin (2.41-1ubuntu2) ... 735s Setting up libdeflate-dev:armhf (1.23-1) ... 735s Setting up xdg-utils (1.2.1-2ubuntu1) ... 735s update-alternatives: using /usr/bin/xdg-open to provide /usr/bin/open (open) in auto mode 735s Setting up libcc1-0:armhf (15-20250222-0ubuntu1) ... 735s Setting up libblas-dev:armhf (3.12.1-2) ... 735s update-alternatives: using /usr/lib/arm-linux-gnueabihf/blas/libblas.so to provide /usr/lib/arm-linux-gnueabihf/libblas.so (libblas.so-arm-linux-gnueabihf) in auto mode 735s Setting up dctrl-tools (2.24-3build3) ... 735s Setting up cpp-14-arm-linux-gnueabihf (14.2.0-17ubuntu3) ... 735s Setting up libjpeg8:armhf (8c-2ubuntu11) ... 735s Setting up libgfortran-14-dev:armhf (14.2.0-17ubuntu3) ... 735s Setting up libice6:armhf (2:1.1.1-1) ... 735s Setting up liblapack3:armhf (3.12.1-2) ... 735s 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 735s Setting up fontconfig-config (2.15.0-2ubuntu1) ... 735s Setting up gcc-14-arm-linux-gnueabihf (14.2.0-17ubuntu3) ... 735s Setting up libpaper-utils (2.2.5-0.3) ... 735s Setting up pkgconf:armhf (1.8.1-4) ... 735s Setting up libthai0:armhf (0.1.29-2build1) ... 735s Setting up liblapack-dev:armhf (3.12.1-2) ... 735s update-alternatives: using /usr/lib/arm-linux-gnueabihf/lapack/liblapack.so to provide /usr/lib/arm-linux-gnueabihf/liblapack.so (liblapack.so-arm-linux-gnueabihf) in auto mode 735s Setting up cpp-14 (14.2.0-17ubuntu3) ... 735s Setting up libtiff6:armhf (4.5.1+git230720-4ubuntu4) ... 735s Setting up libc6-dev:armhf (2.41-1ubuntu2) ... 735s Setting up libfontconfig1:armhf (2.15.0-2ubuntu1) ... 735s Setting up libstdc++-14-dev:armhf (14.2.0-17ubuntu3) ... 735s Setting up libsm6:armhf (2:1.2.4-1) ... 735s Setting up libicu-dev:armhf (76.1-1ubuntu2) ... 735s Setting up cpp-arm-linux-gnueabihf (4:14.2.0-1ubuntu1) ... 735s Setting up gfortran-14-arm-linux-gnueabihf (14.2.0-17ubuntu3) ... 735s Setting up libbz2-dev:armhf (1.0.8-6) ... 735s Setting up gcc-arm-linux-gnueabihf (4:14.2.0-1ubuntu1) ... 735s Setting up g++-14-arm-linux-gnueabihf (14.2.0-17ubuntu3) ... 735s Setting up fontconfig (2.15.0-2ubuntu1) ... 737s Regenerating fonts cache... done. 737s Setting up libjpeg-turbo8-dev:armhf (2.1.5-3ubuntu2) ... 737s Setting up libxft2:armhf (2.3.6-1build1) ... 737s Setting up libncurses-dev:armhf (6.5+20250216-2) ... 737s Setting up libpcre2-dev:armhf (10.45-1) ... 737s Setting up libtk8.6:armhf (8.6.16-1) ... 737s Setting up libpango-1.0-0:armhf (1.56.2-1) ... 737s Setting up libreadline-dev:armhf (8.2-6) ... 737s Setting up libcairo2:armhf (1.18.2-2) ... 737s Setting up gcc-14 (14.2.0-17ubuntu3) ... 737s Setting up gfortran-arm-linux-gnueabihf (4:14.2.0-1ubuntu1) ... 737s Setting up libxt6t64:armhf (1:1.2.1-1.2build1) ... 737s Setting up zlib1g-dev:armhf (1:1.3.dfsg+really1.3.1-1ubuntu1) ... 737s Setting up cpp (4:14.2.0-1ubuntu1) ... 737s Setting up g++-14 (14.2.0-17ubuntu3) ... 737s Setting up libpangoft2-1.0-0:armhf (1.56.2-1) ... 737s Setting up libjpeg8-dev:armhf (8c-2ubuntu11) ... 737s Setting up gfortran-14 (14.2.0-17ubuntu3) ... 737s Setting up libpangocairo-1.0-0:armhf (1.56.2-1) ... 737s Setting up g++-arm-linux-gnueabihf (4:14.2.0-1ubuntu1) ... 737s Setting up libpng-dev:armhf (1.6.47-1) ... 737s Setting up libjpeg-dev:armhf (8c-2ubuntu11) ... 737s Setting up gcc (4:14.2.0-1ubuntu1) ... 737s Setting up r-base-core (4.4.3-1) ... 738s Creating config file /etc/R/Renviron with new version 738s Setting up r-cran-lattice (0.22-6-1) ... 738s Setting up r-cran-nlme (3.1.167-1) ... 738s Setting up r-cran-spatstat.utils (3.1-2-1) ... 738s Setting up g++ (4:14.2.0-1ubuntu1) ... 738s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 738s Setting up build-essential (12.10ubuntu1) ... 738s Setting up r-cran-tensor (1.5-4) ... 738s Setting up r-cran-spatstat.univar (3.1-1-1build1) ... 738s Setting up r-cran-spatial (7.3-18-1) ... 738s Setting up r-cran-abind (1.4-8-1) ... 738s Setting up r-cran-polyclip (1.10-7-1) ... 738s Setting up gfortran (4:14.2.0-1ubuntu1) ... 738s update-alternatives: using /usr/bin/gfortran to provide /usr/bin/f95 (f95) in auto mode 738s update-alternatives: warning: skip creation of /usr/share/man/man1/f95.1.gz because associated file /usr/share/man/man1/gfortran.1.gz (of link group f95) doesn't exist 738s update-alternatives: using /usr/bin/gfortran to provide /usr/bin/f77 (f77) in auto mode 738s update-alternatives: warning: skip creation of /usr/share/man/man1/f77.1.gz because associated file /usr/share/man/man1/gfortran.1.gz (of link group f77) doesn't exist 738s Setting up r-cran-deldir (2.0-4-1build1) ... 738s Setting up r-cran-goftest (1.2-3-1) ... 738s Setting up r-cran-matrix (1.7-3-1) ... 738s Setting up r-cran-spatstat.sparse (3.1-0-1) ... 738s Setting up r-cran-mgcv (1.9-1-1) ... 738s Setting up r-base-dev (4.4.3-1) ... 738s Setting up r-cran-survival (3.8-3-1) ... 738s Setting up r-cran-spatstat.data (3.1-4-1) ... 738s Setting up pkg-r-autopkgtest (20231212ubuntu1) ... 738s Setting up r-cran-spatstat.geom (3.3-5-1) ... 738s Setting up r-cran-rpart (4.1.24-1) ... 738s Setting up r-cran-spatstat.random (3.3-2-1) ... 738s Setting up r-cran-spatstat.explore (3.3-4-1) ... 738s Setting up r-cran-spatstat.model (3.3-4-1) ... 738s Setting up r-cran-spatstat.linnet (3.2-5-1) ... 738s Setting up r-cran-spatstat (3.3-1-1) ... 738s Processing triggers for install-info (7.1.1-1) ... 738s Processing triggers for libc-bin (2.41-1ubuntu2) ... 738s Processing triggers for man-db (2.13.0-1) ... 756s autopkgtest [16:52:00]: test pkg-r-autopkgtest: /usr/share/dh-r/pkg-r-autopkgtest 756s autopkgtest [16:52:00]: test pkg-r-autopkgtest: [----------------------- 758s Test: Try to load the R library spatstat.geom 758s 758s R version 4.4.3 (2025-02-28) -- "Trophy Case" 758s Copyright (C) 2025 The R Foundation for Statistical Computing 758s Platform: arm-unknown-linux-gnueabihf (32-bit) 758s 758s R is free software and comes with ABSOLUTELY NO WARRANTY. 758s You are welcome to redistribute it under certain conditions. 758s Type 'license()' or 'licence()' for distribution details. 758s 758s R is a collaborative project with many contributors. 758s Type 'contributors()' for more information and 758s 'citation()' on how to cite R or R packages in publications. 758s 758s Type 'demo()' for some demos, 'help()' for on-line help, or 758s 'help.start()' for an HTML browser interface to help. 758s Type 'q()' to quit R. 758s 758s > library('spatstat.geom') 758s Loading required package: spatstat.data 759s Loading required package: spatstat.univar 759s spatstat.univar 3.1-1 759s spatstat.geom 3.3-5 759s > 759s > 759s Other tests are currently unsupported! 759s They will be progressively added. 760s autopkgtest [16:52:04]: test pkg-r-autopkgtest: -----------------------] 763s pkg-r-autopkgtest PASS 763s autopkgtest [16:52:07]: test pkg-r-autopkgtest: - - - - - - - - - - results - - - - - - - - - - 767s autopkgtest [16:52:11]: @@@@@@@@@@@@@@@@@@@@ summary 767s run-unit-test PASS 767s pkg-r-autopkgtest PASS