0s autopkgtest [15:04:43]: starting date and time: 2025-10-18 15:04:43+0000 0s autopkgtest [15:04:43]: git checkout: 4b346b80 nova: make wait_reboot return success even when a no-op 0s autopkgtest [15:04:43]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.55p769_8/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-cpu2-ram4-disk20-amd64 --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-2@sto01-3.secgroup --name adt-resolute-amd64-adsys-20251018-150443-juju-7f2275-prod-proposed-migration-environment-2-181d45d4-924e-4dd2-9fc3-e8cce40dd93e --image adt/ubuntu-resolute-amd64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-2 --net-id=net_prod-autopkgtest-workers-amd64 -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 3s Creating nova instance adt-resolute-amd64-adsys-20251018-150443-juju-7f2275-prod-proposed-migration-environment-2-181d45d4-924e-4dd2-9fc3-e8cce40dd93e from image adt/ubuntu-resolute-amd64-server-20251018.img (UUID dd697a48-b6cc-4a02-84bf-0f9f2fad5f89)... 30s autopkgtest [15:05:13]: testbed dpkg architecture: amd64 30s autopkgtest [15:05:13]: testbed apt version: 3.1.6ubuntu2 31s autopkgtest [15:05:14]: @@@@@@@@@@@@@@@@@@@@ test bed setup 31s autopkgtest [15:05:14]: testbed release detected to be: None 31s autopkgtest [15:05:14]: updating testbed package index (apt update) 32s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [83.3 kB] 32s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 32s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 32s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 32s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [28.4 kB] 32s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [345 kB] 32s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [5028 B] 32s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [15.4 kB] 32s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main i386 Packages [46.6 kB] 32s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 Packages [85.2 kB] 32s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/restricted i386 Packages [3208 B] 32s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/restricted amd64 Packages [28.0 kB] 32s Get:13 http://ftpmaster.internal/ubuntu resolute-proposed/universe amd64 Packages [233 kB] 32s Get:14 http://ftpmaster.internal/ubuntu resolute-proposed/universe i386 Packages [87.6 kB] 32s Get:15 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse i386 Packages [2772 B] 32s Get:16 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse amd64 Packages [8376 B] 32s Fetched 972 kB in 1s (1517 kB/s) 33s Reading package lists... 33s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 33s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 33s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 33s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 34s Reading package lists... 34s Reading package lists... 34s Building dependency tree... 34s Reading state information... 34s Calculating upgrade... 34s The following packages will be upgraded: 34s apt gir1.2-girepository-2.0 libapt-pkg7.0 libgirepository-1.0-1 34s libpython3-stdlib python3 python3-minimal 34s 7 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 34s Need to get 2751 kB of archives. 34s After this operation, 2048 B of additional disk space will be used. 34s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 python3-minimal amd64 3.13.7-2 [27.8 kB] 34s Get:2 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 python3 amd64 3.13.7-2 [23.9 kB] 34s Get:3 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 libpython3-stdlib amd64 3.13.7-2 [10.6 kB] 34s Get:4 http://ftpmaster.internal/ubuntu resolute/main amd64 libapt-pkg7.0 amd64 3.1.8ubuntu1 [1140 kB] 34s Get:5 http://ftpmaster.internal/ubuntu resolute/main amd64 apt amd64 3.1.8ubuntu1 [1438 kB] 34s Get:6 http://ftpmaster.internal/ubuntu resolute/main amd64 libgirepository-1.0-1 amd64 1.86.0-6 [85.9 kB] 34s Get:7 http://ftpmaster.internal/ubuntu resolute/main amd64 gir1.2-girepository-2.0 amd64 1.86.0-6 [25.3 kB] 35s dpkg-preconfigure: unable to re-open stdin: No such file or directory 35s Fetched 2751 kB in 0s (8053 kB/s) 35s (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 ... 78439 files and directories currently installed.) 35s Preparing to unpack .../python3-minimal_3.13.7-2_amd64.deb ... 35s Unpacking python3-minimal (3.13.7-2) over (3.13.7-1) ... 35s Setting up python3-minimal (3.13.7-2) ... 35s (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 ... 78439 files and directories currently installed.) 35s Preparing to unpack .../0-python3_3.13.7-2_amd64.deb ... 35s running python pre-rtupdate hooks for python3.13... 35s Unpacking python3 (3.13.7-2) over (3.13.7-1) ... 35s Preparing to unpack .../1-libpython3-stdlib_3.13.7-2_amd64.deb ... 35s Unpacking libpython3-stdlib:amd64 (3.13.7-2) over (3.13.7-1) ... 35s Preparing to unpack .../2-libapt-pkg7.0_3.1.8ubuntu1_amd64.deb ... 35s Unpacking libapt-pkg7.0:amd64 (3.1.8ubuntu1) over (3.1.6ubuntu2) ... 35s Preparing to unpack .../3-apt_3.1.8ubuntu1_amd64.deb ... 35s Unpacking apt (3.1.8ubuntu1) over (3.1.6ubuntu2) ... 35s Preparing to unpack .../4-libgirepository-1.0-1_1.86.0-6_amd64.deb ... 35s Unpacking libgirepository-1.0-1:amd64 (1.86.0-6) over (1.84.0-1) ... 35s Preparing to unpack .../5-gir1.2-girepository-2.0_1.86.0-6_amd64.deb ... 35s Unpacking gir1.2-girepository-2.0:amd64 (1.86.0-6) over (1.84.0-1) ... 35s Setting up libgirepository-1.0-1:amd64 (1.86.0-6) ... 35s Setting up libapt-pkg7.0:amd64 (3.1.8ubuntu1) ... 35s Setting up libpython3-stdlib:amd64 (3.13.7-2) ... 35s Setting up apt (3.1.8ubuntu1) ... 36s Setting up python3 (3.13.7-2) ... 36s running python rtupdate hooks for python3.13... 36s running python post-rtupdate hooks for python3.13... 36s Setting up gir1.2-girepository-2.0:amd64 (1.86.0-6) ... 36s Processing triggers for man-db (2.13.1-1) ... 37s Processing triggers for libc-bin (2.42-0ubuntu3) ... 37s autopkgtest [15:05:20]: upgrading testbed (apt dist-upgrade and autopurge) 37s Reading package lists... 37s Building dependency tree... 37s Reading state information... 38s Calculating upgrade... 38s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 38s Reading package lists... 38s Building dependency tree... 38s Reading state information... 38s Solving dependencies... 38s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 38s autopkgtest [15:05:21]: rebooting testbed after setup commands that affected boot 53s autopkgtest [15:05:36]: testbed running kernel: Linux 6.17.0-5-generic #5-Ubuntu SMP PREEMPT_DYNAMIC Mon Sep 22 10:00:33 UTC 2025 55s autopkgtest [15:05:38]: @@@@@@@@@@@@@@@@@@@@ apt-source adsys 57s Get:1 http://ftpmaster.internal/ubuntu resolute/main adsys 0.16.3 (dsc) [1482 B] 57s Get:2 http://ftpmaster.internal/ubuntu resolute/main adsys 0.16.3 (tar) [7365 kB] 57s gpgv: Signature made Thu Mar 27 14:31:27 2025 UTC 57s gpgv: using DSA key DD00EF8F4D23C30D78EC990998B24A9CE4AC208E 57s gpgv: Can't check signature: No public key 57s dpkg-source: warning: cannot verify inline signature for ./adsys_0.16.3.dsc: no acceptable signature found 57s autopkgtest [15:05:40]: testing package adsys version 0.16.3 58s autopkgtest [15:05:41]: build not needed 61s autopkgtest [15:05:44]: test command1: preparing testbed 61s Reading package lists... 61s Building dependency tree... 61s Reading state information... 62s Solving dependencies... 62s The following NEW packages will be installed: 62s autoconf automake autopoint autotools-dev build-essential comerr-dev cpp 62s cpp-15 cpp-15-x86-64-linux-gnu cpp-x86-64-linux-gnu debhelper debugedit 62s dh-apport dh-autoreconf dh-golang dh-strip-nondeterminism dwz g++ g++-15 62s g++-15-x86-64-linux-gnu g++-x86-64-linux-gnu gcc gcc-15 62s gcc-15-x86-64-linux-gnu gcc-x86-64-linux-gnu gettext girepository-tools 62s golang-1.25-go golang-1.25-src golang-go golang-src intltool-debian 62s krb5-multidev libarchive-zip-perl libasan8 libavahi-client3 62s libavahi-common-data libavahi-common3 libblkid-dev libcap-dev libcc1-0 62s libcups2t64 libdbus-1-dev libdebhelper-perl libffi-dev 62s libfile-stripnondeterminism-perl libgcc-15-dev libgio-2.0-dev 62s libgio-2.0-dev-bin libgirepository-2.0-0 libglib2.0-bin libglib2.0-dev 62s libglib2.0-dev-bin libgomp1 libgpgme11t64 libgssrpc4t64 libhwasan0 libicu76 62s libisl23 libitm1 libkadm5clnt-mit12 libkadm5srv-mit12 libkdb5-10t64 62s libkrb5-dev libldb2 liblsan0 libmount-dev libmpc3 libpam0g-dev libpcre2-16-0 62s libpcre2-32-0 libpcre2-dev libpcre2-posix3 libpkgconf3 libquadmath0 62s libselinux1-dev libsepol-dev libsmbclient-dev libsmbclient0 libstdc++-15-dev 62s libsysprof-capture-4-dev libsystemd-dev libtalloc2 libtdb1 libtevent0t64 62s libtool libtsan2 libubsan1 liburing2 libwbclient-dev libwbclient0 m4 62s native-architecture pkgconf pkgconf-bin po-debconf python3-ldb 62s python3-packaging python3-samba python3-talloc python3-tdb samba 62s samba-common samba-common-bin samba-dsdb-modules samba-libs sgml-base 62s uuid-dev xml-core zlib1g-dev 62s 0 upgraded, 110 newly installed, 0 to remove and 0 not upgraded. 62s Need to get 149 MB of archives. 62s After this operation, 600 MB of additional disk space will be used. 62s Get:1 http://ftpmaster.internal/ubuntu resolute/main amd64 samba-common all 2:4.22.3+dfsg-4ubuntu2.1 [72.5 kB] 62s Get:2 http://ftpmaster.internal/ubuntu resolute/main amd64 libavahi-common-data amd64 0.8-16ubuntu3 [31.1 kB] 62s Get:3 http://ftpmaster.internal/ubuntu resolute/main amd64 libavahi-common3 amd64 0.8-16ubuntu3 [25.3 kB] 62s Get:4 http://ftpmaster.internal/ubuntu resolute/main amd64 libavahi-client3 amd64 0.8-16ubuntu3 [28.8 kB] 62s Get:5 http://ftpmaster.internal/ubuntu resolute/main amd64 libcups2t64 amd64 2.4.12-0ubuntu3 [272 kB] 62s Get:6 http://ftpmaster.internal/ubuntu resolute/main amd64 libicu76 amd64 76.1-4ubuntu2 [11.2 MB] 62s Get:7 http://ftpmaster.internal/ubuntu resolute/main amd64 libtalloc2 amd64 2:2.4.3+samba4.22.3+dfsg-4ubuntu2.1 [75.7 kB] 62s Get:8 http://ftpmaster.internal/ubuntu resolute/main amd64 libtdb1 amd64 2:1.4.13+samba4.22.3+dfsg-4ubuntu2.1 [95.0 kB] 62s Get:9 http://ftpmaster.internal/ubuntu resolute/main amd64 libtevent0t64 amd64 2:0.16.2+samba4.22.3+dfsg-4ubuntu2.1 [41.9 kB] 62s Get:10 http://ftpmaster.internal/ubuntu resolute/main amd64 libldb2 amd64 2:2.11.0+samba4.22.3+dfsg-4ubuntu2.1 [150 kB] 62s Get:11 http://ftpmaster.internal/ubuntu resolute/main amd64 libwbclient0 amd64 2:4.22.3+dfsg-4ubuntu2.1 [82.6 kB] 62s Get:12 http://ftpmaster.internal/ubuntu resolute/main amd64 samba-libs amd64 2:4.22.3+dfsg-4ubuntu2.1 [6467 kB] 62s Get:13 http://ftpmaster.internal/ubuntu resolute/main amd64 samba-common-bin amd64 2:4.22.3+dfsg-4ubuntu2.1 [1402 kB] 62s Get:14 http://ftpmaster.internal/ubuntu resolute/main amd64 liburing2 amd64 2.11-1 [24.7 kB] 62s Get:15 http://ftpmaster.internal/ubuntu resolute/main amd64 samba amd64 2:4.22.3+dfsg-4ubuntu2.1 [1381 kB] 62s Get:16 http://ftpmaster.internal/ubuntu resolute/main amd64 m4 amd64 1.4.19-8 [248 kB] 62s Get:17 http://ftpmaster.internal/ubuntu resolute/main amd64 autoconf all 2.72-3.1ubuntu1 [384 kB] 62s Get:18 http://ftpmaster.internal/ubuntu resolute/main amd64 autotools-dev all 20240727.1 [43.4 kB] 62s Get:19 http://ftpmaster.internal/ubuntu resolute/main amd64 automake all 1:1.17-4ubuntu1 [572 kB] 63s Get:20 http://ftpmaster.internal/ubuntu resolute/main amd64 autopoint all 0.23.1-2build2 [619 kB] 63s Get:21 http://ftpmaster.internal/ubuntu resolute/main amd64 libisl23 amd64 0.27-1 [685 kB] 63s Get:22 http://ftpmaster.internal/ubuntu resolute/main amd64 libmpc3 amd64 1.3.1-1build3 [57.0 kB] 63s Get:23 http://ftpmaster.internal/ubuntu resolute/main amd64 cpp-15-x86-64-linux-gnu amd64 15.2.0-5ubuntu1 [12.9 MB] 63s Get:24 http://ftpmaster.internal/ubuntu resolute/main amd64 cpp-15 amd64 15.2.0-5ubuntu1 [1028 B] 63s Get:25 http://ftpmaster.internal/ubuntu resolute/main amd64 cpp-x86-64-linux-gnu amd64 4:15.2.0-4ubuntu1 [5746 B] 63s Get:26 http://ftpmaster.internal/ubuntu resolute/main amd64 cpp amd64 4:15.2.0-4ubuntu1 [22.4 kB] 63s Get:27 http://ftpmaster.internal/ubuntu resolute/main amd64 libcc1-0 amd64 15.2.0-5ubuntu1 [47.4 kB] 63s Get:28 http://ftpmaster.internal/ubuntu resolute/main amd64 libgomp1 amd64 15.2.0-5ubuntu1 [151 kB] 63s Get:29 http://ftpmaster.internal/ubuntu resolute/main amd64 libitm1 amd64 15.2.0-5ubuntu1 [29.3 kB] 63s Get:30 http://ftpmaster.internal/ubuntu resolute/main amd64 libasan8 amd64 15.2.0-5ubuntu1 [3071 kB] 63s Get:31 http://ftpmaster.internal/ubuntu resolute/main amd64 liblsan0 amd64 15.2.0-5ubuntu1 [1360 kB] 63s Get:32 http://ftpmaster.internal/ubuntu resolute/main amd64 libtsan2 amd64 15.2.0-5ubuntu1 [2757 kB] 63s Get:33 http://ftpmaster.internal/ubuntu resolute/main amd64 libubsan1 amd64 15.2.0-5ubuntu1 [1210 kB] 63s Get:34 http://ftpmaster.internal/ubuntu resolute/main amd64 libhwasan0 amd64 15.2.0-5ubuntu1 [1685 kB] 63s Get:35 http://ftpmaster.internal/ubuntu resolute/main amd64 libquadmath0 amd64 15.2.0-5ubuntu1 [153 kB] 63s Get:36 http://ftpmaster.internal/ubuntu resolute/main amd64 libgcc-15-dev amd64 15.2.0-5ubuntu1 [2863 kB] 63s Get:37 http://ftpmaster.internal/ubuntu resolute/main amd64 gcc-15-x86-64-linux-gnu amd64 15.2.0-5ubuntu1 [25.4 MB] 64s Get:38 http://ftpmaster.internal/ubuntu resolute/main amd64 gcc-15 amd64 15.2.0-5ubuntu1 [523 kB] 64s Get:39 http://ftpmaster.internal/ubuntu resolute/main amd64 gcc-x86-64-linux-gnu amd64 4:15.2.0-4ubuntu1 [1208 B] 64s Get:40 http://ftpmaster.internal/ubuntu resolute/main amd64 gcc amd64 4:15.2.0-4ubuntu1 [5024 B] 64s Get:41 http://ftpmaster.internal/ubuntu resolute/main amd64 libstdc++-15-dev amd64 15.2.0-5ubuntu1 [2573 kB] 64s Get:42 http://ftpmaster.internal/ubuntu resolute/main amd64 g++-15-x86-64-linux-gnu amd64 15.2.0-5ubuntu1 [14.4 MB] 64s Get:43 http://ftpmaster.internal/ubuntu resolute/main amd64 g++-15 amd64 15.2.0-5ubuntu1 [23.7 kB] 64s Get:44 http://ftpmaster.internal/ubuntu resolute/main amd64 g++-x86-64-linux-gnu amd64 4:15.2.0-4ubuntu1 [966 B] 64s Get:45 http://ftpmaster.internal/ubuntu resolute/main amd64 g++ amd64 4:15.2.0-4ubuntu1 [1100 B] 64s Get:46 http://ftpmaster.internal/ubuntu resolute/main amd64 build-essential amd64 12.12ubuntu1 [5080 B] 64s Get:47 http://ftpmaster.internal/ubuntu resolute/main amd64 libdebhelper-perl all 13.24.2ubuntu1 [95.7 kB] 64s Get:48 http://ftpmaster.internal/ubuntu resolute/main amd64 libtool all 2.5.4-4build1 [169 kB] 64s Get:49 http://ftpmaster.internal/ubuntu resolute/main amd64 dh-autoreconf all 21 [12.5 kB] 64s Get:50 http://ftpmaster.internal/ubuntu resolute/main amd64 libarchive-zip-perl all 1.68-1 [90.2 kB] 64s Get:51 http://ftpmaster.internal/ubuntu resolute/main amd64 libfile-stripnondeterminism-perl all 1.14.2-1 [20.4 kB] 64s Get:52 http://ftpmaster.internal/ubuntu resolute/main amd64 dh-strip-nondeterminism all 1.14.2-1 [5098 B] 64s Get:53 http://ftpmaster.internal/ubuntu resolute/main amd64 debugedit amd64 1:5.2-3 [49.9 kB] 64s Get:54 http://ftpmaster.internal/ubuntu resolute/main amd64 dwz amd64 0.16-2 [115 kB] 64s Get:55 http://ftpmaster.internal/ubuntu resolute/main amd64 gettext amd64 0.23.1-2build2 [1043 kB] 64s Get:56 http://ftpmaster.internal/ubuntu resolute/main amd64 intltool-debian all 0.35.0+20060710.6 [23.2 kB] 64s Get:57 http://ftpmaster.internal/ubuntu resolute/main amd64 po-debconf all 1.0.21+nmu1 [233 kB] 64s Get:58 http://ftpmaster.internal/ubuntu resolute/main amd64 debhelper all 13.24.2ubuntu1 [896 kB] 64s Get:59 http://ftpmaster.internal/ubuntu resolute/universe amd64 dh-apport all 2.33.1-0ubuntu3 [20.2 kB] 64s Get:60 http://ftpmaster.internal/ubuntu resolute/main amd64 native-architecture all 0.2.6 [2140 B] 64s Get:61 http://ftpmaster.internal/ubuntu resolute/main amd64 libgirepository-2.0-0 amd64 2.86.0-2 [76.1 kB] 64s Get:62 http://ftpmaster.internal/ubuntu resolute/main amd64 girepository-tools amd64 2.86.0-2 [111 kB] 64s Get:63 http://ftpmaster.internal/ubuntu resolute/main amd64 golang-1.25-src all 1.25.0-0ubuntu1 [23.0 MB] 64s Get:64 http://ftpmaster.internal/ubuntu resolute/main amd64 golang-1.25-go amd64 1.25.0-0ubuntu1 [18.0 MB] 65s Get:65 http://ftpmaster.internal/ubuntu resolute/main amd64 golang-src all 2:1.25~1 [5206 B] 65s Get:66 http://ftpmaster.internal/ubuntu resolute/main amd64 golang-go amd64 2:1.25~1 [44.1 kB] 65s Get:67 http://ftpmaster.internal/ubuntu resolute/main amd64 comerr-dev amd64 2.1-1.47.2-3ubuntu2 [45.0 kB] 65s Get:68 http://ftpmaster.internal/ubuntu resolute/main amd64 libgssrpc4t64 amd64 1.21.3-5ubuntu2 [58.0 kB] 65s Get:69 http://ftpmaster.internal/ubuntu resolute/main amd64 libkadm5clnt-mit12 amd64 1.21.3-5ubuntu2 [40.0 kB] 65s Get:70 http://ftpmaster.internal/ubuntu resolute/main amd64 libkdb5-10t64 amd64 1.21.3-5ubuntu2 [41.3 kB] 65s Get:71 http://ftpmaster.internal/ubuntu resolute/main amd64 libkadm5srv-mit12 amd64 1.21.3-5ubuntu2 [54.7 kB] 65s Get:72 http://ftpmaster.internal/ubuntu resolute/main amd64 krb5-multidev amd64 1.21.3-5ubuntu2 [125 kB] 65s Get:73 http://ftpmaster.internal/ubuntu resolute/main amd64 libcap-dev amd64 1:2.75-7ubuntu2 [625 kB] 65s Get:74 http://ftpmaster.internal/ubuntu resolute/main amd64 libsystemd-dev amd64 257.9-0ubuntu2 [1397 kB] 65s Get:75 http://ftpmaster.internal/ubuntu resolute/main amd64 libpkgconf3 amd64 1.8.1-4build1 [32.8 kB] 65s Get:76 http://ftpmaster.internal/ubuntu resolute/main amd64 pkgconf-bin amd64 1.8.1-4build1 [21.7 kB] 65s Get:77 http://ftpmaster.internal/ubuntu resolute/main amd64 pkgconf amd64 1.8.1-4build1 [16.8 kB] 65s Get:78 http://ftpmaster.internal/ubuntu resolute/main amd64 sgml-base all 1.31+nmu1 [11.0 kB] 65s Get:79 http://ftpmaster.internal/ubuntu resolute/main amd64 xml-core all 0.19 [20.3 kB] 65s Get:80 http://ftpmaster.internal/ubuntu resolute/main amd64 libdbus-1-dev amd64 1.16.2-2ubuntu2 [202 kB] 65s Get:81 http://ftpmaster.internal/ubuntu resolute/main amd64 libffi-dev amd64 3.5.2-1build1 [65.6 kB] 65s Get:82 http://ftpmaster.internal/ubuntu resolute/main amd64 uuid-dev amd64 2.41-4ubuntu4 [56.3 kB] 65s Get:83 http://ftpmaster.internal/ubuntu resolute/main amd64 libblkid-dev amd64 2.41-4ubuntu4 [244 kB] 65s Get:84 http://ftpmaster.internal/ubuntu resolute/main amd64 libsepol-dev amd64 3.8.1-1 [406 kB] 65s Get:85 http://ftpmaster.internal/ubuntu resolute/main amd64 libpcre2-16-0 amd64 10.46-1 [243 kB] 65s Get:86 http://ftpmaster.internal/ubuntu resolute/main amd64 libpcre2-32-0 amd64 10.46-1 [230 kB] 65s Get:87 http://ftpmaster.internal/ubuntu resolute/main amd64 libpcre2-posix3 amd64 10.46-1 [7354 B] 65s Get:88 http://ftpmaster.internal/ubuntu resolute/main amd64 libpcre2-dev amd64 10.46-1 [832 kB] 65s Get:89 http://ftpmaster.internal/ubuntu resolute/main amd64 libselinux1-dev amd64 3.8.1-1build1 [180 kB] 65s Get:90 http://ftpmaster.internal/ubuntu resolute/main amd64 libmount-dev amd64 2.41-4ubuntu4 [36.2 kB] 65s Get:91 http://ftpmaster.internal/ubuntu resolute/main amd64 libsysprof-capture-4-dev amd64 48.0-2 [55.1 kB] 65s Get:92 http://ftpmaster.internal/ubuntu resolute/main amd64 zlib1g-dev amd64 1:1.3.dfsg+really1.3.1-1ubuntu2 [898 kB] 65s Get:93 http://ftpmaster.internal/ubuntu resolute/main amd64 libgio-2.0-dev amd64 2.86.0-2 [1817 kB] 65s Get:94 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-packaging all 25.0-1 [52.8 kB] 65s Get:95 http://ftpmaster.internal/ubuntu resolute/main amd64 libgio-2.0-dev-bin amd64 2.86.0-2 [128 kB] 65s Get:96 http://ftpmaster.internal/ubuntu resolute/main amd64 libglib2.0-bin amd64 2.86.0-2 [99.4 kB] 65s Get:97 http://ftpmaster.internal/ubuntu resolute/main amd64 libglib2.0-dev-bin amd64 2.86.0-2 [18.2 kB] 65s Get:98 http://ftpmaster.internal/ubuntu resolute/main amd64 libglib2.0-dev amd64 2.86.0-2 [18.9 kB] 65s Get:99 http://ftpmaster.internal/ubuntu resolute/main amd64 libgpgme11t64 amd64 1.24.2-3ubuntu1 [144 kB] 65s Get:100 http://ftpmaster.internal/ubuntu resolute/main amd64 libpam0g-dev amd64 1.7.0-5ubuntu2 [59.2 kB] 65s Get:101 http://ftpmaster.internal/ubuntu resolute/main amd64 libsmbclient0 amd64 2:4.22.3+dfsg-4ubuntu2.1 [63.0 kB] 65s Get:102 http://ftpmaster.internal/ubuntu resolute/main amd64 libwbclient-dev amd64 2:4.22.3+dfsg-4ubuntu2.1 [87.1 kB] 65s Get:103 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-ldb amd64 2:2.11.0+samba4.22.3+dfsg-4ubuntu2.1 [41.8 kB] 65s Get:104 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-tdb amd64 2:1.4.13+samba4.22.3+dfsg-4ubuntu2.1 [16.7 kB] 65s Get:105 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-talloc amd64 2:2.4.3+samba4.22.3+dfsg-4ubuntu2.1 [14.5 kB] 65s Get:106 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-samba amd64 2:4.22.3+dfsg-4ubuntu2.1 [3179 kB] 65s Get:107 http://ftpmaster.internal/ubuntu resolute/main amd64 samba-dsdb-modules amd64 2:4.22.3+dfsg-4ubuntu2.1 [319 kB] 65s Get:108 http://ftpmaster.internal/ubuntu resolute/main amd64 dh-golang all 1.63 [24.9 kB] 65s Get:109 http://ftpmaster.internal/ubuntu resolute/main amd64 libkrb5-dev amd64 1.21.3-5ubuntu2 [11.9 kB] 65s Get:110 http://ftpmaster.internal/ubuntu resolute/main amd64 libsmbclient-dev amd64 2:4.22.3+dfsg-4ubuntu2.1 [40.5 kB] 65s Fetched 149 MB in 3s (42.7 MB/s) 65s Selecting previously unselected package samba-common. 65s (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 ... 78439 files and directories currently installed.) 65s Preparing to unpack .../000-samba-common_2%3a4.22.3+dfsg-4ubuntu2.1_all.deb ... 65s Unpacking samba-common (2:4.22.3+dfsg-4ubuntu2.1) ... 66s Selecting previously unselected package libavahi-common-data:amd64. 66s Preparing to unpack .../001-libavahi-common-data_0.8-16ubuntu3_amd64.deb ... 66s Unpacking libavahi-common-data:amd64 (0.8-16ubuntu3) ... 66s Selecting previously unselected package libavahi-common3:amd64. 66s Preparing to unpack .../002-libavahi-common3_0.8-16ubuntu3_amd64.deb ... 66s Unpacking libavahi-common3:amd64 (0.8-16ubuntu3) ... 66s Selecting previously unselected package libavahi-client3:amd64. 66s Preparing to unpack .../003-libavahi-client3_0.8-16ubuntu3_amd64.deb ... 66s Unpacking libavahi-client3:amd64 (0.8-16ubuntu3) ... 66s Selecting previously unselected package libcups2t64:amd64. 66s Preparing to unpack .../004-libcups2t64_2.4.12-0ubuntu3_amd64.deb ... 66s Unpacking libcups2t64:amd64 (2.4.12-0ubuntu3) ... 66s Selecting previously unselected package libicu76:amd64. 66s Preparing to unpack .../005-libicu76_76.1-4ubuntu2_amd64.deb ... 66s Unpacking libicu76:amd64 (76.1-4ubuntu2) ... 66s Selecting previously unselected package libtalloc2:amd64. 66s Preparing to unpack .../006-libtalloc2_2%3a2.4.3+samba4.22.3+dfsg-4ubuntu2.1_amd64.deb ... 66s Unpacking libtalloc2:amd64 (2:2.4.3+samba4.22.3+dfsg-4ubuntu2.1) ... 66s Selecting previously unselected package libtdb1:amd64. 66s Preparing to unpack .../007-libtdb1_2%3a1.4.13+samba4.22.3+dfsg-4ubuntu2.1_amd64.deb ... 66s Unpacking libtdb1:amd64 (2:1.4.13+samba4.22.3+dfsg-4ubuntu2.1) ... 66s Selecting previously unselected package libtevent0t64:amd64. 66s Preparing to unpack .../008-libtevent0t64_2%3a0.16.2+samba4.22.3+dfsg-4ubuntu2.1_amd64.deb ... 66s Unpacking libtevent0t64:amd64 (2:0.16.2+samba4.22.3+dfsg-4ubuntu2.1) ... 66s Selecting previously unselected package libldb2:amd64. 66s Preparing to unpack .../009-libldb2_2%3a2.11.0+samba4.22.3+dfsg-4ubuntu2.1_amd64.deb ... 66s Unpacking libldb2:amd64 (2:2.11.0+samba4.22.3+dfsg-4ubuntu2.1) ... 66s Selecting previously unselected package libwbclient0:amd64. 66s Preparing to unpack .../010-libwbclient0_2%3a4.22.3+dfsg-4ubuntu2.1_amd64.deb ... 66s Unpacking libwbclient0:amd64 (2:4.22.3+dfsg-4ubuntu2.1) ... 66s Selecting previously unselected package samba-libs:amd64. 66s Preparing to unpack .../011-samba-libs_2%3a4.22.3+dfsg-4ubuntu2.1_amd64.deb ... 66s Unpacking samba-libs:amd64 (2:4.22.3+dfsg-4ubuntu2.1) ... 66s Selecting previously unselected package samba-common-bin. 66s Preparing to unpack .../012-samba-common-bin_2%3a4.22.3+dfsg-4ubuntu2.1_amd64.deb ... 66s Unpacking samba-common-bin (2:4.22.3+dfsg-4ubuntu2.1) ... 66s Selecting previously unselected package liburing2:amd64. 66s Preparing to unpack .../013-liburing2_2.11-1_amd64.deb ... 66s Unpacking liburing2:amd64 (2.11-1) ... 66s Selecting previously unselected package samba. 66s Preparing to unpack .../014-samba_2%3a4.22.3+dfsg-4ubuntu2.1_amd64.deb ... 66s Unpacking samba (2:4.22.3+dfsg-4ubuntu2.1) ... 66s Selecting previously unselected package m4. 66s Preparing to unpack .../015-m4_1.4.19-8_amd64.deb ... 66s Unpacking m4 (1.4.19-8) ... 66s Selecting previously unselected package autoconf. 66s Preparing to unpack .../016-autoconf_2.72-3.1ubuntu1_all.deb ... 66s Unpacking autoconf (2.72-3.1ubuntu1) ... 66s Selecting previously unselected package autotools-dev. 66s Preparing to unpack .../017-autotools-dev_20240727.1_all.deb ... 66s Unpacking autotools-dev (20240727.1) ... 66s Selecting previously unselected package automake. 66s Preparing to unpack .../018-automake_1%3a1.17-4ubuntu1_all.deb ... 66s Unpacking automake (1:1.17-4ubuntu1) ... 66s Selecting previously unselected package autopoint. 66s Preparing to unpack .../019-autopoint_0.23.1-2build2_all.deb ... 66s Unpacking autopoint (0.23.1-2build2) ... 66s Selecting previously unselected package libisl23:amd64. 66s Preparing to unpack .../020-libisl23_0.27-1_amd64.deb ... 66s Unpacking libisl23:amd64 (0.27-1) ... 66s Selecting previously unselected package libmpc3:amd64. 66s Preparing to unpack .../021-libmpc3_1.3.1-1build3_amd64.deb ... 66s Unpacking libmpc3:amd64 (1.3.1-1build3) ... 66s Selecting previously unselected package cpp-15-x86-64-linux-gnu. 66s Preparing to unpack .../022-cpp-15-x86-64-linux-gnu_15.2.0-5ubuntu1_amd64.deb ... 66s Unpacking cpp-15-x86-64-linux-gnu (15.2.0-5ubuntu1) ... 66s Selecting previously unselected package cpp-15. 66s Preparing to unpack .../023-cpp-15_15.2.0-5ubuntu1_amd64.deb ... 66s Unpacking cpp-15 (15.2.0-5ubuntu1) ... 66s Selecting previously unselected package cpp-x86-64-linux-gnu. 66s Preparing to unpack .../024-cpp-x86-64-linux-gnu_4%3a15.2.0-4ubuntu1_amd64.deb ... 66s Unpacking cpp-x86-64-linux-gnu (4:15.2.0-4ubuntu1) ... 66s Selecting previously unselected package cpp. 66s Preparing to unpack .../025-cpp_4%3a15.2.0-4ubuntu1_amd64.deb ... 66s Unpacking cpp (4:15.2.0-4ubuntu1) ... 66s Selecting previously unselected package libcc1-0:amd64. 66s Preparing to unpack .../026-libcc1-0_15.2.0-5ubuntu1_amd64.deb ... 66s Unpacking libcc1-0:amd64 (15.2.0-5ubuntu1) ... 66s Selecting previously unselected package libgomp1:amd64. 66s Preparing to unpack .../027-libgomp1_15.2.0-5ubuntu1_amd64.deb ... 66s Unpacking libgomp1:amd64 (15.2.0-5ubuntu1) ... 66s Selecting previously unselected package libitm1:amd64. 66s Preparing to unpack .../028-libitm1_15.2.0-5ubuntu1_amd64.deb ... 66s Unpacking libitm1:amd64 (15.2.0-5ubuntu1) ... 66s Selecting previously unselected package libasan8:amd64. 66s Preparing to unpack .../029-libasan8_15.2.0-5ubuntu1_amd64.deb ... 66s Unpacking libasan8:amd64 (15.2.0-5ubuntu1) ... 66s Selecting previously unselected package liblsan0:amd64. 66s Preparing to unpack .../030-liblsan0_15.2.0-5ubuntu1_amd64.deb ... 66s Unpacking liblsan0:amd64 (15.2.0-5ubuntu1) ... 66s Selecting previously unselected package libtsan2:amd64. 66s Preparing to unpack .../031-libtsan2_15.2.0-5ubuntu1_amd64.deb ... 66s Unpacking libtsan2:amd64 (15.2.0-5ubuntu1) ... 66s Selecting previously unselected package libubsan1:amd64. 66s Preparing to unpack .../032-libubsan1_15.2.0-5ubuntu1_amd64.deb ... 66s Unpacking libubsan1:amd64 (15.2.0-5ubuntu1) ... 66s Selecting previously unselected package libhwasan0:amd64. 66s Preparing to unpack .../033-libhwasan0_15.2.0-5ubuntu1_amd64.deb ... 66s Unpacking libhwasan0:amd64 (15.2.0-5ubuntu1) ... 66s Selecting previously unselected package libquadmath0:amd64. 66s Preparing to unpack .../034-libquadmath0_15.2.0-5ubuntu1_amd64.deb ... 66s Unpacking libquadmath0:amd64 (15.2.0-5ubuntu1) ... 66s Selecting previously unselected package libgcc-15-dev:amd64. 66s Preparing to unpack .../035-libgcc-15-dev_15.2.0-5ubuntu1_amd64.deb ... 66s Unpacking libgcc-15-dev:amd64 (15.2.0-5ubuntu1) ... 66s Selecting previously unselected package gcc-15-x86-64-linux-gnu. 66s Preparing to unpack .../036-gcc-15-x86-64-linux-gnu_15.2.0-5ubuntu1_amd64.deb ... 66s Unpacking gcc-15-x86-64-linux-gnu (15.2.0-5ubuntu1) ... 67s Selecting previously unselected package gcc-15. 67s Preparing to unpack .../037-gcc-15_15.2.0-5ubuntu1_amd64.deb ... 67s Unpacking gcc-15 (15.2.0-5ubuntu1) ... 67s Selecting previously unselected package gcc-x86-64-linux-gnu. 67s Preparing to unpack .../038-gcc-x86-64-linux-gnu_4%3a15.2.0-4ubuntu1_amd64.deb ... 67s Unpacking gcc-x86-64-linux-gnu (4:15.2.0-4ubuntu1) ... 67s Selecting previously unselected package gcc. 67s Preparing to unpack .../039-gcc_4%3a15.2.0-4ubuntu1_amd64.deb ... 67s Unpacking gcc (4:15.2.0-4ubuntu1) ... 67s Selecting previously unselected package libstdc++-15-dev:amd64. 67s Preparing to unpack .../040-libstdc++-15-dev_15.2.0-5ubuntu1_amd64.deb ... 67s Unpacking libstdc++-15-dev:amd64 (15.2.0-5ubuntu1) ... 67s Selecting previously unselected package g++-15-x86-64-linux-gnu. 67s Preparing to unpack .../041-g++-15-x86-64-linux-gnu_15.2.0-5ubuntu1_amd64.deb ... 67s Unpacking g++-15-x86-64-linux-gnu (15.2.0-5ubuntu1) ... 67s Selecting previously unselected package g++-15. 67s Preparing to unpack .../042-g++-15_15.2.0-5ubuntu1_amd64.deb ... 67s Unpacking g++-15 (15.2.0-5ubuntu1) ... 67s Selecting previously unselected package g++-x86-64-linux-gnu. 67s Preparing to unpack .../043-g++-x86-64-linux-gnu_4%3a15.2.0-4ubuntu1_amd64.deb ... 67s Unpacking g++-x86-64-linux-gnu (4:15.2.0-4ubuntu1) ... 67s Selecting previously unselected package g++. 67s Preparing to unpack .../044-g++_4%3a15.2.0-4ubuntu1_amd64.deb ... 67s Unpacking g++ (4:15.2.0-4ubuntu1) ... 67s Selecting previously unselected package build-essential. 67s Preparing to unpack .../045-build-essential_12.12ubuntu1_amd64.deb ... 67s Unpacking build-essential (12.12ubuntu1) ... 67s Selecting previously unselected package libdebhelper-perl. 67s Preparing to unpack .../046-libdebhelper-perl_13.24.2ubuntu1_all.deb ... 67s Unpacking libdebhelper-perl (13.24.2ubuntu1) ... 67s Selecting previously unselected package libtool. 67s Preparing to unpack .../047-libtool_2.5.4-4build1_all.deb ... 67s Unpacking libtool (2.5.4-4build1) ... 67s Selecting previously unselected package dh-autoreconf. 67s Preparing to unpack .../048-dh-autoreconf_21_all.deb ... 67s Unpacking dh-autoreconf (21) ... 67s Selecting previously unselected package libarchive-zip-perl. 67s Preparing to unpack .../049-libarchive-zip-perl_1.68-1_all.deb ... 67s Unpacking libarchive-zip-perl (1.68-1) ... 67s Selecting previously unselected package libfile-stripnondeterminism-perl. 67s Preparing to unpack .../050-libfile-stripnondeterminism-perl_1.14.2-1_all.deb ... 67s Unpacking libfile-stripnondeterminism-perl (1.14.2-1) ... 67s Selecting previously unselected package dh-strip-nondeterminism. 67s Preparing to unpack .../051-dh-strip-nondeterminism_1.14.2-1_all.deb ... 67s Unpacking dh-strip-nondeterminism (1.14.2-1) ... 67s Selecting previously unselected package debugedit. 67s Preparing to unpack .../052-debugedit_1%3a5.2-3_amd64.deb ... 67s Unpacking debugedit (1:5.2-3) ... 67s Selecting previously unselected package dwz. 67s Preparing to unpack .../053-dwz_0.16-2_amd64.deb ... 67s Unpacking dwz (0.16-2) ... 67s Selecting previously unselected package gettext. 67s Preparing to unpack .../054-gettext_0.23.1-2build2_amd64.deb ... 67s Unpacking gettext (0.23.1-2build2) ... 67s Selecting previously unselected package intltool-debian. 67s Preparing to unpack .../055-intltool-debian_0.35.0+20060710.6_all.deb ... 67s Unpacking intltool-debian (0.35.0+20060710.6) ... 67s Selecting previously unselected package po-debconf. 67s Preparing to unpack .../056-po-debconf_1.0.21+nmu1_all.deb ... 67s Unpacking po-debconf (1.0.21+nmu1) ... 67s Selecting previously unselected package debhelper. 67s Preparing to unpack .../057-debhelper_13.24.2ubuntu1_all.deb ... 67s Unpacking debhelper (13.24.2ubuntu1) ... 67s Selecting previously unselected package dh-apport. 67s Preparing to unpack .../058-dh-apport_2.33.1-0ubuntu3_all.deb ... 67s Unpacking dh-apport (2.33.1-0ubuntu3) ... 67s Selecting previously unselected package native-architecture. 67s Preparing to unpack .../059-native-architecture_0.2.6_all.deb ... 67s Unpacking native-architecture (0.2.6) ... 67s Selecting previously unselected package libgirepository-2.0-0:amd64. 67s Preparing to unpack .../060-libgirepository-2.0-0_2.86.0-2_amd64.deb ... 67s Unpacking libgirepository-2.0-0:amd64 (2.86.0-2) ... 67s Selecting previously unselected package girepository-tools:amd64. 67s Preparing to unpack .../061-girepository-tools_2.86.0-2_amd64.deb ... 67s Unpacking girepository-tools:amd64 (2.86.0-2) ... 67s Selecting previously unselected package golang-1.25-src. 67s Preparing to unpack .../062-golang-1.25-src_1.25.0-0ubuntu1_all.deb ... 67s Unpacking golang-1.25-src (1.25.0-0ubuntu1) ... 68s Selecting previously unselected package golang-1.25-go. 68s Preparing to unpack .../063-golang-1.25-go_1.25.0-0ubuntu1_amd64.deb ... 68s Unpacking golang-1.25-go (1.25.0-0ubuntu1) ... 68s Selecting previously unselected package golang-src. 68s Preparing to unpack .../064-golang-src_2%3a1.25~1_all.deb ... 68s Unpacking golang-src (2:1.25~1) ... 68s Selecting previously unselected package golang-go:amd64. 68s Preparing to unpack .../065-golang-go_2%3a1.25~1_amd64.deb ... 68s Unpacking golang-go:amd64 (2:1.25~1) ... 68s Selecting previously unselected package comerr-dev:amd64. 68s Preparing to unpack .../066-comerr-dev_2.1-1.47.2-3ubuntu2_amd64.deb ... 68s Unpacking comerr-dev:amd64 (2.1-1.47.2-3ubuntu2) ... 68s Selecting previously unselected package libgssrpc4t64:amd64. 68s Preparing to unpack .../067-libgssrpc4t64_1.21.3-5ubuntu2_amd64.deb ... 68s Unpacking libgssrpc4t64:amd64 (1.21.3-5ubuntu2) ... 68s Selecting previously unselected package libkadm5clnt-mit12:amd64. 68s Preparing to unpack .../068-libkadm5clnt-mit12_1.21.3-5ubuntu2_amd64.deb ... 68s Unpacking libkadm5clnt-mit12:amd64 (1.21.3-5ubuntu2) ... 68s Selecting previously unselected package libkdb5-10t64:amd64. 68s Preparing to unpack .../069-libkdb5-10t64_1.21.3-5ubuntu2_amd64.deb ... 68s Unpacking libkdb5-10t64:amd64 (1.21.3-5ubuntu2) ... 68s Selecting previously unselected package libkadm5srv-mit12:amd64. 68s Preparing to unpack .../070-libkadm5srv-mit12_1.21.3-5ubuntu2_amd64.deb ... 68s Unpacking libkadm5srv-mit12:amd64 (1.21.3-5ubuntu2) ... 68s Selecting previously unselected package krb5-multidev:amd64. 68s Preparing to unpack .../071-krb5-multidev_1.21.3-5ubuntu2_amd64.deb ... 68s Unpacking krb5-multidev:amd64 (1.21.3-5ubuntu2) ... 68s Selecting previously unselected package libcap-dev:amd64. 68s Preparing to unpack .../072-libcap-dev_1%3a2.75-7ubuntu2_amd64.deb ... 68s Unpacking libcap-dev:amd64 (1:2.75-7ubuntu2) ... 68s Selecting previously unselected package libsystemd-dev:amd64. 68s Preparing to unpack .../073-libsystemd-dev_257.9-0ubuntu2_amd64.deb ... 68s Unpacking libsystemd-dev:amd64 (257.9-0ubuntu2) ... 68s Selecting previously unselected package libpkgconf3:amd64. 68s Preparing to unpack .../074-libpkgconf3_1.8.1-4build1_amd64.deb ... 68s Unpacking libpkgconf3:amd64 (1.8.1-4build1) ... 68s Selecting previously unselected package pkgconf-bin. 68s Preparing to unpack .../075-pkgconf-bin_1.8.1-4build1_amd64.deb ... 68s Unpacking pkgconf-bin (1.8.1-4build1) ... 68s Selecting previously unselected package pkgconf:amd64. 68s Preparing to unpack .../076-pkgconf_1.8.1-4build1_amd64.deb ... 68s Unpacking pkgconf:amd64 (1.8.1-4build1) ... 68s Selecting previously unselected package sgml-base. 68s Preparing to unpack .../077-sgml-base_1.31+nmu1_all.deb ... 68s Unpacking sgml-base (1.31+nmu1) ... 68s Selecting previously unselected package xml-core. 68s Preparing to unpack .../078-xml-core_0.19_all.deb ... 68s Unpacking xml-core (0.19) ... 68s Selecting previously unselected package libdbus-1-dev:amd64. 68s Preparing to unpack .../079-libdbus-1-dev_1.16.2-2ubuntu2_amd64.deb ... 68s Unpacking libdbus-1-dev:amd64 (1.16.2-2ubuntu2) ... 68s Selecting previously unselected package libffi-dev:amd64. 68s Preparing to unpack .../080-libffi-dev_3.5.2-1build1_amd64.deb ... 68s Unpacking libffi-dev:amd64 (3.5.2-1build1) ... 68s Selecting previously unselected package uuid-dev:amd64. 68s Preparing to unpack .../081-uuid-dev_2.41-4ubuntu4_amd64.deb ... 68s Unpacking uuid-dev:amd64 (2.41-4ubuntu4) ... 68s Selecting previously unselected package libblkid-dev:amd64. 68s Preparing to unpack .../082-libblkid-dev_2.41-4ubuntu4_amd64.deb ... 68s Unpacking libblkid-dev:amd64 (2.41-4ubuntu4) ... 68s Selecting previously unselected package libsepol-dev:amd64. 68s Preparing to unpack .../083-libsepol-dev_3.8.1-1_amd64.deb ... 68s Unpacking libsepol-dev:amd64 (3.8.1-1) ... 68s Selecting previously unselected package libpcre2-16-0:amd64. 68s Preparing to unpack .../084-libpcre2-16-0_10.46-1_amd64.deb ... 68s Unpacking libpcre2-16-0:amd64 (10.46-1) ... 68s Selecting previously unselected package libpcre2-32-0:amd64. 68s Preparing to unpack .../085-libpcre2-32-0_10.46-1_amd64.deb ... 68s Unpacking libpcre2-32-0:amd64 (10.46-1) ... 68s Selecting previously unselected package libpcre2-posix3:amd64. 68s Preparing to unpack .../086-libpcre2-posix3_10.46-1_amd64.deb ... 68s Unpacking libpcre2-posix3:amd64 (10.46-1) ... 68s Selecting previously unselected package libpcre2-dev:amd64. 68s Preparing to unpack .../087-libpcre2-dev_10.46-1_amd64.deb ... 68s Unpacking libpcre2-dev:amd64 (10.46-1) ... 68s Selecting previously unselected package libselinux1-dev:amd64. 68s Preparing to unpack .../088-libselinux1-dev_3.8.1-1build1_amd64.deb ... 68s Unpacking libselinux1-dev:amd64 (3.8.1-1build1) ... 68s Selecting previously unselected package libmount-dev:amd64. 68s Preparing to unpack .../089-libmount-dev_2.41-4ubuntu4_amd64.deb ... 68s Unpacking libmount-dev:amd64 (2.41-4ubuntu4) ... 68s Selecting previously unselected package libsysprof-capture-4-dev:amd64. 68s Preparing to unpack .../090-libsysprof-capture-4-dev_48.0-2_amd64.deb ... 68s Unpacking libsysprof-capture-4-dev:amd64 (48.0-2) ... 68s Selecting previously unselected package zlib1g-dev:amd64. 68s Preparing to unpack .../091-zlib1g-dev_1%3a1.3.dfsg+really1.3.1-1ubuntu2_amd64.deb ... 68s Unpacking zlib1g-dev:amd64 (1:1.3.dfsg+really1.3.1-1ubuntu2) ... 68s Selecting previously unselected package libgio-2.0-dev:amd64. 68s Preparing to unpack .../092-libgio-2.0-dev_2.86.0-2_amd64.deb ... 68s Unpacking libgio-2.0-dev:amd64 (2.86.0-2) ... 69s Selecting previously unselected package python3-packaging. 69s Preparing to unpack .../093-python3-packaging_25.0-1_all.deb ... 69s Unpacking python3-packaging (25.0-1) ... 69s Selecting previously unselected package libgio-2.0-dev-bin. 69s Preparing to unpack .../094-libgio-2.0-dev-bin_2.86.0-2_amd64.deb ... 69s Unpacking libgio-2.0-dev-bin (2.86.0-2) ... 69s Selecting previously unselected package libglib2.0-bin. 69s Preparing to unpack .../095-libglib2.0-bin_2.86.0-2_amd64.deb ... 69s Unpacking libglib2.0-bin (2.86.0-2) ... 69s Selecting previously unselected package libglib2.0-dev-bin. 69s Preparing to unpack .../096-libglib2.0-dev-bin_2.86.0-2_amd64.deb ... 69s Unpacking libglib2.0-dev-bin (2.86.0-2) ... 69s Selecting previously unselected package libglib2.0-dev:amd64. 69s Preparing to unpack .../097-libglib2.0-dev_2.86.0-2_amd64.deb ... 69s Unpacking libglib2.0-dev:amd64 (2.86.0-2) ... 69s Selecting previously unselected package libgpgme11t64:amd64. 69s Preparing to unpack .../098-libgpgme11t64_1.24.2-3ubuntu1_amd64.deb ... 69s Unpacking libgpgme11t64:amd64 (1.24.2-3ubuntu1) ... 69s Selecting previously unselected package libpam0g-dev:amd64. 69s Preparing to unpack .../099-libpam0g-dev_1.7.0-5ubuntu2_amd64.deb ... 69s Unpacking libpam0g-dev:amd64 (1.7.0-5ubuntu2) ... 69s Selecting previously unselected package libsmbclient0:amd64. 69s Preparing to unpack .../100-libsmbclient0_2%3a4.22.3+dfsg-4ubuntu2.1_amd64.deb ... 69s Unpacking libsmbclient0:amd64 (2:4.22.3+dfsg-4ubuntu2.1) ... 69s Selecting previously unselected package libwbclient-dev:amd64. 69s Preparing to unpack .../101-libwbclient-dev_2%3a4.22.3+dfsg-4ubuntu2.1_amd64.deb ... 69s Unpacking libwbclient-dev:amd64 (2:4.22.3+dfsg-4ubuntu2.1) ... 69s Selecting previously unselected package python3-ldb. 69s Preparing to unpack .../102-python3-ldb_2%3a2.11.0+samba4.22.3+dfsg-4ubuntu2.1_amd64.deb ... 69s Unpacking python3-ldb (2:2.11.0+samba4.22.3+dfsg-4ubuntu2.1) ... 69s Selecting previously unselected package python3-tdb. 69s Preparing to unpack .../103-python3-tdb_2%3a1.4.13+samba4.22.3+dfsg-4ubuntu2.1_amd64.deb ... 69s Unpacking python3-tdb (2:1.4.13+samba4.22.3+dfsg-4ubuntu2.1) ... 69s Selecting previously unselected package python3-talloc:amd64. 69s Preparing to unpack .../104-python3-talloc_2%3a2.4.3+samba4.22.3+dfsg-4ubuntu2.1_amd64.deb ... 69s Unpacking python3-talloc:amd64 (2:2.4.3+samba4.22.3+dfsg-4ubuntu2.1) ... 69s Selecting previously unselected package python3-samba. 69s Preparing to unpack .../105-python3-samba_2%3a4.22.3+dfsg-4ubuntu2.1_amd64.deb ... 69s Unpacking python3-samba (2:4.22.3+dfsg-4ubuntu2.1) ... 69s Selecting previously unselected package samba-dsdb-modules:amd64. 69s Preparing to unpack .../106-samba-dsdb-modules_2%3a4.22.3+dfsg-4ubuntu2.1_amd64.deb ... 69s Unpacking samba-dsdb-modules:amd64 (2:4.22.3+dfsg-4ubuntu2.1) ... 69s Selecting previously unselected package dh-golang. 69s Preparing to unpack .../107-dh-golang_1.63_all.deb ... 69s Unpacking dh-golang (1.63) ... 69s Selecting previously unselected package libkrb5-dev:amd64. 69s Preparing to unpack .../108-libkrb5-dev_1.21.3-5ubuntu2_amd64.deb ... 69s Unpacking libkrb5-dev:amd64 (1.21.3-5ubuntu2) ... 69s Selecting previously unselected package libsmbclient-dev:amd64. 69s Preparing to unpack .../109-libsmbclient-dev_2%3a4.22.3+dfsg-4ubuntu2.1_amd64.deb ... 69s Unpacking libsmbclient-dev:amd64 (2:4.22.3+dfsg-4ubuntu2.1) ... 69s Setting up native-architecture (0.2.6) ... 69s Setting up libpam0g-dev:amd64 (1.7.0-5ubuntu2) ... 69s Setting up libgirepository-2.0-0:amd64 (2.86.0-2) ... 69s Setting up libarchive-zip-perl (1.68-1) ... 69s Setting up libtdb1:amd64 (2:1.4.13+samba4.22.3+dfsg-4ubuntu2.1) ... 69s Setting up libdebhelper-perl (13.24.2ubuntu1) ... 69s Setting up libglib2.0-bin (2.86.0-2) ... 69s Setting up m4 (1.4.19-8) ... 69s Setting up samba-common (2:4.22.3+dfsg-4ubuntu2.1) ... 69s Creating config file /etc/samba/smb.conf with new version 69s Setting up libgomp1:amd64 (15.2.0-5ubuntu1) ... 69s Setting up libffi-dev:amd64 (3.5.2-1build1) ... 69s Setting up dh-apport (2.33.1-0ubuntu3) ... 69s Setting up libwbclient0:amd64 (2:4.22.3+dfsg-4ubuntu2.1) ... 69s Setting up libwbclient-dev:amd64 (2:4.22.3+dfsg-4ubuntu2.1) ... 69s Setting up libpcre2-16-0:amd64 (10.46-1) ... 69s Setting up libtalloc2:amd64 (2:2.4.3+samba4.22.3+dfsg-4ubuntu2.1) ... 69s Setting up libsysprof-capture-4-dev:amd64 (48.0-2) ... 69s Setting up python3-tdb (2:1.4.13+samba4.22.3+dfsg-4ubuntu2.1) ... 69s Setting up autotools-dev (20240727.1) ... 69s Setting up libpcre2-32-0:amd64 (10.46-1) ... 69s Setting up python3-packaging (25.0-1) ... 69s Setting up libpkgconf3:amd64 (1.8.1-4build1) ... 69s Setting up libgssrpc4t64:amd64 (1.21.3-5ubuntu2) ... 69s Setting up uuid-dev:amd64 (2.41-4ubuntu4) ... 69s Setting up libavahi-common-data:amd64 (0.8-16ubuntu3) ... 69s Setting up libquadmath0:amd64 (15.2.0-5ubuntu1) ... 69s Setting up comerr-dev:amd64 (2.1-1.47.2-3ubuntu2) ... 69s Setting up libmpc3:amd64 (1.3.1-1build3) ... 69s Setting up autopoint (0.23.1-2build2) ... 69s Setting up libsepol-dev:amd64 (3.8.1-1) ... 69s Setting up pkgconf-bin (1.8.1-4build1) ... 69s Setting up autoconf (2.72-3.1ubuntu1) ... 69s Setting up libubsan1:amd64 (15.2.0-5ubuntu1) ... 69s Setting up zlib1g-dev:amd64 (1:1.3.dfsg+really1.3.1-1ubuntu2) ... 69s Setting up libpcre2-posix3:amd64 (10.46-1) ... 69s Setting up dwz (0.16-2) ... 69s Setting up golang-1.25-src (1.25.0-0ubuntu1) ... 69s Setting up libhwasan0:amd64 (15.2.0-5ubuntu1) ... 69s Setting up libasan8:amd64 (15.2.0-5ubuntu1) ... 69s Setting up debugedit (1:5.2-3) ... 69s Setting up sgml-base (1.31+nmu1) ... 69s Setting up libgpgme11t64:amd64 (1.24.2-3ubuntu1) ... 69s Setting up libicu76:amd64 (76.1-4ubuntu2) ... 69s Setting up libtsan2:amd64 (15.2.0-5ubuntu1) ... 69s Setting up liburing2:amd64 (2.11-1) ... 69s Setting up libisl23:amd64 (0.27-1) ... 69s Setting up golang-src (2:1.25~1) ... 69s Setting up libcap-dev:amd64 (1:2.75-7ubuntu2) ... 69s Setting up libcc1-0:amd64 (15.2.0-5ubuntu1) ... 69s Setting up libsystemd-dev:amd64 (257.9-0ubuntu2) ... 69s Setting up liblsan0:amd64 (15.2.0-5ubuntu1) ... 69s Setting up libtevent0t64:amd64 (2:0.16.2+samba4.22.3+dfsg-4ubuntu2.1) ... 69s Setting up libitm1:amd64 (15.2.0-5ubuntu1) ... 69s Setting up libkadm5clnt-mit12:amd64 (1.21.3-5ubuntu2) ... 69s Setting up automake (1:1.17-4ubuntu1) ... 69s update-alternatives: using /usr/bin/automake-1.17 to provide /usr/bin/automake (automake) in auto mode 69s Setting up libfile-stripnondeterminism-perl (1.14.2-1) ... 69s Setting up libblkid-dev:amd64 (2.41-4ubuntu4) ... 69s Setting up golang-1.25-go (1.25.0-0ubuntu1) ... 69s Setting up libgio-2.0-dev-bin (2.86.0-2) ... 69s Setting up gettext (0.23.1-2build2) ... 69s Setting up girepository-tools:amd64 (2.86.0-2) ... 69s Setting up libgcc-15-dev:amd64 (15.2.0-5ubuntu1) ... 69s Setting up libpcre2-dev:amd64 (10.46-1) ... 69s Setting up libkdb5-10t64:amd64 (1.21.3-5ubuntu2) ... 69s Setting up python3-talloc:amd64 (2:2.4.3+samba4.22.3+dfsg-4ubuntu2.1) ... 69s Setting up golang-go:amd64 (2:1.25~1) ... 69s Setting up libselinux1-dev:amd64 (3.8.1-1build1) ... 69s Setting up libavahi-common3:amd64 (0.8-16ubuntu3) ... 69s Setting up cpp-15-x86-64-linux-gnu (15.2.0-5ubuntu1) ... 69s Setting up pkgconf:amd64 (1.8.1-4build1) ... 69s Setting up intltool-debian (0.35.0+20060710.6) ... 69s Setting up gcc-15-x86-64-linux-gnu (15.2.0-5ubuntu1) ... 69s Setting up libstdc++-15-dev:amd64 (15.2.0-5ubuntu1) ... 69s Setting up dh-strip-nondeterminism (1.14.2-1) ... 69s Setting up cpp-15 (15.2.0-5ubuntu1) ... 69s Setting up xml-core (0.19) ... 69s Setting up libkadm5srv-mit12:amd64 (1.21.3-5ubuntu2) ... 69s Setting up libldb2:amd64 (2:2.11.0+samba4.22.3+dfsg-4ubuntu2.1) ... 69s Setting up libavahi-client3:amd64 (0.8-16ubuntu3) ... 69s Setting up libmount-dev:amd64 (2.41-4ubuntu4) ... 69s Setting up krb5-multidev:amd64 (1.21.3-5ubuntu2) ... 69s Setting up cpp-x86-64-linux-gnu (4:15.2.0-4ubuntu1) ... 69s Setting up libglib2.0-dev-bin (2.86.0-2) ... 69s Setting up g++-15-x86-64-linux-gnu (15.2.0-5ubuntu1) ... 69s Setting up libgio-2.0-dev:amd64 (2.86.0-2) ... 69s Setting up gcc-x86-64-linux-gnu (4:15.2.0-4ubuntu1) ... 69s Setting up po-debconf (1.0.21+nmu1) ... 69s Setting up samba-libs:amd64 (2:4.22.3+dfsg-4ubuntu2.1) ... 69s Setting up libkrb5-dev:amd64 (1.21.3-5ubuntu2) ... 69s Setting up gcc-15 (15.2.0-5ubuntu1) ... 69s Setting up python3-ldb (2:2.11.0+samba4.22.3+dfsg-4ubuntu2.1) ... 70s Setting up cpp (4:15.2.0-4ubuntu1) ... 70s Setting up g++-x86-64-linux-gnu (4:15.2.0-4ubuntu1) ... 70s Setting up samba-dsdb-modules:amd64 (2:4.22.3+dfsg-4ubuntu2.1) ... 70s Setting up libsmbclient0:amd64 (2:4.22.3+dfsg-4ubuntu2.1) ... 70s Setting up g++-15 (15.2.0-5ubuntu1) ... 70s Setting up libcups2t64:amd64 (2.4.12-0ubuntu3) ... 70s Setting up python3-samba (2:4.22.3+dfsg-4ubuntu2.1) ... 70s Setting up libtool (2.5.4-4build1) ... 70s Setting up gcc (4:15.2.0-4ubuntu1) ... 70s Setting up dh-autoreconf (21) ... 70s Setting up libsmbclient-dev:amd64 (2:4.22.3+dfsg-4ubuntu2.1) ... 70s Setting up g++ (4:15.2.0-4ubuntu1) ... 70s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 70s Setting up samba-common-bin (2:4.22.3+dfsg-4ubuntu2.1) ... 70s Setting up build-essential (12.12ubuntu1) ... 70s Setting up samba (2:4.22.3+dfsg-4ubuntu2.1) ... 70s Created symlink '/etc/systemd/system/smb.service' → '/usr/lib/systemd/system/smbd.service'. 70s Created symlink '/etc/systemd/system/multi-user.target.wants/smbd.service' → '/usr/lib/systemd/system/smbd.service'. 71s Created symlink '/etc/systemd/system/nmb.service' → '/usr/lib/systemd/system/nmbd.service'. 71s Created symlink '/etc/systemd/system/multi-user.target.wants/nmbd.service' → '/usr/lib/systemd/system/nmbd.service'. 71s Setting up debhelper (13.24.2ubuntu1) ... 71s Setting up dh-golang (1.63) ... 71s Processing triggers for install-info (7.1.1-1ubuntu1) ... 71s Processing triggers for libc-bin (2.42-0ubuntu3) ... 71s Processing triggers for ufw (0.36.2-9) ... 71s Processing triggers for man-db (2.13.1-1) ... 72s Processing triggers for libglib2.0-0t64:amd64 (2.86.0-2) ... 72s No schema files found: doing nothing. 72s Setting up libglib2.0-dev:amd64 (2.86.0-2) ... 72s Processing triggers for sgml-base (1.31+nmu1) ... 72s Setting up libdbus-1-dev:amd64 (1.16.2-2ubuntu2) ... 73s autopkgtest [15:05:56]: test command1: ./debian/tests/test no-sudo 73s autopkgtest [15:05:56]: test command1: [----------------------- 73s Running non-root tests... 91s ? github.com/ubuntu/adsys [no test files] 97s === RUN TestRun 97s === RUN TestRun/Run_and_exit_successfully 97s === RUN TestRun/Run_and_return_error 97s level=error msg="Error requested" 97s === RUN TestRun/Run_and_return_usage_error 97s level=error msg="Error requested" 97s === RUN TestRun/Run_and_usage_error_only_does_not_fail 97s --- PASS: TestRun (0.00s) 97s --- PASS: TestRun/Run_and_exit_successfully (0.00s) 97s --- PASS: TestRun/Run_and_return_error (0.00s) 97s --- PASS: TestRun/Run_and_return_usage_error (0.00s) 97s --- PASS: TestRun/Run_and_usage_error_only_does_not_fail (0.00s) 97s === RUN TestMainApp 97s --- PASS: TestMainApp (0.00s) 97s === RUN TestAppUsage 97s === RUN TestAppUsage/Expand_with_correct_arguments 97s === RUN TestAppUsage/Admx_with_correct_arguments 97s === RUN TestAppUsage/Doc_with_correct_arguments 97s === RUN TestAppUsage/Error_when_command_is_called_with_wrong_arguments 97s --- PASS: TestAppUsage (0.02s) 97s --- PASS: TestAppUsage/Expand_with_correct_arguments (0.01s) 97s --- PASS: TestAppUsage/Admx_with_correct_arguments (0.00s) 97s --- PASS: TestAppUsage/Doc_with_correct_arguments (0.00s) 97s --- PASS: TestAppUsage/Error_when_command_is_called_with_wrong_arguments (0.00s) 97s PASS 97s ok github.com/ubuntu/adsys/cmd/admxgen 0.025s 97s ? github.com/ubuntu/adsys/cmd/admxgen/commands [no test files] 107s === RUN TestRun 107s === RUN TestRun/Run_and_exit_successfully 107s === RUN TestRun/Run_and_return_error 107s level=error msg="Error requested" 107s === RUN TestRun/Run_and_return_usage_error 107s level=error msg="Error requested" 107s === RUN TestRun/Run_and_usage_error_only_does_not_fail 107s === RUN TestRun/Send_SIGINT_exits 107s === RUN TestRun/Send_SIGTERM_exits 107s === RUN TestRun/Send_SIGHUP_without_exiting 107s === RUN TestRun/Send_SIGHUP_with_exit 107s --- PASS: TestRun (0.85s) 107s --- PASS: TestRun/Run_and_exit_successfully (0.10s) 107s --- PASS: TestRun/Run_and_return_error (0.10s) 107s --- PASS: TestRun/Run_and_return_usage_error (0.10s) 107s --- PASS: TestRun/Run_and_usage_error_only_does_not_fail (0.10s) 107s --- PASS: TestRun/Send_SIGINT_exits (0.10s) 107s --- PASS: TestRun/Send_SIGTERM_exits (0.10s) 107s --- PASS: TestRun/Send_SIGHUP_without_exiting (0.15s) 107s --- PASS: TestRun/Send_SIGHUP_with_exit (0.10s) 107s === RUN TestMainApp 107s --- PASS: TestMainApp (0.89s) 107s PASS 107s ok github.com/ubuntu/adsys/cmd/adsysd 1.795s 107s === RUN TestColorizePolicies 107s --- PASS: TestColorizePolicies (0.00s) 107s === RUN TestInitApp 107s === PAUSE TestInitApp 107s === RUN TestAppHelp 107s === PAUSE TestAppHelp 107s === RUN TestAppCompletion 107s === PAUSE TestAppCompletion 107s === RUN TestAppNoUsageError 107s === PAUSE TestAppNoUsageError 107s === RUN TestAppUsageError 107s === PAUSE TestAppUsageError 107s === RUN TestAppUsageErrorReportsSuggestions 107s Usage: 107s adsysctl COMMAND [flags] 107s adsysctl [command] 107s 107s Available Commands: 107s applied Print last applied GPOs for current or given user/machine 107s completion Generate the autocompletion script for the specified shell 107s doc Documentation 107s help Help about any command 107s policy Policy management 107s service Service management 107s update Updates/Create a policy for current user or given user with its kerberos ticket 107s version Returns version of client and service 107s 107s Flags: 107s -c, --config string use a specific configuration file 107s -h, --help help for adsysctl 107s -s, --socket string socket path to use between daemon and client. Can be overridden by systemd socket activation. (default "/run/adsysd.sock") 107s -t, --timeout int time in seconds before cancelling the client request when the server gives no result. 0 for no timeout. (default 30) 107s -v, --verbose count issue INFO (-v), DEBUG (-vv) or DEBUG with caller (-vvv) output 107s 107s Use "adsysctl [command] --help" for more information about a command. 107s 107s --- PASS: TestAppUsageErrorReportsSuggestions (0.00s) 107s === RUN TestAppCanQuitWhenExecute 107s === PAUSE TestAppCanQuitWhenExecute 107s === RUN TestAppCanQuitAfterExecute 107s === PAUSE TestAppCanQuitAfterExecute 107s === RUN TestAppCanQuitWithoutExecute 107s === PAUSE TestAppCanQuitWithoutExecute 107s === RUN TestAppCanSigHupWhenExecute 107s === PAUSE TestAppCanSigHupWhenExecute 107s === RUN TestAppCanSigHupAfterExecute 107s === PAUSE TestAppCanSigHupAfterExecute 107s === RUN TestAppGetRootCmd 107s === PAUSE TestAppGetRootCmd 107s === CONT TestInitApp 107s === CONT TestAppCanQuitAfterExecute 107s Usage: 107s adsysctl COMMAND [flags] 107s adsysctl [command] 107s 107s Available Commands: 107s applied Print last applied GPOs for current or given user/machine 107s completion Generate the autocompletion script for the specified shell 107s doc Documentation 107s help Help about any command 107s policy Policy management 107s service Service management 107s update Updates/Create a policy for current user or given user with its kerberos ticket 107s version Returns version of client and service 107s 107s Flags: 107s -c, --config string use a specific configuration file 107s -h, --help help for adsysctl 107s -s, --socket string socket path to use between daemon and client. Can be overridden by systemd socket activation. (default "/run/adsysd.sock") 107s -t, --timeout int time in seconds before cancelling the client request when the server gives no result. 0 for no timeout. (default 30) 107s -v, --verbose count issue INFO (-v), DEBUG (-vv) or DEBUG with caller (-vvv) output 107s 107s Use "adsysctl [command] --help" for more information about a command. 107s 107s --- PASS: TestInitApp (0.00s) 107s === CONT TestAppGetRootCmd 107s # bash completion V2 for adsysctl -*- shell-script -*- 107s 107s __adsysctl_debug() 107s { 107s if [[ -n ${BASH_COMP_DEBUG_FILE-} ]]; then 107s echo "$*" >> "${BASH_COMP_DEBUG_FILE}" 107s fi 107s } 107s 107s # Macs have bash3 for which the bash-completion package doesn't include 107s # _init_completion. This is a minimal version of that function. 107s __adsysctl_init_completion() 107s { 107s COMPREPLY=() 107s _get_comp_words_by_ref "$@" cur prev words cword 107s } 107s 107s # This function calls the adsysctl program to obtain the completion 107s # results and the directive. It fills the 'out' and 'directive' vars. 107s __adsysctl_get_completion_results() { 107s local requestComp lastParam lastChar args 107s 107s # Prepare the command to request completions for the program. 107s # Calling ${words[0]} instead of directly adsysctl allows handling aliases 107s args=("${words[@]:1}") 107s requestComp="${words[0]} __complete ${args[*]}" 107s 107s lastParam=${words[$((${#words[@]}-1))]} 107s lastChar=${lastParam:$((${#lastParam}-1)):1} 107s __adsysctl_debug "lastParam ${lastParam}, lastChar ${lastChar}" 107s 107s if [[ -z ${cur} && ${lastChar} != = ]]; then 107s # If the last parameter is complete (there is a space following it) 107s # We add an extra empty parameter so we can indicate this to the go method. 107s __adsysctl_debug "Adding extra empty parameter" 107s requestComp="${requestComp} ''" 107s fi 107s 107s # When completing a flag with an = (e.g., adsysctl -n=) 107s # bash focuses on the part after the =, so we need to remove 107s # the flag part from $cur 107s if [[ ${cur} == -*=* ]]; then 107s cur="${cur#*=}" 107s fi 107s 107s __adsysctl_debug "Calling ${requestComp}" 107s # Use eval to handle any environment variables and such 107s out=$(eval "${requestComp}" 2>/dev/null) 107s 107s # Extract the directive integer at the very end of the output following a colon (:) 107s directive=${out##*:} 107s # Remove the directive 107s out=${out%:*} 107s if [[ ${directive} == "${out}" ]]; then 107s # There is not directive specified 107s directive=0 107s fi 107s __adsysctl_debug "The completion directive is: ${directive}" 107s __adsysctl_debug "The completions are: ${out}" 107s } 107s 107s __adsysctl_process_completion_results() { 107s local shellCompDirectiveError=1 107s local shellCompDirectiveNoSpace=2 107s local shellCompDirectiveNoFileComp=4 107s local shellCompDirectiveFilterFileExt=8 107s local shellCompDirectiveFilterDirs=16 107s local shellCompDirectiveKeepOrder=32 107s 107s if (((directive & shellCompDirectiveError) != 0)); then 107s # Error code. No completion. 107s __adsysctl_debug "Received error from custom completion go code" 107s return 107s else 107s if (((directive & shellCompDirectiveNoSpace) != 0)); then 107s if [[ $(type -t compopt) == builtin ]]; then 107s __adsysctl_debug "Activating no space" 107s compopt -o nospace 107s else 107s __adsysctl_debug "No space directive not supported in this version of bash" 107s fi 107s fi 107s if (((directive & shellCompDirectiveKeepOrder) != 0)); then 107s if [[ $(type -t compopt) == builtin ]]; then 107s # no sort isn't supported for bash less than < 4.4 107s if [[ ${BASH_VERSINFO[0]} -lt 4 || ( ${BASH_VERSINFO[0]} -eq 4 && ${BASH_VERSINFO[1]} -lt 4 ) ]]; then 107s __adsysctl_debug "No sort directive not supported in this version of bash" 107s else 107s __adsysctl_debug "Activating keep order" 107s compopt -o nosort 107s fi 107s else 107s __adsysctl_debug "No sort directive not supported in this version of bash" 107s fi 107s fi 107s if (((directive & shellCompDirectiveNoFileComp) != 0)); then 107s if [[ $(type -t compopt) == builtin ]]; then 107s __adsysctl_debug "Activating no file completion" 107s compopt +o default 107s else 107s __adsysctl_debug "No file completion directive not supported in this version of bash" 107s fi 107s fi 107s fi 107s 107s # Separate activeHelp from normal completions 107s local completions=() 107s local activeHelp=() 107s __adsysctl_extract_activeHelp 107s 107s if (((directive & shellCompDirectiveFilterFileExt) != 0)); then 107s # File extension filtering 107s local fullFilter="" filter filteringCmd 107s 107s # Do not use quotes around the $completions variable or else newline 107s # characters will be kept. 107s for filter in ${completions[*]}; do 107s fullFilter+="$filter|" 107s done 107s 107s filteringCmd="_filedir $fullFilter" 107s __adsysctl_debug "File filtering command: $filteringCmd" 107s $filteringCmd 107s elif (((directive & shellCompDirectiveFilterDirs) != 0)); then 107s # File completion for directories only 107s 107s local subdir 107s subdir=${completions[0]} 107s if [[ -n $subdir ]]; then 107s __adsysctl_debug "Listing directories in $subdir" 107s pushd "$subdir" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 || return 107s else 107s __adsysctl_debug "Listing directories in ." 107s _filedir -d 107s fi 107s else 107s __adsysctl_handle_completion_types 107s fi 107s 107s __adsysctl_handle_special_char "$cur" : 107s __adsysctl_handle_special_char "$cur" = 107s 107s # Print the activeHelp statements before we finish 107s __adsysctl_handle_activeHelp 107s } 107s 107s __adsysctl_handle_activeHelp() { 107s # Print the activeHelp statements 107s if ((${#activeHelp[*]} != 0)); then 107s if [ -z $COMP_TYPE ]; then 107s # Bash v3 does not set the COMP_TYPE variable. 107s printf "\n"; 107s printf "%s\n" "${activeHelp[@]}" 107s printf "\n" 107s __adsysctl_reprint_commandLine 107s return 107s fi 107s 107s # Only print ActiveHelp on the second TAB press 107s if [ $COMP_TYPE -eq 63 ]; then 107s printf "\n" 107s printf "%s\n" "${activeHelp[@]}" 107s 107s if ((${#COMPREPLY[*]} == 0)); then 107s # When there are no completion choices from the program, file completion 107s # may kick in if the program has not disabled it; in such a case, we want 107s # to know if any files will match what the user typed, so that we know if 107s # there will be completions presented, so that we know how to handle ActiveHelp. 107s # To find out, we actually trigger the file completion ourselves; 107s # the call to _filedir will fill COMPREPLY if files match. 107s if (((directive & shellCompDirectiveNoFileComp) == 0)); then 107s __adsysctl_debug "Listing files" 107s _filedir 107s fi 107s fi 107s 107s if ((${#COMPREPLY[*]} != 0)); then 107s # If there are completion choices to be shown, print a delimiter. 107s # Re-printing the command-line will automatically be done 107s # by the shell when it prints the completion choices. 107s printf -- "--" 107s else 107s # When there are no completion choices at all, we need 107s # to re-print the command-line since the shell will 107s # not be doing it itself. 107s __adsysctl_reprint_commandLine 107s fi 107s elif [ $COMP_TYPE -eq 37 ] || [ $COMP_TYPE -eq 42 ]; then 107s # For completion type: menu-complete/menu-complete-backward and insert-completions 107s # the completions are immediately inserted into the command-line, so we first 107s # print the activeHelp message and reprint the command-line since the shell won't. 107s printf "\n" 107s printf "%s\n" "${activeHelp[@]}" 107s 107s __adsysctl_reprint_commandLine 107s fi 107s fi 107s } 107s 107s __adsysctl_reprint_commandLine() { 107s # The prompt format is only available from bash 4.4. 107s # We test if it is available before using it. 107s if (x=${PS1@P}) 2> /dev/null; then 107s printf "%s" "${PS1@P}${COMP_LINE[@]}" 107s else 107s # Can't print the prompt. Just print the 107s # text the user had typed, it is workable enough. 107s printf "%s" "${COMP_LINE[@]}" 107s fi 107s } 107s 107s # Separate activeHelp lines from real completions. 107s # Fills the $activeHelp and $completions arrays. 107s __adsysctl_extract_activeHelp() { 107s local activeHelpMarker="_activeHelp_ " 107s local endIndex=${#activeHelpMarker} 107s 107s while IFS='' read -r comp; do 107s [[ -z $comp ]] && continue 107s 107s if [[ ${comp:0:endIndex} == $activeHelpMarker ]]; then 107s comp=${comp:endIndex} 107s __adsysctl_debug "ActiveHelp found: $comp" 107s if [[ -n $comp ]]; then 107s activeHelp+=("$comp") 107s fi 107s else 107s # Not an activeHelp line but a normal completion 107s completions+=("$comp") 107s fi 107s done <<<"${out}" 107s } 107s 107s __adsysctl_handle_completion_types() { 107s __adsysctl_debug "__adsysctl_handle_completion_types: COMP_TYPE is $COMP_TYPE" 107s 107s case $COMP_TYPE in 107s 37|42) 107s # Type: menu-complete/menu-complete-backward and insert-completions 107s # If the user requested inserting one completion at a time, or all 107s # completions at once on the command-line we must remove the descriptions. 107s # https://github.com/spf13/cobra/issues/1508 107s 107s # If there are no completions, we don't need to do anything 107s (( ${#completions[@]} == 0 )) && return 0 107s 107s local tab=$'\t' 107s 107s # Strip any description and escape the completion to handled special characters 107s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]%%$tab*}") 107s 107s # Only consider the completions that match 107s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 107s 107s # compgen looses the escaping so we need to escape all completions again since they will 107s # all be inserted on the command-line. 107s IFS=$'\n' read -ra COMPREPLY -d '' < <(printf "%q\n" "${COMPREPLY[@]}") 107s ;; 107s 107s *) 107s # Type: complete (normal completion) 107s __adsysctl_handle_standard_completion_case 107s ;; 107s esac 107s } 107s 107s __adsysctl_handle_standard_completion_case() { 107s local tab=$'\t' 107s 107s # If there are no completions, we don't need to do anything 107s (( ${#completions[@]} == 0 )) && return 0 107s 107s # Short circuit to optimize if we don't have descriptions 107s if [[ "${completions[*]}" != *$tab* ]]; then 107s # First, escape the completions to handle special characters 107s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]}") 107s # Only consider the completions that match what the user typed 107s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 107s 107s # compgen looses the escaping so, if there is only a single completion, we need to 107s # escape it again because it will be inserted on the command-line. If there are multiple 107s # completions, we don't want to escape them because they will be printed in a list 107s # and we don't want to show escape characters in that list. 107s if (( ${#COMPREPLY[@]} == 1 )); then 107s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]}") 107s fi 107s return 0 107s fi 107s 107s local longest=0 107s local compline 107s # Look for the longest completion so that we can format things nicely 107s while IFS='' read -r compline; do 107s [[ -z $compline ]] && continue 107s 107s # Before checking if the completion matches what the user typed, 107s # we need to strip any description and escape the completion to handle special 107s # characters because those escape characters are part of what the user typed. 107s # Don't call "printf" in a sub-shell because it will be much slower 107s # since we are in a loop. 107s printf -v comp "%q" "${compline%%$tab*}" &>/dev/null || comp=$(printf "%q" "${compline%%$tab*}") 107s 107s # Only consider the completions that match 107s [[ $comp == "$cur"* ]] || continue 107s 107s # The completions matches. Add it to the list of full completions including 107s # its description. We don't escape the completion because it may get printed 107s # in a list if there are more than one and we don't want show escape characters 107s # in that list. 107s COMPREPLY+=("$compline") 107s 107s # Strip any description before checking the length, and again, don't escape 107s # the completion because this length is only used when printing the completions 107s # in a list and we don't want show escape characters in that list. 107s comp=${compline%%$tab*} 107s if ((${#comp}>longest)); then 107s longest=${#comp} 107s fi 107s done < <(printf "%s\n" "${completions[@]}") 107s 107s # If there is a single completion left, remove the description text and escape any special characters 107s if ((${#COMPREPLY[*]} == 1)); then 107s __adsysctl_debug "COMPREPLY[0]: ${COMPREPLY[0]}" 107s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]%%$tab*}") 107s __adsysctl_debug "Removed description from single completion, which is now: ${COMPREPLY[0]}" 107s else 107s # Format the descriptions 107s __adsysctl_format_comp_descriptions $longest 107s fi 107s } 107s 107s __adsysctl_handle_special_char() 107s { 107s local comp="$1" 107s local char=$2 107s if [[ "$comp" == *${char}* && "$COMP_WORDBREAKS" == *${char}* ]]; then 107s local word=${comp%"${comp##*${char}}"} 107s local idx=${#COMPREPLY[*]} 107s while ((--idx >= 0)); do 107s COMPREPLY[idx]=${COMPREPLY[idx]#"$word"} 107s done 107s fi 107s } 107s 107s __adsysctl_format_comp_descriptions() 107s { 107s local tab=$'\t' 107s local comp desc maxdesclength 107s local longest=$1 107s 107s local i ci 107s for ci in ${!COMPREPLY[*]}; do 107s comp=${COMPREPLY[ci]} 107s # Properly format the description string which follows a tab character if there is one 107s if [[ "$comp" == *$tab* ]]; then 107s __adsysctl_debug "Original comp: $comp" 107s desc=${comp#*$tab} 107s comp=${comp%%$tab*} 107s 107s # $COLUMNS stores the current shell width. 107s # Remove an extra 4 because we add 2 spaces and 2 parentheses. 107s maxdesclength=$(( COLUMNS - longest - 4 )) 107s 107s # Make sure we can fit a description of at least 8 characters 107s # if we are to align the descriptions. 107s if ((maxdesclength > 8)); then 107s # Add the proper number of spaces to align the descriptions 107s for ((i = ${#comp} ; i < longest ; i++)); do 107s comp+=" " 107s done 107s else 107s # Don't pad the descriptions so we can fit more text after the completion 107s maxdesclength=$(( COLUMNS - ${#comp} - 4 )) 107s fi 107s 107s # If there is enough space for any description text, 107s # truncate the descriptions that are too long for the shell width 107s if ((maxdesclength > 0)); then 107s if ((${#desc} > maxdesclength)); then 107s desc=${desc:0:$(( maxdesclength - 1 ))} 107s desc+="…" 107s fi 107s comp+=" ($desc)" 107s fi 107s COMPREPLY[ci]=$comp 107s __adsysctl_debug "Final comp: $comp" 107s fi 107s done 107s } 107s 107s __start_adsysctl() 107s { 107s local cur prev words cword split 107s 107s COMPREPLY=() 107s 107s # Call _init_completion from the bash-completion package 107s # to prepare the arguments properly 107s if declare -F _init_completion >/dev/null 2>&1; then 107s _init_completion -n =: || return 107s else 107s __adsysctl_init_completion -n =: || return 107s fi 107s 107s __adsysctl_debug 107s __adsysctl_debug "========= starting completion logic ==========" 107s __adsysctl_debug "cur is ${cur}, words[*] is ${words[*]}, #words[@] is ${#words[@]}, cword is $cword" 107s 107s # The user could have moved the cursor backwards on the command-line. 107s # We need to trigger completion from the $cword location, so we need 107s # to truncate the command-line ($words) up to the $cword location. 107s words=("${words[@]:0:$cword+1}") 107s __adsysctl_debug "Truncated words[*]: ${words[*]}," 107s 107s local out directive 107s __adsysctl_get_completion_results 107s __adsysctl_process_completion_results 107s } 107s 107s if [[ $(type -t compopt) = "builtin" ]]; then 107s complete -o default -F __start_adsysctl adsysctl 107s else 107s complete -o default -o nospace -F __start_adsysctl adsysctl 107s fi 107s 107s # ex: ts=4 sw=4 et filetype=sh 107s --- PASS: TestAppCanQuitAfterExecute (0.00s) 107s === CONT TestAppCanSigHupAfterExecute 107s --- PASS: TestAppGetRootCmd (0.00s) 107s === CONT TestAppCanSigHupWhenExecute 107s --- PASS: TestAppCanSigHupWhenExecute (0.00s) 107s === CONT TestAppCanQuitWithoutExecute 107s --- PASS: TestAppCanQuitWithoutExecute (0.00s) 107s === CONT TestAppNoUsageError 107s # bash completion V2 for adsysctl -*- shell-script -*- 107s 107s __adsysctl_debug() 107s { 107s if [[ -n ${BASH_COMP_DEBUG_FILE-} ]]; then 107s echo "$*" >> "${BASH_COMP_DEBUG_FILE}" 107s fi 107s } 107s 107s # Macs have bash3 for which the bash-completion package doesn't include 107s # _init_completion. This is a minimal version of that function. 107s __adsysctl_init_completion() 107s { 107s COMPREPLY=() 107s _get_comp_words_by_ref "$@" cur prev words cword 107s } 107s 107s # This function calls the adsysctl program to obtain the completion 107s # results and the directive. It fills the 'out' and 'directive' vars. 107s __adsysctl_get_completion_results() { 107s local requestComp lastParam lastChar args 107s 107s # Prepare the command to request completions for the program. 107s # Calling ${words[0]} instead of directly adsysctl allows handling aliases 107s args=("${words[@]:1}") 107s requestComp="${words[0]} __complete ${args[*]}" 107s 107s lastParam=${words[$((${#words[@]}-1))]} 107s lastChar=${lastParam:$((${#lastParam}-1)):1} 107s __adsysctl_debug "lastParam ${lastParam}, lastChar ${lastChar}" 107s 107s if [[ -z ${cur} && ${lastChar} != = ]]; then 107s # If the last parameter is complete (there is a space following it) 107s # We add an extra empty parameter so we can indicate this to the go method. 107s __adsysctl_debug "Adding extra empty parameter" 107s requestComp="${requestComp} ''" 107s fi 107s 107s # When completing a flag with an = (e.g., adsysctl -n=) 107s # bash focuses on the part after the =, so we need to remove 107s # the flag part from $cur 107s if [[ ${cur} == -*=* ]]; then 107s cur="${cur#*=}" 107s fi 107s 107s __adsysctl_debug "Calling ${requestComp}" 107s # Use eval to handle any environment variables and such 107s out=$(eval "${requestComp}" 2>/dev/null) 107s 107s # Extract the directive integer at the very end of the output following a colon (:) 107s directive=${out##*:} 107s # Remove the directive 107s out=${out%:*} 107s if [[ ${directive} == "${out}" ]]; then 107s # There is not directive specified 107s directive=0 107s fi 107s __adsysctl_debug "The completion directive is: ${directive}" 107s __adsysctl_debug "The completions are: ${out}" 107s } 107s 107s __adsysctl_process_completion_results() { 107s local shellCompDirectiveError=1 107s local shellCompDirectiveNoSpace=2 107s local shellCompDirectiveNoFileComp=4 107s local shellCompDirectiveFilterFileExt=8 107s local shellCompDirectiveFilterDirs=16 107s local shellCompDirectiveKeepOrder=32 107s 107s if (((directive & shellCompDirectiveError) != 0)); then 107s # Error code. No completion. 107s __adsysctl_debug "Received error from custom completion go code" 107s return 107s else 107s if (((directive & shellCompDirectiveNoSpace) != 0)); then 107s if [[ $(type -t compopt) == builtin ]]; then 107s __adsysctl_debug "Activating no space" 107s compopt -o nospace 107s else 107s __adsysctl_debug "No space directive not supported in this version of bash" 107s fi 107s fi 107s if (((directive & shellCompDirectiveKeepOrder) != 0)); then 107s if [[ $(type -t compopt) == builtin ]]; then 107s # no sort isn't supported for bash less than < 4.4 107s if [[ ${BASH_VERSINFO[0]} -lt 4 || ( ${BASH_VERSINFO[0]} -eq 4 && ${BASH_VERSINFO[1]} -lt 4 ) ]]; then 107s __adsysctl_debug "No sort directive not supported in this version of bash" 107s else 107s __adsysctl_debug "Activating keep order" 107s compopt -o nosort 107s fi 107s else 107s __adsysctl_debug "No sort directive not supported in this version of bash" 107s fi 107s fi 107s if (((directive & shellCompDirectiveNoFileComp) != 0)); then 107s if [[ $(type -t compopt) == builtin ]]; then 107s __adsysctl_debug "Activating no file completion" 107s compopt +o default 107s else 107s __adsysctl_debug "No file completion directive not supported in this version of bash" 107s fi 107s fi 107s fi 107s 107s # Separate activeHelp from normal completions 107s local completions=() 107s local activeHelp=() 107s __adsysctl_extract_activeHelp 107s 107s if (((directive & shellCompDirectiveFilterFileExt) != 0)); then 107s # File extension filtering 107s local fullFilter="" filter filteringCmd 107s 107s # Do not use quotes around the $completions variable or else newline 107s # characters will be kept. 107s for filter in ${completions[*]}; do 107s fullFilter+="$filter|" 107s done 107s 107s filteringCmd="_filedir $fullFilter" 107s __adsysctl_debug "File filtering command: $filteringCmd" 107s $filteringCmd 107s elif (((directive & shellCompDirectiveFilterDirs) != 0)); then 107s # File completion for directories only 107s 107s local subdir 107s subdir=${completions[0]} 107s if [[ -n $subdir ]]; then 107s __adsysctl_debug "Listing directories in $subdir" 107s pushd "$subdir" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 || return 107s else 107s __adsysctl_debug "Listing directories in ." 107s _filedir -d 107s fi 107s else 107s __adsysctl_handle_completion_types 107s fi 107s 107s __adsysctl_handle_special_char "$cur" : 107s __adsysctl_handle_special_char "$cur" = 107s 107s # Print the activeHelp statements before we finish 107s __adsysctl_handle_activeHelp 107s } 107s 107s __adsysctl_handle_activeHelp() { 107s # Print the activeHelp statements 107s if ((${#activeHelp[*]} != 0)); then 107s if [ -z $COMP_TYPE ]; then 107s # Bash v3 does not set the COMP_TYPE variable. 107s printf "\n"; 107s printf "%s\n" "${activeHelp[@]}" 107s printf "\n" 107s __adsysctl_reprint_commandLine 107s return 107s fi 107s 107s # Only print ActiveHelp on the second TAB press 107s if [ $COMP_TYPE -eq 63 ]; then 107s printf "\n" 107s printf "%s\n" "${activeHelp[@]}" 107s 107s if ((${#COMPREPLY[*]} == 0)); then 107s # When there are no completion choices from the program, file completion 107s # may kick in if the program has not disabled it; in such a case, we want 107s # to know if any files will match what the user typed, so that we know if 107s # there will be completions presented, so that we know how to handle ActiveHelp. 107s # To find out, we actually trigger the file completion ourselves; 107s # the call to _filedir will fill COMPREPLY if files match. 107s if (((directive & shellCompDirectiveNoFileComp) == 0)); then 107s __adsysctl_debug "Listing files" 107s _filedir 107s fi 107s fi 107s 107s if ((${#COMPREPLY[*]} != 0)); then 107s # If there are completion choices to be shown, print a delimiter. 107s # Re-printing the command-line will automatically be done 107s # by the shell when it prints the completion choices. 107s printf -- "--" 107s else 107s # When there are no completion choices at all, we need 107s # to re-print the command-line since the shell will 107s # not be doing it itself. 107s __adsysctl_reprint_commandLine 107s fi 107s elif [ $COMP_TYPE -eq 37 ] || [ $COMP_TYPE -eq 42 ]; then 107s # For completion type: menu-complete/menu-complete-backward and insert-completions 107s # the completions are immediately inserted into the command-line, so we first 107s # print the activeHelp message and reprint the command-line since the shell won't. 107s printf "\n" 107s printf "%s\n" "${activeHelp[@]}" 107s 107s __adsysctl_reprint_commandLine 107s fi 107s fi 107s } 107s 107s __adsysctl_reprint_commandLine() { 107s # The prompt format is only available from bash 4.4. 107s # We test if it is available before using it. 107s if (x=${PS1@P}) 2> /dev/null; then 107s printf "%s" "${PS1@P}${COMP_LINE[@]}" 107s else 107s # Can't print the prompt. Just print the 107s # text the user had typed, it is workable enough. 107s printf "%s" "${COMP_LINE[@]}" 107s fi 107s } 107s 107s # Separate activeHelp lines from real completions. 107s # Fills the $activeHelp and $completions arrays. 107s __adsysctl_extract_activeHelp() { 107s local activeHelpMarker="_activeHelp_ " 107s local endIndex=${#activeHelpMarker} 107s 107s while IFS='' read -r comp; do 107s [[ -z $comp ]] && continue 107s 107s if [[ ${comp:0:endIndex} == $activeHelpMarker ]]; then 107s comp=${comp:endIndex} 107s __adsysctl_debug "ActiveHelp found: $comp" 107s if [[ -n $comp ]]; then 107s activeHelp+=("$comp") 107s fi 107s else 107s # Not an activeHelp line but a normal completion 107s completions+=("$comp") 107s fi 107s done <<<"${out}" 107s } 107s 107s __adsysctl_handle_completion_types() { 107s __adsysctl_debug "__adsysctl_handle_completion_types: COMP_TYPE is $COMP_TYPE" 107s 107s case $COMP_TYPE in 107s 37|42) 107s # Type: menu-complete/menu-complete-backward and insert-completions 107s # If the user requested inserting one completion at a time, or all 107s # completions at once on the command-line we must remove the descriptions. 107s # https://github.com/spf13/cobra/issues/1508 107s 107s # If there are no completions, we don't need to do anything 107s (( ${#completions[@]} == 0 )) && return 0 107s 107s local tab=$'\t' 107s 107s # Strip any description and escape the completion to handled special characters 107s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]%%$tab*}") 107s 107s # Only consider the completions that match 107s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 107s 107s # compgen looses the escaping so we need to escape all completions again since they will 107s # all be inserted on the command-line. 107s IFS=$'\n' read -ra COMPREPLY -d '' < <(printf "%q\n" "${COMPREPLY[@]}") 107s ;; 107s 107s *) 107s # Type: complete (normal completion) 107s __adsysctl_handle_standard_completion_case 107s ;; 107s esac 107s } 107s 107s __adsysctl_handle_standard_completion_case() { 107s local tab=$'\t' 107s 107s # If there are no completions, we don't need to do anything 107s (( ${#completions[@]} == 0 )) && return 0 107s 107s # Short circuit to optimize if we don't have descriptions 107s if [[ "${completions[*]}" != *$tab* ]]; then 107s # First, escape the completions to handle special characters 107s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]}") 107s # Only consider the completions that match what the user typed 107s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 107s 107s # compgen looses the escaping so, if there is only a single completion, we need to 107s # escape it again because it will be inserted on the command-line. If there are multiple 107s # completions, we don't want to escape them because they will be printed in a list 107s # and we don't want to show escape characters in that list. 107s if (( ${#COMPREPLY[@]} == 1 )); then 107s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]}") 107s fi 107s return 0 107s fi 107s 107s local longest=0 107s local compline 107s # Look for the longest completion so that we can format things nicely 107s while IFS='' read -r compline; do 107s [[ -z $compline ]] && continue 107s 107s # Before checking if the completion matches what the user typed, 107s # we need to strip any description and escape the completion to handle special 107s # characters because those escape characters are part of what the user typed. 107s # Don't call "printf" in a sub-shell because it will be much slower 107s # since we are in a loop. 107s printf -v comp "%q" "${compline%%$tab*}" &>/dev/null || comp=$(printf "%q" "${compline%%$tab*}") 107s 107s # Only consider the completions that match 107s [[ $comp == "$cur"* ]] || continue 107s 107s # The completions matches. Add it to the list of full completions including 107s # its description. We don't escape the completion because it may get printed 107s # in a list if there are more than one and we don't want show escape characters 107s # in that list. 107s COMPREPLY+=("$compline") 107s 107s # Strip any description before checking the length, and again, don't escape 107s # the completion because this length is only used when printing the completions 107s # in a list and we don't want show escape characters in that list. 107s comp=${compline%%$tab*} 107s if ((${#comp}>longest)); then 107s longest=${#comp} 107s fi 107s done < <(printf "%s\n" "${completions[@]}") 107s 107s # If there is a single completion left, remove the description text and escape any special characters 107s if ((${#COMPREPLY[*]} == 1)); then 107s __adsysctl_debug "COMPREPLY[0]: ${COMPREPLY[0]}" 107s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]%%$tab*}") 107s __adsysctl_debug "Removed description from single completion, which is now: ${COMPREPLY[0]}" 107s else 107s # Format the descriptions 107s __adsysctl_format_comp_descriptions $longest 107s fi 107s } 107s 107s __adsysctl_handle_special_char() 107s { 107s local comp="$1" 107s local char=$2 107s if [[ "$comp" == *${char}* && "$COMP_WORDBREAKS" == *${char}* ]]; then 107s local word=${comp%"${comp##*${char}}"} 107s local idx=${#COMPREPLY[*]} 107s while ((--idx >= 0)); do 107s COMPREPLY[idx]=${COMPREPLY[idx]#"$word"} 107s done 107s fi 107s } 107s 107s __adsysctl_format_comp_descriptions() 107s { 107s local tab=$'\t' 107s local comp desc maxdesclength 107s local longest=$1 107s 107s local i ci 107s for ci in ${!COMPREPLY[*]}; do 107s comp=${COMPREPLY[ci]} 107s # Properly format the description string which follows a tab character if there is one 107s if [[ "$comp" == *$tab* ]]; then 107s __adsysctl_debug "Original comp: $comp" 107s desc=${comp#*$tab} 107s comp=${comp%%$tab*} 107s 107s # $COLUMNS stores the current shell width. 107s # Remove an extra 4 because we add 2 spaces and 2 parentheses. 107s maxdesclength=$(( COLUMNS - longest - 4 )) 107s 107s # Make sure we can fit a description of at least 8 characters 107s # if we are to align the descriptions. 107s if ((maxdesclength > 8)); then 107s # Add the proper number of spaces to align the descriptions 107s for ((i = ${#comp} ; i < longest ; i++)); do 107s comp+=" " 107s done 107s else 107s # Don't pad the descriptions so we can fit more text after the completion 107s maxdesclength=$(( COLUMNS - ${#comp} - 4 )) 107s fi 107s 107s # If there is enough space for any description text, 107s # truncate the descriptions that are too long for the shell width 107s if ((maxdesclength > 0)); then 107s if ((${#desc} > maxdesclength)); then 107s desc=${desc:0:$(( maxdesclength - 1 ))} 107s desc+="…" 107s fi 107s comp+=" ($desc)" 107s fi 107s COMPREPLY[ci]=$comp 107s __adsysctl_debug "Final comp: $comp" 107s fi 107s done 107s } 107s 107s __start_adsysctl() 107s { 107s local cur prev words cword split 107s 107s COMPREPLY=() 107s 107s # Call _init_completion from the bash-completion package 107s # to prepare the arguments properly 107s if declare -F _init_completion >/dev/null 2>&1; then 107s _init_completion -n =: || return 107s else 107s __adsysctl_init_completion -n =: || return 107s fi 107s 107s __adsysctl_debug 107s __adsysctl_debug "========= starting completion logic ==========" 107s __adsysctl_debug "cur is ${cur}, words[*] is ${words[*]}, #words[@] is ${#words[@]}, cword is $cword" 107s 107s # The user could have moved the cursor backwards on the command-line. 107s # We need to trigger completion from the $cword location, so we need 107s # to truncate the command-line ($words) up to the $cword location. 107s words=("${words[@]:0:$cword+1}") 107s __adsysctl_debug "Truncated words[*]: ${words[*]}," 107s 107s local out directive 107s __adsysctl_get_completion_results 107s __adsysctl_process_completion_results 107s } 107s 107s if [[ $(type -t compopt) = "builtin" ]]; then 107s complete -o default -F __start_adsysctl adsysctl 107s else 107s complete -o default -o nospace -F __start_adsysctl adsysctl 107s fi 107s 107s # ex: ts=4 sw=4 et filetype=sh 107s --- PASS: TestAppCanSigHupAfterExecute (0.00s) 107s === CONT TestAppCanQuitWhenExecute 107s --- PASS: TestAppCanQuitWhenExecute (0.00s) 107s === CONT TestAppUsageError 107s Usage: 107s adsysctl COMMAND [flags] 107s adsysctl [command] 107s 107s Available Commands: 107s applied Print last applied GPOs for current or given user/machine 107s completion Generate the autocompletion script for the specified shell 107s doc Documentation 107s help Help about any command 107s policy Policy management 107s service Service management 107s update Updates/Create a policy for current user or given user with its kerberos ticket 107s version Returns version of client and service 107s 107s Flags: 107s -c, --config string use a specific configuration file 107s -h, --help help for adsysctl 107s -s, --socket string socket path to use between daemon and client. Can be overridden by systemd socket activation. (default "/run/adsysd.sock") 107s -t, --timeout int time in seconds before cancelling the client request when the server gives no result. 0 for no timeout. (default 30) 107s -v, --verbose count issue INFO (-v), DEBUG (-vv) or DEBUG with caller (-vvv) output 107s 107s Use "adsysctl [command] --help" for more information about a command. 107s 107s --- PASS: TestAppUsageError (0.00s) 107s === CONT TestAppCompletion 107s # bash completion V2 for adsysctl -*- shell-script -*- 107s 107s __adsysctl_debug() 107s { 107s if [[ -n ${BASH_COMP_DEBUG_FILE-} ]]; then 107s echo "$*" >> "${BASH_COMP_DEBUG_FILE}" 107s fi 107s } 107s 107s # Macs have bash3 for which the bash-completion package doesn't include 107s # _init_completion. This is a minimal version of that function. 107s __adsysctl_init_completion() 107s { 107s COMPREPLY=() 107s _get_comp_words_by_ref "$@" cur prev words cword 107s } 107s 107s # This function calls the adsysctl program to obtain the completion 107s # results and the directive. It fills the 'out' and 'directive' vars. 107s __adsysctl_get_completion_results() { 107s local requestComp lastParam lastChar args 107s 107s # Prepare the command to request completions for the program. 107s # Calling ${words[0]} instead of directly adsysctl allows handling aliases 107s args=("${words[@]:1}") 107s requestComp="${words[0]} __complete ${args[*]}" 107s 107s lastParam=${words[$((${#words[@]}-1))]} 107s lastChar=${lastParam:$((${#lastParam}-1)):1} 107s __adsysctl_debug "lastParam ${lastParam}, lastChar ${lastChar}" 107s 107s if [[ -z ${cur} && ${lastChar} != = ]]; then 107s # If the last parameter is complete (there is a space following it) 107s # We add an extra empty parameter so we can indicate this to the go method. 107s __adsysctl_debug "Adding extra empty parameter" 107s requestComp="${requestComp} ''" 107s fi 107s 107s # When completing a flag with an = (e.g., adsysctl -n=) 107s # bash focuses on the part after the =, so we need to remove 107s # the flag part from $cur 107s if [[ ${cur} == -*=* ]]; then 107s cur="${cur#*=}" 107s fi 107s 107s __adsysctl_debug "Calling ${requestComp}" 107s # Use eval to handle any environment variables and such 107s out=$(eval "${requestComp}" 2>/dev/null) 107s 107s # Extract the directive integer at the very end of the output following a colon (:) 107s directive=${out##*:} 107s # Remove the directive 107s out=${out%:*} 107s if [[ ${directive} == "${out}" ]]; then 107s # There is not directive specified 107s directive=0 107s fi 107s __adsysctl_debug "The completion directive is: ${directive}" 107s __adsysctl_debug "The completions are: ${out}" 107s } 107s 107s __adsysctl_process_completion_results() { 107s local shellCompDirectiveError=1 107s local shellCompDirectiveNoSpace=2 107s local shellCompDirectiveNoFileComp=4 107s local shellCompDirectiveFilterFileExt=8 107s local shellCompDirectiveFilterDirs=16 107s local shellCompDirectiveKeepOrder=32 107s 107s if (((directive & shellCompDirectiveError) != 0)); then 107s # Error code. No completion. 107s __adsysctl_debug "Received error from custom completion go code" 107s return 107s else 107s if (((directive & shellCompDirectiveNoSpace) != 0)); then 107s if [[ $(type -t compopt) == builtin ]]; then 107s __adsysctl_debug "Activating no space" 107s compopt -o nospace 107s else 107s __adsysctl_debug "No space directive not supported in this version of bash" 107s fi 107s fi 107s if (((directive & shellCompDirectiveKeepOrder) != 0)); then 107s if [[ $(type -t compopt) == builtin ]]; then 107s # no sort isn't supported for bash less than < 4.4 107s if [[ ${BASH_VERSINFO[0]} -lt 4 || ( ${BASH_VERSINFO[0]} -eq 4 && ${BASH_VERSINFO[1]} -lt 4 ) ]]; then 107s __adsysctl_debug "No sort directive not supported in this version of bash" 107s else 107s __adsysctl_debug "Activating keep order" 107s compopt -o nosort 107s fi 107s else 107s __adsysctl_debug "No sort directive not supported in this version of bash" 107s fi 107s fi 107s if (((directive & shellCompDirectiveNoFileComp) != 0)); then 107s if [[ $(type -t compopt) == builtin ]]; then 107s __adsysctl_debug "Activating no file completion" 107s compopt +o default 107s else 107s __adsysctl_debug "No file completion directive not supported in this version of bash" 107s fi 107s fi 107s fi 107s 107s # Separate activeHelp from normal completions 107s local completions=() 107s local activeHelp=() 107s __adsysctl_extract_activeHelp 107s 107s if (((directive & shellCompDirectiveFilterFileExt) != 0)); then 107s # File extension filtering 107s local fullFilter="" filter filteringCmd 107s 107s # Do not use quotes around the $completions variable or else newline 107s # characters will be kept. 107s for filter in ${completions[*]}; do 107s fullFilter+="$filter|" 107s done 107s 107s filteringCmd="_filedir $fullFilter" 107s __adsysctl_debug "File filtering command: $filteringCmd" 107s $filteringCmd 107s elif (((directive & shellCompDirectiveFilterDirs) != 0)); then 107s # File completion for directories only 107s 107s local subdir 107s subdir=${completions[0]} 107s if [[ -n $subdir ]]; then 107s __adsysctl_debug "Listing directories in $subdir" 107s pushd "$subdir" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 || return 107s else 107s __adsysctl_debug "Listing directories in ." 107s _filedir -d 107s fi 107s else 107s __adsysctl_handle_completion_types 107s fi 107s 107s __adsysctl_handle_special_char "$cur" : 107s __adsysctl_handle_special_char "$cur" = 107s 107s # Print the activeHelp statements before we finish 107s __adsysctl_handle_activeHelp 107s } 107s 107s __adsysctl_handle_activeHelp() { 107s # Print the activeHelp statements 107s if ((${#activeHelp[*]} != 0)); then 107s if [ -z $COMP_TYPE ]; then 107s # Bash v3 does not set the COMP_TYPE variable. 107s printf "\n"; 107s printf "%s\n" "${activeHelp[@]}" 107s printf "\n" 107s __adsysctl_reprint_commandLine 107s return 107s fi 107s 107s # Only print ActiveHelp on the second TAB press 107s if [ $COMP_TYPE -eq 63 ]; then 107s printf "\n" 107s printf "%s\n" "${activeHelp[@]}" 107s 107s if ((${#COMPREPLY[*]} == 0)); then 107s # When there are no completion choices from the program, file completion 107s # may kick in if the program has not disabled it; in such a case, we want 107s # to know if any files will match what the user typed, so that we know if 107s # there will be completions presented, so that we know how to handle ActiveHelp. 107s # To find out, we actually trigger the file completion ourselves; 107s # the call to _filedir will fill COMPREPLY if files match. 107s if (((directive & shellCompDirectiveNoFileComp) == 0)); then 107s __adsysctl_debug "Listing files" 107s _filedir 107s fi 107s fi 107s 107s if ((${#COMPREPLY[*]} != 0)); then 107s # If there are completion choices to be shown, print a delimiter. 107s # Re-printing the command-line will automatically be done 107s # by the shell when it prints the completion choices. 107s printf -- "--" 107s else 107s # When there are no completion choices at all, we need 107s # to re-print the command-line since the shell will 107s # not be doing it itself. 107s __adsysctl_reprint_commandLine 107s fi 107s elif [ $COMP_TYPE -eq 37 ] || [ $COMP_TYPE -eq 42 ]; then 107s # For completion type: menu-complete/menu-complete-backward and insert-completions 107s # the completions are immediately inserted into the command-line, so we first 107s # print the activeHelp message and reprint the command-line since the shell won't. 107s printf "\n" 107s printf "%s\n" "${activeHelp[@]}" 107s 107s __adsysctl_reprint_commandLine 107s fi 107s fi 107s } 107s 107s __adsysctl_reprint_commandLine() { 107s # The prompt format is only available from bash 4.4. 107s # We test if it is available before using it. 107s if (x=${PS1@P}) 2> /dev/null; then 107s printf "%s" "${PS1@P}${COMP_LINE[@]}" 107s else 107s # Can't print the prompt. Just print the 107s # text the user had typed, it is workable enough. 107s printf "%s" "${COMP_LINE[@]}" 107s fi 107s } 107s 107s # Separate activeHelp lines from real completions. 107s # Fills the $activeHelp and $completions arrays. 107s __adsysctl_extract_activeHelp() { 107s local activeHelpMarker="_activeHelp_ " 107s local endIndex=${#activeHelpMarker} 107s 107s while IFS='' read -r comp; do 107s [[ -z $comp ]] && continue 107s 107s if [[ ${comp:0:endIndex} == $activeHelpMarker ]]; then 107s comp=${comp:endIndex} 107s __adsysctl_debug "ActiveHelp found: $comp" 107s if [[ -n $comp ]]; then 107s activeHelp+=("$comp") 107s fi 107s else 107s # Not an activeHelp line but a normal completion 107s completions+=("$comp") 107s fi 107s done <<<"${out}" 107s } 107s 107s __adsysctl_handle_completion_types() { 107s __adsysctl_debug "__adsysctl_handle_completion_types: COMP_TYPE is $COMP_TYPE" 107s 107s case $COMP_TYPE in 107s 37|42) 107s # Type: menu-complete/menu-complete-backward and insert-completions 107s # If the user requested inserting one completion at a time, or all 107s # completions at once on the command-line we must remove the descriptions. 107s # https://github.com/spf13/cobra/issues/1508 107s 107s # If there are no completions, we don't need to do anything 107s (( ${#completions[@]} == 0 )) && return 0 107s 107s local tab=$'\t' 107s 107s # Strip any description and escape the completion to handled special characters 107s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]%%$tab*}") 107s 107s # Only consider the completions that match 107s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 107s 107s # compgen looses the escaping so we need to escape all completions again since they will 107s # all be inserted on the command-line. 107s IFS=$'\n' read -ra COMPREPLY -d '' < <(printf "%q\n" "${COMPREPLY[@]}") 107s ;; 107s 107s *) 107s # Type: complete (normal completion) 107s __adsysctl_handle_standard_completion_case 107s ;; 107s esac 107s } 107s 107s __adsysctl_handle_standard_completion_case() { 107s local tab=$'\t' 107s 107s # If there are no completions, we don't need to do anything 107s (( ${#completions[@]} == 0 )) && return 0 107s 107s # Short circuit to optimize if we don't have descriptions 107s if [[ "${completions[*]}" != *$tab* ]]; then 107s # First, escape the completions to handle special characters 107s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]}") 107s # Only consider the completions that match what the user typed 107s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 107s 107s # compgen looses the escaping so, if there is only a single completion, we need to 107s # escape it again because it will be inserted on the command-line. If there are multiple 107s # completions, we don't want to escape them because they will be printed in a list 107s # and we don't want to show escape characters in that list. 107s if (( ${#COMPREPLY[@]} == 1 )); then 107s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]}") 107s fi 107s return 0 107s fi 107s 107s local longest=0 107s local compline 107s # Look for the longest completion so that we can format things nicely 107s while IFS='' read -r compline; do 107s [[ -z $compline ]] && continue 107s 107s # Before checking if the completion matches what the user typed, 107s # we need to strip any description and escape the completion to handle special 107s # characters because those escape characters are part of what the user typed. 107s # Don't call "printf" in a sub-shell because it will be much slower 107s # since we are in a loop. 107s printf -v comp "%q" "${compline%%$tab*}" &>/dev/null || comp=$(printf "%q" "${compline%%$tab*}") 107s 107s # Only consider the completions that match 107s [[ $comp == "$cur"* ]] || continue 107s 107s # The completions matches. Add it to the list of full completions including 107s # its description. We don't escape the completion because it may get printed 107s # in a list if there are more than one and we don't want show escape characters 107s # in that list. 107s COMPREPLY+=("$compline") 107s 107s # Strip any description before checking the length, and again, don't escape 107s # the completion because this length is only used when printing the completions 107s # in a list and we don't want show escape characters in that list. 107s comp=${compline%%$tab*} 107s if ((${#comp}>longest)); then 107s longest=${#comp} 107s fi 107s done < <(printf "%s\n" "${completions[@]}") 107s 107s # If there is a single completion left, remove the description text and escape any special characters 107s if ((${#COMPREPLY[*]} == 1)); then 107s __adsysctl_debug "COMPREPLY[0]: ${COMPREPLY[0]}" 107s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]%%$tab*}") 107s __adsysctl_debug "Removed description from single completion, which is now: ${COMPREPLY[0]}" 107s else 107s # Format the descriptions 107s __adsysctl_format_comp_descriptions $longest 107s fi 107s } 107s 107s __adsysctl_handle_special_char() 107s { 107s local comp="$1" 107s local char=$2 107s if [[ "$comp" == *${char}* && "$COMP_WORDBREAKS" == *${char}* ]]; then 107s local word=${comp%"${comp##*${char}}"} 107s local idx=${#COMPREPLY[*]} 107s while ((--idx >= 0)); do 107s COMPREPLY[idx]=${COMPREPLY[idx]#"$word"} 107s done 107s fi 107s } 107s 107s __adsysctl_format_comp_descriptions() 107s { 107s local tab=$'\t' 107s local comp desc maxdesclength 107s local longest=$1 107s 107s local i ci 107s for ci in ${!COMPREPLY[*]}; do 107s comp=${COMPREPLY[ci]} 107s # Properly format the description string which follows a tab character if there is one 107s if [[ "$comp" == *$tab* ]]; then 107s __adsysctl_debug "Original comp: $comp" 107s desc=${comp#*$tab} 107s comp=${comp%%$tab*} 107s 107s # $COLUMNS stores the current shell width. 107s # Remove an extra 4 because we add 2 spaces and 2 parentheses. 107s maxdesclength=$(( COLUMNS - longest - 4 )) 107s 107s # Make sure we can fit a description of at least 8 characters 107s # if we are to align the descriptions. 107s if ((maxdesclength > 8)); then 107s # Add the proper number of spaces to align the descriptions 107s for ((i = ${#comp} ; i < longest ; i++)); do 107s comp+=" " 107s done 107s else 107s # Don't pad the descriptions so we can fit more text after the completion 107s maxdesclength=$(( COLUMNS - ${#comp} - 4 )) 107s fi 107s 107s # If there is enough space for any description text, 107s # truncate the descriptions that are too long for the shell width 107s if ((maxdesclength > 0)); then 107s if ((${#desc} > maxdesclength)); then 107s desc=${desc:0:$(( maxdesclength - 1 ))} 107s desc+="…" 107s fi 107s comp+=" ($desc)" 107s fi 107s COMPREPLY[ci]=$comp 107s __adsysctl_debug "Final comp: $comp" 107s fi 107s done 107s } 107s 107s __start_adsysctl() 107s { 107s local cur prev words cword split 107s 107s COMPREPLY=() 107s 107s # Call _init_completion from the bash-completion package 107s # to prepare the arguments properly 107s if declare -F _init_completion >/dev/null 2>&1; then 107s _init_completion -n =: || return 107s else 107s __adsysctl_init_completion -n =: || return 107s fi 107s 107s __adsysctl_debug 107s __adsysctl_debug "========= starting completion logic ==========" 107s __adsysctl_debug "cur is ${cur}, words[*] is ${words[*]}, #words[@] is ${#words[@]}, cword is $cword" 107s 107s # The user could have moved the cursor backwards on the command-line. 107s # We need to trigger completion from the $cword location, so we need 107s # to truncate the command-line ($words) up to the $cword location. 107s words=("${words[@]:0:$cword+1}") 107s __adsysctl_debug "Truncated words[*]: ${words[*]}," 107s 107s local out directive 107s __adsysctl_get_completion_results 107s __adsysctl_process_completion_results 107s } 107s 107s if [[ $(type -t compopt) = "builtin" ]]; then 107s complete -o default -F __start_adsysctl adsysctl 107s else 107s complete -o default -o nospace -F __start_adsysctl adsysctl 107s fi 107s 107s # ex: ts=4 sw=4 et filetype=sh 107s --- PASS: TestAppCompletion (0.00s) 107s === CONT TestAppHelp 107s Active Directory integration bridging toolset command line tool. 107s 107s Usage: 107s adsysctl COMMAND [flags] 107s adsysctl [command] 107s 107s Available Commands: 107s applied Print last applied GPOs for current or given user/machine 107s completion Generate the autocompletion script for the specified shell 107s doc Documentation 107s help Help about any command 107s policy Policy management 107s service Service management 107s update Updates/Create a policy for current user or given user with its kerberos ticket 107s version Returns version of client and service 107s 107s Flags: 107s -c, --config string use a specific configuration file 107s -h, --help help for adsysctl 107s -s, --socket string socket path to use between daemon and client. Can be overridden by systemd socket activation. (default "/run/adsysd.sock") 107s -t, --timeout int time in seconds before cancelling the client request when the server gives no result. 0 for no timeout. (default 30) 107s -v, --verbose count issue INFO (-v), DEBUG (-vv) or DEBUG with caller (-vvv) output 107s 107s Use "adsysctl [command] --help" for more information about a command. 107s --- PASS: TestAppHelp (0.00s) 107s # bash completion V2 for adsysctl -*- shell-script -*- 107s 107s __adsysctl_debug() 107s { 107s if [[ -n ${BASH_COMP_DEBUG_FILE-} ]]; then 107s echo "$*" >> "${BASH_COMP_DEBUG_FILE}" 107s fi 107s } 107s 107s # Macs have bash3 for which the bash-completion package doesn't include 107s # _init_completion. This is a minimal version of that function. 107s __adsysctl_init_completion() 107s { 107s COMPREPLY=() 107s _get_comp_words_by_ref "$@" cur prev words cword 107s } 107s 107s # This function calls the adsysctl program to obtain the completion 107s # results and the directive. It fills the 'out' and 'directive' vars. 107s __adsysctl_get_completion_results() { 107s local requestComp lastParam lastChar args 107s 107s # Prepare the command to request completions for the program. 107s # Calling ${words[0]} instead of directly adsysctl allows handling aliases 107s args=("${words[@]:1}") 107s requestComp="${words[0]} __complete ${args[*]}" 107s 107s lastParam=${words[$((${#words[@]}-1))]} 107s lastChar=${lastParam:$((${#lastParam}-1)):1} 107s __adsysctl_debug "lastParam ${lastParam}, lastChar ${lastChar}" 107s 107s if [[ -z ${cur} && ${lastChar} != = ]]; then 107s # If the last parameter is complete (there is a space following it) 107s # We add an extra empty parameter so we can indicate this to the go method. 107s __adsysctl_debug "Adding extra empty parameter" 107s requestComp="${requestComp} ''" 107s fi 107s 107s # When completing a flag with an = (e.g., adsysctl -n=) 107s # bash focuses on the part after the =, so we need to remove 107s # the flag part from $cur 107s if [[ ${cur} == -*=* ]]; then 107s cur="${cur#*=}" 107s fi 107s 107s __adsysctl_debug "Calling ${requestComp}" 107s # Use eval to handle any environment variables and such 107s out=$(eval "${requestComp}" 2>/dev/null) 107s 107s # Extract the directive integer at the very end of the output following a colon (:) 107s directive=${out##*:} 107s # Remove the directive 107s out=${out%:*} 107s if [[ ${directive} == "${out}" ]]; then 107s # There is not directive specified 107s directive=0 107s fi 107s __adsysctl_debug "The completion directive is: ${directive}" 107s __adsysctl_debug "The completions are: ${out}" 107s } 107s 107s __adsysctl_process_completion_results() { 107s local shellCompDirectiveError=1 107s local shellCompDirectiveNoSpace=2 107s local shellCompDirectiveNoFileComp=4 107s local shellCompDirectiveFilterFileExt=8 107s local shellCompDirectiveFilterDirs=16 107s local shellCompDirectiveKeepOrder=32 107s 107s if (((directive & shellCompDirectiveError) != 0)); then 107s # Error code. No completion. 107s __adsysctl_debug "Received error from custom completion go code" 107s return 107s else 107s if (((directive & shellCompDirectiveNoSpace) != 0)); then 107s if [[ $(type -t compopt) == builtin ]]; then 107s __adsysctl_debug "Activating no space" 107s compopt -o nospace 107s else 107s __adsysctl_debug "No space directive not supported in this version of bash" 107s fi 107s fi 107s if (((directive & shellCompDirectiveKeepOrder) != 0)); then 107s if [[ $(type -t compopt) == builtin ]]; then 107s # no sort isn't supported for bash less than < 4.4 107s if [[ ${BASH_VERSINFO[0]} -lt 4 || ( ${BASH_VERSINFO[0]} -eq 4 && ${BASH_VERSINFO[1]} -lt 4 ) ]]; then 107s __adsysctl_debug "No sort directive not supported in this version of bash" 107s else 107s __adsysctl_debug "Activating keep order" 107s compopt -o nosort 107s fi 107s else 107s __adsysctl_debug "No sort directive not supported in this version of bash" 107s fi 107s fi 107s if (((directive & shellCompDirectiveNoFileComp) != 0)); then 107s if [[ $(type -t compopt) == builtin ]]; then 107s __adsysctl_debug "Activating no file completion" 107s compopt +o default 107s else 107s __adsysctl_debug "No file completion directive not supported in this version of bash" 107s fi 107s fi 107s fi 107s 107s # Separate activeHelp from normal completions 107s local completions=() 107s local activeHelp=() 107s __adsysctl_extract_activeHelp 107s 107s if (((directive & shellCompDirectiveFilterFileExt) != 0)); then 107s # File extension filtering 107s local fullFilter="" filter filteringCmd 107s 107s # Do not use quotes around the $completions variable or else newline 107s # characters will be kept. 107s for filter in ${completions[*]}; do 107s fullFilter+="$filter|" 107s done 107s 107s filteringCmd="_filedir $fullFilter" 107s __adsysctl_debug "File filtering command: $filteringCmd" 107s $filteringCmd 107s elif (((directive & shellCompDirectiveFilterDirs) != 0)); then 107s # File completion for directories only 107s 107s local subdir 107s subdir=${completions[0]} 107s if [[ -n $subdir ]]; then 107s __adsysctl_debug "Listing directories in $subdir" 107s pushd "$subdir" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 || return 107s else 107s __adsysctl_debug "Listing directories in ." 107s _filedir -d 107s fi 107s else 107s __adsysctl_handle_completion_types 107s fi 107s 107s __adsysctl_handle_special_char "$cur" : 107s __adsysctl_handle_special_char "$cur" = 107s 107s # Print the activeHelp statements before we finish 107s __adsysctl_handle_activeHelp 107s } 107s 107s __adsysctl_handle_activeHelp() { 107s # Print the activeHelp statements 107s if ((${#activeHelp[*]} != 0)); then 107s if [ -z $COMP_TYPE ]; then 107s # Bash v3 does not set the COMP_TYPE variable. 107s printf "\n"; 107s printf "%s\n" "${activeHelp[@]}" 107s printf "\n" 107s __adsysctl_reprint_commandLine 107s return 107s fi 107s 107s # Only print ActiveHelp on the second TAB press 107s if [ $COMP_TYPE -eq 63 ]; then 107s printf "\n" 107s printf "%s\n" "${activeHelp[@]}" 107s 107s if ((${#COMPREPLY[*]} == 0)); then 107s # When there are no completion choices from the program, file completion 107s # may kick in if the program has not disabled it; in such a case, we want 107s # to know if any files will match what the user typed, so that we know if 107s # there will be completions presented, so that we know how to handle ActiveHelp. 107s # To find out, we actually trigger the file completion ourselves; 107s # the call to _filedir will fill COMPREPLY if files match. 107s if (((directive & shellCompDirectiveNoFileComp) == 0)); then 107s __adsysctl_debug "Listing files" 107s _filedir 107s fi 107s fi 107s 107s if ((${#COMPREPLY[*]} != 0)); then 107s # If there are completion choices to be shown, print a delimiter. 107s # Re-printing the command-line will automatically be done 107s # by the shell when it prints the completion choices. 107s printf -- "--" 107s else 107s # When there are no completion choices at all, we need 107s # to re-print the command-line since the shell will 107s # not be doing it itself. 107s __adsysctl_reprint_commandLine 107s fi 107s elif [ $COMP_TYPE -eq 37 ] || [ $COMP_TYPE -eq 42 ]; then 107s # For completion type: menu-complete/menu-complete-backward and insert-completions 107s # the completions are immediately inserted into the command-line, so we first 107s # print the activeHelp message and reprint the command-line since the shell won't. 107s printf "\n" 107s printf "%s\n" "${activeHelp[@]}" 107s 107s __adsysctl_reprint_commandLine 107s fi 107s fi 107s } 107s 107s __adsysctl_reprint_commandLine() { 107s # The prompt format is only available from bash 4.4. 107s # We test if it is available before using it. 107s if (x=${PS1@P}) 2> /dev/null; then 107s printf "%s" "${PS1@P}${COMP_LINE[@]}" 107s else 107s # Can't print the prompt. Just print the 107s # text the user had typed, it is workable enough. 107s printf "%s" "${COMP_LINE[@]}" 107s fi 107s } 107s 107s # Separate activeHelp lines from real completions. 107s # Fills the $activeHelp and $completions arrays. 107s __adsysctl_extract_activeHelp() { 107s local activeHelpMarker="_activeHelp_ " 107s local endIndex=${#activeHelpMarker} 107s 107s while IFS='' read -r comp; do 107s [[ -z $comp ]] && continue 107s 107s if [[ ${comp:0:endIndex} == $activeHelpMarker ]]; then 107s comp=${comp:endIndex} 107s __adsysctl_debug "ActiveHelp found: $comp" 107s if [[ -n $comp ]]; then 107s activeHelp+=("$comp") 107s fi 107s else 107s # Not an activeHelp line but a normal completion 107s completions+=("$comp") 107s fi 107s done <<<"${out}" 107s } 107s 107s __adsysctl_handle_completion_types() { 107s __adsysctl_debug "__adsysctl_handle_completion_types: COMP_TYPE is $COMP_TYPE" 107s 107s case $COMP_TYPE in 107s 37|42) 107s # Type: menu-complete/menu-complete-backward and insert-completions 107s # If the user requested inserting one completion at a time, or all 107s # completions at once on the command-line we must remove the descriptions. 107s # https://github.com/spf13/cobra/issues/1508 107s 107s # If there are no completions, we don't need to do anything 107s (( ${#completions[@]} == 0 )) && return 0 107s 107s local tab=$'\t' 107s 107s # Strip any description and escape the completion to handled special characters 107s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]%%$tab*}") 107s 107s # Only consider the completions that match 107s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 107s 107s # compgen looses the escaping so we need to escape all completions again since they will 107s # all be inserted on the command-line. 107s IFS=$'\n' read -ra COMPREPLY -d '' < <(printf "%q\n" "${COMPREPLY[@]}") 107s ;; 107s 107s *) 107s # Type: complete (normal completion) 107s __adsysctl_handle_standard_completion_case 107s ;; 107s esac 107s } 107s 107s __adsysctl_handle_standard_completion_case() { 107s local tab=$'\t' 107s 107s # If there are no completions, we don't need to do anything 107s (( ${#completions[@]} == 0 )) && return 0 107s 107s # Short circuit to optimize if we don't have descriptions 107s if [[ "${completions[*]}" != *$tab* ]]; then 107s # First, escape the completions to handle special characters 107s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]}") 107s # Only consider the completions that match what the user typed 107s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 107s 107s # compgen looses the escaping so, if there is only a single completion, we need to 107s # escape it again because it will be inserted on the command-line. If there are multiple 107s # completions, we don't want to escape them because they will be printed in a list 107s # and we don't want to show escape characters in that list. 107s if (( ${#COMPREPLY[@]} == 1 )); then 107s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]}") 107s fi 107s return 0 107s fi 107s 107s local longest=0 107s local compline 107s # Look for the longest completion so that we can format things nicely 107s while IFS='' read -r compline; do 107s [[ -z $compline ]] && continue 107s 107s # Before checking if the completion matches what the user typed, 107s # we need to strip any description and escape the completion to handle special 107s # characters because those escape characters are part of what the user typed. 107s # Don't call "printf" in a sub-shell because it will be much slower 107s # since we are in a loop. 107s printf -v comp "%q" "${compline%%$tab*}" &>/dev/null || comp=$(printf "%q" "${compline%%$tab*}") 107s 107s # Only consider the completions that match 107s [[ $comp == "$cur"* ]] || continue 107s 107s # The completions matches. Add it to the list of full completions including 107s # its description. We don't escape the completion because it may get printed 107s # in a list if there are more than one and we don't want show escape characters 107s # in that list. 107s COMPREPLY+=("$compline") 107s 107s # Strip any description before checking the length, and again, don't escape 107s # the completion because this length is only used when printing the completions 107s # in a list and we don't want show escape characters in that list. 107s comp=${compline%%$tab*} 107s if ((${#comp}>longest)); then 107s longest=${#comp} 107s fi 107s done < <(printf "%s\n" "${completions[@]}") 107s 107s # If there is a single completion left, remove the description text and escape any special characters 107s if ((${#COMPREPLY[*]} == 1)); then 107s __adsysctl_debug "COMPREPLY[0]: ${COMPREPLY[0]}" 107s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]%%$tab*}") 107s __adsysctl_debug "Removed description from single completion, which is now: ${COMPREPLY[0]}" 107s else 107s # Format the descriptions 107s __adsysctl_format_comp_descriptions $longest 107s fi 107s } 107s 107s __adsysctl_handle_special_char() 107s { 107s local comp="$1" 107s local char=$2 107s if [[ "$comp" == *${char}* && "$COMP_WORDBREAKS" == *${char}* ]]; then 107s local word=${comp%"${comp##*${char}}"} 107s local idx=${#COMPREPLY[*]} 107s while ((--idx >= 0)); do 107s COMPREPLY[idx]=${COMPREPLY[idx]#"$word"} 107s done 107s fi 107s } 107s 107s __adsysctl_format_comp_descriptions() 107s { 107s local tab=$'\t' 107s local comp desc maxdesclength 107s local longest=$1 107s 107s local i ci 107s for ci in ${!COMPREPLY[*]}; do 107s comp=${COMPREPLY[ci]} 107s # Properly format the description string which follows a tab character if there is one 107s if [[ "$comp" == *$tab* ]]; then 107s __adsysctl_debug "Original comp: $comp" 107s desc=${comp#*$tab} 107s comp=${comp%%$tab*} 107s 107s # $COLUMNS stores the current shell width. 107s # Remove an extra 4 because we add 2 spaces and 2 parentheses. 107s maxdesclength=$(( COLUMNS - longest - 4 )) 107s 107s # Make sure we can fit a description of at least 8 characters 107s # if we are to align the descriptions. 107s if ((maxdesclength > 8)); then 107s # Add the proper number of spaces to align the descriptions 107s for ((i = ${#comp} ; i < longest ; i++)); do 107s comp+=" " 107s done 107s else 107s # Don't pad the descriptions so we can fit more text after the completion 107s maxdesclength=$(( COLUMNS - ${#comp} - 4 )) 107s fi 107s 107s # If there is enough space for any description text, 107s # truncate the descriptions that are too long for the shell width 107s if ((maxdesclength > 0)); then 107s if ((${#desc} > maxdesclength)); then 107s desc=${desc:0:$(( maxdesclength - 1 ))} 107s desc+="…" 107s fi 107s comp+=" ($desc)" 107s fi 107s COMPREPLY[ci]=$comp 107s __adsysctl_debug "Final comp: $comp" 107s fi 107s done 107s } 107s 107s __start_adsysctl() 107s { 107s local cur prev words cword split 107s 107s COMPREPLY=() 107s 107s # Call _init_completion from the bash-completion package 107s # to prepare the arguments properly 107s if declare -F _init_completion >/dev/null 2>&1; then 107s _init_completion -n =: || return 107s else 107s __adsysctl_init_completion -n =: || return 107s fi 107s 107s __adsysctl_debug 107s __adsysctl_debug "========= starting completion logic ==========" 107s __adsysctl_debug "cur is ${cur}, words[*] is ${words[*]}, #words[@] is ${#words[@]}, cword is $cword" 107s 107s # The user could have moved the cursor backwards on the command-line. 107s # We need to trigger completion from the $cword location, so we need 107s # to truncate the command-line ($words) up to the $cword location. 107s words=("${words[@]:0:$cword+1}") 107s __adsysctl_debug "Truncated words[*]: ${words[*]}," 107s 107s local out directive 107s __adsysctl_get_completion_results 107s __adsysctl_process_completion_results 107s } 107s 107s if [[ $(type -t compopt) = "builtin" ]]; then 107s complete -o default -F __start_adsysctl adsysctl 107s else 107s complete -o default -o nospace -F __start_adsysctl adsysctl 107s fi 107s 107s # ex: ts=4 sw=4 et filetype=sh 107s --- PASS: TestAppNoUsageError (0.00s) 107s PASS 107s ok github.com/ubuntu/adsys/cmd/adsysd/client 0.040s 111s === RUN TestAppHelp 111s === PAUSE TestAppHelp 111s === RUN TestAppCompletion 111s === PAUSE TestAppCompletion 111s === RUN TestAppVersion 111s --- PASS: TestAppVersion (0.00s) 111s === RUN TestAppNoUsageError 111s === PAUSE TestAppNoUsageError 111s === RUN TestAppUsageError 111s === PAUSE TestAppUsageError 111s === RUN TestAppCanQuitWhenExecute 111s time="2025-10-18T15:06:29Z" level=warning msg="could not get system startup time? Can’t list next refresh: Process org.freedesktop.systemd1 exited with status 1" 111s --- PASS: TestAppCanQuitWhenExecute (0.06s) 111s === RUN TestAppCanQuitAfterExecute 111s time="2025-10-18T15:06:30Z" level=warning msg="could not get system startup time? Can’t list next refresh: Process org.freedesktop.systemd1 exited with status 1" 111s --- PASS: TestAppCanQuitAfterExecute (1.01s) 111s === RUN TestAppCanQuitWithoutExecute 111s === PAUSE TestAppCanQuitWithoutExecute 111s === RUN TestAppRunFailsOnDaemonCreationAndQuit 111s time="2025-10-18T15:06:31Z" level=warning msg="could not get system startup time? Can’t list next refresh: Process org.freedesktop.systemd1 exited with status 1" 111s --- PASS: TestAppRunFailsOnDaemonCreationAndQuit (0.00s) 111s === RUN TestAppRunFailsOnServiceCreationAndQuit 111s --- PASS: TestAppRunFailsOnServiceCreationAndQuit (0.00s) 111s === RUN TestAppCanSigHupWhenExecute 111s time="2025-10-18T15:06:31Z" level=warning msg="could not get system startup time? Can’t list next refresh: Process org.freedesktop.systemd1 exited with status 1" 111s --- PASS: TestAppCanSigHupWhenExecute (0.06s) 111s === RUN TestAppCanSigHupAfterExecute 111s time="2025-10-18T15:06:31Z" level=warning msg="could not get system startup time? Can’t list next refresh: Process org.freedesktop.systemd1 exited with status 1" 111s --- PASS: TestAppCanSigHupAfterExecute (1.01s) 111s === RUN TestAppCanSigHupWithoutExecute 111s --- PASS: TestAppCanSigHupWithoutExecute (0.00s) 111s === RUN TestAppTimeout 111s time="2025-10-18T15:06:32Z" level=warning msg="could not get system startup time? Can’t list next refresh: Process org.freedesktop.systemd1 exited with status 1" 111s --- PASS: TestAppTimeout (1.01s) 111s === RUN TestAppGetRootCmd 111s === PAUSE TestAppGetRootCmd 111s === RUN TestConfigLoad 111s time="2025-10-18T15:06:33Z" level=warning msg="could not get system startup time? Can’t list next refresh: Process org.freedesktop.systemd1 exited with status 1" 111s time="2025-10-18T15:06:33Z" level=info msg="Serving on /tmp/TestConfigLoad4063204054/001/adsys.socket" 111s time="2025-10-18T15:06:33Z" level=info msg="Stopping daemon requested." 111s time="2025-10-18T15:06:33Z" level=info msg="Wait for active requests to close." 111s --- PASS: TestConfigLoad (0.06s) 111s === RUN TestConfigChange 111s time="2025-10-18T15:06:33Z" level=warning msg="could not get system startup time? Can’t list next refresh: Process org.freedesktop.systemd1 exited with status 1" 111s time="2025-10-18T15:06:33Z" level=info msg="Serving on /tmp/TestConfigChange1081907783/001/adsys.socket" 111s time="2025-10-18T15:06:33Z" level=info msg="Stopping daemon requested." 111s time="2025-10-18T15:06:33Z" level=info msg="Wait for active requests to close." 111s time="2025-10-18T15:06:33Z" level=debug msg="All connections have now ended." 111s time="2025-10-18T15:06:33Z" level=debug msg=Quitting 111s --- PASS: TestConfigChange (0.16s) 111s === CONT TestAppHelp 111s === CONT TestAppUsageError 111s --- PASS: TestAppUsageError (0.00s) 111s === CONT TestAppGetRootCmd 111s Active Directory integration bridging toolset daemon. 111s 111s Usage: 111s adsysd COMMAND [flags] 111s adsysd [command] 111s 111s Available Commands: 111s completion Generate the autocompletion script for the specified shell 111s help Help about any command 111s version Returns version of service and exits 111s 111s Flags: 111s --ad-backend string Active Directory authentication backend (default "sssd") 111s --cache-dir string directory where ADSys caches GPOs downloads and policies. (default "/var/cache/adsys") 111s -c, --config string use a specific configuration file 111s --gpo-list-timeout int time in seconds for the GPO list. 0 for no timeout. (default 10) 111s -h, --help help for adsysd 111s --run-dir string directory where ADSys stores transient information erased on reboot. (default "/run/adsys") 111s -s, --socket string socket path to use between daemon and client. Can be overridden by systemd socket activation. (default "/run/adsysd.sock") 111s --sssd.cache-dir string SSSd cache directory (default "/var/lib/sss/db") 111s --sssd.config string SSSd config file path (default "/etc/sssd/sssd.conf") 111s -t, --timeout int time in seconds without activity before the service exists. 0 for no timeout. (default 120) 111s -v, --verbose count issue INFO (-v), DEBUG (-vv) or DEBUG with caller (-vvv) output 111s 111s Use "adsysd [command] --help" for more information about a command. 111s --- PASS: TestAppHelp (0.00s) 111s === CONT TestAppCanQuitWithoutExecute 111s daemon_test.go:104: We need to initialize the daemon first, so this is not possible and will hang forever (ready not closed) 111s === CONT TestAppCompletion 111s --- PASS: TestAppGetRootCmd (0.00s) 111s --- SKIP: TestAppCanQuitWithoutExecute (0.00s) 111s === CONT TestAppNoUsageError 111s # bash completion V2 for adsysd -*- shell-script -*- 111s 111s __adsysd_debug() 111s { 111s if [[ -n ${BASH_COMP_DEBUG_FILE-} ]]; then 111s echo "$*" >> "${BASH_COMP_DEBUG_FILE}" 111s fi 111s } 111s 111s # Macs have bash3 for which the bash-completion package doesn't include 111s # _init_completion. This is a minimal version of that function. 111s __adsysd_init_completion() 111s { 111s COMPREPLY=() 111s _get_comp_words_by_ref "$@" cur prev words cword 111s } 111s 111s # This function calls the adsysd program to obtain the completion 111s # results and the directive. It fills the 'out' and 'directive' vars. 111s __adsysd_get_completion_results() { 111s local requestComp lastParam lastChar args 111s 111s # Prepare the command to request completions for the program. 111s # Calling ${words[0]} instead of directly adsysd allows handling aliases 111s args=("${words[@]:1}") 111s requestComp="${words[0]} __complete ${args[*]}" 111s 111s lastParam=${words[$((${#words[@]}-1))]} 111s lastChar=${lastParam:$((${#lastParam}-1)):1} 111s __adsysd_debug "lastParam ${lastParam}, lastChar ${lastChar}" 111s 111s if [[ -z ${cur} && ${lastChar} != = ]]; then 111s # If the last parameter is complete (there is a space following it) 111s # We add an extra empty parameter so we can indicate this to the go method. 111s __adsysd_debug "Adding extra empty parameter" 111s requestComp="${requestComp} ''" 111s fi 111s 111s # When completing a flag with an = (e.g., adsysd -n=) 111s # bash focuses on the part after the =, so we need to remove 111s # the flag part from $cur 111s if [[ ${cur} == -*=* ]]; then 111s cur="${cur#*=}" 111s fi 111s 111s __adsysd_debug "Calling ${requestComp}" 111s # Use eval to handle any environment variables and such 111s out=$(eval "${requestComp}" 2>/dev/null) 111s 111s # Extract the directive integer at the very end of the output following a colon (:) 111s directive=${out##*:} 111s # Remove the directive 111s out=${out%:*} 111s if [[ ${directive} == "${out}" ]]; then 111s # There is not directive specified 111s directive=0 111s fi 111s __adsysd_debug "The completion directive is: ${directive}" 111s __adsysd_debug "The completions are: ${out}" 111s } 111s 111s __adsysd_process_completion_results() { 111s local shellCompDirectiveError=1 111s local shellCompDirectiveNoSpace=2 111s local shellCompDirectiveNoFileComp=4 111s local shellCompDirectiveFilterFileExt=8 111s local shellCompDirectiveFilterDirs=16 111s local shellCompDirectiveKeepOrder=32 111s 111s if (((directive & shellCompDirectiveError) != 0)); then 111s # Error code. No completion. 111s __adsysd_debug "Received error from custom completion go code" 111s return 111s else 111s if (((directive & shellCompDirectiveNoSpace) != 0)); then 111s if [[ $(type -t compopt) == builtin ]]; then 111s __adsysd_debug "Activating no space" 111s compopt -o nospace 111s else 111s __adsysd_debug "No space directive not supported in this version of bash" 111s fi 111s fi 111s if (((directive & shellCompDirectiveKeepOrder) != 0)); then 111s if [[ $(type -t compopt) == builtin ]]; then 111s # no sort isn't supported for bash less than < 4.4 111s if [[ ${BASH_VERSINFO[0]} -lt 4 || ( ${BASH_VERSINFO[0]} -eq 4 && ${BASH_VERSINFO[1]} -lt 4 ) ]]; then 111s __adsysd_debug "No sort directive not supported in this version of bash" 111s else 111s __adsysd_debug "Activating keep order" 111s compopt -o nosort 111s fi 111s else 111s __adsysd_debug "No sort directive not supported in this version of bash" 111s fi 111s fi 111s if (((directive & shellCompDirectiveNoFileComp) != 0)); then 111s if [[ $(type -t compopt) == builtin ]]; then 111s __adsysd_debug "Activating no file completion" 111s compopt +o default 111s else 111s __adsysd_debug "No file completion directive not supported in this version of bash" 111s fi 111s fi 111s fi 111s 111s # Separate activeHelp from normal completions 111s local completions=() 111s local activeHelp=() 111s __adsysd_extract_activeHelp 111s 111s if (((directive & shellCompDirectiveFilterFileExt) != 0)); then 111s # File extension filtering 111s local fullFilter="" filter filteringCmd 111s 111s # Do not use quotes around the $completions variable or else newline 111s # characters will be kept. 111s for filter in ${completions[*]}; do 111s fullFilter+="$filter|" 111s done 111s 111s filteringCmd="_filedir $fullFilter" 111s __adsysd_debug "File filtering command: $filteringCmd" 111s $filteringCmd 111s elif (((directive & shellCompDirectiveFilterDirs) != 0)); then 111s # File completion for directories only 111s 111s local subdir 111s subdir=${completions[0]} 111s if [[ -n $subdir ]]; then 111s __adsysd_debug "Listing directories in $subdir" 111s pushd "$subdir" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 || return 111s else 111s __adsysd_debug "Listing directories in ." 111s _filedir -d 111s fi 111s else 111s __adsysd_handle_completion_types 111s fi 111s 111s __adsysd_handle_special_char "$cur" : 111s __adsysd_handle_special_char "$cur" = 111s 111s # Print the activeHelp statements before we finish 111s __adsysd_handle_activeHelp 111s } 111s 111s __adsysd_handle_activeHelp() { 111s # Print the activeHelp statements 111s if ((${#activeHelp[*]} != 0)); then 111s if [ -z $COMP_TYPE ]; then 111s # Bash v3 does not set the COMP_TYPE variable. 111s printf "\n"; 111s printf "%s\n" "${activeHelp[@]}" 111s printf "\n" 111s __adsysd_reprint_commandLine 111s return 111s fi 111s 111s # Only print ActiveHelp on the second TAB press 111s if [ $COMP_TYPE -eq 63 ]; then 111s printf "\n" 111s printf "%s\n" "${activeHelp[@]}" 111s 111s if ((${#COMPREPLY[*]} == 0)); then 111s # When there are no completion choices from the program, file completion 111s # may kick in if the program has not disabled it; in such a case, we want 111s # to know if any files will match what the user typed, so that we know if 111s # there will be completions presented, so that we know how to handle ActiveHelp. 111s # To find out, we actually trigger the file completion ourselves; 111s # the call to _filedir will fill COMPREPLY if files match. 111s if (((directive & shellCompDirectiveNoFileComp) == 0)); then 111s __adsysd_debug "Listing files" 111s _filedir 111s fi 111s fi 111s 111s if ((${#COMPREPLY[*]} != 0)); then 111s # If there are completion choices to be shown, print a delimiter. 111s # Re-printing the command-line will automatically be done 111s # by the shell when it prints the completion choices. 111s printf -- "--" 111s else 111s # When there are no completion choices at all, we need 111s # to re-print the command-line since the shell will 111s # not be doing it itself. 111s __adsysd_reprint_commandLine 111s fi 111s elif [ $COMP_TYPE -eq 37 ] || [ $COMP_TYPE -eq 42 ]; then 111s # For completion type: menu-complete/menu-complete-backward and insert-completions 111s # the completions are immediately inserted into the command-line, so we first 111s # print the activeHelp message and reprint the command-line since the shell won't. 111s printf "\n" 111s printf "%s\n" "${activeHelp[@]}" 111s 111s __adsysd_reprint_commandLine 111s fi 111s fi 111s } 111s 111s __adsysd_reprint_commandLine() { 111s # The prompt format is only available from bash 4.4. 111s # We test if it is available before using it. 111s if (x=${PS1@P}) 2> /dev/null; then 111s printf "%s" "${PS1@P}${COMP_LINE[@]}" 111s else 111s # Can't print the prompt. Just print the 111s # text the user had typed, it is workable enough. 111s printf "%s" "${COMP_LINE[@]}" 111s fi 111s } 111s 111s # Separate activeHelp lines from real completions. 111s # Fills the $activeHelp and $completions arrays. 111s __adsysd_extract_activeHelp() { 111s local activeHelpMarker="_activeHelp_ " 111s local endIndex=${#activeHelpMarker} 111s 111s while IFS='' read -r comp; do 111s [[ -z $comp ]] && continue 111s 111s if [[ ${comp:0:endIndex} == $activeHelpMarker ]]; then 111s comp=${comp:endIndex} 111s __adsysd_debug "ActiveHelp found: $comp" 111s if [[ -n $comp ]]; then 111s activeHelp+=("$comp") 111s fi 111s else 111s # Not an activeHelp line but a normal completion 111s completions+=("$comp") 111s fi 111s done <<<"${out}" 111s } 111s 111s __adsysd_handle_completion_types() { 111s __adsysd_debug "__adsysd_handle_completion_types: COMP_TYPE is $COMP_TYPE" 111s 111s case $COMP_TYPE in 111s 37|42) 111s # Type: menu-complete/menu-complete-backward and insert-completions 111s # If the user requested inserting one completion at a time, or all 111s # completions at once on the command-line we must remove the descriptions. 111s # https://github.com/spf13/cobra/issues/1508 111s 111s # If there are no completions, we don't need to do anything 111s (( ${#completions[@]} == 0 )) && return 0 111s 111s local tab=$'\t' 111s 111s # Strip any description and escape the completion to handled special characters 111s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]%%$tab*}") 111s 111s # Only consider the completions that match 111s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 111s 111s # compgen looses the escaping so we need to escape all completions again since they will 111s # all be inserted on the command-line. 111s IFS=$'\n' read -ra COMPREPLY -d '' < <(printf "%q\n" "${COMPREPLY[@]}") 111s ;; 111s 111s *) 111s # Type: complete (normal completion) 111s __adsysd_handle_standard_completion_case 111s ;; 111s esac 111s } 111s 111s __adsysd_handle_standard_completion_case() { 111s local tab=$'\t' 111s 111s # If there are no completions, we don't need to do anything 111s (( ${#completions[@]} == 0 )) && return 0 111s 111s # Short circuit to optimize if we don't have descriptions 111s if [[ "${completions[*]}" != *$tab* ]]; then 111s # First, escape the completions to handle special characters 111s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]}") 111s # Only consider the completions that match what the user typed 111s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 111s 111s # compgen looses the escaping so, if there is only a single completion, we need to 111s # escape it again because it will be inserted on the command-line. If there are multiple 111s # completions, we don't want to escape them because they will be printed in a list 111s # and we don't want to show escape characters in that list. 111s if (( ${#COMPREPLY[@]} == 1 )); then 111s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]}") 111s fi 111s return 0 111s fi 111s 111s local longest=0 111s local compline 111s # Look for the longest completion so that we can format things nicely 111s while IFS='' read -r compline; do 111s [[ -z $compline ]] && continue 111s 111s # Before checking if the completion matches what the user typed, 111s # we need to strip any description and escape the completion to handle special 111s # characters because those escape characters are part of what the user typed. 111s # Don't call "printf" in a sub-shell because it will be much slower 111s # since we are in a loop. 111s printf -v comp "%q" "${compline%%$tab*}" &>/dev/null || comp=$(printf "%q" "${compline%%$tab*}") 111s 111s # Only consider the completions that match 111s [[ $comp == "$cur"* ]] || continue 111s 111s # The completions matches. Add it to the list of full completions including 111s # its description. We don't escape the completion because it may get printed 111s # in a list if there are more than one and we don't want show escape characters 111s # in that list. 111s COMPREPLY+=("$compline") 111s 111s # Strip any description before checking the length, and again, don't escape 111s # the completion because this length is only used when printing the completions 111s # in a list and we don't want show escape characters in that list. 111s comp=${compline%%$tab*} 111s if ((${#comp}>longest)); then 111s longest=${#comp} 111s fi 111s done < <(printf "%s\n" "${completions[@]}") 111s 111s # If there is a single completion left, remove the description text and escape any special characters 111s if ((${#COMPREPLY[*]} == 1)); then 111s __adsysd_debug "COMPREPLY[0]: ${COMPREPLY[0]}" 111s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]%%$tab*}") 111s __adsysd_debug "Removed description from single completion, which is now: ${COMPREPLY[0]}" 111s else 111s # Format the descriptions 111s __adsysd_format_comp_descriptions $longest 111s fi 111s } 111s 111s __adsysd_handle_special_char() 111s { 111s local comp="$1" 111s local char=$2 111s if [[ "$comp" == *${char}* && "$COMP_WORDBREAKS" == *${char}* ]]; then 111s local word=${comp%"${comp##*${char}}"} 111s local idx=${#COMPREPLY[*]} 111s while ((--idx >= 0)); do 111s COMPREPLY[idx]=${COMPREPLY[idx]#"$word"} 111s done 111s fi 111s } 111s 111s __adsysd_format_comp_descriptions() 111s { 111s local tab=$'\t' 111s local comp desc maxdesclength 111s local longest=$1 111s 111s local i ci 111s for ci in ${!COMPREPLY[*]}; do 111s comp=${COMPREPLY[ci]} 111s # Properly format the description string which follows a tab character if there is one 111s if [[ "$comp" == *$tab* ]]; then 111s __adsysd_debug "Original comp: $comp" 111s desc=${comp#*$tab} 111s comp=${comp%%$tab*} 111s 111s # $COLUMNS stores the current shell width. 111s # Remove an extra 4 because we add 2 spaces and 2 parentheses. 111s maxdesclength=$(( COLUMNS - longest - 4 )) 111s 111s # Make sure we can fit a description of at least 8 characters 111s # if we are to align the descriptions. 111s if ((maxdesclength > 8)); then 111s # Add the proper number of spaces to align the descriptions 111s for ((i = ${#comp} ; i < longest ; i++)); do 111s comp+=" " 111s done 111s else 111s # Don't pad the descriptions so we can fit more text after the completion 111s maxdesclength=$(( COLUMNS - ${#comp} - 4 )) 111s fi 111s 111s # If there is enough space for any description text, 111s # truncate the descriptions that are too long for the shell width 111s if ((maxdesclength > 0)); then 111s if ((${#desc} > maxdesclength)); then 111s desc=${desc:0:$(( maxdesclength - 1 ))} 111s desc+="…" 111s fi 111s comp+=" ($desc)" 111s fi 111s COMPREPLY[ci]=$comp 111s __adsysd_debug "Final comp: $comp" 111s fi 111s done 111s } 111s 111s __start_adsysd() 111s { 111s local cur prev words cword split 111s 111s COMPREPLY=() 111s 111s # Call _init_completion from the bash-completion package 111s # to prepare the arguments properly 111s if declare -F _init_completion >/dev/null 2>&1; then 111s _init_completion -n =: || return 111s else 111s __adsysd_init_completion -n =: || return 111s fi 111s 111s __adsysd_debug 111s __adsysd_debug "========= starting completion logic ==========" 111s __adsysd_debug "cur is ${cur}, words[*] is ${words[*]}, #words[@] is ${#words[@]}, cword is $cword" 111s 111s # The user could have moved the cursor backwards on the command-line. 111s # We need to trigger completion from the $cword location, so we need 111s # to truncate the command-line ($words) up to the $cword location. 111s words=("${words[@]:0:$cword+1}") 111s __adsysd_debug "Truncated words[*]: ${words[*]}," 111s 111s local out directive 111s __adsysd_get_completion_results 111s __adsysd_process_completion_results 111s } 111s 111s if [[ $(type -t compopt) = "builtin" ]]; then 111s complete -o default -F __start_adsysd adsysd 111s else 111s complete -o default -o nospace -F __start_adsysd adsysd 111s fi 111s 111s # ex: ts=4 sw=4 et filetype=sh 111s --- PASS: TestAppNoUsageError (0.00s) 111s # bash completion V2 for adsysd -*- shell-script -*- 111s 111s __adsysd_debug() 111s { 111s if [[ -n ${BASH_COMP_DEBUG_FILE-} ]]; then 111s echo "$*" >> "${BASH_COMP_DEBUG_FILE}" 111s fi 111s } 111s 111s # Macs have bash3 for which the bash-completion package doesn't include 111s # _init_completion. This is a minimal version of that function. 111s __adsysd_init_completion() 111s { 111s COMPREPLY=() 111s _get_comp_words_by_ref "$@" cur prev words cword 111s } 111s 111s # This function calls the adsysd program to obtain the completion 111s # results and the directive. It fills the 'out' and 'directive' vars. 111s __adsysd_get_completion_results() { 111s local requestComp lastParam lastChar args 111s 111s # Prepare the command to request completions for the program. 111s # Calling ${words[0]} instead of directly adsysd allows handling aliases 111s args=("${words[@]:1}") 111s requestComp="${words[0]} __complete ${args[*]}" 111s 111s lastParam=${words[$((${#words[@]}-1))]} 111s lastChar=${lastParam:$((${#lastParam}-1)):1} 111s __adsysd_debug "lastParam ${lastParam}, lastChar ${lastChar}" 111s 111s if [[ -z ${cur} && ${lastChar} != = ]]; then 111s # If the last parameter is complete (there is a space following it) 111s # We add an extra empty parameter so we can indicate this to the go method. 111s __adsysd_debug "Adding extra empty parameter" 111s requestComp="${requestComp} ''" 111s fi 111s 111s # When completing a flag with an = (e.g., adsysd -n=) 111s # bash focuses on the part after the =, so we need to remove 111s # the flag part from $cur 111s if [[ ${cur} == -*=* ]]; then 111s cur="${cur#*=}" 111s fi 111s 111s __adsysd_debug "Calling ${requestComp}" 111s # Use eval to handle any environment variables and such 111s out=$(eval "${requestComp}" 2>/dev/null) 111s 111s # Extract the directive integer at the very end of the output following a colon (:) 111s directive=${out##*:} 111s # Remove the directive 111s out=${out%:*} 111s if [[ ${directive} == "${out}" ]]; then 111s # There is not directive specified 111s directive=0 111s fi 111s __adsysd_debug "The completion directive is: ${directive}" 111s __adsysd_debug "The completions are: ${out}" 111s } 111s 111s __adsysd_process_completion_results() { 111s local shellCompDirectiveError=1 111s local shellCompDirectiveNoSpace=2 111s local shellCompDirectiveNoFileComp=4 111s local shellCompDirectiveFilterFileExt=8 111s local shellCompDirectiveFilterDirs=16 111s local shellCompDirectiveKeepOrder=32 111s 111s if (((directive & shellCompDirectiveError) != 0)); then 111s # Error code. No completion. 111s __adsysd_debug "Received error from custom completion go code" 111s return 111s else 111s if (((directive & shellCompDirectiveNoSpace) != 0)); then 111s if [[ $(type -t compopt) == builtin ]]; then 111s __adsysd_debug "Activating no space" 111s compopt -o nospace 111s else 111s __adsysd_debug "No space directive not supported in this version of bash" 111s fi 111s fi 111s if (((directive & shellCompDirectiveKeepOrder) != 0)); then 111s if [[ $(type -t compopt) == builtin ]]; then 111s # no sort isn't supported for bash less than < 4.4 111s if [[ ${BASH_VERSINFO[0]} -lt 4 || ( ${BASH_VERSINFO[0]} -eq 4 && ${BASH_VERSINFO[1]} -lt 4 ) ]]; then 111s __adsysd_debug "No sort directive not supported in this version of bash" 111s else 111s __adsysd_debug "Activating keep order" 111s compopt -o nosort 111s fi 111s else 111s __adsysd_debug "No sort directive not supported in this version of bash" 111s fi 111s fi 111s if (((directive & shellCompDirectiveNoFileComp) != 0)); then 111s if [[ $(type -t compopt) == builtin ]]; then 111s __adsysd_debug "Activating no file completion" 111s compopt +o default 111s else 111s __adsysd_debug "No file completion directive not supported in this version of bash" 111s fi 111s fi 111s fi 111s 111s # Separate activeHelp from normal completions 111s local completions=() 111s local activeHelp=() 111s __adsysd_extract_activeHelp 111s 111s if (((directive & shellCompDirectiveFilterFileExt) != 0)); then 111s # File extension filtering 111s local fullFilter="" filter filteringCmd 111s 111s # Do not use quotes around the $completions variable or else newline 111s # characters will be kept. 111s for filter in ${completions[*]}; do 111s fullFilter+="$filter|" 111s done 111s 111s filteringCmd="_filedir $fullFilter" 111s __adsysd_debug "File filtering command: $filteringCmd" 111s $filteringCmd 111s elif (((directive & shellCompDirectiveFilterDirs) != 0)); then 111s # File completion for directories only 111s 111s local subdir 111s subdir=${completions[0]} 111s if [[ -n $subdir ]]; then 111s __adsysd_debug "Listing directories in $subdir" 111s pushd "$subdir" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 || return 111s else 111s __adsysd_debug "Listing directories in ." 111s _filedir -d 111s fi 111s else 111s __adsysd_handle_completion_types 111s fi 111s 111s __adsysd_handle_special_char "$cur" : 111s __adsysd_handle_special_char "$cur" = 111s 111s # Print the activeHelp statements before we finish 111s __adsysd_handle_activeHelp 111s } 111s 111s __adsysd_handle_activeHelp() { 111s # Print the activeHelp statements 111s if ((${#activeHelp[*]} != 0)); then 111s if [ -z $COMP_TYPE ]; then 111s # Bash v3 does not set the COMP_TYPE variable. 111s printf "\n"; 111s printf "%s\n" "${activeHelp[@]}" 111s printf "\n" 111s __adsysd_reprint_commandLine 111s return 111s fi 111s 111s # Only print ActiveHelp on the second TAB press 111s if [ $COMP_TYPE -eq 63 ]; then 111s printf "\n" 111s printf "%s\n" "${activeHelp[@]}" 111s 111s if ((${#COMPREPLY[*]} == 0)); then 111s # When there are no completion choices from the program, file completion 111s # may kick in if the program has not disabled it; in such a case, we want 111s # to know if any files will match what the user typed, so that we know if 111s # there will be completions presented, so that we know how to handle ActiveHelp. 111s # To find out, we actually trigger the file completion ourselves; 111s # the call to _filedir will fill COMPREPLY if files match. 111s if (((directive & shellCompDirectiveNoFileComp) == 0)); then 111s __adsysd_debug "Listing files" 111s _filedir 111s fi 111s fi 111s 111s if ((${#COMPREPLY[*]} != 0)); then 111s # If there are completion choices to be shown, print a delimiter. 111s # Re-printing the command-line will automatically be done 111s # by the shell when it prints the completion choices. 111s printf -- "--" 111s else 111s # When there are no completion choices at all, we need 111s # to re-print the command-line since the shell will 111s # not be doing it itself. 111s __adsysd_reprint_commandLine 111s fi 111s elif [ $COMP_TYPE -eq 37 ] || [ $COMP_TYPE -eq 42 ]; then 111s # For completion type: menu-complete/menu-complete-backward and insert-completions 111s # the completions are immediately inserted into the command-line, so we first 111s # print the activeHelp message and reprint the command-line since the shell won't. 111s printf "\n" 111s printf "%s\n" "${activeHelp[@]}" 111s 111s __adsysd_reprint_commandLine 111s fi 111s fi 111s } 111s 111s __adsysd_reprint_commandLine() { 111s # The prompt format is only available from bash 4.4. 111s # We test if it is available before using it. 111s if (x=${PS1@P}) 2> /dev/null; then 111s printf "%s" "${PS1@P}${COMP_LINE[@]}" 111s else 111s # Can't print the prompt. Just print the 111s # text the user had typed, it is workable enough. 111s printf "%s" "${COMP_LINE[@]}" 111s fi 111s } 111s 111s # Separate activeHelp lines from real completions. 111s # Fills the $activeHelp and $completions arrays. 111s __adsysd_extract_activeHelp() { 111s local activeHelpMarker="_activeHelp_ " 111s local endIndex=${#activeHelpMarker} 111s 111s while IFS='' read -r comp; do 111s [[ -z $comp ]] && continue 111s 111s if [[ ${comp:0:endIndex} == $activeHelpMarker ]]; then 111s comp=${comp:endIndex} 111s __adsysd_debug "ActiveHelp found: $comp" 111s if [[ -n $comp ]]; then 111s activeHelp+=("$comp") 111s fi 111s else 111s # Not an activeHelp line but a normal completion 111s completions+=("$comp") 111s fi 111s done <<<"${out}" 111s } 111s 111s __adsysd_handle_completion_types() { 111s __adsysd_debug "__adsysd_handle_completion_types: COMP_TYPE is $COMP_TYPE" 111s 111s case $COMP_TYPE in 111s 37|42) 111s # Type: menu-complete/menu-complete-backward and insert-completions 111s # If the user requested inserting one completion at a time, or all 111s # completions at once on the command-line we must remove the descriptions. 111s # https://github.com/spf13/cobra/issues/1508 111s 111s # If there are no completions, we don't need to do anything 111s (( ${#completions[@]} == 0 )) && return 0 111s 111s local tab=$'\t' 111s 111s # Strip any description and escape the completion to handled special characters 111s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]%%$tab*}") 111s 111s # Only consider the completions that match 111s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 111s 111s # compgen looses the escaping so we need to escape all completions again since they will 111s # all be inserted on the command-line. 111s IFS=$'\n' read -ra COMPREPLY -d '' < <(printf "%q\n" "${COMPREPLY[@]}") 111s ;; 111s 111s *) 111s # Type: complete (normal completion) 111s __adsysd_handle_standard_completion_case 111s ;; 111s esac 111s } 111s 111s __adsysd_handle_standard_completion_case() { 111s local tab=$'\t' 111s 111s # If there are no completions, we don't need to do anything 111s (( ${#completions[@]} == 0 )) && return 0 111s 111s # Short circuit to optimize if we don't have descriptions 111s if [[ "${completions[*]}" != *$tab* ]]; then 111s # First, escape the completions to handle special characters 111s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]}") 111s # Only consider the completions that match what the user typed 111s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 111s 111s # compgen looses the escaping so, if there is only a single completion, we need to 111s # escape it again because it will be inserted on the command-line. If there are multiple 111s # completions, we don't want to escape them because they will be printed in a list 111s # and we don't want to show escape characters in that list. 111s if (( ${#COMPREPLY[@]} == 1 )); then 111s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]}") 111s fi 111s return 0 111s fi 111s 111s local longest=0 111s local compline 111s # Look for the longest completion so that we can format things nicely 111s while IFS='' read -r compline; do 111s [[ -z $compline ]] && continue 111s 111s # Before checking if the completion matches what the user typed, 111s # we need to strip any description and escape the completion to handle special 111s # characters because those escape characters are part of what the user typed. 111s # Don't call "printf" in a sub-shell because it will be much slower 111s # since we are in a loop. 111s printf -v comp "%q" "${compline%%$tab*}" &>/dev/null || comp=$(printf "%q" "${compline%%$tab*}") 111s 111s # Only consider the completions that match 111s [[ $comp == "$cur"* ]] || continue 111s 111s # The completions matches. Add it to the list of full completions including 111s # its description. We don't escape the completion because it may get printed 111s # in a list if there are more than one and we don't want show escape characters 111s # in that list. 111s COMPREPLY+=("$compline") 111s 111s # Strip any description before checking the length, and again, don't escape 111s # the completion because this length is only used when printing the completions 111s # in a list and we don't want show escape characters in that list. 111s comp=${compline%%$tab*} 111s if ((${#comp}>longest)); then 111s longest=${#comp} 111s fi 111s done < <(printf "%s\n" "${completions[@]}") 111s 111s # If there is a single completion left, remove the description text and escape any special characters 111s if ((${#COMPREPLY[*]} == 1)); then 111s __adsysd_debug "COMPREPLY[0]: ${COMPREPLY[0]}" 111s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]%%$tab*}") 111s __adsysd_debug "Removed description from single completion, which is now: ${COMPREPLY[0]}" 111s else 111s # Format the descriptions 111s __adsysd_format_comp_descriptions $longest 111s fi 111s } 111s 111s __adsysd_handle_special_char() 111s { 111s local comp="$1" 111s local char=$2 111s if [[ "$comp" == *${char}* && "$COMP_WORDBREAKS" == *${char}* ]]; then 111s local word=${comp%"${comp##*${char}}"} 111s local idx=${#COMPREPLY[*]} 111s while ((--idx >= 0)); do 111s COMPREPLY[idx]=${COMPREPLY[idx]#"$word"} 111s done 111s fi 111s } 111s 111s __adsysd_format_comp_descriptions() 111s { 111s local tab=$'\t' 111s local comp desc maxdesclength 111s local longest=$1 111s 111s local i ci 111s for ci in ${!COMPREPLY[*]}; do 111s comp=${COMPREPLY[ci]} 111s # Properly format the description string which follows a tab character if there is one 111s if [[ "$comp" == *$tab* ]]; then 111s __adsysd_debug "Original comp: $comp" 111s desc=${comp#*$tab} 111s comp=${comp%%$tab*} 111s 111s # $COLUMNS stores the current shell width. 111s # Remove an extra 4 because we add 2 spaces and 2 parentheses. 111s maxdesclength=$(( COLUMNS - longest - 4 )) 111s 111s # Make sure we can fit a description of at least 8 characters 111s # if we are to align the descriptions. 111s if ((maxdesclength > 8)); then 111s # Add the proper number of spaces to align the descriptions 111s for ((i = ${#comp} ; i < longest ; i++)); do 111s comp+=" " 111s done 111s else 111s # Don't pad the descriptions so we can fit more text after the completion 111s maxdesclength=$(( COLUMNS - ${#comp} - 4 )) 111s fi 111s 111s # If there is enough space for any description text, 111s # truncate the descriptions that are too long for the shell width 111s if ((maxdesclength > 0)); then 111s if ((${#desc} > maxdesclength)); then 111s desc=${desc:0:$(( maxdesclength - 1 ))} 111s desc+="…" 111s fi 111s comp+=" ($desc)" 111s fi 111s COMPREPLY[ci]=$comp 111s __adsysd_debug "Final comp: $comp" 111s fi 111s done 111s } 111s 111s __start_adsysd() 111s { 111s local cur prev words cword split 111s 111s COMPREPLY=() 111s 111s # Call _init_completion from the bash-completion package 111s # to prepare the arguments properly 111s if declare -F _init_completion >/dev/null 2>&1; then 111s _init_completion -n =: || return 111s else 111s __adsysd_init_completion -n =: || return 111s fi 111s 111s __adsysd_debug 111s __adsysd_debug "========= starting completion logic ==========" 111s __adsysd_debug "cur is ${cur}, words[*] is ${words[*]}, #words[@] is ${#words[@]}, cword is $cword" 111s 111s # The user could have moved the cursor backwards on the command-line. 111s # We need to trigger completion from the $cword location, so we need 111s # to truncate the command-line ($words) up to the $cword location. 111s words=("${words[@]:0:$cword+1}") 111s __adsysd_debug "Truncated words[*]: ${words[*]}," 111s 111s local out directive 111s __adsysd_get_completion_results 111s __adsysd_process_completion_results 111s } 111s 111s if [[ $(type -t compopt) = "builtin" ]]; then 111s complete -o default -F __start_adsysd adsysd 111s else 111s complete -o default -o nospace -F __start_adsysd adsysd 111s fi 111s 111s # ex: ts=4 sw=4 et filetype=sh 111s --- PASS: TestAppCompletion (0.00s) 111s PASS 111s ok github.com/ubuntu/adsys/cmd/adsysd/daemon 3.382s 111s Integration tests skipped as requested 111s ok github.com/ubuntu/adsys/cmd/adsysd/integration_tests 0.032s 111s === RUN TestRun 111s === RUN TestRun/Run_and_return_error 111s ERROR Error requested 111s === RUN TestRun/Run_and_return_usage_error 111s ERROR Error requested 111s === RUN TestRun/Run_and_usage_error_only_does_not_fail 111s === RUN TestRun/Send_SIGINT_exits 111s === RUN TestRun/Send_SIGTERM_exits 111s === RUN TestRun/Run_and_exit_successfully 111s --- PASS: TestRun (0.60s) 111s --- PASS: TestRun/Run_and_return_error (0.10s) 111s --- PASS: TestRun/Run_and_return_usage_error (0.10s) 111s --- PASS: TestRun/Run_and_usage_error_only_does_not_fail (0.10s) 111s --- PASS: TestRun/Send_SIGINT_exits (0.10s) 111s --- PASS: TestRun/Send_SIGTERM_exits (0.10s) 111s --- PASS: TestRun/Run_and_exit_successfully (0.10s) 111s === RUN TestMainApp 111s --- PASS: TestMainApp (0.61s) 111s PASS 111s ok github.com/ubuntu/adsys/cmd/adwatchd 1.216s 111s ? github.com/ubuntu/adsys/cmd/adwatchd/commands [no test files] 111s Test has to be run as root, skipping... 111s ok github.com/ubuntu/adsys/cmd/adwatchd/integration_tests 0.003s 111s ? github.com/ubuntu/adsys/docs [no test files] 111s ? github.com/ubuntu/adsys/e2e/cmd/build_base_image/00_check_vm_image [no test files] 113s ? github.com/ubuntu/adsys/e2e/cmd/build_base_image/01_prepare_base_vm [no test files] 113s ? github.com/ubuntu/adsys/e2e/cmd/build_base_image/02_create_vm_template [no test files] 113s ? github.com/ubuntu/adsys/e2e/cmd/build_base_image/99_destroy_previous_versions [no test files] 113s ? github.com/ubuntu/adsys/e2e/cmd/run_tests/00_build_adsys_deb [no test files] 113s ? github.com/ubuntu/adsys/e2e/cmd/run_tests/01_provision_client [no test files] 113s ? github.com/ubuntu/adsys/e2e/cmd/run_tests/02_provision_ad [no test files] 113s ? github.com/ubuntu/adsys/e2e/cmd/run_tests/03_pam_coverage_support [no test files] 113s ? github.com/ubuntu/adsys/e2e/cmd/run_tests/10_test_non_pro_managers [no test files] 113s ? github.com/ubuntu/adsys/e2e/cmd/run_tests/11_test_pro_managers [no test files] 113s ? github.com/ubuntu/adsys/e2e/cmd/run_tests/12_test_pam_krb5cc [no test files] 113s ? github.com/ubuntu/adsys/e2e/cmd/run_tests/98_collect_pam_coverage [no test files] 113s ? github.com/ubuntu/adsys/e2e/cmd/run_tests/99_deprovision [no test files] 113s ? github.com/ubuntu/adsys/e2e/internal/az [no test files] 113s === RUN TestAddFlags 113s --- PASS: TestAddFlags (0.00s) 113s === RUN TestInventory 113s === RUN TestInventory/From_null_state_doesn't_require_existing_data 113s === RUN TestInventory/From_existing_state_requires_existing_data 113s === RUN TestInventory/To_null_state_doesn't_write_data 113s === RUN TestInventory/Multiple_from_states_requires_at_least_one 113s === RUN TestInventory/Error_if_inventory_file_is_required_and_doesn't_exist 113s time="2025-10-18T15:06:35Z" 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_ex2009782867/001/inventory/inventory.yaml: no such file or directory. Please refer to the previous script in the series" 113s === RUN TestInventory/Error_if_inventory_state_does_not_match_expected_state 113s time="2025-10-18T15:06:35Z" level=error msg="Inventory file is not in any of the expected initial states: [template_created ]" 113s === RUN TestInventory/Error_if_inventory_state_does_not_match_any_expected_state 113s time="2025-10-18T15:06:35Z" level=error msg="Inventory file is not in any of the expected initial states: [template_created ]" 113s --- PASS: TestInventory (0.01s) 113s --- PASS: TestInventory/From_null_state_doesn't_require_existing_data (0.00s) 113s --- PASS: TestInventory/From_existing_state_requires_existing_data (0.00s) 113s --- PASS: TestInventory/To_null_state_doesn't_write_data (0.00s) 113s --- PASS: TestInventory/Multiple_from_states_requires_at_least_one (0.00s) 113s --- PASS: TestInventory/Error_if_inventory_file_is_required_and_doesn't_exist (0.00s) 113s --- PASS: TestInventory/Error_if_inventory_state_does_not_match_expected_state (0.00s) 113s --- PASS: TestInventory/Error_if_inventory_state_does_not_match_any_expected_state (0.00s) 113s === RUN TestExecute 113s === RUN TestExecute/Action_succeeds 113s === RUN TestExecute/Action_and_validation_succeed 113s === RUN TestExecute/Error_when_action_fails 113s time="2025-10-18T15:06:35Z" level=error msg="requested error" 113s === RUN TestExecute/Error_when_validation_fails 113s time="2025-10-18T15:06:35Z" level=error msg="requested error" 113s === RUN TestExecute/Error_when_both_action_and_validation_fail 113s time="2025-10-18T15:06:35Z" level=error msg="requested error" 113s --- PASS: TestExecute (0.00s) 113s --- PASS: TestExecute/Action_succeeds (0.00s) 113s --- PASS: TestExecute/Action_and_validation_succeed (0.00s) 113s --- PASS: TestExecute/Error_when_action_fails (0.00s) 113s --- PASS: TestExecute/Error_when_validation_fails (0.00s) 113s --- PASS: TestExecute/Error_when_both_action_and_validation_fail (0.00s) 113s PASS 113s ok github.com/ubuntu/adsys/e2e/internal/command 0.013s 113s ? github.com/ubuntu/adsys/e2e/internal/inventory [no test files] 113s ? github.com/ubuntu/adsys/e2e/internal/remote [no test files] 113s ? github.com/ubuntu/adsys/e2e/scripts [no test files] 119s === RUN TestFetch 119s === PAUSE TestFetch 119s === RUN TestFetchWithUnreadableFile 119s === PAUSE TestFetchWithUnreadableFile 119s === RUN TestFetchTweakSysvolCacheDir 119s === PAUSE TestFetchTweakSysvolCacheDir 119s === RUN TestFetchOneGPOWhileParsingItConcurrently 119s === PAUSE TestFetchOneGPOWhileParsingItConcurrently 119s === RUN TestParseGPOConcurrent 119s === PAUSE TestParseGPOConcurrent 119s === RUN TestNew 119s === PAUSE TestNew 119s === RUN TestGetPolicies 119s === PAUSE TestGetPolicies 119s === RUN TestGetPoliciesOffline 119s === PAUSE TestGetPoliciesOffline 119s === RUN TestGetPoliciesWorkflows 119s === PAUSE TestGetPoliciesWorkflows 119s === RUN TestGetPoliciesConcurrently 119s === PAUSE TestGetPoliciesConcurrently 119s === RUN TestListUsers 119s === PAUSE TestListUsers 119s === RUN TestGetInfo 119s === PAUSE TestGetInfo 119s === RUN TestNormalizeTargetName 119s === PAUSE TestNormalizeTargetName 119s === RUN TestMockGPOList 119s --- PASS: TestMockGPOList (0.00s) 119s === RUN TestAdsysGPOList 119s === RUN TestAdsysGPOList/Forced_GPO_are_first_by_reverse_order 119s === RUN TestAdsysGPOList/Error_on_computer_requested_but_found_user 119s === RUN TestAdsysGPOList/Security_descriptor_accepted_is_for_another_user 119s === RUN TestAdsysGPOList/No_@_in_user_name_returns_the_same_thing 119s === RUN TestAdsysGPOList/Multiple_GPOs_in_same_OU 119s === RUN TestAdsysGPOList/No_GPO_on_OU_-_string 119s === RUN TestAdsysGPOList/Error_on_no_network 119s === RUN TestAdsysGPOList/Error_on_KRB5CCNAME_unset 119s === RUN TestAdsysGPOList/Return_one_gpo 119s === RUN TestAdsysGPOList/Error_on_machine_with_no_ldap 119s === RUN TestAdsysGPOList/Error_invalid_GPO_link 119s === RUN TestAdsysGPOList/Error_on_dangling_ticket_symlink 119s === RUN TestAdsysGPOList/Security_descriptor_missing_ignores_GPO 119s === RUN TestAdsysGPOList/KRB5CCNAME_without_FILE:_is_supported_by_the_samba_bindings 119s === RUN TestAdsysGPOList/Long_computer_name,_not_truncated 119s === RUN TestAdsysGPOList/Error_on_unreachable_ldap_host 119s === RUN TestAdsysGPOList/Forced_GPO_and_blocked_inheritance 119s === RUN TestAdsysGPOList/Fail_on_security_descriptor_access_failure 119s === RUN TestAdsysGPOList/Security_descriptor_access_denied_ignores_GPO 119s === RUN TestAdsysGPOList/Error_on_ldap_connection_refused 119s === RUN TestAdsysGPOList/Error_on_non_existent_account 119s === RUN TestAdsysGPOList/Error_on_user_requested_but_found_machine 119s === RUN TestAdsysGPOList/Return_hierarchy 119s === RUN TestAdsysGPOList/Machine_GPOs 119s === RUN TestAdsysGPOList/No_GPO_on_OU_-_bytes 119s === RUN TestAdsysGPOList/Filter_user_only_GPOs 119s === RUN TestAdsysGPOList/Filter_machine_only_GPOs 119s === RUN TestAdsysGPOList/Disabled_GPOs 119s === RUN TestAdsysGPOList/Block_inheritance 119s === RUN TestAdsysGPOList/No_gPOptions_fallbacks_to_0 119s === RUN TestAdsysGPOList/Computers_truncated_at_15_characters 119s === RUN TestAdsysGPOList/Error_on_invalid_ticket 119s --- PASS: TestAdsysGPOList (0.80s) 119s --- PASS: TestAdsysGPOList/Forced_GPO_are_first_by_reverse_order (0.04s) 119s --- PASS: TestAdsysGPOList/Error_on_computer_requested_but_found_user (0.03s) 119s --- PASS: TestAdsysGPOList/Security_descriptor_accepted_is_for_another_user (0.02s) 119s --- PASS: TestAdsysGPOList/No_@_in_user_name_returns_the_same_thing (0.02s) 119s --- PASS: TestAdsysGPOList/Multiple_GPOs_in_same_OU (0.02s) 119s --- PASS: TestAdsysGPOList/No_GPO_on_OU_-_string (0.02s) 119s --- PASS: TestAdsysGPOList/Error_on_no_network (0.02s) 119s --- PASS: TestAdsysGPOList/Error_on_KRB5CCNAME_unset (0.02s) 119s --- PASS: TestAdsysGPOList/Return_one_gpo (0.02s) 119s --- PASS: TestAdsysGPOList/Error_on_machine_with_no_ldap (0.03s) 119s --- PASS: TestAdsysGPOList/Error_invalid_GPO_link (0.03s) 119s --- PASS: TestAdsysGPOList/Error_on_dangling_ticket_symlink (0.04s) 119s --- PASS: TestAdsysGPOList/Security_descriptor_missing_ignores_GPO (0.02s) 119s --- PASS: TestAdsysGPOList/KRB5CCNAME_without_FILE:_is_supported_by_the_samba_bindings (0.03s) 119s --- PASS: TestAdsysGPOList/Long_computer_name,_not_truncated (0.03s) 119s --- PASS: TestAdsysGPOList/Error_on_unreachable_ldap_host (0.02s) 119s --- PASS: TestAdsysGPOList/Forced_GPO_and_blocked_inheritance (0.03s) 119s --- PASS: TestAdsysGPOList/Fail_on_security_descriptor_access_failure (0.02s) 119s --- PASS: TestAdsysGPOList/Security_descriptor_access_denied_ignores_GPO (0.02s) 119s --- PASS: TestAdsysGPOList/Error_on_ldap_connection_refused (0.02s) 119s --- PASS: TestAdsysGPOList/Error_on_non_existent_account (0.02s) 119s --- PASS: TestAdsysGPOList/Error_on_user_requested_but_found_machine (0.02s) 119s --- PASS: TestAdsysGPOList/Return_hierarchy (0.03s) 119s --- PASS: TestAdsysGPOList/Machine_GPOs (0.03s) 119s --- PASS: TestAdsysGPOList/No_GPO_on_OU_-_bytes (0.02s) 119s --- PASS: TestAdsysGPOList/Filter_user_only_GPOs (0.02s) 119s --- PASS: TestAdsysGPOList/Filter_machine_only_GPOs (0.02s) 119s --- PASS: TestAdsysGPOList/Disabled_GPOs (0.03s) 119s --- PASS: TestAdsysGPOList/Block_inheritance (0.03s) 119s --- PASS: TestAdsysGPOList/No_gPOptions_fallbacks_to_0 (0.02s) 119s --- PASS: TestAdsysGPOList/Computers_truncated_at_15_characters (0.02s) 119s --- PASS: TestAdsysGPOList/Error_on_invalid_ticket (0.02s) 119s === RUN TestGetPolicyDefinitions 119s === PAUSE TestGetPolicyDefinitions 119s === RUN TestTicketPath 119s krb5_test.go:23: Running subprocess with [/tmp/go-build3568221540/b600/ad.test -test.testlogfile=/tmp/go-build3568221540/b600/testlog.txt -test.paniconexit0 -test.timeout=10m0s -test.v=true -test.run=TestTicketPath] 119s === RUN TestTicketPath 119s === RUN TestTicketPath/Error_when_ccache_not_present_on_disk 119s === RUN TestTicketPath/Error_when_ccache_is_a_directory 119s === RUN TestTicketPath/Error_when_initializing_context 119s === RUN TestTicketPath/Error_on_empty_ticket_path 119s === RUN TestTicketPath/Error_on_NULL_ticket_path 119s === RUN TestTicketPath/Error_on_non-FILE_ccache 119s === RUN TestTicketPath/Lookup_is_successful 119s === RUN TestTicketPath/Allow_ccache_without_FILE_identifier 119s --- PASS: TestTicketPath (0.00s) 119s --- PASS: TestTicketPath/Error_when_ccache_not_present_on_disk (0.00s) 119s --- PASS: TestTicketPath/Error_when_ccache_is_a_directory (0.00s) 119s --- PASS: TestTicketPath/Error_when_initializing_context (0.00s) 119s --- PASS: TestTicketPath/Error_on_empty_ticket_path (0.00s) 119s --- PASS: TestTicketPath/Error_on_NULL_ticket_path (0.00s) 119s --- PASS: TestTicketPath/Error_on_non-FILE_ccache (0.00s) 119s --- PASS: TestTicketPath/Lookup_is_successful (0.00s) 119s --- PASS: TestTicketPath/Allow_ccache_without_FILE_identifier (0.00s) 119s PASS 119s --- PASS: TestTicketPath (0.11s) 119s === CONT TestFetch 119s === CONT TestGetPoliciesOffline 119s === RUN TestGetPoliciesOffline/Offline,_with_assets 119s === PAUSE TestGetPoliciesOffline/Offline,_with_assets 119s === RUN TestGetPoliciesOffline/Error_on_SSSD_reports_online,_but_we_are_actually_offline_when_fetching_gpo_list,_even_with_a_cache 119s === PAUSE TestGetPoliciesOffline/Error_on_SSSD_reports_online,_but_we_are_actually_offline_when_fetching_gpo_list,_even_with_a_cache 119s === RUN TestGetPoliciesOffline/Offline,_get_from_cache,_gpo_only 119s === PAUSE TestGetPoliciesOffline/Offline,_get_from_cache,_gpo_only 119s === RUN TestGetPoliciesOffline/Offline,_get_from_cache,_with_assets 119s === PAUSE TestGetPoliciesOffline/Offline,_get_from_cache,_with_assets 119s === RUN TestGetPoliciesOffline/Error_offline_with_no_cache 119s === PAUSE TestGetPoliciesOffline/Error_offline_with_no_cache 119s === RUN TestGetPoliciesOffline/Offline,_ensure_we_fetch_from_cache_and_not_fetch_GPO_list 119s === PAUSE TestGetPoliciesOffline/Offline,_ensure_we_fetch_from_cache_and_not_fetch_GPO_list 119s === CONT TestGetPoliciesOffline/Offline,_with_assets 119s === RUN TestFetch/concurrent_same_gpos 119s === PAUSE TestFetch/concurrent_same_gpos 119s === RUN TestFetch/assets_is_a_file_is_not_downloaded 119s === PAUSE TestFetch/assets_is_a_file_is_not_downloaded 119s === RUN TestFetch/one_new_gpo 119s === PAUSE TestFetch/one_new_gpo 119s === RUN TestFetch/keep_existing_gpos_intact 119s === PAUSE TestFetch/keep_existing_gpos_intact 119s === RUN TestFetch/assets_are_updated_to_latest_version 119s === PAUSE TestFetch/assets_are_updated_to_latest_version 119s === RUN TestFetch/existing_assets_are_removed_if_not_present_on_SYSVOL 119s === PAUSE TestFetch/existing_assets_are_removed_if_not_present_on_SYSVOL 119s === RUN TestFetch/concurrent_different_gpos 119s === PAUSE TestFetch/concurrent_different_gpos 119s === RUN TestFetch/two_gpos,_one_already_up_to_date,_one_should_be_refreshed 119s === PAUSE TestFetch/two_gpos,_one_already_up_to_date,_one_should_be_refreshed 119s === RUN TestFetch/two_gpos,_one_more_recent,_one_up_to_date 119s === PAUSE TestFetch/two_gpos,_one_more_recent,_one_up_to_date 119s === RUN TestFetch/two_gpos,_one_more_recent,_one_new 119s === PAUSE TestFetch/two_gpos,_one_more_recent,_one_new 119s === RUN TestFetch/Local_gpo_redownloaded_on_NaN_version_in_GPT.INI 119s === PAUSE TestFetch/Local_gpo_redownloaded_on_NaN_version_in_GPT.INI 119s === RUN TestFetch/assets_are_not_updated_if_version_matches 119s === PAUSE TestFetch/assets_are_not_updated_if_version_matches 119s === RUN TestFetch/remote_version_entry_missing_treated_as_0 119s === PAUSE TestFetch/remote_version_entry_missing_treated_as_0 119s === RUN TestFetch/assets_are_not_updated_if_local_version_matches,_with_non-standard_GPT.INI_casing 119s === PAUSE TestFetch/assets_are_not_updated_if_local_version_matches,_with_non-standard_GPT.INI_casing 119s === RUN TestFetch/Error_unexistant_remote_gpo 119s === PAUSE TestFetch/Error_unexistant_remote_gpo 119s === RUN TestFetch/Error_remote_version_NaN 119s === PAUSE TestFetch/Error_remote_version_NaN 119s === RUN TestFetch/assets_root_directory_not_present_on_SYSVOL_issues_a_warning_only 119s === PAUSE TestFetch/assets_root_directory_not_present_on_SYSVOL_issues_a_warning_only 119s === RUN TestFetch/two_gpos,_one_already_up_to_date,_one_new 119s === PAUSE TestFetch/two_gpos,_one_already_up_to_date,_one_new 119s === RUN TestFetch/gpo_is_refreshed 119s === PAUSE TestFetch/gpo_is_refreshed 119s === RUN TestFetch/local_gpo_is_more_recent_than_AD_one 119s === PAUSE TestFetch/local_gpo_is_more_recent_than_AD_one 119s === RUN TestFetch/existing_assets_are_kept_if_no_assets_downloadable_provided 119s === PAUSE TestFetch/existing_assets_are_kept_if_no_assets_downloadable_provided 119s === RUN TestFetch/Error_keeps_downloading_other_GPOS 119s === PAUSE TestFetch/Error_keeps_downloading_other_GPOS 119s === RUN TestFetch/two_new_gpos 119s === PAUSE TestFetch/two_new_gpos 119s === RUN TestFetch/gpo_already_up_to_date 119s === PAUSE TestFetch/gpo_already_up_to_date 119s === RUN TestFetch/gpos_and_assets 119s === PAUSE TestFetch/gpos_and_assets 119s === RUN TestFetch/Error_missing_remote_GPT.INI 119s === PAUSE TestFetch/Error_missing_remote_GPT.INI 119s === RUN TestFetch/two_gpos,_one_should_be_refreshed,_one_new 119s === PAUSE TestFetch/two_gpos,_one_should_be_refreshed,_one_new 119s === RUN TestFetch/two_gpos,_one_more_recent,_one_should_be_refreshed 119s === PAUSE TestFetch/two_gpos,_one_more_recent,_one_should_be_refreshed 119s === RUN TestFetch/Local_gpo_redownloaded_on_missing_GPT.INI 119s === PAUSE TestFetch/Local_gpo_redownloaded_on_missing_GPT.INI 119s === RUN TestFetch/Local_gpo_redownloaded_on_version_entry_missing_in_GPT.INI 119s === PAUSE TestFetch/Local_gpo_redownloaded_on_version_entry_missing_in_GPT.INI 119s === RUN TestFetch/assets_only_are_downloaded 119s === PAUSE TestFetch/assets_only_are_downloaded 119s === RUN TestFetch/assets_are_not_updated_if_remote_version_matches,_with_non-standard_GPT.INI_casing 119s === PAUSE TestFetch/assets_are_not_updated_if_remote_version_matches,_with_non-standard_GPT.INI_casing 119s === CONT TestGetPolicyDefinitions 119s === RUN TestGetPolicyDefinitions/Load_ADMX_and_ADML 119s === PAUSE TestGetPolicyDefinitions/Load_ADMX_and_ADML 119s === RUN TestGetPolicyDefinitions/ADMX_and_ADML_does_not_exist_for_this_format 119s === PAUSE TestGetPolicyDefinitions/ADMX_and_ADML_does_not_exist_for_this_format 119s === RUN TestGetPolicyDefinitions/ADMX_and_ADML_does_not_exist_for_this_distro 119s === PAUSE TestGetPolicyDefinitions/ADMX_and_ADML_does_not_exist_for_this_distro 119s === CONT TestNormalizeTargetName 119s === RUN TestNormalizeTargetName/One_valid_user 119s === PAUSE TestNormalizeTargetName/One_valid_user 119s === RUN TestNormalizeTargetName/One_valid_user_with_domain\user 119s === PAUSE TestNormalizeTargetName/One_valid_user_with_domain\user 119s === RUN TestNormalizeTargetName/One_user_without_explicit_domain_suffix 119s === PAUSE TestNormalizeTargetName/One_user_without_explicit_domain_suffix 119s === RUN TestNormalizeTargetName/Computer_is_left_as_such 119s === PAUSE TestNormalizeTargetName/Computer_is_left_as_such 119s === RUN TestNormalizeTargetName/Computer_in_uppercase_is_left_as_such 119s === PAUSE TestNormalizeTargetName/Computer_in_uppercase_is_left_as_such 119s === RUN TestNormalizeTargetName/Error_on_no_default_domain_suffix_and_no_fqdn_user 119s === PAUSE TestNormalizeTargetName/Error_on_no_default_domain_suffix_and_no_fqdn_user 119s === RUN TestNormalizeTargetName/User_name_fqdn_matching_computer 119s === PAUSE TestNormalizeTargetName/User_name_fqdn_matching_computer 119s === RUN TestNormalizeTargetName/One_valid_user_with_mixed_case 119s === PAUSE TestNormalizeTargetName/One_valid_user_with_mixed_case 119s === RUN TestNormalizeTargetName/Computer_with_@_is_left_as_such 119s === PAUSE TestNormalizeTargetName/Computer_with_@_is_left_as_such 119s === RUN TestNormalizeTargetName/Error_on_multiple_\_in_name 119s === PAUSE TestNormalizeTargetName/Error_on_multiple_\_in_name 119s === RUN TestNormalizeTargetName/User_name_matching_computer,_setting_as_user 119s === PAUSE TestNormalizeTargetName/User_name_matching_computer,_setting_as_user 119s === RUN TestNormalizeTargetName/Computer_name_without_objectClass 119s === PAUSE TestNormalizeTargetName/Computer_name_without_objectClass 119s === CONT TestGetInfo 119s === RUN TestGetInfo/Info_reported_from_backend,_online 119s === PAUSE TestGetInfo/Info_reported_from_backend,_online 119s === RUN TestGetInfo/Info_reported_from_backend,_offline 119s === PAUSE TestGetInfo/Info_reported_from_backend,_offline 119s === RUN TestGetInfo/Report_unknown_state_if_IsOnline_calls_fail 119s === PAUSE TestGetInfo/Report_unknown_state_if_IsOnline_calls_fail 119s === RUN TestGetInfo/Report_unknown_state_if_ServerFQDN_calls_fail 119s === PAUSE TestGetInfo/Report_unknown_state_if_ServerFQDN_calls_fail 119s === CONT TestListUsers 119s === RUN TestListUsers/Two_users,_dangling_symlink_for_one 119s === PAUSE TestListUsers/Two_users,_dangling_symlink_for_one 119s === RUN TestListUsers/Machine_Only 119s === PAUSE TestListUsers/Machine_Only 119s === RUN TestListUsers/Two_users,_from_policy_cache 119s === PAUSE TestListUsers/Two_users,_from_policy_cache 119s === RUN TestListUsers/None,_from_policy_cache 119s === PAUSE TestListUsers/None,_from_policy_cache 119s === RUN TestListUsers/Machines_are_ignored,_from_policy_cache 119s === PAUSE TestListUsers/Machines_are_ignored,_from_policy_cache 119s === RUN TestListUsers/Two_users 119s === PAUSE TestListUsers/Two_users 119s === RUN TestListUsers/None 119s === PAUSE TestListUsers/None 119s === RUN TestListUsers/Machines_are_ignored 119s === PAUSE TestListUsers/Machines_are_ignored 119s === RUN TestListUsers/One_user,_from_policy_cache 119s === PAUSE TestListUsers/One_user,_from_policy_cache 119s === RUN TestListUsers/Machine_Only,_from_policy_cache 119s === PAUSE TestListUsers/Machine_Only,_from_policy_cache 119s === RUN TestListUsers/Ticket_cache_ignored_if_policy_cache_is_requested 119s === PAUSE TestListUsers/Ticket_cache_ignored_if_policy_cache_is_requested 119s === RUN TestListUsers/Error_on_Krb5_directory_not_existing 119s === PAUSE TestListUsers/Error_on_Krb5_directory_not_existing 119s === RUN TestListUsers/Error_on_policy_cache_directory_not_existing 119s === PAUSE TestListUsers/Error_on_policy_cache_directory_not_existing 119s === RUN TestListUsers/One_user 119s === PAUSE TestListUsers/One_user 119s === CONT TestGetPoliciesConcurrently 119s === RUN TestGetPoliciesConcurrently/Machine_requested_twice_at_the_same_time 119s === PAUSE TestGetPoliciesConcurrently/Machine_requested_twice_at_the_same_time 119s === RUN TestGetPoliciesConcurrently/Same_user,_same_GPO 119s === PAUSE TestGetPoliciesConcurrently/Same_user,_same_GPO 119s === RUN TestGetPoliciesConcurrently/Different_users,_same_GPO 119s === PAUSE TestGetPoliciesConcurrently/Different_users,_same_GPO 119s === RUN TestGetPoliciesConcurrently/Different_users,_different_GPO 119s === PAUSE TestGetPoliciesConcurrently/Different_users,_different_GPO 119s === RUN TestGetPoliciesConcurrently/One_machine,_one_user 119s === PAUSE TestGetPoliciesConcurrently/One_machine,_one_user 119s === CONT TestGetPoliciesWorkflows 119s === RUN TestGetPoliciesWorkflows/Second_call_without_Krb5CCName_refreshes_ticket_copy_if_needed 119s === PAUSE TestGetPoliciesWorkflows/Second_call_without_Krb5CCName_refreshes_ticket_copy_if_needed 119s === RUN TestGetPoliciesWorkflows/Second_call_without_Krb5CCName_replaces_previous_symlinks_in_the_original_path 119s === PAUSE TestGetPoliciesWorkflows/Second_call_without_Krb5CCName_replaces_previous_symlinks_in_the_original_path 119s === RUN TestGetPoliciesWorkflows/Second_machine_call_is_a_refresh_(without_Krb5CCName_specified) 119s === PAUSE TestGetPoliciesWorkflows/Second_machine_call_is_a_refresh_(without_Krb5CCName_specified) 119s === RUN TestGetPoliciesWorkflows/Second_call_is_a_refresh_(without_Krb5CCName_specified) 119s === PAUSE TestGetPoliciesWorkflows/Second_call_is_a_refresh_(without_Krb5CCName_specified) 119s === RUN TestGetPoliciesWorkflows/Second_machine_call_after_service_restarted 119s === PAUSE TestGetPoliciesWorkflows/Second_machine_call_after_service_restarted 119s === RUN TestGetPoliciesWorkflows/Second_machine_call_after_a_restart 119s === PAUSE TestGetPoliciesWorkflows/Second_machine_call_after_a_restart 119s === RUN TestGetPoliciesWorkflows/Second_call_after_service_restarted 119s === PAUSE TestGetPoliciesWorkflows/Second_call_after_service_restarted 119s === RUN TestGetPoliciesWorkflows/Second_call_with_different_user 119s === PAUSE TestGetPoliciesWorkflows/Second_call_with_different_user 119s === RUN TestGetPoliciesWorkflows/Second_call_after_a_relogin 119s === PAUSE TestGetPoliciesWorkflows/Second_call_after_a_relogin 119s === CONT TestGetPoliciesOffline/Offline,_ensure_we_fetch_from_cache_and_not_fetch_GPO_list 119s time="2025-10-18T15:06:37Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s time="2025-10-18T15:06:37Z" level=info msg="Downloading \"standard-name\"" 119s time="2025-10-18T15:06:37Z" level=info msg="Downloading \"standard-name\"" 119s time="2025-10-18T15:06:37Z" level=info msg="Downloading \"assets\"" 119s time="2025-10-18T15:06:37Z" level=info msg="Can't reach AD: machine is offline and \"useroffline@GPOONLY.COM\" policies are applied using previous online update" 119s === CONT TestGetPoliciesOffline/Error_offline_with_no_cache 119s === CONT TestGetPoliciesOffline/Offline,_get_from_cache,_with_assets 119s time="2025-10-18T15:06:37Z" level=info msg="Can't reach AD: machine is offline and \"useroffline@ASSETSANDGPO.COM\" policies are applied using previous online update" 119s === CONT TestGetPoliciesOffline/Offline,_get_from_cache,_gpo_only 119s time="2025-10-18T15:06:37Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s time="2025-10-18T15:06:37Z" level=info msg="Downloading \"standard-name\"" 119s time="2025-10-18T15:06:37Z" level=info msg="Downloading \"standard-name\"" 119s time="2025-10-18T15:06:37Z" level=info msg="Downloading \"assets\"" 119s time="2025-10-18T15:06:38Z" level=info msg="Can't reach AD: machine is offline and \"useroffline@ASSETSANDGPO.COM\" policies are applied using previous online update" 119s time="2025-10-18T15:06:38Z" level=info msg="Can't reach AD: machine is offline and \"useroffline@GPOONLY.COM\" policies are applied using previous online update" 119s === CONT TestGetPoliciesOffline/Error_on_SSSD_reports_online,_but_we_are_actually_offline_when_fetching_gpo_list,_even_with_a_cache 119s === CONT TestParseGPOConcurrent 119s time="2025-10-18T15:06:38Z" level=info msg="Downloading \"standard-name\"" 119s --- PASS: TestParseGPOConcurrent (0.12s) 119s === CONT TestGetPolicies 119s === RUN TestGetPolicies/Computer_policy_Registry.pol_is_mixed_case 119s === PAUSE TestGetPolicies/Computer_policy_Registry.pol_is_mixed_case 119s === RUN TestGetPolicies/Policy_can’t_be_downloaded 119s === PAUSE TestGetPolicies/Policy_can’t_be_downloaded 119s === RUN TestGetPolicies/Standard_policy,_user_object 119s === PAUSE TestGetPolicies/Standard_policy,_user_object 119s === RUN TestGetPolicies/Assets_can’t_be_downloaded_without_GPO 119s === PAUSE TestGetPolicies/Assets_can’t_be_downloaded_without_GPO 119s === RUN TestGetPolicies/Policy_machine_directory_is_uppercase 119s === PAUSE TestGetPolicies/Policy_machine_directory_is_uppercase 119s === RUN TestGetPolicies/Unexisting_CC_original_file_for_user 119s === PAUSE TestGetPolicies/Unexisting_CC_original_file_for_user 119s === RUN TestGetPolicies/Error_on_backend_IsOnline_call_failed 119s === PAUSE TestGetPolicies/Error_on_backend_IsOnline_call_failed 119s === RUN TestGetPolicies/Empty_value_for_unfiltered_entry 119s === PAUSE TestGetPolicies/Empty_value_for_unfiltered_entry 119s === RUN TestGetPolicies/Assets_directory_being_a_file_cleanup_local_existing_assets_and_its_db 119s === PAUSE TestGetPolicies/Assets_directory_being_a_file_cleanup_local_existing_assets_and_its_db 119s === RUN TestGetPolicies/Enabled_override 119s === PAUSE TestGetPolicies/Enabled_override 119s === RUN TestGetPolicies/Multiple_domains,_same_GPO 119s === PAUSE TestGetPolicies/Multiple_domains,_same_GPO 119s === RUN TestGetPolicies/Two_policies,_no_overrides,_one_is_not_the_same_object_type,_machine_ones_are_empty_when_parsing_user 119s === PAUSE TestGetPolicies/Two_policies,_no_overrides,_one_is_not_the_same_object_type,_machine_ones_are_empty_when_parsing_user 119s === RUN TestGetPolicies/Include_non_Ubuntu_keys_used_to_configure_certificate_autoenrollment 119s === PAUSE TestGetPolicies/Include_non_Ubuntu_keys_used_to_configure_certificate_autoenrollment 119s === RUN TestGetPolicies/Policy_user_directory_is_not_capitalized_or_uppercase,_no_rules_are_parsed 119s === PAUSE TestGetPolicies/Policy_user_directory_is_not_capitalized_or_uppercase,_no_rules_are_parsed 119s === RUN TestGetPolicies/Computer_policy_Registry.pol_is_lower_case 119s === PAUSE TestGetPolicies/Computer_policy_Registry.pol_is_lower_case 119s === RUN TestGetPolicies/Unexisting_CC_original_file_for_machine 119s === PAUSE TestGetPolicies/Unexisting_CC_original_file_for_machine 119s === RUN TestGetPolicies/Disable_override_for_matching_release,_other_releases_override_ignored 119s === PAUSE TestGetPolicies/Disable_override_for_matching_release,_other_releases_override_ignored 119s === RUN TestGetPolicies/Machine_doesn’t_match 119s === PAUSE TestGetPolicies/Machine_doesn’t_match 119s === RUN TestGetPolicies/Error_on_backend_HostKrb5CCName_call_failed 119s === PAUSE TestGetPolicies/Error_on_backend_HostKrb5CCName_call_failed 119s === RUN TestGetPolicies/Error_on_user_without_@_in_name 119s === PAUSE TestGetPolicies/Error_on_user_without_@_in_name 119s === RUN TestGetPolicies/Unsupported_type_for_unfiltered_entry 119s === PAUSE TestGetPolicies/Unsupported_type_for_unfiltered_entry 119s === RUN TestGetPolicies/Enabled_override_for_matching_release,_other_releases_override_ignored 119s === PAUSE TestGetPolicies/Enabled_override_for_matching_release,_other_releases_override_ignored 119s === RUN TestGetPolicies/No_override_for_this_release,_takes_default_value 119s === PAUSE TestGetPolicies/No_override_for_this_release,_takes_default_value 119s === RUN TestGetPolicies/Two_policies,_with_overrides 119s === PAUSE TestGetPolicies/Two_policies,_with_overrides 119s === RUN TestGetPolicies/Disabled_value_overrides_non_disabled_one 119s === PAUSE TestGetPolicies/Disabled_value_overrides_non_disabled_one 119s === RUN TestGetPolicies/Filter_non_Ubuntu_keys 119s === PAUSE TestGetPolicies/Filter_non_Ubuntu_keys 119s === RUN TestGetPolicies/User_policy_Registry.pol_is_lower_case 119s === PAUSE TestGetPolicies/User_policy_Registry.pol_is_lower_case 119s === RUN TestGetPolicies/Symlinks_can’t_be_created 119s === PAUSE TestGetPolicies/Symlinks_can’t_be_created 119s === RUN TestGetPolicies/Standard_policy,_computer_object 119s === PAUSE TestGetPolicies/Standard_policy,_computer_object 119s === RUN TestGetPolicies/Two_policies,_with_reversed_overrides 119s === PAUSE TestGetPolicies/Two_policies,_with_reversed_overrides 119s === RUN TestGetPolicies/Two_policies,_no_overrides 119s === PAUSE TestGetPolicies/Two_policies,_no_overrides 119s === RUN TestGetPolicies/Disabled_value_is_overridden 119s === PAUSE TestGetPolicies/Disabled_value_is_overridden 119s === RUN TestGetPolicies/Ignore_errors_on_non_Ubuntu_keys 119s === PAUSE TestGetPolicies/Ignore_errors_on_non_Ubuntu_keys 119s === RUN TestGetPolicies/Error_on_backend_ServerFQDN_call_failed 119s === PAUSE TestGetPolicies/Error_on_backend_ServerFQDN_call_failed 119s === RUN TestGetPolicies/Corrupted_policy_file 119s === PAUSE TestGetPolicies/Corrupted_policy_file 119s === RUN TestGetPolicies/Standard_policy_with_assets,_downloads_assets 119s === PAUSE TestGetPolicies/Standard_policy_with_assets,_downloads_assets 119s === RUN TestGetPolicies/Standard_policy_with_assets,_existing_assets_are_reattached_if_not_refreshed 119s === PAUSE TestGetPolicies/Standard_policy_with_assets,_existing_assets_are_reattached_if_not_refreshed 119s === RUN TestGetPolicies/More_policies,_with_multiple_overrides 119s === PAUSE TestGetPolicies/More_policies,_with_multiple_overrides 119s === RUN TestGetPolicies/Policy_machine_directory_is_not_capitalized_or_uppercase,_no_rules_are_parsed 119s === PAUSE TestGetPolicies/Policy_machine_directory_is_not_capitalized_or_uppercase,_no_rules_are_parsed 119s === RUN TestGetPolicies/User_policy_Registry.pol_is_mixed_case 119s === PAUSE TestGetPolicies/User_policy_Registry.pol_is_mixed_case 119s === RUN TestGetPolicies/User_only_policy,_computer_object,_policy_is_empty 119s === PAUSE TestGetPolicies/User_only_policy,_computer_object,_policy_is_empty 119s === RUN TestGetPolicies/Disabled_override 119s === PAUSE TestGetPolicies/Disabled_override 119s === RUN TestGetPolicies/Policy_user_directory_is_uppercase 119s === PAUSE TestGetPolicies/Policy_user_directory_is_uppercase 119s === RUN TestGetPolicies/Without_previous_call,_needs_userKrb5CCBaseName 119s === PAUSE TestGetPolicies/Without_previous_call,_needs_userKrb5CCBaseName 119s === RUN TestGetPolicies/User_only_policy,_user_object 119s === PAUSE TestGetPolicies/User_only_policy,_user_object 119s === RUN TestGetPolicies/Computer_only_policy,_user_object,_policy_is_empty 119s === PAUSE TestGetPolicies/Computer_only_policy,_user_object,_policy_is_empty 119s === RUN TestGetPolicies/Local_assets_and_its_db_are_removed_if_not_present_anymore_on_AD_sysvol 119s === PAUSE TestGetPolicies/Local_assets_and_its_db_are_removed_if_not_present_anymore_on_AD_sysvol 119s === RUN TestGetPolicies/Same_key_in_different_domains_are_kept_separated 119s === PAUSE TestGetPolicies/Same_key_in_different_domains_are_kept_separated 119s === RUN TestGetPolicies/Two_policies,_no_overrides,_reversed 119s === PAUSE TestGetPolicies/Two_policies,_no_overrides,_reversed 119s === CONT TestNew 119s === RUN TestNew/failed_to_create_KRB5_cache_directory 119s === PAUSE TestNew/failed_to_create_KRB5_cache_directory 119s === RUN TestNew/failed_to_create_Sysvol_cache_directory 119s === PAUSE TestNew/failed_to_create_Sysvol_cache_directory 119s === RUN TestNew/failed_to_create_Policies_cache_directory 119s === PAUSE TestNew/failed_to_create_Policies_cache_directory 119s === RUN TestNew/no_active_server_in_backend_does_not_fail_ad_creation 119s === PAUSE TestNew/no_active_server_in_backend_does_not_fail_ad_creation 119s === RUN TestNew/error_on_backend_ServerFQDN_random_failure 119s === PAUSE TestNew/error_on_backend_ServerFQDN_random_failure 119s === RUN TestNew/create_KRB5_and_Sysvol_cache_directory 119s === PAUSE TestNew/create_KRB5_and_Sysvol_cache_directory 119s === CONT TestFetchTweakSysvolCacheDir 119s === RUN TestFetchTweakSysvolCacheDir/SysvolCacheDir_doesn't_exist 119s === PAUSE TestFetchTweakSysvolCacheDir/SysvolCacheDir_doesn't_exist 119s === RUN TestFetchTweakSysvolCacheDir/SysvolCacheDir_is_read_only 119s === PAUSE TestFetchTweakSysvolCacheDir/SysvolCacheDir_is_read_only 119s === CONT TestFetchOneGPOWhileParsingItConcurrently 119s time="2025-10-18T15:06:38Z" level=info msg="Downloading \"assets\"" 119s time="2025-10-18T15:06:38Z" level=info msg="Downloading \"standard-name\"" 119s time="2025-10-18T15:06:38Z" level=info msg="Downloading \"standard-name\"" 119s --- PASS: TestFetchOneGPOWhileParsingItConcurrently (0.03s) 119s === CONT TestFetchWithUnreadableFile 119s === RUN TestFetchWithUnreadableFile/without_gpo_initially_don’t_commit_new_partial_GPO 119s === PAUSE TestFetchWithUnreadableFile/without_gpo_initially_don’t_commit_new_partial_GPO 119s === RUN TestFetchWithUnreadableFile/existing_gpo_is_preserved 119s === PAUSE TestFetchWithUnreadableFile/existing_gpo_is_preserved 119s === CONT TestFetch/concurrent_same_gpos 119s time="2025-10-18T15:06:38Z" level=info msg="Downloading \"gpo1-name\"" 119s --- PASS: TestGetPoliciesOffline (0.00s) 119s --- PASS: TestGetPoliciesOffline/Offline,_ensure_we_fetch_from_cache_and_not_fetch_GPO_list (0.08s) 119s --- PASS: TestGetPoliciesOffline/Error_offline_with_no_cache (0.00s) 119s --- PASS: TestGetPoliciesOffline/Offline,_with_assets (0.09s) 119s --- PASS: TestGetPoliciesOffline/Offline,_get_from_cache,_gpo_only (0.08s) 119s --- PASS: TestGetPoliciesOffline/Offline,_get_from_cache,_with_assets (0.08s) 119s --- PASS: TestGetPoliciesOffline/Error_on_SSSD_reports_online,_but_we_are_actually_offline_when_fetching_gpo_list,_even_with_a_cache (0.19s) 119s === CONT TestGetPolicyDefinitions/Load_ADMX_and_ADML 119s === CONT TestFetch/assets_are_not_updated_if_remote_version_matches,_with_non-standard_GPT.INI_casing 119s time="2025-10-18T15:06:38Z" level=info msg="GPO \"gpo1-name\" is already up to date" 119s time="2025-10-18T15:06:38Z" level=info msg="Assets directory is already up to date" 119s === CONT TestFetch/assets_only_are_downloaded 119s === CONT TestFetch/Local_gpo_redownloaded_on_version_entry_missing_in_GPT.INI 119s time="2025-10-18T15:06:38Z" level=info msg="No version key found in GPT.INI for gpo1-name, assuming 0" 119s time="2025-10-18T15:06:38Z" level=info msg="Downloading \"assets\"" 119s time="2025-10-18T15:06:38Z" level=info msg="Downloading \"gpo1-name\"" 119s === CONT TestFetch/Local_gpo_redownloaded_on_missing_GPT.INI 119s time="2025-10-18T15:06:38Z" level=info msg="Downloading \"gpo1-name\"" 119s === CONT TestFetch/two_gpos,_one_more_recent,_one_should_be_refreshed 119s time="2025-10-18T15:06:38Z" level=info msg="Downloading \"gpo1-name\"" 119s time="2025-10-18T15:06:38Z" level=info msg="GPO \"gpo2-name\" is already up to date" 119s === CONT TestFetch/two_gpos,_one_should_be_refreshed,_one_new 119s time="2025-10-18T15:06:38Z" level=info msg="Downloading \"gpo2-name\"" 119s time="2025-10-18T15:06:38Z" level=info msg="Downloading \"gpo1-name\"" 119s === CONT TestFetch/Error_missing_remote_GPT.INI 119s === CONT TestFetch/gpos_and_assets 119s time="2025-10-18T15:06:38Z" level=info msg="Downloading \"assets\"" 119s time="2025-10-18T15:06:38Z" level=info msg="Downloading \"gpo1-name\"" 119s === CONT TestFetch/gpo_already_up_to_date 119s time="2025-10-18T15:06:38Z" level=info msg="GPO \"gpo1-name\" is already up to date" 119s === CONT TestFetch/two_new_gpos 119s === CONT TestFetch/Error_keeps_downloading_other_GPOS 119s time="2025-10-18T15:06:38Z" level=info msg="Downloading \"gpo1-name\"" 119s time="2025-10-18T15:06:38Z" level=info msg="Downloading \"gpo2-name\"" 119s time="2025-10-18T15:06:38Z" level=info msg="Downloading \"gpo2-name\"" 119s === CONT TestFetch/existing_assets_are_kept_if_no_assets_downloadable_provided 119s === CONT TestFetch/local_gpo_is_more_recent_than_AD_one 119s === CONT TestFetch/gpo_is_refreshed 119s time="2025-10-18T15:06:38Z" level=info msg="GPO \"gpo2-name\" is already up to date" 119s === CONT TestFetch/two_gpos,_one_already_up_to_date,_one_new 119s time="2025-10-18T15:06:38Z" level=info msg="Downloading \"gpo1-name\"" 119s time="2025-10-18T15:06:38Z" level=info msg="Downloading \"gpo2-name\"" 119s time="2025-10-18T15:06:38Z" level=info msg="GPO \"gpo1-name\" is already up to date" 119s === CONT TestFetch/assets_root_directory_not_present_on_SYSVOL_issues_a_warning_only 119s time="2025-10-18T15:06:38Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s === CONT TestFetch/Error_remote_version_NaN 119s === CONT TestFetch/Error_unexistant_remote_gpo 119s === CONT TestFetch/assets_are_not_updated_if_local_version_matches,_with_non-standard_GPT.INI_casing 119s === CONT TestFetch/remote_version_entry_missing_treated_as_0 119s time="2025-10-18T15:06:38Z" level=info msg="Assets directory is already up to date" 119s === CONT TestFetch/assets_are_not_updated_if_version_matches 119s time="2025-10-18T15:06:38Z" level=info msg="No version key found in GPT.INI for gpt_ini_version_missing-name, assuming 0" 119s time="2025-10-18T15:06:38Z" level=info msg="GPO \"gpt_ini_version_missing-name\" is already up to date" 119s === CONT TestFetch/Local_gpo_redownloaded_on_NaN_version_in_GPT.INI 119s time="2025-10-18T15:06:38Z" level=warning msg="Invalid local GPT.INI for gpo1-name: invalid remote GPT.INI: strconv.ParseInt: parsing \"NaN\": invalid syntax\nDownloading it again…" 119s time="2025-10-18T15:06:38Z" level=info msg="Assets directory is already up to date" 119s === CONT TestFetch/two_gpos,_one_more_recent,_one_new 119s time="2025-10-18T15:06:38Z" level=info msg="Downloading \"gpo1-name\"" 119s time="2025-10-18T15:06:38Z" level=info msg="Downloading \"gpo1-name\"" 119s time="2025-10-18T15:06:38Z" level=info msg="GPO \"gpo2-name\" is already up to date" 119s === CONT TestFetch/two_gpos,_one_more_recent,_one_up_to_date 119s === CONT TestFetch/two_gpos,_one_already_up_to_date,_one_should_be_refreshed 119s time="2025-10-18T15:06:38Z" level=info msg="GPO \"gpo2-name\" is already up to date" 119s time="2025-10-18T15:06:38Z" level=info msg="GPO \"gpo1-name\" is already up to date" 119s time="2025-10-18T15:06:38Z" level=info msg="Downloading \"gpo1-name\"" 119s time="2025-10-18T15:06:38Z" level=info msg="GPO \"gpo2-name\" is already up to date" 119s === CONT TestFetch/concurrent_different_gpos 119s time="2025-10-18T15:06:38Z" level=info msg="Downloading \"gpo2-name\"" 119s === CONT TestFetch/existing_assets_are_removed_if_not_present_on_SYSVOL 119s time="2025-10-18T15:06:38Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s time="2025-10-18T15:06:38Z" level=info msg="Downloading \"gpo1-name\"" 119s === CONT TestFetch/assets_are_updated_to_latest_version 119s time="2025-10-18T15:06:38Z" level=info msg="Downloading \"assets\"" 119s === CONT TestFetch/keep_existing_gpos_intact 119s time="2025-10-18T15:06:38Z" level=info msg="GPO \"gpo1-name\" is already up to date" 119s === CONT TestFetch/one_new_gpo 119s === CONT TestFetch/assets_is_a_file_is_not_downloaded 119s time="2025-10-18T15:06:38Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s time="2025-10-18T15:06:38Z" level=info msg="Downloading \"gpo1-name\"" 119s === CONT TestGetPolicyDefinitions/ADMX_and_ADML_does_not_exist_for_this_distro 119s === CONT TestGetPolicyDefinitions/ADMX_and_ADML_does_not_exist_for_this_format 119s --- PASS: TestGetPolicyDefinitions (0.00s) 119s --- PASS: TestGetPolicyDefinitions/Load_ADMX_and_ADML (0.00s) 119s --- PASS: TestGetPolicyDefinitions/ADMX_and_ADML_does_not_exist_for_this_distro (0.00s) 119s --- PASS: TestGetPolicyDefinitions/ADMX_and_ADML_does_not_exist_for_this_format (0.00s) 119s === CONT TestNormalizeTargetName/One_valid_user 119s === CONT TestGetInfo/Info_reported_from_backend,_online 119s === CONT TestNormalizeTargetName/Computer_name_without_objectClass 119s === CONT TestNormalizeTargetName/User_name_matching_computer,_setting_as_user 119s === CONT TestNormalizeTargetName/Error_on_multiple_\_in_name 119s === CONT TestNormalizeTargetName/Computer_with_@_is_left_as_such 119s === CONT TestNormalizeTargetName/One_valid_user_with_mixed_case 119s === CONT TestNormalizeTargetName/User_name_fqdn_matching_computer 119s === CONT TestNormalizeTargetName/Error_on_no_default_domain_suffix_and_no_fqdn_user 119s === CONT TestNormalizeTargetName/Computer_in_uppercase_is_left_as_such 119s === CONT TestNormalizeTargetName/Computer_is_left_as_such 119s === CONT TestNormalizeTargetName/One_user_without_explicit_domain_suffix 119s === CONT TestNormalizeTargetName/One_valid_user_with_domain\user 119s --- PASS: TestNormalizeTargetName (0.00s) 119s --- PASS: TestNormalizeTargetName/One_valid_user (0.00s) 119s --- PASS: TestNormalizeTargetName/Computer_name_without_objectClass (0.00s) 119s --- PASS: TestNormalizeTargetName/User_name_matching_computer,_setting_as_user (0.00s) 119s --- PASS: TestNormalizeTargetName/Error_on_multiple_\_in_name (0.00s) 119s --- PASS: TestNormalizeTargetName/Computer_with_@_is_left_as_such (0.00s) 119s --- PASS: TestNormalizeTargetName/One_valid_user_with_mixed_case (0.00s) 119s --- PASS: TestNormalizeTargetName/User_name_fqdn_matching_computer (0.00s) 119s --- PASS: TestNormalizeTargetName/Error_on_no_default_domain_suffix_and_no_fqdn_user (0.00s) 119s --- PASS: TestNormalizeTargetName/Computer_in_uppercase_is_left_as_such (0.00s) 119s --- PASS: TestNormalizeTargetName/Computer_is_left_as_such (0.00s) 119s --- PASS: TestNormalizeTargetName/One_user_without_explicit_domain_suffix (0.00s) 119s --- PASS: TestNormalizeTargetName/One_valid_user_with_domain\user (0.00s) 119s === CONT TestGetInfo/Report_unknown_state_if_IsOnline_calls_fail 119s time="2025-10-18T15:06:38Z" level=warning msg="IsOnline returned an error" 119s === CONT TestGetInfo/Report_unknown_state_if_ServerFQDN_calls_fail 119s === CONT TestGetInfo/Info_reported_from_backend,_offline 119s --- PASS: TestGetInfo (0.00s) 119s --- PASS: TestGetInfo/Info_reported_from_backend,_online (0.00s) 119s --- PASS: TestGetInfo/Report_unknown_state_if_IsOnline_calls_fail (0.00s) 119s --- PASS: TestGetInfo/Report_unknown_state_if_ServerFQDN_calls_fail (0.00s) 119s --- PASS: TestGetInfo/Info_reported_from_backend,_offline (0.00s) 119s === CONT TestListUsers/Two_users,_dangling_symlink_for_one 119s === CONT TestGetPoliciesConcurrently/Machine_requested_twice_at_the_same_time 119s --- PASS: TestFetch (0.00s) 119s --- PASS: TestFetch/concurrent_same_gpos (0.06s) 119s --- PASS: TestFetch/assets_are_not_updated_if_remote_version_matches,_with_non-standard_GPT.INI_casing (0.02s) 119s --- PASS: TestFetch/assets_only_are_downloaded (0.02s) 119s --- PASS: TestFetch/Local_gpo_redownloaded_on_version_entry_missing_in_GPT.INI (0.05s) 119s --- PASS: TestFetch/Local_gpo_redownloaded_on_missing_GPT.INI (0.06s) 119s --- PASS: TestFetch/two_gpos,_one_more_recent,_one_should_be_refreshed (0.05s) 119s --- PASS: TestFetch/Error_missing_remote_GPT.INI (0.01s) 119s --- PASS: TestFetch/two_gpos,_one_should_be_refreshed,_one_new (0.05s) 119s --- PASS: TestFetch/gpo_already_up_to_date (0.01s) 119s --- PASS: TestFetch/gpos_and_assets (0.04s) 119s --- PASS: TestFetch/Error_keeps_downloading_other_GPOS (0.04s) 119s --- PASS: TestFetch/two_new_gpos (0.04s) 119s --- PASS: TestFetch/existing_assets_are_kept_if_no_assets_downloadable_provided (0.00s) 119s --- PASS: TestFetch/local_gpo_is_more_recent_than_AD_one (0.01s) 119s --- PASS: TestFetch/two_gpos,_one_already_up_to_date,_one_new (0.02s) 119s --- PASS: TestFetch/assets_root_directory_not_present_on_SYSVOL_issues_a_warning_only (0.01s) 119s --- PASS: TestFetch/Error_remote_version_NaN (0.01s) 119s --- PASS: TestFetch/gpo_is_refreshed (0.05s) 119s --- PASS: TestFetch/Error_unexistant_remote_gpo (0.01s) 119s --- PASS: TestFetch/assets_are_not_updated_if_local_version_matches,_with_non-standard_GPT.INI_casing (0.01s) 119s --- PASS: TestFetch/remote_version_entry_missing_treated_as_0 (0.01s) 119s --- PASS: TestFetch/assets_are_not_updated_if_version_matches (0.01s) 119s --- PASS: TestFetch/two_gpos,_one_more_recent,_one_new (0.03s) 119s --- PASS: TestFetch/Local_gpo_redownloaded_on_NaN_version_in_GPT.INI (0.04s) 119s --- PASS: TestFetch/two_gpos,_one_more_recent,_one_up_to_date (0.03s) 119s --- PASS: TestFetch/two_gpos,_one_already_up_to_date,_one_should_be_refreshed (0.04s) 119s --- PASS: TestFetch/existing_assets_are_removed_if_not_present_on_SYSVOL (0.02s) 119s --- PASS: TestFetch/assets_are_updated_to_latest_version (0.03s) 119s --- PASS: TestFetch/keep_existing_gpos_intact (0.01s) 119s --- PASS: TestFetch/concurrent_different_gpos (0.08s) 119s --- PASS: TestFetch/assets_is_a_file_is_not_downloaded (0.01s) 119s --- PASS: TestFetch/one_new_gpo (0.03s) 119s === CONT TestListUsers/One_user 119s === CONT TestListUsers/Error_on_policy_cache_directory_not_existing 119s === CONT TestListUsers/Error_on_Krb5_directory_not_existing 119s === CONT TestListUsers/Ticket_cache_ignored_if_policy_cache_is_requested 119s === CONT TestListUsers/Machine_Only,_from_policy_cache 119s === CONT TestListUsers/One_user,_from_policy_cache 119s === CONT TestListUsers/Machines_are_ignored 119s === CONT TestListUsers/None 119s === CONT TestListUsers/Two_users 119s === CONT TestListUsers/Machines_are_ignored,_from_policy_cache 119s === CONT TestListUsers/None,_from_policy_cache 119s === CONT TestListUsers/Two_users,_from_policy_cache 119s === CONT TestListUsers/Machine_Only 119s --- PASS: TestListUsers (0.00s) 119s --- PASS: TestListUsers/Two_users,_dangling_symlink_for_one (0.00s) 119s --- PASS: TestListUsers/One_user (0.00s) 119s --- PASS: TestListUsers/Error_on_policy_cache_directory_not_existing (0.00s) 119s --- PASS: TestListUsers/Error_on_Krb5_directory_not_existing (0.00s) 119s --- PASS: TestListUsers/Ticket_cache_ignored_if_policy_cache_is_requested (0.00s) 119s --- PASS: TestListUsers/Machine_Only,_from_policy_cache (0.00s) 119s --- PASS: TestListUsers/One_user,_from_policy_cache (0.00s) 119s --- PASS: TestListUsers/Machines_are_ignored (0.00s) 119s --- PASS: TestListUsers/None (0.00s) 119s --- PASS: TestListUsers/Two_users (0.00s) 119s --- PASS: TestListUsers/Machines_are_ignored,_from_policy_cache (0.00s) 119s --- PASS: TestListUsers/None,_from_policy_cache (0.00s) 119s --- PASS: TestListUsers/Two_users,_from_policy_cache (0.00s) 119s --- PASS: TestListUsers/Machine_Only (0.00s) 119s === CONT TestGetPoliciesWorkflows/Second_call_without_Krb5CCName_refreshes_ticket_copy_if_needed 119s time="2025-10-18T15:06:38Z" level=info msg="Downloading \"standard-name\"" 119s time="2025-10-18T15:06:38Z" level=info msg="Downloading \"standard-name\"" 119s time="2025-10-18T15:06:38Z" level=info msg="Downloading \"assets\"" 119s time="2025-10-18T15:06:38Z" level=info msg="Downloading \"assets\"" 119s time="2025-10-18T15:06:38Z" level=info msg="GPO \"standard-name\" is already up to date" 119s time="2025-10-18T15:06:38Z" level=info msg="Assets directory is already up to date" 119s time="2025-10-18T15:06:38Z" level=info msg="Assets directory is already up to date" 119s time="2025-10-18T15:06:38Z" level=info msg="GPO \"standard-name\" is already up to date" 119s === CONT TestGetPoliciesConcurrently/One_machine,_one_user 119s === CONT TestGetPoliciesConcurrently/Different_users,_different_GPO 119s time="2025-10-18T15:06:38Z" level=info msg="Downloading \"standard-name\"" 119s time="2025-10-18T15:06:38Z" level=info msg="Downloading \"standard-name\"" 119s time="2025-10-18T15:06:38Z" level=info msg="Downloading \"assets\"" 119s time="2025-10-18T15:06:38Z" level=info msg="Downloading \"assets\"" 119s time="2025-10-18T15:06:38Z" level=info msg="GPO \"standard-name\" is already up to date" 119s time="2025-10-18T15:06:38Z" level=info msg="Assets directory is already up to date" 119s === CONT TestGetPoliciesConcurrently/Different_users,_same_GPO 119s time="2025-10-18T15:06:38Z" level=info msg="Downloading \"standard-name\"" 119s time="2025-10-18T15:06:38Z" level=info msg="Assets directory is already up to date" 119s time="2025-10-18T15:06:38Z" level=info msg="Downloading \"one-value-name\"" 119s time="2025-10-18T15:06:38Z" level=info msg="Downloading \"assets\"" 119s === CONT TestGetPoliciesConcurrently/Same_user,_same_GPO 119s time="2025-10-18T15:06:39Z" level=info msg="Assets directory is already up to date" 119s time="2025-10-18T15:06:39Z" level=info msg="Downloading \"assets\"" 119s time="2025-10-18T15:06:39Z" level=info msg="Downloading \"standard-name\"" 119s time="2025-10-18T15:06:39Z" level=info msg="GPO \"standard-name\" is already up to date" 119s === CONT TestGetPoliciesWorkflows/Second_machine_call_after_a_restart 119s time="2025-10-18T15:06:39Z" level=info msg="GPO \"standard-name\" is already up to date" 119s time="2025-10-18T15:06:39Z" level=info msg="Assets directory is already up to date" 119s --- PASS: TestGetPoliciesConcurrently (0.00s) 119s --- PASS: TestGetPoliciesConcurrently/Machine_requested_twice_at_the_same_time (0.14s) 119s --- PASS: TestGetPoliciesConcurrently/One_machine,_one_user (0.11s) 119s --- PASS: TestGetPoliciesConcurrently/Different_users,_different_GPO (0.17s) 119s --- PASS: TestGetPoliciesConcurrently/Different_users,_same_GPO (0.12s) 119s --- PASS: TestGetPoliciesConcurrently/Same_user,_same_GPO (0.11s) 119s === CONT TestGetPoliciesWorkflows/Second_call_after_a_relogin 119s time="2025-10-18T15:06:39Z" level=info msg="Downloading \"assets\"" 119s time="2025-10-18T15:06:39Z" level=info msg="Downloading \"standard-name\"" 119s time="2025-10-18T15:06:39Z" level=info msg="Assets directory is already up to date" 119s time="2025-10-18T15:06:39Z" level=info msg="Downloading \"assets\"" 119s time="2025-10-18T15:06:39Z" level=info msg="GPO \"standard-name\" is already up to date" 119s === CONT TestGetPoliciesWorkflows/Second_call_with_different_user 119s time="2025-10-18T15:06:39Z" level=info msg="Downloading \"standard-name\"" 119s time="2025-10-18T15:06:39Z" level=info msg="Downloading \"standard-name\"" 119s time="2025-10-18T15:06:39Z" level=info msg="GPO \"standard-name\" is already up to date" 119s time="2025-10-18T15:06:39Z" level=info msg="Assets directory is already up to date" 119s === CONT TestGetPoliciesWorkflows/Second_call_after_service_restarted 119s time="2025-10-18T15:06:39Z" level=info msg="Downloading \"assets\"" 119s time="2025-10-18T15:06:39Z" level=info msg="Assets directory is already up to date" 119s time="2025-10-18T15:06:39Z" level=info msg="Downloading \"standard-name\"" 119s time="2025-10-18T15:06:39Z" level=info msg="GPO \"standard-name\" is already up to date" 119s === CONT TestGetPoliciesWorkflows/Second_call_is_a_refresh_(without_Krb5CCName_specified) 119s time="2025-10-18T15:06:39Z" level=info msg="Downloading \"assets\"" 119s time="2025-10-18T15:06:39Z" level=info msg="GPO \"standard-name\" is already up to date" 119s time="2025-10-18T15:06:39Z" level=info msg="Downloading \"assets\"" 119s time="2025-10-18T15:06:39Z" level=info msg="Assets directory is already up to date" 119s === CONT TestGetPoliciesWorkflows/Second_machine_call_after_service_restarted 119s time="2025-10-18T15:06:39Z" level=info msg="Downloading \"standard-name\"" 119s time="2025-10-18T15:06:39Z" level=info msg="GPO \"standard-name\" is already up to date" 119s time="2025-10-18T15:06:39Z" level=info msg="Assets directory is already up to date" 119s === CONT TestGetPoliciesWorkflows/Second_machine_call_is_a_refresh_(without_Krb5CCName_specified) 119s time="2025-10-18T15:06:39Z" level=info msg="Downloading \"standard-name\"" 119s time="2025-10-18T15:06:39Z" level=info msg="Downloading \"assets\"" 119s time="2025-10-18T15:06:39Z" level=info msg="Downloading \"assets\"" 119s time="2025-10-18T15:06:39Z" level=info msg="Assets directory is already up to date" 119s time="2025-10-18T15:06:39Z" level=info msg="GPO \"standard-name\" is already up to date" 119s === CONT TestGetPoliciesWorkflows/Second_call_without_Krb5CCName_replaces_previous_symlinks_in_the_original_path 119s time="2025-10-18T15:06:39Z" level=info msg="Downloading \"standard-name\"" 119s time="2025-10-18T15:06:39Z" level=info msg="Downloading \"standard-name\"" 119s time="2025-10-18T15:06:39Z" level=info msg="Assets directory is already up to date" 119s time="2025-10-18T15:06:39Z" level=info msg="Downloading \"assets\"" 119s time="2025-10-18T15:06:39Z" level=info msg="GPO \"standard-name\" is already up to date" 119s === CONT TestGetPolicies/Computer_policy_Registry.pol_is_mixed_case 119s time="2025-10-18T15:06:39Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s time="2025-10-18T15:06:39Z" level=info msg="Assets directory is already up to date" 119s time="2025-10-18T15:06:39Z" level=info msg="Downloading \"mixedcase-registry-name\"" 119s time="2025-10-18T15:06:39Z" level=info msg="GPO \"standard-name\" is already up to date" 119s --- PASS: TestGetPoliciesWorkflows (0.00s) 119s --- PASS: TestGetPoliciesWorkflows/Second_call_without_Krb5CCName_refreshes_ticket_copy_if_needed (0.13s) 119s --- PASS: TestGetPoliciesWorkflows/Second_machine_call_after_a_restart (0.14s) 119s --- PASS: TestGetPoliciesWorkflows/Second_call_after_a_relogin (0.14s) 119s --- PASS: TestGetPoliciesWorkflows/Second_call_with_different_user (0.11s) 119s --- PASS: TestGetPoliciesWorkflows/Second_call_after_service_restarted (0.13s) 119s --- PASS: TestGetPoliciesWorkflows/Second_call_is_a_refresh_(without_Krb5CCName_specified) (0.13s) 119s --- PASS: TestGetPoliciesWorkflows/Second_machine_call_after_service_restarted (0.14s) 119s --- PASS: TestGetPoliciesWorkflows/Second_machine_call_is_a_refresh_(without_Krb5CCName_specified) (0.15s) 119s --- PASS: TestGetPoliciesWorkflows/Second_call_without_Krb5CCName_replaces_previous_symlinks_in_the_original_path (0.13s) 119s === CONT TestNew/failed_to_create_KRB5_cache_directory 119s === CONT TestGetPolicies/Two_policies,_no_overrides,_reversed 119s === CONT TestGetPolicies/Same_key_in_different_domains_are_kept_separated 119s time="2025-10-18T15:06:39Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s time="2025-10-18T15:06:39Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s time="2025-10-18T15:06:39Z" level=info msg="Downloading \"one-value-name\"" 119s time="2025-10-18T15:06:39Z" level=info msg="Downloading \"other-domain-name\"" 119s time="2025-10-18T15:06:39Z" level=info msg="Downloading \"one-value-name\"" 119s time="2025-10-18T15:06:39Z" level=info msg="Downloading \"user-only-name\"" 119s === CONT TestGetPolicies/Local_assets_and_its_db_are_removed_if_not_present_anymore_on_AD_sysvol 119s === CONT TestGetPolicies/Computer_only_policy,_user_object,_policy_is_empty 119s time="2025-10-18T15:06:39Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s time="2025-10-18T15:06:39Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s time="2025-10-18T15:06:39Z" level=info msg="Downloading \"standard-name\"" 119s time="2025-10-18T15:06:39Z" level=info msg="Downloading \"machine-only-name\"" 119s === CONT TestGetPolicies/User_only_policy,_user_object 119s === CONT TestGetPolicies/Without_previous_call,_needs_userKrb5CCBaseName 119s === CONT TestGetPolicies/Policy_user_directory_is_uppercase 119s time="2025-10-18T15:06:39Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s time="2025-10-18T15:06:39Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s time="2025-10-18T15:06:39Z" level=info msg="Downloading \"uppercase-class-name\"" 119s time="2025-10-18T15:06:39Z" level=info msg="Downloading \"user-only-name\"" 119s === CONT TestGetPolicies/Disabled_override 119s === CONT TestGetPolicies/User_only_policy,_computer_object,_policy_is_empty 119s time="2025-10-18T15:06:39Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s time="2025-10-18T15:06:39Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s time="2025-10-18T15:06:39Z" level=info msg="Downloading \"user-only-name\"" 119s time="2025-10-18T15:06:39Z" level=info msg="Downloading \"multiple-releases-one-disabled-name\"" 119s === CONT TestGetPolicies/User_policy_Registry.pol_is_mixed_case 119s === CONT TestGetPolicies/Policy_machine_directory_is_not_capitalized_or_uppercase,_no_rules_are_parsed 119s time="2025-10-18T15:06:39Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s time="2025-10-18T15:06:39Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s time="2025-10-18T15:06:39Z" level=info msg="Downloading \"mixedcase-registry-name\"" 119s time="2025-10-18T15:06:39Z" level=info msg="Downloading \"lowercase-class-name\"" 119s === CONT TestGetPolicies/More_policies,_with_multiple_overrides 119s === CONT TestGetPolicies/Standard_policy_with_assets,_existing_assets_are_reattached_if_not_refreshed 119s time="2025-10-18T15:06:40Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s time="2025-10-18T15:06:40Z" level=info msg="Downloading \"one-value-name\"" 119s time="2025-10-18T15:06:40Z" level=info msg="Downloading \"standard-name\"" 119s time="2025-10-18T15:06:40Z" level=info msg="Downloading \"user-only-name\"" 119s time="2025-10-18T15:06:40Z" level=info msg="Assets directory is already up to date" 119s time="2025-10-18T15:06:40Z" level=info msg="Downloading \"standard-name\"" 119s === CONT TestGetPolicies/Standard_policy_with_assets,_downloads_assets 119s === CONT TestGetPolicies/Corrupted_policy_file 119s time="2025-10-18T15:06:40Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s time="2025-10-18T15:06:40Z" level=info msg="Downloading \"assets\"" 119s time="2025-10-18T15:06:40Z" level=info msg="Downloading \"corrupted-policy-name\"" 119s time="2025-10-18T15:06:40Z" level=info msg="Downloading \"standard-name\"" 119s === CONT TestGetPolicies/Error_on_backend_ServerFQDN_call_failed 119s === CONT TestGetPolicies/Ignore_errors_on_non_Ubuntu_keys 119s === CONT TestGetPolicies/Disabled_value_is_overridden 119s time="2025-10-18T15:06:40Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s time="2025-10-18T15:06:40Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s time="2025-10-18T15:06:40Z" level=info msg="Downloading \"unsupported-with-errors-name\"" 119s time="2025-10-18T15:06:40Z" level=info msg="Downloading \"disabled-value-name\"" 119s time="2025-10-18T15:06:40Z" level=info msg="Downloading \"standard-name\"" 119s === CONT TestGetPolicies/Two_policies,_no_overrides 119s === CONT TestGetPolicies/Two_policies,_with_reversed_overrides 119s time="2025-10-18T15:06:40Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s time="2025-10-18T15:06:40Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s time="2025-10-18T15:06:40Z" level=info msg="Downloading \"one-value-name\"" 119s time="2025-10-18T15:06:40Z" level=info msg="Downloading \"user-only-name\"" 119s time="2025-10-18T15:06:40Z" level=info msg="Downloading \"one-value-name\"" 119s time="2025-10-18T15:06:40Z" level=info msg="Downloading \"standard-name\"" 119s === CONT TestGetPolicies/Standard_policy,_computer_object 119s === CONT TestGetPolicies/Symlinks_can’t_be_created 119s === CONT TestGetPolicies/User_policy_Registry.pol_is_lower_case 119s time="2025-10-18T15:06:40Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s time="2025-10-18T15:06:40Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s time="2025-10-18T15:06:40Z" level=info msg="Downloading \"lowercase-registry-name\"" 119s time="2025-10-18T15:06:40Z" level=info msg="Downloading \"standard-name\"" 119s === CONT TestGetPolicies/Filter_non_Ubuntu_keys 119s === CONT TestGetPolicies/Disabled_value_overrides_non_disabled_one 119s time="2025-10-18T15:06:40Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s time="2025-10-18T15:06:40Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s time="2025-10-18T15:06:40Z" level=info msg="Downloading \"standard-name\"" 119s time="2025-10-18T15:06:40Z" level=info msg="Downloading \"filtered-name\"" 119s time="2025-10-18T15:06:40Z" level=info msg="Downloading \"disabled-value-name\"" 119s === CONT TestGetPolicies/Two_policies,_with_overrides 119s === CONT TestGetPolicies/No_override_for_this_release,_takes_default_value 119s time="2025-10-18T15:06:40Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s time="2025-10-18T15:06:40Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s time="2025-10-18T15:06:40Z" level=info msg="Downloading \"standard-name\"" 119s time="2025-10-18T15:06:40Z" level=info msg="Downloading \"multiple-releases-name\"" 119s time="2025-10-18T15:06:40Z" level=info msg="Downloading \"one-value-name\"" 119s === CONT TestGetPolicies/Enabled_override_for_matching_release,_other_releases_override_ignored 119s === CONT TestGetPolicies/Unsupported_type_for_unfiltered_entry 119s time="2025-10-18T15:06:40Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s time="2025-10-18T15:06:40Z" level=info msg="Downloading \"multiple-releases-name\"" 119s time="2025-10-18T15:06:40Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s time="2025-10-18T15:06:40Z" level=info msg="Downloading \"bad-entry-type-name\"" 119s === CONT TestGetPolicies/Error_on_user_without_@_in_name 119s === CONT TestGetPolicies/Error_on_backend_HostKrb5CCName_call_failed 119s === CONT TestGetPolicies/Machine_doesn’t_match 119s === CONT TestGetPolicies/Disable_override_for_matching_release,_other_releases_override_ignored 119s === CONT TestGetPolicies/Unexisting_CC_original_file_for_machine 119s === CONT TestGetPolicies/Computer_policy_Registry.pol_is_lower_case 119s time="2025-10-18T15:06:40Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s time="2025-10-18T15:06:40Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s time="2025-10-18T15:06:40Z" level=info msg="Downloading \"multiple-releases-name\"" 119s time="2025-10-18T15:06:40Z" level=info msg="Downloading \"lowercase-registry-name\"" 119s === CONT TestGetPolicies/Policy_user_directory_is_not_capitalized_or_uppercase,_no_rules_are_parsed 119s === CONT TestGetPolicies/Include_non_Ubuntu_keys_used_to_configure_certificate_autoenrollment 119s time="2025-10-18T15:06:40Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s time="2025-10-18T15:06:40Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s time="2025-10-18T15:06:40Z" level=info msg="Downloading \"lowercase-class-name\"" 119s time="2025-10-18T15:06:40Z" level=info msg="Downloading \"filtered-with-certificate-autoenrollment-name\"" 119s === CONT TestGetPolicies/Two_policies,_no_overrides,_one_is_not_the_same_object_type,_machine_ones_are_empty_when_parsing_user 119s === CONT TestGetPolicies/Multiple_domains,_same_GPO 119s time="2025-10-18T15:06:40Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s time="2025-10-18T15:06:40Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s time="2025-10-18T15:06:40Z" level=info msg="Downloading \"multiple-domains-name\"" 119s time="2025-10-18T15:06:40Z" level=info msg="Downloading \"standard-name\"" 119s time="2025-10-18T15:06:40Z" level=info msg="Downloading \"machine-only-name\"" 119s === CONT TestGetPolicies/Enabled_override 119s === CONT TestGetPolicies/Assets_directory_being_a_file_cleanup_local_existing_assets_and_its_db 119s time="2025-10-18T15:06:40Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s time="2025-10-18T15:06:40Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s time="2025-10-18T15:06:40Z" level=info msg="Downloading \"standard-name\"" 119s time="2025-10-18T15:06:40Z" level=info msg="Downloading \"multiple-releases-one-enabled-name\"" 119s === CONT TestGetPolicies/Empty_value_for_unfiltered_entry 119s === CONT TestGetPolicies/Error_on_backend_IsOnline_call_failed 119s === CONT TestGetPolicies/Unexisting_CC_original_file_for_user 119s === CONT TestGetPolicies/Policy_machine_directory_is_uppercase 119s time="2025-10-18T15:06:40Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s time="2025-10-18T15:06:40Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s time="2025-10-18T15:06:40Z" level=info msg="Downloading \"uppercase-class-name\"" 119s time="2025-10-18T15:06:40Z" level=info msg="Downloading \"empty-value-name\"" 119s === CONT TestGetPolicies/Assets_can’t_be_downloaded_without_GPO 119s === CONT TestGetPolicies/Standard_policy,_user_object 119s === CONT TestGetPolicies/Policy_can’t_be_downloaded 119s time="2025-10-18T15:06:40Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s time="2025-10-18T15:06:40Z" level=info msg="Downloading \"standard-name\"" 119s === CONT TestFetchTweakSysvolCacheDir/SysvolCacheDir_doesn't_exist 119s time="2025-10-18T15:06:40Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 119s time="2025-10-18T15:06:40Z" level=info msg="Downloading \"gpo1-name\"" 119s --- PASS: TestGetPolicies (0.00s) 119s --- PASS: TestGetPolicies/Computer_policy_Registry.pol_is_mixed_case (0.07s) 119s --- PASS: TestGetPolicies/Same_key_in_different_domains_are_kept_separated (0.06s) 119s --- PASS: TestGetPolicies/Two_policies,_no_overrides,_reversed (0.07s) 119s --- PASS: TestGetPolicies/Computer_only_policy,_user_object,_policy_is_empty (0.06s) 119s --- PASS: TestGetPolicies/Local_assets_and_its_db_are_removed_if_not_present_anymore_on_AD_sysvol (0.08s) 119s --- PASS: TestGetPolicies/Without_previous_call,_needs_userKrb5CCBaseName (0.00s) 119s --- PASS: TestGetPolicies/Policy_user_directory_is_uppercase (0.07s) 119s --- PASS: TestGetPolicies/User_only_policy,_user_object (0.07s) 119s --- PASS: TestGetPolicies/User_only_policy,_computer_object,_policy_is_empty (0.06s) 119s --- PASS: TestGetPolicies/Disabled_override (0.06s) 119s --- PASS: TestGetPolicies/User_policy_Registry.pol_is_mixed_case (0.06s) 119s --- PASS: TestGetPolicies/Policy_machine_directory_is_not_capitalized_or_uppercase,_no_rules_are_parsed (0.07s) 119s --- PASS: TestGetPolicies/Standard_policy_with_assets,_existing_assets_are_reattached_if_not_refreshed (0.09s) 119s --- PASS: TestGetPolicies/More_policies,_with_multiple_overrides (0.10s) 119s --- PASS: TestGetPolicies/Corrupted_policy_file (0.06s) 119s --- PASS: TestGetPolicies/Error_on_backend_ServerFQDN_call_failed (0.00s) 119s --- PASS: TestGetPolicies/Standard_policy_with_assets,_downloads_assets (0.07s) 119s --- PASS: TestGetPolicies/Ignore_errors_on_non_Ubuntu_keys (0.08s) 119s --- PASS: TestGetPolicies/Disabled_value_is_overridden (0.07s) 119s --- PASS: TestGetPolicies/Two_policies,_with_reversed_overrides (0.06s) 119s --- PASS: TestGetPolicies/Two_policies,_no_overrides (0.07s) 119s --- PASS: TestGetPolicies/Symlinks_can’t_be_created (0.00s) 119s --- PASS: TestGetPolicies/User_policy_Registry.pol_is_lower_case (0.05s) 119s --- PASS: TestGetPolicies/Standard_policy,_computer_object (0.06s) 119s --- PASS: TestGetPolicies/Disabled_value_overrides_non_disabled_one (0.06s) 119s --- PASS: TestGetPolicies/Filter_non_Ubuntu_keys (0.06s) 119s --- PASS: TestGetPolicies/Two_policies,_with_overrides (0.07s) 119s --- PASS: TestGetPolicies/No_override_for_this_release,_takes_default_value (0.08s) 119s --- PASS: TestGetPolicies/Unsupported_type_for_unfiltered_entry (0.07s) 119s --- PASS: TestGetPolicies/Error_on_user_without_@_in_name (0.00s) 119s --- PASS: TestGetPolicies/Error_on_backend_HostKrb5CCName_call_failed (0.00s) 119s --- PASS: TestGetPolicies/Machine_doesn’t_match (0.00s) 119s --- PASS: TestGetPolicies/Enabled_override_for_matching_release,_other_releases_override_ignored (0.08s) 119s --- PASS: TestGetPolicies/Unexisting_CC_original_file_for_machine (0.00s) 119s --- PASS: TestGetPolicies/Computer_policy_Registry.pol_is_lower_case (0.06s) 119s --- PASS: TestGetPolicies/Disable_override_for_matching_release,_other_releases_override_ignored (0.07s) 119s --- PASS: TestGetPolicies/Include_non_Ubuntu_keys_used_to_configure_certificate_autoenrollment (0.05s) 119s --- PASS: TestGetPolicies/Policy_user_directory_is_not_capitalized_or_uppercase,_no_rules_are_parsed (0.06s) 119s --- PASS: TestGetPolicies/Multiple_domains,_same_GPO (0.05s) 119s --- PASS: TestGetPolicies/Two_policies,_no_overrides,_one_is_not_the_same_object_type,_machine_ones_are_empty_when_parsing_user (0.06s) 119s --- PASS: TestGetPolicies/Enabled_override (0.06s) 119s --- PASS: TestGetPolicies/Assets_directory_being_a_file_cleanup_local_existing_assets_and_its_db (0.06s) 119s --- PASS: TestGetPolicies/Error_on_backend_IsOnline_call_failed (0.00s) 119s --- PASS: TestGetPolicies/Unexisting_CC_original_file_for_user (0.00s) 119s --- PASS: TestGetPolicies/Empty_value_for_unfiltered_entry (0.05s) 119s --- PASS: TestGetPolicies/Policy_machine_directory_is_uppercase (0.05s) 119s --- PASS: TestGetPolicies/Assets_can’t_be_downloaded_without_GPO (0.04s) 119s --- PASS: TestGetPolicies/Standard_policy,_user_object (0.05s) 119s --- PASS: TestGetPolicies/Policy_can’t_be_downloaded (0.04s) 119s === CONT TestNew/create_KRB5_and_Sysvol_cache_directory 119s === CONT TestNew/error_on_backend_ServerFQDN_random_failure 119s === CONT TestNew/no_active_server_in_backend_does_not_fail_ad_creation 119s === CONT TestNew/failed_to_create_Policies_cache_directory 119s === CONT TestNew/failed_to_create_Sysvol_cache_directory 119s --- PASS: TestNew (0.00s) 119s --- PASS: TestNew/failed_to_create_KRB5_cache_directory (0.00s) 119s --- PASS: TestNew/create_KRB5_and_Sysvol_cache_directory (0.00s) 119s --- PASS: TestNew/error_on_backend_ServerFQDN_random_failure (0.00s) 119s --- PASS: TestNew/no_active_server_in_backend_does_not_fail_ad_creation (0.00s) 119s --- PASS: TestNew/failed_to_create_Policies_cache_directory (0.00s) 119s --- PASS: TestNew/failed_to_create_Sysvol_cache_directory (0.00s) 119s === CONT TestFetchTweakSysvolCacheDir/SysvolCacheDir_is_read_only 119s === CONT TestFetchWithUnreadableFile/without_gpo_initially_don’t_commit_new_partial_GPO 119s time="2025-10-18T15:06:40Z" level=info msg="Downloading \"gpo1-name\"" 119s time="2025-10-18T15:06:40Z" level=info msg="Downloading \"gpo1-name\"" 119s --- PASS: TestFetchTweakSysvolCacheDir (0.00s) 119s --- PASS: TestFetchTweakSysvolCacheDir/SysvolCacheDir_doesn't_exist (0.03s) 119s --- PASS: TestFetchTweakSysvolCacheDir/SysvolCacheDir_is_read_only (0.02s) 119s === CONT TestFetchWithUnreadableFile/existing_gpo_is_preserved 119s time="2025-10-18T15:06:40Z" level=info msg="Downloading \"gpo1-name\"" 119s --- PASS: TestFetchWithUnreadableFile (0.00s) 119s --- PASS: TestFetchWithUnreadableFile/without_gpo_initially_don’t_commit_new_partial_GPO (0.03s) 119s --- PASS: TestFetchWithUnreadableFile/existing_gpo_is_preserved (0.02s) 119s PASS 119s ok github.com/ubuntu/adsys/internal/ad 4.131s 119s === RUN TestGenerateExpandedCategories 119s === PAUSE TestGenerateExpandedCategories 119s === RUN TestExpandedCategoriesToADMX 119s === PAUSE TestExpandedCategoriesToADMX 119s === RUN TestExpandedCategoriesToMD 119s === PAUSE TestExpandedCategoriesToMD 119s === RUN TestExpand 119s === PAUSE TestExpand 119s === RUN TestGenerateAD 119s === PAUSE TestGenerateAD 119s === RUN TestGenerateDoc 119s === PAUSE TestGenerateDoc 119s === CONT TestGenerateExpandedCategories 119s === CONT TestExpand 119s === RUN TestExpand/invalid_dconf.yaml 119s === PAUSE TestExpand/invalid_dconf.yaml 119s === RUN TestExpand/dconf_generation_fails 119s === PAUSE TestExpand/dconf_generation_fails 119s === RUN TestExpand/dconf 119s === PAUSE TestExpand/dconf 119s === RUN TestExpand/expanded_policy_with_meta 119s === PAUSE TestExpand/expanded_policy_with_meta 119s === RUN TestExpand/no_release_file 119s === PAUSE TestExpand/no_release_file 119s === RUN TestExpand/no_source_directory 119s === PAUSE TestExpand/no_source_directory 119s === RUN TestExpand/expanded_policy 119s === PAUSE TestExpand/expanded_policy 119s === RUN TestExpand/expanded_policy_with_release_any 119s === PAUSE TestExpand/expanded_policy_with_release_any 119s === RUN TestExpand/ignore_categories_and_non_yaml_files 119s === PAUSE TestExpand/ignore_categories_and_non_yaml_files 119s === RUN TestExpand/no_version_id 119s === PAUSE TestExpand/no_version_id 119s === RUN TestExpand/unsupported_policy_type 119s === PAUSE TestExpand/unsupported_policy_type 119s === CONT TestExpand/invalid_dconf.yaml 119s === CONT TestGenerateDoc 119s === RUN TestGenerateDoc/releases_from_yaml 119s === PAUSE TestGenerateDoc/releases_from_yaml 119s === RUN TestGenerateDoc/autodetect_overrides_releases_from_yaml 119s === PAUSE TestGenerateDoc/autodetect_overrides_releases_from_yaml 119s === RUN TestGenerateDoc/invalid_definition_file 119s === PAUSE TestGenerateDoc/invalid_definition_file 119s === RUN TestGenerateDoc/category_expansion_fails 119s === PAUSE TestGenerateDoc/category_expansion_fails 119s === RUN TestGenerateDoc/doc_generation_fails 119s === PAUSE TestGenerateDoc/doc_generation_fails 119s === CONT TestGenerateDoc/releases_from_yaml 119s === CONT TestGenerateAD 119s === RUN TestGenerateAD/autodetect_overrides_releases_from_yaml 119s === PAUSE TestGenerateAD/autodetect_overrides_releases_from_yaml 119s === RUN TestGenerateAD/invalid_definition_file 119s === PAUSE TestGenerateAD/invalid_definition_file 119s === RUN TestGenerateAD/category_expansion_fails 119s === PAUSE TestGenerateAD/category_expansion_fails 119s === RUN TestGenerateAD/admx_generation_fails 119s === PAUSE TestGenerateAD/admx_generation_fails 119s === RUN TestGenerateAD/releases_from_yaml 119s === PAUSE TestGenerateAD/releases_from_yaml 119s === CONT TestGenerateAD/autodetect_overrides_releases_from_yaml 119s === RUN TestGenerateExpandedCategories/use_policy_class_instead_of_category_default 119s === PAUSE TestGenerateExpandedCategories/use_policy_class_instead_of_category_default 119s === RUN TestGenerateExpandedCategories/same_default 119s === PAUSE TestGenerateExpandedCategories/same_default 119s === RUN TestGenerateExpandedCategories/different_explain_text 119s === PAUSE TestGenerateExpandedCategories/different_explain_text 119s === RUN TestGenerateExpandedCategories/applicable_to_all_releases 119s === PAUSE TestGenerateExpandedCategories/applicable_to_all_releases 119s === RUN TestGenerateExpandedCategories/same_policy_used_in_two_categories_but_different_default_class 119s === PAUSE TestGenerateExpandedCategories/same_policy_used_in_two_categories_but_different_default_class 119s === RUN TestGenerateExpandedCategories/different_defaults 119s === PAUSE TestGenerateExpandedCategories/different_defaults 119s === RUN TestGenerateExpandedCategories/no_note 119s === PAUSE TestGenerateExpandedCategories/no_note 119s === RUN TestGenerateExpandedCategories/no_note_strategy_append 119s === PAUSE TestGenerateExpandedCategories/no_note_strategy_append 119s === RUN TestGenerateExpandedCategories/error_on_missing_release 119s === PAUSE TestGenerateExpandedCategories/error_on_missing_release 119s === RUN TestGenerateExpandedCategories/error_on_invalid_default_policy_class 119s === PAUSE TestGenerateExpandedCategories/error_on_invalid_default_policy_class 119s === RUN TestGenerateExpandedCategories/available_on_one_release_only 119s === PAUSE TestGenerateExpandedCategories/available_on_one_release_only 119s === RUN TestGenerateExpandedCategories/multiple_top_categories 119s === PAUSE TestGenerateExpandedCategories/multiple_top_categories 119s === RUN TestGenerateExpandedCategories/no_defaults 119s === PAUSE TestGenerateExpandedCategories/no_defaults 119s === RUN TestGenerateExpandedCategories/default_policy_class_is_capitalized 119s === PAUSE TestGenerateExpandedCategories/default_policy_class_is_capitalized 119s === RUN TestGenerateExpandedCategories/no_meta_disabled 119s === PAUSE TestGenerateExpandedCategories/no_meta_disabled 119s === RUN TestGenerateExpandedCategories/error_on_empty_default_policy_class 119s === PAUSE TestGenerateExpandedCategories/error_on_empty_default_policy_class 119s === RUN TestGenerateExpandedCategories/simple 119s === PAUSE TestGenerateExpandedCategories/simple 119s === RUN TestGenerateExpandedCategories/basic 119s === PAUSE TestGenerateExpandedCategories/basic 119s === RUN TestGenerateExpandedCategories/same_policy_used_in_two_categories 119s === PAUSE TestGenerateExpandedCategories/same_policy_used_in_two_categories 119s === RUN TestGenerateExpandedCategories/with_prefix 119s === PAUSE TestGenerateExpandedCategories/with_prefix 119s === RUN TestGenerateExpandedCategories/requires_ubuntu_pro 119s === PAUSE TestGenerateExpandedCategories/requires_ubuntu_pro 119s === RUN TestGenerateExpandedCategories/error_on_one_policy_not_used 119s === PAUSE TestGenerateExpandedCategories/error_on_one_policy_not_used 119s === RUN TestGenerateExpandedCategories/error_on_key_independent_of_any_release_key_but_with_one_release_specified 119s === PAUSE TestGenerateExpandedCategories/error_on_key_independent_of_any_release_key_but_with_one_release_specified 119s === RUN TestGenerateExpandedCategories/policy_directory_doesn't_exist 119s === PAUSE TestGenerateExpandedCategories/policy_directory_doesn't_exist 119s === RUN TestGenerateExpandedCategories/nested_categories 119s === PAUSE TestGenerateExpandedCategories/nested_categories 119s === RUN TestGenerateExpandedCategories/different_meta 119s === PAUSE TestGenerateExpandedCategories/different_meta 119s === RUN TestGenerateExpandedCategories/different_range 119s === PAUSE TestGenerateExpandedCategories/different_range 119s === RUN TestGenerateExpandedCategories/meta_entry_only 119s === PAUSE TestGenerateExpandedCategories/meta_entry_only 119s === RUN TestGenerateExpandedCategories/no_meta_at_all 119s === PAUSE TestGenerateExpandedCategories/no_meta_at_all 119s === RUN TestGenerateExpandedCategories/different_choices 119s === PAUSE TestGenerateExpandedCategories/different_choices 119s === RUN TestGenerateExpandedCategories/allow_policy_referenced_but_not_available_in_any_releases 119s === PAUSE TestGenerateExpandedCategories/allow_policy_referenced_but_not_available_in_any_releases 119s === RUN TestGenerateExpandedCategories/error_on_unexisting_policy_referenced 119s === PAUSE TestGenerateExpandedCategories/error_on_unexisting_policy_referenced 119s === RUN TestGenerateExpandedCategories/error_on_different_class 119s === PAUSE TestGenerateExpandedCategories/error_on_different_class 119s === RUN TestGenerateExpandedCategories/error_on_nested_category 119s === PAUSE TestGenerateExpandedCategories/error_on_nested_category 119s === RUN TestGenerateExpandedCategories/category_definition_doesn't_exist 119s === PAUSE TestGenerateExpandedCategories/category_definition_doesn't_exist 119s === RUN TestGenerateExpandedCategories/choices 119s === PAUSE TestGenerateExpandedCategories/choices 119s === RUN TestGenerateExpandedCategories/error_on_different_policy_type 119s === PAUSE TestGenerateExpandedCategories/error_on_different_policy_type 119s === RUN TestGenerateExpandedCategories/error_on_policy_not_attached_to_any_releases 119s === PAUSE TestGenerateExpandedCategories/error_on_policy_not_attached_to_any_releases 119s === RUN TestGenerateExpandedCategories/two_policies 119s === PAUSE TestGenerateExpandedCategories/two_policies 119s === RUN TestGenerateExpandedCategories/different_display_name 119s === PAUSE TestGenerateExpandedCategories/different_display_name 119s === RUN TestGenerateExpandedCategories/range 119s === PAUSE TestGenerateExpandedCategories/range 119s === RUN TestGenerateExpandedCategories/different_element_type 119s === PAUSE TestGenerateExpandedCategories/different_element_type 119s === RUN TestGenerateExpandedCategories/no_meta_enabled 119s === PAUSE TestGenerateExpandedCategories/no_meta_enabled 119s === RUN TestGenerateExpandedCategories/meta_is_overridden_by_enabled_key 119s === PAUSE TestGenerateExpandedCategories/meta_is_overridden_by_enabled_key 119s === RUN TestGenerateExpandedCategories/meta_is_overridden_by_disabled_key 119s === PAUSE TestGenerateExpandedCategories/meta_is_overridden_by_disabled_key 119s === CONT TestGenerateExpandedCategories/use_policy_class_instead_of_category_default 119s internal_test.go:112: Serializing object for golden file 119s === CONT TestExpandedCategoriesToMD 119s === RUN TestExpandedCategoriesToMD/basic_key 119s === PAUSE TestExpandedCategoriesToMD/basic_key 119s === RUN TestExpandedCategoriesToMD/nested_categories,_classes_and_empty 119s === PAUSE TestExpandedCategoriesToMD/nested_categories,_classes_and_empty 119s === RUN TestExpandedCategoriesToMD/choices 119s === PAUSE TestExpandedCategoriesToMD/choices 119s === RUN TestExpandedCategoriesToMD/double 119s === PAUSE TestExpandedCategoriesToMD/double 119s === RUN TestExpandedCategoriesToMD/no_meta_disabled 119s === PAUSE TestExpandedCategoriesToMD/no_meta_disabled 119s === RUN TestExpandedCategoriesToMD/double_with_range 119s === PAUSE TestExpandedCategoriesToMD/double_with_range 119s === RUN TestExpandedCategoriesToMD/multiple_releases_for_one_key 119s === PAUSE TestExpandedCategoriesToMD/multiple_releases_for_one_key 119s === RUN TestExpandedCategoriesToMD/multiple_releases_with_different_widgettype 119s === PAUSE TestExpandedCategoriesToMD/multiple_releases_with_different_widgettype 119s === RUN TestExpandedCategoriesToMD/multiple_releases_with_all_widgets_and_different_defaults 119s === PAUSE TestExpandedCategoriesToMD/multiple_releases_with_all_widgets_and_different_defaults 119s === RUN TestExpandedCategoriesToMD/error_on_destination_creation 119s === PAUSE TestExpandedCategoriesToMD/error_on_destination_creation 119s === RUN TestExpandedCategoriesToMD/user_policy 119s === PAUSE TestExpandedCategoriesToMD/user_policy 119s === RUN TestExpandedCategoriesToMD/decimal_with_range 119s === PAUSE TestExpandedCategoriesToMD/decimal_with_range 119s === RUN TestExpandedCategoriesToMD/decimal_with_min_only 119s === PAUSE TestExpandedCategoriesToMD/decimal_with_min_only 119s === RUN TestExpandedCategoriesToMD/decimal_with_max_only 119s === PAUSE TestExpandedCategoriesToMD/decimal_with_max_only 119s === RUN TestExpandedCategoriesToMD/long_decimal 119s === PAUSE TestExpandedCategoriesToMD/long_decimal 119s === RUN TestExpandedCategoriesToMD/array_of_strings 119s === PAUSE TestExpandedCategoriesToMD/array_of_strings 119s === RUN TestExpandedCategoriesToMD/array_of_integers 119s === PAUSE TestExpandedCategoriesToMD/array_of_integers 119s === RUN TestExpandedCategoriesToMD/choices_with_default 119s === PAUSE TestExpandedCategoriesToMD/choices_with_default 119s === RUN TestExpandedCategoriesToMD/simple 119s === PAUSE TestExpandedCategoriesToMD/simple 119s === RUN TestExpandedCategoriesToMD/nested_categories 119s === PAUSE TestExpandedCategoriesToMD/nested_categories 119s === RUN TestExpandedCategoriesToMD/boolean 119s === PAUSE TestExpandedCategoriesToMD/boolean 119s === RUN TestExpandedCategoriesToMD/decimal 119s === PAUSE TestExpandedCategoriesToMD/decimal 119s === RUN TestExpandedCategoriesToMD/multiple_releases_with_different_choices 119s === PAUSE TestExpandedCategoriesToMD/multiple_releases_with_different_choices 119s === RUN TestExpandedCategoriesToMD/multiple_releases_with_different_ranges 119s === PAUSE TestExpandedCategoriesToMD/multiple_releases_with_different_ranges 119s === RUN TestExpandedCategoriesToMD/no_meta_enabled 119s === PAUSE TestExpandedCategoriesToMD/no_meta_enabled 119s === RUN TestExpandedCategoriesToMD/no_meta_at_all 119s === PAUSE TestExpandedCategoriesToMD/no_meta_at_all 119s === RUN TestExpandedCategoriesToMD/multiple_categories 119s === PAUSE TestExpandedCategoriesToMD/multiple_categories 119s === CONT TestExpandedCategoriesToADMX 119s === RUN TestExpandedCategoriesToADMX/array_of_strings 119s === PAUSE TestExpandedCategoriesToADMX/array_of_strings 119s === RUN TestExpandedCategoriesToADMX/array_of_integers 119s === PAUSE TestExpandedCategoriesToADMX/array_of_integers 119s === RUN TestExpandedCategoriesToADMX/choices 119s === PAUSE TestExpandedCategoriesToADMX/choices 119s === RUN TestExpandedCategoriesToADMX/multiple_releases_with_different_widgettype 119s === PAUSE TestExpandedCategoriesToADMX/multiple_releases_with_different_widgettype 119s === RUN TestExpandedCategoriesToADMX/no_meta_enabled 119s === PAUSE TestExpandedCategoriesToADMX/no_meta_enabled 119s === RUN TestExpandedCategoriesToADMX/simple 119s === PAUSE TestExpandedCategoriesToADMX/simple 119s === RUN TestExpandedCategoriesToADMX/other_distro 119s === PAUSE TestExpandedCategoriesToADMX/other_distro 119s === RUN TestExpandedCategoriesToADMX/boolean 119s === PAUSE TestExpandedCategoriesToADMX/boolean 119s === RUN TestExpandedCategoriesToADMX/decimal 119s === PAUSE TestExpandedCategoriesToADMX/decimal 119s === RUN TestExpandedCategoriesToADMX/double 119s === PAUSE TestExpandedCategoriesToADMX/double 119s === RUN TestExpandedCategoriesToADMX/multiple_releases_for_one_key 119s === PAUSE TestExpandedCategoriesToADMX/multiple_releases_for_one_key 119s === RUN TestExpandedCategoriesToADMX/multiple_releases_with_different_ranges 119s === PAUSE TestExpandedCategoriesToADMX/multiple_releases_with_different_ranges 119s === RUN TestExpandedCategoriesToADMX/multiple_releases_with_all_widgets_and_different_defaults 119s === PAUSE TestExpandedCategoriesToADMX/multiple_releases_with_all_widgets_and_different_defaults 119s === RUN TestExpandedCategoriesToADMX/multiple_categories 119s === PAUSE TestExpandedCategoriesToADMX/multiple_categories 119s === RUN TestExpandedCategoriesToADMX/decimal_with_max_only 119s === PAUSE TestExpandedCategoriesToADMX/decimal_with_max_only 119s === RUN TestExpandedCategoriesToADMX/choices_with_default 119s === PAUSE TestExpandedCategoriesToADMX/choices_with_default 119s === RUN TestExpandedCategoriesToADMX/multiple_releases_with_different_choices 119s === PAUSE TestExpandedCategoriesToADMX/multiple_releases_with_different_choices 119s === RUN TestExpandedCategoriesToADMX/decimal_with_range 119s === PAUSE TestExpandedCategoriesToADMX/decimal_with_range 119s === RUN TestExpandedCategoriesToADMX/long_decimal 119s === PAUSE TestExpandedCategoriesToADMX/long_decimal 119s === RUN TestExpandedCategoriesToADMX/double_with_range 119s === PAUSE TestExpandedCategoriesToADMX/double_with_range 119s === RUN TestExpandedCategoriesToADMX/no_meta_disabled 119s === PAUSE TestExpandedCategoriesToADMX/no_meta_disabled 119s === RUN TestExpandedCategoriesToADMX/no_meta_at_all 119s === PAUSE TestExpandedCategoriesToADMX/no_meta_at_all 119s === RUN TestExpandedCategoriesToADMX/error_on_destination_creation 119s === PAUSE TestExpandedCategoriesToADMX/error_on_destination_creation 119s === RUN TestExpandedCategoriesToADMX/nested_categories 119s === PAUSE TestExpandedCategoriesToADMX/nested_categories 119s === RUN TestExpandedCategoriesToADMX/basic_key 119s === PAUSE TestExpandedCategoriesToADMX/basic_key 119s === RUN TestExpandedCategoriesToADMX/decimal_with_min_only 119s === PAUSE TestExpandedCategoriesToADMX/decimal_with_min_only 119s === CONT TestGenerateExpandedCategories/meta_is_overridden_by_disabled_key 119s internal_test.go:112: Serializing object for golden file 119s === CONT TestGenerateExpandedCategories/meta_is_overridden_by_enabled_key 119s internal_test.go:112: Serializing object for golden file 119s === CONT TestGenerateExpandedCategories/no_meta_enabled 119s internal_test.go:112: Serializing object for golden file 119s === CONT TestGenerateExpandedCategories/different_element_type 119s internal_test.go:112: Serializing object for golden file 119s === CONT TestGenerateExpandedCategories/range 119s internal_test.go:112: Serializing object for golden file 119s === CONT TestGenerateExpandedCategories/different_display_name 119s internal_test.go:112: Serializing object for golden file 119s === CONT TestGenerateExpandedCategories/two_policies 119s internal_test.go:112: Serializing object for golden file 119s === CONT TestGenerateExpandedCategories/error_on_policy_not_attached_to_any_releases 119s === CONT TestGenerateExpandedCategories/error_on_different_policy_type 119s === CONT TestGenerateExpandedCategories/choices 119s === CONT TestGenerateExpandedCategories/category_definition_doesn't_exist 119s === CONT TestGenerateExpandedCategories/error_on_nested_category 119s === NAME TestGenerateExpandedCategories/choices 119s internal_test.go:112: Serializing object for golden file 119s === CONT TestGenerateExpandedCategories/error_on_different_class 119s === CONT TestGenerateExpandedCategories/error_on_unexisting_policy_referenced 119s === CONT TestGenerateExpandedCategories/allow_policy_referenced_but_not_available_in_any_releases 119s === CONT TestGenerateExpandedCategories/different_choices 119s internal_test.go:112: Serializing object for golden file 119s === CONT TestGenerateExpandedCategories/no_meta_at_all 119s time="2025-10-18T15:06:36Z" level=warning msg="policy /org/gnome/desktop/policy-doesnotexit referenced in \"Category1 Display Name\" does not exist in any supported releases" 119s === NAME TestGenerateExpandedCategories/allow_policy_referenced_but_not_available_in_any_releases 119s internal_test.go:112: Serializing object for golden file 119s === NAME TestGenerateExpandedCategories/no_meta_at_all 119s internal_test.go:112: Serializing object for golden file 119s === CONT TestGenerateExpandedCategories/meta_entry_only 119s === CONT TestGenerateExpandedCategories/different_range 119s === NAME TestGenerateExpandedCategories/meta_entry_only 119s internal_test.go:112: Serializing object for golden file 119s === NAME TestGenerateExpandedCategories/different_range 119s internal_test.go:112: Serializing object for golden file 119s === CONT TestGenerateExpandedCategories/different_meta 119s === CONT TestGenerateExpandedCategories/nested_categories 119s === NAME TestGenerateExpandedCategories/different_meta 119s internal_test.go:112: Serializing object for golden file 119s === CONT TestGenerateExpandedCategories/policy_directory_doesn't_exist 119s === NAME TestGenerateExpandedCategories/nested_categories 119s internal_test.go:112: Serializing object for golden file 119s === CONT TestGenerateExpandedCategories/error_on_key_independent_of_any_release_key_but_with_one_release_specified 119s === CONT TestGenerateExpandedCategories/error_on_one_policy_not_used 119s === CONT TestGenerateExpandedCategories/requires_ubuntu_pro 119s internal_test.go:112: Serializing object for golden file 119s === CONT TestGenerateExpandedCategories/with_prefix 119s === CONT TestGenerateExpandedCategories/same_policy_used_in_two_categories 119s === NAME TestGenerateExpandedCategories/with_prefix 119s internal_test.go:112: Serializing object for golden file 119s === CONT TestGenerateExpandedCategories/basic 119s === NAME TestGenerateExpandedCategories/same_policy_used_in_two_categories 119s internal_test.go:112: Serializing object for golden file 119s === NAME TestGenerateExpandedCategories/basic 119s internal_test.go:112: Serializing object for golden file 119s === CONT TestGenerateExpandedCategories/simple 119s === CONT TestGenerateExpandedCategories/error_on_empty_default_policy_class 119s === NAME TestGenerateExpandedCategories/simple 119s internal_test.go:112: Serializing object for golden file 119s === CONT TestGenerateExpandedCategories/no_meta_disabled 119s internal_test.go:112: Serializing object for golden file 119s === CONT TestGenerateExpandedCategories/default_policy_class_is_capitalized 119s internal_test.go:112: Serializing object for golden file 119s === CONT TestGenerateExpandedCategories/no_defaults 119s internal_test.go:112: Serializing object for golden file 119s === CONT TestGenerateExpandedCategories/multiple_top_categories 119s internal_test.go:112: Serializing object for golden file 119s === CONT TestGenerateExpandedCategories/available_on_one_release_only 119s === CONT TestGenerateExpandedCategories/error_on_invalid_default_policy_class 119s === CONT TestGenerateExpandedCategories/error_on_missing_release 119s === CONT TestGenerateExpandedCategories/no_note_strategy_append 119s internal_test.go:112: Serializing object for golden file 119s === CONT TestGenerateExpandedCategories/no_note 119s internal_test.go:112: Serializing object for golden file 119s === CONT TestGenerateExpandedCategories/different_defaults 119s internal_test.go:112: Serializing object for golden file 119s === CONT TestGenerateExpandedCategories/same_policy_used_in_two_categories_but_different_default_class 119s internal_test.go:112: Serializing object for golden file 119s === CONT TestGenerateExpandedCategories/applicable_to_all_releases 119s === NAME TestGenerateExpandedCategories/available_on_one_release_only 119s internal_test.go:112: Serializing object for golden file 119s === CONT TestGenerateExpandedCategories/different_explain_text 119s === NAME TestGenerateExpandedCategories/applicable_to_all_releases 119s internal_test.go:112: Serializing object for golden file 119s === NAME TestGenerateExpandedCategories/different_explain_text 119s internal_test.go:112: Serializing object for golden file 119s === CONT TestGenerateExpandedCategories/same_default 119s internal_test.go:112: Serializing object for golden file 119s === CONT TestExpand/dconf 119s admxgen_test.go:78: Serializing object for golden file 119s === CONT TestExpand/no_version_id 119s --- PASS: TestGenerateExpandedCategories (0.00s) 119s --- PASS: TestGenerateExpandedCategories/use_policy_class_instead_of_category_default (0.00s) 119s --- PASS: TestGenerateExpandedCategories/meta_is_overridden_by_disabled_key (0.00s) 119s --- PASS: TestGenerateExpandedCategories/meta_is_overridden_by_enabled_key (0.00s) 119s --- PASS: TestGenerateExpandedCategories/no_meta_enabled (0.00s) 119s --- PASS: TestGenerateExpandedCategories/different_element_type (0.00s) 119s --- PASS: TestGenerateExpandedCategories/different_display_name (0.00s) 119s --- PASS: TestGenerateExpandedCategories/range (0.00s) 119s --- PASS: TestGenerateExpandedCategories/error_on_policy_not_attached_to_any_releases (0.00s) 119s --- PASS: TestGenerateExpandedCategories/two_policies (0.00s) 119s --- PASS: TestGenerateExpandedCategories/error_on_different_policy_type (0.00s) 119s --- PASS: TestGenerateExpandedCategories/category_definition_doesn't_exist (0.00s) 119s --- PASS: TestGenerateExpandedCategories/error_on_nested_category (0.00s) 119s --- PASS: TestGenerateExpandedCategories/choices (0.00s) 119s --- PASS: TestGenerateExpandedCategories/error_on_unexisting_policy_referenced (0.00s) 119s --- PASS: TestGenerateExpandedCategories/error_on_different_class (0.00s) 119s --- PASS: TestGenerateExpandedCategories/different_choices (0.00s) 119s --- PASS: TestGenerateExpandedCategories/allow_policy_referenced_but_not_available_in_any_releases (0.00s) 119s --- PASS: TestGenerateExpandedCategories/no_meta_at_all (0.00s) 119s --- PASS: TestGenerateExpandedCategories/meta_entry_only (0.00s) 119s --- PASS: TestGenerateExpandedCategories/different_range (0.00s) 119s --- PASS: TestGenerateExpandedCategories/different_meta (0.00s) 119s --- PASS: TestGenerateExpandedCategories/policy_directory_doesn't_exist (0.00s) 119s --- PASS: TestGenerateExpandedCategories/error_on_key_independent_of_any_release_key_but_with_one_release_specified (0.00s) 119s --- PASS: TestGenerateExpandedCategories/error_on_one_policy_not_used (0.00s) 119s --- PASS: TestGenerateExpandedCategories/nested_categories (0.00s) 119s --- PASS: TestGenerateExpandedCategories/requires_ubuntu_pro (0.00s) 119s --- PASS: TestGenerateExpandedCategories/with_prefix (0.00s) 119s --- PASS: TestGenerateExpandedCategories/same_policy_used_in_two_categories (0.00s) 119s --- PASS: TestGenerateExpandedCategories/basic (0.00s) 119s --- PASS: TestGenerateExpandedCategories/simple (0.00s) 119s --- PASS: TestGenerateExpandedCategories/no_meta_disabled (0.00s) 119s --- PASS: TestGenerateExpandedCategories/default_policy_class_is_capitalized (0.00s) 119s --- PASS: TestGenerateExpandedCategories/no_defaults (0.00s) 119s --- PASS: TestGenerateExpandedCategories/error_on_empty_default_policy_class (0.00s) 119s --- PASS: TestGenerateExpandedCategories/multiple_top_categories (0.00s) 119s --- PASS: TestGenerateExpandedCategories/error_on_invalid_default_policy_class (0.00s) 119s --- PASS: TestGenerateExpandedCategories/error_on_missing_release (0.00s) 119s --- PASS: TestGenerateExpandedCategories/no_note_strategy_append (0.00s) 119s --- PASS: TestGenerateExpandedCategories/no_note (0.00s) 119s --- PASS: TestGenerateExpandedCategories/different_defaults (0.00s) 119s --- PASS: TestGenerateExpandedCategories/same_policy_used_in_two_categories_but_different_default_class (0.00s) 119s --- PASS: TestGenerateExpandedCategories/available_on_one_release_only (0.01s) 119s --- PASS: TestGenerateExpandedCategories/different_explain_text (0.00s) 119s --- PASS: TestGenerateExpandedCategories/same_default (0.00s) 119s --- PASS: TestGenerateExpandedCategories/applicable_to_all_releases (0.00s) 119s === CONT TestExpand/unsupported_policy_type 119s === CONT TestExpand/ignore_categories_and_non_yaml_files 119s admxgen_test.go:78: Serializing object for golden file 119s === CONT TestExpand/expanded_policy_with_release_any 119s admxgen_test.go:78: Serializing object for golden file 119s === CONT TestExpand/expanded_policy 119s admxgen_test.go:78: Serializing object for golden file 119s === CONT TestExpand/no_source_directory 119s === CONT TestExpand/no_release_file 119s === CONT TestExpand/expanded_policy_with_meta 119s admxgen_test.go:78: Serializing object for golden file 119s === CONT TestGenerateDoc/autodetect_overrides_releases_from_yaml 119s === CONT TestExpand/dconf_generation_fails 119s === CONT TestGenerateDoc/doc_generation_fails 119s --- PASS: TestExpand (0.00s) 119s --- PASS: TestExpand/invalid_dconf.yaml (0.00s) 119s --- PASS: TestExpand/dconf (0.00s) 119s --- PASS: TestExpand/unsupported_policy_type (0.00s) 119s --- PASS: TestExpand/ignore_categories_and_non_yaml_files (0.00s) 119s --- PASS: TestExpand/expanded_policy_with_release_any (0.00s) 119s --- PASS: TestExpand/expanded_policy (0.00s) 119s --- PASS: TestExpand/no_source_directory (0.00s) 119s --- PASS: TestExpand/no_release_file (0.00s) 119s --- PASS: TestExpand/no_version_id (0.00s) 119s --- PASS: TestExpand/dconf_generation_fails (0.00s) 119s --- PASS: TestExpand/expanded_policy_with_meta (0.00s) 119s === CONT TestGenerateDoc/category_expansion_fails 119s === CONT TestGenerateDoc/invalid_definition_file 119s --- PASS: TestGenerateDoc (0.00s) 119s --- PASS: TestGenerateDoc/releases_from_yaml (0.00s) 119s --- PASS: TestGenerateDoc/autodetect_overrides_releases_from_yaml (0.00s) 119s --- PASS: TestGenerateDoc/category_expansion_fails (0.00s) 119s --- PASS: TestGenerateDoc/doc_generation_fails (0.00s) 119s --- PASS: TestGenerateDoc/invalid_definition_file (0.00s) 119s === CONT TestGenerateAD/admx_generation_fails 119s === CONT TestGenerateAD/releases_from_yaml 119s === CONT TestGenerateAD/category_expansion_fails 119s === CONT TestExpandedCategoriesToMD/basic_key 119s === CONT TestGenerateAD/invalid_definition_file 119s --- PASS: TestGenerateAD (0.00s) 119s --- PASS: TestGenerateAD/autodetect_overrides_releases_from_yaml (0.00s) 119s --- PASS: TestGenerateAD/admx_generation_fails (0.00s) 119s --- PASS: TestGenerateAD/releases_from_yaml (0.00s) 119s --- PASS: TestGenerateAD/category_expansion_fails (0.00s) 119s --- PASS: TestGenerateAD/invalid_definition_file (0.00s) 119s === CONT TestExpandedCategoriesToMD/multiple_categories 119s === CONT TestExpandedCategoriesToMD/no_meta_at_all 119s === CONT TestExpandedCategoriesToADMX/array_of_strings 119s === CONT TestExpandedCategoriesToMD/no_meta_enabled 119s === CONT TestExpandedCategoriesToMD/multiple_releases_with_different_choices 119s === CONT TestExpandedCategoriesToMD/multiple_releases_with_different_ranges 119s === CONT TestExpandedCategoriesToMD/decimal 119s === CONT TestExpandedCategoriesToMD/nested_categories 119s === CONT TestExpandedCategoriesToMD/boolean 119s === CONT TestExpandedCategoriesToMD/simple 119s === CONT TestExpandedCategoriesToMD/array_of_integers 119s === CONT TestExpandedCategoriesToMD/choices_with_default 119s === CONT TestExpandedCategoriesToMD/array_of_strings 119s === CONT TestExpandedCategoriesToMD/long_decimal 119s === CONT TestExpandedCategoriesToMD/decimal_with_max_only 119s === CONT TestExpandedCategoriesToMD/decimal_with_range 119s === CONT TestExpandedCategoriesToMD/decimal_with_min_only 119s === CONT TestExpandedCategoriesToMD/user_policy 119s === CONT TestExpandedCategoriesToMD/multiple_releases_with_all_widgets_and_different_defaults 119s === CONT TestExpandedCategoriesToMD/error_on_destination_creation 119s === CONT TestExpandedCategoriesToMD/multiple_releases_with_different_widgettype 119s === CONT TestExpandedCategoriesToMD/multiple_releases_for_one_key 119s === CONT TestExpandedCategoriesToMD/double_with_range 119s === CONT TestExpandedCategoriesToMD/no_meta_disabled 119s === CONT TestExpandedCategoriesToMD/double 119s === CONT TestExpandedCategoriesToMD/choices 119s === CONT TestExpandedCategoriesToADMX/multiple_categories 119s === CONT TestExpandedCategoriesToMD/nested_categories,_classes_and_empty 119s --- PASS: TestExpandedCategoriesToMD (0.00s) 119s --- PASS: TestExpandedCategoriesToMD/basic_key (0.00s) 119s --- PASS: TestExpandedCategoriesToMD/multiple_categories (0.00s) 119s --- PASS: TestExpandedCategoriesToMD/no_meta_at_all (0.00s) 119s --- PASS: TestExpandedCategoriesToMD/no_meta_enabled (0.00s) 119s --- PASS: TestExpandedCategoriesToMD/multiple_releases_with_different_ranges (0.00s) 119s --- PASS: TestExpandedCategoriesToMD/multiple_releases_with_different_choices (0.00s) 119s --- PASS: TestExpandedCategoriesToMD/decimal (0.00s) 119s --- PASS: TestExpandedCategoriesToMD/boolean (0.00s) 119s --- PASS: TestExpandedCategoriesToMD/nested_categories (0.00s) 119s --- PASS: TestExpandedCategoriesToMD/simple (0.00s) 119s --- PASS: TestExpandedCategoriesToMD/choices_with_default (0.00s) 119s --- PASS: TestExpandedCategoriesToMD/array_of_integers (0.00s) 119s --- PASS: TestExpandedCategoriesToMD/long_decimal (0.00s) 119s --- PASS: TestExpandedCategoriesToMD/array_of_strings (0.00s) 119s --- PASS: TestExpandedCategoriesToMD/decimal_with_max_only (0.00s) 119s --- PASS: TestExpandedCategoriesToMD/decimal_with_min_only (0.00s) 119s --- PASS: TestExpandedCategoriesToMD/decimal_with_range (0.00s) 119s --- PASS: TestExpandedCategoriesToMD/user_policy (0.00s) 119s --- PASS: TestExpandedCategoriesToMD/error_on_destination_creation (0.00s) 119s --- PASS: TestExpandedCategoriesToMD/multiple_releases_with_different_widgettype (0.00s) 119s --- PASS: TestExpandedCategoriesToMD/multiple_releases_with_all_widgets_and_different_defaults (0.00s) 119s --- PASS: TestExpandedCategoriesToMD/double_with_range (0.00s) 119s --- PASS: TestExpandedCategoriesToMD/multiple_releases_for_one_key (0.00s) 119s --- PASS: TestExpandedCategoriesToMD/no_meta_disabled (0.00s) 119s --- PASS: TestExpandedCategoriesToMD/double (0.00s) 119s --- PASS: TestExpandedCategoriesToMD/choices (0.00s) 119s --- PASS: TestExpandedCategoriesToMD/nested_categories,_classes_and_empty (0.00s) 119s === CONT TestExpandedCategoriesToADMX/basic_key 119s === CONT TestExpandedCategoriesToADMX/decimal_with_min_only 119s === CONT TestExpandedCategoriesToADMX/nested_categories 119s === CONT TestExpandedCategoriesToADMX/error_on_destination_creation 119s === CONT TestExpandedCategoriesToADMX/no_meta_at_all 119s === CONT TestExpandedCategoriesToADMX/double_with_range 119s === CONT TestExpandedCategoriesToADMX/no_meta_disabled 119s === CONT TestExpandedCategoriesToADMX/long_decimal 119s === CONT TestExpandedCategoriesToADMX/decimal_with_range 119s === CONT TestExpandedCategoriesToADMX/multiple_releases_with_different_choices 119s === CONT TestExpandedCategoriesToADMX/choices_with_default 119s === CONT TestExpandedCategoriesToADMX/decimal_with_max_only 119s === CONT TestExpandedCategoriesToADMX/other_distro 119s === CONT TestExpandedCategoriesToADMX/multiple_releases_with_different_ranges 119s === CONT TestExpandedCategoriesToADMX/multiple_releases_with_all_widgets_and_different_defaults 119s === CONT TestExpandedCategoriesToADMX/multiple_releases_for_one_key 119s === CONT TestExpandedCategoriesToADMX/double 119s === CONT TestExpandedCategoriesToADMX/decimal 119s === CONT TestExpandedCategoriesToADMX/boolean 119s === CONT TestExpandedCategoriesToADMX/choices 119s === CONT TestExpandedCategoriesToADMX/simple 119s === CONT TestExpandedCategoriesToADMX/no_meta_enabled 119s === CONT TestExpandedCategoriesToADMX/array_of_integers 119s === CONT TestExpandedCategoriesToADMX/multiple_releases_with_different_widgettype 119s --- PASS: TestExpandedCategoriesToADMX (0.00s) 119s --- PASS: TestExpandedCategoriesToADMX/array_of_strings (0.00s) 119s --- PASS: TestExpandedCategoriesToADMX/multiple_categories (0.00s) 119s --- PASS: TestExpandedCategoriesToADMX/decimal_with_min_only (0.00s) 119s --- PASS: TestExpandedCategoriesToADMX/basic_key (0.00s) 119s --- PASS: TestExpandedCategoriesToADMX/error_on_destination_creation (0.00s) 119s --- PASS: TestExpandedCategoriesToADMX/nested_categories (0.00s) 119s --- PASS: TestExpandedCategoriesToADMX/no_meta_at_all (0.00s) 119s --- PASS: TestExpandedCategoriesToADMX/no_meta_disabled (0.00s) 119s --- PASS: TestExpandedCategoriesToADMX/long_decimal (0.00s) 119s --- PASS: TestExpandedCategoriesToADMX/double_with_range (0.00s) 119s --- PASS: TestExpandedCategoriesToADMX/decimal_with_range (0.00s) 119s --- PASS: TestExpandedCategoriesToADMX/multiple_releases_with_different_choices (0.00s) 119s --- PASS: TestExpandedCategoriesToADMX/decimal_with_max_only (0.00s) 119s --- PASS: TestExpandedCategoriesToADMX/choices_with_default (0.00s) 119s --- PASS: TestExpandedCategoriesToADMX/other_distro (0.00s) 119s --- PASS: TestExpandedCategoriesToADMX/multiple_releases_with_all_widgets_and_different_defaults (0.00s) 119s --- PASS: TestExpandedCategoriesToADMX/multiple_releases_with_different_ranges (0.00s) 119s --- PASS: TestExpandedCategoriesToADMX/double (0.00s) 119s --- PASS: TestExpandedCategoriesToADMX/decimal (0.00s) 119s --- PASS: TestExpandedCategoriesToADMX/multiple_releases_for_one_key (0.00s) 119s --- PASS: TestExpandedCategoriesToADMX/choices (0.00s) 119s --- PASS: TestExpandedCategoriesToADMX/simple (0.00s) 119s --- PASS: TestExpandedCategoriesToADMX/boolean (0.00s) 119s --- PASS: TestExpandedCategoriesToADMX/no_meta_enabled (0.00s) 119s --- PASS: TestExpandedCategoriesToADMX/array_of_integers (0.00s) 119s --- PASS: TestExpandedCategoriesToADMX/multiple_releases_with_different_widgettype (0.00s) 119s PASS 119s ok github.com/ubuntu/adsys/internal/ad/admxgen 0.072s 119s ? github.com/ubuntu/adsys/internal/ad/admxgen/common [no test files] 119s === RUN TestGenerate 119s === PAUSE TestGenerate 119s === CONT TestGenerate 119s === RUN TestGenerate/One_decimal_key 119s === PAUSE TestGenerate/One_decimal_key 119s === RUN TestGenerate/Long_decimal_key 119s === PAUSE TestGenerate/Long_decimal_key 119s === RUN TestGenerate/Enums_in_other_files_are_converted_to_choices 119s === PAUSE TestGenerate/Enums_in_other_files_are_converted_to_choices 119s === RUN TestGenerate/No_key_on_system 119s === PAUSE TestGenerate/No_key_on_system 119s === RUN TestGenerate/Description_starting_with_deprecated_mixed_case_is_ignored 119s === PAUSE TestGenerate/Description_starting_with_deprecated_mixed_case_is_ignored 119s === RUN TestGenerate/Overridden_by_multiple_files,_last_wins 119s === PAUSE TestGenerate/Overridden_by_multiple_files,_last_wins 119s === RUN TestGenerate/Inlined_Enums_are_converted_to_choices 119s === PAUSE TestGenerate/Inlined_Enums_are_converted_to_choices 119s === RUN TestGenerate/Missing_XML_declaration_is_successfully_parsed 119s === PAUSE TestGenerate/Missing_XML_declaration_is_successfully_parsed 119s === RUN TestGenerate/One_decimal_key_with_min_only 119s === PAUSE TestGenerate/One_decimal_key_with_min_only 119s === RUN TestGenerate/Override_without_session 119s === PAUSE TestGenerate/Override_without_session 119s === RUN TestGenerate/Override_default_to_second_if_first_not_present 119s === PAUSE TestGenerate/Override_default_to_second_if_first_not_present 119s === RUN TestGenerate/Description_containing_deprecated_without_starting_by_it_is_not_ignored 119s === PAUSE TestGenerate/Description_containing_deprecated_without_starting_by_it_is_not_ignored 119s === RUN TestGenerate/Enum_does_not_exist 119s === PAUSE TestGenerate/Enum_does_not_exist 119s === RUN TestGenerate/Invalid_class 119s === PAUSE TestGenerate/Invalid_class 119s === RUN TestGenerate/Same_key_relocated_twice 119s === PAUSE TestGenerate/Same_key_relocated_twice 119s === RUN TestGenerate/One_decimal_key_with_max_only 119s === PAUSE TestGenerate/One_decimal_key_with_max_only 119s === RUN TestGenerate/Override_with_session_takes_session_override 119s === PAUSE TestGenerate/Override_with_session_takes_session_override 119s === RUN TestGenerate/Override_takes_first_session 119s === PAUSE TestGenerate/Override_takes_first_session 119s === RUN TestGenerate/Override_without_session_takes_default 119s === PAUSE TestGenerate/Override_without_session_takes_default 119s === RUN TestGenerate/Relocatable_key_overridden 119s === PAUSE TestGenerate/Relocatable_key_overridden 119s === RUN TestGenerate/Valid_class_should_be_capitalized 119s === PAUSE TestGenerate/Valid_class_should_be_capitalized 119s === RUN TestGenerate/One_decimal_key_with_range 119s === PAUSE TestGenerate/One_decimal_key_with_range 119s === RUN TestGenerate/Description_starting_with_deprecated_is_ignored 119s === PAUSE TestGenerate/Description_starting_with_deprecated_is_ignored 119s === RUN TestGenerate/Unsupported_key_type 119s === PAUSE TestGenerate/Unsupported_key_type 119s === RUN TestGenerate/One_text_key 119s === PAUSE TestGenerate/One_text_key 119s === RUN TestGenerate/Relocatable_key 119s === PAUSE TestGenerate/Relocatable_key 119s === RUN TestGenerate/Long_decimal_key_with_range_min_gt_0 119s === PAUSE TestGenerate/Long_decimal_key_with_range_min_gt_0 119s === RUN TestGenerate/Array_of_strings 119s === PAUSE TestGenerate/Array_of_strings 119s === RUN TestGenerate/Description_starting_with_obsolete_is_ignored 119s === PAUSE TestGenerate/Description_starting_with_obsolete_is_ignored 119s === RUN TestGenerate/Invalid_min 119s === PAUSE TestGenerate/Invalid_min 119s === RUN TestGenerate/Invalid_schema_files 119s === PAUSE TestGenerate/Invalid_schema_files 119s === RUN TestGenerate/Key_with_class 119s === PAUSE TestGenerate/Key_with_class 119s === RUN TestGenerate/One_boolean_key 119s === PAUSE TestGenerate/One_boolean_key 119s === RUN TestGenerate/Double_key 119s === PAUSE TestGenerate/Double_key 119s === RUN TestGenerate/Override_with_no_matching_session_defaults_to_root_override 119s === PAUSE TestGenerate/Override_with_no_matching_session_defaults_to_root_override 119s === RUN TestGenerate/Invalid_override_files_are_skipped 119s === PAUSE TestGenerate/Invalid_override_files_are_skipped 119s === RUN TestGenerate/Malformed_XML_declaration_is_successfully_parsed 119s === PAUSE TestGenerate/Malformed_XML_declaration_is_successfully_parsed 119s === RUN TestGenerate/NaN_min 119s === PAUSE TestGenerate/NaN_min 119s === RUN TestGenerate/Long_decimal_key_with_range_min_lt_0 119s === PAUSE TestGenerate/Long_decimal_key_with_range_min_lt_0 119s === RUN TestGenerate/Array_of_integers 119s === PAUSE TestGenerate/Array_of_integers 119s === RUN TestGenerate/Double_key_with_range 119s === PAUSE TestGenerate/Double_key_with_range 119s === RUN TestGenerate/Choices_are_loaded 119s === PAUSE TestGenerate/Choices_are_loaded 119s === RUN TestGenerate/Empty 119s === PAUSE TestGenerate/Empty 119s === CONT TestGenerate/One_decimal_key 119s === CONT TestGenerate/Description_starting_with_deprecated_is_ignored 119s time="2025-10-18T15:06:37Z" level=warning msg="dconf key \"com.ubuntu.with.deprecated\":\"/com/ubuntu/with-deprecated/deprecated\" is deprecated. Ignoring" 119s dconf_test.go:106: Serializing object for golden file 119s === NAME TestGenerate/One_decimal_key 119s dconf_test.go:106: Serializing object for golden file 119s === CONT TestGenerate/Empty 119s === CONT TestGenerate/Choices_are_loaded 119s dconf_test.go:106: Serializing object for golden file 119s === CONT TestGenerate/Double_key_with_range 119s dconf_test.go:106: Serializing object for golden file 119s === CONT TestGenerate/Array_of_integers 119s === NAME TestGenerate/Empty 119s dconf_test.go:106: Serializing object for golden file 119s === CONT TestGenerate/Long_decimal_key_with_range_min_lt_0 119s dconf_test.go:106: Serializing object for golden file 119s === CONT TestGenerate/NaN_min 119s === CONT TestGenerate/Malformed_XML_declaration_is_successfully_parsed 119s dconf_test.go:106: Serializing object for golden file 119s === CONT TestGenerate/Invalid_override_files_are_skipped 119s time="2025-10-18T15:06:37Z" 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" 119s dconf_test.go:106: Serializing object for golden file 119s === NAME TestGenerate/Array_of_integers 119s dconf_test.go:106: Serializing object for golden file 119s === CONT TestGenerate/Override_with_no_matching_session_defaults_to_root_override 119s dconf_test.go:106: Serializing object for golden file 119s === CONT TestGenerate/Double_key 119s dconf_test.go:106: Serializing object for golden file 119s === CONT TestGenerate/One_boolean_key 119s dconf_test.go:106: Serializing object for golden file 119s === CONT TestGenerate/Key_with_class 119s === CONT TestGenerate/Invalid_schema_files 119s === CONT TestGenerate/Invalid_min 119s === CONT TestGenerate/Description_starting_with_obsolete_is_ignored 119s time="2025-10-18T15:06:37Z" level=warning msg="dconf key \"com.ubuntu.with.deprecated\":\"/com/ubuntu/with-deprecated/obsolete\" is deprecated. Ignoring" 119s dconf_test.go:106: Serializing object for golden file 119s === CONT TestGenerate/Array_of_strings 119s dconf_test.go:106: Serializing object for golden file 119s === CONT TestGenerate/Long_decimal_key_with_range_min_gt_0 119s dconf_test.go:106: Serializing object for golden file 119s === CONT TestGenerate/Relocatable_key 119s dconf_test.go:106: Serializing object for golden file 119s === CONT TestGenerate/One_text_key 119s dconf_test.go:106: Serializing object for golden file 119s === NAME TestGenerate/Key_with_class 119s dconf_test.go:106: Serializing object for golden file 119s === CONT TestGenerate/Unsupported_key_type 119s === CONT TestGenerate/Description_containing_deprecated_without_starting_by_it_is_not_ignored 119s === CONT TestGenerate/One_decimal_key_with_range 119s === NAME TestGenerate/Description_containing_deprecated_without_starting_by_it_is_not_ignored 119s dconf_test.go:106: Serializing object for golden file 119s === CONT TestGenerate/Valid_class_should_be_capitalized 119s === NAME TestGenerate/One_decimal_key_with_range 119s dconf_test.go:106: Serializing object for golden file 119s === CONT TestGenerate/Relocatable_key_overridden 119s === NAME TestGenerate/Valid_class_should_be_capitalized 119s dconf_test.go:106: Serializing object for golden file 119s === CONT TestGenerate/Override_without_session_takes_default 119s === NAME TestGenerate/Relocatable_key_overridden 119s dconf_test.go:106: Serializing object for golden file 119s === CONT TestGenerate/Override_takes_first_session 119s === NAME TestGenerate/Override_without_session_takes_default 119s dconf_test.go:106: Serializing object for golden file 119s === NAME TestGenerate/Override_takes_first_session 119s dconf_test.go:106: Serializing object for golden file 119s === CONT TestGenerate/Override_with_session_takes_session_override 119s === CONT TestGenerate/One_decimal_key_with_max_only 119s === NAME TestGenerate/Override_with_session_takes_session_override 119s dconf_test.go:106: Serializing object for golden file 119s === CONT TestGenerate/Same_key_relocated_twice 119s === NAME TestGenerate/One_decimal_key_with_max_only 119s dconf_test.go:106: Serializing object for golden file 119s === NAME TestGenerate/Same_key_relocated_twice 119s dconf_test.go:106: Serializing object for golden file 119s === CONT TestGenerate/Invalid_class 119s === CONT TestGenerate/Enum_does_not_exist 119s === CONT TestGenerate/Inlined_Enums_are_converted_to_choices 119s dconf_test.go:106: Serializing object for golden file 119s === CONT TestGenerate/Override_default_to_second_if_first_not_present 119s dconf_test.go:106: Serializing object for golden file 119s === CONT TestGenerate/Override_without_session 119s dconf_test.go:106: Serializing object for golden file 119s === CONT TestGenerate/One_decimal_key_with_min_only 119s === CONT TestGenerate/Missing_XML_declaration_is_successfully_parsed 119s dconf_test.go:106: Serializing object for golden file 119s === CONT TestGenerate/No_key_on_system 119s time="2025-10-18T15:06:37Z" level=warning msg="dconf entry \"/com/ubuntu/simple/non-existent\" is not available on this machine" 119s dconf_test.go:106: Serializing object for golden file 119s === CONT TestGenerate/Overridden_by_multiple_files,_last_wins 119s dconf_test.go:106: Serializing object for golden file 119s === CONT TestGenerate/Description_starting_with_deprecated_mixed_case_is_ignored 119s time="2025-10-18T15:06:37Z" level=warning msg="dconf key \"com.ubuntu.with.deprecated\":\"/com/ubuntu/with-deprecated/deprecated-different-cases\" is deprecated. Ignoring" 119s dconf_test.go:106: Serializing object for golden file 119s === CONT TestGenerate/Enums_in_other_files_are_converted_to_choices 119s === NAME TestGenerate/One_decimal_key_with_min_only 119s dconf_test.go:106: Serializing object for golden file 119s === CONT TestGenerate/Long_decimal_key 119s dconf_test.go:106: Serializing object for golden file 119s === NAME TestGenerate/Enums_in_other_files_are_converted_to_choices 119s dconf_test.go:106: Serializing object for golden file 119s --- PASS: TestGenerate (0.00s) 119s --- PASS: TestGenerate/One_decimal_key (0.00s) 119s --- PASS: TestGenerate/Description_starting_with_deprecated_is_ignored (0.00s) 119s --- PASS: TestGenerate/Choices_are_loaded (0.00s) 119s --- PASS: TestGenerate/Double_key_with_range (0.00s) 119s --- PASS: TestGenerate/Empty (0.00s) 119s --- PASS: TestGenerate/Long_decimal_key_with_range_min_lt_0 (0.00s) 119s --- PASS: TestGenerate/NaN_min (0.00s) 119s --- PASS: TestGenerate/Malformed_XML_declaration_is_successfully_parsed (0.00s) 119s --- PASS: TestGenerate/Array_of_integers (0.00s) 119s --- PASS: TestGenerate/Override_with_no_matching_session_defaults_to_root_override (0.00s) 119s --- PASS: TestGenerate/Double_key (0.00s) 119s --- PASS: TestGenerate/One_boolean_key (0.00s) 119s --- PASS: TestGenerate/Invalid_override_files_are_skipped (0.00s) 119s --- PASS: TestGenerate/Invalid_schema_files (0.00s) 119s --- PASS: TestGenerate/Invalid_min (0.00s) 119s --- PASS: TestGenerate/Description_starting_with_obsolete_is_ignored (0.00s) 119s --- PASS: TestGenerate/Array_of_strings (0.00s) 119s --- PASS: TestGenerate/Long_decimal_key_with_range_min_gt_0 (0.00s) 119s --- PASS: TestGenerate/Relocatable_key (0.00s) 119s --- PASS: TestGenerate/One_text_key (0.00s) 119s --- PASS: TestGenerate/Key_with_class (0.00s) 119s --- PASS: TestGenerate/Unsupported_key_type (0.00s) 119s --- PASS: TestGenerate/Description_containing_deprecated_without_starting_by_it_is_not_ignored (0.00s) 119s --- PASS: TestGenerate/One_decimal_key_with_range (0.00s) 119s --- PASS: TestGenerate/Valid_class_should_be_capitalized (0.00s) 119s --- PASS: TestGenerate/Relocatable_key_overridden (0.00s) 119s --- PASS: TestGenerate/Override_takes_first_session (0.00s) 119s --- PASS: TestGenerate/Override_without_session_takes_default (0.00s) 119s --- PASS: TestGenerate/Override_with_session_takes_session_override (0.00s) 119s --- PASS: TestGenerate/One_decimal_key_with_max_only (0.00s) 119s --- PASS: TestGenerate/Same_key_relocated_twice (0.00s) 119s --- PASS: TestGenerate/Enum_does_not_exist (0.00s) 119s --- PASS: TestGenerate/Inlined_Enums_are_converted_to_choices (0.00s) 119s --- PASS: TestGenerate/Override_default_to_second_if_first_not_present (0.00s) 119s --- PASS: TestGenerate/Override_without_session (0.00s) 119s --- PASS: TestGenerate/Invalid_class (0.00s) 119s --- PASS: TestGenerate/Missing_XML_declaration_is_successfully_parsed (0.00s) 119s --- PASS: TestGenerate/No_key_on_system (0.00s) 119s --- PASS: TestGenerate/Overridden_by_multiple_files,_last_wins (0.00s) 119s --- PASS: TestGenerate/Description_starting_with_deprecated_mixed_case_is_ignored (0.00s) 119s --- PASS: TestGenerate/One_decimal_key_with_min_only (0.00s) 119s --- PASS: TestGenerate/Long_decimal_key (0.00s) 119s --- PASS: TestGenerate/Enums_in_other_files_are_converted_to_choices (0.00s) 119s PASS 119s ok github.com/ubuntu/adsys/internal/ad/admxgen/dconf 0.022s 119s ? github.com/ubuntu/adsys/internal/ad/backends [no test files] 119s ? github.com/ubuntu/adsys/internal/ad/backends/mock [no test files] 119s === RUN TestSSSD 119s === PAUSE TestSSSD 119s === CONT TestSSSD 119s === RUN TestSSSD/Use_domain_from_section_if_no_ad_domain 119s === PAUSE TestSSSD/Use_domain_from_section_if_no_ad_domain 119s === RUN TestSSSD/ServerFQDN()_does_not_fail_when_we_do_not_need_an_active_server 119s === PAUSE TestSSSD/ServerFQDN()_does_not_fail_when_we_do_not_need_an_active_server 119s === RUN TestSSSD/Error_returned_by_IsOnline()__when_calls_is_erroring_out 119s === PAUSE TestSSSD/Error_returned_by_IsOnline()__when_calls_is_erroring_out 119s === RUN TestSSSD/Error_on_sssd_domain_section_missing 119s === PAUSE TestSSSD/Error_on_sssd_domain_section_missing 119s === RUN TestSSSD/Error_on_sssd_domain_empty_section 119s === PAUSE TestSSSD/Error_on_sssd_domain_empty_section 119s === RUN TestSSSD/Multiple_domains,_pick_first 119s === PAUSE TestSSSD/Multiple_domains,_pick_first 119s === RUN TestSSSD/Ad_server_defined_in_config_does_not_need_active_server 119s === PAUSE TestSSSD/Ad_server_defined_in_config_does_not_need_active_server 119s === RUN TestSSSD/Ad_server_starting_with_ldap_prefix_does_not_stutter 119s === PAUSE TestSSSD/Ad_server_starting_with_ldap_prefix_does_not_stutter 119s === RUN TestSSSD/Can_handle_special_DNS_domain_characters 119s === PAUSE TestSSSD/Can_handle_special_DNS_domain_characters 119s === RUN TestSSSD/SSSd_domain_can_not_match_ad_domain 119s === PAUSE TestSSSD/SSSd_domain_can_not_match_ad_domain 119s === RUN TestSSSD/Error_returned_by_ServerFQDN()_when_calls_is_erroring_out 119s === PAUSE TestSSSD/Error_returned_by_ServerFQDN()_when_calls_is_erroring_out 119s === RUN TestSSSD/Error_returned_by_ServerFQDN()_and_IsOnline()_when_DBUS_has_no_object 119s === PAUSE TestSSSD/Error_returned_by_ServerFQDN()_and_IsOnline()_when_DBUS_has_no_object 119s === RUN TestSSSD/Ad_server_defined_in_config_has_priority_over_active_server 119s === PAUSE TestSSSD/Ad_server_defined_in_config_has_priority_over_active_server 119s === RUN TestSSSD/Ignore_upper_cases_in_domain_name 119s === PAUSE TestSSSD/Ignore_upper_cases_in_domain_name 119s === RUN TestSSSD/Regular_config,_with_cache_dir 119s === PAUSE TestSSSD/Regular_config,_with_cache_dir 119s === RUN TestSSSD/No_sssd_conf_loads_the_default 119s === PAUSE TestSSSD/No_sssd_conf_loads_the_default 119s === RUN TestSSSD/Error_on_sssd_conf_does_not_exists 119s === PAUSE TestSSSD/Error_on_sssd_conf_does_not_exists 119s === RUN TestSSSD/Error_on_empty_domains_field 119s === PAUSE TestSSSD/Error_on_empty_domains_field 119s === RUN TestSSSD/Error_on_no_sssd_section 119s === PAUSE TestSSSD/Error_on_no_sssd_section 119s === RUN TestSSSD/Is_not_online 119s === PAUSE TestSSSD/Is_not_online 119s === RUN TestSSSD/Default_domain_suffix_is_read 119s === PAUSE TestSSSD/Default_domain_suffix_is_read 119s === RUN TestSSSD/Error_returned_by_ServerFQDN()_on_no_config_nor_active_server_provided 119s === PAUSE TestSSSD/Error_returned_by_ServerFQDN()_on_no_config_nor_active_server_provided 119s === RUN TestSSSD/Error_on_no_domains_field 119s === PAUSE TestSSSD/Error_on_no_domains_field 119s === RUN TestSSSD/Regular_config 119s === PAUSE TestSSSD/Regular_config 119s === CONT TestSSSD/Use_domain_from_section_if_no_ad_domain 119s === CONT TestSSSD/Ad_server_defined_in_config_has_priority_over_active_server 119s === CONT TestSSSD/Regular_config 119s === CONT TestSSSD/Error_on_no_domains_field 119s === CONT TestSSSD/Error_returned_by_ServerFQDN()_on_no_config_nor_active_server_provided 119s === CONT TestSSSD/Default_domain_suffix_is_read 119s === CONT TestSSSD/Is_not_online 119s === CONT TestSSSD/Error_on_no_sssd_section 119s === CONT TestSSSD/Error_on_empty_domains_field 119s === CONT TestSSSD/Error_on_sssd_conf_does_not_exists 119s === CONT TestSSSD/No_sssd_conf_loads_the_default 119s === CONT TestSSSD/Regular_config,_with_cache_dir 119s === CONT TestSSSD/Ignore_upper_cases_in_domain_name 119s === CONT TestSSSD/Ad_server_defined_in_config_does_not_need_active_server 119s === CONT TestSSSD/Error_returned_by_ServerFQDN()_and_IsOnline()_when_DBUS_has_no_object 119s === CONT TestSSSD/Error_returned_by_ServerFQDN()_when_calls_is_erroring_out 119s === CONT TestSSSD/SSSd_domain_can_not_match_ad_domain 119s === CONT TestSSSD/Can_handle_special_DNS_domain_characters 119s === CONT TestSSSD/Ad_server_starting_with_ldap_prefix_does_not_stutter 119s === CONT TestSSSD/Error_on_sssd_domain_section_missing 119s === CONT TestSSSD/Multiple_domains,_pick_first 119s === CONT TestSSSD/Error_on_sssd_domain_empty_section 119s === CONT TestSSSD/Error_returned_by_IsOnline()__when_calls_is_erroring_out 119s === CONT TestSSSD/ServerFQDN()_does_not_fail_when_we_do_not_need_an_active_server 119s --- PASS: TestSSSD (0.00s) 119s --- PASS: TestSSSD/Ad_server_defined_in_config_has_priority_over_active_server (0.00s) 119s --- PASS: TestSSSD/Use_domain_from_section_if_no_ad_domain (0.00s) 119s --- PASS: TestSSSD/Error_on_no_domains_field (0.00s) 119s --- PASS: TestSSSD/Regular_config (0.00s) 119s --- PASS: TestSSSD/Error_returned_by_ServerFQDN()_on_no_config_nor_active_server_provided (0.00s) 119s --- PASS: TestSSSD/Default_domain_suffix_is_read (0.00s) 119s --- PASS: TestSSSD/Error_on_no_sssd_section (0.00s) 119s --- PASS: TestSSSD/Error_on_empty_domains_field (0.00s) 119s --- PASS: TestSSSD/Error_on_sssd_conf_does_not_exists (0.00s) 119s --- PASS: TestSSSD/No_sssd_conf_loads_the_default (0.00s) 119s --- PASS: TestSSSD/Is_not_online (0.00s) 119s --- PASS: TestSSSD/Regular_config,_with_cache_dir (0.00s) 119s --- PASS: TestSSSD/Ignore_upper_cases_in_domain_name (0.00s) 119s --- PASS: TestSSSD/Ad_server_defined_in_config_does_not_need_active_server (0.00s) 119s --- PASS: TestSSSD/Error_returned_by_ServerFQDN()_and_IsOnline()_when_DBUS_has_no_object (0.00s) 119s --- PASS: TestSSSD/Error_returned_by_ServerFQDN()_when_calls_is_erroring_out (0.00s) 119s --- PASS: TestSSSD/SSSd_domain_can_not_match_ad_domain (0.00s) 119s --- PASS: TestSSSD/Can_handle_special_DNS_domain_characters (0.00s) 119s --- PASS: TestSSSD/Error_on_sssd_domain_section_missing (0.00s) 119s --- PASS: TestSSSD/Ad_server_starting_with_ldap_prefix_does_not_stutter (0.00s) 119s --- PASS: TestSSSD/Error_on_sssd_domain_empty_section (0.00s) 119s --- PASS: TestSSSD/Multiple_domains,_pick_first (0.00s) 119s --- PASS: TestSSSD/Error_returned_by_IsOnline()__when_calls_is_erroring_out (0.00s) 119s --- PASS: TestSSSD/ServerFQDN()_does_not_fail_when_we_do_not_need_an_active_server (0.00s) 119s PASS 119s ok github.com/ubuntu/adsys/internal/ad/backends/sss 0.018s 119s === RUN TestWinbind 119s winbind_test.go:25: Running subprocess with [/tmp/go-build3568221540/b618/winbind.test -test.testlogfile=/tmp/go-build3568221540/b618/testlog.txt -test.paniconexit0 -test.timeout=10m0s -test.v=true -test.run=TestWinbind] 119s === RUN TestWinbind 119s === RUN TestWinbind/Lookup_is_successful 119s === RUN TestWinbind/Lookup_with_different_hostname_is_successful 119s === RUN TestWinbind/Lookup_with_overridden_ad_domain 119s === RUN TestWinbind/Lookup_with_overridden_ad_server 119s === RUN TestWinbind/Lookup_with_overridden_ad_server_with_LDAP_prefix 119s === RUN TestWinbind/Error_when_looking_up_domain 119s === RUN TestWinbind/Error_when_getting_online_status 119s === RUN TestWinbind/Error_when_looking_up_DC_name 119s === RUN TestWinbind/Error_when_domain_is_offline 119s === RUN TestWinbind/Error_when_requesting_krb5cc 119s --- PASS: TestWinbind (0.06s) 119s --- PASS: TestWinbind/Lookup_is_successful (0.01s) 119s --- PASS: TestWinbind/Lookup_with_different_hostname_is_successful (0.01s) 119s --- PASS: TestWinbind/Lookup_with_overridden_ad_domain (0.01s) 119s --- PASS: TestWinbind/Lookup_with_overridden_ad_server (0.01s) 119s --- PASS: TestWinbind/Lookup_with_overridden_ad_server_with_LDAP_prefix (0.00s) 119s --- PASS: TestWinbind/Error_when_looking_up_domain (0.00s) 119s --- PASS: TestWinbind/Error_when_getting_online_status (0.00s) 119s --- PASS: TestWinbind/Error_when_looking_up_DC_name (0.00s) 119s --- PASS: TestWinbind/Error_when_domain_is_offline (0.00s) 119s --- PASS: TestWinbind/Error_when_requesting_krb5cc (0.01s) 119s PASS 119s --- PASS: TestWinbind (0.10s) 119s === RUN TestExecuteKinitCommand 119s --- PASS: TestExecuteKinitCommand (0.00s) 119s PASS 119s ok github.com/ubuntu/adsys/internal/ad/backends/winbind 0.110s 119s === RUN TestGetVersionID 119s === PAUSE TestGetVersionID 119s === CONT TestGetVersionID 119s === RUN TestGetVersionID/Read_VERSION_ID 119s === PAUSE TestGetVersionID/Read_VERSION_ID 119s === RUN TestGetVersionID/No_VERSION_ID_in_file 119s === PAUSE TestGetVersionID/No_VERSION_ID_in_file 119s === RUN TestGetVersionID/No_os-release_file 119s === PAUSE TestGetVersionID/No_os-release_file 119s === CONT TestGetVersionID/Read_VERSION_ID 119s === CONT TestGetVersionID/No_os-release_file 119s === CONT TestGetVersionID/No_VERSION_ID_in_file 119s --- PASS: TestGetVersionID (0.00s) 119s --- PASS: TestGetVersionID/Read_VERSION_ID (0.00s) 119s --- PASS: TestGetVersionID/No_os-release_file (0.00s) 119s --- PASS: TestGetVersionID/No_VERSION_ID_in_file (0.00s) 119s PASS 119s ok github.com/ubuntu/adsys/internal/ad/common 0.003s 119s === RUN TestReadPolicy 119s === PAUSE TestReadPolicy 119s === RUN TestDecodePolicy 119s === PAUSE TestDecodePolicy 119s === CONT TestReadPolicy 119s === CONT TestDecodePolicy 119s === RUN TestDecodePolicy/disabled_container_with_disabled_option_values 119s === PAUSE TestDecodePolicy/disabled_container_with_disabled_option_values 119s === RUN TestDecodePolicy/disabled_container_disables_its_option_values 119s === PAUSE TestDecodePolicy/disabled_container_disables_its_option_values 119s === RUN TestDecodePolicy/one_container_with_2_children_don’t_mix_their_default_values 119s === PAUSE TestDecodePolicy/one_container_with_2_children_don’t_mix_their_default_values 119s === RUN TestDecodePolicy/two_containers_don’t_mix_their_default_values_when_redefined 119s === PAUSE TestDecodePolicy/two_containers_don’t_mix_their_default_values_when_redefined 119s === RUN TestDecodePolicy/two_containers_don’t_mix_their_meta_values,_even_if_second_has_none 119s === PAUSE TestDecodePolicy/two_containers_don’t_mix_their_meta_values,_even_if_second_has_none 119s === RUN TestDecodePolicy/invalid_header,_header_too_short 119s === PAUSE TestDecodePolicy/invalid_header,_header_too_short 119s === RUN TestDecodePolicy/invalid_header,_file_truncated 119s === PAUSE TestDecodePolicy/invalid_header,_file_truncated 119s === RUN TestDecodePolicy/two_elements 119s === PAUSE TestDecodePolicy/two_elements 119s === RUN TestDecodePolicy/empty_value 119s === PAUSE TestDecodePolicy/empty_value 119s === RUN TestDecodePolicy/basic_type_is_ignored_for_meta_of_wrong_type 119s === PAUSE TestDecodePolicy/basic_type_is_ignored_for_meta_of_wrong_type 119s === RUN TestDecodePolicy/section_not_closed 119s === PAUSE TestDecodePolicy/section_not_closed 119s === RUN TestDecodePolicy/key_is_not_utf16 119s === PAUSE TestDecodePolicy/key_is_not_utf16 119s === RUN TestDecodePolicy/one_element,_multitext_value 119s === PAUSE TestDecodePolicy/one_element,_multitext_value 119s === RUN TestDecodePolicy/basic_type_with_default_value_needs_a_DISABLED_marker 119s === PAUSE TestDecodePolicy/basic_type_with_default_value_needs_a_DISABLED_marker 119s === RUN TestDecodePolicy/basic_type_with_a_DISABLED_marker_keeps_meta_and_strategy 119s === PAUSE TestDecodePolicy/basic_type_with_a_DISABLED_marker_keeps_meta_and_strategy 119s === RUN TestDecodePolicy/semicolon_in_data 119s === PAUSE TestDecodePolicy/semicolon_in_data 119s === RUN TestDecodePolicy/empty_data 119s === PAUSE TestDecodePolicy/empty_data 119s === RUN TestDecodePolicy/invalid_header,_header_doesnt_match 119s === PAUSE TestDecodePolicy/invalid_header,_header_doesnt_match 119s === RUN TestDecodePolicy/one_element,_decimal_value 119s === PAUSE TestDecodePolicy/one_element,_decimal_value 119s === RUN TestDecodePolicy/basic_type,_disabled 119s === PAUSE TestDecodePolicy/basic_type,_disabled 119s === RUN TestDecodePolicy/disabled_container_with_values_needs_a_DISABLED_marker 119s === PAUSE TestDecodePolicy/disabled_container_with_values_needs_a_DISABLED_marker 119s === RUN TestDecodePolicy/two_containers_don’t_mix_their_default_values_even_when_second_has_none 119s === PAUSE TestDecodePolicy/two_containers_don’t_mix_their_default_values_even_when_second_has_none 119s === RUN TestDecodePolicy/null_character_in_data 119s === PAUSE TestDecodePolicy/null_character_in_data 119s === RUN TestDecodePolicy/header_only 119s === PAUSE TestDecodePolicy/header_only 119s === RUN TestDecodePolicy/missing_field 119s === PAUSE TestDecodePolicy/missing_field 119s === RUN TestDecodePolicy/value_is_not_utf16 119s === PAUSE TestDecodePolicy/value_is_not_utf16 119s === RUN TestDecodePolicy/empty_key 119s === PAUSE TestDecodePolicy/empty_key 119s === RUN TestDecodePolicy/basic_type,_enabled 119s === PAUSE TestDecodePolicy/basic_type,_enabled 119s === RUN TestDecodePolicy/container_with_default_elements_override_empty_option_values 119s === PAUSE TestDecodePolicy/container_with_default_elements_override_empty_option_values 119s === RUN TestDecodePolicy/container_strategy_is_reflected_on_child 119s === PAUSE TestDecodePolicy/container_strategy_is_reflected_on_child 119s === RUN TestDecodePolicy/container_without_metavalues 119s === PAUSE TestDecodePolicy/container_without_metavalues 119s === RUN TestDecodePolicy/invalid_decimal_value 119s === PAUSE TestDecodePolicy/invalid_decimal_value 119s === RUN TestDecodePolicy/empty_file 119s === PAUSE TestDecodePolicy/empty_file 119s === RUN TestDecodePolicy/one_element,_string_value 119s === PAUSE TestDecodePolicy/one_element,_string_value 119s === RUN TestDecodePolicy/one_element,_disabled 119s === PAUSE TestDecodePolicy/one_element,_disabled 119s === RUN TestDecodePolicy/container_with_default_elements_are_ignored_on_non_empty_option_values 119s === PAUSE TestDecodePolicy/container_with_default_elements_are_ignored_on_non_empty_option_values 119s === RUN TestDecodePolicy/disabled_container_with_values_still_keep_meta_and_strategy_with_a_DISABLED_marker 119s === PAUSE TestDecodePolicy/disabled_container_with_values_still_keep_meta_and_strategy_with_a_DISABLED_marker 119s === RUN TestDecodePolicy/container_with_meta_elements_and_default_without_value_on_options 119s === PAUSE TestDecodePolicy/container_with_meta_elements_and_default_without_value_on_options 119s === RUN TestDecodePolicy/policy_container_is_ignored_for_meta_of_wrong_type 119s === PAUSE TestDecodePolicy/policy_container_is_ignored_for_meta_of_wrong_type 119s === RUN TestDecodePolicy/invalid_container_default_values 119s === PAUSE TestDecodePolicy/invalid_container_default_values 119s === RUN TestDecodePolicy/container_with_missing_default_element_for_option_values_have_empty_strings 119s === PAUSE TestDecodePolicy/container_with_missing_default_element_for_option_values_have_empty_strings 119s === RUN TestDecodePolicy/container_with_default_elements_are_ignored_on_int_option_values_(always_have_values) 119s === PAUSE TestDecodePolicy/container_with_default_elements_are_ignored_on_int_option_values_(always_have_values) 119s === RUN TestDecodePolicy/container_with_meta_elements_and_value_on_options 119s === PAUSE TestDecodePolicy/container_with_meta_elements_and_value_on_options 119s === RUN TestDecodePolicy/one_container_with_2_children_don’t_mix_their_meta_values 119s === PAUSE TestDecodePolicy/one_container_with_2_children_don’t_mix_their_meta_values 119s === RUN TestDecodePolicy/exotic_return_type 119s === PAUSE TestDecodePolicy/exotic_return_type 119s === RUN TestDecodePolicy/no_header 119s === PAUSE TestDecodePolicy/no_header 119s === RUN TestDecodePolicy/basic_type_with_default_value_has_value_filed_in 119s === PAUSE TestDecodePolicy/basic_type_with_default_value_has_value_filed_in 119s === RUN TestDecodePolicy/basic_type_with_strategy 119s === PAUSE TestDecodePolicy/basic_type_with_strategy 119s === RUN TestDecodePolicy/section_separators_in_data 119s === PAUSE TestDecodePolicy/section_separators_in_data 119s === CONT TestDecodePolicy/disabled_container_with_disabled_option_values 119s === CONT TestDecodePolicy/section_separators_in_data 119s === CONT TestDecodePolicy/basic_type_with_strategy 119s === CONT TestDecodePolicy/basic_type_with_default_value_has_value_filed_in 119s === RUN TestReadPolicy/section_not_closed 119s === PAUSE TestReadPolicy/section_not_closed 119s === RUN TestReadPolicy/very_large_gpo 119s === PAUSE TestReadPolicy/very_large_gpo 119s === RUN TestReadPolicy/header_only 119s === PAUSE TestReadPolicy/header_only 119s === RUN TestReadPolicy/invalid_header,_header_too_short 119s === PAUSE TestReadPolicy/invalid_header,_header_too_short 119s === RUN TestReadPolicy/no_header 119s === PAUSE TestReadPolicy/no_header 119s === RUN TestReadPolicy/empty_file 119s === PAUSE TestReadPolicy/empty_file 119s === RUN TestReadPolicy/missing_field 119s === PAUSE TestReadPolicy/missing_field 119s === RUN TestReadPolicy/value_is_not_utf16 119s === PAUSE TestReadPolicy/value_is_not_utf16 119s === RUN TestReadPolicy/one_element,_decimal_value 119s === PAUSE TestReadPolicy/one_element,_decimal_value 119s === RUN TestReadPolicy/empty_value 119s === PAUSE TestReadPolicy/empty_value 119s === RUN TestReadPolicy/invalid_header,_header_doesnt_match 119s === PAUSE TestReadPolicy/invalid_header,_header_doesnt_match 119s === RUN TestReadPolicy/invalid_header,_file_truncated 119s === PAUSE TestReadPolicy/invalid_header,_file_truncated 119s === RUN TestReadPolicy/empty_key 119s === PAUSE TestReadPolicy/empty_key 119s === RUN TestReadPolicy/two_elements 119s === PAUSE TestReadPolicy/two_elements 119s === RUN TestReadPolicy/exotic_return_type 119s === PAUSE TestReadPolicy/exotic_return_type 119s === RUN TestReadPolicy/key_is_not_utf16 119s === PAUSE TestReadPolicy/key_is_not_utf16 119s === RUN TestReadPolicy/one_element,_string_value 119s === PAUSE TestReadPolicy/one_element,_string_value 119s === RUN TestReadPolicy/memory_on_multiple_elements_dont_overlap 119s === PAUSE TestReadPolicy/memory_on_multiple_elements_dont_overlap 119s === RUN TestReadPolicy/semicolon_in_data 119s === PAUSE TestReadPolicy/semicolon_in_data 119s === RUN TestReadPolicy/section_separators_in_data 119s === PAUSE TestReadPolicy/section_separators_in_data 119s === CONT TestDecodePolicy/no_header 119s === CONT TestDecodePolicy/exotic_return_type 119s === CONT TestDecodePolicy/one_container_with_2_children_don’t_mix_their_meta_values 119s === CONT TestDecodePolicy/container_with_meta_elements_and_value_on_options 119s === CONT TestDecodePolicy/container_with_default_elements_are_ignored_on_int_option_values_(always_have_values) 119s === CONT TestDecodePolicy/container_with_missing_default_element_for_option_values_have_empty_strings 119s === CONT TestDecodePolicy/invalid_container_default_values 119s === CONT TestDecodePolicy/policy_container_is_ignored_for_meta_of_wrong_type 119s === CONT TestDecodePolicy/container_with_meta_elements_and_default_without_value_on_options 119s === CONT TestDecodePolicy/disabled_container_with_values_still_keep_meta_and_strategy_with_a_DISABLED_marker 119s === CONT TestDecodePolicy/container_with_default_elements_are_ignored_on_non_empty_option_values 119s === CONT TestDecodePolicy/one_element,_disabled 119s === CONT TestDecodePolicy/one_element,_string_value 119s === CONT TestDecodePolicy/empty_file 119s === CONT TestDecodePolicy/invalid_decimal_value 119s === CONT TestDecodePolicy/container_without_metavalues 119s === CONT TestDecodePolicy/container_strategy_is_reflected_on_child 119s === CONT TestDecodePolicy/container_with_default_elements_override_empty_option_values 119s === CONT TestDecodePolicy/basic_type,_enabled 119s === CONT TestDecodePolicy/empty_key 119s === CONT TestDecodePolicy/value_is_not_utf16 119s === CONT TestDecodePolicy/missing_field 119s === CONT TestDecodePolicy/header_only 119s === CONT TestDecodePolicy/two_containers_don’t_mix_their_default_values_even_when_second_has_none 119s === CONT TestDecodePolicy/disabled_container_with_values_needs_a_DISABLED_marker 119s === CONT TestDecodePolicy/basic_type,_disabled 119s === CONT TestDecodePolicy/one_element,_decimal_value 119s === CONT TestDecodePolicy/invalid_header,_header_doesnt_match 119s === CONT TestDecodePolicy/empty_data 119s === CONT TestDecodePolicy/semicolon_in_data 119s === CONT TestDecodePolicy/null_character_in_data 119s === CONT TestDecodePolicy/basic_type_with_default_value_needs_a_DISABLED_marker 119s === CONT TestDecodePolicy/one_element,_multitext_value 119s === CONT TestDecodePolicy/key_is_not_utf16 119s === CONT TestDecodePolicy/basic_type_with_a_DISABLED_marker_keeps_meta_and_strategy 119s === CONT TestDecodePolicy/section_not_closed 119s === CONT TestDecodePolicy/basic_type_is_ignored_for_meta_of_wrong_type 119s === CONT TestDecodePolicy/empty_value 119s === CONT TestDecodePolicy/two_elements 119s === CONT TestDecodePolicy/invalid_header,_file_truncated 119s === CONT TestDecodePolicy/invalid_header,_header_too_short 119s === CONT TestDecodePolicy/two_containers_don’t_mix_their_meta_values,_even_if_second_has_none 119s === CONT TestDecodePolicy/two_containers_don’t_mix_their_default_values_when_redefined 119s === CONT TestDecodePolicy/one_container_with_2_children_don’t_mix_their_default_values 119s === CONT TestDecodePolicy/disabled_container_disables_its_option_values 119s === CONT TestReadPolicy/section_not_closed 119s === CONT TestReadPolicy/section_separators_in_data 119s === CONT TestReadPolicy/semicolon_in_data 119s === CONT TestReadPolicy/memory_on_multiple_elements_dont_overlap 119s --- PASS: TestDecodePolicy (0.00s) 119s --- PASS: TestDecodePolicy/disabled_container_with_disabled_option_values (0.00s) 119s --- PASS: TestDecodePolicy/section_separators_in_data (0.00s) 119s --- PASS: TestDecodePolicy/basic_type_with_strategy (0.00s) 119s --- PASS: TestDecodePolicy/basic_type_with_default_value_has_value_filed_in (0.00s) 119s --- PASS: TestDecodePolicy/exotic_return_type (0.00s) 119s --- PASS: TestDecodePolicy/one_container_with_2_children_don’t_mix_their_meta_values (0.00s) 119s --- PASS: TestDecodePolicy/no_header (0.00s) 119s --- PASS: TestDecodePolicy/container_with_default_elements_are_ignored_on_int_option_values_(always_have_values) (0.00s) 119s --- PASS: TestDecodePolicy/container_with_meta_elements_and_value_on_options (0.00s) 119s --- PASS: TestDecodePolicy/container_with_missing_default_element_for_option_values_have_empty_strings (0.00s) 119s --- PASS: TestDecodePolicy/invalid_container_default_values (0.00s) 119s --- PASS: TestDecodePolicy/policy_container_is_ignored_for_meta_of_wrong_type (0.00s) 119s --- PASS: TestDecodePolicy/disabled_container_with_values_still_keep_meta_and_strategy_with_a_DISABLED_marker (0.00s) 119s --- PASS: TestDecodePolicy/container_with_default_elements_are_ignored_on_non_empty_option_values (0.00s) 119s --- PASS: TestDecodePolicy/one_element,_disabled (0.00s) 119s --- PASS: TestDecodePolicy/one_element,_string_value (0.00s) 119s --- PASS: TestDecodePolicy/empty_file (0.00s) 119s --- PASS: TestDecodePolicy/invalid_decimal_value (0.00s) 119s --- PASS: TestDecodePolicy/container_without_metavalues (0.00s) 119s --- PASS: TestDecodePolicy/container_with_meta_elements_and_default_without_value_on_options (0.00s) 119s --- PASS: TestDecodePolicy/container_strategy_is_reflected_on_child (0.00s) 119s --- PASS: TestDecodePolicy/container_with_default_elements_override_empty_option_values (0.00s) 119s --- PASS: TestDecodePolicy/empty_key (0.00s) 119s --- PASS: TestDecodePolicy/basic_type,_enabled (0.00s) 119s --- PASS: TestDecodePolicy/value_is_not_utf16 (0.00s) 119s --- PASS: TestDecodePolicy/missing_field (0.00s) 119s --- PASS: TestDecodePolicy/header_only (0.00s) 119s --- PASS: TestDecodePolicy/two_containers_don’t_mix_their_default_values_even_when_second_has_none (0.00s) 119s --- PASS: TestDecodePolicy/disabled_container_with_values_needs_a_DISABLED_marker (0.00s) 119s --- PASS: TestDecodePolicy/basic_type,_disabled (0.00s) 119s --- PASS: TestDecodePolicy/one_element,_decimal_value (0.00s) 119s --- PASS: TestDecodePolicy/invalid_header,_header_doesnt_match (0.00s) 119s --- PASS: TestDecodePolicy/empty_data (0.00s) 119s --- PASS: TestDecodePolicy/null_character_in_data (0.00s) 119s --- PASS: TestDecodePolicy/basic_type_with_default_value_needs_a_DISABLED_marker (0.00s) 119s --- PASS: TestDecodePolicy/one_element,_multitext_value (0.00s) 119s --- PASS: TestDecodePolicy/semicolon_in_data (0.00s) 119s --- PASS: TestDecodePolicy/key_is_not_utf16 (0.00s) 119s --- PASS: TestDecodePolicy/basic_type_with_a_DISABLED_marker_keeps_meta_and_strategy (0.00s) 119s --- PASS: TestDecodePolicy/basic_type_is_ignored_for_meta_of_wrong_type (0.00s) 119s --- PASS: TestDecodePolicy/empty_value (0.00s) 119s --- PASS: TestDecodePolicy/two_elements (0.00s) 119s --- PASS: TestDecodePolicy/invalid_header,_file_truncated (0.00s) 119s --- PASS: TestDecodePolicy/invalid_header,_header_too_short (0.00s) 119s --- PASS: TestDecodePolicy/section_not_closed (0.00s) 119s --- PASS: TestDecodePolicy/two_containers_don’t_mix_their_meta_values,_even_if_second_has_none (0.00s) 119s --- PASS: TestDecodePolicy/one_container_with_2_children_don’t_mix_their_default_values (0.00s) 119s --- PASS: TestDecodePolicy/two_containers_don’t_mix_their_default_values_when_redefined (0.00s) 119s --- PASS: TestDecodePolicy/disabled_container_disables_its_option_values (0.00s) 119s === CONT TestReadPolicy/one_element,_string_value 119s === CONT TestReadPolicy/key_is_not_utf16 119s === CONT TestReadPolicy/exotic_return_type 119s === CONT TestReadPolicy/two_elements 119s === CONT TestReadPolicy/empty_key 119s === CONT TestReadPolicy/invalid_header,_file_truncated 119s === CONT TestReadPolicy/invalid_header,_header_doesnt_match 119s === CONT TestReadPolicy/empty_value 119s === CONT TestReadPolicy/one_element,_decimal_value 119s === CONT TestReadPolicy/value_is_not_utf16 119s === CONT TestReadPolicy/missing_field 119s === CONT TestReadPolicy/empty_file 119s === CONT TestReadPolicy/no_header 119s === CONT TestReadPolicy/invalid_header,_header_too_short 119s === CONT TestReadPolicy/header_only 119s === CONT TestReadPolicy/very_large_gpo 119s --- PASS: TestReadPolicy (0.00s) 119s --- PASS: TestReadPolicy/section_not_closed (0.00s) 119s --- PASS: TestReadPolicy/section_separators_in_data (0.00s) 119s --- PASS: TestReadPolicy/semicolon_in_data (0.00s) 119s --- PASS: TestReadPolicy/one_element,_string_value (0.00s) 119s --- PASS: TestReadPolicy/memory_on_multiple_elements_dont_overlap (0.00s) 119s --- PASS: TestReadPolicy/exotic_return_type (0.00s) 119s --- PASS: TestReadPolicy/key_is_not_utf16 (0.00s) 119s --- PASS: TestReadPolicy/empty_key (0.00s) 119s --- PASS: TestReadPolicy/invalid_header,_file_truncated (0.00s) 119s --- PASS: TestReadPolicy/invalid_header,_header_doesnt_match (0.00s) 119s --- PASS: TestReadPolicy/two_elements (0.00s) 119s --- PASS: TestReadPolicy/one_element,_decimal_value (0.00s) 119s --- PASS: TestReadPolicy/value_is_not_utf16 (0.00s) 119s --- PASS: TestReadPolicy/empty_value (0.00s) 119s --- PASS: TestReadPolicy/empty_file (0.00s) 119s --- PASS: TestReadPolicy/no_header (0.00s) 119s --- PASS: TestReadPolicy/missing_field (0.00s) 119s --- PASS: TestReadPolicy/header_only (0.00s) 119s --- PASS: TestReadPolicy/invalid_header,_header_too_short (0.00s) 119s --- PASS: TestReadPolicy/very_large_gpo (0.01s) 119s === RUN FuzzDecodePolicy 119s === RUN FuzzDecodePolicy/seed#0 119s === RUN FuzzDecodePolicy/seed#1 119s === RUN FuzzDecodePolicy/seed#2 119s === RUN FuzzDecodePolicy/seed#3 119s === RUN FuzzDecodePolicy/seed#4 119s === RUN FuzzDecodePolicy/seed#5 119s === RUN FuzzDecodePolicy/seed#6 119s === RUN FuzzDecodePolicy/seed#7 119s === RUN FuzzDecodePolicy/seed#8 119s === RUN FuzzDecodePolicy/seed#9 119s === RUN FuzzDecodePolicy/seed#10 119s === RUN FuzzDecodePolicy/seed#11 119s === RUN FuzzDecodePolicy/seed#12 119s === RUN FuzzDecodePolicy/seed#13 119s === RUN FuzzDecodePolicy/seed#14 119s === RUN FuzzDecodePolicy/seed#15 119s === RUN FuzzDecodePolicy/seed#16 119s === RUN FuzzDecodePolicy/seed#17 119s === RUN FuzzDecodePolicy/seed#18 119s === RUN FuzzDecodePolicy/seed#19 119s === RUN FuzzDecodePolicy/seed#20 119s === RUN FuzzDecodePolicy/seed#21 119s === RUN FuzzDecodePolicy/seed#22 119s === RUN FuzzDecodePolicy/seed#23 119s === RUN FuzzDecodePolicy/seed#24 119s === RUN FuzzDecodePolicy/seed#25 119s === RUN FuzzDecodePolicy/seed#26 119s === RUN FuzzDecodePolicy/seed#27 119s === RUN FuzzDecodePolicy/seed#28 119s === RUN FuzzDecodePolicy/seed#29 119s === RUN FuzzDecodePolicy/seed#30 119s === RUN FuzzDecodePolicy/seed#31 119s === RUN FuzzDecodePolicy/seed#32 119s === RUN FuzzDecodePolicy/seed#33 119s === RUN FuzzDecodePolicy/seed#34 119s === RUN FuzzDecodePolicy/seed#35 119s === RUN FuzzDecodePolicy/seed#36 119s === RUN FuzzDecodePolicy/seed#37 119s === RUN FuzzDecodePolicy/seed#38 119s === RUN FuzzDecodePolicy/seed#39 119s === RUN FuzzDecodePolicy/seed#40 119s === RUN FuzzDecodePolicy/seed#41 119s === RUN FuzzDecodePolicy/seed#42 119s === RUN FuzzDecodePolicy/seed#43 119s === RUN FuzzDecodePolicy/seed#44 119s === RUN FuzzDecodePolicy/seed#45 119s === RUN FuzzDecodePolicy/seed#46 119s === RUN FuzzDecodePolicy/seed#47 119s === RUN FuzzDecodePolicy/seed#48 119s === RUN FuzzDecodePolicy/seed#49 119s === RUN FuzzDecodePolicy/seed#50 119s === RUN FuzzDecodePolicy/seed#51 119s === RUN FuzzDecodePolicy/seed#52 119s === RUN FuzzDecodePolicy/seed#53 119s === RUN FuzzDecodePolicy/0062cd090fe349d2 119s === RUN FuzzDecodePolicy/04b7526092323e1c 119s === RUN FuzzDecodePolicy/0defa8b97933a28f 119s === RUN FuzzDecodePolicy/133d1110defea029 119s === RUN FuzzDecodePolicy/1417961320cddc32 119s === RUN FuzzDecodePolicy/18ca9a9ddd9b04c5 119s === RUN FuzzDecodePolicy/1b6cf53b6668b5b8 119s === RUN FuzzDecodePolicy/1b723f18e7bbd2bd 119s === RUN FuzzDecodePolicy/1fa4e44bc7eaab2b 119s === RUN FuzzDecodePolicy/20bb28e943f3a163 119s === RUN FuzzDecodePolicy/20f9df382d135424 119s === RUN FuzzDecodePolicy/21a02646df37f4a3 119s === RUN FuzzDecodePolicy/222e7dcc7ccf2b94 119s === RUN FuzzDecodePolicy/263b842aaa06d620 119s === RUN FuzzDecodePolicy/28ee70a86ff08ae5 119s === RUN FuzzDecodePolicy/298aa48ef602f955 119s === RUN FuzzDecodePolicy/2cb06d9f4d5ffe78 119s === RUN FuzzDecodePolicy/2e90d7e4f1973efd 119s === RUN FuzzDecodePolicy/2f2f939e0f0a5dfa 119s === RUN FuzzDecodePolicy/2f559466be2bb6db 119s === RUN FuzzDecodePolicy/3183a1d080909e99 119s === RUN FuzzDecodePolicy/31b9c4efbfccaa4b 119s === RUN FuzzDecodePolicy/33661e4c5fce45df 119s === RUN FuzzDecodePolicy/33c1677cf59487f5 119s === RUN FuzzDecodePolicy/3a49e3a9b34e7ca0 119s === RUN FuzzDecodePolicy/3f5a8494482ab97f 119s === RUN FuzzDecodePolicy/40a5045c4171f005 119s === RUN FuzzDecodePolicy/44e971d5bd7f28b3 119s === RUN FuzzDecodePolicy/44ef800113434b04 119s === RUN FuzzDecodePolicy/471661e7b661c53d 119s === RUN FuzzDecodePolicy/476ca3647151c006 119s === RUN FuzzDecodePolicy/4843648786c70b38 119s === RUN FuzzDecodePolicy/48ca8b9fbeccc5a8 119s === RUN FuzzDecodePolicy/4a75b70e3bbd2aee 119s === RUN FuzzDecodePolicy/4ab54fbe4f748f85 119s === RUN FuzzDecodePolicy/4b03a60474b90bbd 119s === RUN FuzzDecodePolicy/4cf871ee411324fb 119s === RUN FuzzDecodePolicy/4f1d38c1e12aef6a 119s === RUN FuzzDecodePolicy/5044e53350040819 119s === RUN FuzzDecodePolicy/504944f54851313c 119s === RUN FuzzDecodePolicy/582528ddfad69eb5 119s === RUN FuzzDecodePolicy/593a3ee315061853 119s === RUN FuzzDecodePolicy/59d23806a24221a5 119s === RUN FuzzDecodePolicy/5a29ff4d9005ba8b 119s === RUN FuzzDecodePolicy/5f0ada98ca1ad1a9 119s === RUN FuzzDecodePolicy/62a8dced0efc9d72 119s === RUN FuzzDecodePolicy/68c1564da597fea0 119s === RUN FuzzDecodePolicy/69603dec84f1482b 119s === RUN FuzzDecodePolicy/6960c361007d8825 119s === RUN FuzzDecodePolicy/699e9d8d0197487d 119s === RUN FuzzDecodePolicy/6ccb1b379873af9f 119s === RUN FuzzDecodePolicy/6d1b1e240f60f6c9 119s === RUN FuzzDecodePolicy/6d3215f003388cf1 119s === RUN FuzzDecodePolicy/6d817b46e0caad15 119s === RUN FuzzDecodePolicy/6dc2686e428754f3 119s === RUN FuzzDecodePolicy/6ddc8b3bed7c0e39 119s === RUN FuzzDecodePolicy/6e0990202f9b9d55 119s === RUN FuzzDecodePolicy/6e1da4d6ea90bc7a 119s === RUN FuzzDecodePolicy/6f0e2fcef25f63cf 119s === RUN FuzzDecodePolicy/72cca4222533d089 119s === RUN FuzzDecodePolicy/731d3b5bde9cc690 119s === RUN FuzzDecodePolicy/7361de35bf70bf17 119s === RUN FuzzDecodePolicy/749f16c9bc3cc87e 119s === RUN FuzzDecodePolicy/74ac7250a3338978 119s === RUN FuzzDecodePolicy/758383ad78d1ddd4 119s === RUN FuzzDecodePolicy/76f1ccb3afa04e6e 119s === RUN FuzzDecodePolicy/795ceb881d4221e3 119s === RUN FuzzDecodePolicy/7b60c5de747214b6 119s === RUN FuzzDecodePolicy/7bc7f7ba36ff22f5 119s === RUN FuzzDecodePolicy/7f3faed21426db2f 119s === RUN FuzzDecodePolicy/82a803231677d0f5 119s === RUN FuzzDecodePolicy/837bc22f260799fd 119s === RUN FuzzDecodePolicy/85315bd4891f6c1e 119s === RUN FuzzDecodePolicy/867b5ab9e5d21aea 119s === RUN FuzzDecodePolicy/888de5c9e80ce3b0 119s === RUN FuzzDecodePolicy/8a61b9487446d726 119s === RUN FuzzDecodePolicy/8b0f0dee6f9a48fd 119s === RUN FuzzDecodePolicy/8e8f4e91b7c5bfd0 119s === RUN FuzzDecodePolicy/8f19b0f96affeba8 119s === RUN FuzzDecodePolicy/9334c46469323973 119s === RUN FuzzDecodePolicy/9604c69b88bc6151 119s === RUN FuzzDecodePolicy/963211680af6bd1a 119s === RUN FuzzDecodePolicy/972db90b4d6a1d5b 119s === RUN FuzzDecodePolicy/985ec3cbf457896a 119s === RUN FuzzDecodePolicy/997536fa86bbbc34 119s === RUN FuzzDecodePolicy/9acd70418e457d18 119s === RUN FuzzDecodePolicy/9b0a4105f1089a20 119s === RUN FuzzDecodePolicy/9d8cdc0719c46928 119s === RUN FuzzDecodePolicy/9e6f333572766a4b 119s === RUN FuzzDecodePolicy/9e943f761adfbbd0 119s === RUN FuzzDecodePolicy/a1698d53f5c4d82d 119s === RUN FuzzDecodePolicy/a1841a4689867471 119s === RUN FuzzDecodePolicy/a26ca284000eeff9 119s === RUN FuzzDecodePolicy/a552164bb872fda4 119s === RUN FuzzDecodePolicy/a9c5e443bf44c80d 119s === RUN FuzzDecodePolicy/ac277569a745611f 119s === RUN FuzzDecodePolicy/ac53c3dce7a4706d 119s === RUN FuzzDecodePolicy/ada28ad70c7345f1 119s === RUN FuzzDecodePolicy/adb9a13c291b7e8c 119s === RUN FuzzDecodePolicy/aeb9d5c55731dae0 119s === RUN FuzzDecodePolicy/af71c7d394bbf535 119s === RUN FuzzDecodePolicy/b0ecd34477c6628e 119s === RUN FuzzDecodePolicy/b1585b9aa01c16b3 119s === RUN FuzzDecodePolicy/b6264d058ed4028a 119s === RUN FuzzDecodePolicy/b6790bea1e752c32 119s === RUN FuzzDecodePolicy/b741e8aa6c8179ba 119s === RUN FuzzDecodePolicy/b9032509681e867b 119s === RUN FuzzDecodePolicy/bb684f658455e982 119s === RUN FuzzDecodePolicy/bc6ddfc82e38438b 119s === RUN FuzzDecodePolicy/bf4f46d3858edb39 119s === RUN FuzzDecodePolicy/bfdd1bd65b5f5c04 119s === RUN FuzzDecodePolicy/c01841582b4cdc2f 119s === RUN FuzzDecodePolicy/c340eca55c3c30e3 119s === RUN FuzzDecodePolicy/c39235a2f77e92fd 119s === RUN FuzzDecodePolicy/c4d9def3916de265 119s === RUN FuzzDecodePolicy/c610d176a1726c39 119s === RUN FuzzDecodePolicy/ca683af05a78b772 119s === RUN FuzzDecodePolicy/cac340cbf4f81f48 119s === RUN FuzzDecodePolicy/ccdaead0f44dc069 119s === RUN FuzzDecodePolicy/ce8467c12ac1478e 119s === RUN FuzzDecodePolicy/cebcbd67b0b51d54 119s === RUN FuzzDecodePolicy/cf318b520a8e55be 119s === RUN FuzzDecodePolicy/cf592b0a6a725d1c 119s === RUN FuzzDecodePolicy/d0b8dc40737b3ff0 119s === RUN FuzzDecodePolicy/d2969c8e25b51895 119s === RUN FuzzDecodePolicy/d4e956bdff66867a 119s === RUN FuzzDecodePolicy/d5b932675c6ca808 119s === RUN FuzzDecodePolicy/dac7bf5435c51dea 119s === RUN FuzzDecodePolicy/dddc8d06ef526aba 119s === RUN FuzzDecodePolicy/e3065cb3ac7c0f78 119s === RUN FuzzDecodePolicy/e4242a66193c4579 119s === RUN FuzzDecodePolicy/e4a4780eb4ee185b 119s === RUN FuzzDecodePolicy/e5b22ed07e48d3fb 119s === RUN FuzzDecodePolicy/e7e4a84593481e49 119s === RUN FuzzDecodePolicy/e8030826b4125cbb 119s === RUN FuzzDecodePolicy/e923261af5ebad81 119s === RUN FuzzDecodePolicy/ea426f6b8bedc4d6 119s === RUN FuzzDecodePolicy/ead723bc16638dcb 119s === RUN FuzzDecodePolicy/f131b8f78f028a54 119s === RUN FuzzDecodePolicy/f1c1d58ecbe0d6dd 119s === RUN FuzzDecodePolicy/f3313a9f40c82a87 119s === RUN FuzzDecodePolicy/f4f490e788a76488 119s === RUN FuzzDecodePolicy/fa7acaf11cff6812 119s === RUN FuzzDecodePolicy/fb991a0182b5fe4d 119s === RUN FuzzDecodePolicy/fc0deb922246d3b7 119s === RUN FuzzDecodePolicy/fccd118f10988218 119s === RUN FuzzDecodePolicy/fe9d2018570dc6c6 119s === RUN FuzzDecodePolicy/ffd2d2b4544a818d 119s === RUN FuzzDecodePolicy/ffd60d90486b3974 119s === RUN FuzzDecodePolicy/regression-test-input-333 119s --- PASS: FuzzDecodePolicy (0.22s) 119s --- PASS: FuzzDecodePolicy/seed#0 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#1 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#2 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#3 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#4 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#5 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#6 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#7 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#8 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#9 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#10 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#11 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#12 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#13 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#14 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#15 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#16 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#17 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#18 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#19 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#20 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#21 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#22 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#23 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#24 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#25 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#26 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#27 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#28 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#29 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#30 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#31 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#32 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#33 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#34 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#35 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#36 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#37 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#38 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#39 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#40 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#41 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#42 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#43 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#44 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#45 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#46 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#47 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#48 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#49 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#50 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#51 (0.00s) 119s --- PASS: FuzzDecodePolicy/seed#52 (0.01s) 119s --- PASS: FuzzDecodePolicy/seed#53 (0.00s) 119s --- PASS: FuzzDecodePolicy/0062cd090fe349d2 (0.00s) 119s --- PASS: FuzzDecodePolicy/04b7526092323e1c (0.00s) 119s --- PASS: FuzzDecodePolicy/0defa8b97933a28f (0.00s) 119s --- PASS: FuzzDecodePolicy/133d1110defea029 (0.00s) 119s --- PASS: FuzzDecodePolicy/1417961320cddc32 (0.00s) 119s --- PASS: FuzzDecodePolicy/18ca9a9ddd9b04c5 (0.00s) 119s --- PASS: FuzzDecodePolicy/1b6cf53b6668b5b8 (0.00s) 119s --- PASS: FuzzDecodePolicy/1b723f18e7bbd2bd (0.00s) 119s --- PASS: FuzzDecodePolicy/1fa4e44bc7eaab2b (0.00s) 119s --- PASS: FuzzDecodePolicy/20bb28e943f3a163 (0.00s) 119s --- PASS: FuzzDecodePolicy/20f9df382d135424 (0.00s) 119s --- PASS: FuzzDecodePolicy/21a02646df37f4a3 (0.00s) 119s --- PASS: FuzzDecodePolicy/222e7dcc7ccf2b94 (0.00s) 119s --- PASS: FuzzDecodePolicy/263b842aaa06d620 (0.00s) 119s --- PASS: FuzzDecodePolicy/28ee70a86ff08ae5 (0.00s) 119s --- PASS: FuzzDecodePolicy/298aa48ef602f955 (0.00s) 119s --- PASS: FuzzDecodePolicy/2cb06d9f4d5ffe78 (0.00s) 119s --- PASS: FuzzDecodePolicy/2e90d7e4f1973efd (0.00s) 119s --- PASS: FuzzDecodePolicy/2f2f939e0f0a5dfa (0.00s) 119s --- PASS: FuzzDecodePolicy/2f559466be2bb6db (0.00s) 119s --- PASS: FuzzDecodePolicy/3183a1d080909e99 (0.00s) 119s --- PASS: FuzzDecodePolicy/31b9c4efbfccaa4b (0.00s) 119s --- PASS: FuzzDecodePolicy/33661e4c5fce45df (0.00s) 119s --- PASS: FuzzDecodePolicy/33c1677cf59487f5 (0.00s) 119s --- PASS: FuzzDecodePolicy/3a49e3a9b34e7ca0 (0.00s) 119s --- PASS: FuzzDecodePolicy/3f5a8494482ab97f (0.00s) 119s --- PASS: FuzzDecodePolicy/40a5045c4171f005 (0.00s) 119s --- PASS: FuzzDecodePolicy/44e971d5bd7f28b3 (0.00s) 119s --- PASS: FuzzDecodePolicy/44ef800113434b04 (0.02s) 119s --- PASS: FuzzDecodePolicy/471661e7b661c53d (0.00s) 119s --- PASS: FuzzDecodePolicy/476ca3647151c006 (0.00s) 119s --- PASS: FuzzDecodePolicy/4843648786c70b38 (0.00s) 119s --- PASS: FuzzDecodePolicy/48ca8b9fbeccc5a8 (0.00s) 119s --- PASS: FuzzDecodePolicy/4a75b70e3bbd2aee (0.00s) 119s --- PASS: FuzzDecodePolicy/4ab54fbe4f748f85 (0.00s) 119s --- PASS: FuzzDecodePolicy/4b03a60474b90bbd (0.00s) 119s --- PASS: FuzzDecodePolicy/4cf871ee411324fb (0.00s) 119s --- PASS: FuzzDecodePolicy/4f1d38c1e12aef6a (0.00s) 119s --- PASS: FuzzDecodePolicy/5044e53350040819 (0.00s) 119s --- PASS: FuzzDecodePolicy/504944f54851313c (0.00s) 119s --- PASS: FuzzDecodePolicy/582528ddfad69eb5 (0.00s) 119s --- PASS: FuzzDecodePolicy/593a3ee315061853 (0.00s) 119s --- PASS: FuzzDecodePolicy/59d23806a24221a5 (0.00s) 119s --- PASS: FuzzDecodePolicy/5a29ff4d9005ba8b (0.00s) 119s --- PASS: FuzzDecodePolicy/5f0ada98ca1ad1a9 (0.00s) 119s --- PASS: FuzzDecodePolicy/62a8dced0efc9d72 (0.01s) 119s --- PASS: FuzzDecodePolicy/68c1564da597fea0 (0.00s) 119s --- PASS: FuzzDecodePolicy/69603dec84f1482b (0.00s) 119s --- PASS: FuzzDecodePolicy/6960c361007d8825 (0.00s) 119s --- PASS: FuzzDecodePolicy/699e9d8d0197487d (0.00s) 119s --- PASS: FuzzDecodePolicy/6ccb1b379873af9f (0.00s) 119s --- PASS: FuzzDecodePolicy/6d1b1e240f60f6c9 (0.00s) 119s --- PASS: FuzzDecodePolicy/6d3215f003388cf1 (0.00s) 119s --- PASS: FuzzDecodePolicy/6d817b46e0caad15 (0.00s) 119s --- PASS: FuzzDecodePolicy/6dc2686e428754f3 (0.00s) 119s --- PASS: FuzzDecodePolicy/6ddc8b3bed7c0e39 (0.00s) 119s --- PASS: FuzzDecodePolicy/6e0990202f9b9d55 (0.00s) 119s --- PASS: FuzzDecodePolicy/6e1da4d6ea90bc7a (0.00s) 119s --- PASS: FuzzDecodePolicy/6f0e2fcef25f63cf (0.00s) 119s --- PASS: FuzzDecodePolicy/72cca4222533d089 (0.00s) 119s --- PASS: FuzzDecodePolicy/731d3b5bde9cc690 (0.00s) 119s --- PASS: FuzzDecodePolicy/7361de35bf70bf17 (0.00s) 119s --- PASS: FuzzDecodePolicy/749f16c9bc3cc87e (0.00s) 119s --- PASS: FuzzDecodePolicy/74ac7250a3338978 (0.00s) 119s --- PASS: FuzzDecodePolicy/758383ad78d1ddd4 (0.00s) 119s --- PASS: FuzzDecodePolicy/76f1ccb3afa04e6e (0.00s) 119s --- PASS: FuzzDecodePolicy/795ceb881d4221e3 (0.00s) 119s --- PASS: FuzzDecodePolicy/7b60c5de747214b6 (0.04s) 119s --- PASS: FuzzDecodePolicy/7bc7f7ba36ff22f5 (0.00s) 119s --- PASS: FuzzDecodePolicy/7f3faed21426db2f (0.00s) 119s --- PASS: FuzzDecodePolicy/82a803231677d0f5 (0.00s) 119s --- PASS: FuzzDecodePolicy/837bc22f260799fd (0.00s) 119s --- PASS: FuzzDecodePolicy/85315bd4891f6c1e (0.00s) 119s --- PASS: FuzzDecodePolicy/867b5ab9e5d21aea (0.00s) 119s --- PASS: FuzzDecodePolicy/888de5c9e80ce3b0 (0.00s) 119s --- PASS: FuzzDecodePolicy/8a61b9487446d726 (0.00s) 119s --- PASS: FuzzDecodePolicy/8b0f0dee6f9a48fd (0.00s) 119s --- PASS: FuzzDecodePolicy/8e8f4e91b7c5bfd0 (0.00s) 119s --- PASS: FuzzDecodePolicy/8f19b0f96affeba8 (0.00s) 119s --- PASS: FuzzDecodePolicy/9334c46469323973 (0.00s) 119s --- PASS: FuzzDecodePolicy/9604c69b88bc6151 (0.00s) 119s --- PASS: FuzzDecodePolicy/963211680af6bd1a (0.00s) 119s --- PASS: FuzzDecodePolicy/972db90b4d6a1d5b (0.00s) 119s --- PASS: FuzzDecodePolicy/985ec3cbf457896a (0.00s) 119s --- PASS: FuzzDecodePolicy/997536fa86bbbc34 (0.00s) 119s --- PASS: FuzzDecodePolicy/9acd70418e457d18 (0.00s) 119s --- PASS: FuzzDecodePolicy/9b0a4105f1089a20 (0.00s) 119s --- PASS: FuzzDecodePolicy/9d8cdc0719c46928 (0.00s) 119s --- PASS: FuzzDecodePolicy/9e6f333572766a4b (0.00s) 119s --- PASS: FuzzDecodePolicy/9e943f761adfbbd0 (0.00s) 119s --- PASS: FuzzDecodePolicy/a1698d53f5c4d82d (0.00s) 119s --- PASS: FuzzDecodePolicy/a1841a4689867471 (0.00s) 119s --- PASS: FuzzDecodePolicy/a26ca284000eeff9 (0.00s) 119s --- PASS: FuzzDecodePolicy/a552164bb872fda4 (0.00s) 119s --- PASS: FuzzDecodePolicy/a9c5e443bf44c80d (0.00s) 119s --- PASS: FuzzDecodePolicy/ac277569a745611f (0.00s) 119s --- PASS: FuzzDecodePolicy/ac53c3dce7a4706d (0.00s) 119s --- PASS: FuzzDecodePolicy/ada28ad70c7345f1 (0.00s) 119s --- PASS: FuzzDecodePolicy/adb9a13c291b7e8c (0.00s) 119s --- PASS: FuzzDecodePolicy/aeb9d5c55731dae0 (0.00s) 119s --- PASS: FuzzDecodePolicy/af71c7d394bbf535 (0.00s) 119s --- PASS: FuzzDecodePolicy/b0ecd34477c6628e (0.00s) 119s --- PASS: FuzzDecodePolicy/b1585b9aa01c16b3 (0.00s) 119s --- PASS: FuzzDecodePolicy/b6264d058ed4028a (0.00s) 119s --- PASS: FuzzDecodePolicy/b6790bea1e752c32 (0.00s) 119s --- PASS: FuzzDecodePolicy/b741e8aa6c8179ba (0.00s) 119s --- PASS: FuzzDecodePolicy/b9032509681e867b (0.00s) 119s --- PASS: FuzzDecodePolicy/bb684f658455e982 (0.00s) 119s --- PASS: FuzzDecodePolicy/bc6ddfc82e38438b (0.00s) 119s --- PASS: FuzzDecodePolicy/bf4f46d3858edb39 (0.00s) 119s --- PASS: FuzzDecodePolicy/bfdd1bd65b5f5c04 (0.00s) 119s --- PASS: FuzzDecodePolicy/c01841582b4cdc2f (0.00s) 119s --- PASS: FuzzDecodePolicy/c340eca55c3c30e3 (0.00s) 119s --- PASS: FuzzDecodePolicy/c39235a2f77e92fd (0.00s) 119s --- PASS: FuzzDecodePolicy/c4d9def3916de265 (0.00s) 119s --- PASS: FuzzDecodePolicy/c610d176a1726c39 (0.00s) 119s --- PASS: FuzzDecodePolicy/ca683af05a78b772 (0.00s) 119s --- PASS: FuzzDecodePolicy/cac340cbf4f81f48 (0.00s) 119s --- PASS: FuzzDecodePolicy/ccdaead0f44dc069 (0.00s) 119s --- PASS: FuzzDecodePolicy/ce8467c12ac1478e (0.00s) 119s --- PASS: FuzzDecodePolicy/cebcbd67b0b51d54 (0.00s) 119s --- PASS: FuzzDecodePolicy/cf318b520a8e55be (0.00s) 119s --- PASS: FuzzDecodePolicy/cf592b0a6a725d1c (0.00s) 119s --- PASS: FuzzDecodePolicy/d0b8dc40737b3ff0 (0.00s) 119s --- PASS: FuzzDecodePolicy/d2969c8e25b51895 (0.00s) 119s --- PASS: FuzzDecodePolicy/d4e956bdff66867a (0.00s) 119s --- PASS: FuzzDecodePolicy/d5b932675c6ca808 (0.00s) 119s --- PASS: FuzzDecodePolicy/dac7bf5435c51dea (0.00s) 119s --- PASS: FuzzDecodePolicy/dddc8d06ef526aba (0.00s) 119s --- PASS: FuzzDecodePolicy/e3065cb3ac7c0f78 (0.00s) 119s --- PASS: FuzzDecodePolicy/e4242a66193c4579 (0.00s) 119s --- PASS: FuzzDecodePolicy/e4a4780eb4ee185b (0.00s) 119s --- PASS: FuzzDecodePolicy/e5b22ed07e48d3fb (0.00s) 119s --- PASS: FuzzDecodePolicy/e7e4a84593481e49 (0.00s) 119s --- PASS: FuzzDecodePolicy/e8030826b4125cbb (0.00s) 119s --- PASS: FuzzDecodePolicy/e923261af5ebad81 (0.00s) 119s --- PASS: FuzzDecodePolicy/ea426f6b8bedc4d6 (0.00s) 119s --- PASS: FuzzDecodePolicy/ead723bc16638dcb (0.00s) 119s --- PASS: FuzzDecodePolicy/f131b8f78f028a54 (0.00s) 119s --- PASS: FuzzDecodePolicy/f1c1d58ecbe0d6dd (0.00s) 119s --- PASS: FuzzDecodePolicy/f3313a9f40c82a87 (0.00s) 119s --- PASS: FuzzDecodePolicy/f4f490e788a76488 (0.00s) 119s --- PASS: FuzzDecodePolicy/fa7acaf11cff6812 (0.00s) 119s --- PASS: FuzzDecodePolicy/fb991a0182b5fe4d (0.00s) 119s --- PASS: FuzzDecodePolicy/fc0deb922246d3b7 (0.00s) 119s --- PASS: FuzzDecodePolicy/fccd118f10988218 (0.00s) 119s --- PASS: FuzzDecodePolicy/fe9d2018570dc6c6 (0.03s) 119s --- PASS: FuzzDecodePolicy/ffd2d2b4544a818d (0.00s) 119s --- PASS: FuzzDecodePolicy/ffd60d90486b3974 (0.00s) 119s --- PASS: FuzzDecodePolicy/regression-test-input-333 (0.00s) 119s PASS 119s ok github.com/ubuntu/adsys/internal/ad/registry 0.254s 119s === RUN TestNew 119s === PAUSE TestNew 119s === CONT TestNew 119s === RUN TestNew/Error_on_nonexistent_sssd.conf 119s === PAUSE TestNew/Error_on_nonexistent_sssd.conf 119s === RUN TestNew/Error_on_ad.New_prevents_adsysservice_creation 119s === PAUSE TestNew/Error_on_ad.New_prevents_adsysservice_creation 119s === RUN TestNew/Select_winbind_backend_explicitly 119s === PAUSE TestNew/Select_winbind_backend_explicitly 119s === RUN TestNew/New_and_Quit_succeeds_and_defaults_to_sssd,_first_run 119s === PAUSE TestNew/New_and_Quit_succeeds_and_defaults_to_sssd,_first_run 119s === RUN TestNew/Adsys_directory_can_already_exists 119s === PAUSE TestNew/Adsys_directory_can_already_exists 119s === RUN TestNew/Unknown_backend_defaults_to_sssd 119s === PAUSE TestNew/Unknown_backend_defaults_to_sssd 119s === RUN TestNew/Select_sssd_backend_explicitly 119s === PAUSE TestNew/Select_sssd_backend_explicitly 119s === RUN TestNew/Error_on_failure_to_create_run_directory 119s === PAUSE TestNew/Error_on_failure_to_create_run_directory 119s === RUN TestNew/Error_on_failure_to_create_cache_directory 119s === PAUSE TestNew/Error_on_failure_to_create_cache_directory 119s === CONT TestNew/Error_on_nonexistent_sssd.conf 119s === CONT TestNew/Unknown_backend_defaults_to_sssd 119s time="2025-10-18T15:06:41Z" level=warning msg="Unknown configured backend \"unknown-backend\". Defaulting to sssd." 119s === CONT TestNew/Error_on_failure_to_create_cache_directory 119s === CONT TestNew/Error_on_failure_to_create_run_directory 119s === CONT TestNew/Select_sssd_backend_explicitly 119s === CONT TestNew/New_and_Quit_succeeds_and_defaults_to_sssd,_first_run 119s === CONT TestNew/Adsys_directory_can_already_exists 119s === CONT TestNew/Select_winbind_backend_explicitly 119s === CONT TestNew/Error_on_ad.New_prevents_adsysservice_creation 119s time="2025-10-18T15:06:41Z" level=warning msg="could not get online status for domain \"example.com\": status code 6" 119s --- PASS: TestNew (0.00s) 119s --- PASS: TestNew/Error_on_nonexistent_sssd.conf (0.00s) 119s --- PASS: TestNew/Error_on_failure_to_create_cache_directory (0.00s) 119s --- PASS: TestNew/Error_on_failure_to_create_run_directory (0.00s) 119s --- PASS: TestNew/Unknown_backend_defaults_to_sssd (0.00s) 119s --- PASS: TestNew/Select_sssd_backend_explicitly (0.00s) 119s --- PASS: TestNew/New_and_Quit_succeeds_and_defaults_to_sssd,_first_run (0.00s) 119s --- PASS: TestNew/Adsys_directory_can_already_exists (0.00s) 119s --- PASS: TestNew/Error_on_ad.New_prevents_adsysservice_creation (0.00s) 119s --- PASS: TestNew/Select_winbind_backend_explicitly (0.00s) 119s PASS 119s ok github.com/ubuntu/adsys/internal/adsysservice 0.035s 119s ? github.com/ubuntu/adsys/internal/adsysservice/actions [no test files] 119s === RUN TestIsAllowed 119s === PAUSE TestIsAllowed 119s === RUN TestPeerCredsInfoAuthType 119s === PAUSE TestPeerCredsInfoAuthType 119s === RUN TestServerPeerCredsHandshake 119s === PAUSE TestServerPeerCredsHandshake 119s === RUN TestServerPeerCredsInvalidSocket 119s === PAUSE TestServerPeerCredsInvalidSocket 119s === RUN TestIsAllowedFromContext 119s === PAUSE TestIsAllowedFromContext 119s === RUN TestIsAllowedFromContextWithoutPeer 119s === PAUSE TestIsAllowedFromContextWithoutPeer 119s === RUN TestIsAllowedFromContextWithInvalidPeerCreds 119s === PAUSE TestIsAllowedFromContextWithInvalidPeerCreds 119s === RUN TestIsAllowedFromContextWithoutUserKey 119s === PAUSE TestIsAllowedFromContextWithoutUserKey 119s === CONT TestIsAllowed 119s === CONT TestIsAllowedFromContextWithoutUserKey 119s === RUN TestIsAllowed/User_Action_for_own_user_translates_to_Self_parameter_as_ID 119s === PAUSE TestIsAllowed/User_Action_for_own_user_translates_to_Self_parameter_as_ID 119s === RUN TestIsAllowed/Root_is_always_authorized 119s === PAUSE TestIsAllowed/Root_is_always_authorized 119s === RUN TestIsAllowed/Valid_process_and_NACK 119s === PAUSE TestIsAllowed/Valid_process_and_NACK 119s === RUN TestIsAllowed/Invalid_process_stat_file:_)_at_the_end 119s === PAUSE TestIsAllowed/Invalid_process_stat_file:_)_at_the_end 119s === RUN TestIsAllowed/Invalid_process_stat_file:_field_isn't_present 119s === PAUSE TestIsAllowed/Invalid_process_stat_file:_field_isn't_present 119s === RUN TestIsAllowed/ActionAlwaysAllowed_is_always_allowed 119s === PAUSE TestIsAllowed/ActionAlwaysAllowed_is_always_allowed 119s === RUN TestIsAllowed/User_Action_on_other_user_translates_to_Other_parameter_as_ID 119s === PAUSE TestIsAllowed/User_Action_on_other_user_translates_to_Other_parameter_as_ID 119s === RUN TestIsAllowed/Valid_process_and_ACK 119s === PAUSE TestIsAllowed/Valid_process_and_ACK 119s === RUN TestIsAllowed/Process_doesn't_exists 119s === PAUSE TestIsAllowed/Process_doesn't_exists 119s === RUN TestIsAllowed/Invalid_process_stat_file:_missing_) 119s === PAUSE TestIsAllowed/Invalid_process_stat_file:_missing_) 119s === RUN TestIsAllowed/Invalid_process_stat_file:_field_isn't_an_int 119s === PAUSE TestIsAllowed/Invalid_process_stat_file:_field_isn't_an_int 119s === RUN TestIsAllowed/Polkit_dbus_call_errors_out 119s === PAUSE TestIsAllowed/Polkit_dbus_call_errors_out 119s === CONT TestIsAllowedFromContextWithInvalidPeerCreds 119s --- PASS: TestIsAllowedFromContextWithoutUserKey (0.00s) 119s === CONT TestIsAllowedFromContextWithoutPeer 119s --- PASS: TestIsAllowedFromContextWithInvalidPeerCreds (0.00s) 119s === CONT TestIsAllowedFromContext 119s --- PASS: TestIsAllowedFromContextWithoutPeer (0.00s) 119s === CONT TestServerPeerCredsInvalidSocket 119s --- PASS: TestServerPeerCredsInvalidSocket (0.00s) 119s === CONT TestServerPeerCredsHandshake 119s --- PASS: TestServerPeerCredsHandshake (0.00s) 119s === CONT TestPeerCredsInfoAuthType 119s --- PASS: TestPeerCredsInfoAuthType (0.00s) 119s === CONT TestIsAllowed/User_Action_for_own_user_translates_to_Self_parameter_as_ID 119s === CONT TestIsAllowed/Polkit_dbus_call_errors_out 119s === CONT TestIsAllowed/Invalid_process_stat_file:_field_isn't_an_int 119s === CONT TestIsAllowed/Invalid_process_stat_file:_missing_) 119s === CONT TestIsAllowed/Process_doesn't_exists 119s === CONT TestIsAllowed/Valid_process_and_ACK 119s === CONT TestIsAllowed/User_Action_on_other_user_translates_to_Other_parameter_as_ID 119s === CONT TestIsAllowed/ActionAlwaysAllowed_is_always_allowed 119s === CONT TestIsAllowed/Invalid_process_stat_file:_field_isn't_present 119s === RUN TestIsAllowedFromContext/Valid_process_and_ACK 119s === PAUSE TestIsAllowedFromContext/Valid_process_and_ACK 119s === RUN TestIsAllowedFromContext/Valid_process_and_NACK 119s === PAUSE TestIsAllowedFromContext/Valid_process_and_NACK 119s === RUN TestIsAllowedFromContext/Extract_current_user_action_from_request 119s === PAUSE TestIsAllowedFromContext/Extract_current_user_action_from_request 119s === RUN TestIsAllowedFromContext/Extract_other_user_action_from_request 119s === PAUSE TestIsAllowedFromContext/Extract_other_user_action_from_request 119s === RUN TestIsAllowedFromContext/Unauthorizes_when_user_lookup_returns_an_error 119s === PAUSE TestIsAllowedFromContext/Unauthorizes_when_user_lookup_returns_an_error 119s === RUN TestIsAllowedFromContext/Unauthorizes_when_user_has_invalid_uid 119s === PAUSE TestIsAllowedFromContext/Unauthorizes_when_user_has_invalid_uid 119s === CONT TestIsAllowed/Invalid_process_stat_file:_)_at_the_end 119s === CONT TestIsAllowed/Valid_process_and_NACK 119s === CONT TestIsAllowed/Root_is_always_authorized 119s --- PASS: TestIsAllowed (0.00s) 119s --- PASS: TestIsAllowed/User_Action_for_own_user_translates_to_Self_parameter_as_ID (0.00s) 119s --- PASS: TestIsAllowed/Polkit_dbus_call_errors_out (0.00s) 119s --- PASS: TestIsAllowed/Invalid_process_stat_file:_field_isn't_an_int (0.00s) 119s --- PASS: TestIsAllowed/Invalid_process_stat_file:_missing_) (0.00s) 119s --- PASS: TestIsAllowed/Process_doesn't_exists (0.00s) 119s --- PASS: TestIsAllowed/Valid_process_and_ACK (0.00s) 119s --- PASS: TestIsAllowed/User_Action_on_other_user_translates_to_Other_parameter_as_ID (0.00s) 119s --- PASS: TestIsAllowed/ActionAlwaysAllowed_is_always_allowed (0.00s) 119s --- PASS: TestIsAllowed/Invalid_process_stat_file:_field_isn't_present (0.00s) 119s --- PASS: TestIsAllowed/Invalid_process_stat_file:_)_at_the_end (0.00s) 119s --- PASS: TestIsAllowed/Valid_process_and_NACK (0.00s) 119s --- PASS: TestIsAllowed/Root_is_always_authorized (0.00s) 119s === RUN TestIsAllowedFromContext/Root_is_always_authorized 119s === PAUSE TestIsAllowedFromContext/Root_is_always_authorized 119s === CONT TestIsAllowedFromContext/Valid_process_and_ACK 119s === CONT TestIsAllowedFromContext/Unauthorizes_when_user_lookup_returns_an_error 119s === CONT TestIsAllowedFromContext/Root_is_always_authorized 119s === CONT TestIsAllowedFromContext/Unauthorizes_when_user_has_invalid_uid 119s === CONT TestIsAllowedFromContext/Extract_current_user_action_from_request 119s === CONT TestIsAllowedFromContext/Extract_other_user_action_from_request 119s === CONT TestIsAllowedFromContext/Valid_process_and_NACK 119s --- PASS: TestIsAllowedFromContext (0.00s) 119s --- PASS: TestIsAllowedFromContext/Unauthorizes_when_user_lookup_returns_an_error (0.00s) 119s --- PASS: TestIsAllowedFromContext/Root_is_always_authorized (0.00s) 119s --- PASS: TestIsAllowedFromContext/Valid_process_and_ACK (0.00s) 119s --- PASS: TestIsAllowedFromContext/Extract_current_user_action_from_request (0.00s) 119s --- PASS: TestIsAllowedFromContext/Unauthorizes_when_user_has_invalid_uid (0.00s) 119s --- PASS: TestIsAllowedFromContext/Extract_other_user_action_from_request (0.00s) 119s --- PASS: TestIsAllowedFromContext/Valid_process_and_NACK (0.00s) 119s PASS 119s ok github.com/ubuntu/adsys/internal/authorizer 0.012s 119s === RUN TestNoCmd 119s === PAUSE TestNoCmd 119s === RUN TestZeroOrNArgs 119s === PAUSE TestZeroOrNArgs 119s === RUN TestNoValidArgs 119s === PAUSE TestNoValidArgs 119s === RUN TestRegisterAlias 119s === PAUSE TestRegisterAlias 119s === CONT TestNoCmd 119s --- PASS: TestNoCmd (0.00s) 119s === CONT TestRegisterAlias 119s --- PASS: TestRegisterAlias (0.00s) 119s === CONT TestNoValidArgs 119s --- PASS: TestNoValidArgs (0.00s) 119s === CONT TestZeroOrNArgs 119s === RUN TestZeroOrNArgs/Zero_args 119s === PAUSE TestZeroOrNArgs/Zero_args 119s === RUN TestZeroOrNArgs/Exactly_N_args 119s === PAUSE TestZeroOrNArgs/Exactly_N_args 119s === RUN TestZeroOrNArgs/Error_with_less_than_N_args 119s === PAUSE TestZeroOrNArgs/Error_with_less_than_N_args 119s === RUN TestZeroOrNArgs/Error_with_more_than_N_args 119s === PAUSE TestZeroOrNArgs/Error_with_more_than_N_args 119s === CONT TestZeroOrNArgs/Zero_args 119s === CONT TestZeroOrNArgs/Error_with_more_than_N_args 119s === CONT TestZeroOrNArgs/Error_with_less_than_N_args 119s === CONT TestZeroOrNArgs/Exactly_N_args 119s --- PASS: TestZeroOrNArgs (0.00s) 119s --- PASS: TestZeroOrNArgs/Zero_args (0.00s) 119s --- PASS: TestZeroOrNArgs/Error_with_more_than_N_args (0.00s) 119s --- PASS: TestZeroOrNArgs/Error_with_less_than_N_args (0.00s) 119s --- PASS: TestZeroOrNArgs/Exactly_N_args (0.00s) 119s PASS 119s ok github.com/ubuntu/adsys/internal/cmdhandler 0.002s 130s === RUN TestSetVerboseMode 130s === RUN TestSetVerboseMode/2_is_for_debug 130s === RUN TestSetVerboseMode/3_is_debug_printing_callers 130s === RUN TestSetVerboseMode/Default_level_is_warning 130s === RUN TestSetVerboseMode/1_is_for_info 130s --- PASS: TestSetVerboseMode (0.00s) 130s --- PASS: TestSetVerboseMode/2_is_for_debug (0.00s) 130s --- PASS: TestSetVerboseMode/3_is_debug_printing_callers (0.00s) 130s --- PASS: TestSetVerboseMode/Default_level_is_warning (0.00s) 130s --- PASS: TestSetVerboseMode/1_is_for_info (0.00s) 130s === RUN TestInit 130s === RUN TestInit/Empty_configuration_file_is_supported 130s === RUN TestInit/Configuration_flag_on_parent,_not_in_config_dir,_init_on_subcommand 130s === RUN TestInit/Configuration_file_created_after_Init()_is_not_taken_into_account 130s === RUN TestInit/Flag_has_precedence_over_env 130s === RUN TestInit/Env_has_precedence_over_configuration 130s === RUN TestInit/Error_on_callback_returning_error_on_first_call 130s === RUN TestInit/Load_configuration,_no_file,_no_flag,_no_env 130s === RUN TestInit/No_config_flag_set_before_Init_is_call_is_ignored 130s === RUN TestInit/Configuration_flag,_not_in_config_dir 130s === RUN TestInit/Flag_is_supported 130s === RUN TestInit/Environment_is_supported 130s === RUN TestInit/Configuration_changed_directly 130s === RUN TestInit/Callback_in_error_on_refresh_only_prints_warning 130s time="2025-10-18T15:06:50Z" level=warning msg="Error while refreshing configuration: Error from callback" 130s === RUN TestInit/Configuration_flag_has_precedence_over_local_file 130s === RUN TestInit/Load_configuration_from_executable_dir 130s === RUN TestInit/Error_on_no_verbose_flag_set_before_Init_is_call 130s === RUN TestInit/Error_on_invalid_configuration_file 130s === RUN TestInit/Load_configuration_with_file 130s === RUN TestInit/Configuration_flag_on_subcommand,_not_in_config_dir,_init_on_subcommand 130s === RUN TestInit/Configuration_file_overwritten 130s === RUN TestInit/Error_on_config_flag_points_to_unexisting_path 130s --- PASS: TestInit (10.17s) 130s --- PASS: TestInit/Empty_configuration_file_is_supported (0.07s) 130s --- PASS: TestInit/Configuration_flag_on_parent,_not_in_config_dir,_init_on_subcommand (0.00s) 130s --- PASS: TestInit/Configuration_file_created_after_Init()_is_not_taken_into_account (4.01s) 130s --- PASS: TestInit/Flag_has_precedence_over_env (0.02s) 130s --- PASS: TestInit/Env_has_precedence_over_configuration (0.00s) 130s --- PASS: TestInit/Error_on_callback_returning_error_on_first_call (0.00s) 130s --- PASS: TestInit/Load_configuration,_no_file,_no_flag,_no_env (0.00s) 130s --- PASS: TestInit/No_config_flag_set_before_Init_is_call_is_ignored (0.00s) 130s --- PASS: TestInit/Configuration_flag,_not_in_config_dir (0.00s) 130s --- PASS: TestInit/Flag_is_supported (0.00s) 130s --- PASS: TestInit/Environment_is_supported (0.00s) 130s --- PASS: TestInit/Configuration_changed_directly (2.02s) 130s --- PASS: TestInit/Callback_in_error_on_refresh_only_prints_warning (2.01s) 130s --- PASS: TestInit/Configuration_flag_has_precedence_over_local_file (0.00s) 130s --- PASS: TestInit/Load_configuration_from_executable_dir (0.00s) 130s --- PASS: TestInit/Error_on_no_verbose_flag_set_before_Init_is_call (0.00s) 130s --- PASS: TestInit/Error_on_invalid_configuration_file (0.00s) 130s --- PASS: TestInit/Load_configuration_with_file (0.00s) 130s --- PASS: TestInit/Configuration_flag_on_subcommand,_not_in_config_dir,_init_on_subcommand (0.00s) 130s --- PASS: TestInit/Configuration_file_overwritten (2.01s) 130s --- PASS: TestInit/Error_on_config_flag_points_to_unexisting_path (0.00s) 130s === RUN TestLoadConfig 130s === PAUSE TestLoadConfig 130s === CONT TestLoadConfig 130s === RUN TestLoadConfig/Empty_configuration_is_supported 130s === PAUSE TestLoadConfig/Empty_configuration_is_supported 130s === RUN TestLoadConfig/Load_configuration_deserialize_its 130s === PAUSE TestLoadConfig/Load_configuration_deserialize_its 130s === CONT TestLoadConfig/Empty_configuration_is_supported 130s === CONT TestLoadConfig/Load_configuration_deserialize_its 130s --- PASS: TestLoadConfig (0.00s) 130s --- PASS: TestLoadConfig/Empty_configuration_is_supported (0.00s) 130s --- PASS: TestLoadConfig/Load_configuration_deserialize_its (0.00s) 130s PASS 130s ok github.com/ubuntu/adsys/internal/config 10.174s 130s === RUN TestConfigFileFromArgs 130s === PAUSE TestConfigFileFromArgs 130s === RUN TestDirsFromConfigFile 130s === PAUSE TestDirsFromConfigFile 130s === RUN TestWriteConfig 130s === RUN TestWriteConfig/Error_on_empty_dirs 130s === RUN TestWriteConfig/With_relative_config_path 130s === RUN TestWriteConfig/With_nested_config_path 130s === RUN TestWriteConfig/Error_on_absent_dirs 130s --- PASS: TestWriteConfig (0.00s) 130s --- PASS: TestWriteConfig/Error_on_empty_dirs (0.00s) 130s --- PASS: TestWriteConfig/With_relative_config_path (0.00s) 130s --- PASS: TestWriteConfig/With_nested_config_path (0.00s) 130s --- PASS: TestWriteConfig/Error_on_absent_dirs (0.00s) 130s === CONT TestConfigFileFromArgs 130s === CONT TestDirsFromConfigFile 130s === RUN TestDirsFromConfigFile/No_config_file 130s === PAUSE TestDirsFromConfigFile/No_config_file 130s === RUN TestConfigFileFromArgs/Short_config_argument_with_quotes 130s === PAUSE TestConfigFileFromArgs/Short_config_argument_with_quotes 130s === RUN TestConfigFileFromArgs/Error_on_empty_args 130s === PAUSE TestConfigFileFromArgs/Error_on_empty_args 130s === RUN TestDirsFromConfigFile/Empty_config_file 130s === RUN TestConfigFileFromArgs/Error_on_no_config_argument 130s === PAUSE TestConfigFileFromArgs/Error_on_no_config_argument 130s === RUN TestConfigFileFromArgs/Error_on_config_argument_with_no_value 130s === PAUSE TestConfigFileFromArgs/Error_on_config_argument_with_no_value 130s === RUN TestConfigFileFromArgs/Short_config_argument 130s === PAUSE TestConfigFileFromArgs/Short_config_argument 130s === PAUSE TestDirsFromConfigFile/Empty_config_file 130s === CONT TestConfigFileFromArgs/Short_config_argument_with_quotes 130s === RUN TestDirsFromConfigFile/No_dirs_in_config_file 130s === PAUSE TestDirsFromConfigFile/No_dirs_in_config_file 130s === RUN TestDirsFromConfigFile/Config_dirs_is_not_an_array 130s === PAUSE TestDirsFromConfigFile/Config_dirs_is_not_an_array 130s === CONT TestConfigFileFromArgs/Short_config_argument 130s === RUN TestDirsFromConfigFile/Config_dirs_is_an_array 130s === PAUSE TestDirsFromConfigFile/Config_dirs_is_an_array 130s === CONT TestDirsFromConfigFile/No_config_file 130s === CONT TestConfigFileFromArgs/Error_on_config_argument_with_no_value 130s === CONT TestConfigFileFromArgs/Error_on_no_config_argument 130s === CONT TestConfigFileFromArgs/Error_on_empty_args 130s --- PASS: TestConfigFileFromArgs (0.00s) 130s --- PASS: TestConfigFileFromArgs/Short_config_argument_with_quotes (0.00s) 130s --- PASS: TestConfigFileFromArgs/Short_config_argument (0.00s) 130s --- PASS: TestConfigFileFromArgs/Error_on_config_argument_with_no_value (0.00s) 130s --- PASS: TestConfigFileFromArgs/Error_on_no_config_argument (0.00s) 130s --- PASS: TestConfigFileFromArgs/Error_on_empty_args (0.00s) 130s === CONT TestDirsFromConfigFile/Config_dirs_is_not_an_array 130s === CONT TestDirsFromConfigFile/No_dirs_in_config_file 130s === CONT TestDirsFromConfigFile/Config_dirs_is_an_array 130s === CONT TestDirsFromConfigFile/Empty_config_file 130s --- PASS: TestDirsFromConfigFile (0.00s) 130s --- PASS: TestDirsFromConfigFile/No_config_file (0.00s) 130s --- PASS: TestDirsFromConfigFile/Config_dirs_is_not_an_array (0.00s) 130s --- PASS: TestDirsFromConfigFile/No_dirs_in_config_file (0.00s) 130s --- PASS: TestDirsFromConfigFile/Config_dirs_is_an_array (0.00s) 130s --- PASS: TestDirsFromConfigFile/Empty_config_file (0.00s) 130s PASS 130s ok github.com/ubuntu/adsys/internal/config/watchd 0.005s 130s ? github.com/ubuntu/adsys/internal/consts [no test files] 130s === RUN TestStartStop 130s === PAUSE TestStartStop 130s === RUN TestStopBeforeServe 130s === PAUSE TestStopBeforeServe 130s === RUN TestChangeSocket 130s === PAUSE TestChangeSocket 130s === RUN TestSocketActivation 130s === PAUSE TestSocketActivation 130s === RUN TestUseSocketIgnoredWithSocketActivation 130s === PAUSE TestUseSocketIgnoredWithSocketActivation 130s === RUN TestSdNotifier 130s === PAUSE TestSdNotifier 130s === RUN TestFailingOption 130s === PAUSE TestFailingOption 130s === RUN TestCannotCreateSocket 130s === PAUSE TestCannotCreateSocket 130s === RUN TestServerStartListenTimeout 130s === PAUSE TestServerStartListenTimeout 130s === RUN TestServerDontTimeoutWithActiveRequest 130s === PAUSE TestServerDontTimeoutWithActiveRequest 130s === RUN TestServerDontTimeoutWithMultipleActiveRequests 130s === PAUSE TestServerDontTimeoutWithMultipleActiveRequests 130s === RUN TestServerChangeTimeout 130s === PAUSE TestServerChangeTimeout 130s === RUN TestServerDoubleQuit 130s === PAUSE TestServerDoubleQuit 130s === CONT TestStartStop 130s === CONT TestCannotCreateSocket 130s --- PASS: TestCannotCreateSocket (0.00s) 130s === CONT TestServerDoubleQuit 130s time="2025-10-18T15:06:42Z" level=info msg="Serving on /tmp/TestStartStop3513748382/001/test.sock" 130s time="2025-10-18T15:06:42Z" level=info msg="Serving on /tmp/TestServerDoubleQuit1229896671/001/test.sock" 130s time="2025-10-18T15:06:42Z" level=info msg="Stopping daemon requested." 130s time="2025-10-18T15:06:42Z" level=info msg="Stopping daemon requested." 130s time="2025-10-18T15:06:42Z" level=info msg="Wait for active requests to close." 130s time="2025-10-18T15:06:42Z" level=info msg="Wait for active requests to close." 130s --- PASS: TestServerDoubleQuit (0.01s) 130s === CONT TestServerChangeTimeout 130s --- PASS: TestStartStop (0.01s) 130s === CONT TestServerDontTimeoutWithMultipleActiveRequests 130s time="2025-10-18T15:06:42Z" level=info msg="Serving on /tmp/TestServerChangeTimeout1445098182/001/test.sock" 130s time="2025-10-18T15:06:42Z" level=info msg="Serving on /tmp/TestServerDontTimeoutWithMultipleActiveRequests648355887/001/test.sock" 130s time="2025-10-18T15:06:42Z" level=info msg="Stopping daemon requested." 130s --- PASS: TestServerChangeTimeout (0.05s) 130s === CONT TestServerDontTimeoutWithActiveRequest 130s time="2025-10-18T15:06:42Z" level=info msg="Serving on /tmp/TestServerDontTimeoutWithActiveRequest3949170732/001/test.sock" 130s time="2025-10-18T15:06:42Z" level=info msg="Stopping daemon requested." 130s --- PASS: TestServerDontTimeoutWithMultipleActiveRequests (0.11s) 130s === CONT TestServerStartListenTimeout 130s time="2025-10-18T15:06:42Z" level=info msg="Serving on /tmp/TestServerStartListenTimeout3859506240/001/test.sock" 130s time="2025-10-18T15:06:42Z" level=info msg="Stopping daemon requested." 130s --- PASS: TestServerStartListenTimeout (0.01s) 130s === CONT TestUseSocketIgnoredWithSocketActivation 130s time="2025-10-18T15:06:42Z" level=info msg="Serving on /tmp/TestUseSocketIgnoredWithSocketActivation2374355287/001/socket" 130s time="2025-10-18T15:06:42Z" level=info msg="Stopping daemon requested." 130s time="2025-10-18T15:06:42Z" level=info msg="Wait for active requests to close." 130s --- PASS: TestUseSocketIgnoredWithSocketActivation (0.02s) 130s === CONT TestFailingOption 130s --- PASS: TestFailingOption (0.00s) 130s === CONT TestSdNotifier 130s === RUN TestSdNotifier/Sends_signal 130s === PAUSE TestSdNotifier/Sends_signal 130s === RUN TestSdNotifier/Doesn't_fail_when_not_under_systemd 130s === PAUSE TestSdNotifier/Doesn't_fail_when_not_under_systemd 130s === RUN TestSdNotifier/Error_when_notifier_fails 130s === PAUSE TestSdNotifier/Error_when_notifier_fails 130s === CONT TestChangeSocket 130s time="2025-10-18T15:06:42Z" level=info msg="Serving on /tmp/TestChangeSocket3921362550/001/test.sock" 130s time="2025-10-18T15:06:42Z" level=info msg="Stopping daemon requested." 130s time="2025-10-18T15:06:42Z" level=info msg="Wait for active requests to close." 130s time="2025-10-18T15:06:42Z" level=info msg="Serving on /tmp/TestChangeSocket3921362550/001/test2.sock" 130s time="2025-10-18T15:06:42Z" level=info msg="Stopping daemon requested." 130s --- PASS: TestServerDontTimeoutWithActiveRequest (0.11s) 130s === CONT TestSocketActivation 130s === RUN TestSocketActivation/Error_when_provided_with_many_sockets 130s === PAUSE TestSocketActivation/Error_when_provided_with_many_sockets 130s === RUN TestSocketActivation/Error_when_Listeners()_fails 130s === PAUSE TestSocketActivation/Error_when_Listeners()_fails 130s === RUN TestSocketActivation/Success_with_one_socket 130s === PAUSE TestSocketActivation/Success_with_one_socket 130s === CONT TestStopBeforeServe 130s time="2025-10-18T15:06:42Z" level=info msg="Stopping daemon requested." 130s time="2025-10-18T15:06:42Z" level=info msg="Wait for active requests to close." 130s --- PASS: TestStopBeforeServe (0.00s) 130s === CONT TestSdNotifier/Sends_signal 130s time="2025-10-18T15:06:42Z" level=info msg="Serving on /tmp/TestSdNotifierSends_signal3546461332/001/socket" 130s time="2025-10-18T15:06:42Z" level=info msg="Stopping daemon requested." 130s time="2025-10-18T15:06:42Z" level=info msg="Wait for active requests to close." 130s --- PASS: TestChangeSocket (0.02s) 130s === CONT TestSdNotifier/Error_when_notifier_fails 130s === CONT TestSdNotifier/Doesn't_fail_when_not_under_systemd 130s time="2025-10-18T15:06:42Z" level=info msg="Serving on /tmp/TestSdNotifierDoesnt_fail_when_not_under_systemd3299376940/001/socket" 130s time="2025-10-18T15:06:42Z" level=info msg="Stopping daemon requested." 130s time="2025-10-18T15:06:42Z" level=info msg="Wait for active requests to close." 130s === CONT TestSocketActivation/Error_when_provided_with_many_sockets 130s === CONT TestSocketActivation/Success_with_one_socket 130s time="2025-10-18T15:06:42Z" level=info msg="Serving on /tmp/TestSocketActivationSuccess_with_one_socket2700016724/001/sock1" 130s time="2025-10-18T15:06:42Z" level=info msg="Stopping daemon requested." 130s time="2025-10-18T15:06:42Z" level=info msg="Wait for active requests to close." 130s --- PASS: TestSdNotifier (0.00s) 130s --- PASS: TestSdNotifier/Error_when_notifier_fails (0.00s) 130s --- PASS: TestSdNotifier/Sends_signal (0.01s) 130s --- PASS: TestSdNotifier/Doesn't_fail_when_not_under_systemd (0.01s) 130s === CONT TestSocketActivation/Error_when_Listeners()_fails 130s time="2025-10-18T15:06:42Z" level=info msg="Stopping daemon requested." 130s time="2025-10-18T15:06:42Z" level=info msg="Wait for active requests to close." 130s time="2025-10-18T15:06:42Z" level=info msg="Stopping daemon requested." 130s time="2025-10-18T15:06:42Z" level=info msg="Wait for active requests to close." 130s --- PASS: TestSocketActivation (0.00s) 130s --- PASS: TestSocketActivation/Error_when_provided_with_many_sockets (0.00s) 130s --- PASS: TestSocketActivation/Error_when_Listeners()_fails (0.00s) 130s --- PASS: TestSocketActivation/Success_with_one_socket (0.01s) 130s PASS 130s ok github.com/ubuntu/adsys/internal/daemon 0.199s 130s === RUN TestCleanDirectory 130s === PAUSE TestCleanDirectory 130s === RUN TestCleanDirectoryNoDirectoryExists 130s === PAUSE TestCleanDirectoryNoDirectoryExists 130s === RUN TestCleanDirectoryCantRemoveDirectory 130s === PAUSE TestCleanDirectoryCantRemoveDirectory 130s === RUN TestInstallOnlyMode 130s --- PASS: TestInstallOnlyMode (0.00s) 130s === RUN TestDestDirectory 130s --- PASS: TestDestDirectory (0.00s) 130s === CONT TestCleanDirectory 130s === CONT TestCleanDirectoryCantRemoveDirectory 130s --- PASS: TestCleanDirectoryCantRemoveDirectory (0.00s) 130s === CONT TestCleanDirectoryNoDirectoryExists 130s --- PASS: TestCleanDirectory (0.00s) 130s --- PASS: TestCleanDirectoryNoDirectoryExists (0.00s) 130s PASS 130s ok github.com/ubuntu/adsys/internal/generators 0.005s 130s === RUN TestNoNotification 130s === PAUSE TestNoNotification 130s === RUN TestNewConnectionNotification 130s === PAUSE TestNewConnectionNotification 130s === RUN TestDoneConnectionNotification 130s === PAUSE TestDoneConnectionNotification 130s === RUN TestErrorFromHandlerReturned 130s === PAUSE TestErrorFromHandlerReturned 130s === RUN TestErrorOnNilStream 130s === PAUSE TestErrorOnNilStream 130s === CONT TestNoNotification 130s === CONT TestErrorFromHandlerReturned 130s === CONT TestNewConnectionNotification 130s === CONT TestErrorOnNilStream 130s --- PASS: TestNoNotification (0.00s) 130s === CONT TestDoneConnectionNotification 130s --- PASS: TestDoneConnectionNotification (0.00s) 130s --- PASS: TestErrorFromHandlerReturned (0.00s) 130s --- PASS: TestNewConnectionNotification (0.00s) 130s --- PASS: TestErrorOnNilStream (0.00s) 130s PASS 130s ok github.com/ubuntu/adsys/internal/grpc/connectionnotify 0.003s 130s === RUN TestActiveConnection 130s === PAUSE TestActiveConnection 130s === RUN TestTimeoutOnInactiveConnection 130s === PAUSE TestTimeoutOnInactiveConnection 130s === RUN TestCancelOnClientSide 130s === PAUSE TestCancelOnClientSide 130s === RUN TestClientInterceptorFailed 130s === PAUSE TestClientInterceptorFailed 130s === RUN TestRecvMessageError 130s === PAUSE TestRecvMessageError 130s === CONT TestActiveConnection 130s === CONT TestRecvMessageError 130s --- PASS: TestRecvMessageError (0.00s) 130s === CONT TestClientInterceptorFailed 130s --- PASS: TestClientInterceptorFailed (0.00s) 130s === CONT TestTimeoutOnInactiveConnection 130s --- PASS: TestTimeoutOnInactiveConnection (0.05s) 130s === CONT TestCancelOnClientSide 130s --- PASS: TestCancelOnClientSide (0.00s) 130s --- PASS: TestActiveConnection (0.15s) 130s PASS 130s ok github.com/ubuntu/adsys/internal/grpc/contextidler 0.155s 130s === RUN TestFormat 130s === PAUSE TestFormat 130s === CONT TestFormat 130s === RUN TestFormat/Nil_returns_nil 130s === PAUSE TestFormat/Nil_returns_nil 130s === RUN TestFormat/Non_GRPC_errors_are_returned_as_is 130s === PAUSE TestFormat/Non_GRPC_errors_are_returned_as_is 130s === RUN TestFormat/GRPC_Unavailable_errors_prints_daemon_name 130s === PAUSE TestFormat/GRPC_Unavailable_errors_prints_daemon_name 130s === RUN TestFormat/GRPC_Deadline_errors_don’t_print_status_nor_daemon_nor_message 130s === PAUSE TestFormat/GRPC_Deadline_errors_don’t_print_status_nor_daemon_nor_message 130s === RUN TestFormat/GRPC_Unknown_errors_don’t_print_status_and_daemon 130s === PAUSE TestFormat/GRPC_Unknown_errors_don’t_print_status_and_daemon 130s === RUN TestFormat/GRPC_Random_errors_prints_status_and_message 130s === PAUSE TestFormat/GRPC_Random_errors_prints_status_and_message 130s === CONT TestFormat/Nil_returns_nil 130s === CONT TestFormat/GRPC_Deadline_errors_don’t_print_status_nor_daemon_nor_message 130s === CONT TestFormat/GRPC_Unavailable_errors_prints_daemon_name 130s === CONT TestFormat/GRPC_Random_errors_prints_status_and_message 130s === CONT TestFormat/Non_GRPC_errors_are_returned_as_is 130s === CONT TestFormat/GRPC_Unknown_errors_don’t_print_status_and_daemon 130s --- PASS: TestFormat (0.00s) 130s --- PASS: TestFormat/Nil_returns_nil (0.00s) 130s --- PASS: TestFormat/GRPC_Deadline_errors_don’t_print_status_nor_daemon_nor_message (0.00s) 130s --- PASS: TestFormat/GRPC_Unavailable_errors_prints_daemon_name (0.00s) 130s --- PASS: TestFormat/Non_GRPC_errors_are_returned_as_is (0.00s) 130s --- PASS: TestFormat/GRPC_Random_errors_prints_status_and_message (0.00s) 130s --- PASS: TestFormat/GRPC_Unknown_errors_don’t_print_status_and_daemon (0.00s) 130s PASS 130s ok github.com/ubuntu/adsys/internal/grpc/grpcerror 0.003s 130s === RUN TestStreamServer 130s === PAUSE TestStreamServer 130s === RUN TestStreamClient 130s === PAUSE TestStreamClient 130s === CONT TestStreamServer 130s --- PASS: TestStreamServer (0.00s) 130s === CONT TestStreamClient 130s --- PASS: TestStreamClient (0.00s) 130s PASS 130s ok github.com/ubuntu/adsys/internal/grpc/interceptorschain 0.003s 130s === RUN TestChildRecvMsgAndHandlerCalled 130s === PAUSE TestChildRecvMsgAndHandlerCalled 130s === CONT TestChildRecvMsgAndHandlerCalled 130s === RUN TestChildRecvMsgAndHandlerCalled/Error_when_handler_fails_out 130s === PAUSE TestChildRecvMsgAndHandlerCalled/Error_when_handler_fails_out 130s === RUN TestChildRecvMsgAndHandlerCalled/Error_when_RecvMsg_errors_out 130s === PAUSE TestChildRecvMsgAndHandlerCalled/Error_when_RecvMsg_errors_out 130s === RUN TestChildRecvMsgAndHandlerCalled/Handler_and_RecvMsg_are_called 130s === PAUSE TestChildRecvMsgAndHandlerCalled/Handler_and_RecvMsg_are_called 130s === RUN TestChildRecvMsgAndHandlerCalled/Info_being_nil_has_no_impact 130s === PAUSE TestChildRecvMsgAndHandlerCalled/Info_being_nil_has_no_impact 130s === CONT TestChildRecvMsgAndHandlerCalled/Error_when_handler_fails_out 130s === CONT TestChildRecvMsgAndHandlerCalled/Handler_and_RecvMsg_are_called 130s time="2025-10-18T15:06:44Z" level=info msg="Error sent to client: Failing handler" 130s === CONT TestChildRecvMsgAndHandlerCalled/Info_being_nil_has_no_impact 130s === CONT TestChildRecvMsgAndHandlerCalled/Error_when_RecvMsg_errors_out 130s --- PASS: TestChildRecvMsgAndHandlerCalled (0.00s) 130s --- PASS: TestChildRecvMsgAndHandlerCalled/Error_when_handler_fails_out (0.00s) 130s --- PASS: TestChildRecvMsgAndHandlerCalled/Info_being_nil_has_no_impact (0.00s) 130s --- PASS: TestChildRecvMsgAndHandlerCalled/Error_when_RecvMsg_errors_out (0.00s) 130s --- PASS: TestChildRecvMsgAndHandlerCalled/Handler_and_RecvMsg_are_called (0.00s) 130s PASS 130s ok github.com/ubuntu/adsys/internal/grpc/logconnections 0.004s 130s === RUN TestRecvLogMsg 130s === PAUSE TestRecvLogMsg 130s === RUN TestAddStreamToForwardLocalLogs 130s time="2025-10-18T15:06:45Z" level=info msg="New connection from client [[123456:205692]]" 130s time="2025-10-18T15:06:45Z" level=warning msg=something 130s --- PASS: TestAddStreamToForwardLocalLogs (0.00s) 130s === RUN TestAddStreamToForwardOtherStream 130s time="2025-10-18T15:06:45Z" level=info msg="New connection from client [[123456:284812]]" 130s time="2025-10-18T15:06:45Z" level=info msg="New connection from client [[123456:321131]]" 130s --- PASS: TestAddStreamToForwardOtherStream (0.00s) 130s === RUN TestAddStreamToForwardAfterClientIsConnected 130s time="2025-10-18T15:06:45Z" level=info msg="New connection from client [[123456:220073]]" 130s time="2025-10-18T15:06:45Z" level=info msg="New connection from client [[123456:172160]]" 130s --- PASS: TestAddStreamToForwardAfterClientIsConnected (0.00s) 130s === RUN TestAddStreamToForwardDisconnect 130s time="2025-10-18T15:06:45Z" level=info msg="New connection from client [[123456:323270]]" 130s time="2025-10-18T15:06:45Z" level=info msg="New connection from client [[123456:931686]]" 130s --- PASS: TestAddStreamToForwardDisconnect (0.00s) 130s === RUN TestAddStreamToForwardTwoClients 130s time="2025-10-18T15:06:45Z" level=info msg="New connection from client [[123456:668967]]" 130s time="2025-10-18T15:06:45Z" level=info msg="New connection from client [[123456:200345]]" 130s time="2025-10-18T15:06:45Z" level=info msg="New connection from client [[123456:777822]]" 130s --- PASS: TestAddStreamToForwardTwoClients (0.00s) 130s === RUN TestAddStreamToForwardWithListenerCaller 130s time="2025-10-18T15:06:45Z" level=info msg="New connection from client [[123456:192618]]" 130s time="2025-10-18T15:06:45Z" level=info msg="New connection from client [[123456:514287]]" 130s --- PASS: TestAddStreamToForwardWithListenerCaller (0.00s) 130s === RUN TestAddStreamMultipleForwarders 130s time="2025-10-18T15:06:45Z" level=info msg="New connection from client [[123456:453871]]" 130s time="2025-10-18T15:06:45Z" level=info msg="New connection from client [[123456:191727]]" 130s time="2025-10-18T15:06:45Z" level=info msg="New connection from client [[123456:937476]]" 130s --- PASS: TestAddStreamMultipleForwarders (0.00s) 130s === RUN TestAddStreamMultipleForwardersOneWithCaller 130s time="2025-10-18T15:06:45Z" level=info msg="New connection from client [[123456:704231]]" 130s time="2025-10-18T15:06:45Z" level=info msg="New connection from client [[123456:452703]]" 130s time="2025-10-18T15:06:45Z" level=info msg="New connection from client [[123456:365255]]" 130s --- PASS: TestAddStreamMultipleForwardersOneWithCaller (0.00s) 130s === RUN TestAddStreamToForwardFailSend 130s time="2025-10-18T15:06:45Z" level=info msg="New connection from client [[123456:384922]]" 130s time="2025-10-18T15:06:45Z" level=info msg="New connection from client [[123456:306796]]" 130s time="2025-10-18T15:06:45Z" level=warning msg="Couldn't send log to one or more listener: SendMsg failed" 130s --- PASS: TestAddStreamToForwardFailSend (0.00s) 130s === RUN TestRemoveAllStreams 130s time="2025-10-18T15:06:45Z" level=info msg="New connection from client [[123456:631555]]" 130s time="2025-10-18T15:06:45Z" level=info msg="New connection from client [[123456:969913]]" 130s time="2025-10-18T15:06:45Z" level=info msg="New connection from client [[123456:878619]]" 130s time="2025-10-18T15:06:45Z" level=warning msg="[[123456:878619]] else" 130s --- PASS: TestRemoveAllStreams (0.00s) 130s === RUN TestLogWarningOnly 130s === PAUSE TestLogWarningOnly 130s === RUN TestMultipleLogs 130s === PAUSE TestMultipleLogs 130s === RUN TestAllLogLevels 130s === PAUSE TestAllLogLevels 130s === RUN TestDebugSentToRemoteEvenIfLocalIsWarning 130s === PAUSE TestDebugSentToRemoteEvenIfLocalIsWarning 130s === RUN TestLogWarningWithLocalCaller 130s === PAUSE TestLogWarningWithLocalCaller 130s === RUN TestLogWarningWithRemoteCaller 130s === PAUSE TestLogWarningWithRemoteCaller 130s === RUN TestLogWithNoCaller 130s === PAUSE TestLogWithNoCaller 130s === RUN TestSetReportCaller 130s === RUN TestSetReportCaller/Report_caller 130s === RUN TestSetReportCaller/Disable_caller 130s --- PASS: TestSetReportCaller (0.00s) 130s --- PASS: TestSetReportCaller/Report_caller (0.00s) 130s --- PASS: TestSetReportCaller/Disable_caller (0.00s) 130s === RUN TestLogSendingFail 130s === PAUSE TestLogSendingFail 130s === RUN TestLogStreamsAreSeparated 130s === PAUSE TestLogStreamsAreSeparated 130s === RUN TestLogAddHook 130s time="2025-10-18T15:06:45Z" level=info 130s --- PASS: TestLogAddHook (0.00s) 130s === RUN TestStreamServerInterceptor 130s === PAUSE TestStreamServerInterceptor 130s === RUN TestStreamServerInterceptorSendLogsFails 130s === PAUSE TestStreamServerInterceptorSendLogsFails 130s === RUN TestStreamServerInterceptorLoggerInvalidMetadata 130s === PAUSE TestStreamServerInterceptorLoggerInvalidMetadata 130s === CONT TestRecvLogMsg 130s === CONT TestLogWithNoCaller 130s === RUN TestRecvLogMsg/One_message,_no_log 130s === PAUSE TestRecvLogMsg/One_message,_no_log 130s === RUN TestRecvLogMsg/Two_logs_with_different_debug_level 130s === PAUSE TestRecvLogMsg/Two_logs_with_different_debug_level 130s === RUN TestRecvLogMsg/No_caller_when_not_requested 130s === PAUSE TestRecvLogMsg/No_caller_when_not_requested 130s === RUN TestRecvLogMsg/No_caller_on_any_logs 130s === PAUSE TestRecvLogMsg/No_caller_on_any_logs 130s === RUN TestRecvLogMsg/Invalid_object_passed_to_RecvMsg_is_gracefully_skipped 130s === PAUSE TestRecvLogMsg/Invalid_object_passed_to_RecvMsg_is_gracefully_skipped 130s === RUN TestRecvLogMsg/One_log_(and_one_closing_empty_message) 130s === PAUSE TestRecvLogMsg/One_log_(and_one_closing_empty_message) 130s Failed to fire hook: hook fired 130s === RUN TestRecvLogMsg/Log_with_caller 130s === PAUSE TestRecvLogMsg/Log_with_caller 130s === RUN TestRecvLogMsg/One_message_with_error,_no_log,_error_is_preserved 130s time="2025-10-18T15:06:45Z" level=info msg="New connection from client [[123456:120938]]" 130s === PAUSE TestRecvLogMsg/One_message_with_error,_no_log,_error_is_preserved 130s === RUN TestRecvLogMsg/Logs_and_then_message_with_error,_error_is_preserved 130s === PAUSE TestRecvLogMsg/Logs_and_then_message_with_error,_error_is_preserved 130s === RUN TestRecvLogMsg/Unknown_log_level_triggers_a_client_error_(protocole_issue) 130s === PAUSE TestRecvLogMsg/Unknown_log_level_triggers_a_client_error_(protocole_issue) 130s === CONT TestLogWarningWithRemoteCaller 130s --- PASS: TestLogWithNoCaller (0.00s) 130s === CONT TestLogWarningWithLocalCaller 130s Failed to fire hook: hook fired 130s time="2025-10-18T15:06:45Z" level=info msg="New connection from client [[123456:805838]]" 130s --- PASS: TestLogWarningWithLocalCaller (0.00s) 130s === CONT TestDebugSentToRemoteEvenIfLocalIsWarning 130s Failed to fire hook: hook fired 130s time="2025-10-18T15:06:45Z" level=info msg="New connection from client [[123456:260697]]" 130s --- PASS: TestDebugSentToRemoteEvenIfLocalIsWarning (0.00s) 130s === CONT TestAllLogLevels 130s Failed to fire hook: hook fired 130s time="2025-10-18T15:06:45Z" level=info msg="New connection from client [[123456:637391]]" 130s --- PASS: TestAllLogLevels (0.00s) 130s === CONT TestMultipleLogs 130s Failed to fire hook: hook fired 130s time="2025-10-18T15:06:45Z" level=info msg="New connection from client [[123456:258594]]" 130s --- PASS: TestMultipleLogs (0.00s) 130s === CONT TestLogWarningOnly 130s Failed to fire hook: hook fired 130s time="2025-10-18T15:06:45Z" level=info msg="New connection from client [[123456:526283]]" 130s --- PASS: TestLogWarningOnly (0.00s) 130s === CONT TestStreamServerInterceptor 130s Failed to fire hook: hook fired 130s time="2025-10-18T15:06:45Z" level=info msg="New connection from client [[123456:848667]]" 130s --- PASS: TestStreamServerInterceptor (0.00s) 130s === CONT TestStreamServerInterceptorLoggerInvalidMetadata 130s === RUN TestStreamServerInterceptorLoggerInvalidMetadata/Missing_caller_key 130s === PAUSE TestStreamServerInterceptorLoggerInvalidMetadata/Missing_caller_key 130s === RUN TestStreamServerInterceptorLoggerInvalidMetadata/Caller_key_is_not_a_boolean 130s === PAUSE TestStreamServerInterceptorLoggerInvalidMetadata/Caller_key_is_not_a_boolean 130s === RUN TestStreamServerInterceptorLoggerInvalidMetadata/Multiple_log_metas 130s === PAUSE TestStreamServerInterceptorLoggerInvalidMetadata/Multiple_log_metas 130s === RUN TestStreamServerInterceptorLoggerInvalidMetadata/No_meta_sent 130s === PAUSE TestStreamServerInterceptorLoggerInvalidMetadata/No_meta_sent 130s === RUN TestStreamServerInterceptorLoggerInvalidMetadata/Missing_client_ID 130s === PAUSE TestStreamServerInterceptorLoggerInvalidMetadata/Missing_client_ID 130s Failed to fire hook: hook fired 130s time="2025-10-18T15:06:45Z" level=info msg="New connection from client [[123456:908929]]" 130s --- PASS: TestLogWarningWithRemoteCaller (0.00s) 130s === CONT TestLogStreamsAreSeparated 130s Failed to fire hook: hook fired 130s time="2025-10-18T15:06:45Z" level=info msg="New connection from client [[123456:065003]]" 130s Failed to fire hook: hook fired 130s time="2025-10-18T15:06:45Z" level=info msg="New connection from client [[123456:289726]]" 130s --- PASS: TestLogStreamsAreSeparated (0.00s) 130s === CONT TestLogSendingFail 130s Failed to fire hook: hook fired 130s time="2025-10-18T15:06:45Z" level=info msg="New connection from client [[123456:399014]]" 130s --- PASS: TestLogSendingFail (0.00s) 130s === CONT TestRecvLogMsg/One_message,_no_log 130s === CONT TestStreamServerInterceptorSendLogsFails 130s time="2025-10-18T15:06:45Z" level=warning msg="[[123456:116409]] Couldn't send initial connection log to client" 130s Failed to fire hook: hook fired 130s time="2025-10-18T15:06:45Z" level=info msg="New connection from client [[123456:116409]]" 130s --- PASS: TestStreamServerInterceptorSendLogsFails (0.00s) 130s === CONT TestRecvLogMsg/Unknown_log_level_triggers_a_client_error_(protocole_issue) 130s === CONT TestRecvLogMsg/Logs_and_then_message_with_error,_error_is_preserved 130s === CONT TestRecvLogMsg/One_message_with_error,_no_log,_error_is_preserved 130s === CONT TestRecvLogMsg/Log_with_caller 130s === CONT TestRecvLogMsg/No_caller_on_any_logs 130s === CONT TestRecvLogMsg/Invalid_object_passed_to_RecvMsg_is_gracefully_skipped 130s === CONT TestRecvLogMsg/No_caller_when_not_requested 130s === CONT TestRecvLogMsg/Two_logs_with_different_debug_level 130s === CONT TestRecvLogMsg/One_log_(and_one_closing_empty_message) 130s --- PASS: TestRecvLogMsg (0.00s) 130s --- PASS: TestRecvLogMsg/One_message,_no_log (0.00s) 130s --- PASS: TestRecvLogMsg/Unknown_log_level_triggers_a_client_error_(protocole_issue) (0.00s) 130s --- PASS: TestRecvLogMsg/Logs_and_then_message_with_error,_error_is_preserved (0.00s) 130s --- PASS: TestRecvLogMsg/One_message_with_error,_no_log,_error_is_preserved (0.00s) 130s --- PASS: TestRecvLogMsg/Log_with_caller (0.00s) 130s --- PASS: TestRecvLogMsg/No_caller_on_any_logs (0.00s) 130s --- PASS: TestRecvLogMsg/Invalid_object_passed_to_RecvMsg_is_gracefully_skipped (0.00s) 130s --- PASS: TestRecvLogMsg/No_caller_when_not_requested (0.00s) 130s --- PASS: TestRecvLogMsg/Two_logs_with_different_debug_level (0.00s) 130s --- PASS: TestRecvLogMsg/One_log_(and_one_closing_empty_message) (0.00s) 130s === CONT TestStreamServerInterceptorLoggerInvalidMetadata/Missing_caller_key 130s === CONT TestStreamServerInterceptorLoggerInvalidMetadata/Missing_client_ID 130s === CONT TestStreamServerInterceptorLoggerInvalidMetadata/Multiple_log_metas 130s === CONT TestStreamServerInterceptorLoggerInvalidMetadata/Caller_key_is_not_a_boolean 130s === CONT TestStreamServerInterceptorLoggerInvalidMetadata/No_meta_sent 130s --- PASS: TestStreamServerInterceptorLoggerInvalidMetadata (0.00s) 130s --- PASS: TestStreamServerInterceptorLoggerInvalidMetadata/Missing_caller_key (0.00s) 130s --- PASS: TestStreamServerInterceptorLoggerInvalidMetadata/Missing_client_ID (0.00s) 130s --- PASS: TestStreamServerInterceptorLoggerInvalidMetadata/Multiple_log_metas (0.00s) 130s --- PASS: TestStreamServerInterceptorLoggerInvalidMetadata/Caller_key_is_not_a_boolean (0.00s) 130s --- PASS: TestStreamServerInterceptorLoggerInvalidMetadata/No_meta_sent (0.00s) 130s PASS 130s ok github.com/ubuntu/adsys/internal/grpc/logstreamer 0.007s 130s ? github.com/ubuntu/adsys/internal/grpc/logstreamer/test [no test files] 130s === RUN TestEventLogHook 130s === RUN TestEventLogHook/error_level 130s time="2025-10-18T15:06:45Z" level=error msg="Error msg" 130s === RUN TestEventLogHook/warn_level 130s time="2025-10-18T15:06:45Z" level=warning msg="Warning msg" 130s time="2025-10-18T15:06:45Z" level=error msg="Error msg" 130s === RUN TestEventLogHook/info_level 130s time="2025-10-18T15:06:45Z" level=info msg="Info msg" 130s time="2025-10-18T15:06:45Z" level=warning msg="Warning msg" 130s time="2025-10-18T15:06:45Z" level=error msg="Error msg" 130s === RUN TestEventLogHook/debug_level 130s time="2025-10-18T15:06:45Z" level=debug msg="Debug msg" 130s time="2025-10-18T15:06:45Z" level=info msg="Info msg" 130s time="2025-10-18T15:06:45Z" level=warning msg="Warning msg" 130s time="2025-10-18T15:06:45Z" level=error msg="Error msg" 130s --- PASS: TestEventLogHook (0.00s) 130s --- PASS: TestEventLogHook/error_level (0.00s) 130s --- PASS: TestEventLogHook/warn_level (0.00s) 130s --- PASS: TestEventLogHook/info_level (0.00s) 130s --- PASS: TestEventLogHook/debug_level (0.00s) 130s PASS 130s ok github.com/ubuntu/adsys/internal/loghooks 0.002s 130s === RUN TestFormat 130s === PAUSE TestFormat 130s === RUN TestApplyPolicies 130s === RUN TestApplyPolicies/Error_when_applying_dconf_policy 130s === RUN TestApplyPolicies/Error_when_applying_privilege_policy 130s === RUN TestApplyPolicies/Error_when_applying_apparmor_policy 130s === RUN TestApplyPolicies/Error_when_applying_certificate_policy 130s === RUN TestApplyPolicies/Succeed 130s === RUN TestApplyPolicies/Second_call_with_no_rules_deletes_everything 130s time="2025-10-18T15:06:46Z" level=info msg="Unloading policies for hostname (machine: true)" 130s === RUN TestApplyPolicies/Second_call_with_no_rules_don't_remove_scripts_if_session_hasn’t_ended 130s time="2025-10-18T15:06:46Z" level=info msg="Unloading policies for hostname (machine: true)" 130s time="2025-10-18T15:06:46Z" level=info msg="\"/tmp/TestApplyPoliciesSecond_call_with_no_rules_dont_remove_scripts4099517012/001/run/adsys/machine/scripts/.running\" already exists, a session is already running, ignoring." 130s === RUN TestApplyPolicies/Second_call_with_no_subscription_should_remove_everything_but_dconf_content 130s time="2025-10-18T15:06:46Z" level=info msg="Applying policies for hostname (machine: true)" 130s time="2025-10-18T15:06:46Z" 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" 130s === RUN TestApplyPolicies/Second_call_with_no_subscription_don't_remove_scripts_if_session_hasn’t_ended 130s time="2025-10-18T15:06:46Z" level=info msg="Applying policies for hostname (machine: true)" 130s time="2025-10-18T15:06:46Z" 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" 130s time="2025-10-18T15:06:46Z" level=info msg="\"/tmp/TestApplyPoliciesSecond_call_with_no_subscription_dont_remove_866709559/001/run/adsys/machine/scripts/.running\" already exists, a session is already running, ignoring." 130s === RUN TestApplyPolicies/Error_when_applying_scripts_policy 130s === RUN TestApplyPolicies/Error_when_applying_mount_policy 130s === RUN TestApplyPolicies/Error_when_applying_proxy_policy 130s === RUN TestApplyPolicies/Succeed_if_checking_for_backend_online_status_returns_an_error 130s === RUN TestApplyPolicies/No_subscription_is_only_dconf_content 130s --- PASS: TestApplyPolicies (0.08s) 130s --- PASS: TestApplyPolicies/Error_when_applying_dconf_policy (0.00s) 130s --- PASS: TestApplyPolicies/Error_when_applying_privilege_policy (0.01s) 130s --- PASS: TestApplyPolicies/Error_when_applying_apparmor_policy (0.01s) 130s --- PASS: TestApplyPolicies/Error_when_applying_certificate_policy (0.00s) 130s --- PASS: TestApplyPolicies/Succeed (0.01s) 130s --- PASS: TestApplyPolicies/Second_call_with_no_rules_deletes_everything (0.01s) 130s --- PASS: TestApplyPolicies/Second_call_with_no_rules_don't_remove_scripts_if_session_hasn’t_ended (0.01s) 130s --- PASS: TestApplyPolicies/Second_call_with_no_subscription_should_remove_everything_but_dconf_content (0.01s) 130s --- PASS: TestApplyPolicies/Second_call_with_no_subscription_don't_remove_scripts_if_session_hasn’t_ended (0.01s) 130s --- PASS: TestApplyPolicies/Error_when_applying_scripts_policy (0.00s) 130s --- PASS: TestApplyPolicies/Error_when_applying_mount_policy (0.00s) 130s --- PASS: TestApplyPolicies/Error_when_applying_proxy_policy (0.00s) 130s --- PASS: TestApplyPolicies/Succeed_if_checking_for_backend_online_status_returns_an_error (0.01s) 130s --- PASS: TestApplyPolicies/No_subscription_is_only_dconf_content (0.00s) 130s === RUN TestDumpPolicies 130s === PAUSE TestDumpPolicies 130s === RUN TestLastUpdateFor 130s === PAUSE TestLastUpdateFor 130s === RUN TestGetSubscriptionState 130s === RUN TestGetSubscriptionState/Returns_enablement_status_(enabled) 130s === RUN TestGetSubscriptionState/Returns_enablement_status_(disabled) 130s --- PASS: TestGetSubscriptionState (0.00s) 130s --- PASS: TestGetSubscriptionState/Returns_enablement_status_(enabled) (0.00s) 130s --- PASS: TestGetSubscriptionState/Returns_enablement_status_(disabled) (0.00s) 130s === RUN TestNew 130s === PAUSE TestNew 130s === RUN TestNewFromCache 130s === PAUSE TestNewFromCache 130s === RUN TestSave 130s === PAUSE TestSave 130s === RUN TestCachePolicies 130s === PAUSE TestCachePolicies 130s === RUN TestSaveAssetsTo 130s === PAUSE TestSaveAssetsTo 130s === RUN TestCompressAssets 130s === PAUSE TestCompressAssets 130s === RUN TestGetUniqueRules 130s === PAUSE TestGetUniqueRules 130s === CONT TestFormat 130s === RUN TestFormat/GPO_with_rules,_override_hidden 130s === PAUSE TestFormat/GPO_with_rules,_override_hidden 130s === RUN TestFormat/GPO_with_rules,_override_displayed 130s === PAUSE TestFormat/GPO_with_rules,_override_displayed 130s === CONT TestSave 130s === RUN TestSave/gpos_only 130s === PAUSE TestSave/gpos_only 130s === RUN TestSave/Save_assets_on_existing_opened_file_does_not_segfault 130s === PAUSE TestSave/Save_assets_on_existing_opened_file_does_not_segfault 130s === RUN TestFormat/GPO_with_rules,_override_disabled_key 130s === RUN TestSave/Can_refresh_on_existing_read_only_asset_file 130s === PAUSE TestFormat/GPO_with_rules,_override_disabled_key 130s === PAUSE TestSave/Can_refresh_on_existing_read_only_asset_file 130s === RUN TestFormat/GPO_and_assets_with_rules,_appending_to_same_key_do_not_add_to_processed_rules 130s === RUN TestSave/Error_on_can’t_write_to_policies_base_dir 130s === PAUSE TestFormat/GPO_and_assets_with_rules,_appending_to_same_key_do_not_add_to_processed_rules 130s === PAUSE TestSave/Error_on_can’t_write_to_policies_base_dir 130s === RUN TestSave/With_assets 130s === PAUSE TestSave/With_assets 130s === RUN TestFormat/GPO_summary 130s === RUN TestSave/Existing_policies_cache_is_refreshed 130s === PAUSE TestFormat/GPO_summary 130s === PAUSE TestSave/Existing_policies_cache_is_refreshed 130s === RUN TestFormat/GPO_and_assets_with_rules,_append_is_overridden_after_a_topmost_override 130s === PAUSE TestFormat/GPO_and_assets_with_rules,_append_is_overridden_after_a_topmost_override 130s === RUN TestSave/Existing_assets_cache_is_refreshed 130s === RUN TestFormat/GPO_with_rules 130s === PAUSE TestSave/Existing_assets_cache_is_refreshed 130s === PAUSE TestFormat/GPO_with_rules 130s === RUN TestSave/Existing_cache_with_assets,_new_cache_with_no_assets 130s === RUN TestFormat/GPO_with_rules_and_overrides,_no_rules_processed 130s === PAUSE TestSave/Existing_cache_with_assets,_new_cache_with_no_assets 130s === PAUSE TestFormat/GPO_with_rules_and_overrides,_no_rules_processed 130s === RUN TestFormat/GPO_with_rules,_appending_to_existing_treated_key 130s === PAUSE TestFormat/GPO_with_rules,_appending_to_existing_treated_key 130s === CONT TestGetUniqueRules 130s === RUN TestSave/Destdir_does_not_exists 130s === PAUSE TestSave/Destdir_does_not_exists 130s === RUN TestSave/Error_on_can’t_write_to_dest_dir 130s === PAUSE TestSave/Error_on_can’t_write_to_dest_dir 130s === RUN TestSave/Error_on_can’t_remove_existing_assets 130s === PAUSE TestSave/Error_on_can’t_remove_existing_assets 130s === RUN TestGetUniqueRules/Append_policy_entry,_closest_meta_wins 130s === CONT TestCompressAssets 130s === PAUSE TestGetUniqueRules/Append_policy_entry,_closest_meta_wins 130s === RUN TestCompressAssets/Error_on_can’t_remove_existing_db 130s === RUN TestGetUniqueRules/Mix_meta_on_GPOs,_closest_policy_entry_is_append,_furthest_override_is_ignored 130s === PAUSE TestCompressAssets/Error_on_can’t_remove_existing_db 130s === RUN TestCompressAssets/Error_on_non_existing_directory 130s === PAUSE TestCompressAssets/Error_on_non_existing_directory 130s === RUN TestCompressAssets/No_db 130s === PAUSE TestCompressAssets/No_db 130s === RUN TestCompressAssets/Existing_db 130s === PAUSE TestCompressAssets/Existing_db 130s === PAUSE TestGetUniqueRules/Mix_meta_on_GPOs,_closest_policy_entry_is_append,_furthest_override_is_ignored 130s === RUN TestGetUniqueRules/Order_key_ascii 130s === PAUSE TestGetUniqueRules/Order_key_ascii 130s === RUN TestGetUniqueRules/Two_policies,_with_overrides 130s === PAUSE TestGetUniqueRules/Two_policies,_with_overrides 130s === RUN TestGetUniqueRules/Append_policy_entry,_multiple_GPOs,_disabled_key_is_ignored,_first 130s === PAUSE TestGetUniqueRules/Append_policy_entry,_multiple_GPOs,_disabled_key_is_ignored,_first 130s === RUN TestGetUniqueRules/Append_policy_entry,_multiple_GPOs,_disabled_key_is_ignored,_second 130s === PAUSE TestGetUniqueRules/Append_policy_entry,_multiple_GPOs,_disabled_key_is_ignored,_second 130s === RUN TestGetUniqueRules/Mix_meta_on_GPOs,_furthest_policy_entry_is_append,_closest_is_override 130s === PAUSE TestGetUniqueRules/Mix_meta_on_GPOs,_furthest_policy_entry_is_append,_closest_is_override 130s === RUN TestGetUniqueRules/Multiple_domains,_different_GPOs 130s === PAUSE TestGetUniqueRules/Multiple_domains,_different_GPOs 130s === RUN TestGetUniqueRules/Disabled_value_overrides_non_disabled_one 130s === PAUSE TestGetUniqueRules/Disabled_value_overrides_non_disabled_one 130s === RUN TestGetUniqueRules/More_policies,_with_multiple_overrides 130s === PAUSE TestGetUniqueRules/More_policies,_with_multiple_overrides 130s === RUN TestGetUniqueRules/Append_policy_entry,_one_GPO 130s === PAUSE TestGetUniqueRules/Append_policy_entry,_one_GPO 130s === RUN TestGetUniqueRules/Append_policy_entry,_multiple_GPOs 130s === PAUSE TestGetUniqueRules/Append_policy_entry,_multiple_GPOs 130s === RUN TestGetUniqueRules/One_GPO 130s === PAUSE TestGetUniqueRules/One_GPO 130s === RUN TestGetUniqueRules/Multiple_domains,_same_GPOs 130s === PAUSE TestGetUniqueRules/Multiple_domains,_same_GPOs 130s === RUN TestGetUniqueRules/Same_key_in_different_domains_are_kept_separated 130s === PAUSE TestGetUniqueRules/Same_key_in_different_domains_are_kept_separated 130s === RUN TestGetUniqueRules/Two_policies,_with_reversed_overrides 130s === PAUSE TestGetUniqueRules/Two_policies,_with_reversed_overrides 130s === RUN TestGetUniqueRules/Two_policies,_no_overrides 130s === PAUSE TestGetUniqueRules/Two_policies,_no_overrides 130s === RUN TestGetUniqueRules/Two_policies,_no_overrides,_reversed 130s === CONT TestSaveAssetsTo 130s === RUN TestSaveAssetsTo/Error_on_no_assets 130s === PAUSE TestSaveAssetsTo/Error_on_no_assets 130s === RUN TestSaveAssetsTo/Error_on_read_only_dest 130s === PAUSE TestSaveAssetsTo/Error_on_read_only_dest 130s === RUN TestSaveAssetsTo/Error_on_can't_chown_to_user 130s === PAUSE TestSaveAssetsTo/Error_on_can't_chown_to_user 130s === RUN TestSaveAssetsTo/Chown_directories_and_files_when_requested 130s === PAUSE TestSaveAssetsTo/Chown_directories_and_files_when_requested 130s === RUN TestSaveAssetsTo/All 130s === PAUSE TestSaveAssetsTo/All 130s === RUN TestSaveAssetsTo/Sub_directory 130s === PAUSE TestSaveAssetsTo/Sub_directory 130s === RUN TestSaveAssetsTo/Sub_directory_ending_with_slash 130s === PAUSE TestSaveAssetsTo/Sub_directory_ending_with_slash 130s === RUN TestSaveAssetsTo/Error_on_unexisting_relSrc_in_cache 130s === PAUSE TestSaveAssetsTo/Error_on_unexisting_relSrc_in_cache 130s === RUN TestSaveAssetsTo/Error_on_file_read_only_existing_in_dest 130s === PAUSE TestSaveAssetsTo/Error_on_file_read_only_existing_in_dest 130s === RUN TestSaveAssetsTo/Error_on_dest_already_exists 130s === PAUSE TestSaveAssetsTo/Error_on_dest_already_exists 130s === RUN TestSaveAssetsTo/File 130s === PAUSE TestSaveAssetsTo/File 130s === RUN TestSaveAssetsTo/Error_on_empty_relSrc 130s === PAUSE TestSaveAssetsTo/Error_on_empty_relSrc 130s === CONT TestCachePolicies 130s === PAUSE TestGetUniqueRules/Two_policies,_no_overrides,_reversed 130s === RUN TestGetUniqueRules/Disabled_value_is_overridden 130s === PAUSE TestGetUniqueRules/Disabled_value_is_overridden 130s === RUN TestGetUniqueRules/Append_policy_entry,_one_GPO,_disabled_key_is_ignored 130s === PAUSE TestGetUniqueRules/Append_policy_entry,_one_GPO,_disabled_key_is_ignored 130s === CONT TestNew 130s === RUN TestNew/No_gpos 130s === PAUSE TestNew/No_gpos 130s === RUN TestNew/Error_on_invalid_assets_db 130s === PAUSE TestNew/Error_on_invalid_assets_db 130s === RUN TestNew/Error_on_assets_db_does_not_exists 130s === PAUSE TestNew/Error_on_assets_db_does_not_exists 130s === RUN TestNew/gpos_only 130s === PAUSE TestNew/gpos_only 130s === RUN TestNew/With_assets 130s === PAUSE TestNew/With_assets 130s === CONT TestNewFromCache 130s === RUN TestNewFromCache/Error_on_invalid_policies_cache 130s === PAUSE TestNewFromCache/Error_on_invalid_policies_cache 130s === RUN TestNewFromCache/Error_on_invalid_assets_db 130s === PAUSE TestNewFromCache/Error_on_invalid_assets_db 130s === RUN TestNewFromCache/Error_on_no_policies_cache 130s === PAUSE TestNewFromCache/Error_on_no_policies_cache 130s === RUN TestNewFromCache/gpos_only 130s === PAUSE TestNewFromCache/gpos_only 130s === RUN TestNewFromCache/With_assets 130s === PAUSE TestNewFromCache/With_assets 130s === CONT TestLastUpdateFor 130s --- PASS: TestCachePolicies (0.00s) 130s === CONT TestDumpPolicies 130s === RUN TestLastUpdateFor/Target_is_ignored_for_machine_request 130s === PAUSE TestLastUpdateFor/Target_is_ignored_for_machine_request 130s === RUN TestLastUpdateFor/Error_when_target_does_not_exist 130s === PAUSE TestLastUpdateFor/Error_when_target_does_not_exist 130s === RUN TestLastUpdateFor/Returns_machine's_last_update_time 130s === PAUSE TestLastUpdateFor/Returns_machine's_last_update_time 130s === RUN TestLastUpdateFor/Returns_user's_last_update_time 130s === PAUSE TestLastUpdateFor/Returns_user's_last_update_time 130s === CONT TestFormat/GPO_with_rules,_override_hidden 130s === CONT TestFormat/GPO_with_rules,_appending_to_existing_treated_key 130s === RUN TestDumpPolicies/One_GPO_User_+_Machine 130s === PAUSE TestDumpPolicies/One_GPO_User_+_Machine 130s === CONT TestFormat/GPO_with_rules_and_overrides,_no_rules_processed 130s === RUN TestDumpPolicies/Multiple_GPOs_with_rules,_no_override 130s === PAUSE TestDumpPolicies/Multiple_GPOs_with_rules,_no_override 130s === RUN TestDumpPolicies/Multiple_GPOs_with_rules,_override_hidden 130s === PAUSE TestDumpPolicies/Multiple_GPOs_with_rules,_override_hidden 130s === RUN TestDumpPolicies/Overrides_between_machine_and_user_GPOs,_shown 130s === PAUSE TestDumpPolicies/Overrides_between_machine_and_user_GPOs,_shown 130s === RUN TestDumpPolicies/Same_GPO_Machine_and_User_with_rules 130s === PAUSE TestDumpPolicies/Same_GPO_Machine_and_User_with_rules 130s === RUN TestDumpPolicies/Error_on_missing_target_cache 130s === PAUSE TestDumpPolicies/Error_on_missing_target_cache 130s === RUN TestDumpPolicies/One_GPO_User 130s === PAUSE TestDumpPolicies/One_GPO_User 130s === RUN TestDumpPolicies/Same_GPO_Machine_and_User 130s === PAUSE TestDumpPolicies/Same_GPO_Machine_and_User 130s === RUN TestDumpPolicies/Same_GPO_Machine_and_User_with_rules_and_overrides 130s === PAUSE TestDumpPolicies/Same_GPO_Machine_and_User_with_rules_and_overrides 130s === RUN TestDumpPolicies/One_GPO_Machine 130s === PAUSE TestDumpPolicies/One_GPO_Machine 130s === RUN TestDumpPolicies/Multiple_GPOs 130s === PAUSE TestDumpPolicies/Multiple_GPOs 130s === RUN TestDumpPolicies/One_GPO_with_rules 130s === CONT TestFormat/GPO_with_rules 130s === PAUSE TestDumpPolicies/One_GPO_with_rules 130s === RUN TestDumpPolicies/Multiple_GPOs_with_rules,_override,_shown 130s === PAUSE TestDumpPolicies/Multiple_GPOs_with_rules,_override,_shown 130s === RUN TestDumpPolicies/Overrides_between_machine_and_user_GPOs,_hidden 130s === PAUSE TestDumpPolicies/Overrides_between_machine_and_user_GPOs,_hidden 130s === RUN TestDumpPolicies/Error_on_missing_machine_cache_when_targeting_user 130s === PAUSE TestDumpPolicies/Error_on_missing_machine_cache_when_targeting_user 130s === RUN TestDumpPolicies/Machine_only_GPO_with_rules 130s === PAUSE TestDumpPolicies/Machine_only_GPO_with_rules 130s === CONT TestFormat/GPO_and_assets_with_rules,_append_is_overridden_after_a_topmost_override 130s === CONT TestFormat/GPO_summary 130s === CONT TestFormat/GPO_and_assets_with_rules,_appending_to_same_key_do_not_add_to_processed_rules 130s === CONT TestFormat/GPO_with_rules,_override_disabled_key 130s === CONT TestFormat/GPO_with_rules,_override_displayed 130s === CONT TestSave/gpos_only 130s --- PASS: TestFormat (0.00s) 130s --- PASS: TestFormat/GPO_with_rules,_override_hidden (0.00s) 130s --- PASS: TestFormat/GPO_with_rules,_appending_to_existing_treated_key (0.00s) 130s --- PASS: TestFormat/GPO_with_rules_and_overrides,_no_rules_processed (0.00s) 130s --- PASS: TestFormat/GPO_with_rules (0.00s) 130s --- PASS: TestFormat/GPO_summary (0.00s) 130s --- PASS: TestFormat/GPO_and_assets_with_rules,_append_is_overridden_after_a_topmost_override (0.00s) 130s --- PASS: TestFormat/GPO_and_assets_with_rules,_appending_to_same_key_do_not_add_to_processed_rules (0.00s) 130s --- PASS: TestFormat/GPO_with_rules,_override_disabled_key (0.00s) 130s --- PASS: TestFormat/GPO_with_rules,_override_displayed (0.00s) 130s === CONT TestSave/Error_on_can’t_remove_existing_assets 130s === CONT TestSave/Error_on_can’t_write_to_dest_dir 130s === CONT TestSave/Destdir_does_not_exists 130s === CONT TestSave/Existing_cache_with_assets,_new_cache_with_no_assets 130s === CONT TestSave/Existing_assets_cache_is_refreshed 130s === CONT TestSave/Existing_policies_cache_is_refreshed 130s === CONT TestSave/With_assets 130s === CONT TestSave/Error_on_can’t_write_to_policies_base_dir 130s === CONT TestSave/Can_refresh_on_existing_read_only_asset_file 130s === CONT TestSave/Save_assets_on_existing_opened_file_does_not_segfault 130s === CONT TestCompressAssets/Error_on_can’t_remove_existing_db 130s --- PASS: TestSave (0.00s) 130s --- PASS: TestSave/gpos_only (0.00s) 130s --- PASS: TestSave/Error_on_can’t_write_to_dest_dir (0.00s) 130s --- PASS: TestSave/Error_on_can’t_remove_existing_assets (0.00s) 130s --- PASS: TestSave/Destdir_does_not_exists (0.00s) 130s --- PASS: TestSave/Existing_cache_with_assets,_new_cache_with_no_assets (0.00s) 130s --- PASS: TestSave/Existing_assets_cache_is_refreshed (0.00s) 130s --- PASS: TestSave/Existing_policies_cache_is_refreshed (0.00s) 130s --- PASS: TestSave/Error_on_can’t_write_to_policies_base_dir (0.00s) 130s --- PASS: TestSave/With_assets (0.00s) 130s --- PASS: TestSave/Can_refresh_on_existing_read_only_asset_file (0.00s) 130s --- PASS: TestSave/Save_assets_on_existing_opened_file_does_not_segfault (0.00s) 130s === CONT TestCompressAssets/Existing_db 130s === CONT TestCompressAssets/No_db 130s === CONT TestCompressAssets/Error_on_non_existing_directory 130s === CONT TestSaveAssetsTo/Error_on_no_assets 130s --- PASS: TestCompressAssets (0.00s) 130s --- PASS: TestCompressAssets/Error_on_can’t_remove_existing_db (0.00s) 130s --- PASS: TestCompressAssets/Existing_db (0.01s) 130s --- PASS: TestCompressAssets/Error_on_non_existing_directory (0.00s) 130s --- PASS: TestCompressAssets/No_db (0.01s) 130s === CONT TestGetUniqueRules/Append_policy_entry,_closest_meta_wins 130s === CONT TestSaveAssetsTo/Error_on_empty_relSrc 130s === CONT TestSaveAssetsTo/File 130s === CONT TestSaveAssetsTo/Error_on_dest_already_exists 130s === CONT TestSaveAssetsTo/Error_on_file_read_only_existing_in_dest 130s === CONT TestSaveAssetsTo/Error_on_unexisting_relSrc_in_cache 130s === CONT TestSaveAssetsTo/Sub_directory_ending_with_slash 130s === CONT TestSaveAssetsTo/Sub_directory 130s === CONT TestSaveAssetsTo/All 130s === CONT TestSaveAssetsTo/Chown_directories_and_files_when_requested 130s === CONT TestSaveAssetsTo/Error_on_can't_chown_to_user 130s === CONT TestSaveAssetsTo/Error_on_read_only_dest 130s === CONT TestGetUniqueRules/Append_policy_entry,_one_GPO 130s === CONT TestGetUniqueRules/Append_policy_entry,_one_GPO,_disabled_key_is_ignored 130s === CONT TestGetUniqueRules/Disabled_value_is_overridden 130s === CONT TestGetUniqueRules/Two_policies,_no_overrides,_reversed 130s === CONT TestGetUniqueRules/Two_policies,_no_overrides 130s === CONT TestGetUniqueRules/Two_policies,_with_reversed_overrides 130s === CONT TestGetUniqueRules/Same_key_in_different_domains_are_kept_separated 130s === CONT TestGetUniqueRules/Multiple_domains,_same_GPOs 130s === CONT TestGetUniqueRules/One_GPO 130s === CONT TestGetUniqueRules/Append_policy_entry,_multiple_GPOs 130s === CONT TestGetUniqueRules/Append_policy_entry,_multiple_GPOs,_disabled_key_is_ignored,_second 130s === CONT TestGetUniqueRules/More_policies,_with_multiple_overrides 130s === CONT TestGetUniqueRules/Disabled_value_overrides_non_disabled_one 130s === CONT TestGetUniqueRules/Multiple_domains,_different_GPOs 130s === CONT TestGetUniqueRules/Two_policies,_with_overrides 130s === CONT TestGetUniqueRules/Mix_meta_on_GPOs,_furthest_policy_entry_is_append,_closest_is_override 130s === CONT TestGetUniqueRules/Append_policy_entry,_multiple_GPOs,_disabled_key_is_ignored,_first 130s === CONT TestGetUniqueRules/Order_key_ascii 130s === CONT TestNew/No_gpos 130s --- PASS: TestSaveAssetsTo (0.00s) 130s --- PASS: TestSaveAssetsTo/Error_on_no_assets (0.00s) 130s --- PASS: TestSaveAssetsTo/Error_on_empty_relSrc (0.00s) 130s --- PASS: TestSaveAssetsTo/File (0.00s) 130s --- PASS: TestSaveAssetsTo/Error_on_dest_already_exists (0.00s) 130s --- PASS: TestSaveAssetsTo/Error_on_file_read_only_existing_in_dest (0.00s) 130s --- PASS: TestSaveAssetsTo/Error_on_unexisting_relSrc_in_cache (0.00s) 130s --- PASS: TestSaveAssetsTo/Sub_directory_ending_with_slash (0.00s) 130s --- PASS: TestSaveAssetsTo/Sub_directory (0.00s) 130s --- PASS: TestSaveAssetsTo/All (0.00s) 130s --- PASS: TestSaveAssetsTo/Chown_directories_and_files_when_requested (0.00s) 130s --- PASS: TestSaveAssetsTo/Error_on_can't_chown_to_user (0.00s) 130s --- PASS: TestSaveAssetsTo/Error_on_read_only_dest (0.00s) 130s === CONT TestGetUniqueRules/Mix_meta_on_GPOs,_closest_policy_entry_is_append,_furthest_override_is_ignored 130s --- PASS: TestGetUniqueRules (0.00s) 130s --- PASS: TestGetUniqueRules/Append_policy_entry,_closest_meta_wins (0.00s) 130s --- PASS: TestGetUniqueRules/Append_policy_entry,_one_GPO (0.00s) 130s --- PASS: TestGetUniqueRules/Append_policy_entry,_one_GPO,_disabled_key_is_ignored (0.00s) 130s --- PASS: TestGetUniqueRules/Disabled_value_is_overridden (0.00s) 130s --- PASS: TestGetUniqueRules/Two_policies,_no_overrides,_reversed (0.00s) 130s --- PASS: TestGetUniqueRules/Two_policies,_no_overrides (0.00s) 130s --- PASS: TestGetUniqueRules/Two_policies,_with_reversed_overrides (0.00s) 130s --- PASS: TestGetUniqueRules/Same_key_in_different_domains_are_kept_separated (0.00s) 130s --- PASS: TestGetUniqueRules/Multiple_domains,_same_GPOs (0.00s) 130s --- PASS: TestGetUniqueRules/One_GPO (0.00s) 130s --- PASS: TestGetUniqueRules/Append_policy_entry,_multiple_GPOs (0.00s) 130s --- PASS: TestGetUniqueRules/Append_policy_entry,_multiple_GPOs,_disabled_key_is_ignored,_second (0.00s) 130s --- PASS: TestGetUniqueRules/More_policies,_with_multiple_overrides (0.00s) 130s --- PASS: TestGetUniqueRules/Disabled_value_overrides_non_disabled_one (0.00s) 130s --- PASS: TestGetUniqueRules/Multiple_domains,_different_GPOs (0.00s) 130s --- PASS: TestGetUniqueRules/Two_policies,_with_overrides (0.00s) 130s --- PASS: TestGetUniqueRules/Mix_meta_on_GPOs,_furthest_policy_entry_is_append,_closest_is_override (0.00s) 130s --- PASS: TestGetUniqueRules/Append_policy_entry,_multiple_GPOs,_disabled_key_is_ignored,_first (0.00s) 130s --- PASS: TestGetUniqueRules/Order_key_ascii (0.00s) 130s --- PASS: TestGetUniqueRules/Mix_meta_on_GPOs,_closest_policy_entry_is_append,_furthest_override_is_ignored (0.00s) 130s === CONT TestNew/gpos_only 130s === CONT TestNew/With_assets 130s === CONT TestNew/Error_on_assets_db_does_not_exists 130s === CONT TestNew/Error_on_invalid_assets_db 130s === CONT TestNewFromCache/Error_on_invalid_policies_cache 130s === CONT TestNewFromCache/With_assets 130s --- PASS: TestNew (0.00s) 130s --- PASS: TestNew/No_gpos (0.00s) 130s --- PASS: TestNew/gpos_only (0.00s) 130s --- PASS: TestNew/Error_on_assets_db_does_not_exists (0.00s) 130s --- PASS: TestNew/Error_on_invalid_assets_db (0.00s) 130s --- PASS: TestNew/With_assets (0.00s) 130s === CONT TestNewFromCache/gpos_only 130s === CONT TestNewFromCache/Error_on_no_policies_cache 130s === CONT TestNewFromCache/Error_on_invalid_assets_db 130s === CONT TestLastUpdateFor/Target_is_ignored_for_machine_request 130s === CONT TestLastUpdateFor/Returns_user's_last_update_time 130s --- PASS: TestNewFromCache (0.00s) 130s --- PASS: TestNewFromCache/Error_on_invalid_policies_cache (0.00s) 130s --- PASS: TestNewFromCache/gpos_only (0.00s) 130s --- PASS: TestNewFromCache/Error_on_no_policies_cache (0.00s) 130s --- PASS: TestNewFromCache/With_assets (0.00s) 130s --- PASS: TestNewFromCache/Error_on_invalid_assets_db (0.00s) 130s time="2025-10-18T15:06:46Z" level=info msg="Get policies last update time \"does_not_exit\" (machine: true)" 130s === CONT TestLastUpdateFor/Returns_machine's_last_update_time 130s time="2025-10-18T15:06:46Z" level=info msg="Get policies last update time \"user\" (machine: false)" 130s === CONT TestLastUpdateFor/Error_when_target_does_not_exist 130s time="2025-10-18T15:06:46Z" level=info msg="Get policies last update time \"does_not_exit\" (machine: false)" 130s time="2025-10-18T15:06:46Z" level=info msg="Get policies last update time \"autopkgtest\" (machine: true)" 130s === CONT TestDumpPolicies/One_GPO_User_+_Machine 130s --- PASS: TestLastUpdateFor (0.00s) 130s --- PASS: TestLastUpdateFor/Target_is_ignored_for_machine_request (0.10s) 130s --- PASS: TestLastUpdateFor/Returns_user's_last_update_time (0.10s) 130s --- PASS: TestLastUpdateFor/Error_when_target_does_not_exist (0.10s) 130s --- PASS: TestLastUpdateFor/Returns_machine's_last_update_time (0.10s) 130s === CONT TestDumpPolicies/Machine_only_GPO_with_rules 130s time="2025-10-18T15:06:46Z" level=info msg="Dumping policies for user" 130s === CONT TestDumpPolicies/Error_on_missing_machine_cache_when_targeting_user 130s time="2025-10-18T15:06:46Z" level=info msg="Dumping policies for autopkgtest" 130s time="2025-10-18T15:06:46Z" level=info msg="Dumping policies for user" 130s === CONT TestDumpPolicies/Overrides_between_machine_and_user_GPOs,_hidden 130s === CONT TestDumpPolicies/Multiple_GPOs_with_rules,_override,_shown 130s time="2025-10-18T15:06:46Z" level=info msg="Dumping policies for user" 130s time="2025-10-18T15:06:46Z" level=info msg="Dumping policies for user" 130s === CONT TestDumpPolicies/One_GPO_with_rules 130s === CONT TestDumpPolicies/Multiple_GPOs 130s time="2025-10-18T15:06:46Z" level=info msg="Dumping policies for user" 130s time="2025-10-18T15:06:46Z" level=info msg="Dumping policies for user" 130s === CONT TestDumpPolicies/One_GPO_Machine 130s === CONT TestDumpPolicies/Same_GPO_Machine_and_User_with_rules_and_overrides 130s time="2025-10-18T15:06:46Z" level=info msg="Dumping policies for user" 130s === CONT TestDumpPolicies/Same_GPO_Machine_and_User 130s time="2025-10-18T15:06:46Z" level=info msg="Dumping policies for autopkgtest" 130s === CONT TestDumpPolicies/One_GPO_User 130s time="2025-10-18T15:06:46Z" level=info msg="Dumping policies for user" 130s === CONT TestDumpPolicies/Error_on_missing_target_cache 130s time="2025-10-18T15:06:46Z" level=info msg="Dumping policies for user" 130s time="2025-10-18T15:06:46Z" level=info msg="Dumping policies for user" 130s time="2025-10-18T15:06:46Z" level=info msg="User \"user\" not found on cache." 130s === CONT TestDumpPolicies/Same_GPO_Machine_and_User_with_rules 130s === CONT TestDumpPolicies/Overrides_between_machine_and_user_GPOs,_shown 130s time="2025-10-18T15:06:46Z" level=info msg="Dumping policies for user" 130s === CONT TestDumpPolicies/Multiple_GPOs_with_rules,_override_hidden 130s time="2025-10-18T15:06:46Z" level=info msg="Dumping policies for user" 130s === CONT TestDumpPolicies/Multiple_GPOs_with_rules,_no_override 130s time="2025-10-18T15:06:46Z" level=info msg="Dumping policies for user" 130s time="2025-10-18T15:06:46Z" level=info msg="Dumping policies for user" 130s --- PASS: TestDumpPolicies (0.00s) 130s --- PASS: TestDumpPolicies/One_GPO_User_+_Machine (0.00s) 130s --- PASS: TestDumpPolicies/Machine_only_GPO_with_rules (0.00s) 130s --- PASS: TestDumpPolicies/Error_on_missing_machine_cache_when_targeting_user (0.00s) 130s --- PASS: TestDumpPolicies/Multiple_GPOs_with_rules,_override,_shown (0.00s) 130s --- PASS: TestDumpPolicies/Overrides_between_machine_and_user_GPOs,_hidden (0.00s) 130s --- PASS: TestDumpPolicies/Multiple_GPOs (0.00s) 130s --- PASS: TestDumpPolicies/One_GPO_with_rules (0.00s) 130s --- PASS: TestDumpPolicies/Same_GPO_Machine_and_User_with_rules_and_overrides (0.00s) 130s --- PASS: TestDumpPolicies/One_GPO_Machine (0.00s) 130s --- PASS: TestDumpPolicies/Same_GPO_Machine_and_User (0.00s) 130s --- PASS: TestDumpPolicies/Error_on_missing_target_cache (0.00s) 130s --- PASS: TestDumpPolicies/One_GPO_User (0.00s) 130s --- PASS: TestDumpPolicies/Same_GPO_Machine_and_User_with_rules (0.00s) 130s --- PASS: TestDumpPolicies/Overrides_between_machine_and_user_GPOs,_shown (0.00s) 130s --- PASS: TestDumpPolicies/Multiple_GPOs_with_rules,_override_hidden (0.00s) 130s --- PASS: TestDumpPolicies/Multiple_GPOs_with_rules,_no_override (0.00s) 130s PASS 130s ok github.com/ubuntu/adsys/internal/policies 0.333s 130s === RUN TestApplyPolicy 130s === PAUSE TestApplyPolicy 130s === RUN TestMockApparmorParser 130s --- PASS: TestMockApparmorParser (0.00s) 130s === CONT TestApplyPolicy 130s === RUN TestApplyPolicy/Computer,_one_profile 130s === PAUSE TestApplyPolicy/Computer,_one_profile 130s === RUN TestApplyPolicy/No_apparmor_parser_and_entries 130s === PAUSE TestApplyPolicy/No_apparmor_parser_and_entries 130s === RUN TestApplyPolicy/Computer,_previous_profiles_are_unloaded 130s === PAUSE TestApplyPolicy/Computer,_previous_profiles_are_unloaded 130s === RUN TestApplyPolicy/Computer,_user_policies_are_unloaded 130s === PAUSE TestApplyPolicy/Computer,_user_policies_are_unloaded 130s === RUN TestApplyPolicy/No_profiles,_apparmor_directory_absent 130s === PAUSE TestApplyPolicy/No_profiles,_apparmor_directory_absent 130s === RUN TestApplyPolicy/Error_on_absent_profile 130s === PAUSE TestApplyPolicy/Error_on_absent_profile 130s === RUN TestApplyPolicy/Error_on_read-only_machine_directory 130s === PAUSE TestApplyPolicy/Error_on_read-only_machine_directory 130s === RUN TestApplyPolicy/Error_on_read-only_.new_directory 130s === PAUSE TestApplyPolicy/Error_on_read-only_.new_directory 130s === RUN TestApplyPolicy/Error_on_removing_unused_assets_after_dump 130s === PAUSE TestApplyPolicy/Error_on_removing_unused_assets_after_dump 130s === RUN TestApplyPolicy/Computer,_whitespace-only_value 130s === PAUSE TestApplyPolicy/Computer,_whitespace-only_value 130s === RUN TestApplyPolicy/Computer,_only_blank_profiles 130s === PAUSE TestApplyPolicy/Computer,_only_blank_profiles 130s === RUN TestApplyPolicy/User,_no_user_profiles,_machine_profiles_are_unloaded 130s === PAUSE TestApplyPolicy/User,_no_user_profiles,_machine_profiles_are_unloaded 130s === RUN TestApplyPolicy/User,_error_on_multiple_profiles 130s === PAUSE TestApplyPolicy/User,_error_on_multiple_profiles 130s === RUN TestApplyPolicy/Read-only_root_directory_and_no_entries 130s === PAUSE TestApplyPolicy/Read-only_root_directory_and_no_entries 130s === RUN TestApplyPolicy/Error_on_absent_loaded_policies_file 130s === PAUSE TestApplyPolicy/Error_on_absent_loaded_policies_file 130s === RUN TestApplyPolicy/Error_on_file_as_a_directory 130s === PAUSE TestApplyPolicy/Error_on_file_as_a_directory 130s === RUN TestApplyPolicy/Error_on_loading_profiles_failing 130s === PAUSE TestApplyPolicy/Error_on_loading_profiles_failing 130s === RUN TestApplyPolicy/Error_on_read-only_root_directory_with_entries 130s === PAUSE TestApplyPolicy/Error_on_read-only_root_directory_with_entries 130s === RUN TestApplyPolicy/Computer,_profiles_with_whitespace 130s === PAUSE TestApplyPolicy/Computer,_profiles_with_whitespace 130s === RUN TestApplyPolicy/User,_error_on_invalid_user_profile,_restore_previous 130s === PAUSE TestApplyPolicy/User,_error_on_invalid_user_profile,_restore_previous 130s === RUN TestApplyPolicy/User,_no_machine_profiles 130s === PAUSE TestApplyPolicy/User,_no_machine_profiles 130s === RUN TestApplyPolicy/User,_error_on_save_assets_failing 130s === PAUSE TestApplyPolicy/User,_error_on_save_assets_failing 130s === RUN TestApplyPolicy/User,_error_on_overwriting_profile_contents 130s === PAUSE TestApplyPolicy/User,_error_on_overwriting_profile_contents 130s === RUN TestApplyPolicy/Error_on_preprocessing_old_profiles_failing 130s === PAUSE TestApplyPolicy/Error_on_preprocessing_old_profiles_failing 130s === RUN TestApplyPolicy/Error_on_unloading_all_profiles_failing 130s === PAUSE TestApplyPolicy/Error_on_unloading_all_profiles_failing 130s === RUN TestApplyPolicy/Error_on_read-only_.old_directory 130s === PAUSE TestApplyPolicy/Error_on_read-only_.old_directory 130s === RUN TestApplyPolicy/Existing_.new_directory_is_removed 130s === PAUSE TestApplyPolicy/Existing_.new_directory_is_removed 130s === RUN TestApplyPolicy/Existing_.old_directory_is_removed 130s === PAUSE TestApplyPolicy/Existing_.old_directory_is_removed 130s === RUN TestApplyPolicy/User,_valid_mapping 130s === PAUSE TestApplyPolicy/User,_valid_mapping 130s === RUN TestApplyPolicy/Error_on_preprocessing_new_profiles_failing 130s === PAUSE TestApplyPolicy/Error_on_preprocessing_new_profiles_failing 130s === RUN TestApplyPolicy/Error_on_save_assets_dumping_failing 130s === PAUSE TestApplyPolicy/Error_on_save_assets_dumping_failing 130s === RUN TestApplyPolicy/Unexpected_entry_key 130s === PAUSE TestApplyPolicy/Unexpected_entry_key 130s === RUN TestApplyPolicy/User,_no_entries,_existing_user_profile_is_deleted 130s === PAUSE TestApplyPolicy/User,_no_entries,_existing_user_profile_is_deleted 130s === RUN TestApplyPolicy/User,_error_on_empty_user_profile 130s === PAUSE TestApplyPolicy/User,_error_on_empty_user_profile 130s === RUN TestApplyPolicy/User,_error_on_invalid_user_profile,_delete_previous 130s === PAUSE TestApplyPolicy/User,_error_on_invalid_user_profile,_delete_previous 130s === RUN TestApplyPolicy/No_apparmor_parser_and_no_entries 130s === PAUSE TestApplyPolicy/No_apparmor_parser_and_no_entries 130s === RUN TestApplyPolicy/Error_on_read-only_machine_directory,_no_entries 130s === PAUSE TestApplyPolicy/Error_on_read-only_machine_directory,_no_entries 130s === RUN TestApplyPolicy/Computer,_multiple_profiles, 130s === PAUSE TestApplyPolicy/Computer,_multiple_profiles, 130s === RUN TestApplyPolicy/Computer,_duplicated_profiles 130s === PAUSE TestApplyPolicy/Computer,_duplicated_profiles 130s === RUN TestApplyPolicy/User,_valid_mapping,_unchanged_content 130s === PAUSE TestApplyPolicy/User,_valid_mapping,_unchanged_content 130s === RUN TestApplyPolicy/Error_on_profile_being_a_directory 130s === PAUSE TestApplyPolicy/Error_on_profile_being_a_directory 130s === RUN TestApplyPolicy/Computer,_blank_line_profiles 130s === PAUSE TestApplyPolicy/Computer,_blank_line_profiles 130s === RUN TestApplyPolicy/No_profiles,_existing_rules_are_removed 130s === PAUSE TestApplyPolicy/No_profiles,_existing_rules_are_removed 130s === RUN TestApplyPolicy/Error_on_unloading_old_profiles_failing 130s === PAUSE TestApplyPolicy/Error_on_unloading_old_profiles_failing 130s === CONT TestApplyPolicy/Computer,_one_profile 130s === CONT TestApplyPolicy/User,_error_on_overwriting_profile_contents 130s === CONT TestApplyPolicy/User,_error_on_save_assets_failing 130s === CONT TestApplyPolicy/User,_no_machine_profiles 130s time="2025-10-18T15:06:47Z" level=warning msg="No apparmor machine profiles configured for this machine, skipping reload" 130s === CONT TestApplyPolicy/User,_error_on_invalid_user_profile,_restore_previous 130s === CONT TestApplyPolicy/Computer,_profiles_with_whitespace 130s === CONT TestApplyPolicy/Error_on_read-only_root_directory_with_entries 130s === CONT TestApplyPolicy/Error_on_loading_profiles_failing 130s === CONT TestApplyPolicy/Error_on_file_as_a_directory 130s === CONT TestApplyPolicy/Error_on_absent_loaded_policies_file 130s === CONT TestApplyPolicy/Read-only_root_directory_and_no_entries 130s === CONT TestApplyPolicy/User,_error_on_multiple_profiles 130s === CONT TestApplyPolicy/User,_no_user_profiles,_machine_profiles_are_unloaded 130s === CONT TestApplyPolicy/Computer,_only_blank_profiles 130s === CONT TestApplyPolicy/Computer,_whitespace-only_value 130s === CONT TestApplyPolicy/Error_on_removing_unused_assets_after_dump 130s time="2025-10-18T15:06:47Z" level=warning msg="Couldn't remove new apparmor directory: unlinkat /tmp/TestApplyPolicyError_on_removing_unused_assets_after_dump242193790/001/machine/users/confined_user: permission denied" 130s time="2025-10-18T15:06:47Z" level=warning msg="Couldn't restore previous apparmor directory: rename /tmp/TestApplyPolicyError_on_removing_unused_assets_after_dump242193790/001/machine.old /tmp/TestApplyPolicyError_on_removing_unused_assets_after_dump242193790/001/machine: file exists" 130s === CONT TestApplyPolicy/Error_on_read-only_.new_directory 130s === CONT TestApplyPolicy/Error_on_read-only_machine_directory 130s === CONT TestApplyPolicy/Error_on_absent_profile 130s === CONT TestApplyPolicy/No_profiles,_apparmor_directory_absent 130s === CONT TestApplyPolicy/Computer,_user_policies_are_unloaded 130s === CONT TestApplyPolicy/Computer,_previous_profiles_are_unloaded 130s === CONT TestApplyPolicy/No_apparmor_parser_and_entries 130s === CONT TestApplyPolicy/User,_error_on_empty_user_profile 130s === CONT TestApplyPolicy/Error_on_unloading_old_profiles_failing 130s === CONT TestApplyPolicy/No_profiles,_existing_rules_are_removed 130s === CONT TestApplyPolicy/Computer,_blank_line_profiles 130s === CONT TestApplyPolicy/Error_on_profile_being_a_directory 130s === CONT TestApplyPolicy/User,_valid_mapping,_unchanged_content 130s === CONT TestApplyPolicy/Computer,_duplicated_profiles 130s === CONT TestApplyPolicy/Computer,_multiple_profiles, 130s === CONT TestApplyPolicy/Error_on_read-only_machine_directory,_no_entries 130s === CONT TestApplyPolicy/No_apparmor_parser_and_no_entries 130s time="2025-10-18T15:06:47Z" level=warning msg="Apparmor is not available on this system: exec: \"this-definitely-does-not-exist\": executable file not found in $PATH" 130s === CONT TestApplyPolicy/User,_error_on_invalid_user_profile,_delete_previous 130s === CONT TestApplyPolicy/User,_valid_mapping 130s === CONT TestApplyPolicy/User,_no_entries,_existing_user_profile_is_deleted 130s === CONT TestApplyPolicy/Unexpected_entry_key 130s === CONT TestApplyPolicy/Error_on_save_assets_dumping_failing 130s === CONT TestApplyPolicy/Error_on_preprocessing_new_profiles_failing 130s === CONT TestApplyPolicy/Error_on_read-only_.old_directory 130s === CONT TestApplyPolicy/Existing_.old_directory_is_removed 130s === CONT TestApplyPolicy/Existing_.new_directory_is_removed 130s === CONT TestApplyPolicy/Error_on_unloading_all_profiles_failing 130s === CONT TestApplyPolicy/Error_on_preprocessing_old_profiles_failing 130s --- PASS: TestApplyPolicy (0.00s) 130s --- PASS: TestApplyPolicy/User,_error_on_overwriting_profile_contents (0.00s) 130s --- PASS: TestApplyPolicy/User,_error_on_save_assets_failing (0.00s) 130s --- PASS: TestApplyPolicy/User,_no_machine_profiles (0.00s) 130s --- PASS: TestApplyPolicy/User,_error_on_invalid_user_profile,_restore_previous (0.01s) 130s --- PASS: TestApplyPolicy/Computer,_one_profile (0.01s) 130s --- PASS: TestApplyPolicy/Error_on_read-only_root_directory_with_entries (0.00s) 130s --- PASS: TestApplyPolicy/Computer,_profiles_with_whitespace (0.01s) 130s --- PASS: TestApplyPolicy/Error_on_file_as_a_directory (0.00s) 130s --- PASS: TestApplyPolicy/Error_on_absent_loaded_policies_file (0.00s) 130s --- PASS: TestApplyPolicy/Read-only_root_directory_and_no_entries (0.00s) 130s --- PASS: TestApplyPolicy/User,_error_on_multiple_profiles (0.00s) 130s --- PASS: TestApplyPolicy/Error_on_loading_profiles_failing (0.01s) 130s --- PASS: TestApplyPolicy/Computer,_only_blank_profiles (0.00s) 130s --- PASS: TestApplyPolicy/Computer,_whitespace-only_value (0.00s) 130s --- PASS: TestApplyPolicy/Error_on_removing_unused_assets_after_dump (0.00s) 130s --- PASS: TestApplyPolicy/Error_on_read-only_.new_directory (0.00s) 130s --- PASS: TestApplyPolicy/User,_no_user_profiles,_machine_profiles_are_unloaded (0.01s) 130s --- PASS: TestApplyPolicy/Error_on_absent_profile (0.00s) 130s --- PASS: TestApplyPolicy/No_profiles,_apparmor_directory_absent (0.00s) 130s --- PASS: TestApplyPolicy/Error_on_read-only_machine_directory (0.02s) 130s --- PASS: TestApplyPolicy/Computer,_user_policies_are_unloaded (0.01s) 130s --- PASS: TestApplyPolicy/No_apparmor_parser_and_entries (0.00s) 130s --- PASS: TestApplyPolicy/User,_error_on_empty_user_profile (0.00s) 130s --- PASS: TestApplyPolicy/Error_on_unloading_old_profiles_failing (0.02s) 130s --- PASS: TestApplyPolicy/Computer,_previous_profiles_are_unloaded (0.02s) 130s --- PASS: TestApplyPolicy/No_profiles,_existing_rules_are_removed (0.01s) 130s --- PASS: TestApplyPolicy/Computer,_blank_line_profiles (0.01s) 130s --- PASS: TestApplyPolicy/Error_on_profile_being_a_directory (0.00s) 130s --- PASS: TestApplyPolicy/User,_valid_mapping,_unchanged_content (0.00s) 130s --- PASS: TestApplyPolicy/Computer,_duplicated_profiles (0.01s) 130s --- PASS: TestApplyPolicy/Computer,_multiple_profiles, (0.01s) 130s --- PASS: TestApplyPolicy/No_apparmor_parser_and_no_entries (0.00s) 130s --- PASS: TestApplyPolicy/User,_error_on_invalid_user_profile,_delete_previous (0.00s) 130s --- PASS: TestApplyPolicy/Error_on_read-only_machine_directory,_no_entries (0.01s) 130s --- PASS: TestApplyPolicy/User,_no_entries,_existing_user_profile_is_deleted (0.00s) 130s --- PASS: TestApplyPolicy/Unexpected_entry_key (0.00s) 130s --- PASS: TestApplyPolicy/Error_on_save_assets_dumping_failing (0.00s) 130s --- PASS: TestApplyPolicy/User,_valid_mapping (0.00s) 130s --- PASS: TestApplyPolicy/Error_on_read-only_.old_directory (0.00s) 130s --- PASS: TestApplyPolicy/Error_on_preprocessing_new_profiles_failing (0.01s) 130s --- PASS: TestApplyPolicy/Existing_.old_directory_is_removed (0.01s) 130s --- PASS: TestApplyPolicy/Existing_.new_directory_is_removed (0.01s) 130s --- PASS: TestApplyPolicy/Error_on_unloading_all_profiles_failing (0.01s) 130s --- PASS: TestApplyPolicy/Error_on_preprocessing_old_profiles_failing (0.01s) 130s PASS 130s ok github.com/ubuntu/adsys/internal/policies/apparmor 0.137s 130s === RUN TestCertAutoenrollScript 130s === RUN TestCertAutoenrollScript/Enroll_with_simple_configuration 130s === RUN TestCertAutoenrollScript/Error_on_missing_arguments 130s === RUN TestCertAutoenrollScript/Error_on_enroll_failure 130s === RUN TestCertAutoenrollScript/Error_on_invalid_flags 130s === RUN TestCertAutoenrollScript/Error_on_invalid_JSON_keys 130s === RUN TestCertAutoenrollScript/Error_on_invalid_JSON_structure 130s === RUN TestCertAutoenrollScript/Enroll_with_empty_advanced_configuration 130s === RUN TestCertAutoenrollScript/Enroll_with_valid_advanced_configuration 130s === RUN TestCertAutoenrollScript/Error_on_read-only_path 130s === RUN TestCertAutoenrollScript/Error_on_unenroll_failure 130s === RUN TestCertAutoenrollScript/Enroll_with_simple_configuration_and_debug_enabled 130s === RUN TestCertAutoenrollScript/Unenroll 130s === RUN TestCertAutoenrollScript/Enroll_with_certmonger_not_installed 130s === RUN TestCertAutoenrollScript/Enroll_with_cepces_not_installed 130s === RUN TestCertAutoenrollScript/Error_on_invalid_JSON 130s --- PASS: TestCertAutoenrollScript (0.52s) 130s --- PASS: TestCertAutoenrollScript/Enroll_with_simple_configuration (0.03s) 130s --- PASS: TestCertAutoenrollScript/Error_on_missing_arguments (0.03s) 130s --- PASS: TestCertAutoenrollScript/Error_on_enroll_failure (0.05s) 130s --- PASS: TestCertAutoenrollScript/Error_on_invalid_flags (0.03s) 130s --- PASS: TestCertAutoenrollScript/Error_on_invalid_JSON_keys (0.03s) 130s --- PASS: TestCertAutoenrollScript/Error_on_invalid_JSON_structure (0.03s) 130s --- PASS: TestCertAutoenrollScript/Enroll_with_empty_advanced_configuration (0.03s) 130s --- PASS: TestCertAutoenrollScript/Enroll_with_valid_advanced_configuration (0.03s) 130s --- PASS: TestCertAutoenrollScript/Error_on_read-only_path (0.03s) 130s --- PASS: TestCertAutoenrollScript/Error_on_unenroll_failure (0.04s) 130s --- PASS: TestCertAutoenrollScript/Enroll_with_simple_configuration_and_debug_enabled (0.03s) 130s --- PASS: TestCertAutoenrollScript/Unenroll (0.03s) 130s --- PASS: TestCertAutoenrollScript/Enroll_with_certmonger_not_installed (0.03s) 130s --- PASS: TestCertAutoenrollScript/Enroll_with_cepces_not_installed (0.03s) 130s --- PASS: TestCertAutoenrollScript/Error_on_invalid_JSON (0.03s) 130s === RUN TestApplyPolicy 130s === RUN TestApplyPolicy/Error_on_autoenroll_script_failure 130s === RUN TestApplyPolicy/Error_on_invalid_advanced_configuration_value 130s === RUN TestApplyPolicy/Computer,_no_entries,_Samba_cache_present 130s time="2025-10-18T15:06:48Z" level=info msg="Certificate autoenrollment script ran successfully\n" 130s === RUN TestApplyPolicy/Computer,_configured_to_enroll 130s time="2025-10-18T15:06:48Z" level=info msg="Certificate autoenrollment script ran successfully\n" 130s === RUN TestApplyPolicy/Error_on_invalid_autoenroll_value 130s === RUN TestApplyPolicy/Computer,_no_entries 130s === RUN TestApplyPolicy/Computer,_autoenroll_disabled 130s === RUN TestApplyPolicy/Computer,_domain_is_offline 130s === RUN TestApplyPolicy/Computer,_configured_to_enroll,_advanced_configuration 130s time="2025-10-18T15:06:48Z" level=info msg="Certificate autoenrollment script ran successfully\n" 130s === RUN TestApplyPolicy/Computer,_configured_to_unenroll 130s time="2025-10-18T15:06:48Z" level=info msg="Certificate autoenrollment script ran successfully\n" 130s === RUN TestApplyPolicy/User,_autoenroll_not_supported 130s --- PASS: TestApplyPolicy (0.02s) 130s --- PASS: TestApplyPolicy/Error_on_autoenroll_script_failure (0.00s) 130s --- PASS: TestApplyPolicy/Error_on_invalid_advanced_configuration_value (0.00s) 130s --- PASS: TestApplyPolicy/Computer,_no_entries,_Samba_cache_present (0.00s) 130s --- PASS: TestApplyPolicy/Computer,_configured_to_enroll (0.00s) 130s --- PASS: TestApplyPolicy/Error_on_invalid_autoenroll_value (0.00s) 130s --- PASS: TestApplyPolicy/Computer,_no_entries (0.00s) 130s --- PASS: TestApplyPolicy/Computer,_autoenroll_disabled (0.00s) 130s --- PASS: TestApplyPolicy/Computer,_domain_is_offline (0.00s) 130s --- PASS: TestApplyPolicy/Computer,_configured_to_enroll,_advanced_configuration (0.00s) 130s --- PASS: TestApplyPolicy/Computer,_configured_to_unenroll (0.00s) 130s --- PASS: TestApplyPolicy/User,_autoenroll_not_supported (0.00s) 130s === RUN TestMockAutoenrollScript 130s --- PASS: TestMockAutoenrollScript (0.00s) 130s PASS 130s ok github.com/ubuntu/adsys/internal/policies/certificate 0.544s 130s === RUN TestNormalize 130s === PAUSE TestNormalize 130s === RUN TestApplyPolicy 130s === PAUSE TestApplyPolicy 130s === CONT TestNormalize 130s === CONT TestApplyPolicy 130s === RUN TestNormalize/string_with_two_backslashes_don’t_escape_quotes 130s === PAUSE TestNormalize/string_with_two_backslashes_don’t_escape_quotes 130s === RUN TestApplyPolicy/No_surrounding_brackets_multiple_ai 130s === PAUSE TestApplyPolicy/No_surrounding_brackets_multiple_ai 130s === RUN TestApplyPolicy/No_surrounding_brackets_unquoted_as 130s === PAUSE TestApplyPolicy/No_surrounding_brackets_unquoted_as 130s === RUN TestApplyPolicy/No_surrounding_brackets_unquoted_multiple_as 130s === PAUSE TestApplyPolicy/No_surrounding_brackets_unquoted_multiple_as 130s === RUN TestApplyPolicy/No_surrounding_brackets_quoted_multiple_as 130s === PAUSE TestApplyPolicy/No_surrounding_brackets_quoted_multiple_as 130s === RUN TestApplyPolicy/Do_not_interfere_with_other_user_profile 130s === PAUSE TestApplyPolicy/Do_not_interfere_with_other_user_profile 130s === RUN TestNormalize/y_transformed_to_boolean 130s === RUN TestApplyPolicy/Quoted_i 130s === PAUSE TestNormalize/y_transformed_to_boolean 130s === PAUSE TestApplyPolicy/Quoted_i 130s === RUN TestNormalize/as_with_leading_and_ending_spaces_and__[] 130s === RUN TestApplyPolicy/Multi-lines_ai_mixed_with_comma 130s === PAUSE TestNormalize/as_with_leading_and_ending_spaces_and__[] 130s === PAUSE TestApplyPolicy/Multi-lines_ai_mixed_with_comma 130s === RUN TestNormalize/as_partially_quoted_unbalanced_start_can_lead_to_unexpect_result 130s === PAUSE TestNormalize/as_partially_quoted_unbalanced_start_can_lead_to_unexpect_result 130s === RUN TestApplyPolicy/Invalid_as_is_too_robust_to_produce_defaulting_values 130s === PAUSE TestApplyPolicy/Invalid_as_is_too_robust_to_produce_defaulting_values 130s === RUN TestApplyPolicy/Update_existing_profile_without_needed_db_append_them 130s === RUN TestNormalize/Multi-lines_as_with_leading_and_trailing_brackets 130s === PAUSE TestApplyPolicy/Update_existing_profile_without_needed_db_append_them 130s === PAUSE TestNormalize/Multi-lines_as_with_leading_and_trailing_brackets 130s === RUN TestNormalize/Multi-lines_as_with_explicit_empty_element 130s === RUN TestApplyPolicy/Update_existing_profile_eliminates_adsys_DB_repetitions 130s === PAUSE TestNormalize/Multi-lines_as_with_explicit_empty_element 130s === PAUSE TestApplyPolicy/Update_existing_profile_eliminates_adsys_DB_repetitions 130s === RUN TestApplyPolicy/User_updates_existing_value 130s === RUN TestNormalize/with_spaces 130s === PAUSE TestApplyPolicy/User_updates_existing_value 130s === PAUSE TestNormalize/with_spaces 130s === RUN TestApplyPolicy/First_boot 130s === RUN TestNormalize/non_supported_is_reported_as_is 130s === PAUSE TestApplyPolicy/First_boot 130s === RUN TestApplyPolicy/No_update_when_no_change 130s === PAUSE TestNormalize/non_supported_is_reported_as_is 130s === PAUSE TestApplyPolicy/No_update_when_no_change 130s === RUN TestNormalize/Multi-lines_as_with_empty_lines_strips_empty_elements 130s === RUN TestApplyPolicy/Multi-lines_as_mixed_with_comma 130s === PAUSE TestNormalize/Multi-lines_as_with_empty_lines_strips_empty_elements 130s === PAUSE TestApplyPolicy/Multi-lines_as_mixed_with_comma 130s === RUN TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_are_ignored 130s === RUN TestApplyPolicy/Error_on_invalid_ai 130s === PAUSE TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_are_ignored 130s === PAUSE TestApplyPolicy/Error_on_invalid_ai 130s === RUN TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_after_[]_are_ignored 130s === RUN TestApplyPolicy/Error_on_empty_meta 130s === PAUSE TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_after_[]_are_ignored 130s === PAUSE TestApplyPolicy/Error_on_empty_meta 130s === RUN TestNormalize/Multi-lines_ai_with_empty_lines_strips_empty_element 130s === RUN TestApplyPolicy/Update_existing_correct_profile_stays_unchanged 130s === PAUSE TestNormalize/Multi-lines_ai_with_empty_lines_strips_empty_element 130s === PAUSE TestApplyPolicy/Update_existing_correct_profile_stays_unchanged 130s === RUN TestNormalize/as_wrongly_quoted_will_consider_comma_as_part_of_the_string 130s === PAUSE TestNormalize/as_wrongly_quoted_will_consider_comma_as_part_of_the_string 130s === RUN TestApplyPolicy/Update_existing_profile_with_wrong_order_appends_them_in_correct_order 130s === RUN TestNormalize/off_transformed_to_boolean 130s === PAUSE TestApplyPolicy/Update_existing_profile_with_wrong_order_appends_them_in_correct_order 130s === PAUSE TestNormalize/off_transformed_to_boolean 130s === RUN TestApplyPolicy/Machine_updates_with_different_value 130s === RUN TestNormalize/as_with_empty_quoted_can_lead_to_unexpect_result 130s === PAUSE TestApplyPolicy/Machine_updates_with_different_value 130s === PAUSE TestNormalize/as_with_empty_quoted_can_lead_to_unexpect_result 130s === RUN TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_before_[]_are_ignored 130s === RUN TestApplyPolicy/Missing_machine_compiled_db_for_user 130s === PAUSE TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_before_[]_are_ignored 130s === PAUSE TestApplyPolicy/Missing_machine_compiled_db_for_user 130s === RUN TestApplyPolicy/No_surrounding_brackets_quoted_as 130s === RUN TestNormalize/ai_without_ending_] 130s === PAUSE TestApplyPolicy/No_surrounding_brackets_quoted_as 130s === PAUSE TestNormalize/ai_without_ending_] 130s === RUN TestApplyPolicy/Error_when_machine_db_does_not_exist 130s === PAUSE TestApplyPolicy/Error_when_machine_db_does_not_exist 130s === RUN TestNormalize/yes_transformed_to_boolean 130s === RUN TestApplyPolicy/Update_existing_correct_profile_with_trailing_spaces_are_removed 130s === PAUSE TestNormalize/yes_transformed_to_boolean 130s === PAUSE TestApplyPolicy/Update_existing_correct_profile_with_trailing_spaces_are_removed 130s === RUN TestNormalize/on_transformed_to_boolean 130s === RUN TestApplyPolicy/Multiple_sections 130s === PAUSE TestNormalize/on_transformed_to_boolean 130s === PAUSE TestApplyPolicy/Multiple_sections 130s === RUN TestApplyPolicy/Missing_user_compiled_db_for_user 130s === RUN TestNormalize/as_without_ending_] 130s === PAUSE TestApplyPolicy/Missing_user_compiled_db_for_user 130s === PAUSE TestNormalize/as_without_ending_] 130s === RUN TestApplyPolicy/Multi-lines_as 130s === PAUSE TestApplyPolicy/Multi-lines_as 130s === RUN TestNormalize/as_partially_quoted_can_lead_to_unexpect_result 130s === RUN TestApplyPolicy/Multi-lines_ai 130s === PAUSE TestNormalize/as_partially_quoted_can_lead_to_unexpect_result 130s === PAUSE TestApplyPolicy/Multi-lines_ai 130s === RUN TestNormalize/Multi-lines_as_with_consecutive_empty_lines_strip_empty_elements 130s === PAUSE TestNormalize/Multi-lines_as_with_consecutive_empty_lines_strip_empty_elements 130s === RUN TestApplyPolicy/Error_on_invalid_value_for_unnormalized_type 130s === RUN TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_are_ignored 130s === PAUSE TestApplyPolicy/Error_on_invalid_value_for_unnormalized_type 130s === PAUSE TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_are_ignored 130s === RUN TestApplyPolicy/No_policy_still_generates_a_valid_db 130s === RUN TestNormalize/weird_case_true 130s === PAUSE TestNormalize/weird_case_true 130s === PAUSE TestApplyPolicy/No_policy_still_generates_a_valid_db 130s === RUN TestNormalize/weird_case_false 130s === RUN TestApplyPolicy/User_updates_with_different_value 130s === PAUSE TestNormalize/weird_case_false 130s === PAUSE TestApplyPolicy/User_updates_with_different_value 130s === RUN TestNormalize/simple_quoted_as 130s === PAUSE TestNormalize/simple_quoted_as 130s === RUN TestApplyPolicy/Mixing_sections_and_keys_still_groups_sections 130s === RUN TestNormalize/as_empty_elements_separated_with_commas_are_kept 130s === PAUSE TestApplyPolicy/Mixing_sections_and_keys_still_groups_sections 130s === PAUSE TestNormalize/as_empty_elements_separated_with_commas_are_kept 130s === RUN TestApplyPolicy/Normalized_canonical_form_for_each_supported_key 130s === RUN TestNormalize/simple_quoted_string 130s === PAUSE TestApplyPolicy/Normalized_canonical_form_for_each_supported_key 130s === RUN TestApplyPolicy/No_surrounding_brackets_ai 130s === PAUSE TestNormalize/simple_quoted_string 130s === PAUSE TestApplyPolicy/No_surrounding_brackets_ai 130s === RUN TestNormalize/simple_unquoted_as 130s === RUN TestApplyPolicy/Do_not_update_other_files_from_db 130s === PAUSE TestNormalize/simple_unquoted_as 130s === PAUSE TestApplyPolicy/Do_not_update_other_files_from_db 130s === RUN TestNormalize/as_with_spaces_inside 130s === RUN TestApplyPolicy/Error_on_invalid_type 130s === PAUSE TestNormalize/as_with_spaces_inside 130s === PAUSE TestApplyPolicy/Error_on_invalid_type 130s === RUN TestNormalize/as_partially_quoted_unbalanced_end_can_lead_to_unexpect_result 130s === RUN TestApplyPolicy/Update_existing_profile_without_needed_db,_trailine_lines_are_removed 130s === PAUSE TestNormalize/as_partially_quoted_unbalanced_end_can_lead_to_unexpect_result 130s === PAUSE TestApplyPolicy/Update_existing_profile_without_needed_db,_trailine_lines_are_removed 130s === RUN TestNormalize/Multi-lines_as_quoted 130s === RUN TestApplyPolicy/Multiple_keys_same_category 130s === PAUSE TestApplyPolicy/Multiple_keys_same_category 130s === PAUSE TestNormalize/Multi-lines_as_quoted 130s === RUN TestApplyPolicy/User_updates_key_is_now_disabled 130s === RUN TestNormalize/Multi-lines_as_and_single_line_mix,_unquoted 130s === PAUSE TestApplyPolicy/User_updates_key_is_now_disabled 130s === PAUSE TestNormalize/Multi-lines_as_and_single_line_mix,_unquoted 130s === RUN TestApplyPolicy/Update_user_disabled_key_with_value 130s === RUN TestNormalize/empty_quoted_string 130s === PAUSE TestApplyPolicy/Update_user_disabled_key_with_value 130s === PAUSE TestNormalize/empty_quoted_string 130s === RUN TestApplyPolicy/Machine_updates_existing_value 130s === RUN TestNormalize/one_quote 130s === PAUSE TestApplyPolicy/Machine_updates_existing_value 130s === RUN TestApplyPolicy/Update_machine_disabled_key_with_value 130s === PAUSE TestNormalize/one_quote 130s === PAUSE TestApplyPolicy/Update_machine_disabled_key_with_value 130s === RUN TestNormalize/one_escaped_quote 130s === RUN TestApplyPolicy/Multiple_sections_with_disabled_keys 130s === PAUSE TestNormalize/one_escaped_quote 130s === PAUSE TestApplyPolicy/Multiple_sections_with_disabled_keys 130s === RUN TestNormalize/Multi-lines_as_with_spaces_inside 130s === RUN TestApplyPolicy/Missing_machine_compiled_db_for_machine 130s === PAUSE TestNormalize/Multi-lines_as_with_spaces_inside 130s === PAUSE TestApplyPolicy/Missing_machine_compiled_db_for_machine 130s === RUN TestNormalize/Multi-lines_ai 130s === PAUSE TestNormalize/Multi-lines_ai 130s === RUN TestApplyPolicy/Unquoted_string 130s === RUN TestNormalize/Multi-lines_ai_with_consecutive_empty_lines_strips_empty_element 130s === PAUSE TestApplyPolicy/Unquoted_string 130s === RUN TestApplyPolicy/Quoted_b 130s === PAUSE TestNormalize/Multi-lines_ai_with_consecutive_empty_lines_strips_empty_element 130s === PAUSE TestApplyPolicy/Quoted_b 130s === RUN TestNormalize/no_transformed_to_boolean 130s === PAUSE TestNormalize/no_transformed_to_boolean 130s === RUN TestApplyPolicy/Update_existing_profile_with_partial_db_append_them_without_repetition 130s === PAUSE TestApplyPolicy/Update_existing_profile_with_partial_db_append_them_without_repetition 130s === RUN TestApplyPolicy/New_user 130s === PAUSE TestApplyPolicy/New_user 130s === RUN TestNormalize/as_partially_quoted_with_comma_can_lead_to_unexpected_result 130s === RUN TestApplyPolicy/Machine_updates_key_is_now_disabled 130s === PAUSE TestApplyPolicy/Machine_updates_key_is_now_disabled 130s === PAUSE TestNormalize/as_partially_quoted_with_comma_can_lead_to_unexpected_result 130s === RUN TestNormalize/ai_with_leading_and_ending_spaces_and__[] 130s === PAUSE TestNormalize/ai_with_leading_and_ending_spaces_and__[] 130s === RUN TestNormalize/Multi-lines_ai_with_leading_and_trailing_brackets 130s === PAUSE TestNormalize/Multi-lines_ai_with_leading_and_trailing_brackets 130s === RUN TestNormalize/simple_boolean_false 130s === PAUSE TestNormalize/simple_boolean_false 130s === RUN TestNormalize/as_without_leading_[ 130s === PAUSE TestNormalize/as_without_leading_[ 130s === RUN TestNormalize/as_simple_quoted_as_with_spaces 130s === PAUSE TestNormalize/as_simple_quoted_as_with_spaces 130s === RUN TestNormalize/simple_ai 130s === PAUSE TestNormalize/simple_ai 130s === RUN TestNormalize/ai_empty_elements_separated_with_commas_are_kept 130s === PAUSE TestNormalize/ai_empty_elements_separated_with_commas_are_kept 130s === RUN TestNormalize/unquoted_string_with_quotes 130s === PAUSE TestNormalize/unquoted_string_with_quotes 130s === RUN TestNormalize/simple_boolean_true 130s === CONT TestApplyPolicy/No_surrounding_brackets_multiple_ai 130s === PAUSE TestNormalize/simple_boolean_true 130s === RUN TestNormalize/Multi-lines_as_with_quoted_','_is_supported 130s === PAUSE TestNormalize/Multi-lines_as_with_quoted_','_is_supported 130s === RUN TestNormalize/Multi-lines_as_with_all_unquoted_','_will_split 130s === PAUSE TestNormalize/Multi-lines_as_with_all_unquoted_','_will_split 130s === RUN TestNormalize/ai_with_spaces_inside 130s === PAUSE TestNormalize/ai_with_spaces_inside 130s === RUN TestNormalize/ai_with_leading_and_ending_spaces_and_no_[] 130s === PAUSE TestNormalize/ai_with_leading_and_ending_spaces_and_no_[] 130s === RUN TestNormalize/Multi-lines_ai_with_all_unquoted_','_will_split 130s === PAUSE TestNormalize/Multi-lines_ai_with_all_unquoted_','_will_split 130s === RUN TestNormalize/string_with_multiple_backslashes_escaped_quotes 130s === PAUSE TestNormalize/string_with_multiple_backslashes_escaped_quotes 130s === RUN TestNormalize/simple_as_with_no_spaces 130s === PAUSE TestNormalize/simple_as_with_no_spaces 130s === RUN TestNormalize/simple_ai_with_no_spaces 130s === PAUSE TestNormalize/simple_ai_with_no_spaces 130s === RUN TestNormalize/Multi-lines_ai_with_spaces_inside 130s === PAUSE TestNormalize/Multi-lines_ai_with_spaces_inside 130s === RUN TestNormalize/unmanaged_types_are_returned_as_is 130s === PAUSE TestNormalize/unmanaged_types_are_returned_as_is 130s === RUN TestNormalize/n_transformed_to_boolean 130s === PAUSE TestNormalize/n_transformed_to_boolean 130s === RUN TestNormalize/Multi-lines_as_and_single_line_mix,_quoted 130s === PAUSE TestNormalize/Multi-lines_as_and_single_line_mix,_quoted 130s === RUN TestNormalize/ai_without_leading_[ 130s === PAUSE TestNormalize/ai_without_leading_[ 130s === RUN TestNormalize/as_with_leading_and_ending_spaces_and_no_[] 130s === PAUSE TestNormalize/as_with_leading_and_ending_spaces_and_no_[] 130s === RUN TestNormalize/Multi-lines_as_unquoted 130s === PAUSE TestNormalize/Multi-lines_as_unquoted 130s === RUN TestNormalize/simple_unquoted_string 130s === PAUSE TestNormalize/simple_unquoted_string 130s === RUN TestNormalize/empty_unquoted_string 130s === PAUSE TestNormalize/empty_unquoted_string 130s === RUN TestNormalize/quoted_string_with_quotes 130s === PAUSE TestNormalize/quoted_string_with_quotes 130s === RUN TestNormalize/string_with_escaped_quotes 130s === PAUSE TestNormalize/string_with_escaped_quotes 130s === RUN TestNormalize/as_with_weird_composition_inception_will_be_quoted 130s === PAUSE TestNormalize/as_with_weird_composition_inception_will_be_quoted 130s === RUN TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_before_[]_are_ignored 130s === PAUSE TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_before_[]_are_ignored 130s === RUN TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_after_[]_are_ignored 130s === PAUSE TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_after_[]_are_ignored 130s === CONT TestApplyPolicy/Machine_updates_key_is_now_disabled 130s === CONT TestApplyPolicy/New_user 130s === CONT TestApplyPolicy/Update_existing_profile_with_partial_db_append_them_without_repetition 130s === CONT TestApplyPolicy/Quoted_b 130s === CONT TestApplyPolicy/Unquoted_string 130s === CONT TestApplyPolicy/Missing_machine_compiled_db_for_machine 130s === CONT TestApplyPolicy/Multiple_sections_with_disabled_keys 130s === CONT TestApplyPolicy/Update_machine_disabled_key_with_value 130s === CONT TestApplyPolicy/Machine_updates_existing_value 130s === CONT TestApplyPolicy/Update_user_disabled_key_with_value 130s === CONT TestApplyPolicy/User_updates_key_is_now_disabled 130s === CONT TestApplyPolicy/Multiple_keys_same_category 130s === CONT TestApplyPolicy/Update_existing_profile_without_needed_db,_trailine_lines_are_removed 130s === CONT TestApplyPolicy/Error_on_invalid_type 130s === CONT TestApplyPolicy/Do_not_update_other_files_from_db 130s === CONT TestApplyPolicy/No_surrounding_brackets_ai 130s === CONT TestApplyPolicy/Normalized_canonical_form_for_each_supported_key 130s === CONT TestApplyPolicy/Mixing_sections_and_keys_still_groups_sections 130s === CONT TestApplyPolicy/User_updates_with_different_value 130s === CONT TestApplyPolicy/No_policy_still_generates_a_valid_db 130s === CONT TestApplyPolicy/Error_on_invalid_value_for_unnormalized_type 130s === CONT TestApplyPolicy/Multi-lines_ai 130s === CONT TestApplyPolicy/Multi-lines_as 130s === CONT TestApplyPolicy/Missing_user_compiled_db_for_user 130s === CONT TestApplyPolicy/Multiple_sections 130s === CONT TestApplyPolicy/Update_existing_correct_profile_with_trailing_spaces_are_removed 130s === CONT TestApplyPolicy/Error_when_machine_db_does_not_exist 130s === CONT TestApplyPolicy/No_surrounding_brackets_quoted_as 130s === CONT TestApplyPolicy/Missing_machine_compiled_db_for_user 130s === CONT TestApplyPolicy/Machine_updates_with_different_value 130s === CONT TestApplyPolicy/Update_existing_profile_with_wrong_order_appends_them_in_correct_order 130s === CONT TestApplyPolicy/Update_existing_correct_profile_stays_unchanged 130s === CONT TestApplyPolicy/Error_on_empty_meta 130s === CONT TestApplyPolicy/Error_on_invalid_ai 130s === CONT TestApplyPolicy/Multi-lines_as_mixed_with_comma 130s === CONT TestApplyPolicy/No_update_when_no_change 130s === CONT TestApplyPolicy/First_boot 130s === CONT TestApplyPolicy/User_updates_existing_value 130s === CONT TestApplyPolicy/Update_existing_profile_eliminates_adsys_DB_repetitions 130s === CONT TestApplyPolicy/Update_existing_profile_without_needed_db_append_them 130s === CONT TestApplyPolicy/Invalid_as_is_too_robust_to_produce_defaulting_values 130s === CONT TestApplyPolicy/Multi-lines_ai_mixed_with_comma 130s === CONT TestApplyPolicy/Quoted_i 130s === CONT TestApplyPolicy/Do_not_interfere_with_other_user_profile 130s === CONT TestApplyPolicy/No_surrounding_brackets_quoted_multiple_as 130s === CONT TestApplyPolicy/No_surrounding_brackets_unquoted_multiple_as 130s === CONT TestApplyPolicy/No_surrounding_brackets_unquoted_as 130s === CONT TestNormalize/string_with_two_backslashes_don’t_escape_quotes 130s === CONT TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_after_[]_are_ignored 130s === CONT TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_before_[]_are_ignored 130s === CONT TestNormalize/as_with_weird_composition_inception_will_be_quoted 130s === CONT TestNormalize/string_with_escaped_quotes 130s === CONT TestNormalize/quoted_string_with_quotes 130s === CONT TestNormalize/empty_unquoted_string 130s === CONT TestNormalize/simple_unquoted_string 130s === CONT TestNormalize/Multi-lines_as_unquoted 130s === CONT TestNormalize/as_with_leading_and_ending_spaces_and_no_[] 130s === CONT TestNormalize/ai_without_leading_[ 130s === CONT TestNormalize/Multi-lines_as_and_single_line_mix,_quoted 130s === CONT TestNormalize/n_transformed_to_boolean 130s === CONT TestNormalize/unmanaged_types_are_returned_as_is 130s === CONT TestNormalize/Multi-lines_ai_with_spaces_inside 130s === CONT TestNormalize/simple_ai_with_no_spaces 130s === CONT TestNormalize/simple_as_with_no_spaces 130s === CONT TestNormalize/string_with_multiple_backslashes_escaped_quotes 130s === CONT TestNormalize/Multi-lines_ai_with_all_unquoted_','_will_split 130s === CONT TestNormalize/ai_with_leading_and_ending_spaces_and_no_[] 130s === CONT TestNormalize/ai_with_spaces_inside 130s === CONT TestNormalize/Multi-lines_as_with_all_unquoted_','_will_split 130s === CONT TestNormalize/Multi-lines_as_with_quoted_','_is_supported 130s === CONT TestNormalize/simple_boolean_true 130s === CONT TestNormalize/unquoted_string_with_quotes 130s === CONT TestNormalize/ai_empty_elements_separated_with_commas_are_kept 130s === CONT TestNormalize/simple_ai 130s === CONT TestNormalize/as_simple_quoted_as_with_spaces 130s === CONT TestNormalize/as_without_leading_[ 130s === CONT TestNormalize/simple_boolean_false 130s === CONT TestNormalize/Multi-lines_ai_with_leading_and_trailing_brackets 130s === CONT TestNormalize/ai_with_leading_and_ending_spaces_and__[] 130s === CONT TestNormalize/as_partially_quoted_with_comma_can_lead_to_unexpected_result 130s === CONT TestNormalize/no_transformed_to_boolean 130s === CONT TestNormalize/Multi-lines_ai_with_consecutive_empty_lines_strips_empty_element 130s === CONT TestNormalize/Multi-lines_ai 130s === CONT TestNormalize/Multi-lines_as_with_spaces_inside 130s === CONT TestNormalize/one_escaped_quote 130s === CONT TestNormalize/one_quote 130s === CONT TestNormalize/empty_quoted_string 130s === CONT TestNormalize/Multi-lines_as_and_single_line_mix,_unquoted 130s === CONT TestNormalize/Multi-lines_as_quoted 130s === CONT TestNormalize/as_partially_quoted_unbalanced_end_can_lead_to_unexpect_result 130s === CONT TestNormalize/as_with_spaces_inside 130s === CONT TestNormalize/simple_unquoted_as 130s === CONT TestNormalize/simple_quoted_string 130s === CONT TestNormalize/as_empty_elements_separated_with_commas_are_kept 130s === CONT TestNormalize/simple_quoted_as 130s === CONT TestNormalize/weird_case_false 130s === CONT TestNormalize/weird_case_true 130s === CONT TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_are_ignored 130s === CONT TestNormalize/Multi-lines_as_with_consecutive_empty_lines_strip_empty_elements 130s === CONT TestNormalize/as_partially_quoted_can_lead_to_unexpect_result 130s === CONT TestNormalize/as_without_ending_] 130s === CONT TestNormalize/on_transformed_to_boolean 130s === CONT TestNormalize/yes_transformed_to_boolean 130s === CONT TestNormalize/ai_without_ending_] 130s === CONT TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_before_[]_are_ignored 130s === CONT TestNormalize/as_with_empty_quoted_can_lead_to_unexpect_result 130s === CONT TestNormalize/off_transformed_to_boolean 130s === CONT TestNormalize/as_wrongly_quoted_will_consider_comma_as_part_of_the_string 130s === CONT TestNormalize/Multi-lines_ai_with_empty_lines_strips_empty_element 130s === CONT TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_after_[]_are_ignored 130s === CONT TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_are_ignored 130s === CONT TestNormalize/Multi-lines_as_with_empty_lines_strips_empty_elements 130s === CONT TestNormalize/non_supported_is_reported_as_is 130s === CONT TestNormalize/with_spaces 130s === CONT TestNormalize/Multi-lines_as_with_explicit_empty_element 130s === CONT TestNormalize/Multi-lines_as_with_leading_and_trailing_brackets 130s === CONT TestNormalize/as_partially_quoted_unbalanced_start_can_lead_to_unexpect_result 130s === CONT TestNormalize/as_with_leading_and_ending_spaces_and__[] 130s === CONT TestNormalize/y_transformed_to_boolean 130s --- PASS: TestNormalize (0.00s) 130s --- PASS: TestNormalize/string_with_two_backslashes_don’t_escape_quotes (0.00s) 130s --- PASS: TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_after_[]_are_ignored (0.00s) 130s --- PASS: TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_before_[]_are_ignored (0.00s) 130s --- PASS: TestNormalize/as_with_weird_composition_inception_will_be_quoted (0.00s) 130s --- PASS: TestNormalize/string_with_escaped_quotes (0.00s) 130s --- PASS: TestNormalize/quoted_string_with_quotes (0.00s) 130s --- PASS: TestNormalize/empty_unquoted_string (0.00s) 130s --- PASS: TestNormalize/simple_unquoted_string (0.00s) 130s --- PASS: TestNormalize/Multi-lines_as_unquoted (0.00s) 130s --- PASS: TestNormalize/as_with_leading_and_ending_spaces_and_no_[] (0.00s) 130s --- PASS: TestNormalize/ai_without_leading_[ (0.00s) 130s --- PASS: TestNormalize/Multi-lines_as_and_single_line_mix,_quoted (0.00s) 130s --- PASS: TestNormalize/n_transformed_to_boolean (0.00s) 130s --- PASS: TestNormalize/unmanaged_types_are_returned_as_is (0.00s) 130s --- PASS: TestNormalize/Multi-lines_ai_with_spaces_inside (0.00s) 130s --- PASS: TestNormalize/simple_ai_with_no_spaces (0.00s) 130s --- PASS: TestNormalize/simple_as_with_no_spaces (0.00s) 130s --- PASS: TestNormalize/string_with_multiple_backslashes_escaped_quotes (0.00s) 130s --- PASS: TestNormalize/Multi-lines_ai_with_all_unquoted_','_will_split (0.00s) 130s --- PASS: TestNormalize/ai_with_leading_and_ending_spaces_and_no_[] (0.00s) 130s --- PASS: TestNormalize/ai_with_spaces_inside (0.00s) 130s --- PASS: TestNormalize/Multi-lines_as_with_all_unquoted_','_will_split (0.00s) 130s --- PASS: TestNormalize/Multi-lines_as_with_quoted_','_is_supported (0.00s) 130s --- PASS: TestNormalize/simple_boolean_true (0.00s) 130s --- PASS: TestNormalize/unquoted_string_with_quotes (0.00s) 130s --- PASS: TestNormalize/ai_empty_elements_separated_with_commas_are_kept (0.00s) 130s --- PASS: TestNormalize/simple_ai (0.00s) 130s --- PASS: TestNormalize/as_simple_quoted_as_with_spaces (0.00s) 130s --- PASS: TestNormalize/as_without_leading_[ (0.00s) 130s --- PASS: TestNormalize/simple_boolean_false (0.00s) 130s --- PASS: TestNormalize/Multi-lines_ai_with_leading_and_trailing_brackets (0.00s) 130s --- PASS: TestNormalize/ai_with_leading_and_ending_spaces_and__[] (0.00s) 130s --- PASS: TestNormalize/as_partially_quoted_with_comma_can_lead_to_unexpected_result (0.00s) 130s --- PASS: TestNormalize/no_transformed_to_boolean (0.00s) 130s --- PASS: TestNormalize/Multi-lines_ai_with_consecutive_empty_lines_strips_empty_element (0.00s) 130s --- PASS: TestNormalize/Multi-lines_ai (0.00s) 130s --- PASS: TestNormalize/Multi-lines_as_with_spaces_inside (0.00s) 130s --- PASS: TestNormalize/one_escaped_quote (0.00s) 130s --- PASS: TestNormalize/one_quote (0.00s) 130s --- PASS: TestNormalize/empty_quoted_string (0.00s) 130s --- PASS: TestNormalize/Multi-lines_as_and_single_line_mix,_unquoted (0.00s) 130s --- PASS: TestNormalize/Multi-lines_as_quoted (0.00s) 130s --- PASS: TestNormalize/as_partially_quoted_unbalanced_end_can_lead_to_unexpect_result (0.00s) 130s --- PASS: TestNormalize/as_with_spaces_inside (0.00s) 130s --- PASS: TestNormalize/simple_unquoted_as (0.00s) 130s --- PASS: TestNormalize/simple_quoted_string (0.00s) 130s --- PASS: TestNormalize/as_empty_elements_separated_with_commas_are_kept (0.00s) 130s --- PASS: TestNormalize/simple_quoted_as (0.00s) 130s --- PASS: TestNormalize/weird_case_false (0.00s) 130s --- PASS: TestNormalize/weird_case_true (0.00s) 130s --- PASS: TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_are_ignored (0.00s) 130s --- PASS: TestNormalize/Multi-lines_as_with_consecutive_empty_lines_strip_empty_elements (0.00s) 130s --- PASS: TestNormalize/as_partially_quoted_can_lead_to_unexpect_result (0.00s) 130s --- PASS: TestNormalize/as_without_ending_] (0.00s) 130s --- PASS: TestNormalize/on_transformed_to_boolean (0.00s) 130s --- PASS: TestNormalize/yes_transformed_to_boolean (0.00s) 130s --- PASS: TestNormalize/ai_without_ending_] (0.00s) 130s --- PASS: TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_before_[]_are_ignored (0.00s) 130s --- PASS: TestNormalize/as_with_empty_quoted_can_lead_to_unexpect_result (0.00s) 130s --- PASS: TestNormalize/off_transformed_to_boolean (0.00s) 130s --- PASS: TestNormalize/as_wrongly_quoted_will_consider_comma_as_part_of_the_string (0.00s) 130s --- PASS: TestNormalize/Multi-lines_ai_with_empty_lines_strips_empty_element (0.00s) 130s --- PASS: TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_after_[]_are_ignored (0.00s) 130s --- PASS: TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_are_ignored (0.00s) 130s --- PASS: TestNormalize/Multi-lines_as_with_empty_lines_strips_empty_elements (0.00s) 130s --- PASS: TestNormalize/non_supported_is_reported_as_is (0.00s) 130s --- PASS: TestNormalize/with_spaces (0.00s) 130s --- PASS: TestNormalize/Multi-lines_as_with_explicit_empty_element (0.00s) 130s --- PASS: TestNormalize/Multi-lines_as_with_leading_and_trailing_brackets (0.00s) 130s --- PASS: TestNormalize/as_partially_quoted_unbalanced_start_can_lead_to_unexpect_result (0.00s) 130s --- PASS: TestNormalize/as_with_leading_and_ending_spaces_and__[] (0.00s) 130s --- PASS: TestNormalize/y_transformed_to_boolean (0.00s) 130s --- PASS: TestApplyPolicy (0.00s) 130s --- PASS: TestApplyPolicy/Machine_updates_key_is_now_disabled (0.00s) 130s --- PASS: TestApplyPolicy/No_surrounding_brackets_multiple_ai (0.00s) 130s --- PASS: TestApplyPolicy/New_user (0.00s) 130s --- PASS: TestApplyPolicy/Update_existing_profile_with_partial_db_append_them_without_repetition (0.00s) 130s --- PASS: TestApplyPolicy/Quoted_b (0.00s) 130s --- PASS: TestApplyPolicy/Unquoted_string (0.00s) 130s --- PASS: TestApplyPolicy/Missing_machine_compiled_db_for_machine (0.00s) 130s --- PASS: TestApplyPolicy/Multiple_sections_with_disabled_keys (0.00s) 130s --- PASS: TestApplyPolicy/Update_machine_disabled_key_with_value (0.00s) 130s --- PASS: TestApplyPolicy/Machine_updates_existing_value (0.00s) 130s --- PASS: TestApplyPolicy/Update_user_disabled_key_with_value (0.00s) 130s --- PASS: TestApplyPolicy/User_updates_key_is_now_disabled (0.00s) 130s --- PASS: TestApplyPolicy/Multiple_keys_same_category (0.00s) 130s --- PASS: TestApplyPolicy/Error_on_invalid_type (0.00s) 130s --- PASS: TestApplyPolicy/Update_existing_profile_without_needed_db,_trailine_lines_are_removed (0.00s) 130s --- PASS: TestApplyPolicy/No_surrounding_brackets_ai (0.00s) 130s --- PASS: TestApplyPolicy/Do_not_update_other_files_from_db (0.00s) 130s --- PASS: TestApplyPolicy/Normalized_canonical_form_for_each_supported_key (0.00s) 130s --- PASS: TestApplyPolicy/Mixing_sections_and_keys_still_groups_sections (0.00s) 130s --- PASS: TestApplyPolicy/User_updates_with_different_value (0.00s) 130s --- PASS: TestApplyPolicy/No_policy_still_generates_a_valid_db (0.00s) 130s --- PASS: TestApplyPolicy/Error_on_invalid_value_for_unnormalized_type (0.00s) 130s --- PASS: TestApplyPolicy/Multi-lines_ai (0.00s) 130s --- PASS: TestApplyPolicy/Multi-lines_as (0.00s) 130s --- PASS: TestApplyPolicy/Multiple_sections (0.00s) 130s --- PASS: TestApplyPolicy/Missing_user_compiled_db_for_user (0.00s) 130s --- PASS: TestApplyPolicy/Error_when_machine_db_does_not_exist (0.00s) 130s --- PASS: TestApplyPolicy/No_surrounding_brackets_quoted_as (0.00s) 130s --- PASS: TestApplyPolicy/Update_existing_correct_profile_with_trailing_spaces_are_removed (0.00s) 130s --- PASS: TestApplyPolicy/Missing_machine_compiled_db_for_user (0.00s) 130s --- PASS: TestApplyPolicy/Machine_updates_with_different_value (0.00s) 130s --- PASS: TestApplyPolicy/Update_existing_profile_with_wrong_order_appends_them_in_correct_order (0.00s) 130s --- PASS: TestApplyPolicy/Update_existing_correct_profile_stays_unchanged (0.00s) 130s --- PASS: TestApplyPolicy/Error_on_empty_meta (0.00s) 130s --- PASS: TestApplyPolicy/Error_on_invalid_ai (0.00s) 130s --- PASS: TestApplyPolicy/Multi-lines_as_mixed_with_comma (0.00s) 130s --- PASS: TestApplyPolicy/First_boot (0.00s) 130s --- PASS: TestApplyPolicy/No_update_when_no_change (0.00s) 130s --- PASS: TestApplyPolicy/User_updates_existing_value (0.00s) 130s --- PASS: TestApplyPolicy/Update_existing_profile_eliminates_adsys_DB_repetitions (0.00s) 130s --- PASS: TestApplyPolicy/Invalid_as_is_too_robust_to_produce_defaulting_values (0.00s) 130s --- PASS: TestApplyPolicy/Update_existing_profile_without_needed_db_append_them (0.00s) 130s --- PASS: TestApplyPolicy/Multi-lines_ai_mixed_with_comma (0.00s) 130s --- PASS: TestApplyPolicy/Quoted_i (0.00s) 130s --- PASS: TestApplyPolicy/No_surrounding_brackets_quoted_multiple_as (0.00s) 130s --- PASS: TestApplyPolicy/Do_not_interfere_with_other_user_profile (0.00s) 130s --- PASS: TestApplyPolicy/No_surrounding_brackets_unquoted_multiple_as (0.00s) 130s --- PASS: TestApplyPolicy/No_surrounding_brackets_unquoted_as (0.00s) 130s PASS 130s ok github.com/ubuntu/adsys/internal/policies/dconf 0.035s 130s ? github.com/ubuntu/adsys/internal/policies/entry [no test files] 130s === RUN TestApplyPolicy 130s === PAUSE TestApplyPolicy 130s === CONT TestApplyPolicy 130s === RUN TestApplyPolicy/dconf_policy 130s === PAUSE TestApplyPolicy/dconf_policy 130s === CONT TestApplyPolicy/dconf_policy 130s --- PASS: TestApplyPolicy (0.00s) 130s --- PASS: TestApplyPolicy/dconf_policy (0.00s) 130s PASS 130s ok github.com/ubuntu/adsys/internal/policies/gdm 0.004s 130s === RUN TestParseEntryValues 130s === PAUSE TestParseEntryValues 130s === RUN TestWriteFileWithUIDGID 130s === PAUSE TestWriteFileWithUIDGID 130s === RUN TestCreateUnits 130s === PAUSE TestCreateUnits 130s === RUN TestNew 130s === PAUSE TestNew 130s === RUN TestApplyPolicy 130s === PAUSE TestApplyPolicy 130s === CONT TestParseEntryValues 130s === RUN TestParseEntryValues/Parse_values_from_entry_with_repeated_values 130s === PAUSE TestParseEntryValues/Parse_values_from_entry_with_repeated_values 130s === RUN TestParseEntryValues/Parse_values_trimming_whitespaces 130s === PAUSE TestParseEntryValues/Parse_values_trimming_whitespaces 130s === RUN TestParseEntryValues/Parse_values_trimming_sequential_linebreaks 130s === PAUSE TestParseEntryValues/Parse_values_trimming_sequential_linebreaks 130s === CONT TestNew 130s === RUN TestNew/Creates_manager_successfully 130s === RUN TestParseEntryValues/Parse_values_from_entry_with_kerberos_auth_tags 130s === PAUSE TestParseEntryValues/Parse_values_from_entry_with_kerberos_auth_tags 130s === RUN TestParseEntryValues/Returns_empty_slice_if_the_entry_is_empty 130s === PAUSE TestParseEntryValues/Returns_empty_slice_if_the_entry_is_empty 130s === RUN TestParseEntryValues/Error_when_parsing_entry_with_badly_formatted_values 130s === PAUSE TestParseEntryValues/Error_when_parsing_entry_with_badly_formatted_values 130s === RUN TestParseEntryValues/Parse_values_from_entry_with_one_value 130s === PAUSE TestParseEntryValues/Parse_values_from_entry_with_one_value 130s === RUN TestParseEntryValues/Parse_values_from_entry_with_multiple_values 130s === PAUSE TestParseEntryValues/Parse_values_from_entry_with_multiple_values 130s === CONT TestCreateUnits 130s === RUN TestCreateUnits/Write_krb5_tagged_unit 130s === PAUSE TestCreateUnits/Write_krb5_tagged_unit 130s === RUN TestCreateUnits/Write_single_unit 130s === PAUSE TestCreateUnits/Write_single_unit 130s === PAUSE TestNew/Creates_manager_successfully 130s === RUN TestCreateUnits/Write_multiple_units 130s === PAUSE TestCreateUnits/Write_multiple_units 130s === RUN TestNew/Error_when_runDir_has_invalid_permissions 130s === CONT TestWriteFileWithUIDGID 130s === PAUSE TestNew/Error_when_runDir_has_invalid_permissions 130s === RUN TestNew/Error_when_systemUnitDir_has_invalid_permissions 130s === PAUSE TestNew/Error_when_systemUnitDir_has_invalid_permissions 130s === CONT TestApplyPolicy 130s === RUN TestWriteFileWithUIDGID/Write_file_with_current_user_ownership 130s === PAUSE TestWriteFileWithUIDGID/Write_file_with_current_user_ownership 130s === RUN TestWriteFileWithUIDGID/Error_when_invalid_uid 130s === PAUSE TestWriteFileWithUIDGID/Error_when_invalid_uid 130s === RUN TestWriteFileWithUIDGID/Error_when_invalid_gid 130s === PAUSE TestWriteFileWithUIDGID/Error_when_invalid_gid 130s === RUN TestWriteFileWithUIDGID/Error_when_writing_on_a_dir_with_invalid_permissions 130s === PAUSE TestWriteFileWithUIDGID/Error_when_writing_on_a_dir_with_invalid_permissions 130s === RUN TestWriteFileWithUIDGID/Error_when_path_already_exists_as_a_directory 130s === PAUSE TestWriteFileWithUIDGID/Error_when_path_already_exists_as_a_directory 130s === CONT TestParseEntryValues/Parse_values_from_entry_with_repeated_values 130s === RUN TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_multiple_values 130s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_multiple_values 130s === RUN TestApplyPolicy/System,_successfully_apply_policy_filtering_out_unsupported_keys 130s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_filtering_out_unsupported_keys 130s === RUN TestApplyPolicy/System,_successfully_apply_policy_trimming_whitespaces 130s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_trimming_whitespaces 130s === RUN TestApplyPolicy/Error_when_user_is_not_found 130s === PAUSE TestApplyPolicy/Error_when_user_is_not_found 130s === CONT TestCreateUnits/Write_krb5_tagged_unit 130s === RUN TestApplyPolicy/User,_successfully_apply_policy_filtering_out_unsupported_keys 130s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_filtering_out_unsupported_keys 130s === RUN TestApplyPolicy/User,_mount_file_is_updated_on_refreshing_policy_with_an_entry_with_multiple_values 130s === PAUSE TestApplyPolicy/User,_mount_file_is_updated_on_refreshing_policy_with_an_entry_with_multiple_values 130s === RUN TestApplyPolicy/System,_successfully_apply_policy_prioritizing_the_first_value_found,_despite_the_tag 130s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_prioritizing_the_first_value_found,_despite_the_tag 130s === RUN TestApplyPolicy/System,_mount_units_are_added_on_refreshing_policy_with_some_matching_values 130s === PAUSE TestApplyPolicy/System,_mount_units_are_added_on_refreshing_policy_with_some_matching_values 130s === RUN TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_no_entries 130s === PAUSE TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_no_entries 130s === RUN TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_an_empty_entry 130s === PAUSE TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_an_empty_entry 130s === RUN TestApplyPolicy/Creates_only_dirs_when_trying_to_policy_with_unsupported_key 130s === PAUSE TestApplyPolicy/Creates_only_dirs_when_trying_to_policy_with_unsupported_key 130s === RUN TestApplyPolicy/Error_when_users-userDir_has_invalid_permissions 130s === PAUSE TestApplyPolicy/Error_when_users-userDir_has_invalid_permissions 130s === RUN TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_repeated_values 130s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_repeated_values 130s === RUN TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_repeated_values 130s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_repeated_values 130s === RUN TestApplyPolicy/Error_when_cleaning_up_user_policy_with_invalid_user 130s === PAUSE TestApplyPolicy/Error_when_cleaning_up_user_policy_with_invalid_user 130s === RUN TestApplyPolicy/Error_when_cleaning_up_user_policy_with_no_entries_and_path_already_exists_as_a_directory 130s === PAUSE TestApplyPolicy/Error_when_cleaning_up_user_policy_with_no_entries_and_path_already_exists_as_a_directory 130s === RUN TestApplyPolicy/Error_when_applying_system_policy_and_the_entry_is_errored 130s === PAUSE TestApplyPolicy/Error_when_applying_system_policy_and_the_entry_is_errored 130s === RUN TestApplyPolicy/Error_when_user_has_invalid_uid 130s === PAUSE TestApplyPolicy/Error_when_user_has_invalid_uid 130s === RUN TestApplyPolicy/Error_when_mounts_file_path_already_exists_as_a_directory 130s === PAUSE TestApplyPolicy/Error_when_mounts_file_path_already_exists_as_a_directory 130s === RUN TestApplyPolicy/Error_when_daemon-reload_fails 130s === PAUSE TestApplyPolicy/Error_when_daemon-reload_fails 130s === RUN TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_multiple_values 130s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_multiple_values 130s === RUN TestApplyPolicy/User,_successfully_apply_policy_trimming_whitespaces 130s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_trimming_whitespaces 130s === RUN TestApplyPolicy/System,_does_nothing_if_the_entry_is_empty 130s === PAUSE TestApplyPolicy/System,_does_nothing_if_the_entry_is_empty 130s === RUN TestApplyPolicy/Error_when_creating_units_with_bad_entry_values 130s === PAUSE TestApplyPolicy/Error_when_creating_units_with_bad_entry_values 130s === RUN TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_one_value 130s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_one_value 130s === RUN TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_one_value 130s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_one_value 130s === RUN TestApplyPolicy/Error_when_applying_policy_and_system_mount_unit_already_exists_as_dir 130s === PAUSE TestApplyPolicy/Error_when_applying_policy_and_system_mount_unit_already_exists_as_dir 130s === RUN TestApplyPolicy/User,_creates_only_dirs_if_there_are_no_entries 130s === PAUSE TestApplyPolicy/User,_creates_only_dirs_if_there_are_no_entries 130s === RUN TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_no_entries 130s === PAUSE TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_no_entries 130s === RUN TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_repeated_tagged_values 130s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_repeated_tagged_values 130s === RUN TestApplyPolicy/System,_successfully_apply_policy_trimming_sequential_linebreaks 130s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_trimming_sequential_linebreaks 130s === RUN TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_disabled_entry 130s === PAUSE TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_disabled_entry 130s === RUN TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_an_empty_entry 130s === PAUSE TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_an_empty_entry 130s === RUN TestApplyPolicy/System,_only_emit_a_warning_when_stopping_previous_units_fails 130s === PAUSE TestApplyPolicy/System,_only_emit_a_warning_when_stopping_previous_units_fails 130s === RUN TestApplyPolicy/System,_does_nothing_if_there_are_no_entries 130s === PAUSE TestApplyPolicy/System,_does_nothing_if_there_are_no_entries 130s === RUN TestApplyPolicy/Creates_only_dirs_when_trying_to_apply_policy_with_no_entries 130s === PAUSE TestApplyPolicy/Creates_only_dirs_when_trying_to_apply_policy_with_no_entries 130s === CONT TestParseEntryValues/Parse_values_from_entry_with_multiple_values 130s === RUN TestApplyPolicy/Error_when_entry_is_errored 130s === PAUSE TestApplyPolicy/Error_when_entry_is_errored 130s === RUN TestApplyPolicy/Error_when_cleaning_up_user_policy_with_empty_entry_and_path_already_exists_as_a_directory 130s === PAUSE TestApplyPolicy/Error_when_cleaning_up_user_policy_with_empty_entry_and_path_already_exists_as_a_directory 130s === RUN TestApplyPolicy/Error_when_applying_policy_with_entry_containing_badly_formatted_value 130s === PAUSE TestApplyPolicy/Error_when_applying_policy_with_entry_containing_badly_formatted_value 130s === RUN TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_repeated_tagged_values 130s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_repeated_tagged_values 130s === RUN TestApplyPolicy/User,_successfully_apply_policy_trimming_sequential_linebreaks 130s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_trimming_sequential_linebreaks 130s === RUN TestApplyPolicy/Error_when_disabling_units_for_clean_up_fails 130s === PAUSE TestApplyPolicy/Error_when_disabling_units_for_clean_up_fails 130s === CONT TestParseEntryValues/Parse_values_from_entry_with_one_value 130s === RUN TestApplyPolicy/Error_when_trying_to_update_policy_with_badly_formatted_entry 130s === PAUSE TestApplyPolicy/Error_when_trying_to_update_policy_with_badly_formatted_entry 130s === RUN TestApplyPolicy/Error_when_updating_policy_and_system_mount_unit_to_remove_is_a_dir 130s === PAUSE TestApplyPolicy/Error_when_updating_policy_and_system_mount_unit_to_remove_is_a_dir 130s === RUN TestApplyPolicy/User,_does_nothing_if_the_entry_is_disabled 130s === PAUSE TestApplyPolicy/User,_does_nothing_if_the_entry_is_disabled 130s === RUN TestApplyPolicy/System,_only_emit_a_warning_when_starting_new_units_fails 130s === CONT TestParseEntryValues/Error_when_parsing_entry_with_badly_formatted_values 130s === PAUSE TestApplyPolicy/System,_only_emit_a_warning_when_starting_new_units_fails 130s === RUN TestApplyPolicy/User,_creates_only_dirs_if_the_entry_is_empty 130s === PAUSE TestApplyPolicy/User,_creates_only_dirs_if_the_entry_is_empty 130s === RUN TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_a_disabled_entry 130s === PAUSE TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_a_disabled_entry 130s === RUN TestApplyPolicy/System,_successfully_apply_policy_with_kerberos_tagged_values 130s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_with_kerberos_tagged_values 130s === RUN TestApplyPolicy/System,_mount_units_are_updated_on_refreshing_policy_with_an_entry_with_multiple_values 130s === PAUSE TestApplyPolicy/System,_mount_units_are_updated_on_refreshing_policy_with_an_entry_with_multiple_values 130s === RUN TestApplyPolicy/System,_does_nothing_if_the_entry_is_disabled 130s === PAUSE TestApplyPolicy/System,_does_nothing_if_the_entry_is_disabled 130s === CONT TestParseEntryValues/Returns_empty_slice_if_the_entry_is_empty 130s === RUN TestApplyPolicy/Error_when_user_has_invalid_gid 130s === PAUSE TestApplyPolicy/Error_when_user_has_invalid_gid 130s === RUN TestApplyPolicy/Error_when_enabling_new_units_fails 130s === PAUSE TestApplyPolicy/Error_when_enabling_new_units_fails 130s === RUN TestApplyPolicy/User,_successfully_apply_policy_with_kerberos_auth_tags 130s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_with_kerberos_auth_tags 130s === CONT TestParseEntryValues/Parse_values_from_entry_with_kerberos_auth_tags 130s === RUN TestApplyPolicy/User,_successfully_apply_policy_prioritizing_the_first_value_found,_despite_the_tag 130s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_prioritizing_the_first_value_found,_despite_the_tag 130s === CONT TestParseEntryValues/Parse_values_trimming_sequential_linebreaks 130s === CONT TestParseEntryValues/Parse_values_trimming_whitespaces 130s === CONT TestNew/Creates_manager_successfully 130s --- PASS: TestParseEntryValues (0.00s) 130s --- PASS: TestParseEntryValues/Parse_values_from_entry_with_repeated_values (0.00s) 130s --- PASS: TestParseEntryValues/Parse_values_from_entry_with_multiple_values (0.00s) 130s --- PASS: TestParseEntryValues/Parse_values_from_entry_with_one_value (0.00s) 130s --- PASS: TestParseEntryValues/Error_when_parsing_entry_with_badly_formatted_values (0.00s) 130s --- PASS: TestParseEntryValues/Returns_empty_slice_if_the_entry_is_empty (0.00s) 130s --- PASS: TestParseEntryValues/Parse_values_from_entry_with_kerberos_auth_tags (0.00s) 130s --- PASS: TestParseEntryValues/Parse_values_trimming_sequential_linebreaks (0.00s) 130s --- PASS: TestParseEntryValues/Parse_values_trimming_whitespaces (0.00s) 130s === CONT TestNew/Error_when_systemUnitDir_has_invalid_permissions 130s === CONT TestNew/Error_when_runDir_has_invalid_permissions 130s === CONT TestCreateUnits/Write_multiple_units 130s --- PASS: TestNew (0.00s) 130s --- PASS: TestNew/Error_when_systemUnitDir_has_invalid_permissions (0.00s) 130s --- PASS: TestNew/Creates_manager_successfully (0.00s) 130s --- PASS: TestNew/Error_when_runDir_has_invalid_permissions (0.00s) 130s === CONT TestCreateUnits/Write_single_unit 130s === CONT TestWriteFileWithUIDGID/Write_file_with_current_user_ownership 130s === CONT TestWriteFileWithUIDGID/Error_when_path_already_exists_as_a_directory 130s --- PASS: TestCreateUnits (0.00s) 130s --- PASS: TestCreateUnits/Write_krb5_tagged_unit (0.00s) 130s --- PASS: TestCreateUnits/Write_single_unit (0.00s) 130s --- PASS: TestCreateUnits/Write_multiple_units (0.00s) 130s === CONT TestWriteFileWithUIDGID/Error_when_writing_on_a_dir_with_invalid_permissions 130s === CONT TestWriteFileWithUIDGID/Error_when_invalid_gid 130s === CONT TestWriteFileWithUIDGID/Error_when_invalid_uid 130s === CONT TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_multiple_values 130s --- PASS: TestWriteFileWithUIDGID (0.00s) 130s --- PASS: TestWriteFileWithUIDGID/Write_file_with_current_user_ownership (0.00s) 130s --- PASS: TestWriteFileWithUIDGID/Error_when_writing_on_a_dir_with_invalid_permissions (0.00s) 130s --- PASS: TestWriteFileWithUIDGID/Error_when_path_already_exists_as_a_directory (0.00s) 130s --- PASS: TestWriteFileWithUIDGID/Error_when_invalid_gid (0.00s) 130s --- PASS: TestWriteFileWithUIDGID/Error_when_invalid_uid (0.00s) 130s === CONT TestApplyPolicy/User,_successfully_apply_policy_prioritizing_the_first_value_found,_despite_the_tag 130s time="2025-10-18T15:06:51Z" 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." 130s time="2025-10-18T15:06:51Z" 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." 130s time="2025-10-18T15:06:51Z" level=warning msg="failed to start unit \"adsys-nfs-yetanotherdomain.com-mount_path-mount-path.mount\": failed to start unit" 130s time="2025-10-18T15:06:51Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath2.mount\": failed to start unit" 130s time="2025-10-18T15:06:51Z" level=warning msg="failed to start unit \"adsys-cifs-otherdomain.com-mount-path.mount\": failed to start unit" 130s === CONT TestApplyPolicy/User,_successfully_apply_policy_with_kerberos_auth_tags 130s === CONT TestApplyPolicy/Error_when_enabling_new_units_fails 130s === CONT TestApplyPolicy/Error_when_user_has_invalid_gid 130s === CONT TestApplyPolicy/System,_does_nothing_if_the_entry_is_disabled 130s === CONT TestApplyPolicy/System,_mount_units_are_updated_on_refreshing_policy_with_an_entry_with_multiple_values 130s time="2025-10-18T15:06:51Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 130s === CONT TestApplyPolicy/System,_successfully_apply_policy_with_kerberos_tagged_values 130s time="2025-10-18T15:06:51Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath2.mount\": failed to start unit" 130s time="2025-10-18T15:06:51Z" level=warning msg="failed to start unit \"adsys-cifs-otherdomain.com-mount-path.mount\": failed to start unit" 130s time="2025-10-18T15:06:51Z" level=warning msg="failed to start unit \"adsys-nfs-yetanotherdomain.com-mount_path-mount-path.mount\": failed to start unit" 130s time="2025-10-18T15:06:51Z" level=warning msg="failed to start unit \"adsys-cifs-authenticated.com-authenticated-mount.mount\": failed to start unit" 130s time="2025-10-18T15:06:51Z" level=warning msg="failed to start unit \"adsys-nfs-krb_domain.com-mount-krb_path.mount\": failed to start unit" 130s time="2025-10-18T15:06:51Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 130s === CONT TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_a_disabled_entry 130s === CONT TestApplyPolicy/User,_creates_only_dirs_if_the_entry_is_empty 130s === CONT TestApplyPolicy/System,_only_emit_a_warning_when_starting_new_units_fails 130s === CONT TestApplyPolicy/User,_does_nothing_if_the_entry_is_disabled 130s time="2025-10-18T15:06:51Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 130s === CONT TestApplyPolicy/Error_when_updating_policy_and_system_mount_unit_to_remove_is_a_dir 130s === CONT TestApplyPolicy/Error_when_trying_to_update_policy_with_badly_formatted_entry 130s time="2025-10-18T15:06:51Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 130s time="2025-10-18T15:06:51Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 130s === CONT TestApplyPolicy/Error_when_disabling_units_for_clean_up_fails 130s === CONT TestApplyPolicy/User,_successfully_apply_policy_trimming_sequential_linebreaks 130s time="2025-10-18T15:06:51Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 130s === CONT TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_repeated_tagged_values 130s === CONT TestApplyPolicy/Error_when_applying_policy_with_entry_containing_badly_formatted_value 130s === CONT TestApplyPolicy/Error_when_cleaning_up_user_policy_with_empty_entry_and_path_already_exists_as_a_directory 130s === CONT TestApplyPolicy/Error_when_entry_is_errored 130s === CONT TestApplyPolicy/Creates_only_dirs_when_trying_to_apply_policy_with_no_entries 130s === CONT TestApplyPolicy/System,_does_nothing_if_there_are_no_entries 130s === CONT TestApplyPolicy/System,_only_emit_a_warning_when_stopping_previous_units_fails 130s === CONT TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_an_empty_entry 130s time="2025-10-18T15:06:51Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 130s time="2025-10-18T15:06:51Z" level=warning msg="Failed to stop unit \"adsys-protocol-domain.com-mountpath.mount\": failed to stop unit" 130s === CONT TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_disabled_entry 130s === CONT TestApplyPolicy/System,_successfully_apply_policy_trimming_sequential_linebreaks 130s === CONT TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_repeated_tagged_values 130s time="2025-10-18T15:06:51Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mounpath.mount\": failed to start unit" 130s time="2025-10-18T15:06:51Z" level=warning msg="failed to start unit \"adsys-cifs-otherdomain.com-mount-path.mount\": failed to start unit" 130s === CONT TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_no_entries 130s time="2025-10-18T15:06:51Z" level=warning msg="failed to start unit \"adsys-nfs-anotherone.com-mnt.mount\": failed to start unit" 130s time="2025-10-18T15:06:51Z" level=warning msg="failed to start unit \"adsys-rpt-repeated.com-repeatedmount.mount\": failed to start unit" 130s time="2025-10-18T15:06:51Z" level=warning msg="failed to start unit \"adsys-cifs-single.com-mnt.mount\": failed to start unit" 130s === CONT TestApplyPolicy/User,_creates_only_dirs_if_there_are_no_entries 130s === CONT TestApplyPolicy/Error_when_applying_policy_and_system_mount_unit_already_exists_as_dir 130s === CONT TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_one_value 130s === CONT TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_one_value 130s time="2025-10-18T15:06:51Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 130s === CONT TestApplyPolicy/Error_when_creating_units_with_bad_entry_values 130s === CONT TestApplyPolicy/System,_does_nothing_if_the_entry_is_empty 130s === CONT TestApplyPolicy/User,_successfully_apply_policy_trimming_whitespaces 130s === CONT TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_multiple_values 130s === CONT TestApplyPolicy/Error_when_daemon-reload_fails 130s === CONT TestApplyPolicy/Error_when_mounts_file_path_already_exists_as_a_directory 130s === CONT TestApplyPolicy/Error_when_user_has_invalid_uid 130s === CONT TestApplyPolicy/Error_when_applying_system_policy_and_the_entry_is_errored 130s === CONT TestApplyPolicy/Error_when_cleaning_up_user_policy_with_no_entries_and_path_already_exists_as_a_directory 130s === CONT TestApplyPolicy/Error_when_cleaning_up_user_policy_with_invalid_user 130s === CONT TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_repeated_values 130s time="2025-10-18T15:06:51Z" level=warning msg="failed to start unit \"adsys-rpt-repeated.com-repeatedmount.mount\": failed to start unit" 130s time="2025-10-18T15:06:51Z" level=warning msg="failed to start unit \"adsys-cifs-single.com-mnt.mount\": failed to start unit" 130s time="2025-10-18T15:06:51Z" level=warning msg="failed to start unit \"adsys-nfs-anotherone.com-mnt.mount\": failed to start unit" 130s === CONT TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_repeated_values 130s === CONT TestApplyPolicy/Error_when_users-userDir_has_invalid_permissions 130s === CONT TestApplyPolicy/Creates_only_dirs_when_trying_to_policy_with_unsupported_key 130s === CONT TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_an_empty_entry 130s === CONT TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_no_entries 130s time="2025-10-18T15:06:51Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 130s time="2025-10-18T15:06:51Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 130s === CONT TestApplyPolicy/System,_mount_units_are_added_on_refreshing_policy_with_some_matching_values 130s === CONT TestApplyPolicy/System,_successfully_apply_policy_prioritizing_the_first_value_found,_despite_the_tag 130s time="2025-10-18T15:06:51Z" 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." 130s time="2025-10-18T15:06:51Z" 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." 130s time="2025-10-18T15:06:51Z" level=warning msg="failed to start unit \"adsys-nfs-domain-tagged_first.mount\": failed to start unit" 130s time="2025-10-18T15:06:51Z" level=warning msg="failed to start unit \"adsys-nfs-domain-untagged_first.mount\": failed to start unit" 130s time="2025-10-18T15:06:51Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath2.mount\": failed to start unit" 130s time="2025-10-18T15:06:51Z" level=warning msg="failed to start unit \"adsys-cifs-otherdomain.com-mount-path.mount\": failed to start unit" 130s time="2025-10-18T15:06:51Z" level=warning msg="failed to start unit \"adsys-nfs-yetanotherdomain.com-mount_path-mount-path.mount\": failed to start unit" 130s time="2025-10-18T15:06:51Z" level=warning msg="failed to start unit \"adsys-fuse-completelydifferent.com-different-path.mount\": failed to start unit" 130s === CONT TestApplyPolicy/User,_mount_file_is_updated_on_refreshing_policy_with_an_entry_with_multiple_values 130s === CONT TestApplyPolicy/User,_successfully_apply_policy_filtering_out_unsupported_keys 130s === CONT TestApplyPolicy/Error_when_user_is_not_found 130s === CONT TestApplyPolicy/System,_successfully_apply_policy_trimming_whitespaces 130s === CONT TestApplyPolicy/System,_successfully_apply_policy_filtering_out_unsupported_keys 130s time="2025-10-18T15:06:51Z" level=warning msg="failed to start unit \"adsys-cifs-otherdomain.com-mount-path.mount\": failed to start unit" 130s time="2025-10-18T15:06:51Z" level=warning msg="failed to start unit \"adsys-nfs-yetanotherdomain.com-path-mount.mount\": failed to start unit" 130s time="2025-10-18T15:06:51Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 130s time="2025-10-18T15:06:51Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 130s --- PASS: TestApplyPolicy (0.00s) 130s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_prioritizing_the_first_value_found,_despite_the_tag (0.00s) 130s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_multiple_values (0.00s) 130s --- PASS: TestApplyPolicy/Error_when_enabling_new_units_fails (0.00s) 130s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_with_kerberos_auth_tags (0.00s) 130s --- PASS: TestApplyPolicy/Error_when_user_has_invalid_gid (0.00s) 130s --- PASS: TestApplyPolicy/System,_does_nothing_if_the_entry_is_disabled (0.00s) 130s --- PASS: TestApplyPolicy/System,_mount_units_are_updated_on_refreshing_policy_with_an_entry_with_multiple_values (0.00s) 130s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_with_kerberos_tagged_values (0.00s) 130s --- PASS: TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_a_disabled_entry (0.00s) 130s --- PASS: TestApplyPolicy/User,_creates_only_dirs_if_the_entry_is_empty (0.00s) 130s --- PASS: TestApplyPolicy/System,_only_emit_a_warning_when_starting_new_units_fails (0.00s) 130s --- PASS: TestApplyPolicy/User,_does_nothing_if_the_entry_is_disabled (0.00s) 130s --- PASS: TestApplyPolicy/Error_when_updating_policy_and_system_mount_unit_to_remove_is_a_dir (0.00s) 130s --- PASS: TestApplyPolicy/Error_when_trying_to_update_policy_with_badly_formatted_entry (0.00s) 130s --- PASS: TestApplyPolicy/Error_when_disabling_units_for_clean_up_fails (0.00s) 130s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_trimming_sequential_linebreaks (0.00s) 130s --- PASS: TestApplyPolicy/Error_when_applying_policy_with_entry_containing_badly_formatted_value (0.00s) 130s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_repeated_tagged_values (0.00s) 130s --- PASS: TestApplyPolicy/Error_when_cleaning_up_user_policy_with_empty_entry_and_path_already_exists_as_a_directory (0.00s) 130s --- PASS: TestApplyPolicy/Error_when_entry_is_errored (0.00s) 130s --- PASS: TestApplyPolicy/Creates_only_dirs_when_trying_to_apply_policy_with_no_entries (0.00s) 130s --- PASS: TestApplyPolicy/System,_does_nothing_if_there_are_no_entries (0.00s) 130s --- PASS: TestApplyPolicy/System,_only_emit_a_warning_when_stopping_previous_units_fails (0.00s) 130s --- PASS: TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_an_empty_entry (0.00s) 130s --- PASS: TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_disabled_entry (0.00s) 130s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_trimming_sequential_linebreaks (0.00s) 130s --- PASS: TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_no_entries (0.00s) 130s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_repeated_tagged_values (0.00s) 130s --- PASS: TestApplyPolicy/User,_creates_only_dirs_if_there_are_no_entries (0.00s) 130s --- PASS: TestApplyPolicy/Error_when_applying_policy_and_system_mount_unit_already_exists_as_dir (0.00s) 130s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_one_value (0.00s) 130s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_one_value (0.00s) 130s --- PASS: TestApplyPolicy/Error_when_creating_units_with_bad_entry_values (0.00s) 130s --- PASS: TestApplyPolicy/System,_does_nothing_if_the_entry_is_empty (0.00s) 130s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_trimming_whitespaces (0.00s) 130s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_multiple_values (0.00s) 130s --- PASS: TestApplyPolicy/Error_when_daemon-reload_fails (0.00s) 130s --- PASS: TestApplyPolicy/Error_when_user_has_invalid_uid (0.00s) 130s --- PASS: TestApplyPolicy/Error_when_mounts_file_path_already_exists_as_a_directory (0.00s) 130s --- PASS: TestApplyPolicy/Error_when_applying_system_policy_and_the_entry_is_errored (0.00s) 130s --- PASS: TestApplyPolicy/Error_when_cleaning_up_user_policy_with_no_entries_and_path_already_exists_as_a_directory (0.00s) 130s --- PASS: TestApplyPolicy/Error_when_cleaning_up_user_policy_with_invalid_user (0.00s) 130s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_repeated_values (0.00s) 130s --- PASS: TestApplyPolicy/Error_when_users-userDir_has_invalid_permissions (0.00s) 130s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_repeated_values (0.00s) 130s --- PASS: TestApplyPolicy/Creates_only_dirs_when_trying_to_policy_with_unsupported_key (0.00s) 130s --- PASS: TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_an_empty_entry (0.00s) 130s --- PASS: TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_no_entries (0.00s) 130s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_prioritizing_the_first_value_found,_despite_the_tag (0.00s) 130s --- PASS: TestApplyPolicy/System,_mount_units_are_added_on_refreshing_policy_with_some_matching_values (0.00s) 130s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_filtering_out_unsupported_keys (0.00s) 130s --- PASS: TestApplyPolicy/User,_mount_file_is_updated_on_refreshing_policy_with_an_entry_with_multiple_values (0.00s) 130s --- PASS: TestApplyPolicy/Error_when_user_is_not_found (0.00s) 130s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_trimming_whitespaces (0.00s) 130s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_filtering_out_unsupported_keys (0.00s) 130s PASS 130s ok github.com/ubuntu/adsys/internal/policies/mount 0.031s 130s === RUN TestSplitAndNormalizeUsersAndGroups 130s === PAUSE TestSplitAndNormalizeUsersAndGroups 130s === RUN TestPolkitAdminIdentitiesFromConf 130s === PAUSE TestPolkitAdminIdentitiesFromConf 130s === RUN TestPolkitAdminIdentitiesFromRules 130s === PAUSE TestPolkitAdminIdentitiesFromRules 130s === RUN TestApplyPolicy 130s === PAUSE TestApplyPolicy 130s === CONT TestSplitAndNormalizeUsersAndGroups 130s === CONT TestPolkitAdminIdentitiesFromRules 130s === RUN TestPolkitAdminIdentitiesFromRules/Consider_only_first_returned_value 130s === PAUSE TestPolkitAdminIdentitiesFromRules/Consider_only_first_returned_value 130s === RUN TestPolkitAdminIdentitiesFromRules/Prioritize_first_specified_directory_if_files_have_same_ascii 130s === RUN TestSplitAndNormalizeUsersAndGroups/Empty_value 130s === PAUSE TestSplitAndNormalizeUsersAndGroups/Empty_value 130s === RUN TestSplitAndNormalizeUsersAndGroups/Group_one_value 130s === PAUSE TestPolkitAdminIdentitiesFromRules/Prioritize_first_specified_directory_if_files_have_same_ascii 130s === PAUSE TestSplitAndNormalizeUsersAndGroups/Group_one_value 130s === RUN TestPolkitAdminIdentitiesFromRules/No_previous_admin_identities_but_regular_directory_structure 130s === RUN TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_a_mix_of_comma_and_EOL 130s === PAUSE TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_a_mix_of_comma_and_EOL 130s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_| 130s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_| 130s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_= 130s === PAUSE TestPolkitAdminIdentitiesFromRules/No_previous_admin_identities_but_regular_directory_structure 130s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_= 130s === RUN TestPolkitAdminIdentitiesFromRules/Returns_an_empty_string_if_directory_does_not_exists 130s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_% 130s === PAUSE TestPolkitAdminIdentitiesFromRules/Returns_an_empty_string_if_directory_does_not_exists 130s === RUN TestPolkitAdminIdentitiesFromRules/Directory_instead_of_a_conf_file_is_ignored 130s === PAUSE TestPolkitAdminIdentitiesFromRules/Directory_instead_of_a_conf_file_is_ignored 130s === RUN TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities_from_lower_ascii_file 130s === PAUSE TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities_from_lower_ascii_file 130s === RUN TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities_ignoring_adsys 130s === PAUSE TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities_ignoring_adsys 130s === RUN TestPolkitAdminIdentitiesFromRules/Prioritize_lower_ascii_file_even_if_on_second_directory 130s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_% 130s === RUN TestSplitAndNormalizeUsersAndGroups/Don’t_strip_first_%_but_others 130s === PAUSE TestSplitAndNormalizeUsersAndGroups/Don’t_strip_first_%_but_others 130s === RUN TestSplitAndNormalizeUsersAndGroups/Multiple_values_separated_by_EOL 130s === PAUSE TestSplitAndNormalizeUsersAndGroups/Multiple_values_separated_by_EOL 130s === RUN TestSplitAndNormalizeUsersAndGroups/Multiple_\_only_handling_first_one_and_ignore_others 130s === PAUSE TestSplitAndNormalizeUsersAndGroups/Multiple_\_only_handling_first_one_and_ignore_others 130s === RUN TestSplitAndNormalizeUsersAndGroups/User_name_with_space 130s === PAUSE TestSplitAndNormalizeUsersAndGroups/User_name_with_space 130s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_empty_values 130s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_empty_values 130s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_> 130s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_> 130s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_; 130s === PAUSE TestPolkitAdminIdentitiesFromRules/Prioritize_lower_ascii_file_even_if_on_second_directory 130s === RUN TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities 130s === PAUSE TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities 130s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_; 130s === CONT TestPolkitAdminIdentitiesFromConf 130s === RUN TestSplitAndNormalizeUsersAndGroups/Empty_value_with_comma 130s === RUN TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities_from_highest_ascii_file 130s === PAUSE TestSplitAndNormalizeUsersAndGroups/Empty_value_with_comma 130s === PAUSE TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities_from_highest_ascii_file 130s === RUN TestSplitAndNormalizeUsersAndGroups/Multiple_values_separated_by_comma 130s === RUN TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities_ignoring_adsys 130s === PAUSE TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities_ignoring_adsys 130s === RUN TestPolkitAdminIdentitiesFromConf/No_previous_admin_identities_but_regular_directory_structure 130s === PAUSE TestSplitAndNormalizeUsersAndGroups/Multiple_values_separated_by_comma 130s === RUN TestSplitAndNormalizeUsersAndGroups/Handle_domain\user 130s === PAUSE TestSplitAndNormalizeUsersAndGroups/Handle_domain\user 130s === PAUSE TestPolkitAdminIdentitiesFromConf/No_previous_admin_identities_but_regular_directory_structure 130s === RUN TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_consecutives_EOL 130s === RUN TestPolkitAdminIdentitiesFromConf/Returns_an_empty_string_if_directory_does_not_exists 130s === PAUSE TestPolkitAdminIdentitiesFromConf/Returns_an_empty_string_if_directory_does_not_exists 130s === PAUSE TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_consecutives_EOL 130s === RUN TestPolkitAdminIdentitiesFromConf/Directory_instead_of_a_conf_file_is_ignored 130s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_/ 130s === PAUSE TestPolkitAdminIdentitiesFromConf/Directory_instead_of_a_conf_file_is_ignored 130s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_/ 130s === RUN TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities 130s === PAUSE TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities 130s === CONT TestApplyPolicy 130s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_] 130s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_] 130s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_< 130s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_< 130s === RUN TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_(simple)_and_set_client_admins 130s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_? 130s === PAUSE TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_(simple)_and_set_client_admins 130s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_? 130s === RUN TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_(with_adsys_file)_and_set_client_admins 130s === RUN TestSplitAndNormalizeUsersAndGroups/Empty_value_with_EOL 130s === PAUSE TestSplitAndNormalizeUsersAndGroups/Empty_value_with_EOL 130s === PAUSE TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_(with_adsys_file)_and_set_client_admins 130s === RUN TestSplitAndNormalizeUsersAndGroups/Simple_one_value 130s === PAUSE TestSplitAndNormalizeUsersAndGroups/Simple_one_value 130s === RUN TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_consecutives_comma 130s === PAUSE TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_consecutives_comma 130s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_[ 130s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_[ 130s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_: 130s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_: 130s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_* 130s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_* 130s === RUN TestApplyPolicy/Overwrite_existing_sudoers_file 130s === PAUSE TestApplyPolicy/Overwrite_existing_sudoers_file 130s === RUN TestApplyPolicy/Overwrite_existing_polkit_file 130s === CONT TestPolkitAdminIdentitiesFromRules/Consider_only_first_returned_value 130s === PAUSE TestApplyPolicy/Overwrite_existing_polkit_file 130s === RUN TestApplyPolicy/Don't_overwrite_other_existing_files 130s === PAUSE TestApplyPolicy/Don't_overwrite_other_existing_files 130s === RUN TestApplyPolicy/Create_on_new_polkit_version_and_remove_old_file 130s === PAUSE TestApplyPolicy/Create_on_new_polkit_version_and_remove_old_file 130s === RUN TestApplyPolicy/Error_on_writing_to_sudoers_file 130s === PAUSE TestApplyPolicy/Error_on_writing_to_sudoers_file 130s === RUN TestApplyPolicy/Set_client_mixed_with_users_and_group_admins 130s === PAUSE TestApplyPolicy/Set_client_mixed_with_users_and_group_admins 130s === RUN TestApplyPolicy/Assume_old_polkit_if_cant_read_system_reserved_path 130s === PAUSE TestApplyPolicy/Assume_old_polkit_if_cant_read_system_reserved_path 130s === RUN TestApplyPolicy/Error_on_writing_to_polkit_conf_file 130s === PAUSE TestApplyPolicy/Error_on_writing_to_polkit_conf_file 130s === RUN TestApplyPolicy/Error_if_can’t_rename_to_destination_for_polkit_conf_file 130s === PAUSE TestApplyPolicy/Error_if_can’t_rename_to_destination_for_polkit_conf_file 130s === RUN TestApplyPolicy/No_rules_still_overwrite_those_files 130s === PAUSE TestApplyPolicy/No_rules_still_overwrite_those_files 130s === RUN TestApplyPolicy/Set_client_multiple_users_admins 130s === PAUSE TestApplyPolicy/Set_client_multiple_users_admins 130s === RUN TestApplyPolicy/Empty_client_AD_admins 130s === PAUSE TestApplyPolicy/Empty_client_AD_admins 130s === RUN TestApplyPolicy/Disallow_local_admins_with_previous_local_admin_conf_and_set_client_admins 130s === PAUSE TestApplyPolicy/Disallow_local_admins_with_previous_local_admin_conf_and_set_client_admins 130s === RUN TestApplyPolicy/Allow_local_admins_without_previous_local_admin_conf_and_set_client_admins 130s === CONT TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities_from_lower_ascii_file 130s === PAUSE TestApplyPolicy/Allow_local_admins_without_previous_local_admin_conf_and_set_client_admins 130s === RUN TestApplyPolicy/Error_on_writing_to_polkit_subdirectory_creation 130s === PAUSE TestApplyPolicy/Error_on_writing_to_polkit_subdirectory_creation 130s === RUN TestApplyPolicy/Error_on_creating_sudoers_and_polkit_base_directory 130s === PAUSE TestApplyPolicy/Error_on_creating_sudoers_and_polkit_base_directory 130s === RUN TestApplyPolicy/Error_if_can’t_rename_to_destination_for_sudoers_file 130s === PAUSE TestApplyPolicy/Error_if_can’t_rename_to_destination_for_sudoers_file 130s === RUN TestApplyPolicy/No_rules_and_no_existing_history_means_no_files 130s === PAUSE TestApplyPolicy/No_rules_and_no_existing_history_means_no_files 130s === RUN TestApplyPolicy/Not_a_computer 130s === CONT TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities 130s === PAUSE TestApplyPolicy/Not_a_computer 130s === RUN TestApplyPolicy/Disallow_local_admins 130s === PAUSE TestApplyPolicy/Disallow_local_admins 130s === RUN TestApplyPolicy/Allow_local_admins_with_no_other_rules_is_a_noop 130s === PAUSE TestApplyPolicy/Allow_local_admins_with_no_other_rules_is_a_noop 130s === RUN TestApplyPolicy/Set_client_user_admins 130s === PAUSE TestApplyPolicy/Set_client_user_admins 130s === RUN TestApplyPolicy/No_client_AD_admins 130s === PAUSE TestApplyPolicy/No_client_AD_admins 130s === RUN TestApplyPolicy/Disallow_local_admins_and_set_client_admins 130s === PAUSE TestApplyPolicy/Disallow_local_admins_and_set_client_admins 130s === RUN TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_and_set_client_admins 130s === PAUSE TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_and_set_client_admins 130s === RUN TestApplyPolicy/Set_client_group_admins 130s === PAUSE TestApplyPolicy/Set_client_group_admins 130s === CONT TestPolkitAdminIdentitiesFromRules/Prioritize_lower_ascii_file_even_if_on_second_directory 130s === CONT TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities_ignoring_adsys 130s === CONT TestPolkitAdminIdentitiesFromRules/Returns_an_empty_string_if_directory_does_not_exists 130s === CONT TestPolkitAdminIdentitiesFromRules/Directory_instead_of_a_conf_file_is_ignored 130s === CONT TestPolkitAdminIdentitiesFromRules/Prioritize_first_specified_directory_if_files_have_same_ascii 130s === CONT TestPolkitAdminIdentitiesFromRules/No_previous_admin_identities_but_regular_directory_structure 130s --- PASS: TestPolkitAdminIdentitiesFromRules (0.00s) 130s --- PASS: TestPolkitAdminIdentitiesFromRules/Consider_only_first_returned_value (0.00s) 130s --- PASS: TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities_from_lower_ascii_file (0.00s) 130s --- PASS: TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities (0.00s) 130s --- PASS: TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities_ignoring_adsys (0.00s) 130s --- PASS: TestPolkitAdminIdentitiesFromRules/Returns_an_empty_string_if_directory_does_not_exists (0.00s) 130s --- PASS: TestPolkitAdminIdentitiesFromRules/Prioritize_lower_ascii_file_even_if_on_second_directory (0.00s) 130s --- PASS: TestPolkitAdminIdentitiesFromRules/Directory_instead_of_a_conf_file_is_ignored (0.00s) 130s --- PASS: TestPolkitAdminIdentitiesFromRules/Prioritize_first_specified_directory_if_files_have_same_ascii (0.00s) 130s --- PASS: TestPolkitAdminIdentitiesFromRules/No_previous_admin_identities_but_regular_directory_structure (0.00s) 130s === CONT TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities_from_highest_ascii_file 130s === CONT TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities 130s === CONT TestPolkitAdminIdentitiesFromConf/Directory_instead_of_a_conf_file_is_ignored 130s === CONT TestPolkitAdminIdentitiesFromConf/Returns_an_empty_string_if_directory_does_not_exists 130s === CONT TestPolkitAdminIdentitiesFromConf/No_previous_admin_identities_but_regular_directory_structure 130s === CONT TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities_ignoring_adsys 130s === CONT TestSplitAndNormalizeUsersAndGroups/Empty_value 130s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_any_* 130s time="2025-10-18T15:06:51Z" level=warning msg="Changed user or group \"u*s*er@domain\" to \"user@domain\": Invalid characters or domain\\user format" 130s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_any_: 130s time="2025-10-18T15:06:51Z" level=warning msg="Changed user or group \"u:s:er@domain\" to \"user@domain\": Invalid characters or domain\\user format" 130s --- PASS: TestPolkitAdminIdentitiesFromConf (0.00s) 130s --- PASS: TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities_from_highest_ascii_file (0.00s) 130s --- PASS: TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities (0.00s) 130s --- PASS: TestPolkitAdminIdentitiesFromConf/Directory_instead_of_a_conf_file_is_ignored (0.00s) 130s --- PASS: TestPolkitAdminIdentitiesFromConf/Returns_an_empty_string_if_directory_does_not_exists (0.00s) 130s --- PASS: TestPolkitAdminIdentitiesFromConf/No_previous_admin_identities_but_regular_directory_structure (0.00s) 130s --- PASS: TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities_ignoring_adsys (0.00s) 130s === CONT TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_consecutives_comma 130s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_any_[ 130s === CONT TestSplitAndNormalizeUsersAndGroups/Simple_one_value 130s === CONT TestSplitAndNormalizeUsersAndGroups/Empty_value_with_EOL 130s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_any_? 130s time="2025-10-18T15:06:51Z" level=warning msg="Changed user or group \"u[s]er@domain\" to \"user@domain\": Invalid characters or domain\\user format" 130s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_any_< 130s time="2025-10-18T15:06:51Z" level=warning msg="Changed user or group \"u?s?er@domain\" to \"user@domain\": Invalid characters or domain\\user format" 130s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_any_] 130s time="2025-10-18T15:06:51Z" level=warning msg="Changed user or group \"u 130s time="2025-10-18T15:06:51Z" level=warning msg="Changed user or group \"u]s]er@domain\" to \"user@domain\": Invalid characters or domain\\user format" 130s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_empty_values 130s time="2025-10-18T15:06:51Z" level=warning msg="Changed user or group \"u>s>er@domain\" to \"user@domain\": Invalid characters or domain\\user format" 130s === CONT TestSplitAndNormalizeUsersAndGroups/User_name_with_space 130s === CONT TestSplitAndNormalizeUsersAndGroups/Multiple_\_only_handling_first_one_and_ignore_others 130s === CONT TestSplitAndNormalizeUsersAndGroups/Multiple_values_separated_by_EOL 130s time="2025-10-18T15:06:51Z" level=warning msg="Changed user or group \"domain\\\\user\\\\foo\" to \"userfoo@domain\": Invalid characters or domain\\user format" 130s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_any_% 130s === CONT TestSplitAndNormalizeUsersAndGroups/Don’t_strip_first_%_but_others 130s time="2025-10-18T15:06:51Z" level=warning msg="Changed user or group \"u%s%er@domain\" to \"user@domain\": Invalid characters or domain\\user format" 130s time="2025-10-18T15:06:51Z" level=warning msg="Changed user or group \"%g%r%oup@domain\" to \"%group@domain\": Invalid characters or domain\\user format" 130s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_any_= 130s time="2025-10-18T15:06:51Z" level=warning msg="Changed user or group \"u=s=er@domain\" to \"user@domain\": Invalid characters or domain\\user format" 130s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_any_| 130s time="2025-10-18T15:06:51Z" level=warning msg="Changed user or group \"u|s|er@domain\" to \"user@domain\": Invalid characters or domain\\user format" 130s === CONT TestSplitAndNormalizeUsersAndGroups/Group_one_value 130s === CONT TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_a_mix_of_comma_and_EOL 130s --- PASS: TestSplitAndNormalizeUsersAndGroups (0.00s) 130s --- PASS: TestSplitAndNormalizeUsersAndGroups/Empty_value (0.00s) 130s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_* (0.00s) 130s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_: (0.00s) 130s --- PASS: TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_consecutives_comma (0.00s) 130s --- PASS: TestSplitAndNormalizeUsersAndGroups/Simple_one_value (0.00s) 130s --- PASS: TestSplitAndNormalizeUsersAndGroups/Empty_value_with_EOL (0.00s) 130s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_[ (0.00s) 130s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_? (0.00s) 130s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_< (0.00s) 130s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_/ (0.00s) 130s --- PASS: TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_consecutives_EOL (0.00s) 130s --- PASS: TestSplitAndNormalizeUsersAndGroups/Handle_domain\user (0.00s) 130s --- PASS: TestSplitAndNormalizeUsersAndGroups/Multiple_values_separated_by_comma (0.00s) 130s --- PASS: TestSplitAndNormalizeUsersAndGroups/Empty_value_with_comma (0.00s) 130s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_; (0.00s) 130s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_] (0.00s) 130s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_empty_values (0.00s) 130s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_> (0.00s) 130s --- PASS: TestSplitAndNormalizeUsersAndGroups/User_name_with_space (0.00s) 130s --- PASS: TestSplitAndNormalizeUsersAndGroups/Multiple_values_separated_by_EOL (0.00s) 130s --- PASS: TestSplitAndNormalizeUsersAndGroups/Multiple_\_only_handling_first_one_and_ignore_others (0.00s) 130s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_% (0.00s) 130s --- PASS: TestSplitAndNormalizeUsersAndGroups/Don’t_strip_first_%_but_others (0.00s) 130s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_= (0.00s) 130s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_| (0.00s) 130s --- PASS: TestSplitAndNormalizeUsersAndGroups/Group_one_value (0.00s) 130s --- PASS: TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_a_mix_of_comma_and_EOL (0.00s) 130s === CONT TestApplyPolicy/Disallow_local_admins_with_previous_local_admin_conf_and_set_client_admins 130s === CONT TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_(simple)_and_set_client_admins 130s === CONT TestApplyPolicy/Set_client_group_admins 130s === CONT TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_and_set_client_admins 130s === CONT TestApplyPolicy/Disallow_local_admins_and_set_client_admins 130s === CONT TestApplyPolicy/No_client_AD_admins 130s === CONT TestApplyPolicy/Set_client_user_admins 130s === CONT TestApplyPolicy/Allow_local_admins_with_no_other_rules_is_a_noop 130s === CONT TestApplyPolicy/Disallow_local_admins 130s === CONT TestApplyPolicy/Not_a_computer 130s === CONT TestApplyPolicy/No_rules_and_no_existing_history_means_no_files 130s === CONT TestApplyPolicy/Error_if_can’t_rename_to_destination_for_sudoers_file 130s === CONT TestApplyPolicy/Error_on_creating_sudoers_and_polkit_base_directory 130s === CONT TestApplyPolicy/Error_on_writing_to_polkit_subdirectory_creation 130s === CONT TestApplyPolicy/Allow_local_admins_without_previous_local_admin_conf_and_set_client_admins 130s === CONT TestApplyPolicy/Set_client_mixed_with_users_and_group_admins 130s === CONT TestApplyPolicy/Empty_client_AD_admins 130s === CONT TestApplyPolicy/Set_client_multiple_users_admins 130s === CONT TestApplyPolicy/No_rules_still_overwrite_those_files 130s time="2025-10-18T15:06:51Z" level=warning msg="Changed user or group \"domain\\\\bob\" to \"bob@domain\": Invalid characters or domain\\user format" 130s === CONT TestApplyPolicy/Error_if_can’t_rename_to_destination_for_polkit_conf_file 130s === CONT TestApplyPolicy/Error_on_writing_to_polkit_conf_file 130s === CONT TestApplyPolicy/Assume_old_polkit_if_cant_read_system_reserved_path 130s === CONT TestApplyPolicy/Don't_overwrite_other_existing_files 130s === CONT TestApplyPolicy/Error_on_writing_to_sudoers_file 130s === CONT TestApplyPolicy/Create_on_new_polkit_version_and_remove_old_file 130s === CONT TestApplyPolicy/Overwrite_existing_sudoers_file 130s === CONT TestApplyPolicy/Overwrite_existing_polkit_file 130s === CONT TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_(with_adsys_file)_and_set_client_admins 130s --- PASS: TestApplyPolicy (0.00s) 130s --- PASS: TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_(simple)_and_set_client_admins (0.00s) 130s --- PASS: TestApplyPolicy/Disallow_local_admins_with_previous_local_admin_conf_and_set_client_admins (0.00s) 130s --- PASS: TestApplyPolicy/Set_client_group_admins (0.00s) 130s --- PASS: TestApplyPolicy/Disallow_local_admins_and_set_client_admins (0.00s) 130s --- PASS: TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_and_set_client_admins (0.00s) 130s --- PASS: TestApplyPolicy/No_client_AD_admins (0.00s) 130s --- PASS: TestApplyPolicy/Set_client_user_admins (0.00s) 130s --- PASS: TestApplyPolicy/Allow_local_admins_with_no_other_rules_is_a_noop (0.00s) 130s --- PASS: TestApplyPolicy/Disallow_local_admins (0.00s) 130s --- PASS: TestApplyPolicy/No_rules_and_no_existing_history_means_no_files (0.00s) 130s --- PASS: TestApplyPolicy/Not_a_computer (0.00s) 130s --- PASS: TestApplyPolicy/Error_if_can’t_rename_to_destination_for_sudoers_file (0.00s) 130s --- PASS: TestApplyPolicy/Error_on_creating_sudoers_and_polkit_base_directory (0.00s) 130s --- PASS: TestApplyPolicy/Error_on_writing_to_polkit_subdirectory_creation (0.00s) 130s --- PASS: TestApplyPolicy/Allow_local_admins_without_previous_local_admin_conf_and_set_client_admins (0.00s) 130s --- PASS: TestApplyPolicy/Set_client_mixed_with_users_and_group_admins (0.00s) 130s --- PASS: TestApplyPolicy/Empty_client_AD_admins (0.00s) 130s --- PASS: TestApplyPolicy/Set_client_multiple_users_admins (0.00s) 130s --- PASS: TestApplyPolicy/No_rules_still_overwrite_those_files (0.00s) 130s --- PASS: TestApplyPolicy/Error_if_can’t_rename_to_destination_for_polkit_conf_file (0.00s) 130s --- PASS: TestApplyPolicy/Error_on_writing_to_polkit_conf_file (0.00s) 130s --- PASS: TestApplyPolicy/Don't_overwrite_other_existing_files (0.00s) 130s --- PASS: TestApplyPolicy/Assume_old_polkit_if_cant_read_system_reserved_path (0.00s) 130s --- PASS: TestApplyPolicy/Error_on_writing_to_sudoers_file (0.00s) 130s --- PASS: TestApplyPolicy/Create_on_new_polkit_version_and_remove_old_file (0.00s) 130s --- PASS: TestApplyPolicy/Overwrite_existing_sudoers_file (0.00s) 130s --- PASS: TestApplyPolicy/Overwrite_existing_polkit_file (0.00s) 130s --- PASS: TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_(with_adsys_file)_and_set_client_admins (0.00s) 130s PASS 130s ok github.com/ubuntu/adsys/internal/policies/privilege 0.017s 130s === RUN TestApplyPolicy 130s === PAUSE TestApplyPolicy 130s === RUN TestWarnOnUnsupportedKeys 130s --- PASS: TestWarnOnUnsupportedKeys (0.00s) 130s === RUN TestWarnOnMissingDBusService 130s --- PASS: TestWarnOnMissingDBusService (0.00s) 130s === CONT TestApplyPolicy 130s === RUN TestApplyPolicy/Computer,_single_enabled_entry 130s === PAUSE TestApplyPolicy/Computer,_single_enabled_entry 130s === RUN TestApplyPolicy/Computer,_single_disabled_entry 130s === PAUSE TestApplyPolicy/Computer,_single_disabled_entry 130s === RUN TestApplyPolicy/Computer,_all_entries_set 130s === PAUSE TestApplyPolicy/Computer,_all_entries_set 130s === RUN TestApplyPolicy/User,_non-empty_entries 130s === PAUSE TestApplyPolicy/User,_non-empty_entries 130s === RUN TestApplyPolicy/Error_when_D-Bus_call_fails 130s === PAUSE TestApplyPolicy/Error_when_D-Bus_call_fails 130s === RUN TestApplyPolicy/Computer,_no_entries 130s === PAUSE TestApplyPolicy/Computer,_no_entries 130s === RUN TestApplyPolicy/Computer,_no_entries,_D-Bus_call_error 130s === PAUSE TestApplyPolicy/Computer,_no_entries,_D-Bus_call_error 130s === RUN TestApplyPolicy/User,_no_entries 130s === PAUSE TestApplyPolicy/User,_no_entries 130s === CONT TestApplyPolicy/Computer,_single_enabled_entry 130s === CONT TestApplyPolicy/Error_when_D-Bus_call_fails 130s === CONT TestApplyPolicy/User,_no_entries 130s === CONT TestApplyPolicy/Computer,_no_entries,_D-Bus_call_error 130s === CONT TestApplyPolicy/Computer,_no_entries 130s === CONT TestApplyPolicy/User,_non-empty_entries 130s === CONT TestApplyPolicy/Computer,_single_disabled_entry 130s === CONT TestApplyPolicy/Computer,_all_entries_set 130s --- PASS: TestApplyPolicy (0.00s) 130s --- PASS: TestApplyPolicy/Computer,_single_enabled_entry (0.00s) 130s --- PASS: TestApplyPolicy/Error_when_D-Bus_call_fails (0.00s) 130s --- PASS: TestApplyPolicy/User,_no_entries (0.00s) 130s --- PASS: TestApplyPolicy/Computer,_no_entries,_D-Bus_call_error (0.00s) 130s --- PASS: TestApplyPolicy/Computer,_no_entries (0.00s) 130s --- PASS: TestApplyPolicy/User,_non-empty_entries (0.00s) 130s --- PASS: TestApplyPolicy/Computer,_single_disabled_entry (0.00s) 130s --- PASS: TestApplyPolicy/Computer,_all_entries_set (0.00s) 130s PASS 130s ok github.com/ubuntu/adsys/internal/policies/proxy 0.008s 130s === RUN TestNew 130s === PAUSE TestNew 130s === RUN TestApplyPolicy 130s === PAUSE TestApplyPolicy 130s === RUN TestRunScripts 130s === PAUSE TestRunScripts 130s === CONT TestNew 130s === RUN TestNew/create_manager 130s === PAUSE TestNew/create_manager 130s === RUN TestNew/error_on_read_only_rundir 130s === PAUSE TestNew/error_on_read_only_rundir 130s === CONT TestNew/create_manager 130s === CONT TestRunScripts 130s === RUN TestRunScripts/scripts_that_are_not_executable_are_skipped 130s === PAUSE TestRunScripts/scripts_that_are_not_executable_are_skipped 130s === RUN TestRunScripts/scripts_referenced_in_subdirectories 130s === PAUSE TestRunScripts/scripts_referenced_in_subdirectories 130s === RUN TestRunScripts/keeps_running_flag_after_non_machine_shutdown 130s === PAUSE TestRunScripts/keeps_running_flag_after_non_machine_shutdown 130s === RUN TestRunScripts/spaces_and_empty_lines_are_skipped 130s === PAUSE TestRunScripts/spaces_and_empty_lines_are_skipped 130s === RUN TestRunScripts/error_on_not_ready_for_execution 130s === PAUSE TestRunScripts/error_on_not_ready_for_execution 130s === RUN TestRunScripts/allow_order_file_missing 130s === PAUSE TestRunScripts/allow_order_file_missing 130s === RUN TestRunScripts/error_on_order_file_not_existing 130s === PAUSE TestRunScripts/error_on_order_file_not_existing 130s === RUN TestRunScripts/error_on_argument_not_a_file 130s === PAUSE TestRunScripts/error_on_argument_not_a_file 130s === RUN TestRunScripts/scripts_not_listed_are_not_run 130s === PAUSE TestRunScripts/scripts_not_listed_are_not_run 130s === RUN TestRunScripts/still_executes_without_existing_running_flag_on_user_logoff 130s === PAUSE TestRunScripts/still_executes_without_existing_running_flag_on_user_logoff 130s === RUN TestRunScripts/keeps_running_flag_after_non_user_logoff 130s === PAUSE TestRunScripts/keeps_running_flag_after_non_user_logoff 130s === RUN TestRunScripts/has_no_session_running_flag_after_machine_shutdown 130s === PAUSE TestRunScripts/has_no_session_running_flag_after_machine_shutdown 130s === RUN TestRunScripts/still_executes_without_existing_running_flag_on_machine_shutdown 130s === PAUSE TestRunScripts/still_executes_without_existing_running_flag_on_machine_shutdown 130s === RUN TestRunScripts/has_no_session_running_flag_after_user_logoff 130s === PAUSE TestRunScripts/has_no_session_running_flag_after_user_logoff 130s === RUN TestRunScripts/script_directory_without_logoff_order_has_no_session_running_flag_after_user_logoff 130s === PAUSE TestRunScripts/script_directory_without_logoff_order_has_no_session_running_flag_after_user_logoff 130s === RUN TestRunScripts/script_directory_without_shutdown_order_has_no_session_running_flag_after_machine_shutdown 130s === PAUSE TestRunScripts/script_directory_without_shutdown_order_has_no_session_running_flag_after_machine_shutdown 130s === RUN TestRunScripts/one_script 130s === PAUSE TestRunScripts/one_script 130s === RUN TestRunScripts/multiple_scripts_are_run_in_order 130s === PAUSE TestRunScripts/multiple_scripts_are_run_in_order 130s === CONT TestRunScripts/scripts_that_are_not_executable_are_skipped 130s === CONT TestApplyPolicy 130s === RUN TestApplyPolicy/User_lookup_failing_does_not_impact_machine_update 130s === PAUSE TestApplyPolicy/User_lookup_failing_does_not_impact_machine_update 130s === RUN TestApplyPolicy/Error_on_subfolder_listed 130s === PAUSE TestApplyPolicy/Error_on_subfolder_listed 130s === RUN TestApplyPolicy/Error_on_invalid_GID 130s === PAUSE TestApplyPolicy/Error_on_invalid_GID 130s === RUN TestApplyPolicy/No_entries_is_an_empty_folder 130s === PAUSE TestApplyPolicy/No_entries_is_an_empty_folder 130s === RUN TestApplyPolicy/Error_on_invalid_UID 130s === PAUSE TestApplyPolicy/Error_on_invalid_UID 130s === RUN TestApplyPolicy/Error_on_user_lookup_failing 130s === PAUSE TestApplyPolicy/Error_on_user_lookup_failing 130s === RUN TestApplyPolicy/Error_on_running_start_script_that_runs_systemctl_and_systemctl_fails 130s === PAUSE TestApplyPolicy/Error_on_running_start_script_that_runs_systemctl_and_systemctl_fails 130s === RUN TestApplyPolicy/One_script 130s === PAUSE TestApplyPolicy/One_script 130s === RUN TestApplyPolicy/One_directory,_multiple_scripts_in_order 130s === PAUSE TestApplyPolicy/One_directory,_multiple_scripts_in_order 130s === RUN TestApplyPolicy/Same_script_is_used_multiple_times 130s === PAUSE TestApplyPolicy/Same_script_is_used_multiple_times 130s === RUN TestApplyPolicy/Empty_entries_are_discared 130s === PAUSE TestApplyPolicy/Empty_entries_are_discared 130s === RUN TestApplyPolicy/Computer,_no_systemctl_with_other_directory_than_startup 130s === PAUSE TestApplyPolicy/Computer,_no_systemctl_with_other_directory_than_startup 130s === RUN TestApplyPolicy/Startup_script_for_computer_runs_systemctl_(systemctl_success) 130s === PAUSE TestApplyPolicy/Startup_script_for_computer_runs_systemctl_(systemctl_success) 130s === RUN TestApplyPolicy/Destination_is_not_ready,_refreshing 130s === PAUSE TestApplyPolicy/Destination_is_not_ready,_refreshing 130s === RUN TestApplyPolicy/Systemctl_failing_does_not_impact_user_scripts_update 130s === PAUSE TestApplyPolicy/Systemctl_failing_does_not_impact_user_scripts_update 130s === RUN TestApplyPolicy/Multiple_directories: 130s === PAUSE TestApplyPolicy/Multiple_directories: 130s === RUN TestApplyPolicy/Subfolder_with_script 130s === PAUSE TestApplyPolicy/Subfolder_with_script 130s === RUN TestApplyPolicy/Subfolder_with_same_script_name 130s === PAUSE TestApplyPolicy/Subfolder_with_same_script_name 130s === RUN TestApplyPolicy/Destination_is_already_running,_no_change 130s === PAUSE TestApplyPolicy/Destination_is_already_running,_no_change 130s === RUN TestApplyPolicy/Destination_is_already_ready_but_not_in_session,_refreshing 130s === PAUSE TestApplyPolicy/Destination_is_already_ready_but_not_in_session,_refreshing 130s === RUN TestApplyPolicy/Error_on_script_does_not_exist 130s === PAUSE TestApplyPolicy/Error_on_script_does_not_exist 130s === RUN TestApplyPolicy/Error_on_users_run_directory_Read_Only 130s === PAUSE TestApplyPolicy/Error_on_users_run_directory_Read_Only 130s === RUN TestApplyPolicy/Error_on_save_assets_dumping_failing 130s === PAUSE TestApplyPolicy/Error_on_save_assets_dumping_failing 130s === RUN TestApplyPolicy/No_entries_update_existing_non_ready_folder 130s === PAUSE TestApplyPolicy/No_entries_update_existing_non_ready_folder 130s === CONT TestApplyPolicy/User_lookup_failing_does_not_impact_machine_update 130s time="2025-10-18T15:06:52Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsscripts_that_are_not_executable_are_skipped295355737/001/users/foo/scripts/s\"" 130s === CONT TestNew/error_on_read_only_rundir 130s --- PASS: TestNew (0.00s) 130s --- PASS: TestNew/create_manager (0.00s) 130s --- PASS: TestNew/error_on_read_only_rundir (0.00s) 130s === CONT TestRunScripts/multiple_scripts_are_run_in_order 130s time="2025-10-18T15:06:52Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsmultiple_scripts_are_run_in_order3215485431/001/users/foo/scripts/s\"" 130s time="2025-10-18T15:06:52Z" level=warning msg="\"/tmp/TestRunScriptsscripts_that_are_not_executable_are_skipped295355737/001/users/foo/scripts/scripts/notexecutable.sh\" failed to run\nfork/exec /tmp/TestRunScriptsscripts_that_are_not_executable_are_skipped295355737/001/users/foo/scripts/scripts/notexecutable.sh: permission denied" 130s === CONT TestRunScripts/one_script 130s time="2025-10-18T15:06:52Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsone_script693052662/001/users/foo/scripts/s\"" 130s === CONT TestRunScripts/script_directory_without_shutdown_order_has_no_session_running_flag_after_machine_shutdown 130s time="2025-10-18T15:06:52Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsscript_directory_without_shutdown_order_has_no_se454585374/001/machine/foo/scripts/shutdown\"" 130s time="2025-10-18T15:06:52Z" level=info msg="\"/tmp/TestRunScriptsscript_directory_without_shutdown_order_has_no_se454585374/001/machine/foo/scripts/shutdown\" doesn't exist, but allowed to be missing, skipping" 130s === CONT TestRunScripts/script_directory_without_logoff_order_has_no_session_running_flag_after_user_logoff 130s time="2025-10-18T15:06:52Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsscript_directory_without_logoff_order_has_no_sess3815569210/001/users/foo/scripts/logoff\"" 130s time="2025-10-18T15:06:52Z" level=info msg="\"/tmp/TestRunScriptsscript_directory_without_logoff_order_has_no_sess3815569210/001/users/foo/scripts/logoff\" doesn't exist, but allowed to be missing, skipping" 130s === CONT TestRunScripts/has_no_session_running_flag_after_user_logoff 130s time="2025-10-18T15:06:52Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptshas_no_session_running_flag_after_user_logoff3742729851/001/users/foo/scripts/logoff\"" 130s === CONT TestRunScripts/still_executes_without_existing_running_flag_on_machine_shutdown 130s time="2025-10-18T15:06:52Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsstill_executes_without_existing_running_flag_on_m3714575976/001/machine/foo/scripts/shutdown\"" 130s === CONT TestRunScripts/has_no_session_running_flag_after_machine_shutdown 130s === CONT TestRunScripts/keeps_running_flag_after_non_user_logoff 130s time="2025-10-18T15:06:52Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptshas_no_session_running_flag_after_machine_shutdow1736779452/001/machine/foo/scripts/shutdown\"" 130s time="2025-10-18T15:06:52Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptskeeps_running_flag_after_non_user_logoff1139505930/001/machine/foo/scripts/logoff\"" 130s === CONT TestRunScripts/still_executes_without_existing_running_flag_on_user_logoff 130s time="2025-10-18T15:06:52Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsstill_executes_without_existing_running_flag_on_u3035007207/001/users/foo/scripts/logoff\"" 130s === CONT TestRunScripts/scripts_not_listed_are_not_run 130s time="2025-10-18T15:06:52Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsscripts_not_listed_are_not_run652661549/001/users/foo/scripts/s\"" 130s === CONT TestRunScripts/error_on_argument_not_a_file 130s time="2025-10-18T15:06:52Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptserror_on_argument_not_a_file1525038487/001/users/foo/scripts/s\"" 130s === CONT TestRunScripts/error_on_order_file_not_existing 130s time="2025-10-18T15:06:52Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptserror_on_order_file_not_existing633009919/001/users/foo/scripts/s\"" 130s === CONT TestRunScripts/allow_order_file_missing 130s time="2025-10-18T15:06:52Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsallow_order_file_missing1167038491/001/users/foo/scripts/s\"" 130s time="2025-10-18T15:06:52Z" level=info msg="\"/tmp/TestRunScriptsallow_order_file_missing1167038491/001/users/foo/scripts/s\" doesn't exist, but allowed to be missing, skipping" 130s === CONT TestRunScripts/error_on_not_ready_for_execution 130s time="2025-10-18T15:06:52Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptserror_on_not_ready_for_execution338215058/001/users/foo/scripts/s\"" 130s === CONT TestRunScripts/spaces_and_empty_lines_are_skipped 130s time="2025-10-18T15:06:52Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsspaces_and_empty_lines_are_skipped4103046731/001/users/foo/scripts/s\"" 130s === CONT TestRunScripts/keeps_running_flag_after_non_machine_shutdown 130s time="2025-10-18T15:06:52Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptskeeps_running_flag_after_non_machine_shutdown4211618260/001/users/foo/scripts/shutdown\"" 130s === CONT TestRunScripts/scripts_referenced_in_subdirectories 130s time="2025-10-18T15:06:52Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsscripts_referenced_in_subdirectories1979410476/001/users/foo/scripts/s\"" 130s === CONT TestApplyPolicy/Startup_script_for_computer_runs_systemctl_(systemctl_success) 130s time="2025-10-18T15:06:52Z" level=info msg="Running machine startup scripts" 130s === CONT TestApplyPolicy/No_entries_update_existing_non_ready_folder 130s === CONT TestApplyPolicy/Error_on_save_assets_dumping_failing 130s === CONT TestApplyPolicy/Error_on_users_run_directory_Read_Only 130s === CONT TestApplyPolicy/Error_on_script_does_not_exist 130s === CONT TestApplyPolicy/Destination_is_already_ready_but_not_in_session,_refreshing 130s === CONT TestApplyPolicy/Destination_is_already_running,_no_change 130s time="2025-10-18T15:06:52Z" level=info msg="\"/tmp/TestApplyPolicyDestination_is_already_running,_no_change2207912530/001/machine/scripts/.running\" already exists, a session is already running, ignoring." 130s === CONT TestApplyPolicy/Subfolder_with_same_script_name 130s === CONT TestApplyPolicy/Subfolder_with_script 130s === CONT TestApplyPolicy/Multiple_directories: 130s --- PASS: TestRunScripts (0.00s) 130s --- PASS: TestRunScripts/scripts_that_are_not_executable_are_skipped (0.02s) 130s --- PASS: TestRunScripts/one_script (0.01s) 130s --- PASS: TestRunScripts/script_directory_without_shutdown_order_has_no_session_running_flag_after_machine_shutdown (0.00s) 130s --- PASS: TestRunScripts/script_directory_without_logoff_order_has_no_session_running_flag_after_user_logoff (0.00s) 130s --- PASS: TestRunScripts/multiple_scripts_are_run_in_order (0.04s) 130s --- PASS: TestRunScripts/still_executes_without_existing_running_flag_on_machine_shutdown (0.03s) 130s --- PASS: TestRunScripts/has_no_session_running_flag_after_user_logoff (0.04s) 130s --- PASS: TestRunScripts/keeps_running_flag_after_non_user_logoff (0.03s) 130s --- PASS: TestRunScripts/has_no_session_running_flag_after_machine_shutdown (0.03s) 130s --- PASS: TestRunScripts/scripts_not_listed_are_not_run (0.02s) 130s --- PASS: TestRunScripts/error_on_argument_not_a_file (0.00s) 130s --- PASS: TestRunScripts/error_on_order_file_not_existing (0.00s) 130s --- PASS: TestRunScripts/allow_order_file_missing (0.00s) 130s --- PASS: TestRunScripts/error_on_not_ready_for_execution (0.00s) 130s --- PASS: TestRunScripts/still_executes_without_existing_running_flag_on_user_logoff (0.03s) 130s --- PASS: TestRunScripts/spaces_and_empty_lines_are_skipped (0.01s) 130s --- PASS: TestRunScripts/keeps_running_flag_after_non_machine_shutdown (0.03s) 130s --- PASS: TestRunScripts/scripts_referenced_in_subdirectories (0.04s) 130s === CONT TestApplyPolicy/Systemctl_failing_does_not_impact_user_scripts_update 130s === CONT TestApplyPolicy/Destination_is_not_ready,_refreshing 130s === CONT TestApplyPolicy/Error_on_running_start_script_that_runs_systemctl_and_systemctl_fails 130s === CONT TestApplyPolicy/Computer,_no_systemctl_with_other_directory_than_startup 130s === CONT TestApplyPolicy/Empty_entries_are_discared 130s time="2025-10-18T15:06:52Z" level=info msg="Running machine startup scripts" 130s === CONT TestApplyPolicy/Same_script_is_used_multiple_times 130s === CONT TestApplyPolicy/One_directory,_multiple_scripts_in_order 130s === CONT TestApplyPolicy/One_script 130s === CONT TestApplyPolicy/Error_on_user_lookup_failing 130s === CONT TestApplyPolicy/No_entries_is_an_empty_folder 130s === CONT TestApplyPolicy/Error_on_invalid_UID 130s === CONT TestApplyPolicy/Error_on_invalid_GID 130s === CONT TestApplyPolicy/Error_on_subfolder_listed 130s --- PASS: TestApplyPolicy (0.00s) 130s --- PASS: TestApplyPolicy/User_lookup_failing_does_not_impact_machine_update (0.00s) 130s --- PASS: TestApplyPolicy/Startup_script_for_computer_runs_systemctl_(systemctl_success) (0.00s) 130s --- PASS: TestApplyPolicy/No_entries_update_existing_non_ready_folder (0.00s) 130s --- PASS: TestApplyPolicy/Error_on_save_assets_dumping_failing (0.00s) 130s --- PASS: TestApplyPolicy/Error_on_users_run_directory_Read_Only (0.00s) 130s --- PASS: TestApplyPolicy/Error_on_script_does_not_exist (0.00s) 130s --- PASS: TestApplyPolicy/Destination_is_already_ready_but_not_in_session,_refreshing (0.00s) 130s --- PASS: TestApplyPolicy/Destination_is_already_running,_no_change (0.00s) 130s --- PASS: TestApplyPolicy/Subfolder_with_same_script_name (0.00s) 130s --- PASS: TestApplyPolicy/Subfolder_with_script (0.00s) 130s --- PASS: TestApplyPolicy/Multiple_directories: (0.00s) 130s --- PASS: TestApplyPolicy/Destination_is_not_ready,_refreshing (0.00s) 130s --- PASS: TestApplyPolicy/Systemctl_failing_does_not_impact_user_scripts_update (0.00s) 130s --- PASS: TestApplyPolicy/Computer,_no_systemctl_with_other_directory_than_startup (0.00s) 130s --- PASS: TestApplyPolicy/Empty_entries_are_discared (0.00s) 130s --- PASS: TestApplyPolicy/Error_on_running_start_script_that_runs_systemctl_and_systemctl_fails (0.00s) 130s --- PASS: TestApplyPolicy/One_directory,_multiple_scripts_in_order (0.00s) 130s --- PASS: TestApplyPolicy/Same_script_is_used_multiple_times (0.00s) 130s --- PASS: TestApplyPolicy/One_script (0.00s) 130s --- PASS: TestApplyPolicy/Error_on_user_lookup_failing (0.00s) 130s --- PASS: TestApplyPolicy/Error_on_invalid_UID (0.00s) 130s --- PASS: TestApplyPolicy/Error_on_invalid_GID (0.00s) 130s --- PASS: TestApplyPolicy/Error_on_subfolder_listed (0.00s) 130s --- PASS: TestApplyPolicy/No_entries_is_an_empty_folder (0.00s) 130s PASS 130s ok github.com/ubuntu/adsys/internal/policies/scripts 0.205s 130s === RUN TestExclusiveLockExec 130s --- PASS: TestExclusiveLockExec (0.01s) 130s === RUN TestExclusiveLockSmb 130s --- PASS: TestExclusiveLockSmb (0.01s) 130s === RUN TestMultipleExecLocksOnlyReleaseOnLast 130s --- PASS: TestMultipleExecLocksOnlyReleaseOnLast (0.01s) 130s === RUN TestMultipleSmbLocksOnlyReleaseOnLast 130s --- PASS: TestMultipleSmbLocksOnlyReleaseOnLast (0.01s) 130s PASS 130s ok github.com/ubuntu/adsys/internal/smbsafe 0.045s 131s === RUN TestAddStdoutForwarder 131s --- PASS: TestAddStdoutForwarder (0.00s) 131s === RUN TestAddStderrForwarder 131s --- PASS: TestAddStderrForwarder (0.00s) 131s === RUN TestAddStdoutForwarderEnsureStderrNoPolluted 131s --- PASS: TestAddStdoutForwarderEnsureStderrNoPolluted (0.00s) 131s === RUN TestAddForwarderAndDisconnect 131s --- PASS: TestAddForwarderAndDisconnect (0.00s) 131s === RUN TestAddForwardersGraduallyAndDisconnect 131s --- PASS: TestAddForwardersGraduallyAndDisconnect (0.01s) 131s === RUN TestAddForwarderDifferentWriterStdoutStderr 131s --- PASS: TestAddForwarderDifferentWriterStdoutStderr (0.00s) 131s === RUN TestAddForwarderSameWriterStdoutStderr 131s --- PASS: TestAddForwarderSameWriterStdoutStderr (0.01s) 131s === RUN TestAddStdoutForwarderWithBlockedStdout 131s time="2025-10-18T15:06:53Z" level=warning msg="Failed to write to regular output: write |1: file already closed" 131s time="2025-10-18T15:06:53Z" level=warning msg="Failed to write to regular output: write |1: file already closed" 131s time="2025-10-18T15:06:53Z" level=warning msg="Failed to write to regular output: write |1: file already closed" 131s --- PASS: TestAddStdoutForwarderWithBlockedStdout (0.01s) 131s === RUN TestAddStderrForwarderWithBlockedStderr 131s time="2025-10-18T15:06:53Z" level=warning msg="Failed to write to regular output: write |1: file already closed" 131s time="2025-10-18T15:06:53Z" level=warning msg="Failed to write to regular output: write |1: file already closed" 131s time="2025-10-18T15:06:53Z" level=warning msg="Failed to write to regular output: write |1: file already closed" 131s --- PASS: TestAddStderrForwarderWithBlockedStderr (0.01s) 131s === RUN TestAddStdoutForwarderOneWithFailingForwarder 131s time="2025-10-18T15:06:53Z" level=warning msg="Failed to forward log: Error from failedWriter" 131s time="2025-10-18T15:06:53Z" level=warning msg="Failed to forward log: Error from failedWriter" 131s time="2025-10-18T15:06:53Z" level=warning msg="Failed to forward log: Error from failedWriter" 131s --- PASS: TestAddStdoutForwarderOneWithFailingForwarder (0.01s) 131s PASS 131s ok github.com/ubuntu/adsys/internal/stdforward 0.052s 131s === RUN TestManageUnit 131s === PAUSE TestManageUnit 131s === RUN TestDaemonReload 131s === PAUSE TestDaemonReload 131s === CONT TestManageUnit 131s === CONT TestDaemonReload 131s --- PASS: TestDaemonReload (0.00s) 131s === RUN TestManageUnit/Enable_unit_that_exists 131s === PAUSE TestManageUnit/Enable_unit_that_exists 131s === RUN TestManageUnit/Disable_unit_that_exists 131s === PAUSE TestManageUnit/Disable_unit_that_exists 131s === RUN TestManageUnit/Error_when_starting_unit_that_doesn't_exist 131s === PAUSE TestManageUnit/Error_when_starting_unit_that_doesn't_exist 131s === RUN TestManageUnit/Error_when_starting_failing_unit 131s === PAUSE TestManageUnit/Error_when_starting_failing_unit 131s === RUN TestManageUnit/Error_when_stopping_failing_unit 131s === PAUSE TestManageUnit/Error_when_stopping_failing_unit 131s === RUN TestManageUnit/Error_when_disabling_unit_that_doesn't_exist 131s === PAUSE TestManageUnit/Error_when_disabling_unit_that_doesn't_exist 131s === RUN TestManageUnit/Start_unit_that_exists 131s === PAUSE TestManageUnit/Start_unit_that_exists 131s === RUN TestManageUnit/Stop_unit_that_exists 131s === PAUSE TestManageUnit/Stop_unit_that_exists 131s === RUN TestManageUnit/Error_when_stopping_unit_that_doesn't_exist 131s === PAUSE TestManageUnit/Error_when_stopping_unit_that_doesn't_exist 131s === RUN TestManageUnit/Error_when_enabling_unit_that_doesn't_exist 131s === PAUSE TestManageUnit/Error_when_enabling_unit_that_doesn't_exist 131s === CONT TestManageUnit/Enable_unit_that_exists 131s === CONT TestManageUnit/Error_when_enabling_unit_that_doesn't_exist 131s === CONT TestManageUnit/Error_when_stopping_unit_that_doesn't_exist 131s === CONT TestManageUnit/Stop_unit_that_exists 131s === CONT TestManageUnit/Start_unit_that_exists 131s === CONT TestManageUnit/Error_when_disabling_unit_that_doesn't_exist 131s === CONT TestManageUnit/Error_when_stopping_failing_unit 131s === CONT TestManageUnit/Error_when_starting_failing_unit 131s === CONT TestManageUnit/Error_when_starting_unit_that_doesn't_exist 131s === CONT TestManageUnit/Disable_unit_that_exists 131s --- PASS: TestManageUnit (0.00s) 131s --- PASS: TestManageUnit/Enable_unit_that_exists (0.00s) 131s --- PASS: TestManageUnit/Error_when_enabling_unit_that_doesn't_exist (0.00s) 131s --- PASS: TestManageUnit/Error_when_stopping_unit_that_doesn't_exist (0.00s) 131s --- PASS: TestManageUnit/Start_unit_that_exists (0.00s) 131s --- PASS: TestManageUnit/Stop_unit_that_exists (0.00s) 131s --- PASS: TestManageUnit/Error_when_stopping_failing_unit (0.00s) 131s --- PASS: TestManageUnit/Error_when_disabling_unit_that_doesn't_exist (0.00s) 131s --- PASS: TestManageUnit/Error_when_starting_unit_that_doesn't_exist (0.00s) 131s --- PASS: TestManageUnit/Error_when_starting_failing_unit (0.00s) 131s --- PASS: TestManageUnit/Disable_unit_that_exists (0.00s) 131s PASS 131s ok github.com/ubuntu/adsys/internal/systemd 0.014s 131s ? github.com/ubuntu/adsys/internal/testutils [no test files] 131s ? github.com/ubuntu/adsys/internal/watchdservice [no test files] 131s === RUN TestInteractiveInput 131s === RUN TestInteractiveInput/Config_file_is_absent_and_input_is_relative 131s === RUN TestInteractiveInput/Config_file_is_absent_and_input_is_a_dir 131s === RUN TestInteractiveInput/Multiple_existing_directories,_can_cycle_between_the_inputs 131s === RUN TestInteractiveInput/No_directories,_focus_on_dir_input 131s === RUN TestInteractiveInput/Submit_with_default_config 131s === RUN TestInteractiveInput/Existing_config_file_is_passed_in_and_contains_directories,_not_all_which_exist_on_the_system 131s === RUN TestInteractiveInput/Found_installed_service,_config_overridden 131s === RUN TestInteractiveInput/Submit_with_fresh_config_in_current_directory 131s === RUN TestInteractiveInput/Submit_with_fresh_config_in_nested_directory 131s === RUN TestInteractiveInput/Submit_with_duplicate_directories 131s === RUN TestInteractiveInput/Submit_with_dot_directories_is_normalized 131s === RUN TestInteractiveInput/Submit_with_double_dot_directories_is_normalized 131s === RUN TestInteractiveInput/Config_file_exists 131s === RUN TestInteractiveInput/Found_installed_service,_config_not_overridden 131s === RUN TestInteractiveInput/Directory_does_not_exist,_block_input 131s === RUN TestInteractiveInput/Existing_config_file_is_passed_in_and_contains_directories_which_exist_on_the_system 131s === RUN TestInteractiveInput/Directory_exists 131s === RUN TestInteractiveInput/Dot_and_double_dot_directory_inputs_are_normalized 131s === RUN TestInteractiveInput/Directory_is_a_file,_block_input 131s === RUN TestInteractiveInput/Multiple_existing_directories,_can_delete_them 131s === RUN TestInteractiveInput/Submit_with_directory_as_config_input 131s === RUN TestInteractiveInput/Other_navigation_tests 131s === RUN TestInteractiveInput/Existing_config_file_is_passed_in_and_is_empty_or_has_no_directories 131s === RUN TestInteractiveInput/Initial_view 131s === RUN TestInteractiveInput/Config_file_is_absent_and_input_is_absolute 131s --- PASS: TestInteractiveInput (0.02s) 131s --- PASS: TestInteractiveInput/Config_file_is_absent_and_input_is_relative (0.00s) 131s --- PASS: TestInteractiveInput/Config_file_is_absent_and_input_is_a_dir (0.00s) 131s --- PASS: TestInteractiveInput/Multiple_existing_directories,_can_cycle_between_the_inputs (0.00s) 131s --- PASS: TestInteractiveInput/No_directories,_focus_on_dir_input (0.00s) 131s --- PASS: TestInteractiveInput/Submit_with_default_config (0.00s) 131s --- PASS: TestInteractiveInput/Existing_config_file_is_passed_in_and_contains_directories,_not_all_which_exist_on_the_system (0.00s) 131s --- PASS: TestInteractiveInput/Found_installed_service,_config_overridden (0.00s) 131s --- PASS: TestInteractiveInput/Submit_with_fresh_config_in_current_directory (0.00s) 131s --- PASS: TestInteractiveInput/Submit_with_fresh_config_in_nested_directory (0.00s) 131s --- PASS: TestInteractiveInput/Submit_with_duplicate_directories (0.00s) 131s --- PASS: TestInteractiveInput/Submit_with_dot_directories_is_normalized (0.00s) 131s --- PASS: TestInteractiveInput/Submit_with_double_dot_directories_is_normalized (0.00s) 131s --- PASS: TestInteractiveInput/Config_file_exists (0.00s) 131s --- PASS: TestInteractiveInput/Found_installed_service,_config_not_overridden (0.00s) 131s --- PASS: TestInteractiveInput/Directory_does_not_exist,_block_input (0.00s) 131s --- PASS: TestInteractiveInput/Existing_config_file_is_passed_in_and_contains_directories_which_exist_on_the_system (0.00s) 131s --- PASS: TestInteractiveInput/Directory_exists (0.00s) 131s --- PASS: TestInteractiveInput/Dot_and_double_dot_directory_inputs_are_normalized (0.00s) 131s --- PASS: TestInteractiveInput/Directory_is_a_file,_block_input (0.00s) 131s --- PASS: TestInteractiveInput/Multiple_existing_directories,_can_delete_them (0.00s) 131s --- PASS: TestInteractiveInput/Submit_with_directory_as_config_input (0.00s) 131s --- PASS: TestInteractiveInput/Other_navigation_tests (0.00s) 131s --- PASS: TestInteractiveInput/Existing_config_file_is_passed_in_and_is_empty_or_has_no_directories (0.00s) 131s --- PASS: TestInteractiveInput/Initial_view (0.00s) 131s --- PASS: TestInteractiveInput/Config_file_is_absent_and_input_is_absolute (0.00s) 131s === RUN TestInteractiveInstall 131s watchdtui_test.go:408: Test has to be run as root, skipping... 131s --- SKIP: TestInteractiveInstall (0.00s) 131s === RUN TestInteractiveUpdate 131s watchdtui_test.go:456: Test has to be run as root, skipping... 131s --- SKIP: TestInteractiveUpdate (0.00s) 131s PASS 131s ok github.com/ubuntu/adsys/internal/watchdtui 0.025s 135s === RUN TestWatchDirectory 135s === PAUSE TestWatchDirectory 135s === RUN TestRefreshGracePeriod 135s === PAUSE TestRefreshGracePeriod 135s === RUN TestUpdateDirs 135s === PAUSE TestUpdateDirs 135s === RUN TestUpdateDirsFailing 135s === PAUSE TestUpdateDirsFailing 135s === RUN TestUpdateDirsWithEmptyDirSlice 135s === PAUSE TestUpdateDirsWithEmptyDirSlice 135s === RUN TestUpdateDirsOnStoppedWatcher 135s === PAUSE TestUpdateDirsOnStoppedWatcher 135s === RUN TestStopWithoutStart 135s === PAUSE TestStopWithoutStart 135s === CONT TestWatchDirectory 135s === RUN TestWatchDirectory/Remove_file 135s === CONT TestUpdateDirsWithEmptyDirSlice 135s time="2025-10-18T15:06:53Z" level=debug msg="Watching /tmp/TestUpdateDirsWithEmptyDirSlice2647453340/001/watchdir and children" 135s time="2025-10-18T15:06:53Z" level=debug msg="Watching: /tmp/TestUpdateDirsWithEmptyDirSlice2647453340/001/watchdir" 135s time="2025-10-18T15:06:53Z" level=debug msg="Watching: /tmp/TestUpdateDirsWithEmptyDirSlice2647453340/001/watchdir/GPT.INI" 135s time="2025-10-18T15:06:53Z" level=debug msg="Watching: /tmp/TestUpdateDirsWithEmptyDirSlice2647453340/001/watchdir/alreadyexists" 135s time="2025-10-18T15:06:53Z" level=debug msg="Watching: /tmp/TestUpdateDirsWithEmptyDirSlice2647453340/001/watchdir/alreadyexistsDir" 135s time="2025-10-18T15:06:53Z" level=debug msg="Watching: /tmp/TestUpdateDirsWithEmptyDirSlice2647453340/001/watchdir/alreadyexistsDir/GPT.INI" 135s time="2025-10-18T15:06:53Z" level=debug msg="Watching: /tmp/TestUpdateDirsWithEmptyDirSlice2647453340/001/watchdir/alreadyexistsDir/alreadyexists" 135s === PAUSE TestWatchDirectory/Remove_file 135s === RUN TestWatchDirectory/New_file,_subdir 135s === PAUSE TestWatchDirectory/New_file,_subdir 135s === RUN TestWatchDirectory/Multiple_nested_subdirectories 135s === PAUSE TestWatchDirectory/Multiple_nested_subdirectories 135s === RUN TestWatchDirectory/Multiple_nested_subdirectories,_only_update_nested_file 135s === PAUSE TestWatchDirectory/Multiple_nested_subdirectories,_only_update_nested_file 135s === RUN TestWatchDirectory/Combined_case 135s === PAUSE TestWatchDirectory/Combined_case 135s === RUN TestWatchDirectory/Error_on_non_existing_directory 135s === PAUSE TestWatchDirectory/Error_on_non_existing_directory 135s time="2025-10-18T15:06:53Z" level=debug msg="Updating directories to []" 135s time="2025-10-18T15:06:53Z" level=info msg="Watcher stopped" 135s === RUN TestWatchDirectory/Error_on_updating_malformed_GPT.ini 135s === PAUSE TestWatchDirectory/Error_on_updating_malformed_GPT.ini 135s === RUN TestWatchDirectory/New_file,_no_gpt.ini 135s === PAUSE TestWatchDirectory/New_file,_no_gpt.ini 135s === RUN TestWatchDirectory/Remove_root_directory 135s === PAUSE TestWatchDirectory/Remove_root_directory 135s === RUN TestWatchDirectory/New_subdir 135s === PAUSE TestWatchDirectory/New_subdir 135s === RUN TestWatchDirectory/No_update,_no_gpt.ini 135s === PAUSE TestWatchDirectory/No_update,_no_gpt.ini 135s === RUN TestWatchDirectory/Rename_file 135s === PAUSE TestWatchDirectory/Rename_file 135s === RUN TestWatchDirectory/Existing_file,_subdir 135s === PAUSE TestWatchDirectory/Existing_file,_subdir 135s === RUN TestWatchDirectory/Nested_new_subdirs 135s === PAUSE TestWatchDirectory/Nested_new_subdirs 135s === RUN TestWatchDirectory/Multiple_directories,_only_one_is_updated 135s === PAUSE TestWatchDirectory/Multiple_directories,_only_one_is_updated 135s === RUN TestWatchDirectory/Error_on_listing_no_directory 135s === PAUSE TestWatchDirectory/Error_on_listing_no_directory 135s === RUN TestWatchDirectory/Update_with_existing_gpt.ini 135s === PAUSE TestWatchDirectory/Update_with_existing_gpt.ini 135s === RUN TestWatchDirectory/Update_existing_file 135s === PAUSE TestWatchDirectory/Update_existing_file 135s === RUN TestWatchDirectory/Updating_gpt.ini_is_a_no-op 135s === PAUSE TestWatchDirectory/Updating_gpt.ini_is_a_no-op 135s === RUN TestWatchDirectory/Rename_file_and_update 135s === PAUSE TestWatchDirectory/Rename_file_and_update 135s === RUN TestWatchDirectory/New_subdir_without_file 135s === PAUSE TestWatchDirectory/New_subdir_without_file 135s === RUN TestWatchDirectory/Multiple_directories_with_different_versions,_all_updated 135s === PAUSE TestWatchDirectory/Multiple_directories_with_different_versions,_all_updated 135s === RUN TestWatchDirectory/No_update,_existing_gpt.ini 135s === PAUSE TestWatchDirectory/No_update,_existing_gpt.ini 135s === CONT TestStopWithoutStart 135s --- PASS: TestStopWithoutStart (0.00s) 135s === CONT TestUpdateDirsOnStoppedWatcher 135s time="2025-10-18T15:06:53Z" level=debug msg="Updating directories to [/tmp/TestUpdateDirsOnStoppedWatcher1925740559/001/curdir]" 135s time="2025-10-18T15:06:53Z" level=warning msg="Error stopping watcher: the service is already stopping or not running" 135s time="2025-10-18T15:06:53Z" level=debug msg="Watching /tmp/TestUpdateDirsOnStoppedWatcher1925740559/001/curdir and children" 135s time="2025-10-18T15:06:53Z" level=debug msg="Watching: /tmp/TestUpdateDirsOnStoppedWatcher1925740559/001/curdir" 135s time="2025-10-18T15:06:53Z" level=debug msg="Watching: /tmp/TestUpdateDirsOnStoppedWatcher1925740559/001/curdir/GPT.INI" 135s time="2025-10-18T15:06:53Z" level=debug msg="Watching: /tmp/TestUpdateDirsOnStoppedWatcher1925740559/001/curdir/alreadyexists" 135s time="2025-10-18T15:06:53Z" level=debug msg="Watching: /tmp/TestUpdateDirsOnStoppedWatcher1925740559/001/curdir/alreadyexistsDir" 135s time="2025-10-18T15:06:53Z" level=debug msg="Watching: /tmp/TestUpdateDirsOnStoppedWatcher1925740559/001/curdir/alreadyexistsDir/GPT.INI" 135s time="2025-10-18T15:06:53Z" level=debug msg="Watching: /tmp/TestUpdateDirsOnStoppedWatcher1925740559/001/curdir/alreadyexistsDir/alreadyexists" 135s time="2025-10-18T15:06:53Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsOnStoppedWatcher1925740559/001/curdir/alreadyexists\"" 135s time="2025-10-18T15:06:53Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsOnStoppedWatcher1925740559/001/curdir/alreadyexists\"" 135s time="2025-10-18T15:06:53Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsOnStoppedWatcher1925740559/001/curdir/alreadyexists\"" 135s time="2025-10-18T15:06:53Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsOnStoppedWatcher1925740559/001/curdir/alreadyexists\"" 135s --- PASS: TestUpdateDirsWithEmptyDirSlice (0.01s) 135s === CONT TestUpdateDirsFailing 135s time="2025-10-18T15:06:53Z" level=debug msg="Watching /tmp/TestUpdateDirsFailing1302702652/001/remove and children" 135s time="2025-10-18T15:06:53Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing1302702652/001/remove" 135s time="2025-10-18T15:06:53Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing1302702652/001/remove/GPT.INI" 135s time="2025-10-18T15:06:53Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing1302702652/001/remove/alreadyexists" 135s time="2025-10-18T15:06:53Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing1302702652/001/remove/alreadyexistsDir" 135s time="2025-10-18T15:06:53Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing1302702652/001/remove/alreadyexistsDir/GPT.INI" 135s time="2025-10-18T15:06:53Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing1302702652/001/remove/alreadyexistsDir/alreadyexists" 135s time="2025-10-18T15:06:53Z" level=debug msg="Watching /tmp/TestUpdateDirsFailing1302702652/001/keep and children" 135s time="2025-10-18T15:06:53Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing1302702652/001/keep" 135s time="2025-10-18T15:06:53Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing1302702652/001/keep/GPT.INI" 135s time="2025-10-18T15:06:53Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing1302702652/001/keep/alreadyexists" 135s time="2025-10-18T15:06:53Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing1302702652/001/keep/alreadyexistsDir" 135s time="2025-10-18T15:06:53Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing1302702652/001/keep/alreadyexistsDir/GPT.INI" 135s time="2025-10-18T15:06:53Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing1302702652/001/keep/alreadyexistsDir/alreadyexists" 135s time="2025-10-18T15:06:53Z" level=debug msg="Updating directories to [/tmp/TestUpdateDirsFailing1302702652/001/keep unexisting]" 135s time="2025-10-18T15:06:53Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsFailing1302702652/001/keep/alreadyexists\"" 135s time="2025-10-18T15:06:53Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsFailing1302702652/001/keep/alreadyexists\"" 135s time="2025-10-18T15:06:53Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsFailing1302702652/001/keep/alreadyexists\"" 135s time="2025-10-18T15:06:53Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsFailing1302702652/001/keep/alreadyexists\"" 135s time="2025-10-18T15:06:53Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsFailing1302702652/001/remove/alreadyexists\"" 135s time="2025-10-18T15:06:53Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsFailing1302702652/001/remove/alreadyexists\"" 135s time="2025-10-18T15:06:53Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsFailing1302702652/001/remove/alreadyexists\"" 135s time="2025-10-18T15:06:53Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsFailing1302702652/001/remove/alreadyexists\"" 135s time="2025-10-18T15:06:53Z" level=info msg="Watcher stopped" 135s time="2025-10-18T15:06:53Z" level=info msg="Bumping version for /tmp/TestUpdateDirsFailing1302702652/001/keep/GPT.INI" 135s time="2025-10-18T15:06:53Z" level=info msg="Bumping version for /tmp/TestUpdateDirsFailing1302702652/001/remove/GPT.INI" 135s time="2025-10-18T15:06:53Z" level=info msg="Watcher stopped" 135s time="2025-10-18T15:06:53Z" level=info msg="Bumping version for /tmp/TestUpdateDirsOnStoppedWatcher1925740559/001/curdir/GPT.INI" 135s --- PASS: TestUpdateDirsOnStoppedWatcher (0.23s) 135s === CONT TestUpdateDirs 135s --- PASS: TestUpdateDirsFailing (0.23s) 135s === CONT TestRefreshGracePeriod 135s time="2025-10-18T15:06:53Z" level=debug msg="Watching /tmp/TestRefreshGracePeriod4243233404/001/withsubdir and children" 135s time="2025-10-18T15:06:53Z" level=debug msg="Watching: /tmp/TestRefreshGracePeriod4243233404/001/withsubdir" 135s time="2025-10-18T15:06:53Z" level=debug msg="Watching: /tmp/TestRefreshGracePeriod4243233404/001/withsubdir/GPT.INI" 135s time="2025-10-18T15:06:53Z" level=debug msg="Watching: /tmp/TestRefreshGracePeriod4243233404/001/withsubdir/alreadyexists" 135s time="2025-10-18T15:06:53Z" level=debug msg="Watching: /tmp/TestRefreshGracePeriod4243233404/001/withsubdir/alreadyexistsDir" 135s time="2025-10-18T15:06:53Z" level=debug msg="Watching: /tmp/TestRefreshGracePeriod4243233404/001/withsubdir/alreadyexistsDir/GPT.INI" 135s time="2025-10-18T15:06:53Z" level=debug msg="Watching: /tmp/TestRefreshGracePeriod4243233404/001/withsubdir/alreadyexistsDir/alreadyexists" 135s time="2025-10-18T15:06:53Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod4243233404/001/withsubdir/alreadyexists\"" 135s time="2025-10-18T15:06:53Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod4243233404/001/withsubdir/alreadyexists\"" 135s time="2025-10-18T15:06:53Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod4243233404/001/withsubdir/alreadyexists\"" 135s time="2025-10-18T15:06:53Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod4243233404/001/withsubdir/alreadyexists\"" 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching /tmp/TestUpdateDirs2571098097/001/remove and children" 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching: /tmp/TestUpdateDirs2571098097/001/remove" 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching: /tmp/TestUpdateDirs2571098097/001/remove/GPT.INI" 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching: /tmp/TestUpdateDirs2571098097/001/remove/alreadyexists" 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching: /tmp/TestUpdateDirs2571098097/001/remove/alreadyexistsDir" 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching: /tmp/TestUpdateDirs2571098097/001/remove/alreadyexistsDir/GPT.INI" 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching: /tmp/TestUpdateDirs2571098097/001/remove/alreadyexistsDir/alreadyexists" 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching /tmp/TestUpdateDirs2571098097/001/keep and children" 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching: /tmp/TestUpdateDirs2571098097/001/keep" 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching: /tmp/TestUpdateDirs2571098097/001/keep/GPT.INI" 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching: /tmp/TestUpdateDirs2571098097/001/keep/alreadyexists" 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching: /tmp/TestUpdateDirs2571098097/001/keep/alreadyexistsDir" 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching: /tmp/TestUpdateDirs2571098097/001/keep/alreadyexistsDir/GPT.INI" 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching: /tmp/TestUpdateDirs2571098097/001/keep/alreadyexistsDir/alreadyexists" 135s time="2025-10-18T15:06:54Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs2571098097/001/remove/alreadyexists\"" 135s time="2025-10-18T15:06:54Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs2571098097/001/remove/alreadyexists\"" 135s time="2025-10-18T15:06:54Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs2571098097/001/remove/alreadyexists\"" 135s time="2025-10-18T15:06:54Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs2571098097/001/remove/alreadyexists\"" 135s time="2025-10-18T15:06:54Z" level=debug msg="Updating directories to [/tmp/TestUpdateDirs2571098097/001/keep /tmp/TestUpdateDirs2571098097/001/add]" 135s time="2025-10-18T15:06:54Z" level=info msg="Watcher stopped" 135s time="2025-10-18T15:06:54Z" level=info msg="Bumping version for /tmp/TestUpdateDirs2571098097/001/remove/GPT.INI" 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching /tmp/TestUpdateDirs2571098097/001/keep and children" 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching: /tmp/TestUpdateDirs2571098097/001/keep" 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching: /tmp/TestUpdateDirs2571098097/001/keep/GPT.INI" 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching: /tmp/TestUpdateDirs2571098097/001/keep/alreadyexists" 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching: /tmp/TestUpdateDirs2571098097/001/keep/alreadyexistsDir" 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching: /tmp/TestUpdateDirs2571098097/001/keep/alreadyexistsDir/GPT.INI" 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching: /tmp/TestUpdateDirs2571098097/001/keep/alreadyexistsDir/alreadyexists" 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching /tmp/TestUpdateDirs2571098097/001/add and children" 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching: /tmp/TestUpdateDirs2571098097/001/add" 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching: /tmp/TestUpdateDirs2571098097/001/add/GPT.INI" 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching: /tmp/TestUpdateDirs2571098097/001/add/alreadyexists" 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching: /tmp/TestUpdateDirs2571098097/001/add/alreadyexistsDir" 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching: /tmp/TestUpdateDirs2571098097/001/add/alreadyexistsDir/GPT.INI" 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching: /tmp/TestUpdateDirs2571098097/001/add/alreadyexistsDir/alreadyexists" 135s time="2025-10-18T15:06:54Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs2571098097/001/keep/alreadyexists\"" 135s time="2025-10-18T15:06:54Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs2571098097/001/keep/alreadyexists\"" 135s time="2025-10-18T15:06:54Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs2571098097/001/keep/alreadyexists\"" 135s time="2025-10-18T15:06:54Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs2571098097/001/keep/alreadyexists\"" 135s time="2025-10-18T15:06:54Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs2571098097/001/add/alreadyexists\"" 135s time="2025-10-18T15:06:54Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs2571098097/001/add/alreadyexists\"" 135s time="2025-10-18T15:06:54Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs2571098097/001/add/alreadyexists\"" 135s time="2025-10-18T15:06:54Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs2571098097/001/add/alreadyexists\"" 135s time="2025-10-18T15:06:54Z" level=info msg="Watcher stopped" 135s time="2025-10-18T15:06:54Z" level=info msg="Bumping version for /tmp/TestUpdateDirs2571098097/001/keep/GPT.INI" 135s time="2025-10-18T15:06:54Z" level=info msg="Bumping version for /tmp/TestUpdateDirs2571098097/001/add/GPT.INI" 135s --- PASS: TestUpdateDirs (0.52s) 135s === CONT TestWatchDirectory/Remove_file 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching /tmp/TestWatchDirectoryRemove_file794952780/001/one_file and children" 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRemove_file794952780/001/one_file" 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRemove_file794952780/001/one_file/GPT.INI" 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRemove_file794952780/001/one_file/alreadyexists" 135s time="2025-10-18T15:06:54Z" level=debug msg="Got event: CHMOD \"/tmp/TestWatchDirectoryRemove_file794952780/001/one_file/alreadyexists\"" 135s time="2025-10-18T15:06:54Z" level=debug msg="Got event: REMOVE \"/tmp/TestWatchDirectoryRemove_file794952780/001/one_file/alreadyexists\"" 135s time="2025-10-18T15:06:54Z" level=debug msg="Failed to remove watcher on \"/tmp/TestWatchDirectoryRemove_file794952780/001/one_file/alreadyexists\": fsnotify: can't remove non-existent watch: /tmp/TestWatchDirectoryRemove_file794952780/001/one_file/alreadyexists" 135s time="2025-10-18T15:06:54Z" level=debug msg="Got event: REMOVE \"/tmp/TestWatchDirectoryRemove_file794952780/001/one_file/alreadyexists\"" 135s time="2025-10-18T15:06:54Z" level=debug msg="Failed to remove watcher on \"/tmp/TestWatchDirectoryRemove_file794952780/001/one_file/alreadyexists\": fsnotify: can't remove non-existent watch: /tmp/TestWatchDirectoryRemove_file794952780/001/one_file/alreadyexists" 135s time="2025-10-18T15:06:54Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod4243233404/001/withsubdir/alreadyexistsDir/alreadyexists\"" 135s time="2025-10-18T15:06:54Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod4243233404/001/withsubdir/alreadyexistsDir/alreadyexists\"" 135s time="2025-10-18T15:06:54Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod4243233404/001/withsubdir/alreadyexistsDir/alreadyexists\"" 135s time="2025-10-18T15:06:54Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod4243233404/001/withsubdir/alreadyexistsDir/alreadyexists\"" 135s time="2025-10-18T15:06:54Z" level=info msg="Watcher stopped" 135s time="2025-10-18T15:06:54Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryRemove_file794952780/001/one_file/GPT.INI" 135s === CONT TestWatchDirectory/Existing_file,_subdir 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching /tmp/TestWatchDirectoryExisting_file,_subdir3823515167/001/withsubdir and children" 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching: /tmp/TestWatchDirectoryExisting_file,_subdir3823515167/001/withsubdir" 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching: /tmp/TestWatchDirectoryExisting_file,_subdir3823515167/001/withsubdir/GPT.INI" 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching: /tmp/TestWatchDirectoryExisting_file,_subdir3823515167/001/withsubdir/alreadyexists" 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching: /tmp/TestWatchDirectoryExisting_file,_subdir3823515167/001/withsubdir/alreadyexistsDir" 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching: /tmp/TestWatchDirectoryExisting_file,_subdir3823515167/001/withsubdir/alreadyexistsDir/GPT.INI" 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching: /tmp/TestWatchDirectoryExisting_file,_subdir3823515167/001/withsubdir/alreadyexistsDir/alreadyexists" 135s time="2025-10-18T15:06:54Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryExisting_file,_subdir3823515167/001/withsubdir/alreadyexistsDir/alreadyexists\"" 135s time="2025-10-18T15:06:54Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryExisting_file,_subdir3823515167/001/withsubdir/alreadyexistsDir/alreadyexists\"" 135s time="2025-10-18T15:06:54Z" level=info msg="Watcher stopped" 135s time="2025-10-18T15:06:54Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryExisting_file,_subdir3823515167/001/withsubdir/GPT.INI" 135s === CONT TestWatchDirectory/No_update,_existing_gpt.ini 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching /tmp/TestWatchDirectoryNo_update,_existing_gpt.ini2086338522/001/one_file and children" 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNo_update,_existing_gpt.ini2086338522/001/one_file" 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNo_update,_existing_gpt.ini2086338522/001/one_file/GPT.INI" 135s time="2025-10-18T15:06:54Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNo_update,_existing_gpt.ini2086338522/001/one_file/alreadyexists" 135s time="2025-10-18T15:06:55Z" level=info msg="Watcher stopped" 135s === CONT TestWatchDirectory/Multiple_directories_with_different_versions,_all_updated 135s time="2025-10-18T15:06:55Z" level=debug msg="Watching /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,3432964101/001/one_file and children" 135s time="2025-10-18T15:06:55Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,3432964101/001/one_file" 135s time="2025-10-18T15:06:55Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,3432964101/001/one_file/GPT.INI" 135s time="2025-10-18T15:06:55Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,3432964101/001/one_file/alreadyexists" 135s time="2025-10-18T15:06:55Z" level=debug msg="Watching /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,3432964101/001/withsubdir and children" 135s time="2025-10-18T15:06:55Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,3432964101/001/withsubdir" 135s time="2025-10-18T15:06:55Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,3432964101/001/withsubdir/GPT.INI" 135s time="2025-10-18T15:06:55Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,3432964101/001/withsubdir/alreadyexists" 135s time="2025-10-18T15:06:55Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,3432964101/001/withsubdir/alreadyexistsDir" 135s time="2025-10-18T15:06:55Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,3432964101/001/withsubdir/alreadyexistsDir/GPT.INI" 135s time="2025-10-18T15:06:55Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,3432964101/001/withsubdir/alreadyexistsDir/alreadyexists" 135s time="2025-10-18T15:06:55Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_directories_with_different_versions,3432964101/001/one_file/alreadyexists\"" 135s time="2025-10-18T15:06:55Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_directories_with_different_versions,3432964101/001/one_file/alreadyexists\"" 135s time="2025-10-18T15:06:55Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_directories_with_different_versions,3432964101/001/withsubdir/alreadyexists\"" 135s time="2025-10-18T15:06:55Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_directories_with_different_versions,3432964101/001/withsubdir/alreadyexists\"" 135s time="2025-10-18T15:06:55Z" level=info msg="Watcher stopped" 135s time="2025-10-18T15:06:55Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,3432964101/001/one_file/GPT.INI" 135s time="2025-10-18T15:06:55Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,3432964101/001/withsubdir/GPT.INI" 135s === CONT TestWatchDirectory/New_subdir_without_file 135s time="2025-10-18T15:06:55Z" level=debug msg="Watching /tmp/TestWatchDirectoryNew_subdir_without_file2675479633/001/withsubdir and children" 135s time="2025-10-18T15:06:55Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir_without_file2675479633/001/withsubdir" 135s time="2025-10-18T15:06:55Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir_without_file2675479633/001/withsubdir/GPT.INI" 135s time="2025-10-18T15:06:55Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir_without_file2675479633/001/withsubdir/alreadyexists" 135s time="2025-10-18T15:06:55Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir_without_file2675479633/001/withsubdir/alreadyexistsDir" 135s time="2025-10-18T15:06:55Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir_without_file2675479633/001/withsubdir/alreadyexistsDir/GPT.INI" 135s time="2025-10-18T15:06:55Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir_without_file2675479633/001/withsubdir/alreadyexistsDir/alreadyexists" 135s time="2025-10-18T15:06:55Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryNew_subdir_without_file2675479633/001/withsubdir/newsubdir\"" 135s time="2025-10-18T15:06:55Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryNew_subdir_without_file2675479633/001/withsubdir/newsubdir\"" 135s time="2025-10-18T15:06:55Z" level=info msg="Watcher stopped" 135s time="2025-10-18T15:06:55Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryNew_subdir_without_file2675479633/001/withsubdir/GPT.INI" 135s === CONT TestWatchDirectory/Rename_file_and_update 135s time="2025-10-18T15:06:55Z" level=debug msg="Watching /tmp/TestWatchDirectoryRename_file_and_update3216835508/001/one_file and children" 135s time="2025-10-18T15:06:55Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRename_file_and_update3216835508/001/one_file" 135s time="2025-10-18T15:06:55Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRename_file_and_update3216835508/001/one_file/GPT.INI" 135s time="2025-10-18T15:06:55Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRename_file_and_update3216835508/001/one_file/alreadyexists" 135s time="2025-10-18T15:06:55Z" level=debug msg="Got event: RENAME \"/tmp/TestWatchDirectoryRename_file_and_update3216835508/001/one_file/alreadyexists\"" 135s time="2025-10-18T15:06:55Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryRename_file_and_update3216835508/001/one_file/alreadyexists.bak\"" 135s time="2025-10-18T15:06:55Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryRename_file_and_update3216835508/001/one_file/alreadyexists.bak\"" 135s time="2025-10-18T15:06:55Z" level=info msg="Bumping version for /tmp/TestRefreshGracePeriod4243233404/001/withsubdir/GPT.INI" 135s time="2025-10-18T15:06:55Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod4243233404/001/withsubdir/GPT.INI\"" 135s time="2025-10-18T15:06:55Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod4243233404/001/withsubdir/GPT.INI\"" 135s time="2025-10-18T15:06:55Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod4243233404/001/withsubdir/GPT.INI\"" 135s time="2025-10-18T15:06:55Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod4243233404/001/withsubdir/GPT.INI\"" 135s time="2025-10-18T15:06:55Z" level=info msg="Watcher stopped" 135s time="2025-10-18T15:06:55Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryRename_file_and_update3216835508/001/one_file/GPT.INI" 135s === CONT TestWatchDirectory/Updating_gpt.ini_is_a_no-op 135s time="2025-10-18T15:06:55Z" level=debug msg="Watching /tmp/TestWatchDirectoryUpdating_gpt.ini_is_a_no-op921099280/001/one_file and children" 135s time="2025-10-18T15:06:55Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdating_gpt.ini_is_a_no-op921099280/001/one_file" 135s time="2025-10-18T15:06:55Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdating_gpt.ini_is_a_no-op921099280/001/one_file/GPT.INI" 135s time="2025-10-18T15:06:55Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdating_gpt.ini_is_a_no-op921099280/001/one_file/alreadyexists" 135s time="2025-10-18T15:06:55Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryUpdating_gpt.ini_is_a_no-op921099280/001/one_file/GPT.INI\"" 135s time="2025-10-18T15:06:55Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryUpdating_gpt.ini_is_a_no-op921099280/001/one_file/GPT.INI\"" 135s time="2025-10-18T15:06:55Z" level=info msg="Watcher stopped" 135s time="2025-10-18T15:06:55Z" level=info msg="Watcher stopped" 135s --- PASS: TestRefreshGracePeriod (1.96s) 135s === CONT TestWatchDirectory/Update_existing_file 135s time="2025-10-18T15:06:55Z" level=debug msg="Watching /tmp/TestWatchDirectoryUpdate_existing_file2101926136/001/one_file and children" 135s time="2025-10-18T15:06:55Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdate_existing_file2101926136/001/one_file" 135s time="2025-10-18T15:06:55Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdate_existing_file2101926136/001/one_file/GPT.INI" 135s time="2025-10-18T15:06:55Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdate_existing_file2101926136/001/one_file/alreadyexists" 135s time="2025-10-18T15:06:55Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryUpdate_existing_file2101926136/001/one_file/alreadyexists\"" 135s time="2025-10-18T15:06:55Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryUpdate_existing_file2101926136/001/one_file/alreadyexists\"" 135s === CONT TestWatchDirectory/Update_with_existing_gpt.ini 135s time="2025-10-18T15:06:55Z" level=debug msg="Watching /tmp/TestWatchDirectoryUpdate_with_existing_gpt.ini4029193253/001/one_file and children" 135s time="2025-10-18T15:06:55Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdate_with_existing_gpt.ini4029193253/001/one_file" 135s time="2025-10-18T15:06:55Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdate_with_existing_gpt.ini4029193253/001/one_file/GPT.INI" 135s time="2025-10-18T15:06:55Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdate_with_existing_gpt.ini4029193253/001/one_file/alreadyexists" 135s time="2025-10-18T15:06:55Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryUpdate_with_existing_gpt.ini4029193253/001/one_file/new\"" 135s time="2025-10-18T15:06:55Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryUpdate_with_existing_gpt.ini4029193253/001/one_file/new\"" 135s time="2025-10-18T15:06:55Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryUpdate_with_existing_gpt.ini4029193253/001/one_file/new\"" 135s time="2025-10-18T15:06:56Z" level=info msg="Watcher stopped" 135s time="2025-10-18T15:06:56Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryUpdate_existing_file2101926136/001/one_file/GPT.INI" 135s time="2025-10-18T15:06:56Z" level=info msg="Watcher stopped" 135s time="2025-10-18T15:06:56Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryUpdate_with_existing_gpt.ini4029193253/001/one_file/GPT.INI" 135s === CONT TestWatchDirectory/Error_on_listing_no_directory 135s === CONT TestWatchDirectory/Multiple_directories,_only_one_is_updated 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated1255379945/001/one_file and children" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated1255379945/001/one_file" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated1255379945/001/one_file/GPT.INI" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated1255379945/001/one_file/alreadyexists" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated1255379945/001/withsubdir and children" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated1255379945/001/withsubdir" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated1255379945/001/withsubdir/GPT.INI" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated1255379945/001/withsubdir/alreadyexists" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated1255379945/001/withsubdir/alreadyexistsDir" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated1255379945/001/withsubdir/alreadyexistsDir/GPT.INI" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated1255379945/001/withsubdir/alreadyexistsDir/alreadyexists" 135s time="2025-10-18T15:06:56Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated1255379945/001/withsubdir/alreadyexists\"" 135s time="2025-10-18T15:06:56Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated1255379945/001/withsubdir/alreadyexists\"" 135s === CONT TestWatchDirectory/Nested_new_subdirs 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching /tmp/TestWatchDirectoryNested_new_subdirs1547379759/001/withsubdir and children" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs1547379759/001/withsubdir" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs1547379759/001/withsubdir/GPT.INI" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs1547379759/001/withsubdir/alreadyexists" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs1547379759/001/withsubdir/alreadyexistsDir" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs1547379759/001/withsubdir/alreadyexistsDir/GPT.INI" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs1547379759/001/withsubdir/alreadyexistsDir/alreadyexists" 135s time="2025-10-18T15:06:56Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryNested_new_subdirs1547379759/001/withsubdir/otherdir\"" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching /tmp/TestWatchDirectoryNested_new_subdirs1547379759/001/withsubdir/otherdir and children" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs1547379759/001/withsubdir/otherdir" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs1547379759/001/withsubdir/otherdir/subdir" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs1547379759/001/withsubdir/otherdir/subdir/file" 135s time="2025-10-18T15:06:56Z" level=info msg="Watcher stopped" 135s time="2025-10-18T15:06:56Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated1255379945/001/withsubdir/GPT.INI" 135s time="2025-10-18T15:06:56Z" level=info msg="Watcher stopped" 135s time="2025-10-18T15:06:56Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryNested_new_subdirs1547379759/001/withsubdir/GPT.INI" 135s === CONT TestWatchDirectory/Error_on_updating_malformed_GPT.ini 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching /tmp/TestWatchDirectoryError_on_updating_malformed_GPT.ini3350959048/001/malformed and children" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryError_on_updating_malformed_GPT.ini3350959048/001/malformed" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryError_on_updating_malformed_GPT.ini3350959048/001/malformed/GPT.INI" 135s time="2025-10-18T15:06:56Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryError_on_updating_malformed_GPT.ini3350959048/001/malformed/new\"" 135s time="2025-10-18T15:06:56Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryError_on_updating_malformed_GPT.ini3350959048/001/malformed/new\"" 135s === CONT TestWatchDirectory/Rename_file 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching /tmp/TestWatchDirectoryRename_file3972099417/001/one_file and children" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRename_file3972099417/001/one_file" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRename_file3972099417/001/one_file/GPT.INI" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRename_file3972099417/001/one_file/alreadyexists" 135s time="2025-10-18T15:06:56Z" level=debug msg="Got event: RENAME \"/tmp/TestWatchDirectoryRename_file3972099417/001/one_file/alreadyexists\"" 135s time="2025-10-18T15:06:56Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryRename_file3972099417/001/one_file/alreadyexists.bak\"" 135s time="2025-10-18T15:06:56Z" level=info msg="Watcher stopped" 135s time="2025-10-18T15:06:56Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryError_on_updating_malformed_GPT.ini3350959048/001/malformed/GPT.INI" 135s time="2025-10-18T15:06:56Z" level=warning msg="Failed to bump /tmp/TestWatchDirectoryError_on_updating_malformed_GPT.ini3350959048/001/malformed/GPT.INI version: can't bump version for /tmp/TestWatchDirectoryError_on_updating_malformed_GPT.ini3350959048/001/malformed/GPT.INI: strconv.ParseInt: parsing \"??\": invalid syntax" 135s time="2025-10-18T15:06:56Z" level=info msg="Watcher stopped" 135s time="2025-10-18T15:06:56Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryRename_file3972099417/001/one_file/GPT.INI" 135s === CONT TestWatchDirectory/No_update,_no_gpt.ini 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching /tmp/TestWatchDirectoryNo_update,_no_gpt.ini1175066862/001/no_gpt and children" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNo_update,_no_gpt.ini1175066862/001/no_gpt" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNo_update,_no_gpt.ini1175066862/001/no_gpt/testfile" 135s === CONT TestWatchDirectory/New_subdir 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching /tmp/TestWatchDirectoryNew_subdir3611628183/001/withsubdir and children" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir3611628183/001/withsubdir" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir3611628183/001/withsubdir/GPT.INI" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir3611628183/001/withsubdir/alreadyexists" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir3611628183/001/withsubdir/alreadyexistsDir" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir3611628183/001/withsubdir/alreadyexistsDir/GPT.INI" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir3611628183/001/withsubdir/alreadyexistsDir/alreadyexists" 135s time="2025-10-18T15:06:56Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryNew_subdir3611628183/001/withsubdir/dir\"" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching /tmp/TestWatchDirectoryNew_subdir3611628183/001/withsubdir/dir and children" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir3611628183/001/withsubdir/dir" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir3611628183/001/withsubdir/dir/file" 135s time="2025-10-18T15:06:56Z" level=info msg="Watcher stopped" 135s time="2025-10-18T15:06:56Z" level=info msg="Watcher stopped" 135s time="2025-10-18T15:06:56Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryNew_subdir3611628183/001/withsubdir/GPT.INI" 135s === CONT TestWatchDirectory/Remove_root_directory 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching /tmp/TestWatchDirectoryRemove_root_directory3112235063/001/one_file and children" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRemove_root_directory3112235063/001/one_file" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRemove_root_directory3112235063/001/one_file/GPT.INI" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRemove_root_directory3112235063/001/one_file/alreadyexists" 135s === CONT TestWatchDirectory/New_file,_no_gpt.ini 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching /tmp/TestWatchDirectoryNew_file,_no_gpt.ini1505492965/001/no_gpt and children" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_file,_no_gpt.ini1505492965/001/no_gpt" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_file,_no_gpt.ini1505492965/001/no_gpt/testfile" 135s time="2025-10-18T15:06:56Z" level=debug msg="Got event: CHMOD \"/tmp/TestWatchDirectoryRemove_root_directory3112235063/001/one_file/GPT.INI\"" 135s time="2025-10-18T15:06:56Z" level=debug msg="Got event: REMOVE \"/tmp/TestWatchDirectoryRemove_root_directory3112235063/001/one_file/GPT.INI\"" 135s time="2025-10-18T15:06:56Z" level=debug msg="Got event: REMOVE \"/tmp/TestWatchDirectoryRemove_root_directory3112235063/001/one_file/GPT.INI\"" 135s time="2025-10-18T15:06:56Z" level=debug msg="Got event: CHMOD \"/tmp/TestWatchDirectoryRemove_root_directory3112235063/001/one_file/alreadyexists\"" 135s time="2025-10-18T15:06:56Z" level=debug msg="Got event: REMOVE \"/tmp/TestWatchDirectoryRemove_root_directory3112235063/001/one_file/alreadyexists\"" 135s time="2025-10-18T15:06:56Z" level=debug msg="Failed to remove watcher on \"/tmp/TestWatchDirectoryRemove_root_directory3112235063/001/one_file/alreadyexists\": fsnotify: can't remove non-existent watch: /tmp/TestWatchDirectoryRemove_root_directory3112235063/001/one_file/alreadyexists" 135s time="2025-10-18T15:06:56Z" level=debug msg="Got event: REMOVE \"/tmp/TestWatchDirectoryRemove_root_directory3112235063/001/one_file/alreadyexists\"" 135s time="2025-10-18T15:06:56Z" level=debug msg="Failed to remove watcher on \"/tmp/TestWatchDirectoryRemove_root_directory3112235063/001/one_file/alreadyexists\": fsnotify: can't remove non-existent watch: /tmp/TestWatchDirectoryRemove_root_directory3112235063/001/one_file/alreadyexists" 135s time="2025-10-18T15:06:56Z" level=debug msg="Got event: REMOVE \"/tmp/TestWatchDirectoryRemove_root_directory3112235063/001/one_file\"" 135s time="2025-10-18T15:06:56Z" level=debug msg="Failed to remove watcher on \"/tmp/TestWatchDirectoryRemove_root_directory3112235063/001/one_file\": fsnotify: can't remove non-existent watch: /tmp/TestWatchDirectoryRemove_root_directory3112235063/001/one_file" 135s time="2025-10-18T15:06:56Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryNew_file,_no_gpt.ini1505492965/001/no_gpt/new\"" 135s time="2025-10-18T15:06:56Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryNew_file,_no_gpt.ini1505492965/001/no_gpt/new\"" 135s time="2025-10-18T15:06:56Z" level=info msg="Watcher stopped" 135s time="2025-10-18T15:06:56Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryNew_file,_no_gpt.ini1505492965/001/no_gpt/GPT.INI" 135s time="2025-10-18T15:06:56Z" level=info msg="error loading ini contents: open /tmp/TestWatchDirectoryNew_file,_no_gpt.ini1505492965/001/no_gpt/GPT.INI: no such file or directory, creating a new file" 135s time="2025-10-18T15:06:56Z" level=info msg="Watcher stopped" 135s time="2025-10-18T15:06:56Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryRemove_root_directory3112235063/001/one_file/GPT.INI" 135s time="2025-10-18T15:06:56Z" level=info msg="error loading ini contents: open /tmp/TestWatchDirectoryRemove_root_directory3112235063/001/one_file/GPT.INI: no such file or directory, creating a new file" 135s time="2025-10-18T15:06:56Z" level=warning msg="Failed to bump /tmp/TestWatchDirectoryRemove_root_directory3112235063/001/one_file/GPT.INI version: can't bump version for /tmp/TestWatchDirectoryRemove_root_directory3112235063/001/one_file/GPT.INI: open /tmp/TestWatchDirectoryRemove_root_directory3112235063/001/one_file/GPT.INI: no such file or directory" 135s === CONT TestWatchDirectory/Multiple_nested_subdirectories,_only_update_nested_file 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n49031073/001/withsubdir/alreadyexistsDir and children" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n49031073/001/withsubdir/alreadyexistsDir" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n49031073/001/withsubdir/alreadyexistsDir/GPT.INI" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n49031073/001/withsubdir/alreadyexistsDir/alreadyexists" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n49031073/001/withsubdir and children" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n49031073/001/withsubdir" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n49031073/001/withsubdir/GPT.INI" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n49031073/001/withsubdir/alreadyexists" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n49031073/001/withsubdir/alreadyexistsDir" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n49031073/001/withsubdir/alreadyexistsDir/GPT.INI" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n49031073/001/withsubdir/alreadyexistsDir/alreadyexists" 135s === CONT TestWatchDirectory/Error_on_non_existing_directory 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching /tmp/TestWatchDirectoryError_on_non_existing_directory3659436400/001/doesnotexist and children" 135s === CONT TestWatchDirectory/Combined_case 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching /tmp/TestWatchDirectoryCombined_case112567628/001/withsubdir and children" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case112567628/001/withsubdir" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case112567628/001/withsubdir/GPT.INI" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case112567628/001/withsubdir/alreadyexists" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case112567628/001/withsubdir/alreadyexistsDir" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case112567628/001/withsubdir/alreadyexistsDir/GPT.INI" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case112567628/001/withsubdir/alreadyexistsDir/alreadyexists" 135s time="2025-10-18T15:06:56Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n49031073/001/withsubdir/alreadyexistsDir/alreadyexists\"" 135s time="2025-10-18T15:06:56Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n49031073/001/withsubdir/alreadyexistsDir/alreadyexists\"" 135s time="2025-10-18T15:06:56Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryCombined_case112567628/001/withsubdir/alreadyexists\"" 135s time="2025-10-18T15:06:56Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryCombined_case112567628/001/withsubdir/alreadyexists\"" 135s time="2025-10-18T15:06:56Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryCombined_case112567628/001/withsubdir/new\"" 135s time="2025-10-18T15:06:56Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryCombined_case112567628/001/withsubdir/new\"" 135s time="2025-10-18T15:06:56Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryCombined_case112567628/001/withsubdir/dir\"" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching /tmp/TestWatchDirectoryCombined_case112567628/001/withsubdir/dir and children" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case112567628/001/withsubdir/dir" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case112567628/001/withsubdir/dir/file" 135s time="2025-10-18T15:06:56Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryCombined_case112567628/001/withsubdir/alreadyexistsDir/alreadyexists\"" 135s time="2025-10-18T15:06:56Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryCombined_case112567628/001/withsubdir/alreadyexistsDir/alreadyexists\"" 135s time="2025-10-18T15:06:56Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryCombined_case112567628/001/withsubdir/alreadyexistsDir/new\"" 135s time="2025-10-18T15:06:56Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryCombined_case112567628/001/withsubdir/alreadyexistsDir/new\"" 135s time="2025-10-18T15:06:56Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryCombined_case112567628/001/withsubdir/otherdir\"" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching /tmp/TestWatchDirectoryCombined_case112567628/001/withsubdir/otherdir and children" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case112567628/001/withsubdir/otherdir" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case112567628/001/withsubdir/otherdir/subdir" 135s time="2025-10-18T15:06:56Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case112567628/001/withsubdir/otherdir/subdir/file" 135s time="2025-10-18T15:06:56Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryCombined_case112567628/001/withsubdir/newdir\"" 135s time="2025-10-18T15:06:56Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryCombined_case112567628/001/withsubdir/newdir\"" 135s time="2025-10-18T15:06:57Z" level=info msg="Watcher stopped" 135s time="2025-10-18T15:06:57Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n49031073/001/withsubdir/alreadyexistsDir/GPT.INI" 135s time="2025-10-18T15:06:57Z" level=info msg="Watcher stopped" 135s time="2025-10-18T15:06:57Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryCombined_case112567628/001/withsubdir/GPT.INI" 135s === CONT TestWatchDirectory/Multiple_nested_subdirectories 135s === CONT TestWatchDirectory/New_file,_subdir 135s time="2025-10-18T15:06:57Z" level=debug msg="Watching /tmp/TestWatchDirectoryMultiple_nested_subdirectories3891862242/001/withsubdir and children" 135s time="2025-10-18T15:06:57Z" level=debug msg="Watching /tmp/TestWatchDirectoryNew_file,_subdir1703684862/001/withsubdir and children" 135s time="2025-10-18T15:06:57Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_file,_subdir1703684862/001/withsubdir" 135s time="2025-10-18T15:06:57Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories3891862242/001/withsubdir" 135s time="2025-10-18T15:06:57Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_file,_subdir1703684862/001/withsubdir/GPT.INI" 135s time="2025-10-18T15:06:57Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories3891862242/001/withsubdir/GPT.INI" 135s time="2025-10-18T15:06:57Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories3891862242/001/withsubdir/alreadyexists" 135s time="2025-10-18T15:06:57Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_file,_subdir1703684862/001/withsubdir/alreadyexists" 135s time="2025-10-18T15:06:57Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_file,_subdir1703684862/001/withsubdir/alreadyexistsDir" 135s time="2025-10-18T15:06:57Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_file,_subdir1703684862/001/withsubdir/alreadyexistsDir/GPT.INI" 135s time="2025-10-18T15:06:57Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_file,_subdir1703684862/001/withsubdir/alreadyexistsDir/alreadyexists" 135s time="2025-10-18T15:06:57Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories3891862242/001/withsubdir/alreadyexistsDir" 135s time="2025-10-18T15:06:57Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories3891862242/001/withsubdir/alreadyexistsDir/GPT.INI" 135s time="2025-10-18T15:06:57Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories3891862242/001/withsubdir/alreadyexistsDir/alreadyexists" 135s time="2025-10-18T15:06:57Z" level=debug msg="Watching /tmp/TestWatchDirectoryMultiple_nested_subdirectories3891862242/001/withsubdir/alreadyexistsDir and children" 135s time="2025-10-18T15:06:57Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories3891862242/001/withsubdir/alreadyexistsDir" 135s time="2025-10-18T15:06:57Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories3891862242/001/withsubdir/alreadyexistsDir/GPT.INI" 135s time="2025-10-18T15:06:57Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories3891862242/001/withsubdir/alreadyexistsDir/alreadyexists" 135s time="2025-10-18T15:06:57Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryMultiple_nested_subdirectories3891862242/001/withsubdir/new\"" 135s time="2025-10-18T15:06:57Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryNew_file,_subdir1703684862/001/withsubdir/alreadyexistsDir/new\"" 135s time="2025-10-18T15:06:57Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_nested_subdirectories3891862242/001/withsubdir/new\"" 135s time="2025-10-18T15:06:57Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_nested_subdirectories3891862242/001/withsubdir/alreadyexistsDir/alreadyexists\"" 135s time="2025-10-18T15:06:57Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_nested_subdirectories3891862242/001/withsubdir/alreadyexistsDir/alreadyexists\"" 135s time="2025-10-18T15:06:57Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryNew_file,_subdir1703684862/001/withsubdir/alreadyexistsDir/new\"" 135s time="2025-10-18T15:06:57Z" level=info msg="Watcher stopped" 135s time="2025-10-18T15:06:57Z" level=info msg="Watcher stopped" 135s time="2025-10-18T15:06:57Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryNew_file,_subdir1703684862/001/withsubdir/GPT.INI" 135s time="2025-10-18T15:06:57Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryMultiple_nested_subdirectories3891862242/001/withsubdir/GPT.INI" 135s time="2025-10-18T15:06:57Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryMultiple_nested_subdirectories3891862242/001/withsubdir/alreadyexistsDir/GPT.INI" 135s --- PASS: TestWatchDirectory (0.00s) 135s --- PASS: TestWatchDirectory/Remove_file (0.21s) 135s --- PASS: TestWatchDirectory/Existing_file,_subdir (0.21s) 135s --- PASS: TestWatchDirectory/No_update,_existing_gpt.ini (0.21s) 135s --- PASS: TestWatchDirectory/Multiple_directories_with_different_versions,_all_updated (0.21s) 135s --- PASS: TestWatchDirectory/New_subdir_without_file (0.21s) 135s --- PASS: TestWatchDirectory/Rename_file_and_update (0.20s) 135s --- PASS: TestWatchDirectory/Updating_gpt.ini_is_a_no-op (0.21s) 135s --- PASS: TestWatchDirectory/Update_existing_file (0.20s) 135s --- PASS: TestWatchDirectory/Error_on_listing_no_directory (0.00s) 135s --- PASS: TestWatchDirectory/Update_with_existing_gpt.ini (0.21s) 135s --- PASS: TestWatchDirectory/Multiple_directories,_only_one_is_updated (0.21s) 135s --- PASS: TestWatchDirectory/Nested_new_subdirs (0.21s) 135s --- PASS: TestWatchDirectory/Error_on_updating_malformed_GPT.ini (0.21s) 135s --- PASS: TestWatchDirectory/Rename_file (0.21s) 135s --- PASS: TestWatchDirectory/No_update,_no_gpt.ini (0.21s) 135s --- PASS: TestWatchDirectory/New_subdir (0.20s) 135s --- PASS: TestWatchDirectory/New_file,_no_gpt.ini (0.21s) 135s --- PASS: TestWatchDirectory/Remove_root_directory (0.21s) 135s --- PASS: TestWatchDirectory/Error_on_non_existing_directory (0.00s) 135s --- PASS: TestWatchDirectory/Multiple_nested_subdirectories,_only_update_nested_file (0.21s) 135s --- PASS: TestWatchDirectory/Combined_case (0.21s) 135s --- PASS: TestWatchDirectory/Multiple_nested_subdirectories (0.21s) 135s --- PASS: TestWatchDirectory/New_file,_subdir (0.21s) 135s PASS 135s ok github.com/ubuntu/adsys/internal/watcher 3.640s 135s ? github.com/ubuntu/adsys/po [no test files] 135s ? github.com/ubuntu/adsys/policies [no test files] 135s autopkgtest [15:06:58]: test command1: -----------------------] 136s autopkgtest [15:06:59]: test command1: - - - - - - - - - - results - - - - - - - - - - 136s command1 PASS 136s autopkgtest [15:06:59]: test command2: preparing testbed 136s Reading package lists... 136s Building dependency tree... 136s Reading state information... 136s Solving dependencies... 136s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 137s autopkgtest [15:07:00]: test command2: ./debian/tests/test sudo 137s autopkgtest [15:07:00]: test command2: [----------------------- 137s Running root tests... 285s === RUN TestRunFailsWhenServiceIsRunning 285s --- PASS: TestRunFailsWhenServiceIsRunning (5.58s) 285s === RUN TestRunWithForceWhenServiceIsRunning 285s time="2025-10-18T15:07:36Z" level=warning msg="another instance of the adwatchd service is already running" 285s --- PASS: TestRunWithForceWhenServiceIsRunning (5.67s) 285s === RUN TestRunWithNoDirs 285s === PAUSE TestRunWithNoDirs 285s === RUN TestRunReactsToConfigUpdates 285s time="2025-10-18T15:07:36Z" level=warning msg="Service binary path does not match executable path\nService binary path: /tmp/go-build579899171/b431/watchdtui.test\nCurrent executable path: /tmp/go-build579899171/b001/integration_tests.test" 285s time="2025-10-18T15:07:37Z" level=info msg="/tmp/autopkgtest.bvgLRp/build.Y1p/src/internal/watchdservice/watchdservice.go:127 (*WatchdService).UpdateDirs() Updating directories to watch" 285s time="2025-10-18T15:07:37Z" level=debug msg="/tmp/autopkgtest.bvgLRp/build.Y1p/src/internal/watcher/watcher.go:170 (*Watcher).UpdateDirs() Updating directories to [non-existent-dir]" 285s time="2025-10-18T15:07:37Z" level=warning msg="/tmp/autopkgtest.bvgLRp/build.Y1p/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" 285s time="2025-10-18T15:07:37Z" level=info msg="/tmp/autopkgtest.bvgLRp/build.Y1p/src/internal/watcher/watcher.go:300 (*Watcher).watch() Watcher stopped" 285s --- PASS: TestRunReactsToConfigUpdates (0.40s) 285s === RUN TestServiceStateChange 285s === RUN TestServiceStateChange/restart 285s === RUN TestServiceStateChange/install 285s === RUN TestServiceStateChange/start_multiple_times 285s === RUN TestServiceStateChange/start_and_stop 285s === RUN TestServiceStateChange/start_and_uninstall 285s === RUN TestServiceStateChange/uninstall_multiple_times 285s === RUN TestServiceStateChange/uninstall_and_start 285s === RUN TestServiceStateChange/start 285s === RUN TestServiceStateChange/uninstall 285s === RUN TestServiceStateChange/start_and_restart 285s === RUN TestServiceStateChange/uninstall_and_install 285s === RUN TestServiceStateChange/uninstall_and_stop 285s === RUN TestServiceStateChange/uninstall_and_restart 285s === RUN TestServiceStateChange/stop_multiple_times 285s --- PASS: TestServiceStateChange (97.43s) 285s --- PASS: TestServiceStateChange/restart (6.49s) 285s --- PASS: TestServiceStateChange/install (6.49s) 285s --- PASS: TestServiceStateChange/start_multiple_times (6.53s) 285s --- PASS: TestServiceStateChange/start_and_stop (6.61s) 285s --- PASS: TestServiceStateChange/start_and_uninstall (6.58s) 285s --- PASS: TestServiceStateChange/uninstall_multiple_times (6.58s) 285s --- PASS: TestServiceStateChange/uninstall_and_start (6.58s) 285s --- PASS: TestServiceStateChange/start (6.58s) 285s --- PASS: TestServiceStateChange/uninstall (6.59s) 285s --- PASS: TestServiceStateChange/start_and_restart (6.52s) 285s --- PASS: TestServiceStateChange/uninstall_and_install (12.12s) 285s --- PASS: TestServiceStateChange/uninstall_and_stop (6.61s) 285s --- PASS: TestServiceStateChange/uninstall_and_restart (6.58s) 285s --- PASS: TestServiceStateChange/stop_multiple_times (6.57s) 285s === RUN TestServiceStartWithABadDir 285s adwatchd_service_test.go:94: 285s --- SKIP: TestServiceStartWithABadDir (0.00s) 285s === RUN TestInstall 285s --- PASS: TestInstall (5.55s) 285s === RUN TestCreateAndUpdateGPT 285s === PAUSE TestCreateAndUpdateGPT 285s === RUN TestServiceStatusContainsCorrectDirs 285s adwatchd_service_test.go:202: This test is Windows-only 285s --- SKIP: TestServiceStatusContainsCorrectDirs (0.00s) 285s === RUN TestServiceConfigFlagUsage 285s === RUN TestServiceConfigFlagUsage/uninstall 285s Usage: 285s adwatchd service uninstall [flags] 285s 285s Flags: 285s -h, --help help for uninstall 285s 285s Global Flags: 285s -v, --verbose count issue INFO (-v), DEBUG (-vv) or DEBUG with caller (-vvv) output 285s 285s === RUN TestServiceConfigFlagUsage/status 285s Usage: 285s adwatchd service status [flags] 285s 285s Flags: 285s -h, --help help for status 285s 285s Global Flags: 285s -v, --verbose count issue INFO (-v), DEBUG (-vv) or DEBUG with caller (-vvv) output 285s 285s === RUN TestServiceConfigFlagUsage/install 285s === RUN TestServiceConfigFlagUsage/start 285s Usage: 285s adwatchd service start [flags] 285s 285s Flags: 285s -h, --help help for start 285s 285s Global Flags: 285s -v, --verbose count issue INFO (-v), DEBUG (-vv) or DEBUG with caller (-vvv) output 285s 285s === RUN TestServiceConfigFlagUsage/restart 285s Usage: 285s adwatchd service restart [flags] 285s 285s Flags: 285s -h, --help help for restart 285s 285s Global Flags: 285s -v, --verbose count issue INFO (-v), DEBUG (-vv) or DEBUG with caller (-vvv) output 285s 285s --- PASS: TestServiceConfigFlagUsage (0.00s) 285s --- PASS: TestServiceConfigFlagUsage/uninstall (0.00s) 285s --- PASS: TestServiceConfigFlagUsage/status (0.00s) 285s --- PASS: TestServiceConfigFlagUsage/install (0.00s) 285s --- PASS: TestServiceConfigFlagUsage/start (0.00s) 285s --- PASS: TestServiceConfigFlagUsage/restart (0.00s) 285s === RUN TestServiceWithNoNameFails 285s --- PASS: TestServiceWithNoNameFails (0.00s) 285s === RUN TestNoArgumentsStartsTUI 285s --- PASS: TestNoArgumentsStartsTUI (0.10s) 285s === CONT TestRunWithNoDirs 285s === CONT TestCreateAndUpdateGPT 285s --- PASS: TestRunWithNoDirs (0.00s) 285s --- PASS: TestCreateAndUpdateGPT (7.11s) 285s PASS 285s ok github.com/ubuntu/adsys/cmd/adwatchd/integration_tests 121.852s 285s === RUN TestInteractiveInput 285s === RUN TestInteractiveInput/Dot_and_double_dot_directory_inputs_are_normalized 285s === RUN TestInteractiveInput/Directory_is_a_file,_block_input 285s === RUN TestInteractiveInput/Submit_with_default_config 285s === RUN TestInteractiveInput/Submit_with_fresh_config_in_current_directory 285s === RUN TestInteractiveInput/Config_file_is_absent_and_input_is_absolute 285s === RUN TestInteractiveInput/Config_file_is_absent_and_input_is_relative 285s === RUN TestInteractiveInput/Config_file_is_absent_and_input_is_a_dir 285s === RUN TestInteractiveInput/Directory_does_not_exist,_block_input 285s === RUN TestInteractiveInput/Multiple_existing_directories,_can_cycle_between_the_inputs 285s === RUN TestInteractiveInput/Submit_with_double_dot_directories_is_normalized 285s === RUN TestInteractiveInput/Other_navigation_tests 285s === RUN TestInteractiveInput/Existing_config_file_is_passed_in_and_contains_directories_which_exist_on_the_system 285s === RUN TestInteractiveInput/No_directories,_focus_on_dir_input 285s === RUN TestInteractiveInput/Submit_with_fresh_config_in_nested_directory 285s === RUN TestInteractiveInput/Submit_with_directory_as_config_input 285s === RUN TestInteractiveInput/Initial_view 285s === RUN TestInteractiveInput/Config_file_exists 285s === RUN TestInteractiveInput/Existing_config_file_is_passed_in_and_contains_directories,_not_all_which_exist_on_the_system 285s === RUN TestInteractiveInput/Found_installed_service,_config_overridden 285s === RUN TestInteractiveInput/Directory_exists 285s === RUN TestInteractiveInput/Multiple_existing_directories,_can_delete_them 285s === RUN TestInteractiveInput/Submit_with_duplicate_directories 285s === RUN TestInteractiveInput/Submit_with_dot_directories_is_normalized 285s === RUN TestInteractiveInput/Existing_config_file_is_passed_in_and_is_empty_or_has_no_directories 285s === RUN TestInteractiveInput/Found_installed_service,_config_not_overridden 285s --- PASS: TestInteractiveInput (0.01s) 285s --- PASS: TestInteractiveInput/Dot_and_double_dot_directory_inputs_are_normalized (0.00s) 285s --- PASS: TestInteractiveInput/Directory_is_a_file,_block_input (0.00s) 285s --- PASS: TestInteractiveInput/Submit_with_default_config (0.00s) 285s --- PASS: TestInteractiveInput/Submit_with_fresh_config_in_current_directory (0.00s) 285s --- PASS: TestInteractiveInput/Config_file_is_absent_and_input_is_absolute (0.00s) 285s --- PASS: TestInteractiveInput/Config_file_is_absent_and_input_is_relative (0.00s) 285s --- PASS: TestInteractiveInput/Config_file_is_absent_and_input_is_a_dir (0.00s) 285s --- PASS: TestInteractiveInput/Directory_does_not_exist,_block_input (0.00s) 285s --- PASS: TestInteractiveInput/Multiple_existing_directories,_can_cycle_between_the_inputs (0.00s) 285s --- PASS: TestInteractiveInput/Submit_with_double_dot_directories_is_normalized (0.00s) 285s --- PASS: TestInteractiveInput/Other_navigation_tests (0.00s) 285s --- PASS: TestInteractiveInput/Existing_config_file_is_passed_in_and_contains_directories_which_exist_on_the_system (0.00s) 285s --- PASS: TestInteractiveInput/No_directories,_focus_on_dir_input (0.00s) 285s --- PASS: TestInteractiveInput/Submit_with_fresh_config_in_nested_directory (0.00s) 285s --- PASS: TestInteractiveInput/Submit_with_directory_as_config_input (0.00s) 285s --- PASS: TestInteractiveInput/Initial_view (0.00s) 285s --- PASS: TestInteractiveInput/Config_file_exists (0.00s) 285s --- PASS: TestInteractiveInput/Existing_config_file_is_passed_in_and_contains_directories,_not_all_which_exist_on_the_system (0.00s) 285s --- PASS: TestInteractiveInput/Found_installed_service,_config_overridden (0.00s) 285s --- PASS: TestInteractiveInput/Directory_exists (0.00s) 285s --- PASS: TestInteractiveInput/Multiple_existing_directories,_can_delete_them (0.00s) 285s --- PASS: TestInteractiveInput/Submit_with_duplicate_directories (0.00s) 285s --- PASS: TestInteractiveInput/Submit_with_dot_directories_is_normalized (0.00s) 285s --- PASS: TestInteractiveInput/Existing_config_file_is_passed_in_and_is_empty_or_has_no_directories (0.00s) 285s --- PASS: TestInteractiveInput/Found_installed_service,_config_not_overridden (0.00s) 285s === RUN TestInteractiveInstall 285s time="2025-10-18T15:07:26Z" level=info msg="Installing watcher service" 285s time="2025-10-18T15:07:32Z" level=info msg="Uninstalling watcher service" 285s --- PASS: TestInteractiveInstall (6.50s) 285s === RUN TestInteractiveUpdate 285s === RUN TestInteractiveUpdate/Change_directories,_different_config_file 285s time="2025-10-18T15:07:32Z" level=info msg="Installing watcher service" 285s time="2025-10-18T15:07:39Z" level=info msg="Uninstalling watcher service" 285s time="2025-10-18T15:07:39Z" level=info msg="Installing watcher service" 285s time="2025-10-18T15:07:45Z" level=info msg="Uninstalling watcher service" 285s === RUN TestInteractiveUpdate/Change_directories,_same_config_file 285s time="2025-10-18T15:07:45Z" level=info msg="Installing watcher service" 285s time="2025-10-18T15:07:53Z" level=info msg="Uninstalling watcher service" 285s --- PASS: TestInteractiveUpdate (20.53s) 285s --- PASS: TestInteractiveUpdate/Change_directories,_different_config_file (13.01s) 285s --- PASS: TestInteractiveUpdate/Change_directories,_same_config_file (7.51s) 285s PASS 285s ok github.com/ubuntu/adsys/internal/watchdtui 27.041s 286s autopkgtest [15:09:29]: test command2: -----------------------] 286s autopkgtest [15:09:29]: test command2: - - - - - - - - - - results - - - - - - - - - - 286s command2 PASS 286s autopkgtest [15:09:29]: @@@@@@@@@@@@@@@@@@@@ summary 286s command1 PASS 286s command2 PASS