1s autopkgtest [15:42:15]: starting date and time: 2025-03-15 15:42:15+0000 1s autopkgtest [15:42:15]: git checkout: 325255d2 Merge branch 'pin-any-arch' into 'ubuntu/production' 1s autopkgtest [15:42:15]: host juju-7f2275-prod-proposed-migration-environment-20; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.i53l9zhz/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:glibc --apt-upgrade r-cran-network --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=glibc/2.41-1ubuntu2 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-20@bos03-arm64-36.secgroup --name adt-plucky-arm64-r-cran-network-20250315-154214-juju-7f2275-prod-proposed-migration-environment-20-ab8944d4-891e-4d79-a05c-06025bb9a502 --image adt/ubuntu-plucky-arm64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-20 --net-id=net_prod-proposed-migration -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_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'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 142s autopkgtest [15:44:36]: testbed dpkg architecture: arm64 143s autopkgtest [15:44:37]: testbed apt version: 2.9.33 143s autopkgtest [15:44:37]: @@@@@@@@@@@@@@@@@@@@ test bed setup 143s autopkgtest [15:44:37]: testbed release detected to be: None 144s autopkgtest [15:44:38]: updating testbed package index (apt update) 145s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [126 kB] 145s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 145s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 145s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 145s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [379 kB] 146s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.8 kB] 146s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [99.7 kB] 146s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [111 kB] 146s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 c-n-f Metadata [1856 B] 146s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 c-n-f Metadata [116 B] 146s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [324 kB] 146s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 c-n-f Metadata [14.7 kB] 146s Get:13 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [4948 B] 146s Get:14 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 c-n-f Metadata [268 B] 149s Fetched 1078 kB in 2s (581 kB/s) 149s Reading package lists... 149s Reading package lists... 149s Building dependency tree... 149s Reading state information... 150s Calculating upgrade... 150s Calculating upgrade... 151s The following packages will be upgraded: 151s pinentry-curses python3-jinja2 strace 151s 3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 151s Need to get 647 kB of archives. 151s After this operation, 11.3 kB of additional disk space will be used. 151s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 strace arm64 6.13+ds-1ubuntu1 [499 kB] 152s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 pinentry-curses arm64 1.3.1-2ubuntu3 [39.2 kB] 152s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-jinja2 all 3.1.5-2ubuntu1 [109 kB] 152s Fetched 647 kB in 1s (610 kB/s) 153s (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 ... 117701 files and directories currently installed.) 153s Preparing to unpack .../strace_6.13+ds-1ubuntu1_arm64.deb ... 153s Unpacking strace (6.13+ds-1ubuntu1) over (6.11-0ubuntu1) ... 153s Preparing to unpack .../pinentry-curses_1.3.1-2ubuntu3_arm64.deb ... 153s Unpacking pinentry-curses (1.3.1-2ubuntu3) over (1.3.1-2ubuntu2) ... 153s Preparing to unpack .../python3-jinja2_3.1.5-2ubuntu1_all.deb ... 153s Unpacking python3-jinja2 (3.1.5-2ubuntu1) over (3.1.5-2) ... 153s Setting up pinentry-curses (1.3.1-2ubuntu3) ... 153s Setting up python3-jinja2 (3.1.5-2ubuntu1) ... 153s Setting up strace (6.13+ds-1ubuntu1) ... 153s Processing triggers for man-db (2.13.0-1) ... 154s Reading package lists... 155s Building dependency tree... 155s Reading state information... 155s Solving dependencies... 156s The following packages will be REMOVED: 156s libnsl2* libpython3.12-minimal* libpython3.12-stdlib* libpython3.12t64* 156s libunwind8* linux-headers-6.11.0-8* linux-headers-6.11.0-8-generic* 156s linux-image-6.11.0-8-generic* linux-modules-6.11.0-8-generic* 156s linux-tools-6.11.0-8* linux-tools-6.11.0-8-generic* 156s 0 upgraded, 0 newly installed, 11 to remove and 5 not upgraded. 156s After this operation, 267 MB disk space will be freed. 156s (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 ... 117701 files and directories currently installed.) 156s Removing linux-tools-6.11.0-8-generic (6.11.0-8.8) ... 156s Removing linux-tools-6.11.0-8 (6.11.0-8.8) ... 156s Removing libpython3.12t64:arm64 (3.12.9-1) ... 156s Removing libpython3.12-stdlib:arm64 (3.12.9-1) ... 156s Removing libnsl2:arm64 (1.3.0-3build3) ... 156s Removing libpython3.12-minimal:arm64 (3.12.9-1) ... 157s Removing libunwind8:arm64 (1.6.2-3.1) ... 157s Removing linux-headers-6.11.0-8-generic (6.11.0-8.8) ... 157s Removing linux-headers-6.11.0-8 (6.11.0-8.8) ... 159s Removing linux-image-6.11.0-8-generic (6.11.0-8.8) ... 159s I: /boot/vmlinuz.old is now a symlink to vmlinuz-6.14.0-10-generic 159s I: /boot/initrd.img.old is now a symlink to initrd.img-6.14.0-10-generic 159s /etc/kernel/postrm.d/initramfs-tools: 159s update-initramfs: Deleting /boot/initrd.img-6.11.0-8-generic 160s /etc/kernel/postrm.d/zz-flash-kernel: 160s flash-kernel: Kernel 6.11.0-8-generic has been removed. 160s flash-kernel: A higher version (6.14.0-10-generic) is still installed, no reflashing required. 160s /etc/kernel/postrm.d/zz-update-grub: 160s Sourcing file `/etc/default/grub' 160s Sourcing file `/etc/default/grub.d/50-cloudimg-settings.cfg' 160s Generating grub configuration file ... 160s Found linux image: /boot/vmlinuz-6.14.0-10-generic 160s Found initrd image: /boot/initrd.img-6.14.0-10-generic 161s Warning: os-prober will not be executed to detect other bootable partitions. 161s Systems on them will not be added to the GRUB boot configuration. 161s Check GRUB_DISABLE_OS_PROBER documentation entry. 161s Adding boot menu entry for UEFI Firmware Settings ... 161s done 161s Removing linux-modules-6.11.0-8-generic (6.11.0-8.8) ... 161s Processing triggers for libc-bin (2.41-1ubuntu1) ... 161s (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 ... 81650 files and directories currently installed.) 161s Purging configuration files for linux-image-6.11.0-8-generic (6.11.0-8.8) ... 161s Purging configuration files for libpython3.12-minimal:arm64 (3.12.9-1) ... 161s Purging configuration files for linux-modules-6.11.0-8-generic (6.11.0-8.8) ... 161s autopkgtest [15:44:55]: upgrading testbed (apt dist-upgrade and autopurge) 162s Reading package lists... 162s Building dependency tree... 162s Reading state information... 163s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 163s Starting 2 pkgProblemResolver with broken count: 0 163s Done 164s Entering ResolveByKeep 165s 165s Calculating upgrade... 166s The following packages will be upgraded: 166s libc-bin libc-dev-bin libc6 libc6-dev locales 166s 5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 166s Need to get 9530 kB of archives. 166s After this operation, 0 B of additional disk space will be used. 166s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 libc6-dev arm64 2.41-1ubuntu2 [1750 kB] 168s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 libc-dev-bin arm64 2.41-1ubuntu2 [24.0 kB] 168s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 libc6 arm64 2.41-1ubuntu2 [2910 kB] 174s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 libc-bin arm64 2.41-1ubuntu2 [600 kB] 174s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 locales all 2.41-1ubuntu2 [4246 kB] 178s Preconfiguring packages ... 178s Fetched 9530 kB in 12s (806 kB/s) 178s (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 ... 81647 files and directories currently installed.) 178s Preparing to unpack .../libc6-dev_2.41-1ubuntu2_arm64.deb ... 178s Unpacking libc6-dev:arm64 (2.41-1ubuntu2) over (2.41-1ubuntu1) ... 178s Preparing to unpack .../libc-dev-bin_2.41-1ubuntu2_arm64.deb ... 178s Unpacking libc-dev-bin (2.41-1ubuntu2) over (2.41-1ubuntu1) ... 178s Preparing to unpack .../libc6_2.41-1ubuntu2_arm64.deb ... 178s Unpacking libc6:arm64 (2.41-1ubuntu2) over (2.41-1ubuntu1) ... 179s Setting up libc6:arm64 (2.41-1ubuntu2) ... 179s (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 ... 81647 files and directories currently installed.) 179s Preparing to unpack .../libc-bin_2.41-1ubuntu2_arm64.deb ... 179s Unpacking libc-bin (2.41-1ubuntu2) over (2.41-1ubuntu1) ... 179s Setting up libc-bin (2.41-1ubuntu2) ... 179s (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 ... 81647 files and directories currently installed.) 179s Preparing to unpack .../locales_2.41-1ubuntu2_all.deb ... 179s Unpacking locales (2.41-1ubuntu2) over (2.41-1ubuntu1) ... 179s Setting up locales (2.41-1ubuntu2) ... 180s Generating locales (this might take a while)... 182s en_US.UTF-8... done 182s Generation complete. 182s Setting up libc-dev-bin (2.41-1ubuntu2) ... 182s Setting up libc6-dev:arm64 (2.41-1ubuntu2) ... 182s Processing triggers for man-db (2.13.0-1) ... 183s Processing triggers for systemd (257.3-1ubuntu3) ... 184s Reading package lists... 184s Building dependency tree... 184s Reading state information... 185s Starting pkgProblemResolver with broken count: 0 185s Starting 2 pkgProblemResolver with broken count: 0 185s Done 185s Solving dependencies... 186s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 186s autopkgtest [15:45:20]: rebooting testbed after setup commands that affected boot 211s autopkgtest [15:45:45]: testbed running kernel: Linux 6.14.0-10-generic #10-Ubuntu SMP PREEMPT_DYNAMIC Wed Mar 12 15:45:31 UTC 2025 214s autopkgtest [15:45:48]: @@@@@@@@@@@@@@@@@@@@ apt-source r-cran-network 217s Get:1 http://ftpmaster.internal/ubuntu plucky/universe r-cran-network 1.19.0-1 (dsc) [2178 B] 217s Get:2 http://ftpmaster.internal/ubuntu plucky/universe r-cran-network 1.19.0-1 (tar) [507 kB] 217s Get:3 http://ftpmaster.internal/ubuntu plucky/universe r-cran-network 1.19.0-1 (diff) [3492 B] 217s gpgv: Signature made Fri Jan 17 23:25:40 2025 UTC 217s gpgv: using RSA key 724D609337113C710550D7473C26763F6C67E6E2 217s gpgv: Can't check signature: No public key 217s dpkg-source: warning: cannot verify inline signature for ./r-cran-network_1.19.0-1.dsc: no acceptable signature found 217s autopkgtest [15:45:51]: testing package r-cran-network version 1.19.0-1 218s autopkgtest [15:45:52]: build not needed 221s autopkgtest [15:45:55]: test run-unit-test: preparing testbed 222s Reading package lists... 222s Building dependency tree... 222s Reading state information... 222s Starting pkgProblemResolver with broken count: 0 222s Starting 2 pkgProblemResolver with broken count: 0 222s Done 223s The following NEW packages will be installed: 223s fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-mono 223s fonts-glyphicons-halflings libblas3 libcairo2 libdatrie1 libdeflate0 223s libfontconfig1 libgfortran5 libgomp1 libgraphite2-3 libharfbuzz0b libice6 223s libjbig0 libjpeg-turbo8 libjpeg8 libjs-bootstrap liblapack3 liblerc4 223s libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpaper-utils 223s libpaper2 libpixman-1-0 libsharpyuv0 libsm6 libtcl8.6 libthai-data libthai0 223s libtiff6 libtk8.6 libwebp7 libxcb-render0 libxcb-shm0 libxft2 libxrender1 223s libxss1 libxt6t64 node-html5shiv r-base-core r-cran-askpass r-cran-brio 223s r-cran-callr r-cran-cli r-cran-coda r-cran-covr r-cran-crayon r-cran-curl 223s r-cran-desc r-cran-diffobj r-cran-digest r-cran-evaluate r-cran-fansi 223s r-cran-fs r-cran-glue r-cran-httr r-cran-jsonlite r-cran-lattice 223s r-cran-lazyeval r-cran-lifecycle r-cran-magrittr r-cran-matrix r-cran-mime 223s r-cran-network r-cran-openssl r-cran-pillar r-cran-pkgbuild r-cran-pkgconfig 223s r-cran-pkgload r-cran-praise r-cran-processx r-cran-ps r-cran-r6 r-cran-rex 223s r-cran-rlang r-cran-rprojroot r-cran-sna r-cran-statnet.common r-cran-sys 223s r-cran-testthat r-cran-tibble r-cran-utf8 r-cran-vctrs r-cran-waldo 223s r-cran-withr r-cran-yaml unzip x11-common xdg-utils zip 223s 0 upgraded, 93 newly installed, 0 to remove and 0 not upgraded. 223s Need to get 61.7 MB of archives. 223s After this operation, 120 MB of additional disk space will be used. 223s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-dejavu-mono all 2.37-8 [502 kB] 224s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-dejavu-core all 2.37-8 [835 kB] 225s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 fontconfig-config arm64 2.15.0-2ubuntu1 [37.5 kB] 225s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 libfontconfig1 arm64 2.15.0-2ubuntu1 [144 kB] 225s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 fontconfig arm64 2.15.0-2ubuntu1 [191 kB] 225s Get:6 http://ftpmaster.internal/ubuntu plucky/universe arm64 fonts-glyphicons-halflings all 1.009~3.4.1+dfsg-3 [118 kB] 226s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 libblas3 arm64 3.12.1-2 [161 kB] 226s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 libpixman-1-0 arm64 0.44.0-3 [197 kB] 226s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-render0 arm64 1.17.0-2 [16.6 kB] 226s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-shm0 arm64 1.17.0-2 [5884 B] 226s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libxrender1 arm64 1:0.9.10-1.1build1 [18.8 kB] 226s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libcairo2 arm64 1.18.2-2 [560 kB] 227s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 libdatrie1 arm64 0.2.13-3build1 [19.2 kB] 227s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 libdeflate0 arm64 1.23-1 [46.2 kB] 227s Get:15 http://ftpmaster.internal/ubuntu plucky/main arm64 libgfortran5 arm64 15-20250222-0ubuntu1 [444 kB] 227s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 libgomp1 arm64 15-20250222-0ubuntu1 [146 kB] 227s Get:17 http://ftpmaster.internal/ubuntu plucky/main arm64 libgraphite2-3 arm64 1.3.14-2ubuntu1 [70.6 kB] 228s Get:18 http://ftpmaster.internal/ubuntu plucky/main arm64 libharfbuzz0b arm64 10.2.0-1 [490 kB] 228s Get:19 http://ftpmaster.internal/ubuntu plucky/main arm64 x11-common all 1:7.7+23ubuntu3 [21.7 kB] 228s Get:20 http://ftpmaster.internal/ubuntu plucky/main arm64 libice6 arm64 2:1.1.1-1 [42.3 kB] 228s Get:21 http://ftpmaster.internal/ubuntu plucky/main arm64 libjpeg-turbo8 arm64 2.1.5-3ubuntu2 [165 kB] 228s Get:22 http://ftpmaster.internal/ubuntu plucky/main arm64 libjpeg8 arm64 8c-2ubuntu11 [2148 B] 228s Get:23 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-bootstrap all 3.4.1+dfsg-3 [129 kB] 229s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 liblapack3 arm64 3.12.1-2 [2307 kB] 232s Get:25 http://ftpmaster.internal/ubuntu plucky/main arm64 liblerc4 arm64 4.0.0+ds-5ubuntu1 [167 kB] 233s Get:26 http://ftpmaster.internal/ubuntu plucky/main arm64 libthai-data all 0.1.29-2build1 [158 kB] 233s Get:27 http://ftpmaster.internal/ubuntu plucky/main arm64 libthai0 arm64 0.1.29-2build1 [18.2 kB] 233s Get:28 http://ftpmaster.internal/ubuntu plucky/main arm64 libpango-1.0-0 arm64 1.56.2-1 [237 kB] 233s Get:29 http://ftpmaster.internal/ubuntu plucky/main arm64 libpangoft2-1.0-0 arm64 1.56.2-1 [49.5 kB] 233s Get:30 http://ftpmaster.internal/ubuntu plucky/main arm64 libpangocairo-1.0-0 arm64 1.56.2-1 [27.6 kB] 233s Get:31 http://ftpmaster.internal/ubuntu plucky/main arm64 libpaper2 arm64 2.2.5-0.3 [17.3 kB] 233s Get:32 http://ftpmaster.internal/ubuntu plucky/main arm64 libpaper-utils arm64 2.2.5-0.3 [15.4 kB] 233s Get:33 http://ftpmaster.internal/ubuntu plucky/main arm64 libsharpyuv0 arm64 1.5.0-0.1 [16.9 kB] 233s Get:34 http://ftpmaster.internal/ubuntu plucky/main arm64 libsm6 arm64 2:1.2.4-1 [16.4 kB] 233s Get:35 http://ftpmaster.internal/ubuntu plucky/main arm64 libtcl8.6 arm64 8.6.16+dfsg-1 [987 kB] 234s Get:36 http://ftpmaster.internal/ubuntu plucky/main arm64 libjbig0 arm64 2.1-6.1ubuntu2 [29.3 kB] 235s Get:37 http://ftpmaster.internal/ubuntu plucky/main arm64 libwebp7 arm64 1.5.0-0.1 [194 kB] 235s Get:38 http://ftpmaster.internal/ubuntu plucky/main arm64 libtiff6 arm64 4.5.1+git230720-4ubuntu4 [193 kB] 235s Get:39 http://ftpmaster.internal/ubuntu plucky/main arm64 libxft2 arm64 2.3.6-1build1 [44.1 kB] 235s Get:40 http://ftpmaster.internal/ubuntu plucky/main arm64 libxss1 arm64 1:1.2.3-1build3 [7244 B] 235s Get:41 http://ftpmaster.internal/ubuntu plucky/main arm64 libtk8.6 arm64 8.6.16-1 [776 kB] 236s Get:42 http://ftpmaster.internal/ubuntu plucky/main arm64 libxt6t64 arm64 1:1.2.1-1.2build1 [168 kB] 236s Get:43 http://ftpmaster.internal/ubuntu plucky/universe arm64 node-html5shiv all 3.7.3+dfsg-5 [13.5 kB] 236s Get:44 http://ftpmaster.internal/ubuntu plucky/main arm64 zip arm64 3.0-14ubuntu2 [173 kB] 236s Get:45 http://ftpmaster.internal/ubuntu plucky/main arm64 unzip arm64 6.0-28ubuntu6 [178 kB] 236s Get:46 http://ftpmaster.internal/ubuntu plucky/main arm64 xdg-utils all 1.2.1-2ubuntu1 [66.0 kB] 236s Get:47 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-base-core arm64 4.4.3-1 [28.4 MB] 269s Get:48 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-sys arm64 3.4.3-1 [45.2 kB] 269s Get:49 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-askpass arm64 1.2.1-1 [24.8 kB] 269s Get:50 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-brio arm64 1.1.5-1 [39.1 kB] 269s Get:51 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-ps arm64 1.9.0-1 [407 kB] 270s Get:52 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-r6 all 2.6.1-1 [101 kB] 270s Get:53 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-processx arm64 3.8.6-1 [363 kB] 270s Get:54 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-callr all 3.7.6-1 [458 kB] 271s Get:55 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-cli arm64 3.6.4-1 [1374 kB] 273s Get:56 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-lattice arm64 0.22-6-1 [1363 kB] 274s Get:57 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-coda all 0.19-4.1-1 [321 kB] 275s Get:58 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-digest arm64 0.6.37-1 [200 kB] 275s Get:59 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-jsonlite arm64 1.9.1+dfsg-1 [445 kB] 276s Get:60 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-lazyeval arm64 0.2.2-1build1 [143 kB] 276s Get:61 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-rex all 1.2.1-1 [129 kB] 276s Get:62 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-curl arm64 6.2.1+dfsg-1ubuntu1 [196 kB] 277s Get:63 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-mime arm64 0.12-2 [35.8 kB] 277s Get:64 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-openssl arm64 2.3.2+dfsg-1 [406 kB] 277s Get:65 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-httr all 1.4.7+dfsg-1 [459 kB] 278s Get:66 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-crayon all 1.5.3-1 [165 kB] 278s Get:67 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-withr all 3.0.2+dfsg-1 [214 kB] 278s Get:68 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-yaml arm64 2.3.10-1 [108 kB] 279s Get:69 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-covr arm64 3.6.4+dfsg-1 [302 kB] 279s Get:70 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-desc all 1.4.3-1 [359 kB] 280s Get:71 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-diffobj arm64 0.3.5-1 [1116 kB] 281s Get:72 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-evaluate all 1.0.3-1 [114 kB] 281s Get:73 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-fansi arm64 1.0.5-1 [616 kB] 282s Get:74 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-fs arm64 1.6.5+dfsg-1 [244 kB] 282s Get:75 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-glue arm64 1.8.0-1 [163 kB] 282s Get:76 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-rlang arm64 1.1.5-1 [1707 kB] 284s Get:77 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-lifecycle all 1.0.4+dfsg-1 [110 kB] 284s Get:78 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-magrittr arm64 2.0.3-1 [154 kB] 285s Get:79 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-matrix arm64 1.7-3-1 [4045 kB] 289s Get:80 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-utf8 arm64 1.2.4-1 [140 kB] 290s Get:81 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-vctrs arm64 0.6.5-1 [1327 kB] 291s Get:82 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-pillar all 1.10.1+dfsg-1 [453 kB] 292s Get:83 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-pkgconfig all 2.0.3-2build1 [19.7 kB] 292s Get:84 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-tibble arm64 3.2.1+dfsg-3 [420 kB] 292s Get:85 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-statnet.common arm64 4.11.0-1 [278 kB] 293s Get:86 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-network arm64 1.19.0-1 [832 kB] 294s Get:87 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-pkgbuild all 1.4.6-1 [213 kB] 294s Get:88 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-rprojroot all 2.0.4-2 [125 kB] 294s Get:89 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-pkgload all 1.4.0-1 [247 kB] 294s Get:90 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-praise all 1.0.0-4build1 [20.3 kB] 295s Get:91 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-sna arm64 2.8-1 [1253 kB] 296s Get:92 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-waldo all 0.6.1-2 [150 kB] 296s Get:93 http://ftpmaster.internal/ubuntu plucky/universe arm64 r-cran-testthat arm64 3.2.3-1 [1644 kB] 299s Preconfiguring packages ... 299s Fetched 61.7 MB in 1min 15s (822 kB/s) 299s Selecting previously unselected package fonts-dejavu-mono. 299s (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 ... 81647 files and directories currently installed.) 299s Preparing to unpack .../00-fonts-dejavu-mono_2.37-8_all.deb ... 299s Unpacking fonts-dejavu-mono (2.37-8) ... 299s Selecting previously unselected package fonts-dejavu-core. 299s Preparing to unpack .../01-fonts-dejavu-core_2.37-8_all.deb ... 299s Unpacking fonts-dejavu-core (2.37-8) ... 299s Selecting previously unselected package fontconfig-config. 299s Preparing to unpack .../02-fontconfig-config_2.15.0-2ubuntu1_arm64.deb ... 299s Unpacking fontconfig-config (2.15.0-2ubuntu1) ... 299s Selecting previously unselected package libfontconfig1:arm64. 299s Preparing to unpack .../03-libfontconfig1_2.15.0-2ubuntu1_arm64.deb ... 299s Unpacking libfontconfig1:arm64 (2.15.0-2ubuntu1) ... 299s Selecting previously unselected package fontconfig. 299s Preparing to unpack .../04-fontconfig_2.15.0-2ubuntu1_arm64.deb ... 299s Unpacking fontconfig (2.15.0-2ubuntu1) ... 299s Selecting previously unselected package fonts-glyphicons-halflings. 299s Preparing to unpack .../05-fonts-glyphicons-halflings_1.009~3.4.1+dfsg-3_all.deb ... 299s Unpacking fonts-glyphicons-halflings (1.009~3.4.1+dfsg-3) ... 300s Selecting previously unselected package libblas3:arm64. 300s Preparing to unpack .../06-libblas3_3.12.1-2_arm64.deb ... 300s Unpacking libblas3:arm64 (3.12.1-2) ... 300s Selecting previously unselected package libpixman-1-0:arm64. 300s Preparing to unpack .../07-libpixman-1-0_0.44.0-3_arm64.deb ... 300s Unpacking libpixman-1-0:arm64 (0.44.0-3) ... 300s Selecting previously unselected package libxcb-render0:arm64. 300s Preparing to unpack .../08-libxcb-render0_1.17.0-2_arm64.deb ... 300s Unpacking libxcb-render0:arm64 (1.17.0-2) ... 300s Selecting previously unselected package libxcb-shm0:arm64. 300s Preparing to unpack .../09-libxcb-shm0_1.17.0-2_arm64.deb ... 300s Unpacking libxcb-shm0:arm64 (1.17.0-2) ... 300s Selecting previously unselected package libxrender1:arm64. 300s Preparing to unpack .../10-libxrender1_1%3a0.9.10-1.1build1_arm64.deb ... 300s Unpacking libxrender1:arm64 (1:0.9.10-1.1build1) ... 300s Selecting previously unselected package libcairo2:arm64. 300s Preparing to unpack .../11-libcairo2_1.18.2-2_arm64.deb ... 300s Unpacking libcairo2:arm64 (1.18.2-2) ... 300s Selecting previously unselected package libdatrie1:arm64. 300s Preparing to unpack .../12-libdatrie1_0.2.13-3build1_arm64.deb ... 300s Unpacking libdatrie1:arm64 (0.2.13-3build1) ... 300s Selecting previously unselected package libdeflate0:arm64. 300s Preparing to unpack .../13-libdeflate0_1.23-1_arm64.deb ... 300s Unpacking libdeflate0:arm64 (1.23-1) ... 300s Selecting previously unselected package libgfortran5:arm64. 300s Preparing to unpack .../14-libgfortran5_15-20250222-0ubuntu1_arm64.deb ... 300s Unpacking libgfortran5:arm64 (15-20250222-0ubuntu1) ... 300s Selecting previously unselected package libgomp1:arm64. 300s Preparing to unpack .../15-libgomp1_15-20250222-0ubuntu1_arm64.deb ... 300s Unpacking libgomp1:arm64 (15-20250222-0ubuntu1) ... 300s Selecting previously unselected package libgraphite2-3:arm64. 300s Preparing to unpack .../16-libgraphite2-3_1.3.14-2ubuntu1_arm64.deb ... 300s Unpacking libgraphite2-3:arm64 (1.3.14-2ubuntu1) ... 300s Selecting previously unselected package libharfbuzz0b:arm64. 300s Preparing to unpack .../17-libharfbuzz0b_10.2.0-1_arm64.deb ... 300s Unpacking libharfbuzz0b:arm64 (10.2.0-1) ... 300s Selecting previously unselected package x11-common. 300s Preparing to unpack .../18-x11-common_1%3a7.7+23ubuntu3_all.deb ... 300s Unpacking x11-common (1:7.7+23ubuntu3) ... 300s Selecting previously unselected package libice6:arm64. 300s Preparing to unpack .../19-libice6_2%3a1.1.1-1_arm64.deb ... 300s Unpacking libice6:arm64 (2:1.1.1-1) ... 300s Selecting previously unselected package libjpeg-turbo8:arm64. 300s Preparing to unpack .../20-libjpeg-turbo8_2.1.5-3ubuntu2_arm64.deb ... 300s Unpacking libjpeg-turbo8:arm64 (2.1.5-3ubuntu2) ... 300s Selecting previously unselected package libjpeg8:arm64. 300s Preparing to unpack .../21-libjpeg8_8c-2ubuntu11_arm64.deb ... 300s Unpacking libjpeg8:arm64 (8c-2ubuntu11) ... 300s Selecting previously unselected package libjs-bootstrap. 300s Preparing to unpack .../22-libjs-bootstrap_3.4.1+dfsg-3_all.deb ... 300s Unpacking libjs-bootstrap (3.4.1+dfsg-3) ... 300s Selecting previously unselected package liblapack3:arm64. 300s Preparing to unpack .../23-liblapack3_3.12.1-2_arm64.deb ... 300s Unpacking liblapack3:arm64 (3.12.1-2) ... 300s Selecting previously unselected package liblerc4:arm64. 300s Preparing to unpack .../24-liblerc4_4.0.0+ds-5ubuntu1_arm64.deb ... 300s Unpacking liblerc4:arm64 (4.0.0+ds-5ubuntu1) ... 300s Selecting previously unselected package libthai-data. 300s Preparing to unpack .../25-libthai-data_0.1.29-2build1_all.deb ... 300s Unpacking libthai-data (0.1.29-2build1) ... 300s Selecting previously unselected package libthai0:arm64. 300s Preparing to unpack .../26-libthai0_0.1.29-2build1_arm64.deb ... 300s Unpacking libthai0:arm64 (0.1.29-2build1) ... 301s Selecting previously unselected package libpango-1.0-0:arm64. 301s Preparing to unpack .../27-libpango-1.0-0_1.56.2-1_arm64.deb ... 301s Unpacking libpango-1.0-0:arm64 (1.56.2-1) ... 301s Selecting previously unselected package libpangoft2-1.0-0:arm64. 301s Preparing to unpack .../28-libpangoft2-1.0-0_1.56.2-1_arm64.deb ... 301s Unpacking libpangoft2-1.0-0:arm64 (1.56.2-1) ... 301s Selecting previously unselected package libpangocairo-1.0-0:arm64. 301s Preparing to unpack .../29-libpangocairo-1.0-0_1.56.2-1_arm64.deb ... 301s Unpacking libpangocairo-1.0-0:arm64 (1.56.2-1) ... 301s Selecting previously unselected package libpaper2:arm64. 301s Preparing to unpack .../30-libpaper2_2.2.5-0.3_arm64.deb ... 301s Unpacking libpaper2:arm64 (2.2.5-0.3) ... 301s Selecting previously unselected package libpaper-utils. 301s Preparing to unpack .../31-libpaper-utils_2.2.5-0.3_arm64.deb ... 301s Unpacking libpaper-utils (2.2.5-0.3) ... 301s Selecting previously unselected package libsharpyuv0:arm64. 301s Preparing to unpack .../32-libsharpyuv0_1.5.0-0.1_arm64.deb ... 301s Unpacking libsharpyuv0:arm64 (1.5.0-0.1) ... 301s Selecting previously unselected package libsm6:arm64. 301s Preparing to unpack .../33-libsm6_2%3a1.2.4-1_arm64.deb ... 301s Unpacking libsm6:arm64 (2:1.2.4-1) ... 301s Selecting previously unselected package libtcl8.6:arm64. 301s Preparing to unpack .../34-libtcl8.6_8.6.16+dfsg-1_arm64.deb ... 301s Unpacking libtcl8.6:arm64 (8.6.16+dfsg-1) ... 301s Selecting previously unselected package libjbig0:arm64. 301s Preparing to unpack .../35-libjbig0_2.1-6.1ubuntu2_arm64.deb ... 301s Unpacking libjbig0:arm64 (2.1-6.1ubuntu2) ... 301s Selecting previously unselected package libwebp7:arm64. 301s Preparing to unpack .../36-libwebp7_1.5.0-0.1_arm64.deb ... 301s Unpacking libwebp7:arm64 (1.5.0-0.1) ... 301s Selecting previously unselected package libtiff6:arm64. 301s Preparing to unpack .../37-libtiff6_4.5.1+git230720-4ubuntu4_arm64.deb ... 301s Unpacking libtiff6:arm64 (4.5.1+git230720-4ubuntu4) ... 301s Selecting previously unselected package libxft2:arm64. 301s Preparing to unpack .../38-libxft2_2.3.6-1build1_arm64.deb ... 301s Unpacking libxft2:arm64 (2.3.6-1build1) ... 301s Selecting previously unselected package libxss1:arm64. 301s Preparing to unpack .../39-libxss1_1%3a1.2.3-1build3_arm64.deb ... 301s Unpacking libxss1:arm64 (1:1.2.3-1build3) ... 301s Selecting previously unselected package libtk8.6:arm64. 301s Preparing to unpack .../40-libtk8.6_8.6.16-1_arm64.deb ... 301s Unpacking libtk8.6:arm64 (8.6.16-1) ... 301s Selecting previously unselected package libxt6t64:arm64. 301s Preparing to unpack .../41-libxt6t64_1%3a1.2.1-1.2build1_arm64.deb ... 301s Unpacking libxt6t64:arm64 (1:1.2.1-1.2build1) ... 301s Selecting previously unselected package node-html5shiv. 301s Preparing to unpack .../42-node-html5shiv_3.7.3+dfsg-5_all.deb ... 301s Unpacking node-html5shiv (3.7.3+dfsg-5) ... 301s Selecting previously unselected package zip. 301s Preparing to unpack .../43-zip_3.0-14ubuntu2_arm64.deb ... 301s Unpacking zip (3.0-14ubuntu2) ... 301s Selecting previously unselected package unzip. 301s Preparing to unpack .../44-unzip_6.0-28ubuntu6_arm64.deb ... 301s Unpacking unzip (6.0-28ubuntu6) ... 301s Selecting previously unselected package xdg-utils. 301s Preparing to unpack .../45-xdg-utils_1.2.1-2ubuntu1_all.deb ... 301s Unpacking xdg-utils (1.2.1-2ubuntu1) ... 301s Selecting previously unselected package r-base-core. 301s Preparing to unpack .../46-r-base-core_4.4.3-1_arm64.deb ... 301s Unpacking r-base-core (4.4.3-1) ... 302s Selecting previously unselected package r-cran-sys. 302s Preparing to unpack .../47-r-cran-sys_3.4.3-1_arm64.deb ... 302s Unpacking r-cran-sys (3.4.3-1) ... 302s Selecting previously unselected package r-cran-askpass. 302s Preparing to unpack .../48-r-cran-askpass_1.2.1-1_arm64.deb ... 302s Unpacking r-cran-askpass (1.2.1-1) ... 302s Selecting previously unselected package r-cran-brio. 302s Preparing to unpack .../49-r-cran-brio_1.1.5-1_arm64.deb ... 302s Unpacking r-cran-brio (1.1.5-1) ... 302s Selecting previously unselected package r-cran-ps. 302s Preparing to unpack .../50-r-cran-ps_1.9.0-1_arm64.deb ... 302s Unpacking r-cran-ps (1.9.0-1) ... 302s Selecting previously unselected package r-cran-r6. 302s Preparing to unpack .../51-r-cran-r6_2.6.1-1_all.deb ... 302s Unpacking r-cran-r6 (2.6.1-1) ... 302s Selecting previously unselected package r-cran-processx. 302s Preparing to unpack .../52-r-cran-processx_3.8.6-1_arm64.deb ... 302s Unpacking r-cran-processx (3.8.6-1) ... 302s Selecting previously unselected package r-cran-callr. 302s Preparing to unpack .../53-r-cran-callr_3.7.6-1_all.deb ... 302s Unpacking r-cran-callr (3.7.6-1) ... 302s Selecting previously unselected package r-cran-cli. 302s Preparing to unpack .../54-r-cran-cli_3.6.4-1_arm64.deb ... 302s Unpacking r-cran-cli (3.6.4-1) ... 302s Selecting previously unselected package r-cran-lattice. 302s Preparing to unpack .../55-r-cran-lattice_0.22-6-1_arm64.deb ... 302s Unpacking r-cran-lattice (0.22-6-1) ... 302s Selecting previously unselected package r-cran-coda. 302s Preparing to unpack .../56-r-cran-coda_0.19-4.1-1_all.deb ... 302s Unpacking r-cran-coda (0.19-4.1-1) ... 302s Selecting previously unselected package r-cran-digest. 302s Preparing to unpack .../57-r-cran-digest_0.6.37-1_arm64.deb ... 302s Unpacking r-cran-digest (0.6.37-1) ... 302s Selecting previously unselected package r-cran-jsonlite. 302s Preparing to unpack .../58-r-cran-jsonlite_1.9.1+dfsg-1_arm64.deb ... 302s Unpacking r-cran-jsonlite (1.9.1+dfsg-1) ... 302s Selecting previously unselected package r-cran-lazyeval. 302s Preparing to unpack .../59-r-cran-lazyeval_0.2.2-1build1_arm64.deb ... 302s Unpacking r-cran-lazyeval (0.2.2-1build1) ... 302s Selecting previously unselected package r-cran-rex. 302s Preparing to unpack .../60-r-cran-rex_1.2.1-1_all.deb ... 302s Unpacking r-cran-rex (1.2.1-1) ... 302s Selecting previously unselected package r-cran-curl. 302s Preparing to unpack .../61-r-cran-curl_6.2.1+dfsg-1ubuntu1_arm64.deb ... 302s Unpacking r-cran-curl (6.2.1+dfsg-1ubuntu1) ... 302s Selecting previously unselected package r-cran-mime. 302s Preparing to unpack .../62-r-cran-mime_0.12-2_arm64.deb ... 302s Unpacking r-cran-mime (0.12-2) ... 303s Selecting previously unselected package r-cran-openssl. 303s Preparing to unpack .../63-r-cran-openssl_2.3.2+dfsg-1_arm64.deb ... 303s Unpacking r-cran-openssl (2.3.2+dfsg-1) ... 303s Selecting previously unselected package r-cran-httr. 303s Preparing to unpack .../64-r-cran-httr_1.4.7+dfsg-1_all.deb ... 303s Unpacking r-cran-httr (1.4.7+dfsg-1) ... 303s Selecting previously unselected package r-cran-crayon. 303s Preparing to unpack .../65-r-cran-crayon_1.5.3-1_all.deb ... 303s Unpacking r-cran-crayon (1.5.3-1) ... 303s Selecting previously unselected package r-cran-withr. 303s Preparing to unpack .../66-r-cran-withr_3.0.2+dfsg-1_all.deb ... 303s Unpacking r-cran-withr (3.0.2+dfsg-1) ... 303s Selecting previously unselected package r-cran-yaml. 303s Preparing to unpack .../67-r-cran-yaml_2.3.10-1_arm64.deb ... 303s Unpacking r-cran-yaml (2.3.10-1) ... 303s Selecting previously unselected package r-cran-covr. 303s Preparing to unpack .../68-r-cran-covr_3.6.4+dfsg-1_arm64.deb ... 303s Unpacking r-cran-covr (3.6.4+dfsg-1) ... 303s Selecting previously unselected package r-cran-desc. 303s Preparing to unpack .../69-r-cran-desc_1.4.3-1_all.deb ... 303s Unpacking r-cran-desc (1.4.3-1) ... 303s Selecting previously unselected package r-cran-diffobj. 303s Preparing to unpack .../70-r-cran-diffobj_0.3.5-1_arm64.deb ... 303s Unpacking r-cran-diffobj (0.3.5-1) ... 303s Selecting previously unselected package r-cran-evaluate. 303s Preparing to unpack .../71-r-cran-evaluate_1.0.3-1_all.deb ... 303s Unpacking r-cran-evaluate (1.0.3-1) ... 303s Selecting previously unselected package r-cran-fansi. 303s Preparing to unpack .../72-r-cran-fansi_1.0.5-1_arm64.deb ... 303s Unpacking r-cran-fansi (1.0.5-1) ... 303s Selecting previously unselected package r-cran-fs. 303s Preparing to unpack .../73-r-cran-fs_1.6.5+dfsg-1_arm64.deb ... 303s Unpacking r-cran-fs (1.6.5+dfsg-1) ... 303s Selecting previously unselected package r-cran-glue. 303s Preparing to unpack .../74-r-cran-glue_1.8.0-1_arm64.deb ... 303s Unpacking r-cran-glue (1.8.0-1) ... 303s Selecting previously unselected package r-cran-rlang. 303s Preparing to unpack .../75-r-cran-rlang_1.1.5-1_arm64.deb ... 303s Unpacking r-cran-rlang (1.1.5-1) ... 303s Selecting previously unselected package r-cran-lifecycle. 303s Preparing to unpack .../76-r-cran-lifecycle_1.0.4+dfsg-1_all.deb ... 303s Unpacking r-cran-lifecycle (1.0.4+dfsg-1) ... 303s Selecting previously unselected package r-cran-magrittr. 303s Preparing to unpack .../77-r-cran-magrittr_2.0.3-1_arm64.deb ... 303s Unpacking r-cran-magrittr (2.0.3-1) ... 303s Selecting previously unselected package r-cran-matrix. 303s Preparing to unpack .../78-r-cran-matrix_1.7-3-1_arm64.deb ... 303s Unpacking r-cran-matrix (1.7-3-1) ... 303s Selecting previously unselected package r-cran-utf8. 303s Preparing to unpack .../79-r-cran-utf8_1.2.4-1_arm64.deb ... 303s Unpacking r-cran-utf8 (1.2.4-1) ... 303s Selecting previously unselected package r-cran-vctrs. 303s Preparing to unpack .../80-r-cran-vctrs_0.6.5-1_arm64.deb ... 303s Unpacking r-cran-vctrs (0.6.5-1) ... 304s Selecting previously unselected package r-cran-pillar. 304s Preparing to unpack .../81-r-cran-pillar_1.10.1+dfsg-1_all.deb ... 304s Unpacking r-cran-pillar (1.10.1+dfsg-1) ... 304s Selecting previously unselected package r-cran-pkgconfig. 304s Preparing to unpack .../82-r-cran-pkgconfig_2.0.3-2build1_all.deb ... 304s Unpacking r-cran-pkgconfig (2.0.3-2build1) ... 304s Selecting previously unselected package r-cran-tibble. 304s Preparing to unpack .../83-r-cran-tibble_3.2.1+dfsg-3_arm64.deb ... 304s Unpacking r-cran-tibble (3.2.1+dfsg-3) ... 304s Selecting previously unselected package r-cran-statnet.common. 304s Preparing to unpack .../84-r-cran-statnet.common_4.11.0-1_arm64.deb ... 304s Unpacking r-cran-statnet.common (4.11.0-1) ... 304s Selecting previously unselected package r-cran-network. 304s Preparing to unpack .../85-r-cran-network_1.19.0-1_arm64.deb ... 304s Unpacking r-cran-network (1.19.0-1) ... 304s Selecting previously unselected package r-cran-pkgbuild. 304s Preparing to unpack .../86-r-cran-pkgbuild_1.4.6-1_all.deb ... 304s Unpacking r-cran-pkgbuild (1.4.6-1) ... 304s Selecting previously unselected package r-cran-rprojroot. 304s Preparing to unpack .../87-r-cran-rprojroot_2.0.4-2_all.deb ... 304s Unpacking r-cran-rprojroot (2.0.4-2) ... 304s Selecting previously unselected package r-cran-pkgload. 304s Preparing to unpack .../88-r-cran-pkgload_1.4.0-1_all.deb ... 304s Unpacking r-cran-pkgload (1.4.0-1) ... 304s Selecting previously unselected package r-cran-praise. 304s Preparing to unpack .../89-r-cran-praise_1.0.0-4build1_all.deb ... 304s Unpacking r-cran-praise (1.0.0-4build1) ... 304s Selecting previously unselected package r-cran-sna. 304s Preparing to unpack .../90-r-cran-sna_2.8-1_arm64.deb ... 304s Unpacking r-cran-sna (2.8-1) ... 304s Selecting previously unselected package r-cran-waldo. 304s Preparing to unpack .../91-r-cran-waldo_0.6.1-2_all.deb ... 304s Unpacking r-cran-waldo (0.6.1-2) ... 304s Selecting previously unselected package r-cran-testthat. 304s Preparing to unpack .../92-r-cran-testthat_3.2.3-1_arm64.deb ... 304s Unpacking r-cran-testthat (3.2.3-1) ... 304s Setting up libgraphite2-3:arm64 (1.3.14-2ubuntu1) ... 304s Setting up libpixman-1-0:arm64 (0.44.0-3) ... 304s Setting up libsharpyuv0:arm64 (1.5.0-0.1) ... 304s Setting up liblerc4:arm64 (4.0.0+ds-5ubuntu1) ... 304s Setting up libxrender1:arm64 (1:0.9.10-1.1build1) ... 304s Setting up libdatrie1:arm64 (0.2.13-3build1) ... 304s Setting up libxcb-render0:arm64 (1.17.0-2) ... 304s Setting up fonts-glyphicons-halflings (1.009~3.4.1+dfsg-3) ... 304s Setting up unzip (6.0-28ubuntu6) ... 304s Setting up x11-common (1:7.7+23ubuntu3) ... 305s Setting up node-html5shiv (3.7.3+dfsg-5) ... 305s Setting up libdeflate0:arm64 (1.23-1) ... 305s Setting up libxcb-shm0:arm64 (1.17.0-2) ... 305s Setting up libgomp1:arm64 (15-20250222-0ubuntu1) ... 305s Setting up libjbig0:arm64 (2.1-6.1ubuntu2) ... 305s Setting up zip (3.0-14ubuntu2) ... 305s Setting up libblas3:arm64 (3.12.1-2) ... 305s update-alternatives: using /usr/lib/aarch64-linux-gnu/blas/libblas.so.3 to provide /usr/lib/aarch64-linux-gnu/libblas.so.3 (libblas.so.3-aarch64-linux-gnu) in auto mode 305s Setting up fonts-dejavu-mono (2.37-8) ... 305s Setting up libtcl8.6:arm64 (8.6.16+dfsg-1) ... 305s Setting up fonts-dejavu-core (2.37-8) ... 305s Setting up libjpeg-turbo8:arm64 (2.1.5-3ubuntu2) ... 305s Setting up libgfortran5:arm64 (15-20250222-0ubuntu1) ... 305s Setting up libwebp7:arm64 (1.5.0-0.1) ... 305s Setting up libharfbuzz0b:arm64 (10.2.0-1) ... 305s Setting up libthai-data (0.1.29-2build1) ... 305s Setting up libxss1:arm64 (1:1.2.3-1build3) ... 305s Setting up libpaper2:arm64 (2.2.5-0.3) ... 305s Setting up xdg-utils (1.2.1-2ubuntu1) ... 305s update-alternatives: using /usr/bin/xdg-open to provide /usr/bin/open (open) in auto mode 305s Setting up libjs-bootstrap (3.4.1+dfsg-3) ... 305s Setting up libjpeg8:arm64 (8c-2ubuntu11) ... 305s Setting up libice6:arm64 (2:1.1.1-1) ... 305s Setting up liblapack3:arm64 (3.12.1-2) ... 305s update-alternatives: using /usr/lib/aarch64-linux-gnu/lapack/liblapack.so.3 to provide /usr/lib/aarch64-linux-gnu/liblapack.so.3 (liblapack.so.3-aarch64-linux-gnu) in auto mode 305s Setting up fontconfig-config (2.15.0-2ubuntu1) ... 305s Setting up libpaper-utils (2.2.5-0.3) ... 305s Setting up libthai0:arm64 (0.1.29-2build1) ... 305s Setting up libtiff6:arm64 (4.5.1+git230720-4ubuntu4) ... 305s Setting up libfontconfig1:arm64 (2.15.0-2ubuntu1) ... 305s Setting up libsm6:arm64 (2:1.2.4-1) ... 305s Setting up fontconfig (2.15.0-2ubuntu1) ... 307s Regenerating fonts cache... done. 307s Setting up libxft2:arm64 (2.3.6-1build1) ... 307s Setting up libtk8.6:arm64 (8.6.16-1) ... 307s Setting up libpango-1.0-0:arm64 (1.56.2-1) ... 307s Setting up libcairo2:arm64 (1.18.2-2) ... 307s Setting up libxt6t64:arm64 (1:1.2.1-1.2build1) ... 307s Setting up libpangoft2-1.0-0:arm64 (1.56.2-1) ... 307s Setting up libpangocairo-1.0-0:arm64 (1.56.2-1) ... 307s Setting up r-base-core (4.4.3-1) ... 307s Creating config file /etc/R/Renviron with new version 307s Setting up r-cran-crayon (1.5.3-1) ... 307s Setting up r-cran-lattice (0.22-6-1) ... 307s Setting up r-cran-ps (1.9.0-1) ... 307s Setting up r-cran-lazyeval (0.2.2-1build1) ... 307s Setting up r-cran-r6 (2.6.1-1) ... 307s Setting up r-cran-coda (0.19-4.1-1) ... 307s Setting up r-cran-magrittr (2.0.3-1) ... 307s Setting up r-cran-fs (1.6.5+dfsg-1) ... 307s Setting up r-cran-curl (6.2.1+dfsg-1ubuntu1) ... 307s Setting up r-cran-brio (1.1.5-1) ... 307s Setting up r-cran-diffobj (0.3.5-1) ... 307s Setting up r-cran-rlang (1.1.5-1) ... 307s Setting up r-cran-sys (3.4.3-1) ... 307s Setting up r-cran-withr (3.0.2+dfsg-1) ... 307s Setting up r-cran-processx (3.8.6-1) ... 307s Setting up r-cran-mime (0.12-2) ... 307s Setting up r-cran-praise (1.0.0-4build1) ... 307s Setting up r-cran-digest (0.6.37-1) ... 307s Setting up r-cran-yaml (2.3.10-1) ... 307s Setting up r-cran-evaluate (1.0.3-1) ... 307s Setting up r-cran-fansi (1.0.5-1) ... 307s Setting up r-cran-glue (1.8.0-1) ... 307s Setting up r-cran-cli (3.6.4-1) ... 307s Setting up r-cran-lifecycle (1.0.4+dfsg-1) ... 307s Setting up r-cran-rprojroot (2.0.4-2) ... 307s Setting up r-cran-askpass (1.2.1-1) ... 307s Setting up r-cran-jsonlite (1.9.1+dfsg-1) ... 307s Setting up r-cran-pkgconfig (2.0.3-2build1) ... 307s Setting up r-cran-utf8 (1.2.4-1) ... 307s Setting up r-cran-rex (1.2.1-1) ... 307s Setting up r-cran-waldo (0.6.1-2) ... 307s Setting up r-cran-matrix (1.7-3-1) ... 307s Setting up r-cran-statnet.common (4.11.0-1) ... 307s Setting up r-cran-vctrs (0.6.5-1) ... 307s Setting up r-cran-pillar (1.10.1+dfsg-1) ... 307s Setting up r-cran-openssl (2.3.2+dfsg-1) ... 307s Setting up r-cran-callr (3.7.6-1) ... 307s Setting up r-cran-desc (1.4.3-1) ... 307s Setting up r-cran-tibble (3.2.1+dfsg-3) ... 307s Setting up r-cran-network (1.19.0-1) ... 307s Setting up r-cran-sna (2.8-1) ... 307s Setting up r-cran-httr (1.4.7+dfsg-1) ... 307s Setting up r-cran-covr (3.6.4+dfsg-1) ... 307s Setting up r-cran-pkgbuild (1.4.6-1) ... 307s Setting up r-cran-pkgload (1.4.0-1) ... 307s Setting up r-cran-testthat (3.2.3-1) ... 307s Processing triggers for libc-bin (2.41-1ubuntu2) ... 307s Processing triggers for man-db (2.13.0-1) ... 309s Processing triggers for install-info (7.1.1-1) ... 310s autopkgtest [15:47:24]: test run-unit-test: [----------------------- 310s BEGIN TEST general.tests.R 311s 311s R version 4.4.3 (2025-02-28) -- "Trophy Case" 311s Copyright (C) 2025 The R Foundation for Statistical Computing 311s Platform: aarch64-unknown-linux-gnu 311s 311s R is free software and comes with ABSOLUTELY NO WARRANTY. 311s You are welcome to redistribute it under certain conditions. 311s Type 'license()' or 'licence()' for distribution details. 311s 311s R is a collaborative project with many contributors. 311s Type 'contributors()' for more information and 311s 'citation()' on how to cite R or R packages in publications. 311s 311s Type 'demo()' for some demos, 'help()' for on-line help, or 311s 'help.start()' for an HTML browser interface to help. 311s Type 'q()' to quit R. 311s 311s > #The following battery of tests is intended to verify the functionality of 311s > #the network library 311s > 311s > #Set to TRUE to run tests 311s > if(FALSE){ 311s + 311s + library(network) 311s + 311s + # ----- check assigning multiple attribute values in a single call ------ 311s + test<-network.initialize(3) 311s + set.vertex.attribute(test,c('a','b'),c(1,2)) 311s + if(!all(test%v%'a'==c(1,1,1) & test%v%'b'==c(2,2,2))){ 311s + stop('setting multiple attribute values with set.vertex.attribute failed') 311s + } 311s + 311s + test<-network.initialize(3) 311s + set.vertex.attribute(test,list('a','b'),c(1,2)) 311s + if(!all(test%v%'a'==c(1,1,1) & test%v%'b'==c(2,2,2))){ 311s + stop('setting multiple attribute values with set.vertex.attribute failed') 311s + } 311s + 311s + test<-network.initialize(3) 311s + set.vertex.attribute(test,c('a','b'),list(c(1,2,3),c(4,5,6))) 311s + if(!all(test%v%'a'==c(1,2,3) & test%v%'b'==c(4,5,6))){ 311s + stop('setting multiple attribute values with set.vertex.attribute failed') 311s + } 311s + 311s + test<-network.initialize(3) 311s + set.vertex.attribute(test,c('a','b'),list(list(1,2,3),list(4,5,6))) 311s + if(!all(test%v%'a'==c(1,2,3) & test%v%'b'==c(4,5,6))){ 311s + stop('setting multiple attribute values with set.vertex.attribute failed') 311s + } 311s + 311s + test<-network.initialize(3) 311s + obj<-list(one='a complex object',two=c('with muliple','parts')) 311s + set.vertex.attribute(test,c('a','b'),list(list(as.list(obj)),list(as.list(obj)))) 311s + if(!all(all.equal(get.vertex.attribute(test,'a',unlist=FALSE)[[1]],obj) & all.equal(get.vertex.attribute(test,'b',unlist=FALSE)[[1]],obj))){ 311s + stop('setting multiple attribute values with list values in set.vertex.attribute failed') 311s + } 311s + 311s + # check assignment to list of networks 311s + net <- network.initialize(2) 311s + netlist <- list(net) 311s + set.network.attribute(netlist[[1]],"test","a value") 311s + if (!"test" %in% list.network.attributes(netlist[[1]])) 311s + stop('assignment to list of networks failed') 311s + 311s + # test multiple assignment for network 311s + 311s + test<-network.initialize(3) 311s + set.network.attribute(test,c("a","b"),1:2) 311s + if (!all(test%n%'a'==1,test%n%'b'==2)){ 311s + stop('mulltiple attribute assignment failed for set.network.attribute') 311s + } 311s + 311s + test<-network.initialize(3) 311s + set.network.attribute(test,list("a","b"),as.list(1:2)) 311s + if (!all(test%n%'a'==1,test%n%'b'==2)){ 311s + stop('mulltiple attribute assignment failed for set.network.attribute') 311s + } 311s + 311s + 311s + 311s + # test multiple assignment for edges 311s + 311s + test<-network.initialize(3) 311s + add.edges(test,tail=1:3,head=c(2,3,1)) 311s + net<-test 311s + set.edge.attribute(net,c("a","b"),1:2) 311s + if (!all(net%n%'a'==1,net%n%'b'==2)){ 311s + stop('mulltiple attribute assignment failed for set.edge.attribute') 311s + } 311s + 311s + net<-test 311s + set.edge.attribute(net,c('a','b'),list(c(1,2,3),c(4,5,6))) 311s + if(!all(net%e%'a'==c(1,2,3) & net%e%'b'==c(4,5,6))){ 311s + stop('setting multiple attribute values with set.edge.attribute failed') 311s + } 311s + 311s + net<-test 311s + set.edge.attribute(net,c('a','b'),list(list(1,2,3),list(4,5,6))) 311s + if(!all(net%e%'a'==c(1,2,3) & net%e%'b'==c(4,5,6))){ 311s + stop('setting multiple attribute values with set.edge.attribute failed') 311s + } 311s + 311s + net<-test 311s + obj<-list(one='a complex object',two=c('with muliple','parts')) 311s + set.edge.attribute(net,c('a','b'),list(list(as.list(obj)),list(as.list(obj)))) 311s + if(!all(all.equal(get.edge.attribute(net,'a',unlist=FALSE)[[1]],obj) & all.equal(get.edge.attribute(net,'b',unlist=FALSE)[[1]],obj))){ 311s + stop('setting multiple attribute values with list values in set.edge.attribute failed') 311s + } 311s + 311s + 311s + 311s + # ---- checks for get.edge.attribute overloading and omit args ---- 311s + net<-network.initialize(3) 311s + add.edges(net,c(1,2,3),c(2,3,1)) 311s + set.edge.attribute(net,'test',"a") 311s + if(!all(get.edge.attribute(net,'test')==c("a","a","a"))){stop("overloading of get.edge.attribute to get.edge.value not working correctly ")} 311s + 311s + # check list output of get.edge.attribute with deleted.edges.omit 311s + delete.edges(net,2) 311s + set.edge.attribute(net,'foo','bar',1) 311s + if(!identical(list('bar',NULL,NULL),get.edge.attribute(net,'foo',unlist=FALSE, deleted.edges.omit = FALSE))){ 311s + stop("deleted.edges.omit argument causing bad return values in get.edge.attribute ") 311s + } 311s + if(!identical(list('bar',NULL),get.edge.attribute(net,'foo',unlist=FALSE, deleted.edges.omit = TRUE))){ 311s + stop("deleted.edges.omit argument causing bad return values in get.edge.attribute ") 311s + } 311s + 311s + # check unlisted output of get.edge.attribute with na.omit and deleted.edges.omit 311s + if(!identical(c('bar'),get.edge.attribute(net,'foo',unlist=TRUE,deleted.edges.omit=TRUE))){ 311s + stop("omission argument causing bad return values in get.edge.attribute") 311s + } 311s + if(!identical(c('bar'),get.edge.attribute(net,'foo',unlist=TRUE,deleted.edges.omit=TRUE))){ 311s + stop("omission arguments causing bad return values in get.edge.attribute") 311s + } 311s + 311s + # check for null.na recoding of non-set attributes 311s + if(!identical(c('bar'),get.edge.attribute(net,'foo',unlist=TRUE,null.na=FALSE))){ 311s + stop("null.na arguments causing bad return values in get.edge.attribute") 311s + } 311s + if(!identical(c('bar',NA),get.edge.attribute(net,'foo',unlist=TRUE,null.na=TRUE))){ 311s + stop("null.na arguments causing bad return values in get.edge.attribute") 311s + } 311s + if(!identical(list('bar',NULL,NULL),get.edge.attribute(net,'foo',unlist=FALSE,null.na=FALSE))){ 311s + stop("null.na arguments causing bad return values in get.edge.attribute") 311s + } 311s + if(!identical(list('bar',NULL,NA),get.edge.attribute(net,'foo',unlist=FALSE,null.na=TRUE))){ 311s + stop("null.na arguments causing bad return values in get.edge.attribute") 311s + } 311s + 311s + 311s + 311s + #mark an edge as missing to test na.omit 311s + set.edge.attribute(net,'na',TRUE,e=1) 311s + 311s + # check that values corresponding to missing edges are ommited 311s + if(!identical(list('bar',NULL,NULL),get.edge.attribute(net,'foo',unlist=FALSE,na.omit=FALSE))){ 311s + stop("na.omit argument causing bad return values in get.edge.attribute") 311s + } 311s + if(!identical(list(NULL,NULL),get.edge.attribute(net,'foo',unlist=FALSE,na.omit=TRUE))){ 311s + stop("na.omit argument causing bad return values in get.edge.attribute") 311s + } 311s + 311s + if(!identical(c('bar'),get.edge.attribute(net,'foo',unlist=TRUE,na.omit=FALSE))){ 311s + stop("na.omit argument causing bad return values in get.edge.attribute") 311s + } 311s + if(!identical(NULL,get.edge.attribute(net,'foo',unlist=TRUE,na.omit=TRUE))){ 311s + stop("na.omit argument causing bad return values in get.edge.attribute") 311s + } 311s + # check for behavior when querying the 'na' attribute 311s + if(!identical(c(TRUE,FALSE),get.edge.attribute(net,'na',na.omit=FALSE))){ 311s + stop("get.edge.attribute did not return correct values for 'na' attribute with na.omit=FALSE") 311s + } 311s + if(!identical(c(FALSE),get.edge.attribute(net,'na',na.omit=TRUE))){ 311s + stop("get.edge.attribute did not return correct values for 'na' attribute with na.omit=TRUE") 311s + } 311s + 311s + # check behavior on a network with no edges 311s + if(!identical(list(),get.edge.attribute(network.initialize(3),'foo',unlist=FALSE))){ 311s + stop("get.edge.attribute did not return correct values network with no edges") 311s + } 311s + 311s + if(!identical(NULL,get.edge.attribute(network.initialize(3),'foo',unlist=TRUE))){ 311s + stop("get.edge.attribute did not return correct values network with no edges") 311s + } 311s + 311s + if(!identical(NULL,get.edge.attribute(net,'bar'))){ 311s + stop("get.edge.attribute did not return correct values for attribute that does not exist") 311s + } 311s + 311s + 311s + # check for behavior of attribute values explicitly set to null 311s + net<-network.initialize(3) 311s + net[1,2]<-1 311s + net[1,3]<-1 311s + set.edge.attribute(net,'nullval',list(NULL)) 311s + 311s + # expect NULL,NULL 311s + if(!identical(list(NULL,NULL),get.edge.attribute(net,'nullval',unlist=FALSE,null.na=FALSE))){ 311s + stop("get.edge.attribute not returning NULL values stored as edge attribute correctly") 311s + } 311s + 311s + # expect that this should return NULL values, which will dissappear on unlisting 311s + # do NOT want to see NA,NA 311s + if(!identical(NULL,get.edge.attribute(net,'nullval',null.na=FALSE))){ 311s + stop("get.edge.attribute not returning NULL values stored as edge attribute correctly") 311s + } 311s + if(!identical(NULL,get.edge.attribute(net,'nullval',null.na=TRUE))){ 311s + stop("get.edge.attribute not returning NULL values stored as edge attribute correctly") 311s + } 311s + 311s + #End tests 311s + } 311s > 311s BEGIN TEST general.tests2.R 311s 311s R version 4.4.3 (2025-02-28) -- "Trophy Case" 311s Copyright (C) 2025 The R Foundation for Statistical Computing 311s Platform: aarch64-unknown-linux-gnu 311s 311s R is free software and comes with ABSOLUTELY NO WARRANTY. 311s You are welcome to redistribute it under certain conditions. 311s Type 'license()' or 'licence()' for distribution details. 311s 311s R is a collaborative project with many contributors. 311s Type 'contributors()' for more information and 311s 'citation()' on how to cite R or R packages in publications. 311s 311s Type 'demo()' for some demos, 'help()' for on-line help, or 311s 'help.start()' for an HTML browser interface to help. 311s Type 'q()' to quit R. 311s 311s > #Set to TRUE to run tests 311s > if(FALSE){ 311s + 311s + # additional tests of misc network functionality split off from general.tests.R to avoid speed warnings 311s + library(network) 311s + 311s + # ----- check memory saftey with a big assignment --- 311s + net<-network.initialize(100000) 311s + net<-add.edges(net,1:99999,2:100000) 311s + set.edge.attribute(net,'LETTERS',LETTERS) 311s + 311s + # --- tests for get.induced.subgraph additions -- 311s + data(emon) 311s + # extract the network of responders in MtStHelens network with interaction Frequency of 4 311s + subG4<-get.inducedSubgraph(emon$MtStHelens,eid=which(emon$MtStHelens%e%'Frequency'==4)) 311s + if(network.size(subG4)!=24){ 311s + stop('wrong size eid induced subgraph') 311s + } 311s + 311s + if (any(subG4%e%'Frequency'!=4)){ 311s + stop('bad edges in eid induced subgraph') 311s + } 311s + 311s + # checks for error conditions 311s + # can't specify eid with v or alter 311s + # get.inducedSubgraph(v=1:2,emon$MtStHelens,eid=which(emon$MtStHelens%e%'Frequency'==4)) 311s + # get.inducedSubgraph(alter=1:2,emon$MtStHelens,eid=which(emon$MtStHelens%e%'Frequency'==4)) 311s + # get.inducedSubgraph(emon$MtStHelens,eid=200:300) 311s + 311s + 311s + # ---- tests for specific bugs/edgecases ----- 311s + 311s + # ticket #180 (used to throw error if no edges exist) 311s + set.edge.attribute(network.initialize(3),"test","a") 311s + 311s + # check for network of zero size --used to give error ticket #255 311s + set.vertex.attribute(network.initialize(0),'foo','bar') 311s + 311s + 311s + # check for is.na.network problems #619 311s + x2<-network.initialize(3) 311s + x2[1,2]<-NA 311s + if(is.na.network(x2)[1,2]!=1){ 311s + stop('problem iwth is.na.netowrk') 311s + } 311s + 311s + # check for na problems in which.matrix.type #926 311s + mat <- matrix(rbinom(200, 1, 0.2), nrow = 20) 311s + naIndices <- sample(1:200, 20) 311s + mat[naIndices] <- NA 311s + nw <- network(mat) 311s + 311s + # ---- check for undirected loops getID cases #327 #609 ----- 311s + net<-network.initialize(2,loops=TRUE,directed=FALSE) 311s + net[1,1]<-1 311s + net[1,2]<-1 311s + net[2,2]<-1 311s + if(get.edgeIDs(net,v=1,alter=1)!=1){ 311s + stop("problem with get.edgeIDs on undirected network with loops") 311s + } 311s + if(get.edgeIDs(net,v=2,alter=2)!=3){ 311s + stop("problem with get.edgeIDs on undirected network with loops") 311s + } 311s + 311s + net<-network.initialize(2,loops=TRUE,directed=FALSE) 311s + net[1,2]<-1 311s + if(length(get.edgeIDs(net,v=2,alter=2))>0){ 311s + stop("problem with get.edgeIDs on undirected network with loops") 311s + } 311s + 311s + # check for problem with as.network.edgelist with zero edges #1138 311s + result1 <- as.matrix.network.edgelist(network.initialize(5),as.sna.edgelist = TRUE) 311s + if (nrow(result1) != 0){ 311s + stop('as.matrix.network.edgelist did not return correct value for net with zero edges') 311s + } 311s + result1a <- tibble::as_tibble(network.initialize(5)) 311s + if (nrow(result1a) != 0){ 311s + stop('as_tibble.network did not return correct value for net with zero edges') 311s + } 311s + result2<-as.matrix.network.adjacency(network.initialize(5)) 311s + if(nrow(result2) != 5 & ncol(result2) != 5){ 311s + stop('as.matrix.network.adjacency did not return matrix with correct dimensions') 311s + } 311s + result3<-as.matrix.network.adjacency(network.initialize(0)) 311s + if(nrow(result3) != 0 & ncol(result3) != 0){ 311s + stop('as.matrix.network.adjacency did not return matrix with correct dimensions') 311s + } 311s + result4<-as.matrix.network.incidence(network.initialize(5)) 311s + if(nrow(result4) != 5 & ncol(result4) != 0){ 311s + stop('as.matrix.network.incidence did not return matrix with correct dimensions') 311s + } 311s + result5<-as.matrix.network.incidence(network.initialize(0)) 311s + if(nrow(result5) != 0 & ncol(result5) != 0){ 311s + stop('as.matrix.network.incidence did not return matrix with correct dimensions') 311s + } 311s + 311s + #End test 311s + } 311s > 311s BEGIN TEST list.attribute.tests.R 311s 311s R version 4.4.3 (2025-02-28) -- "Trophy Case" 311s Copyright (C) 2025 The R Foundation for Statistical Computing 311s Platform: aarch64-unknown-linux-gnu 311s 311s R is free software and comes with ABSOLUTELY NO WARRANTY. 311s You are welcome to redistribute it under certain conditions. 311s Type 'license()' or 'licence()' for distribution details. 311s 311s R is a collaborative project with many contributors. 311s Type 'contributors()' for more information and 311s 'citation()' on how to cite R or R packages in publications. 311s 311s Type 'demo()' for some demos, 'help()' for on-line help, or 311s 'help.start()' for an HTML browser interface to help. 311s Type 'q()' to quit R. 311s 311s > #Set to TRUE to run tests 311s > if(FALSE){ 311s + 311s + require(network) 311s + 311s + # --------- test list.vertex.attributes --- 311s + 311s + net<-network.initialize(3) 311s + 311s + list.vertex.attributes(net) 311s + 311s + if(!all(list.vertex.attributes(net)==c('na','vertex.names'))){ 311s + stop('list.vertex.attribute did not report default attributes corrrectly') 311s + } 311s + 311s + set.vertex.attribute(net,'letters',c("a","b","c")) 311s + 311s + if(!all(list.vertex.attributes(net)==c('letters','na','vertex.names'))){ 311s + stop('list.vertex.attribute did not report added attributes corrrectly') 311s + } 311s + 311s + 311s + # ----- test list.edge.attributes ---- 311s + 311s + net<-network.initialize(3) 311s + if(length(list.edge.attributes(net))!=0){ 311s + stop("list.edge.attributes did not return empty list for network with no edges") 311s + } 311s + 311s + add.edges(net,1,2) 311s + add.edges(net,2,3) 311s + if(list.edge.attributes(net)!='na'){ 311s + stop("list.edge.attributes did not return 'na' for network with only edges") 311s + } 311s + 311s + set.edge.attribute(net,'letter',c("a","b")) 311s + if(!all(list.edge.attributes(net)==c('letter','na'))){ 311s + stop("list.edge.attributes did not return attribute names for network with edges") 311s + } 311s + 311s + delete.edges(net,eid=1) 311s + if(!all(list.edge.attributes(net)==c('letter','na'))){ 311s + stop("list.edge.attributes did not return attribute names for network deleted edge") 311s + } 311s + 311s + # ---- test list.network.attributes ---- 311s + net<-network.initialize(3) 311s + if(!all(list.network.attributes(net)==c("bipartite", "directed", "hyper","loops","mnext", "multiple","n" ))){ 311s + stop("list.network.attributes returned unexpected values for default attributes of a network") 311s + } 311s + 311s + set.network.attribute(net,'letter',"a") 311s + if(!all(list.network.attributes(net)==c("bipartite", "directed", "hyper","letter","loops","mnext", "multiple","n" ))){ 311s + stop("list.network.attributes returned unexpected values for network with attribute added") 311s + } 311s + 311s + # ----- tests for printing function for edges cases ------ 311s + net<-network.initialize(100) 311s + net%n%'a_matrix'<-matrix(1:100,nrow=10,ncol=10) 311s + net%n%'a_null'<-NULL 311s + net%n%'a_list'<-list(part1=list(c("A","B")),part2=list("c")) 311s + net%n%'a_desc_vec'<-numeric(rep(100,1)) 311s + net%n%'a_net'<-network.initialize(5) 311s + print.network(net) 311s + 311s + #End tests 311s + } 311s > 311s BEGIN TEST network.access.test.R 311s 311s R version 4.4.3 (2025-02-28) -- "Trophy Case" 311s Copyright (C) 2025 The R Foundation for Statistical Computing 311s Platform: aarch64-unknown-linux-gnu 311s 311s R is free software and comes with ABSOLUTELY NO WARRANTY. 311s You are welcome to redistribute it under certain conditions. 311s Type 'license()' or 'licence()' for distribution details. 311s 311s R is a collaborative project with many contributors. 311s Type 'contributors()' for more information and 311s 'citation()' on how to cite R or R packages in publications. 311s 311s Type 'demo()' for some demos, 'help()' for on-line help, or 311s 'help.start()' for an HTML browser interface to help. 311s Type 'q()' to quit R. 311s 311s > #Set to TRUE to run tests 311s > if(FALSE){ 311s + 311s + library(network) 311s + 311s + binet = network.initialize(10, bipartite = 6) 311s + set.vertex.attribute(binet, 'myval', paste('b1', 1:6), v=1:6) 311s + set.vertex.attribute(binet, 'myval', paste('b2', 1:4), v=7:10) 311s + 311s + check <- vector() 311s + check[1] <- all(get.vertex.attribute(binet, 'myval') == c("b1 1", "b1 2", "b1 3", "b1 4", "b1 5", "b1 6", "b2 1", "b2 2", "b2 3" ,"b2 4")) 311s + 311s + # check for distinction between bipartite=FALSE and bipartite=0 311s + testA<-network.initialize(3,bipartite=0) 311s + if(!is.bipartite(testA)){ 311s + stop('failed test of is.bipartite for bipartite=0') 311s + } 311s + 311s + testB<-network.initialize(3,bipartite=FALSE) 311s + if(is.bipartite(testB)){ 311s + stop('failed test of is.bipartite for bipartite=FALSE') 311s + } 311s + 311s + testC<-network.initialize(3,bipartite=TRUE) 311s + if(!is.bipartite(testC)){ 311s + stop('failed test of is.bipartite for bipartite=TRUE') 311s + } 311s + 311s + if(!is.bipartite(binet)){ 311s + stop('failed test of is.bipartite for bipartite=6') 311s + } 311s + 311s + # add vertices to bipartite graphs 311s + g = binet; add.vertices(g, 5, last.mode=F) 311s + check[2] <- network.size(g) == 15 311s + check[3] <- get.network.attribute(g, 'bipartite') == 11 311s + check[4] <- identical(get.vertex.attribute(g, 'myval'), 311s + c("b1 1", "b1 2", "b1 3", "b1 4", "b1 5", "b1 6", NA,NA,NA,NA,NA,"b2 1","b2 2","b2 3","b2 4")) 311s + 311s + test<-network.initialize(3,bipartite=0) 311s + test%v%'letters'<-LETTERS[1:3] 311s + add.vertices(test,nv=1,last.mode=FALSE) 311s + if(!identical(test%v%'letters',c(NA,"A","B","C"))){ 311s + stop("Error adding vertices to first mode of network with biparite=0") 311s + } 311s + 311s + test<-network.initialize(3,bipartite=0) 311s + test%v%'letters'<-LETTERS[1:3] 311s + add.vertices(test,nv=1,last.mode=TRUE) 311s + if(!identical(test%v%'letters',c("A","B","C",NA))){ 311s + stop("Error adding vertices to last mode of network with biparite=0") 311s + } 311s + 311s + 311s + g = binet 311s + add.vertices(g, 5, last.mode=T) 311s + check[5] <- network.size(g) == 15 311s + check[6] <- get.network.attribute(g, 'bipartite') == 6 311s + check[7] <- identical(get.vertex.attribute(g, 'myval'), 311s + c("b1 1", "b1 2", "b1 3", "b1 4", "b1 5", "b1 6","b2 1","b2 2","b2 3","b2 4", NA,NA,NA,NA,NA)) 311s + 311s + # replacement operators should always replace 311s + y <- network.initialize(4,dir=FALSE) # This network can have at most 1 edge. 311s + y[1,2] <- NA # Assign NA to (1,2) 311s + y[1,2] <- NA 311s + check[8] <- network.edgecount(y) == 0 311s + check[9] <- network.edgecount(y, na.omit=F) == 1 311s + 311s + y[,] <- 1 311s + check[10] <- network.edgecount(y) == 6 311s + y[,] <- NA 311s + check[11] <- network.edgecount(y) == 0 311s + check[12] <- network.edgecount(y, na.omit=F) == 6 311s + y[,] <- 0 311s + check[13] <- network.edgecount(y, na.omit=F) == 0 311s + 311s + 311s + # ------ test valid.eids function 311s + net<-network.initialize(4) 311s + net[,]<-1 311s + delete.edges(net,eid=4:6) 311s + if(!all(valid.eids(net)==c(1,2,3,7,8,9,10,11,12))){ 311s + stop('valid.eids did not return correct ids for non-null elements of network') 311s + } 311s + 311s + #If everything worked, check is TRUE 311s + if(!all(check)){ #Should be TRUE 311s + stop(paste("network package test failed on test(s):",which(!check))) 311s + } 311s + 311s + #End tests 311s + } 311s > 311s BEGIN TEST network.battery.R 311s 311s R version 4.4.3 (2025-02-28) -- "Trophy Case" 311s Copyright (C) 2025 The R Foundation for Statistical Computing 311s Platform: aarch64-unknown-linux-gnu 311s 311s R is free software and comes with ABSOLUTELY NO WARRANTY. 311s You are welcome to redistribute it under certain conditions. 311s Type 'license()' or 'licence()' for distribution details. 311s 311s R is a collaborative project with many contributors. 311s Type 'contributors()' for more information and 311s 'citation()' on how to cite R or R packages in publications. 311s 311s Type 'demo()' for some demos, 'help()' for on-line help, or 311s 'help.start()' for an HTML browser interface to help. 311s Type 'q()' to quit R. 311s 311s > #The following battery of tests is intended to verify the functionality of 311s > #the network library 311s > 311s > #Set to TRUE to run tests 311s > if(FALSE){ 311s + 311s + library(network) 311s + #These functions are intended to mimic functionality from the sna package. 311s + #Said package is not required to use network, but was used in creating this 311s + #battery of tests. 311s + rgraph<-function(n){ 311s + m<-matrix(rbinom(n*n,1,0.5),n,n) 311s + diag(m)<-0 311s + m 311s + } 311s + degree<-function(d,cmode = "freeman") 311s + { 311s + n <- dim(d)[1] 311s + diag(d) <- NA 311s + switch(cmode, indegree = apply(d, 2, sum, na.rm = TRUE), 311s + outdegree = apply(d, 1, sum, na.rm = TRUE), freeman = apply(d, 311s + 2, sum, na.rm = TRUE) + apply(d, 1, sum, na.rm = TRUE)) 311s + } 311s + #gctorture(TRUE) #Uncomment to perform a more intensive (SLOW) test 311s + 311s + # ---- Check assignment, deletion, and adjacency for dyadic graphs ---- 311s + check<-vector() 311s + temp<-network(matrix(0,5,5)) 311s + temp[1,2]<-1 #Add edge 311s + check[1]<-temp[1,2]==1 #Check adjacency 311s + check[2]<-get.network.attribute(temp,"mnext")==2 #Check count 311s + temp[1,2]<-1 #Should have no effect 311s + check[3]<-get.network.attribute(temp,"mnext")==2 #Check count 311s + temp[1,1]<-1 #Should have no effect 311s + check[4]<-temp[1,1]==0 #Shouldn't be present 311s + check[5]<-get.network.attribute(temp,"mnext")==2 #Check count 311s + temp[,2]<-1 #Should add 3 edges 311s + check[6]<-get.network.attribute(temp,"mnext")==5 #Check count 311s + check[7]<-all(temp[,2]==c(1,0,1,1,1)) #Verify row 311s + temp[3:4,3:4]<-1 #Should add 2 edges 311s + check[8]<-get.network.attribute(temp,"mnext")==7 #Check count 311s + temp[,]<-0 #Delete edges 311s + check[9]<-all(temp[,]==matrix(0,5,5)) #Verify that edges were removed 311s + temp[1:2,3:5]<-1 #Add new edges 311s + check[10]<-sum(temp[,])==6 #Check edge sum 311s + temp<-add.vertices(temp,3) #Add vertices 311s + check[11]<-network.size(temp)==8 311s + check[12]<-sum(temp[,])==6 #Edges should still be there 311s + check[13]<-all(temp[,5]==c(1,1,0,0,0,0,0,0)) 311s + temp[8,]<-1 #Add edges to new vertex 311s + check[14]<-all(temp[8,]==c(1,1,1,1,1,1,1,0)) #Verify 311s + temp<-delete.vertices(temp,c(7,8)) #Remove vertices 311s + check[15]<-network.size(temp)==6 #Verify removal 311s + check[16]<-sum(temp[,])==6 #Check edge sum 311s + check[17]<-!any(c(7,8)%in%c(sapply(temp$mel,"[[","inl"),sapply(temp$mel,"[[","outl"))) #Make sure they're really gone! 311s + temp<-network(matrix(0,5,5),directed=FALSE,loops=TRUE) #Create undir graph 311s + check[18]<-is.directed(temp)==FALSE #Some simple gal tests 311s + check[19]<-has.loops(temp)==TRUE 311s + temp[1,]<-1 311s + check[20]<-all(temp[,1]==temp[1,]) #Verify edges 311s + temp<-permute.vertexIDs(temp,5:1) #Permute 311s + check[21]<-all(temp[1,]==c(0,0,0,0,1)) #Verify permutation 311s + check[22]<-all(temp[,5]==rep(1,5)) 311s + check[23]<-all(get.neighborhood(temp,1)%in%c(5,1)) #Check neighborhoods 311s + check[24]<-all(sort(get.neighborhood(temp,5))==1:5) 311s + check[25]<-length(get.edges(temp,5))==5 #Check get.edges 311s + check[26]<-length(get.edges(temp,5,2))==1 311s + g<-rgraph(10) 311s + temp<-network(g) 311s + check[27]<-all(g==temp[,]) #Yet more edge checkage 311s + check[28]<-all(g[3:1,-(4:3)]==temp[3:1,-(4:3)]) 311s + temp[,,,names.eval="newval"]<-matrix(1:100,10,10) #Edge value assignment 312s + check[29]<-all(as.sociomatrix(temp,"newval")==matrix(1:100,10,10)*g) 312s + check[30]<-all(apply(as.matrix.network.incidence(temp),1,sum)==(degree(g,cmode="indegree")-degree(g,cmode="outdegree"))) #Check incidence matrix 312s + check[31]<-all(dim(as.matrix.network.incidence(temp))==c(10,sum(g))) 312s + check[32]<-all(apply(as.matrix.network.incidence(temp,"newval"),1,sum)==(degree(matrix(1:100,10,10)*g,cmode="indegree")-degree(matrix(1:100,10,10)*g,cmode="outdegree"))) 312s + check[33]<-all(as.matrix.network.edgelist(temp,"newval")==cbind(row(g)[g>0],col(g)[g>0],matrix(1:100,10,10)[g>0])) 312s + temp[1:3,1:5,names.eval="newval"]<-matrix(1:15,3,5) 312s + check[34]<-all(as.sociomatrix(temp,"newval")[1:3,1:5]==g[1:3,1:5]*matrix(1:15,3,5)) 312s + temp[,,"na"]<-TRUE #Verify NA filtering 312s + check[35]<-sum(temp[,,na.omit=TRUE])==0 312s + check[36]<-sum(is.na(temp[,,na.omit=FALSE]))==sum(g) 312s + 312s + #---- Check assignment, deletion, and adjacency for hypergraphs ---- 312s + temp<-network.initialize(10,directed=F,hyper=T,loops=T) 312s + check[37]<-sum(temp[,])==0 312s + temp<-add.edge(temp,1:4,1:4,"value",list(5)) 312s + temp<-add.edge(temp,3:5,3:5,"value",list(6)) 312s + temp<-add.edge(temp,4:7,4:7,"value",list(7)) 312s + temp<-add.edge(temp,6:10,6:10,"value",list(8)) 312s + check[38]<-all(as.matrix.network.incidence(temp)==cbind(c(1,1,1,1,0,0,0,0,0,0),c(0,0,1,1,1,0,0,0,0,0),c(0,0,0,1,1,1,1,0,0,0),c(0,0,0,0,0,1,1,1,1,1))) 312s + check[39]<-all(as.matrix.network.incidence(temp,"value")==cbind(5*c(1,1,1,1,0,0,0,0,0,0),6*c(0,0,1,1,1,0,0,0,0,0),7*c(0,0,0,1,1,1,1,0,0,0),8*c(0,0,0,0,0,1,1,1,1,1))) 312s + check[40]<-all(temp[,]==((as.matrix.network.incidence(temp)%*%t(as.matrix.network.incidence(temp)))>0)) 312s + 312s + #---- Check coercion and construction methods ---- 312s + g<-rgraph(10) 312s + temp<-network(g) 312s + check[41]<-all(temp[,]==g) 312s + temp<-as.network(g*matrix(1:100,10,10),names.eval="value",ignore.eval=FALSE) 312s + check[42]<-all(as.sociomatrix(temp,"value")==g*matrix(1:100,10,10)) 312s + temp<-as.network.matrix(as.matrix.network.edgelist(temp,"value"),matrix.type="edgelist",names.eval="value",ignore.eval=FALSE) 312s + check[43]<-all(as.sociomatrix(temp,"value")==g*matrix(1:100,10,10)) 312s + temp<-as.network.matrix(as.matrix.network.incidence(temp,"value"),matrix.type="incidence",names.eval="value",ignore.eval=FALSE) 312s + check[44]<-all(as.sociomatrix(temp,"value")==g*matrix(1:100,10,10)) 312s + 312s + # check functioning of na.rm argument #922 312s + plain<-as.network.matrix(matrix(c(0,1,NA,NA),ncol=2),na.rm=TRUE) 312s + if (network.naedgecount(plain) != 0){ 312s + stop('problem with na values in adjacency matrix coericon') 312s + } 312s + plain<-as.network.matrix(matrix(c(0,1,NA,NA),ncol=2),na.rm=FALSE) 312s + if (network.naedgecount(plain) != 1){ 312s + stop('problem with na values in adjacnecy matrix coericon') 312s + } 312s + 312s + 312s + 312s + # test for as.matrix.network edgelist bug #935 312s + x <- network.initialize(10) 312s + add.edge(x,1,2) 312s + add.edge(x,2,3) 312s + set.edge.attribute(x,'foo','bar',e=2) # i.e. the edge from 2 to 3 312s + if (!identical(as.matrix.network.edgelist(x,'foo'),structure(c("1", "2", "2", "3", NA, "bar"), .Dim = 2:3, n = 10, vnames = 1:10))){ 312s + stop("problem with as.matrix.network.edgelist with attribute and deleted edge") 312s + } 312s + 312s + 312s + 312s + #---- Check attribute assignment/access ---- 312s + g<-rgraph(10) 312s + temp<-network(g) 312s + temp<-set.vertex.attribute(temp,"value",1:10) 312s + check[45]<-all(get.vertex.attribute(temp,"value")==1:10) 312s + temp<-delete.vertex.attribute(temp,"value") 312s + check[46]<-all(is.na(get.vertex.attribute(temp,"value"))) 312s + temp<-set.vertex.attribute(temp,"value",1:5,c(2,4,6,8,10)) 312s + check[47]<-all(get.vertex.attribute(temp,"value")[c(2,4,6,8,10)]==1:5) 312s + temp<-set.network.attribute(temp,"value","pork!") 312s + check[48]<-get.network.attribute(temp,"value")=="pork!" 312s + temp<-delete.network.attribute(temp,"value") 312s + check[49]<-is.null(get.network.attribute(temp,"value")) 312s + temp<-set.edge.attribute(temp,"value",5) 312s + check[50]<-all(get.edge.attribute(temp$mel,"value")==5) 312s + temp<-delete.edge.attribute(temp,"value") 312s + check[51]<-all(is.null(get.edge.attribute(temp$mel,"value"))) 312s + temp<-set.edge.value(temp,"value",g*matrix(1:100,10,10)) 312s + check[52]<-all(get.edge.value(temp,"value")==(g*matrix(1:100,10,10))[g>0]) 312s + check[53]<-all(as.sociomatrix(temp,"value")==(g*matrix(1:100,10,10))) 312s + 312s + 312s + #---- Check additional operators ---- 312s + g<-rgraph(10) 312s + temp<-network(g,names.eval="value",ignore.eval=FALSE) 312s + temp2<-network(g*2,names.eval="value",ignore.eval=FALSE) 312s + check[54]<-all(g==as.sociomatrix(temp+temp2)) 312s + check[55]<-all(g*3==as.sociomatrix(sum(temp,temp2,attrname="value"),"value")) 312s + check[56]<-all(g==as.sociomatrix(temp*temp2)) 312s + check[57]<-all(g*2==as.sociomatrix(prod(temp,temp2,attrname="value"),"value")) 312s + check[58]<-all(0==as.sociomatrix(temp-temp2)) 312s + check[59]<-all(-g==as.sociomatrix(sum(temp,-as.sociomatrix(temp2,"value"),attrname="value"),"value")) 312s + check[60]<-all(((g%*%g)>0)==as.sociomatrix("%c%.network"(temp,temp2))) 312s + check[61]<-all(((g%*%g)>0)==as.sociomatrix(temp%c%temp2)) 312s + check[62]<-all(((!temp)[,]==!g)[diag(10)<1]) 312s + check[63]<-all((temp|temp2)[,]==g) 312s + check[64]<-all((temp&temp2)[,]==g) 312s + temp%v%"value"<-1:10 312s + check[65]<-all(temp%v%"value"==1:10) 312s + temp%n%"value"<-"pork!" 312s + check[66]<-temp%n%"value"=="pork!" 312s + 312s + # ---- Check to ensure that in-place modification is not producing side effects ---- 312s + g<-network.initialize(5); checkg<-g; add.vertices(g,3) 312s + check[67]<-(network.size(checkg)==5)&&(network.size(g)==8) 312s + g<-network.initialize(5); checkg<-g; delete.vertices(g,2) 312s + check[68]<-(network.size(checkg)==5)&&(network.size(g)==4) 312s + g<-network.initialize(5); checkg<-g; add.edge(g,2,3) 312s + check[69]<-(sum(checkg[,])==0)&&(sum(g[,])==1) 312s + g<-network.initialize(5); checkg<-g; add.edges(g,c(2,2,2),c(1,3,4)) 312s + check[70]<-(sum(checkg[,])==0)&&(sum(g[,])==3) 312s + g<-network.initialize(5); checkg<-g; g%v%"boo"<-1:5 312s + check[71]<-all(is.na(checkg%v%"boo"))&&all(g%v%"boo"==1:5) 312s + g<-network.initialize(5); checkg<-g; g%n%"boo"<-1:5 312s + check[72]<-is.null(checkg%n%"boo")&&all(g%n%"boo"==1:5) 312s + g<-network.initialize(5); g[1,]<-1; checkg<-g; g%e%"boo"<-col(matrix(0,5,5)) 312s + check[73]<-is.null(checkg%e%"boo")&&all(g%e%"boo"==2:5) 312s + g<-network.initialize(5); checkg<-g; permute.vertexIDs(g,5:1) 312s + check[74]<-all(checkg%v%"vertex.names"==1:5)&&all(g%v%"vertex.names"==5:1) 312s + g<-network.initialize(5); temp<-(function(){add.vertices(g,3); network.size(g)})() 312s + check[75]<-(network.size(g)==5)&&(temp==8) 312s + g<-network.initialize(5); (function(){g<-network.initialize(4); add.vertices(g,3)})() 312s + check[76]<-(network.size(g)==5) 312s + 312s + # check for operators with undirected edge error ticket #279 312s + # nw1 is assigned tail
head 312s + nw2<-network.initialize(3,directed=FALSE) 312s + nw2[2,1]<-1 312s + 312s + # Which, the binary network operators don't take into account: 312s + check[77]<-network.edgecount(nw1-nw2)==0 # Should have 0, has 1. 312s + check[78]<-network.edgecount(nw1|nw2)==1 # Should have 1, has 2 (1->2 and 2->1). 312s + check[79]<-network.edgecount(nw1&nw2)==1 # Should have 1, has 0 (since it treats 1->2 and 2->1 differently). 312s + check[80]<-network.edgecount(!nw1)==2 # Should have choose(3,2)-1=2, has 3. 312s + check[81]<-network.edgecount(!nw2)==2 # Should have choose(3,2)-1=2, has 2. 312s + 312s + #If everything worked, check is TRUE 312s + if(!all(check)){ #Should be TRUE 312s + stop(paste("network package test failed on test(s):",which(!check))) 312s + } 312s + 312s + #End test 312s + } 312s > 312s BEGIN TEST pathological.tests.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: aarch64-unknown-linux-gnu 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 > #Set to TRUE to run tests 312s > if(FALSE){ 312s + 312s + library(network) 312s + if (require(statnet.common,quietly=TRUE)){ 312s + 312s + opttest({ 312s + gctorture(TRUE) 312s + n <- 10 312s + test <- network.initialize(n) 312s + for (i in 1:(n-1)){ 312s + for (j in (i+1):n){ 312s + cat(i,j,'\n') 312s + get.inducedSubgraph(test,v=i:j) 312s + } 312s + } 312s + gctorture(FALSE) 312s + },'Ticket #180 Test 1','NETWORK_pathology_TESTS') 312s + 312s + opttest({ 312s + gctorture(TRUE) 312s + test <- network.initialize(10) 312s + delete.vertices(test,5) 312s + gctorture(FALSE) 312s + },'Ticket #180 Test 2','NETWORK_pathology_TESTS') 312s + 312s + opttest({ 312s + x <- network.initialize(10) 312s + x[,] <- 1 312s + try(set.edge.value(x,'foo',matrix('bar',5,5))) 312s + },'Ticket #827','NETWORK_pathology_TESTS') 312s + 312s + } 312s + 312s + #End tests 312s + } 312s > 312s BEGIN TEST plotflo.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: aarch64-unknown-linux-gnu 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 > #Set to TRUE to run tests 312s > if(FALSE){ 312s + 312s + # 312s + # load the library 312s + # 312s + library(network) 312s + # 312s + # attach the sociomatrix for the Florentine marriage data 312s + # This is not yet a graph object. 312s + # 312s + data(flo) 312s + # 312s + # print out the sociomatrix for the Florentine marriage data 312s + # 312s + flo 312s + # 312s + # Create a network object out of the adjacency matrix and print it out 312s + # 312s + nflo <- network(flo,directed=FALSE) 312s + nflo 312s + # 312s + # print out the sociomatrix for the Florentine marriage data 312s + # 312s + print(nflo,matrix.type="adjacency") 312s + # 312s + # plot the Florentine marriage data 312s + # 312s + plot(nflo) 312s + # 312s + # create a vector indicating the Medici family and add it as a covariate to the 312s + # graph object. 312s + # 312s + nflo <- set.vertex.attribute(nflo,"medici",c(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0)) 312s + nflo 312s + # 312s + # create a vector indicating the Medici family for the graph 312s + # 312s + medici <- rep("",nrow(flo)) 312s + names(medici) <- dimnames(flo)[[1]] 312s + medici[names(medici)=="Medici"] <- "Medici" 312s + # 312s + # plot the marriage data, highlighting the Medici family 312s + # 312s + plot(nflo,vertex.col=1+get.vertex.attribute(nflo,"medici")) 312s + 312s + # plot the emon St. Helens network, with edge widths proportional 312s + # to 'Frequency', and edges labeled by their id 312s + data(emon) 312s + par(mar=c(0,0,0,0)) 312s + plot(emon[[5]],edge.label=TRUE,edge.label.cex=0.6, 312s + edge.col='gray',edge.lwd=(emon[[5]]%e%'Frequency')*2) 312s + 312s + #End tests 312s + } 312s > 312s BEGIN TEST speedTests.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: aarch64-unknown-linux-gnu 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 > #Set to TRUE to run tests 312s > if(FALSE){ 312s + 312s + # some really basic speed checks to help us know if we make changes that massively degrade performance 312s + require(network) 312s + 312s + init<-system.time(net<-network.initialize(100000))[3] 312s + setv<-system.time(set.vertex.attribute(net,"foo","bar"))[3] 312s + getv<-system.time(get.vertex.attribute(net,"foo"))[3] 312s + listv<-system.time(list.vertex.attributes(net))[3] 312s + adde<-system.time(add.edges(net,tail=1:99999,head=2:100000))[3] 312s + sete<-system.time(set.edge.attribute(net,"foo","bar"))[3] 312s + gete<-system.time(get.edge.attribute(net,"foo"))[3] 312s + liste<-system.time(list.edge.attributes(net))[3] 312s + addmoree<-system.time(add.edge(net,100000,1))[3] 312s + addmorev<-system.time(add.vertices(net,1))[3] 312s + 312s + 312s + # optionally compare to benchmarks saved in test folder to see if things have changed 312s + # benchmarks<-rbind(init,setv,getv,listv,adde,sete,gete,liste,addmoree,addmorev) 312s + # oldmarks<-read.table(file.choose(),header=TRUE,colClasses=c('character','numeric')) 312s + # all.equal(oldmarks[,1],benchmarks[,1],check.attributes=FALSE) 312s + 312s + # optionally save out benchmarks to test directory 312s + # write.table(benchmarks,file=file.choose()) 312s + 312s + # some absolute thresholds 312s + 312s + if(init>5){ 312s + stop("initializing network for large number of vertices took much longer than expected") 312s + } 312s + 312s + if(setv>5){ 312s + stop("set.vertex.attribute for large number of vertices took much longer than expected") 312s + } 312s + 312s + if(getv>5){ 312s + stop("get.vertex.attribute for large number of vertices took much longer than expected") 312s + } 312s + 312s + if(listv>1){ 312s + stop("list.vertex.attributes for large number of vertices took much longer than expected") 312s + } 312s + 312s + if(adde>5){ 312s + stop("add.edges for a large number of edges took much longer than expected") 312s + } 312s + 312s + if(sete>10){ 312s + stop("set.edge.attribute for a large number of edges took much longer than expected") 312s + } 312s + 312s + if(gete>1){ 312s + stop("get.edge.attribute for a large number of edges took much longer than expected") 312s + } 312s + 312s + if(liste>1){ 312s + stop("list.edge.attribute for a large number of edges took much longer than expected") 312s + } 312s + 312s + if(addmoree>5){ 312s + stop("add.edge for a network with a large number of edges took much longer than expected") 312s + } 312s + 312s + if(addmorev>5){ 312s + stop("add.vertices for a network with large number of vertices took longer than expected") 312s + } 312s + 312s + #End tests 312s + } 312s > 312s BEGIN TEST testthat.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: aarch64-unknown-linux-gnu 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 > library(testthat) 312s > library(network) 313s 313s ‘network’ 1.19.0 (2024-12-08), part of the Statnet Project 313s * ‘news(package="network")’ for changes since last version 313s * ‘citation("network")’ for citation information 313s * ‘https://statnet.org’ for help, support, and other information 313s 313s > 313s > test_check("network") 314s [ FAIL 0 | WARN 1 | SKIP 0 | PASS 234 ] 314s 314s [ FAIL 0 | WARN 1 | SKIP 0 | PASS 234 ] 314s > 314s BEGIN TEST vignette.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: aarch64-unknown-linux-gnu 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 > require("network") 315s Loading required package: network 315s 315s ‘network’ 1.19.0 (2024-12-08), part of the Statnet Project 315s * ‘news(package="network")’ for changes since last version 315s * ‘citation("network")’ for citation information 315s * ‘https://statnet.org’ for help, support, and other information 315s 315s > set.seed(1702) 315s > 315s > results = NULL 315s > 315s > data("flo") 315s > data("emon") 315s > 315s > net <- network.initialize(5) 315s > net 315s Network attributes: 315s vertices = 5 315s directed = TRUE 315s hyper = FALSE 315s loops = FALSE 315s multiple = FALSE 315s bipartite = FALSE 315s total edges= 0 315s missing edges= 0 315s non-missing edges= 0 315s 315s Vertex attribute names: 315s vertex.names 315s 315s No edge attributes 315s > 315s > nmat <- matrix(rbinom(25, 1, 0.5), nr = 5, nc = 5) 315s > net <- network(nmat, loops = TRUE) 315s > net 315s Network attributes: 315s vertices = 5 315s directed = TRUE 315s hyper = FALSE 315s loops = TRUE 315s multiple = FALSE 315s bipartite = FALSE 315s total edges= 9 315s missing edges= 0 315s non-missing edges= 9 315s 315s Vertex attribute names: 315s vertex.names 315s 315s No edge attributes 315s > 315s > summary(net) 315s Network attributes: 315s vertices = 5 315s directed = TRUE 315s hyper = FALSE 315s loops = TRUE 315s multiple = FALSE 315s bipartite = FALSE 315s total edges = 9 315s missing edges = 0 315s non-missing edges = 9 315s density = 0.36 315s 315s Vertex attributes: 315s vertex.names: 315s character valued attribute 315s 5 valid vertex names 315s 315s No edge attributes 315s 315s Network adjacency matrix: 315s 1 2 3 4 5 315s 1 1 0 1 0 1 315s 2 1 0 0 1 0 315s 3 1 0 1 1 0 315s 4 0 0 1 0 0 315s 5 0 0 0 0 0 315s > results[1] = all(nmat == net[,]) 315s > 315s > net <- as.network(nmat, loops = TRUE) 315s > results[2] = all(nmat == net[,]) 315s > 315s > nflo <- network(flo, directed = FALSE) 315s > nflo 315s Network attributes: 315s vertices = 16 315s directed = FALSE 315s hyper = FALSE 315s loops = FALSE 315s multiple = FALSE 315s bipartite = FALSE 315s total edges= 20 315s missing edges= 0 315s non-missing edges= 20 315s 315s Vertex attribute names: 315s vertex.names 315s 315s No edge attributes 315s > 315s > results[3] = all(nflo[9,] == c(1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1)) 315s > results[4] = nflo[9,1] == 1 315s > results[5] = nflo[9,4] == 0 315s > results[6] = is.adjacent(nflo, 9, 1) == TRUE 315s > results[7] = is.adjacent(nflo, 9, 4) == FALSE 315s > 315s > results[8] = network.size(nflo) == 16 315s > results[9] = network.edgecount(nflo) == 20 315s > results[10] = network.density(nflo) == 1/6 315s > results[11] = has.loops(nflo) == FALSE 315s > results[12] = is.bipartite(nflo) == FALSE 315s > results[13] = is.directed(nflo) == FALSE 315s > results[14] = is.hyper(nflo) == FALSE 315s > results[15] = is.multiplex(nflo) == FALSE 315s > 315s > as.sociomatrix(nflo) 315s Acciaiuoli Albizzi Barbadori Bischeri Castellani Ginori Guadagni 315s Acciaiuoli 0 0 0 0 0 0 0 315s Albizzi 0 0 0 0 0 1 1 315s Barbadori 0 0 0 0 1 0 0 315s Bischeri 0 0 0 0 0 0 1 315s Castellani 0 0 1 0 0 0 0 315s Ginori 0 1 0 0 0 0 0 315s Guadagni 0 1 0 1 0 0 0 315s Lamberteschi 0 0 0 0 0 0 1 315s Medici 1 1 1 0 0 0 0 315s Pazzi 0 0 0 0 0 0 0 315s Peruzzi 0 0 0 1 1 0 0 315s Pucci 0 0 0 0 0 0 0 315s Ridolfi 0 0 0 0 0 0 0 315s Salviati 0 0 0 0 0 0 0 315s Strozzi 0 0 0 1 1 0 0 315s Tornabuoni 0 0 0 0 0 0 1 315s Lamberteschi Medici Pazzi Peruzzi Pucci Ridolfi Salviati Strozzi 315s Acciaiuoli 0 1 0 0 0 0 0 0 315s Albizzi 0 1 0 0 0 0 0 0 315s Barbadori 0 1 0 0 0 0 0 0 315s Bischeri 0 0 0 1 0 0 0 1 315s Castellani 0 0 0 1 0 0 0 1 315s Ginori 0 0 0 0 0 0 0 0 315s Guadagni 1 0 0 0 0 0 0 0 315s Lamberteschi 0 0 0 0 0 0 0 0 315s Medici 0 0 0 0 0 1 1 0 315s Pazzi 0 0 0 0 0 0 1 0 315s Peruzzi 0 0 0 0 0 0 0 1 315s Pucci 0 0 0 0 0 0 0 0 315s Ridolfi 0 1 0 0 0 0 0 1 315s Salviati 0 1 1 0 0 0 0 0 315s Strozzi 0 0 0 1 0 1 0 0 315s Tornabuoni 0 1 0 0 0 1 0 0 315s Tornabuoni 315s Acciaiuoli 0 315s Albizzi 0 315s Barbadori 0 315s Bischeri 0 315s Castellani 0 315s Ginori 0 315s Guadagni 1 315s Lamberteschi 0 315s Medici 1 315s Pazzi 0 315s Peruzzi 0 315s Pucci 0 315s Ridolfi 1 315s Salviati 0 315s Strozzi 0 315s Tornabuoni 0 315s > 315s > results[16] = all(nflo[,] == as.sociomatrix(nflo)) 315s > results[17] = all(as.matrix(nflo) == as.sociomatrix(nflo)) 315s > as.matrix(nflo,matrix.type = "edgelist") 315s [,1] [,2] 315s [1,] 9 1 315s [2,] 6 2 315s [3,] 7 2 315s [4,] 9 2 315s [5,] 5 3 315s [6,] 9 3 315s [7,] 7 4 315s [8,] 11 4 315s [9,] 15 4 315s [10,] 11 5 315s [11,] 15 5 315s [12,] 8 7 315s [13,] 16 7 315s [14,] 13 9 315s [15,] 14 9 315s [16,] 16 9 315s [17,] 14 10 315s [18,] 15 11 315s [19,] 15 13 315s [20,] 16 13 315s attr(,"n") 315s [1] 16 315s attr(,"vnames") 315s [1] "Acciaiuoli" "Albizzi" "Barbadori" "Bischeri" "Castellani" 315s [6] "Ginori" "Guadagni" "Lamberteschi" "Medici" "Pazzi" 315s [11] "Peruzzi" "Pucci" "Ridolfi" "Salviati" "Strozzi" 315s [16] "Tornabuoni" 315s > 315s > net <- network.initialize(5, loops = TRUE) 315s > net[nmat>0] <- 1 315s > results[18] = all(nmat == net[,]) 315s > 315s > net[,] <- 0 315s > net[,] <- nmat 315s > results[19] = all(nmat == net[,]) 315s > 315s > net[,] <- 0 315s > for(i in 1:5) 315s + for(j in 1:5) 315s + if(nmat[i,j]) 315s + net[i,j] <- 1 315s > results[20] = all(nmat == net[,]) 315s > 315s > net[,] <- 0 315s > add.edges(net, row(nmat)[nmat>0], col(nmat)[nmat>0]) 315s > results[21] = all(nmat == net[,]) 315s > 315s > net[,] <- as.numeric(nmat[,]) 315s > results[22] = all(nmat == net[,]) 315s > 315s > net <- network.initialize(5) 315s > add.edge(net, 2, 3) 315s > net[,] 315s 1 2 3 4 5 315s 1 0 0 0 0 0 315s 2 0 0 1 0 0 315s 3 0 0 0 0 0 315s 4 0 0 0 0 0 315s 5 0 0 0 0 0 315s > results[23] = net[2,3] == 1 315s > 315s > add.edges(net, c(3, 5), c(4, 4)) 315s > net[,] 315s 1 2 3 4 5 315s 1 0 0 0 0 0 315s 2 0 0 1 0 0 315s 3 0 0 0 1 0 315s 4 0 0 0 0 0 315s 5 0 0 0 1 0 315s > results[24] = (net[3,4] == 1 && net[5,4] == 1) 315s > 315s > net[,2] <- 1 315s > net[,] 315s 1 2 3 4 5 315s 1 0 1 0 0 0 315s 2 0 0 1 0 0 315s 3 0 1 0 1 0 315s 4 0 1 0 0 0 315s 5 0 1 0 1 0 315s > results[25] = net[2,2] == 0 315s > 315s > delete.vertices(net, 4) 315s > results[26] = all(net[,] == matrix(c(0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,0), byrow=T, nrow=4)) 315s > 315s > add.vertices(net, 2) 315s > net[,] 315s 1 2 3 5