0s autopkgtest [14:39:18]: starting date and time: 2025-10-18 14:39:18+0000 0s autopkgtest [14:39:18]: git checkout: 4b346b80 nova: make wait_reboot return success even when a no-op 0s autopkgtest [14:39:18]: host juju-7f2275-prod-proposed-migration-environment-20; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.wzmk9wk7/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:python3-defaults --apt-upgrade adsys --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=python3-defaults/3.13.7-2 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-20@bos03-arm64-8.secgroup --name adt-resolute-arm64-adsys-20251018-143918-juju-7f2275-prod-proposed-migration-environment-20-2b00acab-d5af-4dcf-b1d1-3e6b380f01a1 --image adt/ubuntu-resolute-arm64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-20 --net-id=net_prod-proposed-migration -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 3s Creating nova instance adt-resolute-arm64-adsys-20251018-143918-juju-7f2275-prod-proposed-migration-environment-20-2b00acab-d5af-4dcf-b1d1-3e6b380f01a1 from image adt/ubuntu-resolute-arm64-server-20251018.img (UUID f7a49384-4e4d-4350-9a26-1f59236f89dd)... 55s autopkgtest [14:40:13]: testbed dpkg architecture: arm64 55s autopkgtest [14:40:13]: testbed apt version: 3.1.6ubuntu2 56s autopkgtest [14:40:14]: @@@@@@@@@@@@@@@@@@@@ test bed setup 56s autopkgtest [14:40:14]: testbed release detected to be: None 57s autopkgtest [14:40:15]: updating testbed package index (apt update) 57s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [83.3 kB] 57s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 57s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 58s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 58s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [24.7 kB] 58s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [5028 B] 58s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [15.4 kB] 58s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [327 kB] 58s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 Packages [82.3 kB] 58s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/restricted arm64 Packages [43.8 kB] 58s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/universe arm64 Packages [213 kB] 58s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse arm64 Packages [5672 B] 58s Fetched 800 kB in 1s (832 kB/s) 59s Reading package lists... 60s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 60s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 60s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 60s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 60s Reading package lists... 60s Reading package lists... 61s Building dependency tree... 61s Reading state information... 61s Calculating upgrade... 61s The following packages will be upgraded: 61s apt flash-kernel gir1.2-girepository-2.0 libapt-pkg7.0 libgirepository-1.0-1 61s libpython3-stdlib lto-disabled-list python3 python3-minimal 61s 9 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 61s Need to get 2671 kB of archives. 61s After this operation, 66.6 kB of additional disk space will be used. 61s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 python3-minimal arm64 3.13.7-2 [27.8 kB] 62s Get:2 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 python3 arm64 3.13.7-2 [23.9 kB] 62s Get:3 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 libpython3-stdlib arm64 3.13.7-2 [10.6 kB] 62s Get:4 http://ftpmaster.internal/ubuntu resolute/main arm64 libapt-pkg7.0 arm64 3.1.8ubuntu1 [1055 kB] 62s Get:5 http://ftpmaster.internal/ubuntu resolute/main arm64 apt arm64 3.1.8ubuntu1 [1373 kB] 62s Get:6 http://ftpmaster.internal/ubuntu resolute/main arm64 libgirepository-1.0-1 arm64 1.86.0-6 [84.5 kB] 62s Get:7 http://ftpmaster.internal/ubuntu resolute/main arm64 gir1.2-girepository-2.0 arm64 1.86.0-6 [25.3 kB] 62s Get:8 http://ftpmaster.internal/ubuntu resolute/main arm64 flash-kernel arm64 3.109ubuntu7 [58.8 kB] 62s Get:9 http://ftpmaster.internal/ubuntu resolute/main arm64 lto-disabled-list all 71 [12.5 kB] 63s dpkg-preconfigure: unable to re-open stdin: No such file or directory 63s Fetched 2671 kB in 1s (3012 kB/s) 63s (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 ... 83359 files and directories currently installed.) 63s Preparing to unpack .../python3-minimal_3.13.7-2_arm64.deb ... 63s Unpacking python3-minimal (3.13.7-2) over (3.13.7-1) ... 63s Setting up python3-minimal (3.13.7-2) ... 63s (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 ... 83359 files and directories currently installed.) 63s Preparing to unpack .../0-python3_3.13.7-2_arm64.deb ... 63s running python pre-rtupdate hooks for python3.13... 63s Unpacking python3 (3.13.7-2) over (3.13.7-1) ... 63s Preparing to unpack .../1-libpython3-stdlib_3.13.7-2_arm64.deb ... 64s Unpacking libpython3-stdlib:arm64 (3.13.7-2) over (3.13.7-1) ... 64s Preparing to unpack .../2-libapt-pkg7.0_3.1.8ubuntu1_arm64.deb ... 64s Unpacking libapt-pkg7.0:arm64 (3.1.8ubuntu1) over (3.1.6ubuntu2) ... 64s Preparing to unpack .../3-apt_3.1.8ubuntu1_arm64.deb ... 64s Unpacking apt (3.1.8ubuntu1) over (3.1.6ubuntu2) ... 64s Preparing to unpack .../4-libgirepository-1.0-1_1.86.0-6_arm64.deb ... 64s Unpacking libgirepository-1.0-1:arm64 (1.86.0-6) over (1.84.0-1) ... 64s Preparing to unpack .../5-gir1.2-girepository-2.0_1.86.0-6_arm64.deb ... 64s Unpacking gir1.2-girepository-2.0:arm64 (1.86.0-6) over (1.84.0-1) ... 64s Preparing to unpack .../6-flash-kernel_3.109ubuntu7_arm64.deb ... 64s Unpacking flash-kernel (3.109ubuntu7) over (3.109ubuntu6) ... 64s Preparing to unpack .../7-lto-disabled-list_71_all.deb ... 64s Unpacking lto-disabled-list (71) over (69) ... 64s Setting up lto-disabled-list (71) ... 64s Setting up libgirepository-1.0-1:arm64 (1.86.0-6) ... 64s Setting up libapt-pkg7.0:arm64 (3.1.8ubuntu1) ... 64s Setting up libpython3-stdlib:arm64 (3.13.7-2) ... 64s Setting up apt (3.1.8ubuntu1) ... 65s Setting up python3 (3.13.7-2) ... 65s running python rtupdate hooks for python3.13... 65s running python post-rtupdate hooks for python3.13... 65s Setting up gir1.2-girepository-2.0:arm64 (1.86.0-6) ... 65s Setting up flash-kernel (3.109ubuntu7) ... 65s flash-kernel: deferring update (trigger activated) 65s Processing triggers for libc-bin (2.42-0ubuntu3) ... 66s Processing triggers for man-db (2.13.1-1) ... 68s Processing triggers for initramfs-tools (0.150ubuntu3) ... 68s update-initramfs: Generating /boot/initrd.img-6.17.0-5-generic 88s System running in EFI mode, skipping. 88s Processing triggers for flash-kernel (3.109ubuntu7) ... 88s System running in EFI mode, skipping. 88s autopkgtest [14:40:46]: upgrading testbed (apt dist-upgrade and autopurge) 89s Reading package lists... 89s Building dependency tree... 89s Reading state information... 89s Calculating upgrade... 90s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 90s Reading package lists... 90s Building dependency tree... 90s Reading state information... 90s Solving dependencies... 91s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 91s autopkgtest [14:40:49]: rebooting testbed after setup commands that affected boot 116s autopkgtest [14:41:14]: testbed running kernel: Linux 6.17.0-5-generic #5-Ubuntu SMP PREEMPT_DYNAMIC Mon Sep 22 09:50:31 UTC 2025 119s autopkgtest [14:41:17]: @@@@@@@@@@@@@@@@@@@@ apt-source adsys 123s Get:1 http://ftpmaster.internal/ubuntu resolute/main adsys 0.16.3 (dsc) [1482 B] 123s Get:2 http://ftpmaster.internal/ubuntu resolute/main adsys 0.16.3 (tar) [7365 kB] 124s gpgv: Signature made Thu Mar 27 14:31:27 2025 UTC 124s gpgv: using DSA key DD00EF8F4D23C30D78EC990998B24A9CE4AC208E 124s gpgv: Can't check signature: No public key 124s dpkg-source: warning: cannot verify inline signature for ./adsys_0.16.3.dsc: no acceptable signature found 124s autopkgtest [14:41:22]: testing package adsys version 0.16.3 125s autopkgtest [14:41:23]: build not needed 127s autopkgtest [14:41:25]: test command1: preparing testbed 127s Reading package lists... 128s Building dependency tree... 128s Reading state information... 128s Solving dependencies... 128s The following NEW packages will be installed: 128s autoconf automake autopoint autotools-dev binutils-gold 128s binutils-gold-aarch64-linux-gnu build-essential comerr-dev cpp cpp-15 128s cpp-15-aarch64-linux-gnu cpp-aarch64-linux-gnu debhelper debugedit dh-apport 128s dh-autoreconf dh-golang dh-strip-nondeterminism dwz g++ g++-15 128s g++-15-aarch64-linux-gnu g++-aarch64-linux-gnu gcc gcc-15 128s gcc-15-aarch64-linux-gnu gcc-aarch64-linux-gnu gettext girepository-tools 128s golang-1.25-go golang-1.25-src golang-go golang-src intltool-debian 128s krb5-multidev libarchive-zip-perl libasan8 libavahi-client3 128s libavahi-common-data libavahi-common3 libblkid-dev libcap-dev libcc1-0 128s libcups2t64 libdbus-1-dev libdebhelper-perl libffi-dev 128s libfile-stripnondeterminism-perl libgcc-15-dev libgio-2.0-dev 128s libgio-2.0-dev-bin libgirepository-2.0-0 libglib2.0-bin libglib2.0-dev 128s libglib2.0-dev-bin libgomp1 libgpgme11t64 libgssrpc4t64 libhwasan0 libicu76 128s libisl23 libitm1 libkadm5clnt-mit12 libkadm5srv-mit12 libkdb5-10t64 128s libkrb5-dev libldb2 liblsan0 libmount-dev libmpc3 libpam0g-dev libpcre2-16-0 128s libpcre2-32-0 libpcre2-dev libpcre2-posix3 libpkgconf3 libselinux1-dev 128s libsepol-dev libsmbclient-dev libsmbclient0 libstdc++-15-dev 128s libsysprof-capture-4-dev libsystemd-dev libtalloc2 libtdb1 libtevent0t64 128s libtool libtsan2 libubsan1 liburing2 libwbclient-dev libwbclient0 m4 128s native-architecture pkgconf pkgconf-bin po-debconf python3-ldb 128s python3-packaging python3-samba python3-talloc python3-tdb samba 128s samba-common samba-common-bin samba-dsdb-modules samba-libs sgml-base 128s uuid-dev xml-core zlib1g-dev 128s 0 upgraded, 111 newly installed, 0 to remove and 0 not upgraded. 128s Need to get 144 MB of archives. 128s After this operation, 611 MB of additional disk space will be used. 128s Get:1 http://ftpmaster.internal/ubuntu resolute/main arm64 samba-common all 2:4.22.3+dfsg-4ubuntu2.1 [72.5 kB] 129s Get:2 http://ftpmaster.internal/ubuntu resolute/main arm64 libavahi-common-data arm64 0.8-16ubuntu3 [31.1 kB] 129s Get:3 http://ftpmaster.internal/ubuntu resolute/main arm64 libavahi-common3 arm64 0.8-16ubuntu3 [24.5 kB] 129s Get:4 http://ftpmaster.internal/ubuntu resolute/main arm64 libavahi-client3 arm64 0.8-16ubuntu3 [28.4 kB] 129s Get:5 http://ftpmaster.internal/ubuntu resolute/main arm64 libcups2t64 arm64 2.4.12-0ubuntu3 [269 kB] 129s Get:6 http://ftpmaster.internal/ubuntu resolute/main arm64 libicu76 arm64 76.1-4ubuntu2 [11.2 MB] 131s Get:7 http://ftpmaster.internal/ubuntu resolute/main arm64 libtalloc2 arm64 2:2.4.3+samba4.22.3+dfsg-4ubuntu2.1 [74.8 kB] 131s Get:8 http://ftpmaster.internal/ubuntu resolute/main arm64 libtdb1 arm64 2:1.4.13+samba4.22.3+dfsg-4ubuntu2.1 [96.2 kB] 131s Get:9 http://ftpmaster.internal/ubuntu resolute/main arm64 libtevent0t64 arm64 2:0.16.2+samba4.22.3+dfsg-4ubuntu2.1 [40.9 kB] 131s Get:10 http://ftpmaster.internal/ubuntu resolute/main arm64 libldb2 arm64 2:2.11.0+samba4.22.3+dfsg-4ubuntu2.1 [151 kB] 131s Get:11 http://ftpmaster.internal/ubuntu resolute/main arm64 libwbclient0 arm64 2:4.22.3+dfsg-4ubuntu2.1 [83.3 kB] 131s Get:12 http://ftpmaster.internal/ubuntu resolute/main arm64 samba-libs arm64 2:4.22.3+dfsg-4ubuntu2.1 [6420 kB] 131s Get:13 http://ftpmaster.internal/ubuntu resolute/main arm64 samba-common-bin arm64 2:4.22.3+dfsg-4ubuntu2.1 [1379 kB] 131s Get:14 http://ftpmaster.internal/ubuntu resolute/main arm64 liburing2 arm64 2.11-1 [25.1 kB] 131s Get:15 http://ftpmaster.internal/ubuntu resolute/main arm64 samba arm64 2:4.22.3+dfsg-4ubuntu2.1 [1361 kB] 131s Get:16 http://ftpmaster.internal/ubuntu resolute/main arm64 m4 arm64 1.4.19-8 [244 kB] 131s Get:17 http://ftpmaster.internal/ubuntu resolute/main arm64 autoconf all 2.72-3.1ubuntu1 [384 kB] 131s Get:18 http://ftpmaster.internal/ubuntu resolute/main arm64 autotools-dev all 20240727.1 [43.4 kB] 131s Get:19 http://ftpmaster.internal/ubuntu resolute/main arm64 automake all 1:1.17-4ubuntu1 [572 kB] 131s Get:20 http://ftpmaster.internal/ubuntu resolute/main arm64 autopoint all 0.23.1-2build2 [619 kB] 131s Get:21 http://ftpmaster.internal/ubuntu resolute/main arm64 binutils-gold-aarch64-linux-gnu arm64 2.44-3 [2138 kB] 131s Get:22 http://ftpmaster.internal/ubuntu resolute/main arm64 binutils-gold arm64 2.44-3 [2172 B] 131s Get:23 http://ftpmaster.internal/ubuntu resolute/main arm64 libisl23 arm64 0.27-1 [676 kB] 131s Get:24 http://ftpmaster.internal/ubuntu resolute/main arm64 libmpc3 arm64 1.3.1-1build3 [58.9 kB] 131s Get:25 http://ftpmaster.internal/ubuntu resolute/main arm64 cpp-15-aarch64-linux-gnu arm64 15.2.0-5ubuntu1 [11.7 MB] 132s Get:26 http://ftpmaster.internal/ubuntu resolute/main arm64 cpp-15 arm64 15.2.0-5ubuntu1 [1028 B] 132s Get:27 http://ftpmaster.internal/ubuntu resolute/main arm64 cpp-aarch64-linux-gnu arm64 4:15.2.0-4ubuntu1 [5736 B] 132s Get:28 http://ftpmaster.internal/ubuntu resolute/main arm64 cpp arm64 4:15.2.0-4ubuntu1 [22.4 kB] 132s Get:29 http://ftpmaster.internal/ubuntu resolute/main arm64 libcc1-0 arm64 15.2.0-5ubuntu1 [49.2 kB] 132s Get:30 http://ftpmaster.internal/ubuntu resolute/main arm64 libgomp1 arm64 15.2.0-5ubuntu1 [148 kB] 132s Get:31 http://ftpmaster.internal/ubuntu resolute/main arm64 libitm1 arm64 15.2.0-5ubuntu1 [28.1 kB] 132s Get:32 http://ftpmaster.internal/ubuntu resolute/main arm64 libasan8 arm64 15.2.0-5ubuntu1 [2922 kB] 132s Get:33 http://ftpmaster.internal/ubuntu resolute/main arm64 liblsan0 arm64 15.2.0-5ubuntu1 [1316 kB] 132s Get:34 http://ftpmaster.internal/ubuntu resolute/main arm64 libtsan2 arm64 15.2.0-5ubuntu1 [2689 kB] 132s Get:35 http://ftpmaster.internal/ubuntu resolute/main arm64 libubsan1 arm64 15.2.0-5ubuntu1 [1176 kB] 132s Get:36 http://ftpmaster.internal/ubuntu resolute/main arm64 libhwasan0 arm64 15.2.0-5ubuntu1 [1639 kB] 132s Get:37 http://ftpmaster.internal/ubuntu resolute/main arm64 libgcc-15-dev arm64 15.2.0-5ubuntu1 [2601 kB] 132s Get:38 http://ftpmaster.internal/ubuntu resolute/main arm64 gcc-15-aarch64-linux-gnu arm64 15.2.0-5ubuntu1 [23.1 MB] 136s Get:39 http://ftpmaster.internal/ubuntu resolute/main arm64 gcc-15 arm64 15.2.0-5ubuntu1 [512 kB] 136s Get:40 http://ftpmaster.internal/ubuntu resolute/main arm64 gcc-aarch64-linux-gnu arm64 4:15.2.0-4ubuntu1 [1206 B] 136s Get:41 http://ftpmaster.internal/ubuntu resolute/main arm64 gcc arm64 4:15.2.0-4ubuntu1 [5016 B] 136s Get:42 http://ftpmaster.internal/ubuntu resolute/main arm64 libstdc++-15-dev arm64 15.2.0-5ubuntu1 [2545 kB] 136s Get:43 http://ftpmaster.internal/ubuntu resolute/main arm64 g++-15-aarch64-linux-gnu arm64 15.2.0-5ubuntu1 [13.2 MB] 137s Get:44 http://ftpmaster.internal/ubuntu resolute/main arm64 g++-15 arm64 15.2.0-5ubuntu1 [23.7 kB] 137s Get:45 http://ftpmaster.internal/ubuntu resolute/main arm64 g++-aarch64-linux-gnu arm64 4:15.2.0-4ubuntu1 [956 B] 137s Get:46 http://ftpmaster.internal/ubuntu resolute/main arm64 g++ arm64 4:15.2.0-4ubuntu1 [1080 B] 137s Get:47 http://ftpmaster.internal/ubuntu resolute/main arm64 build-essential arm64 12.12ubuntu1 [5082 B] 137s Get:48 http://ftpmaster.internal/ubuntu resolute/main arm64 libdebhelper-perl all 13.24.2ubuntu1 [95.7 kB] 137s Get:49 http://ftpmaster.internal/ubuntu resolute/main arm64 libtool all 2.5.4-4build1 [169 kB] 137s Get:50 http://ftpmaster.internal/ubuntu resolute/main arm64 dh-autoreconf all 21 [12.5 kB] 137s Get:51 http://ftpmaster.internal/ubuntu resolute/main arm64 libarchive-zip-perl all 1.68-1 [90.2 kB] 137s Get:52 http://ftpmaster.internal/ubuntu resolute/main arm64 libfile-stripnondeterminism-perl all 1.14.2-1 [20.4 kB] 137s Get:53 http://ftpmaster.internal/ubuntu resolute/main arm64 dh-strip-nondeterminism all 1.14.2-1 [5098 B] 137s Get:54 http://ftpmaster.internal/ubuntu resolute/main arm64 debugedit arm64 1:5.2-3 [49.1 kB] 137s Get:55 http://ftpmaster.internal/ubuntu resolute/main arm64 dwz arm64 0.16-2 [113 kB] 137s Get:56 http://ftpmaster.internal/ubuntu resolute/main arm64 gettext arm64 0.23.1-2build2 [1026 kB] 137s Get:57 http://ftpmaster.internal/ubuntu resolute/main arm64 intltool-debian all 0.35.0+20060710.6 [23.2 kB] 137s Get:58 http://ftpmaster.internal/ubuntu resolute/main arm64 po-debconf all 1.0.21+nmu1 [233 kB] 137s Get:59 http://ftpmaster.internal/ubuntu resolute/main arm64 debhelper all 13.24.2ubuntu1 [896 kB] 137s Get:60 http://ftpmaster.internal/ubuntu resolute/universe arm64 dh-apport all 2.33.1-0ubuntu3 [20.2 kB] 137s Get:61 http://ftpmaster.internal/ubuntu resolute/main arm64 native-architecture all 0.2.6 [2140 B] 137s Get:62 http://ftpmaster.internal/ubuntu resolute/main arm64 libgirepository-2.0-0 arm64 2.86.0-2 [73.4 kB] 137s Get:63 http://ftpmaster.internal/ubuntu resolute/main arm64 girepository-tools arm64 2.86.0-2 [104 kB] 137s Get:64 http://ftpmaster.internal/ubuntu resolute/main arm64 golang-1.25-src all 1.25.0-0ubuntu1 [23.0 MB] 139s Get:65 http://ftpmaster.internal/ubuntu resolute/main arm64 golang-1.25-go arm64 1.25.0-0ubuntu1 [16.0 MB] 139s Get:66 http://ftpmaster.internal/ubuntu resolute/main arm64 golang-src all 2:1.25~1 [5206 B] 139s Get:67 http://ftpmaster.internal/ubuntu resolute/main arm64 golang-go arm64 2:1.25~1 [44.1 kB] 139s Get:68 http://ftpmaster.internal/ubuntu resolute/main arm64 comerr-dev arm64 2.1-1.47.2-3ubuntu2 [45.6 kB] 139s Get:69 http://ftpmaster.internal/ubuntu resolute/main arm64 libgssrpc4t64 arm64 1.21.3-5ubuntu2 [57.9 kB] 139s Get:70 http://ftpmaster.internal/ubuntu resolute/main arm64 libkadm5clnt-mit12 arm64 1.21.3-5ubuntu2 [39.7 kB] 139s Get:71 http://ftpmaster.internal/ubuntu resolute/main arm64 libkdb5-10t64 arm64 1.21.3-5ubuntu2 [40.9 kB] 139s Get:72 http://ftpmaster.internal/ubuntu resolute/main arm64 libkadm5srv-mit12 arm64 1.21.3-5ubuntu2 [54.2 kB] 139s Get:73 http://ftpmaster.internal/ubuntu resolute/main arm64 krb5-multidev arm64 1.21.3-5ubuntu2 [125 kB] 139s Get:74 http://ftpmaster.internal/ubuntu resolute/main arm64 libcap-dev arm64 1:2.75-7ubuntu2 [542 kB] 139s Get:75 http://ftpmaster.internal/ubuntu resolute/main arm64 libsystemd-dev arm64 257.9-0ubuntu2 [1451 kB] 139s Get:76 http://ftpmaster.internal/ubuntu resolute/main arm64 libpkgconf3 arm64 1.8.1-4build1 [33.7 kB] 139s Get:77 http://ftpmaster.internal/ubuntu resolute/main arm64 pkgconf-bin arm64 1.8.1-4build1 [21.7 kB] 139s Get:78 http://ftpmaster.internal/ubuntu resolute/main arm64 pkgconf arm64 1.8.1-4build1 [16.8 kB] 139s Get:79 http://ftpmaster.internal/ubuntu resolute/main arm64 sgml-base all 1.31+nmu1 [11.0 kB] 139s Get:80 http://ftpmaster.internal/ubuntu resolute/main arm64 xml-core all 0.19 [20.3 kB] 139s Get:81 http://ftpmaster.internal/ubuntu resolute/main arm64 libdbus-1-dev arm64 1.16.2-2ubuntu2 [212 kB] 139s Get:82 http://ftpmaster.internal/ubuntu resolute/main arm64 libffi-dev arm64 3.5.2-1build1 [62.0 kB] 139s Get:83 http://ftpmaster.internal/ubuntu resolute/main arm64 uuid-dev arm64 2.41-4ubuntu4 [57.5 kB] 139s Get:84 http://ftpmaster.internal/ubuntu resolute/main arm64 libblkid-dev arm64 2.41-4ubuntu4 [260 kB] 139s Get:85 http://ftpmaster.internal/ubuntu resolute/main arm64 libsepol-dev arm64 3.8.1-1 [418 kB] 139s Get:86 http://ftpmaster.internal/ubuntu resolute/main arm64 libpcre2-16-0 arm64 10.46-1 [225 kB] 139s Get:87 http://ftpmaster.internal/ubuntu resolute/main arm64 libpcre2-32-0 arm64 10.46-1 [213 kB] 139s Get:88 http://ftpmaster.internal/ubuntu resolute/main arm64 libpcre2-posix3 arm64 10.46-1 [7300 B] 139s Get:89 http://ftpmaster.internal/ubuntu resolute/main arm64 libpcre2-dev arm64 10.46-1 [772 kB] 140s Get:90 http://ftpmaster.internal/ubuntu resolute/main arm64 libselinux1-dev arm64 3.8.1-1build1 [190 kB] 140s Get:91 http://ftpmaster.internal/ubuntu resolute/main arm64 libmount-dev arm64 2.41-4ubuntu4 [36.2 kB] 140s Get:92 http://ftpmaster.internal/ubuntu resolute/main arm64 libsysprof-capture-4-dev arm64 48.0-2 [55.1 kB] 140s Get:93 http://ftpmaster.internal/ubuntu resolute/main arm64 zlib1g-dev arm64 1:1.3.dfsg+really1.3.1-1ubuntu2 [899 kB] 140s Get:94 http://ftpmaster.internal/ubuntu resolute/main arm64 libgio-2.0-dev arm64 2.86.0-2 [1911 kB] 140s Get:95 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-packaging all 25.0-1 [52.8 kB] 140s Get:96 http://ftpmaster.internal/ubuntu resolute/main arm64 libgio-2.0-dev-bin arm64 2.86.0-2 [128 kB] 140s Get:97 http://ftpmaster.internal/ubuntu resolute/main arm64 libglib2.0-bin arm64 2.86.0-2 [97.7 kB] 140s Get:98 http://ftpmaster.internal/ubuntu resolute/main arm64 libglib2.0-dev-bin arm64 2.86.0-2 [18.2 kB] 140s Get:99 http://ftpmaster.internal/ubuntu resolute/main arm64 libglib2.0-dev arm64 2.86.0-2 [18.9 kB] 140s Get:100 http://ftpmaster.internal/ubuntu resolute/main arm64 libgpgme11t64 arm64 1.24.2-3ubuntu1 [143 kB] 140s Get:101 http://ftpmaster.internal/ubuntu resolute/main arm64 libpam0g-dev arm64 1.7.0-5ubuntu2 [58.0 kB] 140s Get:102 http://ftpmaster.internal/ubuntu resolute/main arm64 libsmbclient0 arm64 2:4.22.3+dfsg-4ubuntu2.1 [62.3 kB] 140s Get:103 http://ftpmaster.internal/ubuntu resolute/main arm64 libwbclient-dev arm64 2:4.22.3+dfsg-4ubuntu2.1 [87.1 kB] 140s Get:104 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-ldb arm64 2:2.11.0+samba4.22.3+dfsg-4ubuntu2.1 [41.5 kB] 140s Get:105 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-tdb arm64 2:1.4.13+samba4.22.3+dfsg-4ubuntu2.1 [16.4 kB] 140s Get:106 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-talloc arm64 2:2.4.3+samba4.22.3+dfsg-4ubuntu2.1 [14.5 kB] 140s Get:107 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-samba arm64 2:4.22.3+dfsg-4ubuntu2.1 [2988 kB] 142s Get:108 http://ftpmaster.internal/ubuntu resolute/main arm64 samba-dsdb-modules arm64 2:4.22.3+dfsg-4ubuntu2.1 [319 kB] 142s Get:109 http://ftpmaster.internal/ubuntu resolute/main arm64 dh-golang all 1.63 [24.9 kB] 142s Get:110 http://ftpmaster.internal/ubuntu resolute/main arm64 libkrb5-dev arm64 1.21.3-5ubuntu2 [11.9 kB] 142s Get:111 http://ftpmaster.internal/ubuntu resolute/main arm64 libsmbclient-dev arm64 2:4.22.3+dfsg-4ubuntu2.1 [40.5 kB] 142s Fetched 144 MB in 14s (10.5 MB/s) 142s Selecting previously unselected package samba-common. 143s (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 ... 83359 files and directories currently installed.) 143s Preparing to unpack .../000-samba-common_2%3a4.22.3+dfsg-4ubuntu2.1_all.deb ... 143s Unpacking samba-common (2:4.22.3+dfsg-4ubuntu2.1) ... 143s Selecting previously unselected package libavahi-common-data:arm64. 143s Preparing to unpack .../001-libavahi-common-data_0.8-16ubuntu3_arm64.deb ... 143s Unpacking libavahi-common-data:arm64 (0.8-16ubuntu3) ... 143s Selecting previously unselected package libavahi-common3:arm64. 143s Preparing to unpack .../002-libavahi-common3_0.8-16ubuntu3_arm64.deb ... 143s Unpacking libavahi-common3:arm64 (0.8-16ubuntu3) ... 143s Selecting previously unselected package libavahi-client3:arm64. 143s Preparing to unpack .../003-libavahi-client3_0.8-16ubuntu3_arm64.deb ... 143s Unpacking libavahi-client3:arm64 (0.8-16ubuntu3) ... 143s Selecting previously unselected package libcups2t64:arm64. 143s Preparing to unpack .../004-libcups2t64_2.4.12-0ubuntu3_arm64.deb ... 143s Unpacking libcups2t64:arm64 (2.4.12-0ubuntu3) ... 143s Selecting previously unselected package libicu76:arm64. 143s Preparing to unpack .../005-libicu76_76.1-4ubuntu2_arm64.deb ... 143s Unpacking libicu76:arm64 (76.1-4ubuntu2) ... 143s Selecting previously unselected package libtalloc2:arm64. 143s Preparing to unpack .../006-libtalloc2_2%3a2.4.3+samba4.22.3+dfsg-4ubuntu2.1_arm64.deb ... 143s Unpacking libtalloc2:arm64 (2:2.4.3+samba4.22.3+dfsg-4ubuntu2.1) ... 143s Selecting previously unselected package libtdb1:arm64. 143s Preparing to unpack .../007-libtdb1_2%3a1.4.13+samba4.22.3+dfsg-4ubuntu2.1_arm64.deb ... 143s Unpacking libtdb1:arm64 (2:1.4.13+samba4.22.3+dfsg-4ubuntu2.1) ... 143s Selecting previously unselected package libtevent0t64:arm64. 143s Preparing to unpack .../008-libtevent0t64_2%3a0.16.2+samba4.22.3+dfsg-4ubuntu2.1_arm64.deb ... 143s Unpacking libtevent0t64:arm64 (2:0.16.2+samba4.22.3+dfsg-4ubuntu2.1) ... 143s Selecting previously unselected package libldb2:arm64. 143s Preparing to unpack .../009-libldb2_2%3a2.11.0+samba4.22.3+dfsg-4ubuntu2.1_arm64.deb ... 143s Unpacking libldb2:arm64 (2:2.11.0+samba4.22.3+dfsg-4ubuntu2.1) ... 143s Selecting previously unselected package libwbclient0:arm64. 143s Preparing to unpack .../010-libwbclient0_2%3a4.22.3+dfsg-4ubuntu2.1_arm64.deb ... 143s Unpacking libwbclient0:arm64 (2:4.22.3+dfsg-4ubuntu2.1) ... 143s Selecting previously unselected package samba-libs:arm64. 143s Preparing to unpack .../011-samba-libs_2%3a4.22.3+dfsg-4ubuntu2.1_arm64.deb ... 143s Unpacking samba-libs:arm64 (2:4.22.3+dfsg-4ubuntu2.1) ... 143s Selecting previously unselected package samba-common-bin. 143s Preparing to unpack .../012-samba-common-bin_2%3a4.22.3+dfsg-4ubuntu2.1_arm64.deb ... 143s Unpacking samba-common-bin (2:4.22.3+dfsg-4ubuntu2.1) ... 143s Selecting previously unselected package liburing2:arm64. 143s Preparing to unpack .../013-liburing2_2.11-1_arm64.deb ... 143s Unpacking liburing2:arm64 (2.11-1) ... 143s Selecting previously unselected package samba. 143s Preparing to unpack .../014-samba_2%3a4.22.3+dfsg-4ubuntu2.1_arm64.deb ... 143s Unpacking samba (2:4.22.3+dfsg-4ubuntu2.1) ... 144s Selecting previously unselected package m4. 144s Preparing to unpack .../015-m4_1.4.19-8_arm64.deb ... 144s Unpacking m4 (1.4.19-8) ... 144s Selecting previously unselected package autoconf. 144s Preparing to unpack .../016-autoconf_2.72-3.1ubuntu1_all.deb ... 144s Unpacking autoconf (2.72-3.1ubuntu1) ... 144s Selecting previously unselected package autotools-dev. 144s Preparing to unpack .../017-autotools-dev_20240727.1_all.deb ... 144s Unpacking autotools-dev (20240727.1) ... 144s Selecting previously unselected package automake. 144s Preparing to unpack .../018-automake_1%3a1.17-4ubuntu1_all.deb ... 144s Unpacking automake (1:1.17-4ubuntu1) ... 144s Selecting previously unselected package autopoint. 144s Preparing to unpack .../019-autopoint_0.23.1-2build2_all.deb ... 144s Unpacking autopoint (0.23.1-2build2) ... 144s Selecting previously unselected package binutils-gold-aarch64-linux-gnu. 144s Preparing to unpack .../020-binutils-gold-aarch64-linux-gnu_2.44-3_arm64.deb ... 144s Unpacking binutils-gold-aarch64-linux-gnu (2.44-3) ... 144s Selecting previously unselected package binutils-gold. 144s Preparing to unpack .../021-binutils-gold_2.44-3_arm64.deb ... 144s Unpacking binutils-gold (2.44-3) ... 144s Selecting previously unselected package libisl23:arm64. 144s Preparing to unpack .../022-libisl23_0.27-1_arm64.deb ... 144s Unpacking libisl23:arm64 (0.27-1) ... 144s Selecting previously unselected package libmpc3:arm64. 144s Preparing to unpack .../023-libmpc3_1.3.1-1build3_arm64.deb ... 144s Unpacking libmpc3:arm64 (1.3.1-1build3) ... 144s Selecting previously unselected package cpp-15-aarch64-linux-gnu. 144s Preparing to unpack .../024-cpp-15-aarch64-linux-gnu_15.2.0-5ubuntu1_arm64.deb ... 144s Unpacking cpp-15-aarch64-linux-gnu (15.2.0-5ubuntu1) ... 144s Selecting previously unselected package cpp-15. 144s Preparing to unpack .../025-cpp-15_15.2.0-5ubuntu1_arm64.deb ... 144s Unpacking cpp-15 (15.2.0-5ubuntu1) ... 144s Selecting previously unselected package cpp-aarch64-linux-gnu. 144s Preparing to unpack .../026-cpp-aarch64-linux-gnu_4%3a15.2.0-4ubuntu1_arm64.deb ... 144s Unpacking cpp-aarch64-linux-gnu (4:15.2.0-4ubuntu1) ... 144s Selecting previously unselected package cpp. 144s Preparing to unpack .../027-cpp_4%3a15.2.0-4ubuntu1_arm64.deb ... 144s Unpacking cpp (4:15.2.0-4ubuntu1) ... 144s Selecting previously unselected package libcc1-0:arm64. 144s Preparing to unpack .../028-libcc1-0_15.2.0-5ubuntu1_arm64.deb ... 144s Unpacking libcc1-0:arm64 (15.2.0-5ubuntu1) ... 144s Selecting previously unselected package libgomp1:arm64. 144s Preparing to unpack .../029-libgomp1_15.2.0-5ubuntu1_arm64.deb ... 144s Unpacking libgomp1:arm64 (15.2.0-5ubuntu1) ... 144s Selecting previously unselected package libitm1:arm64. 144s Preparing to unpack .../030-libitm1_15.2.0-5ubuntu1_arm64.deb ... 144s Unpacking libitm1:arm64 (15.2.0-5ubuntu1) ... 144s Selecting previously unselected package libasan8:arm64. 144s Preparing to unpack .../031-libasan8_15.2.0-5ubuntu1_arm64.deb ... 144s Unpacking libasan8:arm64 (15.2.0-5ubuntu1) ... 144s Selecting previously unselected package liblsan0:arm64. 144s Preparing to unpack .../032-liblsan0_15.2.0-5ubuntu1_arm64.deb ... 144s Unpacking liblsan0:arm64 (15.2.0-5ubuntu1) ... 144s Selecting previously unselected package libtsan2:arm64. 145s Preparing to unpack .../033-libtsan2_15.2.0-5ubuntu1_arm64.deb ... 145s Unpacking libtsan2:arm64 (15.2.0-5ubuntu1) ... 145s Selecting previously unselected package libubsan1:arm64. 145s Preparing to unpack .../034-libubsan1_15.2.0-5ubuntu1_arm64.deb ... 145s Unpacking libubsan1:arm64 (15.2.0-5ubuntu1) ... 145s Selecting previously unselected package libhwasan0:arm64. 145s Preparing to unpack .../035-libhwasan0_15.2.0-5ubuntu1_arm64.deb ... 145s Unpacking libhwasan0:arm64 (15.2.0-5ubuntu1) ... 145s Selecting previously unselected package libgcc-15-dev:arm64. 145s Preparing to unpack .../036-libgcc-15-dev_15.2.0-5ubuntu1_arm64.deb ... 145s Unpacking libgcc-15-dev:arm64 (15.2.0-5ubuntu1) ... 145s Selecting previously unselected package gcc-15-aarch64-linux-gnu. 145s Preparing to unpack .../037-gcc-15-aarch64-linux-gnu_15.2.0-5ubuntu1_arm64.deb ... 145s Unpacking gcc-15-aarch64-linux-gnu (15.2.0-5ubuntu1) ... 145s Selecting previously unselected package gcc-15. 145s Preparing to unpack .../038-gcc-15_15.2.0-5ubuntu1_arm64.deb ... 145s Unpacking gcc-15 (15.2.0-5ubuntu1) ... 145s Selecting previously unselected package gcc-aarch64-linux-gnu. 145s Preparing to unpack .../039-gcc-aarch64-linux-gnu_4%3a15.2.0-4ubuntu1_arm64.deb ... 145s Unpacking gcc-aarch64-linux-gnu (4:15.2.0-4ubuntu1) ... 145s Selecting previously unselected package gcc. 145s Preparing to unpack .../040-gcc_4%3a15.2.0-4ubuntu1_arm64.deb ... 145s Unpacking gcc (4:15.2.0-4ubuntu1) ... 145s Selecting previously unselected package libstdc++-15-dev:arm64. 145s Preparing to unpack .../041-libstdc++-15-dev_15.2.0-5ubuntu1_arm64.deb ... 145s Unpacking libstdc++-15-dev:arm64 (15.2.0-5ubuntu1) ... 146s Selecting previously unselected package g++-15-aarch64-linux-gnu. 146s Preparing to unpack .../042-g++-15-aarch64-linux-gnu_15.2.0-5ubuntu1_arm64.deb ... 146s Unpacking g++-15-aarch64-linux-gnu (15.2.0-5ubuntu1) ... 146s Selecting previously unselected package g++-15. 146s Preparing to unpack .../043-g++-15_15.2.0-5ubuntu1_arm64.deb ... 146s Unpacking g++-15 (15.2.0-5ubuntu1) ... 146s Selecting previously unselected package g++-aarch64-linux-gnu. 146s Preparing to unpack .../044-g++-aarch64-linux-gnu_4%3a15.2.0-4ubuntu1_arm64.deb ... 146s Unpacking g++-aarch64-linux-gnu (4:15.2.0-4ubuntu1) ... 146s Selecting previously unselected package g++. 146s Preparing to unpack .../045-g++_4%3a15.2.0-4ubuntu1_arm64.deb ... 146s Unpacking g++ (4:15.2.0-4ubuntu1) ... 146s Selecting previously unselected package build-essential. 146s Preparing to unpack .../046-build-essential_12.12ubuntu1_arm64.deb ... 146s Unpacking build-essential (12.12ubuntu1) ... 146s Selecting previously unselected package libdebhelper-perl. 146s Preparing to unpack .../047-libdebhelper-perl_13.24.2ubuntu1_all.deb ... 146s Unpacking libdebhelper-perl (13.24.2ubuntu1) ... 146s Selecting previously unselected package libtool. 146s Preparing to unpack .../048-libtool_2.5.4-4build1_all.deb ... 146s Unpacking libtool (2.5.4-4build1) ... 146s Selecting previously unselected package dh-autoreconf. 146s Preparing to unpack .../049-dh-autoreconf_21_all.deb ... 146s Unpacking dh-autoreconf (21) ... 146s Selecting previously unselected package libarchive-zip-perl. 146s Preparing to unpack .../050-libarchive-zip-perl_1.68-1_all.deb ... 146s Unpacking libarchive-zip-perl (1.68-1) ... 146s Selecting previously unselected package libfile-stripnondeterminism-perl. 146s Preparing to unpack .../051-libfile-stripnondeterminism-perl_1.14.2-1_all.deb ... 146s Unpacking libfile-stripnondeterminism-perl (1.14.2-1) ... 146s Selecting previously unselected package dh-strip-nondeterminism. 146s Preparing to unpack .../052-dh-strip-nondeterminism_1.14.2-1_all.deb ... 146s Unpacking dh-strip-nondeterminism (1.14.2-1) ... 146s Selecting previously unselected package debugedit. 146s Preparing to unpack .../053-debugedit_1%3a5.2-3_arm64.deb ... 146s Unpacking debugedit (1:5.2-3) ... 146s Selecting previously unselected package dwz. 146s Preparing to unpack .../054-dwz_0.16-2_arm64.deb ... 146s Unpacking dwz (0.16-2) ... 146s Selecting previously unselected package gettext. 146s Preparing to unpack .../055-gettext_0.23.1-2build2_arm64.deb ... 146s Unpacking gettext (0.23.1-2build2) ... 146s Selecting previously unselected package intltool-debian. 146s Preparing to unpack .../056-intltool-debian_0.35.0+20060710.6_all.deb ... 146s Unpacking intltool-debian (0.35.0+20060710.6) ... 146s Selecting previously unselected package po-debconf. 146s Preparing to unpack .../057-po-debconf_1.0.21+nmu1_all.deb ... 146s Unpacking po-debconf (1.0.21+nmu1) ... 146s Selecting previously unselected package debhelper. 146s Preparing to unpack .../058-debhelper_13.24.2ubuntu1_all.deb ... 146s Unpacking debhelper (13.24.2ubuntu1) ... 147s Selecting previously unselected package dh-apport. 147s Preparing to unpack .../059-dh-apport_2.33.1-0ubuntu3_all.deb ... 147s Unpacking dh-apport (2.33.1-0ubuntu3) ... 147s Selecting previously unselected package native-architecture. 147s Preparing to unpack .../060-native-architecture_0.2.6_all.deb ... 147s Unpacking native-architecture (0.2.6) ... 147s Selecting previously unselected package libgirepository-2.0-0:arm64. 147s Preparing to unpack .../061-libgirepository-2.0-0_2.86.0-2_arm64.deb ... 147s Unpacking libgirepository-2.0-0:arm64 (2.86.0-2) ... 147s Selecting previously unselected package girepository-tools:arm64. 147s Preparing to unpack .../062-girepository-tools_2.86.0-2_arm64.deb ... 147s Unpacking girepository-tools:arm64 (2.86.0-2) ... 147s Selecting previously unselected package golang-1.25-src. 147s Preparing to unpack .../063-golang-1.25-src_1.25.0-0ubuntu1_all.deb ... 147s Unpacking golang-1.25-src (1.25.0-0ubuntu1) ... 148s Selecting previously unselected package golang-1.25-go. 148s Preparing to unpack .../064-golang-1.25-go_1.25.0-0ubuntu1_arm64.deb ... 148s Unpacking golang-1.25-go (1.25.0-0ubuntu1) ... 148s Selecting previously unselected package golang-src. 148s Preparing to unpack .../065-golang-src_2%3a1.25~1_all.deb ... 148s Unpacking golang-src (2:1.25~1) ... 148s Selecting previously unselected package golang-go:arm64. 148s Preparing to unpack .../066-golang-go_2%3a1.25~1_arm64.deb ... 148s Unpacking golang-go:arm64 (2:1.25~1) ... 148s Selecting previously unselected package comerr-dev:arm64. 148s Preparing to unpack .../067-comerr-dev_2.1-1.47.2-3ubuntu2_arm64.deb ... 148s Unpacking comerr-dev:arm64 (2.1-1.47.2-3ubuntu2) ... 149s Selecting previously unselected package libgssrpc4t64:arm64. 149s Preparing to unpack .../068-libgssrpc4t64_1.21.3-5ubuntu2_arm64.deb ... 149s Unpacking libgssrpc4t64:arm64 (1.21.3-5ubuntu2) ... 149s Selecting previously unselected package libkadm5clnt-mit12:arm64. 149s Preparing to unpack .../069-libkadm5clnt-mit12_1.21.3-5ubuntu2_arm64.deb ... 149s Unpacking libkadm5clnt-mit12:arm64 (1.21.3-5ubuntu2) ... 149s Selecting previously unselected package libkdb5-10t64:arm64. 149s Preparing to unpack .../070-libkdb5-10t64_1.21.3-5ubuntu2_arm64.deb ... 149s Unpacking libkdb5-10t64:arm64 (1.21.3-5ubuntu2) ... 149s Selecting previously unselected package libkadm5srv-mit12:arm64. 149s Preparing to unpack .../071-libkadm5srv-mit12_1.21.3-5ubuntu2_arm64.deb ... 149s Unpacking libkadm5srv-mit12:arm64 (1.21.3-5ubuntu2) ... 149s Selecting previously unselected package krb5-multidev:arm64. 149s Preparing to unpack .../072-krb5-multidev_1.21.3-5ubuntu2_arm64.deb ... 149s Unpacking krb5-multidev:arm64 (1.21.3-5ubuntu2) ... 149s Selecting previously unselected package libcap-dev:arm64. 149s Preparing to unpack .../073-libcap-dev_1%3a2.75-7ubuntu2_arm64.deb ... 149s Unpacking libcap-dev:arm64 (1:2.75-7ubuntu2) ... 149s Selecting previously unselected package libsystemd-dev:arm64. 149s Preparing to unpack .../074-libsystemd-dev_257.9-0ubuntu2_arm64.deb ... 149s Unpacking libsystemd-dev:arm64 (257.9-0ubuntu2) ... 149s Selecting previously unselected package libpkgconf3:arm64. 149s Preparing to unpack .../075-libpkgconf3_1.8.1-4build1_arm64.deb ... 149s Unpacking libpkgconf3:arm64 (1.8.1-4build1) ... 149s Selecting previously unselected package pkgconf-bin. 149s Preparing to unpack .../076-pkgconf-bin_1.8.1-4build1_arm64.deb ... 149s Unpacking pkgconf-bin (1.8.1-4build1) ... 149s Selecting previously unselected package pkgconf:arm64. 149s Preparing to unpack .../077-pkgconf_1.8.1-4build1_arm64.deb ... 149s Unpacking pkgconf:arm64 (1.8.1-4build1) ... 149s Selecting previously unselected package sgml-base. 149s Preparing to unpack .../078-sgml-base_1.31+nmu1_all.deb ... 149s Unpacking sgml-base (1.31+nmu1) ... 149s Selecting previously unselected package xml-core. 149s Preparing to unpack .../079-xml-core_0.19_all.deb ... 149s Unpacking xml-core (0.19) ... 149s Selecting previously unselected package libdbus-1-dev:arm64. 149s Preparing to unpack .../080-libdbus-1-dev_1.16.2-2ubuntu2_arm64.deb ... 149s Unpacking libdbus-1-dev:arm64 (1.16.2-2ubuntu2) ... 149s Selecting previously unselected package libffi-dev:arm64. 149s Preparing to unpack .../081-libffi-dev_3.5.2-1build1_arm64.deb ... 149s Unpacking libffi-dev:arm64 (3.5.2-1build1) ... 149s Selecting previously unselected package uuid-dev:arm64. 149s Preparing to unpack .../082-uuid-dev_2.41-4ubuntu4_arm64.deb ... 149s Unpacking uuid-dev:arm64 (2.41-4ubuntu4) ... 149s Selecting previously unselected package libblkid-dev:arm64. 149s Preparing to unpack .../083-libblkid-dev_2.41-4ubuntu4_arm64.deb ... 149s Unpacking libblkid-dev:arm64 (2.41-4ubuntu4) ... 149s Selecting previously unselected package libsepol-dev:arm64. 149s Preparing to unpack .../084-libsepol-dev_3.8.1-1_arm64.deb ... 149s Unpacking libsepol-dev:arm64 (3.8.1-1) ... 149s Selecting previously unselected package libpcre2-16-0:arm64. 149s Preparing to unpack .../085-libpcre2-16-0_10.46-1_arm64.deb ... 149s Unpacking libpcre2-16-0:arm64 (10.46-1) ... 149s Selecting previously unselected package libpcre2-32-0:arm64. 149s Preparing to unpack .../086-libpcre2-32-0_10.46-1_arm64.deb ... 149s Unpacking libpcre2-32-0:arm64 (10.46-1) ... 149s Selecting previously unselected package libpcre2-posix3:arm64. 150s Preparing to unpack .../087-libpcre2-posix3_10.46-1_arm64.deb ... 150s Unpacking libpcre2-posix3:arm64 (10.46-1) ... 150s Selecting previously unselected package libpcre2-dev:arm64. 150s Preparing to unpack .../088-libpcre2-dev_10.46-1_arm64.deb ... 150s Unpacking libpcre2-dev:arm64 (10.46-1) ... 150s Selecting previously unselected package libselinux1-dev:arm64. 150s Preparing to unpack .../089-libselinux1-dev_3.8.1-1build1_arm64.deb ... 150s Unpacking libselinux1-dev:arm64 (3.8.1-1build1) ... 150s Selecting previously unselected package libmount-dev:arm64. 150s Preparing to unpack .../090-libmount-dev_2.41-4ubuntu4_arm64.deb ... 150s Unpacking libmount-dev:arm64 (2.41-4ubuntu4) ... 150s Selecting previously unselected package libsysprof-capture-4-dev:arm64. 150s Preparing to unpack .../091-libsysprof-capture-4-dev_48.0-2_arm64.deb ... 150s Unpacking libsysprof-capture-4-dev:arm64 (48.0-2) ... 150s Selecting previously unselected package zlib1g-dev:arm64. 150s Preparing to unpack .../092-zlib1g-dev_1%3a1.3.dfsg+really1.3.1-1ubuntu2_arm64.deb ... 150s Unpacking zlib1g-dev:arm64 (1:1.3.dfsg+really1.3.1-1ubuntu2) ... 150s Selecting previously unselected package libgio-2.0-dev:arm64. 150s Preparing to unpack .../093-libgio-2.0-dev_2.86.0-2_arm64.deb ... 150s Unpacking libgio-2.0-dev:arm64 (2.86.0-2) ... 150s Selecting previously unselected package python3-packaging. 150s Preparing to unpack .../094-python3-packaging_25.0-1_all.deb ... 150s Unpacking python3-packaging (25.0-1) ... 150s Selecting previously unselected package libgio-2.0-dev-bin. 150s Preparing to unpack .../095-libgio-2.0-dev-bin_2.86.0-2_arm64.deb ... 150s Unpacking libgio-2.0-dev-bin (2.86.0-2) ... 150s Selecting previously unselected package libglib2.0-bin. 150s Preparing to unpack .../096-libglib2.0-bin_2.86.0-2_arm64.deb ... 150s Unpacking libglib2.0-bin (2.86.0-2) ... 150s Selecting previously unselected package libglib2.0-dev-bin. 150s Preparing to unpack .../097-libglib2.0-dev-bin_2.86.0-2_arm64.deb ... 150s Unpacking libglib2.0-dev-bin (2.86.0-2) ... 150s Selecting previously unselected package libglib2.0-dev:arm64. 150s Preparing to unpack .../098-libglib2.0-dev_2.86.0-2_arm64.deb ... 150s Unpacking libglib2.0-dev:arm64 (2.86.0-2) ... 150s Selecting previously unselected package libgpgme11t64:arm64. 150s Preparing to unpack .../099-libgpgme11t64_1.24.2-3ubuntu1_arm64.deb ... 150s Unpacking libgpgme11t64:arm64 (1.24.2-3ubuntu1) ... 150s Selecting previously unselected package libpam0g-dev:arm64. 150s Preparing to unpack .../100-libpam0g-dev_1.7.0-5ubuntu2_arm64.deb ... 150s Unpacking libpam0g-dev:arm64 (1.7.0-5ubuntu2) ... 150s Selecting previously unselected package libsmbclient0:arm64. 150s Preparing to unpack .../101-libsmbclient0_2%3a4.22.3+dfsg-4ubuntu2.1_arm64.deb ... 150s Unpacking libsmbclient0:arm64 (2:4.22.3+dfsg-4ubuntu2.1) ... 150s Selecting previously unselected package libwbclient-dev:arm64. 150s Preparing to unpack .../102-libwbclient-dev_2%3a4.22.3+dfsg-4ubuntu2.1_arm64.deb ... 150s Unpacking libwbclient-dev:arm64 (2:4.22.3+dfsg-4ubuntu2.1) ... 150s Selecting previously unselected package python3-ldb. 150s Preparing to unpack .../103-python3-ldb_2%3a2.11.0+samba4.22.3+dfsg-4ubuntu2.1_arm64.deb ... 150s Unpacking python3-ldb (2:2.11.0+samba4.22.3+dfsg-4ubuntu2.1) ... 150s Selecting previously unselected package python3-tdb. 150s Preparing to unpack .../104-python3-tdb_2%3a1.4.13+samba4.22.3+dfsg-4ubuntu2.1_arm64.deb ... 150s Unpacking python3-tdb (2:1.4.13+samba4.22.3+dfsg-4ubuntu2.1) ... 150s Selecting previously unselected package python3-talloc:arm64. 150s Preparing to unpack .../105-python3-talloc_2%3a2.4.3+samba4.22.3+dfsg-4ubuntu2.1_arm64.deb ... 150s Unpacking python3-talloc:arm64 (2:2.4.3+samba4.22.3+dfsg-4ubuntu2.1) ... 150s Selecting previously unselected package python3-samba. 150s Preparing to unpack .../106-python3-samba_2%3a4.22.3+dfsg-4ubuntu2.1_arm64.deb ... 150s Unpacking python3-samba (2:4.22.3+dfsg-4ubuntu2.1) ... 150s Selecting previously unselected package samba-dsdb-modules:arm64. 151s Preparing to unpack .../107-samba-dsdb-modules_2%3a4.22.3+dfsg-4ubuntu2.1_arm64.deb ... 151s Unpacking samba-dsdb-modules:arm64 (2:4.22.3+dfsg-4ubuntu2.1) ... 151s Selecting previously unselected package dh-golang. 151s Preparing to unpack .../108-dh-golang_1.63_all.deb ... 151s Unpacking dh-golang (1.63) ... 151s Selecting previously unselected package libkrb5-dev:arm64. 151s Preparing to unpack .../109-libkrb5-dev_1.21.3-5ubuntu2_arm64.deb ... 151s Unpacking libkrb5-dev:arm64 (1.21.3-5ubuntu2) ... 151s Selecting previously unselected package libsmbclient-dev:arm64. 151s Preparing to unpack .../110-libsmbclient-dev_2%3a4.22.3+dfsg-4ubuntu2.1_arm64.deb ... 151s Unpacking libsmbclient-dev:arm64 (2:4.22.3+dfsg-4ubuntu2.1) ... 151s Setting up native-architecture (0.2.6) ... 151s Setting up libpam0g-dev:arm64 (1.7.0-5ubuntu2) ... 151s Setting up libgirepository-2.0-0:arm64 (2.86.0-2) ... 151s Setting up libarchive-zip-perl (1.68-1) ... 151s Setting up libtdb1:arm64 (2:1.4.13+samba4.22.3+dfsg-4ubuntu2.1) ... 151s Setting up libdebhelper-perl (13.24.2ubuntu1) ... 151s Setting up libglib2.0-bin (2.86.0-2) ... 151s Setting up m4 (1.4.19-8) ... 151s Setting up binutils-gold-aarch64-linux-gnu (2.44-3) ... 151s Setting up samba-common (2:4.22.3+dfsg-4ubuntu2.1) ... 151s Creating config file /etc/samba/smb.conf with new version 151s Setting up libgomp1:arm64 (15.2.0-5ubuntu1) ... 151s Setting up libffi-dev:arm64 (3.5.2-1build1) ... 151s Setting up dh-apport (2.33.1-0ubuntu3) ... 151s Setting up libwbclient0:arm64 (2:4.22.3+dfsg-4ubuntu2.1) ... 151s Setting up libwbclient-dev:arm64 (2:4.22.3+dfsg-4ubuntu2.1) ... 151s Setting up libpcre2-16-0:arm64 (10.46-1) ... 151s Setting up libtalloc2:arm64 (2:2.4.3+samba4.22.3+dfsg-4ubuntu2.1) ... 151s Setting up libsysprof-capture-4-dev:arm64 (48.0-2) ... 151s Setting up python3-tdb (2:1.4.13+samba4.22.3+dfsg-4ubuntu2.1) ... 151s Setting up autotools-dev (20240727.1) ... 151s Setting up libpcre2-32-0:arm64 (10.46-1) ... 151s Setting up python3-packaging (25.0-1) ... 151s Setting up libpkgconf3:arm64 (1.8.1-4build1) ... 151s Setting up libgssrpc4t64:arm64 (1.21.3-5ubuntu2) ... 151s Setting up uuid-dev:arm64 (2.41-4ubuntu4) ... 151s Setting up libavahi-common-data:arm64 (0.8-16ubuntu3) ... 151s Setting up comerr-dev:arm64 (2.1-1.47.2-3ubuntu2) ... 151s Setting up libmpc3:arm64 (1.3.1-1build3) ... 151s Setting up autopoint (0.23.1-2build2) ... 151s Setting up libsepol-dev:arm64 (3.8.1-1) ... 151s Setting up pkgconf-bin (1.8.1-4build1) ... 151s Setting up autoconf (2.72-3.1ubuntu1) ... 151s Setting up libubsan1:arm64 (15.2.0-5ubuntu1) ... 151s Setting up zlib1g-dev:arm64 (1:1.3.dfsg+really1.3.1-1ubuntu2) ... 151s Setting up libpcre2-posix3:arm64 (10.46-1) ... 151s Setting up dwz (0.16-2) ... 151s Setting up golang-1.25-src (1.25.0-0ubuntu1) ... 151s Setting up libhwasan0:arm64 (15.2.0-5ubuntu1) ... 151s Setting up libasan8:arm64 (15.2.0-5ubuntu1) ... 151s Setting up debugedit (1:5.2-3) ... 151s Setting up sgml-base (1.31+nmu1) ... 151s Setting up libgpgme11t64:arm64 (1.24.2-3ubuntu1) ... 151s Setting up libicu76:arm64 (76.1-4ubuntu2) ... 151s Setting up libtsan2:arm64 (15.2.0-5ubuntu1) ... 151s Setting up liburing2:arm64 (2.11-1) ... 151s Setting up libisl23:arm64 (0.27-1) ... 151s Setting up golang-src (2:1.25~1) ... 151s Setting up libcap-dev:arm64 (1:2.75-7ubuntu2) ... 151s Setting up libcc1-0:arm64 (15.2.0-5ubuntu1) ... 151s Setting up libsystemd-dev:arm64 (257.9-0ubuntu2) ... 151s Setting up liblsan0:arm64 (15.2.0-5ubuntu1) ... 151s Setting up libtevent0t64:arm64 (2:0.16.2+samba4.22.3+dfsg-4ubuntu2.1) ... 151s Setting up libitm1:arm64 (15.2.0-5ubuntu1) ... 151s Setting up libkadm5clnt-mit12:arm64 (1.21.3-5ubuntu2) ... 151s Setting up automake (1:1.17-4ubuntu1) ... 151s update-alternatives: using /usr/bin/automake-1.17 to provide /usr/bin/automake (automake) in auto mode 151s Setting up libfile-stripnondeterminism-perl (1.14.2-1) ... 151s Setting up libblkid-dev:arm64 (2.41-4ubuntu4) ... 151s Setting up cpp-15-aarch64-linux-gnu (15.2.0-5ubuntu1) ... 151s Setting up libgio-2.0-dev-bin (2.86.0-2) ... 152s Setting up gettext (0.23.1-2build2) ... 152s Setting up girepository-tools:arm64 (2.86.0-2) ... 152s Setting up libgcc-15-dev:arm64 (15.2.0-5ubuntu1) ... 152s Setting up libpcre2-dev:arm64 (10.46-1) ... 152s Setting up libkdb5-10t64:arm64 (1.21.3-5ubuntu2) ... 152s Setting up python3-talloc:arm64 (2:2.4.3+samba4.22.3+dfsg-4ubuntu2.1) ... 152s Setting up libselinux1-dev:arm64 (3.8.1-1build1) ... 152s Setting up binutils-gold (2.44-3) ... 152s Setting up libavahi-common3:arm64 (0.8-16ubuntu3) ... 152s Setting up pkgconf:arm64 (1.8.1-4build1) ... 152s Setting up intltool-debian (0.35.0+20060710.6) ... 152s Setting up cpp-aarch64-linux-gnu (4:15.2.0-4ubuntu1) ... 152s Setting up libstdc++-15-dev:arm64 (15.2.0-5ubuntu1) ... 152s Setting up dh-strip-nondeterminism (1.14.2-1) ... 152s Setting up cpp-15 (15.2.0-5ubuntu1) ... 152s Setting up cpp (4:15.2.0-4ubuntu1) ... 152s Setting up xml-core (0.19) ... 152s Setting up libkadm5srv-mit12:arm64 (1.21.3-5ubuntu2) ... 152s Setting up libldb2:arm64 (2:2.11.0+samba4.22.3+dfsg-4ubuntu2.1) ... 152s Setting up libavahi-client3:arm64 (0.8-16ubuntu3) ... 152s Setting up libmount-dev:arm64 (2.41-4ubuntu4) ... 152s Setting up krb5-multidev:arm64 (1.21.3-5ubuntu2) ... 152s Setting up libglib2.0-dev-bin (2.86.0-2) ... 152s Setting up golang-1.25-go (1.25.0-0ubuntu1) ... 152s Setting up libgio-2.0-dev:arm64 (2.86.0-2) ... 152s Setting up gcc-15-aarch64-linux-gnu (15.2.0-5ubuntu1) ... 152s Setting up golang-go:arm64 (2:1.25~1) ... 152s Setting up po-debconf (1.0.21+nmu1) ... 152s Setting up samba-libs:arm64 (2:4.22.3+dfsg-4ubuntu2.1) ... 152s Setting up libkrb5-dev:arm64 (1.21.3-5ubuntu2) ... 152s Setting up gcc-15 (15.2.0-5ubuntu1) ... 152s Setting up g++-15-aarch64-linux-gnu (15.2.0-5ubuntu1) ... 152s Setting up python3-ldb (2:2.11.0+samba4.22.3+dfsg-4ubuntu2.1) ... 152s Setting up samba-dsdb-modules:arm64 (2:4.22.3+dfsg-4ubuntu2.1) ... 152s Setting up libsmbclient0:arm64 (2:4.22.3+dfsg-4ubuntu2.1) ... 152s Setting up g++-15 (15.2.0-5ubuntu1) ... 152s Setting up libcups2t64:arm64 (2.4.12-0ubuntu3) ... 152s Setting up python3-samba (2:4.22.3+dfsg-4ubuntu2.1) ... 153s Setting up gcc-aarch64-linux-gnu (4:15.2.0-4ubuntu1) ... 153s Setting up libtool (2.5.4-4build1) ... 153s Setting up gcc (4:15.2.0-4ubuntu1) ... 153s Setting up dh-autoreconf (21) ... 153s Setting up libsmbclient-dev:arm64 (2:4.22.3+dfsg-4ubuntu2.1) ... 153s Setting up samba-common-bin (2:4.22.3+dfsg-4ubuntu2.1) ... 153s Setting up g++-aarch64-linux-gnu (4:15.2.0-4ubuntu1) ... 153s Setting up samba (2:4.22.3+dfsg-4ubuntu2.1) ... 153s Created symlink '/etc/systemd/system/smb.service' → '/usr/lib/systemd/system/smbd.service'. 153s Created symlink '/etc/systemd/system/multi-user.target.wants/smbd.service' → '/usr/lib/systemd/system/smbd.service'. 154s Created symlink '/etc/systemd/system/nmb.service' → '/usr/lib/systemd/system/nmbd.service'. 154s Created symlink '/etc/systemd/system/multi-user.target.wants/nmbd.service' → '/usr/lib/systemd/system/nmbd.service'. 154s Setting up debhelper (13.24.2ubuntu1) ... 154s Setting up g++ (4:15.2.0-4ubuntu1) ... 154s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 154s Setting up build-essential (12.12ubuntu1) ... 154s Setting up dh-golang (1.63) ... 154s Processing triggers for install-info (7.1.1-1ubuntu1) ... 154s Processing triggers for libc-bin (2.42-0ubuntu3) ... 155s Processing triggers for ufw (0.36.2-9) ... 155s Processing triggers for man-db (2.13.1-1) ... 156s Processing triggers for libglib2.0-0t64:arm64 (2.86.0-2) ... 156s No schema files found: doing nothing. 156s Setting up libglib2.0-dev:arm64 (2.86.0-2) ... 156s Processing triggers for sgml-base (1.31+nmu1) ... 156s Setting up libdbus-1-dev:arm64 (1.16.2-2ubuntu2) ... 157s autopkgtest [14:41:55]: test command1: ./debian/tests/test no-sudo 157s autopkgtest [14:41:55]: test command1: [----------------------- 158s Running non-root tests... 192s ? github.com/ubuntu/adsys [no test files] 203s === RUN TestRun 203s === RUN TestRun/Run_and_usage_error_only_does_not_fail 203s === RUN TestRun/Run_and_exit_successfully 203s === RUN TestRun/Run_and_return_error 203s level=error msg="Error requested" 203s === RUN TestRun/Run_and_return_usage_error 203s level=error msg="Error requested" 203s --- PASS: TestRun (0.00s) 203s --- PASS: TestRun/Run_and_usage_error_only_does_not_fail (0.00s) 203s --- PASS: TestRun/Run_and_exit_successfully (0.00s) 203s --- PASS: TestRun/Run_and_return_error (0.00s) 203s --- PASS: TestRun/Run_and_return_usage_error (0.00s) 203s === RUN TestMainApp 203s --- PASS: TestMainApp (0.01s) 203s === RUN TestAppUsage 203s === RUN TestAppUsage/Expand_with_correct_arguments 203s === RUN TestAppUsage/Admx_with_correct_arguments 203s === RUN TestAppUsage/Doc_with_correct_arguments 203s === RUN TestAppUsage/Error_when_command_is_called_with_wrong_arguments 203s --- PASS: TestAppUsage (0.03s) 203s --- PASS: TestAppUsage/Expand_with_correct_arguments (0.01s) 203s --- PASS: TestAppUsage/Admx_with_correct_arguments (0.01s) 203s --- PASS: TestAppUsage/Doc_with_correct_arguments (0.01s) 203s --- PASS: TestAppUsage/Error_when_command_is_called_with_wrong_arguments (0.01s) 203s PASS 203s ok github.com/ubuntu/adsys/cmd/admxgen 0.085s 203s ? github.com/ubuntu/adsys/cmd/admxgen/commands [no test files] 221s === RUN TestRun 221s === RUN TestRun/Run_and_return_error 221s level=error msg="Error requested" 221s === RUN TestRun/Run_and_return_usage_error 221s level=error msg="Error requested" 221s === RUN TestRun/Run_and_usage_error_only_does_not_fail 221s === RUN TestRun/Send_SIGINT_exits 221s === RUN TestRun/Send_SIGTERM_exits 221s === RUN TestRun/Send_SIGHUP_without_exiting 221s === RUN TestRun/Send_SIGHUP_with_exit 221s === RUN TestRun/Run_and_exit_successfully 221s --- PASS: TestRun (0.86s) 221s --- PASS: TestRun/Run_and_return_error (0.10s) 221s --- PASS: TestRun/Run_and_return_usage_error (0.10s) 221s --- PASS: TestRun/Run_and_usage_error_only_does_not_fail (0.10s) 221s --- PASS: TestRun/Send_SIGINT_exits (0.10s) 221s --- PASS: TestRun/Send_SIGTERM_exits (0.10s) 221s --- PASS: TestRun/Send_SIGHUP_without_exiting (0.15s) 221s --- PASS: TestRun/Send_SIGHUP_with_exit (0.10s) 221s --- PASS: TestRun/Run_and_exit_successfully (0.10s) 221s === RUN TestMainApp 221s --- PASS: TestMainApp (0.95s) 221s PASS 221s ok github.com/ubuntu/adsys/cmd/adsysd 1.929s 222s === RUN TestColorizePolicies 222s --- PASS: TestColorizePolicies (0.00s) 222s === RUN TestInitApp 222s === PAUSE TestInitApp 222s === RUN TestAppHelp 222s === PAUSE TestAppHelp 222s === RUN TestAppCompletion 222s === PAUSE TestAppCompletion 222s === RUN TestAppNoUsageError 222s === PAUSE TestAppNoUsageError 222s === RUN TestAppUsageError 222s === PAUSE TestAppUsageError 222s === RUN TestAppUsageErrorReportsSuggestions 222s Usage: 222s adsysctl COMMAND [flags] 222s adsysctl [command] 222s 222s Available Commands: 222s applied Print last applied GPOs for current or given user/machine 222s completion Generate the autocompletion script for the specified shell 222s doc Documentation 222s help Help about any command 222s policy Policy management 222s service Service management 222s update Updates/Create a policy for current user or given user with its kerberos ticket 222s version Returns version of client and service 222s 222s Flags: 222s -c, --config string use a specific configuration file 222s -h, --help help for adsysctl 222s -s, --socket string socket path to use between daemon and client. Can be overridden by systemd socket activation. (default "/run/adsysd.sock") 222s -t, --timeout int time in seconds before cancelling the client request when the server gives no result. 0 for no timeout. (default 30) 222s -v, --verbose count issue INFO (-v), DEBUG (-vv) or DEBUG with caller (-vvv) output 222s 222s Use "adsysctl [command] --help" for more information about a command. 222s 222s --- PASS: TestAppUsageErrorReportsSuggestions (0.00s) 222s === RUN TestAppCanQuitWhenExecute 222s === PAUSE TestAppCanQuitWhenExecute 222s === RUN TestAppCanQuitAfterExecute 222s === PAUSE TestAppCanQuitAfterExecute 222s === RUN TestAppCanQuitWithoutExecute 222s === PAUSE TestAppCanQuitWithoutExecute 222s === RUN TestAppCanSigHupWhenExecute 222s === PAUSE TestAppCanSigHupWhenExecute 222s === RUN TestAppCanSigHupAfterExecute 222s === PAUSE TestAppCanSigHupAfterExecute 222s === RUN TestAppGetRootCmd 222s === PAUSE TestAppGetRootCmd 222s === CONT TestInitApp 222s === CONT TestAppCanQuitAfterExecute 222s Usage: 222s adsysctl COMMAND [flags] 222s adsysctl [command] 222s 222s Available Commands: 222s applied Print last applied GPOs for current or given user/machine 222s completion Generate the autocompletion script for the specified shell 222s doc Documentation 222s help Help about any command 222s policy Policy management 222s service Service management 222s update Updates/Create a policy for current user or given user with its kerberos ticket 222s version Returns version of client and service 222s 222s Flags: 222s -c, --config string use a specific configuration file 222s -h, --help help for adsysctl 222s -s, --socket string socket path to use between daemon and client. Can be overridden by systemd socket activation. (default "/run/adsysd.sock") 222s -t, --timeout int time in seconds before cancelling the client request when the server gives no result. 0 for no timeout. (default 30) 222s -v, --verbose count issue INFO (-v), DEBUG (-vv) or DEBUG with caller (-vvv) output 222s 222s Use "adsysctl [command] --help" for more information about a command. 222s 222s --- PASS: TestInitApp (0.00s) 222s === CONT TestAppCanQuitWhenExecute 222s # bash completion V2 for adsysctl -*- shell-script -*- 222s 222s __adsysctl_debug() 222s { 222s if [[ -n ${BASH_COMP_DEBUG_FILE-} ]]; then 222s echo "$*" >> "${BASH_COMP_DEBUG_FILE}" 222s fi 222s } 222s 222s # Macs have bash3 for which the bash-completion package doesn't include 222s # _init_completion. This is a minimal version of that function. 222s __adsysctl_init_completion() 222s { 222s COMPREPLY=() 222s _get_comp_words_by_ref "$@" cur prev words cword 222s } 222s 222s # This function calls the adsysctl program to obtain the completion 222s # results and the directive. It fills the 'out' and 'directive' vars. 222s __adsysctl_get_completion_results() { 222s local requestComp lastParam lastChar args 222s 222s # Prepare the command to request completions for the program. 222s # Calling ${words[0]} instead of directly adsysctl allows handling aliases 222s args=("${words[@]:1}") 222s requestComp="${words[0]} __complete ${args[*]}" 222s 222s lastParam=${words[$((${#words[@]}-1))]} 222s lastChar=${lastParam:$((${#lastParam}-1)):1} 222s __adsysctl_debug "lastParam ${lastParam}, lastChar ${lastChar}" 222s 222s if [[ -z ${cur} && ${lastChar} != = ]]; then 222s # If the last parameter is complete (there is a space following it) 222s # We add an extra empty parameter so we can indicate this to the go method. 222s __adsysctl_debug "Adding extra empty parameter" 222s requestComp="${requestComp} ''" 222s fi 222s 222s # When completing a flag with an = (e.g., adsysctl -n=) 222s # bash focuses on the part after the =, so we need to remove 222s # the flag part from $cur 222s if [[ ${cur} == -*=* ]]; then 222s cur="${cur#*=}" 222s fi 222s 222s __adsysctl_debug "Calling ${requestComp}" 222s # Use eval to handle any environment variables and such 222s out=$(eval "${requestComp}" 2>/dev/null) 222s 222s # Extract the directive integer at the very end of the output following a colon (:) 222s directive=${out##*:} 222s # Remove the directive 222s out=${out%:*} 222s if [[ ${directive} == "${out}" ]]; then 222s # There is not directive specified 222s directive=0 222s fi 222s __adsysctl_debug "The completion directive is: ${directive}" 222s __adsysctl_debug "The completions are: ${out}" 222s } 222s 222s __adsysctl_process_completion_results() { 222s local shellCompDirectiveError=1 222s local shellCompDirectiveNoSpace=2 222s local shellCompDirectiveNoFileComp=4 222s local shellCompDirectiveFilterFileExt=8 222s local shellCompDirectiveFilterDirs=16 222s local shellCompDirectiveKeepOrder=32 222s 222s if (((directive & shellCompDirectiveError) != 0)); then 222s # Error code. No completion. 222s __adsysctl_debug "Received error from custom completion go code" 222s return 222s else 222s if (((directive & shellCompDirectiveNoSpace) != 0)); then 222s if [[ $(type -t compopt) == builtin ]]; then 222s __adsysctl_debug "Activating no space" 222s compopt -o nospace 222s else 222s __adsysctl_debug "No space directive not supported in this version of bash" 222s fi 222s fi 222s if (((directive & shellCompDirectiveKeepOrder) != 0)); then 222s if [[ $(type -t compopt) == builtin ]]; then 222s # no sort isn't supported for bash less than < 4.4 222s if [[ ${BASH_VERSINFO[0]} -lt 4 || ( ${BASH_VERSINFO[0]} -eq 4 && ${BASH_VERSINFO[1]} -lt 4 ) ]]; then 222s __adsysctl_debug "No sort directive not supported in this version of bash" 222s else 222s __adsysctl_debug "Activating keep order" 222s compopt -o nosort 222s fi 222s else 222s __adsysctl_debug "No sort directive not supported in this version of bash" 222s fi 222s fi 222s if (((directive & shellCompDirectiveNoFileComp) != 0)); then 222s if [[ $(type -t compopt) == builtin ]]; then 222s __adsysctl_debug "Activating no file completion" 222s compopt +o default 222s else 222s __adsysctl_debug "No file completion directive not supported in this version of bash" 222s fi 222s fi 222s fi 222s 222s # Separate activeHelp from normal completions 222s local completions=() 222s local activeHelp=() 222s __adsysctl_extract_activeHelp 222s 222s if (((directive & shellCompDirectiveFilterFileExt) != 0)); then 222s # File extension filtering 222s local fullFilter="" filter filteringCmd 222s 222s # Do not use quotes around the $completions variable or else newline 222s # characters will be kept. 222s for filter in ${completions[*]}; do 222s fullFilter+="$filter|" 222s done 222s 222s filteringCmd="_filedir $fullFilter" 222s __adsysctl_debug "File filtering command: $filteringCmd" 222s $filteringCmd 222s elif (((directive & shellCompDirectiveFilterDirs) != 0)); then 222s # File completion for directories only 222s 222s local subdir 222s subdir=${completions[0]} 222s if [[ -n $subdir ]]; then 222s __adsysctl_debug "Listing directories in $subdir" 222s pushd "$subdir" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 || return 222s else 222s __adsysctl_debug "Listing directories in ." 222s _filedir -d 222s fi 222s else 222s __adsysctl_handle_completion_types 222s fi 222s 222s __adsysctl_handle_special_char "$cur" : 222s __adsysctl_handle_special_char "$cur" = 222s 222s # Print the activeHelp statements before we finish 222s __adsysctl_handle_activeHelp 222s } 222s 222s __adsysctl_handle_activeHelp() { 222s # Print the activeHelp statements 222s if ((${#activeHelp[*]} != 0)); then 222s if [ -z $COMP_TYPE ]; then 222s # Bash v3 does not set the COMP_TYPE variable. 222s printf "\n"; 222s printf "%s\n" "${activeHelp[@]}" 222s printf "\n" 222s __adsysctl_reprint_commandLine 222s return 222s fi 222s 222s # Only print ActiveHelp on the second TAB press 222s if [ $COMP_TYPE -eq 63 ]; then 222s printf "\n" 222s printf "%s\n" "${activeHelp[@]}" 222s 222s if ((${#COMPREPLY[*]} == 0)); then 222s # When there are no completion choices from the program, file completion 222s # may kick in if the program has not disabled it; in such a case, we want 222s # to know if any files will match what the user typed, so that we know if 222s # there will be completions presented, so that we know how to handle ActiveHelp. 222s # To find out, we actually trigger the file completion ourselves; 222s # the call to _filedir will fill COMPREPLY if files match. 222s if (((directive & shellCompDirectiveNoFileComp) == 0)); then 222s __adsysctl_debug "Listing files" 222s _filedir 222s fi 222s fi 222s 222s if ((${#COMPREPLY[*]} != 0)); then 222s # If there are completion choices to be shown, print a delimiter. 222s # Re-printing the command-line will automatically be done 222s # by the shell when it prints the completion choices. 222s printf -- "--" 222s else 222s # When there are no completion choices at all, we need 222s # to re-print the command-line since the shell will 222s # not be doing it itself. 222s __adsysctl_reprint_commandLine 222s fi 222s elif [ $COMP_TYPE -eq 37 ] || [ $COMP_TYPE -eq 42 ]; then 222s # For completion type: menu-complete/menu-complete-backward and insert-completions 222s # the completions are immediately inserted into the command-line, so we first 222s # print the activeHelp message and reprint the command-line since the shell won't. 222s printf "\n" 222s printf "%s\n" "${activeHelp[@]}" 222s 222s __adsysctl_reprint_commandLine 222s fi 222s fi 222s } 222s 222s __adsysctl_reprint_commandLine() { 222s # The prompt format is only available from bash 4.4. 222s # We test if it is available before using it. 222s if (x=${PS1@P}) 2> /dev/null; then 222s printf "%s" "${PS1@P}${COMP_LINE[@]}" 222s else 222s # Can't print the prompt. Just print the 222s # text the user had typed, it is workable enough. 222s printf "%s" "${COMP_LINE[@]}" 222s fi 222s } 222s 222s # Separate activeHelp lines from real completions. 222s # Fills the $activeHelp and $completions arrays. 222s __adsysctl_extract_activeHelp() { 222s local activeHelpMarker="_activeHelp_ " 222s local endIndex=${#activeHelpMarker} 222s 222s while IFS='' read -r comp; do 222s [[ -z $comp ]] && continue 222s 222s if [[ ${comp:0:endIndex} == $activeHelpMarker ]]; then 222s comp=${comp:endIndex} 222s __adsysctl_debug "ActiveHelp found: $comp" 222s if [[ -n $comp ]]; then 222s activeHelp+=("$comp") 222s fi 222s else 222s # Not an activeHelp line but a normal completion 222s completions+=("$comp") 222s fi 222s done <<<"${out}" 222s } 222s 222s __adsysctl_handle_completion_types() { 222s __adsysctl_debug "__adsysctl_handle_completion_types: COMP_TYPE is $COMP_TYPE" 222s 222s case $COMP_TYPE in 222s 37|42) 222s # Type: menu-complete/menu-complete-backward and insert-completions 222s # If the user requested inserting one completion at a time, or all 222s # completions at once on the command-line we must remove the descriptions. 222s # https://github.com/spf13/cobra/issues/1508 222s 222s # If there are no completions, we don't need to do anything 222s (( ${#completions[@]} == 0 )) && return 0 222s 222s local tab=$'\t' 222s 222s # Strip any description and escape the completion to handled special characters 222s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]%%$tab*}") 222s 222s # Only consider the completions that match 222s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 222s 222s # compgen looses the escaping so we need to escape all completions again since they will 222s # all be inserted on the command-line. 222s IFS=$'\n' read -ra COMPREPLY -d '' < <(printf "%q\n" "${COMPREPLY[@]}") 222s ;; 222s 222s *) 222s # Type: complete (normal completion) 222s __adsysctl_handle_standard_completion_case 222s ;; 222s esac 222s } 222s 222s __adsysctl_handle_standard_completion_case() { 222s local tab=$'\t' 222s 222s # If there are no completions, we don't need to do anything 222s (( ${#completions[@]} == 0 )) && return 0 222s 222s # Short circuit to optimize if we don't have descriptions 222s if [[ "${completions[*]}" != *$tab* ]]; then 222s # First, escape the completions to handle special characters 222s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]}") 222s # Only consider the completions that match what the user typed 222s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 222s 222s # compgen looses the escaping so, if there is only a single completion, we need to 222s # escape it again because it will be inserted on the command-line. If there are multiple 222s # completions, we don't want to escape them because they will be printed in a list 222s # and we don't want to show escape characters in that list. 222s if (( ${#COMPREPLY[@]} == 1 )); then 222s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]}") 222s fi 222s return 0 222s fi 222s 222s local longest=0 222s local compline 222s # Look for the longest completion so that we can format things nicely 222s while IFS='' read -r compline; do 222s [[ -z $compline ]] && continue 222s 222s # Before checking if the completion matches what the user typed, 222s # we need to strip any description and escape the completion to handle special 222s # characters because those escape characters are part of what the user typed. 222s # Don't call "printf" in a sub-shell because it will be much slower 222s # since we are in a loop. 222s printf -v comp "%q" "${compline%%$tab*}" &>/dev/null || comp=$(printf "%q" "${compline%%$tab*}") 222s 222s # Only consider the completions that match 222s [[ $comp == "$cur"* ]] || continue 222s 222s # The completions matches. Add it to the list of full completions including 222s # its description. We don't escape the completion because it may get printed 222s # in a list if there are more than one and we don't want show escape characters 222s # in that list. 222s COMPREPLY+=("$compline") 222s 222s # Strip any description before checking the length, and again, don't escape 222s # the completion because this length is only used when printing the completions 222s # in a list and we don't want show escape characters in that list. 222s comp=${compline%%$tab*} 222s if ((${#comp}>longest)); then 222s longest=${#comp} 222s fi 222s done < <(printf "%s\n" "${completions[@]}") 222s 222s # If there is a single completion left, remove the description text and escape any special characters 222s if ((${#COMPREPLY[*]} == 1)); then 222s __adsysctl_debug "COMPREPLY[0]: ${COMPREPLY[0]}" 222s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]%%$tab*}") 222s __adsysctl_debug "Removed description from single completion, which is now: ${COMPREPLY[0]}" 222s else 222s # Format the descriptions 222s __adsysctl_format_comp_descriptions $longest 222s fi 222s } 222s 222s __adsysctl_handle_special_char() 222s { 222s local comp="$1" 222s local char=$2 222s if [[ "$comp" == *${char}* && "$COMP_WORDBREAKS" == *${char}* ]]; then 222s local word=${comp%"${comp##*${char}}"} 222s local idx=${#COMPREPLY[*]} 222s while ((--idx >= 0)); do 222s COMPREPLY[idx]=${COMPREPLY[idx]#"$word"} 222s done 222s fi 222s } 222s 222s __adsysctl_format_comp_descriptions() 222s { 222s local tab=$'\t' 222s local comp desc maxdesclength 222s local longest=$1 222s 222s local i ci 222s for ci in ${!COMPREPLY[*]}; do 222s comp=${COMPREPLY[ci]} 222s # Properly format the description string which follows a tab character if there is one 222s if [[ "$comp" == *$tab* ]]; then 222s __adsysctl_debug "Original comp: $comp" 222s desc=${comp#*$tab} 222s comp=${comp%%$tab*} 222s 222s # $COLUMNS stores the current shell width. 222s # Remove an extra 4 because we add 2 spaces and 2 parentheses. 222s maxdesclength=$(( COLUMNS - longest - 4 )) 222s 222s # Make sure we can fit a description of at least 8 characters 222s # if we are to align the descriptions. 222s if ((maxdesclength > 8)); then 222s # Add the proper number of spaces to align the descriptions 222s for ((i = ${#comp} ; i < longest ; i++)); do 222s comp+=" " 222s done 222s else 222s # Don't pad the descriptions so we can fit more text after the completion 222s maxdesclength=$(( COLUMNS - ${#comp} - 4 )) 222s fi 222s 222s # If there is enough space for any description text, 222s # truncate the descriptions that are too long for the shell width 222s if ((maxdesclength > 0)); then 222s if ((${#desc} > maxdesclength)); then 222s desc=${desc:0:$(( maxdesclength - 1 ))} 222s desc+="…" 222s fi 222s comp+=" ($desc)" 222s fi 222s COMPREPLY[ci]=$comp 222s __adsysctl_debug "Final comp: $comp" 222s fi 222s done 222s } 222s 222s __start_adsysctl() 222s { 222s local cur prev words cword split 222s 222s COMPREPLY=() 222s 222s # Call _init_completion from the bash-completion package 222s # to prepare the arguments properly 222s if declare -F _init_completion >/dev/null 2>&1; then 222s _init_completion -n =: || return 222s else 222s __adsysctl_init_completion -n =: || return 222s fi 222s 222s __adsysctl_debug 222s __adsysctl_debug "========= starting completion logic ==========" 222s __adsysctl_debug "cur is ${cur}, words[*] is ${words[*]}, #words[@] is ${#words[@]}, cword is $cword" 222s 222s # The user could have moved the cursor backwards on the command-line. 222s # We need to trigger completion from the $cword location, so we need 222s # to truncate the command-line ($words) up to the $cword location. 222s words=("${words[@]:0:$cword+1}") 222s __adsysctl_debug "Truncated words[*]: ${words[*]}," 222s 222s local out directive 222s __adsysctl_get_completion_results 222s __adsysctl_process_completion_results 222s } 222s 222s if [[ $(type -t compopt) = "builtin" ]]; then 222s complete -o default -F __start_adsysctl adsysctl 222s else 222s complete -o default -o nospace -F __start_adsysctl adsysctl 222s fi 222s 222s # ex: ts=4 sw=4 et filetype=sh 222s --- PASS: TestAppCanQuitAfterExecute (0.01s) 222s --- PASS: TestAppCanQuitWhenExecute (0.00s) 222s === CONT TestAppNoUsageError 222s # bash completion V2 for adsysctl -*- shell-script -*- 222s 222s __adsysctl_debug() 222s { 222s if [[ -n ${BASH_COMP_DEBUG_FILE-} ]]; then 222s echo "$*" >> "${BASH_COMP_DEBUG_FILE}" 222s fi 222s } 222s 222s # Macs have bash3 for which the bash-completion package doesn't include 222s # _init_completion. This is a minimal version of that function. 222s __adsysctl_init_completion() 222s { 222s COMPREPLY=() 222s _get_comp_words_by_ref "$@" cur prev words cword 222s } 222s 222s # This function calls the adsysctl program to obtain the completion 222s # results and the directive. It fills the 'out' and 'directive' vars. 222s __adsysctl_get_completion_results() { 222s local requestComp lastParam lastChar args 222s 222s # Prepare the command to request completions for the program. 222s # Calling ${words[0]} instead of directly adsysctl allows handling aliases 222s args=("${words[@]:1}") 222s requestComp="${words[0]} __complete ${args[*]}" 222s 222s lastParam=${words[$((${#words[@]}-1))]} 222s lastChar=${lastParam:$((${#lastParam}-1)):1} 222s __adsysctl_debug "lastParam ${lastParam}, lastChar ${lastChar}" 222s 222s if [[ -z ${cur} && ${lastChar} != = ]]; then 222s # If the last parameter is complete (there is a space following it) 222s # We add an extra empty parameter so we can indicate this to the go method. 222s __adsysctl_debug "Adding extra empty parameter" 222s requestComp="${requestComp} ''" 222s fi 222s 222s # When completing a flag with an = (e.g., adsysctl -n=) 222s # bash focuses on the part after the =, so we need to remove 222s # the flag part from $cur 222s if [[ ${cur} == -*=* ]]; then 222s cur="${cur#*=}" 222s fi 222s 222s __adsysctl_debug "Calling ${requestComp}" 222s # Use eval to handle any environment variables and such 222s out=$(eval "${requestComp}" 2>/dev/null) 222s 222s # Extract the directive integer at the very end of the output following a colon (:) 222s directive=${out##*:} 222s # Remove the directive 222s out=${out%:*} 222s if [[ ${directive} == "${out}" ]]; then 222s # There is not directive specified 222s directive=0 222s fi 222s __adsysctl_debug "The completion directive is: ${directive}" 222s __adsysctl_debug "The completions are: ${out}" 222s } 222s 222s __adsysctl_process_completion_results() { 222s local shellCompDirectiveError=1 222s local shellCompDirectiveNoSpace=2 222s local shellCompDirectiveNoFileComp=4 222s local shellCompDirectiveFilterFileExt=8 222s local shellCompDirectiveFilterDirs=16 222s local shellCompDirectiveKeepOrder=32 222s 222s if (((directive & shellCompDirectiveError) != 0)); then 222s # Error code. No completion. 222s __adsysctl_debug "Received error from custom completion go code" 222s return 222s else 222s if (((directive & shellCompDirectiveNoSpace) != 0)); then 222s if [[ $(type -t compopt) == builtin ]]; then 222s __adsysctl_debug "Activating no space" 222s compopt -o nospace 222s else 222s __adsysctl_debug "No space directive not supported in this version of bash" 222s fi 222s fi 222s if (((directive & shellCompDirectiveKeepOrder) != 0)); then 222s if [[ $(type -t compopt) == builtin ]]; then 222s # no sort isn't supported for bash less than < 4.4 222s if [[ ${BASH_VERSINFO[0]} -lt 4 || ( ${BASH_VERSINFO[0]} -eq 4 && ${BASH_VERSINFO[1]} -lt 4 ) ]]; then 222s __adsysctl_debug "No sort directive not supported in this version of bash" 222s else 222s __adsysctl_debug "Activating keep order" 222s compopt -o nosort 222s fi 222s else 222s __adsysctl_debug "No sort directive not supported in this version of bash" 222s fi 222s fi 222s if (((directive & shellCompDirectiveNoFileComp) != 0)); then 222s if [[ $(type -t compopt) == builtin ]]; then 222s __adsysctl_debug "Activating no file completion" 222s compopt +o default 222s else 222s __adsysctl_debug "No file completion directive not supported in this version of bash" 222s fi 222s fi 222s fi 222s 222s # Separate activeHelp from normal completions 222s local completions=() 222s local activeHelp=() 222s __adsysctl_extract_activeHelp 222s 222s if (((directive & shellCompDirectiveFilterFileExt) != 0)); then 222s # File extension filtering 222s local fullFilter="" filter filteringCmd 222s 222s # Do not use quotes around the $completions variable or else newline 222s # characters will be kept. 222s for filter in ${completions[*]}; do 222s fullFilter+="$filter|" 222s done 222s 222s filteringCmd="_filedir $fullFilter" 222s __adsysctl_debug "File filtering command: $filteringCmd" 222s $filteringCmd 222s elif (((directive & shellCompDirectiveFilterDirs) != 0)); then 222s # File completion for directories only 222s 222s local subdir 222s subdir=${completions[0]} 222s if [[ -n $subdir ]]; then 222s __adsysctl_debug "Listing directories in $subdir" 222s pushd "$subdir" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 || return 222s else 222s __adsysctl_debug "Listing directories in ." 222s _filedir -d 222s fi 222s else 222s __adsysctl_handle_completion_types 222s fi 222s 222s __adsysctl_handle_special_char "$cur" : 222s __adsysctl_handle_special_char "$cur" = 222s 222s # Print the activeHelp statements before we finish 222s __adsysctl_handle_activeHelp 222s } 222s 222s __adsysctl_handle_activeHelp() { 222s # Print the activeHelp statements 222s if ((${#activeHelp[*]} != 0)); then 222s if [ -z $COMP_TYPE ]; then 222s # Bash v3 does not set the COMP_TYPE variable. 222s printf "\n"; 222s printf "%s\n" "${activeHelp[@]}" 222s printf "\n" 222s __adsysctl_reprint_commandLine 222s return 222s fi 222s 222s # Only print ActiveHelp on the second TAB press 222s if [ $COMP_TYPE -eq 63 ]; then 222s printf "\n" 222s printf "%s\n" "${activeHelp[@]}" 222s 222s if ((${#COMPREPLY[*]} == 0)); then 222s # When there are no completion choices from the program, file completion 222s # may kick in if the program has not disabled it; in such a case, we want 222s # to know if any files will match what the user typed, so that we know if 222s # there will be completions presented, so that we know how to handle ActiveHelp. 222s # To find out, we actually trigger the file completion ourselves; 222s # the call to _filedir will fill COMPREPLY if files match. 222s if (((directive & shellCompDirectiveNoFileComp) == 0)); then 222s __adsysctl_debug "Listing files" 222s _filedir 222s fi 222s fi 222s 222s if ((${#COMPREPLY[*]} != 0)); then 222s # If there are completion choices to be shown, print a delimiter. 222s # Re-printing the command-line will automatically be done 222s # by the shell when it prints the completion choices. 222s printf -- "--" 222s else 222s # When there are no completion choices at all, we need 222s # to re-print the command-line since the shell will 222s # not be doing it itself. 222s __adsysctl_reprint_commandLine 222s fi 222s elif [ $COMP_TYPE -eq 37 ] || [ $COMP_TYPE -eq 42 ]; then 222s # For completion type: menu-complete/menu-complete-backward and insert-completions 222s # the completions are immediately inserted into the command-line, so we first 222s # print the activeHelp message and reprint the command-line since the shell won't. 222s printf "\n" 222s printf "%s\n" "${activeHelp[@]}" 222s 222s __adsysctl_reprint_commandLine 222s fi 222s fi 222s } 222s 222s __adsysctl_reprint_commandLine() { 222s # The prompt format is only available from bash 4.4. 222s # We test if it is available before using it. 222s if (x=${PS1@P}) 2> /dev/null; then 222s printf "%s" "${PS1@P}${COMP_LINE[@]}" 222s else 222s # Can't print the prompt. Just print the 222s # text the user had typed, it is workable enough. 222s printf "%s" "${COMP_LINE[@]}" 222s fi 222s } 222s 222s # Separate activeHelp lines from real completions. 222s # Fills the $activeHelp and $completions arrays. 222s __adsysctl_extract_activeHelp() { 222s local activeHelpMarker="_activeHelp_ " 222s local endIndex=${#activeHelpMarker} 222s 222s while IFS='' read -r comp; do 222s [[ -z $comp ]] && continue 222s 222s if [[ ${comp:0:endIndex} == $activeHelpMarker ]]; then 222s comp=${comp:endIndex} 222s __adsysctl_debug "ActiveHelp found: $comp" 222s if [[ -n $comp ]]; then 222s activeHelp+=("$comp") 222s fi 222s else 222s # Not an activeHelp line but a normal completion 222s completions+=("$comp") 222s fi 222s done <<<"${out}" 222s } 222s 222s __adsysctl_handle_completion_types() { 222s __adsysctl_debug "__adsysctl_handle_completion_types: COMP_TYPE is $COMP_TYPE" 222s 222s case $COMP_TYPE in 222s 37|42) 222s # Type: menu-complete/menu-complete-backward and insert-completions 222s # If the user requested inserting one completion at a time, or all 222s # completions at once on the command-line we must remove the descriptions. 222s # https://github.com/spf13/cobra/issues/1508 222s 222s # If there are no completions, we don't need to do anything 222s (( ${#completions[@]} == 0 )) && return 0 222s 222s local tab=$'\t' 222s 222s # Strip any description and escape the completion to handled special characters 222s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]%%$tab*}") 222s 222s # Only consider the completions that match 222s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 222s 222s # compgen looses the escaping so we need to escape all completions again since they will 222s # all be inserted on the command-line. 222s IFS=$'\n' read -ra COMPREPLY -d '' < <(printf "%q\n" "${COMPREPLY[@]}") 222s ;; 222s 222s *) 222s # Type: complete (normal completion) 222s __adsysctl_handle_standard_completion_case 222s ;; 222s esac 222s } 222s 222s __adsysctl_handle_standard_completion_case() { 222s local tab=$'\t' 222s 222s # If there are no completions, we don't need to do anything 222s (( ${#completions[@]} == 0 )) && return 0 222s 222s # Short circuit to optimize if we don't have descriptions 222s if [[ "${completions[*]}" != *$tab* ]]; then 222s # First, escape the completions to handle special characters 222s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]}") 222s # Only consider the completions that match what the user typed 222s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 222s 222s # compgen looses the escaping so, if there is only a single completion, we need to 222s # escape it again because it will be inserted on the command-line. If there are multiple 222s # completions, we don't want to escape them because they will be printed in a list 222s # and we don't want to show escape characters in that list. 222s if (( ${#COMPREPLY[@]} == 1 )); then 222s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]}") 222s fi 222s return 0 222s fi 222s 222s local longest=0 222s local compline 222s # Look for the longest completion so that we can format things nicely 222s while IFS='' read -r compline; do 222s [[ -z $compline ]] && continue 222s 222s # Before checking if the completion matches what the user typed, 222s # we need to strip any description and escape the completion to handle special 222s # characters because those escape characters are part of what the user typed. 222s # Don't call "printf" in a sub-shell because it will be much slower 222s # since we are in a loop. 222s printf -v comp "%q" "${compline%%$tab*}" &>/dev/null || comp=$(printf "%q" "${compline%%$tab*}") 222s 222s # Only consider the completions that match 222s [[ $comp == "$cur"* ]] || continue 222s 222s # The completions matches. Add it to the list of full completions including 222s # its description. We don't escape the completion because it may get printed 222s # in a list if there are more than one and we don't want show escape characters 222s # in that list. 222s COMPREPLY+=("$compline") 222s 222s # Strip any description before checking the length, and again, don't escape 222s # the completion because this length is only used when printing the completions 222s # in a list and we don't want show escape characters in that list. 222s comp=${compline%%$tab*} 222s if ((${#comp}>longest)); then 222s longest=${#comp} 222s fi 222s done < <(printf "%s\n" "${completions[@]}") 222s 222s # If there is a single completion left, remove the description text and escape any special characters 222s if ((${#COMPREPLY[*]} == 1)); then 222s __adsysctl_debug "COMPREPLY[0]: ${COMPREPLY[0]}" 222s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]%%$tab*}") 222s __adsysctl_debug "Removed description from single completion, which is now: ${COMPREPLY[0]}" 222s else 222s # Format the descriptions 222s __adsysctl_format_comp_descriptions $longest 222s fi 222s } 222s 222s __adsysctl_handle_special_char() 222s { 222s local comp="$1" 222s local char=$2 222s if [[ "$comp" == *${char}* && "$COMP_WORDBREAKS" == *${char}* ]]; then 222s local word=${comp%"${comp##*${char}}"} 222s local idx=${#COMPREPLY[*]} 222s while ((--idx >= 0)); do 222s COMPREPLY[idx]=${COMPREPLY[idx]#"$word"} 222s done 222s fi 222s } 222s 222s __adsysctl_format_comp_descriptions() 222s { 222s local tab=$'\t' 222s local comp desc maxdesclength 222s local longest=$1 222s 222s local i ci 222s for ci in ${!COMPREPLY[*]}; do 222s comp=${COMPREPLY[ci]} 222s # Properly format the description string which follows a tab character if there is one 222s if [[ "$comp" == *$tab* ]]; then 222s __adsysctl_debug "Original comp: $comp" 222s desc=${comp#*$tab} 222s comp=${comp%%$tab*} 222s 222s # $COLUMNS stores the current shell width. 222s # Remove an extra 4 because we add 2 spaces and 2 parentheses. 222s maxdesclength=$(( COLUMNS - longest - 4 )) 222s 222s # Make sure we can fit a description of at least 8 characters 222s # if we are to align the descriptions. 222s if ((maxdesclength > 8)); then 222s # Add the proper number of spaces to align the descriptions 222s for ((i = ${#comp} ; i < longest ; i++)); do 222s comp+=" " 222s done 222s else 222s # Don't pad the descriptions so we can fit more text after the completion 222s maxdesclength=$(( COLUMNS - ${#comp} - 4 )) 222s fi 222s 222s # If there is enough space for any description text, 222s # truncate the descriptions that are too long for the shell width 222s if ((maxdesclength > 0)); then 222s if ((${#desc} > maxdesclength)); then 222s desc=${desc:0:$(( maxdesclength - 1 ))} 222s desc+="…" 222s fi 222s comp+=" ($desc)" 222s fi 222s COMPREPLY[ci]=$comp 222s __adsysctl_debug "Final comp: $comp" 222s fi 222s done 222s } 222s 222s __start_adsysctl() 222s { 222s local cur prev words cword split 222s 222s COMPREPLY=() 222s 222s # Call _init_completion from the bash-completion package 222s # to prepare the arguments properly 222s if declare -F _init_completion >/dev/null 2>&1; then 222s _init_completion -n =: || return 222s else 222s __adsysctl_init_completion -n =: || return 222s fi 222s 222s __adsysctl_debug 222s __adsysctl_debug "========= starting completion logic ==========" 222s __adsysctl_debug "cur is ${cur}, words[*] is ${words[*]}, #words[@] is ${#words[@]}, cword is $cword" 222s 222s # The user could have moved the cursor backwards on the command-line. 222s # We need to trigger completion from the $cword location, so we need 222s # to truncate the command-line ($words) up to the $cword location. 222s words=("${words[@]:0:$cword+1}") 222s __adsysctl_debug "Truncated words[*]: ${words[*]}," 222s 222s local out directive 222s __adsysctl_get_completion_results 222s __adsysctl_process_completion_results 222s } 222s 222s if [[ $(type -t compopt) = "builtin" ]]; then 222s complete -o default -F __start_adsysctl adsysctl 222s else 222s complete -o default -o nospace -F __start_adsysctl adsysctl 222s fi 222s 222s # ex: ts=4 sw=4 et filetype=sh 222s --- PASS: TestAppNoUsageError (0.00s) 222s === CONT TestAppCompletion 222s === CONT TestAppUsageError 222s Usage: 222s adsysctl COMMAND [flags] 222s adsysctl [command] 222s 222s Available Commands: 222s applied Print last applied GPOs for current or given user/machine 222s completion Generate the autocompletion script for the specified shell 222s doc Documentation 222s help Help about any command 222s policy Policy management 222s service Service management 222s update Updates/Create a policy for current user or given user with its kerberos ticket 222s version Returns version of client and service 222s 222s Flags: 222s -c, --config string use a specific configuration file 222s -h, --help help for adsysctl 222s -s, --socket string socket path to use between daemon and client. Can be overridden by systemd socket activation. (default "/run/adsysd.sock") 222s -t, --timeout int time in seconds before cancelling the client request when the server gives no result. 0 for no timeout. (default 30) 222s -v, --verbose count issue INFO (-v), DEBUG (-vv) or DEBUG with caller (-vvv) output 222s 222s Use "adsysctl [command] --help" for more information about a command. 222s 222s --- PASS: TestAppUsageError (0.00s) 222s === CONT TestAppHelp 222s Active Directory integration bridging toolset command line tool. 222s 222s Usage: 222s adsysctl COMMAND [flags] 222s adsysctl [command] 222s 222s Available Commands: 222s applied Print last applied GPOs for current or given user/machine 222s completion Generate the autocompletion script for the specified shell 222s doc Documentation 222s help Help about any command 222s policy Policy management 222s service Service management 222s update Updates/Create a policy for current user or given user with its kerberos ticket 222s version Returns version of client and service 222s 222s Flags: 222s -c, --config string use a specific configuration file 222s -h, --help help for adsysctl 222s -s, --socket string socket path to use between daemon and client. Can be overridden by systemd socket activation. (default "/run/adsysd.sock") 222s -t, --timeout int time in seconds before cancelling the client request when the server gives no result. 0 for no timeout. (default 30) 222s -v, --verbose count issue INFO (-v), DEBUG (-vv) or DEBUG with caller (-vvv) output 222s 222s Use "adsysctl [command] --help" for more information about a command. 222s --- PASS: TestAppHelp (0.00s) 222s === CONT TestAppCanSigHupAfterExecute 222s # bash completion V2 for adsysctl -*- shell-script -*- 222s 222s __adsysctl_debug() 222s { 222s if [[ -n ${BASH_COMP_DEBUG_FILE-} ]]; then 222s echo "$*" >> "${BASH_COMP_DEBUG_FILE}" 222s fi 222s } 222s 222s # Macs have bash3 for which the bash-completion package doesn't include 222s # _init_completion. This is a minimal version of that function. 222s __adsysctl_init_completion() 222s { 222s COMPREPLY=() 222s _get_comp_words_by_ref "$@" cur prev words cword 222s } 222s 222s # This function calls the adsysctl program to obtain the completion 222s # results and the directive. It fills the 'out' and 'directive' vars. 222s __adsysctl_get_completion_results() { 222s local requestComp lastParam lastChar args 222s 222s # Prepare the command to request completions for the program. 222s # Calling ${words[0]} instead of directly adsysctl allows handling aliases 222s args=("${words[@]:1}") 222s requestComp="${words[0]} __complete ${args[*]}" 222s 222s lastParam=${words[$((${#words[@]}-1))]} 222s lastChar=${lastParam:$((${#lastParam}-1)):1} 222s __adsysctl_debug "lastParam ${lastParam}, lastChar ${lastChar}" 222s 222s if [[ -z ${cur} && ${lastChar} != = ]]; then 222s # If the last parameter is complete (there is a space following it) 222s # We add an extra empty parameter so we can indicate this to the go method. 222s __adsysctl_debug "Adding extra empty parameter" 222s requestComp="${requestComp} ''" 222s fi 222s 222s # When completing a flag with an = (e.g., adsysctl -n=) 222s # bash focuses on the part after the =, so we need to remove 222s # the flag part from $cur 222s if [[ ${cur} == -*=* ]]; then 222s cur="${cur#*=}" 222s fi 222s 222s __adsysctl_debug "Calling ${requestComp}" 222s # Use eval to handle any environment variables and such 222s out=$(eval "${requestComp}" 2>/dev/null) 222s 222s # Extract the directive integer at the very end of the output following a colon (:) 222s directive=${out##*:} 222s # Remove the directive 222s out=${out%:*} 222s if [[ ${directive} == "${out}" ]]; then 222s # There is not directive specified 222s directive=0 222s fi 222s __adsysctl_debug "The completion directive is: ${directive}" 222s __adsysctl_debug "The completions are: ${out}" 222s } 222s 222s __adsysctl_process_completion_results() { 222s local shellCompDirectiveError=1 222s local shellCompDirectiveNoSpace=2 222s local shellCompDirectiveNoFileComp=4 222s local shellCompDirectiveFilterFileExt=8 222s local shellCompDirectiveFilterDirs=16 222s local shellCompDirectiveKeepOrder=32 222s 222s if (((directive & shellCompDirectiveError) != 0)); then 222s # Error code. No completion. 222s __adsysctl_debug "Received error from custom completion go code" 222s return 222s else 222s if (((directive & shellCompDirectiveNoSpace) != 0)); then 222s if [[ $(type -t compopt) == builtin ]]; then 222s __adsysctl_debug "Activating no space" 222s compopt -o nospace 222s else 222s __adsysctl_debug "No space directive not supported in this version of bash" 222s fi 222s fi 222s if (((directive & shellCompDirectiveKeepOrder) != 0)); then 222s if [[ $(type -t compopt) == builtin ]]; then 222s # no sort isn't supported for bash less than < 4.4 222s if [[ ${BASH_VERSINFO[0]} -lt 4 || ( ${BASH_VERSINFO[0]} -eq 4 && ${BASH_VERSINFO[1]} -lt 4 ) ]]; then 222s __adsysctl_debug "No sort directive not supported in this version of bash" 222s else 222s __adsysctl_debug "Activating keep order" 222s compopt -o nosort 222s fi 222s else 222s __adsysctl_debug "No sort directive not supported in this version of bash" 222s fi 222s fi 222s if (((directive & shellCompDirectiveNoFileComp) != 0)); then 222s if [[ $(type -t compopt) == builtin ]]; then 222s __adsysctl_debug "Activating no file completion" 222s compopt +o default 222s else 222s __adsysctl_debug "No file completion directive not supported in this version of bash" 222s fi 222s fi 222s fi 222s 222s # Separate activeHelp from normal completions 222s local completions=() 222s local activeHelp=() 222s __adsysctl_extract_activeHelp 222s 222s if (((directive & shellCompDirectiveFilterFileExt) != 0)); then 222s # File extension filtering 222s local fullFilter="" filter filteringCmd 222s 222s # Do not use quotes around the $completions variable or else newline 222s # characters will be kept. 222s for filter in ${completions[*]}; do 222s fullFilter+="$filter|" 222s done 222s 222s filteringCmd="_filedir $fullFilter" 222s __adsysctl_debug "File filtering command: $filteringCmd" 222s $filteringCmd 222s elif (((directive & shellCompDirectiveFilterDirs) != 0)); then 222s # File completion for directories only 222s 222s local subdir 222s subdir=${completions[0]} 222s if [[ -n $subdir ]]; then 222s __adsysctl_debug "Listing directories in $subdir" 222s pushd "$subdir" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 || return 222s else 222s __adsysctl_debug "Listing directories in ." 222s _filedir -d 222s fi 222s else 222s __adsysctl_handle_completion_types 222s fi 222s 222s __adsysctl_handle_special_char "$cur" : 222s __adsysctl_handle_special_char "$cur" = 222s 222s # Print the activeHelp statements before we finish 222s __adsysctl_handle_activeHelp 222s } 222s 222s __adsysctl_handle_activeHelp() { 222s # Print the activeHelp statements 222s if ((${#activeHelp[*]} != 0)); then 222s if [ -z $COMP_TYPE ]; then 222s # Bash v3 does not set the COMP_TYPE variable. 222s printf "\n"; 222s printf "%s\n" "${activeHelp[@]}" 222s printf "\n" 222s __adsysctl_reprint_commandLine 222s return 222s fi 222s 222s # Only print ActiveHelp on the second TAB press 222s if [ $COMP_TYPE -eq 63 ]; then 222s printf "\n" 222s printf "%s\n" "${activeHelp[@]}" 222s 222s if ((${#COMPREPLY[*]} == 0)); then 222s # When there are no completion choices from the program, file completion 222s # may kick in if the program has not disabled it; in such a case, we want 222s # to know if any files will match what the user typed, so that we know if 222s # there will be completions presented, so that we know how to handle ActiveHelp. 222s # To find out, we actually trigger the file completion ourselves; 222s # the call to _filedir will fill COMPREPLY if files match. 222s if (((directive & shellCompDirectiveNoFileComp) == 0)); then 222s __adsysctl_debug "Listing files" 222s _filedir 222s fi 222s fi 222s 222s if ((${#COMPREPLY[*]} != 0)); then 222s # If there are completion choices to be shown, print a delimiter. 222s # Re-printing the command-line will automatically be done 222s # by the shell when it prints the completion choices. 222s printf -- "--" 222s else 222s # When there are no completion choices at all, we need 222s # to re-print the command-line since the shell will 222s # not be doing it itself. 222s __adsysctl_reprint_commandLine 222s fi 222s elif [ $COMP_TYPE -eq 37 ] || [ $COMP_TYPE -eq 42 ]; then 222s # For completion type: menu-complete/menu-complete-backward and insert-completions 222s # the completions are immediately inserted into the command-line, so we first 222s # print the activeHelp message and reprint the command-line since the shell won't. 222s printf "\n" 222s printf "%s\n" "${activeHelp[@]}" 222s 222s __adsysctl_reprint_commandLine 222s fi 222s fi 222s } 222s 222s __adsysctl_reprint_commandLine() { 222s # The prompt format is only available from bash 4.4. 222s # We test if it is available before using it. 222s if (x=${PS1@P}) 2> /dev/null; then 222s printf "%s" "${PS1@P}${COMP_LINE[@]}" 222s else 222s # Can't print the prompt. Just print the 222s # text the user had typed, it is workable enough. 222s printf "%s" "${COMP_LINE[@]}" 222s fi 222s } 222s 222s # Separate activeHelp lines from real completions. 222s # Fills the $activeHelp and $completions arrays. 222s __adsysctl_extract_activeHelp() { 222s local activeHelpMarker="_activeHelp_ " 222s local endIndex=${#activeHelpMarker} 222s 222s while IFS='' read -r comp; do 222s [[ -z $comp ]] && continue 222s 222s if [[ ${comp:0:endIndex} == $activeHelpMarker ]]; then 222s comp=${comp:endIndex} 222s __adsysctl_debug "ActiveHelp found: $comp" 222s if [[ -n $comp ]]; then 222s activeHelp+=("$comp") 222s fi 222s else 222s # Not an activeHelp line but a normal completion 222s completions+=("$comp") 222s fi 222s done <<<"${out}" 222s } 222s 222s __adsysctl_handle_completion_types() { 222s __adsysctl_debug "__adsysctl_handle_completion_types: COMP_TYPE is $COMP_TYPE" 222s 222s case $COMP_TYPE in 222s 37|42) 222s # Type: menu-complete/menu-complete-backward and insert-completions 222s # If the user requested inserting one completion at a time, or all 222s # completions at once on the command-line we must remove the descriptions. 222s # https://github.com/spf13/cobra/issues/1508 222s 222s # If there are no completions, we don't need to do anything 222s (( ${#completions[@]} == 0 )) && return 0 222s 222s local tab=$'\t' 222s 222s # Strip any description and escape the completion to handled special characters 222s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]%%$tab*}") 222s 222s # Only consider the completions that match 222s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 222s 222s # compgen looses the escaping so we need to escape all completions again since they will 222s # all be inserted on the command-line. 222s IFS=$'\n' read -ra COMPREPLY -d '' < <(printf "%q\n" "${COMPREPLY[@]}") 222s ;; 222s 222s *) 222s # Type: complete (normal completion) 222s __adsysctl_handle_standard_completion_case 222s ;; 222s esac 222s } 222s 222s __adsysctl_handle_standard_completion_case() { 222s local tab=$'\t' 222s 222s # If there are no completions, we don't need to do anything 222s (( ${#completions[@]} == 0 )) && return 0 222s 222s # Short circuit to optimize if we don't have descriptions 222s if [[ "${completions[*]}" != *$tab* ]]; then 222s # First, escape the completions to handle special characters 222s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]}") 222s # Only consider the completions that match what the user typed 222s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 222s 222s # compgen looses the escaping so, if there is only a single completion, we need to 222s # escape it again because it will be inserted on the command-line. If there are multiple 222s # completions, we don't want to escape them because they will be printed in a list 222s # and we don't want to show escape characters in that list. 222s if (( ${#COMPREPLY[@]} == 1 )); then 222s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]}") 222s fi 222s return 0 222s fi 222s 222s local longest=0 222s local compline 222s # Look for the longest completion so that we can format things nicely 222s while IFS='' read -r compline; do 222s [[ -z $compline ]] && continue 222s 222s # Before checking if the completion matches what the user typed, 222s # we need to strip any description and escape the completion to handle special 222s # characters because those escape characters are part of what the user typed. 222s # Don't call "printf" in a sub-shell because it will be much slower 222s # since we are in a loop. 222s printf -v comp "%q" "${compline%%$tab*}" &>/dev/null || comp=$(printf "%q" "${compline%%$tab*}") 222s 222s # Only consider the completions that match 222s [[ $comp == "$cur"* ]] || continue 222s 222s # The completions matches. Add it to the list of full completions including 222s # its description. We don't escape the completion because it may get printed 222s # in a list if there are more than one and we don't want show escape characters 222s # in that list. 222s COMPREPLY+=("$compline") 222s 222s # Strip any description before checking the length, and again, don't escape 222s # the completion because this length is only used when printing the completions 222s # in a list and we don't want show escape characters in that list. 222s comp=${compline%%$tab*} 222s if ((${#comp}>longest)); then 222s longest=${#comp} 222s fi 222s done < <(printf "%s\n" "${completions[@]}") 222s 222s # If there is a single completion left, remove the description text and escape any special characters 222s if ((${#COMPREPLY[*]} == 1)); then 222s __adsysctl_debug "COMPREPLY[0]: ${COMPREPLY[0]}" 222s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]%%$tab*}") 222s __adsysctl_debug "Removed description from single completion, which is now: ${COMPREPLY[0]}" 222s else 222s # Format the descriptions 222s __adsysctl_format_comp_descriptions $longest 222s fi 222s } 222s 222s __adsysctl_handle_special_char() 222s { 222s local comp="$1" 222s local char=$2 222s if [[ "$comp" == *${char}* && "$COMP_WORDBREAKS" == *${char}* ]]; then 222s local word=${comp%"${comp##*${char}}"} 222s local idx=${#COMPREPLY[*]} 222s while ((--idx >= 0)); do 222s COMPREPLY[idx]=${COMPREPLY[idx]#"$word"} 222s done 222s fi 222s } 222s 222s __adsysctl_format_comp_descriptions() 222s { 222s local tab=$'\t' 222s local comp desc maxdesclength 222s local longest=$1 222s 222s local i ci 222s for ci in ${!COMPREPLY[*]}; do 222s comp=${COMPREPLY[ci]} 222s # Properly format the description string which follows a tab character if there is one 222s if [[ "$comp" == *$tab* ]]; then 222s __adsysctl_debug "Original comp: $comp" 222s desc=${comp#*$tab} 222s comp=${comp%%$tab*} 222s 222s # $COLUMNS stores the current shell width. 222s # Remove an extra 4 because we add 2 spaces and 2 parentheses. 222s maxdesclength=$(( COLUMNS - longest - 4 )) 222s 222s # Make sure we can fit a description of at least 8 characters 222s # if we are to align the descriptions. 222s if ((maxdesclength > 8)); then 222s # Add the proper number of spaces to align the descriptions 222s for ((i = ${#comp} ; i < longest ; i++)); do 222s comp+=" " 222s done 222s else 222s # Don't pad the descriptions so we can fit more text after the completion 222s maxdesclength=$(( COLUMNS - ${#comp} - 4 )) 222s fi 222s 222s # If there is enough space for any description text, 222s # truncate the descriptions that are too long for the shell width 222s if ((maxdesclength > 0)); then 222s if ((${#desc} > maxdesclength)); then 222s desc=${desc:0:$(( maxdesclength - 1 ))} 222s desc+="…" 222s fi 222s comp+=" ($desc)" 222s fi 222s COMPREPLY[ci]=$comp 222s __adsysctl_debug "Final comp: $comp" 222s fi 222s done 222s } 222s 222s __start_adsysctl() 222s { 222s local cur prev words cword split 222s 222s COMPREPLY=() 222s 222s # Call _init_completion from the bash-completion package 222s # to prepare the arguments properly 222s if declare -F _init_completion >/dev/null 2>&1; then 222s _init_completion -n =: || return 222s else 222s __adsysctl_init_completion -n =: || return 222s fi 222s 222s __adsysctl_debug 222s __adsysctl_debug "========= starting completion logic ==========" 222s __adsysctl_debug "cur is ${cur}, words[*] is ${words[*]}, #words[@] is ${#words[@]}, cword is $cword" 222s 222s # The user could have moved the cursor backwards on the command-line. 222s # We need to trigger completion from the $cword location, so we need 222s # to truncate the command-line ($words) up to the $cword location. 222s words=("${words[@]:0:$cword+1}") 222s __adsysctl_debug "Truncated words[*]: ${words[*]}," 222s 222s local out directive 222s __adsysctl_get_completion_results 222s __adsysctl_process_completion_results 222s } 222s 222s if [[ $(type -t compopt) = "builtin" ]]; then 222s complete -o default -F __start_adsysctl adsysctl 222s else 222s complete -o default -o nospace -F __start_adsysctl adsysctl 222s fi 222s 222s # ex: ts=4 sw=4 et filetype=sh 222s --- PASS: TestAppCompletion (0.00s) 222s === CONT TestAppGetRootCmd 222s --- PASS: TestAppGetRootCmd (0.00s) 222s === CONT TestAppCanSigHupWhenExecute 222s # bash completion V2 for adsysctl -*- shell-script -*- 222s 222s __adsysctl_debug() 222s { 222s if [[ -n ${BASH_COMP_DEBUG_FILE-} ]]; then 222s echo "$*" >> "${BASH_COMP_DEBUG_FILE}" 222s fi 222s } 222s 222s # Macs have bash3 for which the bash-completion package doesn't include 222s # _init_completion. This is a minimal version of that function. 222s __adsysctl_init_completion() 222s { 222s COMPREPLY=() 222s _get_comp_words_by_ref "$@" cur prev words cword 222s } 222s 222s # This function calls the adsysctl program to obtain the completion 222s # results and the directive. It fills the 'out' and 'directive' vars. 222s __adsysctl_get_completion_results() { 222s local requestComp lastParam lastChar args 222s 222s # Prepare the command to request completions for the program. 222s # Calling ${words[0]} instead of directly adsysctl allows handling aliases 222s args=("${words[@]:1}") 222s requestComp="${words[0]} __complete ${args[*]}" 222s 222s lastParam=${words[$((${#words[@]}-1))]} 222s lastChar=${lastParam:$((${#lastParam}-1)):1} 222s __adsysctl_debug "lastParam ${lastParam}, lastChar ${lastChar}" 222s 222s if [[ -z ${cur} && ${lastChar} != = ]]; then 222s # If the last parameter is complete (there is a space following it) 222s # We add an extra empty parameter so we can indicate this to the go method. 222s __adsysctl_debug "Adding extra empty parameter" 222s requestComp="${requestComp} ''" 222s fi 222s 222s # When completing a flag with an = (e.g., adsysctl -n=) 222s # bash focuses on the part after the =, so we need to remove 222s # the flag part from $cur 222s if [[ ${cur} == -*=* ]]; then 222s cur="${cur#*=}" 222s fi 222s 222s __adsysctl_debug "Calling ${requestComp}" 222s # Use eval to handle any environment variables and such 222s out=$(eval "${requestComp}" 2>/dev/null) 222s 222s # Extract the directive integer at the very end of the output following a colon (:) 222s directive=${out##*:} 222s # Remove the directive 222s out=${out%:*} 222s if [[ ${directive} == "${out}" ]]; then 222s # There is not directive specified 222s directive=0 222s fi 222s __adsysctl_debug "The completion directive is: ${directive}" 222s __adsysctl_debug "The completions are: ${out}" 222s } 222s 222s __adsysctl_process_completion_results() { 222s local shellCompDirectiveError=1 222s local shellCompDirectiveNoSpace=2 222s local shellCompDirectiveNoFileComp=4 222s local shellCompDirectiveFilterFileExt=8 222s local shellCompDirectiveFilterDirs=16 222s local shellCompDirectiveKeepOrder=32 222s 222s if (((directive & shellCompDirectiveError) != 0)); then 222s # Error code. No completion. 222s __adsysctl_debug "Received error from custom completion go code" 222s return 222s else 222s if (((directive & shellCompDirectiveNoSpace) != 0)); then 222s if [[ $(type -t compopt) == builtin ]]; then 222s __adsysctl_debug "Activating no space" 222s compopt -o nospace 222s else 222s __adsysctl_debug "No space directive not supported in this version of bash" 222s fi 222s fi 222s if (((directive & shellCompDirectiveKeepOrder) != 0)); then 222s if [[ $(type -t compopt) == builtin ]]; then 222s # no sort isn't supported for bash less than < 4.4 222s if [[ ${BASH_VERSINFO[0]} -lt 4 || ( ${BASH_VERSINFO[0]} -eq 4 && ${BASH_VERSINFO[1]} -lt 4 ) ]]; then 222s __adsysctl_debug "No sort directive not supported in this version of bash" 222s else 222s __adsysctl_debug "Activating keep order" 222s compopt -o nosort 222s fi 222s else 222s __adsysctl_debug "No sort directive not supported in this version of bash" 222s fi 222s fi 222s if (((directive & shellCompDirectiveNoFileComp) != 0)); then 222s if [[ $(type -t compopt) == builtin ]]; then 222s __adsysctl_debug "Activating no file completion" 222s compopt +o default 222s else 222s __adsysctl_debug "No file completion directive not supported in this version of bash" 222s fi 222s fi 222s fi 222s 222s # Separate activeHelp from normal completions 222s local completions=() 222s local activeHelp=() 222s __adsysctl_extract_activeHelp 222s 222s if (((directive & shellCompDirectiveFilterFileExt) != 0)); then 222s # File extension filtering 222s local fullFilter="" filter filteringCmd 222s 222s # Do not use quotes around the $completions variable or else newline 222s # characters will be kept. 222s for filter in ${completions[*]}; do 222s fullFilter+="$filter|" 222s done 222s 222s filteringCmd="_filedir $fullFilter" 222s __adsysctl_debug "File filtering command: $filteringCmd" 222s $filteringCmd 222s elif (((directive & shellCompDirectiveFilterDirs) != 0)); then 222s # File completion for directories only 222s 222s local subdir 222s subdir=${completions[0]} 222s if [[ -n $subdir ]]; then 222s __adsysctl_debug "Listing directories in $subdir" 222s pushd "$subdir" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 || return 222s else 222s __adsysctl_debug "Listing directories in ." 222s _filedir -d 222s fi 222s else 222s __adsysctl_handle_completion_types 222s fi 222s 222s __adsysctl_handle_special_char "$cur" : 222s __adsysctl_handle_special_char "$cur" = 222s 222s # Print the activeHelp statements before we finish 222s __adsysctl_handle_activeHelp 222s } 222s 222s __adsysctl_handle_activeHelp() { 222s # Print the activeHelp statements 222s if ((${#activeHelp[*]} != 0)); then 222s if [ -z $COMP_TYPE ]; then 222s # Bash v3 does not set the COMP_TYPE variable. 222s printf "\n"; 222s printf "%s\n" "${activeHelp[@]}" 222s printf "\n" 222s __adsysctl_reprint_commandLine 222s return 222s fi 222s 222s # Only print ActiveHelp on the second TAB press 222s if [ $COMP_TYPE -eq 63 ]; then 222s printf "\n" 222s printf "%s\n" "${activeHelp[@]}" 222s 222s if ((${#COMPREPLY[*]} == 0)); then 222s # When there are no completion choices from the program, file completion 222s # may kick in if the program has not disabled it; in such a case, we want 222s # to know if any files will match what the user typed, so that we know if 222s # there will be completions presented, so that we know how to handle ActiveHelp. 222s # To find out, we actually trigger the file completion ourselves; 222s # the call to _filedir will fill COMPREPLY if files match. 222s if (((directive & shellCompDirectiveNoFileComp) == 0)); then 222s __adsysctl_debug "Listing files" 222s _filedir 222s fi 222s fi 222s 222s if ((${#COMPREPLY[*]} != 0)); then 222s # If there are completion choices to be shown, print a delimiter. 222s # Re-printing the command-line will automatically be done 222s # by the shell when it prints the completion choices. 222s printf -- "--" 222s else 222s # When there are no completion choices at all, we need 222s # to re-print the command-line since the shell will 222s # not be doing it itself. 222s __adsysctl_reprint_commandLine 222s fi 222s elif [ $COMP_TYPE -eq 37 ] || [ $COMP_TYPE -eq 42 ]; then 222s # For completion type: menu-complete/menu-complete-backward and insert-completions 222s # the completions are immediately inserted into the command-line, so we first 222s # print the activeHelp message and reprint the command-line since the shell won't. 222s printf "\n" 222s printf "%s\n" "${activeHelp[@]}" 222s 222s __adsysctl_reprint_commandLine 222s fi 222s fi 222s } 222s 222s __adsysctl_reprint_commandLine() { 222s # The prompt format is only available from bash 4.4. 222s # We test if it is available before using it. 222s if (x=${PS1@P}) 2> /dev/null; then 222s printf "%s" "${PS1@P}${COMP_LINE[@]}" 222s else 222s # Can't print the prompt. Just print the 222s # text the user had typed, it is workable enough. 222s printf "%s" "${COMP_LINE[@]}" 222s fi 222s } 222s 222s # Separate activeHelp lines from real completions. 222s # Fills the $activeHelp and $completions arrays. 222s __adsysctl_extract_activeHelp() { 222s local activeHelpMarker="_activeHelp_ " 222s local endIndex=${#activeHelpMarker} 222s 222s while IFS='' read -r comp; do 222s [[ -z $comp ]] && continue 222s 222s if [[ ${comp:0:endIndex} == $activeHelpMarker ]]; then 222s comp=${comp:endIndex} 222s __adsysctl_debug "ActiveHelp found: $comp" 222s if [[ -n $comp ]]; then 222s activeHelp+=("$comp") 222s fi 222s else 222s # Not an activeHelp line but a normal completion 222s completions+=("$comp") 222s fi 222s done <<<"${out}" 222s } 222s 222s __adsysctl_handle_completion_types() { 222s __adsysctl_debug "__adsysctl_handle_completion_types: COMP_TYPE is $COMP_TYPE" 222s 222s case $COMP_TYPE in 222s 37|42) 222s # Type: menu-complete/menu-complete-backward and insert-completions 222s # If the user requested inserting one completion at a time, or all 222s # completions at once on the command-line we must remove the descriptions. 222s # https://github.com/spf13/cobra/issues/1508 222s 222s # If there are no completions, we don't need to do anything 222s (( ${#completions[@]} == 0 )) && return 0 222s 222s local tab=$'\t' 222s 222s # Strip any description and escape the completion to handled special characters 222s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]%%$tab*}") 222s 222s # Only consider the completions that match 222s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 222s 222s # compgen looses the escaping so we need to escape all completions again since they will 222s # all be inserted on the command-line. 222s IFS=$'\n' read -ra COMPREPLY -d '' < <(printf "%q\n" "${COMPREPLY[@]}") 222s ;; 222s 222s *) 222s # Type: complete (normal completion) 222s __adsysctl_handle_standard_completion_case 222s ;; 222s esac 222s } 222s 222s __adsysctl_handle_standard_completion_case() { 222s local tab=$'\t' 222s 222s # If there are no completions, we don't need to do anything 222s (( ${#completions[@]} == 0 )) && return 0 222s 222s # Short circuit to optimize if we don't have descriptions 222s if [[ "${completions[*]}" != *$tab* ]]; then 222s # First, escape the completions to handle special characters 222s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]}") 222s # Only consider the completions that match what the user typed 222s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 222s 222s # compgen looses the escaping so, if there is only a single completion, we need to 222s # escape it again because it will be inserted on the command-line. If there are multiple 222s # completions, we don't want to escape them because they will be printed in a list 222s # and we don't want to show escape characters in that list. 222s if (( ${#COMPREPLY[@]} == 1 )); then 222s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]}") 222s fi 222s return 0 222s fi 222s 222s local longest=0 222s local compline 222s # Look for the longest completion so that we can format things nicely 222s while IFS='' read -r compline; do 222s [[ -z $compline ]] && continue 222s 222s # Before checking if the completion matches what the user typed, 222s # we need to strip any description and escape the completion to handle special 222s # characters because those escape characters are part of what the user typed. 222s # Don't call "printf" in a sub-shell because it will be much slower 222s # since we are in a loop. 222s printf -v comp "%q" "${compline%%$tab*}" &>/dev/null || comp=$(printf "%q" "${compline%%$tab*}") 222s 222s # Only consider the completions that match 222s [[ $comp == "$cur"* ]] || continue 222s 222s # The completions matches. Add it to the list of full completions including 222s # its description. We don't escape the completion because it may get printed 222s # in a list if there are more than one and we don't want show escape characters 222s # in that list. 222s COMPREPLY+=("$compline") 222s 222s # Strip any description before checking the length, and again, don't escape 222s # the completion because this length is only used when printing the completions 222s # in a list and we don't want show escape characters in that list. 222s comp=${compline%%$tab*} 222s if ((${#comp}>longest)); then 222s longest=${#comp} 222s fi 222s done < <(printf "%s\n" "${completions[@]}") 222s 222s # If there is a single completion left, remove the description text and escape any special characters 222s if ((${#COMPREPLY[*]} == 1)); then 222s __adsysctl_debug "COMPREPLY[0]: ${COMPREPLY[0]}" 222s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]%%$tab*}") 222s __adsysctl_debug "Removed description from single completion, which is now: ${COMPREPLY[0]}" 222s else 222s # Format the descriptions 222s __adsysctl_format_comp_descriptions $longest 222s fi 222s } 222s 222s __adsysctl_handle_special_char() 222s { 222s local comp="$1" 222s local char=$2 222s if [[ "$comp" == *${char}* && "$COMP_WORDBREAKS" == *${char}* ]]; then 222s local word=${comp%"${comp##*${char}}"} 222s local idx=${#COMPREPLY[*]} 222s while ((--idx >= 0)); do 222s COMPREPLY[idx]=${COMPREPLY[idx]#"$word"} 222s done 222s fi 222s } 222s 222s __adsysctl_format_comp_descriptions() 222s { 222s local tab=$'\t' 222s local comp desc maxdesclength 222s local longest=$1 222s 222s local i ci 222s for ci in ${!COMPREPLY[*]}; do 222s comp=${COMPREPLY[ci]} 222s # Properly format the description string which follows a tab character if there is one 222s if [[ "$comp" == *$tab* ]]; then 222s __adsysctl_debug "Original comp: $comp" 222s desc=${comp#*$tab} 222s comp=${comp%%$tab*} 222s 222s # $COLUMNS stores the current shell width. 222s # Remove an extra 4 because we add 2 spaces and 2 parentheses. 222s maxdesclength=$(( COLUMNS - longest - 4 )) 222s 222s # Make sure we can fit a description of at least 8 characters 222s # if we are to align the descriptions. 222s if ((maxdesclength > 8)); then 222s # Add the proper number of spaces to align the descriptions 222s for ((i = ${#comp} ; i < longest ; i++)); do 222s comp+=" " 222s done 222s else 222s # Don't pad the descriptions so we can fit more text after the completion 222s maxdesclength=$(( COLUMNS - ${#comp} - 4 )) 222s fi 222s 222s # If there is enough space for any description text, 222s # truncate the descriptions that are too long for the shell width 222s if ((maxdesclength > 0)); then 222s if ((${#desc} > maxdesclength)); then 222s desc=${desc:0:$(( maxdesclength - 1 ))} 222s desc+="…" 222s fi 222s comp+=" ($desc)" 222s fi 222s COMPREPLY[ci]=$comp 222s __adsysctl_debug "Final comp: $comp" 222s fi 222s done 222s } 222s 222s __start_adsysctl() 222s { 222s local cur prev words cword split 222s 222s COMPREPLY=() 222s 222s # Call _init_completion from the bash-completion package 222s # to prepare the arguments properly 222s if declare -F _init_completion >/dev/null 2>&1; then 222s _init_completion -n =: || return 222s else 222s __adsysctl_init_completion -n =: || return 222s fi 222s 222s __adsysctl_debug 222s __adsysctl_debug "========= starting completion logic ==========" 222s __adsysctl_debug "cur is ${cur}, words[*] is ${words[*]}, #words[@] is ${#words[@]}, cword is $cword" 222s 222s # The user could have moved the cursor backwards on the command-line. 222s # We need to trigger completion from the $cword location, so we need 222s # to truncate the command-line ($words) up to the $cword location. 222s words=("${words[@]:0:$cword+1}") 222s __adsysctl_debug "Truncated words[*]: ${words[*]}," 222s 222s local out directive 222s __adsysctl_get_completion_results 222s __adsysctl_process_completion_results 222s } 222s 222s if [[ $(type -t compopt) = "builtin" ]]; then 222s complete -o default -F __start_adsysctl adsysctl 222s else 222s complete -o default -o nospace -F __start_adsysctl adsysctl 222s fi 222s 222s # ex: ts=4 sw=4 et filetype=sh 222s --- PASS: TestAppCanSigHupAfterExecute (0.00s) 222s === CONT TestAppCanQuitWithoutExecute 222s --- PASS: TestAppCanSigHupWhenExecute (0.00s) 222s --- PASS: TestAppCanQuitWithoutExecute (0.00s) 222s PASS 222s ok github.com/ubuntu/adsys/cmd/adsysd/client 0.171s 227s === RUN TestAppHelp 227s === PAUSE TestAppHelp 227s === RUN TestAppCompletion 227s === PAUSE TestAppCompletion 227s === RUN TestAppVersion 227s --- PASS: TestAppVersion (0.00s) 227s === RUN TestAppNoUsageError 227s === PAUSE TestAppNoUsageError 227s === RUN TestAppUsageError 227s === PAUSE TestAppUsageError 227s === RUN TestAppCanQuitWhenExecute 227s time="2025-10-18T14:43:01Z" level=warning msg="could not get system startup time? Can’t list next refresh: Process org.freedesktop.systemd1 exited with status 1" 227s --- PASS: TestAppCanQuitWhenExecute (0.06s) 227s === RUN TestAppCanQuitAfterExecute 227s time="2025-10-18T14:43:02Z" level=warning msg="could not get system startup time? Can’t list next refresh: Process org.freedesktop.systemd1 exited with status 1" 227s --- PASS: TestAppCanQuitAfterExecute (1.01s) 227s === RUN TestAppCanQuitWithoutExecute 227s === PAUSE TestAppCanQuitWithoutExecute 227s === RUN TestAppRunFailsOnDaemonCreationAndQuit 227s time="2025-10-18T14:43:03Z" level=warning msg="could not get system startup time? Can’t list next refresh: Process org.freedesktop.systemd1 exited with status 1" 227s --- PASS: TestAppRunFailsOnDaemonCreationAndQuit (0.01s) 227s === RUN TestAppRunFailsOnServiceCreationAndQuit 227s --- PASS: TestAppRunFailsOnServiceCreationAndQuit (0.00s) 227s === RUN TestAppCanSigHupWhenExecute 227s time="2025-10-18T14:43:03Z" level=warning msg="could not get system startup time? Can’t list next refresh: Process org.freedesktop.systemd1 exited with status 1" 227s --- PASS: TestAppCanSigHupWhenExecute (0.06s) 227s === RUN TestAppCanSigHupAfterExecute 227s time="2025-10-18T14:43:03Z" level=warning msg="could not get system startup time? Can’t list next refresh: Process org.freedesktop.systemd1 exited with status 1" 227s --- PASS: TestAppCanSigHupAfterExecute (1.01s) 227s === RUN TestAppCanSigHupWithoutExecute 227s --- PASS: TestAppCanSigHupWithoutExecute (0.00s) 227s === RUN TestAppTimeout 227s time="2025-10-18T14:43:04Z" level=warning msg="could not get system startup time? Can’t list next refresh: Process org.freedesktop.systemd1 exited with status 1" 227s --- PASS: TestAppTimeout (1.01s) 227s === RUN TestAppGetRootCmd 227s === PAUSE TestAppGetRootCmd 227s === RUN TestConfigLoad 227s time="2025-10-18T14:43:05Z" level=warning msg="could not get system startup time? Can’t list next refresh: Process org.freedesktop.systemd1 exited with status 1" 227s time="2025-10-18T14:43:05Z" level=info msg="Serving on /tmp/TestConfigLoad1352405768/001/adsys.socket" 227s time="2025-10-18T14:43:05Z" level=info msg="Stopping daemon requested." 227s time="2025-10-18T14:43:05Z" level=info msg="Wait for active requests to close." 227s --- PASS: TestConfigLoad (0.06s) 227s === RUN TestConfigChange 227s time="2025-10-18T14:43:05Z" level=warning msg="could not get system startup time? Can’t list next refresh: Process org.freedesktop.systemd1 exited with status 1" 227s time="2025-10-18T14:43:05Z" level=info msg="Serving on /tmp/TestConfigChange1382325629/001/adsys.socket" 227s time="2025-10-18T14:43:05Z" level=info msg="Stopping daemon requested." 227s time="2025-10-18T14:43:05Z" level=info msg="Wait for active requests to close." 227s time="2025-10-18T14:43:05Z" level=debug msg="All connections have now ended." 227s time="2025-10-18T14:43:05Z" level=debug msg=Quitting 227s --- PASS: TestConfigChange (0.16s) 227s === CONT TestAppHelp 227s === CONT TestAppUsageError 227s Active Directory integration bridging toolset daemon. 227s 227s Usage: 227s adsysd COMMAND [flags] 227s adsysd [command] 227s 227s Available Commands: 227s completion Generate the autocompletion script for the specified shell 227s help Help about any command 227s version Returns version of service and exits 227s 227s Flags: 227s --ad-backend string Active Directory authentication backend (default "sssd") 227s --cache-dir string directory where ADSys caches GPOs downloads and policies. (default "/var/cache/adsys") 227s -c, --config string use a specific configuration file 227s --gpo-list-timeout int time in seconds for the GPO list. 0 for no timeout. (default 10) 227s -h, --help help for adsysd 227s --run-dir string directory where ADSys stores transient information erased on reboot. (default "/run/adsys") 227s -s, --socket string socket path to use between daemon and client. Can be overridden by systemd socket activation. (default "/run/adsysd.sock") 227s --sssd.cache-dir string SSSd cache directory (default "/var/lib/sss/db") 227s --sssd.config string SSSd config file path (default "/etc/sssd/sssd.conf") 227s -t, --timeout int time in seconds without activity before the service exists. 0 for no timeout. (default 120) 227s -v, --verbose count issue INFO (-v), DEBUG (-vv) or DEBUG with caller (-vvv) output 227s 227s Use "adsysd [command] --help" for more information about a command. 227s --- PASS: TestAppHelp (0.00s) 227s === CONT TestAppGetRootCmd 227s --- PASS: TestAppUsageError (0.00s) 227s === CONT TestAppCanQuitWithoutExecute 227s daemon_test.go:104: We need to initialize the daemon first, so this is not possible and will hang forever (ready not closed) 227s --- SKIP: TestAppCanQuitWithoutExecute (0.00s) 227s === CONT TestAppNoUsageError 227s --- PASS: TestAppGetRootCmd (0.00s) 227s === CONT TestAppCompletion 227s # bash completion V2 for adsysd -*- shell-script -*- 227s 227s __adsysd_debug() 227s { 227s if [[ -n ${BASH_COMP_DEBUG_FILE-} ]]; then 227s echo "$*" >> "${BASH_COMP_DEBUG_FILE}" 227s fi 227s } 227s 227s # Macs have bash3 for which the bash-completion package doesn't include 227s # _init_completion. This is a minimal version of that function. 227s __adsysd_init_completion() 227s { 227s COMPREPLY=() 227s _get_comp_words_by_ref "$@" cur prev words cword 227s } 227s 227s # This function calls the adsysd program to obtain the completion 227s # results and the directive. It fills the 'out' and 'directive' vars. 227s __adsysd_get_completion_results() { 227s local requestComp lastParam lastChar args 227s 227s # Prepare the command to request completions for the program. 227s # Calling ${words[0]} instead of directly adsysd allows handling aliases 227s args=("${words[@]:1}") 227s requestComp="${words[0]} __complete ${args[*]}" 227s 227s lastParam=${words[$((${#words[@]}-1))]} 227s lastChar=${lastParam:$((${#lastParam}-1)):1} 227s __adsysd_debug "lastParam ${lastParam}, lastChar ${lastChar}" 227s 227s if [[ -z ${cur} && ${lastChar} != = ]]; then 227s # If the last parameter is complete (there is a space following it) 227s # We add an extra empty parameter so we can indicate this to the go method. 227s __adsysd_debug "Adding extra empty parameter" 227s requestComp="${requestComp} ''" 227s fi 227s 227s # When completing a flag with an = (e.g., adsysd -n=) 227s # bash focuses on the part after the =, so we need to remove 227s # the flag part from $cur 227s if [[ ${cur} == -*=* ]]; then 227s cur="${cur#*=}" 227s fi 227s 227s __adsysd_debug "Calling ${requestComp}" 227s # Use eval to handle any environment variables and such 227s out=$(eval "${requestComp}" 2>/dev/null) 227s 227s # Extract the directive integer at the very end of the output following a colon (:) 227s directive=${out##*:} 227s # Remove the directive 227s out=${out%:*} 227s if [[ ${directive} == "${out}" ]]; then 227s # There is not directive specified 227s directive=0 227s fi 227s __adsysd_debug "The completion directive is: ${directive}" 227s __adsysd_debug "The completions are: ${out}" 227s } 227s 227s __adsysd_process_completion_results() { 227s local shellCompDirectiveError=1 227s local shellCompDirectiveNoSpace=2 227s local shellCompDirectiveNoFileComp=4 227s local shellCompDirectiveFilterFileExt=8 227s local shellCompDirectiveFilterDirs=16 227s local shellCompDirectiveKeepOrder=32 227s 227s if (((directive & shellCompDirectiveError) != 0)); then 227s # Error code. No completion. 227s __adsysd_debug "Received error from custom completion go code" 227s return 227s else 227s if (((directive & shellCompDirectiveNoSpace) != 0)); then 227s if [[ $(type -t compopt) == builtin ]]; then 227s __adsysd_debug "Activating no space" 227s compopt -o nospace 227s else 227s __adsysd_debug "No space directive not supported in this version of bash" 227s fi 227s fi 227s if (((directive & shellCompDirectiveKeepOrder) != 0)); then 227s if [[ $(type -t compopt) == builtin ]]; then 227s # no sort isn't supported for bash less than < 4.4 227s if [[ ${BASH_VERSINFO[0]} -lt 4 || ( ${BASH_VERSINFO[0]} -eq 4 && ${BASH_VERSINFO[1]} -lt 4 ) ]]; then 227s __adsysd_debug "No sort directive not supported in this version of bash" 227s else 227s __adsysd_debug "Activating keep order" 227s compopt -o nosort 227s fi 227s else 227s __adsysd_debug "No sort directive not supported in this version of bash" 227s fi 227s fi 227s if (((directive & shellCompDirectiveNoFileComp) != 0)); then 227s if [[ $(type -t compopt) == builtin ]]; then 227s __adsysd_debug "Activating no file completion" 227s compopt +o default 227s else 227s __adsysd_debug "No file completion directive not supported in this version of bash" 227s fi 227s fi 227s fi 227s 227s # Separate activeHelp from normal completions 227s local completions=() 227s local activeHelp=() 227s __adsysd_extract_activeHelp 227s 227s if (((directive & shellCompDirectiveFilterFileExt) != 0)); then 227s # File extension filtering 227s local fullFilter="" filter filteringCmd 227s 227s # Do not use quotes around the $completions variable or else newline 227s # characters will be kept. 227s for filter in ${completions[*]}; do 227s fullFilter+="$filter|" 227s done 227s 227s filteringCmd="_filedir $fullFilter" 227s __adsysd_debug "File filtering command: $filteringCmd" 227s $filteringCmd 227s elif (((directive & shellCompDirectiveFilterDirs) != 0)); then 227s # File completion for directories only 227s 227s local subdir 227s subdir=${completions[0]} 227s if [[ -n $subdir ]]; then 227s __adsysd_debug "Listing directories in $subdir" 227s pushd "$subdir" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 || return 227s else 227s __adsysd_debug "Listing directories in ." 227s _filedir -d 227s fi 227s else 227s __adsysd_handle_completion_types 227s fi 227s 227s __adsysd_handle_special_char "$cur" : 227s __adsysd_handle_special_char "$cur" = 227s 227s # Print the activeHelp statements before we finish 227s __adsysd_handle_activeHelp 227s } 227s 227s __adsysd_handle_activeHelp() { 227s # Print the activeHelp statements 227s if ((${#activeHelp[*]} != 0)); then 227s if [ -z $COMP_TYPE ]; then 227s # Bash v3 does not set the COMP_TYPE variable. 227s printf "\n"; 227s printf "%s\n" "${activeHelp[@]}" 227s printf "\n" 227s __adsysd_reprint_commandLine 227s return 227s fi 227s 227s # Only print ActiveHelp on the second TAB press 227s if [ $COMP_TYPE -eq 63 ]; then 227s printf "\n" 227s printf "%s\n" "${activeHelp[@]}" 227s 227s if ((${#COMPREPLY[*]} == 0)); then 227s # When there are no completion choices from the program, file completion 227s # may kick in if the program has not disabled it; in such a case, we want 227s # to know if any files will match what the user typed, so that we know if 227s # there will be completions presented, so that we know how to handle ActiveHelp. 227s # To find out, we actually trigger the file completion ourselves; 227s # the call to _filedir will fill COMPREPLY if files match. 227s if (((directive & shellCompDirectiveNoFileComp) == 0)); then 227s __adsysd_debug "Listing files" 227s _filedir 227s fi 227s fi 227s 227s if ((${#COMPREPLY[*]} != 0)); then 227s # If there are completion choices to be shown, print a delimiter. 227s # Re-printing the command-line will automatically be done 227s # by the shell when it prints the completion choices. 227s printf -- "--" 227s else 227s # When there are no completion choices at all, we need 227s # to re-print the command-line since the shell will 227s # not be doing it itself. 227s __adsysd_reprint_commandLine 227s fi 227s elif [ $COMP_TYPE -eq 37 ] || [ $COMP_TYPE -eq 42 ]; then 227s # For completion type: menu-complete/menu-complete-backward and insert-completions 227s # the completions are immediately inserted into the command-line, so we first 227s # print the activeHelp message and reprint the command-line since the shell won't. 227s printf "\n" 227s printf "%s\n" "${activeHelp[@]}" 227s 227s __adsysd_reprint_commandLine 227s fi 227s fi 227s } 227s 227s __adsysd_reprint_commandLine() { 227s # The prompt format is only available from bash 4.4. 227s # We test if it is available before using it. 227s if (x=${PS1@P}) 2> /dev/null; then 227s printf "%s" "${PS1@P}${COMP_LINE[@]}" 227s else 227s # Can't print the prompt. Just print the 227s # text the user had typed, it is workable enough. 227s printf "%s" "${COMP_LINE[@]}" 227s fi 227s } 227s 227s # Separate activeHelp lines from real completions. 227s # Fills the $activeHelp and $completions arrays. 227s __adsysd_extract_activeHelp() { 227s local activeHelpMarker="_activeHelp_ " 227s local endIndex=${#activeHelpMarker} 227s 227s while IFS='' read -r comp; do 227s [[ -z $comp ]] && continue 227s 227s if [[ ${comp:0:endIndex} == $activeHelpMarker ]]; then 227s comp=${comp:endIndex} 227s __adsysd_debug "ActiveHelp found: $comp" 227s if [[ -n $comp ]]; then 227s activeHelp+=("$comp") 227s fi 227s else 227s # Not an activeHelp line but a normal completion 227s completions+=("$comp") 227s fi 227s done <<<"${out}" 227s } 227s 227s __adsysd_handle_completion_types() { 227s __adsysd_debug "__adsysd_handle_completion_types: COMP_TYPE is $COMP_TYPE" 227s 227s case $COMP_TYPE in 227s 37|42) 227s # Type: menu-complete/menu-complete-backward and insert-completions 227s # If the user requested inserting one completion at a time, or all 227s # completions at once on the command-line we must remove the descriptions. 227s # https://github.com/spf13/cobra/issues/1508 227s 227s # If there are no completions, we don't need to do anything 227s (( ${#completions[@]} == 0 )) && return 0 227s 227s local tab=$'\t' 227s 227s # Strip any description and escape the completion to handled special characters 227s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]%%$tab*}") 227s 227s # Only consider the completions that match 227s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 227s 227s # compgen looses the escaping so we need to escape all completions again since they will 227s # all be inserted on the command-line. 227s IFS=$'\n' read -ra COMPREPLY -d '' < <(printf "%q\n" "${COMPREPLY[@]}") 227s ;; 227s 227s *) 227s # Type: complete (normal completion) 227s __adsysd_handle_standard_completion_case 227s ;; 227s esac 227s } 227s 227s __adsysd_handle_standard_completion_case() { 227s local tab=$'\t' 227s 227s # If there are no completions, we don't need to do anything 227s (( ${#completions[@]} == 0 )) && return 0 227s 227s # Short circuit to optimize if we don't have descriptions 227s if [[ "${completions[*]}" != *$tab* ]]; then 227s # First, escape the completions to handle special characters 227s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]}") 227s # Only consider the completions that match what the user typed 227s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 227s 227s # compgen looses the escaping so, if there is only a single completion, we need to 227s # escape it again because it will be inserted on the command-line. If there are multiple 227s # completions, we don't want to escape them because they will be printed in a list 227s # and we don't want to show escape characters in that list. 227s if (( ${#COMPREPLY[@]} == 1 )); then 227s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]}") 227s fi 227s return 0 227s fi 227s 227s local longest=0 227s local compline 227s # Look for the longest completion so that we can format things nicely 227s while IFS='' read -r compline; do 227s [[ -z $compline ]] && continue 227s 227s # Before checking if the completion matches what the user typed, 227s # we need to strip any description and escape the completion to handle special 227s # characters because those escape characters are part of what the user typed. 227s # Don't call "printf" in a sub-shell because it will be much slower 227s # since we are in a loop. 227s printf -v comp "%q" "${compline%%$tab*}" &>/dev/null || comp=$(printf "%q" "${compline%%$tab*}") 227s 227s # Only consider the completions that match 227s [[ $comp == "$cur"* ]] || continue 227s 227s # The completions matches. Add it to the list of full completions including 227s # its description. We don't escape the completion because it may get printed 227s # in a list if there are more than one and we don't want show escape characters 227s # in that list. 227s COMPREPLY+=("$compline") 227s 227s # Strip any description before checking the length, and again, don't escape 227s # the completion because this length is only used when printing the completions 227s # in a list and we don't want show escape characters in that list. 227s comp=${compline%%$tab*} 227s if ((${#comp}>longest)); then 227s longest=${#comp} 227s fi 227s done < <(printf "%s\n" "${completions[@]}") 227s 227s # If there is a single completion left, remove the description text and escape any special characters 227s if ((${#COMPREPLY[*]} == 1)); then 227s __adsysd_debug "COMPREPLY[0]: ${COMPREPLY[0]}" 227s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]%%$tab*}") 227s __adsysd_debug "Removed description from single completion, which is now: ${COMPREPLY[0]}" 227s else 227s # Format the descriptions 227s __adsysd_format_comp_descriptions $longest 227s fi 227s } 227s 227s __adsysd_handle_special_char() 227s { 227s local comp="$1" 227s local char=$2 227s if [[ "$comp" == *${char}* && "$COMP_WORDBREAKS" == *${char}* ]]; then 227s local word=${comp%"${comp##*${char}}"} 227s local idx=${#COMPREPLY[*]} 227s while ((--idx >= 0)); do 227s COMPREPLY[idx]=${COMPREPLY[idx]#"$word"} 227s done 227s fi 227s } 227s 227s __adsysd_format_comp_descriptions() 227s { 227s local tab=$'\t' 227s local comp desc maxdesclength 227s local longest=$1 227s 227s local i ci 227s for ci in ${!COMPREPLY[*]}; do 227s comp=${COMPREPLY[ci]} 227s # Properly format the description string which follows a tab character if there is one 227s if [[ "$comp" == *$tab* ]]; then 227s __adsysd_debug "Original comp: $comp" 227s desc=${comp#*$tab} 227s comp=${comp%%$tab*} 227s 227s # $COLUMNS stores the current shell width. 227s # Remove an extra 4 because we add 2 spaces and 2 parentheses. 227s maxdesclength=$(( COLUMNS - longest - 4 )) 227s 227s # Make sure we can fit a description of at least 8 characters 227s # if we are to align the descriptions. 227s if ((maxdesclength > 8)); then 227s # Add the proper number of spaces to align the descriptions 227s for ((i = ${#comp} ; i < longest ; i++)); do 227s comp+=" " 227s done 227s else 227s # Don't pad the descriptions so we can fit more text after the completion 227s maxdesclength=$(( COLUMNS - ${#comp} - 4 )) 227s fi 227s 227s # If there is enough space for any description text, 227s # truncate the descriptions that are too long for the shell width 227s if ((maxdesclength > 0)); then 227s if ((${#desc} > maxdesclength)); then 227s desc=${desc:0:$(( maxdesclength - 1 ))} 227s desc+="…" 227s fi 227s comp+=" ($desc)" 227s fi 227s COMPREPLY[ci]=$comp 227s __adsysd_debug "Final comp: $comp" 227s fi 227s done 227s } 227s 227s __start_adsysd() 227s { 227s local cur prev words cword split 227s 227s COMPREPLY=() 227s 227s # Call _init_completion from the bash-completion package 227s # to prepare the arguments properly 227s if declare -F _init_completion >/dev/null 2>&1; then 227s _init_completion -n =: || return 227s else 227s __adsysd_init_completion -n =: || return 227s fi 227s 227s __adsysd_debug 227s __adsysd_debug "========= starting completion logic ==========" 227s __adsysd_debug "cur is ${cur}, words[*] is ${words[*]}, #words[@] is ${#words[@]}, cword is $cword" 227s 227s # The user could have moved the cursor backwards on the command-line. 227s # We need to trigger completion from the $cword location, so we need 227s # to truncate the command-line ($words) up to the $cword location. 227s words=("${words[@]:0:$cword+1}") 227s __adsysd_debug "Truncated words[*]: ${words[*]}," 227s 227s local out directive 227s __adsysd_get_completion_results 227s __adsysd_process_completion_results 227s } 227s 227s if [[ $(type -t compopt) = "builtin" ]]; then 227s complete -o default -F __start_adsysd adsysd 227s else 227s complete -o default -o nospace -F __start_adsysd adsysd 227s fi 227s 227s # ex: ts=4 sw=4 et filetype=sh 227s --- PASS: TestAppNoUsageError (0.00s) 227s # bash completion V2 for adsysd -*- shell-script -*- 227s 227s __adsysd_debug() 227s { 227s if [[ -n ${BASH_COMP_DEBUG_FILE-} ]]; then 227s echo "$*" >> "${BASH_COMP_DEBUG_FILE}" 227s fi 227s } 227s 227s # Macs have bash3 for which the bash-completion package doesn't include 227s # _init_completion. This is a minimal version of that function. 227s __adsysd_init_completion() 227s { 227s COMPREPLY=() 227s _get_comp_words_by_ref "$@" cur prev words cword 227s } 227s 227s # This function calls the adsysd program to obtain the completion 227s # results and the directive. It fills the 'out' and 'directive' vars. 227s __adsysd_get_completion_results() { 227s local requestComp lastParam lastChar args 227s 227s # Prepare the command to request completions for the program. 227s # Calling ${words[0]} instead of directly adsysd allows handling aliases 227s args=("${words[@]:1}") 227s requestComp="${words[0]} __complete ${args[*]}" 227s 227s lastParam=${words[$((${#words[@]}-1))]} 227s lastChar=${lastParam:$((${#lastParam}-1)):1} 227s __adsysd_debug "lastParam ${lastParam}, lastChar ${lastChar}" 227s 227s if [[ -z ${cur} && ${lastChar} != = ]]; then 227s # If the last parameter is complete (there is a space following it) 227s # We add an extra empty parameter so we can indicate this to the go method. 227s __adsysd_debug "Adding extra empty parameter" 227s requestComp="${requestComp} ''" 227s fi 227s 227s # When completing a flag with an = (e.g., adsysd -n=) 227s # bash focuses on the part after the =, so we need to remove 227s # the flag part from $cur 227s if [[ ${cur} == -*=* ]]; then 227s cur="${cur#*=}" 227s fi 227s 227s __adsysd_debug "Calling ${requestComp}" 227s # Use eval to handle any environment variables and such 227s out=$(eval "${requestComp}" 2>/dev/null) 227s 227s # Extract the directive integer at the very end of the output following a colon (:) 227s directive=${out##*:} 227s # Remove the directive 227s out=${out%:*} 227s if [[ ${directive} == "${out}" ]]; then 227s # There is not directive specified 227s directive=0 227s fi 227s __adsysd_debug "The completion directive is: ${directive}" 227s __adsysd_debug "The completions are: ${out}" 227s } 227s 227s __adsysd_process_completion_results() { 227s local shellCompDirectiveError=1 227s local shellCompDirectiveNoSpace=2 227s local shellCompDirectiveNoFileComp=4 227s local shellCompDirectiveFilterFileExt=8 227s local shellCompDirectiveFilterDirs=16 227s local shellCompDirectiveKeepOrder=32 227s 227s if (((directive & shellCompDirectiveError) != 0)); then 227s # Error code. No completion. 227s __adsysd_debug "Received error from custom completion go code" 227s return 227s else 227s if (((directive & shellCompDirectiveNoSpace) != 0)); then 227s if [[ $(type -t compopt) == builtin ]]; then 227s __adsysd_debug "Activating no space" 227s compopt -o nospace 227s else 227s __adsysd_debug "No space directive not supported in this version of bash" 227s fi 227s fi 227s if (((directive & shellCompDirectiveKeepOrder) != 0)); then 227s if [[ $(type -t compopt) == builtin ]]; then 227s # no sort isn't supported for bash less than < 4.4 227s if [[ ${BASH_VERSINFO[0]} -lt 4 || ( ${BASH_VERSINFO[0]} -eq 4 && ${BASH_VERSINFO[1]} -lt 4 ) ]]; then 227s __adsysd_debug "No sort directive not supported in this version of bash" 227s else 227s __adsysd_debug "Activating keep order" 227s compopt -o nosort 227s fi 227s else 227s __adsysd_debug "No sort directive not supported in this version of bash" 227s fi 227s fi 227s if (((directive & shellCompDirectiveNoFileComp) != 0)); then 227s if [[ $(type -t compopt) == builtin ]]; then 227s __adsysd_debug "Activating no file completion" 227s compopt +o default 227s else 227s __adsysd_debug "No file completion directive not supported in this version of bash" 227s fi 227s fi 227s fi 227s 227s # Separate activeHelp from normal completions 227s local completions=() 227s local activeHelp=() 227s __adsysd_extract_activeHelp 227s 227s if (((directive & shellCompDirectiveFilterFileExt) != 0)); then 227s # File extension filtering 227s local fullFilter="" filter filteringCmd 227s 227s # Do not use quotes around the $completions variable or else newline 227s # characters will be kept. 227s for filter in ${completions[*]}; do 227s fullFilter+="$filter|" 227s done 227s 227s filteringCmd="_filedir $fullFilter" 227s __adsysd_debug "File filtering command: $filteringCmd" 227s $filteringCmd 227s elif (((directive & shellCompDirectiveFilterDirs) != 0)); then 227s # File completion for directories only 227s 227s local subdir 227s subdir=${completions[0]} 227s if [[ -n $subdir ]]; then 227s __adsysd_debug "Listing directories in $subdir" 227s pushd "$subdir" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 || return 227s else 227s __adsysd_debug "Listing directories in ." 227s _filedir -d 227s fi 227s else 227s __adsysd_handle_completion_types 227s fi 227s 227s __adsysd_handle_special_char "$cur" : 227s __adsysd_handle_special_char "$cur" = 227s 227s # Print the activeHelp statements before we finish 227s __adsysd_handle_activeHelp 227s } 227s 227s __adsysd_handle_activeHelp() { 227s # Print the activeHelp statements 227s if ((${#activeHelp[*]} != 0)); then 227s if [ -z $COMP_TYPE ]; then 227s # Bash v3 does not set the COMP_TYPE variable. 227s printf "\n"; 227s printf "%s\n" "${activeHelp[@]}" 227s printf "\n" 227s __adsysd_reprint_commandLine 227s return 227s fi 227s 227s # Only print ActiveHelp on the second TAB press 227s if [ $COMP_TYPE -eq 63 ]; then 227s printf "\n" 227s printf "%s\n" "${activeHelp[@]}" 227s 227s if ((${#COMPREPLY[*]} == 0)); then 227s # When there are no completion choices from the program, file completion 227s # may kick in if the program has not disabled it; in such a case, we want 227s # to know if any files will match what the user typed, so that we know if 227s # there will be completions presented, so that we know how to handle ActiveHelp. 227s # To find out, we actually trigger the file completion ourselves; 227s # the call to _filedir will fill COMPREPLY if files match. 227s if (((directive & shellCompDirectiveNoFileComp) == 0)); then 227s __adsysd_debug "Listing files" 227s _filedir 227s fi 227s fi 227s 227s if ((${#COMPREPLY[*]} != 0)); then 227s # If there are completion choices to be shown, print a delimiter. 227s # Re-printing the command-line will automatically be done 227s # by the shell when it prints the completion choices. 227s printf -- "--" 227s else 227s # When there are no completion choices at all, we need 227s # to re-print the command-line since the shell will 227s # not be doing it itself. 227s __adsysd_reprint_commandLine 227s fi 227s elif [ $COMP_TYPE -eq 37 ] || [ $COMP_TYPE -eq 42 ]; then 227s # For completion type: menu-complete/menu-complete-backward and insert-completions 227s # the completions are immediately inserted into the command-line, so we first 227s # print the activeHelp message and reprint the command-line since the shell won't. 227s printf "\n" 227s printf "%s\n" "${activeHelp[@]}" 227s 227s __adsysd_reprint_commandLine 227s fi 227s fi 227s } 227s 227s __adsysd_reprint_commandLine() { 227s # The prompt format is only available from bash 4.4. 227s # We test if it is available before using it. 227s if (x=${PS1@P}) 2> /dev/null; then 227s printf "%s" "${PS1@P}${COMP_LINE[@]}" 227s else 227s # Can't print the prompt. Just print the 227s # text the user had typed, it is workable enough. 227s printf "%s" "${COMP_LINE[@]}" 227s fi 227s } 227s 227s # Separate activeHelp lines from real completions. 227s # Fills the $activeHelp and $completions arrays. 227s __adsysd_extract_activeHelp() { 227s local activeHelpMarker="_activeHelp_ " 227s local endIndex=${#activeHelpMarker} 227s 227s while IFS='' read -r comp; do 227s [[ -z $comp ]] && continue 227s 227s if [[ ${comp:0:endIndex} == $activeHelpMarker ]]; then 227s comp=${comp:endIndex} 227s __adsysd_debug "ActiveHelp found: $comp" 227s if [[ -n $comp ]]; then 227s activeHelp+=("$comp") 227s fi 227s else 227s # Not an activeHelp line but a normal completion 227s completions+=("$comp") 227s fi 227s done <<<"${out}" 227s } 227s 227s __adsysd_handle_completion_types() { 227s __adsysd_debug "__adsysd_handle_completion_types: COMP_TYPE is $COMP_TYPE" 227s 227s case $COMP_TYPE in 227s 37|42) 227s # Type: menu-complete/menu-complete-backward and insert-completions 227s # If the user requested inserting one completion at a time, or all 227s # completions at once on the command-line we must remove the descriptions. 227s # https://github.com/spf13/cobra/issues/1508 227s 227s # If there are no completions, we don't need to do anything 227s (( ${#completions[@]} == 0 )) && return 0 227s 227s local tab=$'\t' 227s 227s # Strip any description and escape the completion to handled special characters 227s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]%%$tab*}") 227s 227s # Only consider the completions that match 227s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 227s 227s # compgen looses the escaping so we need to escape all completions again since they will 227s # all be inserted on the command-line. 227s IFS=$'\n' read -ra COMPREPLY -d '' < <(printf "%q\n" "${COMPREPLY[@]}") 227s ;; 227s 227s *) 227s # Type: complete (normal completion) 227s __adsysd_handle_standard_completion_case 227s ;; 227s esac 227s } 227s 227s __adsysd_handle_standard_completion_case() { 227s local tab=$'\t' 227s 227s # If there are no completions, we don't need to do anything 227s (( ${#completions[@]} == 0 )) && return 0 227s 227s # Short circuit to optimize if we don't have descriptions 227s if [[ "${completions[*]}" != *$tab* ]]; then 227s # First, escape the completions to handle special characters 227s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]}") 227s # Only consider the completions that match what the user typed 227s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 227s 227s # compgen looses the escaping so, if there is only a single completion, we need to 227s # escape it again because it will be inserted on the command-line. If there are multiple 227s # completions, we don't want to escape them because they will be printed in a list 227s # and we don't want to show escape characters in that list. 227s if (( ${#COMPREPLY[@]} == 1 )); then 227s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]}") 227s fi 227s return 0 227s fi 227s 227s local longest=0 227s local compline 227s # Look for the longest completion so that we can format things nicely 227s while IFS='' read -r compline; do 227s [[ -z $compline ]] && continue 227s 227s # Before checking if the completion matches what the user typed, 227s # we need to strip any description and escape the completion to handle special 227s # characters because those escape characters are part of what the user typed. 227s # Don't call "printf" in a sub-shell because it will be much slower 227s # since we are in a loop. 227s printf -v comp "%q" "${compline%%$tab*}" &>/dev/null || comp=$(printf "%q" "${compline%%$tab*}") 227s 227s # Only consider the completions that match 227s [[ $comp == "$cur"* ]] || continue 227s 227s # The completions matches. Add it to the list of full completions including 227s # its description. We don't escape the completion because it may get printed 227s # in a list if there are more than one and we don't want show escape characters 227s # in that list. 227s COMPREPLY+=("$compline") 227s 227s # Strip any description before checking the length, and again, don't escape 227s # the completion because this length is only used when printing the completions 227s # in a list and we don't want show escape characters in that list. 227s comp=${compline%%$tab*} 227s if ((${#comp}>longest)); then 227s longest=${#comp} 227s fi 227s done < <(printf "%s\n" "${completions[@]}") 227s 227s # If there is a single completion left, remove the description text and escape any special characters 227s if ((${#COMPREPLY[*]} == 1)); then 227s __adsysd_debug "COMPREPLY[0]: ${COMPREPLY[0]}" 227s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]%%$tab*}") 227s __adsysd_debug "Removed description from single completion, which is now: ${COMPREPLY[0]}" 227s else 227s # Format the descriptions 227s __adsysd_format_comp_descriptions $longest 227s fi 227s } 227s 227s __adsysd_handle_special_char() 227s { 227s local comp="$1" 227s local char=$2 227s if [[ "$comp" == *${char}* && "$COMP_WORDBREAKS" == *${char}* ]]; then 227s local word=${comp%"${comp##*${char}}"} 227s local idx=${#COMPREPLY[*]} 227s while ((--idx >= 0)); do 227s COMPREPLY[idx]=${COMPREPLY[idx]#"$word"} 227s done 227s fi 227s } 227s 227s __adsysd_format_comp_descriptions() 227s { 227s local tab=$'\t' 227s local comp desc maxdesclength 227s local longest=$1 227s 227s local i ci 227s for ci in ${!COMPREPLY[*]}; do 227s comp=${COMPREPLY[ci]} 227s # Properly format the description string which follows a tab character if there is one 227s if [[ "$comp" == *$tab* ]]; then 227s __adsysd_debug "Original comp: $comp" 227s desc=${comp#*$tab} 227s comp=${comp%%$tab*} 227s 227s # $COLUMNS stores the current shell width. 227s # Remove an extra 4 because we add 2 spaces and 2 parentheses. 227s maxdesclength=$(( COLUMNS - longest - 4 )) 227s 227s # Make sure we can fit a description of at least 8 characters 227s # if we are to align the descriptions. 227s if ((maxdesclength > 8)); then 227s # Add the proper number of spaces to align the descriptions 227s for ((i = ${#comp} ; i < longest ; i++)); do 227s comp+=" " 227s done 227s else 227s # Don't pad the descriptions so we can fit more text after the completion 227s maxdesclength=$(( COLUMNS - ${#comp} - 4 )) 227s fi 227s 227s # If there is enough space for any description text, 227s # truncate the descriptions that are too long for the shell width 227s if ((maxdesclength > 0)); then 227s if ((${#desc} > maxdesclength)); then 227s desc=${desc:0:$(( maxdesclength - 1 ))} 227s desc+="…" 227s fi 227s comp+=" ($desc)" 227s fi 227s COMPREPLY[ci]=$comp 227s __adsysd_debug "Final comp: $comp" 227s fi 227s done 227s } 227s 227s __start_adsysd() 227s { 227s local cur prev words cword split 227s 227s COMPREPLY=() 227s 227s # Call _init_completion from the bash-completion package 227s # to prepare the arguments properly 227s if declare -F _init_completion >/dev/null 2>&1; then 227s _init_completion -n =: || return 227s else 227s __adsysd_init_completion -n =: || return 227s fi 227s 227s __adsysd_debug 227s __adsysd_debug "========= starting completion logic ==========" 227s __adsysd_debug "cur is ${cur}, words[*] is ${words[*]}, #words[@] is ${#words[@]}, cword is $cword" 227s 227s # The user could have moved the cursor backwards on the command-line. 227s # We need to trigger completion from the $cword location, so we need 227s # to truncate the command-line ($words) up to the $cword location. 227s words=("${words[@]:0:$cword+1}") 227s __adsysd_debug "Truncated words[*]: ${words[*]}," 227s 227s local out directive 227s __adsysd_get_completion_results 227s __adsysd_process_completion_results 227s } 227s 227s if [[ $(type -t compopt) = "builtin" ]]; then 227s complete -o default -F __start_adsysd adsysd 227s else 227s complete -o default -o nospace -F __start_adsysd adsysd 227s fi 227s 227s # ex: ts=4 sw=4 et filetype=sh 227s --- PASS: TestAppCompletion (0.00s) 227s PASS 227s ok github.com/ubuntu/adsys/cmd/adsysd/daemon 3.477s 227s Integration tests skipped as requested 227s ok github.com/ubuntu/adsys/cmd/adsysd/integration_tests 0.113s 228s === RUN TestRun 228s === RUN TestRun/Run_and_return_usage_error 228s ERROR Error requested 228s === RUN TestRun/Run_and_usage_error_only_does_not_fail 228s === RUN TestRun/Send_SIGINT_exits 228s === RUN TestRun/Send_SIGTERM_exits 228s === RUN TestRun/Run_and_exit_successfully 228s === RUN TestRun/Run_and_return_error 228s ERROR Error requested 228s --- PASS: TestRun (0.61s) 228s --- PASS: TestRun/Run_and_return_usage_error (0.10s) 228s --- PASS: TestRun/Run_and_usage_error_only_does_not_fail (0.10s) 228s --- PASS: TestRun/Send_SIGINT_exits (0.10s) 228s --- PASS: TestRun/Send_SIGTERM_exits (0.10s) 228s --- PASS: TestRun/Run_and_exit_successfully (0.10s) 228s --- PASS: TestRun/Run_and_return_error (0.10s) 228s === RUN TestMainApp 228s --- PASS: TestMainApp (0.61s) 228s PASS 228s ok github.com/ubuntu/adsys/cmd/adwatchd 1.241s 228s ? github.com/ubuntu/adsys/cmd/adwatchd/commands [no test files] 228s Test has to be run as root, skipping... 228s ok github.com/ubuntu/adsys/cmd/adwatchd/integration_tests 0.029s 228s ? github.com/ubuntu/adsys/docs [no test files] 228s ? github.com/ubuntu/adsys/e2e/cmd/build_base_image/00_check_vm_image [no test files] 230s ? github.com/ubuntu/adsys/e2e/cmd/build_base_image/01_prepare_base_vm [no test files] 230s ? github.com/ubuntu/adsys/e2e/cmd/build_base_image/02_create_vm_template [no test files] 230s ? github.com/ubuntu/adsys/e2e/cmd/build_base_image/99_destroy_previous_versions [no test files] 230s ? github.com/ubuntu/adsys/e2e/cmd/run_tests/00_build_adsys_deb [no test files] 230s ? github.com/ubuntu/adsys/e2e/cmd/run_tests/01_provision_client [no test files] 231s ? github.com/ubuntu/adsys/e2e/cmd/run_tests/02_provision_ad [no test files] 231s ? github.com/ubuntu/adsys/e2e/cmd/run_tests/03_pam_coverage_support [no test files] 231s ? github.com/ubuntu/adsys/e2e/cmd/run_tests/10_test_non_pro_managers [no test files] 231s ? github.com/ubuntu/adsys/e2e/cmd/run_tests/11_test_pro_managers [no test files] 231s ? github.com/ubuntu/adsys/e2e/cmd/run_tests/12_test_pam_krb5cc [no test files] 231s ? github.com/ubuntu/adsys/e2e/cmd/run_tests/98_collect_pam_coverage [no test files] 231s ? github.com/ubuntu/adsys/e2e/cmd/run_tests/99_deprovision [no test files] 231s ? github.com/ubuntu/adsys/e2e/internal/az [no test files] 231s === RUN TestAddFlags 231s --- PASS: TestAddFlags (0.00s) 231s === RUN TestInventory 231s === RUN TestInventory/From_null_state_doesn't_require_existing_data 231s === RUN TestInventory/From_existing_state_requires_existing_data 231s === RUN TestInventory/To_null_state_doesn't_write_data 231s === RUN TestInventory/Multiple_from_states_requires_at_least_one 231s === RUN TestInventory/Error_if_inventory_file_is_required_and_doesn't_exist 231s time="2025-10-18T14:43:09Z" level=error msg="Failed to read inventory file required by the current script: failed to read inventory file: open /tmp/TestInventoryError_if_inventory_file_is_required_and_doesnt_ex993884070/001/inventory/inventory.yaml: no such file or directory. Please refer to the previous script in the series" 231s === RUN TestInventory/Error_if_inventory_state_does_not_match_expected_state 231s time="2025-10-18T14:43:09Z" level=error msg="Inventory file is not in any of the expected initial states: [template_created ]" 231s === RUN TestInventory/Error_if_inventory_state_does_not_match_any_expected_state 231s time="2025-10-18T14:43:09Z" level=error msg="Inventory file is not in any of the expected initial states: [template_created ]" 231s --- PASS: TestInventory (0.01s) 231s --- PASS: TestInventory/From_null_state_doesn't_require_existing_data (0.00s) 231s --- PASS: TestInventory/From_existing_state_requires_existing_data (0.00s) 231s --- PASS: TestInventory/To_null_state_doesn't_write_data (0.00s) 231s --- PASS: TestInventory/Multiple_from_states_requires_at_least_one (0.00s) 231s --- PASS: TestInventory/Error_if_inventory_file_is_required_and_doesn't_exist (0.00s) 231s --- PASS: TestInventory/Error_if_inventory_state_does_not_match_expected_state (0.00s) 231s --- PASS: TestInventory/Error_if_inventory_state_does_not_match_any_expected_state (0.00s) 231s === RUN TestExecute 231s === RUN TestExecute/Error_when_action_fails 231s time="2025-10-18T14:43:09Z" level=error msg="requested error" 231s === RUN TestExecute/Error_when_validation_fails 231s time="2025-10-18T14:43:09Z" level=error msg="requested error" 231s === RUN TestExecute/Error_when_both_action_and_validation_fail 231s time="2025-10-18T14:43:09Z" level=error msg="requested error" 231s === RUN TestExecute/Action_succeeds 231s === RUN TestExecute/Action_and_validation_succeed 231s --- PASS: TestExecute (0.00s) 231s --- PASS: TestExecute/Error_when_action_fails (0.00s) 231s --- PASS: TestExecute/Error_when_validation_fails (0.00s) 231s --- PASS: TestExecute/Error_when_both_action_and_validation_fail (0.00s) 231s --- PASS: TestExecute/Action_succeeds (0.00s) 231s --- PASS: TestExecute/Action_and_validation_succeed (0.00s) 231s PASS 231s ok github.com/ubuntu/adsys/e2e/internal/command 0.023s 231s ? github.com/ubuntu/adsys/e2e/internal/inventory [no test files] 231s ? github.com/ubuntu/adsys/e2e/internal/remote [no test files] 231s ? github.com/ubuntu/adsys/e2e/scripts [no test files] 243s === RUN TestFetch 243s === PAUSE TestFetch 243s === RUN TestFetchWithUnreadableFile 243s === PAUSE TestFetchWithUnreadableFile 243s === RUN TestFetchTweakSysvolCacheDir 243s === PAUSE TestFetchTweakSysvolCacheDir 243s === RUN TestFetchOneGPOWhileParsingItConcurrently 243s === PAUSE TestFetchOneGPOWhileParsingItConcurrently 243s === RUN TestParseGPOConcurrent 243s === PAUSE TestParseGPOConcurrent 243s === RUN TestNew 243s === PAUSE TestNew 243s === RUN TestGetPolicies 243s === PAUSE TestGetPolicies 243s === RUN TestGetPoliciesOffline 243s === PAUSE TestGetPoliciesOffline 243s === RUN TestGetPoliciesWorkflows 243s === PAUSE TestGetPoliciesWorkflows 243s === RUN TestGetPoliciesConcurrently 243s === PAUSE TestGetPoliciesConcurrently 243s === RUN TestListUsers 243s === PAUSE TestListUsers 243s === RUN TestGetInfo 243s === PAUSE TestGetInfo 243s === RUN TestNormalizeTargetName 243s === PAUSE TestNormalizeTargetName 243s === RUN TestMockGPOList 243s --- PASS: TestMockGPOList (0.00s) 243s === RUN TestAdsysGPOList 243s === RUN TestAdsysGPOList/Machine_GPOs 243s === RUN TestAdsysGPOList/Disabled_GPOs 243s === RUN TestAdsysGPOList/Block_inheritance 243s === RUN TestAdsysGPOList/Computers_truncated_at_15_characters 243s === RUN TestAdsysGPOList/Long_computer_name,_not_truncated 243s === RUN TestAdsysGPOList/Error_on_ldap_connection_refused 243s === RUN TestAdsysGPOList/Error_on_invalid_ticket 243s === RUN TestAdsysGPOList/Return_hierarchy 243s === RUN TestAdsysGPOList/No_GPO_on_OU_-_bytes 243s === RUN TestAdsysGPOList/Filter_machine_only_GPOs 243s === RUN TestAdsysGPOList/Forced_GPO_are_first_by_reverse_order 243s === RUN TestAdsysGPOList/Forced_GPO_and_blocked_inheritance 243s === RUN TestAdsysGPOList/Security_descriptor_accepted_is_for_another_user 243s === RUN TestAdsysGPOList/No_@_in_user_name_returns_the_same_thing 243s === RUN TestAdsysGPOList/Error_on_non_existent_account 243s === RUN TestAdsysGPOList/Return_one_gpo 243s === RUN TestAdsysGPOList/No_GPO_on_OU_-_string 243s === RUN TestAdsysGPOList/Fail_on_security_descriptor_access_failure 243s === RUN TestAdsysGPOList/KRB5CCNAME_without_FILE:_is_supported_by_the_samba_bindings 243s === RUN TestAdsysGPOList/Filter_user_only_GPOs 243s === RUN TestAdsysGPOList/Security_descriptor_missing_ignores_GPO 243s === RUN TestAdsysGPOList/No_gPOptions_fallbacks_to_0 243s === RUN TestAdsysGPOList/Error_on_no_network 243s === RUN TestAdsysGPOList/Error_on_machine_with_no_ldap 243s === RUN TestAdsysGPOList/Error_on_user_requested_but_found_machine 243s === RUN TestAdsysGPOList/Multiple_GPOs_in_same_OU 243s === RUN TestAdsysGPOList/Security_descriptor_access_denied_ignores_GPO 243s === RUN TestAdsysGPOList/Error_invalid_GPO_link 243s === RUN TestAdsysGPOList/Error_on_computer_requested_but_found_user 243s === RUN TestAdsysGPOList/Error_on_dangling_ticket_symlink 243s === RUN TestAdsysGPOList/Error_on_unreachable_ldap_host 243s === RUN TestAdsysGPOList/Error_on_KRB5CCNAME_unset 243s --- PASS: TestAdsysGPOList (1.42s) 243s --- PASS: TestAdsysGPOList/Machine_GPOs (0.05s) 243s --- PASS: TestAdsysGPOList/Disabled_GPOs (0.04s) 243s --- PASS: TestAdsysGPOList/Block_inheritance (0.04s) 243s --- PASS: TestAdsysGPOList/Computers_truncated_at_15_characters (0.04s) 243s --- PASS: TestAdsysGPOList/Long_computer_name,_not_truncated (0.04s) 243s --- PASS: TestAdsysGPOList/Error_on_ldap_connection_refused (0.04s) 243s --- PASS: TestAdsysGPOList/Error_on_invalid_ticket (0.04s) 243s --- PASS: TestAdsysGPOList/Return_hierarchy (0.04s) 243s --- PASS: TestAdsysGPOList/No_GPO_on_OU_-_bytes (0.06s) 243s --- PASS: TestAdsysGPOList/Filter_machine_only_GPOs (0.04s) 243s --- PASS: TestAdsysGPOList/Forced_GPO_are_first_by_reverse_order (0.04s) 243s --- PASS: TestAdsysGPOList/Forced_GPO_and_blocked_inheritance (0.04s) 243s --- PASS: TestAdsysGPOList/Security_descriptor_accepted_is_for_another_user (0.05s) 243s --- PASS: TestAdsysGPOList/No_@_in_user_name_returns_the_same_thing (0.04s) 243s --- PASS: TestAdsysGPOList/Error_on_non_existent_account (0.04s) 243s --- PASS: TestAdsysGPOList/Return_one_gpo (0.05s) 243s --- PASS: TestAdsysGPOList/No_GPO_on_OU_-_string (0.04s) 243s --- PASS: TestAdsysGPOList/Fail_on_security_descriptor_access_failure (0.04s) 243s --- PASS: TestAdsysGPOList/KRB5CCNAME_without_FILE:_is_supported_by_the_samba_bindings (0.04s) 243s --- PASS: TestAdsysGPOList/Filter_user_only_GPOs (0.04s) 243s --- PASS: TestAdsysGPOList/Security_descriptor_missing_ignores_GPO (0.04s) 243s --- PASS: TestAdsysGPOList/No_gPOptions_fallbacks_to_0 (0.04s) 243s --- PASS: TestAdsysGPOList/Error_on_no_network (0.04s) 243s --- PASS: TestAdsysGPOList/Error_on_machine_with_no_ldap (0.04s) 243s --- PASS: TestAdsysGPOList/Error_on_user_requested_but_found_machine (0.04s) 243s --- PASS: TestAdsysGPOList/Multiple_GPOs_in_same_OU (0.04s) 243s --- PASS: TestAdsysGPOList/Security_descriptor_access_denied_ignores_GPO (0.04s) 243s --- PASS: TestAdsysGPOList/Error_invalid_GPO_link (0.04s) 243s --- PASS: TestAdsysGPOList/Error_on_computer_requested_but_found_user (0.05s) 243s --- PASS: TestAdsysGPOList/Error_on_dangling_ticket_symlink (0.04s) 243s --- PASS: TestAdsysGPOList/Error_on_unreachable_ldap_host (0.05s) 243s --- PASS: TestAdsysGPOList/Error_on_KRB5CCNAME_unset (0.06s) 243s === RUN TestGetPolicyDefinitions 243s === PAUSE TestGetPolicyDefinitions 243s === RUN TestTicketPath 243s krb5_test.go:23: Running subprocess with [/tmp/go-build2084799553/b599/ad.test -test.testlogfile=/tmp/go-build2084799553/b599/testlog.txt -test.paniconexit0 -test.timeout=10m0s -test.v=true -test.run=TestTicketPath] 243s === RUN TestTicketPath 243s === RUN TestTicketPath/Lookup_is_successful 243s === RUN TestTicketPath/Allow_ccache_without_FILE_identifier 243s === RUN TestTicketPath/Error_when_ccache_not_present_on_disk 243s === RUN TestTicketPath/Error_when_ccache_is_a_directory 243s === RUN TestTicketPath/Error_when_initializing_context 243s === RUN TestTicketPath/Error_on_empty_ticket_path 243s === RUN TestTicketPath/Error_on_NULL_ticket_path 243s === RUN TestTicketPath/Error_on_non-FILE_ccache 243s --- PASS: TestTicketPath (0.00s) 243s --- PASS: TestTicketPath/Lookup_is_successful (0.00s) 243s --- PASS: TestTicketPath/Allow_ccache_without_FILE_identifier (0.00s) 243s --- PASS: TestTicketPath/Error_when_ccache_not_present_on_disk (0.00s) 243s --- PASS: TestTicketPath/Error_when_ccache_is_a_directory (0.00s) 243s --- PASS: TestTicketPath/Error_when_initializing_context (0.00s) 243s --- PASS: TestTicketPath/Error_on_empty_ticket_path (0.00s) 243s --- PASS: TestTicketPath/Error_on_NULL_ticket_path (0.00s) 243s --- PASS: TestTicketPath/Error_on_non-FILE_ccache (0.00s) 243s PASS 243s --- PASS: TestTicketPath (0.25s) 243s === CONT TestFetch 243s === CONT TestGetPoliciesOffline 243s === RUN TestFetch/assets_root_directory_not_present_on_SYSVOL_issues_a_warning_only 243s === PAUSE TestFetch/assets_root_directory_not_present_on_SYSVOL_issues_a_warning_only 243s === RUN TestFetch/assets_are_not_updated_if_version_matches 243s === PAUSE TestFetch/assets_are_not_updated_if_version_matches 243s === RUN TestFetch/assets_are_not_updated_if_local_version_matches,_with_non-standard_GPT.INI_casing 243s === PAUSE TestFetch/assets_are_not_updated_if_local_version_matches,_with_non-standard_GPT.INI_casing 243s === RUN TestFetch/concurrent_same_gpos 243s === PAUSE TestFetch/concurrent_same_gpos 243s === RUN TestFetch/assets_is_a_file_is_not_downloaded 243s === RUN TestGetPoliciesOffline/Offline,_get_from_cache,_gpo_only 243s === PAUSE TestFetch/assets_is_a_file_is_not_downloaded 243s === RUN TestFetch/one_new_gpo 243s === PAUSE TestFetch/one_new_gpo 243s === RUN TestFetch/two_gpos,_one_more_recent,_one_up_to_date 243s === PAUSE TestFetch/two_gpos,_one_more_recent,_one_up_to_date 243s === RUN TestFetch/Local_gpo_redownloaded_on_missing_GPT.INI 243s === PAUSE TestFetch/Local_gpo_redownloaded_on_missing_GPT.INI 243s === RUN TestFetch/Error_remote_version_NaN 243s === PAUSE TestFetch/Error_remote_version_NaN 243s === RUN TestFetch/two_gpos,_one_more_recent,_one_new 243s === PAUSE TestFetch/two_gpos,_one_more_recent,_one_new 243s === RUN TestFetch/two_gpos,_one_already_up_to_date,_one_new 243s === PAUSE TestFetch/two_gpos,_one_already_up_to_date,_one_new 243s === RUN TestFetch/gpo_is_refreshed 243s === PAUSE TestFetch/gpo_is_refreshed 243s === RUN TestFetch/two_gpos,_one_should_be_refreshed,_one_new 243s === PAUSE TestFetch/two_gpos,_one_should_be_refreshed,_one_new 243s === RUN TestFetch/assets_are_not_updated_if_remote_version_matches,_with_non-standard_GPT.INI_casing 243s === PAUSE TestFetch/assets_are_not_updated_if_remote_version_matches,_with_non-standard_GPT.INI_casing 243s === RUN TestFetch/Error_unexistant_remote_gpo 243s === PAUSE TestFetch/Error_unexistant_remote_gpo 243s === RUN TestFetch/Error_missing_remote_GPT.INI 243s === PAUSE TestFetch/Error_missing_remote_GPT.INI 243s === PAUSE TestGetPoliciesOffline/Offline,_get_from_cache,_gpo_only 243s === RUN TestGetPoliciesOffline/Offline,_get_from_cache,_with_assets 243s === PAUSE TestGetPoliciesOffline/Offline,_get_from_cache,_with_assets 243s === RUN TestFetch/two_gpos,_one_already_up_to_date,_one_should_be_refreshed 243s === RUN TestGetPoliciesOffline/Error_offline_with_no_cache 243s === PAUSE TestGetPoliciesOffline/Error_offline_with_no_cache 243s === RUN TestGetPoliciesOffline/Offline,_ensure_we_fetch_from_cache_and_not_fetch_GPO_list 243s === PAUSE TestFetch/two_gpos,_one_already_up_to_date,_one_should_be_refreshed 243s === PAUSE TestGetPoliciesOffline/Offline,_ensure_we_fetch_from_cache_and_not_fetch_GPO_list 243s === RUN TestGetPoliciesOffline/Offline,_with_assets 243s === RUN TestFetch/assets_only_are_downloaded 243s === PAUSE TestGetPoliciesOffline/Offline,_with_assets 243s === PAUSE TestFetch/assets_only_are_downloaded 243s === RUN TestFetch/existing_assets_are_removed_if_not_present_on_SYSVOL 243s === PAUSE TestFetch/existing_assets_are_removed_if_not_present_on_SYSVOL 243s === RUN TestFetch/gpos_and_assets 243s === PAUSE TestFetch/gpos_and_assets 243s === RUN TestFetch/gpo_already_up_to_date 243s === PAUSE TestFetch/gpo_already_up_to_date 243s === RUN TestFetch/local_gpo_is_more_recent_than_AD_one 243s === PAUSE TestFetch/local_gpo_is_more_recent_than_AD_one 243s === RUN TestFetch/two_gpos,_one_more_recent,_one_should_be_refreshed 243s === PAUSE TestFetch/two_gpos,_one_more_recent,_one_should_be_refreshed 243s === RUN TestFetch/Error_keeps_downloading_other_GPOS 243s === PAUSE TestFetch/Error_keeps_downloading_other_GPOS 243s === RUN TestFetch/Local_gpo_redownloaded_on_NaN_version_in_GPT.INI 243s === PAUSE TestFetch/Local_gpo_redownloaded_on_NaN_version_in_GPT.INI 243s === RUN TestFetch/Local_gpo_redownloaded_on_version_entry_missing_in_GPT.INI 243s === PAUSE TestFetch/Local_gpo_redownloaded_on_version_entry_missing_in_GPT.INI 243s === RUN TestFetch/assets_are_updated_to_latest_version 243s === PAUSE TestFetch/assets_are_updated_to_latest_version 243s === RUN TestFetch/concurrent_different_gpos 243s === PAUSE TestFetch/concurrent_different_gpos 243s === RUN TestFetch/two_new_gpos 243s === PAUSE TestFetch/two_new_gpos 243s === RUN TestFetch/keep_existing_gpos_intact 243s === PAUSE TestFetch/keep_existing_gpos_intact 243s === RUN TestFetch/existing_assets_are_kept_if_no_assets_downloadable_provided 243s === PAUSE TestFetch/existing_assets_are_kept_if_no_assets_downloadable_provided 243s === RUN TestFetch/remote_version_entry_missing_treated_as_0 243s === PAUSE TestFetch/remote_version_entry_missing_treated_as_0 243s === RUN TestGetPoliciesOffline/Error_on_SSSD_reports_online,_but_we_are_actually_offline_when_fetching_gpo_list,_even_with_a_cache 243s === PAUSE TestGetPoliciesOffline/Error_on_SSSD_reports_online,_but_we_are_actually_offline_when_fetching_gpo_list,_even_with_a_cache 243s === CONT TestGetPolicies 243s === RUN TestGetPolicies/Standard_policy_with_assets,_existing_assets_are_reattached_if_not_refreshed 243s === PAUSE TestGetPolicies/Standard_policy_with_assets,_existing_assets_are_reattached_if_not_refreshed 243s === RUN TestGetPolicies/Assets_directory_being_a_file_cleanup_local_existing_assets_and_its_db 243s === PAUSE TestGetPolicies/Assets_directory_being_a_file_cleanup_local_existing_assets_and_its_db 243s === RUN TestGetPolicies/Disable_override_for_matching_release,_other_releases_override_ignored 243s === PAUSE TestGetPolicies/Disable_override_for_matching_release,_other_releases_override_ignored 243s === RUN TestGetPolicies/Same_key_in_different_domains_are_kept_separated 243s === PAUSE TestGetPolicies/Same_key_in_different_domains_are_kept_separated 243s === RUN TestGetPolicies/Two_policies,_with_overrides 243s === PAUSE TestGetPolicies/Two_policies,_with_overrides 243s === RUN TestGetPolicies/Two_policies,_no_overrides,_one_is_not_the_same_object_type,_machine_ones_are_empty_when_parsing_user 243s === PAUSE TestGetPolicies/Two_policies,_no_overrides,_one_is_not_the_same_object_type,_machine_ones_are_empty_when_parsing_user 243s === RUN TestGetPolicies/Disabled_value_is_overridden 243s === PAUSE TestGetPolicies/Disabled_value_is_overridden 243s === RUN TestGetPolicies/More_policies,_with_multiple_overrides 243s === PAUSE TestGetPolicies/More_policies,_with_multiple_overrides 243s === RUN TestGetPolicies/Include_non_Ubuntu_keys_used_to_configure_certificate_autoenrollment 243s === PAUSE TestGetPolicies/Include_non_Ubuntu_keys_used_to_configure_certificate_autoenrollment 243s === RUN TestGetPolicies/Policy_user_directory_is_uppercase 243s === PAUSE TestGetPolicies/Policy_user_directory_is_uppercase 243s === RUN TestGetPolicies/User_policy_Registry.pol_is_lower_case 243s === PAUSE TestGetPolicies/User_policy_Registry.pol_is_lower_case 243s === RUN TestGetPolicies/Machine_doesn’t_match 243s === PAUSE TestGetPolicies/Machine_doesn’t_match 243s === RUN TestGetPolicies/Without_previous_call,_needs_userKrb5CCBaseName 243s === PAUSE TestGetPolicies/Without_previous_call,_needs_userKrb5CCBaseName 243s === RUN TestGetPolicies/Unexisting_CC_original_file_for_machine 243s === PAUSE TestGetPolicies/Unexisting_CC_original_file_for_machine 243s === RUN TestGetPolicies/Error_on_backend_IsOnline_call_failed 243s === PAUSE TestGetPolicies/Error_on_backend_IsOnline_call_failed 243s === RUN TestGetPolicies/Unsupported_type_for_unfiltered_entry 243s === PAUSE TestGetPolicies/Unsupported_type_for_unfiltered_entry 243s === RUN TestGetPolicies/Computer_only_policy,_user_object,_policy_is_empty 243s === PAUSE TestGetPolicies/Computer_only_policy,_user_object,_policy_is_empty 243s === RUN TestGetPolicies/Standard_policy_with_assets,_downloads_assets 243s === PAUSE TestGetPolicies/Standard_policy_with_assets,_downloads_assets 243s === RUN TestGetPolicies/Local_assets_and_its_db_are_removed_if_not_present_anymore_on_AD_sysvol 243s === PAUSE TestGetPolicies/Local_assets_and_its_db_are_removed_if_not_present_anymore_on_AD_sysvol 243s === RUN TestGetPolicies/Disabled_override 243s === PAUSE TestGetPolicies/Disabled_override 243s === RUN TestGetPolicies/Multiple_domains,_same_GPO 243s === PAUSE TestGetPolicies/Multiple_domains,_same_GPO 243s === RUN TestGetPolicies/Two_policies,_no_overrides 243s === PAUSE TestGetPolicies/Two_policies,_no_overrides 243s === RUN TestGetPolicies/Two_policies,_no_overrides,_reversed 243s === PAUSE TestGetPolicies/Two_policies,_no_overrides,_reversed 243s === RUN TestGetPolicies/Policy_user_directory_is_not_capitalized_or_uppercase,_no_rules_are_parsed 243s === PAUSE TestGetPolicies/Policy_user_directory_is_not_capitalized_or_uppercase,_no_rules_are_parsed 243s === RUN TestGetPolicies/Standard_policy,_computer_object 243s === PAUSE TestGetPolicies/Standard_policy,_computer_object 243s === RUN TestGetPolicies/User_only_policy,_user_object 243s === PAUSE TestGetPolicies/User_only_policy,_user_object 243s === RUN TestGetPolicies/Assets_can’t_be_downloaded_without_GPO 243s === PAUSE TestGetPolicies/Assets_can’t_be_downloaded_without_GPO 243s === RUN TestGetPolicies/Enabled_override_for_matching_release,_other_releases_override_ignored 243s === PAUSE TestGetPolicies/Enabled_override_for_matching_release,_other_releases_override_ignored 243s === RUN TestGetPolicies/Policy_machine_directory_is_not_capitalized_or_uppercase,_no_rules_are_parsed 243s === PAUSE TestGetPolicies/Policy_machine_directory_is_not_capitalized_or_uppercase,_no_rules_are_parsed 243s === RUN TestGetPolicies/User_policy_Registry.pol_is_mixed_case 243s === PAUSE TestGetPolicies/User_policy_Registry.pol_is_mixed_case 243s === RUN TestGetPolicies/Computer_policy_Registry.pol_is_mixed_case 243s === PAUSE TestGetPolicies/Computer_policy_Registry.pol_is_mixed_case 243s === RUN TestGetPolicies/Unexisting_CC_original_file_for_user 243s === PAUSE TestGetPolicies/Unexisting_CC_original_file_for_user 243s === RUN TestGetPolicies/Standard_policy,_user_object 243s === PAUSE TestGetPolicies/Standard_policy,_user_object 243s === RUN TestGetPolicies/Disabled_value_overrides_non_disabled_one 243s === PAUSE TestGetPolicies/Disabled_value_overrides_non_disabled_one 243s === RUN TestGetPolicies/Ignore_errors_on_non_Ubuntu_keys 243s === PAUSE TestGetPolicies/Ignore_errors_on_non_Ubuntu_keys 243s === RUN TestGetPolicies/Computer_policy_Registry.pol_is_lower_case 243s === PAUSE TestGetPolicies/Computer_policy_Registry.pol_is_lower_case 243s === RUN TestGetPolicies/Error_on_backend_ServerFQDN_call_failed 243s === PAUSE TestGetPolicies/Error_on_backend_ServerFQDN_call_failed 243s === RUN TestGetPolicies/Corrupted_policy_file 243s === PAUSE TestGetPolicies/Corrupted_policy_file 243s === RUN TestGetPolicies/Empty_value_for_unfiltered_entry 243s === PAUSE TestGetPolicies/Empty_value_for_unfiltered_entry 243s === RUN TestGetPolicies/Enabled_override 243s === PAUSE TestGetPolicies/Enabled_override 243s === RUN TestGetPolicies/Filter_non_Ubuntu_keys 243s === PAUSE TestGetPolicies/Filter_non_Ubuntu_keys 243s === RUN TestGetPolicies/Policy_machine_directory_is_uppercase 243s === PAUSE TestGetPolicies/Policy_machine_directory_is_uppercase 243s === RUN TestGetPolicies/Error_on_backend_HostKrb5CCName_call_failed 243s === PAUSE TestGetPolicies/Error_on_backend_HostKrb5CCName_call_failed 243s === RUN TestGetPolicies/No_override_for_this_release,_takes_default_value 243s === PAUSE TestGetPolicies/No_override_for_this_release,_takes_default_value 243s === RUN TestGetPolicies/User_only_policy,_computer_object,_policy_is_empty 243s === PAUSE TestGetPolicies/User_only_policy,_computer_object,_policy_is_empty 243s === RUN TestGetPolicies/Two_policies,_with_reversed_overrides 243s === PAUSE TestGetPolicies/Two_policies,_with_reversed_overrides 243s === RUN TestGetPolicies/Error_on_user_without_@_in_name 243s === PAUSE TestGetPolicies/Error_on_user_without_@_in_name 243s === RUN TestGetPolicies/Policy_can’t_be_downloaded 243s === PAUSE TestGetPolicies/Policy_can’t_be_downloaded 243s === RUN TestGetPolicies/Symlinks_can’t_be_created 243s === PAUSE TestGetPolicies/Symlinks_can’t_be_created 243s === CONT TestNew 243s === RUN TestNew/create_KRB5_and_Sysvol_cache_directory 243s === CONT TestParseGPOConcurrent 243s === PAUSE TestNew/create_KRB5_and_Sysvol_cache_directory 243s === RUN TestNew/failed_to_create_KRB5_cache_directory 243s === PAUSE TestNew/failed_to_create_KRB5_cache_directory 243s === RUN TestNew/failed_to_create_Sysvol_cache_directory 243s === PAUSE TestNew/failed_to_create_Sysvol_cache_directory 243s === RUN TestNew/failed_to_create_Policies_cache_directory 243s === PAUSE TestNew/failed_to_create_Policies_cache_directory 243s === RUN TestNew/no_active_server_in_backend_does_not_fail_ad_creation 243s === PAUSE TestNew/no_active_server_in_backend_does_not_fail_ad_creation 243s === RUN TestNew/error_on_backend_ServerFQDN_random_failure 243s === PAUSE TestNew/error_on_backend_ServerFQDN_random_failure 243s === CONT TestFetchOneGPOWhileParsingItConcurrently 243s time="2025-10-18T14:43:13Z" level=info msg="Downloading \"standard-name\"" 243s time="2025-10-18T14:43:13Z" level=info msg="Downloading \"standard-name\"" 243s --- PASS: TestFetchOneGPOWhileParsingItConcurrently (0.06s) 243s === CONT TestFetchTweakSysvolCacheDir 243s === RUN TestFetchTweakSysvolCacheDir/SysvolCacheDir_doesn't_exist 243s === PAUSE TestFetchTweakSysvolCacheDir/SysvolCacheDir_doesn't_exist 243s === RUN TestFetchTweakSysvolCacheDir/SysvolCacheDir_is_read_only 243s === PAUSE TestFetchTweakSysvolCacheDir/SysvolCacheDir_is_read_only 243s === CONT TestFetchWithUnreadableFile 243s === RUN TestFetchWithUnreadableFile/without_gpo_initially_don’t_commit_new_partial_GPO 243s === PAUSE TestFetchWithUnreadableFile/without_gpo_initially_don’t_commit_new_partial_GPO 243s === RUN TestFetchWithUnreadableFile/existing_gpo_is_preserved 243s === PAUSE TestFetchWithUnreadableFile/existing_gpo_is_preserved 243s === CONT TestGetPolicyDefinitions 243s === RUN TestGetPolicyDefinitions/Load_ADMX_and_ADML 243s === PAUSE TestGetPolicyDefinitions/Load_ADMX_and_ADML 243s === RUN TestGetPolicyDefinitions/ADMX_and_ADML_does_not_exist_for_this_format 243s === PAUSE TestGetPolicyDefinitions/ADMX_and_ADML_does_not_exist_for_this_format 243s === RUN TestGetPolicyDefinitions/ADMX_and_ADML_does_not_exist_for_this_distro 243s === PAUSE TestGetPolicyDefinitions/ADMX_and_ADML_does_not_exist_for_this_distro 243s === CONT TestNormalizeTargetName 243s === RUN TestNormalizeTargetName/One_valid_user 243s === PAUSE TestNormalizeTargetName/One_valid_user 243s === RUN TestNormalizeTargetName/One_user_without_explicit_domain_suffix 243s === PAUSE TestNormalizeTargetName/One_user_without_explicit_domain_suffix 243s === RUN TestNormalizeTargetName/Computer_is_left_as_such 243s === PAUSE TestNormalizeTargetName/Computer_is_left_as_such 243s === RUN TestNormalizeTargetName/Error_on_multiple_\_in_name 243s === PAUSE TestNormalizeTargetName/Error_on_multiple_\_in_name 243s === RUN TestNormalizeTargetName/Error_on_no_default_domain_suffix_and_no_fqdn_user 243s === PAUSE TestNormalizeTargetName/Error_on_no_default_domain_suffix_and_no_fqdn_user 243s === RUN TestNormalizeTargetName/One_valid_user_with_mixed_case 243s === PAUSE TestNormalizeTargetName/One_valid_user_with_mixed_case 243s === RUN TestNormalizeTargetName/One_valid_user_with_domain\user 243s === PAUSE TestNormalizeTargetName/One_valid_user_with_domain\user 243s === RUN TestNormalizeTargetName/Computer_in_uppercase_is_left_as_such 243s === PAUSE TestNormalizeTargetName/Computer_in_uppercase_is_left_as_such 243s === RUN TestNormalizeTargetName/Computer_with_@_is_left_as_such 243s === PAUSE TestNormalizeTargetName/Computer_with_@_is_left_as_such 243s === RUN TestNormalizeTargetName/User_name_matching_computer,_setting_as_user 243s === PAUSE TestNormalizeTargetName/User_name_matching_computer,_setting_as_user 243s === RUN TestNormalizeTargetName/User_name_fqdn_matching_computer 243s === PAUSE TestNormalizeTargetName/User_name_fqdn_matching_computer 243s === RUN TestNormalizeTargetName/Computer_name_without_objectClass 243s === PAUSE TestNormalizeTargetName/Computer_name_without_objectClass 243s === CONT TestGetInfo 243s === RUN TestGetInfo/Report_unknown_state_if_IsOnline_calls_fail 243s === PAUSE TestGetInfo/Report_unknown_state_if_IsOnline_calls_fail 243s === RUN TestGetInfo/Report_unknown_state_if_ServerFQDN_calls_fail 243s === PAUSE TestGetInfo/Report_unknown_state_if_ServerFQDN_calls_fail 243s === RUN TestGetInfo/Info_reported_from_backend,_online 243s === PAUSE TestGetInfo/Info_reported_from_backend,_online 243s === RUN TestGetInfo/Info_reported_from_backend,_offline 243s === PAUSE TestGetInfo/Info_reported_from_backend,_offline 243s === CONT TestListUsers 243s === RUN TestListUsers/Machine_Only,_from_policy_cache 243s === PAUSE TestListUsers/Machine_Only,_from_policy_cache 243s === RUN TestListUsers/Error_on_Krb5_directory_not_existing 243s === PAUSE TestListUsers/Error_on_Krb5_directory_not_existing 243s === RUN TestListUsers/Error_on_policy_cache_directory_not_existing 243s === PAUSE TestListUsers/Error_on_policy_cache_directory_not_existing 243s === RUN TestListUsers/One_user 243s === PAUSE TestListUsers/One_user 243s === RUN TestListUsers/Two_users 243s === PAUSE TestListUsers/Two_users 243s === RUN TestListUsers/Machines_are_ignored 243s === PAUSE TestListUsers/Machines_are_ignored 243s === RUN TestListUsers/Two_users,_from_policy_cache 243s === PAUSE TestListUsers/Two_users,_from_policy_cache 243s === RUN TestListUsers/Ticket_cache_ignored_if_policy_cache_is_requested 243s === PAUSE TestListUsers/Ticket_cache_ignored_if_policy_cache_is_requested 243s === RUN TestListUsers/Two_users,_dangling_symlink_for_one 243s === PAUSE TestListUsers/Two_users,_dangling_symlink_for_one 243s === RUN TestListUsers/None 243s === PAUSE TestListUsers/None 243s === RUN TestListUsers/Machine_Only 243s === PAUSE TestListUsers/Machine_Only 243s === RUN TestListUsers/One_user,_from_policy_cache 243s === PAUSE TestListUsers/One_user,_from_policy_cache 243s === RUN TestListUsers/None,_from_policy_cache 243s === PAUSE TestListUsers/None,_from_policy_cache 243s === RUN TestListUsers/Machines_are_ignored,_from_policy_cache 243s === PAUSE TestListUsers/Machines_are_ignored,_from_policy_cache 243s === CONT TestGetPoliciesConcurrently 243s === RUN TestGetPoliciesConcurrently/Same_user,_same_GPO 243s === PAUSE TestGetPoliciesConcurrently/Same_user,_same_GPO 243s === RUN TestGetPoliciesConcurrently/Different_users,_same_GPO 243s === PAUSE TestGetPoliciesConcurrently/Different_users,_same_GPO 243s === RUN TestGetPoliciesConcurrently/Different_users,_different_GPO 243s === PAUSE TestGetPoliciesConcurrently/Different_users,_different_GPO 243s === RUN TestGetPoliciesConcurrently/One_machine,_one_user 243s === PAUSE TestGetPoliciesConcurrently/One_machine,_one_user 243s === RUN TestGetPoliciesConcurrently/Machine_requested_twice_at_the_same_time 243s === PAUSE TestGetPoliciesConcurrently/Machine_requested_twice_at_the_same_time 243s === CONT TestGetPoliciesWorkflows 243s === RUN TestGetPoliciesWorkflows/Second_call_is_a_refresh_(without_Krb5CCName_specified) 243s === PAUSE TestGetPoliciesWorkflows/Second_call_is_a_refresh_(without_Krb5CCName_specified) 243s === RUN TestGetPoliciesWorkflows/Second_call_after_service_restarted 243s === PAUSE TestGetPoliciesWorkflows/Second_call_after_service_restarted 243s === RUN TestGetPoliciesWorkflows/Second_call_without_Krb5CCName_refreshes_ticket_copy_if_needed 243s === PAUSE TestGetPoliciesWorkflows/Second_call_without_Krb5CCName_refreshes_ticket_copy_if_needed 243s === RUN TestGetPoliciesWorkflows/Second_machine_call_after_service_restarted 243s === PAUSE TestGetPoliciesWorkflows/Second_machine_call_after_service_restarted 243s === RUN TestGetPoliciesWorkflows/Second_call_with_different_user 243s === PAUSE TestGetPoliciesWorkflows/Second_call_with_different_user 243s === RUN TestGetPoliciesWorkflows/Second_call_after_a_relogin 243s === PAUSE TestGetPoliciesWorkflows/Second_call_after_a_relogin 243s === RUN TestGetPoliciesWorkflows/Second_call_without_Krb5CCName_replaces_previous_symlinks_in_the_original_path 243s === PAUSE TestGetPoliciesWorkflows/Second_call_without_Krb5CCName_replaces_previous_symlinks_in_the_original_path 243s === RUN TestGetPoliciesWorkflows/Second_machine_call_is_a_refresh_(without_Krb5CCName_specified) 243s === PAUSE TestGetPoliciesWorkflows/Second_machine_call_is_a_refresh_(without_Krb5CCName_specified) 243s === RUN TestGetPoliciesWorkflows/Second_machine_call_after_a_restart 243s === PAUSE TestGetPoliciesWorkflows/Second_machine_call_after_a_restart 243s === CONT TestFetch/assets_root_directory_not_present_on_SYSVOL_issues_a_warning_only 243s time="2025-10-18T14:43:13Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 243s === CONT TestGetPoliciesOffline/Offline,_get_from_cache,_gpo_only 243s --- PASS: TestParseGPOConcurrent (0.29s) 243s === CONT TestFetch/assets_are_not_updated_if_remote_version_matches,_with_non-standard_GPT.INI_casing 243s time="2025-10-18T14:43:14Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 243s time="2025-10-18T14:43:14Z" level=info msg="Downloading \"standard-name\"" 243s time="2025-10-18T14:43:14Z" level=info msg="Assets directory is already up to date" 243s === CONT TestFetch/remote_version_entry_missing_treated_as_0 243s time="2025-10-18T14:43:14Z" level=info msg="No version key found in GPT.INI for gpt_ini_version_missing-name, assuming 0" 243s time="2025-10-18T14:43:14Z" level=info msg="GPO \"gpt_ini_version_missing-name\" is already up to date" 243s === CONT TestFetch/existing_assets_are_kept_if_no_assets_downloadable_provided 243s === CONT TestFetch/keep_existing_gpos_intact 243s time="2025-10-18T14:43:14Z" level=info msg="Can't reach AD: machine is offline and \"useroffline@GPOONLY.COM\" policies are applied using previous online update" 243s === CONT TestFetch/two_new_gpos 243s time="2025-10-18T14:43:14Z" level=info msg="Downloading \"gpo2-name\"" 243s time="2025-10-18T14:43:14Z" level=info msg="Downloading \"gpo1-name\"" 243s time="2025-10-18T14:43:14Z" level=info msg="GPO \"gpo1-name\" is already up to date" 243s === CONT TestFetch/concurrent_different_gpos 243s time="2025-10-18T14:43:14Z" level=info msg="Downloading \"gpo2-name\"" 243s === CONT TestFetch/assets_are_updated_to_latest_version 243s time="2025-10-18T14:43:14Z" level=info msg="Downloading \"gpo1-name\"" 243s time="2025-10-18T14:43:14Z" level=info msg="Downloading \"assets\"" 243s === CONT TestFetch/Local_gpo_redownloaded_on_version_entry_missing_in_GPT.INI 243s time="2025-10-18T14:43:14Z" level=info msg="No version key found in GPT.INI for gpo1-name, assuming 0" 243s time="2025-10-18T14:43:14Z" level=info msg="Downloading \"gpo1-name\"" 243s === CONT TestFetch/Local_gpo_redownloaded_on_NaN_version_in_GPT.INI 243s time="2025-10-18T14:43:14Z" level=warning msg="Invalid local GPT.INI for gpo1-name: invalid remote GPT.INI: strconv.ParseInt: parsing \"NaN\": invalid syntax\nDownloading it again…" 243s time="2025-10-18T14:43:14Z" level=info msg="Downloading \"gpo1-name\"" 243s === CONT TestFetch/Error_keeps_downloading_other_GPOS 243s time="2025-10-18T14:43:14Z" level=info msg="Downloading \"gpo2-name\"" 243s === CONT TestFetch/two_gpos,_one_more_recent,_one_should_be_refreshed 243s time="2025-10-18T14:43:14Z" level=info msg="Downloading \"gpo1-name\"" 243s time="2025-10-18T14:43:14Z" level=info msg="GPO \"gpo2-name\" is already up to date" 243s === CONT TestFetch/local_gpo_is_more_recent_than_AD_one 243s time="2025-10-18T14:43:14Z" level=info msg="GPO \"gpo2-name\" is already up to date" 243s === CONT TestFetch/gpo_already_up_to_date 243s time="2025-10-18T14:43:14Z" level=info msg="GPO \"gpo1-name\" is already up to date" 243s === CONT TestFetch/gpos_and_assets 243s === CONT TestFetch/existing_assets_are_removed_if_not_present_on_SYSVOL 243s time="2025-10-18T14:43:14Z" level=info msg="Downloading \"assets\"" 243s time="2025-10-18T14:43:14Z" level=info msg="Downloading \"gpo1-name\"" 243s time="2025-10-18T14:43:14Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 243s === CONT TestFetch/assets_only_are_downloaded 243s time="2025-10-18T14:43:14Z" level=info msg="Downloading \"assets\"" 243s === CONT TestFetch/two_gpos,_one_already_up_to_date,_one_should_be_refreshed 243s time="2025-10-18T14:43:14Z" level=info msg="GPO \"gpo2-name\" is already up to date" 243s time="2025-10-18T14:43:14Z" level=info msg="Downloading \"gpo1-name\"" 243s === CONT TestFetch/Error_missing_remote_GPT.INI 243s === CONT TestFetch/Error_unexistant_remote_gpo 243s === CONT TestFetch/assets_is_a_file_is_not_downloaded 243s time="2025-10-18T14:43:14Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 243s === CONT TestFetch/two_gpos,_one_should_be_refreshed,_one_new 243s time="2025-10-18T14:43:14Z" level=info msg="Downloading \"gpo2-name\"" 243s time="2025-10-18T14:43:14Z" level=info msg="Downloading \"gpo1-name\"" 243s === CONT TestFetch/gpo_is_refreshed 243s time="2025-10-18T14:43:14Z" level=info msg="Downloading \"gpo1-name\"" 243s === CONT TestFetch/two_gpos,_one_already_up_to_date,_one_new 243s === CONT TestFetch/two_gpos,_one_more_recent,_one_new 243s time="2025-10-18T14:43:14Z" level=info msg="Downloading \"gpo2-name\"" 243s time="2025-10-18T14:43:14Z" level=info msg="GPO \"gpo1-name\" is already up to date" 243s time="2025-10-18T14:43:14Z" level=info msg="Downloading \"gpo1-name\"" 243s time="2025-10-18T14:43:14Z" level=info msg="GPO \"gpo2-name\" is already up to date" 243s === CONT TestFetch/Error_remote_version_NaN 243s === CONT TestFetch/Local_gpo_redownloaded_on_missing_GPT.INI 243s === CONT TestFetch/two_gpos,_one_more_recent,_one_up_to_date 243s time="2025-10-18T14:43:14Z" level=info msg="Downloading \"gpo1-name\"" 243s time="2025-10-18T14:43:15Z" level=info msg="GPO \"gpo1-name\" is already up to date" 243s time="2025-10-18T14:43:15Z" level=info msg="GPO \"gpo2-name\" is already up to date" 243s === CONT TestFetch/one_new_gpo 243s time="2025-10-18T14:43:15Z" level=info msg="Downloading \"gpo1-name\"" 243s === CONT TestGetPolicies/No_override_for_this_release,_takes_default_value 243s === CONT TestFetch/concurrent_same_gpos 243s time="2025-10-18T14:43:15Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 243s time="2025-10-18T14:43:15Z" level=info msg="Downloading \"multiple-releases-name\"" 243s time="2025-10-18T14:43:15Z" level=info msg="Downloading \"gpo1-name\"" 243s === CONT TestFetch/assets_are_not_updated_if_local_version_matches,_with_non-standard_GPT.INI_casing 243s time="2025-10-18T14:43:15Z" level=info msg="Assets directory is already up to date" 243s === CONT TestFetch/assets_are_not_updated_if_version_matches 243s time="2025-10-18T14:43:15Z" level=info msg="Assets directory is already up to date" 243s === CONT TestGetPolicies/Standard_policy_with_assets,_existing_assets_are_reattached_if_not_refreshed 243s time="2025-10-18T14:43:15Z" level=info msg="Assets directory is already up to date" 243s time="2025-10-18T14:43:15Z" level=info msg="Downloading \"standard-name\"" 243s time="2025-10-18T14:43:15Z" level=info msg="GPO \"gpo1-name\" is already up to date" 243s === CONT TestGetPolicies/Error_on_backend_HostKrb5CCName_call_failed 243s --- PASS: TestFetch (0.00s) 243s --- PASS: TestFetch/assets_root_directory_not_present_on_SYSVOL_issues_a_warning_only (0.06s) 243s --- PASS: TestFetch/assets_are_not_updated_if_remote_version_matches,_with_non-standard_GPT.INI_casing (0.07s) 243s --- PASS: TestFetch/remote_version_entry_missing_treated_as_0 (0.03s) 243s --- PASS: TestFetch/existing_assets_are_kept_if_no_assets_downloadable_provided (0.01s) 243s --- PASS: TestFetch/keep_existing_gpos_intact (0.04s) 243s --- PASS: TestFetch/two_new_gpos (0.10s) 243s --- PASS: TestFetch/assets_are_updated_to_latest_version (0.06s) 243s --- PASS: TestFetch/concurrent_different_gpos (0.14s) 243s --- PASS: TestFetch/Local_gpo_redownloaded_on_version_entry_missing_in_GPT.INI (0.08s) 243s --- PASS: TestFetch/Local_gpo_redownloaded_on_NaN_version_in_GPT.INI (0.08s) 243s --- PASS: TestFetch/Error_keeps_downloading_other_GPOS (0.06s) 243s --- PASS: TestFetch/local_gpo_is_more_recent_than_AD_one (0.02s) 243s --- PASS: TestFetch/gpo_already_up_to_date (0.03s) 243s --- PASS: TestFetch/two_gpos,_one_more_recent,_one_should_be_refreshed (0.09s) 243s --- PASS: TestFetch/existing_assets_are_removed_if_not_present_on_SYSVOL (0.03s) 243s --- PASS: TestFetch/assets_only_are_downloaded (0.06s) 243s --- PASS: TestFetch/gpos_and_assets (0.15s) 243s --- PASS: TestFetch/Error_missing_remote_GPT.INI (0.03s) 243s --- PASS: TestFetch/Error_unexistant_remote_gpo (0.02s) 243s --- PASS: TestFetch/assets_is_a_file_is_not_downloaded (0.02s) 243s --- PASS: TestFetch/two_gpos,_one_already_up_to_date,_one_should_be_refreshed (0.15s) 243s --- PASS: TestFetch/gpo_is_refreshed (0.07s) 243s --- PASS: TestFetch/two_gpos,_one_should_be_refreshed,_one_new (0.12s) 243s --- PASS: TestFetch/two_gpos,_one_already_up_to_date,_one_new (0.07s) 243s --- PASS: TestFetch/Error_remote_version_NaN (0.02s) 243s --- PASS: TestFetch/two_gpos,_one_more_recent,_one_new (0.09s) 243s --- PASS: TestFetch/two_gpos,_one_more_recent,_one_up_to_date (0.03s) 243s --- PASS: TestFetch/Local_gpo_redownloaded_on_missing_GPT.INI (0.09s) 243s --- PASS: TestFetch/one_new_gpo (0.06s) 243s --- PASS: TestFetch/assets_are_not_updated_if_local_version_matches,_with_non-standard_GPT.INI_casing (0.02s) 243s --- PASS: TestFetch/assets_are_not_updated_if_version_matches (0.02s) 243s --- PASS: TestFetch/concurrent_same_gpos (0.23s) 243s === CONT TestGetPolicies/Policy_machine_directory_is_uppercase 243s === CONT TestGetPolicies/Filter_non_Ubuntu_keys 243s time="2025-10-18T14:43:15Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 243s time="2025-10-18T14:43:15Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 243s time="2025-10-18T14:43:15Z" level=info msg="Downloading \"uppercase-class-name\"" 243s time="2025-10-18T14:43:15Z" level=info msg="Downloading \"filtered-name\"" 243s === CONT TestGetPolicies/Enabled_override 243s === CONT TestGetPolicies/Empty_value_for_unfiltered_entry 243s time="2025-10-18T14:43:15Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 243s time="2025-10-18T14:43:15Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 243s time="2025-10-18T14:43:15Z" level=info msg="Downloading \"empty-value-name\"" 243s time="2025-10-18T14:43:15Z" level=info msg="Downloading \"multiple-releases-one-enabled-name\"" 243s === CONT TestGetPolicies/Corrupted_policy_file 243s === CONT TestGetPolicies/Error_on_backend_ServerFQDN_call_failed 243s === CONT TestGetPolicies/Computer_policy_Registry.pol_is_lower_case 243s time="2025-10-18T14:43:15Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 243s time="2025-10-18T14:43:15Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 243s time="2025-10-18T14:43:15Z" level=info msg="Downloading \"lowercase-registry-name\"" 243s time="2025-10-18T14:43:15Z" level=info msg="Downloading \"corrupted-policy-name\"" 243s === CONT TestGetPolicies/Ignore_errors_on_non_Ubuntu_keys 243s === CONT TestGetPolicies/Disabled_value_overrides_non_disabled_one 243s time="2025-10-18T14:43:15Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 243s time="2025-10-18T14:43:15Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 243s time="2025-10-18T14:43:15Z" level=info msg="Downloading \"disabled-value-name\"" 243s time="2025-10-18T14:43:15Z" level=info msg="Downloading \"unsupported-with-errors-name\"" 243s time="2025-10-18T14:43:15Z" level=info msg="Downloading \"standard-name\"" 243s === CONT TestGetPolicies/Standard_policy,_user_object 243s === CONT TestGetPolicies/Unexisting_CC_original_file_for_user 243s === CONT TestGetPolicies/Computer_policy_Registry.pol_is_mixed_case 243s time="2025-10-18T14:43:15Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 243s time="2025-10-18T14:43:15Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 243s time="2025-10-18T14:43:15Z" level=info msg="Downloading \"standard-name\"" 243s time="2025-10-18T14:43:15Z" level=info msg="Downloading \"mixedcase-registry-name\"" 243s === CONT TestGetPolicies/User_policy_Registry.pol_is_mixed_case 243s === CONT TestGetPolicies/Policy_machine_directory_is_not_capitalized_or_uppercase,_no_rules_are_parsed 243s time="2025-10-18T14:43:16Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 243s time="2025-10-18T14:43:16Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 243s time="2025-10-18T14:43:16Z" level=info msg="Downloading \"lowercase-class-name\"" 243s time="2025-10-18T14:43:16Z" level=info msg="Downloading \"mixedcase-registry-name\"" 243s === CONT TestGetPolicies/Enabled_override_for_matching_release,_other_releases_override_ignored 243s === CONT TestGetPolicies/Assets_can’t_be_downloaded_without_GPO 243s === CONT TestGetPolicies/User_only_policy,_user_object 243s time="2025-10-18T14:43:16Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 243s time="2025-10-18T14:43:16Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 243s time="2025-10-18T14:43:16Z" level=info msg="Downloading \"user-only-name\"" 243s time="2025-10-18T14:43:16Z" level=info msg="Downloading \"multiple-releases-name\"" 243s === CONT TestGetPolicies/Standard_policy,_computer_object 243s === CONT TestGetPolicies/Policy_user_directory_is_not_capitalized_or_uppercase,_no_rules_are_parsed 243s time="2025-10-18T14:43:16Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 243s time="2025-10-18T14:43:16Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 243s time="2025-10-18T14:43:16Z" level=info msg="Downloading \"lowercase-class-name\"" 243s time="2025-10-18T14:43:16Z" level=info msg="Downloading \"standard-name\"" 243s === CONT TestGetPolicies/Two_policies,_no_overrides,_reversed 243s === CONT TestGetPolicies/Two_policies,_no_overrides 243s time="2025-10-18T14:43:16Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 243s time="2025-10-18T14:43:16Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 243s time="2025-10-18T14:43:16Z" level=info msg="Downloading \"one-value-name\"" 243s time="2025-10-18T14:43:16Z" level=info msg="Downloading \"one-value-name\"" 243s time="2025-10-18T14:43:16Z" level=info msg="Downloading \"user-only-name\"" 243s time="2025-10-18T14:43:16Z" level=info msg="Downloading \"user-only-name\"" 243s === CONT TestGetPolicies/Multiple_domains,_same_GPO 243s === CONT TestGetPolicies/Disabled_override 243s time="2025-10-18T14:43:16Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 243s time="2025-10-18T14:43:16Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 243s time="2025-10-18T14:43:16Z" level=info msg="Downloading \"multiple-releases-one-disabled-name\"" 243s time="2025-10-18T14:43:16Z" level=info msg="Downloading \"multiple-domains-name\"" 243s === CONT TestGetPolicies/Local_assets_and_its_db_are_removed_if_not_present_anymore_on_AD_sysvol 243s === CONT TestGetPolicies/Standard_policy_with_assets,_downloads_assets 243s time="2025-10-18T14:43:16Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 243s time="2025-10-18T14:43:16Z" level=info msg="Downloading \"standard-name\"" 244s time="2025-10-18T14:43:16Z" level=info msg="Downloading \"assets\"" 244s time="2025-10-18T14:43:16Z" level=info msg="Downloading \"standard-name\"" 244s === CONT TestGetPolicies/Computer_only_policy,_user_object,_policy_is_empty 244s === CONT TestGetPolicies/Unsupported_type_for_unfiltered_entry 244s time="2025-10-18T14:43:16Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 244s time="2025-10-18T14:43:16Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 244s time="2025-10-18T14:43:16Z" level=info msg="Downloading \"bad-entry-type-name\"" 244s time="2025-10-18T14:43:16Z" level=info msg="Downloading \"machine-only-name\"" 244s === CONT TestGetPolicies/Error_on_backend_IsOnline_call_failed 244s === CONT TestGetPolicies/Unexisting_CC_original_file_for_machine 244s === CONT TestGetPolicies/Without_previous_call,_needs_userKrb5CCBaseName 244s === CONT TestGetPolicies/Machine_doesn’t_match 244s === CONT TestGetPolicies/User_policy_Registry.pol_is_lower_case 244s === CONT TestGetPolicies/Policy_user_directory_is_uppercase 244s time="2025-10-18T14:43:17Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 244s time="2025-10-18T14:43:17Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 244s time="2025-10-18T14:43:17Z" level=info msg="Downloading \"uppercase-class-name\"" 244s time="2025-10-18T14:43:17Z" level=info msg="Downloading \"lowercase-registry-name\"" 244s === CONT TestGetPolicies/Include_non_Ubuntu_keys_used_to_configure_certificate_autoenrollment 244s === CONT TestGetPolicies/More_policies,_with_multiple_overrides 244s time="2025-10-18T14:43:17Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 244s time="2025-10-18T14:43:17Z" level=info msg="Downloading \"filtered-with-certificate-autoenrollment-name\"" 244s time="2025-10-18T14:43:17Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 244s time="2025-10-18T14:43:17Z" level=info msg="Downloading \"one-value-name\"" 244s time="2025-10-18T14:43:17Z" level=info msg="Downloading \"user-only-name\"" 244s time="2025-10-18T14:43:17Z" level=info msg="Downloading \"standard-name\"" 244s === CONT TestGetPolicies/Disabled_value_is_overridden 244s === CONT TestGetPolicies/Two_policies,_no_overrides,_one_is_not_the_same_object_type,_machine_ones_are_empty_when_parsing_user 244s time="2025-10-18T14:43:17Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 244s time="2025-10-18T14:43:17Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 244s time="2025-10-18T14:43:17Z" level=info msg="Downloading \"standard-name\"" 244s time="2025-10-18T14:43:17Z" level=info msg="Downloading \"disabled-value-name\"" 244s time="2025-10-18T14:43:17Z" level=info msg="Downloading \"machine-only-name\"" 244s time="2025-10-18T14:43:17Z" level=info msg="Downloading \"standard-name\"" 244s === CONT TestGetPolicies/Two_policies,_with_overrides 244s === CONT TestGetPolicies/Same_key_in_different_domains_are_kept_separated 244s time="2025-10-18T14:43:17Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 244s time="2025-10-18T14:43:17Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 244s time="2025-10-18T14:43:17Z" level=info msg="Downloading \"standard-name\"" 244s time="2025-10-18T14:43:17Z" level=info msg="Downloading \"one-value-name\"" 244s time="2025-10-18T14:43:17Z" level=info msg="Downloading \"other-domain-name\"" 244s time="2025-10-18T14:43:17Z" level=info msg="Downloading \"one-value-name\"" 244s === CONT TestGetPolicies/Disable_override_for_matching_release,_other_releases_override_ignored 244s === CONT TestGetPolicies/Assets_directory_being_a_file_cleanup_local_existing_assets_and_its_db 244s time="2025-10-18T14:43:17Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 244s time="2025-10-18T14:43:17Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 244s time="2025-10-18T14:43:17Z" level=info msg="Downloading \"multiple-releases-name\"" 244s time="2025-10-18T14:43:17Z" level=info msg="Downloading \"standard-name\"" 244s === CONT TestNew/create_KRB5_and_Sysvol_cache_directory 244s === CONT TestGetPolicies/Symlinks_can’t_be_created 244s === CONT TestGetPolicies/Error_on_user_without_@_in_name 244s === CONT TestGetPolicies/Policy_can’t_be_downloaded 244s === CONT TestGetPolicies/Two_policies,_with_reversed_overrides 244s time="2025-10-18T14:43:17Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 244s time="2025-10-18T14:43:17Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 244s === CONT TestGetPolicies/User_only_policy,_computer_object,_policy_is_empty 244s time="2025-10-18T14:43:17Z" level=info msg="Downloading \"one-value-name\"" 244s time="2025-10-18T14:43:17Z" level=info msg="Downloading \"standard-name\"" 244s === CONT TestNew/error_on_backend_ServerFQDN_random_failure 244s === CONT TestNew/no_active_server_in_backend_does_not_fail_ad_creation 244s === CONT TestNew/failed_to_create_Policies_cache_directory 244s === CONT TestNew/failed_to_create_Sysvol_cache_directory 244s === CONT TestNew/failed_to_create_KRB5_cache_directory 244s --- PASS: TestNew (0.00s) 244s --- PASS: TestNew/create_KRB5_and_Sysvol_cache_directory (0.00s) 244s --- PASS: TestNew/error_on_backend_ServerFQDN_random_failure (0.00s) 244s --- PASS: TestNew/no_active_server_in_backend_does_not_fail_ad_creation (0.00s) 244s --- PASS: TestNew/failed_to_create_Policies_cache_directory (0.00s) 244s --- PASS: TestNew/failed_to_create_Sysvol_cache_directory (0.00s) 244s --- PASS: TestNew/failed_to_create_KRB5_cache_directory (0.00s) 244s === CONT TestGetPoliciesOffline/Offline,_ensure_we_fetch_from_cache_and_not_fetch_GPO_list 244s time="2025-10-18T14:43:18Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 244s time="2025-10-18T14:43:18Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 244s time="2025-10-18T14:43:18Z" level=info msg="Downloading \"standard-name\"" 244s time="2025-10-18T14:43:18Z" level=info msg="Downloading \"user-only-name\"" 244s --- PASS: TestGetPolicies (0.00s) 244s --- PASS: TestGetPolicies/No_override_for_this_release,_takes_default_value (0.09s) 244s --- PASS: TestGetPolicies/Error_on_backend_HostKrb5CCName_call_failed (0.00s) 244s --- PASS: TestGetPolicies/Standard_policy_with_assets,_existing_assets_are_reattached_if_not_refreshed (0.12s) 244s --- PASS: TestGetPolicies/Filter_non_Ubuntu_keys (0.14s) 244s --- PASS: TestGetPolicies/Policy_machine_directory_is_uppercase (0.16s) 244s --- PASS: TestGetPolicies/Empty_value_for_unfiltered_entry (0.11s) 244s --- PASS: TestGetPolicies/Enabled_override (0.12s) 244s --- PASS: TestGetPolicies/Error_on_backend_ServerFQDN_call_failed (0.01s) 244s --- PASS: TestGetPolicies/Corrupted_policy_file (0.14s) 244s --- PASS: TestGetPolicies/Computer_policy_Registry.pol_is_lower_case (0.14s) 244s --- PASS: TestGetPolicies/Ignore_errors_on_non_Ubuntu_keys (0.12s) 244s --- PASS: TestGetPolicies/Disabled_value_overrides_non_disabled_one (0.12s) 244s --- PASS: TestGetPolicies/Unexisting_CC_original_file_for_user (0.00s) 244s --- PASS: TestGetPolicies/Standard_policy,_user_object (0.14s) 244s --- PASS: TestGetPolicies/Computer_policy_Registry.pol_is_mixed_case (0.13s) 244s --- PASS: TestGetPolicies/User_policy_Registry.pol_is_mixed_case (0.15s) 244s --- PASS: TestGetPolicies/Policy_machine_directory_is_not_capitalized_or_uppercase,_no_rules_are_parsed (0.15s) 244s --- PASS: TestGetPolicies/Assets_can’t_be_downloaded_without_GPO (0.05s) 244s --- PASS: TestGetPolicies/User_only_policy,_user_object (0.11s) 244s --- PASS: TestGetPolicies/Enabled_override_for_matching_release,_other_releases_override_ignored (0.18s) 244s --- PASS: TestGetPolicies/Policy_user_directory_is_not_capitalized_or_uppercase,_no_rules_are_parsed (0.13s) 244s --- PASS: TestGetPolicies/Standard_policy,_computer_object (0.14s) 244s --- PASS: TestGetPolicies/Two_policies,_no_overrides,_reversed (0.15s) 244s --- PASS: TestGetPolicies/Two_policies,_no_overrides (0.15s) 244s --- PASS: TestGetPolicies/Multiple_domains,_same_GPO (0.16s) 244s --- PASS: TestGetPolicies/Disabled_override (0.16s) 244s --- PASS: TestGetPolicies/Local_assets_and_its_db_are_removed_if_not_present_anymore_on_AD_sysvol (0.15s) 244s --- PASS: TestGetPolicies/Standard_policy_with_assets,_downloads_assets (0.16s) 244s --- PASS: TestGetPolicies/Unsupported_type_for_unfiltered_entry (0.11s) 244s --- PASS: TestGetPolicies/Error_on_backend_IsOnline_call_failed (0.00s) 244s --- PASS: TestGetPolicies/Computer_only_policy,_user_object,_policy_is_empty (0.13s) 244s --- PASS: TestGetPolicies/Without_previous_call,_needs_userKrb5CCBaseName (0.00s) 244s --- PASS: TestGetPolicies/Machine_doesn’t_match (0.00s) 244s --- PASS: TestGetPolicies/Unexisting_CC_original_file_for_machine (0.01s) 244s --- PASS: TestGetPolicies/User_policy_Registry.pol_is_lower_case (0.14s) 244s --- PASS: TestGetPolicies/Policy_user_directory_is_uppercase (0.14s) 244s --- PASS: TestGetPolicies/Include_non_Ubuntu_keys_used_to_configure_certificate_autoenrollment (0.14s) 244s --- PASS: TestGetPolicies/More_policies,_with_multiple_overrides (0.15s) 244s --- PASS: TestGetPolicies/Disabled_value_is_overridden (0.17s) 244s --- PASS: TestGetPolicies/Two_policies,_no_overrides,_one_is_not_the_same_object_type,_machine_ones_are_empty_when_parsing_user (0.17s) 244s --- PASS: TestGetPolicies/Same_key_in_different_domains_are_kept_separated (0.15s) 244s --- PASS: TestGetPolicies/Two_policies,_with_overrides (0.16s) 244s --- PASS: TestGetPolicies/Disable_override_for_matching_release,_other_releases_override_ignored (0.14s) 244s --- PASS: TestGetPolicies/Assets_directory_being_a_file_cleanup_local_existing_assets_and_its_db (0.14s) 244s --- PASS: TestGetPolicies/Symlinks_can’t_be_created (0.00s) 244s --- PASS: TestGetPolicies/Error_on_user_without_@_in_name (0.00s) 244s --- PASS: TestGetPolicies/Policy_can’t_be_downloaded (0.14s) 244s --- PASS: TestGetPolicies/Two_policies,_with_reversed_overrides (0.18s) 244s --- PASS: TestGetPolicies/User_only_policy,_computer_object,_policy_is_empty (0.17s) 244s === CONT TestGetPoliciesOffline/Error_on_SSSD_reports_online,_but_we_are_actually_offline_when_fetching_gpo_list,_even_with_a_cache 244s time="2025-10-18T14:43:18Z" level=info msg="Can't reach AD: machine is offline and \"useroffline@GPOONLY.COM\" policies are applied using previous online update" 244s === CONT TestGetPoliciesOffline/Offline,_with_assets 244s time="2025-10-18T14:43:18Z" level=info msg="Downloading \"assets\"" 244s time="2025-10-18T14:43:18Z" level=info msg="Downloading \"standard-name\"" 244s time="2025-10-18T14:43:18Z" level=info msg="Downloading \"assets\"" 244s time="2025-10-18T14:43:18Z" level=info msg="Downloading \"standard-name\"" 244s time="2025-10-18T14:43:18Z" level=info msg="Can't reach AD: machine is offline and \"useroffline@ASSETSANDGPO.COM\" policies are applied using previous online update" 244s === CONT TestGetPoliciesOffline/Error_offline_with_no_cache 244s === CONT TestGetPoliciesOffline/Offline,_get_from_cache,_with_assets 244s === CONT TestFetchTweakSysvolCacheDir/SysvolCacheDir_doesn't_exist 244s time="2025-10-18T14:43:18Z" level=info msg="Downloading \"standard-name\"" 244s time="2025-10-18T14:43:18Z" level=info msg="Downloading \"assets\"" 244s time="2025-10-18T14:43:18Z" level=info msg="Downloading \"gpo1-name\"" 244s === CONT TestFetchWithUnreadableFile/without_gpo_initially_don’t_commit_new_partial_GPO 244s time="2025-10-18T14:43:18Z" level=info msg="Downloading \"gpo1-name\"" 244s === CONT TestFetchTweakSysvolCacheDir/SysvolCacheDir_is_read_only 244s time="2025-10-18T14:43:18Z" level=info msg="Downloading \"gpo1-name\"" 244s --- PASS: TestFetchTweakSysvolCacheDir (0.00s) 244s --- PASS: TestFetchTweakSysvolCacheDir/SysvolCacheDir_doesn't_exist (0.06s) 244s --- PASS: TestFetchTweakSysvolCacheDir/SysvolCacheDir_is_read_only (0.02s) 244s === CONT TestGetPolicyDefinitions/Load_ADMX_and_ADML 244s === CONT TestFetchWithUnreadableFile/existing_gpo_is_preserved 244s time="2025-10-18T14:43:18Z" level=info msg="Can't reach AD: machine is offline and \"useroffline@ASSETSANDGPO.COM\" policies are applied using previous online update" 244s --- PASS: TestGetPoliciesOffline (0.00s) 244s --- PASS: TestGetPoliciesOffline/Offline,_get_from_cache,_gpo_only (0.27s) 244s --- PASS: TestGetPoliciesOffline/Offline,_ensure_we_fetch_from_cache_and_not_fetch_GPO_list (0.13s) 244s --- PASS: TestGetPoliciesOffline/Offline,_with_assets (0.18s) 244s --- PASS: TestGetPoliciesOffline/Error_offline_with_no_cache (0.00s) 244s --- PASS: TestGetPoliciesOffline/Error_on_SSSD_reports_online,_but_we_are_actually_offline_when_fetching_gpo_list,_even_with_a_cache (0.23s) 244s --- PASS: TestGetPoliciesOffline/Offline,_get_from_cache,_with_assets (0.18s) 244s === CONT TestNormalizeTargetName/One_valid_user 244s === CONT TestGetPolicyDefinitions/ADMX_and_ADML_does_not_exist_for_this_distro 244s === CONT TestGetPolicyDefinitions/ADMX_and_ADML_does_not_exist_for_this_format 244s --- PASS: TestGetPolicyDefinitions (0.00s) 244s --- PASS: TestGetPolicyDefinitions/Load_ADMX_and_ADML (0.00s) 244s --- PASS: TestGetPolicyDefinitions/ADMX_and_ADML_does_not_exist_for_this_distro (0.00s) 244s --- PASS: TestGetPolicyDefinitions/ADMX_and_ADML_does_not_exist_for_this_format (0.00s) 244s === CONT TestGetInfo/Report_unknown_state_if_IsOnline_calls_fail 244s time="2025-10-18T14:43:18Z" level=warning msg="IsOnline returned an error" 244s === CONT TestNormalizeTargetName/Computer_name_without_objectClass 244s === CONT TestNormalizeTargetName/User_name_fqdn_matching_computer 244s === CONT TestNormalizeTargetName/User_name_matching_computer,_setting_as_user 244s === CONT TestNormalizeTargetName/Computer_with_@_is_left_as_such 244s === CONT TestNormalizeTargetName/Computer_in_uppercase_is_left_as_such 244s === CONT TestNormalizeTargetName/One_valid_user_with_domain\user 244s === CONT TestNormalizeTargetName/One_valid_user_with_mixed_case 244s === CONT TestNormalizeTargetName/Error_on_no_default_domain_suffix_and_no_fqdn_user 244s === CONT TestNormalizeTargetName/Error_on_multiple_\_in_name 244s === CONT TestNormalizeTargetName/Computer_is_left_as_such 244s time="2025-10-18T14:43:18Z" level=info msg="Downloading \"gpo1-name\"" 244s === CONT TestNormalizeTargetName/One_user_without_explicit_domain_suffix 244s --- PASS: TestNormalizeTargetName (0.00s) 244s --- PASS: TestNormalizeTargetName/One_valid_user (0.00s) 244s --- PASS: TestNormalizeTargetName/Computer_name_without_objectClass (0.00s) 244s --- PASS: TestNormalizeTargetName/User_name_fqdn_matching_computer (0.00s) 244s --- PASS: TestNormalizeTargetName/User_name_matching_computer,_setting_as_user (0.00s) 244s --- PASS: TestNormalizeTargetName/Computer_with_@_is_left_as_such (0.00s) 244s --- PASS: TestNormalizeTargetName/Computer_in_uppercase_is_left_as_such (0.00s) 244s --- PASS: TestNormalizeTargetName/One_valid_user_with_domain\user (0.00s) 244s --- PASS: TestNormalizeTargetName/One_valid_user_with_mixed_case (0.00s) 244s --- PASS: TestNormalizeTargetName/Error_on_no_default_domain_suffix_and_no_fqdn_user (0.00s) 244s --- PASS: TestNormalizeTargetName/Error_on_multiple_\_in_name (0.00s) 244s --- PASS: TestNormalizeTargetName/Computer_is_left_as_such (0.00s) 244s --- PASS: TestNormalizeTargetName/One_user_without_explicit_domain_suffix (0.00s) 244s === CONT TestListUsers/Machine_Only,_from_policy_cache 244s === CONT TestGetInfo/Info_reported_from_backend,_offline 244s === CONT TestGetInfo/Info_reported_from_backend,_online 244s === CONT TestGetInfo/Report_unknown_state_if_ServerFQDN_calls_fail 244s --- PASS: TestGetInfo (0.00s) 244s --- PASS: TestGetInfo/Report_unknown_state_if_IsOnline_calls_fail (0.00s) 244s --- PASS: TestGetInfo/Info_reported_from_backend,_offline (0.00s) 244s --- PASS: TestGetInfo/Info_reported_from_backend,_online (0.00s) 244s --- PASS: TestGetInfo/Report_unknown_state_if_ServerFQDN_calls_fail (0.00s) 244s === CONT TestGetPoliciesConcurrently/Same_user,_same_GPO 244s --- PASS: TestFetchWithUnreadableFile (0.00s) 244s --- PASS: TestFetchWithUnreadableFile/without_gpo_initially_don’t_commit_new_partial_GPO (0.03s) 244s --- PASS: TestFetchWithUnreadableFile/existing_gpo_is_preserved (0.04s) 244s === CONT TestListUsers/Machines_are_ignored,_from_policy_cache 244s === CONT TestListUsers/None,_from_policy_cache 244s === CONT TestListUsers/One_user,_from_policy_cache 244s === CONT TestListUsers/Machine_Only 244s === CONT TestListUsers/None 244s === CONT TestListUsers/Two_users,_dangling_symlink_for_one 244s === CONT TestListUsers/Ticket_cache_ignored_if_policy_cache_is_requested 244s === CONT TestListUsers/Two_users,_from_policy_cache 244s === CONT TestListUsers/Machines_are_ignored 244s === CONT TestListUsers/Two_users 244s === CONT TestListUsers/One_user 244s === CONT TestListUsers/Error_on_policy_cache_directory_not_existing 244s === CONT TestListUsers/Error_on_Krb5_directory_not_existing 244s --- PASS: TestListUsers (0.00s) 244s --- PASS: TestListUsers/Machine_Only,_from_policy_cache (0.00s) 244s --- PASS: TestListUsers/None,_from_policy_cache (0.00s) 244s --- PASS: TestListUsers/Machines_are_ignored,_from_policy_cache (0.00s) 244s --- PASS: TestListUsers/One_user,_from_policy_cache (0.00s) 244s --- PASS: TestListUsers/None (0.00s) 244s --- PASS: TestListUsers/Machine_Only (0.00s) 244s --- PASS: TestListUsers/Two_users,_dangling_symlink_for_one (0.00s) 244s --- PASS: TestListUsers/Ticket_cache_ignored_if_policy_cache_is_requested (0.00s) 244s --- PASS: TestListUsers/Machines_are_ignored (0.00s) 244s --- PASS: TestListUsers/Two_users (0.00s) 244s --- PASS: TestListUsers/One_user (0.00s) 244s --- PASS: TestListUsers/Two_users,_from_policy_cache (0.00s) 244s --- PASS: TestListUsers/Error_on_policy_cache_directory_not_existing (0.00s) 244s --- PASS: TestListUsers/Error_on_Krb5_directory_not_existing (0.00s) 244s === CONT TestGetPoliciesWorkflows/Second_call_is_a_refresh_(without_Krb5CCName_specified) 244s time="2025-10-18T14:43:18Z" level=info msg="Downloading \"assets\"" 244s time="2025-10-18T14:43:18Z" level=info msg="Downloading \"assets\"" 244s time="2025-10-18T14:43:18Z" level=info msg="Downloading \"standard-name\"" 244s time="2025-10-18T14:43:18Z" level=info msg="Downloading \"standard-name\"" 244s time="2025-10-18T14:43:18Z" level=info msg="GPO \"standard-name\" is already up to date" 244s time="2025-10-18T14:43:18Z" level=info msg="Assets directory is already up to date" 244s === CONT TestGetPoliciesConcurrently/Machine_requested_twice_at_the_same_time 244s time="2025-10-18T14:43:18Z" level=info msg="GPO \"standard-name\" is already up to date" 244s time="2025-10-18T14:43:18Z" level=info msg="Assets directory is already up to date" 244s === CONT TestGetPoliciesConcurrently/One_machine,_one_user 244s time="2025-10-18T14:43:18Z" level=info msg="Downloading \"assets\"" 244s time="2025-10-18T14:43:18Z" level=info msg="Downloading \"standard-name\"" 244s time="2025-10-18T14:43:18Z" level=info msg="Downloading \"standard-name\"" 244s time="2025-10-18T14:43:18Z" level=info msg="Downloading \"assets\"" 244s time="2025-10-18T14:43:18Z" level=info msg="Assets directory is already up to date" 244s time="2025-10-18T14:43:18Z" level=info msg="GPO \"standard-name\" is already up to date" 244s === CONT TestGetPoliciesConcurrently/Different_users,_different_GPO 244s time="2025-10-18T14:43:19Z" level=info msg="Assets directory is already up to date" 244s time="2025-10-18T14:43:19Z" level=info msg="Downloading \"assets\"" 244s time="2025-10-18T14:43:19Z" level=info msg="GPO \"standard-name\" is already up to date" 244s time="2025-10-18T14:43:19Z" level=info msg="Downloading \"standard-name\"" 244s === CONT TestGetPoliciesConcurrently/Different_users,_same_GPO 244s time="2025-10-18T14:43:19Z" level=info msg="Downloading \"standard-name\"" 244s time="2025-10-18T14:43:19Z" level=info msg="Assets directory is already up to date" 244s time="2025-10-18T14:43:19Z" level=info msg="Downloading \"one-value-name\"" 244s time="2025-10-18T14:43:19Z" level=info msg="Downloading \"assets\"" 244s === CONT TestGetPoliciesWorkflows/Second_machine_call_after_a_restart 244s time="2025-10-18T14:43:19Z" level=info msg="Downloading \"standard-name\"" 244s time="2025-10-18T14:43:19Z" level=info msg="GPO \"standard-name\" is already up to date" 244s time="2025-10-18T14:43:19Z" level=info msg="Assets directory is already up to date" 244s time="2025-10-18T14:43:19Z" level=info msg="Downloading \"assets\"" 244s --- PASS: TestGetPoliciesConcurrently (0.00s) 244s --- PASS: TestGetPoliciesConcurrently/Same_user,_same_GPO (0.24s) 244s --- PASS: TestGetPoliciesConcurrently/Machine_requested_twice_at_the_same_time (0.30s) 244s --- PASS: TestGetPoliciesConcurrently/One_machine,_one_user (0.28s) 244s --- PASS: TestGetPoliciesConcurrently/Different_users,_different_GPO (0.29s) 244s --- PASS: TestGetPoliciesConcurrently/Different_users,_same_GPO (0.25s) 244s === CONT TestGetPoliciesWorkflows/Second_machine_call_is_a_refresh_(without_Krb5CCName_specified) 244s time="2025-10-18T14:43:19Z" level=info msg="Downloading \"assets\"" 244s time="2025-10-18T14:43:19Z" level=info msg="Downloading \"standard-name\"" 244s time="2025-10-18T14:43:19Z" level=info msg="GPO \"standard-name\" is already up to date" 244s time="2025-10-18T14:43:19Z" level=info msg="Assets directory is already up to date" 244s === CONT TestGetPoliciesWorkflows/Second_call_without_Krb5CCName_replaces_previous_symlinks_in_the_original_path 244s time="2025-10-18T14:43:19Z" level=info msg="Downloading \"assets\"" 244s time="2025-10-18T14:43:19Z" level=info msg="Downloading \"standard-name\"" 244s time="2025-10-18T14:43:19Z" level=info msg="Assets directory is already up to date" 244s time="2025-10-18T14:43:19Z" level=info msg="GPO \"standard-name\" is already up to date" 244s === CONT TestGetPoliciesWorkflows/Second_call_after_a_relogin 244s time="2025-10-18T14:43:19Z" level=info msg="Downloading \"standard-name\"" 244s time="2025-10-18T14:43:19Z" level=info msg="Downloading \"assets\"" 244s time="2025-10-18T14:43:19Z" level=info msg="Assets directory is already up to date" 244s time="2025-10-18T14:43:19Z" level=info msg="GPO \"standard-name\" is already up to date" 244s === CONT TestGetPoliciesWorkflows/Second_call_with_different_user 244s time="2025-10-18T14:43:19Z" level=info msg="Downloading \"assets\"" 244s time="2025-10-18T14:43:19Z" level=info msg="Downloading \"standard-name\"" 244s time="2025-10-18T14:43:19Z" level=info msg="Assets directory is already up to date" 244s time="2025-10-18T14:43:19Z" level=info msg="GPO \"standard-name\" is already up to date" 244s === CONT TestGetPoliciesWorkflows/Second_machine_call_after_service_restarted 244s time="2025-10-18T14:43:20Z" level=info msg="GPO \"standard-name\" is already up to date" 244s time="2025-10-18T14:43:20Z" level=info msg="Downloading \"standard-name\"" 244s time="2025-10-18T14:43:20Z" level=info msg="Assets directory is already up to date" 244s time="2025-10-18T14:43:20Z" level=info msg="Downloading \"assets\"" 244s === CONT TestGetPoliciesWorkflows/Second_call_without_Krb5CCName_refreshes_ticket_copy_if_needed 244s time="2025-10-18T14:43:20Z" level=info msg="Downloading \"standard-name\"" 244s time="2025-10-18T14:43:20Z" level=info msg="GPO \"standard-name\" is already up to date" 244s time="2025-10-18T14:43:20Z" level=info msg="Assets directory is already up to date" 244s time="2025-10-18T14:43:20Z" level=info msg="Downloading \"assets\"" 244s === CONT TestGetPoliciesWorkflows/Second_call_after_service_restarted 244s time="2025-10-18T14:43:20Z" level=info msg="Downloading \"assets\"" 244s time="2025-10-18T14:43:20Z" level=info msg="Assets directory is already up to date" 244s time="2025-10-18T14:43:20Z" level=info msg="Downloading \"standard-name\"" 244s time="2025-10-18T14:43:20Z" level=info msg="GPO \"standard-name\" is already up to date" 244s time="2025-10-18T14:43:20Z" level=info msg="Assets directory is already up to date" 244s time="2025-10-18T14:43:20Z" level=info msg="GPO \"standard-name\" is already up to date" 244s --- PASS: TestGetPoliciesWorkflows (0.00s) 244s --- PASS: TestGetPoliciesWorkflows/Second_call_is_a_refresh_(without_Krb5CCName_specified) (0.35s) 244s --- PASS: TestGetPoliciesWorkflows/Second_machine_call_after_a_restart (0.22s) 244s --- PASS: TestGetPoliciesWorkflows/Second_machine_call_is_a_refresh_(without_Krb5CCName_specified) (0.30s) 244s --- PASS: TestGetPoliciesWorkflows/Second_call_without_Krb5CCName_replaces_previous_symlinks_in_the_original_path (0.30s) 244s --- PASS: TestGetPoliciesWorkflows/Second_call_after_a_relogin (0.28s) 244s --- PASS: TestGetPoliciesWorkflows/Second_call_with_different_user (0.27s) 244s --- PASS: TestGetPoliciesWorkflows/Second_machine_call_after_service_restarted (0.29s) 244s --- PASS: TestGetPoliciesWorkflows/Second_call_without_Krb5CCName_refreshes_ticket_copy_if_needed (0.28s) 244s --- PASS: TestGetPoliciesWorkflows/Second_call_after_service_restarted (0.22s) 244s PASS 244s ok github.com/ubuntu/adsys/internal/ad 8.673s 244s === RUN TestGenerateExpandedCategories 244s === PAUSE TestGenerateExpandedCategories 244s === RUN TestExpandedCategoriesToADMX 244s === PAUSE TestExpandedCategoriesToADMX 244s === RUN TestExpandedCategoriesToMD 244s === PAUSE TestExpandedCategoriesToMD 244s === RUN TestExpand 244s === PAUSE TestExpand 244s === RUN TestGenerateAD 244s === PAUSE TestGenerateAD 244s === RUN TestGenerateDoc 244s === PAUSE TestGenerateDoc 244s === CONT TestGenerateExpandedCategories 244s === CONT TestExpand 244s === RUN TestExpand/no_release_file 244s === PAUSE TestExpand/no_release_file 244s === RUN TestGenerateExpandedCategories/simple 244s === RUN TestExpand/unsupported_policy_type 244s === PAUSE TestGenerateExpandedCategories/simple 244s === PAUSE TestExpand/unsupported_policy_type 244s === RUN TestGenerateExpandedCategories/basic 244s === PAUSE TestGenerateExpandedCategories/basic 244s === RUN TestGenerateExpandedCategories/different_display_name 244s === RUN TestExpand/no_source_directory 244s === PAUSE TestExpand/no_source_directory 244s === PAUSE TestGenerateExpandedCategories/different_display_name 244s === RUN TestExpand/dconf 244s === RUN TestGenerateExpandedCategories/meta_entry_only 244s === PAUSE TestExpand/dconf 244s === PAUSE TestGenerateExpandedCategories/meta_entry_only 244s === RUN TestExpand/expanded_policy 244s === RUN TestGenerateExpandedCategories/error_on_key_independent_of_any_release_key_but_with_one_release_specified 244s === PAUSE TestExpand/expanded_policy 244s === RUN TestExpand/no_version_id 244s === PAUSE TestExpand/no_version_id 244s === PAUSE TestGenerateExpandedCategories/error_on_key_independent_of_any_release_key_but_with_one_release_specified 244s === RUN TestGenerateExpandedCategories/available_on_one_release_only 244s === RUN TestExpand/invalid_dconf.yaml 244s === PAUSE TestGenerateExpandedCategories/available_on_one_release_only 244s === RUN TestGenerateExpandedCategories/applicable_to_all_releases 244s === PAUSE TestGenerateExpandedCategories/applicable_to_all_releases 244s === RUN TestGenerateExpandedCategories/no_note_strategy_append 244s === PAUSE TestExpand/invalid_dconf.yaml 244s === PAUSE TestGenerateExpandedCategories/no_note_strategy_append 244s === RUN TestExpand/dconf_generation_fails 244s === PAUSE TestExpand/dconf_generation_fails 244s === RUN TestExpand/expanded_policy_with_meta 244s === RUN TestGenerateExpandedCategories/range 244s === PAUSE TestGenerateExpandedCategories/range 244s === RUN TestGenerateExpandedCategories/no_meta_enabled 244s === PAUSE TestGenerateExpandedCategories/no_meta_enabled 244s === RUN TestGenerateExpandedCategories/policy_directory_doesn't_exist 244s === PAUSE TestGenerateExpandedCategories/policy_directory_doesn't_exist 244s === RUN TestGenerateExpandedCategories/same_default 244s === PAUSE TestExpand/expanded_policy_with_meta 244s === PAUSE TestGenerateExpandedCategories/same_default 244s === RUN TestGenerateExpandedCategories/nested_categories 244s === PAUSE TestGenerateExpandedCategories/nested_categories 244s === RUN TestGenerateExpandedCategories/multiple_top_categories 244s === RUN TestExpand/expanded_policy_with_release_any 244s === PAUSE TestExpand/expanded_policy_with_release_any 244s === PAUSE TestGenerateExpandedCategories/multiple_top_categories 244s === RUN TestExpand/ignore_categories_and_non_yaml_files 244s === PAUSE TestExpand/ignore_categories_and_non_yaml_files 244s === RUN TestGenerateExpandedCategories/with_prefix 244s === CONT TestExpandedCategoriesToMD 244s === PAUSE TestGenerateExpandedCategories/with_prefix 244s === RUN TestGenerateExpandedCategories/no_defaults 244s === PAUSE TestGenerateExpandedCategories/no_defaults 244s === RUN TestExpandedCategoriesToMD/multiple_releases_with_different_choices 244s === RUN TestGenerateExpandedCategories/no_note 244s === PAUSE TestGenerateExpandedCategories/no_note 244s === RUN TestGenerateExpandedCategories/no_meta_at_all 244s === PAUSE TestGenerateExpandedCategories/no_meta_at_all 244s === RUN TestGenerateExpandedCategories/error_on_different_policy_type 244s === PAUSE TestGenerateExpandedCategories/error_on_different_policy_type 244s === RUN TestGenerateExpandedCategories/two_policies 244s === PAUSE TestGenerateExpandedCategories/two_policies 244s === RUN TestGenerateExpandedCategories/different_defaults 244s === PAUSE TestGenerateExpandedCategories/different_defaults 244s === RUN TestGenerateExpandedCategories/different_element_type 244s === PAUSE TestGenerateExpandedCategories/different_element_type 244s === RUN TestGenerateExpandedCategories/meta_is_overridden_by_disabled_key 244s === PAUSE TestGenerateExpandedCategories/meta_is_overridden_by_disabled_key 244s === RUN TestGenerateExpandedCategories/error_on_different_class 244s === PAUSE TestGenerateExpandedCategories/error_on_different_class 244s === RUN TestGenerateExpandedCategories/error_on_missing_release 244s === PAUSE TestGenerateExpandedCategories/error_on_missing_release 244s === RUN TestGenerateExpandedCategories/error_on_invalid_default_policy_class 244s === PAUSE TestGenerateExpandedCategories/error_on_invalid_default_policy_class 244s === RUN TestGenerateExpandedCategories/category_definition_doesn't_exist 244s === PAUSE TestGenerateExpandedCategories/category_definition_doesn't_exist 244s === RUN TestGenerateExpandedCategories/different_explain_text 244s === PAUSE TestGenerateExpandedCategories/different_explain_text 244s === RUN TestGenerateExpandedCategories/same_policy_used_in_two_categories 244s === PAUSE TestGenerateExpandedCategories/same_policy_used_in_two_categories 244s === RUN TestGenerateExpandedCategories/same_policy_used_in_two_categories_but_different_default_class 244s === PAUSE TestGenerateExpandedCategories/same_policy_used_in_two_categories_but_different_default_class 244s === RUN TestGenerateExpandedCategories/choices 244s === PAUSE TestGenerateExpandedCategories/choices 244s === RUN TestGenerateExpandedCategories/different_meta 244s === PAUSE TestGenerateExpandedCategories/different_meta 244s === RUN TestGenerateExpandedCategories/no_meta_disabled 244s === PAUSE TestGenerateExpandedCategories/no_meta_disabled 244s === RUN TestGenerateExpandedCategories/error_on_one_policy_not_used 244s === PAUSE TestGenerateExpandedCategories/error_on_one_policy_not_used 244s === RUN TestGenerateExpandedCategories/error_on_nested_category 244s === PAUSE TestGenerateExpandedCategories/error_on_nested_category 244s === RUN TestGenerateExpandedCategories/different_range 244s === PAUSE TestGenerateExpandedCategories/different_range 244s === RUN TestGenerateExpandedCategories/error_on_policy_not_attached_to_any_releases 244s === PAUSE TestGenerateExpandedCategories/error_on_policy_not_attached_to_any_releases 244s === RUN TestGenerateExpandedCategories/requires_ubuntu_pro 244s === PAUSE TestGenerateExpandedCategories/requires_ubuntu_pro 244s === RUN TestGenerateExpandedCategories/different_choices 244s === PAUSE TestGenerateExpandedCategories/different_choices 244s === RUN TestGenerateExpandedCategories/allow_policy_referenced_but_not_available_in_any_releases 244s === PAUSE TestGenerateExpandedCategories/allow_policy_referenced_but_not_available_in_any_releases 244s === RUN TestGenerateExpandedCategories/meta_is_overridden_by_enabled_key 244s === PAUSE TestGenerateExpandedCategories/meta_is_overridden_by_enabled_key 244s === RUN TestGenerateExpandedCategories/use_policy_class_instead_of_category_default 244s === PAUSE TestGenerateExpandedCategories/use_policy_class_instead_of_category_default 244s === RUN TestGenerateExpandedCategories/default_policy_class_is_capitalized 244s === PAUSE TestGenerateExpandedCategories/default_policy_class_is_capitalized 244s === RUN TestGenerateExpandedCategories/error_on_unexisting_policy_referenced 244s === PAUSE TestGenerateExpandedCategories/error_on_unexisting_policy_referenced 244s === RUN TestGenerateExpandedCategories/error_on_empty_default_policy_class 244s === PAUSE TestGenerateExpandedCategories/error_on_empty_default_policy_class 244s === PAUSE TestExpandedCategoriesToMD/multiple_releases_with_different_choices 244s === RUN TestExpandedCategoriesToMD/multiple_releases_with_all_widgets_and_different_defaults 244s === PAUSE TestExpandedCategoriesToMD/multiple_releases_with_all_widgets_and_different_defaults 244s === RUN TestExpandedCategoriesToMD/no_meta_disabled 244s === PAUSE TestExpandedCategoriesToMD/no_meta_disabled 244s === RUN TestExpandedCategoriesToMD/basic_key 244s === PAUSE TestExpandedCategoriesToMD/basic_key 244s === RUN TestExpandedCategoriesToMD/array_of_strings 244s === PAUSE TestExpandedCategoriesToMD/array_of_strings 244s === RUN TestExpandedCategoriesToMD/choices_with_default 244s === PAUSE TestExpandedCategoriesToMD/choices_with_default 244s === RUN TestExpandedCategoriesToMD/double 244s === PAUSE TestExpandedCategoriesToMD/double 244s === RUN TestExpandedCategoriesToMD/no_meta_enabled 244s === PAUSE TestExpandedCategoriesToMD/no_meta_enabled 244s === RUN TestExpandedCategoriesToMD/error_on_destination_creation 244s === PAUSE TestExpandedCategoriesToMD/error_on_destination_creation 244s === RUN TestExpandedCategoriesToMD/nested_categories 244s === PAUSE TestExpandedCategoriesToMD/nested_categories 244s === RUN TestExpandedCategoriesToMD/decimal_with_max_only 244s === PAUSE TestExpandedCategoriesToMD/decimal_with_max_only 244s === RUN TestExpandedCategoriesToMD/long_decimal 244s === PAUSE TestExpandedCategoriesToMD/long_decimal 244s === RUN TestExpandedCategoriesToMD/multiple_releases_with_different_ranges 244s === PAUSE TestExpandedCategoriesToMD/multiple_releases_with_different_ranges 244s === RUN TestExpandedCategoriesToMD/no_meta_at_all 244s === PAUSE TestExpandedCategoriesToMD/no_meta_at_all 244s === RUN TestExpandedCategoriesToMD/simple 244s === PAUSE TestExpandedCategoriesToMD/simple 244s === RUN TestExpandedCategoriesToMD/user_policy 244s === PAUSE TestExpandedCategoriesToMD/user_policy 244s === RUN TestExpandedCategoriesToMD/nested_categories,_classes_and_empty 244s === PAUSE TestExpandedCategoriesToMD/nested_categories,_classes_and_empty 244s === RUN TestExpandedCategoriesToMD/boolean 244s === PAUSE TestExpandedCategoriesToMD/boolean 244s === RUN TestExpandedCategoriesToMD/decimal_with_range 244s === PAUSE TestExpandedCategoriesToMD/decimal_with_range 244s === RUN TestExpandedCategoriesToMD/decimal_with_min_only 244s === PAUSE TestExpandedCategoriesToMD/decimal_with_min_only 244s === RUN TestExpandedCategoriesToMD/choices 244s === PAUSE TestExpandedCategoriesToMD/choices 244s === RUN TestExpandedCategoriesToMD/multiple_releases_for_one_key 244s === PAUSE TestExpandedCategoriesToMD/multiple_releases_for_one_key 244s === RUN TestExpandedCategoriesToMD/multiple_categories 244s === PAUSE TestExpandedCategoriesToMD/multiple_categories 244s === RUN TestExpandedCategoriesToMD/decimal 244s === PAUSE TestExpandedCategoriesToMD/decimal 244s === RUN TestExpandedCategoriesToMD/array_of_integers 244s === PAUSE TestExpandedCategoriesToMD/array_of_integers 244s === RUN TestExpandedCategoriesToMD/double_with_range 244s === PAUSE TestExpandedCategoriesToMD/double_with_range 244s === RUN TestExpandedCategoriesToMD/multiple_releases_with_different_widgettype 244s === PAUSE TestExpandedCategoriesToMD/multiple_releases_with_different_widgettype 244s === CONT TestExpandedCategoriesToADMX 244s === RUN TestExpandedCategoriesToADMX/choices 244s === PAUSE TestExpandedCategoriesToADMX/choices 244s === RUN TestExpandedCategoriesToADMX/no_meta_at_all 244s === PAUSE TestExpandedCategoriesToADMX/no_meta_at_all 244s === RUN TestExpandedCategoriesToADMX/error_on_destination_creation 244s === PAUSE TestExpandedCategoriesToADMX/error_on_destination_creation 244s === RUN TestExpandedCategoriesToADMX/simple 244s === PAUSE TestExpandedCategoriesToADMX/simple 244s === RUN TestExpandedCategoriesToADMX/nested_categories 244s === PAUSE TestExpandedCategoriesToADMX/nested_categories 244s === RUN TestExpandedCategoriesToADMX/decimal_with_min_only 244s === PAUSE TestExpandedCategoriesToADMX/decimal_with_min_only 244s === RUN TestExpandedCategoriesToADMX/array_of_integers 244s === PAUSE TestExpandedCategoriesToADMX/array_of_integers 244s === RUN TestExpandedCategoriesToADMX/multiple_releases_for_one_key 244s === PAUSE TestExpandedCategoriesToADMX/multiple_releases_for_one_key 244s === RUN TestExpandedCategoriesToADMX/multiple_releases_with_different_ranges 244s === PAUSE TestExpandedCategoriesToADMX/multiple_releases_with_different_ranges 244s === RUN TestExpandedCategoriesToADMX/no_meta_enabled 244s === PAUSE TestExpandedCategoriesToADMX/no_meta_enabled 244s === RUN TestExpandedCategoriesToADMX/basic_key 244s === PAUSE TestExpandedCategoriesToADMX/basic_key 244s === RUN TestExpandedCategoriesToADMX/boolean 244s === PAUSE TestExpandedCategoriesToADMX/boolean 244s === RUN TestExpandedCategoriesToADMX/decimal 244s === PAUSE TestExpandedCategoriesToADMX/decimal 244s === RUN TestExpandedCategoriesToADMX/long_decimal 244s === PAUSE TestExpandedCategoriesToADMX/long_decimal 244s === RUN TestExpandedCategoriesToADMX/array_of_strings 244s === PAUSE TestExpandedCategoriesToADMX/array_of_strings 244s === RUN TestExpandedCategoriesToADMX/choices_with_default 244s === PAUSE TestExpandedCategoriesToADMX/choices_with_default 244s === RUN TestExpandedCategoriesToADMX/double 244s === PAUSE TestExpandedCategoriesToADMX/double 244s === RUN TestExpandedCategoriesToADMX/multiple_releases_with_all_widgets_and_different_defaults 244s === PAUSE TestExpandedCategoriesToADMX/multiple_releases_with_all_widgets_and_different_defaults 244s === CONT TestGenerateDoc 244s === RUN TestGenerateDoc/category_expansion_fails 244s === PAUSE TestGenerateDoc/category_expansion_fails 244s === RUN TestGenerateDoc/doc_generation_fails 244s === PAUSE TestGenerateDoc/doc_generation_fails 244s === RUN TestGenerateDoc/releases_from_yaml 244s === PAUSE TestGenerateDoc/releases_from_yaml 244s === RUN TestGenerateDoc/autodetect_overrides_releases_from_yaml 244s === PAUSE TestGenerateDoc/autodetect_overrides_releases_from_yaml 244s === RUN TestGenerateDoc/invalid_definition_file 244s === RUN TestExpandedCategoriesToADMX/other_distro 244s === PAUSE TestGenerateDoc/invalid_definition_file 244s === PAUSE TestExpandedCategoriesToADMX/other_distro 244s === RUN TestExpandedCategoriesToADMX/decimal_with_range 244s === PAUSE TestExpandedCategoriesToADMX/decimal_with_range 244s === RUN TestExpandedCategoriesToADMX/double_with_range 244s === PAUSE TestExpandedCategoriesToADMX/double_with_range 244s === RUN TestExpandedCategoriesToADMX/multiple_releases_with_different_widgettype 244s === PAUSE TestExpandedCategoriesToADMX/multiple_releases_with_different_widgettype 244s === RUN TestExpandedCategoriesToADMX/multiple_releases_with_different_choices 244s === CONT TestGenerateAD 244s === RUN TestGenerateAD/invalid_definition_file 244s === PAUSE TestExpandedCategoriesToADMX/multiple_releases_with_different_choices 244s === PAUSE TestGenerateAD/invalid_definition_file 244s === RUN TestExpandedCategoriesToADMX/no_meta_disabled 244s === PAUSE TestExpandedCategoriesToADMX/no_meta_disabled 244s === RUN TestExpandedCategoriesToADMX/multiple_categories 244s === PAUSE TestExpandedCategoriesToADMX/multiple_categories 244s === RUN TestGenerateAD/category_expansion_fails 244s === PAUSE TestGenerateAD/category_expansion_fails 244s === RUN TestExpandedCategoriesToADMX/decimal_with_max_only 244s === RUN TestGenerateAD/admx_generation_fails 244s === PAUSE TestExpandedCategoriesToADMX/decimal_with_max_only 244s === PAUSE TestGenerateAD/admx_generation_fails 244s === RUN TestGenerateAD/releases_from_yaml 244s === CONT TestExpand/no_release_file 244s === PAUSE TestGenerateAD/releases_from_yaml 244s === RUN TestGenerateAD/autodetect_overrides_releases_from_yaml 244s === PAUSE TestGenerateAD/autodetect_overrides_releases_from_yaml 244s === CONT TestExpand/ignore_categories_and_non_yaml_files 244s === CONT TestExpand/expanded_policy_with_release_any 244s admxgen_test.go:78: Serializing object for golden file 244s === CONT TestExpand/expanded_policy_with_meta 244s admxgen_test.go:78: Serializing object for golden file 244s === NAME TestExpand/ignore_categories_and_non_yaml_files 244s admxgen_test.go:78: Serializing object for golden file 244s === CONT TestExpand/dconf_generation_fails 244s === CONT TestExpand/invalid_dconf.yaml 244s === CONT TestExpand/no_version_id 244s === CONT TestExpand/expanded_policy 244s === CONT TestExpand/dconf 244s admxgen_test.go:78: Serializing object for golden file 244s === CONT TestExpand/no_source_directory 244s === CONT TestExpand/unsupported_policy_type 244s === NAME TestExpand/expanded_policy 244s admxgen_test.go:78: Serializing object for golden file 244s === CONT TestGenerateExpandedCategories/simple 244s --- PASS: TestExpand (0.00s) 244s --- PASS: TestExpand/no_release_file (0.00s) 244s --- PASS: TestExpand/expanded_policy_with_release_any (0.00s) 244s --- PASS: TestExpand/expanded_policy_with_meta (0.00s) 244s --- PASS: TestExpand/ignore_categories_and_non_yaml_files (0.00s) 244s --- PASS: TestExpand/dconf_generation_fails (0.00s) 244s --- PASS: TestExpand/invalid_dconf.yaml (0.00s) 244s --- PASS: TestExpand/no_version_id (0.00s) 244s --- PASS: TestExpand/dconf (0.00s) 244s --- PASS: TestExpand/no_source_directory (0.00s) 244s --- PASS: TestExpand/unsupported_policy_type (0.00s) 244s --- PASS: TestExpand/expanded_policy (0.00s) 244s === CONT TestExpandedCategoriesToMD/multiple_releases_with_different_choices 244s === NAME TestGenerateExpandedCategories/simple 244s internal_test.go:112: Serializing object for golden file 244s === CONT TestGenerateExpandedCategories/no_meta_enabled 244s internal_test.go:112: Serializing object for golden file 244s === CONT TestGenerateExpandedCategories/error_on_empty_default_policy_class 244s === CONT TestGenerateExpandedCategories/error_on_unexisting_policy_referenced 244s === CONT TestGenerateExpandedCategories/default_policy_class_is_capitalized 244s === CONT TestGenerateExpandedCategories/use_policy_class_instead_of_category_default 244s === NAME TestGenerateExpandedCategories/default_policy_class_is_capitalized 244s internal_test.go:112: Serializing object for golden file 244s === CONT TestGenerateExpandedCategories/meta_is_overridden_by_enabled_key 244s internal_test.go:112: Serializing object for golden file 244s === CONT TestGenerateExpandedCategories/allow_policy_referenced_but_not_available_in_any_releases 244s === NAME TestGenerateExpandedCategories/use_policy_class_instead_of_category_default 244s internal_test.go:112: Serializing object for golden file 244s === CONT TestGenerateExpandedCategories/different_choices 244s internal_test.go:112: Serializing object for golden file 244s time="2025-10-18T14:43:11Z" level=warning msg="policy /org/gnome/desktop/policy-doesnotexit referenced in \"Category1 Display Name\" does not exist in any supported releases" 244s === NAME TestGenerateExpandedCategories/allow_policy_referenced_but_not_available_in_any_releases 244s internal_test.go:112: Serializing object for golden file 244s === CONT TestGenerateExpandedCategories/error_on_policy_not_attached_to_any_releases 244s === CONT TestGenerateExpandedCategories/requires_ubuntu_pro 244s === CONT TestGenerateExpandedCategories/different_range 244s === NAME TestGenerateExpandedCategories/requires_ubuntu_pro 244s internal_test.go:112: Serializing object for golden file 244s === NAME TestGenerateExpandedCategories/different_range 244s internal_test.go:112: Serializing object for golden file 244s === CONT TestGenerateExpandedCategories/error_on_nested_category 244s === CONT TestGenerateExpandedCategories/error_on_one_policy_not_used 244s === CONT TestGenerateExpandedCategories/no_meta_disabled 244s internal_test.go:112: Serializing object for golden file 244s === CONT TestGenerateExpandedCategories/different_meta 244s === CONT TestGenerateExpandedCategories/choices 244s === NAME TestGenerateExpandedCategories/different_meta 244s internal_test.go:112: Serializing object for golden file 244s === NAME TestGenerateExpandedCategories/choices 244s internal_test.go:112: Serializing object for golden file 244s === CONT TestGenerateExpandedCategories/same_policy_used_in_two_categories_but_different_default_class 244s internal_test.go:112: Serializing object for golden file 244s === CONT TestGenerateExpandedCategories/same_policy_used_in_two_categories 244s internal_test.go:112: Serializing object for golden file 244s === CONT TestGenerateExpandedCategories/different_explain_text 244s internal_test.go:112: Serializing object for golden file 244s === CONT TestGenerateExpandedCategories/category_definition_doesn't_exist 244s === CONT TestGenerateExpandedCategories/error_on_invalid_default_policy_class 244s === CONT TestGenerateExpandedCategories/error_on_missing_release 244s === CONT TestGenerateExpandedCategories/error_on_different_class 244s === CONT TestGenerateExpandedCategories/meta_is_overridden_by_disabled_key 244s === CONT TestGenerateExpandedCategories/different_element_type 244s === NAME TestGenerateExpandedCategories/meta_is_overridden_by_disabled_key 244s internal_test.go:112: Serializing object for golden file 244s === CONT TestGenerateExpandedCategories/different_defaults 244s === NAME TestGenerateExpandedCategories/different_element_type 244s internal_test.go:112: Serializing object for golden file 244s === CONT TestGenerateExpandedCategories/two_policies 244s === NAME TestGenerateExpandedCategories/different_defaults 244s internal_test.go:112: Serializing object for golden file 244s === CONT TestGenerateExpandedCategories/error_on_different_policy_type 244s === NAME TestGenerateExpandedCategories/two_policies 244s internal_test.go:112: Serializing object for golden file 244s === CONT TestGenerateExpandedCategories/no_meta_at_all 244s internal_test.go:112: Serializing object for golden file 244s === CONT TestGenerateExpandedCategories/no_note 244s internal_test.go:112: Serializing object for golden file 244s === CONT TestGenerateExpandedCategories/no_defaults 244s internal_test.go:112: Serializing object for golden file 244s === CONT TestGenerateExpandedCategories/with_prefix 244s internal_test.go:112: Serializing object for golden file 244s === CONT TestGenerateExpandedCategories/multiple_top_categories 244s === CONT TestGenerateExpandedCategories/nested_categories 244s === NAME TestGenerateExpandedCategories/multiple_top_categories 244s internal_test.go:112: Serializing object for golden file 244s === NAME TestGenerateExpandedCategories/nested_categories 244s internal_test.go:112: Serializing object for golden file 244s === CONT TestGenerateExpandedCategories/same_default 244s === CONT TestGenerateExpandedCategories/policy_directory_doesn't_exist 244s === CONT TestExpandedCategoriesToMD/decimal_with_range 244s === NAME TestGenerateExpandedCategories/same_default 244s internal_test.go:112: Serializing object for golden file 244s === CONT TestGenerateExpandedCategories/range 244s === CONT TestGenerateExpandedCategories/no_note_strategy_append 244s internal_test.go:112: Serializing object for golden file 244s === CONT TestGenerateExpandedCategories/applicable_to_all_releases 244s internal_test.go:112: Serializing object for golden file 244s === CONT TestGenerateExpandedCategories/available_on_one_release_only 244s === NAME TestGenerateExpandedCategories/range 244s internal_test.go:112: Serializing object for golden file 244s === CONT TestGenerateExpandedCategories/error_on_key_independent_of_any_release_key_but_with_one_release_specified 244s === NAME TestGenerateExpandedCategories/available_on_one_release_only 244s internal_test.go:112: Serializing object for golden file 244s === CONT TestGenerateExpandedCategories/meta_entry_only 244s internal_test.go:112: Serializing object for golden file 244s === CONT TestGenerateExpandedCategories/different_display_name 244s internal_test.go:112: Serializing object for golden file 244s === CONT TestGenerateExpandedCategories/basic 244s internal_test.go:112: Serializing object for golden file 244s --- PASS: TestGenerateExpandedCategories (0.00s) 244s --- PASS: TestGenerateExpandedCategories/simple (0.00s) 244s --- PASS: TestGenerateExpandedCategories/no_meta_enabled (0.00s) 244s --- PASS: TestGenerateExpandedCategories/error_on_empty_default_policy_class (0.00s) 244s --- PASS: TestGenerateExpandedCategories/error_on_unexisting_policy_referenced (0.00s) 244s --- PASS: TestGenerateExpandedCategories/default_policy_class_is_capitalized (0.00s) 244s --- PASS: TestGenerateExpandedCategories/meta_is_overridden_by_enabled_key (0.00s) 244s --- PASS: TestGenerateExpandedCategories/use_policy_class_instead_of_category_default (0.00s) 244s --- PASS: TestGenerateExpandedCategories/allow_policy_referenced_but_not_available_in_any_releases (0.00s) 244s --- PASS: TestGenerateExpandedCategories/different_choices (0.00s) 244s --- PASS: TestGenerateExpandedCategories/error_on_policy_not_attached_to_any_releases (0.00s) 244s --- PASS: TestGenerateExpandedCategories/requires_ubuntu_pro (0.00s) 244s --- PASS: TestGenerateExpandedCategories/different_range (0.00s) 244s --- PASS: TestGenerateExpandedCategories/error_on_one_policy_not_used (0.00s) 244s --- PASS: TestGenerateExpandedCategories/no_meta_disabled (0.00s) 244s --- PASS: TestGenerateExpandedCategories/error_on_nested_category (0.00s) 244s --- PASS: TestGenerateExpandedCategories/choices (0.00s) 244s --- PASS: TestGenerateExpandedCategories/different_meta (0.00s) 244s --- PASS: TestGenerateExpandedCategories/same_policy_used_in_two_categories (0.00s) 244s --- PASS: TestGenerateExpandedCategories/same_policy_used_in_two_categories_but_different_default_class (0.00s) 244s --- PASS: TestGenerateExpandedCategories/different_explain_text (0.01s) 244s --- PASS: TestGenerateExpandedCategories/category_definition_doesn't_exist (0.00s) 244s --- PASS: TestGenerateExpandedCategories/error_on_missing_release (0.00s) 244s --- PASS: TestGenerateExpandedCategories/error_on_invalid_default_policy_class (0.00s) 244s --- PASS: TestGenerateExpandedCategories/error_on_different_class (0.00s) 244s --- PASS: TestGenerateExpandedCategories/meta_is_overridden_by_disabled_key (0.00s) 244s --- PASS: TestGenerateExpandedCategories/different_element_type (0.00s) 244s --- PASS: TestGenerateExpandedCategories/different_defaults (0.00s) 244s --- PASS: TestGenerateExpandedCategories/two_policies (0.00s) 244s --- PASS: TestGenerateExpandedCategories/no_meta_at_all (0.00s) 244s --- PASS: TestGenerateExpandedCategories/no_note (0.00s) 244s --- PASS: TestGenerateExpandedCategories/no_defaults (0.00s) 244s --- PASS: TestGenerateExpandedCategories/with_prefix (0.01s) 244s --- PASS: TestGenerateExpandedCategories/error_on_different_policy_type (0.01s) 244s --- PASS: TestGenerateExpandedCategories/multiple_top_categories (0.00s) 244s --- PASS: TestGenerateExpandedCategories/nested_categories (0.00s) 244s --- PASS: TestGenerateExpandedCategories/policy_directory_doesn't_exist (0.00s) 244s --- PASS: TestGenerateExpandedCategories/same_default (0.00s) 244s --- PASS: TestGenerateExpandedCategories/no_note_strategy_append (0.00s) 244s --- PASS: TestGenerateExpandedCategories/applicable_to_all_releases (0.00s) 244s --- PASS: TestGenerateExpandedCategories/range (0.00s) 244s --- PASS: TestGenerateExpandedCategories/error_on_key_independent_of_any_release_key_but_with_one_release_specified (0.00s) 244s --- PASS: TestGenerateExpandedCategories/meta_entry_only (0.00s) 244s --- PASS: TestGenerateExpandedCategories/available_on_one_release_only (0.00s) 244s --- PASS: TestGenerateExpandedCategories/different_display_name (0.00s) 244s --- PASS: TestGenerateExpandedCategories/basic (0.00s) 244s === CONT TestExpandedCategoriesToMD/boolean 244s === CONT TestExpandedCategoriesToMD/nested_categories,_classes_and_empty 244s === CONT TestExpandedCategoriesToMD/user_policy 244s === CONT TestExpandedCategoriesToMD/simple 244s === CONT TestExpandedCategoriesToMD/no_meta_at_all 244s === CONT TestExpandedCategoriesToMD/multiple_releases_with_different_ranges 244s === CONT TestExpandedCategoriesToMD/long_decimal 244s === CONT TestExpandedCategoriesToMD/decimal_with_max_only 244s === CONT TestExpandedCategoriesToMD/nested_categories 244s === CONT TestExpandedCategoriesToMD/error_on_destination_creation 244s === CONT TestExpandedCategoriesToMD/no_meta_enabled 244s === CONT TestExpandedCategoriesToMD/double 244s === CONT TestExpandedCategoriesToMD/choices_with_default 244s === CONT TestExpandedCategoriesToMD/array_of_strings 244s === CONT TestExpandedCategoriesToMD/basic_key 244s === CONT TestExpandedCategoriesToMD/no_meta_disabled 244s === CONT TestExpandedCategoriesToMD/multiple_releases_with_all_widgets_and_different_defaults 244s === CONT TestExpandedCategoriesToMD/decimal 244s === CONT TestExpandedCategoriesToMD/multiple_releases_with_different_widgettype 244s === CONT TestExpandedCategoriesToMD/double_with_range 244s === CONT TestExpandedCategoriesToMD/array_of_integers 244s === CONT TestExpandedCategoriesToMD/multiple_releases_for_one_key 244s === CONT TestExpandedCategoriesToMD/multiple_categories 244s === CONT TestExpandedCategoriesToMD/choices 244s === CONT TestExpandedCategoriesToMD/decimal_with_min_only 244s === CONT TestGenerateDoc/category_expansion_fails 244s === CONT TestGenerateDoc/invalid_definition_file 244s === CONT TestGenerateDoc/autodetect_overrides_releases_from_yaml 244s === CONT TestGenerateDoc/releases_from_yaml 244s --- PASS: TestExpandedCategoriesToMD (0.00s) 244s --- PASS: TestExpandedCategoriesToMD/multiple_releases_with_different_choices (0.00s) 244s --- PASS: TestExpandedCategoriesToMD/decimal_with_range (0.00s) 244s --- PASS: TestExpandedCategoriesToMD/boolean (0.00s) 244s --- PASS: TestExpandedCategoriesToMD/user_policy (0.00s) 244s --- PASS: TestExpandedCategoriesToMD/nested_categories,_classes_and_empty (0.01s) 244s --- PASS: TestExpandedCategoriesToMD/no_meta_at_all (0.00s) 244s --- PASS: TestExpandedCategoriesToMD/multiple_releases_with_different_ranges (0.00s) 244s --- PASS: TestExpandedCategoriesToMD/long_decimal (0.00s) 244s --- PASS: TestExpandedCategoriesToMD/decimal_with_max_only (0.00s) 244s --- PASS: TestExpandedCategoriesToMD/nested_categories (0.00s) 244s --- PASS: TestExpandedCategoriesToMD/simple (0.01s) 244s --- PASS: TestExpandedCategoriesToMD/error_on_destination_creation (0.00s) 244s --- PASS: TestExpandedCategoriesToMD/no_meta_enabled (0.00s) 244s --- PASS: TestExpandedCategoriesToMD/double (0.00s) 244s --- PASS: TestExpandedCategoriesToMD/array_of_strings (0.00s) 244s --- PASS: TestExpandedCategoriesToMD/choices_with_default (0.00s) 244s --- PASS: TestExpandedCategoriesToMD/basic_key (0.00s) 244s --- PASS: TestExpandedCategoriesToMD/multiple_releases_with_all_widgets_and_different_defaults (0.00s) 244s --- PASS: TestExpandedCategoriesToMD/decimal (0.00s) 244s --- PASS: TestExpandedCategoriesToMD/no_meta_disabled (0.00s) 244s --- PASS: TestExpandedCategoriesToMD/multiple_releases_with_different_widgettype (0.00s) 244s --- PASS: TestExpandedCategoriesToMD/double_with_range (0.00s) 244s --- PASS: TestExpandedCategoriesToMD/array_of_integers (0.00s) 244s --- PASS: TestExpandedCategoriesToMD/multiple_categories (0.00s) 244s --- PASS: TestExpandedCategoriesToMD/multiple_releases_for_one_key (0.00s) 244s --- PASS: TestExpandedCategoriesToMD/choices (0.00s) 244s --- PASS: TestExpandedCategoriesToMD/decimal_with_min_only (0.00s) 244s === CONT TestGenerateDoc/doc_generation_fails 244s === CONT TestExpandedCategoriesToADMX/choices 244s --- PASS: TestGenerateDoc (0.00s) 244s --- PASS: TestGenerateDoc/category_expansion_fails (0.00s) 244s --- PASS: TestGenerateDoc/invalid_definition_file (0.00s) 244s --- PASS: TestGenerateDoc/autodetect_overrides_releases_from_yaml (0.00s) 244s --- PASS: TestGenerateDoc/releases_from_yaml (0.00s) 244s --- PASS: TestGenerateDoc/doc_generation_fails (0.00s) 244s === CONT TestGenerateAD/invalid_definition_file 244s === CONT TestGenerateAD/autodetect_overrides_releases_from_yaml 244s === CONT TestGenerateAD/releases_from_yaml 244s === CONT TestGenerateAD/admx_generation_fails 244s === CONT TestGenerateAD/category_expansion_fails 244s === CONT TestExpandedCategoriesToADMX/long_decimal 244s === CONT TestExpandedCategoriesToADMX/decimal_with_max_only 244s === CONT TestExpandedCategoriesToADMX/multiple_categories 244s --- PASS: TestGenerateAD (0.00s) 244s --- PASS: TestGenerateAD/invalid_definition_file (0.00s) 244s --- PASS: TestGenerateAD/autodetect_overrides_releases_from_yaml (0.00s) 244s --- PASS: TestGenerateAD/releases_from_yaml (0.00s) 244s --- PASS: TestGenerateAD/admx_generation_fails (0.00s) 244s --- PASS: TestGenerateAD/category_expansion_fails (0.00s) 244s === CONT TestExpandedCategoriesToADMX/no_meta_disabled 244s === CONT TestExpandedCategoriesToADMX/multiple_releases_with_different_choices 244s === CONT TestExpandedCategoriesToADMX/multiple_releases_with_different_widgettype 244s === CONT TestExpandedCategoriesToADMX/double_with_range 244s === CONT TestExpandedCategoriesToADMX/decimal_with_range 244s === CONT TestExpandedCategoriesToADMX/other_distro 244s === CONT TestExpandedCategoriesToADMX/multiple_releases_with_all_widgets_and_different_defaults 244s === CONT TestExpandedCategoriesToADMX/double 244s === CONT TestExpandedCategoriesToADMX/choices_with_default 244s === CONT TestExpandedCategoriesToADMX/array_of_strings 244s === CONT TestExpandedCategoriesToADMX/multiple_releases_for_one_key 244s === CONT TestExpandedCategoriesToADMX/decimal 244s === CONT TestExpandedCategoriesToADMX/boolean 244s === CONT TestExpandedCategoriesToADMX/basic_key 244s === CONT TestExpandedCategoriesToADMX/no_meta_enabled 244s === CONT TestExpandedCategoriesToADMX/multiple_releases_with_different_ranges 244s === CONT TestExpandedCategoriesToADMX/nested_categories 244s === CONT TestExpandedCategoriesToADMX/array_of_integers 244s === CONT TestExpandedCategoriesToADMX/error_on_destination_creation 244s === CONT TestExpandedCategoriesToADMX/decimal_with_min_only 244s === CONT TestExpandedCategoriesToADMX/simple 244s === CONT TestExpandedCategoriesToADMX/no_meta_at_all 244s --- PASS: TestExpandedCategoriesToADMX (0.00s) 244s --- PASS: TestExpandedCategoriesToADMX/choices (0.00s) 244s --- PASS: TestExpandedCategoriesToADMX/long_decimal (0.00s) 244s --- PASS: TestExpandedCategoriesToADMX/decimal_with_max_only (0.00s) 244s --- PASS: TestExpandedCategoriesToADMX/no_meta_disabled (0.00s) 244s --- PASS: TestExpandedCategoriesToADMX/multiple_categories (0.00s) 244s --- PASS: TestExpandedCategoriesToADMX/multiple_releases_with_different_choices (0.00s) 244s --- PASS: TestExpandedCategoriesToADMX/double_with_range (0.00s) 244s --- PASS: TestExpandedCategoriesToADMX/multiple_releases_with_different_widgettype (0.00s) 244s --- PASS: TestExpandedCategoriesToADMX/decimal_with_range (0.00s) 244s --- PASS: TestExpandedCategoriesToADMX/other_distro (0.00s) 244s --- PASS: TestExpandedCategoriesToADMX/multiple_releases_with_all_widgets_and_different_defaults (0.00s) 244s --- PASS: TestExpandedCategoriesToADMX/double (0.01s) 244s --- PASS: TestExpandedCategoriesToADMX/array_of_strings (0.00s) 244s --- PASS: TestExpandedCategoriesToADMX/multiple_releases_for_one_key (0.00s) 244s --- PASS: TestExpandedCategoriesToADMX/choices_with_default (0.01s) 244s --- PASS: TestExpandedCategoriesToADMX/boolean (0.00s) 244s --- PASS: TestExpandedCategoriesToADMX/decimal (0.00s) 244s --- PASS: TestExpandedCategoriesToADMX/no_meta_enabled (0.00s) 244s --- PASS: TestExpandedCategoriesToADMX/basic_key (0.00s) 244s --- PASS: TestExpandedCategoriesToADMX/nested_categories (0.00s) 244s --- PASS: TestExpandedCategoriesToADMX/multiple_releases_with_different_ranges (0.00s) 244s --- PASS: TestExpandedCategoriesToADMX/array_of_integers (0.00s) 244s --- PASS: TestExpandedCategoriesToADMX/decimal_with_min_only (0.00s) 244s --- PASS: TestExpandedCategoriesToADMX/simple (0.00s) 244s --- PASS: TestExpandedCategoriesToADMX/error_on_destination_creation (0.00s) 244s --- PASS: TestExpandedCategoriesToADMX/no_meta_at_all (0.00s) 244s PASS 244s ok github.com/ubuntu/adsys/internal/ad/admxgen 0.154s 244s ? github.com/ubuntu/adsys/internal/ad/admxgen/common [no test files] 244s === RUN TestGenerate 244s === PAUSE TestGenerate 244s === CONT TestGenerate 244s === RUN TestGenerate/Override_without_session 244s === PAUSE TestGenerate/Override_without_session 244s === RUN TestGenerate/Override_with_no_matching_session_defaults_to_root_override 244s === PAUSE TestGenerate/Override_with_no_matching_session_defaults_to_root_override 244s === RUN TestGenerate/Description_starting_with_deprecated_mixed_case_is_ignored 244s === PAUSE TestGenerate/Description_starting_with_deprecated_mixed_case_is_ignored 244s === RUN TestGenerate/Unsupported_key_type 244s === PAUSE TestGenerate/Unsupported_key_type 244s === RUN TestGenerate/Relocatable_key 244s === PAUSE TestGenerate/Relocatable_key 244s === RUN TestGenerate/One_decimal_key_with_min_only 244s === PAUSE TestGenerate/One_decimal_key_with_min_only 244s === RUN TestGenerate/Array_of_strings 244s === PAUSE TestGenerate/Array_of_strings 244s === RUN TestGenerate/Override_default_to_second_if_first_not_present 244s === PAUSE TestGenerate/Override_default_to_second_if_first_not_present 244s === RUN TestGenerate/Override_without_session_takes_default 244s === PAUSE TestGenerate/Override_without_session_takes_default 244s === RUN TestGenerate/Double_key_with_range 244s === PAUSE TestGenerate/Double_key_with_range 244s === RUN TestGenerate/Override_takes_first_session 244s === PAUSE TestGenerate/Override_takes_first_session 244s === RUN TestGenerate/Relocatable_key_overridden 244s === PAUSE TestGenerate/Relocatable_key_overridden 244s === RUN TestGenerate/Choices_are_loaded 244s === PAUSE TestGenerate/Choices_are_loaded 244s === RUN TestGenerate/Enums_in_other_files_are_converted_to_choices 244s === PAUSE TestGenerate/Enums_in_other_files_are_converted_to_choices 244s === RUN TestGenerate/Empty 244s === PAUSE TestGenerate/Empty 244s === RUN TestGenerate/Valid_class_should_be_capitalized 244s === PAUSE TestGenerate/Valid_class_should_be_capitalized 244s === RUN TestGenerate/Description_starting_with_deprecated_is_ignored 244s === PAUSE TestGenerate/Description_starting_with_deprecated_is_ignored 244s === RUN TestGenerate/Key_with_class 244s === PAUSE TestGenerate/Key_with_class 244s === RUN TestGenerate/Same_key_relocated_twice 244s === PAUSE TestGenerate/Same_key_relocated_twice 244s === RUN TestGenerate/One_decimal_key_with_range 244s === PAUSE TestGenerate/One_decimal_key_with_range 244s === RUN TestGenerate/Inlined_Enums_are_converted_to_choices 244s === PAUSE TestGenerate/Inlined_Enums_are_converted_to_choices 244s === RUN TestGenerate/No_key_on_system 244s === PAUSE TestGenerate/No_key_on_system 244s === RUN TestGenerate/Missing_XML_declaration_is_successfully_parsed 244s === PAUSE TestGenerate/Missing_XML_declaration_is_successfully_parsed 244s === RUN TestGenerate/Enum_does_not_exist 244s === PAUSE TestGenerate/Enum_does_not_exist 244s === RUN TestGenerate/One_boolean_key 244s === PAUSE TestGenerate/One_boolean_key 244s === RUN TestGenerate/Array_of_integers 244s === PAUSE TestGenerate/Array_of_integers 244s === RUN TestGenerate/Invalid_override_files_are_skipped 244s === PAUSE TestGenerate/Invalid_override_files_are_skipped 244s === RUN TestGenerate/Description_starting_with_obsolete_is_ignored 244s === PAUSE TestGenerate/Description_starting_with_obsolete_is_ignored 244s === RUN TestGenerate/Description_containing_deprecated_without_starting_by_it_is_not_ignored 244s === PAUSE TestGenerate/Description_containing_deprecated_without_starting_by_it_is_not_ignored 244s === RUN TestGenerate/Malformed_XML_declaration_is_successfully_parsed 244s === PAUSE TestGenerate/Malformed_XML_declaration_is_successfully_parsed 244s === RUN TestGenerate/Invalid_class 244s === PAUSE TestGenerate/Invalid_class 244s === RUN TestGenerate/Double_key 244s === PAUSE TestGenerate/Double_key 244s === RUN TestGenerate/Invalid_schema_files 244s === PAUSE TestGenerate/Invalid_schema_files 244s === RUN TestGenerate/Long_decimal_key 244s === PAUSE TestGenerate/Long_decimal_key 244s === RUN TestGenerate/Long_decimal_key_with_range_min_gt_0 244s === PAUSE TestGenerate/Long_decimal_key_with_range_min_gt_0 244s === RUN TestGenerate/Overridden_by_multiple_files,_last_wins 244s === PAUSE TestGenerate/Overridden_by_multiple_files,_last_wins 244s === RUN TestGenerate/NaN_min 244s === PAUSE TestGenerate/NaN_min 244s === RUN TestGenerate/One_decimal_key_with_max_only 244s === PAUSE TestGenerate/One_decimal_key_with_max_only 244s === RUN TestGenerate/Long_decimal_key_with_range_min_lt_0 244s === PAUSE TestGenerate/Long_decimal_key_with_range_min_lt_0 244s === RUN TestGenerate/Override_with_session_takes_session_override 244s === PAUSE TestGenerate/Override_with_session_takes_session_override 244s === RUN TestGenerate/Invalid_min 244s === PAUSE TestGenerate/Invalid_min 244s === RUN TestGenerate/One_text_key 244s === PAUSE TestGenerate/One_text_key 244s === RUN TestGenerate/One_decimal_key 244s === PAUSE TestGenerate/One_decimal_key 244s === CONT TestGenerate/Override_without_session 244s === CONT TestGenerate/Missing_XML_declaration_is_successfully_parsed 244s dconf_test.go:106: Serializing object for golden file 244s === CONT TestGenerate/One_decimal_key 244s dconf_test.go:106: Serializing object for golden file 244s === CONT TestGenerate/One_text_key 244s === NAME TestGenerate/Override_without_session 244s dconf_test.go:106: Serializing object for golden file 244s === CONT TestGenerate/Invalid_min 244s === CONT TestGenerate/Override_with_session_takes_session_override 244s === NAME TestGenerate/One_text_key 244s dconf_test.go:106: Serializing object for golden file 244s === NAME TestGenerate/Override_with_session_takes_session_override 244s dconf_test.go:106: Serializing object for golden file 244s === CONT TestGenerate/Long_decimal_key_with_range_min_lt_0 244s === CONT TestGenerate/One_decimal_key_with_max_only 244s dconf_test.go:106: Serializing object for golden file 244s === CONT TestGenerate/NaN_min 244s === CONT TestGenerate/Overridden_by_multiple_files,_last_wins 244s === NAME TestGenerate/Long_decimal_key_with_range_min_lt_0 244s dconf_test.go:106: Serializing object for golden file 244s === CONT TestGenerate/Long_decimal_key_with_range_min_gt_0 244s === NAME TestGenerate/Overridden_by_multiple_files,_last_wins 244s dconf_test.go:106: Serializing object for golden file 244s === CONT TestGenerate/Long_decimal_key 244s === NAME TestGenerate/Long_decimal_key_with_range_min_gt_0 244s dconf_test.go:106: Serializing object for golden file 244s === CONT TestGenerate/Invalid_schema_files 244s === CONT TestGenerate/Double_key 244s === NAME TestGenerate/Long_decimal_key 244s dconf_test.go:106: Serializing object for golden file 244s === CONT TestGenerate/Invalid_class 244s === CONT TestGenerate/Malformed_XML_declaration_is_successfully_parsed 244s dconf_test.go:106: Serializing object for golden file 244s === NAME TestGenerate/Double_key 244s dconf_test.go:106: Serializing object for golden file 244s === CONT TestGenerate/Description_containing_deprecated_without_starting_by_it_is_not_ignored 244s === CONT TestGenerate/Description_starting_with_obsolete_is_ignored 244s time="2025-10-18T14:43:12Z" level=warning msg="dconf key \"com.ubuntu.with.deprecated\":\"/com/ubuntu/with-deprecated/obsolete\" is deprecated. Ignoring" 244s dconf_test.go:106: Serializing object for golden file 244s === CONT TestGenerate/Invalid_override_files_are_skipped 244s === NAME TestGenerate/Description_containing_deprecated_without_starting_by_it_is_not_ignored 244s dconf_test.go:106: Serializing object for golden file 244s time="2025-10-18T14:43:12Z" level=warning msg="testdata/TestGenerate/system/broken_override/usr/share/glib-2.0/schemas/broken.gschema.override is an invalid override file: unclosed section: [com.ubuntu.simple.overridden\n" 244s === CONT TestGenerate/Array_of_integers 244s === NAME TestGenerate/Invalid_override_files_are_skipped 244s dconf_test.go:106: Serializing object for golden file 244s === CONT TestGenerate/One_boolean_key 244s === NAME TestGenerate/Array_of_integers 244s dconf_test.go:106: Serializing object for golden file 244s === CONT TestGenerate/Enum_does_not_exist 244s === NAME TestGenerate/One_boolean_key 244s dconf_test.go:106: Serializing object for golden file 244s === CONT TestGenerate/Relocatable_key_overridden 244s === CONT TestGenerate/No_key_on_system 244s time="2025-10-18T14:43:12Z" level=warning msg="dconf entry \"/com/ubuntu/simple/non-existent\" is not available on this machine" 244s dconf_test.go:106: Serializing object for golden file 244s === CONT TestGenerate/Inlined_Enums_are_converted_to_choices 244s === NAME TestGenerate/Relocatable_key_overridden 244s dconf_test.go:106: Serializing object for golden file 244s === CONT TestGenerate/One_decimal_key_with_range 244s dconf_test.go:106: Serializing object for golden file 244s === CONT TestGenerate/Same_key_relocated_twice 244s === NAME TestGenerate/Inlined_Enums_are_converted_to_choices 244s dconf_test.go:106: Serializing object for golden file 244s === CONT TestGenerate/Key_with_class 244s dconf_test.go:106: Serializing object for golden file 244s === CONT TestGenerate/Description_starting_with_deprecated_is_ignored 244s === NAME TestGenerate/Same_key_relocated_twice 244s dconf_test.go:106: Serializing object for golden file 244s time="2025-10-18T14:43:12Z" level=warning msg="dconf key \"com.ubuntu.with.deprecated\":\"/com/ubuntu/with-deprecated/deprecated\" is deprecated. Ignoring" 244s === CONT TestGenerate/Valid_class_should_be_capitalized 244s dconf_test.go:106: Serializing object for golden file 244s === CONT TestGenerate/Empty 244s === NAME TestGenerate/Description_starting_with_deprecated_is_ignored 244s dconf_test.go:106: Serializing object for golden file 244s === NAME TestGenerate/Empty 244s dconf_test.go:106: Serializing object for golden file 244s === CONT TestGenerate/Enums_in_other_files_are_converted_to_choices 244s === CONT TestGenerate/Choices_are_loaded 244s === NAME TestGenerate/Enums_in_other_files_are_converted_to_choices 244s dconf_test.go:106: Serializing object for golden file 244s === CONT TestGenerate/Array_of_strings 244s === NAME TestGenerate/Choices_are_loaded 244s dconf_test.go:106: Serializing object for golden file 244s === CONT TestGenerate/Override_takes_first_session 244s === NAME TestGenerate/Array_of_strings 244s dconf_test.go:106: Serializing object for golden file 244s === CONT TestGenerate/Double_key_with_range 244s === NAME TestGenerate/Override_takes_first_session 244s dconf_test.go:106: Serializing object for golden file 244s === CONT TestGenerate/Override_without_session_takes_default 244s === NAME TestGenerate/Double_key_with_range 244s dconf_test.go:106: Serializing object for golden file 244s === CONT TestGenerate/Override_default_to_second_if_first_not_present 244s === NAME TestGenerate/Override_without_session_takes_default 244s dconf_test.go:106: Serializing object for golden file 244s === CONT TestGenerate/Unsupported_key_type 244s === CONT TestGenerate/One_decimal_key_with_min_only 244s === NAME TestGenerate/Override_default_to_second_if_first_not_present 244s dconf_test.go:106: Serializing object for golden file 244s === CONT TestGenerate/Relocatable_key 244s === NAME TestGenerate/One_decimal_key_with_min_only 244s dconf_test.go:106: Serializing object for golden file 244s === CONT TestGenerate/Description_starting_with_deprecated_mixed_case_is_ignored 244s === NAME TestGenerate/Relocatable_key 244s dconf_test.go:106: Serializing object for golden file 244s time="2025-10-18T14:43:12Z" level=warning msg="dconf key \"com.ubuntu.with.deprecated\":\"/com/ubuntu/with-deprecated/deprecated-different-cases\" is deprecated. Ignoring" 244s === NAME TestGenerate/Description_starting_with_deprecated_mixed_case_is_ignored 244s dconf_test.go:106: Serializing object for golden file 244s === CONT TestGenerate/Override_with_no_matching_session_defaults_to_root_override 244s dconf_test.go:106: Serializing object for golden file 244s --- PASS: TestGenerate (0.00s) 244s --- PASS: TestGenerate/Missing_XML_declaration_is_successfully_parsed (0.00s) 244s --- PASS: TestGenerate/One_decimal_key (0.00s) 244s --- PASS: TestGenerate/Override_without_session (0.00s) 244s --- PASS: TestGenerate/Invalid_min (0.00s) 244s --- PASS: TestGenerate/Override_with_session_takes_session_override (0.00s) 244s --- PASS: TestGenerate/One_text_key (0.01s) 244s --- PASS: TestGenerate/One_decimal_key_with_max_only (0.00s) 244s --- PASS: TestGenerate/NaN_min (0.00s) 244s --- PASS: TestGenerate/Long_decimal_key_with_range_min_lt_0 (0.00s) 244s --- PASS: TestGenerate/Overridden_by_multiple_files,_last_wins (0.00s) 244s --- PASS: TestGenerate/Long_decimal_key_with_range_min_gt_0 (0.00s) 244s --- PASS: TestGenerate/Invalid_schema_files (0.00s) 244s --- PASS: TestGenerate/Long_decimal_key (0.00s) 244s --- PASS: TestGenerate/Invalid_class (0.00s) 244s --- PASS: TestGenerate/Double_key (0.00s) 244s --- PASS: TestGenerate/Malformed_XML_declaration_is_successfully_parsed (0.00s) 244s --- PASS: TestGenerate/Description_starting_with_obsolete_is_ignored (0.00s) 244s --- PASS: TestGenerate/Description_containing_deprecated_without_starting_by_it_is_not_ignored (0.00s) 244s --- PASS: TestGenerate/Invalid_override_files_are_skipped (0.00s) 244s --- PASS: TestGenerate/Array_of_integers (0.00s) 244s --- PASS: TestGenerate/One_boolean_key (0.00s) 244s --- PASS: TestGenerate/Enum_does_not_exist (0.00s) 244s --- PASS: TestGenerate/No_key_on_system (0.00s) 244s --- PASS: TestGenerate/Relocatable_key_overridden (0.00s) 244s --- PASS: TestGenerate/One_decimal_key_with_range (0.00s) 244s --- PASS: TestGenerate/Inlined_Enums_are_converted_to_choices (0.00s) 244s --- PASS: TestGenerate/Key_with_class (0.00s) 244s --- PASS: TestGenerate/Same_key_relocated_twice (0.00s) 244s --- PASS: TestGenerate/Valid_class_should_be_capitalized (0.00s) 244s --- PASS: TestGenerate/Empty (0.00s) 244s --- PASS: TestGenerate/Description_starting_with_deprecated_is_ignored (0.01s) 244s --- PASS: TestGenerate/Enums_in_other_files_are_converted_to_choices (0.00s) 244s --- PASS: TestGenerate/Choices_are_loaded (0.00s) 244s --- PASS: TestGenerate/Array_of_strings (0.00s) 244s --- PASS: TestGenerate/Override_takes_first_session (0.00s) 244s --- PASS: TestGenerate/Double_key_with_range (0.00s) 244s --- PASS: TestGenerate/Override_without_session_takes_default (0.00s) 244s --- PASS: TestGenerate/Unsupported_key_type (0.00s) 244s --- PASS: TestGenerate/Override_default_to_second_if_first_not_present (0.00s) 244s --- PASS: TestGenerate/One_decimal_key_with_min_only (0.00s) 244s --- PASS: TestGenerate/Relocatable_key (0.00s) 244s --- PASS: TestGenerate/Description_starting_with_deprecated_mixed_case_is_ignored (0.00s) 244s --- PASS: TestGenerate/Override_with_no_matching_session_defaults_to_root_override (0.00s) 244s PASS 244s ok github.com/ubuntu/adsys/internal/ad/admxgen/dconf 0.076s 244s ? github.com/ubuntu/adsys/internal/ad/backends [no test files] 244s ? github.com/ubuntu/adsys/internal/ad/backends/mock [no test files] 244s === RUN TestSSSD 244s === PAUSE TestSSSD 244s === CONT TestSSSD 244s === RUN TestSSSD/No_sssd_conf_loads_the_default 244s === PAUSE TestSSSD/No_sssd_conf_loads_the_default 244s === RUN TestSSSD/Error_returned_by_ServerFQDN()_on_no_config_nor_active_server_provided 244s === PAUSE TestSSSD/Error_returned_by_ServerFQDN()_on_no_config_nor_active_server_provided 244s === RUN TestSSSD/Error_returned_by_ServerFQDN()_when_calls_is_erroring_out 244s === PAUSE TestSSSD/Error_returned_by_ServerFQDN()_when_calls_is_erroring_out 244s === RUN TestSSSD/Error_returned_by_IsOnline()__when_calls_is_erroring_out 244s === PAUSE TestSSSD/Error_returned_by_IsOnline()__when_calls_is_erroring_out 244s === RUN TestSSSD/Error_on_sssd_conf_does_not_exists 244s === PAUSE TestSSSD/Error_on_sssd_conf_does_not_exists 244s === RUN TestSSSD/Error_on_empty_domains_field 244s === PAUSE TestSSSD/Error_on_empty_domains_field 244s === RUN TestSSSD/Error_on_sssd_domain_section_missing 244s === PAUSE TestSSSD/Error_on_sssd_domain_section_missing 244s === RUN TestSSSD/Ad_server_defined_in_config_does_not_need_active_server 244s === PAUSE TestSSSD/Ad_server_defined_in_config_does_not_need_active_server 244s === RUN TestSSSD/Is_not_online 244s === PAUSE TestSSSD/Is_not_online 244s === RUN TestSSSD/Error_returned_by_ServerFQDN()_and_IsOnline()_when_DBUS_has_no_object 244s === PAUSE TestSSSD/Error_returned_by_ServerFQDN()_and_IsOnline()_when_DBUS_has_no_object 244s === RUN TestSSSD/Error_on_no_domains_field 244s === PAUSE TestSSSD/Error_on_no_domains_field 244s === RUN TestSSSD/Error_on_sssd_domain_empty_section 244s === PAUSE TestSSSD/Error_on_sssd_domain_empty_section 244s === RUN TestSSSD/Regular_config,_with_cache_dir 244s === PAUSE TestSSSD/Regular_config,_with_cache_dir 244s === RUN TestSSSD/ServerFQDN()_does_not_fail_when_we_do_not_need_an_active_server 244s === PAUSE TestSSSD/ServerFQDN()_does_not_fail_when_we_do_not_need_an_active_server 244s === RUN TestSSSD/Error_on_no_sssd_section 244s === PAUSE TestSSSD/Error_on_no_sssd_section 244s === RUN TestSSSD/Regular_config 244s === PAUSE TestSSSD/Regular_config 244s === RUN TestSSSD/Multiple_domains,_pick_first 244s === PAUSE TestSSSD/Multiple_domains,_pick_first 244s === RUN TestSSSD/Ad_server_starting_with_ldap_prefix_does_not_stutter 244s === PAUSE TestSSSD/Ad_server_starting_with_ldap_prefix_does_not_stutter 244s === RUN TestSSSD/Can_handle_special_DNS_domain_characters 244s === PAUSE TestSSSD/Can_handle_special_DNS_domain_characters 244s === RUN TestSSSD/SSSd_domain_can_not_match_ad_domain 244s === PAUSE TestSSSD/SSSd_domain_can_not_match_ad_domain 244s === RUN TestSSSD/Default_domain_suffix_is_read 244s === PAUSE TestSSSD/Default_domain_suffix_is_read 244s === RUN TestSSSD/Use_domain_from_section_if_no_ad_domain 244s === PAUSE TestSSSD/Use_domain_from_section_if_no_ad_domain 244s === RUN TestSSSD/Ignore_upper_cases_in_domain_name 244s === PAUSE TestSSSD/Ignore_upper_cases_in_domain_name 244s === RUN TestSSSD/Ad_server_defined_in_config_has_priority_over_active_server 244s === PAUSE TestSSSD/Ad_server_defined_in_config_has_priority_over_active_server 244s === CONT TestSSSD/No_sssd_conf_loads_the_default 244s === CONT TestSSSD/Ad_server_defined_in_config_has_priority_over_active_server 244s === CONT TestSSSD/Ignore_upper_cases_in_domain_name 244s === CONT TestSSSD/Use_domain_from_section_if_no_ad_domain 244s === CONT TestSSSD/Default_domain_suffix_is_read 244s === CONT TestSSSD/SSSd_domain_can_not_match_ad_domain 244s === CONT TestSSSD/Can_handle_special_DNS_domain_characters 244s === CONT TestSSSD/Ad_server_starting_with_ldap_prefix_does_not_stutter 244s === CONT TestSSSD/Multiple_domains,_pick_first 244s === CONT TestSSSD/Regular_config 244s === CONT TestSSSD/Error_on_no_sssd_section 244s === CONT TestSSSD/ServerFQDN()_does_not_fail_when_we_do_not_need_an_active_server 244s === CONT TestSSSD/Regular_config,_with_cache_dir 244s === CONT TestSSSD/Error_on_sssd_domain_empty_section 244s === CONT TestSSSD/Error_on_no_domains_field 244s === CONT TestSSSD/Error_returned_by_ServerFQDN()_and_IsOnline()_when_DBUS_has_no_object 244s === CONT TestSSSD/Is_not_online 244s === CONT TestSSSD/Ad_server_defined_in_config_does_not_need_active_server 244s === CONT TestSSSD/Error_on_sssd_domain_section_missing 244s === CONT TestSSSD/Error_on_empty_domains_field 244s === CONT TestSSSD/Error_on_sssd_conf_does_not_exists 244s === CONT TestSSSD/Error_returned_by_IsOnline()__when_calls_is_erroring_out 244s === CONT TestSSSD/Error_returned_by_ServerFQDN()_when_calls_is_erroring_out 244s === CONT TestSSSD/Error_returned_by_ServerFQDN()_on_no_config_nor_active_server_provided 244s --- PASS: TestSSSD (0.00s) 244s --- PASS: TestSSSD/No_sssd_conf_loads_the_default (0.00s) 244s --- PASS: TestSSSD/Ad_server_defined_in_config_has_priority_over_active_server (0.00s) 244s --- PASS: TestSSSD/Ignore_upper_cases_in_domain_name (0.00s) 244s --- PASS: TestSSSD/Use_domain_from_section_if_no_ad_domain (0.00s) 244s --- PASS: TestSSSD/SSSd_domain_can_not_match_ad_domain (0.00s) 244s --- PASS: TestSSSD/Default_domain_suffix_is_read (0.00s) 244s --- PASS: TestSSSD/Ad_server_starting_with_ldap_prefix_does_not_stutter (0.00s) 244s --- PASS: TestSSSD/Can_handle_special_DNS_domain_characters (0.00s) 244s --- PASS: TestSSSD/Multiple_domains,_pick_first (0.00s) 244s --- PASS: TestSSSD/Regular_config (0.00s) 244s --- PASS: TestSSSD/Error_on_no_sssd_section (0.00s) 244s --- PASS: TestSSSD/ServerFQDN()_does_not_fail_when_we_do_not_need_an_active_server (0.00s) 244s --- PASS: TestSSSD/Error_on_sssd_domain_empty_section (0.00s) 244s --- PASS: TestSSSD/Error_on_no_domains_field (0.00s) 244s --- PASS: TestSSSD/Regular_config,_with_cache_dir (0.00s) 244s --- PASS: TestSSSD/Error_returned_by_ServerFQDN()_and_IsOnline()_when_DBUS_has_no_object (0.00s) 244s --- PASS: TestSSSD/Is_not_online (0.00s) 244s --- PASS: TestSSSD/Ad_server_defined_in_config_does_not_need_active_server (0.00s) 244s --- PASS: TestSSSD/Error_on_sssd_domain_section_missing (0.00s) 244s --- PASS: TestSSSD/Error_on_empty_domains_field (0.00s) 244s --- PASS: TestSSSD/Error_on_sssd_conf_does_not_exists (0.00s) 244s --- PASS: TestSSSD/Error_returned_by_IsOnline()__when_calls_is_erroring_out (0.00s) 244s --- PASS: TestSSSD/Error_returned_by_ServerFQDN()_when_calls_is_erroring_out (0.00s) 244s --- PASS: TestSSSD/Error_returned_by_ServerFQDN()_on_no_config_nor_active_server_provided (0.00s) 244s PASS 244s ok github.com/ubuntu/adsys/internal/ad/backends/sss 0.053s 244s === RUN TestWinbind 244s winbind_test.go:25: Running subprocess with [/tmp/go-build2084799553/b617/winbind.test -test.testlogfile=/tmp/go-build2084799553/b617/testlog.txt -test.paniconexit0 -test.timeout=10m0s -test.v=true -test.run=TestWinbind] 244s === RUN TestWinbind 244s === RUN TestWinbind/Lookup_is_successful 244s === RUN TestWinbind/Lookup_with_overridden_ad_server_with_LDAP_prefix 244s === RUN TestWinbind/Error_when_looking_up_domain 244s === RUN TestWinbind/Error_when_getting_online_status 244s === RUN TestWinbind/Error_when_domain_is_offline 244s === RUN TestWinbind/Error_when_requesting_krb5cc 244s === RUN TestWinbind/Lookup_with_different_hostname_is_successful 244s === RUN TestWinbind/Lookup_with_overridden_ad_domain 244s === RUN TestWinbind/Lookup_with_overridden_ad_server 244s === RUN TestWinbind/Error_when_looking_up_DC_name 244s --- PASS: TestWinbind (0.12s) 244s --- PASS: TestWinbind/Lookup_is_successful (0.01s) 244s --- PASS: TestWinbind/Lookup_with_overridden_ad_server_with_LDAP_prefix (0.02s) 244s --- PASS: TestWinbind/Error_when_looking_up_domain (0.00s) 244s --- PASS: TestWinbind/Error_when_getting_online_status (0.02s) 244s --- PASS: TestWinbind/Error_when_domain_is_offline (0.02s) 244s --- PASS: TestWinbind/Error_when_requesting_krb5cc (0.02s) 244s --- PASS: TestWinbind/Lookup_with_different_hostname_is_successful (0.01s) 244s --- PASS: TestWinbind/Lookup_with_overridden_ad_domain (0.01s) 244s --- PASS: TestWinbind/Lookup_with_overridden_ad_server (0.01s) 244s --- PASS: TestWinbind/Error_when_looking_up_DC_name (0.01s) 244s PASS 244s --- PASS: TestWinbind (0.19s) 244s === RUN TestExecuteKinitCommand 244s --- PASS: TestExecuteKinitCommand (0.00s) 244s PASS 244s ok github.com/ubuntu/adsys/internal/ad/backends/winbind 0.226s 244s === RUN TestGetVersionID 244s === PAUSE TestGetVersionID 244s === CONT TestGetVersionID 244s === RUN TestGetVersionID/No_VERSION_ID_in_file 244s === PAUSE TestGetVersionID/No_VERSION_ID_in_file 244s === RUN TestGetVersionID/No_os-release_file 244s === PAUSE TestGetVersionID/No_os-release_file 244s === RUN TestGetVersionID/Read_VERSION_ID 244s === PAUSE TestGetVersionID/Read_VERSION_ID 244s === CONT TestGetVersionID/No_VERSION_ID_in_file 244s === CONT TestGetVersionID/Read_VERSION_ID 244s === CONT TestGetVersionID/No_os-release_file 244s --- PASS: TestGetVersionID (0.00s) 244s --- PASS: TestGetVersionID/Read_VERSION_ID (0.00s) 244s --- PASS: TestGetVersionID/No_VERSION_ID_in_file (0.00s) 244s --- PASS: TestGetVersionID/No_os-release_file (0.00s) 244s PASS 244s ok github.com/ubuntu/adsys/internal/ad/common 0.016s 244s === RUN TestReadPolicy 244s === PAUSE TestReadPolicy 244s === RUN TestDecodePolicy 244s === PAUSE TestDecodePolicy 244s === CONT TestReadPolicy 244s === CONT TestDecodePolicy 244s === RUN TestDecodePolicy/disabled_container_with_values_needs_a_DISABLED_marker 244s === PAUSE TestDecodePolicy/disabled_container_with_values_needs_a_DISABLED_marker 244s === RUN TestDecodePolicy/empty_data 244s === PAUSE TestDecodePolicy/empty_data 244s === RUN TestDecodePolicy/invalid_decimal_value 244s === PAUSE TestDecodePolicy/invalid_decimal_value 244s === RUN TestDecodePolicy/invalid_header,_header_doesnt_match 244s === PAUSE TestDecodePolicy/invalid_header,_header_doesnt_match 244s === RUN TestDecodePolicy/invalid_container_default_values 244s === PAUSE TestDecodePolicy/invalid_container_default_values 244s === RUN TestDecodePolicy/no_header 244s === PAUSE TestDecodePolicy/no_header 244s === RUN TestDecodePolicy/key_is_not_utf16 244s === PAUSE TestDecodePolicy/key_is_not_utf16 244s === RUN TestDecodePolicy/container_with_default_elements_are_ignored_on_non_empty_option_values 244s === PAUSE TestDecodePolicy/container_with_default_elements_are_ignored_on_non_empty_option_values 244s === RUN TestDecodePolicy/container_with_default_elements_are_ignored_on_int_option_values_(always_have_values) 244s === PAUSE TestDecodePolicy/container_with_default_elements_are_ignored_on_int_option_values_(always_have_values) 244s === RUN TestDecodePolicy/exotic_return_type 244s === PAUSE TestDecodePolicy/exotic_return_type 244s === RUN TestDecodePolicy/basic_type_is_ignored_for_meta_of_wrong_type 244s === PAUSE TestDecodePolicy/basic_type_is_ignored_for_meta_of_wrong_type 244s === RUN TestDecodePolicy/invalid_header,_header_too_short 244s === PAUSE TestDecodePolicy/invalid_header,_header_too_short 244s === RUN TestDecodePolicy/one_element,_decimal_value 244s === PAUSE TestDecodePolicy/one_element,_decimal_value 244s === RUN TestDecodePolicy/container_without_metavalues 244s === PAUSE TestDecodePolicy/container_without_metavalues 244s === RUN TestDecodePolicy/policy_container_is_ignored_for_meta_of_wrong_type 244s === PAUSE TestDecodePolicy/policy_container_is_ignored_for_meta_of_wrong_type 244s === RUN TestDecodePolicy/section_separators_in_data 244s === PAUSE TestDecodePolicy/section_separators_in_data 244s === RUN TestDecodePolicy/null_character_in_data 244s === PAUSE TestDecodePolicy/null_character_in_data 244s === RUN TestDecodePolicy/value_is_not_utf16 244s === PAUSE TestDecodePolicy/value_is_not_utf16 244s === RUN TestDecodePolicy/basic_type_with_default_value_needs_a_DISABLED_marker 244s === PAUSE TestDecodePolicy/basic_type_with_default_value_needs_a_DISABLED_marker 244s === RUN TestDecodePolicy/basic_type_with_a_DISABLED_marker_keeps_meta_and_strategy 244s === PAUSE TestDecodePolicy/basic_type_with_a_DISABLED_marker_keeps_meta_and_strategy 244s === RUN TestDecodePolicy/container_strategy_is_reflected_on_child 244s === PAUSE TestDecodePolicy/container_strategy_is_reflected_on_child 244s === RUN TestDecodePolicy/two_containers_don’t_mix_their_default_values_even_when_second_has_none 244s === PAUSE TestDecodePolicy/two_containers_don’t_mix_their_default_values_even_when_second_has_none 244s === RUN TestDecodePolicy/semicolon_in_data 244s === PAUSE TestDecodePolicy/semicolon_in_data 244s === RUN TestDecodePolicy/empty_value 244s === PAUSE TestDecodePolicy/empty_value 244s === RUN TestDecodePolicy/basic_type,_enabled 244s === PAUSE TestDecodePolicy/basic_type,_enabled 244s === RUN TestDecodePolicy/basic_type_with_strategy 244s === PAUSE TestDecodePolicy/basic_type_with_strategy 244s === RUN TestDecodePolicy/container_with_default_elements_override_empty_option_values 244s === PAUSE TestDecodePolicy/container_with_default_elements_override_empty_option_values 244s === RUN TestDecodePolicy/container_with_meta_elements_and_value_on_options 244s === PAUSE TestDecodePolicy/container_with_meta_elements_and_value_on_options 244s === RUN TestDecodePolicy/two_containers_don’t_mix_their_meta_values,_even_if_second_has_none 244s === PAUSE TestDecodePolicy/two_containers_don’t_mix_their_meta_values,_even_if_second_has_none 244s === RUN TestDecodePolicy/missing_field 244s === PAUSE TestDecodePolicy/missing_field 244s === RUN TestDecodePolicy/two_elements 244s === PAUSE TestDecodePolicy/two_elements 244s === RUN TestDecodePolicy/disabled_container_with_disabled_option_values 244s === PAUSE TestDecodePolicy/disabled_container_with_disabled_option_values 244s === RUN TestDecodePolicy/container_with_meta_elements_and_default_without_value_on_options 244s === PAUSE TestDecodePolicy/container_with_meta_elements_and_default_without_value_on_options 244s === RUN TestDecodePolicy/invalid_header,_file_truncated 244s === PAUSE TestDecodePolicy/invalid_header,_file_truncated 244s === RUN TestDecodePolicy/one_element,_string_value 244s === PAUSE TestDecodePolicy/one_element,_string_value 244s === RUN TestDecodePolicy/disabled_container_disables_its_option_values 244s === PAUSE TestDecodePolicy/disabled_container_disables_its_option_values 244s === RUN TestDecodePolicy/one_container_with_2_children_don’t_mix_their_default_values 244s === PAUSE TestDecodePolicy/one_container_with_2_children_don’t_mix_their_default_values 244s === RUN TestDecodePolicy/two_containers_don’t_mix_their_default_values_when_redefined 244s === PAUSE TestDecodePolicy/two_containers_don’t_mix_their_default_values_when_redefined 244s === RUN TestDecodePolicy/empty_key 244s === PAUSE TestDecodePolicy/empty_key 244s === RUN TestDecodePolicy/one_element,_multitext_value 244s === PAUSE TestDecodePolicy/one_element,_multitext_value 244s === RUN TestDecodePolicy/one_element,_disabled 244s === PAUSE TestDecodePolicy/one_element,_disabled 244s === RUN TestDecodePolicy/basic_type,_disabled 244s === PAUSE TestDecodePolicy/basic_type,_disabled 244s === RUN TestDecodePolicy/basic_type_with_default_value_has_value_filed_in 244s === PAUSE TestDecodePolicy/basic_type_with_default_value_has_value_filed_in 244s === RUN TestDecodePolicy/container_with_missing_default_element_for_option_values_have_empty_strings 244s === PAUSE TestDecodePolicy/container_with_missing_default_element_for_option_values_have_empty_strings 244s === RUN TestDecodePolicy/disabled_container_with_values_still_keep_meta_and_strategy_with_a_DISABLED_marker 244s === PAUSE TestDecodePolicy/disabled_container_with_values_still_keep_meta_and_strategy_with_a_DISABLED_marker 244s === RUN TestDecodePolicy/one_container_with_2_children_don’t_mix_their_meta_values 244s === PAUSE TestDecodePolicy/one_container_with_2_children_don’t_mix_their_meta_values 244s === RUN TestDecodePolicy/header_only 244s === PAUSE TestDecodePolicy/header_only 244s === RUN TestDecodePolicy/empty_file 244s === PAUSE TestDecodePolicy/empty_file 244s === RUN TestDecodePolicy/section_not_closed 244s === PAUSE TestDecodePolicy/section_not_closed 244s === CONT TestDecodePolicy/disabled_container_with_values_needs_a_DISABLED_marker 244s === CONT TestDecodePolicy/section_not_closed 244s === CONT TestDecodePolicy/empty_file 244s === CONT TestDecodePolicy/header_only 244s === RUN TestReadPolicy/invalid_header,_header_too_short 244s === PAUSE TestReadPolicy/invalid_header,_header_too_short 244s === RUN TestReadPolicy/value_is_not_utf16 244s === PAUSE TestReadPolicy/value_is_not_utf16 244s === RUN TestReadPolicy/two_elements 244s === PAUSE TestReadPolicy/two_elements 244s === RUN TestReadPolicy/exotic_return_type 244s === PAUSE TestReadPolicy/exotic_return_type 244s === RUN TestReadPolicy/empty_value 244s === PAUSE TestReadPolicy/empty_value 244s === RUN TestReadPolicy/header_only 244s === PAUSE TestReadPolicy/header_only 244s === RUN TestReadPolicy/invalid_header,_file_truncated 244s === PAUSE TestReadPolicy/invalid_header,_file_truncated 244s === RUN TestReadPolicy/section_not_closed 244s === PAUSE TestReadPolicy/section_not_closed 244s === RUN TestReadPolicy/one_element,_string_value 244s === PAUSE TestReadPolicy/one_element,_string_value 244s === RUN TestReadPolicy/semicolon_in_data 244s === PAUSE TestReadPolicy/semicolon_in_data 244s === RUN TestReadPolicy/no_header 244s === PAUSE TestReadPolicy/no_header 244s === RUN TestReadPolicy/empty_file 244s === PAUSE TestReadPolicy/empty_file 244s === RUN TestReadPolicy/key_is_not_utf16 244s === PAUSE TestReadPolicy/key_is_not_utf16 244s === RUN TestReadPolicy/empty_key 244s === PAUSE TestReadPolicy/empty_key 244s === RUN TestReadPolicy/invalid_header,_header_doesnt_match 244s === PAUSE TestReadPolicy/invalid_header,_header_doesnt_match 244s === RUN TestReadPolicy/missing_field 244s === PAUSE TestReadPolicy/missing_field 244s === RUN TestReadPolicy/one_element,_decimal_value 244s === PAUSE TestReadPolicy/one_element,_decimal_value 244s === RUN TestReadPolicy/memory_on_multiple_elements_dont_overlap 244s === PAUSE TestReadPolicy/memory_on_multiple_elements_dont_overlap 244s === RUN TestReadPolicy/section_separators_in_data 244s === PAUSE TestReadPolicy/section_separators_in_data 244s === RUN TestReadPolicy/very_large_gpo 244s === PAUSE TestReadPolicy/very_large_gpo 244s === CONT TestReadPolicy/invalid_header,_header_too_short 244s === CONT TestReadPolicy/very_large_gpo 244s === CONT TestReadPolicy/section_separators_in_data 244s === CONT TestReadPolicy/memory_on_multiple_elements_dont_overlap 244s === CONT TestReadPolicy/one_element,_decimal_value 244s === CONT TestReadPolicy/missing_field 244s === CONT TestReadPolicy/invalid_header,_header_doesnt_match 244s === CONT TestReadPolicy/empty_key 244s === CONT TestReadPolicy/key_is_not_utf16 244s === CONT TestReadPolicy/empty_file 244s === CONT TestReadPolicy/no_header 244s === CONT TestReadPolicy/semicolon_in_data 244s === CONT TestReadPolicy/one_element,_string_value 244s === CONT TestReadPolicy/section_not_closed 244s === CONT TestReadPolicy/invalid_header,_file_truncated 244s === CONT TestReadPolicy/header_only 244s === CONT TestReadPolicy/empty_value 244s === CONT TestReadPolicy/exotic_return_type 244s === CONT TestReadPolicy/two_elements 244s === CONT TestReadPolicy/value_is_not_utf16 244s === CONT TestDecodePolicy/empty_value 244s --- PASS: TestReadPolicy (0.00s) 244s --- PASS: TestReadPolicy/invalid_header,_header_too_short (0.00s) 244s --- PASS: TestReadPolicy/section_separators_in_data (0.00s) 244s --- PASS: TestReadPolicy/memory_on_multiple_elements_dont_overlap (0.00s) 244s --- PASS: TestReadPolicy/one_element,_decimal_value (0.00s) 244s --- PASS: TestReadPolicy/missing_field (0.00s) 244s --- PASS: TestReadPolicy/invalid_header,_header_doesnt_match (0.00s) 244s --- PASS: TestReadPolicy/empty_key (0.00s) 244s --- PASS: TestReadPolicy/key_is_not_utf16 (0.00s) 244s --- PASS: TestReadPolicy/empty_file (0.00s) 244s --- PASS: TestReadPolicy/no_header (0.00s) 244s --- PASS: TestReadPolicy/semicolon_in_data (0.00s) 244s --- PASS: TestReadPolicy/one_element,_string_value (0.00s) 244s --- PASS: TestReadPolicy/section_not_closed (0.00s) 244s --- PASS: TestReadPolicy/invalid_header,_file_truncated (0.00s) 244s --- PASS: TestReadPolicy/header_only (0.00s) 244s --- PASS: TestReadPolicy/empty_value (0.00s) 244s --- PASS: TestReadPolicy/exotic_return_type (0.00s) 244s --- PASS: TestReadPolicy/two_elements (0.00s) 244s --- PASS: TestReadPolicy/value_is_not_utf16 (0.00s) 244s --- PASS: TestReadPolicy/very_large_gpo (0.01s) 244s === CONT TestDecodePolicy/one_container_with_2_children_don’t_mix_their_meta_values 244s === CONT TestDecodePolicy/disabled_container_with_values_still_keep_meta_and_strategy_with_a_DISABLED_marker 244s === CONT TestDecodePolicy/container_with_missing_default_element_for_option_values_have_empty_strings 244s === CONT TestDecodePolicy/basic_type_with_default_value_has_value_filed_in 244s === CONT TestDecodePolicy/basic_type,_disabled 244s === CONT TestDecodePolicy/one_element,_disabled 244s === CONT TestDecodePolicy/one_element,_multitext_value 244s === CONT TestDecodePolicy/empty_key 244s === CONT TestDecodePolicy/two_containers_don’t_mix_their_default_values_when_redefined 244s === CONT TestDecodePolicy/one_container_with_2_children_don’t_mix_their_default_values 244s === CONT TestDecodePolicy/disabled_container_disables_its_option_values 244s === CONT TestDecodePolicy/one_element,_string_value 244s === CONT TestDecodePolicy/invalid_header,_file_truncated 244s === CONT TestDecodePolicy/container_with_meta_elements_and_default_without_value_on_options 244s === CONT TestDecodePolicy/disabled_container_with_disabled_option_values 244s === CONT TestDecodePolicy/two_elements 244s === CONT TestDecodePolicy/missing_field 244s === CONT TestDecodePolicy/two_containers_don’t_mix_their_meta_values,_even_if_second_has_none 244s === CONT TestDecodePolicy/container_with_meta_elements_and_value_on_options 244s === CONT TestDecodePolicy/container_with_default_elements_override_empty_option_values 244s === CONT TestDecodePolicy/basic_type_with_strategy 244s === CONT TestDecodePolicy/basic_type,_enabled 244s === CONT TestDecodePolicy/one_element,_decimal_value 244s === CONT TestDecodePolicy/semicolon_in_data 244s === CONT TestDecodePolicy/two_containers_don’t_mix_their_default_values_even_when_second_has_none 244s === CONT TestDecodePolicy/container_strategy_is_reflected_on_child 244s === CONT TestDecodePolicy/basic_type_with_a_DISABLED_marker_keeps_meta_and_strategy 244s === CONT TestDecodePolicy/basic_type_with_default_value_needs_a_DISABLED_marker 244s === CONT TestDecodePolicy/value_is_not_utf16 244s === CONT TestDecodePolicy/null_character_in_data 244s === CONT TestDecodePolicy/section_separators_in_data 244s === CONT TestDecodePolicy/policy_container_is_ignored_for_meta_of_wrong_type 244s === CONT TestDecodePolicy/container_without_metavalues 244s === CONT TestDecodePolicy/key_is_not_utf16 244s === CONT TestDecodePolicy/invalid_header,_header_too_short 244s === CONT TestDecodePolicy/basic_type_is_ignored_for_meta_of_wrong_type 244s === CONT TestDecodePolicy/exotic_return_type 244s === CONT TestDecodePolicy/container_with_default_elements_are_ignored_on_int_option_values_(always_have_values) 244s === CONT TestDecodePolicy/container_with_default_elements_are_ignored_on_non_empty_option_values 244s === CONT TestDecodePolicy/invalid_header,_header_doesnt_match 244s === CONT TestDecodePolicy/no_header 244s === CONT TestDecodePolicy/invalid_container_default_values 244s === CONT TestDecodePolicy/empty_data 244s === CONT TestDecodePolicy/invalid_decimal_value 244s --- PASS: TestDecodePolicy (0.00s) 244s --- PASS: TestDecodePolicy/disabled_container_with_values_needs_a_DISABLED_marker (0.00s) 244s --- PASS: TestDecodePolicy/section_not_closed (0.00s) 244s --- PASS: TestDecodePolicy/empty_file (0.00s) 244s --- PASS: TestDecodePolicy/header_only (0.00s) 244s --- PASS: TestDecodePolicy/empty_value (0.00s) 244s --- PASS: TestDecodePolicy/disabled_container_with_values_still_keep_meta_and_strategy_with_a_DISABLED_marker (0.00s) 244s --- PASS: TestDecodePolicy/container_with_missing_default_element_for_option_values_have_empty_strings (0.00s) 244s --- PASS: TestDecodePolicy/one_container_with_2_children_don’t_mix_their_meta_values (0.00s) 244s --- PASS: TestDecodePolicy/basic_type_with_default_value_has_value_filed_in (0.00s) 244s --- PASS: TestDecodePolicy/one_element,_disabled (0.00s) 244s --- PASS: TestDecodePolicy/one_element,_multitext_value (0.00s) 244s --- PASS: TestDecodePolicy/empty_key (0.00s) 244s --- PASS: TestDecodePolicy/basic_type,_disabled (0.00s) 244s --- PASS: TestDecodePolicy/two_containers_don’t_mix_their_default_values_when_redefined (0.00s) 244s --- PASS: TestDecodePolicy/one_container_with_2_children_don’t_mix_their_default_values (0.00s) 244s --- PASS: TestDecodePolicy/one_element,_string_value (0.00s) 244s --- PASS: TestDecodePolicy/disabled_container_disables_its_option_values (0.00s) 244s --- PASS: TestDecodePolicy/invalid_header,_file_truncated (0.00s) 244s --- PASS: TestDecodePolicy/container_with_meta_elements_and_default_without_value_on_options (0.00s) 244s --- PASS: TestDecodePolicy/two_elements (0.00s) 244s --- PASS: TestDecodePolicy/disabled_container_with_disabled_option_values (0.00s) 244s --- PASS: TestDecodePolicy/missing_field (0.00s) 244s --- PASS: TestDecodePolicy/container_with_meta_elements_and_value_on_options (0.00s) 244s --- PASS: TestDecodePolicy/two_containers_don’t_mix_their_meta_values,_even_if_second_has_none (0.00s) 244s --- PASS: TestDecodePolicy/container_with_default_elements_override_empty_option_values (0.00s) 244s --- PASS: TestDecodePolicy/basic_type,_enabled (0.00s) 244s --- PASS: TestDecodePolicy/one_element,_decimal_value (0.00s) 244s --- PASS: TestDecodePolicy/semicolon_in_data (0.00s) 244s --- PASS: TestDecodePolicy/basic_type_with_strategy (0.00s) 244s --- PASS: TestDecodePolicy/container_strategy_is_reflected_on_child (0.00s) 244s --- PASS: TestDecodePolicy/basic_type_with_a_DISABLED_marker_keeps_meta_and_strategy (0.00s) 244s --- PASS: TestDecodePolicy/two_containers_don’t_mix_their_default_values_even_when_second_has_none (0.00s) 244s --- PASS: TestDecodePolicy/value_is_not_utf16 (0.00s) 244s --- PASS: TestDecodePolicy/null_character_in_data (0.00s) 244s --- PASS: TestDecodePolicy/section_separators_in_data (0.00s) 244s --- PASS: TestDecodePolicy/policy_container_is_ignored_for_meta_of_wrong_type (0.00s) 244s --- PASS: TestDecodePolicy/container_without_metavalues (0.00s) 244s --- PASS: TestDecodePolicy/basic_type_with_default_value_needs_a_DISABLED_marker (0.00s) 244s --- PASS: TestDecodePolicy/invalid_header,_header_too_short (0.00s) 244s --- PASS: TestDecodePolicy/key_is_not_utf16 (0.00s) 244s --- PASS: TestDecodePolicy/basic_type_is_ignored_for_meta_of_wrong_type (0.00s) 244s --- PASS: TestDecodePolicy/exotic_return_type (0.00s) 244s --- PASS: TestDecodePolicy/container_with_default_elements_are_ignored_on_non_empty_option_values (0.00s) 244s --- PASS: TestDecodePolicy/invalid_header,_header_doesnt_match (0.00s) 244s --- PASS: TestDecodePolicy/no_header (0.00s) 244s --- PASS: TestDecodePolicy/container_with_default_elements_are_ignored_on_int_option_values_(always_have_values) (0.00s) 244s --- PASS: TestDecodePolicy/invalid_container_default_values (0.00s) 244s --- PASS: TestDecodePolicy/invalid_decimal_value (0.00s) 244s --- PASS: TestDecodePolicy/empty_data (0.00s) 244s === RUN FuzzDecodePolicy 244s === RUN FuzzDecodePolicy/seed#0 244s === RUN FuzzDecodePolicy/seed#1 244s === RUN FuzzDecodePolicy/seed#2 244s === RUN FuzzDecodePolicy/seed#3 244s === RUN FuzzDecodePolicy/seed#4 244s === RUN FuzzDecodePolicy/seed#5 244s === RUN FuzzDecodePolicy/seed#6 244s === RUN FuzzDecodePolicy/seed#7 244s === RUN FuzzDecodePolicy/seed#8 244s === RUN FuzzDecodePolicy/seed#9 244s === RUN FuzzDecodePolicy/seed#10 244s === RUN FuzzDecodePolicy/seed#11 244s === RUN FuzzDecodePolicy/seed#12 244s === RUN FuzzDecodePolicy/seed#13 244s === RUN FuzzDecodePolicy/seed#14 244s === RUN FuzzDecodePolicy/seed#15 244s === RUN FuzzDecodePolicy/seed#16 244s === RUN FuzzDecodePolicy/seed#17 244s === RUN FuzzDecodePolicy/seed#18 244s === RUN FuzzDecodePolicy/seed#19 244s === RUN FuzzDecodePolicy/seed#20 244s === RUN FuzzDecodePolicy/seed#21 244s === RUN FuzzDecodePolicy/seed#22 244s === RUN FuzzDecodePolicy/seed#23 244s === RUN FuzzDecodePolicy/seed#24 244s === RUN FuzzDecodePolicy/seed#25 244s === RUN FuzzDecodePolicy/seed#26 244s === RUN FuzzDecodePolicy/seed#27 244s === RUN FuzzDecodePolicy/seed#28 244s === RUN FuzzDecodePolicy/seed#29 244s === RUN FuzzDecodePolicy/seed#30 244s === RUN FuzzDecodePolicy/seed#31 244s === RUN FuzzDecodePolicy/seed#32 244s === RUN FuzzDecodePolicy/seed#33 244s === RUN FuzzDecodePolicy/seed#34 244s === RUN FuzzDecodePolicy/seed#35 244s === RUN FuzzDecodePolicy/seed#36 244s === RUN FuzzDecodePolicy/seed#37 244s === RUN FuzzDecodePolicy/seed#38 244s === RUN FuzzDecodePolicy/seed#39 244s === RUN FuzzDecodePolicy/seed#40 244s === RUN FuzzDecodePolicy/seed#41 244s === RUN FuzzDecodePolicy/seed#42 244s === RUN FuzzDecodePolicy/seed#43 244s === RUN FuzzDecodePolicy/seed#44 244s === RUN FuzzDecodePolicy/seed#45 244s === RUN FuzzDecodePolicy/seed#46 244s === RUN FuzzDecodePolicy/seed#47 244s === RUN FuzzDecodePolicy/seed#48 244s === RUN FuzzDecodePolicy/seed#49 244s === RUN FuzzDecodePolicy/seed#50 244s === RUN FuzzDecodePolicy/seed#51 244s === RUN FuzzDecodePolicy/seed#52 244s === RUN FuzzDecodePolicy/seed#53 244s === RUN FuzzDecodePolicy/0062cd090fe349d2 244s === RUN FuzzDecodePolicy/04b7526092323e1c 244s === RUN FuzzDecodePolicy/0defa8b97933a28f 244s === RUN FuzzDecodePolicy/133d1110defea029 244s === RUN FuzzDecodePolicy/1417961320cddc32 244s === RUN FuzzDecodePolicy/18ca9a9ddd9b04c5 244s === RUN FuzzDecodePolicy/1b6cf53b6668b5b8 244s === RUN FuzzDecodePolicy/1b723f18e7bbd2bd 244s === RUN FuzzDecodePolicy/1fa4e44bc7eaab2b 244s === RUN FuzzDecodePolicy/20bb28e943f3a163 244s === RUN FuzzDecodePolicy/20f9df382d135424 244s === RUN FuzzDecodePolicy/21a02646df37f4a3 244s === RUN FuzzDecodePolicy/222e7dcc7ccf2b94 244s === RUN FuzzDecodePolicy/263b842aaa06d620 244s === RUN FuzzDecodePolicy/28ee70a86ff08ae5 244s === RUN FuzzDecodePolicy/298aa48ef602f955 244s === RUN FuzzDecodePolicy/2cb06d9f4d5ffe78 244s === RUN FuzzDecodePolicy/2e90d7e4f1973efd 244s === RUN FuzzDecodePolicy/2f2f939e0f0a5dfa 244s === RUN FuzzDecodePolicy/2f559466be2bb6db 244s === RUN FuzzDecodePolicy/3183a1d080909e99 244s === RUN FuzzDecodePolicy/31b9c4efbfccaa4b 244s === RUN FuzzDecodePolicy/33661e4c5fce45df 244s === RUN FuzzDecodePolicy/33c1677cf59487f5 244s === RUN FuzzDecodePolicy/3a49e3a9b34e7ca0 244s === RUN FuzzDecodePolicy/3f5a8494482ab97f 244s === RUN FuzzDecodePolicy/40a5045c4171f005 244s === RUN FuzzDecodePolicy/44e971d5bd7f28b3 244s === RUN FuzzDecodePolicy/44ef800113434b04 244s === RUN FuzzDecodePolicy/471661e7b661c53d 244s === RUN FuzzDecodePolicy/476ca3647151c006 244s === RUN FuzzDecodePolicy/4843648786c70b38 244s === RUN FuzzDecodePolicy/48ca8b9fbeccc5a8 244s === RUN FuzzDecodePolicy/4a75b70e3bbd2aee 244s === RUN FuzzDecodePolicy/4ab54fbe4f748f85 244s === RUN FuzzDecodePolicy/4b03a60474b90bbd 244s === RUN FuzzDecodePolicy/4cf871ee411324fb 244s === RUN FuzzDecodePolicy/4f1d38c1e12aef6a 244s === RUN FuzzDecodePolicy/5044e53350040819 244s === RUN FuzzDecodePolicy/504944f54851313c 244s === RUN FuzzDecodePolicy/582528ddfad69eb5 244s === RUN FuzzDecodePolicy/593a3ee315061853 244s === RUN FuzzDecodePolicy/59d23806a24221a5 244s === RUN FuzzDecodePolicy/5a29ff4d9005ba8b 244s === RUN FuzzDecodePolicy/5f0ada98ca1ad1a9 244s === RUN FuzzDecodePolicy/62a8dced0efc9d72 244s === RUN FuzzDecodePolicy/68c1564da597fea0 244s === RUN FuzzDecodePolicy/69603dec84f1482b 244s === RUN FuzzDecodePolicy/6960c361007d8825 244s === RUN FuzzDecodePolicy/699e9d8d0197487d 244s === RUN FuzzDecodePolicy/6ccb1b379873af9f 244s === RUN FuzzDecodePolicy/6d1b1e240f60f6c9 244s === RUN FuzzDecodePolicy/6d3215f003388cf1 244s === RUN FuzzDecodePolicy/6d817b46e0caad15 244s === RUN FuzzDecodePolicy/6dc2686e428754f3 244s === RUN FuzzDecodePolicy/6ddc8b3bed7c0e39 244s === RUN FuzzDecodePolicy/6e0990202f9b9d55 244s === RUN FuzzDecodePolicy/6e1da4d6ea90bc7a 244s === RUN FuzzDecodePolicy/6f0e2fcef25f63cf 244s === RUN FuzzDecodePolicy/72cca4222533d089 244s === RUN FuzzDecodePolicy/731d3b5bde9cc690 244s === RUN FuzzDecodePolicy/7361de35bf70bf17 244s === RUN FuzzDecodePolicy/749f16c9bc3cc87e 244s === RUN FuzzDecodePolicy/74ac7250a3338978 244s === RUN FuzzDecodePolicy/758383ad78d1ddd4 244s === RUN FuzzDecodePolicy/76f1ccb3afa04e6e 244s === RUN FuzzDecodePolicy/795ceb881d4221e3 244s === RUN FuzzDecodePolicy/7b60c5de747214b6 244s === RUN FuzzDecodePolicy/7bc7f7ba36ff22f5 244s === RUN FuzzDecodePolicy/7f3faed21426db2f 244s === RUN FuzzDecodePolicy/82a803231677d0f5 244s === RUN FuzzDecodePolicy/837bc22f260799fd 244s === RUN FuzzDecodePolicy/85315bd4891f6c1e 244s === RUN FuzzDecodePolicy/867b5ab9e5d21aea 244s === RUN FuzzDecodePolicy/888de5c9e80ce3b0 244s === RUN FuzzDecodePolicy/8a61b9487446d726 244s === RUN FuzzDecodePolicy/8b0f0dee6f9a48fd 244s === RUN FuzzDecodePolicy/8e8f4e91b7c5bfd0 244s === RUN FuzzDecodePolicy/8f19b0f96affeba8 244s === RUN FuzzDecodePolicy/9334c46469323973 244s === RUN FuzzDecodePolicy/9604c69b88bc6151 244s === RUN FuzzDecodePolicy/963211680af6bd1a 244s === RUN FuzzDecodePolicy/972db90b4d6a1d5b 244s === RUN FuzzDecodePolicy/985ec3cbf457896a 244s === RUN FuzzDecodePolicy/997536fa86bbbc34 244s === RUN FuzzDecodePolicy/9acd70418e457d18 244s === RUN FuzzDecodePolicy/9b0a4105f1089a20 244s === RUN FuzzDecodePolicy/9d8cdc0719c46928 244s === RUN FuzzDecodePolicy/9e6f333572766a4b 244s === RUN FuzzDecodePolicy/9e943f761adfbbd0 244s === RUN FuzzDecodePolicy/a1698d53f5c4d82d 244s === RUN FuzzDecodePolicy/a1841a4689867471 244s === RUN FuzzDecodePolicy/a26ca284000eeff9 244s === RUN FuzzDecodePolicy/a552164bb872fda4 244s === RUN FuzzDecodePolicy/a9c5e443bf44c80d 244s === RUN FuzzDecodePolicy/ac277569a745611f 244s === RUN FuzzDecodePolicy/ac53c3dce7a4706d 244s === RUN FuzzDecodePolicy/ada28ad70c7345f1 244s === RUN FuzzDecodePolicy/adb9a13c291b7e8c 244s === RUN FuzzDecodePolicy/aeb9d5c55731dae0 244s === RUN FuzzDecodePolicy/af71c7d394bbf535 244s === RUN FuzzDecodePolicy/b0ecd34477c6628e 244s === RUN FuzzDecodePolicy/b1585b9aa01c16b3 244s === RUN FuzzDecodePolicy/b6264d058ed4028a 244s === RUN FuzzDecodePolicy/b6790bea1e752c32 244s === RUN FuzzDecodePolicy/b741e8aa6c8179ba 244s === RUN FuzzDecodePolicy/b9032509681e867b 244s === RUN FuzzDecodePolicy/bb684f658455e982 244s === RUN FuzzDecodePolicy/bc6ddfc82e38438b 244s === RUN FuzzDecodePolicy/bf4f46d3858edb39 244s === RUN FuzzDecodePolicy/bfdd1bd65b5f5c04 244s === RUN FuzzDecodePolicy/c01841582b4cdc2f 244s === RUN FuzzDecodePolicy/c340eca55c3c30e3 244s === RUN FuzzDecodePolicy/c39235a2f77e92fd 244s === RUN FuzzDecodePolicy/c4d9def3916de265 244s === RUN FuzzDecodePolicy/c610d176a1726c39 244s === RUN FuzzDecodePolicy/ca683af05a78b772 244s === RUN FuzzDecodePolicy/cac340cbf4f81f48 244s === RUN FuzzDecodePolicy/ccdaead0f44dc069 244s === RUN FuzzDecodePolicy/ce8467c12ac1478e 244s === RUN FuzzDecodePolicy/cebcbd67b0b51d54 244s === RUN FuzzDecodePolicy/cf318b520a8e55be 244s === RUN FuzzDecodePolicy/cf592b0a6a725d1c 244s === RUN FuzzDecodePolicy/d0b8dc40737b3ff0 244s === RUN FuzzDecodePolicy/d2969c8e25b51895 244s === RUN FuzzDecodePolicy/d4e956bdff66867a 244s === RUN FuzzDecodePolicy/d5b932675c6ca808 244s === RUN FuzzDecodePolicy/dac7bf5435c51dea 244s === RUN FuzzDecodePolicy/dddc8d06ef526aba 244s === RUN FuzzDecodePolicy/e3065cb3ac7c0f78 244s === RUN FuzzDecodePolicy/e4242a66193c4579 244s === RUN FuzzDecodePolicy/e4a4780eb4ee185b 244s === RUN FuzzDecodePolicy/e5b22ed07e48d3fb 244s === RUN FuzzDecodePolicy/e7e4a84593481e49 244s === RUN FuzzDecodePolicy/e8030826b4125cbb 244s === RUN FuzzDecodePolicy/e923261af5ebad81 244s === RUN FuzzDecodePolicy/ea426f6b8bedc4d6 244s === RUN FuzzDecodePolicy/ead723bc16638dcb 244s === RUN FuzzDecodePolicy/f131b8f78f028a54 244s === RUN FuzzDecodePolicy/f1c1d58ecbe0d6dd 244s === RUN FuzzDecodePolicy/f3313a9f40c82a87 244s === RUN FuzzDecodePolicy/f4f490e788a76488 244s === RUN FuzzDecodePolicy/fa7acaf11cff6812 244s === RUN FuzzDecodePolicy/fb991a0182b5fe4d 244s === RUN FuzzDecodePolicy/fc0deb922246d3b7 244s === RUN FuzzDecodePolicy/fccd118f10988218 244s === RUN FuzzDecodePolicy/fe9d2018570dc6c6 244s === RUN FuzzDecodePolicy/ffd2d2b4544a818d 244s === RUN FuzzDecodePolicy/ffd60d90486b3974 244s === RUN FuzzDecodePolicy/regression-test-input-333 244s --- PASS: FuzzDecodePolicy (0.33s) 244s --- PASS: FuzzDecodePolicy/seed#0 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#1 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#2 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#3 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#4 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#5 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#6 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#7 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#8 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#9 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#10 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#11 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#12 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#13 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#14 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#15 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#16 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#17 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#18 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#19 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#20 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#21 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#22 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#23 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#24 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#25 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#26 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#27 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#28 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#29 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#30 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#31 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#32 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#33 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#34 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#35 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#36 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#37 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#38 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#39 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#40 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#41 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#42 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#43 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#44 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#45 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#46 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#47 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#48 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#49 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#50 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#51 (0.00s) 244s --- PASS: FuzzDecodePolicy/seed#52 (0.01s) 244s --- PASS: FuzzDecodePolicy/seed#53 (0.00s) 244s --- PASS: FuzzDecodePolicy/0062cd090fe349d2 (0.00s) 244s --- PASS: FuzzDecodePolicy/04b7526092323e1c (0.00s) 244s --- PASS: FuzzDecodePolicy/0defa8b97933a28f (0.00s) 244s --- PASS: FuzzDecodePolicy/133d1110defea029 (0.00s) 244s --- PASS: FuzzDecodePolicy/1417961320cddc32 (0.00s) 244s --- PASS: FuzzDecodePolicy/18ca9a9ddd9b04c5 (0.00s) 244s --- PASS: FuzzDecodePolicy/1b6cf53b6668b5b8 (0.00s) 244s --- PASS: FuzzDecodePolicy/1b723f18e7bbd2bd (0.00s) 244s --- PASS: FuzzDecodePolicy/1fa4e44bc7eaab2b (0.00s) 244s --- PASS: FuzzDecodePolicy/20bb28e943f3a163 (0.00s) 244s --- PASS: FuzzDecodePolicy/20f9df382d135424 (0.00s) 244s --- PASS: FuzzDecodePolicy/21a02646df37f4a3 (0.00s) 244s --- PASS: FuzzDecodePolicy/222e7dcc7ccf2b94 (0.00s) 244s --- PASS: FuzzDecodePolicy/263b842aaa06d620 (0.00s) 244s --- PASS: FuzzDecodePolicy/28ee70a86ff08ae5 (0.00s) 244s --- PASS: FuzzDecodePolicy/298aa48ef602f955 (0.00s) 244s --- PASS: FuzzDecodePolicy/2cb06d9f4d5ffe78 (0.00s) 244s --- PASS: FuzzDecodePolicy/2e90d7e4f1973efd (0.00s) 244s --- PASS: FuzzDecodePolicy/2f2f939e0f0a5dfa (0.00s) 244s --- PASS: FuzzDecodePolicy/2f559466be2bb6db (0.00s) 244s --- PASS: FuzzDecodePolicy/3183a1d080909e99 (0.00s) 244s --- PASS: FuzzDecodePolicy/31b9c4efbfccaa4b (0.00s) 244s --- PASS: FuzzDecodePolicy/33661e4c5fce45df (0.00s) 244s --- PASS: FuzzDecodePolicy/33c1677cf59487f5 (0.00s) 244s --- PASS: FuzzDecodePolicy/3a49e3a9b34e7ca0 (0.00s) 244s --- PASS: FuzzDecodePolicy/3f5a8494482ab97f (0.00s) 244s --- PASS: FuzzDecodePolicy/40a5045c4171f005 (0.00s) 244s --- PASS: FuzzDecodePolicy/44e971d5bd7f28b3 (0.00s) 244s --- PASS: FuzzDecodePolicy/44ef800113434b04 (0.04s) 244s --- PASS: FuzzDecodePolicy/471661e7b661c53d (0.00s) 244s --- PASS: FuzzDecodePolicy/476ca3647151c006 (0.00s) 244s --- PASS: FuzzDecodePolicy/4843648786c70b38 (0.00s) 244s --- PASS: FuzzDecodePolicy/48ca8b9fbeccc5a8 (0.00s) 244s --- PASS: FuzzDecodePolicy/4a75b70e3bbd2aee (0.00s) 244s --- PASS: FuzzDecodePolicy/4ab54fbe4f748f85 (0.00s) 244s --- PASS: FuzzDecodePolicy/4b03a60474b90bbd (0.00s) 244s --- PASS: FuzzDecodePolicy/4cf871ee411324fb (0.00s) 244s --- PASS: FuzzDecodePolicy/4f1d38c1e12aef6a (0.00s) 244s --- PASS: FuzzDecodePolicy/5044e53350040819 (0.00s) 244s --- PASS: FuzzDecodePolicy/504944f54851313c (0.00s) 244s --- PASS: FuzzDecodePolicy/582528ddfad69eb5 (0.00s) 244s --- PASS: FuzzDecodePolicy/593a3ee315061853 (0.00s) 244s --- PASS: FuzzDecodePolicy/59d23806a24221a5 (0.00s) 244s --- PASS: FuzzDecodePolicy/5a29ff4d9005ba8b (0.00s) 244s --- PASS: FuzzDecodePolicy/5f0ada98ca1ad1a9 (0.00s) 244s --- PASS: FuzzDecodePolicy/62a8dced0efc9d72 (0.01s) 244s --- PASS: FuzzDecodePolicy/68c1564da597fea0 (0.00s) 244s --- PASS: FuzzDecodePolicy/69603dec84f1482b (0.00s) 244s --- PASS: FuzzDecodePolicy/6960c361007d8825 (0.00s) 244s --- PASS: FuzzDecodePolicy/699e9d8d0197487d (0.00s) 244s --- PASS: FuzzDecodePolicy/6ccb1b379873af9f (0.00s) 244s --- PASS: FuzzDecodePolicy/6d1b1e240f60f6c9 (0.00s) 244s --- PASS: FuzzDecodePolicy/6d3215f003388cf1 (0.00s) 244s --- PASS: FuzzDecodePolicy/6d817b46e0caad15 (0.00s) 244s --- PASS: FuzzDecodePolicy/6dc2686e428754f3 (0.00s) 244s --- PASS: FuzzDecodePolicy/6ddc8b3bed7c0e39 (0.00s) 244s --- PASS: FuzzDecodePolicy/6e0990202f9b9d55 (0.00s) 244s --- PASS: FuzzDecodePolicy/6e1da4d6ea90bc7a (0.00s) 244s --- PASS: FuzzDecodePolicy/6f0e2fcef25f63cf (0.00s) 244s --- PASS: FuzzDecodePolicy/72cca4222533d089 (0.00s) 244s --- PASS: FuzzDecodePolicy/731d3b5bde9cc690 (0.00s) 244s --- PASS: FuzzDecodePolicy/7361de35bf70bf17 (0.00s) 244s --- PASS: FuzzDecodePolicy/749f16c9bc3cc87e (0.00s) 244s --- PASS: FuzzDecodePolicy/74ac7250a3338978 (0.00s) 244s --- PASS: FuzzDecodePolicy/758383ad78d1ddd4 (0.00s) 244s --- PASS: FuzzDecodePolicy/76f1ccb3afa04e6e (0.00s) 244s --- PASS: FuzzDecodePolicy/795ceb881d4221e3 (0.00s) 244s --- PASS: FuzzDecodePolicy/7b60c5de747214b6 (0.05s) 244s --- PASS: FuzzDecodePolicy/7bc7f7ba36ff22f5 (0.00s) 244s --- PASS: FuzzDecodePolicy/7f3faed21426db2f (0.00s) 244s --- PASS: FuzzDecodePolicy/82a803231677d0f5 (0.00s) 244s --- PASS: FuzzDecodePolicy/837bc22f260799fd (0.00s) 244s --- PASS: FuzzDecodePolicy/85315bd4891f6c1e (0.00s) 244s --- PASS: FuzzDecodePolicy/867b5ab9e5d21aea (0.00s) 244s --- PASS: FuzzDecodePolicy/888de5c9e80ce3b0 (0.01s) 244s --- PASS: FuzzDecodePolicy/8a61b9487446d726 (0.00s) 244s --- PASS: FuzzDecodePolicy/8b0f0dee6f9a48fd (0.00s) 244s --- PASS: FuzzDecodePolicy/8e8f4e91b7c5bfd0 (0.00s) 244s --- PASS: FuzzDecodePolicy/8f19b0f96affeba8 (0.00s) 244s --- PASS: FuzzDecodePolicy/9334c46469323973 (0.00s) 244s --- PASS: FuzzDecodePolicy/9604c69b88bc6151 (0.00s) 244s --- PASS: FuzzDecodePolicy/963211680af6bd1a (0.00s) 244s --- PASS: FuzzDecodePolicy/972db90b4d6a1d5b (0.00s) 244s --- PASS: FuzzDecodePolicy/985ec3cbf457896a (0.00s) 244s --- PASS: FuzzDecodePolicy/997536fa86bbbc34 (0.00s) 244s --- PASS: FuzzDecodePolicy/9acd70418e457d18 (0.00s) 244s --- PASS: FuzzDecodePolicy/9b0a4105f1089a20 (0.00s) 244s --- PASS: FuzzDecodePolicy/9d8cdc0719c46928 (0.00s) 244s --- PASS: FuzzDecodePolicy/9e6f333572766a4b (0.00s) 244s --- PASS: FuzzDecodePolicy/9e943f761adfbbd0 (0.00s) 244s --- PASS: FuzzDecodePolicy/a1698d53f5c4d82d (0.00s) 244s --- PASS: FuzzDecodePolicy/a1841a4689867471 (0.00s) 244s --- PASS: FuzzDecodePolicy/a26ca284000eeff9 (0.00s) 244s --- PASS: FuzzDecodePolicy/a552164bb872fda4 (0.00s) 244s --- PASS: FuzzDecodePolicy/a9c5e443bf44c80d (0.00s) 244s --- PASS: FuzzDecodePolicy/ac277569a745611f (0.00s) 244s --- PASS: FuzzDecodePolicy/ac53c3dce7a4706d (0.00s) 244s --- PASS: FuzzDecodePolicy/ada28ad70c7345f1 (0.00s) 244s --- PASS: FuzzDecodePolicy/adb9a13c291b7e8c (0.00s) 244s --- PASS: FuzzDecodePolicy/aeb9d5c55731dae0 (0.00s) 244s --- PASS: FuzzDecodePolicy/af71c7d394bbf535 (0.00s) 244s --- PASS: FuzzDecodePolicy/b0ecd34477c6628e (0.00s) 244s --- PASS: FuzzDecodePolicy/b1585b9aa01c16b3 (0.00s) 244s --- PASS: FuzzDecodePolicy/b6264d058ed4028a (0.00s) 244s --- PASS: FuzzDecodePolicy/b6790bea1e752c32 (0.00s) 244s --- PASS: FuzzDecodePolicy/b741e8aa6c8179ba (0.00s) 244s --- PASS: FuzzDecodePolicy/b9032509681e867b (0.00s) 244s --- PASS: FuzzDecodePolicy/bb684f658455e982 (0.00s) 244s --- PASS: FuzzDecodePolicy/bc6ddfc82e38438b (0.00s) 244s --- PASS: FuzzDecodePolicy/bf4f46d3858edb39 (0.00s) 244s --- PASS: FuzzDecodePolicy/bfdd1bd65b5f5c04 (0.00s) 244s --- PASS: FuzzDecodePolicy/c01841582b4cdc2f (0.00s) 244s --- PASS: FuzzDecodePolicy/c340eca55c3c30e3 (0.00s) 244s --- PASS: FuzzDecodePolicy/c39235a2f77e92fd (0.00s) 244s --- PASS: FuzzDecodePolicy/c4d9def3916de265 (0.00s) 244s --- PASS: FuzzDecodePolicy/c610d176a1726c39 (0.00s) 244s --- PASS: FuzzDecodePolicy/ca683af05a78b772 (0.00s) 244s --- PASS: FuzzDecodePolicy/cac340cbf4f81f48 (0.00s) 244s --- PASS: FuzzDecodePolicy/ccdaead0f44dc069 (0.00s) 244s --- PASS: FuzzDecodePolicy/ce8467c12ac1478e (0.00s) 244s --- PASS: FuzzDecodePolicy/cebcbd67b0b51d54 (0.00s) 244s --- PASS: FuzzDecodePolicy/cf318b520a8e55be (0.00s) 244s --- PASS: FuzzDecodePolicy/cf592b0a6a725d1c (0.00s) 244s --- PASS: FuzzDecodePolicy/d0b8dc40737b3ff0 (0.00s) 244s --- PASS: FuzzDecodePolicy/d2969c8e25b51895 (0.00s) 244s --- PASS: FuzzDecodePolicy/d4e956bdff66867a (0.00s) 244s --- PASS: FuzzDecodePolicy/d5b932675c6ca808 (0.00s) 244s --- PASS: FuzzDecodePolicy/dac7bf5435c51dea (0.00s) 244s --- PASS: FuzzDecodePolicy/dddc8d06ef526aba (0.00s) 244s --- PASS: FuzzDecodePolicy/e3065cb3ac7c0f78 (0.00s) 244s --- PASS: FuzzDecodePolicy/e4242a66193c4579 (0.00s) 244s --- PASS: FuzzDecodePolicy/e4a4780eb4ee185b (0.00s) 244s --- PASS: FuzzDecodePolicy/e5b22ed07e48d3fb (0.00s) 244s --- PASS: FuzzDecodePolicy/e7e4a84593481e49 (0.00s) 244s --- PASS: FuzzDecodePolicy/e8030826b4125cbb (0.00s) 244s --- PASS: FuzzDecodePolicy/e923261af5ebad81 (0.00s) 244s --- PASS: FuzzDecodePolicy/ea426f6b8bedc4d6 (0.00s) 244s --- PASS: FuzzDecodePolicy/ead723bc16638dcb (0.00s) 244s --- PASS: FuzzDecodePolicy/f131b8f78f028a54 (0.00s) 244s --- PASS: FuzzDecodePolicy/f1c1d58ecbe0d6dd (0.00s) 244s --- PASS: FuzzDecodePolicy/f3313a9f40c82a87 (0.00s) 244s --- PASS: FuzzDecodePolicy/f4f490e788a76488 (0.00s) 244s --- PASS: FuzzDecodePolicy/fa7acaf11cff6812 (0.00s) 244s --- PASS: FuzzDecodePolicy/fb991a0182b5fe4d (0.00s) 244s --- PASS: FuzzDecodePolicy/fc0deb922246d3b7 (0.00s) 244s --- PASS: FuzzDecodePolicy/fccd118f10988218 (0.00s) 244s --- PASS: FuzzDecodePolicy/fe9d2018570dc6c6 (0.05s) 244s --- PASS: FuzzDecodePolicy/ffd2d2b4544a818d (0.00s) 244s --- PASS: FuzzDecodePolicy/ffd60d90486b3974 (0.00s) 244s --- PASS: FuzzDecodePolicy/regression-test-input-333 (0.00s) 244s PASS 244s ok github.com/ubuntu/adsys/internal/ad/registry 0.388s 244s === RUN TestNew 244s === PAUSE TestNew 244s === CONT TestNew 244s === RUN TestNew/Adsys_directory_can_already_exists 244s === PAUSE TestNew/Adsys_directory_can_already_exists 244s === RUN TestNew/Error_on_failure_to_create_run_directory 244s === PAUSE TestNew/Error_on_failure_to_create_run_directory 244s === RUN TestNew/Error_on_ad.New_prevents_adsysservice_creation 244s === PAUSE TestNew/Error_on_ad.New_prevents_adsysservice_creation 244s === RUN TestNew/New_and_Quit_succeeds_and_defaults_to_sssd,_first_run 244s === PAUSE TestNew/New_and_Quit_succeeds_and_defaults_to_sssd,_first_run 244s === RUN TestNew/Unknown_backend_defaults_to_sssd 244s === PAUSE TestNew/Unknown_backend_defaults_to_sssd 244s === RUN TestNew/Select_sssd_backend_explicitly 244s === PAUSE TestNew/Select_sssd_backend_explicitly 244s === RUN TestNew/Select_winbind_backend_explicitly 244s === PAUSE TestNew/Select_winbind_backend_explicitly 244s === RUN TestNew/Error_on_failure_to_create_cache_directory 244s === PAUSE TestNew/Error_on_failure_to_create_cache_directory 244s === RUN TestNew/Error_on_nonexistent_sssd.conf 244s === PAUSE TestNew/Error_on_nonexistent_sssd.conf 244s === CONT TestNew/Adsys_directory_can_already_exists 244s === CONT TestNew/Select_sssd_backend_explicitly 244s === CONT TestNew/Unknown_backend_defaults_to_sssd 244s === CONT TestNew/New_and_Quit_succeeds_and_defaults_to_sssd,_first_run 244s time="2025-10-18T14:43:20Z" level=warning msg="Unknown configured backend \"unknown-backend\". Defaulting to sssd." 244s === CONT TestNew/Error_on_ad.New_prevents_adsysservice_creation 244s === CONT TestNew/Error_on_failure_to_create_run_directory 244s === CONT TestNew/Error_on_failure_to_create_cache_directory 244s === CONT TestNew/Error_on_nonexistent_sssd.conf 244s === CONT TestNew/Select_winbind_backend_explicitly 244s time="2025-10-18T14:43:20Z" level=warning msg="could not get online status for domain \"example.com\": status code 6" 244s --- PASS: TestNew (0.00s) 244s --- PASS: TestNew/Select_sssd_backend_explicitly (0.00s) 244s --- PASS: TestNew/Adsys_directory_can_already_exists (0.01s) 244s --- PASS: TestNew/Unknown_backend_defaults_to_sssd (0.00s) 244s --- PASS: TestNew/Error_on_ad.New_prevents_adsysservice_creation (0.00s) 244s --- PASS: TestNew/Error_on_failure_to_create_run_directory (0.00s) 244s --- PASS: TestNew/Error_on_failure_to_create_cache_directory (0.00s) 244s --- PASS: TestNew/New_and_Quit_succeeds_and_defaults_to_sssd,_first_run (0.01s) 244s --- PASS: TestNew/Error_on_nonexistent_sssd.conf (0.00s) 244s --- PASS: TestNew/Select_winbind_backend_explicitly (0.00s) 244s PASS 244s ok github.com/ubuntu/adsys/internal/adsysservice 0.139s 244s ? github.com/ubuntu/adsys/internal/adsysservice/actions [no test files] 244s === RUN TestIsAllowed 244s === PAUSE TestIsAllowed 244s === RUN TestPeerCredsInfoAuthType 244s === PAUSE TestPeerCredsInfoAuthType 244s === RUN TestServerPeerCredsHandshake 244s === PAUSE TestServerPeerCredsHandshake 244s === RUN TestServerPeerCredsInvalidSocket 244s === PAUSE TestServerPeerCredsInvalidSocket 244s === RUN TestIsAllowedFromContext 244s === PAUSE TestIsAllowedFromContext 244s === RUN TestIsAllowedFromContextWithoutPeer 244s === PAUSE TestIsAllowedFromContextWithoutPeer 244s === RUN TestIsAllowedFromContextWithInvalidPeerCreds 244s === PAUSE TestIsAllowedFromContextWithInvalidPeerCreds 244s === RUN TestIsAllowedFromContextWithoutUserKey 244s === PAUSE TestIsAllowedFromContextWithoutUserKey 244s === CONT TestIsAllowed 244s === CONT TestIsAllowedFromContext 244s === RUN TestIsAllowedFromContext/Unauthorizes_when_user_lookup_returns_an_error 244s === PAUSE TestIsAllowedFromContext/Unauthorizes_when_user_lookup_returns_an_error 244s === RUN TestIsAllowedFromContext/Unauthorizes_when_user_has_invalid_uid 244s === PAUSE TestIsAllowedFromContext/Unauthorizes_when_user_has_invalid_uid 244s === RUN TestIsAllowedFromContext/Root_is_always_authorized 244s === PAUSE TestIsAllowedFromContext/Root_is_always_authorized 244s === RUN TestIsAllowedFromContext/Valid_process_and_ACK 244s === PAUSE TestIsAllowedFromContext/Valid_process_and_ACK 244s === RUN TestIsAllowedFromContext/Valid_process_and_NACK 244s === PAUSE TestIsAllowedFromContext/Valid_process_and_NACK 244s === RUN TestIsAllowedFromContext/Extract_current_user_action_from_request 244s === PAUSE TestIsAllowedFromContext/Extract_current_user_action_from_request 244s === RUN TestIsAllowedFromContext/Extract_other_user_action_from_request 244s === PAUSE TestIsAllowedFromContext/Extract_other_user_action_from_request 244s === CONT TestIsAllowedFromContextWithoutUserKey 244s === RUN TestIsAllowed/Invalid_process_stat_file:_field_isn't_present 244s === PAUSE TestIsAllowed/Invalid_process_stat_file:_field_isn't_present 244s === RUN TestIsAllowed/Invalid_process_stat_file:_field_isn't_an_int 244s === PAUSE TestIsAllowed/Invalid_process_stat_file:_field_isn't_an_int 244s === RUN TestIsAllowed/ActionAlwaysAllowed_is_always_allowed 244s === PAUSE TestIsAllowed/ActionAlwaysAllowed_is_always_allowed 244s === RUN TestIsAllowed/User_Action_for_own_user_translates_to_Self_parameter_as_ID 244s === PAUSE TestIsAllowed/User_Action_for_own_user_translates_to_Self_parameter_as_ID 244s === RUN TestIsAllowed/User_Action_on_other_user_translates_to_Other_parameter_as_ID 244s === PAUSE TestIsAllowed/User_Action_on_other_user_translates_to_Other_parameter_as_ID 244s === RUN TestIsAllowed/Root_is_always_authorized 244s === PAUSE TestIsAllowed/Root_is_always_authorized 244s === RUN TestIsAllowed/Invalid_process_stat_file:_missing_) 244s === PAUSE TestIsAllowed/Invalid_process_stat_file:_missing_) 244s === RUN TestIsAllowed/Invalid_process_stat_file:_)_at_the_end 244s === PAUSE TestIsAllowed/Invalid_process_stat_file:_)_at_the_end 244s === RUN TestIsAllowed/Polkit_dbus_call_errors_out 244s === PAUSE TestIsAllowed/Polkit_dbus_call_errors_out 244s === RUN TestIsAllowed/Valid_process_and_ACK 244s === PAUSE TestIsAllowed/Valid_process_and_ACK 244s === RUN TestIsAllowed/Valid_process_and_NACK 244s === PAUSE TestIsAllowed/Valid_process_and_NACK 244s === RUN TestIsAllowed/Process_doesn't_exists 244s === PAUSE TestIsAllowed/Process_doesn't_exists 244s === CONT TestIsAllowedFromContextWithInvalidPeerCreds 244s --- PASS: TestIsAllowedFromContextWithoutUserKey (0.00s) 244s --- PASS: TestIsAllowedFromContextWithInvalidPeerCreds (0.00s) 244s === CONT TestIsAllowedFromContextWithoutPeer 244s === CONT TestServerPeerCredsHandshake 244s --- PASS: TestServerPeerCredsHandshake (0.00s) 244s === CONT TestServerPeerCredsInvalidSocket 244s --- PASS: TestServerPeerCredsInvalidSocket (0.00s) 244s === CONT TestPeerCredsInfoAuthType 244s --- PASS: TestPeerCredsInfoAuthType (0.00s) 244s === CONT TestIsAllowedFromContext/Unauthorizes_when_user_lookup_returns_an_error 244s === CONT TestIsAllowedFromContext/Extract_other_user_action_from_request 244s === CONT TestIsAllowedFromContext/Extract_current_user_action_from_request 244s === CONT TestIsAllowedFromContext/Valid_process_and_NACK 244s === CONT TestIsAllowedFromContext/Valid_process_and_ACK 244s --- PASS: TestIsAllowedFromContextWithoutPeer (0.00s) 244s === CONT TestIsAllowedFromContext/Root_is_always_authorized 244s === CONT TestIsAllowedFromContext/Unauthorizes_when_user_has_invalid_uid 244s === CONT TestIsAllowed/Invalid_process_stat_file:_field_isn't_present 244s === CONT TestIsAllowed/Process_doesn't_exists 244s --- PASS: TestIsAllowedFromContext (0.00s) 244s --- PASS: TestIsAllowedFromContext/Unauthorizes_when_user_lookup_returns_an_error (0.00s) 244s --- PASS: TestIsAllowedFromContext/Extract_other_user_action_from_request (0.00s) 244s --- PASS: TestIsAllowedFromContext/Extract_current_user_action_from_request (0.00s) 244s --- PASS: TestIsAllowedFromContext/Valid_process_and_NACK (0.00s) 244s --- PASS: TestIsAllowedFromContext/Root_is_always_authorized (0.00s) 244s --- PASS: TestIsAllowedFromContext/Unauthorizes_when_user_has_invalid_uid (0.00s) 244s --- PASS: TestIsAllowedFromContext/Valid_process_and_ACK (0.00s) 244s === CONT TestIsAllowed/Valid_process_and_NACK 244s === CONT TestIsAllowed/Valid_process_and_ACK 244s === CONT TestIsAllowed/Polkit_dbus_call_errors_out 244s === CONT TestIsAllowed/Invalid_process_stat_file:_)_at_the_end 244s === CONT TestIsAllowed/Invalid_process_stat_file:_missing_) 244s === CONT TestIsAllowed/Root_is_always_authorized 244s === CONT TestIsAllowed/User_Action_on_other_user_translates_to_Other_parameter_as_ID 244s === CONT TestIsAllowed/User_Action_for_own_user_translates_to_Self_parameter_as_ID 244s === CONT TestIsAllowed/ActionAlwaysAllowed_is_always_allowed 244s === CONT TestIsAllowed/Invalid_process_stat_file:_field_isn't_an_int 244s --- PASS: TestIsAllowed (0.00s) 244s --- PASS: TestIsAllowed/Invalid_process_stat_file:_field_isn't_present (0.00s) 244s --- PASS: TestIsAllowed/Process_doesn't_exists (0.00s) 244s --- PASS: TestIsAllowed/Valid_process_and_NACK (0.00s) 244s --- PASS: TestIsAllowed/Valid_process_and_ACK (0.00s) 244s --- PASS: TestIsAllowed/Invalid_process_stat_file:_)_at_the_end (0.00s) 244s --- PASS: TestIsAllowed/Polkit_dbus_call_errors_out (0.00s) 244s --- PASS: TestIsAllowed/Invalid_process_stat_file:_missing_) (0.00s) 244s --- PASS: TestIsAllowed/Root_is_always_authorized (0.00s) 244s --- PASS: TestIsAllowed/User_Action_on_other_user_translates_to_Other_parameter_as_ID (0.00s) 244s --- PASS: TestIsAllowed/User_Action_for_own_user_translates_to_Self_parameter_as_ID (0.00s) 244s --- PASS: TestIsAllowed/ActionAlwaysAllowed_is_always_allowed (0.00s) 244s --- PASS: TestIsAllowed/Invalid_process_stat_file:_field_isn't_an_int (0.00s) 244s PASS 244s ok github.com/ubuntu/adsys/internal/authorizer 0.040s 244s === RUN TestNoCmd 244s === PAUSE TestNoCmd 244s === RUN TestZeroOrNArgs 244s === PAUSE TestZeroOrNArgs 244s === RUN TestNoValidArgs 244s === PAUSE TestNoValidArgs 244s === RUN TestRegisterAlias 244s === PAUSE TestRegisterAlias 244s === CONT TestNoCmd 244s --- PASS: TestNoCmd (0.00s) 244s === CONT TestRegisterAlias 244s --- PASS: TestRegisterAlias (0.00s) 244s === CONT TestNoValidArgs 244s --- PASS: TestNoValidArgs (0.00s) 244s === CONT TestZeroOrNArgs 244s === RUN TestZeroOrNArgs/Zero_args 244s === PAUSE TestZeroOrNArgs/Zero_args 244s === RUN TestZeroOrNArgs/Exactly_N_args 244s === PAUSE TestZeroOrNArgs/Exactly_N_args 244s === RUN TestZeroOrNArgs/Error_with_less_than_N_args 244s === PAUSE TestZeroOrNArgs/Error_with_less_than_N_args 244s === RUN TestZeroOrNArgs/Error_with_more_than_N_args 244s === PAUSE TestZeroOrNArgs/Error_with_more_than_N_args 244s === CONT TestZeroOrNArgs/Zero_args 244s === CONT TestZeroOrNArgs/Error_with_more_than_N_args 244s === CONT TestZeroOrNArgs/Error_with_less_than_N_args 244s === CONT TestZeroOrNArgs/Exactly_N_args 244s --- PASS: TestZeroOrNArgs (0.00s) 244s --- PASS: TestZeroOrNArgs/Zero_args (0.00s) 244s --- PASS: TestZeroOrNArgs/Error_with_more_than_N_args (0.00s) 244s --- PASS: TestZeroOrNArgs/Error_with_less_than_N_args (0.00s) 244s --- PASS: TestZeroOrNArgs/Exactly_N_args (0.00s) 244s PASS 244s ok github.com/ubuntu/adsys/internal/cmdhandler 0.013s 255s === RUN TestSetVerboseMode 255s === RUN TestSetVerboseMode/Default_level_is_warning 255s === RUN TestSetVerboseMode/1_is_for_info 255s === RUN TestSetVerboseMode/2_is_for_debug 255s === RUN TestSetVerboseMode/3_is_debug_printing_callers 255s --- PASS: TestSetVerboseMode (0.00s) 255s --- PASS: TestSetVerboseMode/Default_level_is_warning (0.00s) 255s --- PASS: TestSetVerboseMode/1_is_for_info (0.00s) 255s --- PASS: TestSetVerboseMode/2_is_for_debug (0.00s) 255s --- PASS: TestSetVerboseMode/3_is_debug_printing_callers (0.00s) 255s === RUN TestInit 255s === RUN TestInit/Load_configuration,_no_file,_no_flag,_no_env 255s === RUN TestInit/Empty_configuration_file_is_supported 255s === RUN TestInit/Configuration_flag_has_precedence_over_local_file 255s === RUN TestInit/Error_on_invalid_configuration_file 255s === RUN TestInit/Configuration_flag_on_subcommand,_not_in_config_dir,_init_on_subcommand 255s === RUN TestInit/Flag_is_supported 255s === RUN TestInit/Configuration_changed_directly 255s === RUN TestInit/Configuration_file_overwritten 255s === RUN TestInit/Callback_in_error_on_refresh_only_prints_warning 255s time="2025-10-18T14:43:28Z" level=warning msg="Error while refreshing configuration: Error from callback" 255s === RUN TestInit/Env_has_precedence_over_configuration 255s === RUN TestInit/Error_on_no_verbose_flag_set_before_Init_is_call 255s === RUN TestInit/Error_on_callback_returning_error_on_first_call 255s === RUN TestInit/Load_configuration_with_file 255s === RUN TestInit/Load_configuration_from_executable_dir 255s === RUN TestInit/No_config_flag_set_before_Init_is_call_is_ignored 255s === RUN TestInit/Configuration_flag_on_parent,_not_in_config_dir,_init_on_subcommand 255s === RUN TestInit/Environment_is_supported 255s === RUN TestInit/Flag_has_precedence_over_env 255s === RUN TestInit/Configuration_flag,_not_in_config_dir 255s === RUN TestInit/Configuration_file_created_after_Init()_is_not_taken_into_account 255s === RUN TestInit/Error_on_config_flag_points_to_unexisting_path 255s --- PASS: TestInit (10.40s) 255s --- PASS: TestInit/Load_configuration,_no_file,_no_flag,_no_env (0.17s) 255s --- PASS: TestInit/Empty_configuration_file_is_supported (0.01s) 255s --- PASS: TestInit/Configuration_flag_has_precedence_over_local_file (0.01s) 255s --- PASS: TestInit/Error_on_invalid_configuration_file (0.01s) 255s --- PASS: TestInit/Configuration_flag_on_subcommand,_not_in_config_dir,_init_on_subcommand (0.00s) 255s --- PASS: TestInit/Flag_is_supported (0.00s) 255s --- PASS: TestInit/Configuration_changed_directly (2.03s) 255s --- PASS: TestInit/Configuration_file_overwritten (2.03s) 255s --- PASS: TestInit/Callback_in_error_on_refresh_only_prints_warning (2.03s) 255s --- PASS: TestInit/Env_has_precedence_over_configuration (0.00s) 255s --- PASS: TestInit/Error_on_no_verbose_flag_set_before_Init_is_call (0.00s) 255s --- PASS: TestInit/Error_on_callback_returning_error_on_first_call (0.00s) 255s --- PASS: TestInit/Load_configuration_with_file (0.00s) 255s --- PASS: TestInit/Load_configuration_from_executable_dir (0.01s) 255s --- PASS: TestInit/No_config_flag_set_before_Init_is_call_is_ignored (0.00s) 255s --- PASS: TestInit/Configuration_flag_on_parent,_not_in_config_dir,_init_on_subcommand (0.00s) 255s --- PASS: TestInit/Environment_is_supported (0.00s) 255s --- PASS: TestInit/Flag_has_precedence_over_env (0.00s) 255s --- PASS: TestInit/Configuration_flag,_not_in_config_dir (0.00s) 255s --- PASS: TestInit/Configuration_file_created_after_Init()_is_not_taken_into_account (4.03s) 255s --- PASS: TestInit/Error_on_config_flag_points_to_unexisting_path (0.03s) 255s === RUN TestLoadConfig 255s === PAUSE TestLoadConfig 255s === CONT TestLoadConfig 255s === RUN TestLoadConfig/Empty_configuration_is_supported 255s === PAUSE TestLoadConfig/Empty_configuration_is_supported 255s === RUN TestLoadConfig/Load_configuration_deserialize_its 255s === PAUSE TestLoadConfig/Load_configuration_deserialize_its 255s === CONT TestLoadConfig/Empty_configuration_is_supported 255s === CONT TestLoadConfig/Load_configuration_deserialize_its 255s --- PASS: TestLoadConfig (0.00s) 255s --- PASS: TestLoadConfig/Load_configuration_deserialize_its (0.00s) 255s --- PASS: TestLoadConfig/Empty_configuration_is_supported (0.00s) 255s PASS 255s ok github.com/ubuntu/adsys/internal/config 10.419s 255s === RUN TestConfigFileFromArgs 255s === PAUSE TestConfigFileFromArgs 255s === RUN TestDirsFromConfigFile 255s === PAUSE TestDirsFromConfigFile 255s === RUN TestWriteConfig 255s === RUN TestWriteConfig/Error_on_empty_dirs 255s === RUN TestWriteConfig/With_relative_config_path 255s === RUN TestWriteConfig/With_nested_config_path 255s === RUN TestWriteConfig/Error_on_absent_dirs 255s --- PASS: TestWriteConfig (0.00s) 255s --- PASS: TestWriteConfig/Error_on_empty_dirs (0.00s) 255s --- PASS: TestWriteConfig/With_relative_config_path (0.00s) 255s --- PASS: TestWriteConfig/With_nested_config_path (0.00s) 255s --- PASS: TestWriteConfig/Error_on_absent_dirs (0.00s) 255s === CONT TestConfigFileFromArgs 255s === RUN TestConfigFileFromArgs/Short_config_argument 255s === PAUSE TestConfigFileFromArgs/Short_config_argument 255s === RUN TestConfigFileFromArgs/Short_config_argument_with_quotes 255s === PAUSE TestConfigFileFromArgs/Short_config_argument_with_quotes 255s === RUN TestConfigFileFromArgs/Error_on_empty_args 255s === PAUSE TestConfigFileFromArgs/Error_on_empty_args 255s === RUN TestConfigFileFromArgs/Error_on_no_config_argument 255s === PAUSE TestConfigFileFromArgs/Error_on_no_config_argument 255s === RUN TestConfigFileFromArgs/Error_on_config_argument_with_no_value 255s === PAUSE TestConfigFileFromArgs/Error_on_config_argument_with_no_value 255s === CONT TestConfigFileFromArgs/Short_config_argument 255s === CONT TestDirsFromConfigFile 255s === RUN TestDirsFromConfigFile/No_config_file 255s === PAUSE TestDirsFromConfigFile/No_config_file 255s === RUN TestDirsFromConfigFile/Empty_config_file 255s === PAUSE TestDirsFromConfigFile/Empty_config_file 255s === RUN TestDirsFromConfigFile/No_dirs_in_config_file 255s === PAUSE TestDirsFromConfigFile/No_dirs_in_config_file 255s === RUN TestDirsFromConfigFile/Config_dirs_is_not_an_array 255s === PAUSE TestDirsFromConfigFile/Config_dirs_is_not_an_array 255s === RUN TestDirsFromConfigFile/Config_dirs_is_an_array 255s === PAUSE TestDirsFromConfigFile/Config_dirs_is_an_array 255s === CONT TestConfigFileFromArgs/Error_on_no_config_argument 255s === CONT TestConfigFileFromArgs/Error_on_config_argument_with_no_value 255s === CONT TestDirsFromConfigFile/No_config_file 255s === CONT TestDirsFromConfigFile/Config_dirs_is_not_an_array 255s === CONT TestDirsFromConfigFile/No_dirs_in_config_file 255s === CONT TestDirsFromConfigFile/Config_dirs_is_an_array 255s === CONT TestDirsFromConfigFile/Empty_config_file 255s === CONT TestConfigFileFromArgs/Error_on_empty_args 255s === CONT TestConfigFileFromArgs/Short_config_argument_with_quotes 255s --- PASS: TestDirsFromConfigFile (0.00s) 255s --- PASS: TestDirsFromConfigFile/No_config_file (0.00s) 255s --- PASS: TestDirsFromConfigFile/Config_dirs_is_not_an_array (0.00s) 255s --- PASS: TestDirsFromConfigFile/No_dirs_in_config_file (0.00s) 255s --- PASS: TestDirsFromConfigFile/Empty_config_file (0.00s) 255s --- PASS: TestDirsFromConfigFile/Config_dirs_is_an_array (0.00s) 255s --- PASS: TestConfigFileFromArgs (0.00s) 255s --- PASS: TestConfigFileFromArgs/Short_config_argument (0.00s) 255s --- PASS: TestConfigFileFromArgs/Error_on_no_config_argument (0.00s) 255s --- PASS: TestConfigFileFromArgs/Error_on_config_argument_with_no_value (0.00s) 255s --- PASS: TestConfigFileFromArgs/Error_on_empty_args (0.00s) 255s --- PASS: TestConfigFileFromArgs/Short_config_argument_with_quotes (0.00s) 255s PASS 255s ok github.com/ubuntu/adsys/internal/config/watchd 0.023s 255s ? github.com/ubuntu/adsys/internal/consts [no test files] 255s === RUN TestStartStop 255s === PAUSE TestStartStop 255s === RUN TestStopBeforeServe 255s === PAUSE TestStopBeforeServe 255s === RUN TestChangeSocket 255s === PAUSE TestChangeSocket 255s === RUN TestSocketActivation 255s === PAUSE TestSocketActivation 255s === RUN TestUseSocketIgnoredWithSocketActivation 255s === PAUSE TestUseSocketIgnoredWithSocketActivation 255s === RUN TestSdNotifier 255s === PAUSE TestSdNotifier 255s === RUN TestFailingOption 255s === PAUSE TestFailingOption 255s === RUN TestCannotCreateSocket 255s === PAUSE TestCannotCreateSocket 255s === RUN TestServerStartListenTimeout 255s === PAUSE TestServerStartListenTimeout 255s === RUN TestServerDontTimeoutWithActiveRequest 255s === PAUSE TestServerDontTimeoutWithActiveRequest 255s === RUN TestServerDontTimeoutWithMultipleActiveRequests 255s === PAUSE TestServerDontTimeoutWithMultipleActiveRequests 255s === RUN TestServerChangeTimeout 255s === PAUSE TestServerChangeTimeout 255s === RUN TestServerDoubleQuit 255s === PAUSE TestServerDoubleQuit 255s === CONT TestStartStop 255s === CONT TestCannotCreateSocket 255s --- PASS: TestCannotCreateSocket (0.00s) 255s === CONT TestFailingOption 255s --- PASS: TestFailingOption (0.00s) 255s === CONT TestSdNotifier 255s === RUN TestSdNotifier/Sends_signal 255s === PAUSE TestSdNotifier/Sends_signal 255s === RUN TestSdNotifier/Doesn't_fail_when_not_under_systemd 255s === PAUSE TestSdNotifier/Doesn't_fail_when_not_under_systemd 255s === RUN TestSdNotifier/Error_when_notifier_fails 255s === PAUSE TestSdNotifier/Error_when_notifier_fails 255s === CONT TestUseSocketIgnoredWithSocketActivation 255s time="2025-10-18T14:43:23Z" level=info msg="Serving on /tmp/TestStartStop747039553/001/test.sock" 255s time="2025-10-18T14:43:23Z" level=info msg="Serving on /tmp/TestUseSocketIgnoredWithSocketActivation3395667257/001/socket" 255s time="2025-10-18T14:43:23Z" level=info msg="Stopping daemon requested." 255s time="2025-10-18T14:43:23Z" level=info msg="Wait for active requests to close." 255s --- PASS: TestStartStop (0.01s) 255s === CONT TestSocketActivation 255s === RUN TestSocketActivation/Error_when_Listeners()_fails 255s === PAUSE TestSocketActivation/Error_when_Listeners()_fails 255s === RUN TestSocketActivation/Success_with_one_socket 255s === PAUSE TestSocketActivation/Success_with_one_socket 255s === RUN TestSocketActivation/Error_when_provided_with_many_sockets 255s === PAUSE TestSocketActivation/Error_when_provided_with_many_sockets 255s === CONT TestChangeSocket 255s time="2025-10-18T14:43:23Z" level=info msg="Serving on /tmp/TestChangeSocket2299105786/001/test.sock" 255s time="2025-10-18T14:43:23Z" level=info msg="Stopping daemon requested." 255s time="2025-10-18T14:43:23Z" level=info msg="Wait for active requests to close." 255s --- PASS: TestUseSocketIgnoredWithSocketActivation (0.02s) 255s === CONT TestStopBeforeServe 255s time="2025-10-18T14:43:23Z" level=info msg="Stopping daemon requested." 255s time="2025-10-18T14:43:23Z" level=info msg="Wait for active requests to close." 255s --- PASS: TestStopBeforeServe (0.00s) 255s === CONT TestServerDontTimeoutWithMultipleActiveRequests 255s time="2025-10-18T14:43:23Z" level=info msg="Stopping daemon requested." 255s time="2025-10-18T14:43:23Z" level=info msg="Wait for active requests to close." 255s time="2025-10-18T14:43:23Z" level=info msg="Serving on /tmp/TestChangeSocket2299105786/001/test2.sock" 255s time="2025-10-18T14:43:23Z" level=info msg="Serving on /tmp/TestServerDontTimeoutWithMultipleActiveRequests3934604153/001/test.sock" 255s time="2025-10-18T14:43:23Z" level=info msg="Stopping daemon requested." 255s time="2025-10-18T14:43:23Z" level=info msg="Wait for active requests to close." 255s --- PASS: TestChangeSocket (0.02s) 255s === CONT TestServerDoubleQuit 255s time="2025-10-18T14:43:23Z" level=info msg="Serving on /tmp/TestServerDoubleQuit3258271408/001/test.sock" 255s time="2025-10-18T14:43:23Z" level=info msg="Stopping daemon requested." 255s time="2025-10-18T14:43:23Z" level=info msg="Wait for active requests to close." 255s --- PASS: TestServerDoubleQuit (0.01s) 255s === CONT TestServerChangeTimeout 255s time="2025-10-18T14:43:23Z" level=info msg="Serving on /tmp/TestServerChangeTimeout1750514309/001/test.sock" 255s time="2025-10-18T14:43:23Z" level=info msg="Stopping daemon requested." 255s --- PASS: TestServerChangeTimeout (0.05s) 255s === CONT TestServerDontTimeoutWithActiveRequest 255s time="2025-10-18T14:43:23Z" level=info msg="Serving on /tmp/TestServerDontTimeoutWithActiveRequest1432177211/001/test.sock" 255s time="2025-10-18T14:43:23Z" level=info msg="Stopping daemon requested." 255s --- PASS: TestServerDontTimeoutWithMultipleActiveRequests (0.11s) 255s === CONT TestServerStartListenTimeout 255s time="2025-10-18T14:43:23Z" level=info msg="Serving on /tmp/TestServerStartListenTimeout3033507671/001/test.sock" 255s time="2025-10-18T14:43:23Z" level=info msg="Stopping daemon requested." 255s --- PASS: TestServerStartListenTimeout (0.01s) 255s === CONT TestSdNotifier/Sends_signal 255s time="2025-10-18T14:43:23Z" level=info msg="Serving on /tmp/TestSdNotifierSends_signal2704726404/001/socket" 255s time="2025-10-18T14:43:23Z" level=info msg="Stopping daemon requested." 255s time="2025-10-18T14:43:23Z" level=info msg="Wait for active requests to close." 255s === CONT TestSdNotifier/Error_when_notifier_fails 255s === CONT TestSdNotifier/Doesn't_fail_when_not_under_systemd 255s time="2025-10-18T14:43:23Z" level=info msg="Serving on /tmp/TestSdNotifierDoesnt_fail_when_not_under_systemd1298308643/001/socket" 255s time="2025-10-18T14:43:23Z" level=info msg="Stopping daemon requested." 255s time="2025-10-18T14:43:23Z" level=info msg="Wait for active requests to close." 255s time="2025-10-18T14:43:23Z" level=info msg="Stopping daemon requested." 255s time="2025-10-18T14:43:23Z" level=info msg="Wait for active requests to close." 255s --- PASS: TestSdNotifier (0.00s) 255s --- PASS: TestSdNotifier/Sends_signal (0.01s) 255s --- PASS: TestSdNotifier/Error_when_notifier_fails (0.00s) 255s --- PASS: TestSdNotifier/Doesn't_fail_when_not_under_systemd (0.01s) 255s === CONT TestSocketActivation/Error_when_Listeners()_fails 255s === CONT TestSocketActivation/Error_when_provided_with_many_sockets 255s === CONT TestSocketActivation/Success_with_one_socket 255s time="2025-10-18T14:43:23Z" level=info msg="Serving on /tmp/TestSocketActivationSuccess_with_one_socket3127926646/001/sock1" 255s time="2025-10-18T14:43:23Z" level=info msg="Stopping daemon requested." 255s time="2025-10-18T14:43:23Z" level=info msg="Wait for active requests to close." 255s --- PASS: TestSocketActivation (0.00s) 255s --- PASS: TestSocketActivation/Error_when_Listeners()_fails (0.00s) 255s --- PASS: TestSocketActivation/Error_when_provided_with_many_sockets (0.00s) 255s --- PASS: TestSocketActivation/Success_with_one_socket (0.01s) 255s time="2025-10-18T14:43:23Z" level=info msg="Stopping daemon requested." 255s --- PASS: TestServerDontTimeoutWithActiveRequest (0.11s) 255s PASS 255s ok github.com/ubuntu/adsys/internal/daemon 0.228s 255s === RUN TestCleanDirectory 255s === PAUSE TestCleanDirectory 255s === RUN TestCleanDirectoryNoDirectoryExists 255s === PAUSE TestCleanDirectoryNoDirectoryExists 255s === RUN TestCleanDirectoryCantRemoveDirectory 255s === PAUSE TestCleanDirectoryCantRemoveDirectory 255s === RUN TestInstallOnlyMode 255s --- PASS: TestInstallOnlyMode (0.00s) 255s === RUN TestDestDirectory 255s --- PASS: TestDestDirectory (0.00s) 255s === CONT TestCleanDirectory 255s === CONT TestCleanDirectoryCantRemoveDirectory 255s --- PASS: TestCleanDirectoryCantRemoveDirectory (0.00s) 255s === CONT TestCleanDirectoryNoDirectoryExists 255s --- PASS: TestCleanDirectory (0.00s) 255s --- PASS: TestCleanDirectoryNoDirectoryExists (0.01s) 255s PASS 255s ok github.com/ubuntu/adsys/internal/generators 0.020s 255s === RUN TestNoNotification 255s === PAUSE TestNoNotification 255s === RUN TestNewConnectionNotification 255s === PAUSE TestNewConnectionNotification 255s === RUN TestDoneConnectionNotification 255s === PAUSE TestDoneConnectionNotification 255s === RUN TestErrorFromHandlerReturned 255s === PAUSE TestErrorFromHandlerReturned 255s === RUN TestErrorOnNilStream 255s === PAUSE TestErrorOnNilStream 255s === CONT TestNoNotification 255s --- PASS: TestNoNotification (0.00s) 255s === CONT TestErrorOnNilStream 255s --- PASS: TestErrorOnNilStream (0.00s) 255s === CONT TestErrorFromHandlerReturned 255s --- PASS: TestErrorFromHandlerReturned (0.00s) 255s === CONT TestDoneConnectionNotification 255s --- PASS: TestDoneConnectionNotification (0.00s) 255s === CONT TestNewConnectionNotification 255s --- PASS: TestNewConnectionNotification (0.00s) 255s PASS 255s ok github.com/ubuntu/adsys/internal/grpc/connectionnotify 0.023s 255s === RUN TestActiveConnection 255s === PAUSE TestActiveConnection 255s === RUN TestTimeoutOnInactiveConnection 255s === PAUSE TestTimeoutOnInactiveConnection 255s === RUN TestCancelOnClientSide 255s === PAUSE TestCancelOnClientSide 255s === RUN TestClientInterceptorFailed 255s === PAUSE TestClientInterceptorFailed 255s === RUN TestRecvMessageError 255s === PAUSE TestRecvMessageError 255s === CONT TestActiveConnection 255s === CONT TestRecvMessageError 255s --- PASS: TestRecvMessageError (0.00s) 255s === CONT TestClientInterceptorFailed 255s --- PASS: TestClientInterceptorFailed (0.00s) 255s === CONT TestCancelOnClientSide 255s --- PASS: TestCancelOnClientSide (0.00s) 255s === CONT TestTimeoutOnInactiveConnection 255s --- PASS: TestTimeoutOnInactiveConnection (0.05s) 255s --- PASS: TestActiveConnection (0.15s) 255s PASS 255s ok github.com/ubuntu/adsys/internal/grpc/contextidler 0.171s 255s === RUN TestFormat 255s === PAUSE TestFormat 255s === CONT TestFormat 255s === RUN TestFormat/GRPC_Deadline_errors_don’t_print_status_nor_daemon_nor_message 255s === PAUSE TestFormat/GRPC_Deadline_errors_don’t_print_status_nor_daemon_nor_message 255s === RUN TestFormat/GRPC_Unknown_errors_don’t_print_status_and_daemon 255s === PAUSE TestFormat/GRPC_Unknown_errors_don’t_print_status_and_daemon 255s === RUN TestFormat/GRPC_Random_errors_prints_status_and_message 255s === PAUSE TestFormat/GRPC_Random_errors_prints_status_and_message 255s === RUN TestFormat/Nil_returns_nil 255s === PAUSE TestFormat/Nil_returns_nil 255s === RUN TestFormat/Non_GRPC_errors_are_returned_as_is 255s === PAUSE TestFormat/Non_GRPC_errors_are_returned_as_is 255s === RUN TestFormat/GRPC_Unavailable_errors_prints_daemon_name 255s === PAUSE TestFormat/GRPC_Unavailable_errors_prints_daemon_name 255s === CONT TestFormat/GRPC_Deadline_errors_don’t_print_status_nor_daemon_nor_message 255s === CONT TestFormat/Nil_returns_nil 255s === CONT TestFormat/GRPC_Unavailable_errors_prints_daemon_name 255s === CONT TestFormat/GRPC_Random_errors_prints_status_and_message 255s === CONT TestFormat/Non_GRPC_errors_are_returned_as_is 255s === CONT TestFormat/GRPC_Unknown_errors_don’t_print_status_and_daemon 255s --- PASS: TestFormat (0.00s) 255s --- PASS: TestFormat/Nil_returns_nil (0.00s) 255s --- PASS: TestFormat/GRPC_Deadline_errors_don’t_print_status_nor_daemon_nor_message (0.00s) 255s --- PASS: TestFormat/GRPC_Unavailable_errors_prints_daemon_name (0.00s) 255s --- PASS: TestFormat/Non_GRPC_errors_are_returned_as_is (0.00s) 255s --- PASS: TestFormat/GRPC_Random_errors_prints_status_and_message (0.00s) 255s --- PASS: TestFormat/GRPC_Unknown_errors_don’t_print_status_and_daemon (0.00s) 255s PASS 255s ok github.com/ubuntu/adsys/internal/grpc/grpcerror 0.012s 255s === RUN TestStreamServer 255s === PAUSE TestStreamServer 255s === RUN TestStreamClient 255s === PAUSE TestStreamClient 255s === CONT TestStreamServer 255s === CONT TestStreamClient 255s --- PASS: TestStreamClient (0.00s) 255s --- PASS: TestStreamServer (0.00s) 255s PASS 255s ok github.com/ubuntu/adsys/internal/grpc/interceptorschain 0.019s 255s === RUN TestChildRecvMsgAndHandlerCalled 255s === PAUSE TestChildRecvMsgAndHandlerCalled 255s === CONT TestChildRecvMsgAndHandlerCalled 255s === RUN TestChildRecvMsgAndHandlerCalled/Info_being_nil_has_no_impact 255s === PAUSE TestChildRecvMsgAndHandlerCalled/Info_being_nil_has_no_impact 255s === RUN TestChildRecvMsgAndHandlerCalled/Error_when_handler_fails_out 255s === PAUSE TestChildRecvMsgAndHandlerCalled/Error_when_handler_fails_out 255s === RUN TestChildRecvMsgAndHandlerCalled/Error_when_RecvMsg_errors_out 255s === PAUSE TestChildRecvMsgAndHandlerCalled/Error_when_RecvMsg_errors_out 255s === RUN TestChildRecvMsgAndHandlerCalled/Handler_and_RecvMsg_are_called 255s === PAUSE TestChildRecvMsgAndHandlerCalled/Handler_and_RecvMsg_are_called 255s === CONT TestChildRecvMsgAndHandlerCalled/Info_being_nil_has_no_impact 255s === CONT TestChildRecvMsgAndHandlerCalled/Error_when_handler_fails_out 255s === CONT TestChildRecvMsgAndHandlerCalled/Error_when_RecvMsg_errors_out 255s time="2025-10-18T14:43:28Z" level=info msg="Error sent to client: Failing handler" 255s === CONT TestChildRecvMsgAndHandlerCalled/Handler_and_RecvMsg_are_called 255s --- PASS: TestChildRecvMsgAndHandlerCalled (0.00s) 255s --- PASS: TestChildRecvMsgAndHandlerCalled/Info_being_nil_has_no_impact (0.00s) 255s --- PASS: TestChildRecvMsgAndHandlerCalled/Error_when_handler_fails_out (0.00s) 255s --- PASS: TestChildRecvMsgAndHandlerCalled/Error_when_RecvMsg_errors_out (0.00s) 255s --- PASS: TestChildRecvMsgAndHandlerCalled/Handler_and_RecvMsg_are_called (0.00s) 255s PASS 255s ok github.com/ubuntu/adsys/internal/grpc/logconnections 0.019s 255s === RUN TestRecvLogMsg 255s === PAUSE TestRecvLogMsg 255s === RUN TestAddStreamToForwardLocalLogs 255s time="2025-10-18T14:43:29Z" level=info msg="New connection from client [[123456:309268]]" 255s time="2025-10-18T14:43:29Z" level=warning msg=something 255s --- PASS: TestAddStreamToForwardLocalLogs (0.00s) 255s === RUN TestAddStreamToForwardOtherStream 255s time="2025-10-18T14:43:29Z" level=info msg="New connection from client [[123456:253345]]" 255s time="2025-10-18T14:43:29Z" level=info msg="New connection from client [[123456:345319]]" 255s --- PASS: TestAddStreamToForwardOtherStream (0.00s) 255s === RUN TestAddStreamToForwardAfterClientIsConnected 255s time="2025-10-18T14:43:29Z" level=info msg="New connection from client [[123456:962485]]" 255s time="2025-10-18T14:43:29Z" level=info msg="New connection from client [[123456:416548]]" 255s --- PASS: TestAddStreamToForwardAfterClientIsConnected (0.00s) 255s === RUN TestAddStreamToForwardDisconnect 255s time="2025-10-18T14:43:29Z" level=info msg="New connection from client [[123456:430176]]" 255s time="2025-10-18T14:43:29Z" level=info msg="New connection from client [[123456:942643]]" 255s --- PASS: TestAddStreamToForwardDisconnect (0.00s) 255s === RUN TestAddStreamToForwardTwoClients 255s time="2025-10-18T14:43:29Z" level=info msg="New connection from client [[123456:360352]]" 255s time="2025-10-18T14:43:29Z" level=info msg="New connection from client [[123456:484227]]" 255s time="2025-10-18T14:43:29Z" level=info msg="New connection from client [[123456:834191]]" 255s --- PASS: TestAddStreamToForwardTwoClients (0.00s) 255s === RUN TestAddStreamToForwardWithListenerCaller 255s time="2025-10-18T14:43:29Z" level=info msg="New connection from client [[123456:789849]]" 255s time="2025-10-18T14:43:29Z" level=info msg="New connection from client [[123456:029710]]" 255s --- PASS: TestAddStreamToForwardWithListenerCaller (0.00s) 255s === RUN TestAddStreamMultipleForwarders 255s time="2025-10-18T14:43:29Z" level=info msg="New connection from client [[123456:260736]]" 255s time="2025-10-18T14:43:29Z" level=info msg="New connection from client [[123456:738337]]" 255s time="2025-10-18T14:43:29Z" level=info msg="New connection from client [[123456:148486]]" 255s --- PASS: TestAddStreamMultipleForwarders (0.00s) 255s === RUN TestAddStreamMultipleForwardersOneWithCaller 255s time="2025-10-18T14:43:29Z" level=info msg="New connection from client [[123456:795731]]" 255s time="2025-10-18T14:43:29Z" level=info msg="New connection from client [[123456:316226]]" 255s time="2025-10-18T14:43:29Z" level=info msg="New connection from client [[123456:095696]]" 255s --- PASS: TestAddStreamMultipleForwardersOneWithCaller (0.00s) 255s === RUN TestAddStreamToForwardFailSend 255s time="2025-10-18T14:43:29Z" level=info msg="New connection from client [[123456:871154]]" 255s time="2025-10-18T14:43:29Z" level=info msg="New connection from client [[123456:832831]]" 255s time="2025-10-18T14:43:29Z" level=warning msg="Couldn't send log to one or more listener: SendMsg failed" 255s --- PASS: TestAddStreamToForwardFailSend (0.00s) 255s === RUN TestRemoveAllStreams 255s time="2025-10-18T14:43:29Z" level=info msg="New connection from client [[123456:690767]]" 255s time="2025-10-18T14:43:29Z" level=info msg="New connection from client [[123456:698664]]" 255s time="2025-10-18T14:43:29Z" level=info msg="New connection from client [[123456:141791]]" 255s time="2025-10-18T14:43:29Z" level=warning msg="[[123456:141791]] else" 255s --- PASS: TestRemoveAllStreams (0.00s) 255s === RUN TestLogWarningOnly 255s === PAUSE TestLogWarningOnly 255s === RUN TestMultipleLogs 255s === PAUSE TestMultipleLogs 255s === RUN TestAllLogLevels 255s === PAUSE TestAllLogLevels 255s === RUN TestDebugSentToRemoteEvenIfLocalIsWarning 255s === PAUSE TestDebugSentToRemoteEvenIfLocalIsWarning 255s === RUN TestLogWarningWithLocalCaller 255s === PAUSE TestLogWarningWithLocalCaller 255s === RUN TestLogWarningWithRemoteCaller 255s === PAUSE TestLogWarningWithRemoteCaller 255s === RUN TestLogWithNoCaller 255s === PAUSE TestLogWithNoCaller 255s === RUN TestSetReportCaller 255s === RUN TestSetReportCaller/Disable_caller 255s === RUN TestSetReportCaller/Report_caller 255s --- PASS: TestSetReportCaller (0.00s) 255s --- PASS: TestSetReportCaller/Disable_caller (0.00s) 255s --- PASS: TestSetReportCaller/Report_caller (0.00s) 255s === RUN TestLogSendingFail 255s === PAUSE TestLogSendingFail 255s === RUN TestLogStreamsAreSeparated 255s === PAUSE TestLogStreamsAreSeparated 255s === RUN TestLogAddHook 255s time="2025-10-18T14:43:29Z" level=info 255s --- PASS: TestLogAddHook (0.00s) 255s === RUN TestStreamServerInterceptor 255s === PAUSE TestStreamServerInterceptor 255s === RUN TestStreamServerInterceptorSendLogsFails 255s === PAUSE TestStreamServerInterceptorSendLogsFails 255s === RUN TestStreamServerInterceptorLoggerInvalidMetadata 255s === PAUSE TestStreamServerInterceptorLoggerInvalidMetadata 255s === CONT TestRecvLogMsg 255s === RUN TestRecvLogMsg/One_log_(and_one_closing_empty_message) 255s === PAUSE TestRecvLogMsg/One_log_(and_one_closing_empty_message) 255s === CONT TestLogWithNoCaller 255s === RUN TestRecvLogMsg/Two_logs_with_different_debug_level 255s === PAUSE TestRecvLogMsg/Two_logs_with_different_debug_level 255s === RUN TestRecvLogMsg/Log_with_caller 255s === PAUSE TestRecvLogMsg/Log_with_caller 255s === RUN TestRecvLogMsg/No_caller_when_not_requested 255s === PAUSE TestRecvLogMsg/No_caller_when_not_requested 255s === RUN TestRecvLogMsg/One_message_with_error,_no_log,_error_is_preserved 255s === PAUSE TestRecvLogMsg/One_message_with_error,_no_log,_error_is_preserved 255s === RUN TestRecvLogMsg/Invalid_object_passed_to_RecvMsg_is_gracefully_skipped 255s === PAUSE TestRecvLogMsg/Invalid_object_passed_to_RecvMsg_is_gracefully_skipped 255s === RUN TestRecvLogMsg/One_message,_no_log 255s === PAUSE TestRecvLogMsg/One_message,_no_log 255s === RUN TestRecvLogMsg/No_caller_on_any_logs 255s === PAUSE TestRecvLogMsg/No_caller_on_any_logs 255s === RUN TestRecvLogMsg/Logs_and_then_message_with_error,_error_is_preserved 255s === PAUSE TestRecvLogMsg/Logs_and_then_message_with_error,_error_is_preserved 255s === RUN TestRecvLogMsg/Unknown_log_level_triggers_a_client_error_(protocole_issue) 255s === PAUSE TestRecvLogMsg/Unknown_log_level_triggers_a_client_error_(protocole_issue) 255s === CONT TestStreamServerInterceptorLoggerInvalidMetadata 255s === RUN TestStreamServerInterceptorLoggerInvalidMetadata/No_meta_sent 255s === PAUSE TestStreamServerInterceptorLoggerInvalidMetadata/No_meta_sent 255s === RUN TestStreamServerInterceptorLoggerInvalidMetadata/Missing_client_ID 255s === PAUSE TestStreamServerInterceptorLoggerInvalidMetadata/Missing_client_ID 255s Failed to fire hook: hook fired 255s === RUN TestStreamServerInterceptorLoggerInvalidMetadata/Missing_caller_key 255s time="2025-10-18T14:43:29Z" level=info msg="New connection from client [[123456:955873]]" 255s === PAUSE TestStreamServerInterceptorLoggerInvalidMetadata/Missing_caller_key 255s === RUN TestStreamServerInterceptorLoggerInvalidMetadata/Caller_key_is_not_a_boolean 255s === PAUSE TestStreamServerInterceptorLoggerInvalidMetadata/Caller_key_is_not_a_boolean 255s === RUN TestStreamServerInterceptorLoggerInvalidMetadata/Multiple_log_metas 255s === PAUSE TestStreamServerInterceptorLoggerInvalidMetadata/Multiple_log_metas 255s === CONT TestStreamServerInterceptorSendLogsFails 255s --- PASS: TestLogWithNoCaller (0.00s) 255s === CONT TestStreamServerInterceptor 255s time="2025-10-18T14:43:29Z" level=warning msg="[[123456:924030]] Couldn't send initial connection log to client" 255s Failed to fire hook: hook fired 255s time="2025-10-18T14:43:29Z" level=info msg="New connection from client [[123456:924030]]" 255s --- PASS: TestStreamServerInterceptorSendLogsFails (0.00s) 255s === CONT TestLogStreamsAreSeparated 255s Failed to fire hook: hook fired 255s time="2025-10-18T14:43:29Z" level=info msg="New connection from client [[123456:644960]]" 255s Failed to fire hook: hook fired 255s time="2025-10-18T14:43:29Z" level=info msg="New connection from client [[123456:736294]]" 255s Failed to fire hook: hook fired 255s time="2025-10-18T14:43:29Z" level=info msg="New connection from client [[123456:046663]]" 255s --- PASS: TestLogStreamsAreSeparated (0.00s) 255s === CONT TestLogSendingFail 255s Failed to fire hook: hook fired 255s time="2025-10-18T14:43:29Z" level=info msg="New connection from client [[123456:208044]]" 255s --- PASS: TestLogSendingFail (0.00s) 255s === CONT TestDebugSentToRemoteEvenIfLocalIsWarning 255s Failed to fire hook: hook fired 255s time="2025-10-18T14:43:29Z" level=info msg="New connection from client [[123456:409736]]" 255s --- PASS: TestDebugSentToRemoteEvenIfLocalIsWarning (0.00s) 255s === CONT TestLogWarningWithRemoteCaller 255s Failed to fire hook: hook fired 255s time="2025-10-18T14:43:29Z" level=info msg="New connection from client [[123456:967180]]" 255s --- PASS: TestLogWarningWithRemoteCaller (0.00s) 255s === CONT TestLogWarningWithLocalCaller 255s Failed to fire hook: hook fired 255s time="2025-10-18T14:43:29Z" level=info msg="New connection from client [[123456:828095]]" 255s --- PASS: TestLogWarningWithLocalCaller (0.00s) 255s === CONT TestMultipleLogs 255s Failed to fire hook: hook fired 255s time="2025-10-18T14:43:29Z" level=info msg="New connection from client [[123456:151455]]" 255s --- PASS: TestMultipleLogs (0.00s) 255s === CONT TestAllLogLevels 255s Failed to fire hook: hook fired 255s time="2025-10-18T14:43:29Z" level=info msg="New connection from client [[123456:804887]]" 255s --- PASS: TestAllLogLevels (0.00s) 255s === CONT TestLogWarningOnly 255s Failed to fire hook: hook fired 255s time="2025-10-18T14:43:29Z" level=info msg="New connection from client [[123456:331331]]" 255s --- PASS: TestLogWarningOnly (0.00s) 255s === CONT TestRecvLogMsg/One_log_(and_one_closing_empty_message) 255s === CONT TestStreamServerInterceptorLoggerInvalidMetadata/No_meta_sent 255s === CONT TestRecvLogMsg/Unknown_log_level_triggers_a_client_error_(protocole_issue) 255s === CONT TestRecvLogMsg/Logs_and_then_message_with_error,_error_is_preserved 255s === CONT TestRecvLogMsg/No_caller_on_any_logs 255s === CONT TestRecvLogMsg/One_message,_no_log 255s === CONT TestRecvLogMsg/Invalid_object_passed_to_RecvMsg_is_gracefully_skipped 255s === CONT TestRecvLogMsg/One_message_with_error,_no_log,_error_is_preserved 255s === CONT TestRecvLogMsg/No_caller_when_not_requested 255s --- PASS: TestStreamServerInterceptor (0.00s) 255s === CONT TestRecvLogMsg/Two_logs_with_different_debug_level 255s === CONT TestStreamServerInterceptorLoggerInvalidMetadata/Caller_key_is_not_a_boolean 255s === CONT TestStreamServerInterceptorLoggerInvalidMetadata/Multiple_log_metas 255s === CONT TestStreamServerInterceptorLoggerInvalidMetadata/Missing_caller_key 255s === CONT TestStreamServerInterceptorLoggerInvalidMetadata/Missing_client_ID 255s --- PASS: TestStreamServerInterceptorLoggerInvalidMetadata (0.00s) 255s --- PASS: TestStreamServerInterceptorLoggerInvalidMetadata/No_meta_sent (0.00s) 255s --- PASS: TestStreamServerInterceptorLoggerInvalidMetadata/Caller_key_is_not_a_boolean (0.00s) 255s --- PASS: TestStreamServerInterceptorLoggerInvalidMetadata/Multiple_log_metas (0.00s) 255s --- PASS: TestStreamServerInterceptorLoggerInvalidMetadata/Missing_caller_key (0.00s) 255s --- PASS: TestStreamServerInterceptorLoggerInvalidMetadata/Missing_client_ID (0.00s) 255s === CONT TestRecvLogMsg/Log_with_caller 255s --- PASS: TestRecvLogMsg (0.00s) 255s --- PASS: TestRecvLogMsg/One_log_(and_one_closing_empty_message) (0.00s) 255s --- PASS: TestRecvLogMsg/Unknown_log_level_triggers_a_client_error_(protocole_issue) (0.00s) 255s --- PASS: TestRecvLogMsg/Logs_and_then_message_with_error,_error_is_preserved (0.00s) 255s --- PASS: TestRecvLogMsg/No_caller_on_any_logs (0.00s) 255s --- PASS: TestRecvLogMsg/One_message,_no_log (0.00s) 255s --- PASS: TestRecvLogMsg/Invalid_object_passed_to_RecvMsg_is_gracefully_skipped (0.00s) 255s --- PASS: TestRecvLogMsg/One_message_with_error,_no_log,_error_is_preserved (0.00s) 255s --- PASS: TestRecvLogMsg/Two_logs_with_different_debug_level (0.00s) 255s --- PASS: TestRecvLogMsg/No_caller_when_not_requested (0.00s) 255s --- PASS: TestRecvLogMsg/Log_with_caller (0.00s) 255s PASS 255s ok github.com/ubuntu/adsys/internal/grpc/logstreamer 0.034s 255s ? github.com/ubuntu/adsys/internal/grpc/logstreamer/test [no test files] 255s === RUN TestEventLogHook 255s === RUN TestEventLogHook/error_level 255s time="2025-10-18T14:43:29Z" level=error msg="Error msg" 255s === RUN TestEventLogHook/warn_level 255s time="2025-10-18T14:43:29Z" level=warning msg="Warning msg" 255s time="2025-10-18T14:43:29Z" level=error msg="Error msg" 255s === RUN TestEventLogHook/info_level 255s time="2025-10-18T14:43:29Z" level=info msg="Info msg" 255s time="2025-10-18T14:43:29Z" level=warning msg="Warning msg" 255s time="2025-10-18T14:43:29Z" level=error msg="Error msg" 255s === RUN TestEventLogHook/debug_level 255s time="2025-10-18T14:43:29Z" level=debug msg="Debug msg" 255s time="2025-10-18T14:43:29Z" level=info msg="Info msg" 255s time="2025-10-18T14:43:29Z" level=warning msg="Warning msg" 255s time="2025-10-18T14:43:29Z" level=error msg="Error msg" 255s --- PASS: TestEventLogHook (0.00s) 255s --- PASS: TestEventLogHook/error_level (0.00s) 255s --- PASS: TestEventLogHook/warn_level (0.00s) 255s --- PASS: TestEventLogHook/info_level (0.00s) 255s --- PASS: TestEventLogHook/debug_level (0.00s) 255s PASS 255s ok github.com/ubuntu/adsys/internal/loghooks 0.011s 255s === RUN TestFormat 255s === PAUSE TestFormat 255s === RUN TestApplyPolicies 255s === RUN TestApplyPolicies/Error_when_applying_certificate_policy 255s === RUN TestApplyPolicies/Succeed 255s === RUN TestApplyPolicies/Second_call_with_no_rules_deletes_everything 255s time="2025-10-18T14:43:31Z" level=info msg="Unloading policies for hostname (machine: true)" 255s === RUN TestApplyPolicies/Second_call_with_no_rules_don't_remove_scripts_if_session_hasn’t_ended 255s time="2025-10-18T14:43:31Z" level=info msg="Unloading policies for hostname (machine: true)" 255s time="2025-10-18T14:43:31Z" level=info msg="\"/tmp/TestApplyPoliciesSecond_call_with_no_rules_dont_remove_scripts2959616056/001/run/adsys/machine/scripts/.running\" already exists, a session is already running, ignoring." 255s === RUN TestApplyPolicies/No_subscription_is_only_dconf_content 255s === RUN TestApplyPolicies/Second_call_with_no_subscription_don't_remove_scripts_if_session_hasn’t_ended 255s time="2025-10-18T14:43:31Z" level=info msg="Applying policies for hostname (machine: true)" 255s time="2025-10-18T14:43:31Z" level=warning msg="Rules from the following policy types will be filtered out as the machine is not enrolled to Ubuntu Pro: privilege, scripts, mount, apparmor, proxy, certificate" 255s time="2025-10-18T14:43:31Z" level=info msg="\"/tmp/TestApplyPoliciesSecond_call_with_no_subscription_dont_remove_1026630176/001/run/adsys/machine/scripts/.running\" already exists, a session is already running, ignoring." 255s === RUN TestApplyPolicies/Error_when_applying_dconf_policy 255s === RUN TestApplyPolicies/Error_when_applying_privilege_policy 255s === RUN TestApplyPolicies/Error_when_applying_apparmor_policy 255s === RUN TestApplyPolicies/Succeed_if_checking_for_backend_online_status_returns_an_error 255s === RUN TestApplyPolicies/Second_call_with_no_subscription_should_remove_everything_but_dconf_content 255s time="2025-10-18T14:43:31Z" level=info msg="Applying policies for hostname (machine: true)" 255s time="2025-10-18T14:43:31Z" level=warning msg="Rules from the following policy types will be filtered out as the machine is not enrolled to Ubuntu Pro: privilege, scripts, mount, apparmor, proxy, certificate" 255s === RUN TestApplyPolicies/Error_when_applying_scripts_policy 255s === RUN TestApplyPolicies/Error_when_applying_mount_policy 255s === RUN TestApplyPolicies/Error_when_applying_proxy_policy 255s --- PASS: TestApplyPolicies (0.16s) 255s --- PASS: TestApplyPolicies/Error_when_applying_certificate_policy (0.00s) 255s --- PASS: TestApplyPolicies/Succeed (0.02s) 255s --- PASS: TestApplyPolicies/Second_call_with_no_rules_deletes_everything (0.02s) 255s --- PASS: TestApplyPolicies/Second_call_with_no_rules_don't_remove_scripts_if_session_hasn’t_ended (0.02s) 255s --- PASS: TestApplyPolicies/No_subscription_is_only_dconf_content (0.01s) 255s --- PASS: TestApplyPolicies/Second_call_with_no_subscription_don't_remove_scripts_if_session_hasn’t_ended (0.02s) 255s --- PASS: TestApplyPolicies/Error_when_applying_dconf_policy (0.00s) 255s --- PASS: TestApplyPolicies/Error_when_applying_privilege_policy (0.01s) 255s --- PASS: TestApplyPolicies/Error_when_applying_apparmor_policy (0.01s) 255s --- PASS: TestApplyPolicies/Succeed_if_checking_for_backend_online_status_returns_an_error (0.01s) 255s --- PASS: TestApplyPolicies/Second_call_with_no_subscription_should_remove_everything_but_dconf_content (0.02s) 255s --- PASS: TestApplyPolicies/Error_when_applying_scripts_policy (0.01s) 255s --- PASS: TestApplyPolicies/Error_when_applying_mount_policy (0.01s) 255s --- PASS: TestApplyPolicies/Error_when_applying_proxy_policy (0.01s) 255s === RUN TestDumpPolicies 255s === PAUSE TestDumpPolicies 255s === RUN TestLastUpdateFor 255s === PAUSE TestLastUpdateFor 255s === RUN TestGetSubscriptionState 255s === RUN TestGetSubscriptionState/Returns_enablement_status_(enabled) 255s === RUN TestGetSubscriptionState/Returns_enablement_status_(disabled) 255s --- PASS: TestGetSubscriptionState (0.01s) 255s --- PASS: TestGetSubscriptionState/Returns_enablement_status_(enabled) (0.00s) 255s --- PASS: TestGetSubscriptionState/Returns_enablement_status_(disabled) (0.00s) 255s === RUN TestNew 255s === PAUSE TestNew 255s === RUN TestNewFromCache 255s === PAUSE TestNewFromCache 255s === RUN TestSave 255s === PAUSE TestSave 255s === RUN TestCachePolicies 255s === PAUSE TestCachePolicies 255s === RUN TestSaveAssetsTo 255s === PAUSE TestSaveAssetsTo 255s === RUN TestCompressAssets 255s === PAUSE TestCompressAssets 255s === RUN TestGetUniqueRules 255s === PAUSE TestGetUniqueRules 255s === CONT TestFormat 255s === RUN TestFormat/GPO_with_rules,_override_displayed 255s === PAUSE TestFormat/GPO_with_rules,_override_displayed 255s === RUN TestFormat/GPO_and_assets_with_rules,_appending_to_same_key_do_not_add_to_processed_rules 255s === PAUSE TestFormat/GPO_and_assets_with_rules,_appending_to_same_key_do_not_add_to_processed_rules 255s === RUN TestFormat/GPO_and_assets_with_rules,_append_is_overridden_after_a_topmost_override 255s === PAUSE TestFormat/GPO_and_assets_with_rules,_append_is_overridden_after_a_topmost_override 255s === RUN TestFormat/GPO_summary 255s === PAUSE TestFormat/GPO_summary 255s === RUN TestFormat/GPO_with_rules 255s === PAUSE TestFormat/GPO_with_rules 255s === RUN TestFormat/GPO_with_rules_and_overrides,_no_rules_processed 255s === PAUSE TestFormat/GPO_with_rules_and_overrides,_no_rules_processed 255s === RUN TestFormat/GPO_with_rules,_appending_to_existing_treated_key 255s === PAUSE TestFormat/GPO_with_rules,_appending_to_existing_treated_key 255s === RUN TestFormat/GPO_with_rules,_override_disabled_key 255s === PAUSE TestFormat/GPO_with_rules,_override_disabled_key 255s === RUN TestFormat/GPO_with_rules,_override_hidden 255s === PAUSE TestFormat/GPO_with_rules,_override_hidden 255s === CONT TestFormat/GPO_with_rules,_override_displayed 255s === CONT TestGetUniqueRules 255s === RUN TestGetUniqueRules/Two_policies,_no_overrides 255s === PAUSE TestGetUniqueRules/Two_policies,_no_overrides 255s === RUN TestGetUniqueRules/More_policies,_with_multiple_overrides 255s === PAUSE TestGetUniqueRules/More_policies,_with_multiple_overrides 255s === RUN TestGetUniqueRules/Append_policy_entry,_multiple_GPOs,_disabled_key_is_ignored,_second 255s === PAUSE TestGetUniqueRules/Append_policy_entry,_multiple_GPOs,_disabled_key_is_ignored,_second 255s === RUN TestGetUniqueRules/Mix_meta_on_GPOs,_furthest_policy_entry_is_append,_closest_is_override 255s === PAUSE TestGetUniqueRules/Mix_meta_on_GPOs,_furthest_policy_entry_is_append,_closest_is_override 255s === RUN TestGetUniqueRules/Order_key_ascii 255s === PAUSE TestGetUniqueRules/Order_key_ascii 255s === RUN TestGetUniqueRules/Multiple_domains,_same_GPOs 255s === PAUSE TestGetUniqueRules/Multiple_domains,_same_GPOs 255s === RUN TestGetUniqueRules/Same_key_in_different_domains_are_kept_separated 255s === PAUSE TestGetUniqueRules/Same_key_in_different_domains_are_kept_separated 255s === RUN TestGetUniqueRules/Two_policies,_no_overrides,_reversed 255s === PAUSE TestGetUniqueRules/Two_policies,_no_overrides,_reversed 255s === RUN TestGetUniqueRules/Disabled_value_overrides_non_disabled_one 255s === PAUSE TestGetUniqueRules/Disabled_value_overrides_non_disabled_one 255s === RUN TestGetUniqueRules/Append_policy_entry,_multiple_GPOs 255s === PAUSE TestGetUniqueRules/Append_policy_entry,_multiple_GPOs 255s === RUN TestGetUniqueRules/Append_policy_entry,_closest_meta_wins 255s === PAUSE TestGetUniqueRules/Append_policy_entry,_closest_meta_wins 255s === RUN TestGetUniqueRules/One_GPO 255s === PAUSE TestGetUniqueRules/One_GPO 255s === RUN TestGetUniqueRules/Two_policies,_with_reversed_overrides 255s === PAUSE TestGetUniqueRules/Two_policies,_with_reversed_overrides 255s === RUN TestGetUniqueRules/Mix_meta_on_GPOs,_closest_policy_entry_is_append,_furthest_override_is_ignored 255s === PAUSE TestGetUniqueRules/Mix_meta_on_GPOs,_closest_policy_entry_is_append,_furthest_override_is_ignored 255s === RUN TestGetUniqueRules/Disabled_value_is_overridden 255s === PAUSE TestGetUniqueRules/Disabled_value_is_overridden 255s === RUN TestGetUniqueRules/Append_policy_entry,_one_GPO 255s === PAUSE TestGetUniqueRules/Append_policy_entry,_one_GPO 255s === RUN TestGetUniqueRules/Append_policy_entry,_one_GPO,_disabled_key_is_ignored 255s === PAUSE TestGetUniqueRules/Append_policy_entry,_one_GPO,_disabled_key_is_ignored 255s === RUN TestGetUniqueRules/Append_policy_entry,_multiple_GPOs,_disabled_key_is_ignored,_first 255s === PAUSE TestGetUniqueRules/Append_policy_entry,_multiple_GPOs,_disabled_key_is_ignored,_first 255s === RUN TestGetUniqueRules/Multiple_domains,_different_GPOs 255s === PAUSE TestGetUniqueRules/Multiple_domains,_different_GPOs 255s === RUN TestGetUniqueRules/Two_policies,_with_overrides 255s === PAUSE TestGetUniqueRules/Two_policies,_with_overrides 255s === CONT TestGetUniqueRules/Two_policies,_no_overrides 255s === CONT TestCompressAssets 255s === RUN TestCompressAssets/No_db 255s === PAUSE TestCompressAssets/No_db 255s === RUN TestCompressAssets/Existing_db 255s === PAUSE TestCompressAssets/Existing_db 255s === RUN TestCompressAssets/Error_on_can’t_remove_existing_db 255s === PAUSE TestCompressAssets/Error_on_can’t_remove_existing_db 255s === RUN TestCompressAssets/Error_on_non_existing_directory 255s === PAUSE TestCompressAssets/Error_on_non_existing_directory 255s === CONT TestCompressAssets/No_db 255s === CONT TestGetUniqueRules/Append_policy_entry,_one_GPO,_disabled_key_is_ignored 255s === CONT TestSaveAssetsTo 255s === RUN TestSaveAssetsTo/All 255s === PAUSE TestSaveAssetsTo/All 255s === RUN TestSaveAssetsTo/Sub_directory_ending_with_slash 255s === PAUSE TestSaveAssetsTo/Sub_directory_ending_with_slash 255s === RUN TestSaveAssetsTo/File 255s === PAUSE TestSaveAssetsTo/File 255s === RUN TestSaveAssetsTo/Error_on_read_only_dest 255s === PAUSE TestSaveAssetsTo/Error_on_read_only_dest 255s === RUN TestSaveAssetsTo/Error_on_dest_already_exists 255s === PAUSE TestSaveAssetsTo/Error_on_dest_already_exists 255s === RUN TestSaveAssetsTo/Error_on_can't_chown_to_user 255s === PAUSE TestSaveAssetsTo/Error_on_can't_chown_to_user 255s === RUN TestSaveAssetsTo/Chown_directories_and_files_when_requested 255s === PAUSE TestSaveAssetsTo/Chown_directories_and_files_when_requested 255s === RUN TestSaveAssetsTo/Sub_directory 255s === PAUSE TestSaveAssetsTo/Sub_directory 255s === RUN TestSaveAssetsTo/Error_on_unexisting_relSrc_in_cache 255s === PAUSE TestSaveAssetsTo/Error_on_unexisting_relSrc_in_cache 255s === RUN TestSaveAssetsTo/Error_on_empty_relSrc 255s === PAUSE TestSaveAssetsTo/Error_on_empty_relSrc 255s === RUN TestSaveAssetsTo/Error_on_no_assets 255s === PAUSE TestSaveAssetsTo/Error_on_no_assets 255s === RUN TestSaveAssetsTo/Error_on_file_read_only_existing_in_dest 255s === PAUSE TestSaveAssetsTo/Error_on_file_read_only_existing_in_dest 255s === CONT TestSaveAssetsTo/All 255s === CONT TestGetUniqueRules/Append_policy_entry,_one_GPO 255s === CONT TestGetUniqueRules/Disabled_value_is_overridden 255s === CONT TestGetUniqueRules/Mix_meta_on_GPOs,_closest_policy_entry_is_append,_furthest_override_is_ignored 255s === CONT TestGetUniqueRules/Two_policies,_with_reversed_overrides 255s === CONT TestGetUniqueRules/One_GPO 255s === CONT TestGetUniqueRules/Append_policy_entry,_closest_meta_wins 255s === CONT TestGetUniqueRules/Append_policy_entry,_multiple_GPOs 255s === CONT TestGetUniqueRules/Disabled_value_overrides_non_disabled_one 255s === CONT TestGetUniqueRules/Two_policies,_no_overrides,_reversed 255s === CONT TestGetUniqueRules/Same_key_in_different_domains_are_kept_separated 255s === CONT TestGetUniqueRules/Multiple_domains,_same_GPOs 255s === CONT TestGetUniqueRules/Order_key_ascii 255s === CONT TestGetUniqueRules/Mix_meta_on_GPOs,_furthest_policy_entry_is_append,_closest_is_override 255s === CONT TestGetUniqueRules/Append_policy_entry,_multiple_GPOs,_disabled_key_is_ignored,_second 255s === CONT TestGetUniqueRules/More_policies,_with_multiple_overrides 255s === CONT TestCompressAssets/Error_on_non_existing_directory 255s === CONT TestCompressAssets/Error_on_can’t_remove_existing_db 255s === CONT TestCompressAssets/Existing_db 255s === CONT TestFormat/GPO_and_assets_with_rules,_appending_to_same_key_do_not_add_to_processed_rules 255s === CONT TestCachePolicies 255s --- PASS: TestCachePolicies (0.00s) 255s === CONT TestSave 255s === RUN TestSave/With_assets 255s === PAUSE TestSave/With_assets 255s === RUN TestSave/Existing_assets_cache_is_refreshed 255s === PAUSE TestSave/Existing_assets_cache_is_refreshed 255s === RUN TestSave/Save_assets_on_existing_opened_file_does_not_segfault 255s === PAUSE TestSave/Save_assets_on_existing_opened_file_does_not_segfault 255s === RUN TestSave/Destdir_does_not_exists 255s === PAUSE TestSave/Destdir_does_not_exists 255s === RUN TestSave/Can_refresh_on_existing_read_only_asset_file 255s === PAUSE TestSave/Can_refresh_on_existing_read_only_asset_file 255s === RUN TestSave/Error_on_can’t_write_to_policies_base_dir 255s === PAUSE TestSave/Error_on_can’t_write_to_policies_base_dir 255s === RUN TestSave/Error_on_can’t_write_to_dest_dir 255s === PAUSE TestSave/Error_on_can’t_write_to_dest_dir 255s === RUN TestSave/Error_on_can’t_remove_existing_assets 255s === PAUSE TestSave/Error_on_can’t_remove_existing_assets 255s === RUN TestSave/gpos_only 255s === PAUSE TestSave/gpos_only 255s === RUN TestSave/Existing_policies_cache_is_refreshed 255s === PAUSE TestSave/Existing_policies_cache_is_refreshed 255s === RUN TestSave/Existing_cache_with_assets,_new_cache_with_no_assets 255s === PAUSE TestSave/Existing_cache_with_assets,_new_cache_with_no_assets 255s === CONT TestNewFromCache 255s === RUN TestNewFromCache/gpos_only 255s === PAUSE TestNewFromCache/gpos_only 255s === RUN TestNewFromCache/With_assets 255s === PAUSE TestNewFromCache/With_assets 255s === RUN TestNewFromCache/Error_on_invalid_policies_cache 255s === PAUSE TestNewFromCache/Error_on_invalid_policies_cache 255s === RUN TestNewFromCache/Error_on_invalid_assets_db 255s === PAUSE TestNewFromCache/Error_on_invalid_assets_db 255s === RUN TestNewFromCache/Error_on_no_policies_cache 255s === PAUSE TestNewFromCache/Error_on_no_policies_cache 255s === CONT TestNew 255s === RUN TestNew/No_gpos 255s === PAUSE TestNew/No_gpos 255s === RUN TestNew/Error_on_invalid_assets_db 255s === PAUSE TestNew/Error_on_invalid_assets_db 255s === RUN TestNew/Error_on_assets_db_does_not_exists 255s === PAUSE TestNew/Error_on_assets_db_does_not_exists 255s === RUN TestNew/gpos_only 255s === PAUSE TestNew/gpos_only 255s === RUN TestNew/With_assets 255s === PAUSE TestNew/With_assets 255s === CONT TestLastUpdateFor 255s === RUN TestLastUpdateFor/Returns_user's_last_update_time 255s === PAUSE TestLastUpdateFor/Returns_user's_last_update_time 255s === RUN TestLastUpdateFor/Target_is_ignored_for_machine_request 255s === PAUSE TestLastUpdateFor/Target_is_ignored_for_machine_request 255s === RUN TestLastUpdateFor/Error_when_target_does_not_exist 255s === PAUSE TestLastUpdateFor/Error_when_target_does_not_exist 255s === RUN TestLastUpdateFor/Returns_machine's_last_update_time 255s === PAUSE TestLastUpdateFor/Returns_machine's_last_update_time 255s === CONT TestDumpPolicies 255s === RUN TestDumpPolicies/Overrides_between_machine_and_user_GPOs,_hidden 255s === PAUSE TestDumpPolicies/Overrides_between_machine_and_user_GPOs,_hidden 255s === RUN TestDumpPolicies/Multiple_GPOs 255s === PAUSE TestDumpPolicies/Multiple_GPOs 255s === RUN TestDumpPolicies/Multiple_GPOs_with_rules,_no_override 255s === PAUSE TestDumpPolicies/Multiple_GPOs_with_rules,_no_override 255s === RUN TestDumpPolicies/Multiple_GPOs_with_rules,_override_hidden 255s === PAUSE TestDumpPolicies/Multiple_GPOs_with_rules,_override_hidden 255s === RUN TestDumpPolicies/Multiple_GPOs_with_rules,_override,_shown 255s === PAUSE TestDumpPolicies/Multiple_GPOs_with_rules,_override,_shown 255s === RUN TestDumpPolicies/Overrides_between_machine_and_user_GPOs,_shown 255s === PAUSE TestDumpPolicies/Overrides_between_machine_and_user_GPOs,_shown 255s === RUN TestDumpPolicies/Same_GPO_Machine_and_User 255s === PAUSE TestDumpPolicies/Same_GPO_Machine_and_User 255s === RUN TestDumpPolicies/Error_on_missing_target_cache 255s === PAUSE TestDumpPolicies/Error_on_missing_target_cache 255s === RUN TestDumpPolicies/Machine_only_GPO_with_rules 255s === PAUSE TestDumpPolicies/Machine_only_GPO_with_rules 255s === RUN TestDumpPolicies/One_GPO_User 255s === PAUSE TestDumpPolicies/One_GPO_User 255s === RUN TestDumpPolicies/One_GPO_with_rules 255s === PAUSE TestDumpPolicies/One_GPO_with_rules 255s === RUN TestDumpPolicies/Same_GPO_Machine_and_User_with_rules 255s === PAUSE TestDumpPolicies/Same_GPO_Machine_and_User_with_rules 255s === RUN TestDumpPolicies/Same_GPO_Machine_and_User_with_rules_and_overrides 255s === PAUSE TestDumpPolicies/Same_GPO_Machine_and_User_with_rules_and_overrides 255s === RUN TestDumpPolicies/Error_on_missing_machine_cache_when_targeting_user 255s === PAUSE TestDumpPolicies/Error_on_missing_machine_cache_when_targeting_user 255s === RUN TestDumpPolicies/One_GPO_Machine 255s === PAUSE TestDumpPolicies/One_GPO_Machine 255s === RUN TestDumpPolicies/One_GPO_User_+_Machine 255s === PAUSE TestDumpPolicies/One_GPO_User_+_Machine 255s === CONT TestFormat/GPO_with_rules,_override_hidden 255s === CONT TestFormat/GPO_with_rules,_override_disabled_key 255s === CONT TestFormat/GPO_with_rules,_appending_to_existing_treated_key 255s === CONT TestFormat/GPO_with_rules_and_overrides,_no_rules_processed 255s === CONT TestFormat/GPO_with_rules 255s === CONT TestFormat/GPO_summary 255s === CONT TestFormat/GPO_and_assets_with_rules,_append_is_overridden_after_a_topmost_override 255s --- PASS: TestFormat (0.00s) 255s --- PASS: TestFormat/GPO_with_rules,_override_displayed (0.00s) 255s --- PASS: TestFormat/GPO_and_assets_with_rules,_appending_to_same_key_do_not_add_to_processed_rules (0.00s) 255s --- PASS: TestFormat/GPO_with_rules,_override_hidden (0.00s) 255s --- PASS: TestFormat/GPO_with_rules,_override_disabled_key (0.00s) 255s --- PASS: TestFormat/GPO_with_rules,_appending_to_existing_treated_key (0.00s) 255s --- PASS: TestFormat/GPO_with_rules_and_overrides,_no_rules_processed (0.00s) 255s --- PASS: TestFormat/GPO_with_rules (0.00s) 255s --- PASS: TestFormat/GPO_summary (0.00s) 255s --- PASS: TestFormat/GPO_and_assets_with_rules,_append_is_overridden_after_a_topmost_override (0.00s) 255s === CONT TestSaveAssetsTo/Error_on_unexisting_relSrc_in_cache 255s === CONT TestGetUniqueRules/Two_policies,_with_overrides 255s === CONT TestGetUniqueRules/Multiple_domains,_different_GPOs 255s === CONT TestGetUniqueRules/Append_policy_entry,_multiple_GPOs,_disabled_key_is_ignored,_first 255s --- PASS: TestGetUniqueRules (0.00s) 255s --- PASS: TestGetUniqueRules/Two_policies,_no_overrides (0.00s) 255s --- PASS: TestGetUniqueRules/Append_policy_entry,_one_GPO,_disabled_key_is_ignored (0.00s) 255s --- PASS: TestGetUniqueRules/Append_policy_entry,_one_GPO (0.00s) 255s --- PASS: TestGetUniqueRules/Disabled_value_is_overridden (0.00s) 255s --- PASS: TestGetUniqueRules/Mix_meta_on_GPOs,_closest_policy_entry_is_append,_furthest_override_is_ignored (0.00s) 255s --- PASS: TestGetUniqueRules/Two_policies,_with_reversed_overrides (0.00s) 255s --- PASS: TestGetUniqueRules/One_GPO (0.00s) 255s --- PASS: TestGetUniqueRules/Append_policy_entry,_closest_meta_wins (0.00s) 255s --- PASS: TestGetUniqueRules/Append_policy_entry,_multiple_GPOs (0.00s) 255s --- PASS: TestGetUniqueRules/Disabled_value_overrides_non_disabled_one (0.00s) 255s --- PASS: TestGetUniqueRules/Two_policies,_no_overrides,_reversed (0.00s) 255s --- PASS: TestGetUniqueRules/Same_key_in_different_domains_are_kept_separated (0.00s) 255s --- PASS: TestGetUniqueRules/Multiple_domains,_same_GPOs (0.00s) 255s --- PASS: TestGetUniqueRules/Order_key_ascii (0.00s) 255s --- PASS: TestGetUniqueRules/Mix_meta_on_GPOs,_furthest_policy_entry_is_append,_closest_is_override (0.00s) 255s --- PASS: TestGetUniqueRules/Append_policy_entry,_multiple_GPOs,_disabled_key_is_ignored,_second (0.00s) 255s --- PASS: TestGetUniqueRules/More_policies,_with_multiple_overrides (0.00s) 255s --- PASS: TestGetUniqueRules/Two_policies,_with_overrides (0.00s) 255s --- PASS: TestGetUniqueRules/Multiple_domains,_different_GPOs (0.00s) 255s --- PASS: TestGetUniqueRules/Append_policy_entry,_multiple_GPOs,_disabled_key_is_ignored,_first (0.00s) 255s === CONT TestSaveAssetsTo/Error_on_file_read_only_existing_in_dest 255s === CONT TestSaveAssetsTo/Error_on_no_assets 255s === CONT TestSaveAssetsTo/Error_on_empty_relSrc 255s === CONT TestSaveAssetsTo/Error_on_dest_already_exists 255s --- PASS: TestCompressAssets (0.00s) 255s --- PASS: TestCompressAssets/Error_on_non_existing_directory (0.00s) 255s --- PASS: TestCompressAssets/Error_on_can’t_remove_existing_db (0.00s) 255s --- PASS: TestCompressAssets/No_db (0.01s) 255s --- PASS: TestCompressAssets/Existing_db (0.01s) 255s === CONT TestSaveAssetsTo/Sub_directory 255s === CONT TestSaveAssetsTo/Chown_directories_and_files_when_requested 255s === CONT TestSaveAssetsTo/Error_on_can't_chown_to_user 255s === CONT TestSaveAssetsTo/File 255s === CONT TestSaveAssetsTo/Error_on_read_only_dest 255s === CONT TestSaveAssetsTo/Sub_directory_ending_with_slash 255s === CONT TestSave/With_assets 255s --- PASS: TestSaveAssetsTo (0.00s) 255s --- PASS: TestSaveAssetsTo/All (0.01s) 255s --- PASS: TestSaveAssetsTo/Error_on_unexisting_relSrc_in_cache (0.00s) 255s --- PASS: TestSaveAssetsTo/Error_on_file_read_only_existing_in_dest (0.00s) 255s --- PASS: TestSaveAssetsTo/Error_on_no_assets (0.00s) 255s --- PASS: TestSaveAssetsTo/Error_on_empty_relSrc (0.00s) 255s --- PASS: TestSaveAssetsTo/Error_on_dest_already_exists (0.00s) 255s --- PASS: TestSaveAssetsTo/Sub_directory (0.00s) 255s --- PASS: TestSaveAssetsTo/Error_on_can't_chown_to_user (0.00s) 255s --- PASS: TestSaveAssetsTo/File (0.00s) 255s --- PASS: TestSaveAssetsTo/Error_on_read_only_dest (0.00s) 255s --- PASS: TestSaveAssetsTo/Sub_directory_ending_with_slash (0.00s) 255s --- PASS: TestSaveAssetsTo/Chown_directories_and_files_when_requested (0.01s) 255s === CONT TestNewFromCache/gpos_only 255s === CONT TestSave/Existing_cache_with_assets,_new_cache_with_no_assets 255s === CONT TestSave/Existing_policies_cache_is_refreshed 255s === CONT TestSave/gpos_only 255s === CONT TestSave/Error_on_can’t_remove_existing_assets 255s === CONT TestSave/Error_on_can’t_write_to_dest_dir 255s === CONT TestSave/Error_on_can’t_write_to_policies_base_dir 255s === CONT TestSave/Can_refresh_on_existing_read_only_asset_file 255s === CONT TestSave/Destdir_does_not_exists 255s === CONT TestSave/Save_assets_on_existing_opened_file_does_not_segfault 255s === CONT TestSave/Existing_assets_cache_is_refreshed 255s === CONT TestNew/No_gpos 255s === CONT TestNewFromCache/Error_on_no_policies_cache 255s === CONT TestNewFromCache/Error_on_invalid_assets_db 255s === CONT TestNewFromCache/Error_on_invalid_policies_cache 255s === CONT TestNewFromCache/With_assets 255s --- PASS: TestSave (0.00s) 255s --- PASS: TestSave/With_assets (0.00s) 255s --- PASS: TestSave/Existing_cache_with_assets,_new_cache_with_no_assets (0.00s) 255s --- PASS: TestSave/Existing_policies_cache_is_refreshed (0.00s) 255s --- PASS: TestSave/gpos_only (0.00s) 255s --- PASS: TestSave/Error_on_can’t_write_to_dest_dir (0.00s) 255s --- PASS: TestSave/Error_on_can’t_remove_existing_assets (0.00s) 255s --- PASS: TestSave/Error_on_can’t_write_to_policies_base_dir (0.00s) 255s --- PASS: TestSave/Destdir_does_not_exists (0.00s) 255s --- PASS: TestSave/Can_refresh_on_existing_read_only_asset_file (0.00s) 255s --- PASS: TestSave/Existing_assets_cache_is_refreshed (0.00s) 255s --- PASS: TestSave/Save_assets_on_existing_opened_file_does_not_segfault (0.00s) 255s === CONT TestNew/With_assets 255s === CONT TestNew/gpos_only 255s --- PASS: TestNewFromCache (0.00s) 255s --- PASS: TestNewFromCache/gpos_only (0.00s) 255s --- PASS: TestNewFromCache/Error_on_no_policies_cache (0.00s) 255s --- PASS: TestNewFromCache/Error_on_invalid_assets_db (0.00s) 255s --- PASS: TestNewFromCache/Error_on_invalid_policies_cache (0.00s) 255s --- PASS: TestNewFromCache/With_assets (0.01s) 255s === CONT TestNew/Error_on_assets_db_does_not_exists 255s === CONT TestNew/Error_on_invalid_assets_db 255s === CONT TestLastUpdateFor/Returns_user's_last_update_time 255s --- PASS: TestNew (0.00s) 255s --- PASS: TestNew/No_gpos (0.00s) 255s --- PASS: TestNew/With_assets (0.01s) 255s --- PASS: TestNew/Error_on_assets_db_does_not_exists (0.00s) 255s --- PASS: TestNew/Error_on_invalid_assets_db (0.00s) 255s --- PASS: TestNew/gpos_only (0.00s) 255s === CONT TestLastUpdateFor/Returns_machine's_last_update_time 255s time="2025-10-18T14:43:31Z" level=info msg="Get policies last update time \"autopkgtest\" (machine: true)" 255s time="2025-10-18T14:43:31Z" level=info msg="Get policies last update time \"user\" (machine: false)" 255s === CONT TestLastUpdateFor/Error_when_target_does_not_exist 255s === CONT TestLastUpdateFor/Target_is_ignored_for_machine_request 255s time="2025-10-18T14:43:31Z" level=info msg="Get policies last update time \"does_not_exit\" (machine: true)" 255s time="2025-10-18T14:43:31Z" level=info msg="Get policies last update time \"does_not_exit\" (machine: false)" 255s === CONT TestDumpPolicies/Overrides_between_machine_and_user_GPOs,_hidden 255s --- PASS: TestLastUpdateFor (0.00s) 255s --- PASS: TestLastUpdateFor/Returns_machine's_last_update_time (0.10s) 255s --- PASS: TestLastUpdateFor/Returns_user's_last_update_time (0.10s) 255s --- PASS: TestLastUpdateFor/Target_is_ignored_for_machine_request (0.10s) 255s --- PASS: TestLastUpdateFor/Error_when_target_does_not_exist (0.10s) 255s === CONT TestDumpPolicies/Machine_only_GPO_with_rules 255s time="2025-10-18T14:43:31Z" level=info msg="Dumping policies for user" 255s time="2025-10-18T14:43:31Z" level=info msg="Dumping policies for autopkgtest" 255s === CONT TestDumpPolicies/One_GPO_User_+_Machine 255s === CONT TestDumpPolicies/One_GPO_Machine 255s time="2025-10-18T14:43:31Z" level=info msg="Dumping policies for user" 255s === CONT TestDumpPolicies/Error_on_missing_machine_cache_when_targeting_user 255s time="2025-10-18T14:43:31Z" level=info msg="Dumping policies for autopkgtest" 255s time="2025-10-18T14:43:31Z" level=info msg="Dumping policies for user" 255s === CONT TestDumpPolicies/Same_GPO_Machine_and_User_with_rules_and_overrides 255s === CONT TestDumpPolicies/Same_GPO_Machine_and_User_with_rules 255s time="2025-10-18T14:43:31Z" level=info msg="Dumping policies for user" 255s === CONT TestDumpPolicies/One_GPO_with_rules 255s time="2025-10-18T14:43:31Z" level=info msg="Dumping policies for user" 255s time="2025-10-18T14:43:31Z" level=info msg="Dumping policies for user" 255s === CONT TestDumpPolicies/One_GPO_User 255s === CONT TestDumpPolicies/Multiple_GPOs_with_rules,_override,_shown 255s time="2025-10-18T14:43:31Z" level=info msg="Dumping policies for user" 255s time="2025-10-18T14:43:31Z" level=info msg="Dumping policies for user" 255s === CONT TestDumpPolicies/Error_on_missing_target_cache 255s === CONT TestDumpPolicies/Same_GPO_Machine_and_User 255s time="2025-10-18T14:43:31Z" level=info msg="Dumping policies for user" 255s time="2025-10-18T14:43:31Z" level=info msg="User \"user\" not found on cache." 255s === CONT TestDumpPolicies/Overrides_between_machine_and_user_GPOs,_shown 255s time="2025-10-18T14:43:31Z" level=info msg="Dumping policies for user" 255s === CONT TestDumpPolicies/Multiple_GPOs_with_rules,_no_override 255s time="2025-10-18T14:43:31Z" level=info msg="Dumping policies for user" 255s === CONT TestDumpPolicies/Multiple_GPOs_with_rules,_override_hidden 255s time="2025-10-18T14:43:31Z" level=info msg="Dumping policies for user" 255s time="2025-10-18T14:43:31Z" level=info msg="Dumping policies for user" 255s === CONT TestDumpPolicies/Multiple_GPOs 255s time="2025-10-18T14:43:31Z" level=info msg="Dumping policies for user" 255s --- PASS: TestDumpPolicies (0.00s) 255s --- PASS: TestDumpPolicies/Machine_only_GPO_with_rules (0.00s) 255s --- PASS: TestDumpPolicies/Overrides_between_machine_and_user_GPOs,_hidden (0.00s) 255s --- PASS: TestDumpPolicies/One_GPO_User_+_Machine (0.00s) 255s --- PASS: TestDumpPolicies/Error_on_missing_machine_cache_when_targeting_user (0.00s) 255s --- PASS: TestDumpPolicies/One_GPO_Machine (0.00s) 255s --- PASS: TestDumpPolicies/Same_GPO_Machine_and_User_with_rules_and_overrides (0.00s) 255s --- PASS: TestDumpPolicies/Same_GPO_Machine_and_User_with_rules (0.00s) 255s --- PASS: TestDumpPolicies/One_GPO_with_rules (0.00s) 255s --- PASS: TestDumpPolicies/Multiple_GPOs_with_rules,_override,_shown (0.00s) 255s --- PASS: TestDumpPolicies/One_GPO_User (0.00s) 255s --- PASS: TestDumpPolicies/Error_on_missing_target_cache (0.00s) 255s --- PASS: TestDumpPolicies/Same_GPO_Machine_and_User (0.00s) 255s --- PASS: TestDumpPolicies/Overrides_between_machine_and_user_GPOs,_shown (0.00s) 255s --- PASS: TestDumpPolicies/Multiple_GPOs_with_rules,_no_override (0.00s) 255s --- PASS: TestDumpPolicies/Multiple_GPOs_with_rules,_override_hidden (0.00s) 255s --- PASS: TestDumpPolicies/Multiple_GPOs (0.00s) 255s PASS 255s ok github.com/ubuntu/adsys/internal/policies 0.485s 255s === RUN TestApplyPolicy 255s === PAUSE TestApplyPolicy 255s === RUN TestMockApparmorParser 255s --- PASS: TestMockApparmorParser (0.00s) 255s === CONT TestApplyPolicy 255s === RUN TestApplyPolicy/Error_on_profile_being_a_directory 255s === PAUSE TestApplyPolicy/Error_on_profile_being_a_directory 255s === RUN TestApplyPolicy/Computer,_one_profile 255s === PAUSE TestApplyPolicy/Computer,_one_profile 255s === RUN TestApplyPolicy/Error_on_save_assets_dumping_failing 255s === PAUSE TestApplyPolicy/Error_on_save_assets_dumping_failing 255s === RUN TestApplyPolicy/Error_on_read-only_root_directory_with_entries 255s === PAUSE TestApplyPolicy/Error_on_read-only_root_directory_with_entries 255s === RUN TestApplyPolicy/Computer,_duplicated_profiles 255s === PAUSE TestApplyPolicy/Computer,_duplicated_profiles 255s === RUN TestApplyPolicy/Computer,_previous_profiles_are_unloaded 255s === PAUSE TestApplyPolicy/Computer,_previous_profiles_are_unloaded 255s === RUN TestApplyPolicy/User,_valid_mapping,_unchanged_content 255s === PAUSE TestApplyPolicy/User,_valid_mapping,_unchanged_content 255s === RUN TestApplyPolicy/User,_error_on_overwriting_profile_contents 255s === PAUSE TestApplyPolicy/User,_error_on_overwriting_profile_contents 255s === RUN TestApplyPolicy/Error_on_preprocessing_old_profiles_failing 255s === PAUSE TestApplyPolicy/Error_on_preprocessing_old_profiles_failing 255s === RUN TestApplyPolicy/Computer,_multiple_profiles, 255s === PAUSE TestApplyPolicy/Computer,_multiple_profiles, 255s === RUN TestApplyPolicy/Computer,_whitespace-only_value 255s === PAUSE TestApplyPolicy/Computer,_whitespace-only_value 255s === RUN TestApplyPolicy/Computer,_only_blank_profiles 255s === PAUSE TestApplyPolicy/Computer,_only_blank_profiles 255s === RUN TestApplyPolicy/No_apparmor_parser_and_no_entries 255s === PAUSE TestApplyPolicy/No_apparmor_parser_and_no_entries 255s === RUN TestApplyPolicy/Error_on_read-only_machine_directory,_no_entries 255s === PAUSE TestApplyPolicy/Error_on_read-only_machine_directory,_no_entries 255s === RUN TestApplyPolicy/Error_on_read-only_.old_directory 255s === PAUSE TestApplyPolicy/Error_on_read-only_.old_directory 255s === RUN TestApplyPolicy/Computer,_blank_line_profiles 255s === PAUSE TestApplyPolicy/Computer,_blank_line_profiles 255s === RUN TestApplyPolicy/No_profiles,_existing_rules_are_removed 255s === PAUSE TestApplyPolicy/No_profiles,_existing_rules_are_removed 255s === RUN TestApplyPolicy/User,_valid_mapping 255s === PAUSE TestApplyPolicy/User,_valid_mapping 255s === RUN TestApplyPolicy/Error_on_absent_profile 255s === PAUSE TestApplyPolicy/Error_on_absent_profile 255s === RUN TestApplyPolicy/Error_on_read-only_.new_directory 255s === PAUSE TestApplyPolicy/Error_on_read-only_.new_directory 255s === RUN TestApplyPolicy/Existing_.new_directory_is_removed 255s === PAUSE TestApplyPolicy/Existing_.new_directory_is_removed 255s === RUN TestApplyPolicy/No_profiles,_apparmor_directory_absent 255s === PAUSE TestApplyPolicy/No_profiles,_apparmor_directory_absent 255s === RUN TestApplyPolicy/User,_error_on_save_assets_failing 255s === PAUSE TestApplyPolicy/User,_error_on_save_assets_failing 255s === RUN TestApplyPolicy/User,_error_on_invalid_user_profile,_restore_previous 255s === PAUSE TestApplyPolicy/User,_error_on_invalid_user_profile,_restore_previous 255s === RUN TestApplyPolicy/Error_on_absent_loaded_policies_file 255s === PAUSE TestApplyPolicy/Error_on_absent_loaded_policies_file 255s === RUN TestApplyPolicy/Error_on_loading_profiles_failing 255s === PAUSE TestApplyPolicy/Error_on_loading_profiles_failing 255s === RUN TestApplyPolicy/Computer,_profiles_with_whitespace 255s === PAUSE TestApplyPolicy/Computer,_profiles_with_whitespace 255s === RUN TestApplyPolicy/User,_error_on_multiple_profiles 255s === PAUSE TestApplyPolicy/User,_error_on_multiple_profiles 255s === RUN TestApplyPolicy/Computer,_user_policies_are_unloaded 255s === PAUSE TestApplyPolicy/Computer,_user_policies_are_unloaded 255s === RUN TestApplyPolicy/Existing_.old_directory_is_removed 255s === PAUSE TestApplyPolicy/Existing_.old_directory_is_removed 255s === RUN TestApplyPolicy/Unexpected_entry_key 255s === PAUSE TestApplyPolicy/Unexpected_entry_key 255s === RUN TestApplyPolicy/User,_no_user_profiles,_machine_profiles_are_unloaded 255s === PAUSE TestApplyPolicy/User,_no_user_profiles,_machine_profiles_are_unloaded 255s === RUN TestApplyPolicy/User,_error_on_invalid_user_profile,_delete_previous 255s === PAUSE TestApplyPolicy/User,_error_on_invalid_user_profile,_delete_previous 255s === RUN TestApplyPolicy/Error_on_read-only_machine_directory 255s === PAUSE TestApplyPolicy/Error_on_read-only_machine_directory 255s === RUN TestApplyPolicy/No_apparmor_parser_and_entries 255s === PAUSE TestApplyPolicy/No_apparmor_parser_and_entries 255s === RUN TestApplyPolicy/User,_no_entries,_existing_user_profile_is_deleted 255s === PAUSE TestApplyPolicy/User,_no_entries,_existing_user_profile_is_deleted 255s === RUN TestApplyPolicy/Read-only_root_directory_and_no_entries 255s === PAUSE TestApplyPolicy/Read-only_root_directory_and_no_entries 255s === RUN TestApplyPolicy/Error_on_unloading_all_profiles_failing 255s === PAUSE TestApplyPolicy/Error_on_unloading_all_profiles_failing 255s === RUN TestApplyPolicy/Error_on_file_as_a_directory 255s === PAUSE TestApplyPolicy/Error_on_file_as_a_directory 255s === RUN TestApplyPolicy/Error_on_preprocessing_new_profiles_failing 255s === PAUSE TestApplyPolicy/Error_on_preprocessing_new_profiles_failing 255s === RUN TestApplyPolicy/Error_on_removing_unused_assets_after_dump 255s === PAUSE TestApplyPolicy/Error_on_removing_unused_assets_after_dump 255s === RUN TestApplyPolicy/User,_no_machine_profiles 255s === PAUSE TestApplyPolicy/User,_no_machine_profiles 255s === RUN TestApplyPolicy/User,_error_on_empty_user_profile 255s === PAUSE TestApplyPolicy/User,_error_on_empty_user_profile 255s === RUN TestApplyPolicy/Error_on_unloading_old_profiles_failing 255s === PAUSE TestApplyPolicy/Error_on_unloading_old_profiles_failing 255s === CONT TestApplyPolicy/Error_on_profile_being_a_directory 255s === CONT TestApplyPolicy/User,_error_on_save_assets_failing 255s === CONT TestApplyPolicy/No_profiles,_apparmor_directory_absent 255s === CONT TestApplyPolicy/Existing_.new_directory_is_removed 255s === CONT TestApplyPolicy/Error_on_read-only_.new_directory 255s === CONT TestApplyPolicy/Error_on_absent_profile 255s === CONT TestApplyPolicy/User,_valid_mapping 255s === CONT TestApplyPolicy/No_profiles,_existing_rules_are_removed 255s === CONT TestApplyPolicy/Computer,_blank_line_profiles 255s === CONT TestApplyPolicy/Error_on_read-only_.old_directory 255s === CONT TestApplyPolicy/Error_on_read-only_machine_directory,_no_entries 255s === CONT TestApplyPolicy/No_apparmor_parser_and_no_entries 255s time="2025-10-18T14:43:32Z" level=warning msg="Apparmor is not available on this system: exec: \"this-definitely-does-not-exist\": executable file not found in $PATH" 255s === CONT TestApplyPolicy/Computer,_only_blank_profiles 255s === CONT TestApplyPolicy/Computer,_whitespace-only_value 255s === CONT TestApplyPolicy/Computer,_multiple_profiles, 255s === CONT TestApplyPolicy/Error_on_preprocessing_old_profiles_failing 255s === CONT TestApplyPolicy/User,_error_on_overwriting_profile_contents 255s === CONT TestApplyPolicy/User,_valid_mapping,_unchanged_content 255s === CONT TestApplyPolicy/Computer,_previous_profiles_are_unloaded 255s === CONT TestApplyPolicy/Computer,_duplicated_profiles 255s === CONT TestApplyPolicy/Error_on_read-only_root_directory_with_entries 255s === CONT TestApplyPolicy/Error_on_save_assets_dumping_failing 255s === CONT TestApplyPolicy/Computer,_one_profile 255s === CONT TestApplyPolicy/Error_on_read-only_machine_directory 255s === CONT TestApplyPolicy/Error_on_unloading_old_profiles_failing 255s === CONT TestApplyPolicy/User,_error_on_empty_user_profile 255s === CONT TestApplyPolicy/User,_no_machine_profiles 255s time="2025-10-18T14:43:32Z" level=warning msg="No apparmor machine profiles configured for this machine, skipping reload" 255s === CONT TestApplyPolicy/Error_on_removing_unused_assets_after_dump 255s time="2025-10-18T14:43:32Z" level=warning msg="Couldn't remove new apparmor directory: unlinkat /tmp/TestApplyPolicyError_on_removing_unused_assets_after_dump1639847622/001/machine/usr.bin.bar: permission denied" 255s time="2025-10-18T14:43:32Z" level=warning msg="Couldn't restore previous apparmor directory: rename /tmp/TestApplyPolicyError_on_removing_unused_assets_after_dump1639847622/001/machine.old /tmp/TestApplyPolicyError_on_removing_unused_assets_after_dump1639847622/001/machine: file exists" 255s === CONT TestApplyPolicy/Error_on_preprocessing_new_profiles_failing 255s === CONT TestApplyPolicy/Error_on_file_as_a_directory 255s === CONT TestApplyPolicy/Error_on_unloading_all_profiles_failing 255s === CONT TestApplyPolicy/Read-only_root_directory_and_no_entries 255s === CONT TestApplyPolicy/User,_no_entries,_existing_user_profile_is_deleted 255s === CONT TestApplyPolicy/No_apparmor_parser_and_entries 255s === CONT TestApplyPolicy/Computer,_user_policies_are_unloaded 255s === CONT TestApplyPolicy/User,_error_on_invalid_user_profile,_delete_previous 255s === CONT TestApplyPolicy/User,_no_user_profiles,_machine_profiles_are_unloaded 255s === CONT TestApplyPolicy/Unexpected_entry_key 255s === CONT TestApplyPolicy/Existing_.old_directory_is_removed 255s === CONT TestApplyPolicy/Error_on_loading_profiles_failing 255s === CONT TestApplyPolicy/User,_error_on_multiple_profiles 255s === CONT TestApplyPolicy/Computer,_profiles_with_whitespace 255s === CONT TestApplyPolicy/Error_on_absent_loaded_policies_file 255s === CONT TestApplyPolicy/User,_error_on_invalid_user_profile,_restore_previous 255s --- PASS: TestApplyPolicy (0.00s) 255s --- PASS: TestApplyPolicy/User,_error_on_save_assets_failing (0.00s) 255s --- PASS: TestApplyPolicy/No_profiles,_apparmor_directory_absent (0.00s) 255s --- PASS: TestApplyPolicy/Error_on_profile_being_a_directory (0.00s) 255s --- PASS: TestApplyPolicy/Error_on_read-only_.new_directory (0.00s) 255s --- PASS: TestApplyPolicy/Error_on_absent_profile (0.00s) 255s --- PASS: TestApplyPolicy/User,_valid_mapping (0.01s) 255s --- PASS: TestApplyPolicy/Existing_.new_directory_is_removed (0.02s) 255s --- PASS: TestApplyPolicy/No_profiles,_existing_rules_are_removed (0.03s) 255s --- PASS: TestApplyPolicy/Error_on_read-only_.old_directory (0.00s) 255s --- PASS: TestApplyPolicy/Computer,_blank_line_profiles (0.04s) 255s --- PASS: TestApplyPolicy/No_apparmor_parser_and_no_entries (0.00s) 255s --- PASS: TestApplyPolicy/Computer,_only_blank_profiles (0.00s) 255s --- PASS: TestApplyPolicy/Computer,_whitespace-only_value (0.00s) 255s --- PASS: TestApplyPolicy/Error_on_read-only_machine_directory,_no_entries (0.02s) 255s --- PASS: TestApplyPolicy/Error_on_preprocessing_old_profiles_failing (0.02s) 255s --- PASS: TestApplyPolicy/User,_error_on_overwriting_profile_contents (0.00s) 255s --- PASS: TestApplyPolicy/User,_valid_mapping,_unchanged_content (0.00s) 255s --- PASS: TestApplyPolicy/Computer,_multiple_profiles, (0.03s) 255s --- PASS: TestApplyPolicy/Computer,_duplicated_profiles (0.03s) 255s --- PASS: TestApplyPolicy/Error_on_read-only_root_directory_with_entries (0.00s) 255s --- PASS: TestApplyPolicy/Error_on_save_assets_dumping_failing (0.00s) 255s --- PASS: TestApplyPolicy/Computer,_previous_profiles_are_unloaded (0.05s) 255s --- PASS: TestApplyPolicy/Computer,_one_profile (0.02s) 255s --- PASS: TestApplyPolicy/Error_on_read-only_machine_directory (0.04s) 255s --- PASS: TestApplyPolicy/User,_error_on_empty_user_profile (0.00s) 255s --- PASS: TestApplyPolicy/User,_no_machine_profiles (0.00s) 255s --- PASS: TestApplyPolicy/Error_on_removing_unused_assets_after_dump (0.00s) 255s --- PASS: TestApplyPolicy/Error_on_preprocessing_new_profiles_failing (0.02s) 255s --- PASS: TestApplyPolicy/Error_on_unloading_old_profiles_failing (0.05s) 255s --- PASS: TestApplyPolicy/Error_on_file_as_a_directory (0.00s) 255s --- PASS: TestApplyPolicy/Read-only_root_directory_and_no_entries (0.00s) 255s --- PASS: TestApplyPolicy/User,_no_entries,_existing_user_profile_is_deleted (0.00s) 255s --- PASS: TestApplyPolicy/No_apparmor_parser_and_entries (0.00s) 255s --- PASS: TestApplyPolicy/Computer,_user_policies_are_unloaded (0.03s) 255s --- PASS: TestApplyPolicy/User,_error_on_invalid_user_profile,_delete_previous (0.01s) 255s --- PASS: TestApplyPolicy/Error_on_unloading_all_profiles_failing (0.05s) 255s --- PASS: TestApplyPolicy/Unexpected_entry_key (0.00s) 255s --- PASS: TestApplyPolicy/Existing_.old_directory_is_removed (0.03s) 255s --- PASS: TestApplyPolicy/User,_no_user_profiles,_machine_profiles_are_unloaded (0.04s) 255s --- PASS: TestApplyPolicy/User,_error_on_multiple_profiles (0.00s) 255s --- PASS: TestApplyPolicy/Computer,_profiles_with_whitespace (0.04s) 255s --- PASS: TestApplyPolicy/Error_on_loading_profiles_failing (0.05s) 255s --- PASS: TestApplyPolicy/Error_on_absent_loaded_policies_file (0.00s) 255s --- PASS: TestApplyPolicy/User,_error_on_invalid_user_profile,_restore_previous (0.02s) 255s PASS 255s ok github.com/ubuntu/adsys/internal/policies/apparmor 0.387s 257s === RUN TestCertAutoenrollScript 257s === RUN TestCertAutoenrollScript/Enroll_with_simple_configuration 257s === RUN TestCertAutoenrollScript/Enroll_with_certmonger_not_installed 257s === RUN TestCertAutoenrollScript/Enroll_with_cepces_not_installed 257s === RUN TestCertAutoenrollScript/Error_on_invalid_JSON 257s === RUN TestCertAutoenrollScript/Unenroll 257s === RUN TestCertAutoenrollScript/Error_on_missing_arguments 257s === RUN TestCertAutoenrollScript/Error_on_invalid_JSON_structure 257s === RUN TestCertAutoenrollScript/Enroll_with_simple_configuration_and_debug_enabled 257s === RUN TestCertAutoenrollScript/Enroll_with_empty_advanced_configuration 257s === RUN TestCertAutoenrollScript/Enroll_with_valid_advanced_configuration 257s === RUN TestCertAutoenrollScript/Error_on_invalid_flags 257s === RUN TestCertAutoenrollScript/Error_on_invalid_JSON_keys 257s === RUN TestCertAutoenrollScript/Error_on_enroll_failure 257s === RUN TestCertAutoenrollScript/Error_on_unenroll_failure 257s === RUN TestCertAutoenrollScript/Error_on_read-only_path 257s --- PASS: TestCertAutoenrollScript (1.02s) 257s --- PASS: TestCertAutoenrollScript/Enroll_with_simple_configuration (0.06s) 257s --- PASS: TestCertAutoenrollScript/Enroll_with_certmonger_not_installed (0.06s) 257s --- PASS: TestCertAutoenrollScript/Enroll_with_cepces_not_installed (0.06s) 257s --- PASS: TestCertAutoenrollScript/Error_on_invalid_JSON (0.08s) 257s --- PASS: TestCertAutoenrollScript/Unenroll (0.07s) 257s --- PASS: TestCertAutoenrollScript/Error_on_missing_arguments (0.07s) 257s --- PASS: TestCertAutoenrollScript/Error_on_invalid_JSON_structure (0.07s) 257s --- PASS: TestCertAutoenrollScript/Enroll_with_simple_configuration_and_debug_enabled (0.06s) 257s --- PASS: TestCertAutoenrollScript/Enroll_with_empty_advanced_configuration (0.08s) 257s --- PASS: TestCertAutoenrollScript/Enroll_with_valid_advanced_configuration (0.06s) 257s --- PASS: TestCertAutoenrollScript/Error_on_invalid_flags (0.06s) 257s --- PASS: TestCertAutoenrollScript/Error_on_invalid_JSON_keys (0.06s) 257s --- PASS: TestCertAutoenrollScript/Error_on_enroll_failure (0.09s) 257s --- PASS: TestCertAutoenrollScript/Error_on_unenroll_failure (0.08s) 257s --- PASS: TestCertAutoenrollScript/Error_on_read-only_path (0.06s) 257s === RUN TestApplyPolicy 257s === RUN TestApplyPolicy/Computer,_configured_to_unenroll 257s time="2025-10-18T14:43:35Z" level=info msg="Certificate autoenrollment script ran successfully\n" 257s === RUN TestApplyPolicy/Error_on_autoenroll_script_failure 257s === RUN TestApplyPolicy/Computer,_autoenroll_disabled 257s === RUN TestApplyPolicy/Computer,_domain_is_offline 257s === RUN TestApplyPolicy/Computer,_configured_to_enroll 257s time="2025-10-18T14:43:35Z" level=info msg="Certificate autoenrollment script ran successfully\n" 257s === RUN TestApplyPolicy/Computer,_configured_to_enroll,_advanced_configuration 257s time="2025-10-18T14:43:35Z" level=info msg="Certificate autoenrollment script ran successfully\n" 257s === RUN TestApplyPolicy/User,_autoenroll_not_supported 257s === RUN TestApplyPolicy/Error_on_invalid_autoenroll_value 257s === RUN TestApplyPolicy/Error_on_invalid_advanced_configuration_value 257s === RUN TestApplyPolicy/Computer,_no_entries 257s === RUN TestApplyPolicy/Computer,_no_entries,_Samba_cache_present 257s time="2025-10-18T14:43:35Z" level=info msg="Certificate autoenrollment script ran successfully\n" 257s --- PASS: TestApplyPolicy (0.04s) 257s --- PASS: TestApplyPolicy/Computer,_configured_to_unenroll (0.01s) 257s --- PASS: TestApplyPolicy/Error_on_autoenroll_script_failure (0.01s) 257s --- PASS: TestApplyPolicy/Computer,_autoenroll_disabled (0.00s) 257s --- PASS: TestApplyPolicy/Computer,_domain_is_offline (0.00s) 257s --- PASS: TestApplyPolicy/Computer,_configured_to_enroll (0.01s) 257s --- PASS: TestApplyPolicy/Computer,_configured_to_enroll,_advanced_configuration (0.01s) 257s --- PASS: TestApplyPolicy/User,_autoenroll_not_supported (0.00s) 257s --- PASS: TestApplyPolicy/Error_on_invalid_autoenroll_value (0.00s) 257s --- PASS: TestApplyPolicy/Error_on_invalid_advanced_configuration_value (0.00s) 257s --- PASS: TestApplyPolicy/Computer,_no_entries (0.00s) 257s --- PASS: TestApplyPolicy/Computer,_no_entries,_Samba_cache_present (0.01s) 257s === RUN TestMockAutoenrollScript 257s --- PASS: TestMockAutoenrollScript (0.00s) 257s PASS 257s ok github.com/ubuntu/adsys/internal/policies/certificate 1.100s 257s === RUN TestNormalize 257s === PAUSE TestNormalize 257s === RUN TestApplyPolicy 257s === PAUSE TestApplyPolicy 257s === CONT TestNormalize 257s === CONT TestApplyPolicy 257s === RUN TestNormalize/as_partially_quoted_unbalanced_end_can_lead_to_unexpect_result 257s === PAUSE TestNormalize/as_partially_quoted_unbalanced_end_can_lead_to_unexpect_result 257s === RUN TestApplyPolicy/Multi-lines_ai 257s === RUN TestNormalize/Multi-lines_as_with_quoted_','_is_supported 257s === PAUSE TestNormalize/Multi-lines_as_with_quoted_','_is_supported 257s === PAUSE TestApplyPolicy/Multi-lines_ai 257s === RUN TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_are_ignored 257s === RUN TestApplyPolicy/Do_not_update_other_files_from_db 257s === PAUSE TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_are_ignored 257s === PAUSE TestApplyPolicy/Do_not_update_other_files_from_db 257s === RUN TestApplyPolicy/Update_existing_correct_profile_stays_unchanged 257s === PAUSE TestApplyPolicy/Update_existing_correct_profile_stays_unchanged 257s === RUN TestApplyPolicy/Machine_updates_with_different_value 257s === PAUSE TestApplyPolicy/Machine_updates_with_different_value 257s === RUN TestApplyPolicy/Multiple_sections 257s === PAUSE TestApplyPolicy/Multiple_sections 257s === RUN TestApplyPolicy/Error_on_invalid_ai 257s === PAUSE TestApplyPolicy/Error_on_invalid_ai 257s === RUN TestApplyPolicy/No_policy_still_generates_a_valid_db 257s === PAUSE TestApplyPolicy/No_policy_still_generates_a_valid_db 257s === RUN TestApplyPolicy/Update_existing_correct_profile_with_trailing_spaces_are_removed 257s === PAUSE TestApplyPolicy/Update_existing_correct_profile_with_trailing_spaces_are_removed 257s === RUN TestApplyPolicy/Update_existing_profile_with_wrong_order_appends_them_in_correct_order 257s === PAUSE TestApplyPolicy/Update_existing_profile_with_wrong_order_appends_them_in_correct_order 257s === RUN TestApplyPolicy/Update_existing_profile_eliminates_adsys_DB_repetitions 257s === PAUSE TestApplyPolicy/Update_existing_profile_eliminates_adsys_DB_repetitions 257s === RUN TestApplyPolicy/Multiple_keys_same_category 257s === PAUSE TestApplyPolicy/Multiple_keys_same_category 257s === RUN TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_after_[]_are_ignored 257s === PAUSE TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_after_[]_are_ignored 257s === RUN TestNormalize/simple_unquoted_string 257s === PAUSE TestNormalize/simple_unquoted_string 257s === RUN TestNormalize/as_without_leading_[ 257s === RUN TestApplyPolicy/Missing_machine_compiled_db_for_machine 257s === PAUSE TestApplyPolicy/Missing_machine_compiled_db_for_machine 257s === PAUSE TestNormalize/as_without_leading_[ 257s === RUN TestNormalize/as_without_ending_] 257s === PAUSE TestNormalize/as_without_ending_] 257s === RUN TestNormalize/Multi-lines_ai_with_spaces_inside 257s === PAUSE TestNormalize/Multi-lines_ai_with_spaces_inside 257s === RUN TestNormalize/Multi-lines_ai_with_all_unquoted_','_will_split 257s === PAUSE TestNormalize/Multi-lines_ai_with_all_unquoted_','_will_split 257s === RUN TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_are_ignored 257s === PAUSE TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_are_ignored 257s === RUN TestNormalize/Multi-lines_as_with_consecutive_empty_lines_strip_empty_elements 257s === RUN TestApplyPolicy/Missing_user_compiled_db_for_user 257s === PAUSE TestApplyPolicy/Missing_user_compiled_db_for_user 257s === RUN TestApplyPolicy/Quoted_i 257s === PAUSE TestApplyPolicy/Quoted_i 257s === RUN TestApplyPolicy/Update_existing_profile_with_partial_db_append_them_without_repetition 257s === PAUSE TestApplyPolicy/Update_existing_profile_with_partial_db_append_them_without_repetition 257s === RUN TestApplyPolicy/User_updates_existing_value 257s === PAUSE TestApplyPolicy/User_updates_existing_value 257s === RUN TestApplyPolicy/Multiple_sections_with_disabled_keys 257s === PAUSE TestApplyPolicy/Multiple_sections_with_disabled_keys 257s === PAUSE TestNormalize/Multi-lines_as_with_consecutive_empty_lines_strip_empty_elements 257s === RUN TestApplyPolicy/Quoted_b 257s === PAUSE TestApplyPolicy/Quoted_b 257s === RUN TestApplyPolicy/No_surrounding_brackets_quoted_as 257s === PAUSE TestApplyPolicy/No_surrounding_brackets_quoted_as 257s === RUN TestApplyPolicy/Invalid_as_is_too_robust_to_produce_defaulting_values 257s === PAUSE TestApplyPolicy/Invalid_as_is_too_robust_to_produce_defaulting_values 257s === RUN TestApplyPolicy/Error_on_empty_meta 257s === PAUSE TestApplyPolicy/Error_on_empty_meta 257s === RUN TestApplyPolicy/No_update_when_no_change 257s === PAUSE TestApplyPolicy/No_update_when_no_change 257s === RUN TestApplyPolicy/Normalized_canonical_form_for_each_supported_key 257s === RUN TestNormalize/Multi-lines_as_with_explicit_empty_element 257s === PAUSE TestNormalize/Multi-lines_as_with_explicit_empty_element 257s === RUN TestNormalize/ai_without_leading_[ 257s === PAUSE TestNormalize/ai_without_leading_[ 257s === RUN TestNormalize/one_escaped_quote 257s === PAUSE TestNormalize/one_escaped_quote 257s === RUN TestNormalize/unquoted_string_with_quotes 257s === PAUSE TestNormalize/unquoted_string_with_quotes 257s === RUN TestNormalize/weird_case_false 257s === PAUSE TestNormalize/weird_case_false 257s === RUN TestNormalize/as_wrongly_quoted_will_consider_comma_as_part_of_the_string 257s === PAUSE TestNormalize/as_wrongly_quoted_will_consider_comma_as_part_of_the_string 257s === RUN TestNormalize/ai_empty_elements_separated_with_commas_are_kept 257s === PAUSE TestNormalize/ai_empty_elements_separated_with_commas_are_kept 257s === RUN TestNormalize/Multi-lines_ai_with_leading_and_trailing_brackets 257s === PAUSE TestNormalize/Multi-lines_ai_with_leading_and_trailing_brackets 257s === RUN TestNormalize/with_spaces 257s === PAUSE TestNormalize/with_spaces 257s === RUN TestNormalize/on_transformed_to_boolean 257s === PAUSE TestNormalize/on_transformed_to_boolean 257s === RUN TestNormalize/as_with_leading_and_ending_spaces_and_no_[] 257s === PAUSE TestNormalize/as_with_leading_and_ending_spaces_and_no_[] 257s === PAUSE TestApplyPolicy/Normalized_canonical_form_for_each_supported_key 257s === RUN TestApplyPolicy/No_surrounding_brackets_multiple_ai 257s === PAUSE TestApplyPolicy/No_surrounding_brackets_multiple_ai 257s === RUN TestApplyPolicy/Error_on_invalid_type 257s === PAUSE TestApplyPolicy/Error_on_invalid_type 257s === RUN TestApplyPolicy/New_user 257s === PAUSE TestApplyPolicy/New_user 257s === RUN TestApplyPolicy/User_updates_with_different_value 257s === PAUSE TestApplyPolicy/User_updates_with_different_value 257s === RUN TestApplyPolicy/First_boot 257s === PAUSE TestApplyPolicy/First_boot 257s === RUN TestApplyPolicy/Update_machine_disabled_key_with_value 257s === PAUSE TestApplyPolicy/Update_machine_disabled_key_with_value 257s === RUN TestApplyPolicy/Unquoted_string 257s === PAUSE TestApplyPolicy/Unquoted_string 257s === RUN TestApplyPolicy/No_surrounding_brackets_unquoted_multiple_as 257s === PAUSE TestApplyPolicy/No_surrounding_brackets_unquoted_multiple_as 257s === RUN TestApplyPolicy/No_surrounding_brackets_quoted_multiple_as 257s === PAUSE TestApplyPolicy/No_surrounding_brackets_quoted_multiple_as 257s === RUN TestApplyPolicy/Update_existing_profile_without_needed_db,_trailine_lines_are_removed 257s === PAUSE TestApplyPolicy/Update_existing_profile_without_needed_db,_trailine_lines_are_removed 257s === RUN TestApplyPolicy/User_updates_key_is_now_disabled 257s === PAUSE TestApplyPolicy/User_updates_key_is_now_disabled 257s === RUN TestApplyPolicy/Machine_updates_key_is_now_disabled 257s === PAUSE TestApplyPolicy/Machine_updates_key_is_now_disabled 257s === RUN TestApplyPolicy/Mixing_sections_and_keys_still_groups_sections 257s === PAUSE TestApplyPolicy/Mixing_sections_and_keys_still_groups_sections 257s === RUN TestApplyPolicy/No_surrounding_brackets_ai 257s === PAUSE TestApplyPolicy/No_surrounding_brackets_ai 257s === RUN TestApplyPolicy/Multi-lines_as_mixed_with_comma 257s === PAUSE TestApplyPolicy/Multi-lines_as_mixed_with_comma 257s === RUN TestApplyPolicy/Multi-lines_ai_mixed_with_comma 257s === PAUSE TestApplyPolicy/Multi-lines_ai_mixed_with_comma 257s === RUN TestApplyPolicy/Error_when_machine_db_does_not_exist 257s === PAUSE TestApplyPolicy/Error_when_machine_db_does_not_exist 257s === RUN TestApplyPolicy/Update_existing_profile_without_needed_db_append_them 257s === PAUSE TestApplyPolicy/Update_existing_profile_without_needed_db_append_them 257s === RUN TestNormalize/as_partially_quoted_can_lead_to_unexpect_result 257s === PAUSE TestNormalize/as_partially_quoted_can_lead_to_unexpect_result 257s === RUN TestNormalize/Multi-lines_as_and_single_line_mix,_quoted 257s === PAUSE TestNormalize/Multi-lines_as_and_single_line_mix,_quoted 257s === RUN TestNormalize/ai_without_ending_] 257s === PAUSE TestNormalize/ai_without_ending_] 257s === RUN TestNormalize/ai_with_leading_and_ending_spaces_and_no_[] 257s === PAUSE TestNormalize/ai_with_leading_and_ending_spaces_and_no_[] 257s === RUN TestNormalize/string_with_multiple_backslashes_escaped_quotes 257s === PAUSE TestNormalize/string_with_multiple_backslashes_escaped_quotes 257s === RUN TestNormalize/Multi-lines_as_with_spaces_inside 257s === PAUSE TestNormalize/Multi-lines_as_with_spaces_inside 257s === RUN TestNormalize/simple_ai 257s === PAUSE TestNormalize/simple_ai 257s === RUN TestNormalize/ai_with_spaces_inside 257s === PAUSE TestNormalize/ai_with_spaces_inside 257s === RUN TestNormalize/ai_with_leading_and_ending_spaces_and__[] 257s === PAUSE TestNormalize/ai_with_leading_and_ending_spaces_and__[] 257s === RUN TestNormalize/weird_case_true 257s === PAUSE TestNormalize/weird_case_true 257s === RUN TestNormalize/no_transformed_to_boolean 257s === PAUSE TestNormalize/no_transformed_to_boolean 257s === RUN TestNormalize/Multi-lines_as_with_leading_and_trailing_brackets 257s === PAUSE TestNormalize/Multi-lines_as_with_leading_and_trailing_brackets 257s === RUN TestNormalize/Multi-lines_as_with_empty_lines_strips_empty_elements 257s === PAUSE TestNormalize/Multi-lines_as_with_empty_lines_strips_empty_elements 257s === RUN TestNormalize/Multi-lines_ai_with_consecutive_empty_lines_strips_empty_element 257s === PAUSE TestNormalize/Multi-lines_ai_with_consecutive_empty_lines_strips_empty_element 257s === RUN TestNormalize/string_with_escaped_quotes 257s === PAUSE TestNormalize/string_with_escaped_quotes 257s === RUN TestNormalize/yes_transformed_to_boolean 257s === PAUSE TestNormalize/yes_transformed_to_boolean 257s === RUN TestNormalize/as_simple_quoted_as_with_spaces 257s === PAUSE TestNormalize/as_simple_quoted_as_with_spaces 257s === RUN TestNormalize/as_with_weird_composition_inception_will_be_quoted 257s === PAUSE TestNormalize/as_with_weird_composition_inception_will_be_quoted 257s === RUN TestNormalize/Multi-lines_as_and_single_line_mix,_unquoted 257s === PAUSE TestNormalize/Multi-lines_as_and_single_line_mix,_unquoted 257s === RUN TestNormalize/simple_ai_with_no_spaces 257s === PAUSE TestNormalize/simple_ai_with_no_spaces 257s === RUN TestNormalize/Multi-lines_ai_with_empty_lines_strips_empty_element 257s === PAUSE TestNormalize/Multi-lines_ai_with_empty_lines_strips_empty_element 257s === RUN TestNormalize/simple_quoted_string 257s === PAUSE TestNormalize/simple_quoted_string 257s === RUN TestNormalize/simple_boolean_true 257s === PAUSE TestNormalize/simple_boolean_true 257s === RUN TestNormalize/as_with_leading_and_ending_spaces_and__[] 257s === PAUSE TestNormalize/as_with_leading_and_ending_spaces_and__[] 257s === RUN TestNormalize/off_transformed_to_boolean 257s === PAUSE TestNormalize/off_transformed_to_boolean 257s === RUN TestNormalize/as_partially_quoted_with_comma_can_lead_to_unexpected_result 257s === PAUSE TestNormalize/as_partially_quoted_with_comma_can_lead_to_unexpected_result 257s === RUN TestNormalize/as_partially_quoted_unbalanced_start_can_lead_to_unexpect_result 257s === PAUSE TestNormalize/as_partially_quoted_unbalanced_start_can_lead_to_unexpect_result 257s === RUN TestNormalize/one_quote 257s === PAUSE TestNormalize/one_quote 257s === RUN TestNormalize/simple_boolean_false 257s === PAUSE TestNormalize/simple_boolean_false 257s === RUN TestNormalize/simple_unquoted_as 257s === PAUSE TestNormalize/simple_unquoted_as 257s === RUN TestNormalize/simple_quoted_as 257s === RUN TestApplyPolicy/No_surrounding_brackets_unquoted_as 257s === PAUSE TestApplyPolicy/No_surrounding_brackets_unquoted_as 257s === RUN TestApplyPolicy/Do_not_interfere_with_other_user_profile 257s === PAUSE TestApplyPolicy/Do_not_interfere_with_other_user_profile 257s === RUN TestApplyPolicy/Error_on_invalid_value_for_unnormalized_type 257s === PAUSE TestApplyPolicy/Error_on_invalid_value_for_unnormalized_type 257s === RUN TestApplyPolicy/Update_user_disabled_key_with_value 257s === PAUSE TestApplyPolicy/Update_user_disabled_key_with_value 257s === RUN TestApplyPolicy/Machine_updates_existing_value 257s === PAUSE TestApplyPolicy/Machine_updates_existing_value 257s === RUN TestApplyPolicy/Missing_machine_compiled_db_for_user 257s === PAUSE TestApplyPolicy/Missing_machine_compiled_db_for_user 257s === RUN TestApplyPolicy/Multi-lines_as 257s === PAUSE TestApplyPolicy/Multi-lines_as 257s === CONT TestApplyPolicy/Multi-lines_ai 257s === PAUSE TestNormalize/simple_quoted_as 257s === RUN TestNormalize/unmanaged_types_are_returned_as_is 257s === PAUSE TestNormalize/unmanaged_types_are_returned_as_is 257s === RUN TestNormalize/quoted_string_with_quotes 257s === PAUSE TestNormalize/quoted_string_with_quotes 257s === RUN TestNormalize/simple_as_with_no_spaces 257s === PAUSE TestNormalize/simple_as_with_no_spaces 257s === RUN TestNormalize/as_with_empty_quoted_can_lead_to_unexpect_result 257s === PAUSE TestNormalize/as_with_empty_quoted_can_lead_to_unexpect_result 257s === RUN TestNormalize/Multi-lines_as_unquoted 257s === PAUSE TestNormalize/Multi-lines_as_unquoted 257s === RUN TestNormalize/empty_unquoted_string 257s === PAUSE TestNormalize/empty_unquoted_string 257s === RUN TestNormalize/string_with_two_backslashes_don’t_escape_quotes 257s === PAUSE TestNormalize/string_with_two_backslashes_don’t_escape_quotes 257s === RUN TestNormalize/as_empty_elements_separated_with_commas_are_kept 257s === PAUSE TestNormalize/as_empty_elements_separated_with_commas_are_kept 257s === RUN TestNormalize/Multi-lines_as_quoted 257s === PAUSE TestNormalize/Multi-lines_as_quoted 257s === RUN TestNormalize/Multi-lines_as_with_all_unquoted_','_will_split 257s === PAUSE TestNormalize/Multi-lines_as_with_all_unquoted_','_will_split 257s === RUN TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_after_[]_are_ignored 257s === PAUSE TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_after_[]_are_ignored 257s === RUN TestNormalize/Multi-lines_ai 257s === PAUSE TestNormalize/Multi-lines_ai 257s === RUN TestNormalize/empty_quoted_string 257s === PAUSE TestNormalize/empty_quoted_string 257s === RUN TestNormalize/n_transformed_to_boolean 257s === PAUSE TestNormalize/n_transformed_to_boolean 257s === RUN TestNormalize/non_supported_is_reported_as_is 257s === PAUSE TestNormalize/non_supported_is_reported_as_is 257s === RUN TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_before_[]_are_ignored 257s === PAUSE TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_before_[]_are_ignored 257s === RUN TestNormalize/y_transformed_to_boolean 257s === PAUSE TestNormalize/y_transformed_to_boolean 257s === RUN TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_before_[]_are_ignored 257s === PAUSE TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_before_[]_are_ignored 257s === RUN TestNormalize/as_with_spaces_inside 257s === PAUSE TestNormalize/as_with_spaces_inside 257s === CONT TestNormalize/as_partially_quoted_unbalanced_end_can_lead_to_unexpect_result 257s === CONT TestNormalize/as_with_spaces_inside 257s === CONT TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_before_[]_are_ignored 257s === CONT TestNormalize/y_transformed_to_boolean 257s === CONT TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_before_[]_are_ignored 257s === CONT TestNormalize/non_supported_is_reported_as_is 257s === CONT TestNormalize/n_transformed_to_boolean 257s === CONT TestNormalize/empty_quoted_string 257s === CONT TestNormalize/Multi-lines_ai 257s === CONT TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_after_[]_are_ignored 257s === CONT TestNormalize/Multi-lines_as_with_all_unquoted_','_will_split 257s === CONT TestNormalize/Multi-lines_as_quoted 257s === CONT TestNormalize/as_empty_elements_separated_with_commas_are_kept 257s === CONT TestNormalize/string_with_two_backslashes_don’t_escape_quotes 257s === CONT TestNormalize/empty_unquoted_string 257s === CONT TestNormalize/Multi-lines_as_unquoted 257s === CONT TestNormalize/as_with_empty_quoted_can_lead_to_unexpect_result 257s === CONT TestNormalize/simple_as_with_no_spaces 257s === CONT TestNormalize/quoted_string_with_quotes 257s === CONT TestNormalize/unmanaged_types_are_returned_as_is 257s === CONT TestNormalize/simple_quoted_as 257s === CONT TestNormalize/simple_unquoted_as 257s === CONT TestNormalize/simple_boolean_false 257s === CONT TestNormalize/one_quote 257s === CONT TestNormalize/as_partially_quoted_unbalanced_start_can_lead_to_unexpect_result 257s === CONT TestNormalize/as_partially_quoted_with_comma_can_lead_to_unexpected_result 257s === CONT TestNormalize/off_transformed_to_boolean 257s === CONT TestNormalize/as_with_leading_and_ending_spaces_and__[] 257s === CONT TestNormalize/simple_boolean_true 257s === CONT TestApplyPolicy/Multi-lines_as 257s === CONT TestNormalize/simple_quoted_string 257s === CONT TestNormalize/Multi-lines_ai_with_empty_lines_strips_empty_element 257s === CONT TestNormalize/simple_ai_with_no_spaces 257s === CONT TestNormalize/Multi-lines_as_and_single_line_mix,_unquoted 257s === CONT TestNormalize/as_with_weird_composition_inception_will_be_quoted 257s === CONT TestNormalize/as_simple_quoted_as_with_spaces 257s === CONT TestNormalize/yes_transformed_to_boolean 257s === CONT TestNormalize/string_with_escaped_quotes 257s === CONT TestNormalize/Multi-lines_ai_with_consecutive_empty_lines_strips_empty_element 257s === CONT TestNormalize/Multi-lines_as_with_empty_lines_strips_empty_elements 257s === CONT TestNormalize/Multi-lines_as_with_leading_and_trailing_brackets 257s === CONT TestNormalize/no_transformed_to_boolean 257s === CONT TestNormalize/weird_case_true 257s === CONT TestNormalize/ai_with_leading_and_ending_spaces_and__[] 257s === CONT TestNormalize/ai_with_spaces_inside 257s === CONT TestNormalize/simple_ai 257s === CONT TestNormalize/Multi-lines_as_with_spaces_inside 257s === CONT TestNormalize/string_with_multiple_backslashes_escaped_quotes 257s === CONT TestNormalize/ai_with_leading_and_ending_spaces_and_no_[] 257s === CONT TestNormalize/ai_without_ending_] 257s === CONT TestNormalize/Multi-lines_as_and_single_line_mix,_quoted 257s === CONT TestNormalize/as_partially_quoted_can_lead_to_unexpect_result 257s === CONT TestNormalize/as_with_leading_and_ending_spaces_and_no_[] 257s === CONT TestNormalize/on_transformed_to_boolean 257s === CONT TestNormalize/with_spaces 257s === CONT TestNormalize/Multi-lines_ai_with_leading_and_trailing_brackets 257s === CONT TestNormalize/ai_empty_elements_separated_with_commas_are_kept 257s === CONT TestNormalize/as_wrongly_quoted_will_consider_comma_as_part_of_the_string 257s === CONT TestNormalize/weird_case_false 257s === CONT TestNormalize/unquoted_string_with_quotes 257s === CONT TestNormalize/one_escaped_quote 257s === CONT TestNormalize/ai_without_leading_[ 257s === CONT TestNormalize/Multi-lines_as_with_explicit_empty_element 257s === CONT TestNormalize/Multi-lines_as_with_consecutive_empty_lines_strip_empty_elements 257s === CONT TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_are_ignored 257s === CONT TestNormalize/Multi-lines_ai_with_all_unquoted_','_will_split 257s === CONT TestNormalize/Multi-lines_ai_with_spaces_inside 257s === CONT TestNormalize/as_without_ending_] 257s === CONT TestNormalize/as_without_leading_[ 257s === CONT TestNormalize/simple_unquoted_string 257s === CONT TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_after_[]_are_ignored 257s === CONT TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_are_ignored 257s === CONT TestNormalize/Multi-lines_as_with_quoted_','_is_supported 257s --- PASS: TestNormalize (0.00s) 257s --- PASS: TestNormalize/as_partially_quoted_unbalanced_end_can_lead_to_unexpect_result (0.00s) 257s --- PASS: TestNormalize/as_with_spaces_inside (0.00s) 257s --- PASS: TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_before_[]_are_ignored (0.00s) 257s --- PASS: TestNormalize/y_transformed_to_boolean (0.00s) 257s --- PASS: TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_before_[]_are_ignored (0.00s) 257s --- PASS: TestNormalize/non_supported_is_reported_as_is (0.00s) 257s --- PASS: TestNormalize/n_transformed_to_boolean (0.00s) 257s --- PASS: TestNormalize/empty_quoted_string (0.00s) 257s --- PASS: TestNormalize/Multi-lines_ai (0.00s) 257s --- PASS: TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_after_[]_are_ignored (0.00s) 257s --- PASS: TestNormalize/Multi-lines_as_with_all_unquoted_','_will_split (0.00s) 257s --- PASS: TestNormalize/Multi-lines_as_quoted (0.00s) 257s --- PASS: TestNormalize/as_empty_elements_separated_with_commas_are_kept (0.00s) 257s --- PASS: TestNormalize/string_with_two_backslashes_don’t_escape_quotes (0.00s) 257s --- PASS: TestNormalize/empty_unquoted_string (0.00s) 257s --- PASS: TestNormalize/Multi-lines_as_unquoted (0.00s) 257s --- PASS: TestNormalize/as_with_empty_quoted_can_lead_to_unexpect_result (0.00s) 257s --- PASS: TestNormalize/simple_as_with_no_spaces (0.00s) 257s --- PASS: TestNormalize/quoted_string_with_quotes (0.00s) 257s --- PASS: TestNormalize/unmanaged_types_are_returned_as_is (0.00s) 257s --- PASS: TestNormalize/simple_quoted_as (0.00s) 257s --- PASS: TestNormalize/simple_unquoted_as (0.00s) 257s --- PASS: TestNormalize/simple_boolean_false (0.00s) 257s --- PASS: TestNormalize/one_quote (0.00s) 257s --- PASS: TestNormalize/as_partially_quoted_unbalanced_start_can_lead_to_unexpect_result (0.00s) 257s --- PASS: TestNormalize/as_partially_quoted_with_comma_can_lead_to_unexpected_result (0.00s) 257s --- PASS: TestNormalize/off_transformed_to_boolean (0.00s) 257s --- PASS: TestNormalize/as_with_leading_and_ending_spaces_and__[] (0.00s) 257s --- PASS: TestNormalize/simple_boolean_true (0.00s) 257s --- PASS: TestNormalize/simple_quoted_string (0.00s) 257s --- PASS: TestNormalize/Multi-lines_ai_with_empty_lines_strips_empty_element (0.00s) 257s --- PASS: TestNormalize/simple_ai_with_no_spaces (0.00s) 257s --- PASS: TestNormalize/Multi-lines_as_and_single_line_mix,_unquoted (0.00s) 257s --- PASS: TestNormalize/as_with_weird_composition_inception_will_be_quoted (0.00s) 257s --- PASS: TestNormalize/as_simple_quoted_as_with_spaces (0.00s) 257s --- PASS: TestNormalize/yes_transformed_to_boolean (0.00s) 257s --- PASS: TestNormalize/string_with_escaped_quotes (0.00s) 257s --- PASS: TestNormalize/Multi-lines_ai_with_consecutive_empty_lines_strips_empty_element (0.00s) 257s --- PASS: TestNormalize/Multi-lines_as_with_empty_lines_strips_empty_elements (0.00s) 257s --- PASS: TestNormalize/Multi-lines_as_with_leading_and_trailing_brackets (0.00s) 257s --- PASS: TestNormalize/no_transformed_to_boolean (0.00s) 257s --- PASS: TestNormalize/weird_case_true (0.00s) 257s --- PASS: TestNormalize/ai_with_leading_and_ending_spaces_and__[] (0.00s) 257s --- PASS: TestNormalize/ai_with_spaces_inside (0.00s) 257s --- PASS: TestNormalize/simple_ai (0.00s) 257s --- PASS: TestNormalize/Multi-lines_as_with_spaces_inside (0.00s) 257s --- PASS: TestNormalize/string_with_multiple_backslashes_escaped_quotes (0.00s) 257s --- PASS: TestNormalize/ai_with_leading_and_ending_spaces_and_no_[] (0.00s) 257s --- PASS: TestNormalize/ai_without_ending_] (0.00s) 257s --- PASS: TestNormalize/Multi-lines_as_and_single_line_mix,_quoted (0.00s) 257s --- PASS: TestNormalize/as_partially_quoted_can_lead_to_unexpect_result (0.00s) 257s --- PASS: TestNormalize/as_with_leading_and_ending_spaces_and_no_[] (0.00s) 257s --- PASS: TestNormalize/on_transformed_to_boolean (0.00s) 257s --- PASS: TestNormalize/with_spaces (0.00s) 257s --- PASS: TestNormalize/Multi-lines_ai_with_leading_and_trailing_brackets (0.00s) 257s --- PASS: TestNormalize/ai_empty_elements_separated_with_commas_are_kept (0.00s) 257s --- PASS: TestNormalize/as_wrongly_quoted_will_consider_comma_as_part_of_the_string (0.00s) 257s --- PASS: TestNormalize/weird_case_false (0.00s) 257s --- PASS: TestNormalize/unquoted_string_with_quotes (0.00s) 257s --- PASS: TestNormalize/one_escaped_quote (0.00s) 257s --- PASS: TestNormalize/ai_without_leading_[ (0.00s) 257s --- PASS: TestNormalize/Multi-lines_as_with_explicit_empty_element (0.00s) 257s --- PASS: TestNormalize/Multi-lines_as_with_consecutive_empty_lines_strip_empty_elements (0.00s) 257s --- PASS: TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_are_ignored (0.00s) 257s --- PASS: TestNormalize/Multi-lines_ai_with_all_unquoted_','_will_split (0.00s) 257s --- PASS: TestNormalize/Multi-lines_ai_with_spaces_inside (0.00s) 257s --- PASS: TestNormalize/as_without_ending_] (0.00s) 257s --- PASS: TestNormalize/as_without_leading_[ (0.00s) 257s --- PASS: TestNormalize/simple_unquoted_string (0.00s) 257s --- PASS: TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_after_[]_are_ignored (0.00s) 257s --- PASS: TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_are_ignored (0.00s) 257s --- PASS: TestNormalize/Multi-lines_as_with_quoted_','_is_supported (0.00s) 257s === CONT TestApplyPolicy/Error_on_invalid_type 257s === CONT TestApplyPolicy/Missing_machine_compiled_db_for_user 257s === CONT TestApplyPolicy/No_surrounding_brackets_multiple_ai 257s === CONT TestApplyPolicy/Machine_updates_existing_value 257s === CONT TestApplyPolicy/Normalized_canonical_form_for_each_supported_key 257s === CONT TestApplyPolicy/No_update_when_no_change 257s === CONT TestApplyPolicy/Update_user_disabled_key_with_value 257s === CONT TestApplyPolicy/Error_on_empty_meta 257s === CONT TestApplyPolicy/Error_on_invalid_value_for_unnormalized_type 257s === CONT TestApplyPolicy/Do_not_interfere_with_other_user_profile 257s === CONT TestApplyPolicy/Invalid_as_is_too_robust_to_produce_defaulting_values 257s === CONT TestApplyPolicy/No_surrounding_brackets_quoted_as 257s === CONT TestApplyPolicy/No_surrounding_brackets_unquoted_as 257s === CONT TestApplyPolicy/Quoted_b 257s === CONT TestApplyPolicy/Update_existing_profile_without_needed_db_append_them 257s === CONT TestApplyPolicy/Multiple_sections_with_disabled_keys 257s === CONT TestApplyPolicy/Error_when_machine_db_does_not_exist 257s === CONT TestApplyPolicy/Multi-lines_as_mixed_with_comma 257s === CONT TestApplyPolicy/No_surrounding_brackets_ai 257s === CONT TestApplyPolicy/Multi-lines_ai_mixed_with_comma 257s === CONT TestApplyPolicy/Mixing_sections_and_keys_still_groups_sections 257s === CONT TestApplyPolicy/Machine_updates_key_is_now_disabled 257s === CONT TestApplyPolicy/User_updates_key_is_now_disabled 257s === CONT TestApplyPolicy/Update_existing_profile_without_needed_db,_trailine_lines_are_removed 257s === CONT TestApplyPolicy/No_surrounding_brackets_quoted_multiple_as 257s === CONT TestApplyPolicy/No_surrounding_brackets_unquoted_multiple_as 257s === CONT TestApplyPolicy/Unquoted_string 257s === CONT TestApplyPolicy/Update_machine_disabled_key_with_value 257s === CONT TestApplyPolicy/First_boot 257s === CONT TestApplyPolicy/User_updates_with_different_value 257s === CONT TestApplyPolicy/New_user 257s === CONT TestApplyPolicy/Update_existing_profile_with_wrong_order_appends_them_in_correct_order 257s === CONT TestApplyPolicy/User_updates_existing_value 257s === CONT TestApplyPolicy/Update_existing_profile_with_partial_db_append_them_without_repetition 257s === CONT TestApplyPolicy/Quoted_i 257s === CONT TestApplyPolicy/Missing_user_compiled_db_for_user 257s === CONT TestApplyPolicy/Missing_machine_compiled_db_for_machine 257s === CONT TestApplyPolicy/Multiple_keys_same_category 257s === CONT TestApplyPolicy/Update_existing_profile_eliminates_adsys_DB_repetitions 257s === CONT TestApplyPolicy/Multiple_sections 257s === CONT TestApplyPolicy/Update_existing_correct_profile_with_trailing_spaces_are_removed 257s === CONT TestApplyPolicy/No_policy_still_generates_a_valid_db 257s === CONT TestApplyPolicy/Error_on_invalid_ai 257s === CONT TestApplyPolicy/Update_existing_correct_profile_stays_unchanged 257s === CONT TestApplyPolicy/Machine_updates_with_different_value 257s === CONT TestApplyPolicy/Do_not_update_other_files_from_db 257s --- PASS: TestApplyPolicy (0.00s) 257s --- PASS: TestApplyPolicy/Multi-lines_ai (0.00s) 257s --- PASS: TestApplyPolicy/Error_on_invalid_type (0.00s) 257s --- PASS: TestApplyPolicy/Multi-lines_as (0.00s) 257s --- PASS: TestApplyPolicy/Missing_machine_compiled_db_for_user (0.00s) 257s --- PASS: TestApplyPolicy/No_surrounding_brackets_multiple_ai (0.00s) 257s --- PASS: TestApplyPolicy/Normalized_canonical_form_for_each_supported_key (0.00s) 257s --- PASS: TestApplyPolicy/Machine_updates_existing_value (0.00s) 257s --- PASS: TestApplyPolicy/No_update_when_no_change (0.00s) 257s --- PASS: TestApplyPolicy/Update_user_disabled_key_with_value (0.00s) 257s --- PASS: TestApplyPolicy/Error_on_invalid_value_for_unnormalized_type (0.00s) 257s --- PASS: TestApplyPolicy/Error_on_empty_meta (0.00s) 257s --- PASS: TestApplyPolicy/Invalid_as_is_too_robust_to_produce_defaulting_values (0.00s) 257s --- PASS: TestApplyPolicy/Do_not_interfere_with_other_user_profile (0.01s) 257s --- PASS: TestApplyPolicy/No_surrounding_brackets_quoted_as (0.00s) 257s --- PASS: TestApplyPolicy/No_surrounding_brackets_unquoted_as (0.00s) 257s --- PASS: TestApplyPolicy/Quoted_b (0.00s) 257s --- PASS: TestApplyPolicy/Update_existing_profile_without_needed_db_append_them (0.00s) 257s --- PASS: TestApplyPolicy/Error_when_machine_db_does_not_exist (0.00s) 257s --- PASS: TestApplyPolicy/Multiple_sections_with_disabled_keys (0.00s) 257s --- PASS: TestApplyPolicy/Multi-lines_as_mixed_with_comma (0.00s) 257s --- PASS: TestApplyPolicy/Multi-lines_ai_mixed_with_comma (0.00s) 257s --- PASS: TestApplyPolicy/Mixing_sections_and_keys_still_groups_sections (0.00s) 257s --- PASS: TestApplyPolicy/No_surrounding_brackets_ai (0.01s) 257s --- PASS: TestApplyPolicy/Machine_updates_key_is_now_disabled (0.00s) 257s --- PASS: TestApplyPolicy/Update_existing_profile_without_needed_db,_trailine_lines_are_removed (0.00s) 257s --- PASS: TestApplyPolicy/No_surrounding_brackets_quoted_multiple_as (0.00s) 257s --- PASS: TestApplyPolicy/No_surrounding_brackets_unquoted_multiple_as (0.00s) 257s --- PASS: TestApplyPolicy/Unquoted_string (0.00s) 257s --- PASS: TestApplyPolicy/User_updates_key_is_now_disabled (0.01s) 257s --- PASS: TestApplyPolicy/First_boot (0.00s) 257s --- PASS: TestApplyPolicy/Update_machine_disabled_key_with_value (0.00s) 257s --- PASS: TestApplyPolicy/User_updates_with_different_value (0.00s) 257s --- PASS: TestApplyPolicy/Update_existing_profile_with_wrong_order_appends_them_in_correct_order (0.00s) 257s --- PASS: TestApplyPolicy/New_user (0.00s) 257s --- PASS: TestApplyPolicy/User_updates_existing_value (0.00s) 257s --- PASS: TestApplyPolicy/Quoted_i (0.00s) 257s --- PASS: TestApplyPolicy/Missing_user_compiled_db_for_user (0.00s) 257s --- PASS: TestApplyPolicy/Update_existing_profile_with_partial_db_append_them_without_repetition (0.01s) 257s --- PASS: TestApplyPolicy/Missing_machine_compiled_db_for_machine (0.00s) 257s --- PASS: TestApplyPolicy/Update_existing_profile_eliminates_adsys_DB_repetitions (0.00s) 257s --- PASS: TestApplyPolicy/Multiple_keys_same_category (0.00s) 257s --- PASS: TestApplyPolicy/Multiple_sections (0.00s) 257s --- PASS: TestApplyPolicy/No_policy_still_generates_a_valid_db (0.00s) 257s --- PASS: TestApplyPolicy/Update_existing_correct_profile_with_trailing_spaces_are_removed (0.01s) 257s --- PASS: TestApplyPolicy/Error_on_invalid_ai (0.00s) 257s --- PASS: TestApplyPolicy/Machine_updates_with_different_value (0.00s) 257s --- PASS: TestApplyPolicy/Update_existing_correct_profile_stays_unchanged (0.00s) 257s --- PASS: TestApplyPolicy/Do_not_update_other_files_from_db (0.00s) 257s PASS 257s ok github.com/ubuntu/adsys/internal/policies/dconf 0.113s 257s ? github.com/ubuntu/adsys/internal/policies/entry [no test files] 257s === RUN TestApplyPolicy 257s === PAUSE TestApplyPolicy 257s === CONT TestApplyPolicy 257s === RUN TestApplyPolicy/dconf_policy 257s === PAUSE TestApplyPolicy/dconf_policy 257s === CONT TestApplyPolicy/dconf_policy 257s --- PASS: TestApplyPolicy (0.00s) 257s --- PASS: TestApplyPolicy/dconf_policy (0.00s) 257s PASS 257s ok github.com/ubuntu/adsys/internal/policies/gdm 0.033s 261s === RUN TestParseEntryValues 261s === PAUSE TestParseEntryValues 261s === RUN TestWriteFileWithUIDGID 261s === PAUSE TestWriteFileWithUIDGID 261s === RUN TestCreateUnits 261s === PAUSE TestCreateUnits 261s === RUN TestNew 261s === PAUSE TestNew 261s === RUN TestApplyPolicy 261s === PAUSE TestApplyPolicy 261s === CONT TestParseEntryValues 261s === CONT TestNew 261s === RUN TestParseEntryValues/Parse_values_from_entry_with_kerberos_auth_tags 261s === PAUSE TestParseEntryValues/Parse_values_from_entry_with_kerberos_auth_tags 261s === RUN TestParseEntryValues/Returns_empty_slice_if_the_entry_is_empty 261s === PAUSE TestParseEntryValues/Returns_empty_slice_if_the_entry_is_empty 261s === RUN TestParseEntryValues/Error_when_parsing_entry_with_badly_formatted_values 261s === PAUSE TestParseEntryValues/Error_when_parsing_entry_with_badly_formatted_values 261s === RUN TestParseEntryValues/Parse_values_from_entry_with_one_value 261s === PAUSE TestParseEntryValues/Parse_values_from_entry_with_one_value 261s === RUN TestNew/Creates_manager_successfully 261s === PAUSE TestNew/Creates_manager_successfully 261s === RUN TestNew/Error_when_runDir_has_invalid_permissions 261s === PAUSE TestNew/Error_when_runDir_has_invalid_permissions 261s === RUN TestNew/Error_when_systemUnitDir_has_invalid_permissions 261s === PAUSE TestNew/Error_when_systemUnitDir_has_invalid_permissions 261s === CONT TestApplyPolicy 261s === RUN TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_repeated_tagged_values 261s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_repeated_tagged_values 261s === RUN TestApplyPolicy/Error_when_cleaning_up_user_policy_with_invalid_user 261s === PAUSE TestApplyPolicy/Error_when_cleaning_up_user_policy_with_invalid_user 261s === RUN TestApplyPolicy/Error_when_user_is_not_found 261s === PAUSE TestApplyPolicy/Error_when_user_is_not_found 261s === RUN TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_repeated_values 261s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_repeated_values 261s === RUN TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_an_empty_entry 261s === PAUSE TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_an_empty_entry 261s === RUN TestApplyPolicy/System,_successfully_apply_policy_filtering_out_unsupported_keys 261s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_filtering_out_unsupported_keys 261s === RUN TestApplyPolicy/System,_successfully_apply_policy_with_kerberos_tagged_values 261s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_with_kerberos_tagged_values 261s === RUN TestApplyPolicy/System,_does_nothing_if_there_are_no_entries 261s === PAUSE TestApplyPolicy/System,_does_nothing_if_there_are_no_entries 261s === RUN TestApplyPolicy/Error_when_cleaning_up_user_policy_with_no_entries_and_path_already_exists_as_a_directory 261s === PAUSE TestApplyPolicy/Error_when_cleaning_up_user_policy_with_no_entries_and_path_already_exists_as_a_directory 261s === RUN TestApplyPolicy/Error_when_users-userDir_has_invalid_permissions 261s === PAUSE TestApplyPolicy/Error_when_users-userDir_has_invalid_permissions 261s === RUN TestApplyPolicy/System,_successfully_apply_policy_prioritizing_the_first_value_found,_despite_the_tag 261s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_prioritizing_the_first_value_found,_despite_the_tag 261s === RUN TestApplyPolicy/Error_when_updating_policy_and_system_mount_unit_to_remove_is_a_dir 261s === PAUSE TestApplyPolicy/Error_when_updating_policy_and_system_mount_unit_to_remove_is_a_dir 261s === RUN TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_one_value 261s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_one_value 261s === RUN TestApplyPolicy/Error_when_enabling_new_units_fails 261s === PAUSE TestApplyPolicy/Error_when_enabling_new_units_fails 261s === RUN TestApplyPolicy/System,_successfully_apply_policy_trimming_whitespaces 261s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_trimming_whitespaces 261s === RUN TestApplyPolicy/System,_successfully_apply_policy_trimming_sequential_linebreaks 261s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_trimming_sequential_linebreaks 261s === RUN TestApplyPolicy/System,_does_nothing_if_the_entry_is_empty 261s === PAUSE TestApplyPolicy/System,_does_nothing_if_the_entry_is_empty 261s === RUN TestApplyPolicy/System,_mount_units_are_updated_on_refreshing_policy_with_an_entry_with_multiple_values 261s === PAUSE TestApplyPolicy/System,_mount_units_are_updated_on_refreshing_policy_with_an_entry_with_multiple_values 261s === RUN TestApplyPolicy/Error_when_trying_to_update_policy_with_badly_formatted_entry 261s === PAUSE TestApplyPolicy/Error_when_trying_to_update_policy_with_badly_formatted_entry 261s === RUN TestApplyPolicy/User,_does_nothing_if_the_entry_is_disabled 261s === PAUSE TestApplyPolicy/User,_does_nothing_if_the_entry_is_disabled 261s === RUN TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_one_value 261s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_one_value 261s === RUN TestApplyPolicy/Error_when_daemon-reload_fails 261s === PAUSE TestApplyPolicy/Error_when_daemon-reload_fails 261s === RUN TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_an_empty_entry 261s === PAUSE TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_an_empty_entry 261s === RUN TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_disabled_entry 261s === PAUSE TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_disabled_entry 261s === RUN TestApplyPolicy/Creates_only_dirs_when_trying_to_policy_with_unsupported_key 261s === PAUSE TestApplyPolicy/Creates_only_dirs_when_trying_to_policy_with_unsupported_key 261s === RUN TestApplyPolicy/Creates_only_dirs_when_trying_to_apply_policy_with_no_entries 261s === PAUSE TestApplyPolicy/Creates_only_dirs_when_trying_to_apply_policy_with_no_entries 261s === RUN TestApplyPolicy/Error_when_cleaning_up_user_policy_with_empty_entry_and_path_already_exists_as_a_directory 261s === PAUSE TestApplyPolicy/Error_when_cleaning_up_user_policy_with_empty_entry_and_path_already_exists_as_a_directory 261s === RUN TestApplyPolicy/Error_when_user_has_invalid_gid 261s === PAUSE TestApplyPolicy/Error_when_user_has_invalid_gid 261s === RUN TestApplyPolicy/Error_when_mounts_file_path_already_exists_as_a_directory 261s === PAUSE TestApplyPolicy/Error_when_mounts_file_path_already_exists_as_a_directory 261s === RUN TestApplyPolicy/User,_successfully_apply_policy_trimming_whitespaces 261s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_trimming_whitespaces 261s === RUN TestApplyPolicy/User,_mount_file_is_updated_on_refreshing_policy_with_an_entry_with_multiple_values 261s === PAUSE TestApplyPolicy/User,_mount_file_is_updated_on_refreshing_policy_with_an_entry_with_multiple_values 261s === RUN TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_multiple_values 261s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_multiple_values 261s === RUN TestApplyPolicy/Error_when_applying_policy_with_entry_containing_badly_formatted_value 261s === PAUSE TestApplyPolicy/Error_when_applying_policy_with_entry_containing_badly_formatted_value 261s === RUN TestApplyPolicy/System,_does_nothing_if_the_entry_is_disabled 261s === PAUSE TestApplyPolicy/System,_does_nothing_if_the_entry_is_disabled 261s === RUN TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_multiple_values 261s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_multiple_values 261s === RUN TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_repeated_tagged_values 261s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_repeated_tagged_values 261s === RUN TestApplyPolicy/User,_successfully_apply_policy_trimming_sequential_linebreaks 261s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_trimming_sequential_linebreaks 261s === RUN TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_repeated_values 261s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_repeated_values 261s === RUN TestApplyPolicy/System,_only_emit_a_warning_when_stopping_previous_units_fails 261s === PAUSE TestApplyPolicy/System,_only_emit_a_warning_when_stopping_previous_units_fails 261s === RUN TestApplyPolicy/Error_when_disabling_units_for_clean_up_fails 261s === PAUSE TestApplyPolicy/Error_when_disabling_units_for_clean_up_fails 261s === RUN TestApplyPolicy/Error_when_applying_system_policy_and_the_entry_is_errored 261s === PAUSE TestApplyPolicy/Error_when_applying_system_policy_and_the_entry_is_errored 261s === RUN TestApplyPolicy/System,_only_emit_a_warning_when_starting_new_units_fails 261s === PAUSE TestApplyPolicy/System,_only_emit_a_warning_when_starting_new_units_fails 261s === RUN TestApplyPolicy/Error_when_user_has_invalid_uid 261s === PAUSE TestApplyPolicy/Error_when_user_has_invalid_uid 261s === RUN TestApplyPolicy/User,_successfully_apply_policy_filtering_out_unsupported_keys 261s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_filtering_out_unsupported_keys 261s === RUN TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_a_disabled_entry 261s === PAUSE TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_a_disabled_entry 261s === RUN TestApplyPolicy/System,_mount_units_are_added_on_refreshing_policy_with_some_matching_values 261s === PAUSE TestApplyPolicy/System,_mount_units_are_added_on_refreshing_policy_with_some_matching_values 261s === RUN TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_no_entries 261s === PAUSE TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_no_entries 261s === RUN TestApplyPolicy/Error_when_entry_is_errored 261s === PAUSE TestApplyPolicy/Error_when_entry_is_errored 261s === RUN TestApplyPolicy/Error_when_creating_units_with_bad_entry_values 261s === PAUSE TestApplyPolicy/Error_when_creating_units_with_bad_entry_values 261s === RUN TestApplyPolicy/Error_when_applying_policy_and_system_mount_unit_already_exists_as_dir 261s === PAUSE TestApplyPolicy/Error_when_applying_policy_and_system_mount_unit_already_exists_as_dir 261s === RUN TestApplyPolicy/User,_successfully_apply_policy_with_kerberos_auth_tags 261s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_with_kerberos_auth_tags 261s === RUN TestApplyPolicy/User,_successfully_apply_policy_prioritizing_the_first_value_found,_despite_the_tag 261s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_prioritizing_the_first_value_found,_despite_the_tag 261s === RUN TestApplyPolicy/User,_creates_only_dirs_if_the_entry_is_empty 261s === PAUSE TestApplyPolicy/User,_creates_only_dirs_if_the_entry_is_empty 261s === RUN TestApplyPolicy/User,_creates_only_dirs_if_there_are_no_entries 261s === PAUSE TestApplyPolicy/User,_creates_only_dirs_if_there_are_no_entries 261s === RUN TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_no_entries 261s === PAUSE TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_no_entries 261s === CONT TestCreateUnits 261s === RUN TestCreateUnits/Write_single_unit 261s === PAUSE TestCreateUnits/Write_single_unit 261s === RUN TestCreateUnits/Write_multiple_units 261s === PAUSE TestCreateUnits/Write_multiple_units 261s === RUN TestCreateUnits/Write_krb5_tagged_unit 261s === PAUSE TestCreateUnits/Write_krb5_tagged_unit 261s === CONT TestWriteFileWithUIDGID 261s === RUN TestWriteFileWithUIDGID/Error_when_invalid_gid 261s === PAUSE TestWriteFileWithUIDGID/Error_when_invalid_gid 261s === RUN TestWriteFileWithUIDGID/Error_when_writing_on_a_dir_with_invalid_permissions 261s === PAUSE TestWriteFileWithUIDGID/Error_when_writing_on_a_dir_with_invalid_permissions 261s === RUN TestWriteFileWithUIDGID/Error_when_path_already_exists_as_a_directory 261s === PAUSE TestWriteFileWithUIDGID/Error_when_path_already_exists_as_a_directory 261s === RUN TestWriteFileWithUIDGID/Write_file_with_current_user_ownership 261s === PAUSE TestWriteFileWithUIDGID/Write_file_with_current_user_ownership 261s === RUN TestWriteFileWithUIDGID/Error_when_invalid_uid 261s === PAUSE TestWriteFileWithUIDGID/Error_when_invalid_uid 261s === CONT TestNew/Creates_manager_successfully 261s === CONT TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_repeated_tagged_values 261s time="2025-10-18T14:43:38Z" level=warning msg="failed to start unit \"adsys-rpt-repeated.com-repeatedmount.mount\": failed to start unit" 261s time="2025-10-18T14:43:38Z" level=warning msg="failed to start unit \"adsys-cifs-single.com-mnt.mount\": failed to start unit" 261s time="2025-10-18T14:43:38Z" level=warning msg="failed to start unit \"adsys-nfs-anotherone.com-mnt.mount\": failed to start unit" 261s === RUN TestParseEntryValues/Parse_values_from_entry_with_multiple_values 261s === PAUSE TestParseEntryValues/Parse_values_from_entry_with_multiple_values 261s === RUN TestParseEntryValues/Parse_values_from_entry_with_repeated_values 261s === PAUSE TestParseEntryValues/Parse_values_from_entry_with_repeated_values 261s === RUN TestParseEntryValues/Parse_values_trimming_whitespaces 261s === PAUSE TestParseEntryValues/Parse_values_trimming_whitespaces 261s === RUN TestParseEntryValues/Parse_values_trimming_sequential_linebreaks 261s === PAUSE TestParseEntryValues/Parse_values_trimming_sequential_linebreaks 261s === CONT TestNew/Error_when_systemUnitDir_has_invalid_permissions 261s === CONT TestNew/Error_when_runDir_has_invalid_permissions 261s --- PASS: TestNew (0.00s) 261s --- PASS: TestNew/Creates_manager_successfully (0.00s) 261s --- PASS: TestNew/Error_when_systemUnitDir_has_invalid_permissions (0.00s) 261s --- PASS: TestNew/Error_when_runDir_has_invalid_permissions (0.00s) 261s === CONT TestCreateUnits/Write_single_unit 261s === CONT TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_no_entries 261s === CONT TestApplyPolicy/User,_creates_only_dirs_if_there_are_no_entries 261s === CONT TestApplyPolicy/User,_creates_only_dirs_if_the_entry_is_empty 261s === CONT TestApplyPolicy/User,_successfully_apply_policy_prioritizing_the_first_value_found,_despite_the_tag 261s time="2025-10-18T14:43:38Z" level=warning msg="The location \"[krb5]nfs://domain/untagged_first\" was already set up to be mounted with different options or authentication. The first provided value \"nfs://domain/untagged_first\" will be used instead." 261s time="2025-10-18T14:43:38Z" level=warning msg="The location \"nfs://domain/tagged_first\" was already set up to be mounted with different options or authentication. The first provided value \"[krb5]nfs://domain/tagged_first\" will be used instead." 261s === CONT TestApplyPolicy/User,_successfully_apply_policy_with_kerberos_auth_tags 261s === CONT TestApplyPolicy/Error_when_applying_policy_and_system_mount_unit_already_exists_as_dir 261s === CONT TestApplyPolicy/Error_when_creating_units_with_bad_entry_values 261s === CONT TestApplyPolicy/Error_when_entry_is_errored 261s === CONT TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_no_entries 261s time="2025-10-18T14:43:38Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 261s === CONT TestApplyPolicy/System,_mount_units_are_added_on_refreshing_policy_with_some_matching_values 261s time="2025-10-18T14:43:38Z" level=warning msg="failed to start unit \"adsys-cifs-otherdomain.com-mount-path.mount\": failed to start unit" 261s time="2025-10-18T14:43:38Z" level=warning msg="failed to start unit \"adsys-nfs-yetanotherdomain.com-mount_path-mount-path.mount\": failed to start unit" 261s time="2025-10-18T14:43:38Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath2.mount\": failed to start unit" 261s === CONT TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_a_disabled_entry 261s === CONT TestApplyPolicy/User,_successfully_apply_policy_filtering_out_unsupported_keys 261s time="2025-10-18T14:43:38Z" level=warning msg="failed to start unit \"adsys-fuse-completelydifferent.com-different-path.mount\": failed to start unit" 261s === CONT TestApplyPolicy/Error_when_user_has_invalid_uid 261s === CONT TestApplyPolicy/System,_only_emit_a_warning_when_starting_new_units_fails 261s time="2025-10-18T14:43:38Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 261s === CONT TestApplyPolicy/Error_when_applying_system_policy_and_the_entry_is_errored 261s === CONT TestApplyPolicy/Error_when_disabling_units_for_clean_up_fails 261s time="2025-10-18T14:43:38Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 261s === CONT TestApplyPolicy/System,_only_emit_a_warning_when_stopping_previous_units_fails 261s === CONT TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_repeated_values 261s time="2025-10-18T14:43:38Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 261s time="2025-10-18T14:43:38Z" level=warning msg="Failed to stop unit \"adsys-protocol-domain.com-mountpath.mount\": failed to stop unit" 261s time="2025-10-18T14:43:38Z" level=warning msg="failed to start unit \"adsys-rpt-repeated.com-repeatedmount.mount\": failed to start unit" 261s === CONT TestApplyPolicy/User,_successfully_apply_policy_trimming_sequential_linebreaks 261s time="2025-10-18T14:43:38Z" level=warning msg="failed to start unit \"adsys-cifs-single.com-mnt.mount\": failed to start unit" 261s time="2025-10-18T14:43:38Z" level=warning msg="failed to start unit \"adsys-nfs-anotherone.com-mnt.mount\": failed to start unit" 261s === CONT TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_repeated_tagged_values 261s === CONT TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_multiple_values 261s === CONT TestApplyPolicy/System,_does_nothing_if_the_entry_is_disabled 261s === CONT TestApplyPolicy/Error_when_applying_policy_with_entry_containing_badly_formatted_value 261s === CONT TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_multiple_values 261s === CONT TestApplyPolicy/User,_mount_file_is_updated_on_refreshing_policy_with_an_entry_with_multiple_values 261s time="2025-10-18T14:43:38Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath2.mount\": failed to start unit" 261s time="2025-10-18T14:43:38Z" level=warning msg="failed to start unit \"adsys-cifs-otherdomain.com-mount-path.mount\": failed to start unit" 261s time="2025-10-18T14:43:38Z" level=warning msg="failed to start unit \"adsys-nfs-yetanotherdomain.com-mount_path-mount-path.mount\": failed to start unit" 261s === CONT TestApplyPolicy/User,_successfully_apply_policy_trimming_whitespaces 261s === CONT TestApplyPolicy/Error_when_mounts_file_path_already_exists_as_a_directory 261s === CONT TestApplyPolicy/Error_when_user_has_invalid_gid 261s === CONT TestApplyPolicy/Error_when_cleaning_up_user_policy_with_empty_entry_and_path_already_exists_as_a_directory 261s === CONT TestApplyPolicy/Creates_only_dirs_when_trying_to_apply_policy_with_no_entries 261s === CONT TestApplyPolicy/Creates_only_dirs_when_trying_to_policy_with_unsupported_key 261s === CONT TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_disabled_entry 261s === CONT TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_an_empty_entry 261s time="2025-10-18T14:43:38Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 261s === CONT TestApplyPolicy/Error_when_daemon-reload_fails 261s === CONT TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_one_value 261s === CONT TestApplyPolicy/User,_does_nothing_if_the_entry_is_disabled 261s === CONT TestApplyPolicy/Error_when_trying_to_update_policy_with_badly_formatted_entry 261s time="2025-10-18T14:43:38Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 261s === CONT TestApplyPolicy/System,_mount_units_are_updated_on_refreshing_policy_with_an_entry_with_multiple_values 261s time="2025-10-18T14:43:38Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 261s time="2025-10-18T14:43:38Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 261s time="2025-10-18T14:43:38Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath2.mount\": failed to start unit" 261s time="2025-10-18T14:43:38Z" level=warning msg="failed to start unit \"adsys-cifs-otherdomain.com-mount-path.mount\": failed to start unit" 261s time="2025-10-18T14:43:38Z" level=warning msg="failed to start unit \"adsys-nfs-yetanotherdomain.com-mount_path-mount-path.mount\": failed to start unit" 261s === CONT TestApplyPolicy/System,_does_nothing_if_the_entry_is_empty 261s === CONT TestApplyPolicy/System,_successfully_apply_policy_trimming_sequential_linebreaks 261s time="2025-10-18T14:43:38Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mounpath.mount\": failed to start unit" 261s time="2025-10-18T14:43:38Z" level=warning msg="failed to start unit \"adsys-cifs-otherdomain.com-mount-path.mount\": failed to start unit" 261s === CONT TestApplyPolicy/System,_successfully_apply_policy_trimming_whitespaces 261s time="2025-10-18T14:43:38Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 261s time="2025-10-18T14:43:38Z" level=warning msg="failed to start unit \"adsys-cifs-otherdomain.com-mount-path.mount\": failed to start unit" 261s time="2025-10-18T14:43:38Z" level=warning msg="failed to start unit \"adsys-nfs-yetanotherdomain.com-path-mount.mount\": failed to start unit" 261s === CONT TestApplyPolicy/Error_when_enabling_new_units_fails 261s === CONT TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_one_value 261s === CONT TestApplyPolicy/Error_when_updating_policy_and_system_mount_unit_to_remove_is_a_dir 261s === CONT TestApplyPolicy/System,_successfully_apply_policy_prioritizing_the_first_value_found,_despite_the_tag 261s time="2025-10-18T14:43:38Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 261s time="2025-10-18T14:43:38Z" level=warning msg="The location \"[krb5]nfs://domain/untagged_first\" was already set up to be mounted with different options or authentication. The first provided value \"nfs://domain/untagged_first\" will be used instead." 261s time="2025-10-18T14:43:38Z" level=warning msg="The location \"nfs://domain/tagged_first\" was already set up to be mounted with different options or authentication. The first provided value \"[krb5]nfs://domain/tagged_first\" will be used instead." 261s time="2025-10-18T14:43:38Z" level=warning msg="failed to start unit \"adsys-nfs-domain-untagged_first.mount\": failed to start unit" 261s time="2025-10-18T14:43:38Z" level=warning msg="failed to start unit \"adsys-nfs-domain-tagged_first.mount\": failed to start unit" 261s === CONT TestApplyPolicy/Error_when_users-userDir_has_invalid_permissions 261s === CONT TestApplyPolicy/Error_when_cleaning_up_user_policy_with_no_entries_and_path_already_exists_as_a_directory 261s === CONT TestApplyPolicy/System,_does_nothing_if_there_are_no_entries 261s === CONT TestApplyPolicy/System,_successfully_apply_policy_with_kerberos_tagged_values 261s time="2025-10-18T14:43:38Z" level=warning msg="failed to start unit \"adsys-cifs-authenticated.com-authenticated-mount.mount\": failed to start unit" 261s time="2025-10-18T14:43:38Z" level=warning msg="failed to start unit \"adsys-nfs-krb_domain.com-mount-krb_path.mount\": failed to start unit" 261s time="2025-10-18T14:43:38Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 261s === CONT TestApplyPolicy/System,_successfully_apply_policy_filtering_out_unsupported_keys 261s === CONT TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_an_empty_entry 261s time="2025-10-18T14:43:38Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 261s === CONT TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_repeated_values 261s === CONT TestApplyPolicy/Error_when_user_is_not_found 261s === CONT TestApplyPolicy/Error_when_cleaning_up_user_policy_with_invalid_user 261s === CONT TestWriteFileWithUIDGID/Error_when_invalid_gid 261s --- PASS: TestApplyPolicy (0.00s) 261s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_repeated_tagged_values (0.00s) 261s --- PASS: TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_no_entries (0.00s) 261s --- PASS: TestApplyPolicy/User,_creates_only_dirs_if_there_are_no_entries (0.00s) 261s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_prioritizing_the_first_value_found,_despite_the_tag (0.00s) 261s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_with_kerberos_auth_tags (0.00s) 261s --- PASS: TestApplyPolicy/User,_creates_only_dirs_if_the_entry_is_empty (0.00s) 261s --- PASS: TestApplyPolicy/Error_when_creating_units_with_bad_entry_values (0.00s) 261s --- PASS: TestApplyPolicy/Error_when_applying_policy_and_system_mount_unit_already_exists_as_dir (0.00s) 261s --- PASS: TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_no_entries (0.00s) 261s --- PASS: TestApplyPolicy/Error_when_entry_is_errored (0.01s) 261s --- PASS: TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_a_disabled_entry (0.00s) 261s --- PASS: TestApplyPolicy/System,_mount_units_are_added_on_refreshing_policy_with_some_matching_values (0.01s) 261s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_filtering_out_unsupported_keys (0.00s) 261s --- PASS: TestApplyPolicy/System,_only_emit_a_warning_when_starting_new_units_fails (0.00s) 261s --- PASS: TestApplyPolicy/Error_when_applying_system_policy_and_the_entry_is_errored (0.00s) 261s --- PASS: TestApplyPolicy/Error_when_disabling_units_for_clean_up_fails (0.00s) 261s --- PASS: TestApplyPolicy/Error_when_user_has_invalid_uid (0.01s) 261s --- PASS: TestApplyPolicy/System,_only_emit_a_warning_when_stopping_previous_units_fails (0.01s) 261s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_trimming_sequential_linebreaks (0.00s) 261s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_repeated_values (0.01s) 261s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_multiple_values (0.00s) 261s --- PASS: TestApplyPolicy/System,_does_nothing_if_the_entry_is_disabled (0.00s) 261s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_repeated_tagged_values (0.01s) 261s --- PASS: TestApplyPolicy/Error_when_applying_policy_with_entry_containing_badly_formatted_value (0.00s) 261s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_multiple_values (0.00s) 261s --- PASS: TestApplyPolicy/User,_mount_file_is_updated_on_refreshing_policy_with_an_entry_with_multiple_values (0.00s) 261s --- PASS: TestApplyPolicy/Error_when_mounts_file_path_already_exists_as_a_directory (0.00s) 261s --- PASS: TestApplyPolicy/Error_when_user_has_invalid_gid (0.00s) 261s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_trimming_whitespaces (0.00s) 261s --- PASS: TestApplyPolicy/Creates_only_dirs_when_trying_to_apply_policy_with_no_entries (0.00s) 261s --- PASS: TestApplyPolicy/Error_when_cleaning_up_user_policy_with_empty_entry_and_path_already_exists_as_a_directory (0.00s) 261s --- PASS: TestApplyPolicy/Creates_only_dirs_when_trying_to_policy_with_unsupported_key (0.00s) 261s --- PASS: TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_disabled_entry (0.00s) 261s --- PASS: TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_an_empty_entry (0.00s) 261s --- PASS: TestApplyPolicy/Error_when_daemon-reload_fails (0.00s) 261s --- PASS: TestApplyPolicy/User,_does_nothing_if_the_entry_is_disabled (0.00s) 261s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_one_value (0.00s) 261s --- PASS: TestApplyPolicy/System,_mount_units_are_updated_on_refreshing_policy_with_an_entry_with_multiple_values (0.00s) 261s --- PASS: TestApplyPolicy/Error_when_trying_to_update_policy_with_badly_formatted_entry (0.01s) 261s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_trimming_sequential_linebreaks (0.00s) 261s --- PASS: TestApplyPolicy/System,_does_nothing_if_the_entry_is_empty (0.00s) 261s --- PASS: TestApplyPolicy/Error_when_enabling_new_units_fails (0.00s) 261s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_one_value (0.00s) 261s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_trimming_whitespaces (0.01s) 261s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_prioritizing_the_first_value_found,_despite_the_tag (0.00s) 261s --- PASS: TestApplyPolicy/Error_when_users-userDir_has_invalid_permissions (0.00s) 261s --- PASS: TestApplyPolicy/Error_when_cleaning_up_user_policy_with_no_entries_and_path_already_exists_as_a_directory (0.00s) 261s --- PASS: TestApplyPolicy/Error_when_updating_policy_and_system_mount_unit_to_remove_is_a_dir (0.01s) 261s --- PASS: TestApplyPolicy/System,_does_nothing_if_there_are_no_entries (0.01s) 261s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_with_kerberos_tagged_values (0.00s) 261s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_filtering_out_unsupported_keys (0.00s) 261s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_repeated_values (0.00s) 261s --- PASS: TestApplyPolicy/Error_when_user_is_not_found (0.01s) 261s --- PASS: TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_an_empty_entry (0.01s) 261s --- PASS: TestApplyPolicy/Error_when_cleaning_up_user_policy_with_invalid_user (0.00s) 261s === CONT TestCreateUnits/Write_krb5_tagged_unit 261s === CONT TestCreateUnits/Write_multiple_units 261s --- PASS: TestCreateUnits (0.00s) 261s --- PASS: TestCreateUnits/Write_single_unit (0.00s) 261s --- PASS: TestCreateUnits/Write_krb5_tagged_unit (0.00s) 261s --- PASS: TestCreateUnits/Write_multiple_units (0.00s) 261s === CONT TestWriteFileWithUIDGID/Error_when_invalid_uid 261s === CONT TestWriteFileWithUIDGID/Write_file_with_current_user_ownership 261s === CONT TestWriteFileWithUIDGID/Error_when_path_already_exists_as_a_directory 261s === CONT TestWriteFileWithUIDGID/Error_when_writing_on_a_dir_with_invalid_permissions 261s === CONT TestParseEntryValues/Parse_values_from_entry_with_kerberos_auth_tags 261s === CONT TestParseEntryValues/Parse_values_from_entry_with_multiple_values 261s --- PASS: TestWriteFileWithUIDGID (0.00s) 261s --- PASS: TestWriteFileWithUIDGID/Error_when_invalid_uid (0.00s) 261s --- PASS: TestWriteFileWithUIDGID/Error_when_invalid_gid (0.00s) 261s --- PASS: TestWriteFileWithUIDGID/Write_file_with_current_user_ownership (0.00s) 261s --- PASS: TestWriteFileWithUIDGID/Error_when_path_already_exists_as_a_directory (0.00s) 261s --- PASS: TestWriteFileWithUIDGID/Error_when_writing_on_a_dir_with_invalid_permissions (0.00s) 261s === CONT TestParseEntryValues/Parse_values_trimming_sequential_linebreaks 261s === CONT TestParseEntryValues/Parse_values_trimming_whitespaces 261s === CONT TestParseEntryValues/Parse_values_from_entry_with_repeated_values 261s === CONT TestParseEntryValues/Error_when_parsing_entry_with_badly_formatted_values 261s === CONT TestParseEntryValues/Parse_values_from_entry_with_one_value 261s === CONT TestParseEntryValues/Returns_empty_slice_if_the_entry_is_empty 261s --- PASS: TestParseEntryValues (0.00s) 261s --- PASS: TestParseEntryValues/Parse_values_from_entry_with_kerberos_auth_tags (0.00s) 261s --- PASS: TestParseEntryValues/Parse_values_from_entry_with_multiple_values (0.00s) 261s --- PASS: TestParseEntryValues/Parse_values_trimming_sequential_linebreaks (0.00s) 261s --- PASS: TestParseEntryValues/Parse_values_trimming_whitespaces (0.00s) 261s --- PASS: TestParseEntryValues/Error_when_parsing_entry_with_badly_formatted_values (0.00s) 261s --- PASS: TestParseEntryValues/Parse_values_from_entry_with_repeated_values (0.00s) 261s --- PASS: TestParseEntryValues/Returns_empty_slice_if_the_entry_is_empty (0.00s) 261s --- PASS: TestParseEntryValues/Parse_values_from_entry_with_one_value (0.00s) 261s PASS 261s ok github.com/ubuntu/adsys/internal/policies/mount 0.143s 261s === RUN TestSplitAndNormalizeUsersAndGroups 261s === PAUSE TestSplitAndNormalizeUsersAndGroups 261s === RUN TestPolkitAdminIdentitiesFromConf 261s === PAUSE TestPolkitAdminIdentitiesFromConf 261s === RUN TestPolkitAdminIdentitiesFromRules 261s === PAUSE TestPolkitAdminIdentitiesFromRules 261s === RUN TestApplyPolicy 261s === PAUSE TestApplyPolicy 261s === CONT TestSplitAndNormalizeUsersAndGroups 261s === RUN TestSplitAndNormalizeUsersAndGroups/User_name_with_space 261s === PAUSE TestSplitAndNormalizeUsersAndGroups/User_name_with_space 261s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_empty_values 261s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_empty_values 261s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_/ 261s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_/ 261s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_[ 261s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_[ 261s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_] 261s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_] 261s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_> 261s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_> 261s === RUN TestSplitAndNormalizeUsersAndGroups/Empty_value_with_comma 261s === PAUSE TestSplitAndNormalizeUsersAndGroups/Empty_value_with_comma 261s === RUN TestSplitAndNormalizeUsersAndGroups/Multiple_values_separated_by_comma 261s === PAUSE TestSplitAndNormalizeUsersAndGroups/Multiple_values_separated_by_comma 261s === RUN TestSplitAndNormalizeUsersAndGroups/Multiple_values_separated_by_EOL 261s === PAUSE TestSplitAndNormalizeUsersAndGroups/Multiple_values_separated_by_EOL 261s === RUN TestSplitAndNormalizeUsersAndGroups/Handle_domain\user 261s === PAUSE TestSplitAndNormalizeUsersAndGroups/Handle_domain\user 261s === RUN TestSplitAndNormalizeUsersAndGroups/Multiple_\_only_handling_first_one_and_ignore_others 261s === PAUSE TestSplitAndNormalizeUsersAndGroups/Multiple_\_only_handling_first_one_and_ignore_others 261s === RUN TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_consecutives_EOL 261s === PAUSE TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_consecutives_EOL 261s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_| 261s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_| 261s === RUN TestSplitAndNormalizeUsersAndGroups/Don’t_strip_first_%_but_others 261s === PAUSE TestSplitAndNormalizeUsersAndGroups/Don’t_strip_first_%_but_others 261s === RUN TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_consecutives_comma 261s === PAUSE TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_consecutives_comma 261s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_= 261s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_= 261s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_* 261s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_* 261s === RUN TestSplitAndNormalizeUsersAndGroups/Empty_value 261s === PAUSE TestSplitAndNormalizeUsersAndGroups/Empty_value 261s === RUN TestSplitAndNormalizeUsersAndGroups/Simple_one_value 261s === PAUSE TestSplitAndNormalizeUsersAndGroups/Simple_one_value 261s === RUN TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_a_mix_of_comma_and_EOL 261s === PAUSE TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_a_mix_of_comma_and_EOL 261s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_: 261s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_: 261s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_< 261s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_< 261s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_; 261s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_; 261s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_? 261s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_? 261s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_% 261s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_% 261s === RUN TestSplitAndNormalizeUsersAndGroups/Empty_value_with_EOL 261s === PAUSE TestSplitAndNormalizeUsersAndGroups/Empty_value_with_EOL 261s === RUN TestSplitAndNormalizeUsersAndGroups/Group_one_value 261s === PAUSE TestSplitAndNormalizeUsersAndGroups/Group_one_value 261s === CONT TestSplitAndNormalizeUsersAndGroups/User_name_with_space 261s === CONT TestApplyPolicy 261s === RUN TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_(with_adsys_file)_and_set_client_admins 261s === PAUSE TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_(with_adsys_file)_and_set_client_admins 261s === RUN TestApplyPolicy/Overwrite_existing_sudoers_file 261s === PAUSE TestApplyPolicy/Overwrite_existing_sudoers_file 261s === RUN TestApplyPolicy/Assume_old_polkit_if_cant_read_system_reserved_path 261s === PAUSE TestApplyPolicy/Assume_old_polkit_if_cant_read_system_reserved_path 261s === RUN TestApplyPolicy/Error_on_creating_sudoers_and_polkit_base_directory 261s === PAUSE TestApplyPolicy/Error_on_creating_sudoers_and_polkit_base_directory 261s === RUN TestApplyPolicy/Error_if_can’t_rename_to_destination_for_sudoers_file 261s === PAUSE TestApplyPolicy/Error_if_can’t_rename_to_destination_for_sudoers_file 261s === RUN TestApplyPolicy/No_rules_and_no_existing_history_means_no_files 261s === PAUSE TestApplyPolicy/No_rules_and_no_existing_history_means_no_files 261s === RUN TestApplyPolicy/Disallow_local_admins 261s === PAUSE TestApplyPolicy/Disallow_local_admins 261s === RUN TestApplyPolicy/Disallow_local_admins_with_previous_local_admin_conf_and_set_client_admins 261s === PAUSE TestApplyPolicy/Disallow_local_admins_with_previous_local_admin_conf_and_set_client_admins 261s === RUN TestApplyPolicy/Overwrite_existing_polkit_file 261s === PAUSE TestApplyPolicy/Overwrite_existing_polkit_file 261s === RUN TestApplyPolicy/No_rules_still_overwrite_those_files 261s === PAUSE TestApplyPolicy/No_rules_still_overwrite_those_files 261s === RUN TestApplyPolicy/Set_client_user_admins 261s === PAUSE TestApplyPolicy/Set_client_user_admins 261s === RUN TestApplyPolicy/Set_client_multiple_users_admins 261s === PAUSE TestApplyPolicy/Set_client_multiple_users_admins 261s === RUN TestApplyPolicy/Set_client_mixed_with_users_and_group_admins 261s === PAUSE TestApplyPolicy/Set_client_mixed_with_users_and_group_admins 261s === RUN TestApplyPolicy/Empty_client_AD_admins 261s === PAUSE TestApplyPolicy/Empty_client_AD_admins 261s === RUN TestApplyPolicy/Don't_overwrite_other_existing_files 261s === PAUSE TestApplyPolicy/Don't_overwrite_other_existing_files 261s === RUN TestApplyPolicy/Error_on_writing_to_sudoers_file 261s === PAUSE TestApplyPolicy/Error_on_writing_to_sudoers_file 261s === RUN TestApplyPolicy/Error_if_can’t_rename_to_destination_for_polkit_conf_file 261s === PAUSE TestApplyPolicy/Error_if_can’t_rename_to_destination_for_polkit_conf_file 261s === RUN TestApplyPolicy/Allow_local_admins_with_no_other_rules_is_a_noop 261s === PAUSE TestApplyPolicy/Allow_local_admins_with_no_other_rules_is_a_noop 261s === RUN TestApplyPolicy/No_client_AD_admins 261s === PAUSE TestApplyPolicy/No_client_AD_admins 261s === RUN TestApplyPolicy/Disallow_local_admins_and_set_client_admins 261s === PAUSE TestApplyPolicy/Disallow_local_admins_and_set_client_admins 261s === RUN TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_(simple)_and_set_client_admins 261s === PAUSE TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_(simple)_and_set_client_admins 261s === RUN TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_and_set_client_admins 261s === PAUSE TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_and_set_client_admins 261s === RUN TestApplyPolicy/Create_on_new_polkit_version_and_remove_old_file 261s === PAUSE TestApplyPolicy/Create_on_new_polkit_version_and_remove_old_file 261s === RUN TestApplyPolicy/Error_on_writing_to_polkit_subdirectory_creation 261s === PAUSE TestApplyPolicy/Error_on_writing_to_polkit_subdirectory_creation 261s === RUN TestApplyPolicy/Error_on_writing_to_polkit_conf_file 261s === PAUSE TestApplyPolicy/Error_on_writing_to_polkit_conf_file 261s === RUN TestApplyPolicy/Not_a_computer 261s === PAUSE TestApplyPolicy/Not_a_computer 261s === RUN TestApplyPolicy/Set_client_group_admins 261s === PAUSE TestApplyPolicy/Set_client_group_admins 261s === RUN TestApplyPolicy/Allow_local_admins_without_previous_local_admin_conf_and_set_client_admins 261s === PAUSE TestApplyPolicy/Allow_local_admins_without_previous_local_admin_conf_and_set_client_admins 261s === CONT TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_(with_adsys_file)_and_set_client_admins 261s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_empty_values 261s === CONT TestPolkitAdminIdentitiesFromRules 261s === RUN TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities 261s === PAUSE TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities 261s === RUN TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities_from_lower_ascii_file 261s === PAUSE TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities_from_lower_ascii_file 261s === RUN TestPolkitAdminIdentitiesFromRules/Consider_only_first_returned_value 261s === PAUSE TestPolkitAdminIdentitiesFromRules/Consider_only_first_returned_value 261s === RUN TestPolkitAdminIdentitiesFromRules/Directory_instead_of_a_conf_file_is_ignored 261s === PAUSE TestPolkitAdminIdentitiesFromRules/Directory_instead_of_a_conf_file_is_ignored 261s === RUN TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities_ignoring_adsys 261s === PAUSE TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities_ignoring_adsys 261s === RUN TestPolkitAdminIdentitiesFromRules/Prioritize_first_specified_directory_if_files_have_same_ascii 261s === PAUSE TestPolkitAdminIdentitiesFromRules/Prioritize_first_specified_directory_if_files_have_same_ascii 261s === RUN TestPolkitAdminIdentitiesFromRules/Prioritize_lower_ascii_file_even_if_on_second_directory 261s === PAUSE TestPolkitAdminIdentitiesFromRules/Prioritize_lower_ascii_file_even_if_on_second_directory 261s === RUN TestPolkitAdminIdentitiesFromRules/No_previous_admin_identities_but_regular_directory_structure 261s === PAUSE TestPolkitAdminIdentitiesFromRules/No_previous_admin_identities_but_regular_directory_structure 261s === RUN TestPolkitAdminIdentitiesFromRules/Returns_an_empty_string_if_directory_does_not_exists 261s === PAUSE TestPolkitAdminIdentitiesFromRules/Returns_an_empty_string_if_directory_does_not_exists 261s === CONT TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities 261s === CONT TestPolkitAdminIdentitiesFromConf 261s === RUN TestPolkitAdminIdentitiesFromConf/Directory_instead_of_a_conf_file_is_ignored 261s === PAUSE TestPolkitAdminIdentitiesFromConf/Directory_instead_of_a_conf_file_is_ignored 261s === RUN TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities 261s === PAUSE TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities 261s === RUN TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities_from_highest_ascii_file 261s === PAUSE TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities_from_highest_ascii_file 261s === RUN TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities_ignoring_adsys 261s === PAUSE TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities_ignoring_adsys 261s === RUN TestPolkitAdminIdentitiesFromConf/No_previous_admin_identities_but_regular_directory_structure 261s === PAUSE TestPolkitAdminIdentitiesFromConf/No_previous_admin_identities_but_regular_directory_structure 261s === RUN TestPolkitAdminIdentitiesFromConf/Returns_an_empty_string_if_directory_does_not_exists 261s === PAUSE TestPolkitAdminIdentitiesFromConf/Returns_an_empty_string_if_directory_does_not_exists 261s === CONT TestPolkitAdminIdentitiesFromConf/Directory_instead_of_a_conf_file_is_ignored 261s === CONT TestSplitAndNormalizeUsersAndGroups/Group_one_value 261s === CONT TestSplitAndNormalizeUsersAndGroups/Empty_value_with_EOL 261s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_any_% 261s time="2025-10-18T14:43:38Z" level=warning msg="Changed user or group \"u%s%er@domain\" to \"user@domain\": Invalid characters or domain\\user format" 261s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_any_? 261s time="2025-10-18T14:43:38Z" level=warning msg="Changed user or group \"u?s?er@domain\" to \"user@domain\": Invalid characters or domain\\user format" 261s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_any_; 261s time="2025-10-18T14:43:38Z" level=warning msg="Changed user or group \"u;s;er@domain\" to \"user@domain\": Invalid characters or domain\\user format" 261s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_any_< 261s time="2025-10-18T14:43:38Z" level=warning msg="Changed user or group \"u 261s time="2025-10-18T14:43:38Z" level=warning msg="Changed user or group \"u>s>er@domain\" to \"user@domain\": Invalid characters or domain\\user format" 261s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_any_] 261s time="2025-10-18T14:43:38Z" level=warning msg="Changed user or group \"u]s]er@domain\" to \"user@domain\": Invalid characters or domain\\user format" 261s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_any_[ 261s time="2025-10-18T14:43:38Z" level=warning msg="Changed user or group \"u[s]er@domain\" to \"user@domain\": Invalid characters or domain\\user format" 261s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_any_/ 261s time="2025-10-18T14:43:38Z" level=warning msg="Changed user or group \"u/s/er@domain\" to \"user@domain\": Invalid characters or domain\\user format" 261s --- PASS: TestSplitAndNormalizeUsersAndGroups (0.00s) 261s --- PASS: TestSplitAndNormalizeUsersAndGroups/User_name_with_space (0.00s) 261s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_empty_values (0.00s) 261s --- PASS: TestSplitAndNormalizeUsersAndGroups/Group_one_value (0.00s) 261s --- PASS: TestSplitAndNormalizeUsersAndGroups/Empty_value_with_EOL (0.00s) 261s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_% (0.00s) 261s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_? (0.00s) 261s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_; (0.00s) 261s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_< (0.00s) 261s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_: (0.00s) 261s --- PASS: TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_a_mix_of_comma_and_EOL (0.00s) 261s --- PASS: TestSplitAndNormalizeUsersAndGroups/Simple_one_value (0.00s) 261s --- PASS: TestSplitAndNormalizeUsersAndGroups/Empty_value (0.00s) 261s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_* (0.00s) 261s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_= (0.00s) 261s --- PASS: TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_consecutives_comma (0.00s) 261s --- PASS: TestSplitAndNormalizeUsersAndGroups/Don’t_strip_first_%_but_others (0.00s) 261s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_| (0.00s) 261s --- PASS: TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_consecutives_EOL (0.00s) 261s --- PASS: TestSplitAndNormalizeUsersAndGroups/Multiple_\_only_handling_first_one_and_ignore_others (0.00s) 261s --- PASS: TestSplitAndNormalizeUsersAndGroups/Handle_domain\user (0.00s) 261s --- PASS: TestSplitAndNormalizeUsersAndGroups/Multiple_values_separated_by_EOL (0.00s) 261s --- PASS: TestSplitAndNormalizeUsersAndGroups/Multiple_values_separated_by_comma (0.00s) 261s --- PASS: TestSplitAndNormalizeUsersAndGroups/Empty_value_with_comma (0.00s) 261s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_> (0.00s) 261s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_] (0.00s) 261s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_[ (0.00s) 261s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_/ (0.00s) 261s === CONT TestPolkitAdminIdentitiesFromRules/Returns_an_empty_string_if_directory_does_not_exists 261s === CONT TestPolkitAdminIdentitiesFromRules/No_previous_admin_identities_but_regular_directory_structure 261s === CONT TestPolkitAdminIdentitiesFromRules/Prioritize_lower_ascii_file_even_if_on_second_directory 261s === CONT TestPolkitAdminIdentitiesFromRules/Prioritize_first_specified_directory_if_files_have_same_ascii 261s === CONT TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities_ignoring_adsys 261s === CONT TestPolkitAdminIdentitiesFromRules/Directory_instead_of_a_conf_file_is_ignored 261s === CONT TestApplyPolicy/Allow_local_admins_without_previous_local_admin_conf_and_set_client_admins 261s === CONT TestApplyPolicy/Set_client_group_admins 261s === CONT TestApplyPolicy/Not_a_computer 261s === CONT TestApplyPolicy/Error_on_writing_to_polkit_conf_file 261s === CONT TestApplyPolicy/Error_on_writing_to_polkit_subdirectory_creation 261s === CONT TestApplyPolicy/Create_on_new_polkit_version_and_remove_old_file 261s === CONT TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_and_set_client_admins 261s === CONT TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_(simple)_and_set_client_admins 261s === CONT TestApplyPolicy/Disallow_local_admins_and_set_client_admins 261s === CONT TestApplyPolicy/No_client_AD_admins 261s === CONT TestApplyPolicy/Allow_local_admins_with_no_other_rules_is_a_noop 261s === CONT TestApplyPolicy/Error_if_can’t_rename_to_destination_for_polkit_conf_file 261s === CONT TestApplyPolicy/Error_on_writing_to_sudoers_file 261s === CONT TestApplyPolicy/Don't_overwrite_other_existing_files 261s === CONT TestApplyPolicy/Empty_client_AD_admins 261s === CONT TestApplyPolicy/Set_client_mixed_with_users_and_group_admins 261s === CONT TestApplyPolicy/Set_client_multiple_users_admins 261s time="2025-10-18T14:43:38Z" level=warning msg="Changed user or group \"domain\\\\bob\" to \"bob@domain\": Invalid characters or domain\\user format" 261s === CONT TestApplyPolicy/Set_client_user_admins 261s === CONT TestApplyPolicy/No_rules_still_overwrite_those_files 261s === CONT TestApplyPolicy/Overwrite_existing_polkit_file 261s === CONT TestApplyPolicy/Disallow_local_admins_with_previous_local_admin_conf_and_set_client_admins 261s === CONT TestApplyPolicy/Disallow_local_admins 261s === CONT TestApplyPolicy/No_rules_and_no_existing_history_means_no_files 261s === CONT TestApplyPolicy/Error_if_can’t_rename_to_destination_for_sudoers_file 261s === CONT TestApplyPolicy/Error_on_creating_sudoers_and_polkit_base_directory 261s === CONT TestApplyPolicy/Assume_old_polkit_if_cant_read_system_reserved_path 261s === CONT TestApplyPolicy/Overwrite_existing_sudoers_file 261s === CONT TestPolkitAdminIdentitiesFromConf/No_previous_admin_identities_but_regular_directory_structure 261s === CONT TestPolkitAdminIdentitiesFromRules/Consider_only_first_returned_value 261s === CONT TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities_from_lower_ascii_file 261s --- PASS: TestPolkitAdminIdentitiesFromRules (0.00s) 261s --- PASS: TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities (0.00s) 261s --- PASS: TestPolkitAdminIdentitiesFromRules/Returns_an_empty_string_if_directory_does_not_exists (0.00s) 261s --- PASS: TestPolkitAdminIdentitiesFromRules/No_previous_admin_identities_but_regular_directory_structure (0.00s) 261s --- PASS: TestPolkitAdminIdentitiesFromRules/Prioritize_lower_ascii_file_even_if_on_second_directory (0.00s) 261s --- PASS: TestPolkitAdminIdentitiesFromRules/Prioritize_first_specified_directory_if_files_have_same_ascii (0.00s) 261s --- PASS: TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities_ignoring_adsys (0.00s) 261s --- PASS: TestPolkitAdminIdentitiesFromRules/Directory_instead_of_a_conf_file_is_ignored (0.00s) 261s --- PASS: TestPolkitAdminIdentitiesFromRules/Consider_only_first_returned_value (0.00s) 261s --- PASS: TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities_from_lower_ascii_file (0.00s) 261s === CONT TestPolkitAdminIdentitiesFromConf/Returns_an_empty_string_if_directory_does_not_exists 261s === CONT TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities_from_highest_ascii_file 261s === CONT TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities_ignoring_adsys 261s === CONT TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities 261s --- PASS: TestPolkitAdminIdentitiesFromConf (0.00s) 261s --- PASS: TestPolkitAdminIdentitiesFromConf/Directory_instead_of_a_conf_file_is_ignored (0.00s) 261s --- PASS: TestPolkitAdminIdentitiesFromConf/No_previous_admin_identities_but_regular_directory_structure (0.00s) 261s --- PASS: TestPolkitAdminIdentitiesFromConf/Returns_an_empty_string_if_directory_does_not_exists (0.00s) 261s --- PASS: TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities_from_highest_ascii_file (0.00s) 261s --- PASS: TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities_ignoring_adsys (0.00s) 261s --- PASS: TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities (0.00s) 261s --- PASS: TestApplyPolicy (0.00s) 261s --- PASS: TestApplyPolicy/Allow_local_admins_without_previous_local_admin_conf_and_set_client_admins (0.00s) 261s --- PASS: TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_(with_adsys_file)_and_set_client_admins (0.01s) 261s --- PASS: TestApplyPolicy/Not_a_computer (0.00s) 261s --- PASS: TestApplyPolicy/Set_client_group_admins (0.00s) 261s --- PASS: TestApplyPolicy/Error_on_writing_to_polkit_subdirectory_creation (0.00s) 261s --- PASS: TestApplyPolicy/Error_on_writing_to_polkit_conf_file (0.00s) 261s --- PASS: TestApplyPolicy/Create_on_new_polkit_version_and_remove_old_file (0.00s) 261s --- PASS: TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_(simple)_and_set_client_admins (0.00s) 261s --- PASS: TestApplyPolicy/Disallow_local_admins_and_set_client_admins (0.00s) 261s --- PASS: TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_and_set_client_admins (0.01s) 261s --- PASS: TestApplyPolicy/Allow_local_admins_with_no_other_rules_is_a_noop (0.00s) 261s --- PASS: TestApplyPolicy/Error_if_can’t_rename_to_destination_for_polkit_conf_file (0.00s) 261s --- PASS: TestApplyPolicy/Error_on_writing_to_sudoers_file (0.00s) 261s --- PASS: TestApplyPolicy/No_client_AD_admins (0.01s) 261s --- PASS: TestApplyPolicy/Empty_client_AD_admins (0.00s) 261s --- PASS: TestApplyPolicy/Don't_overwrite_other_existing_files (0.00s) 261s --- PASS: TestApplyPolicy/Set_client_multiple_users_admins (0.00s) 261s --- PASS: TestApplyPolicy/Set_client_user_admins (0.00s) 261s --- PASS: TestApplyPolicy/Set_client_mixed_with_users_and_group_admins (0.01s) 261s --- PASS: TestApplyPolicy/No_rules_still_overwrite_those_files (0.00s) 261s --- PASS: TestApplyPolicy/Disallow_local_admins_with_previous_local_admin_conf_and_set_client_admins (0.00s) 261s --- PASS: TestApplyPolicy/No_rules_and_no_existing_history_means_no_files (0.00s) 261s --- PASS: TestApplyPolicy/Disallow_local_admins (0.00s) 261s --- PASS: TestApplyPolicy/Error_if_can’t_rename_to_destination_for_sudoers_file (0.00s) 261s --- PASS: TestApplyPolicy/Error_on_creating_sudoers_and_polkit_base_directory (0.00s) 261s --- PASS: TestApplyPolicy/Overwrite_existing_polkit_file (0.01s) 261s --- PASS: TestApplyPolicy/Assume_old_polkit_if_cant_read_system_reserved_path (0.00s) 261s --- PASS: TestApplyPolicy/Overwrite_existing_sudoers_file (0.01s) 261s PASS 261s ok github.com/ubuntu/adsys/internal/policies/privilege 0.084s 261s === RUN TestApplyPolicy 261s === PAUSE TestApplyPolicy 261s === RUN TestWarnOnUnsupportedKeys 261s --- PASS: TestWarnOnUnsupportedKeys (0.00s) 261s === RUN TestWarnOnMissingDBusService 261s --- PASS: TestWarnOnMissingDBusService (0.00s) 261s === CONT TestApplyPolicy 261s === RUN TestApplyPolicy/Computer,_all_entries_set 261s === PAUSE TestApplyPolicy/Computer,_all_entries_set 261s === RUN TestApplyPolicy/User,_non-empty_entries 261s === PAUSE TestApplyPolicy/User,_non-empty_entries 261s === RUN TestApplyPolicy/Error_when_D-Bus_call_fails 261s === PAUSE TestApplyPolicy/Error_when_D-Bus_call_fails 261s === RUN TestApplyPolicy/Computer,_no_entries 261s === PAUSE TestApplyPolicy/Computer,_no_entries 261s === RUN TestApplyPolicy/Computer,_no_entries,_D-Bus_call_error 261s === PAUSE TestApplyPolicy/Computer,_no_entries,_D-Bus_call_error 261s === RUN TestApplyPolicy/User,_no_entries 261s === PAUSE TestApplyPolicy/User,_no_entries 261s === RUN TestApplyPolicy/Computer,_single_enabled_entry 261s === PAUSE TestApplyPolicy/Computer,_single_enabled_entry 261s === RUN TestApplyPolicy/Computer,_single_disabled_entry 261s === PAUSE TestApplyPolicy/Computer,_single_disabled_entry 261s === CONT TestApplyPolicy/Computer,_all_entries_set 261s === CONT TestApplyPolicy/Computer,_single_disabled_entry 261s === CONT TestApplyPolicy/Computer,_single_enabled_entry 261s === CONT TestApplyPolicy/User,_no_entries 261s === CONT TestApplyPolicy/Computer,_no_entries,_D-Bus_call_error 261s === CONT TestApplyPolicy/Computer,_no_entries 261s === CONT TestApplyPolicy/Error_when_D-Bus_call_fails 261s === CONT TestApplyPolicy/User,_non-empty_entries 261s --- PASS: TestApplyPolicy (0.01s) 261s --- PASS: TestApplyPolicy/Computer,_all_entries_set (0.00s) 261s --- PASS: TestApplyPolicy/Computer,_single_disabled_entry (0.00s) 261s --- PASS: TestApplyPolicy/Computer,_single_enabled_entry (0.00s) 261s --- PASS: TestApplyPolicy/User,_no_entries (0.00s) 261s --- PASS: TestApplyPolicy/Computer,_no_entries,_D-Bus_call_error (0.00s) 261s --- PASS: TestApplyPolicy/Computer,_no_entries (0.00s) 261s --- PASS: TestApplyPolicy/Error_when_D-Bus_call_fails (0.00s) 261s --- PASS: TestApplyPolicy/User,_non-empty_entries (0.00s) 261s PASS 261s ok github.com/ubuntu/adsys/internal/policies/proxy 0.039s 262s === RUN TestNew 262s === PAUSE TestNew 262s === RUN TestApplyPolicy 262s === PAUSE TestApplyPolicy 262s === RUN TestRunScripts 262s === PAUSE TestRunScripts 262s === CONT TestNew 262s === RUN TestNew/create_manager 262s === CONT TestRunScripts 262s === RUN TestRunScripts/still_executes_without_existing_running_flag_on_machine_shutdown 262s === PAUSE TestRunScripts/still_executes_without_existing_running_flag_on_machine_shutdown 262s === RUN TestRunScripts/script_directory_without_shutdown_order_has_no_session_running_flag_after_machine_shutdown 262s === PAUSE TestRunScripts/script_directory_without_shutdown_order_has_no_session_running_flag_after_machine_shutdown 262s === RUN TestRunScripts/spaces_and_empty_lines_are_skipped 262s === PAUSE TestRunScripts/spaces_and_empty_lines_are_skipped 262s === RUN TestRunScripts/error_on_order_file_not_existing 262s === PAUSE TestRunScripts/error_on_order_file_not_existing 262s === RUN TestRunScripts/has_no_session_running_flag_after_user_logoff 262s === PAUSE TestRunScripts/has_no_session_running_flag_after_user_logoff 262s === RUN TestRunScripts/script_directory_without_logoff_order_has_no_session_running_flag_after_user_logoff 262s === PAUSE TestRunScripts/script_directory_without_logoff_order_has_no_session_running_flag_after_user_logoff 262s === RUN TestRunScripts/keeps_running_flag_after_non_machine_shutdown 262s === PAUSE TestRunScripts/keeps_running_flag_after_non_machine_shutdown 262s === RUN TestRunScripts/allow_order_file_missing 262s === PAUSE TestRunScripts/allow_order_file_missing 262s === RUN TestRunScripts/scripts_that_are_not_executable_are_skipped 262s === PAUSE TestRunScripts/scripts_that_are_not_executable_are_skipped 262s === RUN TestRunScripts/still_executes_without_existing_running_flag_on_user_logoff 262s === PAUSE TestRunScripts/still_executes_without_existing_running_flag_on_user_logoff 262s === RUN TestRunScripts/error_on_not_ready_for_execution 262s === PAUSE TestRunScripts/error_on_not_ready_for_execution 262s === RUN TestRunScripts/error_on_argument_not_a_file 262s === PAUSE TestRunScripts/error_on_argument_not_a_file 262s === RUN TestRunScripts/one_script 262s === PAUSE TestRunScripts/one_script 262s === RUN TestRunScripts/multiple_scripts_are_run_in_order 262s === PAUSE TestRunScripts/multiple_scripts_are_run_in_order 262s === RUN TestRunScripts/scripts_not_listed_are_not_run 262s === PAUSE TestRunScripts/scripts_not_listed_are_not_run 262s === RUN TestRunScripts/scripts_referenced_in_subdirectories 262s === PAUSE TestRunScripts/scripts_referenced_in_subdirectories 262s === RUN TestRunScripts/keeps_running_flag_after_non_user_logoff 262s === PAUSE TestRunScripts/keeps_running_flag_after_non_user_logoff 262s === RUN TestRunScripts/has_no_session_running_flag_after_machine_shutdown 262s === PAUSE TestRunScripts/has_no_session_running_flag_after_machine_shutdown 262s === CONT TestApplyPolicy 262s === RUN TestApplyPolicy/Destination_is_already_running,_no_change 262s === PAUSE TestApplyPolicy/Destination_is_already_running,_no_change 262s === RUN TestApplyPolicy/Error_on_script_does_not_exist 262s === PAUSE TestApplyPolicy/Error_on_script_does_not_exist 262s === RUN TestApplyPolicy/No_entries_update_existing_non_ready_folder 262s === PAUSE TestApplyPolicy/No_entries_update_existing_non_ready_folder 262s === RUN TestApplyPolicy/Same_script_is_used_multiple_times 262s === PAUSE TestApplyPolicy/Same_script_is_used_multiple_times 262s === RUN TestApplyPolicy/Subfolder_with_same_script_name 262s === PAUSE TestApplyPolicy/Subfolder_with_same_script_name 262s === RUN TestApplyPolicy/Empty_entries_are_discared 262s === PAUSE TestApplyPolicy/Empty_entries_are_discared 262s === RUN TestApplyPolicy/Computer,_no_systemctl_with_other_directory_than_startup 262s === PAUSE TestApplyPolicy/Computer,_no_systemctl_with_other_directory_than_startup 262s === RUN TestApplyPolicy/Destination_is_already_ready_but_not_in_session,_refreshing 262s === PAUSE TestApplyPolicy/Destination_is_already_ready_but_not_in_session,_refreshing 262s === RUN TestApplyPolicy/Systemctl_failing_does_not_impact_user_scripts_update 262s === PAUSE TestApplyPolicy/Systemctl_failing_does_not_impact_user_scripts_update 262s === RUN TestApplyPolicy/Error_on_save_assets_dumping_failing 262s === PAUSE TestApplyPolicy/Error_on_save_assets_dumping_failing 262s === RUN TestApplyPolicy/Destination_is_not_ready,_refreshing 262s === PAUSE TestApplyPolicy/Destination_is_not_ready,_refreshing 262s === RUN TestApplyPolicy/User_lookup_failing_does_not_impact_machine_update 262s === PAUSE TestApplyPolicy/User_lookup_failing_does_not_impact_machine_update 262s === RUN TestApplyPolicy/Error_on_invalid_UID 262s === PAUSE TestApplyPolicy/Error_on_invalid_UID 262s === RUN TestApplyPolicy/No_entries_is_an_empty_folder 262s === PAUSE TestApplyPolicy/No_entries_is_an_empty_folder 262s === RUN TestApplyPolicy/One_directory,_multiple_scripts_in_order 262s === PAUSE TestApplyPolicy/One_directory,_multiple_scripts_in_order 262s === RUN TestApplyPolicy/Error_on_subfolder_listed 262s === PAUSE TestApplyPolicy/Error_on_subfolder_listed 262s === RUN TestApplyPolicy/Error_on_users_run_directory_Read_Only 262s === PAUSE TestApplyPolicy/Error_on_users_run_directory_Read_Only 262s === RUN TestApplyPolicy/Error_on_invalid_GID 262s === PAUSE TestApplyPolicy/Error_on_invalid_GID 262s === RUN TestApplyPolicy/Error_on_user_lookup_failing 262s === PAUSE TestApplyPolicy/Error_on_user_lookup_failing 262s === RUN TestApplyPolicy/Error_on_running_start_script_that_runs_systemctl_and_systemctl_fails 262s === PAUSE TestApplyPolicy/Error_on_running_start_script_that_runs_systemctl_and_systemctl_fails 262s === RUN TestApplyPolicy/One_script 262s === PAUSE TestApplyPolicy/One_script 262s === RUN TestApplyPolicy/Multiple_directories: 262s === PAUSE TestApplyPolicy/Multiple_directories: 262s === RUN TestApplyPolicy/Subfolder_with_script 262s === PAUSE TestApplyPolicy/Subfolder_with_script 262s === RUN TestApplyPolicy/Startup_script_for_computer_runs_systemctl_(systemctl_success) 262s === PAUSE TestApplyPolicy/Startup_script_for_computer_runs_systemctl_(systemctl_success) 262s === CONT TestRunScripts/still_executes_without_existing_running_flag_on_machine_shutdown 262s === PAUSE TestNew/create_manager 262s === RUN TestNew/error_on_read_only_rundir 262s === PAUSE TestNew/error_on_read_only_rundir 262s === CONT TestApplyPolicy/Destination_is_already_running,_no_change 262s time="2025-10-18T14:43:39Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsstill_executes_without_existing_running_flag_on_m3990426499/001/machine/foo/scripts/shutdown\"" 262s time="2025-10-18T14:43:39Z" level=info msg="\"/tmp/TestApplyPolicyDestination_is_already_running,_no_change3094918285/001/machine/scripts/.running\" already exists, a session is already running, ignoring." 262s === CONT TestRunScripts/has_no_session_running_flag_after_machine_shutdown 262s time="2025-10-18T14:43:39Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptshas_no_session_running_flag_after_machine_shutdow1189432201/001/machine/foo/scripts/shutdown\"" 262s === CONT TestRunScripts/keeps_running_flag_after_non_user_logoff 262s time="2025-10-18T14:43:40Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptskeeps_running_flag_after_non_user_logoff591115477/001/machine/foo/scripts/logoff\"" 262s === CONT TestRunScripts/scripts_referenced_in_subdirectories 262s time="2025-10-18T14:43:40Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsscripts_referenced_in_subdirectories1130228181/001/users/foo/scripts/s\"" 262s === CONT TestRunScripts/scripts_not_listed_are_not_run 262s time="2025-10-18T14:43:40Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsscripts_not_listed_are_not_run380442829/001/users/foo/scripts/s\"" 262s === CONT TestRunScripts/multiple_scripts_are_run_in_order 262s time="2025-10-18T14:43:40Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsmultiple_scripts_are_run_in_order3842834536/001/users/foo/scripts/s\"" 262s === CONT TestRunScripts/one_script 262s time="2025-10-18T14:43:40Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsone_script1786781533/001/users/foo/scripts/s\"" 262s === CONT TestRunScripts/error_on_argument_not_a_file 262s time="2025-10-18T14:43:40Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptserror_on_argument_not_a_file2758582222/001/users/foo/scripts/s\"" 262s === CONT TestRunScripts/error_on_not_ready_for_execution 262s time="2025-10-18T14:43:40Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptserror_on_not_ready_for_execution1104057176/001/users/foo/scripts/s\"" 262s === CONT TestRunScripts/still_executes_without_existing_running_flag_on_user_logoff 262s time="2025-10-18T14:43:40Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsstill_executes_without_existing_running_flag_on_u2130715748/001/users/foo/scripts/logoff\"" 262s === CONT TestRunScripts/scripts_that_are_not_executable_are_skipped 262s time="2025-10-18T14:43:40Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsscripts_that_are_not_executable_are_skipped49249111/001/users/foo/scripts/s\"" 262s time="2025-10-18T14:43:40Z" level=warning msg="\"/tmp/TestRunScriptsscripts_that_are_not_executable_are_skipped49249111/001/users/foo/scripts/scripts/notexecutable.sh\" failed to run\nfork/exec /tmp/TestRunScriptsscripts_that_are_not_executable_are_skipped49249111/001/users/foo/scripts/scripts/notexecutable.sh: permission denied" 262s === CONT TestRunScripts/allow_order_file_missing 262s time="2025-10-18T14:43:40Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsallow_order_file_missing3155387300/001/users/foo/scripts/s\"" 262s === CONT TestRunScripts/keeps_running_flag_after_non_machine_shutdown 262s time="2025-10-18T14:43:40Z" level=info msg="\"/tmp/TestRunScriptsallow_order_file_missing3155387300/001/users/foo/scripts/s\" doesn't exist, but allowed to be missing, skipping" 262s === CONT TestRunScripts/script_directory_without_logoff_order_has_no_session_running_flag_after_user_logoff 262s time="2025-10-18T14:43:40Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptskeeps_running_flag_after_non_machine_shutdown3976940846/001/users/foo/scripts/shutdown\"" 262s time="2025-10-18T14:43:40Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsscript_directory_without_logoff_order_has_no_sess691205922/001/users/foo/scripts/logoff\"" 262s time="2025-10-18T14:43:40Z" level=info msg="\"/tmp/TestRunScriptsscript_directory_without_logoff_order_has_no_sess691205922/001/users/foo/scripts/logoff\" doesn't exist, but allowed to be missing, skipping" 262s === CONT TestRunScripts/has_no_session_running_flag_after_user_logoff 262s time="2025-10-18T14:43:40Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptshas_no_session_running_flag_after_user_logoff2134491707/001/users/foo/scripts/logoff\"" 262s === CONT TestRunScripts/error_on_order_file_not_existing 262s time="2025-10-18T14:43:40Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptserror_on_order_file_not_existing17696865/001/users/foo/scripts/s\"" 262s === CONT TestRunScripts/spaces_and_empty_lines_are_skipped 262s time="2025-10-18T14:43:40Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsspaces_and_empty_lines_are_skipped1710435704/001/users/foo/scripts/s\"" 262s === CONT TestRunScripts/script_directory_without_shutdown_order_has_no_session_running_flag_after_machine_shutdown 262s time="2025-10-18T14:43:40Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsscript_directory_without_shutdown_order_has_no_se1550459328/001/machine/foo/scripts/shutdown\"" 262s time="2025-10-18T14:43:40Z" level=info msg="\"/tmp/TestRunScriptsscript_directory_without_shutdown_order_has_no_se1550459328/001/machine/foo/scripts/shutdown\" doesn't exist, but allowed to be missing, skipping" 262s === CONT TestNew/create_manager 262s === CONT TestNew/error_on_read_only_rundir 262s === CONT TestApplyPolicy/Error_on_invalid_UID 262s --- PASS: TestNew (0.00s) 262s --- PASS: TestNew/error_on_read_only_rundir (0.00s) 262s --- PASS: TestNew/create_manager (0.00s) 262s === CONT TestApplyPolicy/Startup_script_for_computer_runs_systemctl_(systemctl_success) 262s time="2025-10-18T14:43:40Z" level=info msg="Running machine startup scripts" 262s === CONT TestApplyPolicy/Subfolder_with_script 262s === CONT TestApplyPolicy/Multiple_directories: 262s === CONT TestApplyPolicy/One_script 262s === CONT TestApplyPolicy/Error_on_running_start_script_that_runs_systemctl_and_systemctl_fails 262s time="2025-10-18T14:43:40Z" level=info msg="Running machine startup scripts" 262s === CONT TestApplyPolicy/Error_on_user_lookup_failing 262s === CONT TestApplyPolicy/Error_on_invalid_GID 262s === CONT TestApplyPolicy/Error_on_users_run_directory_Read_Only 262s --- PASS: TestRunScripts (0.00s) 262s --- PASS: TestRunScripts/has_no_session_running_flag_after_machine_shutdown (0.09s) 262s --- PASS: TestRunScripts/still_executes_without_existing_running_flag_on_machine_shutdown (0.10s) 262s --- PASS: TestRunScripts/scripts_referenced_in_subdirectories (0.08s) 262s --- PASS: TestRunScripts/keeps_running_flag_after_non_user_logoff (0.09s) 262s --- PASS: TestRunScripts/scripts_not_listed_are_not_run (0.06s) 262s --- PASS: TestRunScripts/multiple_scripts_are_run_in_order (0.07s) 262s --- PASS: TestRunScripts/error_on_argument_not_a_file (0.00s) 262s --- PASS: TestRunScripts/error_on_not_ready_for_execution (0.00s) 262s --- PASS: TestRunScripts/one_script (0.03s) 262s --- PASS: TestRunScripts/still_executes_without_existing_running_flag_on_user_logoff (0.06s) 262s --- PASS: TestRunScripts/scripts_that_are_not_executable_are_skipped (0.06s) 262s --- PASS: TestRunScripts/allow_order_file_missing (0.00s) 262s --- PASS: TestRunScripts/script_directory_without_logoff_order_has_no_session_running_flag_after_user_logoff (0.00s) 262s --- PASS: TestRunScripts/has_no_session_running_flag_after_user_logoff (0.06s) 262s --- PASS: TestRunScripts/error_on_order_file_not_existing (0.00s) 262s --- PASS: TestRunScripts/keeps_running_flag_after_non_machine_shutdown (0.07s) 262s --- PASS: TestRunScripts/script_directory_without_shutdown_order_has_no_session_running_flag_after_machine_shutdown (0.00s) 262s --- PASS: TestRunScripts/spaces_and_empty_lines_are_skipped (0.03s) 262s === CONT TestApplyPolicy/Error_on_subfolder_listed 262s === CONT TestApplyPolicy/One_directory,_multiple_scripts_in_order 262s === CONT TestApplyPolicy/No_entries_is_an_empty_folder 262s === CONT TestApplyPolicy/Computer,_no_systemctl_with_other_directory_than_startup 262s === CONT TestApplyPolicy/User_lookup_failing_does_not_impact_machine_update 262s === CONT TestApplyPolicy/Destination_is_not_ready,_refreshing 262s === CONT TestApplyPolicy/Error_on_save_assets_dumping_failing 262s === CONT TestApplyPolicy/Systemctl_failing_does_not_impact_user_scripts_update 262s === CONT TestApplyPolicy/Destination_is_already_ready_but_not_in_session,_refreshing 262s === CONT TestApplyPolicy/Same_script_is_used_multiple_times 262s === CONT TestApplyPolicy/Empty_entries_are_discared 262s === CONT TestApplyPolicy/Subfolder_with_same_script_name 262s === CONT TestApplyPolicy/No_entries_update_existing_non_ready_folder 262s === CONT TestApplyPolicy/Error_on_script_does_not_exist 262s --- PASS: TestApplyPolicy (0.00s) 262s --- PASS: TestApplyPolicy/Destination_is_already_running,_no_change (0.00s) 262s --- PASS: TestApplyPolicy/Error_on_invalid_UID (0.00s) 262s --- PASS: TestApplyPolicy/Startup_script_for_computer_runs_systemctl_(systemctl_success) (0.00s) 262s --- PASS: TestApplyPolicy/Subfolder_with_script (0.00s) 262s --- PASS: TestApplyPolicy/Multiple_directories: (0.00s) 262s --- PASS: TestApplyPolicy/One_script (0.00s) 262s --- PASS: TestApplyPolicy/Error_on_running_start_script_that_runs_systemctl_and_systemctl_fails (0.00s) 262s --- PASS: TestApplyPolicy/Error_on_user_lookup_failing (0.00s) 262s --- PASS: TestApplyPolicy/Error_on_invalid_GID (0.00s) 262s --- PASS: TestApplyPolicy/Error_on_users_run_directory_Read_Only (0.00s) 262s --- PASS: TestApplyPolicy/One_directory,_multiple_scripts_in_order (0.00s) 262s --- PASS: TestApplyPolicy/Error_on_subfolder_listed (0.00s) 262s --- PASS: TestApplyPolicy/No_entries_is_an_empty_folder (0.00s) 262s --- PASS: TestApplyPolicy/Computer,_no_systemctl_with_other_directory_than_startup (0.00s) 262s --- PASS: TestApplyPolicy/User_lookup_failing_does_not_impact_machine_update (0.01s) 262s --- PASS: TestApplyPolicy/Error_on_save_assets_dumping_failing (0.00s) 262s --- PASS: TestApplyPolicy/Destination_is_not_ready,_refreshing (0.00s) 262s --- PASS: TestApplyPolicy/Destination_is_already_ready_but_not_in_session,_refreshing (0.00s) 262s --- PASS: TestApplyPolicy/Systemctl_failing_does_not_impact_user_scripts_update (0.00s) 262s --- PASS: TestApplyPolicy/Same_script_is_used_multiple_times (0.00s) 262s --- PASS: TestApplyPolicy/Subfolder_with_same_script_name (0.00s) 262s --- PASS: TestApplyPolicy/No_entries_update_existing_non_ready_folder (0.00s) 262s --- PASS: TestApplyPolicy/Empty_entries_are_discared (0.01s) 262s --- PASS: TestApplyPolicy/Error_on_script_does_not_exist (0.00s) 262s PASS 262s ok github.com/ubuntu/adsys/internal/policies/scripts 0.462s 262s === RUN TestExclusiveLockExec 262s --- PASS: TestExclusiveLockExec (0.01s) 262s === RUN TestExclusiveLockSmb 262s --- PASS: TestExclusiveLockSmb (0.01s) 262s === RUN TestMultipleExecLocksOnlyReleaseOnLast 262s --- PASS: TestMultipleExecLocksOnlyReleaseOnLast (0.01s) 262s === RUN TestMultipleSmbLocksOnlyReleaseOnLast 262s --- PASS: TestMultipleSmbLocksOnlyReleaseOnLast (0.01s) 262s PASS 262s ok github.com/ubuntu/adsys/internal/smbsafe 0.053s 262s === RUN TestAddStdoutForwarder 262s --- PASS: TestAddStdoutForwarder (0.00s) 262s === RUN TestAddStderrForwarder 262s --- PASS: TestAddStderrForwarder (0.00s) 262s === RUN TestAddStdoutForwarderEnsureStderrNoPolluted 262s --- PASS: TestAddStdoutForwarderEnsureStderrNoPolluted (0.00s) 262s === RUN TestAddForwarderAndDisconnect 262s --- PASS: TestAddForwarderAndDisconnect (0.00s) 262s === RUN TestAddForwardersGraduallyAndDisconnect 262s --- PASS: TestAddForwardersGraduallyAndDisconnect (0.01s) 262s === RUN TestAddForwarderDifferentWriterStdoutStderr 262s --- PASS: TestAddForwarderDifferentWriterStdoutStderr (0.00s) 262s === RUN TestAddForwarderSameWriterStdoutStderr 262s --- PASS: TestAddForwarderSameWriterStdoutStderr (0.00s) 262s === RUN TestAddStdoutForwarderWithBlockedStdout 262s time="2025-10-18T14:43:40Z" level=warning msg="Failed to write to regular output: write |1: file already closed" 262s time="2025-10-18T14:43:40Z" level=warning msg="Failed to write to regular output: write |1: file already closed" 262s time="2025-10-18T14:43:40Z" level=warning msg="Failed to write to regular output: write |1: file already closed" 262s --- PASS: TestAddStdoutForwarderWithBlockedStdout (0.01s) 262s === RUN TestAddStderrForwarderWithBlockedStderr 262s time="2025-10-18T14:43:40Z" level=warning msg="Failed to write to regular output: write |1: file already closed" 262s time="2025-10-18T14:43:40Z" level=warning msg="Failed to write to regular output: write |1: file already closed" 262s time="2025-10-18T14:43:40Z" level=warning msg="Failed to write to regular output: write |1: file already closed" 262s --- PASS: TestAddStderrForwarderWithBlockedStderr (0.01s) 262s === RUN TestAddStdoutForwarderOneWithFailingForwarder 262s time="2025-10-18T14:43:40Z" level=warning msg="Failed to forward log: Error from failedWriter" 262s time="2025-10-18T14:43:40Z" level=warning msg="Failed to forward log: Error from failedWriter" 262s time="2025-10-18T14:43:40Z" level=warning msg="Failed to forward log: Error from failedWriter" 262s --- PASS: TestAddStdoutForwarderOneWithFailingForwarder (0.01s) 262s PASS 262s ok github.com/ubuntu/adsys/internal/stdforward 0.065s 263s === RUN TestManageUnit 263s === PAUSE TestManageUnit 263s === RUN TestDaemonReload 263s === PAUSE TestDaemonReload 263s === CONT TestManageUnit 263s === CONT TestDaemonReload 263s === RUN TestManageUnit/Error_when_stopping_unit_that_doesn't_exist 263s === PAUSE TestManageUnit/Error_when_stopping_unit_that_doesn't_exist 263s === RUN TestManageUnit/Error_when_enabling_unit_that_doesn't_exist 263s === PAUSE TestManageUnit/Error_when_enabling_unit_that_doesn't_exist 263s === RUN TestManageUnit/Error_when_disabling_unit_that_doesn't_exist 263s === PAUSE TestManageUnit/Error_when_disabling_unit_that_doesn't_exist 263s === RUN TestManageUnit/Start_unit_that_exists 263s === PAUSE TestManageUnit/Start_unit_that_exists 263s === RUN TestManageUnit/Error_when_starting_unit_that_doesn't_exist 263s === PAUSE TestManageUnit/Error_when_starting_unit_that_doesn't_exist 263s === RUN TestManageUnit/Error_when_stopping_failing_unit 263s === PAUSE TestManageUnit/Error_when_stopping_failing_unit 263s === RUN TestManageUnit/Stop_unit_that_exists 263s === PAUSE TestManageUnit/Stop_unit_that_exists 263s === RUN TestManageUnit/Enable_unit_that_exists 263s === PAUSE TestManageUnit/Enable_unit_that_exists 263s === RUN TestManageUnit/Disable_unit_that_exists 263s === PAUSE TestManageUnit/Disable_unit_that_exists 263s === RUN TestManageUnit/Error_when_starting_failing_unit 263s === PAUSE TestManageUnit/Error_when_starting_failing_unit 263s === CONT TestManageUnit/Error_when_stopping_unit_that_doesn't_exist 263s === CONT TestManageUnit/Error_when_starting_failing_unit 263s --- PASS: TestDaemonReload (0.00s) 263s === CONT TestManageUnit/Disable_unit_that_exists 263s === CONT TestManageUnit/Enable_unit_that_exists 263s === CONT TestManageUnit/Stop_unit_that_exists 263s === CONT TestManageUnit/Error_when_stopping_failing_unit 263s === CONT TestManageUnit/Error_when_starting_unit_that_doesn't_exist 263s === CONT TestManageUnit/Start_unit_that_exists 263s === CONT TestManageUnit/Error_when_disabling_unit_that_doesn't_exist 263s === CONT TestManageUnit/Error_when_enabling_unit_that_doesn't_exist 263s --- PASS: TestManageUnit (0.00s) 263s --- PASS: TestManageUnit/Error_when_stopping_unit_that_doesn't_exist (0.00s) 263s --- PASS: TestManageUnit/Error_when_starting_failing_unit (0.00s) 263s --- PASS: TestManageUnit/Disable_unit_that_exists (0.00s) 263s --- PASS: TestManageUnit/Enable_unit_that_exists (0.00s) 263s --- PASS: TestManageUnit/Stop_unit_that_exists (0.00s) 263s --- PASS: TestManageUnit/Error_when_stopping_failing_unit (0.00s) 263s --- PASS: TestManageUnit/Error_when_starting_unit_that_doesn't_exist (0.00s) 263s --- PASS: TestManageUnit/Start_unit_that_exists (0.00s) 263s --- PASS: TestManageUnit/Error_when_disabling_unit_that_doesn't_exist (0.00s) 263s --- PASS: TestManageUnit/Error_when_enabling_unit_that_doesn't_exist (0.00s) 263s PASS 263s ok github.com/ubuntu/adsys/internal/systemd 0.029s 263s ? github.com/ubuntu/adsys/internal/testutils [no test files] 263s ? github.com/ubuntu/adsys/internal/watchdservice [no test files] 264s === RUN TestInteractiveInput 264s === RUN TestInteractiveInput/Directory_does_not_exist,_block_input 264s === RUN TestInteractiveInput/Multiple_existing_directories,_can_delete_them 264s === RUN TestInteractiveInput/Submit_with_fresh_config_in_current_directory 264s === RUN TestInteractiveInput/Existing_config_file_is_passed_in_and_contains_directories,_not_all_which_exist_on_the_system 264s === RUN TestInteractiveInput/Directory_exists 264s === RUN TestInteractiveInput/No_directories,_focus_on_dir_input 264s === RUN TestInteractiveInput/Submit_with_default_config 264s === RUN TestInteractiveInput/Submit_with_duplicate_directories 264s === RUN TestInteractiveInput/Submit_with_double_dot_directories_is_normalized 264s === RUN TestInteractiveInput/Other_navigation_tests 264s === RUN TestInteractiveInput/Found_installed_service,_config_overridden 264s === RUN TestInteractiveInput/Directory_is_a_file,_block_input 264s === RUN TestInteractiveInput/Submit_with_fresh_config_in_nested_directory 264s === RUN TestInteractiveInput/Existing_config_file_is_passed_in_and_is_empty_or_has_no_directories 264s === RUN TestInteractiveInput/Config_file_is_absent_and_input_is_a_dir 264s === RUN TestInteractiveInput/Found_installed_service,_config_not_overridden 264s === RUN TestInteractiveInput/Dot_and_double_dot_directory_inputs_are_normalized 264s === RUN TestInteractiveInput/Multiple_existing_directories,_can_cycle_between_the_inputs 264s === RUN TestInteractiveInput/Submit_with_directory_as_config_input 264s === RUN TestInteractiveInput/Submit_with_dot_directories_is_normalized 264s === RUN TestInteractiveInput/Initial_view 264s === RUN TestInteractiveInput/Config_file_exists 264s === RUN TestInteractiveInput/Config_file_is_absent_and_input_is_absolute 264s === RUN TestInteractiveInput/Config_file_is_absent_and_input_is_relative 264s === RUN TestInteractiveInput/Existing_config_file_is_passed_in_and_contains_directories_which_exist_on_the_system 264s --- PASS: TestInteractiveInput (0.03s) 264s --- PASS: TestInteractiveInput/Directory_does_not_exist,_block_input (0.00s) 264s --- PASS: TestInteractiveInput/Multiple_existing_directories,_can_delete_them (0.00s) 264s --- PASS: TestInteractiveInput/Submit_with_fresh_config_in_current_directory (0.00s) 264s --- PASS: TestInteractiveInput/Existing_config_file_is_passed_in_and_contains_directories,_not_all_which_exist_on_the_system (0.00s) 264s --- PASS: TestInteractiveInput/Directory_exists (0.00s) 264s --- PASS: TestInteractiveInput/No_directories,_focus_on_dir_input (0.00s) 264s --- PASS: TestInteractiveInput/Submit_with_default_config (0.00s) 264s --- PASS: TestInteractiveInput/Submit_with_duplicate_directories (0.00s) 264s --- PASS: TestInteractiveInput/Submit_with_double_dot_directories_is_normalized (0.00s) 264s --- PASS: TestInteractiveInput/Other_navigation_tests (0.00s) 264s --- PASS: TestInteractiveInput/Found_installed_service,_config_overridden (0.00s) 264s --- PASS: TestInteractiveInput/Directory_is_a_file,_block_input (0.00s) 264s --- PASS: TestInteractiveInput/Submit_with_fresh_config_in_nested_directory (0.00s) 264s --- PASS: TestInteractiveInput/Existing_config_file_is_passed_in_and_is_empty_or_has_no_directories (0.00s) 264s --- PASS: TestInteractiveInput/Config_file_is_absent_and_input_is_a_dir (0.00s) 264s --- PASS: TestInteractiveInput/Found_installed_service,_config_not_overridden (0.00s) 264s --- PASS: TestInteractiveInput/Dot_and_double_dot_directory_inputs_are_normalized (0.00s) 264s --- PASS: TestInteractiveInput/Multiple_existing_directories,_can_cycle_between_the_inputs (0.00s) 264s --- PASS: TestInteractiveInput/Submit_with_directory_as_config_input (0.00s) 264s --- PASS: TestInteractiveInput/Submit_with_dot_directories_is_normalized (0.00s) 264s --- PASS: TestInteractiveInput/Initial_view (0.00s) 264s --- PASS: TestInteractiveInput/Config_file_exists (0.00s) 264s --- PASS: TestInteractiveInput/Config_file_is_absent_and_input_is_absolute (0.00s) 264s --- PASS: TestInteractiveInput/Config_file_is_absent_and_input_is_relative (0.00s) 264s --- PASS: TestInteractiveInput/Existing_config_file_is_passed_in_and_contains_directories_which_exist_on_the_system (0.00s) 264s === RUN TestInteractiveInstall 264s watchdtui_test.go:408: Test has to be run as root, skipping... 264s --- SKIP: TestInteractiveInstall (0.00s) 264s === RUN TestInteractiveUpdate 264s watchdtui_test.go:456: Test has to be run as root, skipping... 264s --- SKIP: TestInteractiveUpdate (0.00s) 264s PASS 264s ok github.com/ubuntu/adsys/internal/watchdtui 0.077s 268s === RUN TestWatchDirectory 268s === PAUSE TestWatchDirectory 268s === RUN TestRefreshGracePeriod 268s === PAUSE TestRefreshGracePeriod 268s === RUN TestUpdateDirs 268s === PAUSE TestUpdateDirs 268s === RUN TestUpdateDirsFailing 268s === PAUSE TestUpdateDirsFailing 268s === RUN TestUpdateDirsWithEmptyDirSlice 268s === PAUSE TestUpdateDirsWithEmptyDirSlice 268s === RUN TestUpdateDirsOnStoppedWatcher 268s === PAUSE TestUpdateDirsOnStoppedWatcher 268s === RUN TestStopWithoutStart 268s === PAUSE TestStopWithoutStart 268s === CONT TestWatchDirectory 268s === RUN TestWatchDirectory/New_file,_no_gpt.ini 268s === PAUSE TestWatchDirectory/New_file,_no_gpt.ini 268s === RUN TestWatchDirectory/Update_with_existing_gpt.ini 268s === PAUSE TestWatchDirectory/Update_with_existing_gpt.ini 268s === RUN TestWatchDirectory/No_update,_existing_gpt.ini 268s === CONT TestUpdateDirsWithEmptyDirSlice 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching /tmp/TestUpdateDirsWithEmptyDirSlice3769269656/001/watchdir and children" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirsWithEmptyDirSlice3769269656/001/watchdir" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirsWithEmptyDirSlice3769269656/001/watchdir/GPT.INI" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirsWithEmptyDirSlice3769269656/001/watchdir/alreadyexists" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirsWithEmptyDirSlice3769269656/001/watchdir/alreadyexistsDir" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirsWithEmptyDirSlice3769269656/001/watchdir/alreadyexistsDir/GPT.INI" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirsWithEmptyDirSlice3769269656/001/watchdir/alreadyexistsDir/alreadyexists" 268s time="2025-10-18T14:43:42Z" level=debug msg="Updating directories to []" 268s time="2025-10-18T14:43:42Z" level=info msg="Watcher stopped" 268s === PAUSE TestWatchDirectory/No_update,_existing_gpt.ini 268s === RUN TestWatchDirectory/Update_existing_file 268s === PAUSE TestWatchDirectory/Update_existing_file 268s === RUN TestWatchDirectory/New_file,_subdir 268s === PAUSE TestWatchDirectory/New_file,_subdir 268s === RUN TestWatchDirectory/Multiple_nested_subdirectories,_only_update_nested_file 268s === PAUSE TestWatchDirectory/Multiple_nested_subdirectories,_only_update_nested_file 268s === RUN TestWatchDirectory/No_update,_no_gpt.ini 268s === PAUSE TestWatchDirectory/No_update,_no_gpt.ini 268s === RUN TestWatchDirectory/Remove_root_directory 268s === PAUSE TestWatchDirectory/Remove_root_directory 268s === RUN TestWatchDirectory/Remove_file 268s === PAUSE TestWatchDirectory/Remove_file 268s === RUN TestWatchDirectory/New_subdir 268s === PAUSE TestWatchDirectory/New_subdir 268s === RUN TestWatchDirectory/Multiple_nested_subdirectories 268s === PAUSE TestWatchDirectory/Multiple_nested_subdirectories 268s === RUN TestWatchDirectory/New_subdir_without_file 268s === PAUSE TestWatchDirectory/New_subdir_without_file 268s === RUN TestWatchDirectory/Multiple_directories_with_different_versions,_all_updated 268s === PAUSE TestWatchDirectory/Multiple_directories_with_different_versions,_all_updated 268s === RUN TestWatchDirectory/Updating_gpt.ini_is_a_no-op 268s === PAUSE TestWatchDirectory/Updating_gpt.ini_is_a_no-op 268s === RUN TestWatchDirectory/Rename_file 268s === PAUSE TestWatchDirectory/Rename_file 268s === RUN TestWatchDirectory/Rename_file_and_update 268s === PAUSE TestWatchDirectory/Rename_file_and_update 268s === RUN TestWatchDirectory/Existing_file,_subdir 268s === PAUSE TestWatchDirectory/Existing_file,_subdir 268s === RUN TestWatchDirectory/Nested_new_subdirs 268s === PAUSE TestWatchDirectory/Nested_new_subdirs 268s === RUN TestWatchDirectory/Combined_case 268s === PAUSE TestWatchDirectory/Combined_case 268s === RUN TestWatchDirectory/Multiple_directories,_only_one_is_updated 268s === PAUSE TestWatchDirectory/Multiple_directories,_only_one_is_updated 268s === RUN TestWatchDirectory/Error_on_non_existing_directory 268s === PAUSE TestWatchDirectory/Error_on_non_existing_directory 268s === RUN TestWatchDirectory/Error_on_updating_malformed_GPT.ini 268s === PAUSE TestWatchDirectory/Error_on_updating_malformed_GPT.ini 268s === RUN TestWatchDirectory/Error_on_listing_no_directory 268s === PAUSE TestWatchDirectory/Error_on_listing_no_directory 268s === CONT TestStopWithoutStart 268s --- PASS: TestStopWithoutStart (0.00s) 268s === CONT TestUpdateDirsOnStoppedWatcher 268s time="2025-10-18T14:43:42Z" level=debug msg="Updating directories to [/tmp/TestUpdateDirsOnStoppedWatcher941729369/001/curdir]" 268s time="2025-10-18T14:43:42Z" level=warning msg="Error stopping watcher: the service is already stopping or not running" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching /tmp/TestUpdateDirsOnStoppedWatcher941729369/001/curdir and children" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirsOnStoppedWatcher941729369/001/curdir" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirsOnStoppedWatcher941729369/001/curdir/GPT.INI" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirsOnStoppedWatcher941729369/001/curdir/alreadyexists" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirsOnStoppedWatcher941729369/001/curdir/alreadyexistsDir" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirsOnStoppedWatcher941729369/001/curdir/alreadyexistsDir/GPT.INI" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirsOnStoppedWatcher941729369/001/curdir/alreadyexistsDir/alreadyexists" 268s --- PASS: TestUpdateDirsWithEmptyDirSlice (0.01s) 268s === CONT TestUpdateDirs 268s time="2025-10-18T14:43:42Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsOnStoppedWatcher941729369/001/curdir/alreadyexists\"" 268s time="2025-10-18T14:43:42Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsOnStoppedWatcher941729369/001/curdir/alreadyexists\"" 268s time="2025-10-18T14:43:42Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsOnStoppedWatcher941729369/001/curdir/alreadyexists\"" 268s time="2025-10-18T14:43:42Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsOnStoppedWatcher941729369/001/curdir/alreadyexists\"" 268s time="2025-10-18T14:43:42Z" level=info msg="Watcher stopped" 268s time="2025-10-18T14:43:42Z" level=info msg="Bumping version for /tmp/TestUpdateDirsOnStoppedWatcher941729369/001/curdir/GPT.INI" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching /tmp/TestUpdateDirs930296439/001/remove and children" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirs930296439/001/remove" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirs930296439/001/remove/GPT.INI" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirs930296439/001/remove/alreadyexists" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirs930296439/001/remove/alreadyexistsDir" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirs930296439/001/remove/alreadyexistsDir/GPT.INI" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirs930296439/001/remove/alreadyexistsDir/alreadyexists" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching /tmp/TestUpdateDirs930296439/001/keep and children" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirs930296439/001/keep" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirs930296439/001/keep/GPT.INI" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirs930296439/001/keep/alreadyexists" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirs930296439/001/keep/alreadyexistsDir" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirs930296439/001/keep/alreadyexistsDir/GPT.INI" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirs930296439/001/keep/alreadyexistsDir/alreadyexists" 268s time="2025-10-18T14:43:42Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs930296439/001/remove/alreadyexists\"" 268s time="2025-10-18T14:43:42Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs930296439/001/remove/alreadyexists\"" 268s time="2025-10-18T14:43:42Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs930296439/001/remove/alreadyexists\"" 268s time="2025-10-18T14:43:42Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs930296439/001/remove/alreadyexists\"" 268s time="2025-10-18T14:43:42Z" level=debug msg="Updating directories to [/tmp/TestUpdateDirs930296439/001/keep /tmp/TestUpdateDirs930296439/001/add]" 268s time="2025-10-18T14:43:42Z" level=info msg="Watcher stopped" 268s time="2025-10-18T14:43:42Z" level=info msg="Bumping version for /tmp/TestUpdateDirs930296439/001/remove/GPT.INI" 268s --- PASS: TestUpdateDirsOnStoppedWatcher (0.29s) 268s === CONT TestUpdateDirsFailing 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching /tmp/TestUpdateDirs930296439/001/keep and children" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirs930296439/001/keep" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirs930296439/001/keep/GPT.INI" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirs930296439/001/keep/alreadyexists" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirs930296439/001/keep/alreadyexistsDir" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirs930296439/001/keep/alreadyexistsDir/GPT.INI" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching /tmp/TestUpdateDirsFailing2704926883/001/remove and children" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirs930296439/001/keep/alreadyexistsDir/alreadyexists" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing2704926883/001/remove" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching /tmp/TestUpdateDirs930296439/001/add and children" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirs930296439/001/add" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing2704926883/001/remove/GPT.INI" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing2704926883/001/remove/alreadyexists" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing2704926883/001/remove/alreadyexistsDir" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirs930296439/001/add/GPT.INI" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirs930296439/001/add/alreadyexists" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing2704926883/001/remove/alreadyexistsDir/GPT.INI" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirs930296439/001/add/alreadyexistsDir" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing2704926883/001/remove/alreadyexistsDir/alreadyexists" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching /tmp/TestUpdateDirsFailing2704926883/001/keep and children" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirs930296439/001/add/alreadyexistsDir/GPT.INI" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing2704926883/001/keep" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirs930296439/001/add/alreadyexistsDir/alreadyexists" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing2704926883/001/keep/GPT.INI" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing2704926883/001/keep/alreadyexists" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing2704926883/001/keep/alreadyexistsDir" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing2704926883/001/keep/alreadyexistsDir/GPT.INI" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing2704926883/001/keep/alreadyexistsDir/alreadyexists" 268s time="2025-10-18T14:43:42Z" level=debug msg="Updating directories to [/tmp/TestUpdateDirsFailing2704926883/001/keep unexisting]" 268s time="2025-10-18T14:43:42Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsFailing2704926883/001/keep/alreadyexists\"" 268s time="2025-10-18T14:43:42Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsFailing2704926883/001/keep/alreadyexists\"" 268s time="2025-10-18T14:43:42Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsFailing2704926883/001/keep/alreadyexists\"" 268s time="2025-10-18T14:43:42Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsFailing2704926883/001/keep/alreadyexists\"" 268s time="2025-10-18T14:43:42Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsFailing2704926883/001/remove/alreadyexists\"" 268s time="2025-10-18T14:43:42Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsFailing2704926883/001/remove/alreadyexists\"" 268s time="2025-10-18T14:43:42Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsFailing2704926883/001/remove/alreadyexists\"" 268s time="2025-10-18T14:43:42Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsFailing2704926883/001/remove/alreadyexists\"" 268s time="2025-10-18T14:43:42Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs930296439/001/keep/alreadyexists\"" 268s time="2025-10-18T14:43:42Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs930296439/001/keep/alreadyexists\"" 268s time="2025-10-18T14:43:42Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs930296439/001/keep/alreadyexists\"" 268s time="2025-10-18T14:43:42Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs930296439/001/keep/alreadyexists\"" 268s time="2025-10-18T14:43:42Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs930296439/001/add/alreadyexists\"" 268s time="2025-10-18T14:43:42Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs930296439/001/add/alreadyexists\"" 268s time="2025-10-18T14:43:42Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs930296439/001/add/alreadyexists\"" 268s time="2025-10-18T14:43:42Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs930296439/001/add/alreadyexists\"" 268s time="2025-10-18T14:43:42Z" level=info msg="Watcher stopped" 268s time="2025-10-18T14:43:42Z" level=info msg="Bumping version for /tmp/TestUpdateDirsFailing2704926883/001/keep/GPT.INI" 268s time="2025-10-18T14:43:42Z" level=info msg="Bumping version for /tmp/TestUpdateDirsFailing2704926883/001/remove/GPT.INI" 268s time="2025-10-18T14:43:42Z" level=info msg="Watcher stopped" 268s time="2025-10-18T14:43:42Z" level=info msg="Bumping version for /tmp/TestUpdateDirs930296439/001/keep/GPT.INI" 268s time="2025-10-18T14:43:42Z" level=info msg="Bumping version for /tmp/TestUpdateDirs930296439/001/add/GPT.INI" 268s --- PASS: TestUpdateDirsFailing (0.22s) 268s === CONT TestRefreshGracePeriod 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching /tmp/TestRefreshGracePeriod3975850275/001/withsubdir and children" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestRefreshGracePeriod3975850275/001/withsubdir" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestRefreshGracePeriod3975850275/001/withsubdir/GPT.INI" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestRefreshGracePeriod3975850275/001/withsubdir/alreadyexists" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestRefreshGracePeriod3975850275/001/withsubdir/alreadyexistsDir" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestRefreshGracePeriod3975850275/001/withsubdir/alreadyexistsDir/GPT.INI" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestRefreshGracePeriod3975850275/001/withsubdir/alreadyexistsDir/alreadyexists" 268s time="2025-10-18T14:43:42Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod3975850275/001/withsubdir/alreadyexists\"" 268s time="2025-10-18T14:43:42Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod3975850275/001/withsubdir/alreadyexists\"" 268s time="2025-10-18T14:43:42Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod3975850275/001/withsubdir/alreadyexists\"" 268s time="2025-10-18T14:43:42Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod3975850275/001/withsubdir/alreadyexists\"" 268s --- PASS: TestUpdateDirs (0.61s) 268s === CONT TestWatchDirectory/New_file,_no_gpt.ini 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching /tmp/TestWatchDirectoryNew_file,_no_gpt.ini3773170092/001/no_gpt and children" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_file,_no_gpt.ini3773170092/001/no_gpt" 268s time="2025-10-18T14:43:42Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_file,_no_gpt.ini3773170092/001/no_gpt/testfile" 268s time="2025-10-18T14:43:42Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryNew_file,_no_gpt.ini3773170092/001/no_gpt/new\"" 268s time="2025-10-18T14:43:42Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryNew_file,_no_gpt.ini3773170092/001/no_gpt/new\"" 268s time="2025-10-18T14:43:43Z" level=info msg="Watcher stopped" 268s time="2025-10-18T14:43:43Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryNew_file,_no_gpt.ini3773170092/001/no_gpt/GPT.INI" 268s time="2025-10-18T14:43:43Z" level=info msg="error loading ini contents: open /tmp/TestWatchDirectoryNew_file,_no_gpt.ini3773170092/001/no_gpt/GPT.INI: no such file or directory, creating a new file" 268s === CONT TestWatchDirectory/Error_on_listing_no_directory 268s === CONT TestWatchDirectory/Error_on_updating_malformed_GPT.ini 268s time="2025-10-18T14:43:43Z" level=debug msg="Watching /tmp/TestWatchDirectoryError_on_updating_malformed_GPT.ini383300710/001/malformed and children" 268s time="2025-10-18T14:43:43Z" level=debug msg="Watching: /tmp/TestWatchDirectoryError_on_updating_malformed_GPT.ini383300710/001/malformed" 268s time="2025-10-18T14:43:43Z" level=debug msg="Watching: /tmp/TestWatchDirectoryError_on_updating_malformed_GPT.ini383300710/001/malformed/GPT.INI" 268s time="2025-10-18T14:43:43Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryError_on_updating_malformed_GPT.ini383300710/001/malformed/new\"" 268s time="2025-10-18T14:43:43Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryError_on_updating_malformed_GPT.ini383300710/001/malformed/new\"" 268s time="2025-10-18T14:43:43Z" level=info msg="Watcher stopped" 268s time="2025-10-18T14:43:43Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryError_on_updating_malformed_GPT.ini383300710/001/malformed/GPT.INI" 268s time="2025-10-18T14:43:43Z" level=warning msg="Failed to bump /tmp/TestWatchDirectoryError_on_updating_malformed_GPT.ini383300710/001/malformed/GPT.INI version: can't bump version for /tmp/TestWatchDirectoryError_on_updating_malformed_GPT.ini383300710/001/malformed/GPT.INI: strconv.ParseInt: parsing \"??\": invalid syntax" 268s === CONT TestWatchDirectory/Error_on_non_existing_directory 268s time="2025-10-18T14:43:43Z" level=debug msg="Watching /tmp/TestWatchDirectoryError_on_non_existing_directory3718165107/001/doesnotexist and children" 268s === CONT TestWatchDirectory/Multiple_directories,_only_one_is_updated 268s time="2025-10-18T14:43:43Z" level=debug msg="Watching /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated1733682589/001/one_file and children" 268s time="2025-10-18T14:43:43Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated1733682589/001/one_file" 268s time="2025-10-18T14:43:43Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated1733682589/001/one_file/GPT.INI" 268s time="2025-10-18T14:43:43Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated1733682589/001/one_file/alreadyexists" 268s time="2025-10-18T14:43:43Z" level=debug msg="Watching /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated1733682589/001/withsubdir and children" 268s time="2025-10-18T14:43:43Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated1733682589/001/withsubdir" 268s time="2025-10-18T14:43:43Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated1733682589/001/withsubdir/GPT.INI" 268s time="2025-10-18T14:43:43Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated1733682589/001/withsubdir/alreadyexists" 268s time="2025-10-18T14:43:43Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated1733682589/001/withsubdir/alreadyexistsDir" 268s time="2025-10-18T14:43:43Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated1733682589/001/withsubdir/alreadyexistsDir/GPT.INI" 268s time="2025-10-18T14:43:43Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated1733682589/001/withsubdir/alreadyexistsDir/alreadyexists" 268s time="2025-10-18T14:43:43Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated1733682589/001/withsubdir/alreadyexists\"" 268s time="2025-10-18T14:43:43Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated1733682589/001/withsubdir/alreadyexists\"" 268s time="2025-10-18T14:43:43Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod3975850275/001/withsubdir/alreadyexistsDir/alreadyexists\"" 268s time="2025-10-18T14:43:43Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod3975850275/001/withsubdir/alreadyexistsDir/alreadyexists\"" 268s time="2025-10-18T14:43:43Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod3975850275/001/withsubdir/alreadyexistsDir/alreadyexists\"" 268s time="2025-10-18T14:43:43Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod3975850275/001/withsubdir/alreadyexistsDir/alreadyexists\"" 268s time="2025-10-18T14:43:43Z" level=info msg="Watcher stopped" 268s time="2025-10-18T14:43:43Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated1733682589/001/withsubdir/GPT.INI" 268s === CONT TestWatchDirectory/Combined_case 268s time="2025-10-18T14:43:43Z" level=debug msg="Watching /tmp/TestWatchDirectoryCombined_case3661852323/001/withsubdir and children" 268s time="2025-10-18T14:43:43Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case3661852323/001/withsubdir" 268s time="2025-10-18T14:43:43Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case3661852323/001/withsubdir/GPT.INI" 268s time="2025-10-18T14:43:43Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case3661852323/001/withsubdir/alreadyexists" 268s time="2025-10-18T14:43:43Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case3661852323/001/withsubdir/alreadyexistsDir" 268s time="2025-10-18T14:43:43Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case3661852323/001/withsubdir/alreadyexistsDir/GPT.INI" 268s time="2025-10-18T14:43:43Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case3661852323/001/withsubdir/alreadyexistsDir/alreadyexists" 268s time="2025-10-18T14:43:43Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryCombined_case3661852323/001/withsubdir/alreadyexists\"" 268s time="2025-10-18T14:43:43Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryCombined_case3661852323/001/withsubdir/alreadyexists\"" 268s time="2025-10-18T14:43:43Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryCombined_case3661852323/001/withsubdir/new\"" 268s time="2025-10-18T14:43:43Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryCombined_case3661852323/001/withsubdir/new\"" 268s time="2025-10-18T14:43:43Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryCombined_case3661852323/001/withsubdir/dir\"" 268s time="2025-10-18T14:43:43Z" level=debug msg="Watching /tmp/TestWatchDirectoryCombined_case3661852323/001/withsubdir/dir and children" 268s time="2025-10-18T14:43:43Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case3661852323/001/withsubdir/dir" 268s time="2025-10-18T14:43:43Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case3661852323/001/withsubdir/dir/file" 268s time="2025-10-18T14:43:43Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryCombined_case3661852323/001/withsubdir/alreadyexistsDir/alreadyexists\"" 268s time="2025-10-18T14:43:43Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryCombined_case3661852323/001/withsubdir/alreadyexistsDir/alreadyexists\"" 268s time="2025-10-18T14:43:43Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryCombined_case3661852323/001/withsubdir/alreadyexistsDir/new\"" 268s time="2025-10-18T14:43:43Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryCombined_case3661852323/001/withsubdir/alreadyexistsDir/new\"" 268s time="2025-10-18T14:43:43Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryCombined_case3661852323/001/withsubdir/otherdir\"" 268s time="2025-10-18T14:43:43Z" level=debug msg="Watching /tmp/TestWatchDirectoryCombined_case3661852323/001/withsubdir/otherdir and children" 268s time="2025-10-18T14:43:43Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case3661852323/001/withsubdir/otherdir" 268s time="2025-10-18T14:43:43Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case3661852323/001/withsubdir/otherdir/subdir" 268s time="2025-10-18T14:43:43Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case3661852323/001/withsubdir/otherdir/subdir/file" 268s time="2025-10-18T14:43:43Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryCombined_case3661852323/001/withsubdir/newdir\"" 268s time="2025-10-18T14:43:43Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryCombined_case3661852323/001/withsubdir/newdir\"" 268s time="2025-10-18T14:43:43Z" level=info msg="Watcher stopped" 268s time="2025-10-18T14:43:43Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryCombined_case3661852323/001/withsubdir/GPT.INI" 268s === CONT TestWatchDirectory/Nested_new_subdirs 268s time="2025-10-18T14:43:43Z" level=debug msg="Watching /tmp/TestWatchDirectoryNested_new_subdirs3168047324/001/withsubdir and children" 268s time="2025-10-18T14:43:43Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs3168047324/001/withsubdir" 268s time="2025-10-18T14:43:43Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs3168047324/001/withsubdir/GPT.INI" 268s time="2025-10-18T14:43:43Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs3168047324/001/withsubdir/alreadyexists" 268s time="2025-10-18T14:43:43Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs3168047324/001/withsubdir/alreadyexistsDir" 268s time="2025-10-18T14:43:43Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs3168047324/001/withsubdir/alreadyexistsDir/GPT.INI" 268s time="2025-10-18T14:43:43Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs3168047324/001/withsubdir/alreadyexistsDir/alreadyexists" 268s time="2025-10-18T14:43:43Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryNested_new_subdirs3168047324/001/withsubdir/otherdir\"" 268s time="2025-10-18T14:43:43Z" level=debug msg="Watching /tmp/TestWatchDirectoryNested_new_subdirs3168047324/001/withsubdir/otherdir and children" 268s time="2025-10-18T14:43:43Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs3168047324/001/withsubdir/otherdir" 268s time="2025-10-18T14:43:43Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs3168047324/001/withsubdir/otherdir/subdir" 268s time="2025-10-18T14:43:43Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs3168047324/001/withsubdir/otherdir/subdir/file" 268s time="2025-10-18T14:43:43Z" level=info msg="Watcher stopped" 268s time="2025-10-18T14:43:43Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryNested_new_subdirs3168047324/001/withsubdir/GPT.INI" 268s === CONT TestWatchDirectory/Existing_file,_subdir 268s time="2025-10-18T14:43:44Z" level=debug msg="Watching /tmp/TestWatchDirectoryExisting_file,_subdir3449527151/001/withsubdir and children" 268s time="2025-10-18T14:43:44Z" level=debug msg="Watching: /tmp/TestWatchDirectoryExisting_file,_subdir3449527151/001/withsubdir" 268s time="2025-10-18T14:43:44Z" level=debug msg="Watching: /tmp/TestWatchDirectoryExisting_file,_subdir3449527151/001/withsubdir/GPT.INI" 268s time="2025-10-18T14:43:44Z" level=debug msg="Watching: /tmp/TestWatchDirectoryExisting_file,_subdir3449527151/001/withsubdir/alreadyexists" 268s time="2025-10-18T14:43:44Z" level=debug msg="Watching: /tmp/TestWatchDirectoryExisting_file,_subdir3449527151/001/withsubdir/alreadyexistsDir" 268s time="2025-10-18T14:43:44Z" level=debug msg="Watching: /tmp/TestWatchDirectoryExisting_file,_subdir3449527151/001/withsubdir/alreadyexistsDir/GPT.INI" 268s time="2025-10-18T14:43:44Z" level=debug msg="Watching: /tmp/TestWatchDirectoryExisting_file,_subdir3449527151/001/withsubdir/alreadyexistsDir/alreadyexists" 268s time="2025-10-18T14:43:44Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryExisting_file,_subdir3449527151/001/withsubdir/alreadyexistsDir/alreadyexists\"" 268s time="2025-10-18T14:43:44Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryExisting_file,_subdir3449527151/001/withsubdir/alreadyexistsDir/alreadyexists\"" 268s time="2025-10-18T14:43:44Z" level=info msg="Watcher stopped" 268s time="2025-10-18T14:43:44Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryExisting_file,_subdir3449527151/001/withsubdir/GPT.INI" 268s === CONT TestWatchDirectory/Rename_file_and_update 268s time="2025-10-18T14:43:44Z" level=debug msg="Watching /tmp/TestWatchDirectoryRename_file_and_update1980178140/001/one_file and children" 268s time="2025-10-18T14:43:44Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRename_file_and_update1980178140/001/one_file" 268s time="2025-10-18T14:43:44Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRename_file_and_update1980178140/001/one_file/GPT.INI" 268s time="2025-10-18T14:43:44Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRename_file_and_update1980178140/001/one_file/alreadyexists" 268s time="2025-10-18T14:43:44Z" level=debug msg="Got event: RENAME \"/tmp/TestWatchDirectoryRename_file_and_update1980178140/001/one_file/alreadyexists\"" 268s time="2025-10-18T14:43:44Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryRename_file_and_update1980178140/001/one_file/alreadyexists.bak\"" 268s time="2025-10-18T14:43:44Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryRename_file_and_update1980178140/001/one_file/alreadyexists.bak\"" 268s time="2025-10-18T14:43:44Z" level=info msg="Watcher stopped" 268s time="2025-10-18T14:43:44Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryRename_file_and_update1980178140/001/one_file/GPT.INI" 268s === CONT TestWatchDirectory/Rename_file 268s time="2025-10-18T14:43:44Z" level=debug msg="Watching /tmp/TestWatchDirectoryRename_file1362008362/001/one_file and children" 268s time="2025-10-18T14:43:44Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRename_file1362008362/001/one_file" 268s time="2025-10-18T14:43:44Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRename_file1362008362/001/one_file/GPT.INI" 268s time="2025-10-18T14:43:44Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRename_file1362008362/001/one_file/alreadyexists" 268s time="2025-10-18T14:43:44Z" level=debug msg="Got event: RENAME \"/tmp/TestWatchDirectoryRename_file1362008362/001/one_file/alreadyexists\"" 268s time="2025-10-18T14:43:44Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryRename_file1362008362/001/one_file/alreadyexists.bak\"" 268s time="2025-10-18T14:43:44Z" level=info msg="Bumping version for /tmp/TestRefreshGracePeriod3975850275/001/withsubdir/GPT.INI" 268s time="2025-10-18T14:43:44Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod3975850275/001/withsubdir/GPT.INI\"" 268s time="2025-10-18T14:43:44Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod3975850275/001/withsubdir/GPT.INI\"" 268s time="2025-10-18T14:43:44Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod3975850275/001/withsubdir/GPT.INI\"" 268s time="2025-10-18T14:43:44Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod3975850275/001/withsubdir/GPT.INI\"" 268s time="2025-10-18T14:43:44Z" level=info msg="Watcher stopped" 268s time="2025-10-18T14:43:44Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryRename_file1362008362/001/one_file/GPT.INI" 268s === CONT TestWatchDirectory/Updating_gpt.ini_is_a_no-op 268s time="2025-10-18T14:43:44Z" level=debug msg="Watching /tmp/TestWatchDirectoryUpdating_gpt.ini_is_a_no-op623682999/001/one_file and children" 268s time="2025-10-18T14:43:44Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdating_gpt.ini_is_a_no-op623682999/001/one_file" 268s time="2025-10-18T14:43:44Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdating_gpt.ini_is_a_no-op623682999/001/one_file/GPT.INI" 268s time="2025-10-18T14:43:44Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdating_gpt.ini_is_a_no-op623682999/001/one_file/alreadyexists" 268s time="2025-10-18T14:43:44Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryUpdating_gpt.ini_is_a_no-op623682999/001/one_file/GPT.INI\"" 268s time="2025-10-18T14:43:44Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryUpdating_gpt.ini_is_a_no-op623682999/001/one_file/GPT.INI\"" 268s time="2025-10-18T14:43:44Z" level=info msg="Watcher stopped" 268s time="2025-10-18T14:43:44Z" level=info msg="Watcher stopped" 268s --- PASS: TestRefreshGracePeriod (1.96s) 268s === CONT TestWatchDirectory/Multiple_directories_with_different_versions,_all_updated 268s time="2025-10-18T14:43:44Z" level=debug msg="Watching /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,2333697790/001/one_file and children" 268s time="2025-10-18T14:43:44Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,2333697790/001/one_file" 268s time="2025-10-18T14:43:44Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,2333697790/001/one_file/GPT.INI" 268s time="2025-10-18T14:43:44Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,2333697790/001/one_file/alreadyexists" 268s time="2025-10-18T14:43:44Z" level=debug msg="Watching /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,2333697790/001/withsubdir and children" 268s time="2025-10-18T14:43:44Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,2333697790/001/withsubdir" 268s time="2025-10-18T14:43:44Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,2333697790/001/withsubdir/GPT.INI" 268s time="2025-10-18T14:43:44Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,2333697790/001/withsubdir/alreadyexists" 268s time="2025-10-18T14:43:44Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,2333697790/001/withsubdir/alreadyexistsDir" 268s time="2025-10-18T14:43:44Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,2333697790/001/withsubdir/alreadyexistsDir/GPT.INI" 268s time="2025-10-18T14:43:44Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,2333697790/001/withsubdir/alreadyexistsDir/alreadyexists" 268s time="2025-10-18T14:43:44Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_directories_with_different_versions,2333697790/001/one_file/alreadyexists\"" 268s time="2025-10-18T14:43:44Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_directories_with_different_versions,2333697790/001/one_file/alreadyexists\"" 268s time="2025-10-18T14:43:44Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_directories_with_different_versions,2333697790/001/withsubdir/alreadyexists\"" 268s time="2025-10-18T14:43:44Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_directories_with_different_versions,2333697790/001/withsubdir/alreadyexists\"" 268s === CONT TestWatchDirectory/New_subdir_without_file 268s time="2025-10-18T14:43:44Z" level=debug msg="Watching /tmp/TestWatchDirectoryNew_subdir_without_file1400039341/001/withsubdir and children" 268s time="2025-10-18T14:43:44Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir_without_file1400039341/001/withsubdir" 268s time="2025-10-18T14:43:44Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir_without_file1400039341/001/withsubdir/GPT.INI" 268s time="2025-10-18T14:43:44Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir_without_file1400039341/001/withsubdir/alreadyexists" 268s time="2025-10-18T14:43:44Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir_without_file1400039341/001/withsubdir/alreadyexistsDir" 268s time="2025-10-18T14:43:44Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir_without_file1400039341/001/withsubdir/alreadyexistsDir/GPT.INI" 268s time="2025-10-18T14:43:44Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir_without_file1400039341/001/withsubdir/alreadyexistsDir/alreadyexists" 268s time="2025-10-18T14:43:44Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryNew_subdir_without_file1400039341/001/withsubdir/newsubdir\"" 268s time="2025-10-18T14:43:44Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryNew_subdir_without_file1400039341/001/withsubdir/newsubdir\"" 268s time="2025-10-18T14:43:44Z" level=info msg="Watcher stopped" 268s time="2025-10-18T14:43:44Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,2333697790/001/one_file/GPT.INI" 268s time="2025-10-18T14:43:44Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,2333697790/001/withsubdir/GPT.INI" 268s time="2025-10-18T14:43:44Z" level=info msg="Watcher stopped" 268s time="2025-10-18T14:43:44Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryNew_subdir_without_file1400039341/001/withsubdir/GPT.INI" 268s === CONT TestWatchDirectory/Multiple_nested_subdirectories 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching /tmp/TestWatchDirectoryMultiple_nested_subdirectories2560950948/001/withsubdir and children" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories2560950948/001/withsubdir" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories2560950948/001/withsubdir/GPT.INI" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories2560950948/001/withsubdir/alreadyexists" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories2560950948/001/withsubdir/alreadyexistsDir" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories2560950948/001/withsubdir/alreadyexistsDir/GPT.INI" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories2560950948/001/withsubdir/alreadyexistsDir/alreadyexists" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching /tmp/TestWatchDirectoryMultiple_nested_subdirectories2560950948/001/withsubdir/alreadyexistsDir and children" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories2560950948/001/withsubdir/alreadyexistsDir" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories2560950948/001/withsubdir/alreadyexistsDir/GPT.INI" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories2560950948/001/withsubdir/alreadyexistsDir/alreadyexists" 268s time="2025-10-18T14:43:45Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryMultiple_nested_subdirectories2560950948/001/withsubdir/new\"" 268s time="2025-10-18T14:43:45Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_nested_subdirectories2560950948/001/withsubdir/new\"" 268s time="2025-10-18T14:43:45Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_nested_subdirectories2560950948/001/withsubdir/alreadyexistsDir/alreadyexists\"" 268s time="2025-10-18T14:43:45Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_nested_subdirectories2560950948/001/withsubdir/alreadyexistsDir/alreadyexists\"" 268s === CONT TestWatchDirectory/New_subdir 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching /tmp/TestWatchDirectoryNew_subdir1470977945/001/withsubdir and children" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir1470977945/001/withsubdir" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir1470977945/001/withsubdir/GPT.INI" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir1470977945/001/withsubdir/alreadyexists" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir1470977945/001/withsubdir/alreadyexistsDir" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir1470977945/001/withsubdir/alreadyexistsDir/GPT.INI" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir1470977945/001/withsubdir/alreadyexistsDir/alreadyexists" 268s time="2025-10-18T14:43:45Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryNew_subdir1470977945/001/withsubdir/dir\"" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching /tmp/TestWatchDirectoryNew_subdir1470977945/001/withsubdir/dir and children" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir1470977945/001/withsubdir/dir" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir1470977945/001/withsubdir/dir/file" 268s time="2025-10-18T14:43:45Z" level=info msg="Watcher stopped" 268s time="2025-10-18T14:43:45Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryMultiple_nested_subdirectories2560950948/001/withsubdir/GPT.INI" 268s time="2025-10-18T14:43:45Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryMultiple_nested_subdirectories2560950948/001/withsubdir/alreadyexistsDir/GPT.INI" 268s time="2025-10-18T14:43:45Z" level=info msg="Watcher stopped" 268s time="2025-10-18T14:43:45Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryNew_subdir1470977945/001/withsubdir/GPT.INI" 268s === CONT TestWatchDirectory/Remove_file 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching /tmp/TestWatchDirectoryRemove_file3001226030/001/one_file and children" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRemove_file3001226030/001/one_file" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRemove_file3001226030/001/one_file/GPT.INI" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRemove_file3001226030/001/one_file/alreadyexists" 268s time="2025-10-18T14:43:45Z" level=debug msg="Got event: CHMOD \"/tmp/TestWatchDirectoryRemove_file3001226030/001/one_file/alreadyexists\"" 268s time="2025-10-18T14:43:45Z" level=debug msg="Got event: REMOVE \"/tmp/TestWatchDirectoryRemove_file3001226030/001/one_file/alreadyexists\"" 268s time="2025-10-18T14:43:45Z" level=debug msg="Failed to remove watcher on \"/tmp/TestWatchDirectoryRemove_file3001226030/001/one_file/alreadyexists\": fsnotify: can't remove non-existent watch: /tmp/TestWatchDirectoryRemove_file3001226030/001/one_file/alreadyexists" 268s time="2025-10-18T14:43:45Z" level=debug msg="Got event: REMOVE \"/tmp/TestWatchDirectoryRemove_file3001226030/001/one_file/alreadyexists\"" 268s time="2025-10-18T14:43:45Z" level=debug msg="Failed to remove watcher on \"/tmp/TestWatchDirectoryRemove_file3001226030/001/one_file/alreadyexists\": fsnotify: can't remove non-existent watch: /tmp/TestWatchDirectoryRemove_file3001226030/001/one_file/alreadyexists" 268s === CONT TestWatchDirectory/Remove_root_directory 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching /tmp/TestWatchDirectoryRemove_root_directory3074537671/001/one_file and children" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRemove_root_directory3074537671/001/one_file" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRemove_root_directory3074537671/001/one_file/GPT.INI" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRemove_root_directory3074537671/001/one_file/alreadyexists" 268s time="2025-10-18T14:43:45Z" level=debug msg="Got event: CHMOD \"/tmp/TestWatchDirectoryRemove_root_directory3074537671/001/one_file/GPT.INI\"" 268s time="2025-10-18T14:43:45Z" level=debug msg="Got event: REMOVE \"/tmp/TestWatchDirectoryRemove_root_directory3074537671/001/one_file/GPT.INI\"" 268s time="2025-10-18T14:43:45Z" level=debug msg="Got event: REMOVE \"/tmp/TestWatchDirectoryRemove_root_directory3074537671/001/one_file/GPT.INI\"" 268s time="2025-10-18T14:43:45Z" level=debug msg="Got event: CHMOD \"/tmp/TestWatchDirectoryRemove_root_directory3074537671/001/one_file/alreadyexists\"" 268s time="2025-10-18T14:43:45Z" level=debug msg="Got event: REMOVE \"/tmp/TestWatchDirectoryRemove_root_directory3074537671/001/one_file/alreadyexists\"" 268s time="2025-10-18T14:43:45Z" level=debug msg="Failed to remove watcher on \"/tmp/TestWatchDirectoryRemove_root_directory3074537671/001/one_file/alreadyexists\": fsnotify: can't remove non-existent watch: /tmp/TestWatchDirectoryRemove_root_directory3074537671/001/one_file/alreadyexists" 268s time="2025-10-18T14:43:45Z" level=debug msg="Got event: REMOVE \"/tmp/TestWatchDirectoryRemove_root_directory3074537671/001/one_file/alreadyexists\"" 268s time="2025-10-18T14:43:45Z" level=debug msg="Failed to remove watcher on \"/tmp/TestWatchDirectoryRemove_root_directory3074537671/001/one_file/alreadyexists\": fsnotify: can't remove non-existent watch: /tmp/TestWatchDirectoryRemove_root_directory3074537671/001/one_file/alreadyexists" 268s time="2025-10-18T14:43:45Z" level=debug msg="Got event: REMOVE \"/tmp/TestWatchDirectoryRemove_root_directory3074537671/001/one_file\"" 268s time="2025-10-18T14:43:45Z" level=debug msg="Failed to remove watcher on \"/tmp/TestWatchDirectoryRemove_root_directory3074537671/001/one_file\": fsnotify: can't remove non-existent watch: /tmp/TestWatchDirectoryRemove_root_directory3074537671/001/one_file" 268s time="2025-10-18T14:43:45Z" level=info msg="Watcher stopped" 268s time="2025-10-18T14:43:45Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryRemove_file3001226030/001/one_file/GPT.INI" 268s time="2025-10-18T14:43:45Z" level=info msg="Watcher stopped" 268s time="2025-10-18T14:43:45Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryRemove_root_directory3074537671/001/one_file/GPT.INI" 268s time="2025-10-18T14:43:45Z" level=info msg="error loading ini contents: open /tmp/TestWatchDirectoryRemove_root_directory3074537671/001/one_file/GPT.INI: no such file or directory, creating a new file" 268s time="2025-10-18T14:43:45Z" level=warning msg="Failed to bump /tmp/TestWatchDirectoryRemove_root_directory3074537671/001/one_file/GPT.INI version: can't bump version for /tmp/TestWatchDirectoryRemove_root_directory3074537671/001/one_file/GPT.INI: open /tmp/TestWatchDirectoryRemove_root_directory3074537671/001/one_file/GPT.INI: no such file or directory" 268s === CONT TestWatchDirectory/No_update,_no_gpt.ini 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching /tmp/TestWatchDirectoryNo_update,_no_gpt.ini3209392559/001/no_gpt and children" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNo_update,_no_gpt.ini3209392559/001/no_gpt" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNo_update,_no_gpt.ini3209392559/001/no_gpt/testfile" 268s === CONT TestWatchDirectory/Multiple_nested_subdirectories,_only_update_nested_file 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n1413348263/001/withsubdir/alreadyexistsDir and children" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n1413348263/001/withsubdir/alreadyexistsDir" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n1413348263/001/withsubdir/alreadyexistsDir/GPT.INI" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n1413348263/001/withsubdir/alreadyexistsDir/alreadyexists" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n1413348263/001/withsubdir and children" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n1413348263/001/withsubdir" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n1413348263/001/withsubdir/GPT.INI" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n1413348263/001/withsubdir/alreadyexists" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n1413348263/001/withsubdir/alreadyexistsDir" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n1413348263/001/withsubdir/alreadyexistsDir/GPT.INI" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n1413348263/001/withsubdir/alreadyexistsDir/alreadyexists" 268s time="2025-10-18T14:43:45Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n1413348263/001/withsubdir/alreadyexistsDir/alreadyexists\"" 268s time="2025-10-18T14:43:45Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n1413348263/001/withsubdir/alreadyexistsDir/alreadyexists\"" 268s time="2025-10-18T14:43:45Z" level=info msg="Watcher stopped" 268s time="2025-10-18T14:43:45Z" level=info msg="Watcher stopped" 268s time="2025-10-18T14:43:45Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n1413348263/001/withsubdir/alreadyexistsDir/GPT.INI" 268s === CONT TestWatchDirectory/New_file,_subdir 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching /tmp/TestWatchDirectoryNew_file,_subdir2726499060/001/withsubdir and children" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_file,_subdir2726499060/001/withsubdir" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_file,_subdir2726499060/001/withsubdir/GPT.INI" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_file,_subdir2726499060/001/withsubdir/alreadyexists" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_file,_subdir2726499060/001/withsubdir/alreadyexistsDir" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_file,_subdir2726499060/001/withsubdir/alreadyexistsDir/GPT.INI" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_file,_subdir2726499060/001/withsubdir/alreadyexistsDir/alreadyexists" 268s time="2025-10-18T14:43:45Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryNew_file,_subdir2726499060/001/withsubdir/alreadyexistsDir/new\"" 268s time="2025-10-18T14:43:45Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryNew_file,_subdir2726499060/001/withsubdir/alreadyexistsDir/new\"" 268s time="2025-10-18T14:43:45Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryNew_file,_subdir2726499060/001/withsubdir/alreadyexistsDir/new\"" 268s === CONT TestWatchDirectory/Update_existing_file 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching /tmp/TestWatchDirectoryUpdate_existing_file1279549653/001/one_file and children" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdate_existing_file1279549653/001/one_file" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdate_existing_file1279549653/001/one_file/GPT.INI" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdate_existing_file1279549653/001/one_file/alreadyexists" 268s time="2025-10-18T14:43:45Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryUpdate_existing_file1279549653/001/one_file/alreadyexists\"" 268s time="2025-10-18T14:43:45Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryUpdate_existing_file1279549653/001/one_file/alreadyexists\"" 268s time="2025-10-18T14:43:45Z" level=info msg="Watcher stopped" 268s time="2025-10-18T14:43:45Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryNew_file,_subdir2726499060/001/withsubdir/GPT.INI" 268s time="2025-10-18T14:43:45Z" level=info msg="Watcher stopped" 268s time="2025-10-18T14:43:45Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryUpdate_existing_file1279549653/001/one_file/GPT.INI" 268s === CONT TestWatchDirectory/No_update,_existing_gpt.ini 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching /tmp/TestWatchDirectoryNo_update,_existing_gpt.ini2035105895/001/one_file and children" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNo_update,_existing_gpt.ini2035105895/001/one_file" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNo_update,_existing_gpt.ini2035105895/001/one_file/GPT.INI" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNo_update,_existing_gpt.ini2035105895/001/one_file/alreadyexists" 268s === CONT TestWatchDirectory/Update_with_existing_gpt.ini 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching /tmp/TestWatchDirectoryUpdate_with_existing_gpt.ini3853456820/001/one_file and children" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdate_with_existing_gpt.ini3853456820/001/one_file" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdate_with_existing_gpt.ini3853456820/001/one_file/GPT.INI" 268s time="2025-10-18T14:43:45Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdate_with_existing_gpt.ini3853456820/001/one_file/alreadyexists" 268s time="2025-10-18T14:43:45Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryUpdate_with_existing_gpt.ini3853456820/001/one_file/new\"" 268s time="2025-10-18T14:43:45Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryUpdate_with_existing_gpt.ini3853456820/001/one_file/new\"" 268s time="2025-10-18T14:43:45Z" level=info msg="Watcher stopped" 268s time="2025-10-18T14:43:46Z" level=info msg="Watcher stopped" 268s time="2025-10-18T14:43:46Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryUpdate_with_existing_gpt.ini3853456820/001/one_file/GPT.INI" 268s --- PASS: TestWatchDirectory (0.00s) 268s --- PASS: TestWatchDirectory/New_file,_no_gpt.ini (0.21s) 268s --- PASS: TestWatchDirectory/Error_on_listing_no_directory (0.00s) 268s --- PASS: TestWatchDirectory/Error_on_updating_malformed_GPT.ini (0.21s) 268s --- PASS: TestWatchDirectory/Error_on_non_existing_directory (0.00s) 268s --- PASS: TestWatchDirectory/Multiple_directories,_only_one_is_updated (0.21s) 268s --- PASS: TestWatchDirectory/Combined_case (0.21s) 268s --- PASS: TestWatchDirectory/Nested_new_subdirs (0.21s) 268s --- PASS: TestWatchDirectory/Existing_file,_subdir (0.22s) 268s --- PASS: TestWatchDirectory/Rename_file_and_update (0.21s) 268s --- PASS: TestWatchDirectory/Rename_file (0.21s) 268s --- PASS: TestWatchDirectory/Updating_gpt.ini_is_a_no-op (0.21s) 268s --- PASS: TestWatchDirectory/Multiple_directories_with_different_versions,_all_updated (0.22s) 268s --- PASS: TestWatchDirectory/New_subdir_without_file (0.21s) 268s --- PASS: TestWatchDirectory/Multiple_nested_subdirectories (0.21s) 268s --- PASS: TestWatchDirectory/New_subdir (0.21s) 268s --- PASS: TestWatchDirectory/Remove_file (0.21s) 268s --- PASS: TestWatchDirectory/Remove_root_directory (0.21s) 268s --- PASS: TestWatchDirectory/No_update,_no_gpt.ini (0.21s) 268s --- PASS: TestWatchDirectory/Multiple_nested_subdirectories,_only_update_nested_file (0.21s) 268s --- PASS: TestWatchDirectory/New_file,_subdir (0.21s) 268s --- PASS: TestWatchDirectory/Update_existing_file (0.21s) 268s --- PASS: TestWatchDirectory/No_update,_existing_gpt.ini (0.21s) 268s --- PASS: TestWatchDirectory/Update_with_existing_gpt.ini (0.22s) 268s PASS 268s ok github.com/ubuntu/adsys/internal/watcher 3.831s 268s ? github.com/ubuntu/adsys/po [no test files] 268s ? github.com/ubuntu/adsys/policies [no test files] 268s autopkgtest [14:43:46]: test command1: -----------------------] 269s autopkgtest [14:43:47]: test command1: - - - - - - - - - - results - - - - - - - - - - 269s command1 PASS 269s autopkgtest [14:43:47]: test command2: preparing testbed 270s Reading package lists... 270s Building dependency tree... 270s Reading state information... 270s Solving dependencies... 270s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 271s autopkgtest [14:43:49]: test command2: ./debian/tests/test sudo 271s autopkgtest [14:43:49]: test command2: [----------------------- 271s Running root tests... 448s === RUN TestRunFailsWhenServiceIsRunning 448s --- PASS: TestRunFailsWhenServiceIsRunning (5.90s) 448s === RUN TestRunWithForceWhenServiceIsRunning 448s time="2025-10-18T14:44:48Z" level=warning msg="another instance of the adwatchd service is already running" 448s --- PASS: TestRunWithForceWhenServiceIsRunning (5.99s) 448s === RUN TestRunWithNoDirs 448s === PAUSE TestRunWithNoDirs 448s === RUN TestRunReactsToConfigUpdates 448s time="2025-10-18T14:44:48Z" level=warning msg="Service binary path does not match executable path\nService binary path: /tmp/go-build171207948/b430/watchdtui.test\nCurrent executable path: /tmp/go-build171207948/b001/integration_tests.test" 448s time="2025-10-18T14:44:48Z" level=info msg="/tmp/autopkgtest.KfQFRj/build.S20/src/internal/watchdservice/watchdservice.go:127 (*WatchdService).UpdateDirs() Updating directories to watch" 448s time="2025-10-18T14:44:48Z" level=debug msg="/tmp/autopkgtest.KfQFRj/build.S20/src/internal/watcher/watcher.go:170 (*Watcher).UpdateDirs() Updating directories to [non-existent-dir]" 448s time="2025-10-18T14:44:48Z" level=warning msg="/tmp/autopkgtest.KfQFRj/build.S20/src/cmd/adwatchd/commands/main.go:125 New.func1.1() failed to update directories: failed to change directories to watch: can't update directories to watch: directory \"non-existent-dir\" does not exist" 448s time="2025-10-18T14:44:48Z" level=info msg="/tmp/autopkgtest.KfQFRj/build.S20/src/internal/config/config.go:85 Init.func1() Config file \"/tmp/TestRunReactsToConfigUpdates520209405/003/adwatchd.yaml\" changed. Reloading." 448s time="2025-10-18T14:44:48Z" level=info msg="/tmp/autopkgtest.KfQFRj/build.S20/src/internal/watchdservice/watchdservice.go:127 (*WatchdService).UpdateDirs() Updating directories to watch" 448s time="2025-10-18T14:44:48Z" level=debug msg="/tmp/autopkgtest.KfQFRj/build.S20/src/internal/watcher/watcher.go:170 (*Watcher).UpdateDirs() Updating directories to [non-existent-dir]" 448s time="2025-10-18T14:44:48Z" level=warning msg="/tmp/autopkgtest.KfQFRj/build.S20/src/cmd/adwatchd/commands/main.go:125 New.func1.1() failed to update directories: failed to change directories to watch: can't update directories to watch: directory \"non-existent-dir\" does not exist" 448s time="2025-10-18T14:44:49Z" level=info msg="/tmp/autopkgtest.KfQFRj/build.S20/src/internal/watcher/watcher.go:300 (*Watcher).watch() Watcher stopped" 448s --- PASS: TestRunReactsToConfigUpdates (0.41s) 448s === RUN TestServiceStateChange 448s === RUN TestServiceStateChange/stop_multiple_times 448s === RUN TestServiceStateChange/start 448s === RUN TestServiceStateChange/restart 448s === RUN TestServiceStateChange/uninstall 448s === RUN TestServiceStateChange/install 448s === RUN TestServiceStateChange/start_and_stop 448s === RUN TestServiceStateChange/start_and_uninstall 448s === RUN TestServiceStateChange/uninstall_multiple_times 448s === RUN TestServiceStateChange/start_multiple_times 448s === RUN TestServiceStateChange/start_and_restart 448s === RUN TestServiceStateChange/uninstall_and_install 448s === RUN TestServiceStateChange/uninstall_and_start 448s === RUN TestServiceStateChange/uninstall_and_stop 448s === RUN TestServiceStateChange/uninstall_and_restart 448s --- PASS: TestServiceStateChange (103.89s) 448s --- PASS: TestServiceStateChange/stop_multiple_times (6.87s) 448s --- PASS: TestServiceStateChange/start (6.94s) 448s --- PASS: TestServiceStateChange/restart (6.95s) 448s --- PASS: TestServiceStateChange/uninstall (6.82s) 448s --- PASS: TestServiceStateChange/install (7.01s) 448s --- PASS: TestServiceStateChange/start_and_stop (7.14s) 448s --- PASS: TestServiceStateChange/start_and_uninstall (6.90s) 448s --- PASS: TestServiceStateChange/uninstall_multiple_times (6.92s) 448s --- PASS: TestServiceStateChange/start_multiple_times (6.89s) 448s --- PASS: TestServiceStateChange/start_and_restart (7.05s) 448s --- PASS: TestServiceStateChange/uninstall_and_install (13.14s) 448s --- PASS: TestServiceStateChange/uninstall_and_start (7.29s) 448s --- PASS: TestServiceStateChange/uninstall_and_stop (7.17s) 448s --- PASS: TestServiceStateChange/uninstall_and_restart (6.82s) 448s === RUN TestServiceStartWithABadDir 448s adwatchd_service_test.go:94: 448s --- SKIP: TestServiceStartWithABadDir (0.00s) 448s === RUN TestInstall 448s --- PASS: TestInstall (5.84s) 448s === RUN TestCreateAndUpdateGPT 448s === PAUSE TestCreateAndUpdateGPT 448s === RUN TestServiceStatusContainsCorrectDirs 448s adwatchd_service_test.go:202: This test is Windows-only 448s --- SKIP: TestServiceStatusContainsCorrectDirs (0.00s) 448s === RUN TestServiceConfigFlagUsage 448s === RUN TestServiceConfigFlagUsage/restart 448s Usage: 448s adwatchd service restart [flags] 448s 448s Flags: 448s -h, --help help for restart 448s 448s Global Flags: 448s -v, --verbose count issue INFO (-v), DEBUG (-vv) or DEBUG with caller (-vvv) output 448s 448s === RUN TestServiceConfigFlagUsage/uninstall 448s Usage: 448s adwatchd service uninstall [flags] 448s 448s Flags: 448s -h, --help help for uninstall 448s 448s Global Flags: 448s -v, --verbose count issue INFO (-v), DEBUG (-vv) or DEBUG with caller (-vvv) output 448s 448s === RUN TestServiceConfigFlagUsage/status 448s Usage: 448s adwatchd service status [flags] 448s 448s Flags: 448s -h, --help help for status 448s 448s Global Flags: 448s -v, --verbose count issue INFO (-v), DEBUG (-vv) or DEBUG with caller (-vvv) output 448s 448s === RUN TestServiceConfigFlagUsage/install 448s === RUN TestServiceConfigFlagUsage/start 448s Usage: 448s adwatchd service start [flags] 448s 448s Flags: 448s -h, --help help for start 448s 448s Global Flags: 448s -v, --verbose count issue INFO (-v), DEBUG (-vv) or DEBUG with caller (-vvv) output 448s 448s --- PASS: TestServiceConfigFlagUsage (0.01s) 448s --- PASS: TestServiceConfigFlagUsage/restart (0.00s) 448s --- PASS: TestServiceConfigFlagUsage/uninstall (0.00s) 448s --- PASS: TestServiceConfigFlagUsage/status (0.00s) 448s --- PASS: TestServiceConfigFlagUsage/install (0.00s) 448s --- PASS: TestServiceConfigFlagUsage/start (0.00s) 448s === RUN TestServiceWithNoNameFails 448s --- PASS: TestServiceWithNoNameFails (0.00s) 448s === RUN TestNoArgumentsStartsTUI 448s --- PASS: TestNoArgumentsStartsTUI (0.10s) 448s === CONT TestRunWithNoDirs 448s === CONT TestCreateAndUpdateGPT 448s --- PASS: TestRunWithNoDirs (0.00s) 448s --- PASS: TestCreateAndUpdateGPT (7.46s) 448s PASS 448s ok github.com/ubuntu/adsys/cmd/adwatchd/integration_tests 129.628s 448s === RUN TestInteractiveInput 448s === RUN TestInteractiveInput/Config_file_exists 448s === RUN TestInteractiveInput/Config_file_is_absent_and_input_is_relative 448s === RUN TestInteractiveInput/Existing_config_file_is_passed_in_and_contains_directories,_not_all_which_exist_on_the_system 448s === RUN TestInteractiveInput/Found_installed_service,_config_not_overridden 448s === RUN TestInteractiveInput/Multiple_existing_directories,_can_delete_them 448s === RUN TestInteractiveInput/Existing_config_file_is_passed_in_and_is_empty_or_has_no_directories 448s === RUN TestInteractiveInput/Config_file_is_absent_and_input_is_absolute 448s === RUN TestInteractiveInput/Existing_config_file_is_passed_in_and_contains_directories_which_exist_on_the_system 448s === RUN TestInteractiveInput/Submit_with_default_config 448s === RUN TestInteractiveInput/Submit_with_fresh_config_in_current_directory 448s === RUN TestInteractiveInput/Submit_with_duplicate_directories 448s === RUN TestInteractiveInput/Submit_with_directory_as_config_input 448s === RUN TestInteractiveInput/Submit_with_dot_directories_is_normalized 448s === RUN TestInteractiveInput/Config_file_is_absent_and_input_is_a_dir 448s === RUN TestInteractiveInput/Found_installed_service,_config_overridden 448s === RUN TestInteractiveInput/Directory_exists 448s === RUN TestInteractiveInput/Multiple_existing_directories,_can_cycle_between_the_inputs 448s === RUN TestInteractiveInput/Submit_with_double_dot_directories_is_normalized 448s === RUN TestInteractiveInput/Initial_view 448s === RUN TestInteractiveInput/Directory_does_not_exist,_block_input 448s === RUN TestInteractiveInput/Dot_and_double_dot_directory_inputs_are_normalized 448s === RUN TestInteractiveInput/Directory_is_a_file,_block_input 448s === RUN TestInteractiveInput/No_directories,_focus_on_dir_input 448s === RUN TestInteractiveInput/Submit_with_fresh_config_in_nested_directory 448s === RUN TestInteractiveInput/Other_navigation_tests 448s --- PASS: TestInteractiveInput (0.03s) 448s --- PASS: TestInteractiveInput/Config_file_exists (0.00s) 448s --- PASS: TestInteractiveInput/Config_file_is_absent_and_input_is_relative (0.00s) 448s --- PASS: TestInteractiveInput/Existing_config_file_is_passed_in_and_contains_directories,_not_all_which_exist_on_the_system (0.00s) 448s --- PASS: TestInteractiveInput/Found_installed_service,_config_not_overridden (0.00s) 448s --- PASS: TestInteractiveInput/Multiple_existing_directories,_can_delete_them (0.00s) 448s --- PASS: TestInteractiveInput/Existing_config_file_is_passed_in_and_is_empty_or_has_no_directories (0.00s) 448s --- PASS: TestInteractiveInput/Config_file_is_absent_and_input_is_absolute (0.00s) 448s --- PASS: TestInteractiveInput/Existing_config_file_is_passed_in_and_contains_directories_which_exist_on_the_system (0.00s) 448s --- PASS: TestInteractiveInput/Submit_with_default_config (0.00s) 448s --- PASS: TestInteractiveInput/Submit_with_fresh_config_in_current_directory (0.00s) 448s --- PASS: TestInteractiveInput/Submit_with_duplicate_directories (0.00s) 448s --- PASS: TestInteractiveInput/Submit_with_directory_as_config_input (0.00s) 448s --- PASS: TestInteractiveInput/Submit_with_dot_directories_is_normalized (0.00s) 448s --- PASS: TestInteractiveInput/Config_file_is_absent_and_input_is_a_dir (0.00s) 448s --- PASS: TestInteractiveInput/Found_installed_service,_config_overridden (0.00s) 448s --- PASS: TestInteractiveInput/Directory_exists (0.00s) 448s --- PASS: TestInteractiveInput/Multiple_existing_directories,_can_cycle_between_the_inputs (0.00s) 448s --- PASS: TestInteractiveInput/Submit_with_double_dot_directories_is_normalized (0.00s) 448s --- PASS: TestInteractiveInput/Initial_view (0.00s) 448s --- PASS: TestInteractiveInput/Directory_does_not_exist,_block_input (0.00s) 448s --- PASS: TestInteractiveInput/Dot_and_double_dot_directory_inputs_are_normalized (0.00s) 448s --- PASS: TestInteractiveInput/Directory_is_a_file,_block_input (0.00s) 448s --- PASS: TestInteractiveInput/No_directories,_focus_on_dir_input (0.00s) 448s --- PASS: TestInteractiveInput/Submit_with_fresh_config_in_nested_directory (0.00s) 448s --- PASS: TestInteractiveInput/Other_navigation_tests (0.00s) 448s === RUN TestInteractiveInstall 448s time="2025-10-18T14:44:38Z" level=info msg="Installing watcher service" 448s time="2025-10-18T14:44:44Z" level=info msg="Uninstalling watcher service" 448s --- PASS: TestInteractiveInstall (6.77s) 448s === RUN TestInteractiveUpdate 448s === RUN TestInteractiveUpdate/Change_directories,_same_config_file 448s time="2025-10-18T14:44:44Z" level=info msg="Installing watcher service" 448s time="2025-10-18T14:44:52Z" level=info msg="Uninstalling watcher service" 448s === RUN TestInteractiveUpdate/Change_directories,_different_config_file 448s time="2025-10-18T14:44:52Z" level=info msg="Installing watcher service" 448s time="2025-10-18T14:44:59Z" level=info msg="Uninstalling watcher service" 448s time="2025-10-18T14:44:59Z" level=info msg="Installing watcher service" 448s time="2025-10-18T14:45:06Z" level=info msg="Uninstalling watcher service" 448s --- PASS: TestInteractiveUpdate (21.56s) 448s --- PASS: TestInteractiveUpdate/Change_directories,_same_config_file (7.87s) 448s --- PASS: TestInteractiveUpdate/Change_directories,_different_config_file (13.69s) 448s PASS 448s ok github.com/ubuntu/adsys/internal/watchdtui 28.390s 449s autopkgtest [14:46:47]: test command2: -----------------------] 449s command2 PASS 449s autopkgtest [14:46:47]: test command2: - - - - - - - - - - results - - - - - - - - - - 450s autopkgtest [14:46:48]: @@@@@@@@@@@@@@@@@@@@ summary 450s command1 PASS 450s command2 PASS