0s autopkgtest [15:30:17]: starting date and time: 2025-10-18 15:30:17+0000 0s autopkgtest [15:30:17]: git checkout: 4b346b80 nova: make wait_reboot return success even when a no-op 0s autopkgtest [15:30:17]: host juju-7f2275-prod-proposed-migration-environment-15; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.xpa0dscj/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-ppc64el --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-15@bos03-ppc64el-2.secgroup --name adt-resolute-ppc64el-adsys-20251018-153017-juju-7f2275-prod-proposed-migration-environment-15-3b1d1b6b-9c67-42e7-894a-ae0aa29daae4 --image adt/ubuntu-resolute-ppc64el-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-15 --net-id=net_prod-proposed-migration-ppc64el -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 4s Creating nova instance adt-resolute-ppc64el-adsys-20251018-153017-juju-7f2275-prod-proposed-migration-environment-15-3b1d1b6b-9c67-42e7-894a-ae0aa29daae4 from image adt/ubuntu-resolute-ppc64el-server-20251018.img (UUID 746a0a80-14f1-4bf7-89b6-cbb5ab236a4e)... 80s autopkgtest [15:31:37]: testbed dpkg architecture: ppc64el 80s autopkgtest [15:31:37]: testbed apt version: 3.1.8ubuntu1 81s autopkgtest [15:31:38]: @@@@@@@@@@@@@@@@@@@@ test bed setup 81s autopkgtest [15:31:38]: testbed release detected to be: None 82s autopkgtest [15:31:39]: updating testbed package index (apt update) 82s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [83.3 kB] 82s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 82s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 82s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 82s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [345 kB] 83s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [28.4 kB] 83s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [15.4 kB] 83s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [5028 B] 83s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main ppc64el Packages [73.4 kB] 83s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/restricted ppc64el Packages [940 B] 83s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/universe ppc64el Packages [222 kB] 83s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse ppc64el Packages [3808 B] 83s Fetched 777 kB in 1s (821 kB/s) 84s Reading package lists... 84s Failed to check for VM: Permission denied 84s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 84s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 84s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 84s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 85s Reading package lists... 85s Reading package lists... 85s Building dependency tree... 85s Reading state information... 86s Calculating upgrade... 86s The following packages will be upgraded: 86s gir1.2-girepository-2.0 libgirepository-1.0-1 libpython3-stdlib python3 86s python3-minimal 86s 5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 86s Need to get 185 kB of archives. 86s After this operation, 2048 B of additional disk space will be used. 86s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed/main ppc64el python3-minimal ppc64el 3.13.7-2 [27.8 kB] 86s Get:2 http://ftpmaster.internal/ubuntu resolute-proposed/main ppc64el python3 ppc64el 3.13.7-2 [23.9 kB] 86s Get:3 http://ftpmaster.internal/ubuntu resolute-proposed/main ppc64el libpython3-stdlib ppc64el 3.13.7-2 [10.6 kB] 86s Get:4 http://ftpmaster.internal/ubuntu resolute/main ppc64el libgirepository-1.0-1 ppc64el 1.86.0-6 [97.4 kB] 86s Get:5 http://ftpmaster.internal/ubuntu resolute/main ppc64el gir1.2-girepository-2.0 ppc64el 1.86.0-6 [25.3 kB] 86s dpkg-preconfigure: unable to re-open stdin: No such file or directory 86s Fetched 185 kB in 0s (438 kB/s) 87s (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 ... 76461 files and directories currently installed.) 87s Preparing to unpack .../python3-minimal_3.13.7-2_ppc64el.deb ... 87s Unpacking python3-minimal (3.13.7-2) over (3.13.7-1) ... 87s Setting up python3-minimal (3.13.7-2) ... 87s (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 ... 76461 files and directories currently installed.) 87s Preparing to unpack .../python3_3.13.7-2_ppc64el.deb ... 87s running python pre-rtupdate hooks for python3.13... 87s Unpacking python3 (3.13.7-2) over (3.13.7-1) ... 87s Preparing to unpack .../libpython3-stdlib_3.13.7-2_ppc64el.deb ... 87s Unpacking libpython3-stdlib:ppc64el (3.13.7-2) over (3.13.7-1) ... 87s Preparing to unpack .../libgirepository-1.0-1_1.86.0-6_ppc64el.deb ... 87s Unpacking libgirepository-1.0-1:ppc64el (1.86.0-6) over (1.84.0-1) ... 87s Preparing to unpack .../gir1.2-girepository-2.0_1.86.0-6_ppc64el.deb ... 87s Unpacking gir1.2-girepository-2.0:ppc64el (1.86.0-6) over (1.84.0-1) ... 87s Setting up libgirepository-1.0-1:ppc64el (1.86.0-6) ... 87s Setting up libpython3-stdlib:ppc64el (3.13.7-2) ... 87s Setting up python3 (3.13.7-2) ... 87s running python rtupdate hooks for python3.13... 87s running python post-rtupdate hooks for python3.13... 87s Setting up gir1.2-girepository-2.0:ppc64el (1.86.0-6) ... 87s Processing triggers for man-db (2.13.1-1) ... 88s Processing triggers for libc-bin (2.42-0ubuntu3) ... 88s autopkgtest [15:31:45]: upgrading testbed (apt dist-upgrade and autopurge) 88s Reading package lists... 88s Building dependency tree... 88s Reading state information... 88s Calculating upgrade... 89s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 89s Reading package lists... 89s Building dependency tree... 89s Reading state information... 89s Solving dependencies... 89s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 92s autopkgtest [15:31:49]: testbed running kernel: Linux 6.17.0-5-generic #5-Ubuntu SMP PREEMPT_DYNAMIC Mon Sep 22 10:02:41 UTC 2025 92s autopkgtest [15:31:49]: @@@@@@@@@@@@@@@@@@@@ apt-source adsys 94s Get:1 http://ftpmaster.internal/ubuntu resolute/main adsys 0.16.3 (dsc) [1482 B] 94s Get:2 http://ftpmaster.internal/ubuntu resolute/main adsys 0.16.3 (tar) [7365 kB] 94s gpgv: Signature made Thu Mar 27 14:31:27 2025 UTC 94s gpgv: using DSA key DD00EF8F4D23C30D78EC990998B24A9CE4AC208E 94s gpgv: Can't check signature: No public key 94s dpkg-source: warning: cannot verify inline signature for ./adsys_0.16.3.dsc: no acceptable signature found 95s autopkgtest [15:31:52]: testing package adsys version 0.16.3 96s autopkgtest [15:31:53]: build not needed 99s autopkgtest [15:31:56]: test command1: preparing testbed 99s Reading package lists... 99s Building dependency tree... 99s Reading state information... 99s Solving dependencies... 99s The following NEW packages will be installed: 99s autoconf automake autopoint autotools-dev build-essential comerr-dev cpp 99s cpp-15 cpp-15-powerpc64le-linux-gnu cpp-powerpc64le-linux-gnu debhelper 99s debugedit dh-apport dh-autoreconf dh-golang dh-strip-nondeterminism dwz g++ 99s g++-15 g++-15-powerpc64le-linux-gnu g++-powerpc64le-linux-gnu gcc gcc-15 99s gcc-15-powerpc64le-linux-gnu gcc-powerpc64le-linux-gnu gettext 99s girepository-tools golang-1.25-go golang-1.25-src golang-go golang-src 99s intltool-debian krb5-multidev libarchive-zip-perl libasan8 libavahi-client3 99s libavahi-common-data libavahi-common3 libblkid-dev libcap-dev libcc1-0 99s libcups2t64 libdbus-1-dev libdebhelper-perl libffi-dev 99s libfile-stripnondeterminism-perl libgcc-15-dev libgio-2.0-dev 99s libgio-2.0-dev-bin libgirepository-2.0-0 libglib2.0-bin libglib2.0-dev 99s libglib2.0-dev-bin libgomp1 libgpgme11t64 libgssrpc4t64 libicu76 libisl23 99s libitm1 libkadm5clnt-mit12 libkadm5srv-mit12 libkdb5-10t64 libkrb5-dev 99s libldb2 liblsan0 libmount-dev libmpc3 libpam0g-dev libpcre2-16-0 99s libpcre2-32-0 libpcre2-dev libpcre2-posix3 libpkgconf3 libquadmath0 99s libselinux1-dev libsepol-dev libsmbclient-dev libsmbclient0 libstdc++-15-dev 99s libsysprof-capture-4-dev libsystemd-dev libtalloc2 libtdb1 libtevent0t64 99s libtool libtsan2 libubsan1 liburing2 libwbclient-dev libwbclient0 m4 99s native-architecture pkgconf pkgconf-bin po-debconf python3-ldb 99s python3-packaging python3-samba python3-talloc python3-tdb samba 99s samba-common samba-common-bin samba-dsdb-modules samba-libs sgml-base 99s uuid-dev xml-core zlib1g-dev 99s 0 upgraded, 109 newly installed, 0 to remove and 0 not upgraded. 99s Need to get 142 MB of archives. 99s After this operation, 622 MB of additional disk space will be used. 99s Get:1 http://ftpmaster.internal/ubuntu resolute/main ppc64el samba-common all 2:4.22.3+dfsg-4ubuntu2.1 [72.5 kB] 100s Get:2 http://ftpmaster.internal/ubuntu resolute/main ppc64el libavahi-common-data ppc64el 0.8-16ubuntu3 [31.1 kB] 100s Get:3 http://ftpmaster.internal/ubuntu resolute/main ppc64el libavahi-common3 ppc64el 0.8-16ubuntu3 [26.3 kB] 100s Get:4 http://ftpmaster.internal/ubuntu resolute/main ppc64el libavahi-client3 ppc64el 0.8-16ubuntu3 [31.1 kB] 100s Get:5 http://ftpmaster.internal/ubuntu resolute/main ppc64el libcups2t64 ppc64el 2.4.12-0ubuntu3 [352 kB] 100s Get:6 http://ftpmaster.internal/ubuntu resolute/main ppc64el libicu76 ppc64el 76.1-4ubuntu2 [11.6 MB] 100s Get:7 http://ftpmaster.internal/ubuntu resolute/main ppc64el libtalloc2 ppc64el 2:2.4.3+samba4.22.3+dfsg-4ubuntu2.1 [84.4 kB] 100s Get:8 http://ftpmaster.internal/ubuntu resolute/main ppc64el libtdb1 ppc64el 2:1.4.13+samba4.22.3+dfsg-4ubuntu2.1 [112 kB] 100s Get:9 http://ftpmaster.internal/ubuntu resolute/main ppc64el libtevent0t64 ppc64el 2:0.16.2+samba4.22.3+dfsg-4ubuntu2.1 [49.6 kB] 100s Get:10 http://ftpmaster.internal/ubuntu resolute/main ppc64el libldb2 ppc64el 2:2.11.0+samba4.22.3+dfsg-4ubuntu2.1 [185 kB] 100s Get:11 http://ftpmaster.internal/ubuntu resolute/main ppc64el libwbclient0 ppc64el 2:4.22.3+dfsg-4ubuntu2.1 [89.0 kB] 100s Get:12 http://ftpmaster.internal/ubuntu resolute/main ppc64el samba-libs ppc64el 2:4.22.3+dfsg-4ubuntu2.1 [7142 kB] 101s Get:13 http://ftpmaster.internal/ubuntu resolute/main ppc64el samba-common-bin ppc64el 2:4.22.3+dfsg-4ubuntu2.1 [1556 kB] 101s Get:14 http://ftpmaster.internal/ubuntu resolute/main ppc64el liburing2 ppc64el 2.11-1 [29.9 kB] 101s Get:15 http://ftpmaster.internal/ubuntu resolute/main ppc64el samba ppc64el 2:4.22.3+dfsg-4ubuntu2.1 [1536 kB] 101s Get:16 http://ftpmaster.internal/ubuntu resolute/main ppc64el m4 ppc64el 1.4.19-8 [280 kB] 101s Get:17 http://ftpmaster.internal/ubuntu resolute/main ppc64el autoconf all 2.72-3.1ubuntu1 [384 kB] 101s Get:18 http://ftpmaster.internal/ubuntu resolute/main ppc64el autotools-dev all 20240727.1 [43.4 kB] 101s Get:19 http://ftpmaster.internal/ubuntu resolute/main ppc64el automake all 1:1.17-4ubuntu1 [572 kB] 101s Get:20 http://ftpmaster.internal/ubuntu resolute/main ppc64el autopoint all 0.23.1-2build2 [619 kB] 101s Get:21 http://ftpmaster.internal/ubuntu resolute/main ppc64el libisl23 ppc64el 0.27-1 [882 kB] 101s Get:22 http://ftpmaster.internal/ubuntu resolute/main ppc64el libmpc3 ppc64el 1.3.1-1build3 [62.6 kB] 101s Get:23 http://ftpmaster.internal/ubuntu resolute/main ppc64el cpp-15-powerpc64le-linux-gnu ppc64el 15.2.0-5ubuntu1 [11.4 MB] 101s Get:24 http://ftpmaster.internal/ubuntu resolute/main ppc64el cpp-15 ppc64el 15.2.0-5ubuntu1 [1036 B] 101s Get:25 http://ftpmaster.internal/ubuntu resolute/main ppc64el cpp-powerpc64le-linux-gnu ppc64el 4:15.2.0-4ubuntu1 [5746 B] 101s Get:26 http://ftpmaster.internal/ubuntu resolute/main ppc64el cpp ppc64el 4:15.2.0-4ubuntu1 [22.4 kB] 101s Get:27 http://ftpmaster.internal/ubuntu resolute/main ppc64el libcc1-0 ppc64el 15.2.0-5ubuntu1 [49.0 kB] 101s Get:28 http://ftpmaster.internal/ubuntu resolute/main ppc64el libgomp1 ppc64el 15.2.0-5ubuntu1 [169 kB] 101s Get:29 http://ftpmaster.internal/ubuntu resolute/main ppc64el libitm1 ppc64el 15.2.0-5ubuntu1 [32.3 kB] 101s Get:30 http://ftpmaster.internal/ubuntu resolute/main ppc64el libasan8 ppc64el 15.2.0-5ubuntu1 [3006 kB] 101s Get:31 http://ftpmaster.internal/ubuntu resolute/main ppc64el liblsan0 ppc64el 15.2.0-5ubuntu1 [1374 kB] 101s Get:32 http://ftpmaster.internal/ubuntu resolute/main ppc64el libtsan2 ppc64el 15.2.0-5ubuntu1 [2729 kB] 101s Get:33 http://ftpmaster.internal/ubuntu resolute/main ppc64el libubsan1 ppc64el 15.2.0-5ubuntu1 [1231 kB] 101s Get:34 http://ftpmaster.internal/ubuntu resolute/main ppc64el libquadmath0 ppc64el 15.2.0-5ubuntu1 [160 kB] 101s Get:35 http://ftpmaster.internal/ubuntu resolute/main ppc64el libgcc-15-dev ppc64el 15.2.0-5ubuntu1 [1670 kB] 101s Get:36 http://ftpmaster.internal/ubuntu resolute/main ppc64el gcc-15-powerpc64le-linux-gnu ppc64el 15.2.0-5ubuntu1 [22.4 MB] 102s Get:37 http://ftpmaster.internal/ubuntu resolute/main ppc64el gcc-15 ppc64el 15.2.0-5ubuntu1 [523 kB] 102s Get:38 http://ftpmaster.internal/ubuntu resolute/main ppc64el gcc-powerpc64le-linux-gnu ppc64el 4:15.2.0-4ubuntu1 [1220 B] 102s Get:39 http://ftpmaster.internal/ubuntu resolute/main ppc64el gcc ppc64el 4:15.2.0-4ubuntu1 [5032 B] 102s Get:40 http://ftpmaster.internal/ubuntu resolute/main ppc64el libstdc++-15-dev ppc64el 15.2.0-5ubuntu1 [2744 kB] 102s Get:41 http://ftpmaster.internal/ubuntu resolute/main ppc64el g++-15-powerpc64le-linux-gnu ppc64el 15.2.0-5ubuntu1 [13.0 MB] 102s Get:42 http://ftpmaster.internal/ubuntu resolute/main ppc64el g++-15 ppc64el 15.2.0-5ubuntu1 [23.7 kB] 102s Get:43 http://ftpmaster.internal/ubuntu resolute/main ppc64el g++-powerpc64le-linux-gnu ppc64el 4:15.2.0-4ubuntu1 [970 B] 102s Get:44 http://ftpmaster.internal/ubuntu resolute/main ppc64el g++ ppc64el 4:15.2.0-4ubuntu1 [1092 B] 102s Get:45 http://ftpmaster.internal/ubuntu resolute/main ppc64el build-essential ppc64el 12.12ubuntu1 [5094 B] 102s Get:46 http://ftpmaster.internal/ubuntu resolute/main ppc64el libdebhelper-perl all 13.24.2ubuntu1 [95.7 kB] 102s Get:47 http://ftpmaster.internal/ubuntu resolute/main ppc64el libtool all 2.5.4-4build1 [169 kB] 103s Get:48 http://ftpmaster.internal/ubuntu resolute/main ppc64el dh-autoreconf all 21 [12.5 kB] 103s Get:49 http://ftpmaster.internal/ubuntu resolute/main ppc64el libarchive-zip-perl all 1.68-1 [90.2 kB] 103s Get:50 http://ftpmaster.internal/ubuntu resolute/main ppc64el libfile-stripnondeterminism-perl all 1.14.2-1 [20.4 kB] 103s Get:51 http://ftpmaster.internal/ubuntu resolute/main ppc64el dh-strip-nondeterminism all 1.14.2-1 [5098 B] 103s Get:52 http://ftpmaster.internal/ubuntu resolute/main ppc64el debugedit ppc64el 1:5.2-3 [57.3 kB] 103s Get:53 http://ftpmaster.internal/ubuntu resolute/main ppc64el dwz ppc64el 0.16-2 [142 kB] 103s Get:54 http://ftpmaster.internal/ubuntu resolute/main ppc64el gettext ppc64el 0.23.1-2build2 [1177 kB] 103s Get:55 http://ftpmaster.internal/ubuntu resolute/main ppc64el intltool-debian all 0.35.0+20060710.6 [23.2 kB] 103s Get:56 http://ftpmaster.internal/ubuntu resolute/main ppc64el po-debconf all 1.0.21+nmu1 [233 kB] 103s Get:57 http://ftpmaster.internal/ubuntu resolute/main ppc64el debhelper all 13.24.2ubuntu1 [896 kB] 103s Get:58 http://ftpmaster.internal/ubuntu resolute/universe ppc64el dh-apport all 2.33.1-0ubuntu3 [20.2 kB] 103s Get:59 http://ftpmaster.internal/ubuntu resolute/main ppc64el native-architecture all 0.2.6 [2140 B] 103s Get:60 http://ftpmaster.internal/ubuntu resolute/main ppc64el libgirepository-2.0-0 ppc64el 2.86.0-2 [86.0 kB] 103s Get:61 http://ftpmaster.internal/ubuntu resolute/main ppc64el girepository-tools ppc64el 2.86.0-2 [135 kB] 103s Get:62 http://ftpmaster.internal/ubuntu resolute/main ppc64el golang-1.25-src all 1.25.0-0ubuntu1 [23.0 MB] 103s Get:63 http://ftpmaster.internal/ubuntu resolute/main ppc64el golang-1.25-go ppc64el 1.25.0-0ubuntu1 [16.1 MB] 104s Get:64 http://ftpmaster.internal/ubuntu resolute/main ppc64el golang-src all 2:1.25~1 [5206 B] 104s Get:65 http://ftpmaster.internal/ubuntu resolute/main ppc64el golang-go ppc64el 2:1.25~1 [44.1 kB] 104s Get:66 http://ftpmaster.internal/ubuntu resolute/main ppc64el comerr-dev ppc64el 2.1-1.47.2-3ubuntu2 [45.4 kB] 104s Get:67 http://ftpmaster.internal/ubuntu resolute/main ppc64el libgssrpc4t64 ppc64el 1.21.3-5ubuntu2 [64.9 kB] 104s Get:68 http://ftpmaster.internal/ubuntu resolute/main ppc64el libkadm5clnt-mit12 ppc64el 1.21.3-5ubuntu2 [43.7 kB] 104s Get:69 http://ftpmaster.internal/ubuntu resolute/main ppc64el libkdb5-10t64 ppc64el 1.21.3-5ubuntu2 [47.6 kB] 104s Get:70 http://ftpmaster.internal/ubuntu resolute/main ppc64el libkadm5srv-mit12 ppc64el 1.21.3-5ubuntu2 [63.7 kB] 104s Get:71 http://ftpmaster.internal/ubuntu resolute/main ppc64el krb5-multidev ppc64el 1.21.3-5ubuntu2 [125 kB] 104s Get:72 http://ftpmaster.internal/ubuntu resolute/main ppc64el libcap-dev ppc64el 1:2.75-7ubuntu2 [666 kB] 104s Get:73 http://ftpmaster.internal/ubuntu resolute/main ppc64el libsystemd-dev ppc64el 257.9-0ubuntu2 [1601 kB] 104s Get:74 http://ftpmaster.internal/ubuntu resolute/main ppc64el libpkgconf3 ppc64el 1.8.1-4build1 [37.9 kB] 104s Get:75 http://ftpmaster.internal/ubuntu resolute/main ppc64el pkgconf-bin ppc64el 1.8.1-4build1 [22.7 kB] 104s Get:76 http://ftpmaster.internal/ubuntu resolute/main ppc64el pkgconf ppc64el 1.8.1-4build1 [16.8 kB] 104s Get:77 http://ftpmaster.internal/ubuntu resolute/main ppc64el sgml-base all 1.31+nmu1 [11.0 kB] 104s Get:78 http://ftpmaster.internal/ubuntu resolute/main ppc64el xml-core all 0.19 [20.3 kB] 104s Get:79 http://ftpmaster.internal/ubuntu resolute/main ppc64el libdbus-1-dev ppc64el 1.16.2-2ubuntu2 [235 kB] 104s Get:80 http://ftpmaster.internal/ubuntu resolute/main ppc64el libffi-dev ppc64el 3.5.2-1build1 [69.9 kB] 104s Get:81 http://ftpmaster.internal/ubuntu resolute/main ppc64el uuid-dev ppc64el 2.41-4ubuntu4 [58.6 kB] 104s Get:82 http://ftpmaster.internal/ubuntu resolute/main ppc64el libblkid-dev ppc64el 2.41-4ubuntu4 [292 kB] 104s Get:83 http://ftpmaster.internal/ubuntu resolute/main ppc64el libsepol-dev ppc64el 3.8.1-1 [505 kB] 104s Get:84 http://ftpmaster.internal/ubuntu resolute/main ppc64el libpcre2-16-0 ppc64el 10.46-1 [292 kB] 104s Get:85 http://ftpmaster.internal/ubuntu resolute/main ppc64el libpcre2-32-0 ppc64el 10.46-1 [275 kB] 104s Get:86 http://ftpmaster.internal/ubuntu resolute/main ppc64el libpcre2-posix3 ppc64el 10.46-1 [7334 B] 104s Get:87 http://ftpmaster.internal/ubuntu resolute/main ppc64el libpcre2-dev ppc64el 10.46-1 [937 kB] 104s Get:88 http://ftpmaster.internal/ubuntu resolute/main ppc64el libselinux1-dev ppc64el 3.8.1-1build1 [207 kB] 104s Get:89 http://ftpmaster.internal/ubuntu resolute/main ppc64el libmount-dev ppc64el 2.41-4ubuntu4 [36.3 kB] 104s Get:90 http://ftpmaster.internal/ubuntu resolute/main ppc64el libsysprof-capture-4-dev ppc64el 48.0-2 [62.2 kB] 104s Get:91 http://ftpmaster.internal/ubuntu resolute/main ppc64el zlib1g-dev ppc64el 1:1.3.dfsg+really1.3.1-1ubuntu2 [903 kB] 104s Get:92 http://ftpmaster.internal/ubuntu resolute/main ppc64el libgio-2.0-dev ppc64el 2.86.0-2 [2202 kB] 104s Get:93 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-packaging all 25.0-1 [52.8 kB] 104s Get:94 http://ftpmaster.internal/ubuntu resolute/main ppc64el libgio-2.0-dev-bin ppc64el 2.86.0-2 [131 kB] 104s Get:95 http://ftpmaster.internal/ubuntu resolute/main ppc64el libglib2.0-bin ppc64el 2.86.0-2 [111 kB] 104s Get:96 http://ftpmaster.internal/ubuntu resolute/main ppc64el libglib2.0-dev-bin ppc64el 2.86.0-2 [18.2 kB] 104s Get:97 http://ftpmaster.internal/ubuntu resolute/main ppc64el libglib2.0-dev ppc64el 2.86.0-2 [18.9 kB] 104s Get:98 http://ftpmaster.internal/ubuntu resolute/main ppc64el libgpgme11t64 ppc64el 1.24.2-3ubuntu1 [177 kB] 104s Get:99 http://ftpmaster.internal/ubuntu resolute/main ppc64el libpam0g-dev ppc64el 1.7.0-5ubuntu2 [62.8 kB] 104s Get:100 http://ftpmaster.internal/ubuntu resolute/main ppc64el libsmbclient0 ppc64el 2:4.22.3+dfsg-4ubuntu2.1 [70.9 kB] 104s Get:101 http://ftpmaster.internal/ubuntu resolute/main ppc64el libwbclient-dev ppc64el 2:4.22.3+dfsg-4ubuntu2.1 [87.1 kB] 105s Get:102 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-ldb ppc64el 2:2.11.0+samba4.22.3+dfsg-4ubuntu2.1 [46.6 kB] 105s Get:103 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-tdb ppc64el 2:1.4.13+samba4.22.3+dfsg-4ubuntu2.1 [17.3 kB] 105s Get:104 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-talloc ppc64el 2:2.4.3+samba4.22.3+dfsg-4ubuntu2.1 [14.8 kB] 105s Get:105 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-samba ppc64el 2:4.22.3+dfsg-4ubuntu2.1 [3232 kB] 109s Get:106 http://ftpmaster.internal/ubuntu resolute/main ppc64el samba-dsdb-modules ppc64el 2:4.22.3+dfsg-4ubuntu2.1 [364 kB] 109s Get:107 http://ftpmaster.internal/ubuntu resolute/main ppc64el dh-golang all 1.63 [24.9 kB] 109s Get:108 http://ftpmaster.internal/ubuntu resolute/main ppc64el libkrb5-dev ppc64el 1.21.3-5ubuntu2 [11.9 kB] 109s Get:109 http://ftpmaster.internal/ubuntu resolute/main ppc64el libsmbclient-dev ppc64el 2:4.22.3+dfsg-4ubuntu2.1 [40.5 kB] 109s Fetched 142 MB in 10s (14.8 MB/s) 109s Selecting previously unselected package samba-common. 109s (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 ... 76461 files and directories currently installed.) 109s Preparing to unpack .../000-samba-common_2%3a4.22.3+dfsg-4ubuntu2.1_all.deb ... 109s Unpacking samba-common (2:4.22.3+dfsg-4ubuntu2.1) ... 109s Selecting previously unselected package libavahi-common-data:ppc64el. 109s Preparing to unpack .../001-libavahi-common-data_0.8-16ubuntu3_ppc64el.deb ... 109s Unpacking libavahi-common-data:ppc64el (0.8-16ubuntu3) ... 109s Selecting previously unselected package libavahi-common3:ppc64el. 109s Preparing to unpack .../002-libavahi-common3_0.8-16ubuntu3_ppc64el.deb ... 109s Unpacking libavahi-common3:ppc64el (0.8-16ubuntu3) ... 109s Selecting previously unselected package libavahi-client3:ppc64el. 109s Preparing to unpack .../003-libavahi-client3_0.8-16ubuntu3_ppc64el.deb ... 109s Unpacking libavahi-client3:ppc64el (0.8-16ubuntu3) ... 109s Selecting previously unselected package libcups2t64:ppc64el. 109s Preparing to unpack .../004-libcups2t64_2.4.12-0ubuntu3_ppc64el.deb ... 109s Unpacking libcups2t64:ppc64el (2.4.12-0ubuntu3) ... 109s Selecting previously unselected package libicu76:ppc64el. 109s Preparing to unpack .../005-libicu76_76.1-4ubuntu2_ppc64el.deb ... 109s Unpacking libicu76:ppc64el (76.1-4ubuntu2) ... 109s Selecting previously unselected package libtalloc2:ppc64el. 109s Preparing to unpack .../006-libtalloc2_2%3a2.4.3+samba4.22.3+dfsg-4ubuntu2.1_ppc64el.deb ... 109s Unpacking libtalloc2:ppc64el (2:2.4.3+samba4.22.3+dfsg-4ubuntu2.1) ... 109s Selecting previously unselected package libtdb1:ppc64el. 109s Preparing to unpack .../007-libtdb1_2%3a1.4.13+samba4.22.3+dfsg-4ubuntu2.1_ppc64el.deb ... 109s Unpacking libtdb1:ppc64el (2:1.4.13+samba4.22.3+dfsg-4ubuntu2.1) ... 109s Selecting previously unselected package libtevent0t64:ppc64el. 110s Preparing to unpack .../008-libtevent0t64_2%3a0.16.2+samba4.22.3+dfsg-4ubuntu2.1_ppc64el.deb ... 110s Unpacking libtevent0t64:ppc64el (2:0.16.2+samba4.22.3+dfsg-4ubuntu2.1) ... 110s Selecting previously unselected package libldb2:ppc64el. 110s Preparing to unpack .../009-libldb2_2%3a2.11.0+samba4.22.3+dfsg-4ubuntu2.1_ppc64el.deb ... 110s Unpacking libldb2:ppc64el (2:2.11.0+samba4.22.3+dfsg-4ubuntu2.1) ... 110s Selecting previously unselected package libwbclient0:ppc64el. 110s Preparing to unpack .../010-libwbclient0_2%3a4.22.3+dfsg-4ubuntu2.1_ppc64el.deb ... 110s Unpacking libwbclient0:ppc64el (2:4.22.3+dfsg-4ubuntu2.1) ... 110s Selecting previously unselected package samba-libs:ppc64el. 110s Preparing to unpack .../011-samba-libs_2%3a4.22.3+dfsg-4ubuntu2.1_ppc64el.deb ... 110s Unpacking samba-libs:ppc64el (2:4.22.3+dfsg-4ubuntu2.1) ... 110s Selecting previously unselected package samba-common-bin. 110s Preparing to unpack .../012-samba-common-bin_2%3a4.22.3+dfsg-4ubuntu2.1_ppc64el.deb ... 110s Unpacking samba-common-bin (2:4.22.3+dfsg-4ubuntu2.1) ... 110s Selecting previously unselected package liburing2:ppc64el. 110s Preparing to unpack .../013-liburing2_2.11-1_ppc64el.deb ... 110s Unpacking liburing2:ppc64el (2.11-1) ... 110s Selecting previously unselected package samba. 110s Preparing to unpack .../014-samba_2%3a4.22.3+dfsg-4ubuntu2.1_ppc64el.deb ... 110s Unpacking samba (2:4.22.3+dfsg-4ubuntu2.1) ... 110s Selecting previously unselected package m4. 110s Preparing to unpack .../015-m4_1.4.19-8_ppc64el.deb ... 110s Unpacking m4 (1.4.19-8) ... 110s Selecting previously unselected package autoconf. 110s Preparing to unpack .../016-autoconf_2.72-3.1ubuntu1_all.deb ... 110s Unpacking autoconf (2.72-3.1ubuntu1) ... 110s Selecting previously unselected package autotools-dev. 110s Preparing to unpack .../017-autotools-dev_20240727.1_all.deb ... 110s Unpacking autotools-dev (20240727.1) ... 110s Selecting previously unselected package automake. 110s Preparing to unpack .../018-automake_1%3a1.17-4ubuntu1_all.deb ... 110s Unpacking automake (1:1.17-4ubuntu1) ... 110s Selecting previously unselected package autopoint. 110s Preparing to unpack .../019-autopoint_0.23.1-2build2_all.deb ... 110s Unpacking autopoint (0.23.1-2build2) ... 110s Selecting previously unselected package libisl23:ppc64el. 110s Preparing to unpack .../020-libisl23_0.27-1_ppc64el.deb ... 110s Unpacking libisl23:ppc64el (0.27-1) ... 110s Selecting previously unselected package libmpc3:ppc64el. 110s Preparing to unpack .../021-libmpc3_1.3.1-1build3_ppc64el.deb ... 110s Unpacking libmpc3:ppc64el (1.3.1-1build3) ... 110s Selecting previously unselected package cpp-15-powerpc64le-linux-gnu. 110s Preparing to unpack .../022-cpp-15-powerpc64le-linux-gnu_15.2.0-5ubuntu1_ppc64el.deb ... 110s Unpacking cpp-15-powerpc64le-linux-gnu (15.2.0-5ubuntu1) ... 110s Selecting previously unselected package cpp-15. 110s Preparing to unpack .../023-cpp-15_15.2.0-5ubuntu1_ppc64el.deb ... 110s Unpacking cpp-15 (15.2.0-5ubuntu1) ... 110s Selecting previously unselected package cpp-powerpc64le-linux-gnu. 110s Preparing to unpack .../024-cpp-powerpc64le-linux-gnu_4%3a15.2.0-4ubuntu1_ppc64el.deb ... 110s Unpacking cpp-powerpc64le-linux-gnu (4:15.2.0-4ubuntu1) ... 110s Selecting previously unselected package cpp. 110s Preparing to unpack .../025-cpp_4%3a15.2.0-4ubuntu1_ppc64el.deb ... 110s Unpacking cpp (4:15.2.0-4ubuntu1) ... 110s Selecting previously unselected package libcc1-0:ppc64el. 110s Preparing to unpack .../026-libcc1-0_15.2.0-5ubuntu1_ppc64el.deb ... 110s Unpacking libcc1-0:ppc64el (15.2.0-5ubuntu1) ... 110s Selecting previously unselected package libgomp1:ppc64el. 110s Preparing to unpack .../027-libgomp1_15.2.0-5ubuntu1_ppc64el.deb ... 110s Unpacking libgomp1:ppc64el (15.2.0-5ubuntu1) ... 110s Selecting previously unselected package libitm1:ppc64el. 110s Preparing to unpack .../028-libitm1_15.2.0-5ubuntu1_ppc64el.deb ... 110s Unpacking libitm1:ppc64el (15.2.0-5ubuntu1) ... 110s Selecting previously unselected package libasan8:ppc64el. 110s Preparing to unpack .../029-libasan8_15.2.0-5ubuntu1_ppc64el.deb ... 110s Unpacking libasan8:ppc64el (15.2.0-5ubuntu1) ... 110s Selecting previously unselected package liblsan0:ppc64el. 110s Preparing to unpack .../030-liblsan0_15.2.0-5ubuntu1_ppc64el.deb ... 110s Unpacking liblsan0:ppc64el (15.2.0-5ubuntu1) ... 110s Selecting previously unselected package libtsan2:ppc64el. 110s Preparing to unpack .../031-libtsan2_15.2.0-5ubuntu1_ppc64el.deb ... 111s Unpacking libtsan2:ppc64el (15.2.0-5ubuntu1) ... 111s Selecting previously unselected package libubsan1:ppc64el. 111s Preparing to unpack .../032-libubsan1_15.2.0-5ubuntu1_ppc64el.deb ... 111s Unpacking libubsan1:ppc64el (15.2.0-5ubuntu1) ... 111s Selecting previously unselected package libquadmath0:ppc64el. 111s Preparing to unpack .../033-libquadmath0_15.2.0-5ubuntu1_ppc64el.deb ... 111s Unpacking libquadmath0:ppc64el (15.2.0-5ubuntu1) ... 111s Selecting previously unselected package libgcc-15-dev:ppc64el. 111s Preparing to unpack .../034-libgcc-15-dev_15.2.0-5ubuntu1_ppc64el.deb ... 111s Unpacking libgcc-15-dev:ppc64el (15.2.0-5ubuntu1) ... 111s Selecting previously unselected package gcc-15-powerpc64le-linux-gnu. 111s Preparing to unpack .../035-gcc-15-powerpc64le-linux-gnu_15.2.0-5ubuntu1_ppc64el.deb ... 111s Unpacking gcc-15-powerpc64le-linux-gnu (15.2.0-5ubuntu1) ... 111s Selecting previously unselected package gcc-15. 111s Preparing to unpack .../036-gcc-15_15.2.0-5ubuntu1_ppc64el.deb ... 111s Unpacking gcc-15 (15.2.0-5ubuntu1) ... 111s Selecting previously unselected package gcc-powerpc64le-linux-gnu. 111s Preparing to unpack .../037-gcc-powerpc64le-linux-gnu_4%3a15.2.0-4ubuntu1_ppc64el.deb ... 111s Unpacking gcc-powerpc64le-linux-gnu (4:15.2.0-4ubuntu1) ... 111s Selecting previously unselected package gcc. 111s Preparing to unpack .../038-gcc_4%3a15.2.0-4ubuntu1_ppc64el.deb ... 111s Unpacking gcc (4:15.2.0-4ubuntu1) ... 111s Selecting previously unselected package libstdc++-15-dev:ppc64el. 111s Preparing to unpack .../039-libstdc++-15-dev_15.2.0-5ubuntu1_ppc64el.deb ... 111s Unpacking libstdc++-15-dev:ppc64el (15.2.0-5ubuntu1) ... 111s Selecting previously unselected package g++-15-powerpc64le-linux-gnu. 111s Preparing to unpack .../040-g++-15-powerpc64le-linux-gnu_15.2.0-5ubuntu1_ppc64el.deb ... 111s Unpacking g++-15-powerpc64le-linux-gnu (15.2.0-5ubuntu1) ... 111s Selecting previously unselected package g++-15. 111s Preparing to unpack .../041-g++-15_15.2.0-5ubuntu1_ppc64el.deb ... 111s Unpacking g++-15 (15.2.0-5ubuntu1) ... 111s Selecting previously unselected package g++-powerpc64le-linux-gnu. 111s Preparing to unpack .../042-g++-powerpc64le-linux-gnu_4%3a15.2.0-4ubuntu1_ppc64el.deb ... 111s Unpacking g++-powerpc64le-linux-gnu (4:15.2.0-4ubuntu1) ... 111s Selecting previously unselected package g++. 111s Preparing to unpack .../043-g++_4%3a15.2.0-4ubuntu1_ppc64el.deb ... 111s Unpacking g++ (4:15.2.0-4ubuntu1) ... 112s Selecting previously unselected package build-essential. 112s Preparing to unpack .../044-build-essential_12.12ubuntu1_ppc64el.deb ... 112s Unpacking build-essential (12.12ubuntu1) ... 112s Selecting previously unselected package libdebhelper-perl. 112s Preparing to unpack .../045-libdebhelper-perl_13.24.2ubuntu1_all.deb ... 112s Unpacking libdebhelper-perl (13.24.2ubuntu1) ... 112s Selecting previously unselected package libtool. 112s Preparing to unpack .../046-libtool_2.5.4-4build1_all.deb ... 112s Unpacking libtool (2.5.4-4build1) ... 112s Selecting previously unselected package dh-autoreconf. 112s Preparing to unpack .../047-dh-autoreconf_21_all.deb ... 112s Unpacking dh-autoreconf (21) ... 112s Selecting previously unselected package libarchive-zip-perl. 112s Preparing to unpack .../048-libarchive-zip-perl_1.68-1_all.deb ... 112s Unpacking libarchive-zip-perl (1.68-1) ... 112s Selecting previously unselected package libfile-stripnondeterminism-perl. 112s Preparing to unpack .../049-libfile-stripnondeterminism-perl_1.14.2-1_all.deb ... 112s Unpacking libfile-stripnondeterminism-perl (1.14.2-1) ... 112s Selecting previously unselected package dh-strip-nondeterminism. 112s Preparing to unpack .../050-dh-strip-nondeterminism_1.14.2-1_all.deb ... 112s Unpacking dh-strip-nondeterminism (1.14.2-1) ... 112s Selecting previously unselected package debugedit. 112s Preparing to unpack .../051-debugedit_1%3a5.2-3_ppc64el.deb ... 112s Unpacking debugedit (1:5.2-3) ... 112s Selecting previously unselected package dwz. 112s Preparing to unpack .../052-dwz_0.16-2_ppc64el.deb ... 112s Unpacking dwz (0.16-2) ... 112s Selecting previously unselected package gettext. 112s Preparing to unpack .../053-gettext_0.23.1-2build2_ppc64el.deb ... 112s Unpacking gettext (0.23.1-2build2) ... 112s Selecting previously unselected package intltool-debian. 112s Preparing to unpack .../054-intltool-debian_0.35.0+20060710.6_all.deb ... 112s Unpacking intltool-debian (0.35.0+20060710.6) ... 112s Selecting previously unselected package po-debconf. 112s Preparing to unpack .../055-po-debconf_1.0.21+nmu1_all.deb ... 112s Unpacking po-debconf (1.0.21+nmu1) ... 112s Selecting previously unselected package debhelper. 112s Preparing to unpack .../056-debhelper_13.24.2ubuntu1_all.deb ... 112s Unpacking debhelper (13.24.2ubuntu1) ... 112s Selecting previously unselected package dh-apport. 112s Preparing to unpack .../057-dh-apport_2.33.1-0ubuntu3_all.deb ... 112s Unpacking dh-apport (2.33.1-0ubuntu3) ... 112s Selecting previously unselected package native-architecture. 112s Preparing to unpack .../058-native-architecture_0.2.6_all.deb ... 112s Unpacking native-architecture (0.2.6) ... 112s Selecting previously unselected package libgirepository-2.0-0:ppc64el. 112s Preparing to unpack .../059-libgirepository-2.0-0_2.86.0-2_ppc64el.deb ... 112s Unpacking libgirepository-2.0-0:ppc64el (2.86.0-2) ... 112s Selecting previously unselected package girepository-tools:ppc64el. 112s Preparing to unpack .../060-girepository-tools_2.86.0-2_ppc64el.deb ... 112s Unpacking girepository-tools:ppc64el (2.86.0-2) ... 112s Selecting previously unselected package golang-1.25-src. 112s Preparing to unpack .../061-golang-1.25-src_1.25.0-0ubuntu1_all.deb ... 112s Unpacking golang-1.25-src (1.25.0-0ubuntu1) ... 114s Selecting previously unselected package golang-1.25-go. 114s Preparing to unpack .../062-golang-1.25-go_1.25.0-0ubuntu1_ppc64el.deb ... 114s Unpacking golang-1.25-go (1.25.0-0ubuntu1) ... 114s Selecting previously unselected package golang-src. 114s Preparing to unpack .../063-golang-src_2%3a1.25~1_all.deb ... 114s Unpacking golang-src (2:1.25~1) ... 114s Selecting previously unselected package golang-go:ppc64el. 114s Preparing to unpack .../064-golang-go_2%3a1.25~1_ppc64el.deb ... 114s Unpacking golang-go:ppc64el (2:1.25~1) ... 114s Selecting previously unselected package comerr-dev:ppc64el. 114s Preparing to unpack .../065-comerr-dev_2.1-1.47.2-3ubuntu2_ppc64el.deb ... 114s Unpacking comerr-dev:ppc64el (2.1-1.47.2-3ubuntu2) ... 114s Selecting previously unselected package libgssrpc4t64:ppc64el. 114s Preparing to unpack .../066-libgssrpc4t64_1.21.3-5ubuntu2_ppc64el.deb ... 114s Unpacking libgssrpc4t64:ppc64el (1.21.3-5ubuntu2) ... 114s Selecting previously unselected package libkadm5clnt-mit12:ppc64el. 114s Preparing to unpack .../067-libkadm5clnt-mit12_1.21.3-5ubuntu2_ppc64el.deb ... 114s Unpacking libkadm5clnt-mit12:ppc64el (1.21.3-5ubuntu2) ... 114s Selecting previously unselected package libkdb5-10t64:ppc64el. 114s Preparing to unpack .../068-libkdb5-10t64_1.21.3-5ubuntu2_ppc64el.deb ... 114s Unpacking libkdb5-10t64:ppc64el (1.21.3-5ubuntu2) ... 114s Selecting previously unselected package libkadm5srv-mit12:ppc64el. 114s Preparing to unpack .../069-libkadm5srv-mit12_1.21.3-5ubuntu2_ppc64el.deb ... 114s Unpacking libkadm5srv-mit12:ppc64el (1.21.3-5ubuntu2) ... 114s Selecting previously unselected package krb5-multidev:ppc64el. 114s Preparing to unpack .../070-krb5-multidev_1.21.3-5ubuntu2_ppc64el.deb ... 114s Unpacking krb5-multidev:ppc64el (1.21.3-5ubuntu2) ... 114s Selecting previously unselected package libcap-dev:ppc64el. 114s Preparing to unpack .../071-libcap-dev_1%3a2.75-7ubuntu2_ppc64el.deb ... 114s Unpacking libcap-dev:ppc64el (1:2.75-7ubuntu2) ... 114s Selecting previously unselected package libsystemd-dev:ppc64el. 114s Preparing to unpack .../072-libsystemd-dev_257.9-0ubuntu2_ppc64el.deb ... 114s Unpacking libsystemd-dev:ppc64el (257.9-0ubuntu2) ... 114s Selecting previously unselected package libpkgconf3:ppc64el. 114s Preparing to unpack .../073-libpkgconf3_1.8.1-4build1_ppc64el.deb ... 114s Unpacking libpkgconf3:ppc64el (1.8.1-4build1) ... 114s Selecting previously unselected package pkgconf-bin. 114s Preparing to unpack .../074-pkgconf-bin_1.8.1-4build1_ppc64el.deb ... 114s Unpacking pkgconf-bin (1.8.1-4build1) ... 114s Selecting previously unselected package pkgconf:ppc64el. 114s Preparing to unpack .../075-pkgconf_1.8.1-4build1_ppc64el.deb ... 114s Unpacking pkgconf:ppc64el (1.8.1-4build1) ... 114s Selecting previously unselected package sgml-base. 114s Preparing to unpack .../076-sgml-base_1.31+nmu1_all.deb ... 114s Unpacking sgml-base (1.31+nmu1) ... 114s Selecting previously unselected package xml-core. 114s Preparing to unpack .../077-xml-core_0.19_all.deb ... 114s Unpacking xml-core (0.19) ... 114s Selecting previously unselected package libdbus-1-dev:ppc64el. 114s Preparing to unpack .../078-libdbus-1-dev_1.16.2-2ubuntu2_ppc64el.deb ... 114s Unpacking libdbus-1-dev:ppc64el (1.16.2-2ubuntu2) ... 114s Selecting previously unselected package libffi-dev:ppc64el. 114s Preparing to unpack .../079-libffi-dev_3.5.2-1build1_ppc64el.deb ... 114s Unpacking libffi-dev:ppc64el (3.5.2-1build1) ... 115s Selecting previously unselected package uuid-dev:ppc64el. 115s Preparing to unpack .../080-uuid-dev_2.41-4ubuntu4_ppc64el.deb ... 115s Unpacking uuid-dev:ppc64el (2.41-4ubuntu4) ... 115s Selecting previously unselected package libblkid-dev:ppc64el. 115s Preparing to unpack .../081-libblkid-dev_2.41-4ubuntu4_ppc64el.deb ... 115s Unpacking libblkid-dev:ppc64el (2.41-4ubuntu4) ... 115s Selecting previously unselected package libsepol-dev:ppc64el. 115s Preparing to unpack .../082-libsepol-dev_3.8.1-1_ppc64el.deb ... 115s Unpacking libsepol-dev:ppc64el (3.8.1-1) ... 115s Selecting previously unselected package libpcre2-16-0:ppc64el. 115s Preparing to unpack .../083-libpcre2-16-0_10.46-1_ppc64el.deb ... 115s Unpacking libpcre2-16-0:ppc64el (10.46-1) ... 115s Selecting previously unselected package libpcre2-32-0:ppc64el. 115s Preparing to unpack .../084-libpcre2-32-0_10.46-1_ppc64el.deb ... 115s Unpacking libpcre2-32-0:ppc64el (10.46-1) ... 115s Selecting previously unselected package libpcre2-posix3:ppc64el. 115s Preparing to unpack .../085-libpcre2-posix3_10.46-1_ppc64el.deb ... 115s Unpacking libpcre2-posix3:ppc64el (10.46-1) ... 115s Selecting previously unselected package libpcre2-dev:ppc64el. 115s Preparing to unpack .../086-libpcre2-dev_10.46-1_ppc64el.deb ... 115s Unpacking libpcre2-dev:ppc64el (10.46-1) ... 115s Selecting previously unselected package libselinux1-dev:ppc64el. 115s Preparing to unpack .../087-libselinux1-dev_3.8.1-1build1_ppc64el.deb ... 115s Unpacking libselinux1-dev:ppc64el (3.8.1-1build1) ... 115s Selecting previously unselected package libmount-dev:ppc64el. 115s Preparing to unpack .../088-libmount-dev_2.41-4ubuntu4_ppc64el.deb ... 115s Unpacking libmount-dev:ppc64el (2.41-4ubuntu4) ... 115s Selecting previously unselected package libsysprof-capture-4-dev:ppc64el. 115s Preparing to unpack .../089-libsysprof-capture-4-dev_48.0-2_ppc64el.deb ... 115s Unpacking libsysprof-capture-4-dev:ppc64el (48.0-2) ... 115s Selecting previously unselected package zlib1g-dev:ppc64el. 115s Preparing to unpack .../090-zlib1g-dev_1%3a1.3.dfsg+really1.3.1-1ubuntu2_ppc64el.deb ... 115s Unpacking zlib1g-dev:ppc64el (1:1.3.dfsg+really1.3.1-1ubuntu2) ... 115s Selecting previously unselected package libgio-2.0-dev:ppc64el. 115s Preparing to unpack .../091-libgio-2.0-dev_2.86.0-2_ppc64el.deb ... 115s Unpacking libgio-2.0-dev:ppc64el (2.86.0-2) ... 115s Selecting previously unselected package python3-packaging. 115s Preparing to unpack .../092-python3-packaging_25.0-1_all.deb ... 115s Unpacking python3-packaging (25.0-1) ... 115s Selecting previously unselected package libgio-2.0-dev-bin. 115s Preparing to unpack .../093-libgio-2.0-dev-bin_2.86.0-2_ppc64el.deb ... 115s Unpacking libgio-2.0-dev-bin (2.86.0-2) ... 115s Selecting previously unselected package libglib2.0-bin. 115s Preparing to unpack .../094-libglib2.0-bin_2.86.0-2_ppc64el.deb ... 115s Unpacking libglib2.0-bin (2.86.0-2) ... 115s Selecting previously unselected package libglib2.0-dev-bin. 115s Preparing to unpack .../095-libglib2.0-dev-bin_2.86.0-2_ppc64el.deb ... 115s Unpacking libglib2.0-dev-bin (2.86.0-2) ... 115s Selecting previously unselected package libglib2.0-dev:ppc64el. 115s Preparing to unpack .../096-libglib2.0-dev_2.86.0-2_ppc64el.deb ... 115s Unpacking libglib2.0-dev:ppc64el (2.86.0-2) ... 115s Selecting previously unselected package libgpgme11t64:ppc64el. 115s Preparing to unpack .../097-libgpgme11t64_1.24.2-3ubuntu1_ppc64el.deb ... 115s Unpacking libgpgme11t64:ppc64el (1.24.2-3ubuntu1) ... 115s Selecting previously unselected package libpam0g-dev:ppc64el. 115s Preparing to unpack .../098-libpam0g-dev_1.7.0-5ubuntu2_ppc64el.deb ... 115s Unpacking libpam0g-dev:ppc64el (1.7.0-5ubuntu2) ... 115s Selecting previously unselected package libsmbclient0:ppc64el. 115s Preparing to unpack .../099-libsmbclient0_2%3a4.22.3+dfsg-4ubuntu2.1_ppc64el.deb ... 115s Unpacking libsmbclient0:ppc64el (2:4.22.3+dfsg-4ubuntu2.1) ... 115s Selecting previously unselected package libwbclient-dev:ppc64el. 115s Preparing to unpack .../100-libwbclient-dev_2%3a4.22.3+dfsg-4ubuntu2.1_ppc64el.deb ... 115s Unpacking libwbclient-dev:ppc64el (2:4.22.3+dfsg-4ubuntu2.1) ... 115s Selecting previously unselected package python3-ldb. 115s Preparing to unpack .../101-python3-ldb_2%3a2.11.0+samba4.22.3+dfsg-4ubuntu2.1_ppc64el.deb ... 115s Unpacking python3-ldb (2:2.11.0+samba4.22.3+dfsg-4ubuntu2.1) ... 115s Selecting previously unselected package python3-tdb. 115s Preparing to unpack .../102-python3-tdb_2%3a1.4.13+samba4.22.3+dfsg-4ubuntu2.1_ppc64el.deb ... 115s Unpacking python3-tdb (2:1.4.13+samba4.22.3+dfsg-4ubuntu2.1) ... 115s Selecting previously unselected package python3-talloc:ppc64el. 115s Preparing to unpack .../103-python3-talloc_2%3a2.4.3+samba4.22.3+dfsg-4ubuntu2.1_ppc64el.deb ... 115s Unpacking python3-talloc:ppc64el (2:2.4.3+samba4.22.3+dfsg-4ubuntu2.1) ... 115s Selecting previously unselected package python3-samba. 115s Preparing to unpack .../104-python3-samba_2%3a4.22.3+dfsg-4ubuntu2.1_ppc64el.deb ... 115s Unpacking python3-samba (2:4.22.3+dfsg-4ubuntu2.1) ... 115s Selecting previously unselected package samba-dsdb-modules:ppc64el. 115s Preparing to unpack .../105-samba-dsdb-modules_2%3a4.22.3+dfsg-4ubuntu2.1_ppc64el.deb ... 115s Unpacking samba-dsdb-modules:ppc64el (2:4.22.3+dfsg-4ubuntu2.1) ... 115s Selecting previously unselected package dh-golang. 115s Preparing to unpack .../106-dh-golang_1.63_all.deb ... 115s Unpacking dh-golang (1.63) ... 115s Selecting previously unselected package libkrb5-dev:ppc64el. 115s Preparing to unpack .../107-libkrb5-dev_1.21.3-5ubuntu2_ppc64el.deb ... 115s Unpacking libkrb5-dev:ppc64el (1.21.3-5ubuntu2) ... 115s Selecting previously unselected package libsmbclient-dev:ppc64el. 115s Preparing to unpack .../108-libsmbclient-dev_2%3a4.22.3+dfsg-4ubuntu2.1_ppc64el.deb ... 115s Unpacking libsmbclient-dev:ppc64el (2:4.22.3+dfsg-4ubuntu2.1) ... 115s Setting up native-architecture (0.2.6) ... 115s Setting up libpam0g-dev:ppc64el (1.7.0-5ubuntu2) ... 115s Setting up libgirepository-2.0-0:ppc64el (2.86.0-2) ... 115s Setting up libarchive-zip-perl (1.68-1) ... 115s Setting up libtdb1:ppc64el (2:1.4.13+samba4.22.3+dfsg-4ubuntu2.1) ... 115s Setting up libdebhelper-perl (13.24.2ubuntu1) ... 115s Setting up libglib2.0-bin (2.86.0-2) ... 115s Setting up m4 (1.4.19-8) ... 115s Setting up samba-common (2:4.22.3+dfsg-4ubuntu2.1) ... 116s Creating config file /etc/samba/smb.conf with new version 116s Setting up libgomp1:ppc64el (15.2.0-5ubuntu1) ... 116s Setting up libffi-dev:ppc64el (3.5.2-1build1) ... 116s Setting up dh-apport (2.33.1-0ubuntu3) ... 116s Setting up libwbclient0:ppc64el (2:4.22.3+dfsg-4ubuntu2.1) ... 116s Setting up libwbclient-dev:ppc64el (2:4.22.3+dfsg-4ubuntu2.1) ... 116s Setting up libpcre2-16-0:ppc64el (10.46-1) ... 116s Setting up libtalloc2:ppc64el (2:2.4.3+samba4.22.3+dfsg-4ubuntu2.1) ... 116s Setting up libsysprof-capture-4-dev:ppc64el (48.0-2) ... 116s Setting up python3-tdb (2:1.4.13+samba4.22.3+dfsg-4ubuntu2.1) ... 116s Setting up autotools-dev (20240727.1) ... 116s Setting up libpcre2-32-0:ppc64el (10.46-1) ... 116s Setting up python3-packaging (25.0-1) ... 116s Setting up libpkgconf3:ppc64el (1.8.1-4build1) ... 116s Setting up libgssrpc4t64:ppc64el (1.21.3-5ubuntu2) ... 116s Setting up uuid-dev:ppc64el (2.41-4ubuntu4) ... 116s Setting up libavahi-common-data:ppc64el (0.8-16ubuntu3) ... 116s Setting up libquadmath0:ppc64el (15.2.0-5ubuntu1) ... 116s Setting up comerr-dev:ppc64el (2.1-1.47.2-3ubuntu2) ... 116s Setting up libmpc3:ppc64el (1.3.1-1build3) ... 116s Setting up autopoint (0.23.1-2build2) ... 116s Setting up libsepol-dev:ppc64el (3.8.1-1) ... 116s Setting up pkgconf-bin (1.8.1-4build1) ... 116s Setting up autoconf (2.72-3.1ubuntu1) ... 116s Setting up libubsan1:ppc64el (15.2.0-5ubuntu1) ... 116s Setting up zlib1g-dev:ppc64el (1:1.3.dfsg+really1.3.1-1ubuntu2) ... 116s Setting up libpcre2-posix3:ppc64el (10.46-1) ... 116s Setting up dwz (0.16-2) ... 116s Setting up golang-1.25-src (1.25.0-0ubuntu1) ... 116s Setting up libasan8:ppc64el (15.2.0-5ubuntu1) ... 116s Setting up debugedit (1:5.2-3) ... 116s Setting up sgml-base (1.31+nmu1) ... 116s Setting up libgpgme11t64:ppc64el (1.24.2-3ubuntu1) ... 116s Setting up libicu76:ppc64el (76.1-4ubuntu2) ... 116s Setting up libtsan2:ppc64el (15.2.0-5ubuntu1) ... 116s Setting up liburing2:ppc64el (2.11-1) ... 116s Setting up libisl23:ppc64el (0.27-1) ... 116s Setting up golang-src (2:1.25~1) ... 116s Setting up libcap-dev:ppc64el (1:2.75-7ubuntu2) ... 116s Setting up libcc1-0:ppc64el (15.2.0-5ubuntu1) ... 116s Setting up libsystemd-dev:ppc64el (257.9-0ubuntu2) ... 116s Setting up liblsan0:ppc64el (15.2.0-5ubuntu1) ... 116s Setting up libtevent0t64:ppc64el (2:0.16.2+samba4.22.3+dfsg-4ubuntu2.1) ... 116s Setting up libitm1:ppc64el (15.2.0-5ubuntu1) ... 116s Setting up libkadm5clnt-mit12:ppc64el (1.21.3-5ubuntu2) ... 116s Setting up automake (1:1.17-4ubuntu1) ... 116s update-alternatives: using /usr/bin/automake-1.17 to provide /usr/bin/automake (automake) in auto mode 116s Setting up libfile-stripnondeterminism-perl (1.14.2-1) ... 116s Setting up libblkid-dev:ppc64el (2.41-4ubuntu4) ... 116s Setting up golang-1.25-go (1.25.0-0ubuntu1) ... 116s Setting up libgio-2.0-dev-bin (2.86.0-2) ... 116s Setting up gettext (0.23.1-2build2) ... 116s Setting up girepository-tools:ppc64el (2.86.0-2) ... 116s Setting up libgcc-15-dev:ppc64el (15.2.0-5ubuntu1) ... 116s Setting up libpcre2-dev:ppc64el (10.46-1) ... 116s Setting up libkdb5-10t64:ppc64el (1.21.3-5ubuntu2) ... 116s Setting up python3-talloc:ppc64el (2:2.4.3+samba4.22.3+dfsg-4ubuntu2.1) ... 116s Setting up golang-go:ppc64el (2:1.25~1) ... 116s Setting up libselinux1-dev:ppc64el (3.8.1-1build1) ... 116s Setting up libavahi-common3:ppc64el (0.8-16ubuntu3) ... 116s Setting up pkgconf:ppc64el (1.8.1-4build1) ... 116s Setting up intltool-debian (0.35.0+20060710.6) ... 116s Setting up cpp-15-powerpc64le-linux-gnu (15.2.0-5ubuntu1) ... 116s Setting up libstdc++-15-dev:ppc64el (15.2.0-5ubuntu1) ... 116s Setting up dh-strip-nondeterminism (1.14.2-1) ... 116s Setting up cpp-15 (15.2.0-5ubuntu1) ... 116s Setting up xml-core (0.19) ... 116s Setting up libkadm5srv-mit12:ppc64el (1.21.3-5ubuntu2) ... 116s Setting up libldb2:ppc64el (2:2.11.0+samba4.22.3+dfsg-4ubuntu2.1) ... 116s Setting up libavahi-client3:ppc64el (0.8-16ubuntu3) ... 116s Setting up libmount-dev:ppc64el (2.41-4ubuntu4) ... 116s Setting up cpp-powerpc64le-linux-gnu (4:15.2.0-4ubuntu1) ... 116s Setting up krb5-multidev:ppc64el (1.21.3-5ubuntu2) ... 116s Setting up libglib2.0-dev-bin (2.86.0-2) ... 116s Setting up libgio-2.0-dev:ppc64el (2.86.0-2) ... 116s Setting up gcc-15-powerpc64le-linux-gnu (15.2.0-5ubuntu1) ... 116s Setting up po-debconf (1.0.21+nmu1) ... 116s Setting up samba-libs:ppc64el (2:4.22.3+dfsg-4ubuntu2.1) ... 116s Setting up libkrb5-dev:ppc64el (1.21.3-5ubuntu2) ... 116s Setting up gcc-15 (15.2.0-5ubuntu1) ... 116s Setting up gcc-powerpc64le-linux-gnu (4:15.2.0-4ubuntu1) ... 116s Setting up python3-ldb (2:2.11.0+samba4.22.3+dfsg-4ubuntu2.1) ... 117s Setting up cpp (4:15.2.0-4ubuntu1) ... 117s Setting up samba-dsdb-modules:ppc64el (2:4.22.3+dfsg-4ubuntu2.1) ... 117s Setting up libsmbclient0:ppc64el (2:4.22.3+dfsg-4ubuntu2.1) ... 117s Setting up libcups2t64:ppc64el (2.4.12-0ubuntu3) ... 117s Setting up python3-samba (2:4.22.3+dfsg-4ubuntu2.1) ... 117s Setting up g++-15-powerpc64le-linux-gnu (15.2.0-5ubuntu1) ... 117s Setting up libtool (2.5.4-4build1) ... 117s Setting up gcc (4:15.2.0-4ubuntu1) ... 117s Setting up dh-autoreconf (21) ... 117s Setting up libsmbclient-dev:ppc64el (2:4.22.3+dfsg-4ubuntu2.1) ... 117s Setting up samba-common-bin (2:4.22.3+dfsg-4ubuntu2.1) ... 117s Setting up g++-15 (15.2.0-5ubuntu1) ... 117s Setting up samba (2:4.22.3+dfsg-4ubuntu2.1) ... 118s Created symlink '/etc/systemd/system/smb.service' → '/usr/lib/systemd/system/smbd.service'. 118s Created symlink '/etc/systemd/system/multi-user.target.wants/smbd.service' → '/usr/lib/systemd/system/smbd.service'. 119s Created symlink '/etc/systemd/system/nmb.service' → '/usr/lib/systemd/system/nmbd.service'. 119s Created symlink '/etc/systemd/system/multi-user.target.wants/nmbd.service' → '/usr/lib/systemd/system/nmbd.service'. 119s Setting up g++-powerpc64le-linux-gnu (4:15.2.0-4ubuntu1) ... 119s Setting up debhelper (13.24.2ubuntu1) ... 119s Setting up g++ (4:15.2.0-4ubuntu1) ... 119s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 119s Setting up build-essential (12.12ubuntu1) ... 119s Setting up dh-golang (1.63) ... 119s Processing triggers for install-info (7.1.1-1ubuntu1) ... 119s Processing triggers for libc-bin (2.42-0ubuntu3) ... 119s Processing triggers for ufw (0.36.2-9) ... 119s Processing triggers for man-db (2.13.1-1) ... 122s Processing triggers for libglib2.0-0t64:ppc64el (2.86.0-2) ... 122s No schema files found: doing nothing. 122s Setting up libglib2.0-dev:ppc64el (2.86.0-2) ... 122s Processing triggers for sgml-base (1.31+nmu1) ... 122s Setting up libdbus-1-dev:ppc64el (1.16.2-2ubuntu2) ... 122s autopkgtest [15:32:19]: test command1: ./debian/tests/test no-sudo 122s autopkgtest [15:32:19]: test command1: [----------------------- 123s Running non-root tests... 155s ? github.com/ubuntu/adsys [no test files] 165s === RUN TestRun 165s === RUN TestRun/Run_and_exit_successfully 165s === RUN TestRun/Run_and_return_error 165s level=error msg="Error requested" 165s === RUN TestRun/Run_and_return_usage_error 165s level=error msg="Error requested" 165s === RUN TestRun/Run_and_usage_error_only_does_not_fail 165s --- PASS: TestRun (0.00s) 165s --- PASS: TestRun/Run_and_exit_successfully (0.00s) 165s --- PASS: TestRun/Run_and_return_error (0.00s) 165s --- PASS: TestRun/Run_and_return_usage_error (0.00s) 165s --- PASS: TestRun/Run_and_usage_error_only_does_not_fail (0.00s) 165s === RUN TestMainApp 165s --- PASS: TestMainApp (0.01s) 165s === RUN TestAppUsage 165s === RUN TestAppUsage/Admx_with_correct_arguments 165s === RUN TestAppUsage/Doc_with_correct_arguments 165s === RUN TestAppUsage/Error_when_command_is_called_with_wrong_arguments 165s === RUN TestAppUsage/Expand_with_correct_arguments 165s --- PASS: TestAppUsage (0.04s) 165s --- PASS: TestAppUsage/Admx_with_correct_arguments (0.01s) 165s --- PASS: TestAppUsage/Doc_with_correct_arguments (0.01s) 165s --- PASS: TestAppUsage/Error_when_command_is_called_with_wrong_arguments (0.01s) 165s --- PASS: TestAppUsage/Expand_with_correct_arguments (0.01s) 165s PASS 165s ok github.com/ubuntu/adsys/cmd/admxgen 0.061s 165s ? github.com/ubuntu/adsys/cmd/admxgen/commands [no test files] 182s === RUN TestRun 182s === RUN TestRun/Send_SIGHUP_with_exit 182s === RUN TestRun/Run_and_exit_successfully 182s === RUN TestRun/Run_and_return_error 182s level=error msg="Error requested" 182s === RUN TestRun/Run_and_return_usage_error 182s level=error msg="Error requested" 182s === RUN TestRun/Run_and_usage_error_only_does_not_fail 182s === RUN TestRun/Send_SIGINT_exits 182s === RUN TestRun/Send_SIGTERM_exits 182s === RUN TestRun/Send_SIGHUP_without_exiting 182s --- PASS: TestRun (0.86s) 182s --- PASS: TestRun/Send_SIGHUP_with_exit (0.10s) 182s --- PASS: TestRun/Run_and_exit_successfully (0.10s) 182s --- PASS: TestRun/Run_and_return_error (0.10s) 182s --- PASS: TestRun/Run_and_return_usage_error (0.10s) 182s --- PASS: TestRun/Run_and_usage_error_only_does_not_fail (0.10s) 182s --- PASS: TestRun/Send_SIGINT_exits (0.10s) 182s --- PASS: TestRun/Send_SIGTERM_exits (0.10s) 182s --- PASS: TestRun/Send_SIGHUP_without_exiting (0.15s) 182s === RUN TestMainApp 182s --- PASS: TestMainApp (0.93s) 182s PASS 182s ok github.com/ubuntu/adsys/cmd/adsysd 1.859s 182s === RUN TestColorizePolicies 182s --- PASS: TestColorizePolicies (0.00s) 182s === RUN TestInitApp 182s === PAUSE TestInitApp 182s === RUN TestAppHelp 182s === PAUSE TestAppHelp 182s === RUN TestAppCompletion 182s === PAUSE TestAppCompletion 182s === RUN TestAppNoUsageError 182s === PAUSE TestAppNoUsageError 182s === RUN TestAppUsageError 182s === PAUSE TestAppUsageError 182s === RUN TestAppUsageErrorReportsSuggestions 182s Usage: 182s adsysctl COMMAND [flags] 182s adsysctl [command] 182s 182s Available Commands: 182s applied Print last applied GPOs for current or given user/machine 182s completion Generate the autocompletion script for the specified shell 182s doc Documentation 182s help Help about any command 182s policy Policy management 182s service Service management 182s update Updates/Create a policy for current user or given user with its kerberos ticket 182s version Returns version of client and service 182s 182s Flags: 182s -c, --config string use a specific configuration file 182s -h, --help help for adsysctl 182s -s, --socket string socket path to use between daemon and client. Can be overridden by systemd socket activation. (default "/run/adsysd.sock") 182s -t, --timeout int time in seconds before cancelling the client request when the server gives no result. 0 for no timeout. (default 30) 182s -v, --verbose count issue INFO (-v), DEBUG (-vv) or DEBUG with caller (-vvv) output 182s 182s Use "adsysctl [command] --help" for more information about a command. 182s 182s --- PASS: TestAppUsageErrorReportsSuggestions (0.00s) 182s === RUN TestAppCanQuitWhenExecute 182s === PAUSE TestAppCanQuitWhenExecute 182s === RUN TestAppCanQuitAfterExecute 182s === PAUSE TestAppCanQuitAfterExecute 182s === RUN TestAppCanQuitWithoutExecute 182s === PAUSE TestAppCanQuitWithoutExecute 182s === RUN TestAppCanSigHupWhenExecute 182s === PAUSE TestAppCanSigHupWhenExecute 182s === RUN TestAppCanSigHupAfterExecute 182s === PAUSE TestAppCanSigHupAfterExecute 182s === RUN TestAppGetRootCmd 182s === PAUSE TestAppGetRootCmd 182s === CONT TestInitApp 182s === CONT TestAppCanQuitAfterExecute 182s # bash completion V2 for adsysctl -*- shell-script -*- 182s 182s __adsysctl_debug() 182s { 182s if [[ -n ${BASH_COMP_DEBUG_FILE-} ]]; then 182s echo "$*" >> "${BASH_COMP_DEBUG_FILE}" 182s fi 182s } 182s 182s # Macs have bash3 for which the bash-completion package doesn't include 182s # _init_completion. This is a minimal version of that function. 182s __adsysctl_init_completion() 182s { 182s COMPREPLY=() 182s _get_comp_words_by_ref "$@" cur prev words cword 182s } 182s 182s # This function calls the adsysctl program to obtain the completion 182s # results and the directive. It fills the 'out' and 'directive' vars. 182s __adsysctl_get_completion_results() { 182s local requestComp lastParam lastChar args 182s 182s # Prepare the command to request completions for the program. 182s # Calling ${words[0]} instead of directly adsysctl allows handling aliases 182s args=("${words[@]:1}") 182s requestComp="${words[0]} __complete ${args[*]}" 182s 182s lastParam=${words[$((${#words[@]}-1))]} 182s lastChar=${lastParam:$((${#lastParam}-1)):1} 182s __adsysctl_debug "lastParam ${lastParam}, lastChar ${lastChar}" 182s 182s if [[ -z ${cur} && ${lastChar} != = ]]; then 182s # If the last parameter is complete (there is a space following it) 182s # We add an extra empty parameter so we can indicate this to the go method. 182s __adsysctl_debug "Adding extra empty parameter" 182s requestComp="${requestComp} ''" 182s fi 182s 182s # When completing a flag with an = (e.g., adsysctl -n=) 182s # bash focuses on the part after the =, so we need to remove 182s # the flag part from $cur 182s if [[ ${cur} == -*=* ]]; then 182s cur="${cur#*=}" 182s fi 182s 182s __adsysctl_debug "Calling ${requestComp}" 182s # Use eval to handle any environment variables and such 182s out=$(eval "${requestComp}" 2>/dev/null) 182s 182s # Extract the directive integer at the very end of the output following a colon (:) 182s directive=${out##*:} 182s # Remove the directive 182s out=${out%:*} 182s if [[ ${directive} == "${out}" ]]; then 182s # There is not directive specified 182s directive=0 182s fi 182s __adsysctl_debug "The completion directive is: ${directive}" 182s __adsysctl_debug "The completions are: ${out}" 182s } 182s 182s __adsysctl_process_completion_results() { 182s local shellCompDirectiveError=1 182s local shellCompDirectiveNoSpace=2 182s local shellCompDirectiveNoFileComp=4 182s local shellCompDirectiveFilterFileExt=8 182s local shellCompDirectiveFilterDirs=16 182s local shellCompDirectiveKeepOrder=32 182s 182s if (((directive & shellCompDirectiveError) != 0)); then 182s # Error code. No completion. 182s __adsysctl_debug "Received error from custom completion go code" 182s return 182s else 182s if (((directive & shellCompDirectiveNoSpace) != 0)); then 182s if [[ $(type -t compopt) == builtin ]]; then 182s __adsysctl_debug "Activating no space" 182s compopt -o nospace 182s else 182s __adsysctl_debug "No space directive not supported in this version of bash" 182s fi 182s fi 182s if (((directive & shellCompDirectiveKeepOrder) != 0)); then 182s if [[ $(type -t compopt) == builtin ]]; then 182s # no sort isn't supported for bash less than < 4.4 182s if [[ ${BASH_VERSINFO[0]} -lt 4 || ( ${BASH_VERSINFO[0]} -eq 4 && ${BASH_VERSINFO[1]} -lt 4 ) ]]; then 182s __adsysctl_debug "No sort directive not supported in this version of bash" 182s else 182s __adsysctl_debug "Activating keep order" 182s compopt -o nosort 182s fi 182s else 182s __adsysctl_debug "No sort directive not supported in this version of bash" 182s fi 182s fi 182s if (((directive & shellCompDirectiveNoFileComp) != 0)); then 182s if [[ $(type -t compopt) == builtin ]]; then 182s __adsysctl_debug "Activating no file completion" 182s compopt +o default 182s else 182s __adsysctl_debug "No file completion directive not supported in this version of bash" 182s fi 182s fi 182s fi 182s 182s # Separate activeHelp from normal completions 182s local completions=() 182s local activeHelp=() 182s __adsysctl_extract_activeHelp 182s 182s if (((directive & shellCompDirectiveFilterFileExt) != 0)); then 182s # File extension filtering 182s local fullFilter="" filter filteringCmd 182s 182s # Do not use quotes around the $completions variable or else newline 182s # characters will be kept. 182s for filter in ${completions[*]}; do 182s fullFilter+="$filter|" 182s done 182s 182s filteringCmd="_filedir $fullFilter" 182s __adsysctl_debug "File filtering command: $filteringCmd" 182s $filteringCmd 182s elif (((directive & shellCompDirectiveFilterDirs) != 0)); then 182s # File completion for directories only 182s 182s local subdir 182s subdir=${completions[0]} 182s if [[ -n $subdir ]]; then 182s __adsysctl_debug "Listing directories in $subdir" 182s pushd "$subdir" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 || return 182s else 182s __adsysctl_debug "Listing directories in ." 182s _filedir -d 182s fi 182s else 182s __adsysctl_handle_completion_types 182s fi 182s 182s __adsysctl_handle_special_char "$cur" : 182s __adsysctl_handle_special_char "$cur" = 182s 182s # Print the activeHelp statements before we finish 182s __adsysctl_handle_activeHelp 182s } 182s 182s __adsysctl_handle_activeHelp() { 182s # Print the activeHelp statements 182s if ((${#activeHelp[*]} != 0)); then 182s if [ -z $COMP_TYPE ]; then 182s # Bash v3 does not set the COMP_TYPE variable. 182s printf "\n"; 182s printf "%s\n" "${activeHelp[@]}" 182s printf "\n" 182s __adsysctl_reprint_commandLine 182s return 182s fi 182s 182s # Only print ActiveHelp on the second TAB press 182s if [ $COMP_TYPE -eq 63 ]; then 182s printf "\n" 182s printf "%s\n" "${activeHelp[@]}" 182s 182s if ((${#COMPREPLY[*]} == 0)); then 182s # When there are no completion choices from the program, file completion 182s # may kick in if the program has not disabled it; in such a case, we want 182s # to know if any files will match what the user typed, so that we know if 182s # there will be completions presented, so that we know how to handle ActiveHelp. 182s # To find out, we actually trigger the file completion ourselves; 182s # the call to _filedir will fill COMPREPLY if files match. 182s if (((directive & shellCompDirectiveNoFileComp) == 0)); then 182s __adsysctl_debug "Listing files" 182s _filedir 182s fi 182s fi 182s 182s if ((${#COMPREPLY[*]} != 0)); then 182s # If there are completion choices to be shown, print a delimiter. 182s # Re-printing the command-line will automatically be done 182s # by the shell when it prints the completion choices. 182s printf -- "--" 182s else 182s # When there are no completion choices at all, we need 182s # to re-print the command-line since the shell will 182s # not be doing it itself. 182s __adsysctl_reprint_commandLine 182s fi 182s elif [ $COMP_TYPE -eq 37 ] || [ $COMP_TYPE -eq 42 ]; then 182s # For completion type: menu-complete/menu-complete-backward and insert-completions 182s # the completions are immediately inserted into the command-line, so we first 182s # print the activeHelp message and reprint the command-line since the shell won't. 182s printf "\n" 182s printf "%s\n" "${activeHelp[@]}" 182s 182s __adsysctl_reprint_commandLine 182s fi 182s fi 182s } 182s 182s __adsysctl_reprint_commandLine() { 182s # The prompt format is only available from bash 4.4. 182s # We test if it is available before using it. 182s if (x=${PS1@P}) 2> /dev/null; then 182s printf "%s" "${PS1@P}${COMP_LINE[@]}" 182s else 182s # Can't print the prompt. Just print the 182s # text the user had typed, it is workable enough. 182s printf "%s" "${COMP_LINE[@]}" 182s fi 182s } 182s 182s # Separate activeHelp lines from real completions. 182s # Fills the $activeHelp and $completions arrays. 182s __adsysctl_extract_activeHelp() { 182s local activeHelpMarker="_activeHelp_ " 182s local endIndex=${#activeHelpMarker} 182s 182s while IFS='' read -r comp; do 182s [[ -z $comp ]] && continue 182s 182s if [[ ${comp:0:endIndex} == $activeHelpMarker ]]; then 182s comp=${comp:endIndex} 182s __adsysctl_debug "ActiveHelp found: $comp" 182s if [[ -n $comp ]]; then 182s activeHelp+=("$comp") 182s fi 182s else 182s # Not an activeHelp line but a normal completion 182s completions+=("$comp") 182s fi 182s done <<<"${out}" 182s } 182s 182s __adsysctl_handle_completion_types() { 182s __adsysctl_debug "__adsysctl_handle_completion_types: COMP_TYPE is $COMP_TYPE" 182s 182s case $COMP_TYPE in 182s 37|42) 182s # Type: menu-complete/menu-complete-backward and insert-completions 182s # If the user requested inserting one completion at a time, or all 182s # completions at once on the command-line we must remove the descriptions. 182s # https://github.com/spf13/cobra/issues/1508 182s 182s # If there are no completions, we don't need to do anything 182s (( ${#completions[@]} == 0 )) && return 0 182s 182s local tab=$'\t' 182s 182s # Strip any description and escape the completion to handled special characters 182s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]%%$tab*}") 182s 182s # Only consider the completions that match 182s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 182s 182s # compgen looses the escaping so we need to escape all completions again since they will 182s # all be inserted on the command-line. 182s IFS=$'\n' read -ra COMPREPLY -d '' < <(printf "%q\n" "${COMPREPLY[@]}") 182s ;; 182s 182s *) 182s # Type: complete (normal completion) 182s __adsysctl_handle_standard_completion_case 182s ;; 182s esac 182s } 182s 182s __adsysctl_handle_standard_completion_case() { 182s local tab=$'\t' 182s 182s # If there are no completions, we don't need to do anything 182s (( ${#completions[@]} == 0 )) && return 0 182s 182s # Short circuit to optimize if we don't have descriptions 182s if [[ "${completions[*]}" != *$tab* ]]; then 182s # First, escape the completions to handle special characters 182s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]}") 182s # Only consider the completions that match what the user typed 182s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 182s 182s # compgen looses the escaping so, if there is only a single completion, we need to 182s # escape it again because it will be inserted on the command-line. If there are multiple 182s # completions, we don't want to escape them because they will be printed in a list 182s # and we don't want to show escape characters in that list. 182s if (( ${#COMPREPLY[@]} == 1 )); then 182s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]}") 182s fi 182s return 0 182s fi 182s 182s local longest=0 182s local compline 182s # Look for the longest completion so that we can format things nicely 182s while IFS='' read -r compline; do 182s [[ -z $compline ]] && continue 182s 182s # Before checking if the completion matches what the user typed, 182s # we need to strip any description and escape the completion to handle special 182s # characters because those escape characters are part of what the user typed. 182s # Don't call "printf" in a sub-shell because it will be much slower 182s # since we are in a loop. 182s printf -v comp "%q" "${compline%%$tab*}" &>/dev/null || comp=$(printf "%q" "${compline%%$tab*}") 182s 182s # Only consider the completions that match 182s [[ $comp == "$cur"* ]] || continue 182s 182s # The completions matches. Add it to the list of full completions including 182s # its description. We don't escape the completion because it may get printed 182s # in a list if there are more than one and we don't want show escape characters 182s # in that list. 182s COMPREPLY+=("$compline") 182s 182s # Strip any description before checking the length, and again, don't escape 182s # the completion because this length is only used when printing the completions 182s # in a list and we don't want show escape characters in that list. 182s comp=${compline%%$tab*} 182s if ((${#comp}>longest)); then 182s longest=${#comp} 182s fi 182s done < <(printf "%s\n" "${completions[@]}") 182s 182s # If there is a single completion left, remove the description text and escape any special characters 182s if ((${#COMPREPLY[*]} == 1)); then 182s __adsysctl_debug "COMPREPLY[0]: ${COMPREPLY[0]}" 182s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]%%$tab*}") 182s __adsysctl_debug "Removed description from single completion, which is now: ${COMPREPLY[0]}" 182s else 182s # Format the descriptions 182s __adsysctl_format_comp_descriptions $longest 182s fi 182s } 182s 182s __adsysctl_handle_special_char() 182s { 182s local comp="$1" 182s local char=$2 182s if [[ "$comp" == *${char}* && "$COMP_WORDBREAKS" == *${char}* ]]; then 182s local word=${comp%"${comp##*${char}}"} 182s local idx=${#COMPREPLY[*]} 182s while ((--idx >= 0)); do 182s COMPREPLY[idx]=${COMPREPLY[idx]#"$word"} 182s done 182s fi 182s } 182s 182s __adsysctl_format_comp_descriptions() 182s { 182s local tab=$'\t' 182s local comp desc maxdesclength 182s local longest=$1 182s 182s local i ci 182s for ci in ${!COMPREPLY[*]}; do 182s comp=${COMPREPLY[ci]} 182s # Properly format the description string which follows a tab character if there is one 182s if [[ "$comp" == *$tab* ]]; then 182s __adsysctl_debug "Original comp: $comp" 182s desc=${comp#*$tab} 182s comp=${comp%%$tab*} 182s 182s # $COLUMNS stores the current shell width. 182s # Remove an extra 4 because we add 2 spaces and 2 parentheses. 182s maxdesclength=$(( COLUMNS - longest - 4 )) 182s 182s # Make sure we can fit a description of at least 8 characters 182s # if we are to align the descriptions. 182s if ((maxdesclength > 8)); then 182s # Add the proper number of spaces to align the descriptions 182s for ((i = ${#comp} ; i < longest ; i++)); do 182s comp+=" " 182s done 182s else 182s # Don't pad the descriptions so we can fit more text after the completion 182s maxdesclength=$(( COLUMNS - ${#comp} - 4 )) 182s fi 182s 182s # If there is enough space for any description text, 182s # truncate the descriptions that are too long for the shell width 182s if ((maxdesclength > 0)); then 182s if ((${#desc} > maxdesclength)); then 182s desc=${desc:0:$(( maxdesclength - 1 ))} 182s desc+="…" 182s fi 182s comp+=" ($desc)" 182s fi 182s COMPREPLY[ci]=$comp 182s __adsysctl_debug "Final comp: $comp" 182s fi 182s done 182s } 182s 182s __start_adsysctl() 182s { 182s local cur prev words cword split 182s 182s COMPREPLY=() 182s 182s # Call _init_completion from the bash-completion package 182s # to prepare the arguments properly 182s if declare -F _init_completion >/dev/null 2>&1; then 182s _init_completion -n =: || return 182s else 182s __adsysctl_init_completion -n =: || return 182s fi 182s 182s __adsysctl_debug 182s __adsysctl_debug "========= starting completion logic ==========" 182s __adsysctl_debug "cur is ${cur}, words[*] is ${words[*]}, #words[@] is ${#words[@]}, cword is $cword" 182s 182s # The user could have moved the cursor backwards on the command-line. 182s # We need to trigger completion from the $cword location, so we need 182s # to truncate the command-line ($words) up to the $cword location. 182s words=("${words[@]:0:$cword+1}") 182s __adsysctl_debug "Truncated words[*]: ${words[*]}," 182s 182s local out directive 182s __adsysctl_get_completion_results 182s __adsysctl_process_completion_results 182s } 182s 182s if [[ $(type -t compopt) = "builtin" ]]; then 182s complete -o default -F __start_adsysctl adsysctl 182s else 182s complete -o default -o nospace -F __start_adsysctl adsysctl 182s fi 182s 182s # ex: ts=4 sw=4 et filetype=sh 182s --- PASS: TestAppCanQuitAfterExecute (0.00s) 182s === CONT TestAppGetRootCmd 182s Usage: 182s adsysctl COMMAND [flags] 182s adsysctl [command] 182s 182s Available Commands: 182s applied Print last applied GPOs for current or given user/machine 182s completion Generate the autocompletion script for the specified shell 182s doc Documentation 182s help Help about any command 182s policy Policy management 182s service Service management 182s update Updates/Create a policy for current user or given user with its kerberos ticket 182s version Returns version of client and service 182s 182s Flags: 182s -c, --config string use a specific configuration file 182s -h, --help help for adsysctl 182s -s, --socket string socket path to use between daemon and client. Can be overridden by systemd socket activation. (default "/run/adsysd.sock") 182s -t, --timeout int time in seconds before cancelling the client request when the server gives no result. 0 for no timeout. (default 30) 182s -v, --verbose count issue INFO (-v), DEBUG (-vv) or DEBUG with caller (-vvv) output 182s 182s Use "adsysctl [command] --help" for more information about a command. 182s 182s --- PASS: TestInitApp (0.00s) 182s --- PASS: TestAppGetRootCmd (0.00s) 182s === CONT TestAppCanSigHupWhenExecute 182s === CONT TestAppCanSigHupAfterExecute 182s # bash completion V2 for adsysctl -*- shell-script -*- 182s 182s __adsysctl_debug() 182s { 182s if [[ -n ${BASH_COMP_DEBUG_FILE-} ]]; then 182s echo "$*" >> "${BASH_COMP_DEBUG_FILE}" 182s fi 182s } 182s 182s # Macs have bash3 for which the bash-completion package doesn't include 182s # _init_completion. This is a minimal version of that function. 182s __adsysctl_init_completion() 182s { 182s COMPREPLY=() 182s _get_comp_words_by_ref "$@" cur prev words cword 182s } 182s 182s # This function calls the adsysctl program to obtain the completion 182s # results and the directive. It fills the 'out' and 'directive' vars. 182s __adsysctl_get_completion_results() { 182s local requestComp lastParam lastChar args 182s 182s # Prepare the command to request completions for the program. 182s # Calling ${words[0]} instead of directly adsysctl allows handling aliases 182s args=("${words[@]:1}") 182s requestComp="${words[0]} __complete ${args[*]}" 182s 182s lastParam=${words[$((${#words[@]}-1))]} 182s lastChar=${lastParam:$((${#lastParam}-1)):1} 182s __adsysctl_debug "lastParam ${lastParam}, lastChar ${lastChar}" 182s 182s if [[ -z ${cur} && ${lastChar} != = ]]; then 182s # If the last parameter is complete (there is a space following it) 182s # We add an extra empty parameter so we can indicate this to the go method. 182s __adsysctl_debug "Adding extra empty parameter" 182s requestComp="${requestComp} ''" 182s fi 182s 182s # When completing a flag with an = (e.g., adsysctl -n=) 182s # bash focuses on the part after the =, so we need to remove 182s # the flag part from $cur 182s if [[ ${cur} == -*=* ]]; then 182s cur="${cur#*=}" 182s fi 182s 182s __adsysctl_debug "Calling ${requestComp}" 182s # Use eval to handle any environment variables and such 182s out=$(eval "${requestComp}" 2>/dev/null) 182s 182s # Extract the directive integer at the very end of the output following a colon (:) 182s directive=${out##*:} 182s # Remove the directive 182s out=${out%:*} 182s if [[ ${directive} == "${out}" ]]; then 182s # There is not directive specified 182s directive=0 182s fi 182s __adsysctl_debug "The completion directive is: ${directive}" 182s __adsysctl_debug "The completions are: ${out}" 182s } 182s 182s __adsysctl_process_completion_results() { 182s local shellCompDirectiveError=1 182s local shellCompDirectiveNoSpace=2 182s local shellCompDirectiveNoFileComp=4 182s local shellCompDirectiveFilterFileExt=8 182s local shellCompDirectiveFilterDirs=16 182s local shellCompDirectiveKeepOrder=32 182s 182s if (((directive & shellCompDirectiveError) != 0)); then 182s # Error code. No completion. 182s __adsysctl_debug "Received error from custom completion go code" 182s return 182s else 182s if (((directive & shellCompDirectiveNoSpace) != 0)); then 182s if [[ $(type -t compopt) == builtin ]]; then 182s __adsysctl_debug "Activating no space" 182s compopt -o nospace 182s else 182s __adsysctl_debug "No space directive not supported in this version of bash" 182s fi 182s fi 182s if (((directive & shellCompDirectiveKeepOrder) != 0)); then 182s if [[ $(type -t compopt) == builtin ]]; then 182s # no sort isn't supported for bash less than < 4.4 182s if [[ ${BASH_VERSINFO[0]} -lt 4 || ( ${BASH_VERSINFO[0]} -eq 4 && ${BASH_VERSINFO[1]} -lt 4 ) ]]; then 182s __adsysctl_debug "No sort directive not supported in this version of bash" 182s else 182s __adsysctl_debug "Activating keep order" 182s compopt -o nosort 182s fi 182s else 182s __adsysctl_debug "No sort directive not supported in this version of bash" 182s fi 182s fi 182s if (((directive & shellCompDirectiveNoFileComp) != 0)); then 182s if [[ $(type -t compopt) == builtin ]]; then 182s __adsysctl_debug "Activating no file completion" 182s compopt +o default 182s else 182s __adsysctl_debug "No file completion directive not supported in this version of bash" 182s fi 182s fi 182s fi 182s 182s # Separate activeHelp from normal completions 182s local completions=() 182s local activeHelp=() 182s __adsysctl_extract_activeHelp 182s 182s if (((directive & shellCompDirectiveFilterFileExt) != 0)); then 182s # File extension filtering 182s local fullFilter="" filter filteringCmd 182s 182s # Do not use quotes around the $completions variable or else newline 182s # characters will be kept. 182s for filter in ${completions[*]}; do 182s fullFilter+="$filter|" 182s done 182s 182s filteringCmd="_filedir $fullFilter" 182s __adsysctl_debug "File filtering command: $filteringCmd" 182s $filteringCmd 182s elif (((directive & shellCompDirectiveFilterDirs) != 0)); then 182s # File completion for directories only 182s 182s local subdir 182s subdir=${completions[0]} 182s if [[ -n $subdir ]]; then 182s __adsysctl_debug "Listing directories in $subdir" 182s pushd "$subdir" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 || return 182s else 182s __adsysctl_debug "Listing directories in ." 182s _filedir -d 182s fi 182s else 182s __adsysctl_handle_completion_types 182s fi 182s 182s __adsysctl_handle_special_char "$cur" : 182s __adsysctl_handle_special_char "$cur" = 182s 182s # Print the activeHelp statements before we finish 182s __adsysctl_handle_activeHelp 182s } 182s 182s __adsysctl_handle_activeHelp() { 182s # Print the activeHelp statements 182s if ((${#activeHelp[*]} != 0)); then 182s if [ -z $COMP_TYPE ]; then 182s # Bash v3 does not set the COMP_TYPE variable. 182s printf "\n"; 182s printf "%s\n" "${activeHelp[@]}" 182s printf "\n" 182s __adsysctl_reprint_commandLine 182s return 182s fi 182s 182s # Only print ActiveHelp on the second TAB press 182s if [ $COMP_TYPE -eq 63 ]; then 182s printf "\n" 182s printf "%s\n" "${activeHelp[@]}" 182s 182s if ((${#COMPREPLY[*]} == 0)); then 182s # When there are no completion choices from the program, file completion 182s # may kick in if the program has not disabled it; in such a case, we want 182s # to know if any files will match what the user typed, so that we know if 182s # there will be completions presented, so that we know how to handle ActiveHelp. 182s # To find out, we actually trigger the file completion ourselves; 182s # the call to _filedir will fill COMPREPLY if files match. 182s if (((directive & shellCompDirectiveNoFileComp) == 0)); then 182s __adsysctl_debug "Listing files" 182s _filedir 182s fi 182s fi 182s 182s if ((${#COMPREPLY[*]} != 0)); then 182s # If there are completion choices to be shown, print a delimiter. 182s # Re-printing the command-line will automatically be done 182s # by the shell when it prints the completion choices. 182s printf -- "--" 182s else 182s # When there are no completion choices at all, we need 182s # to re-print the command-line since the shell will 182s # not be doing it itself. 182s __adsysctl_reprint_commandLine 182s fi 182s elif [ $COMP_TYPE -eq 37 ] || [ $COMP_TYPE -eq 42 ]; then 182s # For completion type: menu-complete/menu-complete-backward and insert-completions 182s # the completions are immediately inserted into the command-line, so we first 182s # print the activeHelp message and reprint the command-line since the shell won't. 182s printf "\n" 182s printf "%s\n" "${activeHelp[@]}" 182s 182s __adsysctl_reprint_commandLine 182s fi 182s fi 182s } 182s 182s __adsysctl_reprint_commandLine() { 182s # The prompt format is only available from bash 4.4. 182s # We test if it is available before using it. 182s if (x=${PS1@P}) 2> /dev/null; then 182s printf "%s" "${PS1@P}${COMP_LINE[@]}" 182s else 182s # Can't print the prompt. Just print the 182s # text the user had typed, it is workable enough. 182s printf "%s" "${COMP_LINE[@]}" 182s fi 182s } 182s 182s # Separate activeHelp lines from real completions. 182s # Fills the $activeHelp and $completions arrays. 182s __adsysctl_extract_activeHelp() { 182s local activeHelpMarker="_activeHelp_ " 182s local endIndex=${#activeHelpMarker} 182s 182s while IFS='' read -r comp; do 182s [[ -z $comp ]] && continue 182s 182s if [[ ${comp:0:endIndex} == $activeHelpMarker ]]; then 182s comp=${comp:endIndex} 182s __adsysctl_debug "ActiveHelp found: $comp" 182s if [[ -n $comp ]]; then 182s activeHelp+=("$comp") 182s fi 182s else 182s # Not an activeHelp line but a normal completion 182s completions+=("$comp") 182s fi 182s done <<<"${out}" 182s } 182s 182s __adsysctl_handle_completion_types() { 182s __adsysctl_debug "__adsysctl_handle_completion_types: COMP_TYPE is $COMP_TYPE" 182s 182s case $COMP_TYPE in 182s 37|42) 182s # Type: menu-complete/menu-complete-backward and insert-completions 182s # If the user requested inserting one completion at a time, or all 182s # completions at once on the command-line we must remove the descriptions. 182s # https://github.com/spf13/cobra/issues/1508 182s 182s # If there are no completions, we don't need to do anything 182s (( ${#completions[@]} == 0 )) && return 0 182s 182s local tab=$'\t' 182s 182s # Strip any description and escape the completion to handled special characters 182s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]%%$tab*}") 182s 182s # Only consider the completions that match 182s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 182s 182s # compgen looses the escaping so we need to escape all completions again since they will 182s # all be inserted on the command-line. 182s IFS=$'\n' read -ra COMPREPLY -d '' < <(printf "%q\n" "${COMPREPLY[@]}") 182s ;; 182s 182s *) 182s # Type: complete (normal completion) 182s __adsysctl_handle_standard_completion_case 182s ;; 182s esac 182s } 182s 182s __adsysctl_handle_standard_completion_case() { 182s local tab=$'\t' 182s 182s # If there are no completions, we don't need to do anything 182s (( ${#completions[@]} == 0 )) && return 0 182s 182s # Short circuit to optimize if we don't have descriptions 182s if [[ "${completions[*]}" != *$tab* ]]; then 182s # First, escape the completions to handle special characters 182s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]}") 182s # Only consider the completions that match what the user typed 182s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 182s 182s # compgen looses the escaping so, if there is only a single completion, we need to 182s # escape it again because it will be inserted on the command-line. If there are multiple 182s # completions, we don't want to escape them because they will be printed in a list 182s # and we don't want to show escape characters in that list. 182s if (( ${#COMPREPLY[@]} == 1 )); then 182s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]}") 182s fi 182s return 0 182s fi 182s 182s local longest=0 182s local compline 182s # Look for the longest completion so that we can format things nicely 182s while IFS='' read -r compline; do 182s [[ -z $compline ]] && continue 182s 182s # Before checking if the completion matches what the user typed, 182s # we need to strip any description and escape the completion to handle special 182s # characters because those escape characters are part of what the user typed. 182s # Don't call "printf" in a sub-shell because it will be much slower 182s # since we are in a loop. 182s printf -v comp "%q" "${compline%%$tab*}" &>/dev/null || comp=$(printf "%q" "${compline%%$tab*}") 182s 182s # Only consider the completions that match 182s [[ $comp == "$cur"* ]] || continue 182s 182s # The completions matches. Add it to the list of full completions including 182s # its description. We don't escape the completion because it may get printed 182s # in a list if there are more than one and we don't want show escape characters 182s # in that list. 182s COMPREPLY+=("$compline") 182s 182s # Strip any description before checking the length, and again, don't escape 182s # the completion because this length is only used when printing the completions 182s # in a list and we don't want show escape characters in that list. 182s comp=${compline%%$tab*} 182s if ((${#comp}>longest)); then 182s longest=${#comp} 182s fi 182s done < <(printf "%s\n" "${completions[@]}") 182s 182s # If there is a single completion left, remove the description text and escape any special characters 182s if ((${#COMPREPLY[*]} == 1)); then 182s __adsysctl_debug "COMPREPLY[0]: ${COMPREPLY[0]}" 182s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]%%$tab*}") 182s __adsysctl_debug "Removed description from single completion, which is now: ${COMPREPLY[0]}" 182s else 182s # Format the descriptions 182s __adsysctl_format_comp_descriptions $longest 182s fi 182s } 182s 182s __adsysctl_handle_special_char() 182s { 182s local comp="$1" 182s local char=$2 182s if [[ "$comp" == *${char}* && "$COMP_WORDBREAKS" == *${char}* ]]; then 182s local word=${comp%"${comp##*${char}}"} 182s local idx=${#COMPREPLY[*]} 182s while ((--idx >= 0)); do 182s COMPREPLY[idx]=${COMPREPLY[idx]#"$word"} 182s done 182s fi 182s } 182s 182s __adsysctl_format_comp_descriptions() 182s { 182s local tab=$'\t' 182s local comp desc maxdesclength 182s local longest=$1 182s 182s local i ci 182s for ci in ${!COMPREPLY[*]}; do 182s comp=${COMPREPLY[ci]} 182s # Properly format the description string which follows a tab character if there is one 182s if [[ "$comp" == *$tab* ]]; then 182s __adsysctl_debug "Original comp: $comp" 182s desc=${comp#*$tab} 182s comp=${comp%%$tab*} 182s 182s # $COLUMNS stores the current shell width. 182s # Remove an extra 4 because we add 2 spaces and 2 parentheses. 182s maxdesclength=$(( COLUMNS - longest - 4 )) 182s 182s # Make sure we can fit a description of at least 8 characters 182s # if we are to align the descriptions. 182s if ((maxdesclength > 8)); then 182s # Add the proper number of spaces to align the descriptions 182s for ((i = ${#comp} ; i < longest ; i++)); do 182s comp+=" " 182s done 182s else 182s # Don't pad the descriptions so we can fit more text after the completion 182s maxdesclength=$(( COLUMNS - ${#comp} - 4 )) 182s fi 182s 182s # If there is enough space for any description text, 182s # truncate the descriptions that are too long for the shell width 182s if ((maxdesclength > 0)); then 182s if ((${#desc} > maxdesclength)); then 182s desc=${desc:0:$(( maxdesclength - 1 ))} 182s desc+="…" 182s fi 182s comp+=" ($desc)" 182s fi 182s COMPREPLY[ci]=$comp 182s __adsysctl_debug "Final comp: $comp" 182s fi 182s done 182s } 182s 182s __start_adsysctl() 182s { 182s local cur prev words cword split 182s 182s COMPREPLY=() 182s 182s # Call _init_completion from the bash-completion package 182s # to prepare the arguments properly 182s if declare -F _init_completion >/dev/null 2>&1; then 182s _init_completion -n =: || return 182s else 182s __adsysctl_init_completion -n =: || return 182s fi 182s 182s __adsysctl_debug 182s __adsysctl_debug "========= starting completion logic ==========" 182s __adsysctl_debug "cur is ${cur}, words[*] is ${words[*]}, #words[@] is ${#words[@]}, cword is $cword" 182s 182s # The user could have moved the cursor backwards on the command-line. 182s # We need to trigger completion from the $cword location, so we need 182s # to truncate the command-line ($words) up to the $cword location. 182s words=("${words[@]:0:$cword+1}") 182s __adsysctl_debug "Truncated words[*]: ${words[*]}," 182s 182s local out directive 182s __adsysctl_get_completion_results 182s __adsysctl_process_completion_results 182s } 182s 182s if [[ $(type -t compopt) = "builtin" ]]; then 182s complete -o default -F __start_adsysctl adsysctl 182s else 182s complete -o default -o nospace -F __start_adsysctl adsysctl 182s fi 182s 182s # ex: ts=4 sw=4 et filetype=sh 182s --- PASS: TestAppCanSigHupAfterExecute (0.00s) 182s === CONT TestAppCanQuitWithoutExecute 182s --- PASS: TestAppCanSigHupWhenExecute (0.00s) 182s === CONT TestAppNoUsageError 182s --- PASS: TestAppCanQuitWithoutExecute (0.00s) 182s === CONT TestAppCanQuitWhenExecute 182s # bash completion V2 for adsysctl -*- shell-script -*- 182s 182s __adsysctl_debug() 182s { 182s if [[ -n ${BASH_COMP_DEBUG_FILE-} ]]; then 182s echo "$*" >> "${BASH_COMP_DEBUG_FILE}" 182s fi 182s } 182s 182s # Macs have bash3 for which the bash-completion package doesn't include 182s # _init_completion. This is a minimal version of that function. 182s __adsysctl_init_completion() 182s { 182s COMPREPLY=() 182s _get_comp_words_by_ref "$@" cur prev words cword 182s } 182s 182s # This function calls the adsysctl program to obtain the completion 182s # results and the directive. It fills the 'out' and 'directive' vars. 182s __adsysctl_get_completion_results() { 182s local requestComp lastParam lastChar args 182s 182s # Prepare the command to request completions for the program. 182s # Calling ${words[0]} instead of directly adsysctl allows handling aliases 182s args=("${words[@]:1}") 182s requestComp="${words[0]} __complete ${args[*]}" 182s 182s lastParam=${words[$((${#words[@]}-1))]} 182s lastChar=${lastParam:$((${#lastParam}-1)):1} 182s __adsysctl_debug "lastParam ${lastParam}, lastChar ${lastChar}" 182s 182s if [[ -z ${cur} && ${lastChar} != = ]]; then 182s # If the last parameter is complete (there is a space following it) 182s # We add an extra empty parameter so we can indicate this to the go method. 182s __adsysctl_debug "Adding extra empty parameter" 182s requestComp="${requestComp} ''" 182s fi 182s 182s # When completing a flag with an = (e.g., adsysctl -n=) 182s # bash focuses on the part after the =, so we need to remove 182s # the flag part from $cur 182s if [[ ${cur} == -*=* ]]; then 182s cur="${cur#*=}" 182s fi 182s 182s __adsysctl_debug "Calling ${requestComp}" 182s # Use eval to handle any environment variables and such 182s out=$(eval "${requestComp}" 2>/dev/null) 182s 182s # Extract the directive integer at the very end of the output following a colon (:) 182s directive=${out##*:} 182s # Remove the directive 182s out=${out%:*} 182s if [[ ${directive} == "${out}" ]]; then 182s # There is not directive specified 182s directive=0 182s fi 182s __adsysctl_debug "The completion directive is: ${directive}" 182s __adsysctl_debug "The completions are: ${out}" 182s } 182s 182s __adsysctl_process_completion_results() { 182s local shellCompDirectiveError=1 182s local shellCompDirectiveNoSpace=2 182s local shellCompDirectiveNoFileComp=4 182s local shellCompDirectiveFilterFileExt=8 182s local shellCompDirectiveFilterDirs=16 182s local shellCompDirectiveKeepOrder=32 182s 182s if (((directive & shellCompDirectiveError) != 0)); then 182s # Error code. No completion. 182s __adsysctl_debug "Received error from custom completion go code" 182s return 182s else 182s if (((directive & shellCompDirectiveNoSpace) != 0)); then 182s if [[ $(type -t compopt) == builtin ]]; then 182s __adsysctl_debug "Activating no space" 182s compopt -o nospace 182s else 182s __adsysctl_debug "No space directive not supported in this version of bash" 182s fi 182s fi 182s if (((directive & shellCompDirectiveKeepOrder) != 0)); then 182s if [[ $(type -t compopt) == builtin ]]; then 182s # no sort isn't supported for bash less than < 4.4 182s if [[ ${BASH_VERSINFO[0]} -lt 4 || ( ${BASH_VERSINFO[0]} -eq 4 && ${BASH_VERSINFO[1]} -lt 4 ) ]]; then 182s __adsysctl_debug "No sort directive not supported in this version of bash" 182s else 182s __adsysctl_debug "Activating keep order" 182s compopt -o nosort 182s fi 182s else 182s __adsysctl_debug "No sort directive not supported in this version of bash" 182s fi 182s fi 182s if (((directive & shellCompDirectiveNoFileComp) != 0)); then 182s if [[ $(type -t compopt) == builtin ]]; then 182s __adsysctl_debug "Activating no file completion" 182s compopt +o default 182s else 182s __adsysctl_debug "No file completion directive not supported in this version of bash" 182s fi 182s fi 182s fi 182s 182s # Separate activeHelp from normal completions 182s local completions=() 182s local activeHelp=() 182s __adsysctl_extract_activeHelp 182s 182s if (((directive & shellCompDirectiveFilterFileExt) != 0)); then 182s # File extension filtering 182s local fullFilter="" filter filteringCmd 182s 182s # Do not use quotes around the $completions variable or else newline 182s # characters will be kept. 182s for filter in ${completions[*]}; do 182s fullFilter+="$filter|" 182s done 182s 182s filteringCmd="_filedir $fullFilter" 182s __adsysctl_debug "File filtering command: $filteringCmd" 182s $filteringCmd 182s elif (((directive & shellCompDirectiveFilterDirs) != 0)); then 182s # File completion for directories only 182s 182s local subdir 182s subdir=${completions[0]} 182s if [[ -n $subdir ]]; then 182s __adsysctl_debug "Listing directories in $subdir" 182s pushd "$subdir" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 || return 182s else 182s __adsysctl_debug "Listing directories in ." 182s _filedir -d 182s fi 182s else 182s __adsysctl_handle_completion_types 182s fi 182s 182s __adsysctl_handle_special_char "$cur" : 182s __adsysctl_handle_special_char "$cur" = 182s 182s # Print the activeHelp statements before we finish 182s __adsysctl_handle_activeHelp 182s } 182s 182s __adsysctl_handle_activeHelp() { 182s # Print the activeHelp statements 182s if ((${#activeHelp[*]} != 0)); then 182s if [ -z $COMP_TYPE ]; then 182s # Bash v3 does not set the COMP_TYPE variable. 182s printf "\n"; 182s printf "%s\n" "${activeHelp[@]}" 182s printf "\n" 182s __adsysctl_reprint_commandLine 182s return 182s fi 182s 182s # Only print ActiveHelp on the second TAB press 182s if [ $COMP_TYPE -eq 63 ]; then 182s printf "\n" 182s printf "%s\n" "${activeHelp[@]}" 182s 182s if ((${#COMPREPLY[*]} == 0)); then 182s # When there are no completion choices from the program, file completion 182s # may kick in if the program has not disabled it; in such a case, we want 182s # to know if any files will match what the user typed, so that we know if 182s # there will be completions presented, so that we know how to handle ActiveHelp. 182s # To find out, we actually trigger the file completion ourselves; 182s # the call to _filedir will fill COMPREPLY if files match. 182s if (((directive & shellCompDirectiveNoFileComp) == 0)); then 182s __adsysctl_debug "Listing files" 182s _filedir 182s fi 182s fi 182s 182s if ((${#COMPREPLY[*]} != 0)); then 182s # If there are completion choices to be shown, print a delimiter. 182s # Re-printing the command-line will automatically be done 182s # by the shell when it prints the completion choices. 182s printf -- "--" 182s else 182s # When there are no completion choices at all, we need 182s # to re-print the command-line since the shell will 182s # not be doing it itself. 182s __adsysctl_reprint_commandLine 182s fi 182s elif [ $COMP_TYPE -eq 37 ] || [ $COMP_TYPE -eq 42 ]; then 182s # For completion type: menu-complete/menu-complete-backward and insert-completions 182s # the completions are immediately inserted into the command-line, so we first 182s # print the activeHelp message and reprint the command-line since the shell won't. 182s printf "\n" 182s printf "%s\n" "${activeHelp[@]}" 182s 182s __adsysctl_reprint_commandLine 182s fi 182s fi 182s } 182s 182s __adsysctl_reprint_commandLine() { 182s # The prompt format is only available from bash 4.4. 182s # We test if it is available before using it. 182s if (x=${PS1@P}) 2> /dev/null; then 182s printf "%s" "${PS1@P}${COMP_LINE[@]}" 182s else 182s # Can't print the prompt. Just print the 182s # text the user had typed, it is workable enough. 182s printf "%s" "${COMP_LINE[@]}" 182s fi 182s } 182s 182s # Separate activeHelp lines from real completions. 182s # Fills the $activeHelp and $completions arrays. 182s __adsysctl_extract_activeHelp() { 182s local activeHelpMarker="_activeHelp_ " 182s local endIndex=${#activeHelpMarker} 182s 182s while IFS='' read -r comp; do 182s [[ -z $comp ]] && continue 182s 182s if [[ ${comp:0:endIndex} == $activeHelpMarker ]]; then 182s comp=${comp:endIndex} 182s __adsysctl_debug "ActiveHelp found: $comp" 182s if [[ -n $comp ]]; then 182s activeHelp+=("$comp") 182s fi 182s else 182s # Not an activeHelp line but a normal completion 182s completions+=("$comp") 182s fi 182s done <<<"${out}" 182s } 182s 182s __adsysctl_handle_completion_types() { 182s __adsysctl_debug "__adsysctl_handle_completion_types: COMP_TYPE is $COMP_TYPE" 182s 182s case $COMP_TYPE in 182s 37|42) 182s # Type: menu-complete/menu-complete-backward and insert-completions 182s # If the user requested inserting one completion at a time, or all 182s # completions at once on the command-line we must remove the descriptions. 182s # https://github.com/spf13/cobra/issues/1508 182s 182s # If there are no completions, we don't need to do anything 182s (( ${#completions[@]} == 0 )) && return 0 182s 182s local tab=$'\t' 182s 182s # Strip any description and escape the completion to handled special characters 182s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]%%$tab*}") 182s 182s # Only consider the completions that match 182s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 182s 182s # compgen looses the escaping so we need to escape all completions again since they will 182s # all be inserted on the command-line. 182s IFS=$'\n' read -ra COMPREPLY -d '' < <(printf "%q\n" "${COMPREPLY[@]}") 182s ;; 182s 182s *) 182s # Type: complete (normal completion) 182s __adsysctl_handle_standard_completion_case 182s ;; 182s esac 182s } 182s 182s __adsysctl_handle_standard_completion_case() { 182s local tab=$'\t' 182s 182s # If there are no completions, we don't need to do anything 182s (( ${#completions[@]} == 0 )) && return 0 182s 182s # Short circuit to optimize if we don't have descriptions 182s if [[ "${completions[*]}" != *$tab* ]]; then 182s # First, escape the completions to handle special characters 182s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]}") 182s # Only consider the completions that match what the user typed 182s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 182s 182s # compgen looses the escaping so, if there is only a single completion, we need to 182s # escape it again because it will be inserted on the command-line. If there are multiple 182s # completions, we don't want to escape them because they will be printed in a list 182s # and we don't want to show escape characters in that list. 182s if (( ${#COMPREPLY[@]} == 1 )); then 182s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]}") 182s fi 182s return 0 182s fi 182s 182s local longest=0 182s local compline 182s # Look for the longest completion so that we can format things nicely 182s while IFS='' read -r compline; do 182s [[ -z $compline ]] && continue 182s 182s # Before checking if the completion matches what the user typed, 182s # we need to strip any description and escape the completion to handle special 182s # characters because those escape characters are part of what the user typed. 182s # Don't call "printf" in a sub-shell because it will be much slower 182s # since we are in a loop. 182s printf -v comp "%q" "${compline%%$tab*}" &>/dev/null || comp=$(printf "%q" "${compline%%$tab*}") 182s 182s # Only consider the completions that match 182s [[ $comp == "$cur"* ]] || continue 182s 182s # The completions matches. Add it to the list of full completions including 182s # its description. We don't escape the completion because it may get printed 182s # in a list if there are more than one and we don't want show escape characters 182s # in that list. 182s COMPREPLY+=("$compline") 182s 182s # Strip any description before checking the length, and again, don't escape 182s # the completion because this length is only used when printing the completions 182s # in a list and we don't want show escape characters in that list. 182s comp=${compline%%$tab*} 182s if ((${#comp}>longest)); then 182s longest=${#comp} 182s fi 182s done < <(printf "%s\n" "${completions[@]}") 182s 182s # If there is a single completion left, remove the description text and escape any special characters 182s if ((${#COMPREPLY[*]} == 1)); then 182s __adsysctl_debug "COMPREPLY[0]: ${COMPREPLY[0]}" 182s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]%%$tab*}") 182s __adsysctl_debug "Removed description from single completion, which is now: ${COMPREPLY[0]}" 182s else 182s # Format the descriptions 182s __adsysctl_format_comp_descriptions $longest 182s fi 182s } 182s 182s __adsysctl_handle_special_char() 182s { 182s local comp="$1" 182s local char=$2 182s if [[ "$comp" == *${char}* && "$COMP_WORDBREAKS" == *${char}* ]]; then 182s local word=${comp%"${comp##*${char}}"} 182s local idx=${#COMPREPLY[*]} 182s while ((--idx >= 0)); do 182s COMPREPLY[idx]=${COMPREPLY[idx]#"$word"} 182s done 182s fi 182s } 182s 182s __adsysctl_format_comp_descriptions() 182s { 182s local tab=$'\t' 182s local comp desc maxdesclength 182s local longest=$1 182s 182s local i ci 182s for ci in ${!COMPREPLY[*]}; do 182s comp=${COMPREPLY[ci]} 182s # Properly format the description string which follows a tab character if there is one 182s if [[ "$comp" == *$tab* ]]; then 182s __adsysctl_debug "Original comp: $comp" 182s desc=${comp#*$tab} 182s comp=${comp%%$tab*} 182s 182s # $COLUMNS stores the current shell width. 182s # Remove an extra 4 because we add 2 spaces and 2 parentheses. 182s maxdesclength=$(( COLUMNS - longest - 4 )) 182s 182s # Make sure we can fit a description of at least 8 characters 182s # if we are to align the descriptions. 182s if ((maxdesclength > 8)); then 182s # Add the proper number of spaces to align the descriptions 182s for ((i = ${#comp} ; i < longest ; i++)); do 182s comp+=" " 182s done 182s else 182s # Don't pad the descriptions so we can fit more text after the completion 182s maxdesclength=$(( COLUMNS - ${#comp} - 4 )) 182s fi 182s 182s # If there is enough space for any description text, 182s # truncate the descriptions that are too long for the shell width 182s if ((maxdesclength > 0)); then 182s if ((${#desc} > maxdesclength)); then 182s desc=${desc:0:$(( maxdesclength - 1 ))} 182s desc+="…" 182s fi 182s comp+=" ($desc)" 182s fi 182s COMPREPLY[ci]=$comp 182s __adsysctl_debug "Final comp: $comp" 182s fi 182s done 182s } 182s 182s __start_adsysctl() 182s { 182s local cur prev words cword split 182s 182s COMPREPLY=() 182s 182s # Call _init_completion from the bash-completion package 182s # to prepare the arguments properly 182s if declare -F _init_completion >/dev/null 2>&1; then 182s _init_completion -n =: || return 182s else 182s __adsysctl_init_completion -n =: || return 182s fi 182s 182s __adsysctl_debug 182s __adsysctl_debug "========= starting completion logic ==========" 182s __adsysctl_debug "cur is ${cur}, words[*] is ${words[*]}, #words[@] is ${#words[@]}, cword is $cword" 182s 182s # The user could have moved the cursor backwards on the command-line. 182s # We need to trigger completion from the $cword location, so we need 182s # to truncate the command-line ($words) up to the $cword location. 182s words=("${words[@]:0:$cword+1}") 182s __adsysctl_debug "Truncated words[*]: ${words[*]}," 182s 182s local out directive 182s __adsysctl_get_completion_results 182s __adsysctl_process_completion_results 182s } 182s 182s if [[ $(type -t compopt) = "builtin" ]]; then 182s complete -o default -F __start_adsysctl adsysctl 182s else 182s complete -o default -o nospace -F __start_adsysctl adsysctl 182s fi 182s 182s # ex: ts=4 sw=4 et filetype=sh 182s --- PASS: TestAppNoUsageError (0.00s) 182s === CONT TestAppUsageError 182s Usage: 182s adsysctl COMMAND [flags] 182s adsysctl [command] 182s 182s Available Commands: 182s applied Print last applied GPOs for current or given user/machine 182s completion Generate the autocompletion script for the specified shell 182s doc Documentation 182s help Help about any command 182s policy Policy management 182s service Service management 182s update Updates/Create a policy for current user or given user with its kerberos ticket 182s version Returns version of client and service 182s 182s Flags: 182s -c, --config string use a specific configuration file 182s -h, --help help for adsysctl 182s -s, --socket string socket path to use between daemon and client. Can be overridden by systemd socket activation. (default "/run/adsysd.sock") 182s -t, --timeout int time in seconds before cancelling the client request when the server gives no result. 0 for no timeout. (default 30) 182s -v, --verbose count issue INFO (-v), DEBUG (-vv) or DEBUG with caller (-vvv) output 182s 182s Use "adsysctl [command] --help" for more information about a command. 182s 182s --- PASS: TestAppUsageError (0.00s) 182s === CONT TestAppCompletion 182s # bash completion V2 for adsysctl -*- shell-script -*- 182s 182s __adsysctl_debug() 182s { 182s if [[ -n ${BASH_COMP_DEBUG_FILE-} ]]; then 182s echo "$*" >> "${BASH_COMP_DEBUG_FILE}" 182s fi 182s } 182s 182s # Macs have bash3 for which the bash-completion package doesn't include 182s # _init_completion. This is a minimal version of that function. 182s __adsysctl_init_completion() 182s { 182s COMPREPLY=() 182s _get_comp_words_by_ref "$@" cur prev words cword 182s } 182s 182s # This function calls the adsysctl program to obtain the completion 182s # results and the directive. It fills the 'out' and 'directive' vars. 182s __adsysctl_get_completion_results() { 182s local requestComp lastParam lastChar args 182s 182s # Prepare the command to request completions for the program. 182s # Calling ${words[0]} instead of directly adsysctl allows handling aliases 182s args=("${words[@]:1}") 182s requestComp="${words[0]} __complete ${args[*]}" 182s 182s lastParam=${words[$((${#words[@]}-1))]} 182s lastChar=${lastParam:$((${#lastParam}-1)):1} 182s __adsysctl_debug "lastParam ${lastParam}, lastChar ${lastChar}" 182s 182s if [[ -z ${cur} && ${lastChar} != = ]]; then 182s # If the last parameter is complete (there is a space following it) 182s # We add an extra empty parameter so we can indicate this to the go method. 182s __adsysctl_debug "Adding extra empty parameter" 182s requestComp="${requestComp} ''" 182s fi 182s 182s # When completing a flag with an = (e.g., adsysctl -n=) 182s # bash focuses on the part after the =, so we need to remove 182s # the flag part from $cur 182s if [[ ${cur} == -*=* ]]; then 182s cur="${cur#*=}" 182s fi 182s 182s __adsysctl_debug "Calling ${requestComp}" 182s # Use eval to handle any environment variables and such 182s out=$(eval "${requestComp}" 2>/dev/null) 182s 182s # Extract the directive integer at the very end of the output following a colon (:) 182s directive=${out##*:} 182s # Remove the directive 182s out=${out%:*} 182s if [[ ${directive} == "${out}" ]]; then 182s # There is not directive specified 182s directive=0 182s fi 182s __adsysctl_debug "The completion directive is: ${directive}" 182s __adsysctl_debug "The completions are: ${out}" 182s } 182s 182s __adsysctl_process_completion_results() { 182s local shellCompDirectiveError=1 182s local shellCompDirectiveNoSpace=2 182s local shellCompDirectiveNoFileComp=4 182s local shellCompDirectiveFilterFileExt=8 182s local shellCompDirectiveFilterDirs=16 182s local shellCompDirectiveKeepOrder=32 182s 182s if (((directive & shellCompDirectiveError) != 0)); then 182s # Error code. No completion. 182s __adsysctl_debug "Received error from custom completion go code" 182s return 182s else 182s if (((directive & shellCompDirectiveNoSpace) != 0)); then 182s if [[ $(type -t compopt) == builtin ]]; then 182s __adsysctl_debug "Activating no space" 182s compopt -o nospace 182s else 182s __adsysctl_debug "No space directive not supported in this version of bash" 182s fi 182s fi 182s if (((directive & shellCompDirectiveKeepOrder) != 0)); then 182s if [[ $(type -t compopt) == builtin ]]; then 182s # no sort isn't supported for bash less than < 4.4 182s if [[ ${BASH_VERSINFO[0]} -lt 4 || ( ${BASH_VERSINFO[0]} -eq 4 && ${BASH_VERSINFO[1]} -lt 4 ) ]]; then 182s __adsysctl_debug "No sort directive not supported in this version of bash" 182s else 182s __adsysctl_debug "Activating keep order" 182s compopt -o nosort 182s fi 182s else 182s __adsysctl_debug "No sort directive not supported in this version of bash" 182s fi 182s fi 182s if (((directive & shellCompDirectiveNoFileComp) != 0)); then 182s if [[ $(type -t compopt) == builtin ]]; then 182s __adsysctl_debug "Activating no file completion" 182s compopt +o default 182s else 182s __adsysctl_debug "No file completion directive not supported in this version of bash" 182s fi 182s fi 182s fi 182s 182s # Separate activeHelp from normal completions 182s local completions=() 182s local activeHelp=() 182s __adsysctl_extract_activeHelp 182s 182s if (((directive & shellCompDirectiveFilterFileExt) != 0)); then 182s # File extension filtering 182s local fullFilter="" filter filteringCmd 182s 182s # Do not use quotes around the $completions variable or else newline 182s # characters will be kept. 182s for filter in ${completions[*]}; do 182s fullFilter+="$filter|" 182s done 182s 182s filteringCmd="_filedir $fullFilter" 182s __adsysctl_debug "File filtering command: $filteringCmd" 182s $filteringCmd 182s elif (((directive & shellCompDirectiveFilterDirs) != 0)); then 182s # File completion for directories only 182s 182s local subdir 182s subdir=${completions[0]} 182s if [[ -n $subdir ]]; then 182s __adsysctl_debug "Listing directories in $subdir" 182s pushd "$subdir" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 || return 182s else 182s __adsysctl_debug "Listing directories in ." 182s _filedir -d 182s fi 182s else 182s __adsysctl_handle_completion_types 182s fi 182s 182s __adsysctl_handle_special_char "$cur" : 182s __adsysctl_handle_special_char "$cur" = 182s 182s # Print the activeHelp statements before we finish 182s __adsysctl_handle_activeHelp 182s } 182s 182s __adsysctl_handle_activeHelp() { 182s # Print the activeHelp statements 182s if ((${#activeHelp[*]} != 0)); then 182s if [ -z $COMP_TYPE ]; then 182s # Bash v3 does not set the COMP_TYPE variable. 182s printf "\n"; 182s printf "%s\n" "${activeHelp[@]}" 182s printf "\n" 182s __adsysctl_reprint_commandLine 182s return 182s fi 182s 182s # Only print ActiveHelp on the second TAB press 182s if [ $COMP_TYPE -eq 63 ]; then 182s printf "\n" 182s printf "%s\n" "${activeHelp[@]}" 182s 182s if ((${#COMPREPLY[*]} == 0)); then 182s # When there are no completion choices from the program, file completion 182s # may kick in if the program has not disabled it; in such a case, we want 182s # to know if any files will match what the user typed, so that we know if 182s # there will be completions presented, so that we know how to handle ActiveHelp. 182s # To find out, we actually trigger the file completion ourselves; 182s # the call to _filedir will fill COMPREPLY if files match. 182s if (((directive & shellCompDirectiveNoFileComp) == 0)); then 182s __adsysctl_debug "Listing files" 182s _filedir 182s fi 182s fi 182s 182s if ((${#COMPREPLY[*]} != 0)); then 182s # If there are completion choices to be shown, print a delimiter. 182s # Re-printing the command-line will automatically be done 182s # by the shell when it prints the completion choices. 182s printf -- "--" 182s else 182s # When there are no completion choices at all, we need 182s # to re-print the command-line since the shell will 182s # not be doing it itself. 182s __adsysctl_reprint_commandLine 182s fi 182s elif [ $COMP_TYPE -eq 37 ] || [ $COMP_TYPE -eq 42 ]; then 182s # For completion type: menu-complete/menu-complete-backward and insert-completions 182s # the completions are immediately inserted into the command-line, so we first 182s # print the activeHelp message and reprint the command-line since the shell won't. 182s printf "\n" 182s printf "%s\n" "${activeHelp[@]}" 182s 182s __adsysctl_reprint_commandLine 182s fi 182s fi 182s } 182s 182s __adsysctl_reprint_commandLine() { 182s # The prompt format is only available from bash 4.4. 182s # We test if it is available before using it. 182s if (x=${PS1@P}) 2> /dev/null; then 182s printf "%s" "${PS1@P}${COMP_LINE[@]}" 182s else 182s # Can't print the prompt. Just print the 182s # text the user had typed, it is workable enough. 182s printf "%s" "${COMP_LINE[@]}" 182s fi 182s } 182s 182s # Separate activeHelp lines from real completions. 182s # Fills the $activeHelp and $completions arrays. 182s __adsysctl_extract_activeHelp() { 182s local activeHelpMarker="_activeHelp_ " 182s local endIndex=${#activeHelpMarker} 182s 182s while IFS='' read -r comp; do 182s [[ -z $comp ]] && continue 182s 182s if [[ ${comp:0:endIndex} == $activeHelpMarker ]]; then 182s comp=${comp:endIndex} 182s __adsysctl_debug "ActiveHelp found: $comp" 182s if [[ -n $comp ]]; then 182s activeHelp+=("$comp") 182s fi 182s else 182s # Not an activeHelp line but a normal completion 182s completions+=("$comp") 182s fi 182s done <<<"${out}" 182s } 182s 182s __adsysctl_handle_completion_types() { 182s __adsysctl_debug "__adsysctl_handle_completion_types: COMP_TYPE is $COMP_TYPE" 182s 182s case $COMP_TYPE in 182s 37|42) 182s # Type: menu-complete/menu-complete-backward and insert-completions 182s # If the user requested inserting one completion at a time, or all 182s # completions at once on the command-line we must remove the descriptions. 182s # https://github.com/spf13/cobra/issues/1508 182s 182s # If there are no completions, we don't need to do anything 182s (( ${#completions[@]} == 0 )) && return 0 182s 182s local tab=$'\t' 182s 182s # Strip any description and escape the completion to handled special characters 182s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]%%$tab*}") 182s 182s # Only consider the completions that match 182s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 182s 182s # compgen looses the escaping so we need to escape all completions again since they will 182s # all be inserted on the command-line. 182s IFS=$'\n' read -ra COMPREPLY -d '' < <(printf "%q\n" "${COMPREPLY[@]}") 182s ;; 182s 182s *) 182s # Type: complete (normal completion) 182s __adsysctl_handle_standard_completion_case 182s ;; 182s esac 182s } 182s 182s __adsysctl_handle_standard_completion_case() { 182s local tab=$'\t' 182s 182s # If there are no completions, we don't need to do anything 182s (( ${#completions[@]} == 0 )) && return 0 182s 182s # Short circuit to optimize if we don't have descriptions 182s if [[ "${completions[*]}" != *$tab* ]]; then 182s # First, escape the completions to handle special characters 182s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]}") 182s # Only consider the completions that match what the user typed 182s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 182s 182s # compgen looses the escaping so, if there is only a single completion, we need to 182s # escape it again because it will be inserted on the command-line. If there are multiple 182s # completions, we don't want to escape them because they will be printed in a list 182s # and we don't want to show escape characters in that list. 182s if (( ${#COMPREPLY[@]} == 1 )); then 182s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]}") 182s fi 182s return 0 182s fi 182s 182s local longest=0 182s local compline 182s # Look for the longest completion so that we can format things nicely 182s while IFS='' read -r compline; do 182s [[ -z $compline ]] && continue 182s 182s # Before checking if the completion matches what the user typed, 182s # we need to strip any description and escape the completion to handle special 182s # characters because those escape characters are part of what the user typed. 182s # Don't call "printf" in a sub-shell because it will be much slower 182s # since we are in a loop. 182s printf -v comp "%q" "${compline%%$tab*}" &>/dev/null || comp=$(printf "%q" "${compline%%$tab*}") 182s 182s # Only consider the completions that match 182s [[ $comp == "$cur"* ]] || continue 182s 182s # The completions matches. Add it to the list of full completions including 182s # its description. We don't escape the completion because it may get printed 182s # in a list if there are more than one and we don't want show escape characters 182s # in that list. 182s COMPREPLY+=("$compline") 182s 182s # Strip any description before checking the length, and again, don't escape 182s # the completion because this length is only used when printing the completions 182s # in a list and we don't want show escape characters in that list. 182s comp=${compline%%$tab*} 182s if ((${#comp}>longest)); then 182s longest=${#comp} 182s fi 182s done < <(printf "%s\n" "${completions[@]}") 182s 182s # If there is a single completion left, remove the description text and escape any special characters 182s if ((${#COMPREPLY[*]} == 1)); then 182s __adsysctl_debug "COMPREPLY[0]: ${COMPREPLY[0]}" 182s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]%%$tab*}") 182s __adsysctl_debug "Removed description from single completion, which is now: ${COMPREPLY[0]}" 182s else 182s # Format the descriptions 182s __adsysctl_format_comp_descriptions $longest 182s fi 182s } 182s 182s __adsysctl_handle_special_char() 182s { 182s local comp="$1" 182s local char=$2 182s if [[ "$comp" == *${char}* && "$COMP_WORDBREAKS" == *${char}* ]]; then 182s local word=${comp%"${comp##*${char}}"} 182s local idx=${#COMPREPLY[*]} 182s while ((--idx >= 0)); do 182s COMPREPLY[idx]=${COMPREPLY[idx]#"$word"} 182s done 182s fi 182s } 182s 182s __adsysctl_format_comp_descriptions() 182s { 182s local tab=$'\t' 182s local comp desc maxdesclength 182s local longest=$1 182s 182s local i ci 182s for ci in ${!COMPREPLY[*]}; do 182s comp=${COMPREPLY[ci]} 182s # Properly format the description string which follows a tab character if there is one 182s if [[ "$comp" == *$tab* ]]; then 182s __adsysctl_debug "Original comp: $comp" 182s desc=${comp#*$tab} 182s comp=${comp%%$tab*} 182s 182s # $COLUMNS stores the current shell width. 182s # Remove an extra 4 because we add 2 spaces and 2 parentheses. 182s maxdesclength=$(( COLUMNS - longest - 4 )) 182s 182s # Make sure we can fit a description of at least 8 characters 182s # if we are to align the descriptions. 182s if ((maxdesclength > 8)); then 182s # Add the proper number of spaces to align the descriptions 182s for ((i = ${#comp} ; i < longest ; i++)); do 182s comp+=" " 182s done 182s else 182s # Don't pad the descriptions so we can fit more text after the completion 182s maxdesclength=$(( COLUMNS - ${#comp} - 4 )) 182s fi 182s 182s # If there is enough space for any description text, 182s # truncate the descriptions that are too long for the shell width 182s if ((maxdesclength > 0)); then 182s if ((${#desc} > maxdesclength)); then 182s desc=${desc:0:$(( maxdesclength - 1 ))} 182s desc+="…" 182s fi 182s comp+=" ($desc)" 182s fi 182s COMPREPLY[ci]=$comp 182s __adsysctl_debug "Final comp: $comp" 182s fi 182s done 182s } 182s 182s __start_adsysctl() 182s { 182s local cur prev words cword split 182s 182s COMPREPLY=() 182s 182s # Call _init_completion from the bash-completion package 182s # to prepare the arguments properly 182s if declare -F _init_completion >/dev/null 2>&1; then 182s _init_completion -n =: || return 182s else 182s __adsysctl_init_completion -n =: || return 182s fi 182s 182s __adsysctl_debug 182s __adsysctl_debug "========= starting completion logic ==========" 182s __adsysctl_debug "cur is ${cur}, words[*] is ${words[*]}, #words[@] is ${#words[@]}, cword is $cword" 182s 182s # The user could have moved the cursor backwards on the command-line. 182s # We need to trigger completion from the $cword location, so we need 182s # to truncate the command-line ($words) up to the $cword location. 182s words=("${words[@]:0:$cword+1}") 182s __adsysctl_debug "Truncated words[*]: ${words[*]}," 182s 182s local out directive 182s __adsysctl_get_completion_results 182s __adsysctl_process_completion_results 182s } 182s 182s if [[ $(type -t compopt) = "builtin" ]]; then 182s complete -o default -F __start_adsysctl adsysctl 182s else 182s complete -o default -o nospace -F __start_adsysctl adsysctl 182s fi 182s 182s # ex: ts=4 sw=4 et filetype=sh 182s --- PASS: TestAppCompletion (0.00s) 182s === CONT TestAppHelp 182s Active Directory integration bridging toolset command line tool. 182s 182s Usage: 182s adsysctl COMMAND [flags] 182s adsysctl [command] 182s 182s Available Commands: 182s applied Print last applied GPOs for current or given user/machine 182s completion Generate the autocompletion script for the specified shell 182s doc Documentation 182s help Help about any command 182s policy Policy management 182s service Service management 182s update Updates/Create a policy for current user or given user with its kerberos ticket 182s version Returns version of client and service 182s 182s Flags: 182s -c, --config string use a specific configuration file 182s -h, --help help for adsysctl 182s -s, --socket string socket path to use between daemon and client. Can be overridden by systemd socket activation. (default "/run/adsysd.sock") 182s -t, --timeout int time in seconds before cancelling the client request when the server gives no result. 0 for no timeout. (default 30) 182s -v, --verbose count issue INFO (-v), DEBUG (-vv) or DEBUG with caller (-vvv) output 182s 182s Use "adsysctl [command] --help" for more information about a command. 182s --- PASS: TestAppHelp (0.00s) 182s --- PASS: TestAppCanQuitWhenExecute (0.01s) 182s PASS 182s ok github.com/ubuntu/adsys/cmd/adsysd/client 0.082s 187s === RUN TestAppHelp 187s === PAUSE TestAppHelp 187s === RUN TestAppCompletion 187s === PAUSE TestAppCompletion 187s === RUN TestAppVersion 187s --- PASS: TestAppVersion (0.00s) 187s === RUN TestAppNoUsageError 187s === PAUSE TestAppNoUsageError 187s === RUN TestAppUsageError 187s === PAUSE TestAppUsageError 187s === RUN TestAppCanQuitWhenExecute 187s time="2025-10-18T15:33:20Z" level=warning msg="could not get system startup time? Can’t list next refresh: Process org.freedesktop.systemd1 exited with status 1" 187s --- PASS: TestAppCanQuitWhenExecute (0.06s) 187s === RUN TestAppCanQuitAfterExecute 187s time="2025-10-18T15:33:20Z" level=warning msg="could not get system startup time? Can’t list next refresh: Process org.freedesktop.systemd1 exited with status 1" 187s --- PASS: TestAppCanQuitAfterExecute (1.01s) 187s === RUN TestAppCanQuitWithoutExecute 187s === PAUSE TestAppCanQuitWithoutExecute 187s === RUN TestAppRunFailsOnDaemonCreationAndQuit 187s time="2025-10-18T15:33:21Z" level=warning msg="could not get system startup time? Can’t list next refresh: Process org.freedesktop.systemd1 exited with status 1" 187s --- PASS: TestAppRunFailsOnDaemonCreationAndQuit (0.01s) 187s === RUN TestAppRunFailsOnServiceCreationAndQuit 187s --- PASS: TestAppRunFailsOnServiceCreationAndQuit (0.00s) 187s === RUN TestAppCanSigHupWhenExecute 187s time="2025-10-18T15:33:21Z" level=warning msg="could not get system startup time? Can’t list next refresh: Process org.freedesktop.systemd1 exited with status 1" 187s --- PASS: TestAppCanSigHupWhenExecute (0.06s) 187s === RUN TestAppCanSigHupAfterExecute 187s time="2025-10-18T15:33:21Z" level=warning msg="could not get system startup time? Can’t list next refresh: Process org.freedesktop.systemd1 exited with status 1" 187s --- PASS: TestAppCanSigHupAfterExecute (1.01s) 187s === RUN TestAppCanSigHupWithoutExecute 187s --- PASS: TestAppCanSigHupWithoutExecute (0.00s) 187s === RUN TestAppTimeout 187s time="2025-10-18T15:33:22Z" level=warning msg="could not get system startup time? Can’t list next refresh: Process org.freedesktop.systemd1 exited with status 1" 187s --- PASS: TestAppTimeout (1.01s) 187s === RUN TestAppGetRootCmd 187s === PAUSE TestAppGetRootCmd 187s === RUN TestConfigLoad 187s time="2025-10-18T15:33:23Z" level=warning msg="could not get system startup time? Can’t list next refresh: Process org.freedesktop.systemd1 exited with status 1" 187s time="2025-10-18T15:33:23Z" level=info msg="Serving on /tmp/TestConfigLoad1963448303/001/adsys.socket" 187s time="2025-10-18T15:33:23Z" level=info msg="Stopping daemon requested." 187s time="2025-10-18T15:33:23Z" level=info msg="Wait for active requests to close." 187s --- PASS: TestConfigLoad (0.06s) 187s === RUN TestConfigChange 187s time="2025-10-18T15:33:23Z" level=warning msg="could not get system startup time? Can’t list next refresh: Process org.freedesktop.systemd1 exited with status 1" 187s time="2025-10-18T15:33:23Z" level=info msg="Serving on /tmp/TestConfigChange2534360208/001/adsys.socket" 187s time="2025-10-18T15:33:23Z" level=info msg="Stopping daemon requested." 187s time="2025-10-18T15:33:23Z" level=info msg="Wait for active requests to close." 187s time="2025-10-18T15:33:23Z" level=debug msg="All connections have now ended." 187s time="2025-10-18T15:33:23Z" level=debug msg=Quitting 187s --- PASS: TestConfigChange (0.16s) 187s === CONT TestAppHelp 187s === CONT TestAppUsageError 187s --- PASS: TestAppUsageError (0.00s) 187s === CONT TestAppGetRootCmd 187s Active Directory integration bridging toolset daemon. 187s 187s Usage: 187s adsysd COMMAND [flags] 187s adsysd [command] 187s 187s Available Commands: 187s completion Generate the autocompletion script for the specified shell 187s help Help about any command 187s version Returns version of service and exits 187s 187s Flags: 187s --ad-backend string Active Directory authentication backend (default "sssd") 187s --cache-dir string directory where ADSys caches GPOs downloads and policies. (default "/var/cache/adsys") 187s -c, --config string use a specific configuration file 187s --gpo-list-timeout int time in seconds for the GPO list. 0 for no timeout. (default 10) 187s -h, --help help for adsysd 187s --run-dir string directory where ADSys stores transient information erased on reboot. (default "/run/adsys") 187s -s, --socket string socket path to use between daemon and client. Can be overridden by systemd socket activation. (default "/run/adsysd.sock") 187s --sssd.cache-dir string SSSd cache directory (default "/var/lib/sss/db") 187s --sssd.config string SSSd config file path (default "/etc/sssd/sssd.conf") 187s -t, --timeout int time in seconds without activity before the service exists. 0 for no timeout. (default 120) 187s -v, --verbose count issue INFO (-v), DEBUG (-vv) or DEBUG with caller (-vvv) output 187s 187s Use "adsysd [command] --help" for more information about a command. 187s --- PASS: TestAppHelp (0.00s) 187s === CONT TestAppCanQuitWithoutExecute 187s daemon_test.go:104: We need to initialize the daemon first, so this is not possible and will hang forever (ready not closed) 187s --- SKIP: TestAppCanQuitWithoutExecute (0.00s) 187s === CONT TestAppNoUsageError 187s --- PASS: TestAppGetRootCmd (0.00s) 187s === CONT TestAppCompletion 187s # bash completion V2 for adsysd -*- shell-script -*- 187s 187s __adsysd_debug() 187s { 187s if [[ -n ${BASH_COMP_DEBUG_FILE-} ]]; then 187s echo "$*" >> "${BASH_COMP_DEBUG_FILE}" 187s fi 187s } 187s 187s # Macs have bash3 for which the bash-completion package doesn't include 187s # _init_completion. This is a minimal version of that function. 187s __adsysd_init_completion() 187s { 187s COMPREPLY=() 187s _get_comp_words_by_ref "$@" cur prev words cword 187s } 187s 187s # This function calls the adsysd program to obtain the completion 187s # results and the directive. It fills the 'out' and 'directive' vars. 187s __adsysd_get_completion_results() { 187s local requestComp lastParam lastChar args 187s 187s # Prepare the command to request completions for the program. 187s # Calling ${words[0]} instead of directly adsysd allows handling aliases 187s args=("${words[@]:1}") 187s requestComp="${words[0]} __complete ${args[*]}" 187s 187s lastParam=${words[$((${#words[@]}-1))]} 187s lastChar=${lastParam:$((${#lastParam}-1)):1} 187s __adsysd_debug "lastParam ${lastParam}, lastChar ${lastChar}" 187s 187s if [[ -z ${cur} && ${lastChar} != = ]]; then 187s # If the last parameter is complete (there is a space following it) 187s # We add an extra empty parameter so we can indicate this to the go method. 187s __adsysd_debug "Adding extra empty parameter" 187s requestComp="${requestComp} ''" 187s fi 187s 187s # When completing a flag with an = (e.g., adsysd -n=) 187s # bash focuses on the part after the =, so we need to remove 187s # the flag part from $cur 187s if [[ ${cur} == -*=* ]]; then 187s cur="${cur#*=}" 187s fi 187s 187s __adsysd_debug "Calling ${requestComp}" 187s # Use eval to handle any environment variables and such 187s out=$(eval "${requestComp}" 2>/dev/null) 187s 187s # Extract the directive integer at the very end of the output following a colon (:) 187s directive=${out##*:} 187s # Remove the directive 187s out=${out%:*} 187s if [[ ${directive} == "${out}" ]]; then 187s # There is not directive specified 187s directive=0 187s fi 187s __adsysd_debug "The completion directive is: ${directive}" 187s __adsysd_debug "The completions are: ${out}" 187s } 187s 187s __adsysd_process_completion_results() { 187s local shellCompDirectiveError=1 187s local shellCompDirectiveNoSpace=2 187s local shellCompDirectiveNoFileComp=4 187s local shellCompDirectiveFilterFileExt=8 187s local shellCompDirectiveFilterDirs=16 187s local shellCompDirectiveKeepOrder=32 187s 187s if (((directive & shellCompDirectiveError) != 0)); then 187s # Error code. No completion. 187s __adsysd_debug "Received error from custom completion go code" 187s return 187s else 187s if (((directive & shellCompDirectiveNoSpace) != 0)); then 187s if [[ $(type -t compopt) == builtin ]]; then 187s __adsysd_debug "Activating no space" 187s compopt -o nospace 187s else 187s __adsysd_debug "No space directive not supported in this version of bash" 187s fi 187s fi 187s if (((directive & shellCompDirectiveKeepOrder) != 0)); then 187s if [[ $(type -t compopt) == builtin ]]; then 187s # no sort isn't supported for bash less than < 4.4 187s if [[ ${BASH_VERSINFO[0]} -lt 4 || ( ${BASH_VERSINFO[0]} -eq 4 && ${BASH_VERSINFO[1]} -lt 4 ) ]]; then 187s __adsysd_debug "No sort directive not supported in this version of bash" 187s else 187s __adsysd_debug "Activating keep order" 187s compopt -o nosort 187s fi 187s else 187s __adsysd_debug "No sort directive not supported in this version of bash" 187s fi 187s fi 187s if (((directive & shellCompDirectiveNoFileComp) != 0)); then 187s if [[ $(type -t compopt) == builtin ]]; then 187s __adsysd_debug "Activating no file completion" 187s compopt +o default 187s else 187s __adsysd_debug "No file completion directive not supported in this version of bash" 187s fi 187s fi 187s fi 187s 187s # Separate activeHelp from normal completions 187s local completions=() 187s local activeHelp=() 187s __adsysd_extract_activeHelp 187s 187s if (((directive & shellCompDirectiveFilterFileExt) != 0)); then 187s # File extension filtering 187s local fullFilter="" filter filteringCmd 187s 187s # Do not use quotes around the $completions variable or else newline 187s # characters will be kept. 187s for filter in ${completions[*]}; do 187s fullFilter+="$filter|" 187s done 187s 187s filteringCmd="_filedir $fullFilter" 187s __adsysd_debug "File filtering command: $filteringCmd" 187s $filteringCmd 187s elif (((directive & shellCompDirectiveFilterDirs) != 0)); then 187s # File completion for directories only 187s 187s local subdir 187s subdir=${completions[0]} 187s if [[ -n $subdir ]]; then 187s __adsysd_debug "Listing directories in $subdir" 187s pushd "$subdir" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 || return 187s else 187s __adsysd_debug "Listing directories in ." 187s _filedir -d 187s fi 187s else 187s __adsysd_handle_completion_types 187s fi 187s 187s __adsysd_handle_special_char "$cur" : 187s __adsysd_handle_special_char "$cur" = 187s 187s # Print the activeHelp statements before we finish 187s __adsysd_handle_activeHelp 187s } 187s 187s __adsysd_handle_activeHelp() { 187s # Print the activeHelp statements 187s if ((${#activeHelp[*]} != 0)); then 187s if [ -z $COMP_TYPE ]; then 187s # Bash v3 does not set the COMP_TYPE variable. 187s printf "\n"; 187s printf "%s\n" "${activeHelp[@]}" 187s printf "\n" 187s __adsysd_reprint_commandLine 187s return 187s fi 187s 187s # Only print ActiveHelp on the second TAB press 187s if [ $COMP_TYPE -eq 63 ]; then 187s printf "\n" 187s printf "%s\n" "${activeHelp[@]}" 187s 187s if ((${#COMPREPLY[*]} == 0)); then 187s # When there are no completion choices from the program, file completion 187s # may kick in if the program has not disabled it; in such a case, we want 187s # to know if any files will match what the user typed, so that we know if 187s # there will be completions presented, so that we know how to handle ActiveHelp. 187s # To find out, we actually trigger the file completion ourselves; 187s # the call to _filedir will fill COMPREPLY if files match. 187s if (((directive & shellCompDirectiveNoFileComp) == 0)); then 187s __adsysd_debug "Listing files" 187s _filedir 187s fi 187s fi 187s 187s if ((${#COMPREPLY[*]} != 0)); then 187s # If there are completion choices to be shown, print a delimiter. 187s # Re-printing the command-line will automatically be done 187s # by the shell when it prints the completion choices. 187s printf -- "--" 187s else 187s # When there are no completion choices at all, we need 187s # to re-print the command-line since the shell will 187s # not be doing it itself. 187s __adsysd_reprint_commandLine 187s fi 187s elif [ $COMP_TYPE -eq 37 ] || [ $COMP_TYPE -eq 42 ]; then 187s # For completion type: menu-complete/menu-complete-backward and insert-completions 187s # the completions are immediately inserted into the command-line, so we first 187s # print the activeHelp message and reprint the command-line since the shell won't. 187s printf "\n" 187s printf "%s\n" "${activeHelp[@]}" 187s 187s __adsysd_reprint_commandLine 187s fi 187s fi 187s } 187s 187s __adsysd_reprint_commandLine() { 187s # The prompt format is only available from bash 4.4. 187s # We test if it is available before using it. 187s if (x=${PS1@P}) 2> /dev/null; then 187s printf "%s" "${PS1@P}${COMP_LINE[@]}" 187s else 187s # Can't print the prompt. Just print the 187s # text the user had typed, it is workable enough. 187s printf "%s" "${COMP_LINE[@]}" 187s fi 187s } 187s 187s # Separate activeHelp lines from real completions. 187s # Fills the $activeHelp and $completions arrays. 187s __adsysd_extract_activeHelp() { 187s local activeHelpMarker="_activeHelp_ " 187s local endIndex=${#activeHelpMarker} 187s 187s while IFS='' read -r comp; do 187s [[ -z $comp ]] && continue 187s 187s if [[ ${comp:0:endIndex} == $activeHelpMarker ]]; then 187s comp=${comp:endIndex} 187s __adsysd_debug "ActiveHelp found: $comp" 187s if [[ -n $comp ]]; then 187s activeHelp+=("$comp") 187s fi 187s else 187s # Not an activeHelp line but a normal completion 187s completions+=("$comp") 187s fi 187s done <<<"${out}" 187s } 187s 187s __adsysd_handle_completion_types() { 187s __adsysd_debug "__adsysd_handle_completion_types: COMP_TYPE is $COMP_TYPE" 187s 187s case $COMP_TYPE in 187s 37|42) 187s # Type: menu-complete/menu-complete-backward and insert-completions 187s # If the user requested inserting one completion at a time, or all 187s # completions at once on the command-line we must remove the descriptions. 187s # https://github.com/spf13/cobra/issues/1508 187s 187s # If there are no completions, we don't need to do anything 187s (( ${#completions[@]} == 0 )) && return 0 187s 187s local tab=$'\t' 187s 187s # Strip any description and escape the completion to handled special characters 187s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]%%$tab*}") 187s 187s # Only consider the completions that match 187s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 187s 187s # compgen looses the escaping so we need to escape all completions again since they will 187s # all be inserted on the command-line. 187s IFS=$'\n' read -ra COMPREPLY -d '' < <(printf "%q\n" "${COMPREPLY[@]}") 187s ;; 187s 187s *) 187s # Type: complete (normal completion) 187s __adsysd_handle_standard_completion_case 187s ;; 187s esac 187s } 187s 187s __adsysd_handle_standard_completion_case() { 187s local tab=$'\t' 187s 187s # If there are no completions, we don't need to do anything 187s (( ${#completions[@]} == 0 )) && return 0 187s 187s # Short circuit to optimize if we don't have descriptions 187s if [[ "${completions[*]}" != *$tab* ]]; then 187s # First, escape the completions to handle special characters 187s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]}") 187s # Only consider the completions that match what the user typed 187s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 187s 187s # compgen looses the escaping so, if there is only a single completion, we need to 187s # escape it again because it will be inserted on the command-line. If there are multiple 187s # completions, we don't want to escape them because they will be printed in a list 187s # and we don't want to show escape characters in that list. 187s if (( ${#COMPREPLY[@]} == 1 )); then 187s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]}") 187s fi 187s return 0 187s fi 187s 187s local longest=0 187s local compline 187s # Look for the longest completion so that we can format things nicely 187s while IFS='' read -r compline; do 187s [[ -z $compline ]] && continue 187s 187s # Before checking if the completion matches what the user typed, 187s # we need to strip any description and escape the completion to handle special 187s # characters because those escape characters are part of what the user typed. 187s # Don't call "printf" in a sub-shell because it will be much slower 187s # since we are in a loop. 187s printf -v comp "%q" "${compline%%$tab*}" &>/dev/null || comp=$(printf "%q" "${compline%%$tab*}") 187s 187s # Only consider the completions that match 187s [[ $comp == "$cur"* ]] || continue 187s 187s # The completions matches. Add it to the list of full completions including 187s # its description. We don't escape the completion because it may get printed 187s # in a list if there are more than one and we don't want show escape characters 187s # in that list. 187s COMPREPLY+=("$compline") 187s 187s # Strip any description before checking the length, and again, don't escape 187s # the completion because this length is only used when printing the completions 187s # in a list and we don't want show escape characters in that list. 187s comp=${compline%%$tab*} 187s if ((${#comp}>longest)); then 187s longest=${#comp} 187s fi 187s done < <(printf "%s\n" "${completions[@]}") 187s 187s # If there is a single completion left, remove the description text and escape any special characters 187s if ((${#COMPREPLY[*]} == 1)); then 187s __adsysd_debug "COMPREPLY[0]: ${COMPREPLY[0]}" 187s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]%%$tab*}") 187s __adsysd_debug "Removed description from single completion, which is now: ${COMPREPLY[0]}" 187s else 187s # Format the descriptions 187s __adsysd_format_comp_descriptions $longest 187s fi 187s } 187s 187s __adsysd_handle_special_char() 187s { 187s local comp="$1" 187s local char=$2 187s if [[ "$comp" == *${char}* && "$COMP_WORDBREAKS" == *${char}* ]]; then 187s local word=${comp%"${comp##*${char}}"} 187s local idx=${#COMPREPLY[*]} 187s while ((--idx >= 0)); do 187s COMPREPLY[idx]=${COMPREPLY[idx]#"$word"} 187s done 187s fi 187s } 187s 187s __adsysd_format_comp_descriptions() 187s { 187s local tab=$'\t' 187s local comp desc maxdesclength 187s local longest=$1 187s 187s local i ci 187s for ci in ${!COMPREPLY[*]}; do 187s comp=${COMPREPLY[ci]} 187s # Properly format the description string which follows a tab character if there is one 187s if [[ "$comp" == *$tab* ]]; then 187s __adsysd_debug "Original comp: $comp" 187s desc=${comp#*$tab} 187s comp=${comp%%$tab*} 187s 187s # $COLUMNS stores the current shell width. 187s # Remove an extra 4 because we add 2 spaces and 2 parentheses. 187s maxdesclength=$(( COLUMNS - longest - 4 )) 187s 187s # Make sure we can fit a description of at least 8 characters 187s # if we are to align the descriptions. 187s if ((maxdesclength > 8)); then 187s # Add the proper number of spaces to align the descriptions 187s for ((i = ${#comp} ; i < longest ; i++)); do 187s comp+=" " 187s done 187s else 187s # Don't pad the descriptions so we can fit more text after the completion 187s maxdesclength=$(( COLUMNS - ${#comp} - 4 )) 187s fi 187s 187s # If there is enough space for any description text, 187s # truncate the descriptions that are too long for the shell width 187s if ((maxdesclength > 0)); then 187s if ((${#desc} > maxdesclength)); then 187s desc=${desc:0:$(( maxdesclength - 1 ))} 187s desc+="…" 187s fi 187s comp+=" ($desc)" 187s fi 187s COMPREPLY[ci]=$comp 187s __adsysd_debug "Final comp: $comp" 187s fi 187s done 187s } 187s 187s __start_adsysd() 187s { 187s local cur prev words cword split 187s 187s COMPREPLY=() 187s 187s # Call _init_completion from the bash-completion package 187s # to prepare the arguments properly 187s if declare -F _init_completion >/dev/null 2>&1; then 187s _init_completion -n =: || return 187s else 187s __adsysd_init_completion -n =: || return 187s fi 187s 187s __adsysd_debug 187s __adsysd_debug "========= starting completion logic ==========" 187s __adsysd_debug "cur is ${cur}, words[*] is ${words[*]}, #words[@] is ${#words[@]}, cword is $cword" 187s 187s # The user could have moved the cursor backwards on the command-line. 187s # We need to trigger completion from the $cword location, so we need 187s # to truncate the command-line ($words) up to the $cword location. 187s words=("${words[@]:0:$cword+1}") 187s __adsysd_debug "Truncated words[*]: ${words[*]}," 187s 187s local out directive 187s __adsysd_get_completion_results 187s __adsysd_process_completion_results 187s } 187s 187s if [[ $(type -t compopt) = "builtin" ]]; then 187s complete -o default -F __start_adsysd adsysd 187s else 187s complete -o default -o nospace -F __start_adsysd adsysd 187s fi 187s 187s # ex: ts=4 sw=4 et filetype=sh 187s --- PASS: TestAppCompletion (0.00s) 187s # bash completion V2 for adsysd -*- shell-script -*- 187s 187s __adsysd_debug() 187s { 187s if [[ -n ${BASH_COMP_DEBUG_FILE-} ]]; then 187s echo "$*" >> "${BASH_COMP_DEBUG_FILE}" 187s fi 187s } 187s 187s # Macs have bash3 for which the bash-completion package doesn't include 187s # _init_completion. This is a minimal version of that function. 187s __adsysd_init_completion() 187s { 187s COMPREPLY=() 187s _get_comp_words_by_ref "$@" cur prev words cword 187s } 187s 187s # This function calls the adsysd program to obtain the completion 187s # results and the directive. It fills the 'out' and 'directive' vars. 187s __adsysd_get_completion_results() { 187s local requestComp lastParam lastChar args 187s 187s # Prepare the command to request completions for the program. 187s # Calling ${words[0]} instead of directly adsysd allows handling aliases 187s args=("${words[@]:1}") 187s requestComp="${words[0]} __complete ${args[*]}" 187s 187s lastParam=${words[$((${#words[@]}-1))]} 187s lastChar=${lastParam:$((${#lastParam}-1)):1} 187s __adsysd_debug "lastParam ${lastParam}, lastChar ${lastChar}" 187s 187s if [[ -z ${cur} && ${lastChar} != = ]]; then 187s # If the last parameter is complete (there is a space following it) 187s # We add an extra empty parameter so we can indicate this to the go method. 187s __adsysd_debug "Adding extra empty parameter" 187s requestComp="${requestComp} ''" 187s fi 187s 187s # When completing a flag with an = (e.g., adsysd -n=) 187s # bash focuses on the part after the =, so we need to remove 187s # the flag part from $cur 187s if [[ ${cur} == -*=* ]]; then 187s cur="${cur#*=}" 187s fi 187s 187s __adsysd_debug "Calling ${requestComp}" 187s # Use eval to handle any environment variables and such 187s out=$(eval "${requestComp}" 2>/dev/null) 187s 187s # Extract the directive integer at the very end of the output following a colon (:) 187s directive=${out##*:} 187s # Remove the directive 187s out=${out%:*} 187s if [[ ${directive} == "${out}" ]]; then 187s # There is not directive specified 187s directive=0 187s fi 187s __adsysd_debug "The completion directive is: ${directive}" 187s __adsysd_debug "The completions are: ${out}" 187s } 187s 187s __adsysd_process_completion_results() { 187s local shellCompDirectiveError=1 187s local shellCompDirectiveNoSpace=2 187s local shellCompDirectiveNoFileComp=4 187s local shellCompDirectiveFilterFileExt=8 187s local shellCompDirectiveFilterDirs=16 187s local shellCompDirectiveKeepOrder=32 187s 187s if (((directive & shellCompDirectiveError) != 0)); then 187s # Error code. No completion. 187s __adsysd_debug "Received error from custom completion go code" 187s return 187s else 187s if (((directive & shellCompDirectiveNoSpace) != 0)); then 187s if [[ $(type -t compopt) == builtin ]]; then 187s __adsysd_debug "Activating no space" 187s compopt -o nospace 187s else 187s __adsysd_debug "No space directive not supported in this version of bash" 187s fi 187s fi 187s if (((directive & shellCompDirectiveKeepOrder) != 0)); then 187s if [[ $(type -t compopt) == builtin ]]; then 187s # no sort isn't supported for bash less than < 4.4 187s if [[ ${BASH_VERSINFO[0]} -lt 4 || ( ${BASH_VERSINFO[0]} -eq 4 && ${BASH_VERSINFO[1]} -lt 4 ) ]]; then 187s __adsysd_debug "No sort directive not supported in this version of bash" 187s else 187s __adsysd_debug "Activating keep order" 187s compopt -o nosort 187s fi 187s else 187s __adsysd_debug "No sort directive not supported in this version of bash" 187s fi 187s fi 187s if (((directive & shellCompDirectiveNoFileComp) != 0)); then 187s if [[ $(type -t compopt) == builtin ]]; then 187s __adsysd_debug "Activating no file completion" 187s compopt +o default 187s else 187s __adsysd_debug "No file completion directive not supported in this version of bash" 187s fi 187s fi 187s fi 187s 187s # Separate activeHelp from normal completions 187s local completions=() 187s local activeHelp=() 187s __adsysd_extract_activeHelp 187s 187s if (((directive & shellCompDirectiveFilterFileExt) != 0)); then 187s # File extension filtering 187s local fullFilter="" filter filteringCmd 187s 187s # Do not use quotes around the $completions variable or else newline 187s # characters will be kept. 187s for filter in ${completions[*]}; do 187s fullFilter+="$filter|" 187s done 187s 187s filteringCmd="_filedir $fullFilter" 187s __adsysd_debug "File filtering command: $filteringCmd" 187s $filteringCmd 187s elif (((directive & shellCompDirectiveFilterDirs) != 0)); then 187s # File completion for directories only 187s 187s local subdir 187s subdir=${completions[0]} 187s if [[ -n $subdir ]]; then 187s __adsysd_debug "Listing directories in $subdir" 187s pushd "$subdir" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 || return 187s else 187s __adsysd_debug "Listing directories in ." 187s _filedir -d 187s fi 187s else 187s __adsysd_handle_completion_types 187s fi 187s 187s __adsysd_handle_special_char "$cur" : 187s __adsysd_handle_special_char "$cur" = 187s 187s # Print the activeHelp statements before we finish 187s __adsysd_handle_activeHelp 187s } 187s 187s __adsysd_handle_activeHelp() { 187s # Print the activeHelp statements 187s if ((${#activeHelp[*]} != 0)); then 187s if [ -z $COMP_TYPE ]; then 187s # Bash v3 does not set the COMP_TYPE variable. 187s printf "\n"; 187s printf "%s\n" "${activeHelp[@]}" 187s printf "\n" 187s __adsysd_reprint_commandLine 187s return 187s fi 187s 187s # Only print ActiveHelp on the second TAB press 187s if [ $COMP_TYPE -eq 63 ]; then 187s printf "\n" 187s printf "%s\n" "${activeHelp[@]}" 187s 187s if ((${#COMPREPLY[*]} == 0)); then 187s # When there are no completion choices from the program, file completion 187s # may kick in if the program has not disabled it; in such a case, we want 187s # to know if any files will match what the user typed, so that we know if 187s # there will be completions presented, so that we know how to handle ActiveHelp. 187s # To find out, we actually trigger the file completion ourselves; 187s # the call to _filedir will fill COMPREPLY if files match. 187s if (((directive & shellCompDirectiveNoFileComp) == 0)); then 187s __adsysd_debug "Listing files" 187s _filedir 187s fi 187s fi 187s 187s if ((${#COMPREPLY[*]} != 0)); then 187s # If there are completion choices to be shown, print a delimiter. 187s # Re-printing the command-line will automatically be done 187s # by the shell when it prints the completion choices. 187s printf -- "--" 187s else 187s # When there are no completion choices at all, we need 187s # to re-print the command-line since the shell will 187s # not be doing it itself. 187s __adsysd_reprint_commandLine 187s fi 187s elif [ $COMP_TYPE -eq 37 ] || [ $COMP_TYPE -eq 42 ]; then 187s # For completion type: menu-complete/menu-complete-backward and insert-completions 187s # the completions are immediately inserted into the command-line, so we first 187s # print the activeHelp message and reprint the command-line since the shell won't. 187s printf "\n" 187s printf "%s\n" "${activeHelp[@]}" 187s 187s __adsysd_reprint_commandLine 187s fi 187s fi 187s } 187s 187s __adsysd_reprint_commandLine() { 187s # The prompt format is only available from bash 4.4. 187s # We test if it is available before using it. 187s if (x=${PS1@P}) 2> /dev/null; then 187s printf "%s" "${PS1@P}${COMP_LINE[@]}" 187s else 187s # Can't print the prompt. Just print the 187s # text the user had typed, it is workable enough. 187s printf "%s" "${COMP_LINE[@]}" 187s fi 187s } 187s 187s # Separate activeHelp lines from real completions. 187s # Fills the $activeHelp and $completions arrays. 187s __adsysd_extract_activeHelp() { 187s local activeHelpMarker="_activeHelp_ " 187s local endIndex=${#activeHelpMarker} 187s 187s while IFS='' read -r comp; do 187s [[ -z $comp ]] && continue 187s 187s if [[ ${comp:0:endIndex} == $activeHelpMarker ]]; then 187s comp=${comp:endIndex} 187s __adsysd_debug "ActiveHelp found: $comp" 187s if [[ -n $comp ]]; then 187s activeHelp+=("$comp") 187s fi 187s else 187s # Not an activeHelp line but a normal completion 187s completions+=("$comp") 187s fi 187s done <<<"${out}" 187s } 187s 187s __adsysd_handle_completion_types() { 187s __adsysd_debug "__adsysd_handle_completion_types: COMP_TYPE is $COMP_TYPE" 187s 187s case $COMP_TYPE in 187s 37|42) 187s # Type: menu-complete/menu-complete-backward and insert-completions 187s # If the user requested inserting one completion at a time, or all 187s # completions at once on the command-line we must remove the descriptions. 187s # https://github.com/spf13/cobra/issues/1508 187s 187s # If there are no completions, we don't need to do anything 187s (( ${#completions[@]} == 0 )) && return 0 187s 187s local tab=$'\t' 187s 187s # Strip any description and escape the completion to handled special characters 187s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]%%$tab*}") 187s 187s # Only consider the completions that match 187s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 187s 187s # compgen looses the escaping so we need to escape all completions again since they will 187s # all be inserted on the command-line. 187s IFS=$'\n' read -ra COMPREPLY -d '' < <(printf "%q\n" "${COMPREPLY[@]}") 187s ;; 187s 187s *) 187s # Type: complete (normal completion) 187s __adsysd_handle_standard_completion_case 187s ;; 187s esac 187s } 187s 187s __adsysd_handle_standard_completion_case() { 187s local tab=$'\t' 187s 187s # If there are no completions, we don't need to do anything 187s (( ${#completions[@]} == 0 )) && return 0 187s 187s # Short circuit to optimize if we don't have descriptions 187s if [[ "${completions[*]}" != *$tab* ]]; then 187s # First, escape the completions to handle special characters 187s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]}") 187s # Only consider the completions that match what the user typed 187s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 187s 187s # compgen looses the escaping so, if there is only a single completion, we need to 187s # escape it again because it will be inserted on the command-line. If there are multiple 187s # completions, we don't want to escape them because they will be printed in a list 187s # and we don't want to show escape characters in that list. 187s if (( ${#COMPREPLY[@]} == 1 )); then 187s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]}") 187s fi 187s return 0 187s fi 187s 187s local longest=0 187s local compline 187s # Look for the longest completion so that we can format things nicely 187s while IFS='' read -r compline; do 187s [[ -z $compline ]] && continue 187s 187s # Before checking if the completion matches what the user typed, 187s # we need to strip any description and escape the completion to handle special 187s # characters because those escape characters are part of what the user typed. 187s # Don't call "printf" in a sub-shell because it will be much slower 187s # since we are in a loop. 187s printf -v comp "%q" "${compline%%$tab*}" &>/dev/null || comp=$(printf "%q" "${compline%%$tab*}") 187s 187s # Only consider the completions that match 187s [[ $comp == "$cur"* ]] || continue 187s 187s # The completions matches. Add it to the list of full completions including 187s # its description. We don't escape the completion because it may get printed 187s # in a list if there are more than one and we don't want show escape characters 187s # in that list. 187s COMPREPLY+=("$compline") 187s 187s # Strip any description before checking the length, and again, don't escape 187s # the completion because this length is only used when printing the completions 187s # in a list and we don't want show escape characters in that list. 187s comp=${compline%%$tab*} 187s if ((${#comp}>longest)); then 187s longest=${#comp} 187s fi 187s done < <(printf "%s\n" "${completions[@]}") 187s 187s # If there is a single completion left, remove the description text and escape any special characters 187s if ((${#COMPREPLY[*]} == 1)); then 187s __adsysd_debug "COMPREPLY[0]: ${COMPREPLY[0]}" 187s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]%%$tab*}") 187s __adsysd_debug "Removed description from single completion, which is now: ${COMPREPLY[0]}" 187s else 187s # Format the descriptions 187s __adsysd_format_comp_descriptions $longest 187s fi 187s } 187s 187s __adsysd_handle_special_char() 187s { 187s local comp="$1" 187s local char=$2 187s if [[ "$comp" == *${char}* && "$COMP_WORDBREAKS" == *${char}* ]]; then 187s local word=${comp%"${comp##*${char}}"} 187s local idx=${#COMPREPLY[*]} 187s while ((--idx >= 0)); do 187s COMPREPLY[idx]=${COMPREPLY[idx]#"$word"} 187s done 187s fi 187s } 187s 187s __adsysd_format_comp_descriptions() 187s { 187s local tab=$'\t' 187s local comp desc maxdesclength 187s local longest=$1 187s 187s local i ci 187s for ci in ${!COMPREPLY[*]}; do 187s comp=${COMPREPLY[ci]} 187s # Properly format the description string which follows a tab character if there is one 187s if [[ "$comp" == *$tab* ]]; then 187s __adsysd_debug "Original comp: $comp" 187s desc=${comp#*$tab} 187s comp=${comp%%$tab*} 187s 187s # $COLUMNS stores the current shell width. 187s # Remove an extra 4 because we add 2 spaces and 2 parentheses. 187s maxdesclength=$(( COLUMNS - longest - 4 )) 187s 187s # Make sure we can fit a description of at least 8 characters 187s # if we are to align the descriptions. 187s if ((maxdesclength > 8)); then 187s # Add the proper number of spaces to align the descriptions 187s for ((i = ${#comp} ; i < longest ; i++)); do 187s comp+=" " 187s done 187s else 187s # Don't pad the descriptions so we can fit more text after the completion 187s maxdesclength=$(( COLUMNS - ${#comp} - 4 )) 187s fi 187s 187s # If there is enough space for any description text, 187s # truncate the descriptions that are too long for the shell width 187s if ((maxdesclength > 0)); then 187s if ((${#desc} > maxdesclength)); then 187s desc=${desc:0:$(( maxdesclength - 1 ))} 187s desc+="…" 187s fi 187s comp+=" ($desc)" 187s fi 187s COMPREPLY[ci]=$comp 187s __adsysd_debug "Final comp: $comp" 187s fi 187s done 187s } 187s 187s __start_adsysd() 187s { 187s local cur prev words cword split 187s 187s COMPREPLY=() 187s 187s # Call _init_completion from the bash-completion package 187s # to prepare the arguments properly 187s if declare -F _init_completion >/dev/null 2>&1; then 187s _init_completion -n =: || return 187s else 187s __adsysd_init_completion -n =: || return 187s fi 187s 187s __adsysd_debug 187s __adsysd_debug "========= starting completion logic ==========" 187s __adsysd_debug "cur is ${cur}, words[*] is ${words[*]}, #words[@] is ${#words[@]}, cword is $cword" 187s 187s # The user could have moved the cursor backwards on the command-line. 187s # We need to trigger completion from the $cword location, so we need 187s # to truncate the command-line ($words) up to the $cword location. 187s words=("${words[@]:0:$cword+1}") 187s __adsysd_debug "Truncated words[*]: ${words[*]}," 187s 187s local out directive 187s __adsysd_get_completion_results 187s __adsysd_process_completion_results 187s } 187s 187s if [[ $(type -t compopt) = "builtin" ]]; then 187s complete -o default -F __start_adsysd adsysd 187s else 187s complete -o default -o nospace -F __start_adsysd adsysd 187s fi 187s 187s # ex: ts=4 sw=4 et filetype=sh 187s --- PASS: TestAppNoUsageError (0.00s) 187s PASS 187s ok github.com/ubuntu/adsys/cmd/adsysd/daemon 3.432s 187s Integration tests skipped as requested 187s ok github.com/ubuntu/adsys/cmd/adsysd/integration_tests 0.066s 187s === RUN TestRun 187s === RUN TestRun/Send_SIGINT_exits 187s === RUN TestRun/Send_SIGTERM_exits 187s === RUN TestRun/Run_and_exit_successfully 187s === RUN TestRun/Run_and_return_error 187s ERROR Error requested 187s === RUN TestRun/Run_and_return_usage_error 187s ERROR Error requested 187s === RUN TestRun/Run_and_usage_error_only_does_not_fail 187s --- PASS: TestRun (0.61s) 187s --- PASS: TestRun/Send_SIGINT_exits (0.10s) 187s --- PASS: TestRun/Send_SIGTERM_exits (0.10s) 187s --- PASS: TestRun/Run_and_exit_successfully (0.10s) 187s --- PASS: TestRun/Run_and_return_error (0.10s) 187s --- PASS: TestRun/Run_and_return_usage_error (0.10s) 187s --- PASS: TestRun/Run_and_usage_error_only_does_not_fail (0.10s) 187s === RUN TestMainApp 187s --- PASS: TestMainApp (0.61s) 187s PASS 187s ok github.com/ubuntu/adsys/cmd/adwatchd 1.228s 187s ? github.com/ubuntu/adsys/cmd/adwatchd/commands [no test files] 187s Test has to be run as root, skipping... 187s ok github.com/ubuntu/adsys/cmd/adwatchd/integration_tests 0.004s 187s ? github.com/ubuntu/adsys/docs [no test files] 188s ? github.com/ubuntu/adsys/e2e/cmd/build_base_image/00_check_vm_image [no test files] 190s ? github.com/ubuntu/adsys/e2e/cmd/build_base_image/01_prepare_base_vm [no test files] 190s ? github.com/ubuntu/adsys/e2e/cmd/build_base_image/02_create_vm_template [no test files] 190s ? github.com/ubuntu/adsys/e2e/cmd/build_base_image/99_destroy_previous_versions [no test files] 190s ? github.com/ubuntu/adsys/e2e/cmd/run_tests/00_build_adsys_deb [no test files] 190s ? github.com/ubuntu/adsys/e2e/cmd/run_tests/01_provision_client [no test files] 190s ? github.com/ubuntu/adsys/e2e/cmd/run_tests/02_provision_ad [no test files] 190s ? github.com/ubuntu/adsys/e2e/cmd/run_tests/03_pam_coverage_support [no test files] 190s ? github.com/ubuntu/adsys/e2e/cmd/run_tests/10_test_non_pro_managers [no test files] 190s ? github.com/ubuntu/adsys/e2e/cmd/run_tests/11_test_pro_managers [no test files] 190s ? github.com/ubuntu/adsys/e2e/cmd/run_tests/12_test_pam_krb5cc [no test files] 190s ? github.com/ubuntu/adsys/e2e/cmd/run_tests/98_collect_pam_coverage [no test files] 190s ? github.com/ubuntu/adsys/e2e/cmd/run_tests/99_deprovision [no test files] 190s ? github.com/ubuntu/adsys/e2e/internal/az [no test files] 190s === RUN TestAddFlags 190s --- PASS: TestAddFlags (0.00s) 190s === RUN TestInventory 190s === RUN TestInventory/From_null_state_doesn't_require_existing_data 190s === RUN TestInventory/From_existing_state_requires_existing_data 190s === RUN TestInventory/To_null_state_doesn't_write_data 190s === RUN TestInventory/Multiple_from_states_requires_at_least_one 190s === RUN TestInventory/Error_if_inventory_file_is_required_and_doesn't_exist 190s time="2025-10-18T15:33:27Z" 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_ex2852264462/001/inventory/inventory.yaml: no such file or directory. Please refer to the previous script in the series" 190s === RUN TestInventory/Error_if_inventory_state_does_not_match_expected_state 190s time="2025-10-18T15:33:27Z" level=error msg="Inventory file is not in any of the expected initial states: [template_created ]" 190s === RUN TestInventory/Error_if_inventory_state_does_not_match_any_expected_state 190s time="2025-10-18T15:33:27Z" level=error msg="Inventory file is not in any of the expected initial states: [template_created ]" 190s --- PASS: TestInventory (0.02s) 190s --- PASS: TestInventory/From_null_state_doesn't_require_existing_data (0.00s) 190s --- PASS: TestInventory/From_existing_state_requires_existing_data (0.00s) 190s --- PASS: TestInventory/To_null_state_doesn't_write_data (0.01s) 190s --- PASS: TestInventory/Multiple_from_states_requires_at_least_one (0.00s) 190s --- PASS: TestInventory/Error_if_inventory_file_is_required_and_doesn't_exist (0.00s) 190s --- PASS: TestInventory/Error_if_inventory_state_does_not_match_expected_state (0.00s) 190s --- PASS: TestInventory/Error_if_inventory_state_does_not_match_any_expected_state (0.00s) 190s === RUN TestExecute 190s === RUN TestExecute/Action_succeeds 190s === RUN TestExecute/Action_and_validation_succeed 190s === RUN TestExecute/Error_when_action_fails 190s time="2025-10-18T15:33:27Z" level=error msg="requested error" 190s === RUN TestExecute/Error_when_validation_fails 190s time="2025-10-18T15:33:27Z" level=error msg="requested error" 190s === RUN TestExecute/Error_when_both_action_and_validation_fail 190s time="2025-10-18T15:33:27Z" level=error msg="requested error" 190s --- PASS: TestExecute (0.01s) 190s --- PASS: TestExecute/Action_succeeds (0.00s) 190s --- PASS: TestExecute/Action_and_validation_succeed (0.00s) 190s --- PASS: TestExecute/Error_when_action_fails (0.00s) 190s --- PASS: TestExecute/Error_when_validation_fails (0.00s) 190s --- PASS: TestExecute/Error_when_both_action_and_validation_fail (0.00s) 190s PASS 190s ok github.com/ubuntu/adsys/e2e/internal/command 0.029s 190s ? github.com/ubuntu/adsys/e2e/internal/inventory [no test files] 190s ? github.com/ubuntu/adsys/e2e/internal/remote [no test files] 190s ? github.com/ubuntu/adsys/e2e/scripts [no test files] 202s === RUN TestFetch 202s === PAUSE TestFetch 202s === RUN TestFetchWithUnreadableFile 202s === PAUSE TestFetchWithUnreadableFile 202s === RUN TestFetchTweakSysvolCacheDir 202s === PAUSE TestFetchTweakSysvolCacheDir 202s === RUN TestFetchOneGPOWhileParsingItConcurrently 202s === PAUSE TestFetchOneGPOWhileParsingItConcurrently 202s === RUN TestParseGPOConcurrent 202s === PAUSE TestParseGPOConcurrent 202s === RUN TestNew 202s === PAUSE TestNew 202s === RUN TestGetPolicies 202s === PAUSE TestGetPolicies 202s === RUN TestGetPoliciesOffline 202s === PAUSE TestGetPoliciesOffline 202s === RUN TestGetPoliciesWorkflows 202s === PAUSE TestGetPoliciesWorkflows 202s === RUN TestGetPoliciesConcurrently 202s === PAUSE TestGetPoliciesConcurrently 202s === RUN TestListUsers 202s === PAUSE TestListUsers 202s === RUN TestGetInfo 202s === PAUSE TestGetInfo 202s === RUN TestNormalizeTargetName 202s === PAUSE TestNormalizeTargetName 202s === RUN TestMockGPOList 202s --- PASS: TestMockGPOList (0.00s) 202s === RUN TestAdsysGPOList 202s === RUN TestAdsysGPOList/Machine_GPOs 202s === RUN TestAdsysGPOList/No_GPO_on_OU_-_bytes 202s === RUN TestAdsysGPOList/Forced_GPO_are_first_by_reverse_order 202s === RUN TestAdsysGPOList/No_gPOptions_fallbacks_to_0 202s === RUN TestAdsysGPOList/Error_on_non_existent_account 202s === RUN TestAdsysGPOList/Error_on_computer_requested_but_found_user 202s === RUN TestAdsysGPOList/Error_on_KRB5CCNAME_unset 202s === RUN TestAdsysGPOList/Error_on_invalid_ticket 202s === RUN TestAdsysGPOList/Long_computer_name,_not_truncated 202s === RUN TestAdsysGPOList/No_GPO_on_OU_-_string 202s === RUN TestAdsysGPOList/KRB5CCNAME_without_FILE:_is_supported_by_the_samba_bindings 202s === RUN TestAdsysGPOList/No_@_in_user_name_returns_the_same_thing 202s === RUN TestAdsysGPOList/Error_on_unreachable_ldap_host 202s === RUN TestAdsysGPOList/Error_on_ldap_connection_refused 202s === RUN TestAdsysGPOList/Error_invalid_GPO_link 202s === RUN TestAdsysGPOList/Return_one_gpo 202s === RUN TestAdsysGPOList/Return_hierarchy 202s === RUN TestAdsysGPOList/Filter_machine_only_GPOs 202s === RUN TestAdsysGPOList/Security_descriptor_access_denied_ignores_GPO 202s === RUN TestAdsysGPOList/Error_on_user_requested_but_found_machine 202s === RUN TestAdsysGPOList/Multiple_GPOs_in_same_OU 202s === RUN TestAdsysGPOList/Filter_user_only_GPOs 202s === RUN TestAdsysGPOList/Forced_GPO_and_blocked_inheritance 202s === RUN TestAdsysGPOList/Security_descriptor_missing_ignores_GPO 202s === RUN TestAdsysGPOList/Security_descriptor_accepted_is_for_another_user 202s === RUN TestAdsysGPOList/Computers_truncated_at_15_characters 202s === RUN TestAdsysGPOList/Error_on_dangling_ticket_symlink 202s === RUN TestAdsysGPOList/Disabled_GPOs 202s === RUN TestAdsysGPOList/Fail_on_security_descriptor_access_failure 202s === RUN TestAdsysGPOList/Error_on_no_network 202s === RUN TestAdsysGPOList/Block_inheritance 202s === RUN TestAdsysGPOList/Error_on_machine_with_no_ldap 202s --- PASS: TestAdsysGPOList (1.18s) 202s --- PASS: TestAdsysGPOList/Machine_GPOs (0.04s) 202s --- PASS: TestAdsysGPOList/No_GPO_on_OU_-_bytes (0.03s) 202s --- PASS: TestAdsysGPOList/Forced_GPO_are_first_by_reverse_order (0.03s) 202s --- PASS: TestAdsysGPOList/No_gPOptions_fallbacks_to_0 (0.05s) 202s --- PASS: TestAdsysGPOList/Error_on_non_existent_account (0.04s) 202s --- PASS: TestAdsysGPOList/Error_on_computer_requested_but_found_user (0.03s) 202s --- PASS: TestAdsysGPOList/Error_on_KRB5CCNAME_unset (0.04s) 202s --- PASS: TestAdsysGPOList/Error_on_invalid_ticket (0.04s) 202s --- PASS: TestAdsysGPOList/Long_computer_name,_not_truncated (0.03s) 202s --- PASS: TestAdsysGPOList/No_GPO_on_OU_-_string (0.03s) 202s --- PASS: TestAdsysGPOList/KRB5CCNAME_without_FILE:_is_supported_by_the_samba_bindings (0.04s) 202s --- PASS: TestAdsysGPOList/No_@_in_user_name_returns_the_same_thing (0.04s) 202s --- PASS: TestAdsysGPOList/Error_on_unreachable_ldap_host (0.04s) 202s --- PASS: TestAdsysGPOList/Error_on_ldap_connection_refused (0.04s) 202s --- PASS: TestAdsysGPOList/Error_invalid_GPO_link (0.05s) 202s --- PASS: TestAdsysGPOList/Return_one_gpo (0.04s) 202s --- PASS: TestAdsysGPOList/Return_hierarchy (0.03s) 202s --- PASS: TestAdsysGPOList/Filter_machine_only_GPOs (0.04s) 202s --- PASS: TestAdsysGPOList/Security_descriptor_access_denied_ignores_GPO (0.03s) 202s --- PASS: TestAdsysGPOList/Error_on_user_requested_but_found_machine (0.04s) 202s --- PASS: TestAdsysGPOList/Multiple_GPOs_in_same_OU (0.04s) 202s --- PASS: TestAdsysGPOList/Filter_user_only_GPOs (0.03s) 202s --- PASS: TestAdsysGPOList/Forced_GPO_and_blocked_inheritance (0.03s) 202s --- PASS: TestAdsysGPOList/Security_descriptor_missing_ignores_GPO (0.04s) 202s --- PASS: TestAdsysGPOList/Security_descriptor_accepted_is_for_another_user (0.03s) 202s --- PASS: TestAdsysGPOList/Computers_truncated_at_15_characters (0.03s) 202s --- PASS: TestAdsysGPOList/Error_on_dangling_ticket_symlink (0.03s) 202s --- PASS: TestAdsysGPOList/Disabled_GPOs (0.03s) 202s --- PASS: TestAdsysGPOList/Fail_on_security_descriptor_access_failure (0.03s) 202s --- PASS: TestAdsysGPOList/Error_on_no_network (0.03s) 202s --- PASS: TestAdsysGPOList/Block_inheritance (0.03s) 202s --- PASS: TestAdsysGPOList/Error_on_machine_with_no_ldap (0.03s) 202s === RUN TestGetPolicyDefinitions 202s === PAUSE TestGetPolicyDefinitions 202s === RUN TestTicketPath 202s krb5_test.go:23: Running subprocess with [/tmp/go-build3221804729/b599/ad.test -test.testlogfile=/tmp/go-build3221804729/b599/testlog.txt -test.paniconexit0 -test.timeout=10m0s -test.v=true -test.run=TestTicketPath] 202s === RUN TestTicketPath 202s === RUN TestTicketPath/Error_when_initializing_context 202s === RUN TestTicketPath/Error_on_empty_ticket_path 202s === RUN TestTicketPath/Error_on_NULL_ticket_path 202s === RUN TestTicketPath/Error_on_non-FILE_ccache 202s === RUN TestTicketPath/Lookup_is_successful 202s === RUN TestTicketPath/Allow_ccache_without_FILE_identifier 202s === RUN TestTicketPath/Error_when_ccache_not_present_on_disk 202s === RUN TestTicketPath/Error_when_ccache_is_a_directory 202s --- PASS: TestTicketPath (0.00s) 202s --- PASS: TestTicketPath/Error_when_initializing_context (0.00s) 202s --- PASS: TestTicketPath/Error_on_empty_ticket_path (0.00s) 202s --- PASS: TestTicketPath/Error_on_NULL_ticket_path (0.00s) 202s --- PASS: TestTicketPath/Error_on_non-FILE_ccache (0.00s) 202s --- PASS: TestTicketPath/Lookup_is_successful (0.00s) 202s --- PASS: TestTicketPath/Allow_ccache_without_FILE_identifier (0.00s) 202s --- PASS: TestTicketPath/Error_when_ccache_not_present_on_disk (0.00s) 202s --- PASS: TestTicketPath/Error_when_ccache_is_a_directory (0.00s) 202s PASS 202s --- PASS: TestTicketPath (0.24s) 202s === CONT TestFetch 202s === CONT TestGetPoliciesOffline 202s === RUN TestGetPoliciesOffline/Offline,_with_assets 202s === PAUSE TestGetPoliciesOffline/Offline,_with_assets 202s === RUN TestGetPoliciesOffline/Error_on_SSSD_reports_online,_but_we_are_actually_offline_when_fetching_gpo_list,_even_with_a_cache 202s === PAUSE TestGetPoliciesOffline/Error_on_SSSD_reports_online,_but_we_are_actually_offline_when_fetching_gpo_list,_even_with_a_cache 202s === RUN TestGetPoliciesOffline/Offline,_get_from_cache,_gpo_only 202s === PAUSE TestGetPoliciesOffline/Offline,_get_from_cache,_gpo_only 202s === RUN TestGetPoliciesOffline/Offline,_get_from_cache,_with_assets 202s === PAUSE TestGetPoliciesOffline/Offline,_get_from_cache,_with_assets 202s === RUN TestGetPoliciesOffline/Error_offline_with_no_cache 202s === PAUSE TestGetPoliciesOffline/Error_offline_with_no_cache 202s === RUN TestGetPoliciesOffline/Offline,_ensure_we_fetch_from_cache_and_not_fetch_GPO_list 202s === PAUSE TestGetPoliciesOffline/Offline,_ensure_we_fetch_from_cache_and_not_fetch_GPO_list 202s === CONT TestGetPolicyDefinitions 202s === RUN TestGetPolicyDefinitions/ADMX_and_ADML_does_not_exist_for_this_distro 202s === PAUSE TestGetPolicyDefinitions/ADMX_and_ADML_does_not_exist_for_this_distro 202s === RUN TestGetPolicyDefinitions/Load_ADMX_and_ADML 202s === PAUSE TestGetPolicyDefinitions/Load_ADMX_and_ADML 202s === RUN TestGetPolicyDefinitions/ADMX_and_ADML_does_not_exist_for_this_format 202s === PAUSE TestGetPolicyDefinitions/ADMX_and_ADML_does_not_exist_for_this_format 202s === CONT TestNormalizeTargetName 202s === RUN TestNormalizeTargetName/Computer_with_@_is_left_as_such 202s === PAUSE TestNormalizeTargetName/Computer_with_@_is_left_as_such 202s === RUN TestNormalizeTargetName/Error_on_no_default_domain_suffix_and_no_fqdn_user 202s === PAUSE TestNormalizeTargetName/Error_on_no_default_domain_suffix_and_no_fqdn_user 202s === RUN TestNormalizeTargetName/User_name_matching_computer,_setting_as_user 202s === PAUSE TestNormalizeTargetName/User_name_matching_computer,_setting_as_user 202s === RUN TestNormalizeTargetName/One_valid_user 202s === PAUSE TestNormalizeTargetName/One_valid_user 202s === RUN TestNormalizeTargetName/One_valid_user_with_mixed_case 202s === PAUSE TestNormalizeTargetName/One_valid_user_with_mixed_case 202s === RUN TestNormalizeTargetName/One_user_without_explicit_domain_suffix 202s === PAUSE TestNormalizeTargetName/One_user_without_explicit_domain_suffix 202s === RUN TestNormalizeTargetName/Computer_is_left_as_such 202s === PAUSE TestNormalizeTargetName/Computer_is_left_as_such 202s === RUN TestNormalizeTargetName/Error_on_multiple_\_in_name 202s === PAUSE TestNormalizeTargetName/Error_on_multiple_\_in_name 202s === RUN TestNormalizeTargetName/User_name_fqdn_matching_computer 202s === PAUSE TestNormalizeTargetName/User_name_fqdn_matching_computer 202s === RUN TestNormalizeTargetName/Computer_name_without_objectClass 202s === PAUSE TestNormalizeTargetName/Computer_name_without_objectClass 202s === RUN TestNormalizeTargetName/One_valid_user_with_domain\user 202s === PAUSE TestNormalizeTargetName/One_valid_user_with_domain\user 202s === RUN TestNormalizeTargetName/Computer_in_uppercase_is_left_as_such 202s === PAUSE TestNormalizeTargetName/Computer_in_uppercase_is_left_as_such 202s === CONT TestGetInfo 202s === RUN TestGetInfo/Report_unknown_state_if_IsOnline_calls_fail 202s === PAUSE TestGetInfo/Report_unknown_state_if_IsOnline_calls_fail 202s === RUN TestGetInfo/Report_unknown_state_if_ServerFQDN_calls_fail 202s === PAUSE TestGetInfo/Report_unknown_state_if_ServerFQDN_calls_fail 202s === RUN TestGetInfo/Info_reported_from_backend,_online 202s === PAUSE TestGetInfo/Info_reported_from_backend,_online 202s === RUN TestGetInfo/Info_reported_from_backend,_offline 202s === PAUSE TestGetInfo/Info_reported_from_backend,_offline 202s === CONT TestListUsers 202s === RUN TestListUsers/Error_on_Krb5_directory_not_existing 202s === PAUSE TestListUsers/Error_on_Krb5_directory_not_existing 202s === RUN TestListUsers/Two_users 202s === PAUSE TestListUsers/Two_users 202s === RUN TestListUsers/Two_users,_dangling_symlink_for_one 202s === PAUSE TestListUsers/Two_users,_dangling_symlink_for_one 202s === RUN TestListUsers/None 202s === PAUSE TestListUsers/None 202s === RUN TestListUsers/Machines_are_ignored 202s === PAUSE TestListUsers/Machines_are_ignored 202s === RUN TestListUsers/Ticket_cache_ignored_if_policy_cache_is_requested 202s === PAUSE TestListUsers/Ticket_cache_ignored_if_policy_cache_is_requested 202s === RUN TestListUsers/Error_on_policy_cache_directory_not_existing 202s === PAUSE TestListUsers/Error_on_policy_cache_directory_not_existing 202s === RUN TestListUsers/One_user 202s === PAUSE TestListUsers/One_user 202s === RUN TestListUsers/Machine_Only 202s === PAUSE TestListUsers/Machine_Only 202s === RUN TestListUsers/One_user,_from_policy_cache 202s === PAUSE TestListUsers/One_user,_from_policy_cache 202s === RUN TestListUsers/Two_users,_from_policy_cache 202s === PAUSE TestListUsers/Two_users,_from_policy_cache 202s === RUN TestListUsers/None,_from_policy_cache 202s === PAUSE TestListUsers/None,_from_policy_cache 202s === RUN TestListUsers/Machines_are_ignored,_from_policy_cache 202s === PAUSE TestListUsers/Machines_are_ignored,_from_policy_cache 202s === RUN TestListUsers/Machine_Only,_from_policy_cache 202s === PAUSE TestListUsers/Machine_Only,_from_policy_cache 202s === CONT TestGetPoliciesConcurrently 202s === RUN TestGetPoliciesConcurrently/Same_user,_same_GPO 202s === PAUSE TestGetPoliciesConcurrently/Same_user,_same_GPO 202s === RUN TestGetPoliciesConcurrently/Different_users,_same_GPO 202s === PAUSE TestGetPoliciesConcurrently/Different_users,_same_GPO 202s === RUN TestGetPoliciesConcurrently/Different_users,_different_GPO 202s === PAUSE TestGetPoliciesConcurrently/Different_users,_different_GPO 202s === RUN TestGetPoliciesConcurrently/One_machine,_one_user 202s === PAUSE TestGetPoliciesConcurrently/One_machine,_one_user 202s === RUN TestGetPoliciesConcurrently/Machine_requested_twice_at_the_same_time 202s === PAUSE TestGetPoliciesConcurrently/Machine_requested_twice_at_the_same_time 202s === CONT TestGetPoliciesWorkflows 202s === RUN TestGetPoliciesWorkflows/Second_call_is_a_refresh_(without_Krb5CCName_specified) 202s === PAUSE TestGetPoliciesWorkflows/Second_call_is_a_refresh_(without_Krb5CCName_specified) 202s === RUN TestGetPoliciesWorkflows/Second_machine_call_is_a_refresh_(without_Krb5CCName_specified) 202s === PAUSE TestGetPoliciesWorkflows/Second_machine_call_is_a_refresh_(without_Krb5CCName_specified) 202s === RUN TestGetPoliciesWorkflows/Second_machine_call_after_a_restart 202s === PAUSE TestGetPoliciesWorkflows/Second_machine_call_after_a_restart 202s === RUN TestGetPoliciesWorkflows/Second_call_after_service_restarted 202s === PAUSE TestGetPoliciesWorkflows/Second_call_after_service_restarted 202s === RUN TestGetPoliciesWorkflows/Second_call_with_different_user 202s === PAUSE TestGetPoliciesWorkflows/Second_call_with_different_user 202s === RUN TestGetPoliciesWorkflows/Second_call_after_a_relogin 202s === PAUSE TestGetPoliciesWorkflows/Second_call_after_a_relogin 202s === RUN TestGetPoliciesWorkflows/Second_call_without_Krb5CCName_refreshes_ticket_copy_if_needed 202s === PAUSE TestGetPoliciesWorkflows/Second_call_without_Krb5CCName_refreshes_ticket_copy_if_needed 202s === RUN TestGetPoliciesWorkflows/Second_call_without_Krb5CCName_replaces_previous_symlinks_in_the_original_path 202s === PAUSE TestGetPoliciesWorkflows/Second_call_without_Krb5CCName_replaces_previous_symlinks_in_the_original_path 202s === RUN TestGetPoliciesWorkflows/Second_machine_call_after_service_restarted 202s === PAUSE TestGetPoliciesWorkflows/Second_machine_call_after_service_restarted 202s === CONT TestParseGPOConcurrent 202s === RUN TestFetch/gpo_is_refreshed 202s === PAUSE TestFetch/gpo_is_refreshed 202s === RUN TestFetch/local_gpo_is_more_recent_than_AD_one 202s === PAUSE TestFetch/local_gpo_is_more_recent_than_AD_one 202s === RUN TestFetch/Local_gpo_redownloaded_on_NaN_version_in_GPT.INI 202s === PAUSE TestFetch/Local_gpo_redownloaded_on_NaN_version_in_GPT.INI 202s === RUN TestFetch/assets_are_not_updated_if_remote_version_matches,_with_non-standard_GPT.INI_casing 202s === PAUSE TestFetch/assets_are_not_updated_if_remote_version_matches,_with_non-standard_GPT.INI_casing 202s === RUN TestFetch/two_gpos,_one_already_up_to_date,_one_new 202s === PAUSE TestFetch/two_gpos,_one_already_up_to_date,_one_new 202s === RUN TestFetch/Local_gpo_redownloaded_on_version_entry_missing_in_GPT.INI 202s === PAUSE TestFetch/Local_gpo_redownloaded_on_version_entry_missing_in_GPT.INI 202s === RUN TestFetch/gpos_and_assets 202s === PAUSE TestFetch/gpos_and_assets 202s === RUN TestFetch/concurrent_same_gpos 202s === PAUSE TestFetch/concurrent_same_gpos 202s === RUN TestFetch/assets_is_a_file_is_not_downloaded 202s === PAUSE TestFetch/assets_is_a_file_is_not_downloaded 202s === RUN TestFetch/gpo_already_up_to_date 202s === PAUSE TestFetch/gpo_already_up_to_date 202s === RUN TestFetch/concurrent_different_gpos 202s === PAUSE TestFetch/concurrent_different_gpos 202s === RUN TestFetch/assets_root_directory_not_present_on_SYSVOL_issues_a_warning_only 202s === PAUSE TestFetch/assets_root_directory_not_present_on_SYSVOL_issues_a_warning_only 202s === RUN TestFetch/two_gpos,_one_more_recent,_one_up_to_date 202s === PAUSE TestFetch/two_gpos,_one_more_recent,_one_up_to_date 202s === RUN TestFetch/assets_are_updated_to_latest_version 202s === PAUSE TestFetch/assets_are_updated_to_latest_version 202s === RUN TestFetch/existing_assets_are_kept_if_no_assets_downloadable_provided 202s === PAUSE TestFetch/existing_assets_are_kept_if_no_assets_downloadable_provided 202s === RUN TestFetch/existing_assets_are_removed_if_not_present_on_SYSVOL 202s === PAUSE TestFetch/existing_assets_are_removed_if_not_present_on_SYSVOL 202s === RUN TestFetch/Error_unexistant_remote_gpo 202s === PAUSE TestFetch/Error_unexistant_remote_gpo 202s === RUN TestFetch/Error_remote_version_NaN 202s === PAUSE TestFetch/Error_remote_version_NaN 202s === RUN TestFetch/two_gpos,_one_should_be_refreshed,_one_new 202s === PAUSE TestFetch/two_gpos,_one_should_be_refreshed,_one_new 202s === RUN TestFetch/two_gpos,_one_more_recent,_one_new 202s === PAUSE TestFetch/two_gpos,_one_more_recent,_one_new 202s === RUN TestFetch/keep_existing_gpos_intact 202s === PAUSE TestFetch/keep_existing_gpos_intact 202s === RUN TestFetch/assets_are_not_updated_if_local_version_matches,_with_non-standard_GPT.INI_casing 202s === PAUSE TestFetch/assets_are_not_updated_if_local_version_matches,_with_non-standard_GPT.INI_casing 202s === RUN TestFetch/two_gpos,_one_already_up_to_date,_one_should_be_refreshed 202s === PAUSE TestFetch/two_gpos,_one_already_up_to_date,_one_should_be_refreshed 202s === RUN TestFetch/two_gpos,_one_more_recent,_one_should_be_refreshed 202s === PAUSE TestFetch/two_gpos,_one_more_recent,_one_should_be_refreshed 202s === RUN TestFetch/Local_gpo_redownloaded_on_missing_GPT.INI 202s === PAUSE TestFetch/Local_gpo_redownloaded_on_missing_GPT.INI 202s === RUN TestFetch/assets_only_are_downloaded 202s === PAUSE TestFetch/assets_only_are_downloaded 202s === RUN TestFetch/assets_are_not_updated_if_version_matches 202s === PAUSE TestFetch/assets_are_not_updated_if_version_matches 202s === RUN TestFetch/remote_version_entry_missing_treated_as_0 202s === PAUSE TestFetch/remote_version_entry_missing_treated_as_0 202s === RUN TestFetch/Error_missing_remote_GPT.INI 202s === PAUSE TestFetch/Error_missing_remote_GPT.INI 202s === RUN TestFetch/Error_keeps_downloading_other_GPOS 202s === PAUSE TestFetch/Error_keeps_downloading_other_GPOS 202s === RUN TestFetch/one_new_gpo 202s === PAUSE TestFetch/one_new_gpo 202s === RUN TestFetch/two_new_gpos 202s === PAUSE TestFetch/two_new_gpos 202s === CONT TestGetPolicies 202s === RUN TestGetPolicies/Computer_only_policy,_user_object,_policy_is_empty 202s === PAUSE TestGetPolicies/Computer_only_policy,_user_object,_policy_is_empty 202s === RUN TestGetPolicies/Assets_can’t_be_downloaded_without_GPO 202s === PAUSE TestGetPolicies/Assets_can’t_be_downloaded_without_GPO 202s === RUN TestGetPolicies/Enabled_override_for_matching_release,_other_releases_override_ignored 202s === PAUSE TestGetPolicies/Enabled_override_for_matching_release,_other_releases_override_ignored 202s === RUN TestGetPolicies/Two_policies,_with_reversed_overrides 202s === PAUSE TestGetPolicies/Two_policies,_with_reversed_overrides 202s === RUN TestGetPolicies/Two_policies,_no_overrides,_one_is_not_the_same_object_type,_machine_ones_are_empty_when_parsing_user 202s === PAUSE TestGetPolicies/Two_policies,_no_overrides,_one_is_not_the_same_object_type,_machine_ones_are_empty_when_parsing_user 202s === RUN TestGetPolicies/Policy_user_directory_is_uppercase 202s === PAUSE TestGetPolicies/Policy_user_directory_is_uppercase 202s === RUN TestGetPolicies/Computer_policy_Registry.pol_is_mixed_case 202s === PAUSE TestGetPolicies/Computer_policy_Registry.pol_is_mixed_case 202s === RUN TestGetPolicies/Error_on_backend_IsOnline_call_failed 202s === PAUSE TestGetPolicies/Error_on_backend_IsOnline_call_failed 202s === RUN TestGetPolicies/Disabled_value_is_overridden 202s === PAUSE TestGetPolicies/Disabled_value_is_overridden 202s === RUN TestGetPolicies/Include_non_Ubuntu_keys_used_to_configure_certificate_autoenrollment 202s === PAUSE TestGetPolicies/Include_non_Ubuntu_keys_used_to_configure_certificate_autoenrollment 202s === RUN TestGetPolicies/Ignore_errors_on_non_Ubuntu_keys 202s === PAUSE TestGetPolicies/Ignore_errors_on_non_Ubuntu_keys 202s === RUN TestGetPolicies/User_policy_Registry.pol_is_lower_case 202s === PAUSE TestGetPolicies/User_policy_Registry.pol_is_lower_case 202s === RUN TestGetPolicies/Error_on_backend_ServerFQDN_call_failed 202s === PAUSE TestGetPolicies/Error_on_backend_ServerFQDN_call_failed 202s === RUN TestGetPolicies/Error_on_user_without_@_in_name 202s === PAUSE TestGetPolicies/Error_on_user_without_@_in_name 202s === RUN TestGetPolicies/Unsupported_type_for_unfiltered_entry 202s === PAUSE TestGetPolicies/Unsupported_type_for_unfiltered_entry 202s === RUN TestGetPolicies/Two_policies,_no_overrides,_reversed 202s === PAUSE TestGetPolicies/Two_policies,_no_overrides,_reversed 202s === RUN TestGetPolicies/Policy_machine_directory_is_uppercase 202s === PAUSE TestGetPolicies/Policy_machine_directory_is_uppercase 202s === RUN TestGetPolicies/User_policy_Registry.pol_is_mixed_case 202s === PAUSE TestGetPolicies/User_policy_Registry.pol_is_mixed_case 202s === RUN TestGetPolicies/Unexisting_CC_original_file_for_machine 202s === PAUSE TestGetPolicies/Unexisting_CC_original_file_for_machine 202s === RUN TestGetPolicies/Standard_policy_with_assets,_downloads_assets 202s === PAUSE TestGetPolicies/Standard_policy_with_assets,_downloads_assets 202s === RUN TestGetPolicies/Local_assets_and_its_db_are_removed_if_not_present_anymore_on_AD_sysvol 202s === PAUSE TestGetPolicies/Local_assets_and_its_db_are_removed_if_not_present_anymore_on_AD_sysvol 202s === RUN TestGetPolicies/Enabled_override 202s === PAUSE TestGetPolicies/Enabled_override 202s === RUN TestGetPolicies/Disabled_value_overrides_non_disabled_one 202s === PAUSE TestGetPolicies/Disabled_value_overrides_non_disabled_one 202s === RUN TestGetPolicies/Filter_non_Ubuntu_keys 202s === PAUSE TestGetPolicies/Filter_non_Ubuntu_keys 202s === RUN TestGetPolicies/Policy_user_directory_is_not_capitalized_or_uppercase,_no_rules_are_parsed 202s === PAUSE TestGetPolicies/Policy_user_directory_is_not_capitalized_or_uppercase,_no_rules_are_parsed 202s === RUN TestGetPolicies/Computer_policy_Registry.pol_is_lower_case 202s === PAUSE TestGetPolicies/Computer_policy_Registry.pol_is_lower_case 202s === RUN TestGetPolicies/Corrupted_policy_file 202s === PAUSE TestGetPolicies/Corrupted_policy_file 202s === RUN TestGetPolicies/Standard_policy,_computer_object 202s === PAUSE TestGetPolicies/Standard_policy,_computer_object 202s === RUN TestGetPolicies/Same_key_in_different_domains_are_kept_separated 202s === PAUSE TestGetPolicies/Same_key_in_different_domains_are_kept_separated 202s === RUN TestGetPolicies/Two_policies,_no_overrides 202s === PAUSE TestGetPolicies/Two_policies,_no_overrides 202s === RUN TestGetPolicies/More_policies,_with_multiple_overrides 202s === PAUSE TestGetPolicies/More_policies,_with_multiple_overrides 202s === RUN TestGetPolicies/Policy_can’t_be_downloaded 202s === PAUSE TestGetPolicies/Policy_can’t_be_downloaded 202s === RUN TestGetPolicies/Empty_value_for_unfiltered_entry 202s === PAUSE TestGetPolicies/Empty_value_for_unfiltered_entry 202s === RUN TestGetPolicies/User_only_policy,_computer_object,_policy_is_empty 202s === PAUSE TestGetPolicies/User_only_policy,_computer_object,_policy_is_empty 202s === RUN TestGetPolicies/Assets_directory_being_a_file_cleanup_local_existing_assets_and_its_db 202s === PAUSE TestGetPolicies/Assets_directory_being_a_file_cleanup_local_existing_assets_and_its_db 202s === RUN TestGetPolicies/Disable_override_for_matching_release,_other_releases_override_ignored 202s === PAUSE TestGetPolicies/Disable_override_for_matching_release,_other_releases_override_ignored 202s === RUN TestGetPolicies/Two_policies,_with_overrides 202s === PAUSE TestGetPolicies/Two_policies,_with_overrides 202s === RUN TestGetPolicies/Unexisting_CC_original_file_for_user 202s === PAUSE TestGetPolicies/Unexisting_CC_original_file_for_user 202s === RUN TestGetPolicies/Symlinks_can’t_be_created 202s === PAUSE TestGetPolicies/Symlinks_can’t_be_created 202s === RUN TestGetPolicies/Disabled_override 202s === PAUSE TestGetPolicies/Disabled_override 202s === RUN TestGetPolicies/Multiple_domains,_same_GPO 202s === PAUSE TestGetPolicies/Multiple_domains,_same_GPO 202s === RUN TestGetPolicies/Policy_machine_directory_is_not_capitalized_or_uppercase,_no_rules_are_parsed 202s === PAUSE TestGetPolicies/Policy_machine_directory_is_not_capitalized_or_uppercase,_no_rules_are_parsed 202s === RUN TestGetPolicies/Machine_doesn’t_match 202s === PAUSE TestGetPolicies/Machine_doesn’t_match 202s === RUN TestGetPolicies/Without_previous_call,_needs_userKrb5CCBaseName 202s === PAUSE TestGetPolicies/Without_previous_call,_needs_userKrb5CCBaseName 202s === RUN TestGetPolicies/Standard_policy,_user_object 202s === PAUSE TestGetPolicies/Standard_policy,_user_object 202s === RUN TestGetPolicies/User_only_policy,_user_object 202s === PAUSE TestGetPolicies/User_only_policy,_user_object 202s === RUN TestGetPolicies/Standard_policy_with_assets,_existing_assets_are_reattached_if_not_refreshed 202s === PAUSE TestGetPolicies/Standard_policy_with_assets,_existing_assets_are_reattached_if_not_refreshed 202s === RUN TestGetPolicies/No_override_for_this_release,_takes_default_value 202s === PAUSE TestGetPolicies/No_override_for_this_release,_takes_default_value 202s === RUN TestGetPolicies/Error_on_backend_HostKrb5CCName_call_failed 202s === PAUSE TestGetPolicies/Error_on_backend_HostKrb5CCName_call_failed 202s === CONT TestNew 202s === RUN TestNew/error_on_backend_ServerFQDN_random_failure 202s === PAUSE TestNew/error_on_backend_ServerFQDN_random_failure 202s === RUN TestNew/create_KRB5_and_Sysvol_cache_directory 202s === PAUSE TestNew/create_KRB5_and_Sysvol_cache_directory 202s === RUN TestNew/failed_to_create_KRB5_cache_directory 202s === PAUSE TestNew/failed_to_create_KRB5_cache_directory 202s === RUN TestNew/failed_to_create_Sysvol_cache_directory 202s === PAUSE TestNew/failed_to_create_Sysvol_cache_directory 202s === RUN TestNew/failed_to_create_Policies_cache_directory 202s === PAUSE TestNew/failed_to_create_Policies_cache_directory 202s === RUN TestNew/no_active_server_in_backend_does_not_fail_ad_creation 202s === PAUSE TestNew/no_active_server_in_backend_does_not_fail_ad_creation 202s === CONT TestFetchTweakSysvolCacheDir 202s === RUN TestFetchTweakSysvolCacheDir/SysvolCacheDir_doesn't_exist 202s === PAUSE TestFetchTweakSysvolCacheDir/SysvolCacheDir_doesn't_exist 202s === RUN TestFetchTweakSysvolCacheDir/SysvolCacheDir_is_read_only 202s === PAUSE TestFetchTweakSysvolCacheDir/SysvolCacheDir_is_read_only 202s === CONT TestFetchOneGPOWhileParsingItConcurrently 202s time="2025-10-18T15:33:31Z" level=info msg="Downloading \"standard-name\"" 202s time="2025-10-18T15:33:31Z" level=info msg="Downloading \"standard-name\"" 202s --- PASS: TestFetchOneGPOWhileParsingItConcurrently (0.07s) 202s === CONT TestFetchWithUnreadableFile 202s === RUN TestFetchWithUnreadableFile/without_gpo_initially_don’t_commit_new_partial_GPO 202s === PAUSE TestFetchWithUnreadableFile/without_gpo_initially_don’t_commit_new_partial_GPO 202s === RUN TestFetchWithUnreadableFile/existing_gpo_is_preserved 202s === PAUSE TestFetchWithUnreadableFile/existing_gpo_is_preserved 202s === CONT TestGetPoliciesOffline/Offline,_with_assets 202s --- PASS: TestParseGPOConcurrent (0.36s) 202s === CONT TestGetPolicyDefinitions/ADMX_and_ADML_does_not_exist_for_this_distro 202s === CONT TestGetPoliciesOffline/Offline,_ensure_we_fetch_from_cache_and_not_fetch_GPO_list 202s time="2025-10-18T15:33:31Z" level=info msg="Downloading \"standard-name\"" 202s time="2025-10-18T15:33:31Z" level=info msg="Downloading \"assets\"" 202s time="2025-10-18T15:33:31Z" level=info msg="Can't reach AD: machine is offline and \"useroffline@ASSETSANDGPO.COM\" policies are applied using previous online update" 202s === CONT TestGetPoliciesOffline/Error_offline_with_no_cache 202s === CONT TestGetPoliciesOffline/Offline,_get_from_cache,_with_assets 202s time="2025-10-18T15:33:32Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s time="2025-10-18T15:33:32Z" level=info msg="Downloading \"assets\"" 202s time="2025-10-18T15:33:32Z" level=info msg="Downloading \"standard-name\"" 202s time="2025-10-18T15:33:32Z" level=info msg="Downloading \"standard-name\"" 202s time="2025-10-18T15:33:32Z" level=info msg="Can't reach AD: machine is offline and \"useroffline@GPOONLY.COM\" policies are applied using previous online update" 202s === CONT TestGetPoliciesOffline/Offline,_get_from_cache,_gpo_only 202s time="2025-10-18T15:33:32Z" level=info msg="Can't reach AD: machine is offline and \"useroffline@ASSETSANDGPO.COM\" policies are applied using previous online update" 202s === CONT TestGetPoliciesOffline/Error_on_SSSD_reports_online,_but_we_are_actually_offline_when_fetching_gpo_list,_even_with_a_cache 202s time="2025-10-18T15:33:32Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s time="2025-10-18T15:33:32Z" level=info msg="Downloading \"standard-name\"" 202s time="2025-10-18T15:33:32Z" level=info msg="Downloading \"standard-name\"" 202s time="2025-10-18T15:33:32Z" level=info msg="Downloading \"assets\"" 202s time="2025-10-18T15:33:32Z" level=info msg="Can't reach AD: machine is offline and \"useroffline@GPOONLY.COM\" policies are applied using previous online update" 202s === CONT TestNormalizeTargetName/Computer_with_@_is_left_as_such 202s === CONT TestGetPolicyDefinitions/ADMX_and_ADML_does_not_exist_for_this_format 202s === CONT TestGetPolicyDefinitions/Load_ADMX_and_ADML 202s --- PASS: TestGetPolicyDefinitions (0.00s) 202s --- PASS: TestGetPolicyDefinitions/ADMX_and_ADML_does_not_exist_for_this_distro (0.00s) 202s --- PASS: TestGetPolicyDefinitions/ADMX_and_ADML_does_not_exist_for_this_format (0.00s) 202s --- PASS: TestGetPolicyDefinitions/Load_ADMX_and_ADML (0.00s) 202s === CONT TestGetInfo/Report_unknown_state_if_IsOnline_calls_fail 202s time="2025-10-18T15:33:32Z" level=warning msg="IsOnline returned an error" 202s === CONT TestNormalizeTargetName/Computer_in_uppercase_is_left_as_such 202s === CONT TestNormalizeTargetName/One_valid_user_with_domain\user 202s === CONT TestNormalizeTargetName/Computer_name_without_objectClass 202s === CONT TestNormalizeTargetName/User_name_fqdn_matching_computer 202s === CONT TestNormalizeTargetName/Error_on_multiple_\_in_name 202s === CONT TestNormalizeTargetName/Computer_is_left_as_such 202s === CONT TestNormalizeTargetName/One_user_without_explicit_domain_suffix 202s === CONT TestNormalizeTargetName/One_valid_user_with_mixed_case 202s === CONT TestNormalizeTargetName/One_valid_user 202s === CONT TestNormalizeTargetName/User_name_matching_computer,_setting_as_user 202s === CONT TestNormalizeTargetName/Error_on_no_default_domain_suffix_and_no_fqdn_user 202s === CONT TestListUsers/Error_on_Krb5_directory_not_existing 202s --- PASS: TestNormalizeTargetName (0.00s) 202s --- PASS: TestNormalizeTargetName/Computer_with_@_is_left_as_such (0.00s) 202s --- PASS: TestNormalizeTargetName/Computer_in_uppercase_is_left_as_such (0.00s) 202s --- PASS: TestNormalizeTargetName/One_valid_user_with_domain\user (0.00s) 202s --- PASS: TestNormalizeTargetName/Computer_name_without_objectClass (0.00s) 202s --- PASS: TestNormalizeTargetName/User_name_fqdn_matching_computer (0.00s) 202s --- PASS: TestNormalizeTargetName/Error_on_multiple_\_in_name (0.00s) 202s --- PASS: TestNormalizeTargetName/One_user_without_explicit_domain_suffix (0.00s) 202s --- PASS: TestNormalizeTargetName/One_valid_user_with_mixed_case (0.00s) 202s --- PASS: TestNormalizeTargetName/One_valid_user (0.00s) 202s --- PASS: TestNormalizeTargetName/User_name_matching_computer,_setting_as_user (0.00s) 202s --- PASS: TestNormalizeTargetName/Error_on_no_default_domain_suffix_and_no_fqdn_user (0.00s) 202s --- PASS: TestNormalizeTargetName/Computer_is_left_as_such (0.00s) 202s === CONT TestGetInfo/Info_reported_from_backend,_offline 202s === CONT TestGetInfo/Info_reported_from_backend,_online 202s === CONT TestGetInfo/Report_unknown_state_if_ServerFQDN_calls_fail 202s --- PASS: TestGetInfo (0.00s) 202s --- PASS: TestGetInfo/Report_unknown_state_if_IsOnline_calls_fail (0.01s) 202s --- PASS: TestGetInfo/Info_reported_from_backend,_offline (0.00s) 202s --- PASS: TestGetInfo/Info_reported_from_backend,_online (0.00s) 202s --- PASS: TestGetInfo/Report_unknown_state_if_ServerFQDN_calls_fail (0.00s) 202s === CONT TestGetPoliciesConcurrently/Same_user,_same_GPO 202s --- PASS: TestGetPoliciesOffline (0.00s) 202s --- PASS: TestGetPoliciesOffline/Offline,_with_assets (0.34s) 202s --- PASS: TestGetPoliciesOffline/Error_offline_with_no_cache (0.00s) 202s --- PASS: TestGetPoliciesOffline/Offline,_ensure_we_fetch_from_cache_and_not_fetch_GPO_list (0.15s) 202s --- PASS: TestGetPoliciesOffline/Offline,_get_from_cache,_with_assets (0.11s) 202s --- PASS: TestGetPoliciesOffline/Offline,_get_from_cache,_gpo_only (0.14s) 202s --- PASS: TestGetPoliciesOffline/Error_on_SSSD_reports_online,_but_we_are_actually_offline_when_fetching_gpo_list,_even_with_a_cache (0.21s) 202s === CONT TestListUsers/Machine_Only,_from_policy_cache 202s === CONT TestListUsers/Machines_are_ignored,_from_policy_cache 202s === CONT TestListUsers/None,_from_policy_cache 202s === CONT TestListUsers/Two_users,_from_policy_cache 202s === CONT TestListUsers/One_user,_from_policy_cache 202s === CONT TestListUsers/Machine_Only 202s === CONT TestListUsers/One_user 202s === CONT TestListUsers/Error_on_policy_cache_directory_not_existing 202s === CONT TestListUsers/Ticket_cache_ignored_if_policy_cache_is_requested 202s === CONT TestListUsers/Machines_are_ignored 202s === CONT TestListUsers/None 202s === CONT TestListUsers/Two_users,_dangling_symlink_for_one 202s === CONT TestListUsers/Two_users 202s === CONT TestGetPoliciesWorkflows/Second_call_is_a_refresh_(without_Krb5CCName_specified) 202s --- PASS: TestListUsers (0.00s) 202s --- PASS: TestListUsers/Error_on_Krb5_directory_not_existing (0.00s) 202s --- PASS: TestListUsers/Machine_Only,_from_policy_cache (0.00s) 202s --- PASS: TestListUsers/Machines_are_ignored,_from_policy_cache (0.00s) 202s --- PASS: TestListUsers/None,_from_policy_cache (0.00s) 202s --- PASS: TestListUsers/Two_users,_from_policy_cache (0.00s) 202s --- PASS: TestListUsers/One_user,_from_policy_cache (0.00s) 202s --- PASS: TestListUsers/Machine_Only (0.00s) 202s --- PASS: TestListUsers/One_user (0.00s) 202s --- PASS: TestListUsers/Error_on_policy_cache_directory_not_existing (0.00s) 202s --- PASS: TestListUsers/Ticket_cache_ignored_if_policy_cache_is_requested (0.00s) 202s --- PASS: TestListUsers/Machines_are_ignored (0.01s) 202s --- PASS: TestListUsers/None (0.00s) 202s --- PASS: TestListUsers/Two_users (0.00s) 202s --- PASS: TestListUsers/Two_users,_dangling_symlink_for_one (0.01s) 202s time="2025-10-18T15:33:32Z" level=info msg="Downloading \"standard-name\"" 202s time="2025-10-18T15:33:32Z" level=info msg="Downloading \"assets\"" 202s time="2025-10-18T15:33:32Z" level=info msg="Assets directory is already up to date" 202s time="2025-10-18T15:33:32Z" level=info msg="Downloading \"assets\"" 202s time="2025-10-18T15:33:32Z" level=info msg="Downloading \"standard-name\"" 202s time="2025-10-18T15:33:32Z" level=info msg="GPO \"standard-name\" is already up to date" 202s === CONT TestGetPoliciesConcurrently/Machine_requested_twice_at_the_same_time 202s time="2025-10-18T15:33:32Z" level=info msg="Assets directory is already up to date" 202s time="2025-10-18T15:33:32Z" level=info msg="Downloading \"assets\"" 202s time="2025-10-18T15:33:32Z" level=info msg="GPO \"standard-name\" is already up to date" 202s time="2025-10-18T15:33:32Z" level=info msg="Downloading \"standard-name\"" 202s === CONT TestGetPoliciesConcurrently/One_machine,_one_user 202s time="2025-10-18T15:33:32Z" level=info msg="Assets directory is already up to date" 202s time="2025-10-18T15:33:32Z" level=info msg="Downloading \"standard-name\"" 202s time="2025-10-18T15:33:32Z" level=info msg="GPO \"standard-name\" is already up to date" 202s time="2025-10-18T15:33:32Z" level=info msg="Downloading \"assets\"" 202s === CONT TestGetPoliciesConcurrently/Different_users,_different_GPO 202s time="2025-10-18T15:33:32Z" level=info msg="Assets directory is already up to date" 202s time="2025-10-18T15:33:32Z" level=info msg="Downloading \"assets\"" 202s time="2025-10-18T15:33:32Z" level=info msg="GPO \"standard-name\" is already up to date" 202s time="2025-10-18T15:33:32Z" level=info msg="Downloading \"standard-name\"" 202s === CONT TestGetPoliciesConcurrently/Different_users,_same_GPO 202s time="2025-10-18T15:33:32Z" level=info msg="Downloading \"one-value-name\"" 202s time="2025-10-18T15:33:32Z" level=info msg="Downloading \"assets\"" 202s time="2025-10-18T15:33:32Z" level=info msg="Assets directory is already up to date" 202s time="2025-10-18T15:33:32Z" level=info msg="Downloading \"standard-name\"" 202s === CONT TestFetch/gpo_is_refreshed 202s time="2025-10-18T15:33:32Z" level=info msg="Assets directory is already up to date" 202s time="2025-10-18T15:33:32Z" level=info msg="GPO \"standard-name\" is already up to date" 202s --- PASS: TestGetPoliciesConcurrently (0.00s) 202s --- PASS: TestGetPoliciesConcurrently/Same_user,_same_GPO (0.18s) 202s --- PASS: TestGetPoliciesConcurrently/Machine_requested_twice_at_the_same_time (0.23s) 202s --- PASS: TestGetPoliciesConcurrently/One_machine,_one_user (0.23s) 202s --- PASS: TestGetPoliciesConcurrently/Different_users,_different_GPO (0.25s) 202s --- PASS: TestGetPoliciesConcurrently/Different_users,_same_GPO (0.14s) 202s === CONT TestGetPolicies/Computer_only_policy,_user_object,_policy_is_empty 202s time="2025-10-18T15:33:32Z" level=info msg="Downloading \"gpo1-name\"" 202s === CONT TestFetch/two_new_gpos 202s time="2025-10-18T15:33:32Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s time="2025-10-18T15:33:32Z" level=info msg="Downloading \"gpo2-name\"" 202s time="2025-10-18T15:33:32Z" level=info msg="Downloading \"machine-only-name\"" 202s time="2025-10-18T15:33:32Z" level=info msg="Downloading \"gpo1-name\"" 202s === CONT TestFetch/one_new_gpo 202s time="2025-10-18T15:33:33Z" level=info msg="Downloading \"gpo1-name\"" 202s === CONT TestFetch/Error_keeps_downloading_other_GPOS 202s === CONT TestFetch/Error_missing_remote_GPT.INI 202s === CONT TestFetch/remote_version_entry_missing_treated_as_0 202s time="2025-10-18T15:33:33Z" level=info msg="No version key found in GPT.INI for gpt_ini_version_missing-name, assuming 0" 202s time="2025-10-18T15:33:33Z" level=info msg="GPO \"gpt_ini_version_missing-name\" is already up to date" 202s === CONT TestFetch/assets_are_not_updated_if_version_matches 202s time="2025-10-18T15:33:33Z" level=info msg="Downloading \"gpo2-name\"" 202s time="2025-10-18T15:33:33Z" level=info msg="Assets directory is already up to date" 202s === CONT TestFetch/assets_only_are_downloaded 202s time="2025-10-18T15:33:33Z" level=info msg="Downloading \"assets\"" 202s === CONT TestFetch/Local_gpo_redownloaded_on_missing_GPT.INI 202s time="2025-10-18T15:33:33Z" level=info msg="Downloading \"gpo1-name\"" 202s === CONT TestFetch/two_gpos,_one_more_recent,_one_should_be_refreshed 202s time="2025-10-18T15:33:33Z" level=info msg="GPO \"gpo2-name\" is already up to date" 202s time="2025-10-18T15:33:33Z" level=info msg="Downloading \"gpo1-name\"" 202s === CONT TestFetch/two_gpos,_one_already_up_to_date,_one_should_be_refreshed 202s === CONT TestFetch/assets_are_not_updated_if_local_version_matches,_with_non-standard_GPT.INI_casing 202s time="2025-10-18T15:33:33Z" level=info msg="GPO \"gpo2-name\" is already up to date" 202s time="2025-10-18T15:33:33Z" level=info msg="Downloading \"gpo1-name\"" 202s time="2025-10-18T15:33:33Z" level=info msg="Assets directory is already up to date" 202s === CONT TestFetch/keep_existing_gpos_intact 202s time="2025-10-18T15:33:33Z" level=info msg="GPO \"gpo1-name\" is already up to date" 202s === CONT TestFetch/two_gpos,_one_more_recent,_one_new 202s time="2025-10-18T15:33:33Z" level=info msg="GPO \"gpo2-name\" is already up to date" 202s time="2025-10-18T15:33:33Z" level=info msg="Downloading \"gpo1-name\"" 202s === CONT TestFetch/two_gpos,_one_should_be_refreshed,_one_new 202s time="2025-10-18T15:33:33Z" level=info msg="Downloading \"gpo1-name\"" 202s time="2025-10-18T15:33:33Z" level=info msg="Downloading \"gpo2-name\"" 202s === CONT TestFetch/Error_remote_version_NaN 202s === CONT TestFetch/Error_unexistant_remote_gpo 202s === CONT TestFetch/existing_assets_are_removed_if_not_present_on_SYSVOL 202s === CONT TestFetch/existing_assets_are_kept_if_no_assets_downloadable_provided 202s time="2025-10-18T15:33:33Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s === CONT TestFetch/assets_are_updated_to_latest_version 202s === CONT TestFetch/two_gpos,_one_more_recent,_one_up_to_date 202s time="2025-10-18T15:33:33Z" level=info msg="GPO \"gpo1-name\" is already up to date" 202s time="2025-10-18T15:33:33Z" level=info msg="GPO \"gpo2-name\" is already up to date" 202s time="2025-10-18T15:33:33Z" level=info msg="Downloading \"assets\"" 202s === CONT TestFetch/assets_root_directory_not_present_on_SYSVOL_issues_a_warning_only 202s time="2025-10-18T15:33:33Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s === CONT TestFetch/concurrent_different_gpos 202s time="2025-10-18T15:33:33Z" level=info msg="Downloading \"gpo2-name\"" 202s === CONT TestFetch/gpo_already_up_to_date 202s time="2025-10-18T15:33:33Z" level=info msg="GPO \"gpo1-name\" is already up to date" 202s === CONT TestFetch/assets_is_a_file_is_not_downloaded 202s time="2025-10-18T15:33:33Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s === CONT TestFetch/concurrent_same_gpos 202s time="2025-10-18T15:33:33Z" level=info msg="Downloading \"gpo1-name\"" 202s time="2025-10-18T15:33:33Z" level=info msg="Downloading \"gpo1-name\"" 202s time="2025-10-18T15:33:33Z" level=info msg="GPO \"gpo1-name\" is already up to date" 202s === CONT TestFetch/gpos_and_assets 202s === CONT TestFetch/Local_gpo_redownloaded_on_version_entry_missing_in_GPT.INI 202s time="2025-10-18T15:33:33Z" level=info msg="No version key found in GPT.INI for gpo1-name, assuming 0" 202s time="2025-10-18T15:33:33Z" level=info msg="Downloading \"gpo1-name\"" 202s time="2025-10-18T15:33:33Z" level=info msg="Downloading \"assets\"" 202s time="2025-10-18T15:33:33Z" level=info msg="Downloading \"gpo1-name\"" 202s === CONT TestFetch/two_gpos,_one_already_up_to_date,_one_new 202s time="2025-10-18T15:33:33Z" level=info msg="Downloading \"gpo2-name\"" 202s time="2025-10-18T15:33:33Z" level=info msg="GPO \"gpo1-name\" is already up to date" 202s === CONT TestFetch/assets_are_not_updated_if_remote_version_matches,_with_non-standard_GPT.INI_casing 202s time="2025-10-18T15:33:33Z" level=info msg="Assets directory is already up to date" 202s === CONT TestFetch/Local_gpo_redownloaded_on_NaN_version_in_GPT.INI 202s time="2025-10-18T15:33:33Z" level=warning msg="Invalid local GPT.INI for gpo1-name: invalid remote GPT.INI: strconv.ParseInt: parsing \"NaN\": invalid syntax\nDownloading it again…" 202s === CONT TestFetch/local_gpo_is_more_recent_than_AD_one 202s time="2025-10-18T15:33:33Z" level=info msg="Downloading \"gpo1-name\"" 202s time="2025-10-18T15:33:33Z" level=info msg="GPO \"gpo2-name\" is already up to date" 202s === CONT TestNew/error_on_backend_ServerFQDN_random_failure 202s === CONT TestGetPolicies/Error_on_backend_HostKrb5CCName_call_failed 202s === CONT TestGetPolicies/No_override_for_this_release,_takes_default_value 202s --- PASS: TestFetch (0.00s) 202s --- PASS: TestFetch/gpo_is_refreshed (0.03s) 202s --- PASS: TestFetch/one_new_gpo (0.04s) 202s --- PASS: TestFetch/two_new_gpos (0.11s) 202s --- PASS: TestFetch/Error_missing_remote_GPT.INI (0.01s) 202s --- PASS: TestFetch/remote_version_entry_missing_treated_as_0 (0.01s) 202s --- PASS: TestFetch/assets_are_not_updated_if_version_matches (0.02s) 202s --- PASS: TestFetch/Error_keeps_downloading_other_GPOS (0.07s) 202s --- PASS: TestFetch/assets_only_are_downloaded (0.04s) 202s --- PASS: TestFetch/Local_gpo_redownloaded_on_missing_GPT.INI (0.07s) 202s --- PASS: TestFetch/two_gpos,_one_more_recent,_one_should_be_refreshed (0.06s) 202s --- PASS: TestFetch/assets_are_not_updated_if_local_version_matches,_with_non-standard_GPT.INI_casing (0.03s) 202s --- PASS: TestFetch/keep_existing_gpos_intact (0.03s) 202s --- PASS: TestFetch/two_gpos,_one_already_up_to_date,_one_should_be_refreshed (0.09s) 202s --- PASS: TestFetch/two_gpos,_one_more_recent,_one_new (0.10s) 202s --- PASS: TestFetch/two_gpos,_one_should_be_refreshed,_one_new (0.07s) 202s --- PASS: TestFetch/Error_unexistant_remote_gpo (0.01s) 202s --- PASS: TestFetch/Error_remote_version_NaN (0.03s) 202s --- PASS: TestFetch/existing_assets_are_removed_if_not_present_on_SYSVOL (0.03s) 202s --- PASS: TestFetch/existing_assets_are_kept_if_no_assets_downloadable_provided (0.01s) 202s --- PASS: TestFetch/two_gpos,_one_more_recent,_one_up_to_date (0.03s) 202s --- PASS: TestFetch/assets_root_directory_not_present_on_SYSVOL_issues_a_warning_only (0.01s) 202s --- PASS: TestFetch/assets_are_updated_to_latest_version (0.06s) 202s --- PASS: TestFetch/gpo_already_up_to_date (0.02s) 202s --- PASS: TestFetch/assets_is_a_file_is_not_downloaded (0.02s) 202s --- PASS: TestFetch/concurrent_same_gpos (0.10s) 202s --- PASS: TestFetch/concurrent_different_gpos (0.15s) 202s --- PASS: TestFetch/Local_gpo_redownloaded_on_version_entry_missing_in_GPT.INI (0.06s) 202s --- PASS: TestFetch/gpos_and_assets (0.09s) 202s --- PASS: TestFetch/assets_are_not_updated_if_remote_version_matches,_with_non-standard_GPT.INI_casing (0.01s) 202s --- PASS: TestFetch/two_gpos,_one_already_up_to_date,_one_new (0.05s) 202s --- PASS: TestFetch/local_gpo_is_more_recent_than_AD_one (0.02s) 202s --- PASS: TestFetch/Local_gpo_redownloaded_on_NaN_version_in_GPT.INI (0.04s) 202s === CONT TestGetPolicies/Standard_policy_with_assets,_existing_assets_are_reattached_if_not_refreshed 202s time="2025-10-18T15:33:33Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s time="2025-10-18T15:33:33Z" level=info msg="Downloading \"standard-name\"" 202s time="2025-10-18T15:33:33Z" level=info msg="Assets directory is already up to date" 202s time="2025-10-18T15:33:33Z" level=info msg="Downloading \"multiple-releases-name\"" 202s === CONT TestGetPolicies/User_only_policy,_user_object 202s === CONT TestGetPolicies/Standard_policy,_user_object 202s time="2025-10-18T15:33:33Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s time="2025-10-18T15:33:33Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s time="2025-10-18T15:33:33Z" level=info msg="Downloading \"standard-name\"" 202s time="2025-10-18T15:33:33Z" level=info msg="Downloading \"user-only-name\"" 202s === CONT TestGetPolicies/Without_previous_call,_needs_userKrb5CCBaseName 202s === CONT TestGetPolicies/Machine_doesn’t_match 202s === CONT TestGetPolicies/Policy_machine_directory_is_not_capitalized_or_uppercase,_no_rules_are_parsed 202s === CONT TestGetPolicies/Multiple_domains,_same_GPO 202s time="2025-10-18T15:33:34Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s time="2025-10-18T15:33:34Z" level=info msg="Downloading \"lowercase-class-name\"" 202s time="2025-10-18T15:33:34Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s time="2025-10-18T15:33:34Z" level=info msg="Downloading \"multiple-domains-name\"" 202s === CONT TestGetPolicies/Disabled_override 202s === CONT TestGetPolicies/Symlinks_can’t_be_created 202s === CONT TestGetPolicies/Unexisting_CC_original_file_for_user 202s === CONT TestGetPolicies/Two_policies,_with_overrides 202s time="2025-10-18T15:33:34Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s time="2025-10-18T15:33:34Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s time="2025-10-18T15:33:34Z" level=info msg="Downloading \"one-value-name\"" 202s time="2025-10-18T15:33:34Z" level=info msg="Downloading \"multiple-releases-one-disabled-name\"" 202s time="2025-10-18T15:33:34Z" level=info msg="Downloading \"standard-name\"" 202s === CONT TestGetPolicies/Disable_override_for_matching_release,_other_releases_override_ignored 202s === CONT TestGetPolicies/Assets_directory_being_a_file_cleanup_local_existing_assets_and_its_db 202s time="2025-10-18T15:33:34Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s time="2025-10-18T15:33:34Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s time="2025-10-18T15:33:34Z" level=info msg="Downloading \"standard-name\"" 202s time="2025-10-18T15:33:34Z" level=info msg="Downloading \"multiple-releases-name\"" 202s === CONT TestGetPolicies/User_only_policy,_computer_object,_policy_is_empty 202s === CONT TestGetPolicies/Empty_value_for_unfiltered_entry 202s time="2025-10-18T15:33:34Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s time="2025-10-18T15:33:34Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s time="2025-10-18T15:33:34Z" level=info msg="Downloading \"empty-value-name\"" 202s time="2025-10-18T15:33:34Z" level=info msg="Downloading \"user-only-name\"" 202s === CONT TestGetPolicies/Policy_can’t_be_downloaded 202s === CONT TestGetPolicies/More_policies,_with_multiple_overrides 202s time="2025-10-18T15:33:34Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s time="2025-10-18T15:33:34Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s === CONT TestGetPolicies/Two_policies,_no_overrides 202s time="2025-10-18T15:33:34Z" level=info msg="Downloading \"standard-name\"" 202s time="2025-10-18T15:33:34Z" level=info msg="Downloading \"one-value-name\"" 202s time="2025-10-18T15:33:34Z" level=info msg="Downloading \"user-only-name\"" 202s === CONT TestGetPolicies/Same_key_in_different_domains_are_kept_separated 202s time="2025-10-18T15:33:34Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s time="2025-10-18T15:33:34Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s time="2025-10-18T15:33:34Z" level=info msg="Downloading \"one-value-name\"" 202s time="2025-10-18T15:33:34Z" level=info msg="Downloading \"other-domain-name\"" 202s time="2025-10-18T15:33:34Z" level=info msg="Downloading \"one-value-name\"" 202s time="2025-10-18T15:33:34Z" level=info msg="Downloading \"user-only-name\"" 202s === CONT TestGetPolicies/Standard_policy,_computer_object 202s === CONT TestGetPolicies/Corrupted_policy_file 202s time="2025-10-18T15:33:34Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s time="2025-10-18T15:33:34Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s time="2025-10-18T15:33:34Z" level=info msg="Downloading \"corrupted-policy-name\"" 202s time="2025-10-18T15:33:34Z" level=info msg="Downloading \"standard-name\"" 202s === CONT TestGetPolicies/Computer_policy_Registry.pol_is_lower_case 202s === CONT TestGetPolicies/Policy_user_directory_is_not_capitalized_or_uppercase,_no_rules_are_parsed 202s time="2025-10-18T15:33:34Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s time="2025-10-18T15:33:34Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s time="2025-10-18T15:33:34Z" level=info msg="Downloading \"lowercase-class-name\"" 202s time="2025-10-18T15:33:34Z" level=info msg="Downloading \"lowercase-registry-name\"" 202s === CONT TestGetPolicies/Filter_non_Ubuntu_keys 202s === CONT TestGetPolicies/Disabled_value_overrides_non_disabled_one 202s time="2025-10-18T15:33:34Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s time="2025-10-18T15:33:34Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s time="2025-10-18T15:33:34Z" level=info msg="Downloading \"standard-name\"" 202s time="2025-10-18T15:33:34Z" level=info msg="Downloading \"disabled-value-name\"" 202s time="2025-10-18T15:33:34Z" level=info msg="Downloading \"filtered-name\"" 202s === CONT TestGetPolicies/Enabled_override 202s === CONT TestGetPolicies/Local_assets_and_its_db_are_removed_if_not_present_anymore_on_AD_sysvol 202s time="2025-10-18T15:33:35Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s time="2025-10-18T15:33:35Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s time="2025-10-18T15:33:35Z" level=info msg="Downloading \"standard-name\"" 202s time="2025-10-18T15:33:35Z" level=info msg="Downloading \"multiple-releases-one-enabled-name\"" 202s === CONT TestGetPolicies/Standard_policy_with_assets,_downloads_assets 202s === CONT TestGetPolicies/Unexisting_CC_original_file_for_machine 202s === CONT TestGetPolicies/User_policy_Registry.pol_is_mixed_case 202s time="2025-10-18T15:33:35Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s time="2025-10-18T15:33:35Z" level=info msg="Downloading \"standard-name\"" 202s time="2025-10-18T15:33:35Z" level=info msg="Downloading \"mixedcase-registry-name\"" 202s time="2025-10-18T15:33:35Z" level=info msg="Downloading \"assets\"" 202s === CONT TestGetPolicies/Policy_machine_directory_is_uppercase 202s === CONT TestGetPolicies/Two_policies,_no_overrides,_reversed 202s time="2025-10-18T15:33:35Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s time="2025-10-18T15:33:35Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s time="2025-10-18T15:33:35Z" level=info msg="Downloading \"uppercase-class-name\"" 202s time="2025-10-18T15:33:35Z" level=info msg="Downloading \"user-only-name\"" 202s time="2025-10-18T15:33:35Z" level=info msg="Downloading \"one-value-name\"" 202s === CONT TestGetPolicies/Unsupported_type_for_unfiltered_entry 202s === CONT TestGetPolicies/Error_on_user_without_@_in_name 202s === CONT TestGetPolicies/Error_on_backend_ServerFQDN_call_failed 202s === CONT TestGetPolicies/User_policy_Registry.pol_is_lower_case 202s time="2025-10-18T15:33:35Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s time="2025-10-18T15:33:35Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s time="2025-10-18T15:33:35Z" level=info msg="Downloading \"lowercase-registry-name\"" 202s time="2025-10-18T15:33:35Z" level=info msg="Downloading \"bad-entry-type-name\"" 202s === CONT TestGetPolicies/Ignore_errors_on_non_Ubuntu_keys 202s === CONT TestGetPolicies/Include_non_Ubuntu_keys_used_to_configure_certificate_autoenrollment 202s time="2025-10-18T15:33:35Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s time="2025-10-18T15:33:35Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s time="2025-10-18T15:33:35Z" level=info msg="Downloading \"filtered-with-certificate-autoenrollment-name\"" 202s time="2025-10-18T15:33:35Z" level=info msg="Downloading \"unsupported-with-errors-name\"" 202s === CONT TestGetPolicies/Disabled_value_is_overridden 202s === CONT TestGetPolicies/Error_on_backend_IsOnline_call_failed 202s === CONT TestGetPolicies/Computer_policy_Registry.pol_is_mixed_case 202s time="2025-10-18T15:33:35Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s time="2025-10-18T15:33:35Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s time="2025-10-18T15:33:35Z" level=info msg="Downloading \"mixedcase-registry-name\"" 202s time="2025-10-18T15:33:35Z" level=info msg="Downloading \"disabled-value-name\"" 202s time="2025-10-18T15:33:35Z" level=info msg="Downloading \"standard-name\"" 202s === CONT TestGetPolicies/Policy_user_directory_is_uppercase 202s === CONT TestGetPolicies/Two_policies,_no_overrides,_one_is_not_the_same_object_type,_machine_ones_are_empty_when_parsing_user 202s time="2025-10-18T15:33:35Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s time="2025-10-18T15:33:35Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s time="2025-10-18T15:33:35Z" level=info msg="Downloading \"machine-only-name\"" 202s time="2025-10-18T15:33:35Z" level=info msg="Downloading \"uppercase-class-name\"" 202s time="2025-10-18T15:33:35Z" level=info msg="Downloading \"standard-name\"" 202s === CONT TestGetPolicies/Two_policies,_with_reversed_overrides 202s === CONT TestGetPolicies/Enabled_override_for_matching_release,_other_releases_override_ignored 202s time="2025-10-18T15:33:35Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s time="2025-10-18T15:33:35Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 202s time="2025-10-18T15:33:35Z" level=info msg="Downloading \"one-value-name\"" 202s time="2025-10-18T15:33:35Z" level=info msg="Downloading \"multiple-releases-name\"" 202s time="2025-10-18T15:33:35Z" level=info msg="Downloading \"standard-name\"" 202s === CONT TestGetPolicies/Assets_can’t_be_downloaded_without_GPO 202s === CONT TestFetchTweakSysvolCacheDir/SysvolCacheDir_doesn't_exist 202s time="2025-10-18T15:33:36Z" level=info msg="Downloading \"gpo1-name\"" 202s === CONT TestNew/no_active_server_in_backend_does_not_fail_ad_creation 202s === CONT TestNew/failed_to_create_Policies_cache_directory 202s === CONT TestNew/failed_to_create_Sysvol_cache_directory 202s === CONT TestNew/failed_to_create_KRB5_cache_directory 202s === CONT TestNew/create_KRB5_and_Sysvol_cache_directory 202s --- PASS: TestNew (0.00s) 202s --- PASS: TestNew/error_on_backend_ServerFQDN_random_failure (0.00s) 202s --- PASS: TestNew/no_active_server_in_backend_does_not_fail_ad_creation (0.00s) 202s --- PASS: TestNew/failed_to_create_Policies_cache_directory (0.00s) 202s --- PASS: TestNew/failed_to_create_Sysvol_cache_directory (0.00s) 202s --- PASS: TestNew/failed_to_create_KRB5_cache_directory (0.00s) 202s --- PASS: TestNew/create_KRB5_and_Sysvol_cache_directory (0.00s) 202s === CONT TestGetPoliciesWorkflows/Second_machine_call_after_service_restarted 202s --- PASS: TestGetPolicies (0.00s) 202s --- PASS: TestGetPolicies/Computer_only_policy,_user_object,_policy_is_empty (0.08s) 202s --- PASS: TestGetPolicies/Error_on_backend_HostKrb5CCName_call_failed (0.00s) 202s --- PASS: TestGetPolicies/Standard_policy_with_assets,_existing_assets_are_reattached_if_not_refreshed (0.10s) 202s --- PASS: TestGetPolicies/No_override_for_this_release,_takes_default_value (0.12s) 202s --- PASS: TestGetPolicies/User_only_policy,_user_object (0.10s) 202s --- PASS: TestGetPolicies/Without_previous_call,_needs_userKrb5CCBaseName (0.00s) 202s --- PASS: TestGetPolicies/Standard_policy,_user_object (0.10s) 202s --- PASS: TestGetPolicies/Machine_doesn’t_match (0.01s) 202s --- PASS: TestGetPolicies/Policy_machine_directory_is_not_capitalized_or_uppercase,_no_rules_are_parsed (0.10s) 202s --- PASS: TestGetPolicies/Multiple_domains,_same_GPO (0.10s) 202s --- PASS: TestGetPolicies/Symlinks_can’t_be_created (0.00s) 202s --- PASS: TestGetPolicies/Unexisting_CC_original_file_for_user (0.00s) 202s --- PASS: TestGetPolicies/Disabled_override (0.14s) 202s --- PASS: TestGetPolicies/Two_policies,_with_overrides (0.13s) 202s --- PASS: TestGetPolicies/Assets_directory_being_a_file_cleanup_local_existing_assets_and_its_db (0.12s) 202s --- PASS: TestGetPolicies/Disable_override_for_matching_release,_other_releases_override_ignored (0.12s) 202s --- PASS: TestGetPolicies/User_only_policy,_computer_object,_policy_is_empty (0.11s) 202s --- PASS: TestGetPolicies/Empty_value_for_unfiltered_entry (0.10s) 202s --- PASS: TestGetPolicies/Policy_can’t_be_downloaded (0.10s) 202s --- PASS: TestGetPolicies/More_policies,_with_multiple_overrides (0.12s) 202s --- PASS: TestGetPolicies/Same_key_in_different_domains_are_kept_separated (0.12s) 202s --- PASS: TestGetPolicies/Two_policies,_no_overrides (0.14s) 202s --- PASS: TestGetPolicies/Standard_policy,_computer_object (0.14s) 202s --- PASS: TestGetPolicies/Corrupted_policy_file (0.14s) 202s --- PASS: TestGetPolicies/Policy_user_directory_is_not_capitalized_or_uppercase,_no_rules_are_parsed (0.12s) 202s --- PASS: TestGetPolicies/Computer_policy_Registry.pol_is_lower_case (0.13s) 202s --- PASS: TestGetPolicies/Filter_non_Ubuntu_keys (0.10s) 202s --- PASS: TestGetPolicies/Disabled_value_overrides_non_disabled_one (0.10s) 202s --- PASS: TestGetPolicies/Local_assets_and_its_db_are_removed_if_not_present_anymore_on_AD_sysvol (0.11s) 202s --- PASS: TestGetPolicies/Enabled_override (0.12s) 202s --- PASS: TestGetPolicies/Unexisting_CC_original_file_for_machine (0.00s) 202s --- PASS: TestGetPolicies/User_policy_Registry.pol_is_mixed_case (0.13s) 202s --- PASS: TestGetPolicies/Standard_policy_with_assets,_downloads_assets (0.15s) 202s --- PASS: TestGetPolicies/Two_policies,_no_overrides,_reversed (0.09s) 202s --- PASS: TestGetPolicies/Policy_machine_directory_is_uppercase (0.11s) 202s --- PASS: TestGetPolicies/Error_on_user_without_@_in_name (0.00s) 202s --- PASS: TestGetPolicies/Error_on_backend_ServerFQDN_call_failed (0.00s) 202s --- PASS: TestGetPolicies/Unsupported_type_for_unfiltered_entry (0.12s) 202s --- PASS: TestGetPolicies/User_policy_Registry.pol_is_lower_case (0.10s) 202s --- PASS: TestGetPolicies/Include_non_Ubuntu_keys_used_to_configure_certificate_autoenrollment (0.11s) 202s --- PASS: TestGetPolicies/Ignore_errors_on_non_Ubuntu_keys (0.12s) 202s --- PASS: TestGetPolicies/Error_on_backend_IsOnline_call_failed (0.00s) 202s --- PASS: TestGetPolicies/Computer_policy_Registry.pol_is_mixed_case (0.13s) 202s --- PASS: TestGetPolicies/Disabled_value_is_overridden (0.14s) 202s --- PASS: TestGetPolicies/Two_policies,_no_overrides,_one_is_not_the_same_object_type,_machine_ones_are_empty_when_parsing_user (0.15s) 202s --- PASS: TestGetPolicies/Policy_user_directory_is_uppercase (0.15s) 202s --- PASS: TestGetPolicies/Enabled_override_for_matching_release,_other_releases_override_ignored (0.12s) 202s --- PASS: TestGetPolicies/Two_policies,_with_reversed_overrides (0.13s) 202s --- PASS: TestGetPolicies/Assets_can’t_be_downloaded_without_GPO (0.06s) 202s === CONT TestGetPoliciesWorkflows/Second_call_without_Krb5CCName_replaces_previous_symlinks_in_the_original_path 202s time="2025-10-18T15:33:36Z" level=info msg="Downloading \"standard-name\"" 202s time="2025-10-18T15:33:36Z" level=info msg="Downloading \"assets\"" 202s time="2025-10-18T15:33:36Z" level=info msg="Downloading \"assets\"" 202s time="2025-10-18T15:33:36Z" level=info msg="Downloading \"standard-name\"" 202s time="2025-10-18T15:33:36Z" level=info msg="GPO \"standard-name\" is already up to date" 202s time="2025-10-18T15:33:36Z" level=info msg="GPO \"standard-name\" is already up to date" 202s time="2025-10-18T15:33:36Z" level=info msg="Assets directory is already up to date" 202s === CONT TestGetPoliciesWorkflows/Second_call_without_Krb5CCName_refreshes_ticket_copy_if_needed 202s time="2025-10-18T15:33:36Z" level=info msg="Assets directory is already up to date" 202s === CONT TestGetPoliciesWorkflows/Second_call_after_a_relogin 202s time="2025-10-18T15:33:36Z" level=info msg="Downloading \"standard-name\"" 202s time="2025-10-18T15:33:36Z" level=info msg="Downloading \"assets\"" 202s time="2025-10-18T15:33:36Z" level=info msg="Downloading \"standard-name\"" 202s time="2025-10-18T15:33:36Z" level=info msg="Downloading \"assets\"" 202s time="2025-10-18T15:33:36Z" level=info msg="Assets directory is already up to date" 202s time="2025-10-18T15:33:36Z" level=info msg="Assets directory is already up to date" 202s time="2025-10-18T15:33:36Z" level=info msg="GPO \"standard-name\" is already up to date" 202s time="2025-10-18T15:33:36Z" level=info msg="GPO \"standard-name\" is already up to date" 202s === CONT TestGetPoliciesWorkflows/Second_call_with_different_user 202s === CONT TestGetPoliciesWorkflows/Second_call_after_service_restarted 202s time="2025-10-18T15:33:36Z" level=info msg="Downloading \"assets\"" 202s time="2025-10-18T15:33:36Z" level=info msg="Downloading \"assets\"" 202s time="2025-10-18T15:33:36Z" level=info msg="Downloading \"standard-name\"" 202s time="2025-10-18T15:33:36Z" level=info msg="Downloading \"standard-name\"" 202s time="2025-10-18T15:33:36Z" level=info msg="GPO \"standard-name\" is already up to date" 202s time="2025-10-18T15:33:36Z" level=info msg="Assets directory is already up to date" 202s time="2025-10-18T15:33:36Z" level=info msg="GPO \"standard-name\" is already up to date" 202s time="2025-10-18T15:33:36Z" level=info msg="Assets directory is already up to date" 202s === CONT TestGetPoliciesWorkflows/Second_machine_call_after_a_restart 202s === CONT TestGetPoliciesWorkflows/Second_machine_call_is_a_refresh_(without_Krb5CCName_specified) 202s time="2025-10-18T15:33:36Z" level=info msg="Downloading \"standard-name\"" 202s time="2025-10-18T15:33:36Z" level=info msg="Downloading \"standard-name\"" 202s time="2025-10-18T15:33:36Z" level=info msg="Downloading \"assets\"" 202s time="2025-10-18T15:33:36Z" level=info msg="Downloading \"assets\"" 202s time="2025-10-18T15:33:36Z" level=info msg="GPO \"standard-name\" is already up to date" 202s time="2025-10-18T15:33:36Z" level=info msg="GPO \"standard-name\" is already up to date" 202s time="2025-10-18T15:33:36Z" level=info msg="Assets directory is already up to date" 202s time="2025-10-18T15:33:36Z" level=info msg="Assets directory is already up to date" 202s === CONT TestFetchTweakSysvolCacheDir/SysvolCacheDir_is_read_only 202s --- PASS: TestGetPoliciesWorkflows (0.00s) 202s --- PASS: TestGetPoliciesWorkflows/Second_call_is_a_refresh_(without_Krb5CCName_specified) (0.21s) 202s --- PASS: TestGetPoliciesWorkflows/Second_machine_call_after_service_restarted (0.26s) 202s --- PASS: TestGetPoliciesWorkflows/Second_call_without_Krb5CCName_replaces_previous_symlinks_in_the_original_path (0.23s) 202s --- PASS: TestGetPoliciesWorkflows/Second_call_without_Krb5CCName_refreshes_ticket_copy_if_needed (0.22s) 202s --- PASS: TestGetPoliciesWorkflows/Second_call_after_a_relogin (0.22s) 202s --- PASS: TestGetPoliciesWorkflows/Second_call_with_different_user (0.22s) 202s --- PASS: TestGetPoliciesWorkflows/Second_call_after_service_restarted (0.22s) 202s --- PASS: TestGetPoliciesWorkflows/Second_machine_call_is_a_refresh_(without_Krb5CCName_specified) (0.19s) 202s --- PASS: TestGetPoliciesWorkflows/Second_machine_call_after_a_restart (0.19s) 202s === CONT TestFetchWithUnreadableFile/without_gpo_initially_don’t_commit_new_partial_GPO 202s time="2025-10-18T15:33:36Z" level=info msg="Downloading \"gpo1-name\"" 202s time="2025-10-18T15:33:36Z" level=info msg="Downloading \"gpo1-name\"" 202s --- PASS: TestFetchTweakSysvolCacheDir (0.00s) 202s --- PASS: TestFetchTweakSysvolCacheDir/SysvolCacheDir_doesn't_exist (0.01s) 202s --- PASS: TestFetchTweakSysvolCacheDir/SysvolCacheDir_is_read_only (0.02s) 202s === CONT TestFetchWithUnreadableFile/existing_gpo_is_preserved 202s time="2025-10-18T15:33:36Z" level=info msg="Downloading \"gpo1-name\"" 202s --- PASS: TestFetchWithUnreadableFile (0.00s) 202s --- PASS: TestFetchWithUnreadableFile/without_gpo_initially_don’t_commit_new_partial_GPO (0.02s) 202s --- PASS: TestFetchWithUnreadableFile/existing_gpo_is_preserved (0.02s) 202s PASS 202s ok github.com/ubuntu/adsys/internal/ad 7.099s 202s === RUN TestGenerateExpandedCategories 202s === PAUSE TestGenerateExpandedCategories 202s === RUN TestExpandedCategoriesToADMX 202s === PAUSE TestExpandedCategoriesToADMX 202s === RUN TestExpandedCategoriesToMD 202s === PAUSE TestExpandedCategoriesToMD 202s === RUN TestExpand 202s === PAUSE TestExpand 202s === RUN TestGenerateAD 202s === PAUSE TestGenerateAD 202s === RUN TestGenerateDoc 202s === PAUSE TestGenerateDoc 202s === CONT TestGenerateExpandedCategories 202s === CONT TestExpand 202s === RUN TestGenerateExpandedCategories/available_on_one_release_only 202s === PAUSE TestGenerateExpandedCategories/available_on_one_release_only 202s === RUN TestGenerateExpandedCategories/different_explain_text 202s === PAUSE TestGenerateExpandedCategories/different_explain_text 202s === RUN TestGenerateExpandedCategories/different_element_type 202s === PAUSE TestGenerateExpandedCategories/different_element_type 202s === RUN TestGenerateExpandedCategories/meta_is_overridden_by_enabled_key 202s === PAUSE TestGenerateExpandedCategories/meta_is_overridden_by_enabled_key 202s === RUN TestGenerateExpandedCategories/meta_is_overridden_by_disabled_key 202s === PAUSE TestGenerateExpandedCategories/meta_is_overridden_by_disabled_key 202s === RUN TestGenerateExpandedCategories/same_policy_used_in_two_categories 202s === RUN TestExpand/dconf 202s === PAUSE TestGenerateExpandedCategories/same_policy_used_in_two_categories 202s === RUN TestGenerateExpandedCategories/same_policy_used_in_two_categories_but_different_default_class 202s === PAUSE TestExpand/dconf 202s === PAUSE TestGenerateExpandedCategories/same_policy_used_in_two_categories_but_different_default_class 202s === RUN TestExpand/expanded_policy 202s === RUN TestGenerateExpandedCategories/no_meta_enabled 202s === PAUSE TestExpand/expanded_policy 202s === PAUSE TestGenerateExpandedCategories/no_meta_enabled 202s === RUN TestExpand/expanded_policy_with_release_any 202s === RUN TestGenerateExpandedCategories/error_on_unexisting_policy_referenced 202s === PAUSE TestExpand/expanded_policy_with_release_any 202s === RUN TestExpand/ignore_categories_and_non_yaml_files 202s === PAUSE TestGenerateExpandedCategories/error_on_unexisting_policy_referenced 202s === PAUSE TestExpand/ignore_categories_and_non_yaml_files 202s === RUN TestGenerateExpandedCategories/error_on_different_policy_type 202s === RUN TestExpand/unsupported_policy_type 202s === PAUSE TestGenerateExpandedCategories/error_on_different_policy_type 202s === PAUSE TestExpand/unsupported_policy_type 202s === RUN TestExpand/no_source_directory 202s === RUN TestGenerateExpandedCategories/category_definition_doesn't_exist 202s === PAUSE TestExpand/no_source_directory 202s === RUN TestExpand/expanded_policy_with_meta 202s === PAUSE TestGenerateExpandedCategories/category_definition_doesn't_exist 202s === PAUSE TestExpand/expanded_policy_with_meta 202s === RUN TestExpand/no_release_file 202s === PAUSE TestExpand/no_release_file 202s === RUN TestExpand/no_version_id 202s === PAUSE TestExpand/no_version_id 202s === RUN TestExpand/invalid_dconf.yaml 202s === PAUSE TestExpand/invalid_dconf.yaml 202s === RUN TestExpand/dconf_generation_fails 202s === PAUSE TestExpand/dconf_generation_fails 202s === RUN TestGenerateExpandedCategories/simple 202s === CONT TestExpandedCategoriesToMD 202s === PAUSE TestGenerateExpandedCategories/simple 202s === RUN TestExpandedCategoriesToMD/choices_with_default 202s === RUN TestGenerateExpandedCategories/use_policy_class_instead_of_category_default 202s === PAUSE TestExpandedCategoriesToMD/choices_with_default 202s === PAUSE TestGenerateExpandedCategories/use_policy_class_instead_of_category_default 202s === RUN TestExpandedCategoriesToMD/multiple_releases_with_all_widgets_and_different_defaults 202s === PAUSE TestExpandedCategoriesToMD/multiple_releases_with_all_widgets_and_different_defaults 202s === RUN TestExpandedCategoriesToMD/no_meta_enabled 202s === PAUSE TestExpandedCategoriesToMD/no_meta_enabled 202s === RUN TestExpandedCategoriesToMD/error_on_destination_creation 202s === PAUSE TestExpandedCategoriesToMD/error_on_destination_creation 202s === RUN TestExpandedCategoriesToMD/basic_key 202s === PAUSE TestExpandedCategoriesToMD/basic_key 202s === RUN TestGenerateExpandedCategories/same_default 202s === RUN TestExpandedCategoriesToMD/nested_categories,_classes_and_empty 202s === PAUSE TestGenerateExpandedCategories/same_default 202s === PAUSE TestExpandedCategoriesToMD/nested_categories,_classes_and_empty 202s === RUN TestGenerateExpandedCategories/applicable_to_all_releases 202s === RUN TestExpandedCategoriesToMD/boolean 202s === PAUSE TestGenerateExpandedCategories/applicable_to_all_releases 202s === PAUSE TestExpandedCategoriesToMD/boolean 202s === RUN TestGenerateExpandedCategories/no_note 202s === RUN TestExpandedCategoriesToMD/multiple_releases_with_different_widgettype 202s === PAUSE TestGenerateExpandedCategories/no_note 202s === PAUSE TestExpandedCategoriesToMD/multiple_releases_with_different_widgettype 202s === RUN TestGenerateExpandedCategories/default_policy_class_is_capitalized 202s === PAUSE TestGenerateExpandedCategories/default_policy_class_is_capitalized 202s === RUN TestGenerateExpandedCategories/no_meta_at_all 202s === PAUSE TestGenerateExpandedCategories/no_meta_at_all 202s === RUN TestGenerateExpandedCategories/error_on_empty_default_policy_class 202s === PAUSE TestGenerateExpandedCategories/error_on_empty_default_policy_class 202s === RUN TestGenerateExpandedCategories/two_policies 202s === PAUSE TestGenerateExpandedCategories/two_policies 202s === RUN TestGenerateExpandedCategories/multiple_top_categories 202s === PAUSE TestGenerateExpandedCategories/multiple_top_categories 202s === RUN TestGenerateExpandedCategories/no_meta_disabled 202s === PAUSE TestGenerateExpandedCategories/no_meta_disabled 202s === RUN TestGenerateExpandedCategories/error_on_key_independent_of_any_release_key_but_with_one_release_specified 202s === PAUSE TestGenerateExpandedCategories/error_on_key_independent_of_any_release_key_but_with_one_release_specified 202s === RUN TestGenerateExpandedCategories/no_defaults 202s === PAUSE TestGenerateExpandedCategories/no_defaults 202s === RUN TestGenerateExpandedCategories/choices 202s === PAUSE TestGenerateExpandedCategories/choices 202s === RUN TestGenerateExpandedCategories/different_meta 202s === PAUSE TestGenerateExpandedCategories/different_meta 202s === RUN TestGenerateExpandedCategories/nested_categories 202s === PAUSE TestGenerateExpandedCategories/nested_categories 202s === RUN TestGenerateExpandedCategories/different_range 202s === PAUSE TestGenerateExpandedCategories/different_range 202s === RUN TestGenerateExpandedCategories/error_on_one_policy_not_used 202s === PAUSE TestGenerateExpandedCategories/error_on_one_policy_not_used 202s === RUN TestGenerateExpandedCategories/policy_directory_doesn't_exist 202s === PAUSE TestGenerateExpandedCategories/policy_directory_doesn't_exist 202s === RUN TestGenerateExpandedCategories/basic 202s === PAUSE TestGenerateExpandedCategories/basic 202s === RUN TestGenerateExpandedCategories/different_defaults 202s === PAUSE TestGenerateExpandedCategories/different_defaults 202s === RUN TestGenerateExpandedCategories/different_display_name 202s === PAUSE TestGenerateExpandedCategories/different_display_name 202s === RUN TestGenerateExpandedCategories/range 202s === PAUSE TestGenerateExpandedCategories/range 202s === RUN TestGenerateExpandedCategories/allow_policy_referenced_but_not_available_in_any_releases 202s === PAUSE TestGenerateExpandedCategories/allow_policy_referenced_but_not_available_in_any_releases 202s === RUN TestGenerateExpandedCategories/error_on_different_class 202s === PAUSE TestGenerateExpandedCategories/error_on_different_class 202s === RUN TestGenerateExpandedCategories/error_on_missing_release 202s === PAUSE TestGenerateExpandedCategories/error_on_missing_release 202s === RUN TestGenerateExpandedCategories/error_on_nested_category 202s === PAUSE TestGenerateExpandedCategories/error_on_nested_category 202s === RUN TestGenerateExpandedCategories/with_prefix 202s === PAUSE TestGenerateExpandedCategories/with_prefix 202s === RUN TestGenerateExpandedCategories/no_note_strategy_append 202s === PAUSE TestGenerateExpandedCategories/no_note_strategy_append 202s === RUN TestGenerateExpandedCategories/requires_ubuntu_pro 202s === PAUSE TestGenerateExpandedCategories/requires_ubuntu_pro 202s === RUN TestGenerateExpandedCategories/different_choices 202s === PAUSE TestGenerateExpandedCategories/different_choices 202s === RUN TestGenerateExpandedCategories/meta_entry_only 202s === PAUSE TestGenerateExpandedCategories/meta_entry_only 202s === RUN TestGenerateExpandedCategories/error_on_invalid_default_policy_class 202s === PAUSE TestGenerateExpandedCategories/error_on_invalid_default_policy_class 202s === RUN TestGenerateExpandedCategories/error_on_policy_not_attached_to_any_releases 202s === PAUSE TestGenerateExpandedCategories/error_on_policy_not_attached_to_any_releases 202s === RUN TestExpandedCategoriesToMD/multiple_releases_with_different_choices 202s === PAUSE TestExpandedCategoriesToMD/multiple_releases_with_different_choices 202s === RUN TestExpandedCategoriesToMD/multiple_releases_with_different_ranges 202s === PAUSE TestExpandedCategoriesToMD/multiple_releases_with_different_ranges 202s === RUN TestExpandedCategoriesToMD/no_meta_disabled 202s === PAUSE TestExpandedCategoriesToMD/no_meta_disabled 202s === RUN TestExpandedCategoriesToMD/no_meta_at_all 202s === PAUSE TestExpandedCategoriesToMD/no_meta_at_all 202s === RUN TestExpandedCategoriesToMD/simple 202s === PAUSE TestExpandedCategoriesToMD/simple 202s === RUN TestExpandedCategoriesToMD/decimal 202s === PAUSE TestExpandedCategoriesToMD/decimal 202s === RUN TestExpandedCategoriesToMD/decimal_with_min_only 202s === PAUSE TestExpandedCategoriesToMD/decimal_with_min_only 202s === RUN TestExpandedCategoriesToMD/long_decimal 202s === PAUSE TestExpandedCategoriesToMD/long_decimal 202s === RUN TestExpandedCategoriesToMD/double 202s === PAUSE TestExpandedCategoriesToMD/double 202s === RUN TestExpandedCategoriesToMD/double_with_range 202s === PAUSE TestExpandedCategoriesToMD/double_with_range 202s === RUN TestExpandedCategoriesToMD/nested_categories 202s === PAUSE TestExpandedCategoriesToMD/nested_categories 202s === RUN TestExpandedCategoriesToMD/multiple_categories 202s === PAUSE TestExpandedCategoriesToMD/multiple_categories 202s === RUN TestExpandedCategoriesToMD/user_policy 202s === PAUSE TestExpandedCategoriesToMD/user_policy 202s === RUN TestExpandedCategoriesToMD/decimal_with_max_only 202s === PAUSE TestExpandedCategoriesToMD/decimal_with_max_only 202s === RUN TestExpandedCategoriesToMD/array_of_integers 202s === PAUSE TestExpandedCategoriesToMD/array_of_integers 202s === RUN TestExpandedCategoriesToMD/multiple_releases_for_one_key 202s === PAUSE TestExpandedCategoriesToMD/multiple_releases_for_one_key 202s === RUN TestExpandedCategoriesToMD/decimal_with_range 202s === PAUSE TestExpandedCategoriesToMD/decimal_with_range 202s === RUN TestExpandedCategoriesToMD/array_of_strings 202s === PAUSE TestExpandedCategoriesToMD/array_of_strings 202s === RUN TestExpandedCategoriesToMD/choices 202s === PAUSE TestExpandedCategoriesToMD/choices 202s === CONT TestExpandedCategoriesToADMX 202s === RUN TestExpandedCategoriesToADMX/multiple_releases_with_all_widgets_and_different_defaults 202s === PAUSE TestExpandedCategoriesToADMX/multiple_releases_with_all_widgets_and_different_defaults 202s === RUN TestExpandedCategoriesToADMX/no_meta_at_all 202s === PAUSE TestExpandedCategoriesToADMX/no_meta_at_all 202s === RUN TestExpandedCategoriesToADMX/basic_key 202s === PAUSE TestExpandedCategoriesToADMX/basic_key 202s === RUN TestExpandedCategoriesToADMX/boolean 202s === PAUSE TestExpandedCategoriesToADMX/boolean 202s === RUN TestExpandedCategoriesToADMX/decimal_with_min_only 202s === PAUSE TestExpandedCategoriesToADMX/decimal_with_min_only 202s === RUN TestExpandedCategoriesToADMX/decimal_with_max_only 202s === PAUSE TestExpandedCategoriesToADMX/decimal_with_max_only 202s === RUN TestExpandedCategoriesToADMX/array_of_strings 202s === PAUSE TestExpandedCategoriesToADMX/array_of_strings 202s === RUN TestExpandedCategoriesToADMX/array_of_integers 202s === PAUSE TestExpandedCategoriesToADMX/array_of_integers 202s === RUN TestExpandedCategoriesToADMX/choices_with_default 202s === PAUSE TestExpandedCategoriesToADMX/choices_with_default 202s === RUN TestExpandedCategoriesToADMX/multiple_releases_with_different_widgettype 202s === PAUSE TestExpandedCategoriesToADMX/multiple_releases_with_different_widgettype 202s === RUN TestExpandedCategoriesToADMX/decimal_with_range 202s === PAUSE TestExpandedCategoriesToADMX/decimal_with_range 202s === RUN TestExpandedCategoriesToADMX/multiple_releases_with_different_choices 202s === PAUSE TestExpandedCategoriesToADMX/multiple_releases_with_different_choices 202s === RUN TestExpandedCategoriesToADMX/multiple_releases_with_different_ranges 202s === PAUSE TestExpandedCategoriesToADMX/multiple_releases_with_different_ranges 202s === RUN TestExpandedCategoriesToADMX/error_on_destination_creation 202s === PAUSE TestExpandedCategoriesToADMX/error_on_destination_creation 202s === RUN TestExpandedCategoriesToADMX/simple 202s === PAUSE TestExpandedCategoriesToADMX/simple 202s === RUN TestExpandedCategoriesToADMX/multiple_categories 202s === PAUSE TestExpandedCategoriesToADMX/multiple_categories 202s === RUN TestExpandedCategoriesToADMX/other_distro 202s === PAUSE TestExpandedCategoriesToADMX/other_distro 202s === RUN TestExpandedCategoriesToADMX/decimal 202s === PAUSE TestExpandedCategoriesToADMX/decimal 202s === RUN TestExpandedCategoriesToADMX/choices 202s === PAUSE TestExpandedCategoriesToADMX/choices 202s === RUN TestExpandedCategoriesToADMX/double 202s === PAUSE TestExpandedCategoriesToADMX/double 202s === RUN TestExpandedCategoriesToADMX/no_meta_enabled 202s === PAUSE TestExpandedCategoriesToADMX/no_meta_enabled 202s === RUN TestExpandedCategoriesToADMX/no_meta_disabled 202s === PAUSE TestExpandedCategoriesToADMX/no_meta_disabled 202s === RUN TestExpandedCategoriesToADMX/nested_categories 202s === PAUSE TestExpandedCategoriesToADMX/nested_categories 202s === RUN TestExpandedCategoriesToADMX/long_decimal 202s === PAUSE TestExpandedCategoriesToADMX/long_decimal 202s === RUN TestExpandedCategoriesToADMX/double_with_range 202s === PAUSE TestExpandedCategoriesToADMX/double_with_range 202s === RUN TestExpandedCategoriesToADMX/multiple_releases_for_one_key 202s === PAUSE TestExpandedCategoriesToADMX/multiple_releases_for_one_key 202s === CONT TestGenerateDoc 202s === RUN TestGenerateDoc/releases_from_yaml 202s === PAUSE TestGenerateDoc/releases_from_yaml 202s === RUN TestGenerateDoc/autodetect_overrides_releases_from_yaml 202s === PAUSE TestGenerateDoc/autodetect_overrides_releases_from_yaml 202s === RUN TestGenerateDoc/invalid_definition_file 202s === PAUSE TestGenerateDoc/invalid_definition_file 202s === RUN TestGenerateDoc/category_expansion_fails 202s === PAUSE TestGenerateDoc/category_expansion_fails 202s === RUN TestGenerateDoc/doc_generation_fails 202s === PAUSE TestGenerateDoc/doc_generation_fails 202s === CONT TestGenerateAD 202s === RUN TestGenerateAD/autodetect_overrides_releases_from_yaml 202s === PAUSE TestGenerateAD/autodetect_overrides_releases_from_yaml 202s === RUN TestGenerateAD/invalid_definition_file 202s === PAUSE TestGenerateAD/invalid_definition_file 202s === RUN TestGenerateAD/category_expansion_fails 202s === PAUSE TestGenerateAD/category_expansion_fails 202s === RUN TestGenerateAD/admx_generation_fails 202s === PAUSE TestGenerateAD/admx_generation_fails 202s === RUN TestGenerateAD/releases_from_yaml 202s === PAUSE TestGenerateAD/releases_from_yaml 202s === CONT TestExpand/invalid_dconf.yaml 202s === CONT TestExpand/dconf 202s === CONT TestExpand/no_version_id 202s === CONT TestExpand/no_release_file 202s === CONT TestExpand/expanded_policy_with_meta 202s admxgen_test.go:78: Serializing object for golden file 202s === CONT TestExpand/no_source_directory 202s === CONT TestExpand/unsupported_policy_type 202s === NAME TestExpand/dconf 202s admxgen_test.go:78: Serializing object for golden file 202s === CONT TestExpand/ignore_categories_and_non_yaml_files 202s === CONT TestExpand/expanded_policy_with_release_any 202s === NAME TestExpand/ignore_categories_and_non_yaml_files 202s admxgen_test.go:78: Serializing object for golden file 202s === NAME TestExpand/expanded_policy_with_release_any 202s admxgen_test.go:78: Serializing object for golden file 202s === CONT TestExpand/expanded_policy 202s admxgen_test.go:78: Serializing object for golden file 202s === CONT TestExpand/dconf_generation_fails 202s === CONT TestGenerateExpandedCategories/available_on_one_release_only 202s --- PASS: TestExpand (0.00s) 202s --- PASS: TestExpand/invalid_dconf.yaml (0.00s) 202s --- PASS: TestExpand/no_version_id (0.00s) 202s --- PASS: TestExpand/no_release_file (0.00s) 202s --- PASS: TestExpand/expanded_policy_with_meta (0.00s) 202s --- PASS: TestExpand/no_source_directory (0.00s) 202s --- PASS: TestExpand/unsupported_policy_type (0.00s) 202s --- PASS: TestExpand/dconf (0.00s) 202s --- PASS: TestExpand/expanded_policy_with_release_any (0.00s) 202s --- PASS: TestExpand/expanded_policy (0.00s) 202s --- PASS: TestExpand/dconf_generation_fails (0.00s) 202s --- PASS: TestExpand/ignore_categories_and_non_yaml_files (0.01s) 202s === CONT TestExpandedCategoriesToMD/choices_with_default 202s === NAME TestGenerateExpandedCategories/available_on_one_release_only 202s internal_test.go:112: Serializing object for golden file 202s === CONT TestExpandedCategoriesToADMX/multiple_releases_with_all_widgets_and_different_defaults 202s === CONT TestGenerateExpandedCategories/error_on_policy_not_attached_to_any_releases 202s === CONT TestGenerateExpandedCategories/error_on_invalid_default_policy_class 202s === CONT TestGenerateExpandedCategories/meta_entry_only 202s === CONT TestGenerateExpandedCategories/different_choices 202s === NAME TestGenerateExpandedCategories/meta_entry_only 202s internal_test.go:112: Serializing object for golden file 202s === NAME TestGenerateExpandedCategories/different_choices 202s internal_test.go:112: Serializing object for golden file 202s === CONT TestGenerateExpandedCategories/requires_ubuntu_pro 202s === CONT TestGenerateExpandedCategories/no_note_strategy_append 202s internal_test.go:112: Serializing object for golden file 202s === CONT TestGenerateExpandedCategories/with_prefix 202s === NAME TestGenerateExpandedCategories/requires_ubuntu_pro 202s internal_test.go:112: Serializing object for golden file 202s === NAME TestGenerateExpandedCategories/with_prefix 202s internal_test.go:112: Serializing object for golden file 202s === CONT TestGenerateExpandedCategories/error_on_nested_category 202s === CONT TestGenerateExpandedCategories/error_on_missing_release 202s === CONT TestGenerateExpandedCategories/error_on_different_class 202s === CONT TestGenerateExpandedCategories/allow_policy_referenced_but_not_available_in_any_releases 202s === CONT TestGenerateExpandedCategories/range 202s time="2025-10-18T15:33:29Z" level=warning msg="policy /org/gnome/desktop/policy-doesnotexit referenced in \"Category1 Display Name\" does not exist in any supported releases" 202s === NAME TestGenerateExpandedCategories/allow_policy_referenced_but_not_available_in_any_releases 202s internal_test.go:112: Serializing object for golden file 202s === CONT TestGenerateExpandedCategories/different_display_name 202s === NAME TestGenerateExpandedCategories/range 202s internal_test.go:112: Serializing object for golden file 202s === CONT TestGenerateExpandedCategories/different_defaults 202s === NAME TestGenerateExpandedCategories/different_display_name 202s internal_test.go:112: Serializing object for golden file 202s === NAME TestGenerateExpandedCategories/different_defaults 202s internal_test.go:112: Serializing object for golden file 202s === CONT TestGenerateExpandedCategories/basic 202s === CONT TestGenerateExpandedCategories/policy_directory_doesn't_exist 202s === CONT TestGenerateExpandedCategories/error_on_one_policy_not_used 202s === NAME TestGenerateExpandedCategories/basic 202s internal_test.go:112: Serializing object for golden file 202s === CONT TestGenerateExpandedCategories/different_range 202s === CONT TestGenerateExpandedCategories/nested_categories 202s === NAME TestGenerateExpandedCategories/different_range 202s internal_test.go:112: Serializing object for golden file 202s === NAME TestGenerateExpandedCategories/nested_categories 202s internal_test.go:112: Serializing object for golden file 202s === CONT TestGenerateExpandedCategories/different_meta 202s === CONT TestGenerateExpandedCategories/choices 202s === NAME TestGenerateExpandedCategories/different_meta 202s internal_test.go:112: Serializing object for golden file 202s === NAME TestGenerateExpandedCategories/choices 202s internal_test.go:112: Serializing object for golden file 202s === CONT TestGenerateExpandedCategories/no_defaults 202s === CONT TestGenerateExpandedCategories/error_on_key_independent_of_any_release_key_but_with_one_release_specified 202s === NAME TestGenerateExpandedCategories/no_defaults 202s internal_test.go:112: Serializing object for golden file 202s === CONT TestGenerateExpandedCategories/no_meta_disabled 202s === CONT TestGenerateExpandedCategories/multiple_top_categories 202s === NAME TestGenerateExpandedCategories/no_meta_disabled 202s internal_test.go:112: Serializing object for golden file 202s === NAME TestGenerateExpandedCategories/multiple_top_categories 202s internal_test.go:112: Serializing object for golden file 202s === CONT TestGenerateExpandedCategories/two_policies 202s === CONT TestGenerateExpandedCategories/error_on_empty_default_policy_class 202s === NAME TestGenerateExpandedCategories/two_policies 202s internal_test.go:112: Serializing object for golden file 202s === CONT TestGenerateExpandedCategories/no_meta_at_all 202s === CONT TestGenerateExpandedCategories/default_policy_class_is_capitalized 202s === NAME TestGenerateExpandedCategories/no_meta_at_all 202s internal_test.go:112: Serializing object for golden file 202s === NAME TestGenerateExpandedCategories/default_policy_class_is_capitalized 202s internal_test.go:112: Serializing object for golden file 202s === CONT TestGenerateExpandedCategories/no_note 202s === CONT TestGenerateExpandedCategories/applicable_to_all_releases 202s === NAME TestGenerateExpandedCategories/no_note 202s internal_test.go:112: Serializing object for golden file 202s === CONT TestGenerateExpandedCategories/same_default 202s === NAME TestGenerateExpandedCategories/applicable_to_all_releases 202s internal_test.go:112: Serializing object for golden file 202s === CONT TestGenerateExpandedCategories/use_policy_class_instead_of_category_default 202s === NAME TestGenerateExpandedCategories/same_default 202s internal_test.go:112: Serializing object for golden file 202s === CONT TestGenerateExpandedCategories/simple 202s === NAME TestGenerateExpandedCategories/use_policy_class_instead_of_category_default 202s internal_test.go:112: Serializing object for golden file 202s === CONT TestGenerateExpandedCategories/category_definition_doesn't_exist 202s === NAME TestGenerateExpandedCategories/simple 202s internal_test.go:112: Serializing object for golden file 202s === CONT TestGenerateExpandedCategories/error_on_different_policy_type 202s === CONT TestGenerateExpandedCategories/error_on_unexisting_policy_referenced 202s === CONT TestGenerateExpandedCategories/no_meta_enabled 202s === CONT TestGenerateExpandedCategories/same_policy_used_in_two_categories_but_different_default_class 202s === NAME TestGenerateExpandedCategories/no_meta_enabled 202s internal_test.go:112: Serializing object for golden file 202s === NAME TestGenerateExpandedCategories/same_policy_used_in_two_categories_but_different_default_class 202s internal_test.go:112: Serializing object for golden file 202s === CONT TestGenerateExpandedCategories/same_policy_used_in_two_categories 202s === CONT TestGenerateExpandedCategories/meta_is_overridden_by_disabled_key 202s === NAME TestGenerateExpandedCategories/same_policy_used_in_two_categories 202s internal_test.go:112: Serializing object for golden file 202s === NAME TestGenerateExpandedCategories/meta_is_overridden_by_disabled_key 202s internal_test.go:112: Serializing object for golden file 202s === CONT TestGenerateExpandedCategories/meta_is_overridden_by_enabled_key 202s === CONT TestGenerateExpandedCategories/different_element_type 202s === NAME TestGenerateExpandedCategories/meta_is_overridden_by_enabled_key 202s internal_test.go:112: Serializing object for golden file 202s === NAME TestGenerateExpandedCategories/different_element_type 202s internal_test.go:112: Serializing object for golden file 202s === CONT TestGenerateExpandedCategories/different_explain_text 202s === CONT TestGenerateDoc/releases_from_yaml 202s === NAME TestGenerateExpandedCategories/different_explain_text 202s internal_test.go:112: Serializing object for golden file 202s --- PASS: TestGenerateExpandedCategories (0.00s) 202s --- PASS: TestGenerateExpandedCategories/available_on_one_release_only (0.00s) 202s --- PASS: TestGenerateExpandedCategories/error_on_policy_not_attached_to_any_releases (0.00s) 202s --- PASS: TestGenerateExpandedCategories/error_on_invalid_default_policy_class (0.00s) 202s --- PASS: TestGenerateExpandedCategories/meta_entry_only (0.00s) 202s --- PASS: TestGenerateExpandedCategories/different_choices (0.00s) 202s --- PASS: TestGenerateExpandedCategories/no_note_strategy_append (0.00s) 202s --- PASS: TestGenerateExpandedCategories/requires_ubuntu_pro (0.00s) 202s --- PASS: TestGenerateExpandedCategories/with_prefix (0.00s) 202s --- PASS: TestGenerateExpandedCategories/error_on_nested_category (0.00s) 202s --- PASS: TestGenerateExpandedCategories/error_on_missing_release (0.00s) 202s --- PASS: TestGenerateExpandedCategories/error_on_different_class (0.00s) 202s --- PASS: TestGenerateExpandedCategories/allow_policy_referenced_but_not_available_in_any_releases (0.00s) 202s --- PASS: TestGenerateExpandedCategories/range (0.00s) 202s --- PASS: TestGenerateExpandedCategories/different_display_name (0.00s) 202s --- PASS: TestGenerateExpandedCategories/different_defaults (0.00s) 202s --- PASS: TestGenerateExpandedCategories/policy_directory_doesn't_exist (0.00s) 202s --- PASS: TestGenerateExpandedCategories/basic (0.00s) 202s --- PASS: TestGenerateExpandedCategories/error_on_one_policy_not_used (0.00s) 202s --- PASS: TestGenerateExpandedCategories/different_range (0.00s) 202s --- PASS: TestGenerateExpandedCategories/nested_categories (0.00s) 202s --- PASS: TestGenerateExpandedCategories/different_meta (0.00s) 202s --- PASS: TestGenerateExpandedCategories/choices (0.00s) 202s --- PASS: TestGenerateExpandedCategories/error_on_key_independent_of_any_release_key_but_with_one_release_specified (0.00s) 202s --- PASS: TestGenerateExpandedCategories/no_defaults (0.00s) 202s --- PASS: TestGenerateExpandedCategories/no_meta_disabled (0.00s) 202s --- PASS: TestGenerateExpandedCategories/multiple_top_categories (0.00s) 202s --- PASS: TestGenerateExpandedCategories/error_on_empty_default_policy_class (0.00s) 202s --- PASS: TestGenerateExpandedCategories/two_policies (0.00s) 202s --- PASS: TestGenerateExpandedCategories/no_meta_at_all (0.00s) 202s --- PASS: TestGenerateExpandedCategories/default_policy_class_is_capitalized (0.00s) 202s --- PASS: TestGenerateExpandedCategories/no_note (0.00s) 202s --- PASS: TestGenerateExpandedCategories/applicable_to_all_releases (0.00s) 202s --- PASS: TestGenerateExpandedCategories/same_default (0.00s) 202s --- PASS: TestGenerateExpandedCategories/use_policy_class_instead_of_category_default (0.00s) 202s --- PASS: TestGenerateExpandedCategories/category_definition_doesn't_exist (0.00s) 202s --- PASS: TestGenerateExpandedCategories/simple (0.00s) 202s --- PASS: TestGenerateExpandedCategories/error_on_unexisting_policy_referenced (0.00s) 202s --- PASS: TestGenerateExpandedCategories/error_on_different_policy_type (0.00s) 202s --- PASS: TestGenerateExpandedCategories/no_meta_enabled (0.00s) 202s --- PASS: TestGenerateExpandedCategories/same_policy_used_in_two_categories_but_different_default_class (0.00s) 202s --- PASS: TestGenerateExpandedCategories/meta_is_overridden_by_disabled_key (0.00s) 202s --- PASS: TestGenerateExpandedCategories/same_policy_used_in_two_categories (0.00s) 202s --- PASS: TestGenerateExpandedCategories/different_element_type (0.00s) 202s --- PASS: TestGenerateExpandedCategories/meta_is_overridden_by_enabled_key (0.00s) 202s --- PASS: TestGenerateExpandedCategories/different_explain_text (0.00s) 202s === CONT TestExpandedCategoriesToMD/choices 202s === CONT TestExpandedCategoriesToMD/array_of_strings 202s === CONT TestExpandedCategoriesToMD/decimal_with_range 202s === CONT TestExpandedCategoriesToMD/multiple_releases_for_one_key 202s === CONT TestExpandedCategoriesToMD/array_of_integers 202s === CONT TestExpandedCategoriesToMD/decimal_with_max_only 202s === CONT TestExpandedCategoriesToMD/user_policy 202s === CONT TestExpandedCategoriesToMD/multiple_categories 202s === CONT TestExpandedCategoriesToMD/nested_categories 202s === CONT TestExpandedCategoriesToMD/double_with_range 202s === CONT TestExpandedCategoriesToMD/double 202s === CONT TestExpandedCategoriesToMD/long_decimal 202s === CONT TestExpandedCategoriesToMD/decimal_with_min_only 202s === CONT TestExpandedCategoriesToMD/decimal 202s === CONT TestExpandedCategoriesToMD/simple 202s === CONT TestExpandedCategoriesToMD/no_meta_at_all 202s === CONT TestExpandedCategoriesToMD/no_meta_disabled 202s === CONT TestExpandedCategoriesToMD/multiple_releases_with_different_ranges 202s === CONT TestExpandedCategoriesToMD/multiple_releases_with_different_choices 202s === CONT TestExpandedCategoriesToMD/multiple_releases_with_different_widgettype 202s === CONT TestExpandedCategoriesToMD/boolean 202s === CONT TestExpandedCategoriesToMD/nested_categories,_classes_and_empty 202s === CONT TestExpandedCategoriesToMD/basic_key 202s === CONT TestExpandedCategoriesToMD/error_on_destination_creation 202s === CONT TestExpandedCategoriesToMD/no_meta_enabled 202s === CONT TestExpandedCategoriesToMD/multiple_releases_with_all_widgets_and_different_defaults 202s === CONT TestGenerateAD/autodetect_overrides_releases_from_yaml 202s --- PASS: TestExpandedCategoriesToMD (0.00s) 202s --- PASS: TestExpandedCategoriesToMD/choices_with_default (0.00s) 202s --- PASS: TestExpandedCategoriesToMD/choices (0.00s) 202s --- PASS: TestExpandedCategoriesToMD/array_of_strings (0.00s) 202s --- PASS: TestExpandedCategoriesToMD/decimal_with_range (0.00s) 202s --- PASS: TestExpandedCategoriesToMD/multiple_releases_for_one_key (0.00s) 202s --- PASS: TestExpandedCategoriesToMD/array_of_integers (0.00s) 202s --- PASS: TestExpandedCategoriesToMD/decimal_with_max_only (0.00s) 202s --- PASS: TestExpandedCategoriesToMD/user_policy (0.00s) 202s --- PASS: TestExpandedCategoriesToMD/nested_categories (0.00s) 202s --- PASS: TestExpandedCategoriesToMD/multiple_categories (0.01s) 202s --- PASS: TestExpandedCategoriesToMD/double (0.00s) 202s --- PASS: TestExpandedCategoriesToMD/double_with_range (0.00s) 202s --- PASS: TestExpandedCategoriesToMD/long_decimal (0.00s) 202s --- PASS: TestExpandedCategoriesToMD/decimal_with_min_only (0.00s) 202s --- PASS: TestExpandedCategoriesToMD/decimal (0.00s) 202s --- PASS: TestExpandedCategoriesToMD/simple (0.00s) 202s --- PASS: TestExpandedCategoriesToMD/no_meta_at_all (0.00s) 202s --- PASS: TestExpandedCategoriesToMD/no_meta_disabled (0.00s) 202s --- PASS: TestExpandedCategoriesToMD/multiple_releases_with_different_choices (0.00s) 202s --- PASS: TestExpandedCategoriesToMD/multiple_releases_with_different_widgettype (0.00s) 202s --- PASS: TestExpandedCategoriesToMD/multiple_releases_with_different_ranges (0.01s) 202s --- PASS: TestExpandedCategoriesToMD/boolean (0.00s) 202s --- PASS: TestExpandedCategoriesToMD/basic_key (0.00s) 202s --- PASS: TestExpandedCategoriesToMD/error_on_destination_creation (0.00s) 202s --- PASS: TestExpandedCategoriesToMD/no_meta_enabled (0.00s) 202s --- PASS: TestExpandedCategoriesToMD/nested_categories,_classes_and_empty (0.01s) 202s --- PASS: TestExpandedCategoriesToMD/multiple_releases_with_all_widgets_and_different_defaults (0.00s) 202s === CONT TestExpandedCategoriesToADMX/multiple_releases_for_one_key 202s === CONT TestExpandedCategoriesToADMX/double_with_range 202s === CONT TestExpandedCategoriesToADMX/long_decimal 202s === CONT TestExpandedCategoriesToADMX/nested_categories 202s === CONT TestExpandedCategoriesToADMX/no_meta_disabled 202s === CONT TestExpandedCategoriesToADMX/no_meta_enabled 202s === CONT TestExpandedCategoriesToADMX/double 202s === CONT TestExpandedCategoriesToADMX/choices 202s === CONT TestExpandedCategoriesToADMX/decimal 202s === CONT TestExpandedCategoriesToADMX/other_distro 202s === CONT TestExpandedCategoriesToADMX/multiple_categories 202s === CONT TestExpandedCategoriesToADMX/simple 202s === CONT TestExpandedCategoriesToADMX/error_on_destination_creation 202s === CONT TestExpandedCategoriesToADMX/multiple_releases_with_different_ranges 202s === CONT TestExpandedCategoriesToADMX/multiple_releases_with_different_choices 202s === CONT TestExpandedCategoriesToADMX/decimal_with_range 202s === CONT TestExpandedCategoriesToADMX/multiple_releases_with_different_widgettype 202s === CONT TestExpandedCategoriesToADMX/choices_with_default 202s === CONT TestExpandedCategoriesToADMX/array_of_integers 202s === CONT TestExpandedCategoriesToADMX/array_of_strings 202s === CONT TestExpandedCategoriesToADMX/decimal_with_max_only 202s === CONT TestExpandedCategoriesToADMX/decimal_with_min_only 202s === CONT TestExpandedCategoriesToADMX/boolean 202s === CONT TestExpandedCategoriesToADMX/basic_key 202s === CONT TestExpandedCategoriesToADMX/no_meta_at_all 202s === CONT TestGenerateDoc/doc_generation_fails 202s === CONT TestGenerateDoc/category_expansion_fails 202s === CONT TestGenerateDoc/invalid_definition_file 202s --- PASS: TestExpandedCategoriesToADMX (0.00s) 202s --- PASS: TestExpandedCategoriesToADMX/multiple_releases_with_all_widgets_and_different_defaults (0.01s) 202s --- PASS: TestExpandedCategoriesToADMX/multiple_releases_for_one_key (0.00s) 202s --- PASS: TestExpandedCategoriesToADMX/double_with_range (0.00s) 202s --- PASS: TestExpandedCategoriesToADMX/long_decimal (0.00s) 202s --- PASS: TestExpandedCategoriesToADMX/no_meta_disabled (0.01s) 202s --- PASS: TestExpandedCategoriesToADMX/nested_categories (0.01s) 202s --- PASS: TestExpandedCategoriesToADMX/double (0.00s) 202s --- PASS: TestExpandedCategoriesToADMX/no_meta_enabled (0.00s) 202s --- PASS: TestExpandedCategoriesToADMX/choices (0.00s) 202s --- PASS: TestExpandedCategoriesToADMX/decimal (0.00s) 202s --- PASS: TestExpandedCategoriesToADMX/other_distro (0.00s) 202s --- PASS: TestExpandedCategoriesToADMX/simple (0.00s) 202s --- PASS: TestExpandedCategoriesToADMX/error_on_destination_creation (0.00s) 202s --- PASS: TestExpandedCategoriesToADMX/multiple_categories (0.01s) 202s --- PASS: TestExpandedCategoriesToADMX/multiple_releases_with_different_ranges (0.00s) 202s --- PASS: TestExpandedCategoriesToADMX/decimal_with_range (0.00s) 202s --- PASS: TestExpandedCategoriesToADMX/multiple_releases_with_different_widgettype (0.00s) 202s --- PASS: TestExpandedCategoriesToADMX/multiple_releases_with_different_choices (0.01s) 202s --- PASS: TestExpandedCategoriesToADMX/array_of_integers (0.00s) 202s --- PASS: TestExpandedCategoriesToADMX/array_of_strings (0.00s) 202s --- PASS: TestExpandedCategoriesToADMX/choices_with_default (0.01s) 202s --- PASS: TestExpandedCategoriesToADMX/decimal_with_max_only (0.00s) 202s --- PASS: TestExpandedCategoriesToADMX/decimal_with_min_only (0.00s) 202s --- PASS: TestExpandedCategoriesToADMX/boolean (0.00s) 202s --- PASS: TestExpandedCategoriesToADMX/basic_key (0.00s) 202s --- PASS: TestExpandedCategoriesToADMX/no_meta_at_all (0.00s) 202s === CONT TestGenerateDoc/autodetect_overrides_releases_from_yaml 202s === CONT TestGenerateAD/releases_from_yaml 202s === CONT TestGenerateAD/admx_generation_fails 202s --- PASS: TestGenerateDoc (0.00s) 202s --- PASS: TestGenerateDoc/releases_from_yaml (0.00s) 202s --- PASS: TestGenerateDoc/doc_generation_fails (0.00s) 202s --- PASS: TestGenerateDoc/category_expansion_fails (0.00s) 202s --- PASS: TestGenerateDoc/invalid_definition_file (0.00s) 202s --- PASS: TestGenerateDoc/autodetect_overrides_releases_from_yaml (0.00s) 202s === CONT TestGenerateAD/category_expansion_fails 202s === CONT TestGenerateAD/invalid_definition_file 202s --- PASS: TestGenerateAD (0.00s) 202s --- PASS: TestGenerateAD/autodetect_overrides_releases_from_yaml (0.01s) 202s --- PASS: TestGenerateAD/releases_from_yaml (0.00s) 202s --- PASS: TestGenerateAD/category_expansion_fails (0.00s) 202s --- PASS: TestGenerateAD/admx_generation_fails (0.00s) 202s --- PASS: TestGenerateAD/invalid_definition_file (0.00s) 202s PASS 202s ok github.com/ubuntu/adsys/internal/ad/admxgen 0.176s 202s ? github.com/ubuntu/adsys/internal/ad/admxgen/common [no test files] 202s === RUN TestGenerate 202s === PAUSE TestGenerate 202s === CONT TestGenerate 202s === RUN TestGenerate/Double_key_with_range 202s === PAUSE TestGenerate/Double_key_with_range 202s === RUN TestGenerate/No_key_on_system 202s === PAUSE TestGenerate/No_key_on_system 202s === RUN TestGenerate/Empty 202s === PAUSE TestGenerate/Empty 202s === RUN TestGenerate/Invalid_schema_files 202s === PAUSE TestGenerate/Invalid_schema_files 202s === RUN TestGenerate/One_decimal_key 202s === PAUSE TestGenerate/One_decimal_key 202s === RUN TestGenerate/Override_takes_first_session 202s === PAUSE TestGenerate/Override_takes_first_session 202s === RUN TestGenerate/Overridden_by_multiple_files,_last_wins 202s === PAUSE TestGenerate/Overridden_by_multiple_files,_last_wins 202s === RUN TestGenerate/Enums_in_other_files_are_converted_to_choices 202s === PAUSE TestGenerate/Enums_in_other_files_are_converted_to_choices 202s === RUN TestGenerate/Invalid_override_files_are_skipped 202s === PAUSE TestGenerate/Invalid_override_files_are_skipped 202s === RUN TestGenerate/Invalid_min 202s === PAUSE TestGenerate/Invalid_min 202s === RUN TestGenerate/Long_decimal_key_with_range_min_lt_0 202s === PAUSE TestGenerate/Long_decimal_key_with_range_min_lt_0 202s === RUN TestGenerate/Long_decimal_key_with_range_min_gt_0 202s === PAUSE TestGenerate/Long_decimal_key_with_range_min_gt_0 202s === RUN TestGenerate/Override_without_session 202s === PAUSE TestGenerate/Override_without_session 202s === RUN TestGenerate/Override_with_no_matching_session_defaults_to_root_override 202s === PAUSE TestGenerate/Override_with_no_matching_session_defaults_to_root_override 202s === RUN TestGenerate/Description_starting_with_deprecated_mixed_case_is_ignored 202s === PAUSE TestGenerate/Description_starting_with_deprecated_mixed_case_is_ignored 202s === RUN TestGenerate/Description_starting_with_obsolete_is_ignored 202s === PAUSE TestGenerate/Description_starting_with_obsolete_is_ignored 202s === RUN TestGenerate/Malformed_XML_declaration_is_successfully_parsed 202s === PAUSE TestGenerate/Malformed_XML_declaration_is_successfully_parsed 202s === RUN TestGenerate/Relocatable_key 202s === PAUSE TestGenerate/Relocatable_key 202s === RUN TestGenerate/Same_key_relocated_twice 202s === PAUSE TestGenerate/Same_key_relocated_twice 202s === RUN TestGenerate/One_boolean_key 202s === PAUSE TestGenerate/One_boolean_key 202s === RUN TestGenerate/Long_decimal_key 202s === PAUSE TestGenerate/Long_decimal_key 202s === RUN TestGenerate/Override_with_session_takes_session_override 202s === PAUSE TestGenerate/Override_with_session_takes_session_override 202s === RUN TestGenerate/Override_default_to_second_if_first_not_present 202s === PAUSE TestGenerate/Override_default_to_second_if_first_not_present 202s === RUN TestGenerate/Relocatable_key_overridden 202s === PAUSE TestGenerate/Relocatable_key_overridden 202s === RUN TestGenerate/Valid_class_should_be_capitalized 202s === PAUSE TestGenerate/Valid_class_should_be_capitalized 202s === RUN TestGenerate/Array_of_strings 202s === PAUSE TestGenerate/Array_of_strings 202s === RUN TestGenerate/Array_of_integers 202s === PAUSE TestGenerate/Array_of_integers 202s === RUN TestGenerate/NaN_min 202s === PAUSE TestGenerate/NaN_min 202s === RUN TestGenerate/Enum_does_not_exist 202s === PAUSE TestGenerate/Enum_does_not_exist 202s === RUN TestGenerate/One_text_key 202s === PAUSE TestGenerate/One_text_key 202s === RUN TestGenerate/One_decimal_key_with_min_only 202s === PAUSE TestGenerate/One_decimal_key_with_min_only 202s === RUN TestGenerate/One_decimal_key_with_max_only 202s === PAUSE TestGenerate/One_decimal_key_with_max_only 202s === RUN TestGenerate/Double_key 202s === PAUSE TestGenerate/Double_key 202s === RUN TestGenerate/Override_without_session_takes_default 202s === PAUSE TestGenerate/Override_without_session_takes_default 202s === RUN TestGenerate/Description_starting_with_deprecated_is_ignored 202s === PAUSE TestGenerate/Description_starting_with_deprecated_is_ignored 202s === RUN TestGenerate/Description_containing_deprecated_without_starting_by_it_is_not_ignored 202s === PAUSE TestGenerate/Description_containing_deprecated_without_starting_by_it_is_not_ignored 202s === RUN TestGenerate/Invalid_class 202s === PAUSE TestGenerate/Invalid_class 202s === RUN TestGenerate/Key_with_class 202s === PAUSE TestGenerate/Key_with_class 202s === RUN TestGenerate/One_decimal_key_with_range 202s === PAUSE TestGenerate/One_decimal_key_with_range 202s === RUN TestGenerate/Choices_are_loaded 202s === PAUSE TestGenerate/Choices_are_loaded 202s === RUN TestGenerate/Inlined_Enums_are_converted_to_choices 202s === PAUSE TestGenerate/Inlined_Enums_are_converted_to_choices 202s === RUN TestGenerate/Missing_XML_declaration_is_successfully_parsed 202s === PAUSE TestGenerate/Missing_XML_declaration_is_successfully_parsed 202s === RUN TestGenerate/Unsupported_key_type 202s === PAUSE TestGenerate/Unsupported_key_type 202s === CONT TestGenerate/Double_key_with_range 202s === CONT TestGenerate/One_decimal_key_with_range 202s === NAME TestGenerate/Double_key_with_range 202s dconf_test.go:106: Serializing object for golden file 202s === NAME TestGenerate/One_decimal_key_with_range 202s dconf_test.go:106: Serializing object for golden file 202s === CONT TestGenerate/Unsupported_key_type 202s === CONT TestGenerate/Missing_XML_declaration_is_successfully_parsed 202s === CONT TestGenerate/Inlined_Enums_are_converted_to_choices 202s === NAME TestGenerate/Missing_XML_declaration_is_successfully_parsed 202s dconf_test.go:106: Serializing object for golden file 202s === NAME TestGenerate/Inlined_Enums_are_converted_to_choices 202s dconf_test.go:106: Serializing object for golden file 202s === CONT TestGenerate/Choices_are_loaded 202s === CONT TestGenerate/Key_with_class 202s === NAME TestGenerate/Choices_are_loaded 202s dconf_test.go:106: Serializing object for golden file 202s === CONT TestGenerate/Invalid_class 202s === NAME TestGenerate/Key_with_class 202s dconf_test.go:106: Serializing object for golden file 202s === CONT TestGenerate/Description_containing_deprecated_without_starting_by_it_is_not_ignored 202s dconf_test.go:106: Serializing object for golden file 202s === CONT TestGenerate/Description_starting_with_deprecated_is_ignored 202s === CONT TestGenerate/Override_without_session_takes_default 202s time="2025-10-18T15:33:30Z" level=warning msg="dconf key \"com.ubuntu.with.deprecated\":\"/com/ubuntu/with-deprecated/deprecated\" is deprecated. Ignoring" 202s === NAME TestGenerate/Description_starting_with_deprecated_is_ignored 202s dconf_test.go:106: Serializing object for golden file 202s === CONT TestGenerate/Double_key 202s === NAME TestGenerate/Override_without_session_takes_default 202s dconf_test.go:106: Serializing object for golden file 202s === NAME TestGenerate/Double_key 202s dconf_test.go:106: Serializing object for golden file 202s === CONT TestGenerate/One_decimal_key_with_max_only 202s === CONT TestGenerate/One_decimal_key_with_min_only 202s dconf_test.go:106: Serializing object for golden file 202s === CONT TestGenerate/One_text_key 202s === NAME TestGenerate/One_decimal_key_with_max_only 202s dconf_test.go:106: Serializing object for golden file 202s === NAME TestGenerate/One_text_key 202s dconf_test.go:106: Serializing object for golden file 202s === CONT TestGenerate/Enum_does_not_exist 202s === CONT TestGenerate/NaN_min 202s === CONT TestGenerate/Array_of_integers 202s dconf_test.go:106: Serializing object for golden file 202s === CONT TestGenerate/Array_of_strings 202s === CONT TestGenerate/Valid_class_should_be_capitalized 202s === NAME TestGenerate/Array_of_strings 202s dconf_test.go:106: Serializing object for golden file 202s === NAME TestGenerate/Valid_class_should_be_capitalized 202s dconf_test.go:106: Serializing object for golden file 202s === CONT TestGenerate/Relocatable_key_overridden 202s === CONT TestGenerate/Override_default_to_second_if_first_not_present 202s === NAME TestGenerate/Relocatable_key_overridden 202s dconf_test.go:106: Serializing object for golden file 202s === CONT TestGenerate/Override_with_session_takes_session_override 202s === NAME TestGenerate/Override_default_to_second_if_first_not_present 202s dconf_test.go:106: Serializing object for golden file 202s === CONT TestGenerate/Long_decimal_key 202s dconf_test.go:106: Serializing object for golden file 202s === NAME TestGenerate/Override_with_session_takes_session_override 202s dconf_test.go:106: Serializing object for golden file 202s === CONT TestGenerate/One_boolean_key 202s === CONT TestGenerate/Same_key_relocated_twice 202s === NAME TestGenerate/One_boolean_key 202s dconf_test.go:106: Serializing object for golden file 202s === NAME TestGenerate/Same_key_relocated_twice 202s dconf_test.go:106: Serializing object for golden file 202s === CONT TestGenerate/Relocatable_key 202s === CONT TestGenerate/Malformed_XML_declaration_is_successfully_parsed 202s dconf_test.go:106: Serializing object for golden file 202s === NAME TestGenerate/Relocatable_key 202s dconf_test.go:106: Serializing object for golden file 202s === CONT TestGenerate/Description_starting_with_obsolete_is_ignored 202s === CONT TestGenerate/Description_starting_with_deprecated_mixed_case_is_ignored 202s time="2025-10-18T15:33:30Z" level=warning msg="dconf key \"com.ubuntu.with.deprecated\":\"/com/ubuntu/with-deprecated/deprecated-different-cases\" is deprecated. Ignoring" 202s dconf_test.go:106: Serializing object for golden file 202s === CONT TestGenerate/Override_with_no_matching_session_defaults_to_root_override 202s time="2025-10-18T15:33:30Z" level=warning msg="dconf key \"com.ubuntu.with.deprecated\":\"/com/ubuntu/with-deprecated/obsolete\" is deprecated. Ignoring" 202s === NAME TestGenerate/Description_starting_with_obsolete_is_ignored 202s dconf_test.go:106: Serializing object for golden file 202s === CONT TestGenerate/Override_without_session 202s === NAME TestGenerate/Override_with_no_matching_session_defaults_to_root_override 202s dconf_test.go:106: Serializing object for golden file 202s === CONT TestGenerate/Long_decimal_key_with_range_min_gt_0 202s === NAME TestGenerate/Override_without_session 202s dconf_test.go:106: Serializing object for golden file 202s === CONT TestGenerate/Long_decimal_key_with_range_min_lt_0 202s === NAME TestGenerate/Long_decimal_key_with_range_min_gt_0 202s dconf_test.go:106: Serializing object for golden file 202s === NAME TestGenerate/Long_decimal_key_with_range_min_lt_0 202s dconf_test.go:106: Serializing object for golden file 202s === CONT TestGenerate/Invalid_min 202s === CONT TestGenerate/Invalid_override_files_are_skipped 202s === CONT TestGenerate/Enums_in_other_files_are_converted_to_choices 202s dconf_test.go:106: Serializing object for golden file 202s === CONT TestGenerate/Overridden_by_multiple_files,_last_wins 202s dconf_test.go:106: Serializing object for golden file 202s time="2025-10-18T15:33:30Z" 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" 202s === NAME TestGenerate/Invalid_override_files_are_skipped 202s dconf_test.go:106: Serializing object for golden file 202s === CONT TestGenerate/Override_takes_first_session 202s === CONT TestGenerate/One_decimal_key 202s dconf_test.go:106: Serializing object for golden file 202s === CONT TestGenerate/Invalid_schema_files 202s === NAME TestGenerate/Override_takes_first_session 202s dconf_test.go:106: Serializing object for golden file 202s === CONT TestGenerate/Empty 202s === CONT TestGenerate/No_key_on_system 202s === NAME TestGenerate/Empty 202s dconf_test.go:106: Serializing object for golden file 202s time="2025-10-18T15:33:30Z" level=warning msg="dconf entry \"/com/ubuntu/simple/non-existent\" is not available on this machine" 202s === NAME TestGenerate/No_key_on_system 202s dconf_test.go:106: Serializing object for golden file 202s --- PASS: TestGenerate (0.00s) 202s --- PASS: TestGenerate/Double_key_with_range (0.01s) 202s --- PASS: TestGenerate/One_decimal_key_with_range (0.01s) 202s --- PASS: TestGenerate/Unsupported_key_type (0.00s) 202s --- PASS: TestGenerate/Missing_XML_declaration_is_successfully_parsed (0.00s) 202s --- PASS: TestGenerate/Inlined_Enums_are_converted_to_choices (0.00s) 202s --- PASS: TestGenerate/Choices_are_loaded (0.00s) 202s --- PASS: TestGenerate/Invalid_class (0.00s) 202s --- PASS: TestGenerate/Key_with_class (0.00s) 202s --- PASS: TestGenerate/Description_containing_deprecated_without_starting_by_it_is_not_ignored (0.00s) 202s --- PASS: TestGenerate/Description_starting_with_deprecated_is_ignored (0.00s) 202s --- PASS: TestGenerate/Override_without_session_takes_default (0.00s) 202s --- PASS: TestGenerate/Double_key (0.00s) 202s --- PASS: TestGenerate/One_decimal_key_with_min_only (0.00s) 202s --- PASS: TestGenerate/One_decimal_key_with_max_only (0.01s) 202s --- PASS: TestGenerate/One_text_key (0.00s) 202s --- PASS: TestGenerate/Enum_does_not_exist (0.00s) 202s --- PASS: TestGenerate/NaN_min (0.00s) 202s --- PASS: TestGenerate/Array_of_integers (0.00s) 202s --- PASS: TestGenerate/Valid_class_should_be_capitalized (0.00s) 202s --- PASS: TestGenerate/Array_of_strings (0.00s) 202s --- PASS: TestGenerate/Relocatable_key_overridden (0.00s) 202s --- PASS: TestGenerate/Override_default_to_second_if_first_not_present (0.00s) 202s --- PASS: TestGenerate/Long_decimal_key (0.00s) 202s --- PASS: TestGenerate/Override_with_session_takes_session_override (0.01s) 202s --- PASS: TestGenerate/One_boolean_key (0.00s) 202s --- PASS: TestGenerate/Same_key_relocated_twice (0.00s) 202s --- PASS: TestGenerate/Malformed_XML_declaration_is_successfully_parsed (0.00s) 202s --- PASS: TestGenerate/Relocatable_key (0.00s) 202s --- PASS: TestGenerate/Description_starting_with_deprecated_mixed_case_is_ignored (0.00s) 202s --- PASS: TestGenerate/Description_starting_with_obsolete_is_ignored (0.00s) 202s --- PASS: TestGenerate/Override_with_no_matching_session_defaults_to_root_override (0.00s) 202s --- PASS: TestGenerate/Override_without_session (0.00s) 202s --- PASS: TestGenerate/Long_decimal_key_with_range_min_gt_0 (0.00s) 202s --- PASS: TestGenerate/Long_decimal_key_with_range_min_lt_0 (0.00s) 202s --- PASS: TestGenerate/Invalid_min (0.00s) 202s --- PASS: TestGenerate/Enums_in_other_files_are_converted_to_choices (0.00s) 202s --- PASS: TestGenerate/Overridden_by_multiple_files,_last_wins (0.00s) 202s --- PASS: TestGenerate/Invalid_override_files_are_skipped (0.00s) 202s --- PASS: TestGenerate/One_decimal_key (0.00s) 202s --- PASS: TestGenerate/Invalid_schema_files (0.00s) 202s --- PASS: TestGenerate/Override_takes_first_session (0.00s) 202s --- PASS: TestGenerate/Empty (0.00s) 202s --- PASS: TestGenerate/No_key_on_system (0.00s) 202s PASS 202s ok github.com/ubuntu/adsys/internal/ad/admxgen/dconf 0.062s 202s ? github.com/ubuntu/adsys/internal/ad/backends [no test files] 202s ? github.com/ubuntu/adsys/internal/ad/backends/mock [no test files] 202s === RUN TestSSSD 202s === PAUSE TestSSSD 202s === CONT TestSSSD 202s === RUN TestSSSD/Ad_server_defined_in_config_has_priority_over_active_server 202s === PAUSE TestSSSD/Ad_server_defined_in_config_has_priority_over_active_server 202s === RUN TestSSSD/Is_not_online 202s === PAUSE TestSSSD/Is_not_online 202s === RUN TestSSSD/Can_handle_special_DNS_domain_characters 202s === PAUSE TestSSSD/Can_handle_special_DNS_domain_characters 202s === RUN TestSSSD/Regular_config,_with_cache_dir 202s === PAUSE TestSSSD/Regular_config,_with_cache_dir 202s === RUN TestSSSD/ServerFQDN()_does_not_fail_when_we_do_not_need_an_active_server 202s === PAUSE TestSSSD/ServerFQDN()_does_not_fail_when_we_do_not_need_an_active_server 202s === RUN TestSSSD/Ad_server_defined_in_config_does_not_need_active_server 202s === PAUSE TestSSSD/Ad_server_defined_in_config_does_not_need_active_server 202s === RUN TestSSSD/Default_domain_suffix_is_read 202s === PAUSE TestSSSD/Default_domain_suffix_is_read 202s === RUN TestSSSD/Use_domain_from_section_if_no_ad_domain 202s === PAUSE TestSSSD/Use_domain_from_section_if_no_ad_domain 202s === RUN TestSSSD/Error_returned_by_ServerFQDN()_when_calls_is_erroring_out 202s === PAUSE TestSSSD/Error_returned_by_ServerFQDN()_when_calls_is_erroring_out 202s === RUN TestSSSD/Error_on_sssd_conf_does_not_exists 202s === PAUSE TestSSSD/Error_on_sssd_conf_does_not_exists 202s === RUN TestSSSD/Regular_config 202s === PAUSE TestSSSD/Regular_config 202s === RUN TestSSSD/SSSd_domain_can_not_match_ad_domain 202s === PAUSE TestSSSD/SSSd_domain_can_not_match_ad_domain 202s === RUN TestSSSD/Ignore_upper_cases_in_domain_name 202s === PAUSE TestSSSD/Ignore_upper_cases_in_domain_name 202s === RUN TestSSSD/No_sssd_conf_loads_the_default 202s === PAUSE TestSSSD/No_sssd_conf_loads_the_default 202s === RUN TestSSSD/Error_returned_by_ServerFQDN()_on_no_config_nor_active_server_provided 202s === PAUSE TestSSSD/Error_returned_by_ServerFQDN()_on_no_config_nor_active_server_provided 202s === RUN TestSSSD/Error_returned_by_IsOnline()__when_calls_is_erroring_out 202s === PAUSE TestSSSD/Error_returned_by_IsOnline()__when_calls_is_erroring_out 202s === RUN TestSSSD/Error_returned_by_ServerFQDN()_and_IsOnline()_when_DBUS_has_no_object 202s === PAUSE TestSSSD/Error_returned_by_ServerFQDN()_and_IsOnline()_when_DBUS_has_no_object 202s === RUN TestSSSD/Error_on_no_domains_field 202s === PAUSE TestSSSD/Error_on_no_domains_field 202s === RUN TestSSSD/Multiple_domains,_pick_first 202s === PAUSE TestSSSD/Multiple_domains,_pick_first 202s === RUN TestSSSD/Ad_server_starting_with_ldap_prefix_does_not_stutter 202s === PAUSE TestSSSD/Ad_server_starting_with_ldap_prefix_does_not_stutter 202s === RUN TestSSSD/Error_on_empty_domains_field 202s === PAUSE TestSSSD/Error_on_empty_domains_field 202s === RUN TestSSSD/Error_on_no_sssd_section 202s === PAUSE TestSSSD/Error_on_no_sssd_section 202s === RUN TestSSSD/Error_on_sssd_domain_section_missing 202s === PAUSE TestSSSD/Error_on_sssd_domain_section_missing 202s === RUN TestSSSD/Error_on_sssd_domain_empty_section 202s === PAUSE TestSSSD/Error_on_sssd_domain_empty_section 202s === CONT TestSSSD/Ad_server_defined_in_config_has_priority_over_active_server 202s === CONT TestSSSD/Error_on_sssd_conf_does_not_exists 202s === CONT TestSSSD/Error_on_sssd_domain_empty_section 202s === CONT TestSSSD/Error_on_sssd_domain_section_missing 202s === CONT TestSSSD/Error_on_no_sssd_section 202s === CONT TestSSSD/Error_on_empty_domains_field 202s === CONT TestSSSD/Ad_server_starting_with_ldap_prefix_does_not_stutter 202s === CONT TestSSSD/Multiple_domains,_pick_first 202s === CONT TestSSSD/Error_on_no_domains_field 202s === CONT TestSSSD/Error_returned_by_ServerFQDN()_and_IsOnline()_when_DBUS_has_no_object 202s === CONT TestSSSD/Error_returned_by_IsOnline()__when_calls_is_erroring_out 202s === CONT TestSSSD/Error_returned_by_ServerFQDN()_on_no_config_nor_active_server_provided 202s === CONT TestSSSD/No_sssd_conf_loads_the_default 202s === CONT TestSSSD/Ignore_upper_cases_in_domain_name 202s === CONT TestSSSD/SSSd_domain_can_not_match_ad_domain 202s === CONT TestSSSD/Regular_config 202s === CONT TestSSSD/Error_returned_by_ServerFQDN()_when_calls_is_erroring_out 202s === CONT TestSSSD/Use_domain_from_section_if_no_ad_domain 202s === CONT TestSSSD/Default_domain_suffix_is_read 202s === CONT TestSSSD/Ad_server_defined_in_config_does_not_need_active_server 202s === CONT TestSSSD/ServerFQDN()_does_not_fail_when_we_do_not_need_an_active_server 202s === CONT TestSSSD/Regular_config,_with_cache_dir 202s === CONT TestSSSD/Can_handle_special_DNS_domain_characters 202s === CONT TestSSSD/Is_not_online 202s --- PASS: TestSSSD (0.00s) 202s --- PASS: TestSSSD/Error_on_sssd_conf_does_not_exists (0.00s) 202s --- PASS: TestSSSD/Error_on_sssd_domain_empty_section (0.00s) 202s --- PASS: TestSSSD/Error_on_sssd_domain_section_missing (0.00s) 202s --- PASS: TestSSSD/Ad_server_defined_in_config_has_priority_over_active_server (0.00s) 202s --- PASS: TestSSSD/Error_on_no_sssd_section (0.00s) 202s --- PASS: TestSSSD/Error_on_empty_domains_field (0.00s) 202s --- PASS: TestSSSD/Ad_server_starting_with_ldap_prefix_does_not_stutter (0.00s) 202s --- PASS: TestSSSD/Multiple_domains,_pick_first (0.00s) 202s --- PASS: TestSSSD/Error_on_no_domains_field (0.00s) 202s --- PASS: TestSSSD/Error_returned_by_ServerFQDN()_and_IsOnline()_when_DBUS_has_no_object (0.00s) 202s --- PASS: TestSSSD/Error_returned_by_IsOnline()__when_calls_is_erroring_out (0.00s) 202s --- PASS: TestSSSD/No_sssd_conf_loads_the_default (0.00s) 202s --- PASS: TestSSSD/Error_returned_by_ServerFQDN()_on_no_config_nor_active_server_provided (0.00s) 202s --- PASS: TestSSSD/Ignore_upper_cases_in_domain_name (0.00s) 202s --- PASS: TestSSSD/SSSd_domain_can_not_match_ad_domain (0.00s) 202s --- PASS: TestSSSD/Error_returned_by_ServerFQDN()_when_calls_is_erroring_out (0.00s) 202s --- PASS: TestSSSD/Regular_config (0.00s) 202s --- PASS: TestSSSD/Default_domain_suffix_is_read (0.00s) 202s --- PASS: TestSSSD/Use_domain_from_section_if_no_ad_domain (0.00s) 202s --- PASS: TestSSSD/Ad_server_defined_in_config_does_not_need_active_server (0.00s) 202s --- PASS: TestSSSD/ServerFQDN()_does_not_fail_when_we_do_not_need_an_active_server (0.00s) 202s --- PASS: TestSSSD/Regular_config,_with_cache_dir (0.00s) 202s --- PASS: TestSSSD/Is_not_online (0.00s) 202s --- PASS: TestSSSD/Can_handle_special_DNS_domain_characters (0.00s) 202s PASS 202s ok github.com/ubuntu/adsys/internal/ad/backends/sss 0.034s 202s === RUN TestWinbind 202s winbind_test.go:25: Running subprocess with [/tmp/go-build3221804729/b617/winbind.test -test.testlogfile=/tmp/go-build3221804729/b617/testlog.txt -test.paniconexit0 -test.timeout=10m0s -test.v=true -test.run=TestWinbind] 202s === RUN TestWinbind 202s === RUN TestWinbind/Error_when_looking_up_domain 202s === RUN TestWinbind/Error_when_getting_online_status 202s === RUN TestWinbind/Error_when_domain_is_offline 202s === RUN TestWinbind/Error_when_requesting_krb5cc 202s === RUN TestWinbind/Lookup_is_successful 202s === RUN TestWinbind/Lookup_with_overridden_ad_domain 202s === RUN TestWinbind/Lookup_with_overridden_ad_server 202s === RUN TestWinbind/Error_when_looking_up_DC_name 202s === RUN TestWinbind/Lookup_with_different_hostname_is_successful 202s === RUN TestWinbind/Lookup_with_overridden_ad_server_with_LDAP_prefix 202s --- PASS: TestWinbind (0.07s) 202s --- PASS: TestWinbind/Error_when_looking_up_domain (0.00s) 202s --- PASS: TestWinbind/Error_when_getting_online_status (0.01s) 202s --- PASS: TestWinbind/Error_when_domain_is_offline (0.01s) 202s --- PASS: TestWinbind/Error_when_requesting_krb5cc (0.01s) 202s --- PASS: TestWinbind/Lookup_is_successful (0.01s) 202s --- PASS: TestWinbind/Lookup_with_overridden_ad_domain (0.01s) 202s --- PASS: TestWinbind/Lookup_with_overridden_ad_server (0.01s) 202s --- PASS: TestWinbind/Error_when_looking_up_DC_name (0.01s) 202s --- PASS: TestWinbind/Lookup_with_different_hostname_is_successful (0.01s) 202s --- PASS: TestWinbind/Lookup_with_overridden_ad_server_with_LDAP_prefix (0.01s) 202s PASS 202s --- PASS: TestWinbind (0.13s) 202s === RUN TestExecuteKinitCommand 202s --- PASS: TestExecuteKinitCommand (0.00s) 202s PASS 202s ok github.com/ubuntu/adsys/internal/ad/backends/winbind 0.135s 202s === RUN TestGetVersionID 202s === PAUSE TestGetVersionID 202s === CONT TestGetVersionID 202s === RUN TestGetVersionID/Read_VERSION_ID 202s === PAUSE TestGetVersionID/Read_VERSION_ID 202s === RUN TestGetVersionID/No_VERSION_ID_in_file 202s === PAUSE TestGetVersionID/No_VERSION_ID_in_file 202s === RUN TestGetVersionID/No_os-release_file 202s === PAUSE TestGetVersionID/No_os-release_file 202s === CONT TestGetVersionID/Read_VERSION_ID 202s === CONT TestGetVersionID/No_os-release_file 202s === CONT TestGetVersionID/No_VERSION_ID_in_file 202s --- PASS: TestGetVersionID (0.00s) 202s --- PASS: TestGetVersionID/No_os-release_file (0.00s) 202s --- PASS: TestGetVersionID/Read_VERSION_ID (0.00s) 202s --- PASS: TestGetVersionID/No_VERSION_ID_in_file (0.00s) 202s PASS 202s ok github.com/ubuntu/adsys/internal/ad/common 0.005s 202s === RUN TestReadPolicy 202s === PAUSE TestReadPolicy 202s === RUN TestDecodePolicy 202s === PAUSE TestDecodePolicy 202s === CONT TestReadPolicy 202s === RUN TestReadPolicy/value_is_not_utf16 202s === PAUSE TestReadPolicy/value_is_not_utf16 202s === RUN TestReadPolicy/two_elements 202s === PAUSE TestReadPolicy/two_elements 202s === RUN TestReadPolicy/memory_on_multiple_elements_dont_overlap 202s === PAUSE TestReadPolicy/memory_on_multiple_elements_dont_overlap 202s === RUN TestReadPolicy/semicolon_in_data 202s === PAUSE TestReadPolicy/semicolon_in_data 202s === RUN TestReadPolicy/invalid_header,_header_too_short 202s === PAUSE TestReadPolicy/invalid_header,_header_too_short 202s === RUN TestReadPolicy/no_header 202s === PAUSE TestReadPolicy/no_header 202s === RUN TestReadPolicy/key_is_not_utf16 202s === PAUSE TestReadPolicy/key_is_not_utf16 202s === RUN TestReadPolicy/very_large_gpo 202s === PAUSE TestReadPolicy/very_large_gpo 202s === RUN TestReadPolicy/empty_value 202s === PAUSE TestReadPolicy/empty_value 202s === RUN TestReadPolicy/header_only 202s === PAUSE TestReadPolicy/header_only 202s === RUN TestReadPolicy/invalid_header,_file_truncated 202s === PAUSE TestReadPolicy/invalid_header,_file_truncated 202s === RUN TestReadPolicy/missing_field 202s === PAUSE TestReadPolicy/missing_field 202s === RUN TestReadPolicy/one_element,_decimal_value 202s === PAUSE TestReadPolicy/one_element,_decimal_value 202s === RUN TestReadPolicy/exotic_return_type 202s === PAUSE TestReadPolicy/exotic_return_type 202s === RUN TestReadPolicy/empty_key 202s === PAUSE TestReadPolicy/empty_key 202s === RUN TestReadPolicy/one_element,_string_value 202s === PAUSE TestReadPolicy/one_element,_string_value 202s === RUN TestReadPolicy/section_separators_in_data 202s === PAUSE TestReadPolicy/section_separators_in_data 202s === RUN TestReadPolicy/invalid_header,_header_doesnt_match 202s === PAUSE TestReadPolicy/invalid_header,_header_doesnt_match 202s === RUN TestReadPolicy/empty_file 202s === PAUSE TestReadPolicy/empty_file 202s === RUN TestReadPolicy/section_not_closed 202s === PAUSE TestReadPolicy/section_not_closed 202s === CONT TestReadPolicy/value_is_not_utf16 202s === CONT TestReadPolicy/missing_field 202s === CONT TestReadPolicy/invalid_header,_file_truncated 202s === CONT TestReadPolicy/header_only 202s === CONT TestReadPolicy/empty_value 202s === CONT TestReadPolicy/very_large_gpo 202s === CONT TestReadPolicy/key_is_not_utf16 202s === CONT TestReadPolicy/no_header 202s === CONT TestReadPolicy/invalid_header,_header_too_short 202s === CONT TestReadPolicy/semicolon_in_data 202s === CONT TestReadPolicy/memory_on_multiple_elements_dont_overlap 202s === CONT TestReadPolicy/two_elements 202s === CONT TestReadPolicy/section_separators_in_data 202s === CONT TestDecodePolicy 202s === RUN TestDecodePolicy/value_is_not_utf16 202s === PAUSE TestDecodePolicy/value_is_not_utf16 202s === RUN TestDecodePolicy/one_element,_multitext_value 202s === PAUSE TestDecodePolicy/one_element,_multitext_value 202s === RUN TestDecodePolicy/basic_type_with_a_DISABLED_marker_keeps_meta_and_strategy 202s === PAUSE TestDecodePolicy/basic_type_with_a_DISABLED_marker_keeps_meta_and_strategy 202s === RUN TestDecodePolicy/basic_type_with_strategy 202s === PAUSE TestDecodePolicy/basic_type_with_strategy 202s === RUN TestDecodePolicy/two_containers_don’t_mix_their_default_values_when_redefined 202s === PAUSE TestDecodePolicy/two_containers_don’t_mix_their_default_values_when_redefined 202s === RUN TestDecodePolicy/two_containers_don’t_mix_their_meta_values,_even_if_second_has_none 202s === PAUSE TestDecodePolicy/two_containers_don’t_mix_their_meta_values,_even_if_second_has_none 202s === RUN TestDecodePolicy/section_separators_in_data 202s === PAUSE TestDecodePolicy/section_separators_in_data 202s === RUN TestDecodePolicy/exotic_return_type 202s === PAUSE TestDecodePolicy/exotic_return_type 202s === RUN TestDecodePolicy/container_with_default_elements_are_ignored_on_non_empty_option_values 202s === PAUSE TestDecodePolicy/container_with_default_elements_are_ignored_on_non_empty_option_values 202s === RUN TestDecodePolicy/two_containers_don’t_mix_their_default_values_even_when_second_has_none 202s === PAUSE TestDecodePolicy/two_containers_don’t_mix_their_default_values_even_when_second_has_none 202s === RUN TestDecodePolicy/empty_data 202s === PAUSE TestDecodePolicy/empty_data 202s === RUN TestDecodePolicy/invalid_header,_header_too_short 202s === PAUSE TestDecodePolicy/invalid_header,_header_too_short 202s === RUN TestDecodePolicy/one_element,_string_value 202s === PAUSE TestDecodePolicy/one_element,_string_value 202s === RUN TestDecodePolicy/one_element,_disabled 202s === PAUSE TestDecodePolicy/one_element,_disabled 202s === RUN TestDecodePolicy/disabled_container_disables_its_option_values 202s === PAUSE TestDecodePolicy/disabled_container_disables_its_option_values 202s === RUN TestDecodePolicy/container_without_metavalues 202s === PAUSE TestDecodePolicy/container_without_metavalues 202s === RUN TestDecodePolicy/invalid_header,_header_doesnt_match 202s === PAUSE TestDecodePolicy/invalid_header,_header_doesnt_match 202s === RUN TestDecodePolicy/invalid_container_default_values 202s === PAUSE TestDecodePolicy/invalid_container_default_values 202s === RUN TestDecodePolicy/no_header 202s === PAUSE TestDecodePolicy/no_header 202s === RUN TestDecodePolicy/section_not_closed 202s === PAUSE TestDecodePolicy/section_not_closed 202s === RUN TestDecodePolicy/container_with_default_elements_override_empty_option_values 202s === PAUSE TestDecodePolicy/container_with_default_elements_override_empty_option_values 202s === RUN TestDecodePolicy/container_with_meta_elements_and_default_without_value_on_options 202s === PAUSE TestDecodePolicy/container_with_meta_elements_and_default_without_value_on_options 202s === RUN TestDecodePolicy/invalid_header,_file_truncated 202s === PAUSE TestDecodePolicy/invalid_header,_file_truncated 202s === RUN TestDecodePolicy/one_element,_decimal_value 202s === PAUSE TestDecodePolicy/one_element,_decimal_value 202s === RUN TestDecodePolicy/basic_type,_disabled 202s === PAUSE TestDecodePolicy/basic_type,_disabled 202s === CONT TestReadPolicy/section_not_closed 202s === RUN TestDecodePolicy/container_with_missing_default_element_for_option_values_have_empty_strings 202s === PAUSE TestDecodePolicy/container_with_missing_default_element_for_option_values_have_empty_strings 202s === RUN TestDecodePolicy/container_with_default_elements_are_ignored_on_int_option_values_(always_have_values) 202s === PAUSE TestDecodePolicy/container_with_default_elements_are_ignored_on_int_option_values_(always_have_values) 202s === RUN TestDecodePolicy/disabled_container_with_values_needs_a_DISABLED_marker 202s === PAUSE TestDecodePolicy/disabled_container_with_values_needs_a_DISABLED_marker 202s === RUN TestDecodePolicy/policy_container_is_ignored_for_meta_of_wrong_type 202s === PAUSE TestDecodePolicy/policy_container_is_ignored_for_meta_of_wrong_type 202s === RUN TestDecodePolicy/header_only 202s === PAUSE TestDecodePolicy/header_only 202s === RUN TestDecodePolicy/invalid_decimal_value 202s === PAUSE TestDecodePolicy/invalid_decimal_value 202s === RUN TestDecodePolicy/missing_field 202s === PAUSE TestDecodePolicy/missing_field 202s === RUN TestDecodePolicy/key_is_not_utf16 202s === PAUSE TestDecodePolicy/key_is_not_utf16 202s === RUN TestDecodePolicy/basic_type,_enabled 202s === PAUSE TestDecodePolicy/basic_type,_enabled 202s === RUN TestDecodePolicy/container_strategy_is_reflected_on_child 202s === PAUSE TestDecodePolicy/container_strategy_is_reflected_on_child 202s === RUN TestDecodePolicy/semicolon_in_data 202s === PAUSE TestDecodePolicy/semicolon_in_data 202s === RUN TestDecodePolicy/null_character_in_data 202s === PAUSE TestDecodePolicy/null_character_in_data 202s === RUN TestDecodePolicy/basic_type_is_ignored_for_meta_of_wrong_type 202s === PAUSE TestDecodePolicy/basic_type_is_ignored_for_meta_of_wrong_type 202s === RUN TestDecodePolicy/empty_file 202s === PAUSE TestDecodePolicy/empty_file 202s === RUN TestDecodePolicy/empty_key 202s === PAUSE TestDecodePolicy/empty_key 202s === RUN TestDecodePolicy/two_elements 202s === PAUSE TestDecodePolicy/two_elements 202s === RUN TestDecodePolicy/disabled_container_with_values_still_keep_meta_and_strategy_with_a_DISABLED_marker 202s === PAUSE TestDecodePolicy/disabled_container_with_values_still_keep_meta_and_strategy_with_a_DISABLED_marker 202s === RUN TestDecodePolicy/container_with_meta_elements_and_value_on_options 202s === PAUSE TestDecodePolicy/container_with_meta_elements_and_value_on_options 202s === RUN TestDecodePolicy/one_container_with_2_children_don’t_mix_their_default_values 202s === PAUSE TestDecodePolicy/one_container_with_2_children_don’t_mix_their_default_values 202s === RUN TestDecodePolicy/empty_value 202s === PAUSE TestDecodePolicy/empty_value 202s === RUN TestDecodePolicy/basic_type_with_default_value_has_value_filed_in 202s === PAUSE TestDecodePolicy/basic_type_with_default_value_has_value_filed_in 202s === RUN TestDecodePolicy/basic_type_with_default_value_needs_a_DISABLED_marker 202s === PAUSE TestDecodePolicy/basic_type_with_default_value_needs_a_DISABLED_marker 202s === RUN TestDecodePolicy/disabled_container_with_disabled_option_values 202s === PAUSE TestDecodePolicy/disabled_container_with_disabled_option_values 202s === RUN TestDecodePolicy/one_container_with_2_children_don’t_mix_their_meta_values 202s === PAUSE TestDecodePolicy/one_container_with_2_children_don’t_mix_their_meta_values 202s === CONT TestReadPolicy/empty_file 202s === CONT TestReadPolicy/invalid_header,_header_doesnt_match 202s === CONT TestReadPolicy/empty_key 202s === CONT TestReadPolicy/one_element,_string_value 202s === CONT TestReadPolicy/exotic_return_type 202s === CONT TestReadPolicy/one_element,_decimal_value 202s === CONT TestDecodePolicy/value_is_not_utf16 202s --- PASS: TestReadPolicy (0.00s) 202s --- PASS: TestReadPolicy/missing_field (0.00s) 202s --- PASS: TestReadPolicy/value_is_not_utf16 (0.00s) 202s --- PASS: TestReadPolicy/invalid_header,_file_truncated (0.00s) 202s --- PASS: TestReadPolicy/header_only (0.00s) 202s --- PASS: TestReadPolicy/empty_value (0.00s) 202s --- PASS: TestReadPolicy/key_is_not_utf16 (0.00s) 202s --- PASS: TestReadPolicy/no_header (0.00s) 202s --- PASS: TestReadPolicy/invalid_header,_header_too_short (0.00s) 202s --- PASS: TestReadPolicy/semicolon_in_data (0.00s) 202s --- PASS: TestReadPolicy/very_large_gpo (0.01s) 202s --- PASS: TestReadPolicy/memory_on_multiple_elements_dont_overlap (0.00s) 202s --- PASS: TestReadPolicy/two_elements (0.00s) 202s --- PASS: TestReadPolicy/section_separators_in_data (0.00s) 202s --- PASS: TestReadPolicy/section_not_closed (0.00s) 202s --- PASS: TestReadPolicy/empty_file (0.00s) 202s --- PASS: TestReadPolicy/empty_key (0.00s) 202s --- PASS: TestReadPolicy/invalid_header,_header_doesnt_match (0.00s) 202s --- PASS: TestReadPolicy/exotic_return_type (0.00s) 202s --- PASS: TestReadPolicy/one_element,_string_value (0.00s) 202s --- PASS: TestReadPolicy/one_element,_decimal_value (0.00s) 202s === CONT TestDecodePolicy/one_container_with_2_children_don’t_mix_their_meta_values 202s === CONT TestDecodePolicy/disabled_container_with_disabled_option_values 202s === CONT TestDecodePolicy/basic_type_with_default_value_needs_a_DISABLED_marker 202s === CONT TestDecodePolicy/basic_type_with_default_value_has_value_filed_in 202s === CONT TestDecodePolicy/empty_value 202s === CONT TestDecodePolicy/one_container_with_2_children_don’t_mix_their_default_values 202s === CONT TestDecodePolicy/container_with_meta_elements_and_value_on_options 202s === CONT TestDecodePolicy/disabled_container_with_values_still_keep_meta_and_strategy_with_a_DISABLED_marker 202s === CONT TestDecodePolicy/two_elements 202s === CONT TestDecodePolicy/empty_file 202s === CONT TestDecodePolicy/basic_type_is_ignored_for_meta_of_wrong_type 202s === CONT TestDecodePolicy/empty_key 202s === CONT TestDecodePolicy/null_character_in_data 202s === CONT TestDecodePolicy/semicolon_in_data 202s === CONT TestDecodePolicy/container_strategy_is_reflected_on_child 202s === CONT TestDecodePolicy/basic_type,_enabled 202s === CONT TestDecodePolicy/key_is_not_utf16 202s === CONT TestDecodePolicy/missing_field 202s === CONT TestDecodePolicy/invalid_decimal_value 202s === CONT TestDecodePolicy/header_only 202s === CONT TestDecodePolicy/policy_container_is_ignored_for_meta_of_wrong_type 202s === CONT TestDecodePolicy/disabled_container_with_values_needs_a_DISABLED_marker 202s === CONT TestDecodePolicy/container_with_default_elements_are_ignored_on_int_option_values_(always_have_values) 202s === CONT TestDecodePolicy/basic_type,_disabled 202s === CONT TestDecodePolicy/container_with_missing_default_element_for_option_values_have_empty_strings 202s === CONT TestDecodePolicy/one_element,_decimal_value 202s === CONT TestDecodePolicy/container_with_meta_elements_and_default_without_value_on_options 202s === CONT TestDecodePolicy/invalid_header,_file_truncated 202s === CONT TestDecodePolicy/container_with_default_elements_override_empty_option_values 202s === CONT TestDecodePolicy/section_not_closed 202s === CONT TestDecodePolicy/invalid_container_default_values 202s === CONT TestDecodePolicy/no_header 202s === CONT TestDecodePolicy/invalid_header,_header_doesnt_match 202s === CONT TestDecodePolicy/container_without_metavalues 202s === CONT TestDecodePolicy/disabled_container_disables_its_option_values 202s === CONT TestDecodePolicy/one_element,_disabled 202s === CONT TestDecodePolicy/one_element,_string_value 202s === CONT TestDecodePolicy/empty_data 202s === CONT TestDecodePolicy/invalid_header,_header_too_short 202s === CONT TestDecodePolicy/two_containers_don’t_mix_their_default_values_even_when_second_has_none 202s === CONT TestDecodePolicy/container_with_default_elements_are_ignored_on_non_empty_option_values 202s === CONT TestDecodePolicy/exotic_return_type 202s === CONT TestDecodePolicy/section_separators_in_data 202s === CONT TestDecodePolicy/two_containers_don’t_mix_their_meta_values,_even_if_second_has_none 202s === CONT TestDecodePolicy/two_containers_don’t_mix_their_default_values_when_redefined 202s === CONT TestDecodePolicy/basic_type_with_strategy 202s === CONT TestDecodePolicy/basic_type_with_a_DISABLED_marker_keeps_meta_and_strategy 202s === CONT TestDecodePolicy/one_element,_multitext_value 202s --- PASS: TestDecodePolicy (0.00s) 202s --- PASS: TestDecodePolicy/value_is_not_utf16 (0.00s) 202s --- PASS: TestDecodePolicy/disabled_container_with_disabled_option_values (0.00s) 202s --- PASS: TestDecodePolicy/one_container_with_2_children_don’t_mix_their_meta_values (0.00s) 202s --- PASS: TestDecodePolicy/basic_type_with_default_value_has_value_filed_in (0.00s) 202s --- PASS: TestDecodePolicy/empty_value (0.00s) 202s --- PASS: TestDecodePolicy/basic_type_with_default_value_needs_a_DISABLED_marker (0.01s) 202s --- PASS: TestDecodePolicy/one_container_with_2_children_don’t_mix_their_default_values (0.00s) 202s --- PASS: TestDecodePolicy/container_with_meta_elements_and_value_on_options (0.00s) 202s --- PASS: TestDecodePolicy/disabled_container_with_values_still_keep_meta_and_strategy_with_a_DISABLED_marker (0.00s) 202s --- PASS: TestDecodePolicy/two_elements (0.00s) 202s --- PASS: TestDecodePolicy/empty_file (0.00s) 202s --- PASS: TestDecodePolicy/empty_key (0.00s) 202s --- PASS: TestDecodePolicy/basic_type_is_ignored_for_meta_of_wrong_type (0.00s) 202s --- PASS: TestDecodePolicy/null_character_in_data (0.00s) 202s --- PASS: TestDecodePolicy/semicolon_in_data (0.00s) 202s --- PASS: TestDecodePolicy/container_strategy_is_reflected_on_child (0.00s) 202s --- PASS: TestDecodePolicy/key_is_not_utf16 (0.00s) 202s --- PASS: TestDecodePolicy/missing_field (0.00s) 202s --- PASS: TestDecodePolicy/basic_type,_enabled (0.00s) 202s --- PASS: TestDecodePolicy/header_only (0.00s) 202s --- PASS: TestDecodePolicy/invalid_decimal_value (0.00s) 202s --- PASS: TestDecodePolicy/policy_container_is_ignored_for_meta_of_wrong_type (0.00s) 202s --- PASS: TestDecodePolicy/disabled_container_with_values_needs_a_DISABLED_marker (0.00s) 202s --- PASS: TestDecodePolicy/container_with_default_elements_are_ignored_on_int_option_values_(always_have_values) (0.00s) 202s --- PASS: TestDecodePolicy/container_with_missing_default_element_for_option_values_have_empty_strings (0.00s) 202s --- PASS: TestDecodePolicy/basic_type,_disabled (0.00s) 202s --- PASS: TestDecodePolicy/one_element,_decimal_value (0.00s) 202s --- PASS: TestDecodePolicy/invalid_header,_file_truncated (0.00s) 202s --- PASS: TestDecodePolicy/container_with_meta_elements_and_default_without_value_on_options (0.00s) 202s --- PASS: TestDecodePolicy/container_with_default_elements_override_empty_option_values (0.00s) 202s --- PASS: TestDecodePolicy/section_not_closed (0.00s) 202s --- PASS: TestDecodePolicy/no_header (0.00s) 202s --- PASS: TestDecodePolicy/invalid_header,_header_doesnt_match (0.00s) 202s --- PASS: TestDecodePolicy/invalid_container_default_values (0.00s) 202s --- PASS: TestDecodePolicy/container_without_metavalues (0.00s) 202s --- PASS: TestDecodePolicy/disabled_container_disables_its_option_values (0.00s) 202s --- PASS: TestDecodePolicy/one_element,_disabled (0.00s) 202s --- PASS: TestDecodePolicy/one_element,_string_value (0.00s) 202s --- PASS: TestDecodePolicy/invalid_header,_header_too_short (0.00s) 202s --- PASS: TestDecodePolicy/empty_data (0.00s) 202s --- PASS: TestDecodePolicy/two_containers_don’t_mix_their_default_values_even_when_second_has_none (0.00s) 202s --- PASS: TestDecodePolicy/exotic_return_type (0.00s) 202s --- PASS: TestDecodePolicy/section_separators_in_data (0.00s) 202s --- PASS: TestDecodePolicy/container_with_default_elements_are_ignored_on_non_empty_option_values (0.00s) 202s --- PASS: TestDecodePolicy/two_containers_don’t_mix_their_default_values_when_redefined (0.00s) 202s --- PASS: TestDecodePolicy/two_containers_don’t_mix_their_meta_values,_even_if_second_has_none (0.01s) 202s --- PASS: TestDecodePolicy/basic_type_with_strategy (0.00s) 202s --- PASS: TestDecodePolicy/basic_type_with_a_DISABLED_marker_keeps_meta_and_strategy (0.00s) 202s --- PASS: TestDecodePolicy/one_element,_multitext_value (0.00s) 202s === RUN FuzzDecodePolicy 202s === RUN FuzzDecodePolicy/seed#0 202s === RUN FuzzDecodePolicy/seed#1 202s === RUN FuzzDecodePolicy/seed#2 202s === RUN FuzzDecodePolicy/seed#3 202s === RUN FuzzDecodePolicy/seed#4 202s === RUN FuzzDecodePolicy/seed#5 202s === RUN FuzzDecodePolicy/seed#6 202s === RUN FuzzDecodePolicy/seed#7 202s === RUN FuzzDecodePolicy/seed#8 202s === RUN FuzzDecodePolicy/seed#9 202s === RUN FuzzDecodePolicy/seed#10 202s === RUN FuzzDecodePolicy/seed#11 202s === RUN FuzzDecodePolicy/seed#12 202s === RUN FuzzDecodePolicy/seed#13 202s === RUN FuzzDecodePolicy/seed#14 202s === RUN FuzzDecodePolicy/seed#15 202s === RUN FuzzDecodePolicy/seed#16 202s === RUN FuzzDecodePolicy/seed#17 202s === RUN FuzzDecodePolicy/seed#18 202s === RUN FuzzDecodePolicy/seed#19 202s === RUN FuzzDecodePolicy/seed#20 202s === RUN FuzzDecodePolicy/seed#21 202s === RUN FuzzDecodePolicy/seed#22 202s === RUN FuzzDecodePolicy/seed#23 202s === RUN FuzzDecodePolicy/seed#24 202s === RUN FuzzDecodePolicy/seed#25 202s === RUN FuzzDecodePolicy/seed#26 202s === RUN FuzzDecodePolicy/seed#27 202s === RUN FuzzDecodePolicy/seed#28 202s === RUN FuzzDecodePolicy/seed#29 202s === RUN FuzzDecodePolicy/seed#30 202s === RUN FuzzDecodePolicy/seed#31 202s === RUN FuzzDecodePolicy/seed#32 202s === RUN FuzzDecodePolicy/seed#33 202s === RUN FuzzDecodePolicy/seed#34 202s === RUN FuzzDecodePolicy/seed#35 202s === RUN FuzzDecodePolicy/seed#36 202s === RUN FuzzDecodePolicy/seed#37 202s === RUN FuzzDecodePolicy/seed#38 202s === RUN FuzzDecodePolicy/seed#39 202s === RUN FuzzDecodePolicy/seed#40 202s === RUN FuzzDecodePolicy/seed#41 202s === RUN FuzzDecodePolicy/seed#42 202s === RUN FuzzDecodePolicy/seed#43 202s === RUN FuzzDecodePolicy/seed#44 202s === RUN FuzzDecodePolicy/seed#45 202s === RUN FuzzDecodePolicy/seed#46 202s === RUN FuzzDecodePolicy/seed#47 202s === RUN FuzzDecodePolicy/seed#48 202s === RUN FuzzDecodePolicy/seed#49 202s === RUN FuzzDecodePolicy/seed#50 202s === RUN FuzzDecodePolicy/seed#51 202s === RUN FuzzDecodePolicy/seed#52 202s === RUN FuzzDecodePolicy/seed#53 202s === RUN FuzzDecodePolicy/0062cd090fe349d2 202s === RUN FuzzDecodePolicy/04b7526092323e1c 202s === RUN FuzzDecodePolicy/0defa8b97933a28f 202s === RUN FuzzDecodePolicy/133d1110defea029 202s === RUN FuzzDecodePolicy/1417961320cddc32 202s === RUN FuzzDecodePolicy/18ca9a9ddd9b04c5 202s === RUN FuzzDecodePolicy/1b6cf53b6668b5b8 202s === RUN FuzzDecodePolicy/1b723f18e7bbd2bd 202s === RUN FuzzDecodePolicy/1fa4e44bc7eaab2b 202s === RUN FuzzDecodePolicy/20bb28e943f3a163 202s === RUN FuzzDecodePolicy/20f9df382d135424 202s === RUN FuzzDecodePolicy/21a02646df37f4a3 202s === RUN FuzzDecodePolicy/222e7dcc7ccf2b94 202s === RUN FuzzDecodePolicy/263b842aaa06d620 202s === RUN FuzzDecodePolicy/28ee70a86ff08ae5 202s === RUN FuzzDecodePolicy/298aa48ef602f955 202s === RUN FuzzDecodePolicy/2cb06d9f4d5ffe78 202s === RUN FuzzDecodePolicy/2e90d7e4f1973efd 202s === RUN FuzzDecodePolicy/2f2f939e0f0a5dfa 202s === RUN FuzzDecodePolicy/2f559466be2bb6db 202s === RUN FuzzDecodePolicy/3183a1d080909e99 202s === RUN FuzzDecodePolicy/31b9c4efbfccaa4b 202s === RUN FuzzDecodePolicy/33661e4c5fce45df 202s === RUN FuzzDecodePolicy/33c1677cf59487f5 202s === RUN FuzzDecodePolicy/3a49e3a9b34e7ca0 202s === RUN FuzzDecodePolicy/3f5a8494482ab97f 202s === RUN FuzzDecodePolicy/40a5045c4171f005 202s === RUN FuzzDecodePolicy/44e971d5bd7f28b3 202s === RUN FuzzDecodePolicy/44ef800113434b04 202s === RUN FuzzDecodePolicy/471661e7b661c53d 202s === RUN FuzzDecodePolicy/476ca3647151c006 202s === RUN FuzzDecodePolicy/4843648786c70b38 202s === RUN FuzzDecodePolicy/48ca8b9fbeccc5a8 202s === RUN FuzzDecodePolicy/4a75b70e3bbd2aee 202s === RUN FuzzDecodePolicy/4ab54fbe4f748f85 202s === RUN FuzzDecodePolicy/4b03a60474b90bbd 202s === RUN FuzzDecodePolicy/4cf871ee411324fb 202s === RUN FuzzDecodePolicy/4f1d38c1e12aef6a 202s === RUN FuzzDecodePolicy/5044e53350040819 202s === RUN FuzzDecodePolicy/504944f54851313c 202s === RUN FuzzDecodePolicy/582528ddfad69eb5 202s === RUN FuzzDecodePolicy/593a3ee315061853 202s === RUN FuzzDecodePolicy/59d23806a24221a5 202s === RUN FuzzDecodePolicy/5a29ff4d9005ba8b 202s === RUN FuzzDecodePolicy/5f0ada98ca1ad1a9 202s === RUN FuzzDecodePolicy/62a8dced0efc9d72 202s === RUN FuzzDecodePolicy/68c1564da597fea0 202s === RUN FuzzDecodePolicy/69603dec84f1482b 202s === RUN FuzzDecodePolicy/6960c361007d8825 202s === RUN FuzzDecodePolicy/699e9d8d0197487d 202s === RUN FuzzDecodePolicy/6ccb1b379873af9f 202s === RUN FuzzDecodePolicy/6d1b1e240f60f6c9 202s === RUN FuzzDecodePolicy/6d3215f003388cf1 202s === RUN FuzzDecodePolicy/6d817b46e0caad15 202s === RUN FuzzDecodePolicy/6dc2686e428754f3 202s === RUN FuzzDecodePolicy/6ddc8b3bed7c0e39 202s === RUN FuzzDecodePolicy/6e0990202f9b9d55 202s === RUN FuzzDecodePolicy/6e1da4d6ea90bc7a 202s === RUN FuzzDecodePolicy/6f0e2fcef25f63cf 202s === RUN FuzzDecodePolicy/72cca4222533d089 202s === RUN FuzzDecodePolicy/731d3b5bde9cc690 202s === RUN FuzzDecodePolicy/7361de35bf70bf17 202s === RUN FuzzDecodePolicy/749f16c9bc3cc87e 202s === RUN FuzzDecodePolicy/74ac7250a3338978 202s === RUN FuzzDecodePolicy/758383ad78d1ddd4 202s === RUN FuzzDecodePolicy/76f1ccb3afa04e6e 202s === RUN FuzzDecodePolicy/795ceb881d4221e3 202s === RUN FuzzDecodePolicy/7b60c5de747214b6 202s === RUN FuzzDecodePolicy/7bc7f7ba36ff22f5 202s === RUN FuzzDecodePolicy/7f3faed21426db2f 202s === RUN FuzzDecodePolicy/82a803231677d0f5 202s === RUN FuzzDecodePolicy/837bc22f260799fd 202s === RUN FuzzDecodePolicy/85315bd4891f6c1e 202s === RUN FuzzDecodePolicy/867b5ab9e5d21aea 202s === RUN FuzzDecodePolicy/888de5c9e80ce3b0 202s === RUN FuzzDecodePolicy/8a61b9487446d726 202s === RUN FuzzDecodePolicy/8b0f0dee6f9a48fd 202s === RUN FuzzDecodePolicy/8e8f4e91b7c5bfd0 202s === RUN FuzzDecodePolicy/8f19b0f96affeba8 202s === RUN FuzzDecodePolicy/9334c46469323973 202s === RUN FuzzDecodePolicy/9604c69b88bc6151 202s === RUN FuzzDecodePolicy/963211680af6bd1a 202s === RUN FuzzDecodePolicy/972db90b4d6a1d5b 202s === RUN FuzzDecodePolicy/985ec3cbf457896a 202s === RUN FuzzDecodePolicy/997536fa86bbbc34 202s === RUN FuzzDecodePolicy/9acd70418e457d18 202s === RUN FuzzDecodePolicy/9b0a4105f1089a20 202s === RUN FuzzDecodePolicy/9d8cdc0719c46928 202s === RUN FuzzDecodePolicy/9e6f333572766a4b 202s === RUN FuzzDecodePolicy/9e943f761adfbbd0 202s === RUN FuzzDecodePolicy/a1698d53f5c4d82d 202s === RUN FuzzDecodePolicy/a1841a4689867471 202s === RUN FuzzDecodePolicy/a26ca284000eeff9 202s === RUN FuzzDecodePolicy/a552164bb872fda4 202s === RUN FuzzDecodePolicy/a9c5e443bf44c80d 202s === RUN FuzzDecodePolicy/ac277569a745611f 202s === RUN FuzzDecodePolicy/ac53c3dce7a4706d 202s === RUN FuzzDecodePolicy/ada28ad70c7345f1 202s === RUN FuzzDecodePolicy/adb9a13c291b7e8c 202s === RUN FuzzDecodePolicy/aeb9d5c55731dae0 202s === RUN FuzzDecodePolicy/af71c7d394bbf535 202s === RUN FuzzDecodePolicy/b0ecd34477c6628e 202s === RUN FuzzDecodePolicy/b1585b9aa01c16b3 202s === RUN FuzzDecodePolicy/b6264d058ed4028a 202s === RUN FuzzDecodePolicy/b6790bea1e752c32 202s === RUN FuzzDecodePolicy/b741e8aa6c8179ba 202s === RUN FuzzDecodePolicy/b9032509681e867b 202s === RUN FuzzDecodePolicy/bb684f658455e982 202s === RUN FuzzDecodePolicy/bc6ddfc82e38438b 202s === RUN FuzzDecodePolicy/bf4f46d3858edb39 202s === RUN FuzzDecodePolicy/bfdd1bd65b5f5c04 202s === RUN FuzzDecodePolicy/c01841582b4cdc2f 202s === RUN FuzzDecodePolicy/c340eca55c3c30e3 202s === RUN FuzzDecodePolicy/c39235a2f77e92fd 202s === RUN FuzzDecodePolicy/c4d9def3916de265 202s === RUN FuzzDecodePolicy/c610d176a1726c39 202s === RUN FuzzDecodePolicy/ca683af05a78b772 202s === RUN FuzzDecodePolicy/cac340cbf4f81f48 202s === RUN FuzzDecodePolicy/ccdaead0f44dc069 202s === RUN FuzzDecodePolicy/ce8467c12ac1478e 202s === RUN FuzzDecodePolicy/cebcbd67b0b51d54 202s === RUN FuzzDecodePolicy/cf318b520a8e55be 202s === RUN FuzzDecodePolicy/cf592b0a6a725d1c 202s === RUN FuzzDecodePolicy/d0b8dc40737b3ff0 202s === RUN FuzzDecodePolicy/d2969c8e25b51895 202s === RUN FuzzDecodePolicy/d4e956bdff66867a 202s === RUN FuzzDecodePolicy/d5b932675c6ca808 202s === RUN FuzzDecodePolicy/dac7bf5435c51dea 202s === RUN FuzzDecodePolicy/dddc8d06ef526aba 202s === RUN FuzzDecodePolicy/e3065cb3ac7c0f78 202s === RUN FuzzDecodePolicy/e4242a66193c4579 202s === RUN FuzzDecodePolicy/e4a4780eb4ee185b 202s === RUN FuzzDecodePolicy/e5b22ed07e48d3fb 202s === RUN FuzzDecodePolicy/e7e4a84593481e49 202s === RUN FuzzDecodePolicy/e8030826b4125cbb 202s === RUN FuzzDecodePolicy/e923261af5ebad81 202s === RUN FuzzDecodePolicy/ea426f6b8bedc4d6 202s === RUN FuzzDecodePolicy/ead723bc16638dcb 202s === RUN FuzzDecodePolicy/f131b8f78f028a54 202s === RUN FuzzDecodePolicy/f1c1d58ecbe0d6dd 202s === RUN FuzzDecodePolicy/f3313a9f40c82a87 202s === RUN FuzzDecodePolicy/f4f490e788a76488 202s === RUN FuzzDecodePolicy/fa7acaf11cff6812 202s === RUN FuzzDecodePolicy/fb991a0182b5fe4d 202s === RUN FuzzDecodePolicy/fc0deb922246d3b7 202s === RUN FuzzDecodePolicy/fccd118f10988218 202s === RUN FuzzDecodePolicy/fe9d2018570dc6c6 202s === RUN FuzzDecodePolicy/ffd2d2b4544a818d 202s === RUN FuzzDecodePolicy/ffd60d90486b3974 202s === RUN FuzzDecodePolicy/regression-test-input-333 202s --- PASS: FuzzDecodePolicy (0.40s) 202s --- PASS: FuzzDecodePolicy/seed#0 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#1 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#2 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#3 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#4 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#5 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#6 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#7 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#8 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#9 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#10 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#11 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#12 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#13 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#14 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#15 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#16 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#17 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#18 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#19 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#20 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#21 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#22 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#23 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#24 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#25 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#26 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#27 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#28 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#29 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#30 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#31 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#32 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#33 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#34 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#35 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#36 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#37 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#38 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#39 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#40 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#41 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#42 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#43 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#44 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#45 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#46 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#47 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#48 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#49 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#50 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#51 (0.00s) 202s --- PASS: FuzzDecodePolicy/seed#52 (0.01s) 202s --- PASS: FuzzDecodePolicy/seed#53 (0.00s) 202s --- PASS: FuzzDecodePolicy/0062cd090fe349d2 (0.00s) 202s --- PASS: FuzzDecodePolicy/04b7526092323e1c (0.00s) 202s --- PASS: FuzzDecodePolicy/0defa8b97933a28f (0.00s) 202s --- PASS: FuzzDecodePolicy/133d1110defea029 (0.00s) 202s --- PASS: FuzzDecodePolicy/1417961320cddc32 (0.00s) 202s --- PASS: FuzzDecodePolicy/18ca9a9ddd9b04c5 (0.00s) 202s --- PASS: FuzzDecodePolicy/1b6cf53b6668b5b8 (0.00s) 202s --- PASS: FuzzDecodePolicy/1b723f18e7bbd2bd (0.00s) 202s --- PASS: FuzzDecodePolicy/1fa4e44bc7eaab2b (0.00s) 202s --- PASS: FuzzDecodePolicy/20bb28e943f3a163 (0.00s) 202s --- PASS: FuzzDecodePolicy/20f9df382d135424 (0.00s) 202s --- PASS: FuzzDecodePolicy/21a02646df37f4a3 (0.00s) 202s --- PASS: FuzzDecodePolicy/222e7dcc7ccf2b94 (0.00s) 202s --- PASS: FuzzDecodePolicy/263b842aaa06d620 (0.00s) 202s --- PASS: FuzzDecodePolicy/28ee70a86ff08ae5 (0.00s) 202s --- PASS: FuzzDecodePolicy/298aa48ef602f955 (0.00s) 202s --- PASS: FuzzDecodePolicy/2cb06d9f4d5ffe78 (0.00s) 202s --- PASS: FuzzDecodePolicy/2e90d7e4f1973efd (0.00s) 202s --- PASS: FuzzDecodePolicy/2f2f939e0f0a5dfa (0.00s) 202s --- PASS: FuzzDecodePolicy/2f559466be2bb6db (0.00s) 202s --- PASS: FuzzDecodePolicy/3183a1d080909e99 (0.00s) 202s --- PASS: FuzzDecodePolicy/31b9c4efbfccaa4b (0.00s) 202s --- PASS: FuzzDecodePolicy/33661e4c5fce45df (0.00s) 202s --- PASS: FuzzDecodePolicy/33c1677cf59487f5 (0.00s) 202s --- PASS: FuzzDecodePolicy/3a49e3a9b34e7ca0 (0.00s) 202s --- PASS: FuzzDecodePolicy/3f5a8494482ab97f (0.00s) 202s --- PASS: FuzzDecodePolicy/40a5045c4171f005 (0.00s) 202s --- PASS: FuzzDecodePolicy/44e971d5bd7f28b3 (0.00s) 202s --- PASS: FuzzDecodePolicy/44ef800113434b04 (0.05s) 202s --- PASS: FuzzDecodePolicy/471661e7b661c53d (0.00s) 202s --- PASS: FuzzDecodePolicy/476ca3647151c006 (0.00s) 202s --- PASS: FuzzDecodePolicy/4843648786c70b38 (0.00s) 202s --- PASS: FuzzDecodePolicy/48ca8b9fbeccc5a8 (0.00s) 202s --- PASS: FuzzDecodePolicy/4a75b70e3bbd2aee (0.00s) 202s --- PASS: FuzzDecodePolicy/4ab54fbe4f748f85 (0.00s) 202s --- PASS: FuzzDecodePolicy/4b03a60474b90bbd (0.00s) 202s --- PASS: FuzzDecodePolicy/4cf871ee411324fb (0.00s) 202s --- PASS: FuzzDecodePolicy/4f1d38c1e12aef6a (0.00s) 202s --- PASS: FuzzDecodePolicy/5044e53350040819 (0.00s) 202s --- PASS: FuzzDecodePolicy/504944f54851313c (0.00s) 202s --- PASS: FuzzDecodePolicy/582528ddfad69eb5 (0.00s) 202s --- PASS: FuzzDecodePolicy/593a3ee315061853 (0.00s) 202s --- PASS: FuzzDecodePolicy/59d23806a24221a5 (0.00s) 202s --- PASS: FuzzDecodePolicy/5a29ff4d9005ba8b (0.00s) 202s --- PASS: FuzzDecodePolicy/5f0ada98ca1ad1a9 (0.00s) 202s --- PASS: FuzzDecodePolicy/62a8dced0efc9d72 (0.01s) 202s --- PASS: FuzzDecodePolicy/68c1564da597fea0 (0.00s) 202s --- PASS: FuzzDecodePolicy/69603dec84f1482b (0.00s) 202s --- PASS: FuzzDecodePolicy/6960c361007d8825 (0.00s) 202s --- PASS: FuzzDecodePolicy/699e9d8d0197487d (0.00s) 202s --- PASS: FuzzDecodePolicy/6ccb1b379873af9f (0.00s) 202s --- PASS: FuzzDecodePolicy/6d1b1e240f60f6c9 (0.00s) 202s --- PASS: FuzzDecodePolicy/6d3215f003388cf1 (0.00s) 202s --- PASS: FuzzDecodePolicy/6d817b46e0caad15 (0.00s) 202s --- PASS: FuzzDecodePolicy/6dc2686e428754f3 (0.00s) 202s --- PASS: FuzzDecodePolicy/6ddc8b3bed7c0e39 (0.00s) 202s --- PASS: FuzzDecodePolicy/6e0990202f9b9d55 (0.00s) 202s --- PASS: FuzzDecodePolicy/6e1da4d6ea90bc7a (0.00s) 202s --- PASS: FuzzDecodePolicy/6f0e2fcef25f63cf (0.00s) 202s --- PASS: FuzzDecodePolicy/72cca4222533d089 (0.00s) 202s --- PASS: FuzzDecodePolicy/731d3b5bde9cc690 (0.00s) 202s --- PASS: FuzzDecodePolicy/7361de35bf70bf17 (0.00s) 202s --- PASS: FuzzDecodePolicy/749f16c9bc3cc87e (0.00s) 202s --- PASS: FuzzDecodePolicy/74ac7250a3338978 (0.00s) 202s --- PASS: FuzzDecodePolicy/758383ad78d1ddd4 (0.00s) 202s --- PASS: FuzzDecodePolicy/76f1ccb3afa04e6e (0.00s) 202s --- PASS: FuzzDecodePolicy/795ceb881d4221e3 (0.00s) 202s --- PASS: FuzzDecodePolicy/7b60c5de747214b6 (0.03s) 202s --- PASS: FuzzDecodePolicy/7bc7f7ba36ff22f5 (0.00s) 202s --- PASS: FuzzDecodePolicy/7f3faed21426db2f (0.00s) 202s --- PASS: FuzzDecodePolicy/82a803231677d0f5 (0.00s) 202s --- PASS: FuzzDecodePolicy/837bc22f260799fd (0.00s) 202s --- PASS: FuzzDecodePolicy/85315bd4891f6c1e (0.00s) 202s --- PASS: FuzzDecodePolicy/867b5ab9e5d21aea (0.00s) 202s --- PASS: FuzzDecodePolicy/888de5c9e80ce3b0 (0.01s) 202s --- PASS: FuzzDecodePolicy/8a61b9487446d726 (0.00s) 202s --- PASS: FuzzDecodePolicy/8b0f0dee6f9a48fd (0.00s) 202s --- PASS: FuzzDecodePolicy/8e8f4e91b7c5bfd0 (0.00s) 202s --- PASS: FuzzDecodePolicy/8f19b0f96affeba8 (0.00s) 202s --- PASS: FuzzDecodePolicy/9334c46469323973 (0.00s) 202s --- PASS: FuzzDecodePolicy/9604c69b88bc6151 (0.00s) 202s --- PASS: FuzzDecodePolicy/963211680af6bd1a (0.00s) 202s --- PASS: FuzzDecodePolicy/972db90b4d6a1d5b (0.00s) 202s --- PASS: FuzzDecodePolicy/985ec3cbf457896a (0.00s) 202s --- PASS: FuzzDecodePolicy/997536fa86bbbc34 (0.00s) 202s --- PASS: FuzzDecodePolicy/9acd70418e457d18 (0.00s) 202s --- PASS: FuzzDecodePolicy/9b0a4105f1089a20 (0.00s) 202s --- PASS: FuzzDecodePolicy/9d8cdc0719c46928 (0.00s) 202s --- PASS: FuzzDecodePolicy/9e6f333572766a4b (0.00s) 202s --- PASS: FuzzDecodePolicy/9e943f761adfbbd0 (0.00s) 202s --- PASS: FuzzDecodePolicy/a1698d53f5c4d82d (0.00s) 202s --- PASS: FuzzDecodePolicy/a1841a4689867471 (0.00s) 202s --- PASS: FuzzDecodePolicy/a26ca284000eeff9 (0.00s) 202s --- PASS: FuzzDecodePolicy/a552164bb872fda4 (0.00s) 202s --- PASS: FuzzDecodePolicy/a9c5e443bf44c80d (0.00s) 202s --- PASS: FuzzDecodePolicy/ac277569a745611f (0.00s) 202s --- PASS: FuzzDecodePolicy/ac53c3dce7a4706d (0.00s) 202s --- PASS: FuzzDecodePolicy/ada28ad70c7345f1 (0.00s) 202s --- PASS: FuzzDecodePolicy/adb9a13c291b7e8c (0.00s) 202s --- PASS: FuzzDecodePolicy/aeb9d5c55731dae0 (0.00s) 202s --- PASS: FuzzDecodePolicy/af71c7d394bbf535 (0.00s) 202s --- PASS: FuzzDecodePolicy/b0ecd34477c6628e (0.00s) 202s --- PASS: FuzzDecodePolicy/b1585b9aa01c16b3 (0.00s) 202s --- PASS: FuzzDecodePolicy/b6264d058ed4028a (0.00s) 202s --- PASS: FuzzDecodePolicy/b6790bea1e752c32 (0.00s) 202s --- PASS: FuzzDecodePolicy/b741e8aa6c8179ba (0.00s) 202s --- PASS: FuzzDecodePolicy/b9032509681e867b (0.00s) 202s --- PASS: FuzzDecodePolicy/bb684f658455e982 (0.00s) 202s --- PASS: FuzzDecodePolicy/bc6ddfc82e38438b (0.00s) 202s --- PASS: FuzzDecodePolicy/bf4f46d3858edb39 (0.00s) 202s --- PASS: FuzzDecodePolicy/bfdd1bd65b5f5c04 (0.00s) 202s --- PASS: FuzzDecodePolicy/c01841582b4cdc2f (0.00s) 202s --- PASS: FuzzDecodePolicy/c340eca55c3c30e3 (0.00s) 202s --- PASS: FuzzDecodePolicy/c39235a2f77e92fd (0.00s) 202s --- PASS: FuzzDecodePolicy/c4d9def3916de265 (0.00s) 202s --- PASS: FuzzDecodePolicy/c610d176a1726c39 (0.00s) 202s --- PASS: FuzzDecodePolicy/ca683af05a78b772 (0.00s) 202s --- PASS: FuzzDecodePolicy/cac340cbf4f81f48 (0.00s) 202s --- PASS: FuzzDecodePolicy/ccdaead0f44dc069 (0.00s) 202s --- PASS: FuzzDecodePolicy/ce8467c12ac1478e (0.00s) 202s --- PASS: FuzzDecodePolicy/cebcbd67b0b51d54 (0.00s) 202s --- PASS: FuzzDecodePolicy/cf318b520a8e55be (0.00s) 202s --- PASS: FuzzDecodePolicy/cf592b0a6a725d1c (0.00s) 202s --- PASS: FuzzDecodePolicy/d0b8dc40737b3ff0 (0.00s) 202s --- PASS: FuzzDecodePolicy/d2969c8e25b51895 (0.00s) 202s --- PASS: FuzzDecodePolicy/d4e956bdff66867a (0.00s) 202s --- PASS: FuzzDecodePolicy/d5b932675c6ca808 (0.00s) 202s --- PASS: FuzzDecodePolicy/dac7bf5435c51dea (0.00s) 202s --- PASS: FuzzDecodePolicy/dddc8d06ef526aba (0.00s) 202s --- PASS: FuzzDecodePolicy/e3065cb3ac7c0f78 (0.00s) 202s --- PASS: FuzzDecodePolicy/e4242a66193c4579 (0.00s) 202s --- PASS: FuzzDecodePolicy/e4a4780eb4ee185b (0.00s) 202s --- PASS: FuzzDecodePolicy/e5b22ed07e48d3fb (0.00s) 202s --- PASS: FuzzDecodePolicy/e7e4a84593481e49 (0.00s) 202s --- PASS: FuzzDecodePolicy/e8030826b4125cbb (0.00s) 202s --- PASS: FuzzDecodePolicy/e923261af5ebad81 (0.00s) 202s --- PASS: FuzzDecodePolicy/ea426f6b8bedc4d6 (0.00s) 202s --- PASS: FuzzDecodePolicy/ead723bc16638dcb (0.00s) 202s --- PASS: FuzzDecodePolicy/f131b8f78f028a54 (0.00s) 202s --- PASS: FuzzDecodePolicy/f1c1d58ecbe0d6dd (0.00s) 202s --- PASS: FuzzDecodePolicy/f3313a9f40c82a87 (0.00s) 202s --- PASS: FuzzDecodePolicy/f4f490e788a76488 (0.00s) 202s --- PASS: FuzzDecodePolicy/fa7acaf11cff6812 (0.00s) 202s --- PASS: FuzzDecodePolicy/fb991a0182b5fe4d (0.00s) 202s --- PASS: FuzzDecodePolicy/fc0deb922246d3b7 (0.00s) 202s --- PASS: FuzzDecodePolicy/fccd118f10988218 (0.00s) 202s --- PASS: FuzzDecodePolicy/fe9d2018570dc6c6 (0.04s) 202s --- PASS: FuzzDecodePolicy/ffd2d2b4544a818d (0.00s) 202s --- PASS: FuzzDecodePolicy/ffd60d90486b3974 (0.00s) 202s --- PASS: FuzzDecodePolicy/regression-test-input-333 (0.00s) 202s PASS 202s ok github.com/ubuntu/adsys/internal/ad/registry 0.448s 202s === RUN TestNew 202s === PAUSE TestNew 202s === CONT TestNew 202s === RUN TestNew/New_and_Quit_succeeds_and_defaults_to_sssd,_first_run 202s === PAUSE TestNew/New_and_Quit_succeeds_and_defaults_to_sssd,_first_run 202s === RUN TestNew/Adsys_directory_can_already_exists 202s === PAUSE TestNew/Adsys_directory_can_already_exists 202s === RUN TestNew/Unknown_backend_defaults_to_sssd 202s === PAUSE TestNew/Unknown_backend_defaults_to_sssd 202s === RUN TestNew/Select_sssd_backend_explicitly 202s === PAUSE TestNew/Select_sssd_backend_explicitly 202s === RUN TestNew/Select_winbind_backend_explicitly 202s === PAUSE TestNew/Select_winbind_backend_explicitly 202s === RUN TestNew/Error_on_failure_to_create_run_directory 202s === PAUSE TestNew/Error_on_failure_to_create_run_directory 202s === RUN TestNew/Error_on_nonexistent_sssd.conf 202s === PAUSE TestNew/Error_on_nonexistent_sssd.conf 202s === RUN TestNew/Error_on_ad.New_prevents_adsysservice_creation 202s === PAUSE TestNew/Error_on_ad.New_prevents_adsysservice_creation 202s === RUN TestNew/Error_on_failure_to_create_cache_directory 202s === PAUSE TestNew/Error_on_failure_to_create_cache_directory 202s === CONT TestNew/New_and_Quit_succeeds_and_defaults_to_sssd,_first_run 202s === CONT TestNew/Error_on_failure_to_create_run_directory 202s === CONT TestNew/Error_on_failure_to_create_cache_directory 202s === CONT TestNew/Error_on_ad.New_prevents_adsysservice_creation 202s === CONT TestNew/Error_on_nonexistent_sssd.conf 202s === CONT TestNew/Select_sssd_backend_explicitly 202s === CONT TestNew/Select_winbind_backend_explicitly 202s === CONT TestNew/Unknown_backend_defaults_to_sssd 202s time="2025-10-18T15:33:37Z" level=warning msg="could not get online status for domain \"example.com\": status code 6" 202s time="2025-10-18T15:33:37Z" level=warning msg="Unknown configured backend \"unknown-backend\". Defaulting to sssd." 202s === CONT TestNew/Adsys_directory_can_already_exists 202s --- PASS: TestNew (0.00s) 202s --- PASS: TestNew/Error_on_failure_to_create_run_directory (0.00s) 202s --- PASS: TestNew/Error_on_failure_to_create_cache_directory (0.00s) 202s --- PASS: TestNew/Error_on_ad.New_prevents_adsysservice_creation (0.00s) 202s --- PASS: TestNew/New_and_Quit_succeeds_and_defaults_to_sssd,_first_run (0.01s) 202s --- PASS: TestNew/Error_on_nonexistent_sssd.conf (0.00s) 202s --- PASS: TestNew/Select_sssd_backend_explicitly (0.00s) 202s --- PASS: TestNew/Select_winbind_backend_explicitly (0.01s) 202s --- PASS: TestNew/Unknown_backend_defaults_to_sssd (0.01s) 202s --- PASS: TestNew/Adsys_directory_can_already_exists (0.00s) 202s PASS 202s ok github.com/ubuntu/adsys/internal/adsysservice 0.083s 202s ? github.com/ubuntu/adsys/internal/adsysservice/actions [no test files] 202s === RUN TestIsAllowed 202s === PAUSE TestIsAllowed 202s === RUN TestPeerCredsInfoAuthType 202s === PAUSE TestPeerCredsInfoAuthType 202s === RUN TestServerPeerCredsHandshake 202s === PAUSE TestServerPeerCredsHandshake 202s === RUN TestServerPeerCredsInvalidSocket 202s === PAUSE TestServerPeerCredsInvalidSocket 202s === RUN TestIsAllowedFromContext 202s === PAUSE TestIsAllowedFromContext 202s === RUN TestIsAllowedFromContextWithoutPeer 202s === PAUSE TestIsAllowedFromContextWithoutPeer 202s === RUN TestIsAllowedFromContextWithInvalidPeerCreds 202s === PAUSE TestIsAllowedFromContextWithInvalidPeerCreds 202s === RUN TestIsAllowedFromContextWithoutUserKey 202s === PAUSE TestIsAllowedFromContextWithoutUserKey 202s === CONT TestIsAllowed 202s === CONT TestIsAllowedFromContext 202s === RUN TestIsAllowed/Root_is_always_authorized 202s === PAUSE TestIsAllowed/Root_is_always_authorized 202s === RUN TestIsAllowed/Valid_process_and_ACK 202s === PAUSE TestIsAllowed/Valid_process_and_ACK 202s === RUN TestIsAllowed/Valid_process_and_NACK 202s === PAUSE TestIsAllowed/Valid_process_and_NACK 202s === RUN TestIsAllowed/Invalid_process_stat_file:_)_at_the_end 202s === PAUSE TestIsAllowed/Invalid_process_stat_file:_)_at_the_end 202s === RUN TestIsAllowed/Invalid_process_stat_file:_field_isn't_present 202s === PAUSE TestIsAllowed/Invalid_process_stat_file:_field_isn't_present 202s === RUN TestIsAllowed/User_Action_on_other_user_translates_to_Other_parameter_as_ID 202s === PAUSE TestIsAllowed/User_Action_on_other_user_translates_to_Other_parameter_as_ID 202s === RUN TestIsAllowed/Process_doesn't_exists 202s === PAUSE TestIsAllowed/Process_doesn't_exists 202s === RUN TestIsAllowed/Invalid_process_stat_file:_missing_) 202s === PAUSE TestIsAllowed/Invalid_process_stat_file:_missing_) 202s === RUN TestIsAllowed/Invalid_process_stat_file:_field_isn't_an_int 202s === RUN TestIsAllowedFromContext/Valid_process_and_ACK 202s === PAUSE TestIsAllowedFromContext/Valid_process_and_ACK 202s === RUN TestIsAllowedFromContext/Valid_process_and_NACK 202s === PAUSE TestIsAllowedFromContext/Valid_process_and_NACK 202s === RUN TestIsAllowedFromContext/Extract_current_user_action_from_request 202s === PAUSE TestIsAllowedFromContext/Extract_current_user_action_from_request 202s === RUN TestIsAllowedFromContext/Extract_other_user_action_from_request 202s === PAUSE TestIsAllowed/Invalid_process_stat_file:_field_isn't_an_int 202s === PAUSE TestIsAllowedFromContext/Extract_other_user_action_from_request 202s === RUN TestIsAllowed/Polkit_dbus_call_errors_out 202s === RUN TestIsAllowedFromContext/Unauthorizes_when_user_lookup_returns_an_error 202s === PAUSE TestIsAllowed/Polkit_dbus_call_errors_out 202s === PAUSE TestIsAllowedFromContext/Unauthorizes_when_user_lookup_returns_an_error 202s === RUN TestIsAllowedFromContext/Unauthorizes_when_user_has_invalid_uid 202s === RUN TestIsAllowed/ActionAlwaysAllowed_is_always_allowed 202s === PAUSE TestIsAllowedFromContext/Unauthorizes_when_user_has_invalid_uid 202s === PAUSE TestIsAllowed/ActionAlwaysAllowed_is_always_allowed 202s === RUN TestIsAllowedFromContext/Root_is_always_authorized 202s === RUN TestIsAllowed/User_Action_for_own_user_translates_to_Self_parameter_as_ID 202s === PAUSE TestIsAllowedFromContext/Root_is_always_authorized 202s === PAUSE TestIsAllowed/User_Action_for_own_user_translates_to_Self_parameter_as_ID 202s === CONT TestServerPeerCredsInvalidSocket 202s === CONT TestServerPeerCredsHandshake 202s --- PASS: TestServerPeerCredsInvalidSocket (0.00s) 202s === CONT TestPeerCredsInfoAuthType 202s --- PASS: TestPeerCredsInfoAuthType (0.00s) 202s === CONT TestIsAllowedFromContextWithoutUserKey 202s --- PASS: TestServerPeerCredsHandshake (0.00s) 202s === CONT TestIsAllowedFromContextWithInvalidPeerCreds 202s --- PASS: TestIsAllowedFromContextWithoutUserKey (0.01s) 202s === CONT TestIsAllowedFromContextWithoutPeer 202s --- PASS: TestIsAllowedFromContextWithInvalidPeerCreds (0.00s) 202s === CONT TestIsAllowedFromContext/Valid_process_and_ACK 202s --- PASS: TestIsAllowedFromContextWithoutPeer (0.00s) 202s === CONT TestIsAllowed/Root_is_always_authorized 202s === CONT TestIsAllowed/ActionAlwaysAllowed_is_always_allowed 202s === CONT TestIsAllowedFromContext/Root_is_always_authorized 202s === CONT TestIsAllowedFromContext/Unauthorizes_when_user_has_invalid_uid 202s === CONT TestIsAllowedFromContext/Unauthorizes_when_user_lookup_returns_an_error 202s === CONT TestIsAllowedFromContext/Extract_other_user_action_from_request 202s === CONT TestIsAllowedFromContext/Extract_current_user_action_from_request 202s === CONT TestIsAllowedFromContext/Valid_process_and_NACK 202s === CONT TestIsAllowed/Invalid_process_stat_file:_field_isn't_an_int 202s --- PASS: TestIsAllowedFromContext (0.00s) 202s --- PASS: TestIsAllowedFromContext/Root_is_always_authorized (0.00s) 202s --- PASS: TestIsAllowedFromContext/Unauthorizes_when_user_has_invalid_uid (0.00s) 202s --- PASS: TestIsAllowedFromContext/Valid_process_and_ACK (0.00s) 202s --- PASS: TestIsAllowedFromContext/Unauthorizes_when_user_lookup_returns_an_error (0.00s) 202s --- PASS: TestIsAllowedFromContext/Extract_other_user_action_from_request (0.00s) 202s --- PASS: TestIsAllowedFromContext/Valid_process_and_NACK (0.00s) 202s --- PASS: TestIsAllowedFromContext/Extract_current_user_action_from_request (0.00s) 202s === CONT TestIsAllowed/Polkit_dbus_call_errors_out 202s === CONT TestIsAllowed/Invalid_process_stat_file:_missing_) 202s === CONT TestIsAllowed/Process_doesn't_exists 202s === CONT TestIsAllowed/User_Action_on_other_user_translates_to_Other_parameter_as_ID 202s === CONT TestIsAllowed/Invalid_process_stat_file:_field_isn't_present 202s === CONT TestIsAllowed/Invalid_process_stat_file:_)_at_the_end 202s === CONT TestIsAllowed/Valid_process_and_NACK 202s === CONT TestIsAllowed/Valid_process_and_ACK 202s === CONT TestIsAllowed/User_Action_for_own_user_translates_to_Self_parameter_as_ID 202s --- PASS: TestIsAllowed (0.00s) 202s --- PASS: TestIsAllowed/Root_is_always_authorized (0.00s) 202s --- PASS: TestIsAllowed/ActionAlwaysAllowed_is_always_allowed (0.00s) 202s --- PASS: TestIsAllowed/Polkit_dbus_call_errors_out (0.00s) 202s --- PASS: TestIsAllowed/Invalid_process_stat_file:_field_isn't_an_int (0.00s) 202s --- PASS: TestIsAllowed/Process_doesn't_exists (0.00s) 202s --- PASS: TestIsAllowed/Invalid_process_stat_file:_missing_) (0.00s) 202s --- PASS: TestIsAllowed/User_Action_on_other_user_translates_to_Other_parameter_as_ID (0.00s) 202s --- PASS: TestIsAllowed/Invalid_process_stat_file:_)_at_the_end (0.00s) 202s --- PASS: TestIsAllowed/Valid_process_and_NACK (0.00s) 202s --- PASS: TestIsAllowed/Valid_process_and_ACK (0.00s) 202s --- PASS: TestIsAllowed/User_Action_for_own_user_translates_to_Self_parameter_as_ID (0.00s) 202s --- PASS: TestIsAllowed/Invalid_process_stat_file:_field_isn't_present (0.00s) 202s PASS 202s ok github.com/ubuntu/adsys/internal/authorizer 0.021s 202s === RUN TestNoCmd 202s === PAUSE TestNoCmd 202s === RUN TestZeroOrNArgs 202s === PAUSE TestZeroOrNArgs 202s === RUN TestNoValidArgs 202s === PAUSE TestNoValidArgs 202s === RUN TestRegisterAlias 202s === PAUSE TestRegisterAlias 202s === CONT TestNoCmd 202s --- PASS: TestNoCmd (0.00s) 202s === CONT TestRegisterAlias 202s --- PASS: TestRegisterAlias (0.00s) 202s === CONT TestNoValidArgs 202s --- PASS: TestNoValidArgs (0.00s) 202s === CONT TestZeroOrNArgs 202s === RUN TestZeroOrNArgs/Error_with_more_than_N_args 202s === PAUSE TestZeroOrNArgs/Error_with_more_than_N_args 202s === RUN TestZeroOrNArgs/Zero_args 202s === PAUSE TestZeroOrNArgs/Zero_args 202s === RUN TestZeroOrNArgs/Exactly_N_args 202s === PAUSE TestZeroOrNArgs/Exactly_N_args 202s === RUN TestZeroOrNArgs/Error_with_less_than_N_args 202s === PAUSE TestZeroOrNArgs/Error_with_less_than_N_args 202s === CONT TestZeroOrNArgs/Error_with_more_than_N_args 202s === CONT TestZeroOrNArgs/Error_with_less_than_N_args 202s === CONT TestZeroOrNArgs/Exactly_N_args 202s === CONT TestZeroOrNArgs/Zero_args 202s --- PASS: TestZeroOrNArgs (0.00s) 202s --- PASS: TestZeroOrNArgs/Error_with_more_than_N_args (0.00s) 202s --- PASS: TestZeroOrNArgs/Error_with_less_than_N_args (0.00s) 202s --- PASS: TestZeroOrNArgs/Exactly_N_args (0.00s) 202s --- PASS: TestZeroOrNArgs/Zero_args (0.00s) 202s PASS 202s ok github.com/ubuntu/adsys/internal/cmdhandler 0.005s 213s === RUN TestSetVerboseMode 213s === RUN TestSetVerboseMode/2_is_for_debug 213s === RUN TestSetVerboseMode/3_is_debug_printing_callers 213s === RUN TestSetVerboseMode/Default_level_is_warning 213s === RUN TestSetVerboseMode/1_is_for_info 213s --- PASS: TestSetVerboseMode (0.00s) 213s --- PASS: TestSetVerboseMode/2_is_for_debug (0.00s) 213s --- PASS: TestSetVerboseMode/3_is_debug_printing_callers (0.00s) 213s --- PASS: TestSetVerboseMode/Default_level_is_warning (0.00s) 213s --- PASS: TestSetVerboseMode/1_is_for_info (0.00s) 213s === RUN TestInit 213s === RUN TestInit/Load_configuration_with_file 213s === RUN TestInit/Environment_is_supported 213s === RUN TestInit/Error_on_invalid_configuration_file 213s === RUN TestInit/Error_on_config_flag_points_to_unexisting_path 213s === RUN TestInit/No_config_flag_set_before_Init_is_call_is_ignored 213s === RUN TestInit/Configuration_flag,_not_in_config_dir 213s === RUN TestInit/Flag_is_supported 213s === RUN TestInit/Configuration_file_overwritten 213s === RUN TestInit/Callback_in_error_on_refresh_only_prints_warning 213s time="2025-10-18T15:33:43Z" level=warning msg="Error while refreshing configuration: Error from callback" 213s === RUN TestInit/Flag_has_precedence_over_env 213s === RUN TestInit/Load_configuration,_no_file,_no_flag,_no_env 213s === RUN TestInit/Load_configuration_from_executable_dir 213s === RUN TestInit/Configuration_flag_on_parent,_not_in_config_dir,_init_on_subcommand 213s === RUN TestInit/Configuration_changed_directly 213s === RUN TestInit/Env_has_precedence_over_configuration 213s === RUN TestInit/Configuration_flag_has_precedence_over_local_file 213s === RUN TestInit/Error_on_callback_returning_error_on_first_call 213s === RUN TestInit/Empty_configuration_file_is_supported 213s === RUN TestInit/Configuration_flag_on_subcommand,_not_in_config_dir,_init_on_subcommand 213s === RUN TestInit/Configuration_file_created_after_Init()_is_not_taken_into_account 213s === RUN TestInit/Error_on_no_verbose_flag_set_before_Init_is_call 213s --- PASS: TestInit (10.22s) 213s --- PASS: TestInit/Load_configuration_with_file (0.05s) 213s --- PASS: TestInit/Environment_is_supported (0.00s) 213s --- PASS: TestInit/Error_on_invalid_configuration_file (0.00s) 213s --- PASS: TestInit/Error_on_config_flag_points_to_unexisting_path (0.00s) 213s --- PASS: TestInit/No_config_flag_set_before_Init_is_call_is_ignored (0.00s) 213s --- PASS: TestInit/Configuration_flag,_not_in_config_dir (0.00s) 213s --- PASS: TestInit/Flag_is_supported (0.00s) 213s --- PASS: TestInit/Configuration_file_overwritten (2.02s) 213s --- PASS: TestInit/Callback_in_error_on_refresh_only_prints_warning (2.02s) 213s --- PASS: TestInit/Flag_has_precedence_over_env (0.00s) 213s --- PASS: TestInit/Load_configuration,_no_file,_no_flag,_no_env (0.01s) 213s --- PASS: TestInit/Load_configuration_from_executable_dir (0.01s) 213s --- PASS: TestInit/Configuration_flag_on_parent,_not_in_config_dir,_init_on_subcommand (0.00s) 213s --- PASS: TestInit/Configuration_changed_directly (2.03s) 213s --- PASS: TestInit/Env_has_precedence_over_configuration (0.01s) 213s --- PASS: TestInit/Configuration_flag_has_precedence_over_local_file (0.00s) 213s --- PASS: TestInit/Error_on_callback_returning_error_on_first_call (0.01s) 213s --- PASS: TestInit/Empty_configuration_file_is_supported (0.01s) 213s --- PASS: TestInit/Configuration_flag_on_subcommand,_not_in_config_dir,_init_on_subcommand (0.01s) 213s --- PASS: TestInit/Configuration_file_created_after_Init()_is_not_taken_into_account (4.02s) 213s --- PASS: TestInit/Error_on_no_verbose_flag_set_before_Init_is_call (0.02s) 213s === RUN TestLoadConfig 213s === PAUSE TestLoadConfig 213s === CONT TestLoadConfig 213s === RUN TestLoadConfig/Empty_configuration_is_supported 213s === PAUSE TestLoadConfig/Empty_configuration_is_supported 213s === RUN TestLoadConfig/Load_configuration_deserialize_its 213s === PAUSE TestLoadConfig/Load_configuration_deserialize_its 213s === CONT TestLoadConfig/Empty_configuration_is_supported 213s === CONT TestLoadConfig/Load_configuration_deserialize_its 213s --- PASS: TestLoadConfig (0.00s) 213s --- PASS: TestLoadConfig/Empty_configuration_is_supported (0.00s) 213s --- PASS: TestLoadConfig/Load_configuration_deserialize_its (0.00s) 213s PASS 213s ok github.com/ubuntu/adsys/internal/config 10.229s 213s === RUN TestConfigFileFromArgs 213s === PAUSE TestConfigFileFromArgs 213s === RUN TestDirsFromConfigFile 213s === PAUSE TestDirsFromConfigFile 213s === RUN TestWriteConfig 213s === RUN TestWriteConfig/Error_on_empty_dirs 213s === RUN TestWriteConfig/With_relative_config_path 213s === RUN TestWriteConfig/With_nested_config_path 213s === RUN TestWriteConfig/Error_on_absent_dirs 213s --- PASS: TestWriteConfig (0.00s) 213s --- PASS: TestWriteConfig/Error_on_empty_dirs (0.00s) 213s --- PASS: TestWriteConfig/With_relative_config_path (0.00s) 213s --- PASS: TestWriteConfig/With_nested_config_path (0.00s) 213s --- PASS: TestWriteConfig/Error_on_absent_dirs (0.00s) 213s === CONT TestConfigFileFromArgs 213s === RUN TestConfigFileFromArgs/Error_on_no_config_argument 213s === PAUSE TestConfigFileFromArgs/Error_on_no_config_argument 213s === RUN TestConfigFileFromArgs/Error_on_config_argument_with_no_value 213s === CONT TestDirsFromConfigFile 213s === RUN TestDirsFromConfigFile/No_config_file 213s === PAUSE TestDirsFromConfigFile/No_config_file 213s === RUN TestDirsFromConfigFile/Empty_config_file 213s === PAUSE TestDirsFromConfigFile/Empty_config_file 213s === RUN TestDirsFromConfigFile/No_dirs_in_config_file 213s === PAUSE TestDirsFromConfigFile/No_dirs_in_config_file 213s === RUN TestDirsFromConfigFile/Config_dirs_is_not_an_array 213s === PAUSE TestDirsFromConfigFile/Config_dirs_is_not_an_array 213s === RUN TestDirsFromConfigFile/Config_dirs_is_an_array 213s === PAUSE TestDirsFromConfigFile/Config_dirs_is_an_array 213s === CONT TestDirsFromConfigFile/No_config_file 213s === CONT TestDirsFromConfigFile/Config_dirs_is_an_array 213s === CONT TestDirsFromConfigFile/Config_dirs_is_not_an_array 213s === CONT TestDirsFromConfigFile/No_dirs_in_config_file 213s === CONT TestDirsFromConfigFile/Empty_config_file 213s --- PASS: TestDirsFromConfigFile (0.00s) 213s --- PASS: TestDirsFromConfigFile/No_config_file (0.00s) 213s --- PASS: TestDirsFromConfigFile/Config_dirs_is_an_array (0.00s) 213s --- PASS: TestDirsFromConfigFile/Config_dirs_is_not_an_array (0.00s) 213s --- PASS: TestDirsFromConfigFile/No_dirs_in_config_file (0.00s) 213s --- PASS: TestDirsFromConfigFile/Empty_config_file (0.00s) 213s === PAUSE TestConfigFileFromArgs/Error_on_config_argument_with_no_value 213s === RUN TestConfigFileFromArgs/Short_config_argument 213s === PAUSE TestConfigFileFromArgs/Short_config_argument 213s === RUN TestConfigFileFromArgs/Short_config_argument_with_quotes 213s === PAUSE TestConfigFileFromArgs/Short_config_argument_with_quotes 213s === RUN TestConfigFileFromArgs/Error_on_empty_args 213s === PAUSE TestConfigFileFromArgs/Error_on_empty_args 213s === CONT TestConfigFileFromArgs/Error_on_no_config_argument 213s === CONT TestConfigFileFromArgs/Error_on_empty_args 213s === CONT TestConfigFileFromArgs/Short_config_argument_with_quotes 213s === CONT TestConfigFileFromArgs/Short_config_argument 213s === CONT TestConfigFileFromArgs/Error_on_config_argument_with_no_value 213s --- PASS: TestConfigFileFromArgs (0.00s) 213s --- PASS: TestConfigFileFromArgs/Error_on_no_config_argument (0.00s) 213s --- PASS: TestConfigFileFromArgs/Error_on_empty_args (0.00s) 213s --- PASS: TestConfigFileFromArgs/Short_config_argument_with_quotes (0.00s) 213s --- PASS: TestConfigFileFromArgs/Short_config_argument (0.00s) 213s --- PASS: TestConfigFileFromArgs/Error_on_config_argument_with_no_value (0.00s) 213s PASS 213s ok github.com/ubuntu/adsys/internal/config/watchd 0.008s 213s ? github.com/ubuntu/adsys/internal/consts [no test files] 213s === RUN TestStartStop 213s === PAUSE TestStartStop 213s === RUN TestStopBeforeServe 213s === PAUSE TestStopBeforeServe 213s === RUN TestChangeSocket 213s === PAUSE TestChangeSocket 213s === RUN TestSocketActivation 213s === PAUSE TestSocketActivation 213s === RUN TestUseSocketIgnoredWithSocketActivation 213s === PAUSE TestUseSocketIgnoredWithSocketActivation 213s === RUN TestSdNotifier 213s === PAUSE TestSdNotifier 213s === RUN TestFailingOption 213s === PAUSE TestFailingOption 213s === RUN TestCannotCreateSocket 213s === PAUSE TestCannotCreateSocket 213s === RUN TestServerStartListenTimeout 213s === PAUSE TestServerStartListenTimeout 213s === RUN TestServerDontTimeoutWithActiveRequest 213s === PAUSE TestServerDontTimeoutWithActiveRequest 213s === RUN TestServerDontTimeoutWithMultipleActiveRequests 213s === PAUSE TestServerDontTimeoutWithMultipleActiveRequests 213s === RUN TestServerChangeTimeout 213s === PAUSE TestServerChangeTimeout 213s === RUN TestServerDoubleQuit 213s === PAUSE TestServerDoubleQuit 213s === CONT TestStartStop 213s === CONT TestCannotCreateSocket 213s time="2025-10-18T15:33:40Z" level=info msg="Serving on /tmp/TestStartStop3154350903/001/test.sock" 213s --- PASS: TestCannotCreateSocket (0.00s) 213s === CONT TestServerDoubleQuit 213s time="2025-10-18T15:33:40Z" level=info msg="Serving on /tmp/TestServerDoubleQuit439091174/001/test.sock" 213s time="2025-10-18T15:33:40Z" level=info msg="Stopping daemon requested." 213s time="2025-10-18T15:33:40Z" level=info msg="Wait for active requests to close." 213s --- PASS: TestStartStop (0.01s) 213s === CONT TestServerChangeTimeout 213s time="2025-10-18T15:33:40Z" level=info msg="Stopping daemon requested." 213s time="2025-10-18T15:33:40Z" level=info msg="Wait for active requests to close." 213s time="2025-10-18T15:33:40Z" level=info msg="Serving on /tmp/TestServerChangeTimeout1274709694/001/test.sock" 213s --- PASS: TestServerDoubleQuit (0.01s) 213s === CONT TestServerDontTimeoutWithMultipleActiveRequests 213s time="2025-10-18T15:33:40Z" level=info msg="Serving on /tmp/TestServerDontTimeoutWithMultipleActiveRequests431462495/001/test.sock" 213s time="2025-10-18T15:33:40Z" level=info msg="Stopping daemon requested." 213s --- PASS: TestServerChangeTimeout (0.05s) 213s === CONT TestServerDontTimeoutWithActiveRequest 213s time="2025-10-18T15:33:40Z" level=info msg="Serving on /tmp/TestServerDontTimeoutWithActiveRequest642316428/001/test.sock" 213s time="2025-10-18T15:33:40Z" level=info msg="Stopping daemon requested." 213s --- PASS: TestServerDontTimeoutWithMultipleActiveRequests (0.11s) 213s === CONT TestServerStartListenTimeout 213s time="2025-10-18T15:33:40Z" level=info msg="Serving on /tmp/TestServerStartListenTimeout2060734984/001/test.sock" 213s time="2025-10-18T15:33:40Z" level=info msg="Stopping daemon requested." 213s --- PASS: TestServerStartListenTimeout (0.01s) 213s === CONT TestSocketActivation 213s === RUN TestSocketActivation/Error_when_Listeners()_fails 213s === PAUSE TestSocketActivation/Error_when_Listeners()_fails 213s === RUN TestSocketActivation/Success_with_one_socket 213s === PAUSE TestSocketActivation/Success_with_one_socket 213s === RUN TestSocketActivation/Error_when_provided_with_many_sockets 213s === PAUSE TestSocketActivation/Error_when_provided_with_many_sockets 213s === CONT TestFailingOption 213s --- PASS: TestFailingOption (0.00s) 213s === CONT TestSdNotifier 213s === RUN TestSdNotifier/Sends_signal 213s === PAUSE TestSdNotifier/Sends_signal 213s === RUN TestSdNotifier/Doesn't_fail_when_not_under_systemd 213s === PAUSE TestSdNotifier/Doesn't_fail_when_not_under_systemd 213s === RUN TestSdNotifier/Error_when_notifier_fails 213s === PAUSE TestSdNotifier/Error_when_notifier_fails 213s === CONT TestUseSocketIgnoredWithSocketActivation 213s time="2025-10-18T15:33:40Z" level=info msg="Serving on /tmp/TestUseSocketIgnoredWithSocketActivation1435448986/001/socket" 213s time="2025-10-18T15:33:40Z" level=info msg="Stopping daemon requested." 213s time="2025-10-18T15:33:40Z" level=info msg="Wait for active requests to close." 213s --- PASS: TestUseSocketIgnoredWithSocketActivation (0.02s) 213s === CONT TestStopBeforeServe 213s time="2025-10-18T15:33:40Z" level=info msg="Stopping daemon requested." 213s time="2025-10-18T15:33:40Z" level=info msg="Wait for active requests to close." 213s --- PASS: TestStopBeforeServe (0.00s) 213s === CONT TestChangeSocket 213s time="2025-10-18T15:33:40Z" level=info msg="Serving on /tmp/TestChangeSocket1079786784/001/test.sock" 213s time="2025-10-18T15:33:40Z" level=info msg="Stopping daemon requested." 213s time="2025-10-18T15:33:40Z" level=info msg="Wait for active requests to close." 213s time="2025-10-18T15:33:40Z" level=info msg="Serving on /tmp/TestChangeSocket1079786784/001/test2.sock" 213s time="2025-10-18T15:33:40Z" level=info msg="Stopping daemon requested." 213s --- PASS: TestServerDontTimeoutWithActiveRequest (0.11s) 213s === CONT TestSocketActivation/Error_when_Listeners()_fails 213s === CONT TestSdNotifier/Sends_signal 213s time="2025-10-18T15:33:40Z" level=info msg="Serving on /tmp/TestSdNotifierSends_signal4229555595/001/socket" 213s time="2025-10-18T15:33:40Z" level=info msg="Stopping daemon requested." 213s time="2025-10-18T15:33:40Z" level=info msg="Wait for active requests to close." 213s --- PASS: TestChangeSocket (0.02s) 213s === CONT TestSocketActivation/Error_when_provided_with_many_sockets 213s === CONT TestSocketActivation/Success_with_one_socket 213s time="2025-10-18T15:33:40Z" level=info msg="Serving on /tmp/TestSocketActivationSuccess_with_one_socket3891720500/001/sock1" 213s time="2025-10-18T15:33:40Z" level=info msg="Stopping daemon requested." 213s time="2025-10-18T15:33:40Z" level=info msg="Wait for active requests to close." 213s === CONT TestSdNotifier/Error_when_notifier_fails 213s === CONT TestSdNotifier/Doesn't_fail_when_not_under_systemd 213s time="2025-10-18T15:33:40Z" level=info msg="Serving on /tmp/TestSdNotifierDoesnt_fail_when_not_under_systemd1573843912/001/socket" 213s time="2025-10-18T15:33:40Z" level=info msg="Stopping daemon requested." 213s time="2025-10-18T15:33:40Z" level=info msg="Wait for active requests to close." 213s --- PASS: TestSocketActivation (0.00s) 213s --- PASS: TestSocketActivation/Error_when_Listeners()_fails (0.00s) 213s --- PASS: TestSocketActivation/Error_when_provided_with_many_sockets (0.00s) 213s --- PASS: TestSocketActivation/Success_with_one_socket (0.01s) 213s time="2025-10-18T15:33:40Z" level=info msg="Stopping daemon requested." 213s time="2025-10-18T15:33:40Z" level=info msg="Wait for active requests to close." 213s time="2025-10-18T15:33:40Z" level=info msg="Stopping daemon requested." 213s time="2025-10-18T15:33:40Z" level=info msg="Wait for active requests to close." 213s --- PASS: TestSdNotifier (0.00s) 213s --- PASS: TestSdNotifier/Sends_signal (0.01s) 213s --- PASS: TestSdNotifier/Error_when_notifier_fails (0.00s) 213s --- PASS: TestSdNotifier/Doesn't_fail_when_not_under_systemd (0.01s) 213s PASS 213s ok github.com/ubuntu/adsys/internal/daemon 0.202s 213s === RUN TestCleanDirectory 213s === PAUSE TestCleanDirectory 213s === RUN TestCleanDirectoryNoDirectoryExists 213s === PAUSE TestCleanDirectoryNoDirectoryExists 213s === RUN TestCleanDirectoryCantRemoveDirectory 213s === PAUSE TestCleanDirectoryCantRemoveDirectory 213s === RUN TestInstallOnlyMode 213s --- PASS: TestInstallOnlyMode (0.00s) 213s === RUN TestDestDirectory 213s --- PASS: TestDestDirectory (0.00s) 213s === CONT TestCleanDirectory 213s === CONT TestCleanDirectoryCantRemoveDirectory 213s --- PASS: TestCleanDirectoryCantRemoveDirectory (0.00s) 213s === CONT TestCleanDirectoryNoDirectoryExists 213s --- PASS: TestCleanDirectory (0.00s) 213s --- PASS: TestCleanDirectoryNoDirectoryExists (0.00s) 213s PASS 213s ok github.com/ubuntu/adsys/internal/generators 0.005s 213s === RUN TestNoNotification 213s === PAUSE TestNoNotification 213s === RUN TestNewConnectionNotification 213s === PAUSE TestNewConnectionNotification 213s === RUN TestDoneConnectionNotification 213s === PAUSE TestDoneConnectionNotification 213s === RUN TestErrorFromHandlerReturned 213s === PAUSE TestErrorFromHandlerReturned 213s === RUN TestErrorOnNilStream 213s === PAUSE TestErrorOnNilStream 213s === CONT TestNoNotification 213s --- PASS: TestNoNotification (0.00s) 213s === CONT TestDoneConnectionNotification 213s --- PASS: TestDoneConnectionNotification (0.00s) 213s === CONT TestNewConnectionNotification 213s --- PASS: TestNewConnectionNotification (0.00s) 213s === CONT TestErrorOnNilStream 213s === CONT TestErrorFromHandlerReturned 213s --- PASS: TestErrorOnNilStream (0.00s) 213s --- PASS: TestErrorFromHandlerReturned (0.00s) 213s PASS 213s ok github.com/ubuntu/adsys/internal/grpc/connectionnotify 0.003s 213s === RUN TestActiveConnection 213s === PAUSE TestActiveConnection 213s === RUN TestTimeoutOnInactiveConnection 213s === PAUSE TestTimeoutOnInactiveConnection 213s === RUN TestCancelOnClientSide 213s === PAUSE TestCancelOnClientSide 213s === RUN TestClientInterceptorFailed 213s === PAUSE TestClientInterceptorFailed 213s === RUN TestRecvMessageError 213s === PAUSE TestRecvMessageError 213s === CONT TestActiveConnection 213s === CONT TestRecvMessageError 213s --- PASS: TestRecvMessageError (0.00s) 213s === CONT TestClientInterceptorFailed 213s --- PASS: TestClientInterceptorFailed (0.00s) 213s === CONT TestCancelOnClientSide 213s --- PASS: TestCancelOnClientSide (0.00s) 213s === CONT TestTimeoutOnInactiveConnection 213s --- PASS: TestTimeoutOnInactiveConnection (0.05s) 213s --- PASS: TestActiveConnection (0.15s) 213s PASS 213s ok github.com/ubuntu/adsys/internal/grpc/contextidler 0.156s 213s === RUN TestFormat 213s === PAUSE TestFormat 213s === CONT TestFormat 213s === RUN TestFormat/GRPC_Unknown_errors_don’t_print_status_and_daemon 213s === PAUSE TestFormat/GRPC_Unknown_errors_don’t_print_status_and_daemon 213s === RUN TestFormat/GRPC_Random_errors_prints_status_and_message 213s === PAUSE TestFormat/GRPC_Random_errors_prints_status_and_message 213s === RUN TestFormat/Nil_returns_nil 213s === PAUSE TestFormat/Nil_returns_nil 213s === RUN TestFormat/Non_GRPC_errors_are_returned_as_is 213s === PAUSE TestFormat/Non_GRPC_errors_are_returned_as_is 213s === RUN TestFormat/GRPC_Unavailable_errors_prints_daemon_name 213s === PAUSE TestFormat/GRPC_Unavailable_errors_prints_daemon_name 213s === RUN TestFormat/GRPC_Deadline_errors_don’t_print_status_nor_daemon_nor_message 213s === PAUSE TestFormat/GRPC_Deadline_errors_don’t_print_status_nor_daemon_nor_message 213s === CONT TestFormat/GRPC_Unknown_errors_don’t_print_status_and_daemon 213s === CONT TestFormat/Non_GRPC_errors_are_returned_as_is 213s === CONT TestFormat/Nil_returns_nil 213s === CONT TestFormat/GRPC_Deadline_errors_don’t_print_status_nor_daemon_nor_message 213s === CONT TestFormat/GRPC_Random_errors_prints_status_and_message 213s === CONT TestFormat/GRPC_Unavailable_errors_prints_daemon_name 213s --- PASS: TestFormat (0.00s) 213s --- PASS: TestFormat/GRPC_Unknown_errors_don’t_print_status_and_daemon (0.00s) 213s --- PASS: TestFormat/Non_GRPC_errors_are_returned_as_is (0.00s) 213s --- PASS: TestFormat/Nil_returns_nil (0.00s) 213s --- PASS: TestFormat/GRPC_Deadline_errors_don’t_print_status_nor_daemon_nor_message (0.00s) 213s --- PASS: TestFormat/GRPC_Random_errors_prints_status_and_message (0.00s) 213s --- PASS: TestFormat/GRPC_Unavailable_errors_prints_daemon_name (0.00s) 213s PASS 213s ok github.com/ubuntu/adsys/internal/grpc/grpcerror 0.003s 213s === RUN TestStreamServer 213s === PAUSE TestStreamServer 213s === RUN TestStreamClient 213s === PAUSE TestStreamClient 213s === CONT TestStreamServer 213s --- PASS: TestStreamServer (0.00s) 213s === CONT TestStreamClient 213s --- PASS: TestStreamClient (0.00s) 213s PASS 213s ok github.com/ubuntu/adsys/internal/grpc/interceptorschain 0.003s 213s === RUN TestChildRecvMsgAndHandlerCalled 213s === PAUSE TestChildRecvMsgAndHandlerCalled 213s === CONT TestChildRecvMsgAndHandlerCalled 213s === RUN TestChildRecvMsgAndHandlerCalled/Error_when_RecvMsg_errors_out 213s === PAUSE TestChildRecvMsgAndHandlerCalled/Error_when_RecvMsg_errors_out 213s === RUN TestChildRecvMsgAndHandlerCalled/Handler_and_RecvMsg_are_called 213s === PAUSE TestChildRecvMsgAndHandlerCalled/Handler_and_RecvMsg_are_called 213s === RUN TestChildRecvMsgAndHandlerCalled/Info_being_nil_has_no_impact 213s === PAUSE TestChildRecvMsgAndHandlerCalled/Info_being_nil_has_no_impact 213s === RUN TestChildRecvMsgAndHandlerCalled/Error_when_handler_fails_out 213s === PAUSE TestChildRecvMsgAndHandlerCalled/Error_when_handler_fails_out 213s === CONT TestChildRecvMsgAndHandlerCalled/Error_when_RecvMsg_errors_out 213s === CONT TestChildRecvMsgAndHandlerCalled/Info_being_nil_has_no_impact 213s === CONT TestChildRecvMsgAndHandlerCalled/Error_when_handler_fails_out 213s === CONT TestChildRecvMsgAndHandlerCalled/Handler_and_RecvMsg_are_called 213s time="2025-10-18T15:33:44Z" level=info msg="Error sent to client: Failing handler" 213s --- PASS: TestChildRecvMsgAndHandlerCalled (0.00s) 213s --- PASS: TestChildRecvMsgAndHandlerCalled/Error_when_RecvMsg_errors_out (0.00s) 213s --- PASS: TestChildRecvMsgAndHandlerCalled/Info_being_nil_has_no_impact (0.00s) 213s --- PASS: TestChildRecvMsgAndHandlerCalled/Handler_and_RecvMsg_are_called (0.00s) 213s --- PASS: TestChildRecvMsgAndHandlerCalled/Error_when_handler_fails_out (0.00s) 213s PASS 213s ok github.com/ubuntu/adsys/internal/grpc/logconnections 0.004s 213s === RUN TestRecvLogMsg 213s === PAUSE TestRecvLogMsg 213s === RUN TestAddStreamToForwardLocalLogs 213s time="2025-10-18T15:33:45Z" level=info msg="New connection from client [[123456:836525]]" 213s time="2025-10-18T15:33:45Z" level=warning msg=something 213s --- PASS: TestAddStreamToForwardLocalLogs (0.00s) 213s === RUN TestAddStreamToForwardOtherStream 213s time="2025-10-18T15:33:45Z" level=info msg="New connection from client [[123456:065477]]" 213s time="2025-10-18T15:33:45Z" level=info msg="New connection from client [[123456:450012]]" 213s --- PASS: TestAddStreamToForwardOtherStream (0.00s) 213s === RUN TestAddStreamToForwardAfterClientIsConnected 213s time="2025-10-18T15:33:45Z" level=info msg="New connection from client [[123456:181969]]" 213s time="2025-10-18T15:33:45Z" level=info msg="New connection from client [[123456:472990]]" 213s --- PASS: TestAddStreamToForwardAfterClientIsConnected (0.00s) 213s === RUN TestAddStreamToForwardDisconnect 213s time="2025-10-18T15:33:45Z" level=info msg="New connection from client [[123456:591563]]" 213s time="2025-10-18T15:33:45Z" level=info msg="New connection from client [[123456:771676]]" 213s --- PASS: TestAddStreamToForwardDisconnect (0.00s) 213s === RUN TestAddStreamToForwardTwoClients 213s time="2025-10-18T15:33:45Z" level=info msg="New connection from client [[123456:286994]]" 213s time="2025-10-18T15:33:45Z" level=info msg="New connection from client [[123456:487592]]" 213s time="2025-10-18T15:33:45Z" level=info msg="New connection from client [[123456:972461]]" 213s --- PASS: TestAddStreamToForwardTwoClients (0.00s) 213s === RUN TestAddStreamToForwardWithListenerCaller 213s time="2025-10-18T15:33:45Z" level=info msg="New connection from client [[123456:430949]]" 213s time="2025-10-18T15:33:45Z" level=info msg="New connection from client [[123456:245830]]" 213s --- PASS: TestAddStreamToForwardWithListenerCaller (0.00s) 213s === RUN TestAddStreamMultipleForwarders 213s time="2025-10-18T15:33:45Z" level=info msg="New connection from client [[123456:280098]]" 213s time="2025-10-18T15:33:45Z" level=info msg="New connection from client [[123456:176050]]" 213s time="2025-10-18T15:33:45Z" level=info msg="New connection from client [[123456:697014]]" 213s --- PASS: TestAddStreamMultipleForwarders (0.00s) 213s === RUN TestAddStreamMultipleForwardersOneWithCaller 213s time="2025-10-18T15:33:45Z" level=info msg="New connection from client [[123456:451042]]" 213s time="2025-10-18T15:33:45Z" level=info msg="New connection from client [[123456:685607]]" 213s time="2025-10-18T15:33:45Z" level=info msg="New connection from client [[123456:964055]]" 213s --- PASS: TestAddStreamMultipleForwardersOneWithCaller (0.00s) 213s === RUN TestAddStreamToForwardFailSend 213s time="2025-10-18T15:33:45Z" level=info msg="New connection from client [[123456:590899]]" 213s time="2025-10-18T15:33:45Z" level=info msg="New connection from client [[123456:054482]]" 213s time="2025-10-18T15:33:45Z" level=warning msg="Couldn't send log to one or more listener: SendMsg failed" 213s --- PASS: TestAddStreamToForwardFailSend (0.00s) 213s === RUN TestRemoveAllStreams 213s time="2025-10-18T15:33:45Z" level=info msg="New connection from client [[123456:028779]]" 213s time="2025-10-18T15:33:45Z" level=info msg="New connection from client [[123456:555927]]" 213s time="2025-10-18T15:33:45Z" level=info msg="New connection from client [[123456:694536]]" 213s time="2025-10-18T15:33:45Z" level=warning msg="[[123456:694536]] else" 213s --- PASS: TestRemoveAllStreams (0.00s) 213s === RUN TestLogWarningOnly 213s === PAUSE TestLogWarningOnly 213s === RUN TestMultipleLogs 213s === PAUSE TestMultipleLogs 213s === RUN TestAllLogLevels 213s === PAUSE TestAllLogLevels 213s === RUN TestDebugSentToRemoteEvenIfLocalIsWarning 213s === PAUSE TestDebugSentToRemoteEvenIfLocalIsWarning 213s === RUN TestLogWarningWithLocalCaller 213s === PAUSE TestLogWarningWithLocalCaller 213s === RUN TestLogWarningWithRemoteCaller 213s === PAUSE TestLogWarningWithRemoteCaller 213s === RUN TestLogWithNoCaller 213s === PAUSE TestLogWithNoCaller 213s === RUN TestSetReportCaller 213s === RUN TestSetReportCaller/Report_caller 213s === RUN TestSetReportCaller/Disable_caller 213s --- PASS: TestSetReportCaller (0.00s) 213s --- PASS: TestSetReportCaller/Report_caller (0.00s) 213s --- PASS: TestSetReportCaller/Disable_caller (0.00s) 213s === RUN TestLogSendingFail 213s === PAUSE TestLogSendingFail 213s === RUN TestLogStreamsAreSeparated 213s === PAUSE TestLogStreamsAreSeparated 213s === RUN TestLogAddHook 213s time="2025-10-18T15:33:45Z" level=info 213s --- PASS: TestLogAddHook (0.00s) 213s === RUN TestStreamServerInterceptor 213s === PAUSE TestStreamServerInterceptor 213s === RUN TestStreamServerInterceptorSendLogsFails 213s === PAUSE TestStreamServerInterceptorSendLogsFails 213s === RUN TestStreamServerInterceptorLoggerInvalidMetadata 213s === PAUSE TestStreamServerInterceptorLoggerInvalidMetadata 213s === CONT TestRecvLogMsg 213s === RUN TestRecvLogMsg/Unknown_log_level_triggers_a_client_error_(protocole_issue) 213s === PAUSE TestRecvLogMsg/Unknown_log_level_triggers_a_client_error_(protocole_issue) 213s === RUN TestRecvLogMsg/Logs_and_then_message_with_error,_error_is_preserved 213s === PAUSE TestRecvLogMsg/Logs_and_then_message_with_error,_error_is_preserved 213s === CONT TestLogWithNoCaller 213s === RUN TestRecvLogMsg/Invalid_object_passed_to_RecvMsg_is_gracefully_skipped 213s === PAUSE TestRecvLogMsg/Invalid_object_passed_to_RecvMsg_is_gracefully_skipped 213s === RUN TestRecvLogMsg/One_message,_no_log 213s === PAUSE TestRecvLogMsg/One_message,_no_log 213s === RUN TestRecvLogMsg/One_log_(and_one_closing_empty_message) 213s === PAUSE TestRecvLogMsg/One_log_(and_one_closing_empty_message) 213s === RUN TestRecvLogMsg/Two_logs_with_different_debug_level 213s === PAUSE TestRecvLogMsg/Two_logs_with_different_debug_level 213s === RUN TestRecvLogMsg/Log_with_caller 213s === PAUSE TestRecvLogMsg/Log_with_caller 213s === RUN TestRecvLogMsg/No_caller_when_not_requested 213s Failed to fire hook: hook fired 213s === PAUSE TestRecvLogMsg/No_caller_when_not_requested 213s === RUN TestRecvLogMsg/No_caller_on_any_logs 213s === PAUSE TestRecvLogMsg/No_caller_on_any_logs 213s time="2025-10-18T15:33:45Z" level=info msg="New connection from client [[123456:951082]]" 213s === RUN TestRecvLogMsg/One_message_with_error,_no_log,_error_is_preserved 213s === PAUSE TestRecvLogMsg/One_message_with_error,_no_log,_error_is_preserved 213s === CONT TestLogWarningWithRemoteCaller 213s --- PASS: TestLogWithNoCaller (0.00s) 213s === CONT TestLogWarningWithLocalCaller 213s Failed to fire hook: hook fired 213s time="2025-10-18T15:33:45Z" level=info msg="New connection from client [[123456:728090]]" 213s --- PASS: TestLogWarningWithRemoteCaller (0.00s) 213s === CONT TestDebugSentToRemoteEvenIfLocalIsWarning 213s Failed to fire hook: hook fired 213s time="2025-10-18T15:33:45Z" level=info msg="New connection from client [[123456:244622]]" 213s --- PASS: TestLogWarningWithLocalCaller (0.00s) 213s Failed to fire hook: hook fired 213s === CONT TestAllLogLevels 213s time="2025-10-18T15:33:45Z" level=info msg="New connection from client [[123456:864376]]" 213s --- PASS: TestDebugSentToRemoteEvenIfLocalIsWarning (0.00s) 213s === CONT TestMultipleLogs 213s Failed to fire hook: hook fired 213s time="2025-10-18T15:33:45Z" level=info msg="New connection from client [[123456:529072]]" 213s --- PASS: TestMultipleLogs (0.00s) 213s === CONT TestLogWarningOnly 213s Failed to fire hook: hook fired 213s time="2025-10-18T15:33:45Z" level=info msg="New connection from client [[123456:808098]]" 213s --- PASS: TestLogWarningOnly (0.00s) 213s === CONT TestStreamServerInterceptor 213s Failed to fire hook: hook fired 213s time="2025-10-18T15:33:45Z" level=info msg="New connection from client [[123456:451194]]" 213s --- PASS: TestStreamServerInterceptor (0.00s) 213s === CONT TestStreamServerInterceptorLoggerInvalidMetadata 213s === RUN TestStreamServerInterceptorLoggerInvalidMetadata/Missing_client_ID 213s === PAUSE TestStreamServerInterceptorLoggerInvalidMetadata/Missing_client_ID 213s === RUN TestStreamServerInterceptorLoggerInvalidMetadata/Missing_caller_key 213s === PAUSE TestStreamServerInterceptorLoggerInvalidMetadata/Missing_caller_key 213s === RUN TestStreamServerInterceptorLoggerInvalidMetadata/Caller_key_is_not_a_boolean 213s === PAUSE TestStreamServerInterceptorLoggerInvalidMetadata/Caller_key_is_not_a_boolean 213s === RUN TestStreamServerInterceptorLoggerInvalidMetadata/Multiple_log_metas 213s === PAUSE TestStreamServerInterceptorLoggerInvalidMetadata/Multiple_log_metas 213s === RUN TestStreamServerInterceptorLoggerInvalidMetadata/No_meta_sent 213s === PAUSE TestStreamServerInterceptorLoggerInvalidMetadata/No_meta_sent 213s Failed to fire hook: hook fired 213s time="2025-10-18T15:33:45Z" level=info msg="New connection from client [[123456:760802]]" 213s --- PASS: TestAllLogLevels (0.00s) 213s === CONT TestLogStreamsAreSeparated 213s === CONT TestStreamServerInterceptorSendLogsFails 213s Failed to fire hook: hook fired 213s time="2025-10-18T15:33:45Z" level=info msg="New connection from client [[123456:551771]]" 213s time="2025-10-18T15:33:45Z" level=warning msg="[[123456:181906]] Couldn't send initial connection log to client" 213s Failed to fire hook: hook fired 213s time="2025-10-18T15:33:45Z" level=info msg="New connection from client [[123456:181906]]" 213s --- PASS: TestStreamServerInterceptorSendLogsFails (0.00s) 213s === CONT TestLogSendingFail 213s Failed to fire hook: hook fired 213s time="2025-10-18T15:33:45Z" level=info msg="New connection from client [[123456:129178]]" 213s --- PASS: TestLogSendingFail (0.00s) 213s === CONT TestRecvLogMsg/Unknown_log_level_triggers_a_client_error_(protocole_issue) 213s Failed to fire hook: hook fired 213s time="2025-10-18T15:33:45Z" level=info msg="New connection from client [[123456:159921]]" 213s --- PASS: TestLogStreamsAreSeparated (0.00s) 213s === CONT TestRecvLogMsg/One_message_with_error,_no_log,_error_is_preserved 213s === CONT TestRecvLogMsg/No_caller_on_any_logs 213s === CONT TestRecvLogMsg/Two_logs_with_different_debug_level 213s === CONT TestRecvLogMsg/No_caller_when_not_requested 213s === CONT TestRecvLogMsg/Log_with_caller 213s === CONT TestRecvLogMsg/One_message,_no_log 213s === CONT TestRecvLogMsg/One_log_(and_one_closing_empty_message) 213s === CONT TestRecvLogMsg/Invalid_object_passed_to_RecvMsg_is_gracefully_skipped 213s === CONT TestRecvLogMsg/Logs_and_then_message_with_error,_error_is_preserved 213s --- PASS: TestRecvLogMsg (0.00s) 213s --- PASS: TestRecvLogMsg/Unknown_log_level_triggers_a_client_error_(protocole_issue) (0.00s) 213s --- PASS: TestRecvLogMsg/One_message_with_error,_no_log,_error_is_preserved (0.00s) 213s --- PASS: TestRecvLogMsg/No_caller_on_any_logs (0.00s) 213s --- PASS: TestRecvLogMsg/No_caller_when_not_requested (0.00s) 213s --- PASS: TestRecvLogMsg/Log_with_caller (0.00s) 213s --- PASS: TestRecvLogMsg/One_message,_no_log (0.00s) 213s --- PASS: TestRecvLogMsg/Two_logs_with_different_debug_level (0.00s) 213s --- PASS: TestRecvLogMsg/Invalid_object_passed_to_RecvMsg_is_gracefully_skipped (0.00s) 213s --- PASS: TestRecvLogMsg/Logs_and_then_message_with_error,_error_is_preserved (0.00s) 213s --- PASS: TestRecvLogMsg/One_log_(and_one_closing_empty_message) (0.00s) 213s === CONT TestStreamServerInterceptorLoggerInvalidMetadata/Missing_client_ID 213s === CONT TestStreamServerInterceptorLoggerInvalidMetadata/Multiple_log_metas 213s === CONT TestStreamServerInterceptorLoggerInvalidMetadata/Caller_key_is_not_a_boolean 213s === CONT TestStreamServerInterceptorLoggerInvalidMetadata/No_meta_sent 213s === CONT TestStreamServerInterceptorLoggerInvalidMetadata/Missing_caller_key 213s --- PASS: TestStreamServerInterceptorLoggerInvalidMetadata (0.00s) 213s --- PASS: TestStreamServerInterceptorLoggerInvalidMetadata/Missing_client_ID (0.00s) 213s --- PASS: TestStreamServerInterceptorLoggerInvalidMetadata/Multiple_log_metas (0.00s) 213s --- PASS: TestStreamServerInterceptorLoggerInvalidMetadata/Caller_key_is_not_a_boolean (0.00s) 213s --- PASS: TestStreamServerInterceptorLoggerInvalidMetadata/No_meta_sent (0.00s) 213s --- PASS: TestStreamServerInterceptorLoggerInvalidMetadata/Missing_caller_key (0.00s) 213s PASS 213s ok github.com/ubuntu/adsys/internal/grpc/logstreamer 0.012s 213s ? github.com/ubuntu/adsys/internal/grpc/logstreamer/test [no test files] 213s === RUN TestEventLogHook 213s === RUN TestEventLogHook/error_level 213s time="2025-10-18T15:33:45Z" level=error msg="Error msg" 213s === RUN TestEventLogHook/warn_level 213s time="2025-10-18T15:33:45Z" level=warning msg="Warning msg" 213s time="2025-10-18T15:33:45Z" level=error msg="Error msg" 213s === RUN TestEventLogHook/info_level 213s time="2025-10-18T15:33:45Z" level=info msg="Info msg" 213s time="2025-10-18T15:33:45Z" level=warning msg="Warning msg" 213s time="2025-10-18T15:33:45Z" level=error msg="Error msg" 213s === RUN TestEventLogHook/debug_level 213s time="2025-10-18T15:33:45Z" level=debug msg="Debug msg" 213s time="2025-10-18T15:33:45Z" level=info msg="Info msg" 213s time="2025-10-18T15:33:45Z" level=warning msg="Warning msg" 213s time="2025-10-18T15:33:45Z" level=error msg="Error msg" 213s --- PASS: TestEventLogHook (0.00s) 213s --- PASS: TestEventLogHook/error_level (0.00s) 213s --- PASS: TestEventLogHook/warn_level (0.00s) 213s --- PASS: TestEventLogHook/info_level (0.00s) 213s --- PASS: TestEventLogHook/debug_level (0.00s) 213s PASS 213s ok github.com/ubuntu/adsys/internal/loghooks 0.005s 213s === RUN TestFormat 213s === PAUSE TestFormat 213s === RUN TestApplyPolicies 213s === RUN TestApplyPolicies/Succeed_if_checking_for_backend_online_status_returns_an_error 213s === RUN TestApplyPolicies/Second_call_with_no_rules_deletes_everything 213s time="2025-10-18T15:33:46Z" level=info msg="Unloading policies for hostname (machine: true)" 213s === RUN TestApplyPolicies/No_subscription_is_only_dconf_content 213s === RUN TestApplyPolicies/Second_call_with_no_subscription_should_remove_everything_but_dconf_content 213s time="2025-10-18T15:33:46Z" level=info msg="Applying policies for hostname (machine: true)" 213s time="2025-10-18T15:33: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" 213s === RUN TestApplyPolicies/Second_call_with_no_subscription_don't_remove_scripts_if_session_hasn’t_ended 213s time="2025-10-18T15:33:46Z" level=info msg="Applying policies for hostname (machine: true)" 213s time="2025-10-18T15:33: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" 213s time="2025-10-18T15:33:46Z" level=info msg="\"/tmp/TestApplyPoliciesSecond_call_with_no_subscription_dont_remove_2439746541/001/run/adsys/machine/scripts/.running\" already exists, a session is already running, ignoring." 213s === RUN TestApplyPolicies/Error_when_applying_dconf_policy 213s === RUN TestApplyPolicies/Error_when_applying_apparmor_policy 213s === RUN TestApplyPolicies/Error_when_applying_mount_policy 213s === RUN TestApplyPolicies/Succeed 213s === RUN TestApplyPolicies/Second_call_with_no_rules_don't_remove_scripts_if_session_hasn’t_ended 213s time="2025-10-18T15:33:46Z" level=info msg="Unloading policies for hostname (machine: true)" 213s time="2025-10-18T15:33:46Z" level=info msg="\"/tmp/TestApplyPoliciesSecond_call_with_no_rules_dont_remove_scripts3247343222/001/run/adsys/machine/scripts/.running\" already exists, a session is already running, ignoring." 213s === RUN TestApplyPolicies/Error_when_applying_privilege_policy 213s === RUN TestApplyPolicies/Error_when_applying_scripts_policy 213s === RUN TestApplyPolicies/Error_when_applying_proxy_policy 213s === RUN TestApplyPolicies/Error_when_applying_certificate_policy 213s --- PASS: TestApplyPolicies (0.33s) 213s --- PASS: TestApplyPolicies/Succeed_if_checking_for_backend_online_status_returns_an_error (0.06s) 213s --- PASS: TestApplyPolicies/Second_call_with_no_rules_deletes_everything (0.03s) 213s --- PASS: TestApplyPolicies/No_subscription_is_only_dconf_content (0.02s) 213s --- PASS: TestApplyPolicies/Second_call_with_no_subscription_should_remove_everything_but_dconf_content (0.03s) 213s --- PASS: TestApplyPolicies/Second_call_with_no_subscription_don't_remove_scripts_if_session_hasn’t_ended (0.04s) 213s --- PASS: TestApplyPolicies/Error_when_applying_dconf_policy (0.01s) 213s --- PASS: TestApplyPolicies/Error_when_applying_apparmor_policy (0.01s) 213s --- PASS: TestApplyPolicies/Error_when_applying_mount_policy (0.01s) 213s --- PASS: TestApplyPolicies/Succeed (0.04s) 213s --- PASS: TestApplyPolicies/Second_call_with_no_rules_don't_remove_scripts_if_session_hasn’t_ended (0.03s) 213s --- PASS: TestApplyPolicies/Error_when_applying_privilege_policy (0.02s) 213s --- PASS: TestApplyPolicies/Error_when_applying_scripts_policy (0.01s) 213s --- PASS: TestApplyPolicies/Error_when_applying_proxy_policy (0.01s) 213s --- PASS: TestApplyPolicies/Error_when_applying_certificate_policy (0.01s) 213s === RUN TestDumpPolicies 213s === PAUSE TestDumpPolicies 213s === RUN TestLastUpdateFor 213s === PAUSE TestLastUpdateFor 213s === RUN TestGetSubscriptionState 213s === RUN TestGetSubscriptionState/Returns_enablement_status_(enabled) 213s === RUN TestGetSubscriptionState/Returns_enablement_status_(disabled) 213s --- PASS: TestGetSubscriptionState (0.01s) 213s --- PASS: TestGetSubscriptionState/Returns_enablement_status_(enabled) (0.00s) 213s --- PASS: TestGetSubscriptionState/Returns_enablement_status_(disabled) (0.01s) 213s === RUN TestNew 213s === PAUSE TestNew 213s === RUN TestNewFromCache 213s === PAUSE TestNewFromCache 213s === RUN TestSave 213s === PAUSE TestSave 213s === RUN TestCachePolicies 213s === PAUSE TestCachePolicies 213s === RUN TestSaveAssetsTo 213s === PAUSE TestSaveAssetsTo 213s === RUN TestCompressAssets 213s === PAUSE TestCompressAssets 213s === RUN TestGetUniqueRules 213s === PAUSE TestGetUniqueRules 213s === CONT TestFormat 213s === CONT TestSaveAssetsTo 213s === RUN TestFormat/GPO_with_rules,_override_displayed 213s === PAUSE TestFormat/GPO_with_rules,_override_displayed 213s === RUN TestSaveAssetsTo/Chown_directories_and_files_when_requested 213s === RUN TestFormat/GPO_with_rules,_override_disabled_key 213s === PAUSE TestFormat/GPO_with_rules,_override_disabled_key 213s === RUN TestFormat/GPO_summary 213s === PAUSE TestSaveAssetsTo/Chown_directories_and_files_when_requested 213s === RUN TestSaveAssetsTo/All 213s === PAUSE TestSaveAssetsTo/All 213s === RUN TestSaveAssetsTo/Sub_directory 213s === PAUSE TestSaveAssetsTo/Sub_directory 213s === RUN TestSaveAssetsTo/Sub_directory_ending_with_slash 213s === PAUSE TestSaveAssetsTo/Sub_directory_ending_with_slash 213s === RUN TestSaveAssetsTo/Error_on_unexisting_relSrc_in_cache 213s === PAUSE TestSaveAssetsTo/Error_on_unexisting_relSrc_in_cache 213s === RUN TestSaveAssetsTo/Error_on_no_assets 213s === PAUSE TestSaveAssetsTo/Error_on_no_assets 213s === RUN TestSaveAssetsTo/Error_on_dest_already_exists 213s === PAUSE TestSaveAssetsTo/Error_on_dest_already_exists 213s === RUN TestSaveAssetsTo/File 213s === PAUSE TestFormat/GPO_summary 213s === PAUSE TestSaveAssetsTo/File 213s === RUN TestFormat/GPO_with_rules 213s === RUN TestSaveAssetsTo/Error_on_empty_relSrc 213s === PAUSE TestFormat/GPO_with_rules 213s === PAUSE TestSaveAssetsTo/Error_on_empty_relSrc 213s === RUN TestFormat/GPO_with_rules_and_overrides,_no_rules_processed 213s === RUN TestSaveAssetsTo/Error_on_read_only_dest 213s === PAUSE TestFormat/GPO_with_rules_and_overrides,_no_rules_processed 213s === RUN TestFormat/GPO_with_rules,_override_hidden 213s === PAUSE TestSaveAssetsTo/Error_on_read_only_dest 213s === RUN TestSaveAssetsTo/Error_on_file_read_only_existing_in_dest 213s === PAUSE TestSaveAssetsTo/Error_on_file_read_only_existing_in_dest 213s === RUN TestSaveAssetsTo/Error_on_can't_chown_to_user 213s === PAUSE TestSaveAssetsTo/Error_on_can't_chown_to_user 213s === CONT TestGetUniqueRules 213s === PAUSE TestFormat/GPO_with_rules,_override_hidden 213s === RUN TestFormat/GPO_and_assets_with_rules,_appending_to_same_key_do_not_add_to_processed_rules 213s === PAUSE TestFormat/GPO_and_assets_with_rules,_appending_to_same_key_do_not_add_to_processed_rules 213s === RUN TestFormat/GPO_and_assets_with_rules,_append_is_overridden_after_a_topmost_override 213s === PAUSE TestFormat/GPO_and_assets_with_rules,_append_is_overridden_after_a_topmost_override 213s === RUN TestFormat/GPO_with_rules,_appending_to_existing_treated_key 213s === PAUSE TestFormat/GPO_with_rules,_appending_to_existing_treated_key 213s === CONT TestCompressAssets 213s === RUN TestCompressAssets/No_db 213s === RUN TestGetUniqueRules/Two_policies,_with_reversed_overrides 213s === PAUSE TestGetUniqueRules/Two_policies,_with_reversed_overrides 213s === RUN TestGetUniqueRules/Two_policies,_no_overrides,_reversed 213s === PAUSE TestGetUniqueRules/Two_policies,_no_overrides,_reversed 213s === RUN TestGetUniqueRules/Disabled_value_overrides_non_disabled_one 213s === PAUSE TestGetUniqueRules/Disabled_value_overrides_non_disabled_one 213s === RUN TestGetUniqueRules/Append_policy_entry,_multiple_GPOs,_disabled_key_is_ignored,_second 213s === PAUSE TestGetUniqueRules/Append_policy_entry,_multiple_GPOs,_disabled_key_is_ignored,_second 213s === RUN TestGetUniqueRules/Append_policy_entry,_closest_meta_wins 213s === PAUSE TestGetUniqueRules/Append_policy_entry,_closest_meta_wins 213s === RUN TestGetUniqueRules/Mix_meta_on_GPOs,_furthest_policy_entry_is_append,_closest_is_override 213s === PAUSE TestGetUniqueRules/Mix_meta_on_GPOs,_furthest_policy_entry_is_append,_closest_is_override 213s === RUN TestGetUniqueRules/Order_key_ascii 213s === PAUSE TestCompressAssets/No_db 213s === RUN TestCompressAssets/Existing_db 213s === PAUSE TestCompressAssets/Existing_db 213s === RUN TestCompressAssets/Error_on_can’t_remove_existing_db 213s === PAUSE TestCompressAssets/Error_on_can’t_remove_existing_db 213s === RUN TestCompressAssets/Error_on_non_existing_directory 213s === PAUSE TestCompressAssets/Error_on_non_existing_directory 213s === CONT TestNew 213s === RUN TestNew/gpos_only 213s === PAUSE TestNew/gpos_only 213s === RUN TestNew/With_assets 213s === PAUSE TestNew/With_assets 213s === RUN TestNew/No_gpos 213s === PAUSE TestNew/No_gpos 213s === RUN TestNew/Error_on_invalid_assets_db 213s === PAUSE TestGetUniqueRules/Order_key_ascii 213s === RUN TestGetUniqueRules/More_policies,_with_multiple_overrides 213s === PAUSE TestGetUniqueRules/More_policies,_with_multiple_overrides 213s === RUN TestGetUniqueRules/Append_policy_entry,_one_GPO,_disabled_key_is_ignored 213s === PAUSE TestGetUniqueRules/Append_policy_entry,_one_GPO,_disabled_key_is_ignored 213s === RUN TestGetUniqueRules/Append_policy_entry,_multiple_GPOs,_disabled_key_is_ignored,_first 213s === PAUSE TestGetUniqueRules/Append_policy_entry,_multiple_GPOs,_disabled_key_is_ignored,_first 213s === PAUSE TestNew/Error_on_invalid_assets_db 213s === RUN TestNew/Error_on_assets_db_does_not_exists 213s === PAUSE TestNew/Error_on_assets_db_does_not_exists 213s === RUN TestGetUniqueRules/Two_policies,_no_overrides 213s === PAUSE TestGetUniqueRules/Two_policies,_no_overrides 213s === RUN TestGetUniqueRules/Append_policy_entry,_one_GPO 213s === PAUSE TestGetUniqueRules/Append_policy_entry,_one_GPO 213s === CONT TestCachePolicies 213s === RUN TestGetUniqueRules/One_GPO 213s === PAUSE TestGetUniqueRules/One_GPO 213s === RUN TestGetUniqueRules/Multiple_domains,_different_GPOs 213s === PAUSE TestGetUniqueRules/Multiple_domains,_different_GPOs 213s === RUN TestGetUniqueRules/Same_key_in_different_domains_are_kept_separated 213s === PAUSE TestGetUniqueRules/Same_key_in_different_domains_are_kept_separated 213s === RUN TestGetUniqueRules/Disabled_value_is_overridden 213s === PAUSE TestGetUniqueRules/Disabled_value_is_overridden 213s === RUN TestGetUniqueRules/Append_policy_entry,_multiple_GPOs 213s === PAUSE TestGetUniqueRules/Append_policy_entry,_multiple_GPOs 213s === RUN TestGetUniqueRules/Mix_meta_on_GPOs,_closest_policy_entry_is_append,_furthest_override_is_ignored 213s === PAUSE TestGetUniqueRules/Mix_meta_on_GPOs,_closest_policy_entry_is_append,_furthest_override_is_ignored 213s === RUN TestGetUniqueRules/Multiple_domains,_same_GPOs 213s === PAUSE TestGetUniqueRules/Multiple_domains,_same_GPOs 213s === RUN TestGetUniqueRules/Two_policies,_with_overrides 213s === PAUSE TestGetUniqueRules/Two_policies,_with_overrides 213s === CONT TestSave 213s === RUN TestSave/gpos_only 213s === PAUSE TestSave/gpos_only 213s === RUN TestSave/With_assets 213s === PAUSE TestSave/With_assets 213s === RUN TestSave/Existing_policies_cache_is_refreshed 213s === PAUSE TestSave/Existing_policies_cache_is_refreshed 213s === RUN TestSave/Existing_cache_with_assets,_new_cache_with_no_assets 213s === PAUSE TestSave/Existing_cache_with_assets,_new_cache_with_no_assets 213s === RUN TestSave/Save_assets_on_existing_opened_file_does_not_segfault 213s === PAUSE TestSave/Save_assets_on_existing_opened_file_does_not_segfault 213s === RUN TestSave/Can_refresh_on_existing_read_only_asset_file 213s === PAUSE TestSave/Can_refresh_on_existing_read_only_asset_file 213s === RUN TestSave/Error_on_can’t_write_to_policies_base_dir 213s === PAUSE TestSave/Error_on_can’t_write_to_policies_base_dir 213s === RUN TestSave/Error_on_can’t_write_to_dest_dir 213s === PAUSE TestSave/Error_on_can’t_write_to_dest_dir 213s === RUN TestSave/Existing_assets_cache_is_refreshed 213s === PAUSE TestSave/Existing_assets_cache_is_refreshed 213s === RUN TestSave/Destdir_does_not_exists 213s === PAUSE TestSave/Destdir_does_not_exists 213s === RUN TestSave/Error_on_can’t_remove_existing_assets 213s === PAUSE TestSave/Error_on_can’t_remove_existing_assets 213s === CONT TestNewFromCache 213s === RUN TestNewFromCache/With_assets 213s === PAUSE TestNewFromCache/With_assets 213s === RUN TestNewFromCache/Error_on_invalid_policies_cache 213s === PAUSE TestNewFromCache/Error_on_invalid_policies_cache 213s === RUN TestNewFromCache/Error_on_invalid_assets_db 213s === PAUSE TestNewFromCache/Error_on_invalid_assets_db 213s === RUN TestNewFromCache/Error_on_no_policies_cache 213s === PAUSE TestNewFromCache/Error_on_no_policies_cache 213s === RUN TestNewFromCache/gpos_only 213s === PAUSE TestNewFromCache/gpos_only 213s === CONT TestDumpPolicies 213s === RUN TestDumpPolicies/One_GPO_with_rules 213s === PAUSE TestDumpPolicies/One_GPO_with_rules 213s === RUN TestDumpPolicies/Multiple_GPOs_with_rules,_no_override 213s === PAUSE TestDumpPolicies/Multiple_GPOs_with_rules,_no_override 213s === RUN TestDumpPolicies/Overrides_between_machine_and_user_GPOs,_hidden 213s === PAUSE TestDumpPolicies/Overrides_between_machine_and_user_GPOs,_hidden 213s === RUN TestDumpPolicies/Error_on_missing_machine_cache_when_targeting_user 213s === PAUSE TestDumpPolicies/Error_on_missing_machine_cache_when_targeting_user 213s === RUN TestDumpPolicies/Machine_only_GPO_with_rules 213s === PAUSE TestDumpPolicies/Machine_only_GPO_with_rules 213s === RUN TestDumpPolicies/One_GPO_User_+_Machine 213s === PAUSE TestDumpPolicies/One_GPO_User_+_Machine 213s === RUN TestDumpPolicies/Multiple_GPOs_with_rules,_override_hidden 213s === PAUSE TestDumpPolicies/Multiple_GPOs_with_rules,_override_hidden 213s === RUN TestDumpPolicies/One_GPO_User 213s === PAUSE TestDumpPolicies/One_GPO_User 213s === RUN TestDumpPolicies/Multiple_GPOs_with_rules,_override,_shown 213s === PAUSE TestDumpPolicies/Multiple_GPOs_with_rules,_override,_shown 213s === RUN TestDumpPolicies/Same_GPO_Machine_and_User 213s === PAUSE TestDumpPolicies/Same_GPO_Machine_and_User 213s === RUN TestDumpPolicies/Same_GPO_Machine_and_User_with_rules 213s --- PASS: TestCachePolicies (0.00s) 213s === CONT TestLastUpdateFor 213s === PAUSE TestDumpPolicies/Same_GPO_Machine_and_User_with_rules 213s === RUN TestDumpPolicies/One_GPO_Machine 213s === PAUSE TestDumpPolicies/One_GPO_Machine 213s === RUN TestDumpPolicies/Overrides_between_machine_and_user_GPOs,_shown 213s === PAUSE TestDumpPolicies/Overrides_between_machine_and_user_GPOs,_shown 213s === RUN TestDumpPolicies/Same_GPO_Machine_and_User_with_rules_and_overrides 213s === PAUSE TestDumpPolicies/Same_GPO_Machine_and_User_with_rules_and_overrides 213s === RUN TestDumpPolicies/Error_on_missing_target_cache 213s === PAUSE TestDumpPolicies/Error_on_missing_target_cache 213s === RUN TestDumpPolicies/Multiple_GPOs 213s === PAUSE TestDumpPolicies/Multiple_GPOs 213s === CONT TestSaveAssetsTo/Chown_directories_and_files_when_requested 213s === RUN TestLastUpdateFor/Returns_user's_last_update_time 213s === PAUSE TestLastUpdateFor/Returns_user's_last_update_time 213s === RUN TestLastUpdateFor/Target_is_ignored_for_machine_request 213s === PAUSE TestLastUpdateFor/Target_is_ignored_for_machine_request 213s === RUN TestLastUpdateFor/Error_when_target_does_not_exist 213s === PAUSE TestLastUpdateFor/Error_when_target_does_not_exist 213s === RUN TestLastUpdateFor/Returns_machine's_last_update_time 213s === PAUSE TestLastUpdateFor/Returns_machine's_last_update_time 213s === CONT TestFormat/GPO_with_rules,_override_displayed 213s === CONT TestFormat/GPO_with_rules,_appending_to_existing_treated_key 213s === CONT TestFormat/GPO_and_assets_with_rules,_append_is_overridden_after_a_topmost_override 213s === CONT TestFormat/GPO_and_assets_with_rules,_appending_to_same_key_do_not_add_to_processed_rules 213s === CONT TestFormat/GPO_with_rules,_override_hidden 213s === CONT TestFormat/GPO_with_rules_and_overrides,_no_rules_processed 213s === CONT TestFormat/GPO_with_rules 213s === CONT TestFormat/GPO_summary 213s === CONT TestFormat/GPO_with_rules,_override_disabled_key 213s --- PASS: TestFormat (0.00s) 213s --- PASS: TestFormat/GPO_with_rules,_override_displayed (0.00s) 213s --- PASS: TestFormat/GPO_with_rules,_appending_to_existing_treated_key (0.00s) 213s --- PASS: TestFormat/GPO_and_assets_with_rules,_append_is_overridden_after_a_topmost_override (0.00s) 213s --- PASS: TestFormat/GPO_and_assets_with_rules,_appending_to_same_key_do_not_add_to_processed_rules (0.00s) 213s --- PASS: TestFormat/GPO_with_rules,_override_hidden (0.00s) 213s --- PASS: TestFormat/GPO_with_rules_and_overrides,_no_rules_processed (0.00s) 213s --- PASS: TestFormat/GPO_with_rules (0.00s) 213s --- PASS: TestFormat/GPO_summary (0.00s) 213s --- PASS: TestFormat/GPO_with_rules,_override_disabled_key (0.00s) 213s === CONT TestSaveAssetsTo/Error_on_dest_already_exists 213s === CONT TestSaveAssetsTo/Error_on_can't_chown_to_user 213s === CONT TestSaveAssetsTo/Error_on_file_read_only_existing_in_dest 213s === CONT TestSaveAssetsTo/Error_on_read_only_dest 213s === CONT TestSaveAssetsTo/Error_on_empty_relSrc 213s === CONT TestSaveAssetsTo/File 213s === CONT TestSaveAssetsTo/Sub_directory_ending_with_slash 213s === CONT TestSaveAssetsTo/Error_on_no_assets 213s === CONT TestSaveAssetsTo/Error_on_unexisting_relSrc_in_cache 213s === CONT TestSaveAssetsTo/Sub_directory 213s === CONT TestSaveAssetsTo/All 213s === CONT TestCompressAssets/No_db 213s --- PASS: TestSaveAssetsTo (0.00s) 213s --- PASS: TestSaveAssetsTo/Error_on_dest_already_exists (0.00s) 213s --- PASS: TestSaveAssetsTo/Error_on_can't_chown_to_user (0.00s) 213s --- PASS: TestSaveAssetsTo/Chown_directories_and_files_when_requested (0.01s) 213s --- PASS: TestSaveAssetsTo/Error_on_read_only_dest (0.00s) 213s --- PASS: TestSaveAssetsTo/Error_on_empty_relSrc (0.00s) 213s --- PASS: TestSaveAssetsTo/Error_on_file_read_only_existing_in_dest (0.00s) 213s --- PASS: TestSaveAssetsTo/File (0.00s) 213s --- PASS: TestSaveAssetsTo/Error_on_no_assets (0.00s) 213s --- PASS: TestSaveAssetsTo/Error_on_unexisting_relSrc_in_cache (0.00s) 213s --- PASS: TestSaveAssetsTo/Sub_directory_ending_with_slash (0.00s) 213s --- PASS: TestSaveAssetsTo/Sub_directory (0.00s) 213s --- PASS: TestSaveAssetsTo/All (0.01s) 213s === CONT TestCompressAssets/Error_on_can’t_remove_existing_db 213s === CONT TestCompressAssets/Error_on_non_existing_directory 213s === CONT TestCompressAssets/Existing_db 213s === CONT TestNew/gpos_only 213s === CONT TestNew/Error_on_invalid_assets_db 213s === CONT TestGetUniqueRules/Two_policies,_with_reversed_overrides 213s === CONT TestNew/No_gpos 213s === CONT TestNew/With_assets 213s === CONT TestNew/Error_on_assets_db_does_not_exists 213s --- PASS: TestCompressAssets (0.00s) 213s --- PASS: TestCompressAssets/Error_on_can’t_remove_existing_db (0.01s) 213s --- PASS: TestCompressAssets/Error_on_non_existing_directory (0.00s) 213s --- PASS: TestCompressAssets/No_db (0.02s) 213s --- PASS: TestCompressAssets/Existing_db (0.02s) 213s === CONT TestSave/gpos_only 213s === CONT TestGetUniqueRules/Two_policies,_with_overrides 213s === CONT TestGetUniqueRules/Multiple_domains,_same_GPOs 213s === CONT TestGetUniqueRules/Mix_meta_on_GPOs,_closest_policy_entry_is_append,_furthest_override_is_ignored 213s === CONT TestGetUniqueRules/Append_policy_entry,_multiple_GPOs 213s === CONT TestGetUniqueRules/Disabled_value_is_overridden 213s === CONT TestGetUniqueRules/Same_key_in_different_domains_are_kept_separated 213s === CONT TestGetUniqueRules/Multiple_domains,_different_GPOs 213s === CONT TestGetUniqueRules/One_GPO 213s === CONT TestGetUniqueRules/Append_policy_entry,_one_GPO 213s === CONT TestGetUniqueRules/Two_policies,_no_overrides 213s === CONT TestGetUniqueRules/Append_policy_entry,_multiple_GPOs,_disabled_key_is_ignored,_first 213s === CONT TestGetUniqueRules/Append_policy_entry,_one_GPO,_disabled_key_is_ignored 213s === CONT TestGetUniqueRules/More_policies,_with_multiple_overrides 213s === CONT TestGetUniqueRules/Order_key_ascii 213s === CONT TestGetUniqueRules/Mix_meta_on_GPOs,_furthest_policy_entry_is_append,_closest_is_override 213s === CONT TestGetUniqueRules/Append_policy_entry,_closest_meta_wins 213s === CONT TestGetUniqueRules/Append_policy_entry,_multiple_GPOs,_disabled_key_is_ignored,_second 213s === CONT TestGetUniqueRules/Disabled_value_overrides_non_disabled_one 213s === CONT TestGetUniqueRules/Two_policies,_no_overrides,_reversed 213s --- PASS: TestGetUniqueRules (0.00s) 213s --- PASS: TestGetUniqueRules/Two_policies,_with_reversed_overrides (0.00s) 213s --- PASS: TestGetUniqueRules/Two_policies,_with_overrides (0.00s) 213s --- PASS: TestGetUniqueRules/Multiple_domains,_same_GPOs (0.00s) 213s --- PASS: TestGetUniqueRules/Mix_meta_on_GPOs,_closest_policy_entry_is_append,_furthest_override_is_ignored (0.00s) 213s --- PASS: TestGetUniqueRules/Append_policy_entry,_multiple_GPOs (0.00s) 213s --- PASS: TestGetUniqueRules/Disabled_value_is_overridden (0.00s) 213s --- PASS: TestGetUniqueRules/Same_key_in_different_domains_are_kept_separated (0.00s) 213s --- PASS: TestGetUniqueRules/Multiple_domains,_different_GPOs (0.00s) 213s --- PASS: TestGetUniqueRules/One_GPO (0.00s) 213s --- PASS: TestGetUniqueRules/Append_policy_entry,_one_GPO (0.00s) 213s --- PASS: TestGetUniqueRules/Two_policies,_no_overrides (0.00s) 213s --- PASS: TestGetUniqueRules/Append_policy_entry,_multiple_GPOs,_disabled_key_is_ignored,_first (0.00s) 213s --- PASS: TestGetUniqueRules/Append_policy_entry,_one_GPO,_disabled_key_is_ignored (0.00s) 213s --- PASS: TestGetUniqueRules/More_policies,_with_multiple_overrides (0.00s) 213s --- PASS: TestGetUniqueRules/Order_key_ascii (0.00s) 213s --- PASS: TestGetUniqueRules/Mix_meta_on_GPOs,_furthest_policy_entry_is_append,_closest_is_override (0.00s) 213s --- PASS: TestGetUniqueRules/Append_policy_entry,_closest_meta_wins (0.00s) 213s --- PASS: TestGetUniqueRules/Append_policy_entry,_multiple_GPOs,_disabled_key_is_ignored,_second (0.00s) 213s --- PASS: TestGetUniqueRules/Disabled_value_overrides_non_disabled_one (0.00s) 213s --- PASS: TestGetUniqueRules/Two_policies,_no_overrides,_reversed (0.00s) 213s === CONT TestNewFromCache/With_assets 213s --- PASS: TestNew (0.00s) 213s --- PASS: TestNew/gpos_only (0.00s) 213s --- PASS: TestNew/Error_on_invalid_assets_db (0.00s) 213s --- PASS: TestNew/No_gpos (0.00s) 213s --- PASS: TestNew/Error_on_assets_db_does_not_exists (0.00s) 213s --- PASS: TestNew/With_assets (0.01s) 213s === CONT TestSave/Error_on_can’t_remove_existing_assets 213s === CONT TestSave/Destdir_does_not_exists 213s === CONT TestSave/Existing_assets_cache_is_refreshed 213s === CONT TestSave/Error_on_can’t_write_to_dest_dir 213s === CONT TestSave/Error_on_can’t_write_to_policies_base_dir 213s === CONT TestSave/Can_refresh_on_existing_read_only_asset_file 213s === CONT TestSave/Save_assets_on_existing_opened_file_does_not_segfault 213s === CONT TestSave/Existing_cache_with_assets,_new_cache_with_no_assets 213s === CONT TestSave/Existing_policies_cache_is_refreshed 213s === CONT TestSave/With_assets 213s === CONT TestNewFromCache/gpos_only 213s --- PASS: TestSave (0.00s) 213s --- PASS: TestSave/gpos_only (0.00s) 213s --- PASS: TestSave/Error_on_can’t_remove_existing_assets (0.00s) 213s --- PASS: TestSave/Destdir_does_not_exists (0.00s) 213s --- PASS: TestSave/Existing_assets_cache_is_refreshed (0.00s) 213s --- PASS: TestSave/Error_on_can’t_write_to_dest_dir (0.00s) 213s --- PASS: TestSave/Error_on_can’t_write_to_policies_base_dir (0.00s) 213s --- PASS: TestSave/Can_refresh_on_existing_read_only_asset_file (0.00s) 213s --- PASS: TestSave/Existing_cache_with_assets,_new_cache_with_no_assets (0.00s) 213s --- PASS: TestSave/Save_assets_on_existing_opened_file_does_not_segfault (0.00s) 213s --- PASS: TestSave/Existing_policies_cache_is_refreshed (0.00s) 213s --- PASS: TestSave/With_assets (0.00s) 213s === CONT TestNewFromCache/Error_on_no_policies_cache 213s === CONT TestNewFromCache/Error_on_invalid_assets_db 213s === CONT TestNewFromCache/Error_on_invalid_policies_cache 213s === CONT TestDumpPolicies/One_GPO_with_rules 213s --- PASS: TestNewFromCache (0.00s) 213s --- PASS: TestNewFromCache/With_assets (0.01s) 213s --- PASS: TestNewFromCache/Error_on_no_policies_cache (0.00s) 213s --- PASS: TestNewFromCache/Error_on_invalid_assets_db (0.00s) 213s --- PASS: TestNewFromCache/gpos_only (0.00s) 213s --- PASS: TestNewFromCache/Error_on_invalid_policies_cache (0.00s) 213s === CONT TestDumpPolicies/Multiple_GPOs_with_rules,_override,_shown 213s time="2025-10-18T15:33:47Z" level=info msg="Dumping policies for user" 213s time="2025-10-18T15:33:47Z" level=info msg="Dumping policies for user" 213s === CONT TestDumpPolicies/Multiple_GPOs 213s === CONT TestDumpPolicies/Error_on_missing_target_cache 213s time="2025-10-18T15:33:47Z" level=info msg="Dumping policies for user" 213s time="2025-10-18T15:33:47Z" level=info msg="User \"user\" not found on cache." 213s time="2025-10-18T15:33:47Z" level=info msg="Dumping policies for user" 213s === CONT TestDumpPolicies/Same_GPO_Machine_and_User_with_rules_and_overrides 213s time="2025-10-18T15:33:47Z" level=info msg="Dumping policies for user" 213s === CONT TestDumpPolicies/Overrides_between_machine_and_user_GPOs,_shown 213s === CONT TestDumpPolicies/One_GPO_Machine 213s time="2025-10-18T15:33:47Z" level=info msg="Dumping policies for autopkgtest" 213s time="2025-10-18T15:33:47Z" level=info msg="Dumping policies for user" 213s === CONT TestDumpPolicies/Same_GPO_Machine_and_User_with_rules 213s === CONT TestDumpPolicies/Same_GPO_Machine_and_User 213s time="2025-10-18T15:33:47Z" level=info msg="Dumping policies for user" 213s time="2025-10-18T15:33:47Z" level=info msg="Dumping policies for user" 213s === CONT TestDumpPolicies/Machine_only_GPO_with_rules 213s === CONT TestDumpPolicies/One_GPO_User 213s time="2025-10-18T15:33:47Z" level=info msg="Dumping policies for autopkgtest" 213s time="2025-10-18T15:33:47Z" level=info msg="Dumping policies for user" 213s === CONT TestDumpPolicies/Multiple_GPOs_with_rules,_override_hidden 213s === CONT TestDumpPolicies/One_GPO_User_+_Machine 213s time="2025-10-18T15:33:47Z" level=info msg="Dumping policies for user" 213s time="2025-10-18T15:33:47Z" level=info msg="Dumping policies for user" 213s === CONT TestDumpPolicies/Overrides_between_machine_and_user_GPOs,_hidden 213s === CONT TestDumpPolicies/Error_on_missing_machine_cache_when_targeting_user 213s time="2025-10-18T15:33:47Z" level=info msg="Dumping policies for user" 213s time="2025-10-18T15:33:47Z" level=info msg="Dumping policies for user" 213s === CONT TestDumpPolicies/Multiple_GPOs_with_rules,_no_override 213s === CONT TestLastUpdateFor/Returns_user's_last_update_time 213s time="2025-10-18T15:33:47Z" level=info msg="Dumping policies for user" 213s --- PASS: TestDumpPolicies (0.00s) 213s --- PASS: TestDumpPolicies/One_GPO_with_rules (0.00s) 213s --- PASS: TestDumpPolicies/Multiple_GPOs_with_rules,_override,_shown (0.00s) 213s --- PASS: TestDumpPolicies/Error_on_missing_target_cache (0.00s) 213s --- PASS: TestDumpPolicies/Multiple_GPOs (0.01s) 213s --- PASS: TestDumpPolicies/Same_GPO_Machine_and_User_with_rules_and_overrides (0.00s) 213s --- PASS: TestDumpPolicies/One_GPO_Machine (0.00s) 213s --- PASS: TestDumpPolicies/Overrides_between_machine_and_user_GPOs,_shown (0.00s) 213s --- PASS: TestDumpPolicies/Same_GPO_Machine_and_User_with_rules (0.00s) 213s --- PASS: TestDumpPolicies/Same_GPO_Machine_and_User (0.00s) 213s --- PASS: TestDumpPolicies/Machine_only_GPO_with_rules (0.00s) 213s --- PASS: TestDumpPolicies/One_GPO_User (0.00s) 213s --- PASS: TestDumpPolicies/Multiple_GPOs_with_rules,_override_hidden (0.00s) 213s --- PASS: TestDumpPolicies/One_GPO_User_+_Machine (0.00s) 213s --- PASS: TestDumpPolicies/Error_on_missing_machine_cache_when_targeting_user (0.00s) 213s --- PASS: TestDumpPolicies/Overrides_between_machine_and_user_GPOs,_hidden (0.00s) 213s --- PASS: TestDumpPolicies/Multiple_GPOs_with_rules,_no_override (0.00s) 213s === CONT TestLastUpdateFor/Error_when_target_does_not_exist 213s time="2025-10-18T15:33:47Z" level=info msg="Get policies last update time \"user\" (machine: false)" 213s time="2025-10-18T15:33:47Z" level=info msg="Get policies last update time \"does_not_exit\" (machine: false)" 213s === CONT TestLastUpdateFor/Target_is_ignored_for_machine_request 213s === CONT TestLastUpdateFor/Returns_machine's_last_update_time 213s time="2025-10-18T15:33:47Z" level=info msg="Get policies last update time \"autopkgtest\" (machine: true)" 213s time="2025-10-18T15:33:47Z" level=info msg="Get policies last update time \"does_not_exit\" (machine: true)" 213s --- PASS: TestLastUpdateFor (0.00s) 213s --- PASS: TestLastUpdateFor/Returns_user's_last_update_time (0.10s) 213s --- PASS: TestLastUpdateFor/Error_when_target_does_not_exist (0.10s) 213s --- PASS: TestLastUpdateFor/Returns_machine's_last_update_time (0.10s) 213s --- PASS: TestLastUpdateFor/Target_is_ignored_for_machine_request (0.10s) 213s PASS 213s ok github.com/ubuntu/adsys/internal/policies 0.660s 213s === RUN TestApplyPolicy 213s === PAUSE TestApplyPolicy 213s === RUN TestMockApparmorParser 213s --- PASS: TestMockApparmorParser (0.00s) 213s === CONT TestApplyPolicy 213s === RUN TestApplyPolicy/No_apparmor_parser_and_entries 213s === PAUSE TestApplyPolicy/No_apparmor_parser_and_entries 213s === RUN TestApplyPolicy/Computer,_blank_line_profiles 213s === PAUSE TestApplyPolicy/Computer,_blank_line_profiles 213s === RUN TestApplyPolicy/Read-only_root_directory_and_no_entries 213s === PAUSE TestApplyPolicy/Read-only_root_directory_and_no_entries 213s === RUN TestApplyPolicy/Error_on_preprocessing_old_profiles_failing 213s === PAUSE TestApplyPolicy/Error_on_preprocessing_old_profiles_failing 213s === RUN TestApplyPolicy/Error_on_profile_being_a_directory 213s === PAUSE TestApplyPolicy/Error_on_profile_being_a_directory 213s === RUN TestApplyPolicy/Error_on_file_as_a_directory 213s === PAUSE TestApplyPolicy/Error_on_file_as_a_directory 213s === RUN TestApplyPolicy/Error_on_save_assets_dumping_failing 213s === PAUSE TestApplyPolicy/Error_on_save_assets_dumping_failing 213s === RUN TestApplyPolicy/Error_on_removing_unused_assets_after_dump 213s === PAUSE TestApplyPolicy/Error_on_removing_unused_assets_after_dump 213s === RUN TestApplyPolicy/User,_no_entries,_existing_user_profile_is_deleted 213s === PAUSE TestApplyPolicy/User,_no_entries,_existing_user_profile_is_deleted 213s === RUN TestApplyPolicy/User,_error_on_save_assets_failing 213s === PAUSE TestApplyPolicy/User,_error_on_save_assets_failing 213s === RUN TestApplyPolicy/Computer,_multiple_profiles, 213s === PAUSE TestApplyPolicy/Computer,_multiple_profiles, 213s === RUN TestApplyPolicy/Computer,_profiles_with_whitespace 213s === PAUSE TestApplyPolicy/Computer,_profiles_with_whitespace 213s === RUN TestApplyPolicy/Computer,_previous_profiles_are_unloaded 213s === PAUSE TestApplyPolicy/Computer,_previous_profiles_are_unloaded 213s === RUN TestApplyPolicy/Existing_.new_directory_is_removed 213s === PAUSE TestApplyPolicy/Existing_.new_directory_is_removed 213s === RUN TestApplyPolicy/User,_error_on_empty_user_profile 213s === PAUSE TestApplyPolicy/User,_error_on_empty_user_profile 213s === RUN TestApplyPolicy/Error_on_preprocessing_new_profiles_failing 213s === PAUSE TestApplyPolicy/Error_on_preprocessing_new_profiles_failing 213s === RUN TestApplyPolicy/Computer,_duplicated_profiles 213s === PAUSE TestApplyPolicy/Computer,_duplicated_profiles 213s === RUN TestApplyPolicy/No_profiles,_apparmor_directory_absent 213s === PAUSE TestApplyPolicy/No_profiles,_apparmor_directory_absent 213s === RUN TestApplyPolicy/User,_no_user_profiles,_machine_profiles_are_unloaded 213s === PAUSE TestApplyPolicy/User,_no_user_profiles,_machine_profiles_are_unloaded 213s === RUN TestApplyPolicy/User,_error_on_multiple_profiles 213s === PAUSE TestApplyPolicy/User,_error_on_multiple_profiles 213s === RUN TestApplyPolicy/Error_on_unloading_all_profiles_failing 213s === PAUSE TestApplyPolicy/Error_on_unloading_all_profiles_failing 213s === RUN TestApplyPolicy/Error_on_unloading_old_profiles_failing 213s === PAUSE TestApplyPolicy/Error_on_unloading_old_profiles_failing 213s === RUN TestApplyPolicy/Computer,_only_blank_profiles 213s === PAUSE TestApplyPolicy/Computer,_only_blank_profiles 213s === RUN TestApplyPolicy/Unexpected_entry_key 213s === PAUSE TestApplyPolicy/Unexpected_entry_key 213s === RUN TestApplyPolicy/Error_on_absent_profile 213s === PAUSE TestApplyPolicy/Error_on_absent_profile 213s === RUN TestApplyPolicy/Error_on_read-only_.new_directory 213s === PAUSE TestApplyPolicy/Error_on_read-only_.new_directory 213s === RUN TestApplyPolicy/Error_on_loading_profiles_failing 213s === PAUSE TestApplyPolicy/Error_on_loading_profiles_failing 213s === RUN TestApplyPolicy/User,_error_on_invalid_user_profile,_restore_previous 213s === PAUSE TestApplyPolicy/User,_error_on_invalid_user_profile,_restore_previous 213s === RUN TestApplyPolicy/No_apparmor_parser_and_no_entries 213s === PAUSE TestApplyPolicy/No_apparmor_parser_and_no_entries 213s === RUN TestApplyPolicy/Error_on_read-only_root_directory_with_entries 213s === PAUSE TestApplyPolicy/Error_on_read-only_root_directory_with_entries 213s === RUN TestApplyPolicy/Existing_.old_directory_is_removed 213s === PAUSE TestApplyPolicy/Existing_.old_directory_is_removed 213s === RUN TestApplyPolicy/User,_valid_mapping,_unchanged_content 213s === PAUSE TestApplyPolicy/User,_valid_mapping,_unchanged_content 213s === RUN TestApplyPolicy/User,_no_machine_profiles 213s === PAUSE TestApplyPolicy/User,_no_machine_profiles 213s === RUN TestApplyPolicy/Error_on_absent_loaded_policies_file 213s === PAUSE TestApplyPolicy/Error_on_absent_loaded_policies_file 213s === RUN TestApplyPolicy/Error_on_read-only_machine_directory,_no_entries 213s === PAUSE TestApplyPolicy/Error_on_read-only_machine_directory,_no_entries 213s === RUN TestApplyPolicy/Computer,_whitespace-only_value 213s === PAUSE TestApplyPolicy/Computer,_whitespace-only_value 213s === RUN TestApplyPolicy/Computer,_user_policies_are_unloaded 213s === PAUSE TestApplyPolicy/Computer,_user_policies_are_unloaded 213s === RUN TestApplyPolicy/No_profiles,_existing_rules_are_removed 213s === PAUSE TestApplyPolicy/No_profiles,_existing_rules_are_removed 213s === RUN TestApplyPolicy/User,_valid_mapping 213s === PAUSE TestApplyPolicy/User,_valid_mapping 213s === RUN TestApplyPolicy/User,_error_on_overwriting_profile_contents 213s === PAUSE TestApplyPolicy/User,_error_on_overwriting_profile_contents 213s === RUN TestApplyPolicy/User,_error_on_invalid_user_profile,_delete_previous 213s === PAUSE TestApplyPolicy/User,_error_on_invalid_user_profile,_delete_previous 213s === RUN TestApplyPolicy/Error_on_read-only_machine_directory 213s === PAUSE TestApplyPolicy/Error_on_read-only_machine_directory 213s === RUN TestApplyPolicy/Error_on_read-only_.old_directory 213s === PAUSE TestApplyPolicy/Error_on_read-only_.old_directory 213s === RUN TestApplyPolicy/Computer,_one_profile 213s === PAUSE TestApplyPolicy/Computer,_one_profile 213s === CONT TestApplyPolicy/Computer,_whitespace-only_value 213s === CONT TestApplyPolicy/No_apparmor_parser_and_entries 213s === CONT TestApplyPolicy/Error_on_read-only_machine_directory,_no_entries 213s === CONT TestApplyPolicy/Error_on_absent_loaded_policies_file 213s === CONT TestApplyPolicy/User,_no_machine_profiles 213s === CONT TestApplyPolicy/User,_valid_mapping,_unchanged_content 213s time="2025-10-18T15:33:48Z" level=warning msg="No apparmor machine profiles configured for this machine, skipping reload" 213s === CONT TestApplyPolicy/Existing_.old_directory_is_removed 213s === CONT TestApplyPolicy/Error_on_read-only_root_directory_with_entries 213s === CONT TestApplyPolicy/No_apparmor_parser_and_no_entries 213s time="2025-10-18T15:33:48Z" level=warning msg="Apparmor is not available on this system: exec: \"this-definitely-does-not-exist\": executable file not found in $PATH" 213s === CONT TestApplyPolicy/User,_error_on_invalid_user_profile,_restore_previous 213s === CONT TestApplyPolicy/Error_on_loading_profiles_failing 213s === CONT TestApplyPolicy/Error_on_read-only_.new_directory 213s === CONT TestApplyPolicy/Error_on_absent_profile 213s === CONT TestApplyPolicy/Unexpected_entry_key 213s === CONT TestApplyPolicy/Computer,_only_blank_profiles 213s === CONT TestApplyPolicy/Error_on_unloading_old_profiles_failing 213s === CONT TestApplyPolicy/Error_on_unloading_all_profiles_failing 213s === CONT TestApplyPolicy/User,_error_on_multiple_profiles 213s === CONT TestApplyPolicy/User,_no_user_profiles,_machine_profiles_are_unloaded 213s === CONT TestApplyPolicy/No_profiles,_apparmor_directory_absent 213s === CONT TestApplyPolicy/Computer,_duplicated_profiles 213s === CONT TestApplyPolicy/Error_on_preprocessing_new_profiles_failing 213s === CONT TestApplyPolicy/User,_error_on_empty_user_profile 213s === CONT TestApplyPolicy/Existing_.new_directory_is_removed 213s === CONT TestApplyPolicy/Computer,_previous_profiles_are_unloaded 213s === CONT TestApplyPolicy/Computer,_profiles_with_whitespace 213s === CONT TestApplyPolicy/Computer,_multiple_profiles, 213s === CONT TestApplyPolicy/User,_error_on_save_assets_failing 213s === CONT TestApplyPolicy/User,_no_entries,_existing_user_profile_is_deleted 213s === CONT TestApplyPolicy/Error_on_removing_unused_assets_after_dump 213s time="2025-10-18T15:33:48Z" level=warning msg="Couldn't remove new apparmor directory: unlinkat /tmp/TestApplyPolicyError_on_removing_unused_assets_after_dump3923831324/001/machine/pam_roles: permission denied" 213s time="2025-10-18T15:33:48Z" level=warning msg="Couldn't restore previous apparmor directory: rename /tmp/TestApplyPolicyError_on_removing_unused_assets_after_dump3923831324/001/machine.old /tmp/TestApplyPolicyError_on_removing_unused_assets_after_dump3923831324/001/machine: file exists" 213s === CONT TestApplyPolicy/Error_on_save_assets_dumping_failing 213s === CONT TestApplyPolicy/Error_on_file_as_a_directory 213s === CONT TestApplyPolicy/Error_on_profile_being_a_directory 213s === CONT TestApplyPolicy/Error_on_preprocessing_old_profiles_failing 213s === CONT TestApplyPolicy/Read-only_root_directory_and_no_entries 213s === CONT TestApplyPolicy/Computer,_blank_line_profiles 213s === CONT TestApplyPolicy/User,_error_on_invalid_user_profile,_delete_previous 213s === CONT TestApplyPolicy/Computer,_one_profile 213s === CONT TestApplyPolicy/Error_on_read-only_.old_directory 213s === CONT TestApplyPolicy/Error_on_read-only_machine_directory 213s === CONT TestApplyPolicy/User,_valid_mapping 213s === CONT TestApplyPolicy/User,_error_on_overwriting_profile_contents 213s === CONT TestApplyPolicy/No_profiles,_existing_rules_are_removed 213s === CONT TestApplyPolicy/Computer,_user_policies_are_unloaded 213s --- PASS: TestApplyPolicy (0.00s) 213s --- PASS: TestApplyPolicy/No_apparmor_parser_and_entries (0.00s) 213s --- PASS: TestApplyPolicy/Computer,_whitespace-only_value (0.01s) 213s --- PASS: TestApplyPolicy/Error_on_absent_loaded_policies_file (0.00s) 213s --- PASS: TestApplyPolicy/Error_on_read-only_machine_directory,_no_entries (0.01s) 213s --- PASS: TestApplyPolicy/User,_no_machine_profiles (0.00s) 213s --- PASS: TestApplyPolicy/User,_valid_mapping,_unchanged_content (0.00s) 213s --- PASS: TestApplyPolicy/Error_on_read-only_root_directory_with_entries (0.00s) 213s --- PASS: TestApplyPolicy/No_apparmor_parser_and_no_entries (0.00s) 213s --- PASS: TestApplyPolicy/User,_error_on_invalid_user_profile,_restore_previous (0.01s) 213s --- PASS: TestApplyPolicy/Existing_.old_directory_is_removed (0.02s) 213s --- PASS: TestApplyPolicy/Error_on_read-only_.new_directory (0.00s) 213s --- PASS: TestApplyPolicy/Error_on_absent_profile (0.00s) 213s --- PASS: TestApplyPolicy/Unexpected_entry_key (0.00s) 213s --- PASS: TestApplyPolicy/Computer,_only_blank_profiles (0.00s) 213s --- PASS: TestApplyPolicy/Error_on_loading_profiles_failing (0.02s) 213s --- PASS: TestApplyPolicy/Error_on_unloading_all_profiles_failing (0.03s) 213s --- PASS: TestApplyPolicy/User,_error_on_multiple_profiles (0.00s) 213s --- PASS: TestApplyPolicy/Error_on_unloading_old_profiles_failing (0.04s) 213s --- PASS: TestApplyPolicy/No_profiles,_apparmor_directory_absent (0.00s) 213s --- PASS: TestApplyPolicy/User,_no_user_profiles,_machine_profiles_are_unloaded (0.02s) 213s --- PASS: TestApplyPolicy/Computer,_duplicated_profiles (0.02s) 213s --- PASS: TestApplyPolicy/User,_error_on_empty_user_profile (0.00s) 213s --- PASS: TestApplyPolicy/Error_on_preprocessing_new_profiles_failing (0.01s) 213s --- PASS: TestApplyPolicy/Existing_.new_directory_is_removed (0.02s) 213s --- PASS: TestApplyPolicy/Computer,_profiles_with_whitespace (0.02s) 213s --- PASS: TestApplyPolicy/Computer,_previous_profiles_are_unloaded (0.04s) 213s --- PASS: TestApplyPolicy/User,_error_on_save_assets_failing (0.00s) 213s --- PASS: TestApplyPolicy/User,_no_entries,_existing_user_profile_is_deleted (0.00s) 213s --- PASS: TestApplyPolicy/Computer,_multiple_profiles, (0.02s) 213s --- PASS: TestApplyPolicy/Error_on_save_assets_dumping_failing (0.00s) 213s --- PASS: TestApplyPolicy/Error_on_removing_unused_assets_after_dump (0.01s) 213s --- PASS: TestApplyPolicy/Error_on_file_as_a_directory (0.00s) 213s --- PASS: TestApplyPolicy/Error_on_profile_being_a_directory (0.00s) 213s --- PASS: TestApplyPolicy/Read-only_root_directory_and_no_entries (0.00s) 213s --- PASS: TestApplyPolicy/Error_on_preprocessing_old_profiles_failing (0.02s) 213s --- PASS: TestApplyPolicy/Computer,_blank_line_profiles (0.02s) 213s --- PASS: TestApplyPolicy/User,_error_on_invalid_user_profile,_delete_previous (0.01s) 213s --- PASS: TestApplyPolicy/Error_on_read-only_.old_directory (0.01s) 213s --- PASS: TestApplyPolicy/Computer,_one_profile (0.02s) 213s --- PASS: TestApplyPolicy/User,_valid_mapping (0.01s) 213s --- PASS: TestApplyPolicy/User,_error_on_overwriting_profile_contents (0.00s) 213s --- PASS: TestApplyPolicy/Error_on_read-only_machine_directory (0.03s) 213s --- PASS: TestApplyPolicy/No_profiles,_existing_rules_are_removed (0.01s) 213s --- PASS: TestApplyPolicy/Computer,_user_policies_are_unloaded (0.02s) 213s PASS 213s ok github.com/ubuntu/adsys/internal/policies/apparmor 0.246s 213s === RUN TestCertAutoenrollScript 213s === RUN TestCertAutoenrollScript/Enroll_with_certmonger_not_installed 213s === RUN TestCertAutoenrollScript/Enroll_with_cepces_not_installed 213s === RUN TestCertAutoenrollScript/Error_on_invalid_flags 213s === RUN TestCertAutoenrollScript/Error_on_invalid_JSON 213s === RUN TestCertAutoenrollScript/Error_on_invalid_JSON_structure 213s === RUN TestCertAutoenrollScript/Error_on_read-only_path 213s === RUN TestCertAutoenrollScript/Error_on_unenroll_failure 213s === RUN TestCertAutoenrollScript/Enroll_with_simple_configuration 213s === RUN TestCertAutoenrollScript/Enroll_with_simple_configuration_and_debug_enabled 213s === RUN TestCertAutoenrollScript/Enroll_with_empty_advanced_configuration 213s === RUN TestCertAutoenrollScript/Enroll_with_valid_advanced_configuration 213s === RUN TestCertAutoenrollScript/Unenroll 213s === RUN TestCertAutoenrollScript/Error_on_missing_arguments 213s === RUN TestCertAutoenrollScript/Error_on_enroll_failure 213s === RUN TestCertAutoenrollScript/Error_on_invalid_JSON_keys 213s --- PASS: TestCertAutoenrollScript (0.91s) 213s --- PASS: TestCertAutoenrollScript/Enroll_with_certmonger_not_installed (0.06s) 213s --- PASS: TestCertAutoenrollScript/Enroll_with_cepces_not_installed (0.05s) 213s --- PASS: TestCertAutoenrollScript/Error_on_invalid_flags (0.05s) 213s --- PASS: TestCertAutoenrollScript/Error_on_invalid_JSON (0.06s) 213s --- PASS: TestCertAutoenrollScript/Error_on_invalid_JSON_structure (0.06s) 213s --- PASS: TestCertAutoenrollScript/Error_on_read-only_path (0.07s) 213s --- PASS: TestCertAutoenrollScript/Error_on_unenroll_failure (0.10s) 213s --- PASS: TestCertAutoenrollScript/Enroll_with_simple_configuration (0.05s) 213s --- PASS: TestCertAutoenrollScript/Enroll_with_simple_configuration_and_debug_enabled (0.05s) 213s --- PASS: TestCertAutoenrollScript/Enroll_with_empty_advanced_configuration (0.05s) 213s --- PASS: TestCertAutoenrollScript/Enroll_with_valid_advanced_configuration (0.07s) 213s --- PASS: TestCertAutoenrollScript/Unenroll (0.07s) 213s --- PASS: TestCertAutoenrollScript/Error_on_missing_arguments (0.05s) 213s --- PASS: TestCertAutoenrollScript/Error_on_enroll_failure (0.07s) 213s --- PASS: TestCertAutoenrollScript/Error_on_invalid_JSON_keys (0.05s) 213s === RUN TestApplyPolicy 213s === RUN TestApplyPolicy/Computer,_no_entries 213s === RUN TestApplyPolicy/Computer,_no_entries,_Samba_cache_present 213s time="2025-10-18T15:33:50Z" level=info msg="Certificate autoenrollment script ran successfully\n" 213s === RUN TestApplyPolicy/Computer,_domain_is_offline 213s === RUN TestApplyPolicy/Computer,_configured_to_enroll,_advanced_configuration 213s time="2025-10-18T15:33:50Z" level=info msg="Certificate autoenrollment script ran successfully\n" 213s === RUN TestApplyPolicy/Computer,_configured_to_unenroll 213s time="2025-10-18T15:33:50Z" level=info msg="Certificate autoenrollment script ran successfully\n" 213s === RUN TestApplyPolicy/Error_on_invalid_autoenroll_value 213s === RUN TestApplyPolicy/Error_on_invalid_advanced_configuration_value 213s === RUN TestApplyPolicy/Computer,_autoenroll_disabled 213s === RUN TestApplyPolicy/Computer,_configured_to_enroll 213s time="2025-10-18T15:33:50Z" level=info msg="Certificate autoenrollment script ran successfully\n" 213s === RUN TestApplyPolicy/User,_autoenroll_not_supported 213s === RUN TestApplyPolicy/Error_on_autoenroll_script_failure 213s --- PASS: TestApplyPolicy (0.03s) 213s --- PASS: TestApplyPolicy/Computer,_no_entries (0.00s) 213s --- PASS: TestApplyPolicy/Computer,_no_entries,_Samba_cache_present (0.01s) 213s --- PASS: TestApplyPolicy/Computer,_domain_is_offline (0.00s) 213s --- PASS: TestApplyPolicy/Computer,_configured_to_enroll,_advanced_configuration (0.01s) 213s --- PASS: TestApplyPolicy/Computer,_configured_to_unenroll (0.01s) 213s --- PASS: TestApplyPolicy/Error_on_invalid_autoenroll_value (0.00s) 213s --- PASS: TestApplyPolicy/Error_on_invalid_advanced_configuration_value (0.00s) 213s --- PASS: TestApplyPolicy/Computer,_autoenroll_disabled (0.00s) 213s --- PASS: TestApplyPolicy/Computer,_configured_to_enroll (0.01s) 213s --- PASS: TestApplyPolicy/User,_autoenroll_not_supported (0.00s) 213s --- PASS: TestApplyPolicy/Error_on_autoenroll_script_failure (0.00s) 213s === RUN TestMockAutoenrollScript 213s --- PASS: TestMockAutoenrollScript (0.00s) 213s PASS 213s ok github.com/ubuntu/adsys/internal/policies/certificate 0.944s 214s === RUN TestNormalize 214s === PAUSE TestNormalize 214s === RUN TestApplyPolicy 214s === PAUSE TestApplyPolicy 214s === CONT TestNormalize 214s === RUN TestNormalize/unquoted_string_with_quotes 214s === PAUSE TestNormalize/unquoted_string_with_quotes 214s === CONT TestApplyPolicy 214s === RUN TestNormalize/y_transformed_to_boolean 214s === PAUSE TestNormalize/y_transformed_to_boolean 214s === RUN TestNormalize/simple_unquoted_as 214s === PAUSE TestNormalize/simple_unquoted_as 214s === RUN TestNormalize/Multi-lines_as_and_single_line_mix,_quoted 214s === PAUSE TestNormalize/Multi-lines_as_and_single_line_mix,_quoted 214s === RUN TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_are_ignored 214s === RUN TestApplyPolicy/Error_on_invalid_ai 214s === PAUSE TestApplyPolicy/Error_on_invalid_ai 214s === RUN TestApplyPolicy/Update_existing_profile_eliminates_adsys_DB_repetitions 214s === PAUSE TestApplyPolicy/Update_existing_profile_eliminates_adsys_DB_repetitions 214s === RUN TestApplyPolicy/Machine_updates_existing_value 214s === PAUSE TestApplyPolicy/Machine_updates_existing_value 214s === RUN TestApplyPolicy/Normalized_canonical_form_for_each_supported_key 214s === PAUSE TestApplyPolicy/Normalized_canonical_form_for_each_supported_key 214s === RUN TestApplyPolicy/No_surrounding_brackets_unquoted_multiple_as 214s === PAUSE TestApplyPolicy/No_surrounding_brackets_unquoted_multiple_as 214s === RUN TestApplyPolicy/No_surrounding_brackets_quoted_multiple_as 214s === PAUSE TestApplyPolicy/No_surrounding_brackets_quoted_multiple_as 214s === RUN TestApplyPolicy/Multi-lines_ai_mixed_with_comma 214s === PAUSE TestApplyPolicy/Multi-lines_ai_mixed_with_comma 214s === RUN TestApplyPolicy/Do_not_interfere_with_other_user_profile 214s === PAUSE TestApplyPolicy/Do_not_interfere_with_other_user_profile 214s === RUN TestApplyPolicy/Error_on_invalid_type 214s === PAUSE TestApplyPolicy/Error_on_invalid_type 214s === RUN TestApplyPolicy/Multiple_sections_with_disabled_keys 214s === PAUSE TestApplyPolicy/Multiple_sections_with_disabled_keys 214s === RUN TestApplyPolicy/Missing_machine_compiled_db_for_machine 214s === PAUSE TestApplyPolicy/Missing_machine_compiled_db_for_machine 214s === RUN TestApplyPolicy/Multi-lines_as_mixed_with_comma 214s === PAUSE TestApplyPolicy/Multi-lines_as_mixed_with_comma 214s === RUN TestApplyPolicy/Multi-lines_ai 214s === PAUSE TestApplyPolicy/Multi-lines_ai 214s === RUN TestApplyPolicy/Error_when_machine_db_does_not_exist 214s === PAUSE TestApplyPolicy/Error_when_machine_db_does_not_exist 214s === RUN TestApplyPolicy/Mixing_sections_and_keys_still_groups_sections 214s === PAUSE TestApplyPolicy/Mixing_sections_and_keys_still_groups_sections 214s === RUN TestApplyPolicy/Unquoted_string 214s === PAUSE TestApplyPolicy/Unquoted_string 214s === RUN TestApplyPolicy/No_policy_still_generates_a_valid_db 214s === PAUSE TestApplyPolicy/No_policy_still_generates_a_valid_db 214s === RUN TestApplyPolicy/New_user 214s === PAUSE TestApplyPolicy/New_user 214s === RUN TestApplyPolicy/Quoted_i 214s === PAUSE TestApplyPolicy/Quoted_i 214s === RUN TestApplyPolicy/Quoted_b 214s === PAUSE TestApplyPolicy/Quoted_b 214s === RUN TestApplyPolicy/No_surrounding_brackets_ai 214s === PAUSE TestApplyPolicy/No_surrounding_brackets_ai 214s === RUN TestApplyPolicy/Do_not_update_other_files_from_db 214s === PAUSE TestApplyPolicy/Do_not_update_other_files_from_db 214s === RUN TestApplyPolicy/Invalid_as_is_too_robust_to_produce_defaulting_values 214s === PAUSE TestApplyPolicy/Invalid_as_is_too_robust_to_produce_defaulting_values 214s === RUN TestApplyPolicy/Error_on_empty_meta 214s === PAUSE TestApplyPolicy/Error_on_empty_meta 214s === RUN TestApplyPolicy/Update_existing_profile_without_needed_db_append_them 214s === PAUSE TestApplyPolicy/Update_existing_profile_without_needed_db_append_them 214s === RUN TestApplyPolicy/Update_existing_profile_with_wrong_order_appends_them_in_correct_order 214s === PAUSE TestApplyPolicy/Update_existing_profile_with_wrong_order_appends_them_in_correct_order 214s === RUN TestApplyPolicy/Multiple_keys_same_category 214s === PAUSE TestApplyPolicy/Multiple_keys_same_category 214s === RUN TestApplyPolicy/Missing_machine_compiled_db_for_user 214s === PAUSE TestApplyPolicy/Missing_machine_compiled_db_for_user 214s === RUN TestApplyPolicy/Multi-lines_as 214s === PAUSE TestApplyPolicy/Multi-lines_as 214s === RUN TestApplyPolicy/Update_existing_profile_without_needed_db,_trailine_lines_are_removed 214s === PAUSE TestApplyPolicy/Update_existing_profile_without_needed_db,_trailine_lines_are_removed 214s === RUN TestApplyPolicy/Update_existing_profile_with_partial_db_append_them_without_repetition 214s === PAUSE TestApplyPolicy/Update_existing_profile_with_partial_db_append_them_without_repetition 214s === RUN TestApplyPolicy/User_updates_key_is_now_disabled 214s === PAUSE TestApplyPolicy/User_updates_key_is_now_disabled 214s === RUN TestApplyPolicy/Machine_updates_key_is_now_disabled 214s === PAUSE TestApplyPolicy/Machine_updates_key_is_now_disabled 214s === RUN TestApplyPolicy/Missing_user_compiled_db_for_user 214s === PAUSE TestApplyPolicy/Missing_user_compiled_db_for_user 214s === RUN TestApplyPolicy/No_surrounding_brackets_unquoted_as 214s === PAUSE TestApplyPolicy/No_surrounding_brackets_unquoted_as 214s === RUN TestApplyPolicy/No_surrounding_brackets_quoted_as 214s === PAUSE TestApplyPolicy/No_surrounding_brackets_quoted_as 214s === RUN TestApplyPolicy/Error_on_invalid_value_for_unnormalized_type 214s === PAUSE TestApplyPolicy/Error_on_invalid_value_for_unnormalized_type 214s === RUN TestApplyPolicy/Update_user_disabled_key_with_value 214s === PAUSE TestApplyPolicy/Update_user_disabled_key_with_value 214s === RUN TestApplyPolicy/Machine_updates_with_different_value 214s === PAUSE TestApplyPolicy/Machine_updates_with_different_value 214s === RUN TestApplyPolicy/Multiple_sections 214s === PAUSE TestApplyPolicy/Multiple_sections 214s === RUN TestApplyPolicy/No_update_when_no_change 214s === PAUSE TestApplyPolicy/No_update_when_no_change 214s === RUN TestApplyPolicy/Update_existing_correct_profile_stays_unchanged 214s === PAUSE TestApplyPolicy/Update_existing_correct_profile_stays_unchanged 214s === RUN TestApplyPolicy/Update_existing_correct_profile_with_trailing_spaces_are_removed 214s === PAUSE TestApplyPolicy/Update_existing_correct_profile_with_trailing_spaces_are_removed 214s === RUN TestApplyPolicy/User_updates_existing_value 214s === PAUSE TestApplyPolicy/User_updates_existing_value 214s === RUN TestApplyPolicy/User_updates_with_different_value 214s === PAUSE TestApplyPolicy/User_updates_with_different_value 214s === RUN TestApplyPolicy/First_boot 214s === PAUSE TestApplyPolicy/First_boot 214s === RUN TestApplyPolicy/Update_machine_disabled_key_with_value 214s === PAUSE TestApplyPolicy/Update_machine_disabled_key_with_value 214s === RUN TestApplyPolicy/No_surrounding_brackets_multiple_ai 214s === PAUSE TestApplyPolicy/No_surrounding_brackets_multiple_ai 214s === CONT TestApplyPolicy/Error_on_invalid_ai 214s === PAUSE TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_are_ignored 214s === RUN TestNormalize/simple_ai_with_no_spaces 214s === PAUSE TestNormalize/simple_ai_with_no_spaces 214s === RUN TestNormalize/ai_without_leading_[ 214s === PAUSE TestNormalize/ai_without_leading_[ 214s === RUN TestNormalize/Multi-lines_ai_with_consecutive_empty_lines_strips_empty_element 214s === PAUSE TestNormalize/Multi-lines_ai_with_consecutive_empty_lines_strips_empty_element 214s === RUN TestNormalize/simple_as_with_no_spaces 214s === PAUSE TestNormalize/simple_as_with_no_spaces 214s === RUN TestNormalize/as_partially_quoted_can_lead_to_unexpect_result 214s === PAUSE TestNormalize/as_partially_quoted_can_lead_to_unexpect_result 214s === RUN TestNormalize/as_partially_quoted_unbalanced_end_can_lead_to_unexpect_result 214s === PAUSE TestNormalize/as_partially_quoted_unbalanced_end_can_lead_to_unexpect_result 214s === RUN TestNormalize/as_with_empty_quoted_can_lead_to_unexpect_result 214s === PAUSE TestNormalize/as_with_empty_quoted_can_lead_to_unexpect_result 214s === RUN TestNormalize/ai_with_spaces_inside 214s === PAUSE TestNormalize/ai_with_spaces_inside 214s === RUN TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_before_[]_are_ignored 214s === PAUSE TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_before_[]_are_ignored 214s === RUN TestNormalize/simple_unquoted_string 214s === PAUSE TestNormalize/simple_unquoted_string 214s === RUN TestNormalize/quoted_string_with_quotes 214s === PAUSE TestNormalize/quoted_string_with_quotes 214s === RUN TestNormalize/as_empty_elements_separated_with_commas_are_kept 214s === PAUSE TestNormalize/as_empty_elements_separated_with_commas_are_kept 214s === RUN TestNormalize/Multi-lines_as_with_leading_and_trailing_brackets 214s === PAUSE TestNormalize/Multi-lines_as_with_leading_and_trailing_brackets 214s === RUN TestNormalize/ai_without_ending_] 214s === PAUSE TestNormalize/ai_without_ending_] 214s === RUN TestNormalize/as_simple_quoted_as_with_spaces 214s === PAUSE TestNormalize/as_simple_quoted_as_with_spaces 214s === RUN TestNormalize/as_partially_quoted_with_comma_can_lead_to_unexpected_result 214s === PAUSE TestNormalize/as_partially_quoted_with_comma_can_lead_to_unexpected_result 214s === RUN TestNormalize/Multi-lines_as_quoted 214s === PAUSE TestNormalize/Multi-lines_as_quoted 214s === RUN TestNormalize/simple_ai 214s === PAUSE TestNormalize/simple_ai 214s === RUN TestNormalize/empty_unquoted_string 214s === PAUSE TestNormalize/empty_unquoted_string 214s === RUN TestNormalize/one_quote 214s === PAUSE TestNormalize/one_quote 214s === RUN TestNormalize/simple_boolean_true 214s === PAUSE TestNormalize/simple_boolean_true 214s === RUN TestNormalize/n_transformed_to_boolean 214s === PAUSE TestNormalize/n_transformed_to_boolean 214s === RUN TestNormalize/as_with_leading_and_ending_spaces_and__[] 214s === PAUSE TestNormalize/as_with_leading_and_ending_spaces_and__[] 214s === RUN TestNormalize/as_partially_quoted_unbalanced_start_can_lead_to_unexpect_result 214s === PAUSE TestNormalize/as_partially_quoted_unbalanced_start_can_lead_to_unexpect_result 214s === RUN TestNormalize/Multi-lines_as_with_quoted_','_is_supported 214s === PAUSE TestNormalize/Multi-lines_as_with_quoted_','_is_supported 214s === RUN TestNormalize/Multi-lines_ai_with_leading_and_trailing_brackets 214s === PAUSE TestNormalize/Multi-lines_ai_with_leading_and_trailing_brackets 214s === RUN TestNormalize/yes_transformed_to_boolean 214s === PAUSE TestNormalize/yes_transformed_to_boolean 214s === RUN TestNormalize/simple_boolean_false 214s === PAUSE TestNormalize/simple_boolean_false 214s === RUN TestNormalize/as_with_leading_and_ending_spaces_and_no_[] 214s === PAUSE TestNormalize/as_with_leading_and_ending_spaces_and_no_[] 214s === RUN TestNormalize/Multi-lines_as_unquoted 214s === PAUSE TestNormalize/Multi-lines_as_unquoted 214s === RUN TestNormalize/Multi-lines_as_with_spaces_inside 214s === PAUSE TestNormalize/Multi-lines_as_with_spaces_inside 214s === RUN TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_are_ignored 214s === PAUSE TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_are_ignored 214s === RUN TestNormalize/as_with_spaces_inside 214s === PAUSE TestNormalize/as_with_spaces_inside 214s === RUN TestNormalize/ai_empty_elements_separated_with_commas_are_kept 214s === PAUSE TestNormalize/ai_empty_elements_separated_with_commas_are_kept 214s === RUN TestNormalize/Multi-lines_ai_with_empty_lines_strips_empty_element 214s === PAUSE TestNormalize/Multi-lines_ai_with_empty_lines_strips_empty_element 214s === RUN TestNormalize/simple_quoted_string 214s === PAUSE TestNormalize/simple_quoted_string 214s === RUN TestNormalize/string_with_two_backslashes_don’t_escape_quotes 214s === PAUSE TestNormalize/string_with_two_backslashes_don’t_escape_quotes 214s === RUN TestNormalize/simple_quoted_as 214s === PAUSE TestNormalize/simple_quoted_as 214s === RUN TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_after_[]_are_ignored 214s === PAUSE TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_after_[]_are_ignored 214s === RUN TestNormalize/no_transformed_to_boolean 214s === PAUSE TestNormalize/no_transformed_to_boolean 214s === RUN TestNormalize/as_with_weird_composition_inception_will_be_quoted 214s === PAUSE TestNormalize/as_with_weird_composition_inception_will_be_quoted 214s === RUN TestNormalize/Multi-lines_as_with_empty_lines_strips_empty_elements 214s === PAUSE TestNormalize/Multi-lines_as_with_empty_lines_strips_empty_elements 214s === RUN TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_before_[]_are_ignored 214s === PAUSE TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_before_[]_are_ignored 214s === RUN TestNormalize/one_escaped_quote 214s === PAUSE TestNormalize/one_escaped_quote 214s === RUN TestNormalize/Multi-lines_as_with_all_unquoted_','_will_split 214s === PAUSE TestNormalize/Multi-lines_as_with_all_unquoted_','_will_split 214s === RUN TestNormalize/as_wrongly_quoted_will_consider_comma_as_part_of_the_string 214s === PAUSE TestNormalize/as_wrongly_quoted_will_consider_comma_as_part_of_the_string 214s === RUN TestNormalize/string_with_multiple_backslashes_escaped_quotes 214s === PAUSE TestNormalize/string_with_multiple_backslashes_escaped_quotes 214s === RUN TestNormalize/weird_case_true 214s === PAUSE TestNormalize/weird_case_true 214s === RUN TestNormalize/weird_case_false 214s === PAUSE TestNormalize/weird_case_false 214s === RUN TestNormalize/empty_quoted_string 214s === PAUSE TestNormalize/empty_quoted_string 214s === RUN TestNormalize/non_supported_is_reported_as_is 214s === PAUSE TestNormalize/non_supported_is_reported_as_is 214s === RUN TestNormalize/as_without_leading_[ 214s === PAUSE TestNormalize/as_without_leading_[ 214s === RUN TestNormalize/as_without_ending_] 214s === PAUSE TestNormalize/as_without_ending_] 214s === RUN TestNormalize/ai_with_leading_and_ending_spaces_and__[] 214s === PAUSE TestNormalize/ai_with_leading_and_ending_spaces_and__[] 214s === RUN TestNormalize/unmanaged_types_are_returned_as_is 214s === PAUSE TestNormalize/unmanaged_types_are_returned_as_is 214s === RUN TestNormalize/string_with_escaped_quotes 214s === PAUSE TestNormalize/string_with_escaped_quotes 214s === RUN TestNormalize/on_transformed_to_boolean 214s === PAUSE TestNormalize/on_transformed_to_boolean 214s === RUN TestNormalize/off_transformed_to_boolean 214s === PAUSE TestNormalize/off_transformed_to_boolean 214s === RUN TestNormalize/Multi-lines_as_and_single_line_mix,_unquoted 214s === PAUSE TestNormalize/Multi-lines_as_and_single_line_mix,_unquoted 214s === RUN TestNormalize/Multi-lines_as_with_consecutive_empty_lines_strip_empty_elements 214s === PAUSE TestNormalize/Multi-lines_as_with_consecutive_empty_lines_strip_empty_elements 214s === RUN TestNormalize/Multi-lines_as_with_explicit_empty_element 214s === PAUSE TestNormalize/Multi-lines_as_with_explicit_empty_element 214s === RUN TestNormalize/Multi-lines_ai_with_all_unquoted_','_will_split 214s === PAUSE TestNormalize/Multi-lines_ai_with_all_unquoted_','_will_split 214s === RUN TestNormalize/with_spaces 214s === PAUSE TestNormalize/with_spaces 214s === RUN TestNormalize/ai_with_leading_and_ending_spaces_and_no_[] 214s === PAUSE TestNormalize/ai_with_leading_and_ending_spaces_and_no_[] 214s === RUN TestNormalize/Multi-lines_ai 214s === PAUSE TestNormalize/Multi-lines_ai 214s === RUN TestNormalize/Multi-lines_ai_with_spaces_inside 214s === PAUSE TestNormalize/Multi-lines_ai_with_spaces_inside 214s === RUN TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_after_[]_are_ignored 214s === PAUSE TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_after_[]_are_ignored 214s === CONT TestNormalize/unquoted_string_with_quotes 214s === CONT TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_after_[]_are_ignored 214s === CONT TestNormalize/Multi-lines_ai_with_spaces_inside 214s === CONT TestNormalize/Multi-lines_ai 214s === CONT TestNormalize/ai_with_leading_and_ending_spaces_and_no_[] 214s === CONT TestNormalize/with_spaces 214s === CONT TestNormalize/Multi-lines_ai_with_all_unquoted_','_will_split 214s === CONT TestNormalize/Multi-lines_as_with_explicit_empty_element 214s === CONT TestNormalize/Multi-lines_as_with_consecutive_empty_lines_strip_empty_elements 214s === CONT TestNormalize/Multi-lines_as_and_single_line_mix,_unquoted 214s === CONT TestNormalize/off_transformed_to_boolean 214s === CONT TestNormalize/on_transformed_to_boolean 214s === CONT TestNormalize/string_with_escaped_quotes 214s === CONT TestNormalize/unmanaged_types_are_returned_as_is 214s === CONT TestNormalize/ai_with_leading_and_ending_spaces_and__[] 214s === CONT TestNormalize/as_without_ending_] 214s === CONT TestNormalize/as_without_leading_[ 214s === CONT TestNormalize/non_supported_is_reported_as_is 214s === CONT TestNormalize/empty_quoted_string 214s === CONT TestNormalize/weird_case_false 214s === CONT TestNormalize/weird_case_true 214s === CONT TestNormalize/string_with_multiple_backslashes_escaped_quotes 214s === CONT TestNormalize/as_wrongly_quoted_will_consider_comma_as_part_of_the_string 214s === CONT TestNormalize/Multi-lines_as_with_all_unquoted_','_will_split 214s === CONT TestNormalize/one_escaped_quote 214s === CONT TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_before_[]_are_ignored 214s === CONT TestNormalize/Multi-lines_as_with_empty_lines_strips_empty_elements 214s === CONT TestNormalize/as_with_weird_composition_inception_will_be_quoted 214s === CONT TestNormalize/no_transformed_to_boolean 214s === CONT TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_after_[]_are_ignored 214s === CONT TestNormalize/simple_quoted_as 214s === CONT TestNormalize/string_with_two_backslashes_don’t_escape_quotes 214s === CONT TestNormalize/simple_quoted_string 214s === CONT TestNormalize/Multi-lines_ai_with_empty_lines_strips_empty_element 214s === CONT TestNormalize/ai_empty_elements_separated_with_commas_are_kept 214s === CONT TestNormalize/as_with_spaces_inside 214s === CONT TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_are_ignored 214s === CONT TestNormalize/Multi-lines_as_with_spaces_inside 214s === CONT TestNormalize/Multi-lines_as_unquoted 214s === CONT TestNormalize/as_with_leading_and_ending_spaces_and_no_[] 214s === CONT TestNormalize/simple_boolean_false 214s === CONT TestNormalize/yes_transformed_to_boolean 214s === CONT TestNormalize/Multi-lines_ai_with_leading_and_trailing_brackets 214s === CONT TestNormalize/Multi-lines_as_with_quoted_','_is_supported 214s === CONT TestNormalize/as_partially_quoted_unbalanced_start_can_lead_to_unexpect_result 214s === CONT TestNormalize/as_with_leading_and_ending_spaces_and__[] 214s === CONT TestNormalize/n_transformed_to_boolean 214s === CONT TestNormalize/simple_boolean_true 214s === CONT TestNormalize/one_quote 214s === CONT TestNormalize/empty_unquoted_string 214s === CONT TestNormalize/simple_ai 214s === CONT TestNormalize/Multi-lines_as_quoted 214s === CONT TestNormalize/as_partially_quoted_with_comma_can_lead_to_unexpected_result 214s === CONT TestNormalize/as_simple_quoted_as_with_spaces 214s === CONT TestNormalize/ai_without_ending_] 214s === CONT TestNormalize/Multi-lines_as_with_leading_and_trailing_brackets 214s === CONT TestNormalize/as_empty_elements_separated_with_commas_are_kept 214s === CONT TestNormalize/quoted_string_with_quotes 214s === CONT TestNormalize/simple_unquoted_string 214s === CONT TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_before_[]_are_ignored 214s === CONT TestNormalize/ai_with_spaces_inside 214s === CONT TestNormalize/as_with_empty_quoted_can_lead_to_unexpect_result 214s === CONT TestNormalize/as_partially_quoted_unbalanced_end_can_lead_to_unexpect_result 214s === CONT TestNormalize/as_partially_quoted_can_lead_to_unexpect_result 214s === CONT TestNormalize/simple_as_with_no_spaces 214s === CONT TestNormalize/Multi-lines_ai_with_consecutive_empty_lines_strips_empty_element 214s === CONT TestNormalize/ai_without_leading_[ 214s === CONT TestNormalize/simple_ai_with_no_spaces 214s === CONT TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_are_ignored 214s === CONT TestNormalize/Multi-lines_as_and_single_line_mix,_quoted 214s === CONT TestNormalize/simple_unquoted_as 214s === CONT TestNormalize/y_transformed_to_boolean 214s --- PASS: TestNormalize (0.00s) 214s --- PASS: TestNormalize/unquoted_string_with_quotes (0.00s) 214s --- PASS: TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_after_[]_are_ignored (0.00s) 214s --- PASS: TestNormalize/Multi-lines_ai_with_spaces_inside (0.00s) 214s --- PASS: TestNormalize/Multi-lines_ai (0.00s) 214s --- PASS: TestNormalize/ai_with_leading_and_ending_spaces_and_no_[] (0.00s) 214s --- PASS: TestNormalize/with_spaces (0.00s) 214s --- PASS: TestNormalize/Multi-lines_ai_with_all_unquoted_','_will_split (0.00s) 214s --- PASS: TestNormalize/Multi-lines_as_with_explicit_empty_element (0.00s) 214s --- PASS: TestNormalize/Multi-lines_as_with_consecutive_empty_lines_strip_empty_elements (0.00s) 214s --- PASS: TestNormalize/Multi-lines_as_and_single_line_mix,_unquoted (0.00s) 214s --- PASS: TestNormalize/off_transformed_to_boolean (0.00s) 214s --- PASS: TestNormalize/on_transformed_to_boolean (0.00s) 214s --- PASS: TestNormalize/string_with_escaped_quotes (0.00s) 214s --- PASS: TestNormalize/unmanaged_types_are_returned_as_is (0.00s) 214s --- PASS: TestNormalize/ai_with_leading_and_ending_spaces_and__[] (0.00s) 214s --- PASS: TestNormalize/as_without_ending_] (0.00s) 214s --- PASS: TestNormalize/as_without_leading_[ (0.00s) 214s --- PASS: TestNormalize/non_supported_is_reported_as_is (0.00s) 214s --- PASS: TestNormalize/empty_quoted_string (0.00s) 214s --- PASS: TestNormalize/weird_case_false (0.00s) 214s --- PASS: TestNormalize/weird_case_true (0.00s) 214s --- PASS: TestNormalize/string_with_multiple_backslashes_escaped_quotes (0.00s) 214s --- PASS: TestNormalize/as_wrongly_quoted_will_consider_comma_as_part_of_the_string (0.00s) 214s --- PASS: TestNormalize/Multi-lines_as_with_all_unquoted_','_will_split (0.00s) 214s --- PASS: TestNormalize/one_escaped_quote (0.00s) 214s --- PASS: TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_before_[]_are_ignored (0.00s) 214s --- PASS: TestNormalize/Multi-lines_as_with_empty_lines_strips_empty_elements (0.00s) 214s --- PASS: TestNormalize/as_with_weird_composition_inception_will_be_quoted (0.00s) 214s --- PASS: TestNormalize/no_transformed_to_boolean (0.00s) 214s --- PASS: TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_after_[]_are_ignored (0.00s) 214s --- PASS: TestNormalize/simple_quoted_as (0.00s) 214s --- PASS: TestNormalize/string_with_two_backslashes_don’t_escape_quotes (0.00s) 214s --- PASS: TestNormalize/simple_quoted_string (0.00s) 214s --- PASS: TestNormalize/Multi-lines_ai_with_empty_lines_strips_empty_element (0.00s) 214s --- PASS: TestNormalize/ai_empty_elements_separated_with_commas_are_kept (0.00s) 214s --- PASS: TestNormalize/as_with_spaces_inside (0.00s) 214s --- PASS: TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_are_ignored (0.00s) 214s --- PASS: TestNormalize/Multi-lines_as_with_spaces_inside (0.00s) 214s --- PASS: TestNormalize/Multi-lines_as_unquoted (0.00s) 214s --- PASS: TestNormalize/as_with_leading_and_ending_spaces_and_no_[] (0.00s) 214s --- PASS: TestNormalize/simple_boolean_false (0.00s) 214s --- PASS: TestNormalize/yes_transformed_to_boolean (0.00s) 214s --- PASS: TestNormalize/Multi-lines_ai_with_leading_and_trailing_brackets (0.00s) 214s --- PASS: TestNormalize/Multi-lines_as_with_quoted_','_is_supported (0.00s) 214s --- PASS: TestNormalize/as_partially_quoted_unbalanced_start_can_lead_to_unexpect_result (0.00s) 214s --- PASS: TestNormalize/as_with_leading_and_ending_spaces_and__[] (0.00s) 214s --- PASS: TestNormalize/n_transformed_to_boolean (0.00s) 214s --- PASS: TestNormalize/simple_boolean_true (0.00s) 214s --- PASS: TestNormalize/one_quote (0.00s) 214s --- PASS: TestNormalize/empty_unquoted_string (0.00s) 214s --- PASS: TestNormalize/simple_ai (0.00s) 214s --- PASS: TestNormalize/Multi-lines_as_quoted (0.00s) 214s --- PASS: TestNormalize/as_partially_quoted_with_comma_can_lead_to_unexpected_result (0.00s) 214s --- PASS: TestNormalize/as_simple_quoted_as_with_spaces (0.00s) 214s --- PASS: TestNormalize/ai_without_ending_] (0.00s) 214s --- PASS: TestNormalize/Multi-lines_as_with_leading_and_trailing_brackets (0.00s) 214s --- PASS: TestNormalize/as_empty_elements_separated_with_commas_are_kept (0.00s) 214s --- PASS: TestNormalize/quoted_string_with_quotes (0.00s) 214s --- PASS: TestNormalize/simple_unquoted_string (0.00s) 214s --- PASS: TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_before_[]_are_ignored (0.00s) 214s --- PASS: TestNormalize/ai_with_spaces_inside (0.00s) 214s --- PASS: TestNormalize/as_with_empty_quoted_can_lead_to_unexpect_result (0.00s) 214s --- PASS: TestNormalize/as_partially_quoted_unbalanced_end_can_lead_to_unexpect_result (0.00s) 214s --- PASS: TestNormalize/as_partially_quoted_can_lead_to_unexpect_result (0.00s) 214s --- PASS: TestNormalize/simple_as_with_no_spaces (0.00s) 214s --- PASS: TestNormalize/Multi-lines_ai_with_consecutive_empty_lines_strips_empty_element (0.00s) 214s --- PASS: TestNormalize/ai_without_leading_[ (0.00s) 214s --- PASS: TestNormalize/simple_ai_with_no_spaces (0.00s) 214s --- PASS: TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_are_ignored (0.00s) 214s --- PASS: TestNormalize/Multi-lines_as_and_single_line_mix,_quoted (0.00s) 214s --- PASS: TestNormalize/simple_unquoted_as (0.00s) 214s --- PASS: TestNormalize/y_transformed_to_boolean (0.00s) 214s === CONT TestApplyPolicy/Update_existing_profile_without_needed_db_append_them 214s === CONT TestApplyPolicy/Error_on_empty_meta 214s === CONT TestApplyPolicy/Invalid_as_is_too_robust_to_produce_defaulting_values 214s === CONT TestApplyPolicy/Do_not_update_other_files_from_db 214s === CONT TestApplyPolicy/No_surrounding_brackets_ai 214s === CONT TestApplyPolicy/Quoted_b 214s === CONT TestApplyPolicy/Quoted_i 214s === CONT TestApplyPolicy/New_user 214s === CONT TestApplyPolicy/No_policy_still_generates_a_valid_db 214s === CONT TestApplyPolicy/Unquoted_string 214s === CONT TestApplyPolicy/Mixing_sections_and_keys_still_groups_sections 214s === CONT TestApplyPolicy/Error_when_machine_db_does_not_exist 214s === CONT TestApplyPolicy/Multi-lines_ai 214s === CONT TestApplyPolicy/Multi-lines_as_mixed_with_comma 214s === CONT TestApplyPolicy/Missing_machine_compiled_db_for_machine 214s === CONT TestApplyPolicy/Multiple_sections_with_disabled_keys 214s === CONT TestApplyPolicy/Error_on_invalid_type 214s === CONT TestApplyPolicy/Do_not_interfere_with_other_user_profile 214s === CONT TestApplyPolicy/Multi-lines_ai_mixed_with_comma 214s === CONT TestApplyPolicy/No_surrounding_brackets_quoted_multiple_as 214s === CONT TestApplyPolicy/No_surrounding_brackets_unquoted_multiple_as 214s === CONT TestApplyPolicy/Normalized_canonical_form_for_each_supported_key 214s === CONT TestApplyPolicy/Machine_updates_existing_value 214s === CONT TestApplyPolicy/Update_existing_profile_eliminates_adsys_DB_repetitions 214s === CONT TestApplyPolicy/Error_on_invalid_value_for_unnormalized_type 214s === CONT TestApplyPolicy/No_surrounding_brackets_multiple_ai 214s === CONT TestApplyPolicy/Update_machine_disabled_key_with_value 214s === CONT TestApplyPolicy/First_boot 214s === CONT TestApplyPolicy/User_updates_with_different_value 214s === CONT TestApplyPolicy/User_updates_existing_value 214s === CONT TestApplyPolicy/Update_existing_correct_profile_with_trailing_spaces_are_removed 214s === CONT TestApplyPolicy/Update_existing_correct_profile_stays_unchanged 214s === CONT TestApplyPolicy/No_update_when_no_change 214s === CONT TestApplyPolicy/Multiple_sections 214s === CONT TestApplyPolicy/Machine_updates_with_different_value 214s === CONT TestApplyPolicy/Update_user_disabled_key_with_value 214s === CONT TestApplyPolicy/Update_existing_profile_with_partial_db_append_them_without_repetition 214s === CONT TestApplyPolicy/No_surrounding_brackets_quoted_as 214s === CONT TestApplyPolicy/No_surrounding_brackets_unquoted_as 214s === CONT TestApplyPolicy/Missing_user_compiled_db_for_user 214s === CONT TestApplyPolicy/Machine_updates_key_is_now_disabled 214s === CONT TestApplyPolicy/User_updates_key_is_now_disabled 214s === CONT TestApplyPolicy/Missing_machine_compiled_db_for_user 214s === CONT TestApplyPolicy/Update_existing_profile_without_needed_db,_trailine_lines_are_removed 214s === CONT TestApplyPolicy/Multi-lines_as 214s === CONT TestApplyPolicy/Multiple_keys_same_category 214s === CONT TestApplyPolicy/Update_existing_profile_with_wrong_order_appends_them_in_correct_order 214s --- PASS: TestApplyPolicy (0.00s) 214s --- PASS: TestApplyPolicy/Error_on_invalid_ai (0.01s) 214s --- PASS: TestApplyPolicy/Error_on_empty_meta (0.00s) 214s --- PASS: TestApplyPolicy/Update_existing_profile_without_needed_db_append_them (0.01s) 214s --- PASS: TestApplyPolicy/Invalid_as_is_too_robust_to_produce_defaulting_values (0.01s) 214s --- PASS: TestApplyPolicy/No_surrounding_brackets_ai (0.00s) 214s --- PASS: TestApplyPolicy/Quoted_b (0.00s) 214s --- PASS: TestApplyPolicy/Do_not_update_other_files_from_db (0.01s) 214s --- PASS: TestApplyPolicy/Quoted_i (0.01s) 214s --- PASS: TestApplyPolicy/New_user (0.01s) 214s --- PASS: TestApplyPolicy/Unquoted_string (0.00s) 214s --- PASS: TestApplyPolicy/Mixing_sections_and_keys_still_groups_sections (0.01s) 214s --- PASS: TestApplyPolicy/Error_when_machine_db_does_not_exist (0.00s) 214s --- PASS: TestApplyPolicy/No_policy_still_generates_a_valid_db (0.02s) 214s --- PASS: TestApplyPolicy/Multi-lines_as_mixed_with_comma (0.00s) 214s --- PASS: TestApplyPolicy/Multi-lines_ai (0.01s) 214s --- PASS: TestApplyPolicy/Multiple_sections_with_disabled_keys (0.01s) 214s --- PASS: TestApplyPolicy/Error_on_invalid_type (0.00s) 214s --- PASS: TestApplyPolicy/Missing_machine_compiled_db_for_machine (0.01s) 214s --- PASS: TestApplyPolicy/Multi-lines_ai_mixed_with_comma (0.00s) 214s --- PASS: TestApplyPolicy/No_surrounding_brackets_quoted_multiple_as (0.01s) 214s --- PASS: TestApplyPolicy/Do_not_interfere_with_other_user_profile (0.02s) 214s --- PASS: TestApplyPolicy/No_surrounding_brackets_unquoted_multiple_as (0.01s) 214s --- PASS: TestApplyPolicy/Normalized_canonical_form_for_each_supported_key (0.00s) 214s --- PASS: TestApplyPolicy/Machine_updates_existing_value (0.00s) 214s --- PASS: TestApplyPolicy/Error_on_invalid_value_for_unnormalized_type (0.00s) 214s --- PASS: TestApplyPolicy/Update_existing_profile_eliminates_adsys_DB_repetitions (0.01s) 214s --- PASS: TestApplyPolicy/No_surrounding_brackets_multiple_ai (0.01s) 214s --- PASS: TestApplyPolicy/First_boot (0.00s) 214s --- PASS: TestApplyPolicy/Update_machine_disabled_key_with_value (0.00s) 214s --- PASS: TestApplyPolicy/User_updates_existing_value (0.01s) 214s --- PASS: TestApplyPolicy/User_updates_with_different_value (0.01s) 214s --- PASS: TestApplyPolicy/Update_existing_correct_profile_stays_unchanged (0.01s) 214s --- PASS: TestApplyPolicy/Update_existing_correct_profile_with_trailing_spaces_are_removed (0.01s) 214s --- PASS: TestApplyPolicy/No_update_when_no_change (0.01s) 214s --- PASS: TestApplyPolicy/Multiple_sections (0.01s) 214s --- PASS: TestApplyPolicy/Machine_updates_with_different_value (0.01s) 214s --- PASS: TestApplyPolicy/Update_user_disabled_key_with_value (0.01s) 214s --- PASS: TestApplyPolicy/Update_existing_profile_with_partial_db_append_them_without_repetition (0.00s) 214s --- PASS: TestApplyPolicy/No_surrounding_brackets_quoted_as (0.00s) 214s --- PASS: TestApplyPolicy/No_surrounding_brackets_unquoted_as (0.00s) 214s --- PASS: TestApplyPolicy/Machine_updates_key_is_now_disabled (0.00s) 214s --- PASS: TestApplyPolicy/Missing_user_compiled_db_for_user (0.01s) 214s --- PASS: TestApplyPolicy/User_updates_key_is_now_disabled (0.01s) 214s --- PASS: TestApplyPolicy/Missing_machine_compiled_db_for_user (0.01s) 214s --- PASS: TestApplyPolicy/Multi-lines_as (0.00s) 214s --- PASS: TestApplyPolicy/Multiple_keys_same_category (0.00s) 214s --- PASS: TestApplyPolicy/Update_existing_profile_without_needed_db,_trailine_lines_are_removed (0.01s) 214s --- PASS: TestApplyPolicy/Update_existing_profile_with_wrong_order_appends_them_in_correct_order (0.01s) 214s PASS 214s ok github.com/ubuntu/adsys/internal/policies/dconf 0.168s 214s ? github.com/ubuntu/adsys/internal/policies/entry [no test files] 215s === RUN TestApplyPolicy 215s === PAUSE TestApplyPolicy 215s === CONT TestApplyPolicy 215s === RUN TestApplyPolicy/dconf_policy 215s === PAUSE TestApplyPolicy/dconf_policy 215s === CONT TestApplyPolicy/dconf_policy 215s --- PASS: TestApplyPolicy (0.00s) 215s --- PASS: TestApplyPolicy/dconf_policy (0.01s) 215s PASS 215s ok github.com/ubuntu/adsys/internal/policies/gdm 0.016s 218s === RUN TestParseEntryValues 218s === PAUSE TestParseEntryValues 218s === RUN TestWriteFileWithUIDGID 218s === PAUSE TestWriteFileWithUIDGID 218s === RUN TestCreateUnits 218s === PAUSE TestCreateUnits 218s === RUN TestNew 218s === PAUSE TestNew 218s === RUN TestApplyPolicy 218s === PAUSE TestApplyPolicy 218s === CONT TestParseEntryValues 218s === RUN TestParseEntryValues/Parse_values_from_entry_with_kerberos_auth_tags 218s === PAUSE TestParseEntryValues/Parse_values_from_entry_with_kerberos_auth_tags 218s === RUN TestParseEntryValues/Returns_empty_slice_if_the_entry_is_empty 218s === PAUSE TestParseEntryValues/Returns_empty_slice_if_the_entry_is_empty 218s === RUN TestParseEntryValues/Error_when_parsing_entry_with_badly_formatted_values 218s === PAUSE TestParseEntryValues/Error_when_parsing_entry_with_badly_formatted_values 218s === CONT TestNew 218s === RUN TestNew/Creates_manager_successfully 218s === PAUSE TestNew/Creates_manager_successfully 218s === RUN TestNew/Error_when_runDir_has_invalid_permissions 218s === PAUSE TestNew/Error_when_runDir_has_invalid_permissions 218s === RUN TestNew/Error_when_systemUnitDir_has_invalid_permissions 218s === PAUSE TestNew/Error_when_systemUnitDir_has_invalid_permissions 218s === CONT TestApplyPolicy 218s === RUN TestApplyPolicy/System,_only_emit_a_warning_when_stopping_previous_units_fails 218s === PAUSE TestApplyPolicy/System,_only_emit_a_warning_when_stopping_previous_units_fails 218s === RUN TestApplyPolicy/System,_successfully_apply_policy_trimming_whitespaces 218s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_trimming_whitespaces 218s === RUN TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_disabled_entry 218s === PAUSE TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_disabled_entry 218s === RUN TestApplyPolicy/Error_when_creating_units_with_bad_entry_values 218s === PAUSE TestApplyPolicy/Error_when_creating_units_with_bad_entry_values 218s === RUN TestApplyPolicy/Error_when_users-userDir_has_invalid_permissions 218s === PAUSE TestApplyPolicy/Error_when_users-userDir_has_invalid_permissions 218s === RUN TestApplyPolicy/Error_when_applying_policy_and_system_mount_unit_already_exists_as_dir 218s === PAUSE TestApplyPolicy/Error_when_applying_policy_and_system_mount_unit_already_exists_as_dir 218s === RUN TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_repeated_values 218s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_repeated_values 218s === RUN TestApplyPolicy/System,_does_nothing_if_there_are_no_entries 218s === PAUSE TestApplyPolicy/System,_does_nothing_if_there_are_no_entries 218s === RUN TestApplyPolicy/Creates_only_dirs_when_trying_to_policy_with_unsupported_key 218s === PAUSE TestApplyPolicy/Creates_only_dirs_when_trying_to_policy_with_unsupported_key 218s === RUN TestApplyPolicy/Error_when_cleaning_up_user_policy_with_invalid_user 218s === PAUSE TestApplyPolicy/Error_when_cleaning_up_user_policy_with_invalid_user 218s === RUN TestApplyPolicy/Error_when_cleaning_up_user_policy_with_no_entries_and_path_already_exists_as_a_directory 218s === PAUSE TestApplyPolicy/Error_when_cleaning_up_user_policy_with_no_entries_and_path_already_exists_as_a_directory 218s === RUN TestApplyPolicy/Error_when_user_is_not_found 218s === PAUSE TestApplyPolicy/Error_when_user_is_not_found 218s === RUN TestApplyPolicy/Error_when_user_has_invalid_gid 218s === PAUSE TestApplyPolicy/Error_when_user_has_invalid_gid 218s === RUN TestApplyPolicy/User,_successfully_apply_policy_with_kerberos_auth_tags 218s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_with_kerberos_auth_tags 218s === RUN TestApplyPolicy/System,_mount_units_are_updated_on_refreshing_policy_with_an_entry_with_multiple_values 218s === PAUSE TestApplyPolicy/System,_mount_units_are_updated_on_refreshing_policy_with_an_entry_with_multiple_values 218s === RUN TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_one_value 218s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_one_value 218s === RUN TestApplyPolicy/System,_only_emit_a_warning_when_starting_new_units_fails 218s === PAUSE TestApplyPolicy/System,_only_emit_a_warning_when_starting_new_units_fails 218s === RUN TestApplyPolicy/Error_when_mounts_file_path_already_exists_as_a_directory 218s === PAUSE TestApplyPolicy/Error_when_mounts_file_path_already_exists_as_a_directory 218s === RUN TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_repeated_tagged_values 218s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_repeated_tagged_values 218s === RUN TestApplyPolicy/User,_successfully_apply_policy_prioritizing_the_first_value_found,_despite_the_tag 218s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_prioritizing_the_first_value_found,_despite_the_tag 218s === RUN TestApplyPolicy/User,_successfully_apply_policy_trimming_whitespaces 218s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_trimming_whitespaces 218s === RUN TestApplyPolicy/System,_successfully_apply_policy_prioritizing_the_first_value_found,_despite_the_tag 218s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_prioritizing_the_first_value_found,_despite_the_tag 218s === RUN TestApplyPolicy/System,_mount_units_are_added_on_refreshing_policy_with_some_matching_values 218s === PAUSE TestApplyPolicy/System,_mount_units_are_added_on_refreshing_policy_with_some_matching_values 218s === RUN TestApplyPolicy/User,_does_nothing_if_the_entry_is_disabled 218s === PAUSE TestApplyPolicy/User,_does_nothing_if_the_entry_is_disabled 218s === RUN TestApplyPolicy/Creates_only_dirs_when_trying_to_apply_policy_with_no_entries 218s === PAUSE TestApplyPolicy/Creates_only_dirs_when_trying_to_apply_policy_with_no_entries 218s === RUN TestApplyPolicy/Error_when_applying_policy_with_entry_containing_badly_formatted_value 218s === PAUSE TestApplyPolicy/Error_when_applying_policy_with_entry_containing_badly_formatted_value 218s === RUN TestApplyPolicy/Error_when_updating_policy_and_system_mount_unit_to_remove_is_a_dir 218s === PAUSE TestApplyPolicy/Error_when_updating_policy_and_system_mount_unit_to_remove_is_a_dir 218s === RUN TestApplyPolicy/Error_when_applying_system_policy_and_the_entry_is_errored 218s === PAUSE TestApplyPolicy/Error_when_applying_system_policy_and_the_entry_is_errored 218s === RUN TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_one_value 218s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_one_value 218s === RUN TestApplyPolicy/System,_does_nothing_if_the_entry_is_disabled 218s === PAUSE TestApplyPolicy/System,_does_nothing_if_the_entry_is_disabled 218s === RUN TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_a_disabled_entry 218s === PAUSE TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_a_disabled_entry 218s === RUN TestApplyPolicy/System,_successfully_apply_policy_trimming_sequential_linebreaks 218s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_trimming_sequential_linebreaks 218s === RUN TestApplyPolicy/System,_does_nothing_if_the_entry_is_empty 218s === PAUSE TestApplyPolicy/System,_does_nothing_if_the_entry_is_empty 218s === RUN TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_no_entries 218s === PAUSE TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_no_entries 218s === RUN TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_an_empty_entry 218s === PAUSE TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_an_empty_entry 218s === RUN TestApplyPolicy/Error_when_entry_is_errored 218s === PAUSE TestApplyPolicy/Error_when_entry_is_errored 218s === RUN TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_multiple_values 218s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_multiple_values 218s === RUN TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_repeated_values 218s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_repeated_values 218s === RUN TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_an_empty_entry 218s === PAUSE TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_an_empty_entry 218s === RUN TestApplyPolicy/User,_mount_file_is_updated_on_refreshing_policy_with_an_entry_with_multiple_values 218s === PAUSE TestApplyPolicy/User,_mount_file_is_updated_on_refreshing_policy_with_an_entry_with_multiple_values 218s === RUN TestApplyPolicy/Error_when_cleaning_up_user_policy_with_empty_entry_and_path_already_exists_as_a_directory 218s === PAUSE TestApplyPolicy/Error_when_cleaning_up_user_policy_with_empty_entry_and_path_already_exists_as_a_directory 218s === RUN TestApplyPolicy/Error_when_disabling_units_for_clean_up_fails 218s === PAUSE TestApplyPolicy/Error_when_disabling_units_for_clean_up_fails 218s === RUN TestApplyPolicy/Error_when_trying_to_update_policy_with_badly_formatted_entry 218s === PAUSE TestApplyPolicy/Error_when_trying_to_update_policy_with_badly_formatted_entry 218s === RUN TestApplyPolicy/Error_when_user_has_invalid_uid 218s === PAUSE TestApplyPolicy/Error_when_user_has_invalid_uid 218s === RUN TestApplyPolicy/Error_when_daemon-reload_fails 218s === PAUSE TestApplyPolicy/Error_when_daemon-reload_fails 218s === RUN TestApplyPolicy/Error_when_enabling_new_units_fails 218s === PAUSE TestApplyPolicy/Error_when_enabling_new_units_fails 218s === RUN TestApplyPolicy/User,_successfully_apply_policy_filtering_out_unsupported_keys 218s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_filtering_out_unsupported_keys 218s === RUN TestApplyPolicy/User,_creates_only_dirs_if_the_entry_is_empty 218s === PAUSE TestApplyPolicy/User,_creates_only_dirs_if_the_entry_is_empty 218s === RUN TestApplyPolicy/User,_creates_only_dirs_if_there_are_no_entries 218s === PAUSE TestApplyPolicy/User,_creates_only_dirs_if_there_are_no_entries 218s === RUN TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_no_entries 218s === PAUSE TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_no_entries 218s === RUN TestApplyPolicy/System,_successfully_apply_policy_filtering_out_unsupported_keys 218s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_filtering_out_unsupported_keys 218s === RUN TestApplyPolicy/User,_successfully_apply_policy_trimming_sequential_linebreaks 218s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_trimming_sequential_linebreaks 218s === RUN TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_multiple_values 218s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_multiple_values 218s === RUN TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_repeated_tagged_values 218s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_repeated_tagged_values 218s === RUN TestApplyPolicy/System,_successfully_apply_policy_with_kerberos_tagged_values 218s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_with_kerberos_tagged_values 218s === CONT TestCreateUnits 218s === RUN TestCreateUnits/Write_single_unit 218s === PAUSE TestCreateUnits/Write_single_unit 218s === RUN TestCreateUnits/Write_multiple_units 218s === PAUSE TestCreateUnits/Write_multiple_units 218s === RUN TestCreateUnits/Write_krb5_tagged_unit 218s === PAUSE TestCreateUnits/Write_krb5_tagged_unit 218s === CONT TestWriteFileWithUIDGID 218s === RUN TestWriteFileWithUIDGID/Write_file_with_current_user_ownership 218s === PAUSE TestWriteFileWithUIDGID/Write_file_with_current_user_ownership 218s === RUN TestWriteFileWithUIDGID/Error_when_invalid_uid 218s === PAUSE TestWriteFileWithUIDGID/Error_when_invalid_uid 218s === RUN TestWriteFileWithUIDGID/Error_when_invalid_gid 218s === PAUSE TestWriteFileWithUIDGID/Error_when_invalid_gid 218s === RUN TestWriteFileWithUIDGID/Error_when_writing_on_a_dir_with_invalid_permissions 218s === PAUSE TestWriteFileWithUIDGID/Error_when_writing_on_a_dir_with_invalid_permissions 218s === RUN TestWriteFileWithUIDGID/Error_when_path_already_exists_as_a_directory 218s === PAUSE TestWriteFileWithUIDGID/Error_when_path_already_exists_as_a_directory 218s === CONT TestNew/Creates_manager_successfully 218s === CONT TestApplyPolicy/System,_only_emit_a_warning_when_stopping_previous_units_fails 218s === RUN TestParseEntryValues/Parse_values_from_entry_with_one_value 218s === PAUSE TestParseEntryValues/Parse_values_from_entry_with_one_value 218s === RUN TestParseEntryValues/Parse_values_from_entry_with_multiple_values 218s === PAUSE TestParseEntryValues/Parse_values_from_entry_with_multiple_values 218s === RUN TestParseEntryValues/Parse_values_from_entry_with_repeated_values 218s === PAUSE TestParseEntryValues/Parse_values_from_entry_with_repeated_values 218s === RUN TestParseEntryValues/Parse_values_trimming_whitespaces 218s === PAUSE TestParseEntryValues/Parse_values_trimming_whitespaces 218s === RUN TestParseEntryValues/Parse_values_trimming_sequential_linebreaks 218s === PAUSE TestParseEntryValues/Parse_values_trimming_sequential_linebreaks 218s === CONT TestNew/Error_when_systemUnitDir_has_invalid_permissions 218s time="2025-10-18T15:33:55Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 218s time="2025-10-18T15:33:55Z" level=warning msg="Failed to stop unit \"adsys-protocol-domain.com-mountpath.mount\": failed to stop unit" 218s === CONT TestNew/Error_when_runDir_has_invalid_permissions 218s --- PASS: TestNew (0.00s) 218s --- PASS: TestNew/Creates_manager_successfully (0.00s) 218s --- PASS: TestNew/Error_when_systemUnitDir_has_invalid_permissions (0.00s) 218s --- PASS: TestNew/Error_when_runDir_has_invalid_permissions (0.00s) 218s === CONT TestCreateUnits/Write_single_unit 218s === CONT TestApplyPolicy/System,_successfully_apply_policy_with_kerberos_tagged_values 218s time="2025-10-18T15:33:55Z" level=warning msg="failed to start unit \"adsys-cifs-authenticated.com-authenticated-mount.mount\": failed to start unit" 218s time="2025-10-18T15:33:55Z" level=warning msg="failed to start unit \"adsys-nfs-krb_domain.com-mount-krb_path.mount\": failed to start unit" 218s time="2025-10-18T15:33:55Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 218s === CONT TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_repeated_tagged_values 218s === CONT TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_multiple_values 218s time="2025-10-18T15:33:55Z" level=warning msg="failed to start unit \"adsys-nfs-yetanotherdomain.com-mount_path-mount-path.mount\": failed to start unit" 218s time="2025-10-18T15:33:55Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath2.mount\": failed to start unit" 218s time="2025-10-18T15:33:55Z" level=warning msg="failed to start unit \"adsys-cifs-otherdomain.com-mount-path.mount\": failed to start unit" 218s time="2025-10-18T15:33:55Z" level=warning msg="failed to start unit \"adsys-rpt-repeated.com-repeatedmount.mount\": failed to start unit" 218s time="2025-10-18T15:33:55Z" level=warning msg="failed to start unit \"adsys-cifs-single.com-mnt.mount\": failed to start unit" 218s time="2025-10-18T15:33:55Z" level=warning msg="failed to start unit \"adsys-nfs-anotherone.com-mnt.mount\": failed to start unit" 218s === CONT TestApplyPolicy/User,_successfully_apply_policy_trimming_sequential_linebreaks 218s === CONT TestApplyPolicy/System,_successfully_apply_policy_filtering_out_unsupported_keys 218s time="2025-10-18T15:33:55Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 218s === CONT TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_no_entries 218s === CONT TestApplyPolicy/User,_creates_only_dirs_if_there_are_no_entries 218s === CONT TestApplyPolicy/User,_creates_only_dirs_if_the_entry_is_empty 218s === CONT TestApplyPolicy/User,_successfully_apply_policy_filtering_out_unsupported_keys 218s === CONT TestApplyPolicy/Error_when_enabling_new_units_fails 218s === CONT TestApplyPolicy/Error_when_daemon-reload_fails 218s === CONT TestApplyPolicy/Error_when_user_has_invalid_uid 218s === CONT TestApplyPolicy/Error_when_trying_to_update_policy_with_badly_formatted_entry 218s time="2025-10-18T15:33:55Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 218s === CONT TestApplyPolicy/Error_when_disabling_units_for_clean_up_fails 218s time="2025-10-18T15:33:55Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 218s === CONT TestApplyPolicy/Error_when_cleaning_up_user_policy_with_empty_entry_and_path_already_exists_as_a_directory 218s === CONT TestApplyPolicy/User,_mount_file_is_updated_on_refreshing_policy_with_an_entry_with_multiple_values 218s === CONT TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_an_empty_entry 218s === CONT TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_repeated_values 218s === CONT TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_multiple_values 218s === CONT TestApplyPolicy/Error_when_entry_is_errored 218s === CONT TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_an_empty_entry 218s === CONT TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_no_entries 218s time="2025-10-18T15:33:55Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 218s === CONT TestApplyPolicy/System,_does_nothing_if_the_entry_is_empty 218s === CONT TestApplyPolicy/System,_successfully_apply_policy_trimming_sequential_linebreaks 218s time="2025-10-18T15:33:55Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mounpath.mount\": failed to start unit" 218s time="2025-10-18T15:33:55Z" level=warning msg="failed to start unit \"adsys-cifs-otherdomain.com-mount-path.mount\": failed to start unit" 218s time="2025-10-18T15:33:55Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 218s === CONT TestApplyPolicy/System,_does_nothing_if_the_entry_is_disabled 218s === CONT TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_a_disabled_entry 218s === CONT TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_one_value 218s time="2025-10-18T15:33:55Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 218s === CONT TestApplyPolicy/Error_when_applying_system_policy_and_the_entry_is_errored 218s === CONT TestApplyPolicy/Error_when_updating_policy_and_system_mount_unit_to_remove_is_a_dir 218s === CONT TestApplyPolicy/Error_when_applying_policy_with_entry_containing_badly_formatted_value 218s time="2025-10-18T15:33:55Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 218s === CONT TestApplyPolicy/Creates_only_dirs_when_trying_to_apply_policy_with_no_entries 218s === CONT TestApplyPolicy/User,_does_nothing_if_the_entry_is_disabled 218s === CONT TestApplyPolicy/System,_mount_units_are_added_on_refreshing_policy_with_some_matching_values 218s === CONT TestApplyPolicy/System,_successfully_apply_policy_prioritizing_the_first_value_found,_despite_the_tag 218s time="2025-10-18T15:33:55Z" 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." 218s time="2025-10-18T15:33:55Z" 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." 218s time="2025-10-18T15:33:55Z" level=warning msg="failed to start unit \"adsys-nfs-domain-untagged_first.mount\": failed to start unit" 218s time="2025-10-18T15:33:55Z" level=warning msg="failed to start unit \"adsys-nfs-domain-tagged_first.mount\": failed to start unit" 218s === CONT TestApplyPolicy/User,_successfully_apply_policy_trimming_whitespaces 218s time="2025-10-18T15:33:55Z" level=warning msg="failed to start unit \"adsys-cifs-otherdomain.com-mount-path.mount\": failed to start unit" 218s time="2025-10-18T15:33:55Z" level=warning msg="failed to start unit \"adsys-nfs-yetanotherdomain.com-mount_path-mount-path.mount\": failed to start unit" 218s time="2025-10-18T15:33:55Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath2.mount\": failed to start unit" 218s time="2025-10-18T15:33:55Z" level=warning msg="failed to start unit \"adsys-fuse-completelydifferent.com-different-path.mount\": failed to start unit" 218s === CONT TestApplyPolicy/User,_successfully_apply_policy_prioritizing_the_first_value_found,_despite_the_tag 218s time="2025-10-18T15:33:55Z" 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." 218s time="2025-10-18T15:33:55Z" 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." 218s === CONT TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_repeated_tagged_values 218s === CONT TestApplyPolicy/Error_when_mounts_file_path_already_exists_as_a_directory 218s === CONT TestApplyPolicy/System,_only_emit_a_warning_when_starting_new_units_fails 218s === CONT TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_one_value 218s time="2025-10-18T15:33:55Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 218s === CONT TestApplyPolicy/System,_mount_units_are_updated_on_refreshing_policy_with_an_entry_with_multiple_values 218s === CONT TestApplyPolicy/User,_successfully_apply_policy_with_kerberos_auth_tags 218s time="2025-10-18T15:33:55Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 218s time="2025-10-18T15:33:55Z" level=warning msg="failed to start unit \"adsys-nfs-yetanotherdomain.com-mount_path-mount-path.mount\": failed to start unit" 218s time="2025-10-18T15:33:55Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath2.mount\": failed to start unit" 218s time="2025-10-18T15:33:55Z" level=warning msg="failed to start unit \"adsys-cifs-otherdomain.com-mount-path.mount\": failed to start unit" 218s === CONT TestApplyPolicy/Error_when_user_has_invalid_gid 218s === CONT TestApplyPolicy/Error_when_user_is_not_found 218s === CONT TestApplyPolicy/Error_when_cleaning_up_user_policy_with_no_entries_and_path_already_exists_as_a_directory 218s === CONT TestApplyPolicy/Error_when_cleaning_up_user_policy_with_invalid_user 218s === CONT TestApplyPolicy/Creates_only_dirs_when_trying_to_policy_with_unsupported_key 218s === CONT TestApplyPolicy/System,_does_nothing_if_there_are_no_entries 218s === CONT TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_repeated_values 218s === CONT TestApplyPolicy/Error_when_applying_policy_and_system_mount_unit_already_exists_as_dir 218s time="2025-10-18T15:33:55Z" level=warning msg="failed to start unit \"adsys-rpt-repeated.com-repeatedmount.mount\": failed to start unit" 218s time="2025-10-18T15:33:55Z" level=warning msg="failed to start unit \"adsys-cifs-single.com-mnt.mount\": failed to start unit" 218s time="2025-10-18T15:33:55Z" level=warning msg="failed to start unit \"adsys-nfs-anotherone.com-mnt.mount\": failed to start unit" 218s === CONT TestApplyPolicy/Error_when_users-userDir_has_invalid_permissions 218s === CONT TestApplyPolicy/Error_when_creating_units_with_bad_entry_values 218s === CONT TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_disabled_entry 218s === CONT TestApplyPolicy/System,_successfully_apply_policy_trimming_whitespaces 218s time="2025-10-18T15:33:55Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 218s === CONT TestWriteFileWithUIDGID/Write_file_with_current_user_ownership 218s time="2025-10-18T15:33:55Z" level=warning msg="failed to start unit \"adsys-cifs-otherdomain.com-mount-path.mount\": failed to start unit" 218s time="2025-10-18T15:33:55Z" level=warning msg="failed to start unit \"adsys-nfs-yetanotherdomain.com-path-mount.mount\": failed to start unit" 218s === CONT TestCreateUnits/Write_krb5_tagged_unit 218s === CONT TestCreateUnits/Write_multiple_units 218s --- PASS: TestApplyPolicy (0.00s) 218s --- PASS: TestApplyPolicy/System,_only_emit_a_warning_when_stopping_previous_units_fails (0.01s) 218s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_with_kerberos_tagged_values (0.00s) 218s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_multiple_values (0.00s) 218s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_repeated_tagged_values (0.01s) 218s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_trimming_sequential_linebreaks (0.00s) 218s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_filtering_out_unsupported_keys (0.00s) 218s --- PASS: TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_no_entries (0.00s) 218s --- PASS: TestApplyPolicy/User,_creates_only_dirs_if_the_entry_is_empty (0.00s) 218s --- PASS: TestApplyPolicy/User,_creates_only_dirs_if_there_are_no_entries (0.00s) 218s --- PASS: TestApplyPolicy/Error_when_enabling_new_units_fails (0.00s) 218s --- PASS: TestApplyPolicy/Error_when_daemon-reload_fails (0.00s) 218s --- PASS: TestApplyPolicy/Error_when_user_has_invalid_uid (0.00s) 218s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_filtering_out_unsupported_keys (0.01s) 218s --- PASS: TestApplyPolicy/Error_when_trying_to_update_policy_with_badly_formatted_entry (0.00s) 218s --- PASS: TestApplyPolicy/Error_when_disabling_units_for_clean_up_fails (0.00s) 218s --- PASS: TestApplyPolicy/Error_when_cleaning_up_user_policy_with_empty_entry_and_path_already_exists_as_a_directory (0.00s) 218s --- PASS: TestApplyPolicy/User,_mount_file_is_updated_on_refreshing_policy_with_an_entry_with_multiple_values (0.00s) 218s --- PASS: TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_an_empty_entry (0.00s) 218s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_repeated_values (0.00s) 218s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_multiple_values (0.00s) 218s --- PASS: TestApplyPolicy/Error_when_entry_is_errored (0.00s) 218s --- PASS: TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_an_empty_entry (0.00s) 218s --- PASS: TestApplyPolicy/System,_does_nothing_if_the_entry_is_empty (0.00s) 218s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_trimming_sequential_linebreaks (0.00s) 218s --- PASS: TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_no_entries (0.01s) 218s --- PASS: TestApplyPolicy/System,_does_nothing_if_the_entry_is_disabled (0.00s) 218s --- PASS: TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_a_disabled_entry (0.00s) 218s --- PASS: TestApplyPolicy/Error_when_applying_system_policy_and_the_entry_is_errored (0.00s) 218s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_one_value (0.00s) 218s --- PASS: TestApplyPolicy/Error_when_applying_policy_with_entry_containing_badly_formatted_value (0.00s) 218s --- PASS: TestApplyPolicy/Creates_only_dirs_when_trying_to_apply_policy_with_no_entries (0.00s) 218s --- PASS: TestApplyPolicy/User,_does_nothing_if_the_entry_is_disabled (0.00s) 218s --- PASS: TestApplyPolicy/Error_when_updating_policy_and_system_mount_unit_to_remove_is_a_dir (0.01s) 218s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_prioritizing_the_first_value_found,_despite_the_tag (0.00s) 218s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_trimming_whitespaces (0.00s) 218s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_prioritizing_the_first_value_found,_despite_the_tag (0.00s) 218s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_repeated_tagged_values (0.00s) 218s --- PASS: TestApplyPolicy/Error_when_mounts_file_path_already_exists_as_a_directory (0.00s) 218s --- PASS: TestApplyPolicy/System,_mount_units_are_added_on_refreshing_policy_with_some_matching_values (0.01s) 218s --- PASS: TestApplyPolicy/System,_only_emit_a_warning_when_starting_new_units_fails (0.00s) 218s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_one_value (0.00s) 218s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_with_kerberos_auth_tags (0.00s) 218s --- PASS: TestApplyPolicy/Error_when_user_has_invalid_gid (0.00s) 218s --- PASS: TestApplyPolicy/Error_when_user_is_not_found (0.00s) 218s --- PASS: TestApplyPolicy/System,_mount_units_are_updated_on_refreshing_policy_with_an_entry_with_multiple_values (0.01s) 218s --- PASS: TestApplyPolicy/Error_when_cleaning_up_user_policy_with_no_entries_and_path_already_exists_as_a_directory (0.00s) 218s --- PASS: TestApplyPolicy/Error_when_cleaning_up_user_policy_with_invalid_user (0.00s) 218s --- PASS: TestApplyPolicy/System,_does_nothing_if_there_are_no_entries (0.00s) 218s --- PASS: TestApplyPolicy/Creates_only_dirs_when_trying_to_policy_with_unsupported_key (0.00s) 218s --- PASS: TestApplyPolicy/Error_when_applying_policy_and_system_mount_unit_already_exists_as_dir (0.00s) 218s --- PASS: TestApplyPolicy/Error_when_users-userDir_has_invalid_permissions (0.00s) 218s --- PASS: TestApplyPolicy/Error_when_creating_units_with_bad_entry_values (0.00s) 218s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_repeated_values (0.00s) 218s --- PASS: TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_disabled_entry (0.00s) 218s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_trimming_whitespaces (0.01s) 218s === CONT TestWriteFileWithUIDGID/Error_when_path_already_exists_as_a_directory 218s === CONT TestWriteFileWithUIDGID/Error_when_writing_on_a_dir_with_invalid_permissions 218s === CONT TestWriteFileWithUIDGID/Error_when_invalid_gid 218s === CONT TestWriteFileWithUIDGID/Error_when_invalid_uid 218s --- PASS: TestWriteFileWithUIDGID (0.00s) 218s --- PASS: TestWriteFileWithUIDGID/Write_file_with_current_user_ownership (0.00s) 218s --- PASS: TestWriteFileWithUIDGID/Error_when_path_already_exists_as_a_directory (0.00s) 218s --- PASS: TestWriteFileWithUIDGID/Error_when_writing_on_a_dir_with_invalid_permissions (0.00s) 218s --- PASS: TestWriteFileWithUIDGID/Error_when_invalid_gid (0.00s) 218s --- PASS: TestWriteFileWithUIDGID/Error_when_invalid_uid (0.00s) 218s === CONT TestParseEntryValues/Parse_values_from_entry_with_kerberos_auth_tags 218s === CONT TestParseEntryValues/Parse_values_trimming_sequential_linebreaks 218s === CONT TestParseEntryValues/Parse_values_trimming_whitespaces 218s === CONT TestParseEntryValues/Parse_values_from_entry_with_repeated_values 218s --- PASS: TestCreateUnits (0.00s) 218s --- PASS: TestCreateUnits/Write_single_unit (0.00s) 218s --- PASS: TestCreateUnits/Write_krb5_tagged_unit (0.00s) 218s --- PASS: TestCreateUnits/Write_multiple_units (0.01s) 218s === CONT TestParseEntryValues/Parse_values_from_entry_with_multiple_values 218s === CONT TestParseEntryValues/Parse_values_from_entry_with_one_value 218s === CONT TestParseEntryValues/Error_when_parsing_entry_with_badly_formatted_values 218s === CONT TestParseEntryValues/Returns_empty_slice_if_the_entry_is_empty 218s --- PASS: TestParseEntryValues (0.00s) 218s --- PASS: TestParseEntryValues/Parse_values_from_entry_with_kerberos_auth_tags (0.00s) 218s --- PASS: TestParseEntryValues/Parse_values_trimming_sequential_linebreaks (0.00s) 218s --- PASS: TestParseEntryValues/Parse_values_trimming_whitespaces (0.00s) 218s --- PASS: TestParseEntryValues/Parse_values_from_entry_with_multiple_values (0.00s) 218s --- PASS: TestParseEntryValues/Parse_values_from_entry_with_one_value (0.00s) 218s --- PASS: TestParseEntryValues/Error_when_parsing_entry_with_badly_formatted_values (0.00s) 218s --- PASS: TestParseEntryValues/Returns_empty_slice_if_the_entry_is_empty (0.00s) 218s --- PASS: TestParseEntryValues/Parse_values_from_entry_with_repeated_values (0.00s) 218s PASS 218s ok github.com/ubuntu/adsys/internal/policies/mount 0.106s 218s === RUN TestSplitAndNormalizeUsersAndGroups 218s === PAUSE TestSplitAndNormalizeUsersAndGroups 218s === RUN TestPolkitAdminIdentitiesFromConf 218s === PAUSE TestPolkitAdminIdentitiesFromConf 218s === RUN TestPolkitAdminIdentitiesFromRules 218s === PAUSE TestPolkitAdminIdentitiesFromRules 218s === RUN TestApplyPolicy 218s === PAUSE TestApplyPolicy 218s === CONT TestSplitAndNormalizeUsersAndGroups 218s === RUN TestSplitAndNormalizeUsersAndGroups/Simple_one_value 218s === PAUSE TestSplitAndNormalizeUsersAndGroups/Simple_one_value 218s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_/ 218s === CONT TestPolkitAdminIdentitiesFromRules 218s === RUN TestPolkitAdminIdentitiesFromRules/Consider_only_first_returned_value 218s === PAUSE TestPolkitAdminIdentitiesFromRules/Consider_only_first_returned_value 218s === RUN TestPolkitAdminIdentitiesFromRules/Prioritize_first_specified_directory_if_files_have_same_ascii 218s === PAUSE TestPolkitAdminIdentitiesFromRules/Prioritize_first_specified_directory_if_files_have_same_ascii 218s === RUN TestPolkitAdminIdentitiesFromRules/No_previous_admin_identities_but_regular_directory_structure 218s === PAUSE TestPolkitAdminIdentitiesFromRules/No_previous_admin_identities_but_regular_directory_structure 218s === RUN TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities 218s === PAUSE TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities 218s === RUN TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities_from_lower_ascii_file 218s === PAUSE TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities_from_lower_ascii_file 218s === RUN TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities_ignoring_adsys 218s === PAUSE TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities_ignoring_adsys 218s === RUN TestPolkitAdminIdentitiesFromRules/Prioritize_lower_ascii_file_even_if_on_second_directory 218s === PAUSE TestPolkitAdminIdentitiesFromRules/Prioritize_lower_ascii_file_even_if_on_second_directory 218s === RUN TestPolkitAdminIdentitiesFromRules/Returns_an_empty_string_if_directory_does_not_exists 218s === PAUSE TestPolkitAdminIdentitiesFromRules/Returns_an_empty_string_if_directory_does_not_exists 218s === RUN TestPolkitAdminIdentitiesFromRules/Directory_instead_of_a_conf_file_is_ignored 218s === PAUSE TestPolkitAdminIdentitiesFromRules/Directory_instead_of_a_conf_file_is_ignored 218s === CONT TestPolkitAdminIdentitiesFromRules/Consider_only_first_returned_value 218s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_/ 218s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_] 218s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_] 218s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_: 218s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_: 218s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_| 218s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_| 218s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_? 218s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_? 218s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_* 218s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_* 218s === RUN TestSplitAndNormalizeUsersAndGroups/Empty_value 218s === PAUSE TestSplitAndNormalizeUsersAndGroups/Empty_value 218s === RUN TestSplitAndNormalizeUsersAndGroups/Multiple_values_separated_by_EOL 218s === PAUSE TestSplitAndNormalizeUsersAndGroups/Multiple_values_separated_by_EOL 218s === RUN TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_consecutives_EOL 218s === PAUSE TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_consecutives_EOL 218s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_< 218s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_< 218s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_> 218s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_> 218s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_; 218s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_; 218s === RUN TestSplitAndNormalizeUsersAndGroups/Don’t_strip_first_%_but_others 218s === PAUSE TestSplitAndNormalizeUsersAndGroups/Don’t_strip_first_%_but_others 218s === RUN TestSplitAndNormalizeUsersAndGroups/Empty_value_with_EOL 218s === PAUSE TestSplitAndNormalizeUsersAndGroups/Empty_value_with_EOL 218s === RUN TestSplitAndNormalizeUsersAndGroups/Group_one_value 218s === PAUSE TestSplitAndNormalizeUsersAndGroups/Group_one_value 218s === RUN TestSplitAndNormalizeUsersAndGroups/Multiple_values_separated_by_comma 218s === PAUSE TestSplitAndNormalizeUsersAndGroups/Multiple_values_separated_by_comma 218s === RUN TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_a_mix_of_comma_and_EOL 218s === PAUSE TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_a_mix_of_comma_and_EOL 218s === RUN TestSplitAndNormalizeUsersAndGroups/Multiple_\_only_handling_first_one_and_ignore_others 218s === PAUSE TestSplitAndNormalizeUsersAndGroups/Multiple_\_only_handling_first_one_and_ignore_others 218s === RUN TestSplitAndNormalizeUsersAndGroups/User_name_with_space 218s === PAUSE TestSplitAndNormalizeUsersAndGroups/User_name_with_space 218s === RUN TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_consecutives_comma 218s === PAUSE TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_consecutives_comma 218s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_empty_values 218s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_empty_values 218s === RUN TestSplitAndNormalizeUsersAndGroups/Empty_value_with_comma 218s === PAUSE TestSplitAndNormalizeUsersAndGroups/Empty_value_with_comma 218s === RUN TestSplitAndNormalizeUsersAndGroups/Handle_domain\user 218s === PAUSE TestSplitAndNormalizeUsersAndGroups/Handle_domain\user 218s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_[ 218s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_[ 218s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_= 218s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_= 218s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_% 218s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_% 218s === CONT TestApplyPolicy 218s === RUN TestApplyPolicy/Error_on_writing_to_polkit_conf_file 218s === PAUSE TestApplyPolicy/Error_on_writing_to_polkit_conf_file 218s === RUN TestApplyPolicy/Error_if_can’t_rename_to_destination_for_polkit_conf_file 218s === PAUSE TestApplyPolicy/Error_if_can’t_rename_to_destination_for_polkit_conf_file 218s === RUN TestApplyPolicy/Disallow_local_admins 218s === PAUSE TestApplyPolicy/Disallow_local_admins 218s === RUN TestApplyPolicy/Disallow_local_admins_with_previous_local_admin_conf_and_set_client_admins 218s === PAUSE TestApplyPolicy/Disallow_local_admins_with_previous_local_admin_conf_and_set_client_admins 218s === RUN TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_and_set_client_admins 218s === PAUSE TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_and_set_client_admins 218s === RUN TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_(with_adsys_file)_and_set_client_admins 218s === PAUSE TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_(with_adsys_file)_and_set_client_admins 218s === RUN TestApplyPolicy/Assume_old_polkit_if_cant_read_system_reserved_path 218s === PAUSE TestApplyPolicy/Assume_old_polkit_if_cant_read_system_reserved_path 218s === RUN TestApplyPolicy/Error_on_writing_to_sudoers_file 218s === PAUSE TestApplyPolicy/Error_on_writing_to_sudoers_file 218s === RUN TestApplyPolicy/Error_on_creating_sudoers_and_polkit_base_directory 218s === PAUSE TestApplyPolicy/Error_on_creating_sudoers_and_polkit_base_directory 218s === RUN TestApplyPolicy/Not_a_computer 218s === PAUSE TestApplyPolicy/Not_a_computer 218s === RUN TestApplyPolicy/Set_client_multiple_users_admins 218s === PAUSE TestApplyPolicy/Set_client_multiple_users_admins 218s === RUN TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_(simple)_and_set_client_admins 218s === PAUSE TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_(simple)_and_set_client_admins 218s === RUN TestApplyPolicy/Overwrite_existing_sudoers_file 218s === PAUSE TestApplyPolicy/Overwrite_existing_sudoers_file 218s === RUN TestApplyPolicy/Overwrite_existing_polkit_file 218s === PAUSE TestApplyPolicy/Overwrite_existing_polkit_file 218s === RUN TestApplyPolicy/Create_on_new_polkit_version_and_remove_old_file 218s === PAUSE TestApplyPolicy/Create_on_new_polkit_version_and_remove_old_file 218s === RUN TestApplyPolicy/Error_if_can’t_rename_to_destination_for_sudoers_file 218s === PAUSE TestApplyPolicy/Error_if_can’t_rename_to_destination_for_sudoers_file 218s === RUN TestApplyPolicy/No_rules_and_no_existing_history_means_no_files 218s === PAUSE TestApplyPolicy/No_rules_and_no_existing_history_means_no_files 218s === RUN TestApplyPolicy/Set_client_group_admins 218s === PAUSE TestApplyPolicy/Set_client_group_admins 218s === RUN TestApplyPolicy/Set_client_mixed_with_users_and_group_admins 218s === PAUSE TestApplyPolicy/Set_client_mixed_with_users_and_group_admins 218s === RUN TestApplyPolicy/No_client_AD_admins 218s === PAUSE TestApplyPolicy/No_client_AD_admins 218s === RUN TestApplyPolicy/Disallow_local_admins_and_set_client_admins 218s === PAUSE TestApplyPolicy/Disallow_local_admins_and_set_client_admins 218s === RUN TestApplyPolicy/Allow_local_admins_without_previous_local_admin_conf_and_set_client_admins 218s === PAUSE TestApplyPolicy/Allow_local_admins_without_previous_local_admin_conf_and_set_client_admins 218s === RUN TestApplyPolicy/Error_on_writing_to_polkit_subdirectory_creation 218s === PAUSE TestApplyPolicy/Error_on_writing_to_polkit_subdirectory_creation 218s === RUN TestApplyPolicy/No_rules_still_overwrite_those_files 218s === PAUSE TestApplyPolicy/No_rules_still_overwrite_those_files 218s === RUN TestApplyPolicy/Allow_local_admins_with_no_other_rules_is_a_noop 218s === PAUSE TestApplyPolicy/Allow_local_admins_with_no_other_rules_is_a_noop 218s === RUN TestApplyPolicy/Set_client_user_admins 218s === PAUSE TestApplyPolicy/Set_client_user_admins 218s === RUN TestApplyPolicy/Empty_client_AD_admins 218s === PAUSE TestApplyPolicy/Empty_client_AD_admins 218s === RUN TestApplyPolicy/Don't_overwrite_other_existing_files 218s === PAUSE TestApplyPolicy/Don't_overwrite_other_existing_files 218s === CONT TestPolkitAdminIdentitiesFromRules/Directory_instead_of_a_conf_file_is_ignored 218s === CONT TestPolkitAdminIdentitiesFromRules/Returns_an_empty_string_if_directory_does_not_exists 218s === CONT TestPolkitAdminIdentitiesFromRules/Prioritize_lower_ascii_file_even_if_on_second_directory 218s === CONT TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities_ignoring_adsys 218s === CONT TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities_from_lower_ascii_file 218s === CONT TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities 218s === CONT TestPolkitAdminIdentitiesFromRules/No_previous_admin_identities_but_regular_directory_structure 218s === CONT TestPolkitAdminIdentitiesFromRules/Prioritize_first_specified_directory_if_files_have_same_ascii 218s === CONT TestPolkitAdminIdentitiesFromConf 218s === RUN TestPolkitAdminIdentitiesFromConf/Directory_instead_of_a_conf_file_is_ignored 218s === PAUSE TestPolkitAdminIdentitiesFromConf/Directory_instead_of_a_conf_file_is_ignored 218s === RUN TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities 218s === PAUSE TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities 218s === RUN TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities_from_highest_ascii_file 218s === PAUSE TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities_from_highest_ascii_file 218s === RUN TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities_ignoring_adsys 218s === PAUSE TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities_ignoring_adsys 218s === RUN TestPolkitAdminIdentitiesFromConf/No_previous_admin_identities_but_regular_directory_structure 218s === PAUSE TestPolkitAdminIdentitiesFromConf/No_previous_admin_identities_but_regular_directory_structure 218s === RUN TestPolkitAdminIdentitiesFromConf/Returns_an_empty_string_if_directory_does_not_exists 218s === PAUSE TestPolkitAdminIdentitiesFromConf/Returns_an_empty_string_if_directory_does_not_exists 218s === CONT TestSplitAndNormalizeUsersAndGroups/Simple_one_value 218s === CONT TestApplyPolicy/Error_on_writing_to_polkit_conf_file 218s --- PASS: TestPolkitAdminIdentitiesFromRules (0.00s) 218s --- PASS: TestPolkitAdminIdentitiesFromRules/Directory_instead_of_a_conf_file_is_ignored (0.00s) 218s --- PASS: TestPolkitAdminIdentitiesFromRules/Returns_an_empty_string_if_directory_does_not_exists (0.00s) 218s --- PASS: TestPolkitAdminIdentitiesFromRules/Consider_only_first_returned_value (0.00s) 218s --- PASS: TestPolkitAdminIdentitiesFromRules/Prioritize_lower_ascii_file_even_if_on_second_directory (0.00s) 218s --- PASS: TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities_ignoring_adsys (0.00s) 218s --- PASS: TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities_from_lower_ascii_file (0.00s) 218s --- PASS: TestPolkitAdminIdentitiesFromRules/No_previous_admin_identities_but_regular_directory_structure (0.00s) 218s --- PASS: TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities (0.00s) 218s --- PASS: TestPolkitAdminIdentitiesFromRules/Prioritize_first_specified_directory_if_files_have_same_ascii (0.00s) 218s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_any_% 218s time="2025-10-18T15:33:55Z" level=warning msg="Changed user or group \"u%s%er@domain\" to \"user@domain\": Invalid characters or domain\\user format" 218s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_any_= 218s time="2025-10-18T15:33:55Z" level=warning msg="Changed user or group \"u=s=er@domain\" to \"user@domain\": Invalid characters or domain\\user format" 218s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_any_[ 218s time="2025-10-18T15:33:55Z" level=warning msg="Changed user or group \"u[s]er@domain\" to \"user@domain\": Invalid characters or domain\\user format" 218s === CONT TestSplitAndNormalizeUsersAndGroups/Handle_domain\user 218s time="2025-10-18T15:33:55Z" level=warning msg="Changed user or group \"domain\\\\user\" to \"user@domain\": Invalid characters or domain\\user format" 218s === CONT TestSplitAndNormalizeUsersAndGroups/Empty_value_with_comma 218s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_empty_values 218s === CONT TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_consecutives_comma 218s === CONT TestSplitAndNormalizeUsersAndGroups/User_name_with_space 218s === CONT TestSplitAndNormalizeUsersAndGroups/Multiple_\_only_handling_first_one_and_ignore_others 218s time="2025-10-18T15:33:55Z" level=warning msg="Changed user or group \"domain\\\\user\\\\foo\" to \"userfoo@domain\": Invalid characters or domain\\user format" 218s === CONT TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_a_mix_of_comma_and_EOL 218s === CONT TestSplitAndNormalizeUsersAndGroups/Multiple_values_separated_by_comma 218s === CONT TestSplitAndNormalizeUsersAndGroups/Group_one_value 218s === CONT TestSplitAndNormalizeUsersAndGroups/Empty_value_with_EOL 218s === CONT TestSplitAndNormalizeUsersAndGroups/Don’t_strip_first_%_but_others 218s time="2025-10-18T15:33:55Z" level=warning msg="Changed user or group \"%g%r%oup@domain\" to \"%group@domain\": Invalid characters or domain\\user format" 218s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_any_; 218s time="2025-10-18T15:33:55Z" level=warning msg="Changed user or group \"u;s;er@domain\" to \"user@domain\": Invalid characters or domain\\user format" 218s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_any_> 218s time="2025-10-18T15:33:55Z" level=warning msg="Changed user or group \"u>s>er@domain\" to \"user@domain\": Invalid characters or domain\\user format" 218s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_any_< 218s time="2025-10-18T15:33:55Z" level=warning msg="Changed user or group \"u (0.00s) 218s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_< (0.00s) 218s --- PASS: TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_consecutives_EOL (0.00s) 218s --- PASS: TestSplitAndNormalizeUsersAndGroups/Multiple_values_separated_by_EOL (0.00s) 218s --- PASS: TestSplitAndNormalizeUsersAndGroups/Empty_value (0.00s) 218s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_* (0.00s) 218s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_? (0.00s) 218s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_| (0.00s) 218s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_: (0.00s) 218s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_] (0.00s) 218s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_/ (0.00s) 218s --- PASS: TestSplitAndNormalizeUsersAndGroups/Multiple_\_only_handling_first_one_and_ignore_others (0.00s) 218s === CONT TestApplyPolicy/Don't_overwrite_other_existing_files 218s === CONT TestApplyPolicy/Empty_client_AD_admins 218s === CONT TestApplyPolicy/Set_client_user_admins 218s === CONT TestApplyPolicy/Allow_local_admins_with_no_other_rules_is_a_noop 218s === CONT TestApplyPolicy/No_rules_still_overwrite_those_files 218s === CONT TestApplyPolicy/Error_on_writing_to_polkit_subdirectory_creation 218s === CONT TestApplyPolicy/Allow_local_admins_without_previous_local_admin_conf_and_set_client_admins 218s === CONT TestApplyPolicy/Disallow_local_admins_and_set_client_admins 218s === CONT TestApplyPolicy/No_client_AD_admins 218s === CONT TestApplyPolicy/Set_client_mixed_with_users_and_group_admins 218s === CONT TestApplyPolicy/Set_client_group_admins 218s === CONT TestApplyPolicy/No_rules_and_no_existing_history_means_no_files 218s === CONT TestApplyPolicy/Error_if_can’t_rename_to_destination_for_sudoers_file 218s === CONT TestApplyPolicy/Error_on_writing_to_sudoers_file 218s === CONT TestApplyPolicy/Overwrite_existing_polkit_file 218s === CONT TestApplyPolicy/Overwrite_existing_sudoers_file 218s === CONT TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_(simple)_and_set_client_admins 218s === CONT TestApplyPolicy/Set_client_multiple_users_admins 218s time="2025-10-18T15:33:55Z" level=warning msg="Changed user or group \"domain\\\\bob\" to \"bob@domain\": Invalid characters or domain\\user format" 218s === CONT TestApplyPolicy/Not_a_computer 218s === CONT TestApplyPolicy/Error_on_creating_sudoers_and_polkit_base_directory 218s === CONT TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_and_set_client_admins 218s === CONT TestApplyPolicy/Assume_old_polkit_if_cant_read_system_reserved_path 218s === CONT TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_(with_adsys_file)_and_set_client_admins 218s === CONT TestApplyPolicy/Disallow_local_admins 218s === CONT TestApplyPolicy/Disallow_local_admins_with_previous_local_admin_conf_and_set_client_admins 218s === CONT TestApplyPolicy/Error_if_can’t_rename_to_destination_for_polkit_conf_file 218s === CONT TestPolkitAdminIdentitiesFromConf/Directory_instead_of_a_conf_file_is_ignored 218s === CONT TestPolkitAdminIdentitiesFromConf/Returns_an_empty_string_if_directory_does_not_exists 218s === CONT TestPolkitAdminIdentitiesFromConf/No_previous_admin_identities_but_regular_directory_structure 218s === CONT TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities_ignoring_adsys 218s --- PASS: TestApplyPolicy (0.00s) 218s --- PASS: TestApplyPolicy/Error_on_writing_to_polkit_conf_file (0.00s) 218s --- PASS: TestApplyPolicy/Don't_overwrite_other_existing_files (0.00s) 218s --- PASS: TestApplyPolicy/Empty_client_AD_admins (0.00s) 218s --- PASS: TestApplyPolicy/Create_on_new_polkit_version_and_remove_old_file (0.01s) 218s --- PASS: TestApplyPolicy/Allow_local_admins_with_no_other_rules_is_a_noop (0.00s) 218s --- PASS: TestApplyPolicy/No_rules_still_overwrite_those_files (0.00s) 218s --- PASS: TestApplyPolicy/Set_client_user_admins (0.00s) 218s --- PASS: TestApplyPolicy/Error_on_writing_to_polkit_subdirectory_creation (0.00s) 218s --- PASS: TestApplyPolicy/Allow_local_admins_without_previous_local_admin_conf_and_set_client_admins (0.00s) 218s --- PASS: TestApplyPolicy/No_client_AD_admins (0.00s) 218s --- PASS: TestApplyPolicy/Disallow_local_admins_and_set_client_admins (0.01s) 218s --- PASS: TestApplyPolicy/Set_client_mixed_with_users_and_group_admins (0.00s) 218s --- PASS: TestApplyPolicy/No_rules_and_no_existing_history_means_no_files (0.00s) 218s --- PASS: TestApplyPolicy/Error_if_can’t_rename_to_destination_for_sudoers_file (0.00s) 218s --- PASS: TestApplyPolicy/Set_client_group_admins (0.00s) 218s --- PASS: TestApplyPolicy/Error_on_writing_to_sudoers_file (0.00s) 218s --- PASS: TestApplyPolicy/Overwrite_existing_sudoers_file (0.00s) 218s --- PASS: TestApplyPolicy/Overwrite_existing_polkit_file (0.01s) 218s --- PASS: TestApplyPolicy/Set_client_multiple_users_admins (0.00s) 218s --- PASS: TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_(simple)_and_set_client_admins (0.01s) 218s --- PASS: TestApplyPolicy/Error_on_creating_sudoers_and_polkit_base_directory (0.00s) 218s --- PASS: TestApplyPolicy/Not_a_computer (0.01s) 218s --- PASS: TestApplyPolicy/Assume_old_polkit_if_cant_read_system_reserved_path (0.01s) 218s --- PASS: TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_and_set_client_admins (0.01s) 218s --- PASS: TestApplyPolicy/Disallow_local_admins (0.00s) 218s --- PASS: TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_(with_adsys_file)_and_set_client_admins (0.01s) 218s --- PASS: TestApplyPolicy/Error_if_can’t_rename_to_destination_for_polkit_conf_file (0.00s) 218s --- PASS: TestApplyPolicy/Disallow_local_admins_with_previous_local_admin_conf_and_set_client_admins (0.01s) 218s === CONT TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities_from_highest_ascii_file 218s === CONT TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities 218s --- PASS: TestPolkitAdminIdentitiesFromConf (0.00s) 218s --- PASS: TestPolkitAdminIdentitiesFromConf/Directory_instead_of_a_conf_file_is_ignored (0.00s) 218s --- PASS: TestPolkitAdminIdentitiesFromConf/Returns_an_empty_string_if_directory_does_not_exists (0.00s) 218s --- PASS: TestPolkitAdminIdentitiesFromConf/No_previous_admin_identities_but_regular_directory_structure (0.00s) 218s --- PASS: TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities_ignoring_adsys (0.00s) 218s --- PASS: TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities (0.00s) 218s --- PASS: TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities_from_highest_ascii_file (0.00s) 218s PASS 218s ok github.com/ubuntu/adsys/internal/policies/privilege 0.072s 219s === RUN TestApplyPolicy 219s === PAUSE TestApplyPolicy 219s === RUN TestWarnOnUnsupportedKeys 219s --- PASS: TestWarnOnUnsupportedKeys (0.00s) 219s === RUN TestWarnOnMissingDBusService 219s --- PASS: TestWarnOnMissingDBusService (0.00s) 219s === CONT TestApplyPolicy 219s === RUN TestApplyPolicy/User,_non-empty_entries 219s === PAUSE TestApplyPolicy/User,_non-empty_entries 219s === RUN TestApplyPolicy/Error_when_D-Bus_call_fails 219s === PAUSE TestApplyPolicy/Error_when_D-Bus_call_fails 219s === RUN TestApplyPolicy/Computer,_no_entries 219s === PAUSE TestApplyPolicy/Computer,_no_entries 219s === RUN TestApplyPolicy/Computer,_no_entries,_D-Bus_call_error 219s === PAUSE TestApplyPolicy/Computer,_no_entries,_D-Bus_call_error 219s === RUN TestApplyPolicy/User,_no_entries 219s === PAUSE TestApplyPolicy/User,_no_entries 219s === RUN TestApplyPolicy/Computer,_single_enabled_entry 219s === PAUSE TestApplyPolicy/Computer,_single_enabled_entry 219s === RUN TestApplyPolicy/Computer,_single_disabled_entry 219s === PAUSE TestApplyPolicy/Computer,_single_disabled_entry 219s === RUN TestApplyPolicy/Computer,_all_entries_set 219s === PAUSE TestApplyPolicy/Computer,_all_entries_set 219s === CONT TestApplyPolicy/User,_non-empty_entries 219s === CONT TestApplyPolicy/Computer,_all_entries_set 219s === CONT TestApplyPolicy/Computer,_single_disabled_entry 219s === CONT TestApplyPolicy/Computer,_single_enabled_entry 219s === CONT TestApplyPolicy/User,_no_entries 219s === CONT TestApplyPolicy/Computer,_no_entries,_D-Bus_call_error 219s === CONT TestApplyPolicy/Computer,_no_entries 219s === CONT TestApplyPolicy/Error_when_D-Bus_call_fails 219s --- PASS: TestApplyPolicy (0.00s) 219s --- PASS: TestApplyPolicy/User,_non-empty_entries (0.00s) 219s --- PASS: TestApplyPolicy/Computer,_all_entries_set (0.00s) 219s --- PASS: TestApplyPolicy/Computer,_single_disabled_entry (0.00s) 219s --- PASS: TestApplyPolicy/Computer,_single_enabled_entry (0.00s) 219s --- PASS: TestApplyPolicy/User,_no_entries (0.00s) 219s --- PASS: TestApplyPolicy/Computer,_no_entries,_D-Bus_call_error (0.00s) 219s --- PASS: TestApplyPolicy/Computer,_no_entries (0.00s) 219s --- PASS: TestApplyPolicy/Error_when_D-Bus_call_fails (0.00s) 219s PASS 219s ok github.com/ubuntu/adsys/internal/policies/proxy 0.010s 220s === RUN TestNew 220s === PAUSE TestNew 220s === RUN TestApplyPolicy 220s === PAUSE TestApplyPolicy 220s === RUN TestRunScripts 220s === PAUSE TestRunScripts 220s === CONT TestNew 220s === RUN TestNew/create_manager 220s === PAUSE TestNew/create_manager 220s === RUN TestNew/error_on_read_only_rundir 220s === PAUSE TestNew/error_on_read_only_rundir 220s === CONT TestRunScripts 220s === RUN TestRunScripts/multiple_scripts_are_run_in_order 220s === PAUSE TestRunScripts/multiple_scripts_are_run_in_order 220s === RUN TestRunScripts/scripts_that_are_not_executable_are_skipped 220s === PAUSE TestRunScripts/scripts_that_are_not_executable_are_skipped 220s === RUN TestRunScripts/scripts_not_listed_are_not_run 220s === PAUSE TestRunScripts/scripts_not_listed_are_not_run 220s === RUN TestRunScripts/script_directory_without_shutdown_order_has_no_session_running_flag_after_machine_shutdown 220s === PAUSE TestRunScripts/script_directory_without_shutdown_order_has_no_session_running_flag_after_machine_shutdown 220s === RUN TestRunScripts/spaces_and_empty_lines_are_skipped 220s === PAUSE TestRunScripts/spaces_and_empty_lines_are_skipped 220s === RUN TestRunScripts/error_on_argument_not_a_file 220s === PAUSE TestRunScripts/error_on_argument_not_a_file 220s === RUN TestRunScripts/scripts_referenced_in_subdirectories 220s === PAUSE TestRunScripts/scripts_referenced_in_subdirectories 220s === RUN TestRunScripts/still_executes_without_existing_running_flag_on_user_logoff 220s === PAUSE TestRunScripts/still_executes_without_existing_running_flag_on_user_logoff 220s === RUN TestRunScripts/keeps_running_flag_after_non_user_logoff 220s === PAUSE TestRunScripts/keeps_running_flag_after_non_user_logoff 220s === RUN TestRunScripts/error_on_order_file_not_existing 220s === PAUSE TestRunScripts/error_on_order_file_not_existing 220s === RUN TestRunScripts/error_on_not_ready_for_execution 220s === PAUSE TestRunScripts/error_on_not_ready_for_execution 220s === RUN TestRunScripts/has_no_session_running_flag_after_machine_shutdown 220s === PAUSE TestRunScripts/has_no_session_running_flag_after_machine_shutdown 220s === CONT TestApplyPolicy 220s === RUN TestRunScripts/still_executes_without_existing_running_flag_on_machine_shutdown 220s === PAUSE TestRunScripts/still_executes_without_existing_running_flag_on_machine_shutdown 220s === RUN TestRunScripts/keeps_running_flag_after_non_machine_shutdown 220s === PAUSE TestRunScripts/keeps_running_flag_after_non_machine_shutdown 220s === RUN TestRunScripts/allow_order_file_missing 220s === PAUSE TestRunScripts/allow_order_file_missing 220s === RUN TestRunScripts/one_script 220s === PAUSE TestRunScripts/one_script 220s === RUN TestRunScripts/has_no_session_running_flag_after_user_logoff 220s === PAUSE TestRunScripts/has_no_session_running_flag_after_user_logoff 220s === RUN TestRunScripts/script_directory_without_logoff_order_has_no_session_running_flag_after_user_logoff 220s === PAUSE TestRunScripts/script_directory_without_logoff_order_has_no_session_running_flag_after_user_logoff 220s === RUN TestApplyPolicy/Subfolder_with_script 220s === PAUSE TestApplyPolicy/Subfolder_with_script 220s === RUN TestApplyPolicy/Systemctl_failing_does_not_impact_user_scripts_update 220s === PAUSE TestApplyPolicy/Systemctl_failing_does_not_impact_user_scripts_update 220s === RUN TestApplyPolicy/Error_on_invalid_UID 220s === PAUSE TestApplyPolicy/Error_on_invalid_UID 220s === RUN TestApplyPolicy/No_entries_update_existing_non_ready_folder 220s === PAUSE TestApplyPolicy/No_entries_update_existing_non_ready_folder 220s === RUN TestApplyPolicy/Computer,_no_systemctl_with_other_directory_than_startup 220s === PAUSE TestApplyPolicy/Computer,_no_systemctl_with_other_directory_than_startup 220s === RUN TestApplyPolicy/Startup_script_for_computer_runs_systemctl_(systemctl_success) 220s === PAUSE TestApplyPolicy/Startup_script_for_computer_runs_systemctl_(systemctl_success) 220s === RUN TestApplyPolicy/Destination_is_already_ready_but_not_in_session,_refreshing 220s === PAUSE TestApplyPolicy/Destination_is_already_ready_but_not_in_session,_refreshing 220s === RUN TestApplyPolicy/Error_on_subfolder_listed 220s === PAUSE TestApplyPolicy/Error_on_subfolder_listed 220s === RUN TestApplyPolicy/Error_on_users_run_directory_Read_Only 220s === PAUSE TestApplyPolicy/Error_on_users_run_directory_Read_Only 220s === RUN TestApplyPolicy/Error_on_invalid_GID 220s === PAUSE TestApplyPolicy/Error_on_invalid_GID 220s === RUN TestApplyPolicy/Error_on_user_lookup_failing 220s === PAUSE TestApplyPolicy/Error_on_user_lookup_failing 220s === RUN TestApplyPolicy/One_directory,_multiple_scripts_in_order 220s === PAUSE TestApplyPolicy/One_directory,_multiple_scripts_in_order 220s === RUN TestApplyPolicy/Multiple_directories: 220s === PAUSE TestApplyPolicy/Multiple_directories: 220s === RUN TestApplyPolicy/Same_script_is_used_multiple_times 220s === PAUSE TestApplyPolicy/Same_script_is_used_multiple_times 220s === RUN TestApplyPolicy/Subfolder_with_same_script_name 220s === PAUSE TestApplyPolicy/Subfolder_with_same_script_name 220s === RUN TestApplyPolicy/Destination_is_already_running,_no_change 220s === PAUSE TestApplyPolicy/Destination_is_already_running,_no_change 220s === RUN TestApplyPolicy/Error_on_save_assets_dumping_failing 220s === PAUSE TestApplyPolicy/Error_on_save_assets_dumping_failing 220s === RUN TestApplyPolicy/Error_on_running_start_script_that_runs_systemctl_and_systemctl_fails 220s === PAUSE TestApplyPolicy/Error_on_running_start_script_that_runs_systemctl_and_systemctl_fails 220s === RUN TestApplyPolicy/No_entries_is_an_empty_folder 220s === PAUSE TestApplyPolicy/No_entries_is_an_empty_folder 220s === RUN TestApplyPolicy/One_script 220s === PAUSE TestApplyPolicy/One_script 220s === RUN TestApplyPolicy/Empty_entries_are_discared 220s === PAUSE TestApplyPolicy/Empty_entries_are_discared 220s === RUN TestApplyPolicy/Destination_is_not_ready,_refreshing 220s === PAUSE TestApplyPolicy/Destination_is_not_ready,_refreshing 220s === RUN TestApplyPolicy/User_lookup_failing_does_not_impact_machine_update 220s === PAUSE TestApplyPolicy/User_lookup_failing_does_not_impact_machine_update 220s === RUN TestApplyPolicy/Error_on_script_does_not_exist 220s === PAUSE TestApplyPolicy/Error_on_script_does_not_exist 220s === CONT TestNew/create_manager 220s === CONT TestNew/error_on_read_only_rundir 220s --- PASS: TestNew (0.00s) 220s --- PASS: TestNew/create_manager (0.00s) 220s --- PASS: TestNew/error_on_read_only_rundir (0.00s) 220s === CONT TestRunScripts/multiple_scripts_are_run_in_order 220s === CONT TestApplyPolicy/Subfolder_with_script 220s time="2025-10-18T15:33:56Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsmultiple_scripts_are_run_in_order3803162222/001/users/foo/scripts/s\"" 220s === CONT TestRunScripts/script_directory_without_logoff_order_has_no_session_running_flag_after_user_logoff 220s time="2025-10-18T15:33:56Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsscript_directory_without_logoff_order_has_no_sess2004389859/001/users/foo/scripts/logoff\"" 220s time="2025-10-18T15:33:56Z" level=info msg="\"/tmp/TestRunScriptsscript_directory_without_logoff_order_has_no_sess2004389859/001/users/foo/scripts/logoff\" doesn't exist, but allowed to be missing, skipping" 220s === CONT TestRunScripts/has_no_session_running_flag_after_user_logoff 220s time="2025-10-18T15:33:56Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptshas_no_session_running_flag_after_user_logoff2819867017/001/users/foo/scripts/logoff\"" 220s === CONT TestRunScripts/one_script 220s time="2025-10-18T15:33:56Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsone_script977040591/001/users/foo/scripts/s\"" 220s === CONT TestRunScripts/allow_order_file_missing 220s time="2025-10-18T15:33:56Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsallow_order_file_missing1292557813/001/users/foo/scripts/s\"" 220s time="2025-10-18T15:33:56Z" level=info msg="\"/tmp/TestRunScriptsallow_order_file_missing1292557813/001/users/foo/scripts/s\" doesn't exist, but allowed to be missing, skipping" 220s === CONT TestRunScripts/keeps_running_flag_after_non_machine_shutdown 220s time="2025-10-18T15:33:56Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptskeeps_running_flag_after_non_machine_shutdown2386874278/001/users/foo/scripts/shutdown\"" 220s === CONT TestRunScripts/still_executes_without_existing_running_flag_on_machine_shutdown 220s time="2025-10-18T15:33:56Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsstill_executes_without_existing_running_flag_on_m3318993075/001/machine/foo/scripts/shutdown\"" 220s === CONT TestRunScripts/has_no_session_running_flag_after_machine_shutdown 220s time="2025-10-18T15:33:56Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptshas_no_session_running_flag_after_machine_shutdow1963996485/001/machine/foo/scripts/shutdown\"" 220s === CONT TestRunScripts/error_on_not_ready_for_execution 220s time="2025-10-18T15:33:56Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptserror_on_not_ready_for_execution515000626/001/users/foo/scripts/s\"" 220s === CONT TestRunScripts/error_on_order_file_not_existing 220s time="2025-10-18T15:33:56Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptserror_on_order_file_not_existing3654779058/001/users/foo/scripts/s\"" 220s === CONT TestRunScripts/keeps_running_flag_after_non_user_logoff 220s time="2025-10-18T15:33:56Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptskeeps_running_flag_after_non_user_logoff1713615828/001/machine/foo/scripts/logoff\"" 220s === CONT TestRunScripts/still_executes_without_existing_running_flag_on_user_logoff 220s time="2025-10-18T15:33:56Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsstill_executes_without_existing_running_flag_on_u4014247728/001/users/foo/scripts/logoff\"" 220s === CONT TestRunScripts/scripts_referenced_in_subdirectories 220s time="2025-10-18T15:33:56Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsscripts_referenced_in_subdirectories3474585831/001/users/foo/scripts/s\"" 220s === CONT TestRunScripts/error_on_argument_not_a_file 220s time="2025-10-18T15:33:56Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptserror_on_argument_not_a_file2087090637/001/users/foo/scripts/s\"" 220s === CONT TestRunScripts/spaces_and_empty_lines_are_skipped 220s time="2025-10-18T15:33:56Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsspaces_and_empty_lines_are_skipped2389362516/001/users/foo/scripts/s\"" 220s === CONT TestRunScripts/script_directory_without_shutdown_order_has_no_session_running_flag_after_machine_shutdown 220s === CONT TestRunScripts/scripts_not_listed_are_not_run 220s time="2025-10-18T15:33:56Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsscript_directory_without_shutdown_order_has_no_se3165709113/001/machine/foo/scripts/shutdown\"" 220s time="2025-10-18T15:33:56Z" level=info msg="\"/tmp/TestRunScriptsscript_directory_without_shutdown_order_has_no_se3165709113/001/machine/foo/scripts/shutdown\" doesn't exist, but allowed to be missing, skipping" 220s === CONT TestRunScripts/scripts_that_are_not_executable_are_skipped 220s time="2025-10-18T15:33:56Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsscripts_not_listed_are_not_run1757700399/001/users/foo/scripts/s\"" 220s time="2025-10-18T15:33:56Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsscripts_that_are_not_executable_are_skipped1262614076/001/users/foo/scripts/s\"" 220s time="2025-10-18T15:33:56Z" level=warning msg="\"/tmp/TestRunScriptsscripts_that_are_not_executable_are_skipped1262614076/001/users/foo/scripts/scripts/notexecutable.sh\" failed to run\nfork/exec /tmp/TestRunScriptsscripts_that_are_not_executable_are_skipped1262614076/001/users/foo/scripts/scripts/notexecutable.sh: permission denied" 220s === CONT TestApplyPolicy/Error_on_script_does_not_exist 220s --- PASS: TestRunScripts (0.00s) 220s --- PASS: TestRunScripts/script_directory_without_logoff_order_has_no_session_running_flag_after_user_logoff (0.00s) 220s --- PASS: TestRunScripts/multiple_scripts_are_run_in_order (0.04s) 220s --- PASS: TestRunScripts/one_script (0.01s) 220s --- PASS: TestRunScripts/allow_order_file_missing (0.00s) 220s --- PASS: TestRunScripts/has_no_session_running_flag_after_user_logoff (0.04s) 220s --- PASS: TestRunScripts/keeps_running_flag_after_non_machine_shutdown (0.04s) 220s --- PASS: TestRunScripts/still_executes_without_existing_running_flag_on_machine_shutdown (0.04s) 220s --- PASS: TestRunScripts/error_on_not_ready_for_execution (0.00s) 220s --- PASS: TestRunScripts/error_on_order_file_not_existing (0.00s) 220s --- PASS: TestRunScripts/has_no_session_running_flag_after_machine_shutdown (0.05s) 220s --- PASS: TestRunScripts/keeps_running_flag_after_non_user_logoff (0.04s) 220s --- PASS: TestRunScripts/still_executes_without_existing_running_flag_on_user_logoff (0.05s) 220s --- PASS: TestRunScripts/error_on_argument_not_a_file (0.00s) 220s --- PASS: TestRunScripts/scripts_referenced_in_subdirectories (0.05s) 220s --- PASS: TestRunScripts/spaces_and_empty_lines_are_skipped (0.01s) 220s --- PASS: TestRunScripts/script_directory_without_shutdown_order_has_no_session_running_flag_after_machine_shutdown (0.00s) 220s --- PASS: TestRunScripts/scripts_not_listed_are_not_run (0.03s) 220s --- PASS: TestRunScripts/scripts_that_are_not_executable_are_skipped (0.03s) 220s === CONT TestApplyPolicy/User_lookup_failing_does_not_impact_machine_update 220s === CONT TestApplyPolicy/Destination_is_not_ready,_refreshing 220s === CONT TestApplyPolicy/Empty_entries_are_discared 220s === CONT TestApplyPolicy/One_script 220s === CONT TestApplyPolicy/No_entries_is_an_empty_folder 220s === CONT TestApplyPolicy/Error_on_running_start_script_that_runs_systemctl_and_systemctl_fails 220s time="2025-10-18T15:33:56Z" level=info msg="Running machine startup scripts" 220s === CONT TestApplyPolicy/Error_on_save_assets_dumping_failing 220s === CONT TestApplyPolicy/Destination_is_already_running,_no_change 220s === CONT TestApplyPolicy/Subfolder_with_same_script_name 220s time="2025-10-18T15:33:56Z" level=info msg="\"/tmp/TestApplyPolicyDestination_is_already_running,_no_change2598515089/001/machine/scripts/.running\" already exists, a session is already running, ignoring." 220s === CONT TestApplyPolicy/Same_script_is_used_multiple_times 220s === CONT TestApplyPolicy/Multiple_directories: 220s === CONT TestApplyPolicy/One_directory,_multiple_scripts_in_order 220s === CONT TestApplyPolicy/Error_on_user_lookup_failing 220s === CONT TestApplyPolicy/Error_on_invalid_GID 220s === CONT TestApplyPolicy/Error_on_users_run_directory_Read_Only 220s === CONT TestApplyPolicy/Error_on_subfolder_listed 220s === CONT TestApplyPolicy/Destination_is_already_ready_but_not_in_session,_refreshing 220s === CONT TestApplyPolicy/Startup_script_for_computer_runs_systemctl_(systemctl_success) 220s time="2025-10-18T15:33:56Z" level=info msg="Running machine startup scripts" 220s === CONT TestApplyPolicy/Computer,_no_systemctl_with_other_directory_than_startup 220s === CONT TestApplyPolicy/No_entries_update_existing_non_ready_folder 220s === CONT TestApplyPolicy/Error_on_invalid_UID 220s === CONT TestApplyPolicy/Systemctl_failing_does_not_impact_user_scripts_update 220s --- PASS: TestApplyPolicy (0.00s) 220s --- PASS: TestApplyPolicy/Subfolder_with_script (0.02s) 220s --- PASS: TestApplyPolicy/Error_on_script_does_not_exist (0.00s) 220s --- PASS: TestApplyPolicy/User_lookup_failing_does_not_impact_machine_update (0.01s) 220s --- PASS: TestApplyPolicy/Destination_is_not_ready,_refreshing (0.01s) 220s --- PASS: TestApplyPolicy/Empty_entries_are_discared (0.01s) 220s --- PASS: TestApplyPolicy/No_entries_is_an_empty_folder (0.00s) 220s --- PASS: TestApplyPolicy/Error_on_running_start_script_that_runs_systemctl_and_systemctl_fails (0.00s) 220s --- PASS: TestApplyPolicy/Error_on_save_assets_dumping_failing (0.00s) 220s --- PASS: TestApplyPolicy/One_script (0.01s) 220s --- PASS: TestApplyPolicy/Destination_is_already_running,_no_change (0.01s) 220s --- PASS: TestApplyPolicy/Subfolder_with_same_script_name (0.01s) 220s --- PASS: TestApplyPolicy/Same_script_is_used_multiple_times (0.01s) 220s --- PASS: TestApplyPolicy/One_directory,_multiple_scripts_in_order (0.01s) 220s --- PASS: TestApplyPolicy/Error_on_user_lookup_failing (0.00s) 220s --- PASS: TestApplyPolicy/Error_on_invalid_GID (0.00s) 220s --- PASS: TestApplyPolicy/Error_on_users_run_directory_Read_Only (0.00s) 220s --- PASS: TestApplyPolicy/Multiple_directories: (0.01s) 220s --- PASS: TestApplyPolicy/Error_on_subfolder_listed (0.00s) 220s --- PASS: TestApplyPolicy/Destination_is_already_ready_but_not_in_session,_refreshing (0.01s) 220s --- PASS: TestApplyPolicy/Startup_script_for_computer_runs_systemctl_(systemctl_success) (0.01s) 220s --- PASS: TestApplyPolicy/No_entries_update_existing_non_ready_folder (0.01s) 220s --- PASS: TestApplyPolicy/Error_on_invalid_UID (0.00s) 220s --- PASS: TestApplyPolicy/Computer,_no_systemctl_with_other_directory_than_startup (0.01s) 220s --- PASS: TestApplyPolicy/Systemctl_failing_does_not_impact_user_scripts_update (0.01s) 220s PASS 220s ok github.com/ubuntu/adsys/internal/policies/scripts 0.306s 220s === RUN TestExclusiveLockExec 220s --- PASS: TestExclusiveLockExec (0.01s) 220s === RUN TestExclusiveLockSmb 220s --- PASS: TestExclusiveLockSmb (0.01s) 220s === RUN TestMultipleExecLocksOnlyReleaseOnLast 220s --- PASS: TestMultipleExecLocksOnlyReleaseOnLast (0.01s) 220s === RUN TestMultipleSmbLocksOnlyReleaseOnLast 220s --- PASS: TestMultipleSmbLocksOnlyReleaseOnLast (0.01s) 220s PASS 220s ok github.com/ubuntu/adsys/internal/smbsafe 0.044s 220s === RUN TestAddStdoutForwarder 220s --- PASS: TestAddStdoutForwarder (0.00s) 220s === RUN TestAddStderrForwarder 220s --- PASS: TestAddStderrForwarder (0.00s) 220s === RUN TestAddStdoutForwarderEnsureStderrNoPolluted 220s --- PASS: TestAddStdoutForwarderEnsureStderrNoPolluted (0.00s) 220s === RUN TestAddForwarderAndDisconnect 220s --- PASS: TestAddForwarderAndDisconnect (0.00s) 220s === RUN TestAddForwardersGraduallyAndDisconnect 220s --- PASS: TestAddForwardersGraduallyAndDisconnect (0.01s) 220s === RUN TestAddForwarderDifferentWriterStdoutStderr 220s --- PASS: TestAddForwarderDifferentWriterStdoutStderr (0.00s) 220s === RUN TestAddForwarderSameWriterStdoutStderr 220s --- PASS: TestAddForwarderSameWriterStdoutStderr (0.00s) 220s === RUN TestAddStdoutForwarderWithBlockedStdout 220s time="2025-10-18T15:33:57Z" level=warning msg="Failed to write to regular output: write |1: file already closed" 220s time="2025-10-18T15:33:57Z" level=warning msg="Failed to write to regular output: write |1: file already closed" 220s time="2025-10-18T15:33:57Z" level=warning msg="Failed to write to regular output: write |1: file already closed" 220s --- PASS: TestAddStdoutForwarderWithBlockedStdout (0.01s) 220s === RUN TestAddStderrForwarderWithBlockedStderr 220s time="2025-10-18T15:33:57Z" level=warning msg="Failed to write to regular output: write |1: file already closed" 220s time="2025-10-18T15:33:57Z" level=warning msg="Failed to write to regular output: write |1: file already closed" 220s time="2025-10-18T15:33:57Z" level=warning msg="Failed to write to regular output: write |1: file already closed" 220s --- PASS: TestAddStderrForwarderWithBlockedStderr (0.01s) 220s === RUN TestAddStdoutForwarderOneWithFailingForwarder 220s time="2025-10-18T15:33:57Z" level=warning msg="Failed to forward log: Error from failedWriter" 220s time="2025-10-18T15:33:57Z" level=warning msg="Failed to forward log: Error from failedWriter" 220s time="2025-10-18T15:33:57Z" level=warning msg="Failed to forward log: Error from failedWriter" 220s --- PASS: TestAddStdoutForwarderOneWithFailingForwarder (0.01s) 220s PASS 220s ok github.com/ubuntu/adsys/internal/stdforward 0.052s 220s === RUN TestManageUnit 220s === PAUSE TestManageUnit 220s === RUN TestDaemonReload 220s === PAUSE TestDaemonReload 220s === CONT TestManageUnit 220s === CONT TestDaemonReload 220s === RUN TestManageUnit/Error_when_disabling_unit_that_doesn't_exist 220s === PAUSE TestManageUnit/Error_when_disabling_unit_that_doesn't_exist 220s === RUN TestManageUnit/Stop_unit_that_exists 220s === PAUSE TestManageUnit/Stop_unit_that_exists 220s === RUN TestManageUnit/Enable_unit_that_exists 220s === PAUSE TestManageUnit/Enable_unit_that_exists 220s === RUN TestManageUnit/Disable_unit_that_exists 220s === PAUSE TestManageUnit/Disable_unit_that_exists 220s === RUN TestManageUnit/Error_when_stopping_failing_unit 220s === PAUSE TestManageUnit/Error_when_stopping_failing_unit 220s === RUN TestManageUnit/Start_unit_that_exists 220s === PAUSE TestManageUnit/Start_unit_that_exists 220s === RUN TestManageUnit/Error_when_starting_unit_that_doesn't_exist 220s === PAUSE TestManageUnit/Error_when_starting_unit_that_doesn't_exist 220s === RUN TestManageUnit/Error_when_starting_failing_unit 220s === PAUSE TestManageUnit/Error_when_starting_failing_unit 220s === RUN TestManageUnit/Error_when_stopping_unit_that_doesn't_exist 220s === PAUSE TestManageUnit/Error_when_stopping_unit_that_doesn't_exist 220s === RUN TestManageUnit/Error_when_enabling_unit_that_doesn't_exist 220s === PAUSE TestManageUnit/Error_when_enabling_unit_that_doesn't_exist 220s === CONT TestManageUnit/Error_when_disabling_unit_that_doesn't_exist 220s --- PASS: TestDaemonReload (0.00s) 220s === CONT TestManageUnit/Start_unit_that_exists 220s === CONT TestManageUnit/Error_when_enabling_unit_that_doesn't_exist 220s === CONT TestManageUnit/Error_when_stopping_unit_that_doesn't_exist 220s === CONT TestManageUnit/Error_when_starting_failing_unit 220s === CONT TestManageUnit/Error_when_starting_unit_that_doesn't_exist 220s === CONT TestManageUnit/Disable_unit_that_exists 220s === CONT TestManageUnit/Error_when_stopping_failing_unit 220s === CONT TestManageUnit/Enable_unit_that_exists 220s === CONT TestManageUnit/Stop_unit_that_exists 220s --- PASS: TestManageUnit (0.00s) 220s --- PASS: TestManageUnit/Start_unit_that_exists (0.00s) 220s --- PASS: TestManageUnit/Error_when_disabling_unit_that_doesn't_exist (0.00s) 220s --- PASS: TestManageUnit/Error_when_enabling_unit_that_doesn't_exist (0.00s) 220s --- PASS: TestManageUnit/Error_when_stopping_unit_that_doesn't_exist (0.00s) 220s --- PASS: TestManageUnit/Error_when_starting_unit_that_doesn't_exist (0.00s) 220s --- PASS: TestManageUnit/Error_when_starting_failing_unit (0.00s) 220s --- PASS: TestManageUnit/Disable_unit_that_exists (0.00s) 220s --- PASS: TestManageUnit/Error_when_stopping_failing_unit (0.00s) 220s --- PASS: TestManageUnit/Enable_unit_that_exists (0.00s) 220s --- PASS: TestManageUnit/Stop_unit_that_exists (0.01s) 220s PASS 220s ok github.com/ubuntu/adsys/internal/systemd 0.023s 220s ? github.com/ubuntu/adsys/internal/testutils [no test files] 220s ? github.com/ubuntu/adsys/internal/watchdservice [no test files] 221s === RUN TestInteractiveInput 221s === RUN TestInteractiveInput/Dot_and_double_dot_directory_inputs_are_normalized 221s === RUN TestInteractiveInput/Submit_with_fresh_config_in_current_directory 221s === RUN TestInteractiveInput/Submit_with_directory_as_config_input 221s === RUN TestInteractiveInput/Submit_with_double_dot_directories_is_normalized 221s === RUN TestInteractiveInput/Initial_view 221s === RUN TestInteractiveInput/Config_file_exists 221s === RUN TestInteractiveInput/Config_file_is_absent_and_input_is_relative 221s === RUN TestInteractiveInput/Existing_config_file_is_passed_in_and_contains_directories,_not_all_which_exist_on_the_system 221s === RUN TestInteractiveInput/Found_installed_service,_config_not_overridden 221s === RUN TestInteractiveInput/Found_installed_service,_config_overridden 221s === RUN TestInteractiveInput/Directory_does_not_exist,_block_input 221s === RUN TestInteractiveInput/Directory_is_a_file,_block_input 221s === RUN TestInteractiveInput/Config_file_is_absent_and_input_is_a_dir 221s === RUN TestInteractiveInput/Existing_config_file_is_passed_in_and_contains_directories_which_exist_on_the_system 221s === RUN TestInteractiveInput/Multiple_existing_directories,_can_cycle_between_the_inputs 221s === RUN TestInteractiveInput/Multiple_existing_directories,_can_delete_them 221s === RUN TestInteractiveInput/No_directories,_focus_on_dir_input 221s === RUN TestInteractiveInput/Submit_with_duplicate_directories 221s === RUN TestInteractiveInput/Submit_with_dot_directories_is_normalized 221s === RUN TestInteractiveInput/Other_navigation_tests 221s === RUN TestInteractiveInput/Existing_config_file_is_passed_in_and_is_empty_or_has_no_directories 221s === RUN TestInteractiveInput/Submit_with_default_config 221s === RUN TestInteractiveInput/Submit_with_fresh_config_in_nested_directory 221s === RUN TestInteractiveInput/Config_file_is_absent_and_input_is_absolute 221s === RUN TestInteractiveInput/Directory_exists 221s --- PASS: TestInteractiveInput (0.06s) 221s --- PASS: TestInteractiveInput/Dot_and_double_dot_directory_inputs_are_normalized (0.00s) 221s --- PASS: TestInteractiveInput/Submit_with_fresh_config_in_current_directory (0.00s) 221s --- PASS: TestInteractiveInput/Submit_with_directory_as_config_input (0.00s) 221s --- PASS: TestInteractiveInput/Submit_with_double_dot_directories_is_normalized (0.00s) 221s --- PASS: TestInteractiveInput/Initial_view (0.00s) 221s --- PASS: TestInteractiveInput/Config_file_exists (0.00s) 221s --- PASS: TestInteractiveInput/Config_file_is_absent_and_input_is_relative (0.00s) 221s --- PASS: TestInteractiveInput/Existing_config_file_is_passed_in_and_contains_directories,_not_all_which_exist_on_the_system (0.00s) 221s --- PASS: TestInteractiveInput/Found_installed_service,_config_not_overridden (0.00s) 221s --- PASS: TestInteractiveInput/Found_installed_service,_config_overridden (0.00s) 221s --- PASS: TestInteractiveInput/Directory_does_not_exist,_block_input (0.00s) 221s --- PASS: TestInteractiveInput/Directory_is_a_file,_block_input (0.00s) 221s --- PASS: TestInteractiveInput/Config_file_is_absent_and_input_is_a_dir (0.00s) 221s --- PASS: TestInteractiveInput/Existing_config_file_is_passed_in_and_contains_directories_which_exist_on_the_system (0.00s) 221s --- PASS: TestInteractiveInput/Multiple_existing_directories,_can_cycle_between_the_inputs (0.00s) 221s --- PASS: TestInteractiveInput/Multiple_existing_directories,_can_delete_them (0.00s) 221s --- PASS: TestInteractiveInput/No_directories,_focus_on_dir_input (0.00s) 221s --- PASS: TestInteractiveInput/Submit_with_duplicate_directories (0.01s) 221s --- PASS: TestInteractiveInput/Submit_with_dot_directories_is_normalized (0.00s) 221s --- PASS: TestInteractiveInput/Other_navigation_tests (0.00s) 221s --- PASS: TestInteractiveInput/Existing_config_file_is_passed_in_and_is_empty_or_has_no_directories (0.00s) 221s --- PASS: TestInteractiveInput/Submit_with_default_config (0.00s) 221s --- PASS: TestInteractiveInput/Submit_with_fresh_config_in_nested_directory (0.00s) 221s --- PASS: TestInteractiveInput/Config_file_is_absent_and_input_is_absolute (0.00s) 221s --- PASS: TestInteractiveInput/Directory_exists (0.00s) 221s === RUN TestInteractiveInstall 221s watchdtui_test.go:408: Test has to be run as root, skipping... 221s --- SKIP: TestInteractiveInstall (0.00s) 221s === RUN TestInteractiveUpdate 221s watchdtui_test.go:456: Test has to be run as root, skipping... 221s --- SKIP: TestInteractiveUpdate (0.00s) 221s PASS 221s ok github.com/ubuntu/adsys/internal/watchdtui 0.063s 225s === RUN TestWatchDirectory 225s === PAUSE TestWatchDirectory 225s === RUN TestRefreshGracePeriod 225s === PAUSE TestRefreshGracePeriod 225s === RUN TestUpdateDirs 225s === PAUSE TestUpdateDirs 225s === RUN TestUpdateDirsFailing 225s === PAUSE TestUpdateDirsFailing 225s === RUN TestUpdateDirsWithEmptyDirSlice 225s === PAUSE TestUpdateDirsWithEmptyDirSlice 225s === RUN TestUpdateDirsOnStoppedWatcher 225s === PAUSE TestUpdateDirsOnStoppedWatcher 225s === RUN TestStopWithoutStart 225s === PAUSE TestStopWithoutStart 225s === CONT TestWatchDirectory 225s === RUN TestWatchDirectory/Updating_gpt.ini_is_a_no-op 225s === PAUSE TestWatchDirectory/Updating_gpt.ini_is_a_no-op 225s === RUN TestWatchDirectory/Remove_file 225s === PAUSE TestWatchDirectory/Remove_file 225s === RUN TestWatchDirectory/Rename_file 225s === PAUSE TestWatchDirectory/Rename_file 225s === RUN TestWatchDirectory/Rename_file_and_update 225s === PAUSE TestWatchDirectory/Rename_file_and_update 225s === RUN TestWatchDirectory/Nested_new_subdirs 225s === PAUSE TestWatchDirectory/Nested_new_subdirs 225s === RUN TestWatchDirectory/New_subdir_without_file 225s === PAUSE TestWatchDirectory/New_subdir_without_file 225s === RUN TestWatchDirectory/Multiple_directories,_only_one_is_updated 225s === PAUSE TestWatchDirectory/Multiple_directories,_only_one_is_updated 225s === RUN TestWatchDirectory/Multiple_directories_with_different_versions,_all_updated 225s === PAUSE TestWatchDirectory/Multiple_directories_with_different_versions,_all_updated 225s === RUN TestWatchDirectory/New_file,_no_gpt.ini 225s === PAUSE TestWatchDirectory/New_file,_no_gpt.ini 225s === RUN TestWatchDirectory/No_update,_existing_gpt.ini 225s === PAUSE TestWatchDirectory/No_update,_existing_gpt.ini 225s === RUN TestWatchDirectory/Remove_root_directory 225s === PAUSE TestWatchDirectory/Remove_root_directory 225s === RUN TestWatchDirectory/New_file,_subdir 225s === PAUSE TestWatchDirectory/New_file,_subdir 225s === RUN TestWatchDirectory/Multiple_nested_subdirectories 225s === PAUSE TestWatchDirectory/Multiple_nested_subdirectories 225s === RUN TestWatchDirectory/Multiple_nested_subdirectories,_only_update_nested_file 225s === PAUSE TestWatchDirectory/Multiple_nested_subdirectories,_only_update_nested_file 225s === RUN TestWatchDirectory/Update_with_existing_gpt.ini 225s === PAUSE TestWatchDirectory/Update_with_existing_gpt.ini 225s === RUN TestWatchDirectory/Update_existing_file 225s === CONT TestUpdateDirsWithEmptyDirSlice 225s === PAUSE TestWatchDirectory/Update_existing_file 225s === RUN TestWatchDirectory/New_subdir 225s === PAUSE TestWatchDirectory/New_subdir 225s === RUN TestWatchDirectory/Combined_case 225s === PAUSE TestWatchDirectory/Combined_case 225s === RUN TestWatchDirectory/Error_on_non_existing_directory 225s === PAUSE TestWatchDirectory/Error_on_non_existing_directory 225s === RUN TestWatchDirectory/Error_on_updating_malformed_GPT.ini 225s === PAUSE TestWatchDirectory/Error_on_updating_malformed_GPT.ini 225s === RUN TestWatchDirectory/Error_on_listing_no_directory 225s === PAUSE TestWatchDirectory/Error_on_listing_no_directory 225s === RUN TestWatchDirectory/No_update,_no_gpt.ini 225s === PAUSE TestWatchDirectory/No_update,_no_gpt.ini 225s === RUN TestWatchDirectory/Existing_file,_subdir 225s === PAUSE TestWatchDirectory/Existing_file,_subdir 225s === CONT TestWatchDirectory/Updating_gpt.ini_is_a_no-op 225s time="2025-10-18T15:33:58Z" level=debug msg="Watching /tmp/TestWatchDirectoryUpdating_gpt.ini_is_a_no-op4238745463/001/one_file and children" 225s time="2025-10-18T15:33:58Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdating_gpt.ini_is_a_no-op4238745463/001/one_file" 225s time="2025-10-18T15:33:58Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdating_gpt.ini_is_a_no-op4238745463/001/one_file/GPT.INI" 225s time="2025-10-18T15:33:58Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdating_gpt.ini_is_a_no-op4238745463/001/one_file/alreadyexists" 225s time="2025-10-18T15:33:58Z" level=debug msg="Watching /tmp/TestUpdateDirsWithEmptyDirSlice2481430499/001/watchdir and children" 225s time="2025-10-18T15:33:58Z" level=debug msg="Watching: /tmp/TestUpdateDirsWithEmptyDirSlice2481430499/001/watchdir" 225s time="2025-10-18T15:33:58Z" level=debug msg="Watching: /tmp/TestUpdateDirsWithEmptyDirSlice2481430499/001/watchdir/GPT.INI" 225s time="2025-10-18T15:33:58Z" level=debug msg="Watching: /tmp/TestUpdateDirsWithEmptyDirSlice2481430499/001/watchdir/alreadyexists" 225s time="2025-10-18T15:33:58Z" level=debug msg="Watching: /tmp/TestUpdateDirsWithEmptyDirSlice2481430499/001/watchdir/alreadyexistsDir" 225s time="2025-10-18T15:33:58Z" level=debug msg="Watching: /tmp/TestUpdateDirsWithEmptyDirSlice2481430499/001/watchdir/alreadyexistsDir/GPT.INI" 225s time="2025-10-18T15:33:58Z" level=debug msg="Watching: /tmp/TestUpdateDirsWithEmptyDirSlice2481430499/001/watchdir/alreadyexistsDir/alreadyexists" 225s time="2025-10-18T15:33:58Z" level=debug msg="Updating directories to []" 225s time="2025-10-18T15:33:58Z" level=info msg="Watcher stopped" 225s time="2025-10-18T15:33:58Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryUpdating_gpt.ini_is_a_no-op4238745463/001/one_file/GPT.INI\"" 225s time="2025-10-18T15:33:58Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryUpdating_gpt.ini_is_a_no-op4238745463/001/one_file/GPT.INI\"" 225s --- PASS: TestUpdateDirsWithEmptyDirSlice (0.03s) 225s === CONT TestUpdateDirsFailing 225s time="2025-10-18T15:33:58Z" level=debug msg="Watching /tmp/TestUpdateDirsFailing1195557762/001/remove and children" 225s time="2025-10-18T15:33:58Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing1195557762/001/remove" 225s time="2025-10-18T15:33:58Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing1195557762/001/remove/GPT.INI" 225s time="2025-10-18T15:33:58Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing1195557762/001/remove/alreadyexists" 225s time="2025-10-18T15:33:58Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing1195557762/001/remove/alreadyexistsDir" 225s time="2025-10-18T15:33:58Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing1195557762/001/remove/alreadyexistsDir/GPT.INI" 225s time="2025-10-18T15:33:58Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing1195557762/001/remove/alreadyexistsDir/alreadyexists" 225s time="2025-10-18T15:33:58Z" level=debug msg="Watching /tmp/TestUpdateDirsFailing1195557762/001/keep and children" 225s time="2025-10-18T15:33:58Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing1195557762/001/keep" 225s time="2025-10-18T15:33:58Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing1195557762/001/keep/GPT.INI" 225s time="2025-10-18T15:33:58Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing1195557762/001/keep/alreadyexists" 225s time="2025-10-18T15:33:58Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing1195557762/001/keep/alreadyexistsDir" 225s time="2025-10-18T15:33:58Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing1195557762/001/keep/alreadyexistsDir/GPT.INI" 225s time="2025-10-18T15:33:58Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing1195557762/001/keep/alreadyexistsDir/alreadyexists" 225s time="2025-10-18T15:33:58Z" level=debug msg="Updating directories to [/tmp/TestUpdateDirsFailing1195557762/001/keep unexisting]" 225s time="2025-10-18T15:33:58Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsFailing1195557762/001/keep/alreadyexists\"" 225s time="2025-10-18T15:33:58Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsFailing1195557762/001/keep/alreadyexists\"" 225s time="2025-10-18T15:33:58Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsFailing1195557762/001/keep/alreadyexists\"" 225s time="2025-10-18T15:33:58Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsFailing1195557762/001/keep/alreadyexists\"" 225s time="2025-10-18T15:33:58Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsFailing1195557762/001/remove/alreadyexists\"" 225s time="2025-10-18T15:33:58Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsFailing1195557762/001/remove/alreadyexists\"" 225s time="2025-10-18T15:33:58Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsFailing1195557762/001/remove/alreadyexists\"" 225s time="2025-10-18T15:33:58Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsFailing1195557762/001/remove/alreadyexists\"" 225s time="2025-10-18T15:33:58Z" level=info msg="Watcher stopped" 225s time="2025-10-18T15:33:58Z" level=info msg="Bumping version for /tmp/TestUpdateDirsFailing1195557762/001/keep/GPT.INI" 225s time="2025-10-18T15:33:58Z" level=info msg="Bumping version for /tmp/TestUpdateDirsFailing1195557762/001/remove/GPT.INI" 225s time="2025-10-18T15:33:58Z" level=info msg="Watcher stopped" 225s === CONT TestUpdateDirs 225s --- PASS: TestUpdateDirsFailing (0.24s) 225s === CONT TestRefreshGracePeriod 225s time="2025-10-18T15:33:58Z" level=debug msg="Watching /tmp/TestRefreshGracePeriod2642321382/001/withsubdir and children" 225s time="2025-10-18T15:33:58Z" level=debug msg="Watching: /tmp/TestRefreshGracePeriod2642321382/001/withsubdir" 225s time="2025-10-18T15:33:58Z" level=debug msg="Watching: /tmp/TestRefreshGracePeriod2642321382/001/withsubdir/GPT.INI" 225s time="2025-10-18T15:33:58Z" level=debug msg="Watching: /tmp/TestRefreshGracePeriod2642321382/001/withsubdir/alreadyexists" 225s time="2025-10-18T15:33:58Z" level=debug msg="Watching: /tmp/TestRefreshGracePeriod2642321382/001/withsubdir/alreadyexistsDir" 225s time="2025-10-18T15:33:58Z" level=debug msg="Watching: /tmp/TestRefreshGracePeriod2642321382/001/withsubdir/alreadyexistsDir/GPT.INI" 225s time="2025-10-18T15:33:58Z" level=debug msg="Watching: /tmp/TestRefreshGracePeriod2642321382/001/withsubdir/alreadyexistsDir/alreadyexists" 225s time="2025-10-18T15:33:58Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod2642321382/001/withsubdir/alreadyexists\"" 225s time="2025-10-18T15:33:58Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod2642321382/001/withsubdir/alreadyexists\"" 225s time="2025-10-18T15:33:58Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod2642321382/001/withsubdir/alreadyexists\"" 225s time="2025-10-18T15:33:58Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod2642321382/001/withsubdir/alreadyexists\"" 225s time="2025-10-18T15:33:59Z" level=debug msg="Watching /tmp/TestUpdateDirs1791511386/001/remove and children" 225s time="2025-10-18T15:33:59Z" level=debug msg="Watching: /tmp/TestUpdateDirs1791511386/001/remove" 225s time="2025-10-18T15:33:59Z" level=debug msg="Watching: /tmp/TestUpdateDirs1791511386/001/remove/GPT.INI" 225s time="2025-10-18T15:33:59Z" level=debug msg="Watching: /tmp/TestUpdateDirs1791511386/001/remove/alreadyexists" 225s time="2025-10-18T15:33:59Z" level=debug msg="Watching: /tmp/TestUpdateDirs1791511386/001/remove/alreadyexistsDir" 225s time="2025-10-18T15:33:59Z" level=debug msg="Watching: /tmp/TestUpdateDirs1791511386/001/remove/alreadyexistsDir/GPT.INI" 225s time="2025-10-18T15:33:59Z" level=debug msg="Watching: /tmp/TestUpdateDirs1791511386/001/remove/alreadyexistsDir/alreadyexists" 225s time="2025-10-18T15:33:59Z" level=debug msg="Watching /tmp/TestUpdateDirs1791511386/001/keep and children" 225s time="2025-10-18T15:33:59Z" level=debug msg="Watching: /tmp/TestUpdateDirs1791511386/001/keep" 225s time="2025-10-18T15:33:59Z" level=debug msg="Watching: /tmp/TestUpdateDirs1791511386/001/keep/GPT.INI" 225s time="2025-10-18T15:33:59Z" level=debug msg="Watching: /tmp/TestUpdateDirs1791511386/001/keep/alreadyexists" 225s time="2025-10-18T15:33:59Z" level=debug msg="Watching: /tmp/TestUpdateDirs1791511386/001/keep/alreadyexistsDir" 225s time="2025-10-18T15:33:59Z" level=debug msg="Watching: /tmp/TestUpdateDirs1791511386/001/keep/alreadyexistsDir/GPT.INI" 225s time="2025-10-18T15:33:59Z" level=debug msg="Watching: /tmp/TestUpdateDirs1791511386/001/keep/alreadyexistsDir/alreadyexists" 225s time="2025-10-18T15:33:59Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs1791511386/001/remove/alreadyexists\"" 225s time="2025-10-18T15:33:59Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs1791511386/001/remove/alreadyexists\"" 225s time="2025-10-18T15:33:59Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs1791511386/001/remove/alreadyexists\"" 225s time="2025-10-18T15:33:59Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs1791511386/001/remove/alreadyexists\"" 225s time="2025-10-18T15:33:59Z" level=debug msg="Updating directories to [/tmp/TestUpdateDirs1791511386/001/keep /tmp/TestUpdateDirs1791511386/001/add]" 225s time="2025-10-18T15:33:59Z" level=info msg="Watcher stopped" 225s time="2025-10-18T15:33:59Z" level=info msg="Bumping version for /tmp/TestUpdateDirs1791511386/001/remove/GPT.INI" 225s time="2025-10-18T15:33:59Z" level=debug msg="Watching /tmp/TestUpdateDirs1791511386/001/keep and children" 225s time="2025-10-18T15:33:59Z" level=debug msg="Watching: /tmp/TestUpdateDirs1791511386/001/keep" 225s time="2025-10-18T15:33:59Z" level=debug msg="Watching: /tmp/TestUpdateDirs1791511386/001/keep/GPT.INI" 225s time="2025-10-18T15:33:59Z" level=debug msg="Watching: /tmp/TestUpdateDirs1791511386/001/keep/alreadyexists" 225s time="2025-10-18T15:33:59Z" level=debug msg="Watching: /tmp/TestUpdateDirs1791511386/001/keep/alreadyexistsDir" 225s time="2025-10-18T15:33:59Z" level=debug msg="Watching: /tmp/TestUpdateDirs1791511386/001/keep/alreadyexistsDir/GPT.INI" 225s time="2025-10-18T15:33:59Z" level=debug msg="Watching: /tmp/TestUpdateDirs1791511386/001/keep/alreadyexistsDir/alreadyexists" 225s time="2025-10-18T15:33:59Z" level=debug msg="Watching /tmp/TestUpdateDirs1791511386/001/add and children" 225s time="2025-10-18T15:33:59Z" level=debug msg="Watching: /tmp/TestUpdateDirs1791511386/001/add" 225s time="2025-10-18T15:33:59Z" level=debug msg="Watching: /tmp/TestUpdateDirs1791511386/001/add/GPT.INI" 225s time="2025-10-18T15:33:59Z" level=debug msg="Watching: /tmp/TestUpdateDirs1791511386/001/add/alreadyexists" 225s time="2025-10-18T15:33:59Z" level=debug msg="Watching: /tmp/TestUpdateDirs1791511386/001/add/alreadyexistsDir" 225s time="2025-10-18T15:33:59Z" level=debug msg="Watching: /tmp/TestUpdateDirs1791511386/001/add/alreadyexistsDir/GPT.INI" 225s time="2025-10-18T15:33:59Z" level=debug msg="Watching: /tmp/TestUpdateDirs1791511386/001/add/alreadyexistsDir/alreadyexists" 225s time="2025-10-18T15:33:59Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs1791511386/001/keep/alreadyexists\"" 225s time="2025-10-18T15:33:59Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs1791511386/001/keep/alreadyexists\"" 225s time="2025-10-18T15:33:59Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs1791511386/001/keep/alreadyexists\"" 225s time="2025-10-18T15:33:59Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs1791511386/001/keep/alreadyexists\"" 225s time="2025-10-18T15:33:59Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs1791511386/001/add/alreadyexists\"" 225s time="2025-10-18T15:33:59Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs1791511386/001/add/alreadyexists\"" 225s time="2025-10-18T15:33:59Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs1791511386/001/add/alreadyexists\"" 225s time="2025-10-18T15:33:59Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs1791511386/001/add/alreadyexists\"" 225s time="2025-10-18T15:33:59Z" level=info msg="Watcher stopped" 225s time="2025-10-18T15:33:59Z" level=info msg="Bumping version for /tmp/TestUpdateDirs1791511386/001/keep/GPT.INI" 225s time="2025-10-18T15:33:59Z" level=info msg="Bumping version for /tmp/TestUpdateDirs1791511386/001/add/GPT.INI" 225s --- PASS: TestUpdateDirs (0.56s) 225s === CONT TestWatchDirectory/Existing_file,_subdir 225s time="2025-10-18T15:33:59Z" level=debug msg="Watching /tmp/TestWatchDirectoryExisting_file,_subdir2301408399/001/withsubdir and children" 225s time="2025-10-18T15:33:59Z" level=debug msg="Watching: /tmp/TestWatchDirectoryExisting_file,_subdir2301408399/001/withsubdir" 225s time="2025-10-18T15:33:59Z" level=debug msg="Watching: /tmp/TestWatchDirectoryExisting_file,_subdir2301408399/001/withsubdir/GPT.INI" 225s time="2025-10-18T15:33:59Z" level=debug msg="Watching: /tmp/TestWatchDirectoryExisting_file,_subdir2301408399/001/withsubdir/alreadyexists" 225s time="2025-10-18T15:33:59Z" level=debug msg="Watching: /tmp/TestWatchDirectoryExisting_file,_subdir2301408399/001/withsubdir/alreadyexistsDir" 225s time="2025-10-18T15:33:59Z" level=debug msg="Watching: /tmp/TestWatchDirectoryExisting_file,_subdir2301408399/001/withsubdir/alreadyexistsDir/GPT.INI" 225s time="2025-10-18T15:33:59Z" level=debug msg="Watching: /tmp/TestWatchDirectoryExisting_file,_subdir2301408399/001/withsubdir/alreadyexistsDir/alreadyexists" 225s time="2025-10-18T15:33:59Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryExisting_file,_subdir2301408399/001/withsubdir/alreadyexistsDir/alreadyexists\"" 225s time="2025-10-18T15:33:59Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryExisting_file,_subdir2301408399/001/withsubdir/alreadyexistsDir/alreadyexists\"" 225s time="2025-10-18T15:33:59Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod2642321382/001/withsubdir/alreadyexistsDir/alreadyexists\"" 225s time="2025-10-18T15:33:59Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod2642321382/001/withsubdir/alreadyexistsDir/alreadyexists\"" 225s time="2025-10-18T15:33:59Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod2642321382/001/withsubdir/alreadyexistsDir/alreadyexists\"" 225s time="2025-10-18T15:33:59Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod2642321382/001/withsubdir/alreadyexistsDir/alreadyexists\"" 225s time="2025-10-18T15:33:59Z" level=info msg="Watcher stopped" 225s time="2025-10-18T15:33:59Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryExisting_file,_subdir2301408399/001/withsubdir/GPT.INI" 225s === CONT TestWatchDirectory/No_update,_no_gpt.ini 225s time="2025-10-18T15:33:59Z" level=debug msg="Watching /tmp/TestWatchDirectoryNo_update,_no_gpt.ini4002433183/001/no_gpt and children" 225s time="2025-10-18T15:33:59Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNo_update,_no_gpt.ini4002433183/001/no_gpt" 225s time="2025-10-18T15:33:59Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNo_update,_no_gpt.ini4002433183/001/no_gpt/testfile" 225s time="2025-10-18T15:33:59Z" level=info msg="Watcher stopped" 225s === CONT TestWatchDirectory/Error_on_listing_no_directory 225s === CONT TestWatchDirectory/Error_on_updating_malformed_GPT.ini 225s time="2025-10-18T15:33:59Z" level=debug msg="Watching /tmp/TestWatchDirectoryError_on_updating_malformed_GPT.ini107886271/001/malformed and children" 225s time="2025-10-18T15:33:59Z" level=debug msg="Watching: /tmp/TestWatchDirectoryError_on_updating_malformed_GPT.ini107886271/001/malformed" 225s time="2025-10-18T15:33:59Z" level=debug msg="Watching: /tmp/TestWatchDirectoryError_on_updating_malformed_GPT.ini107886271/001/malformed/GPT.INI" 225s time="2025-10-18T15:33:59Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryError_on_updating_malformed_GPT.ini107886271/001/malformed/new\"" 225s time="2025-10-18T15:33:59Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryError_on_updating_malformed_GPT.ini107886271/001/malformed/new\"" 225s time="2025-10-18T15:34:00Z" level=info msg="Watcher stopped" 225s time="2025-10-18T15:34:00Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryError_on_updating_malformed_GPT.ini107886271/001/malformed/GPT.INI" 225s time="2025-10-18T15:34:00Z" level=warning msg="Failed to bump /tmp/TestWatchDirectoryError_on_updating_malformed_GPT.ini107886271/001/malformed/GPT.INI version: can't bump version for /tmp/TestWatchDirectoryError_on_updating_malformed_GPT.ini107886271/001/malformed/GPT.INI: strconv.ParseInt: parsing \"??\": invalid syntax" 225s === CONT TestWatchDirectory/Error_on_non_existing_directory 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching /tmp/TestWatchDirectoryError_on_non_existing_directory3109760868/001/doesnotexist and children" 225s === CONT TestWatchDirectory/Combined_case 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching /tmp/TestWatchDirectoryCombined_case3588306508/001/withsubdir and children" 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case3588306508/001/withsubdir" 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case3588306508/001/withsubdir/GPT.INI" 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case3588306508/001/withsubdir/alreadyexists" 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case3588306508/001/withsubdir/alreadyexistsDir" 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case3588306508/001/withsubdir/alreadyexistsDir/GPT.INI" 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case3588306508/001/withsubdir/alreadyexistsDir/alreadyexists" 225s time="2025-10-18T15:34:00Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryCombined_case3588306508/001/withsubdir/alreadyexists\"" 225s time="2025-10-18T15:34:00Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryCombined_case3588306508/001/withsubdir/alreadyexists\"" 225s time="2025-10-18T15:34:00Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryCombined_case3588306508/001/withsubdir/new\"" 225s time="2025-10-18T15:34:00Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryCombined_case3588306508/001/withsubdir/new\"" 225s time="2025-10-18T15:34:00Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryCombined_case3588306508/001/withsubdir/dir\"" 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching /tmp/TestWatchDirectoryCombined_case3588306508/001/withsubdir/dir and children" 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case3588306508/001/withsubdir/dir" 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case3588306508/001/withsubdir/dir/file" 225s time="2025-10-18T15:34:00Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryCombined_case3588306508/001/withsubdir/alreadyexistsDir/alreadyexists\"" 225s time="2025-10-18T15:34:00Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryCombined_case3588306508/001/withsubdir/alreadyexistsDir/alreadyexists\"" 225s time="2025-10-18T15:34:00Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryCombined_case3588306508/001/withsubdir/alreadyexistsDir/new\"" 225s time="2025-10-18T15:34:00Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryCombined_case3588306508/001/withsubdir/alreadyexistsDir/new\"" 225s time="2025-10-18T15:34:00Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryCombined_case3588306508/001/withsubdir/otherdir\"" 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching /tmp/TestWatchDirectoryCombined_case3588306508/001/withsubdir/otherdir and children" 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case3588306508/001/withsubdir/otherdir" 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case3588306508/001/withsubdir/otherdir/subdir" 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case3588306508/001/withsubdir/otherdir/subdir/file" 225s time="2025-10-18T15:34:00Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryCombined_case3588306508/001/withsubdir/newdir\"" 225s time="2025-10-18T15:34:00Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryCombined_case3588306508/001/withsubdir/newdir\"" 225s time="2025-10-18T15:34:00Z" level=info msg="Watcher stopped" 225s time="2025-10-18T15:34:00Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryCombined_case3588306508/001/withsubdir/GPT.INI" 225s === CONT TestWatchDirectory/New_subdir 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching /tmp/TestWatchDirectoryNew_subdir3510399132/001/withsubdir and children" 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir3510399132/001/withsubdir" 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir3510399132/001/withsubdir/GPT.INI" 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir3510399132/001/withsubdir/alreadyexists" 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir3510399132/001/withsubdir/alreadyexistsDir" 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir3510399132/001/withsubdir/alreadyexistsDir/GPT.INI" 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir3510399132/001/withsubdir/alreadyexistsDir/alreadyexists" 225s time="2025-10-18T15:34:00Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryNew_subdir3510399132/001/withsubdir/dir\"" 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching /tmp/TestWatchDirectoryNew_subdir3510399132/001/withsubdir/dir and children" 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir3510399132/001/withsubdir/dir" 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir3510399132/001/withsubdir/dir/file" 225s time="2025-10-18T15:34:00Z" level=info msg="Watcher stopped" 225s time="2025-10-18T15:34:00Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryNew_subdir3510399132/001/withsubdir/GPT.INI" 225s time="2025-10-18T15:34:00Z" level=info msg="Bumping version for /tmp/TestRefreshGracePeriod2642321382/001/withsubdir/GPT.INI" 225s time="2025-10-18T15:34:00Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod2642321382/001/withsubdir/GPT.INI\"" 225s time="2025-10-18T15:34:00Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod2642321382/001/withsubdir/GPT.INI\"" 225s time="2025-10-18T15:34:00Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod2642321382/001/withsubdir/GPT.INI\"" 225s time="2025-10-18T15:34:00Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod2642321382/001/withsubdir/GPT.INI\"" 225s === CONT TestWatchDirectory/Update_existing_file 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching /tmp/TestWatchDirectoryUpdate_existing_file3498657612/001/one_file and children" 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdate_existing_file3498657612/001/one_file" 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdate_existing_file3498657612/001/one_file/GPT.INI" 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdate_existing_file3498657612/001/one_file/alreadyexists" 225s time="2025-10-18T15:34:00Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryUpdate_existing_file3498657612/001/one_file/alreadyexists\"" 225s time="2025-10-18T15:34:00Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryUpdate_existing_file3498657612/001/one_file/alreadyexists\"" 225s time="2025-10-18T15:34:00Z" level=info msg="Watcher stopped" 225s time="2025-10-18T15:34:00Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryUpdate_existing_file3498657612/001/one_file/GPT.INI" 225s === CONT TestWatchDirectory/Update_with_existing_gpt.ini 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching /tmp/TestWatchDirectoryUpdate_with_existing_gpt.ini2225540938/001/one_file and children" 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdate_with_existing_gpt.ini2225540938/001/one_file" 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdate_with_existing_gpt.ini2225540938/001/one_file/GPT.INI" 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdate_with_existing_gpt.ini2225540938/001/one_file/alreadyexists" 225s time="2025-10-18T15:34:00Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryUpdate_with_existing_gpt.ini2225540938/001/one_file/new\"" 225s time="2025-10-18T15:34:00Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryUpdate_with_existing_gpt.ini2225540938/001/one_file/new\"" 225s time="2025-10-18T15:34:00Z" level=info msg="Watcher stopped" 225s --- PASS: TestRefreshGracePeriod (1.98s) 225s === CONT TestWatchDirectory/Multiple_nested_subdirectories,_only_update_nested_file 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n439535939/001/withsubdir/alreadyexistsDir and children" 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n439535939/001/withsubdir/alreadyexistsDir" 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n439535939/001/withsubdir/alreadyexistsDir/GPT.INI" 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n439535939/001/withsubdir/alreadyexistsDir/alreadyexists" 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n439535939/001/withsubdir and children" 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n439535939/001/withsubdir" 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n439535939/001/withsubdir/GPT.INI" 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n439535939/001/withsubdir/alreadyexists" 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n439535939/001/withsubdir/alreadyexistsDir" 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n439535939/001/withsubdir/alreadyexistsDir/GPT.INI" 225s time="2025-10-18T15:34:00Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n439535939/001/withsubdir/alreadyexistsDir/alreadyexists" 225s time="2025-10-18T15:34:00Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n439535939/001/withsubdir/alreadyexistsDir/alreadyexists\"" 225s time="2025-10-18T15:34:00Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n439535939/001/withsubdir/alreadyexistsDir/alreadyexists\"" 225s time="2025-10-18T15:34:00Z" level=info msg="Watcher stopped" 225s time="2025-10-18T15:34:00Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryUpdate_with_existing_gpt.ini2225540938/001/one_file/GPT.INI" 225s time="2025-10-18T15:34:00Z" level=info msg="Watcher stopped" 225s time="2025-10-18T15:34:00Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_n439535939/001/withsubdir/alreadyexistsDir/GPT.INI" 225s === CONT TestWatchDirectory/Multiple_nested_subdirectories 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching /tmp/TestWatchDirectoryMultiple_nested_subdirectories2408762626/001/withsubdir and children" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories2408762626/001/withsubdir" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories2408762626/001/withsubdir/GPT.INI" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories2408762626/001/withsubdir/alreadyexists" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories2408762626/001/withsubdir/alreadyexistsDir" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories2408762626/001/withsubdir/alreadyexistsDir/GPT.INI" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories2408762626/001/withsubdir/alreadyexistsDir/alreadyexists" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching /tmp/TestWatchDirectoryMultiple_nested_subdirectories2408762626/001/withsubdir/alreadyexistsDir and children" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories2408762626/001/withsubdir/alreadyexistsDir" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories2408762626/001/withsubdir/alreadyexistsDir/GPT.INI" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories2408762626/001/withsubdir/alreadyexistsDir/alreadyexists" 225s time="2025-10-18T15:34:01Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryMultiple_nested_subdirectories2408762626/001/withsubdir/new\"" 225s time="2025-10-18T15:34:01Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_nested_subdirectories2408762626/001/withsubdir/new\"" 225s time="2025-10-18T15:34:01Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_nested_subdirectories2408762626/001/withsubdir/alreadyexistsDir/alreadyexists\"" 225s time="2025-10-18T15:34:01Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_nested_subdirectories2408762626/001/withsubdir/alreadyexistsDir/alreadyexists\"" 225s === CONT TestWatchDirectory/New_file,_subdir 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching /tmp/TestWatchDirectoryNew_file,_subdir1681514263/001/withsubdir and children" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_file,_subdir1681514263/001/withsubdir" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_file,_subdir1681514263/001/withsubdir/GPT.INI" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_file,_subdir1681514263/001/withsubdir/alreadyexists" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_file,_subdir1681514263/001/withsubdir/alreadyexistsDir" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_file,_subdir1681514263/001/withsubdir/alreadyexistsDir/GPT.INI" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_file,_subdir1681514263/001/withsubdir/alreadyexistsDir/alreadyexists" 225s time="2025-10-18T15:34:01Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryNew_file,_subdir1681514263/001/withsubdir/alreadyexistsDir/new\"" 225s time="2025-10-18T15:34:01Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryNew_file,_subdir1681514263/001/withsubdir/alreadyexistsDir/new\"" 225s time="2025-10-18T15:34:01Z" level=info msg="Watcher stopped" 225s time="2025-10-18T15:34:01Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryMultiple_nested_subdirectories2408762626/001/withsubdir/GPT.INI" 225s time="2025-10-18T15:34:01Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryMultiple_nested_subdirectories2408762626/001/withsubdir/alreadyexistsDir/GPT.INI" 225s time="2025-10-18T15:34:01Z" level=info msg="Watcher stopped" 225s time="2025-10-18T15:34:01Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryNew_file,_subdir1681514263/001/withsubdir/GPT.INI" 225s === CONT TestWatchDirectory/Remove_root_directory 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching /tmp/TestWatchDirectoryRemove_root_directory3649281751/001/one_file and children" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRemove_root_directory3649281751/001/one_file" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRemove_root_directory3649281751/001/one_file/GPT.INI" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRemove_root_directory3649281751/001/one_file/alreadyexists" 225s time="2025-10-18T15:34:01Z" level=debug msg="Got event: CHMOD \"/tmp/TestWatchDirectoryRemove_root_directory3649281751/001/one_file/alreadyexists\"" 225s time="2025-10-18T15:34:01Z" level=debug msg="Got event: REMOVE \"/tmp/TestWatchDirectoryRemove_root_directory3649281751/001/one_file/alreadyexists\"" 225s time="2025-10-18T15:34:01Z" level=debug msg="Failed to remove watcher on \"/tmp/TestWatchDirectoryRemove_root_directory3649281751/001/one_file/alreadyexists\": fsnotify: can't remove non-existent watch: /tmp/TestWatchDirectoryRemove_root_directory3649281751/001/one_file/alreadyexists" 225s time="2025-10-18T15:34:01Z" level=debug msg="Got event: REMOVE \"/tmp/TestWatchDirectoryRemove_root_directory3649281751/001/one_file/alreadyexists\"" 225s time="2025-10-18T15:34:01Z" level=debug msg="Failed to remove watcher on \"/tmp/TestWatchDirectoryRemove_root_directory3649281751/001/one_file/alreadyexists\": fsnotify: can't remove non-existent watch: /tmp/TestWatchDirectoryRemove_root_directory3649281751/001/one_file/alreadyexists" 225s time="2025-10-18T15:34:01Z" level=debug msg="Got event: CHMOD \"/tmp/TestWatchDirectoryRemove_root_directory3649281751/001/one_file/GPT.INI\"" 225s time="2025-10-18T15:34:01Z" level=debug msg="Got event: REMOVE \"/tmp/TestWatchDirectoryRemove_root_directory3649281751/001/one_file/GPT.INI\"" 225s time="2025-10-18T15:34:01Z" level=debug msg="Got event: REMOVE \"/tmp/TestWatchDirectoryRemove_root_directory3649281751/001/one_file/GPT.INI\"" 225s time="2025-10-18T15:34:01Z" level=debug msg="Got event: REMOVE \"/tmp/TestWatchDirectoryRemove_root_directory3649281751/001/one_file\"" 225s time="2025-10-18T15:34:01Z" level=debug msg="Failed to remove watcher on \"/tmp/TestWatchDirectoryRemove_root_directory3649281751/001/one_file\": fsnotify: can't remove non-existent watch: /tmp/TestWatchDirectoryRemove_root_directory3649281751/001/one_file" 225s === CONT TestWatchDirectory/No_update,_existing_gpt.ini 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching /tmp/TestWatchDirectoryNo_update,_existing_gpt.ini1223809172/001/one_file and children" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNo_update,_existing_gpt.ini1223809172/001/one_file" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNo_update,_existing_gpt.ini1223809172/001/one_file/GPT.INI" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNo_update,_existing_gpt.ini1223809172/001/one_file/alreadyexists" 225s time="2025-10-18T15:34:01Z" level=info msg="Watcher stopped" 225s time="2025-10-18T15:34:01Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryRemove_root_directory3649281751/001/one_file/GPT.INI" 225s time="2025-10-18T15:34:01Z" level=info msg="error loading ini contents: open /tmp/TestWatchDirectoryRemove_root_directory3649281751/001/one_file/GPT.INI: no such file or directory, creating a new file" 225s time="2025-10-18T15:34:01Z" level=warning msg="Failed to bump /tmp/TestWatchDirectoryRemove_root_directory3649281751/001/one_file/GPT.INI version: can't bump version for /tmp/TestWatchDirectoryRemove_root_directory3649281751/001/one_file/GPT.INI: open /tmp/TestWatchDirectoryRemove_root_directory3649281751/001/one_file/GPT.INI: no such file or directory" 225s time="2025-10-18T15:34:01Z" level=info msg="Watcher stopped" 225s === CONT TestWatchDirectory/New_file,_no_gpt.ini 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching /tmp/TestWatchDirectoryNew_file,_no_gpt.ini585708987/001/no_gpt and children" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_file,_no_gpt.ini585708987/001/no_gpt" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_file,_no_gpt.ini585708987/001/no_gpt/testfile" 225s time="2025-10-18T15:34:01Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryNew_file,_no_gpt.ini585708987/001/no_gpt/new\"" 225s time="2025-10-18T15:34:01Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryNew_file,_no_gpt.ini585708987/001/no_gpt/new\"" 225s === CONT TestWatchDirectory/Multiple_directories_with_different_versions,_all_updated 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,2090274801/001/one_file and children" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,2090274801/001/one_file" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,2090274801/001/one_file/GPT.INI" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,2090274801/001/one_file/alreadyexists" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,2090274801/001/withsubdir and children" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,2090274801/001/withsubdir" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,2090274801/001/withsubdir/GPT.INI" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,2090274801/001/withsubdir/alreadyexists" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,2090274801/001/withsubdir/alreadyexistsDir" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,2090274801/001/withsubdir/alreadyexistsDir/GPT.INI" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,2090274801/001/withsubdir/alreadyexistsDir/alreadyexists" 225s time="2025-10-18T15:34:01Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_directories_with_different_versions,2090274801/001/one_file/alreadyexists\"" 225s time="2025-10-18T15:34:01Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_directories_with_different_versions,2090274801/001/one_file/alreadyexists\"" 225s time="2025-10-18T15:34:01Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_directories_with_different_versions,2090274801/001/withsubdir/alreadyexists\"" 225s time="2025-10-18T15:34:01Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_directories_with_different_versions,2090274801/001/withsubdir/alreadyexists\"" 225s time="2025-10-18T15:34:01Z" level=info msg="Watcher stopped" 225s time="2025-10-18T15:34:01Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryNew_file,_no_gpt.ini585708987/001/no_gpt/GPT.INI" 225s time="2025-10-18T15:34:01Z" level=info msg="error loading ini contents: open /tmp/TestWatchDirectoryNew_file,_no_gpt.ini585708987/001/no_gpt/GPT.INI: no such file or directory, creating a new file" 225s time="2025-10-18T15:34:01Z" level=info msg="Watcher stopped" 225s time="2025-10-18T15:34:01Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,2090274801/001/one_file/GPT.INI" 225s time="2025-10-18T15:34:01Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,2090274801/001/withsubdir/GPT.INI" 225s === CONT TestWatchDirectory/Multiple_directories,_only_one_is_updated 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated3177507993/001/one_file and children" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated3177507993/001/one_file" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated3177507993/001/one_file/GPT.INI" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated3177507993/001/one_file/alreadyexists" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated3177507993/001/withsubdir and children" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated3177507993/001/withsubdir" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated3177507993/001/withsubdir/GPT.INI" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated3177507993/001/withsubdir/alreadyexists" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated3177507993/001/withsubdir/alreadyexistsDir" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated3177507993/001/withsubdir/alreadyexistsDir/GPT.INI" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated3177507993/001/withsubdir/alreadyexistsDir/alreadyexists" 225s time="2025-10-18T15:34:01Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated3177507993/001/withsubdir/alreadyexists\"" 225s time="2025-10-18T15:34:01Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated3177507993/001/withsubdir/alreadyexists\"" 225s === CONT TestWatchDirectory/New_subdir_without_file 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching /tmp/TestWatchDirectoryNew_subdir_without_file1029266845/001/withsubdir and children" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir_without_file1029266845/001/withsubdir" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir_without_file1029266845/001/withsubdir/GPT.INI" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir_without_file1029266845/001/withsubdir/alreadyexists" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir_without_file1029266845/001/withsubdir/alreadyexistsDir" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir_without_file1029266845/001/withsubdir/alreadyexistsDir/GPT.INI" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir_without_file1029266845/001/withsubdir/alreadyexistsDir/alreadyexists" 225s time="2025-10-18T15:34:01Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryNew_subdir_without_file1029266845/001/withsubdir/newsubdir\"" 225s time="2025-10-18T15:34:01Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryNew_subdir_without_file1029266845/001/withsubdir/newsubdir\"" 225s time="2025-10-18T15:34:01Z" level=info msg="Watcher stopped" 225s time="2025-10-18T15:34:01Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated3177507993/001/withsubdir/GPT.INI" 225s time="2025-10-18T15:34:01Z" level=info msg="Watcher stopped" 225s time="2025-10-18T15:34:01Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryNew_subdir_without_file1029266845/001/withsubdir/GPT.INI" 225s === CONT TestWatchDirectory/Nested_new_subdirs 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching /tmp/TestWatchDirectoryNested_new_subdirs3362308449/001/withsubdir and children" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs3362308449/001/withsubdir" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs3362308449/001/withsubdir/GPT.INI" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs3362308449/001/withsubdir/alreadyexists" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs3362308449/001/withsubdir/alreadyexistsDir" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs3362308449/001/withsubdir/alreadyexistsDir/GPT.INI" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs3362308449/001/withsubdir/alreadyexistsDir/alreadyexists" 225s time="2025-10-18T15:34:01Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryNested_new_subdirs3362308449/001/withsubdir/otherdir\"" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching /tmp/TestWatchDirectoryNested_new_subdirs3362308449/001/withsubdir/otherdir and children" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs3362308449/001/withsubdir/otherdir" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs3362308449/001/withsubdir/otherdir/subdir" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs3362308449/001/withsubdir/otherdir/subdir/file" 225s === CONT TestWatchDirectory/Rename_file_and_update 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching /tmp/TestWatchDirectoryRename_file_and_update1106424751/001/one_file and children" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRename_file_and_update1106424751/001/one_file" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRename_file_and_update1106424751/001/one_file/GPT.INI" 225s time="2025-10-18T15:34:01Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRename_file_and_update1106424751/001/one_file/alreadyexists" 225s time="2025-10-18T15:34:01Z" level=debug msg="Got event: RENAME \"/tmp/TestWatchDirectoryRename_file_and_update1106424751/001/one_file/alreadyexists\"" 225s time="2025-10-18T15:34:01Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryRename_file_and_update1106424751/001/one_file/alreadyexists.bak\"" 225s time="2025-10-18T15:34:01Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryRename_file_and_update1106424751/001/one_file/alreadyexists.bak\"" 225s time="2025-10-18T15:34:01Z" level=info msg="Watcher stopped" 225s time="2025-10-18T15:34:01Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryNested_new_subdirs3362308449/001/withsubdir/GPT.INI" 225s time="2025-10-18T15:34:02Z" level=info msg="Watcher stopped" 225s time="2025-10-18T15:34:02Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryRename_file_and_update1106424751/001/one_file/GPT.INI" 225s === CONT TestWatchDirectory/Rename_file 225s time="2025-10-18T15:34:02Z" level=debug msg="Watching /tmp/TestWatchDirectoryRename_file485663252/001/one_file and children" 225s time="2025-10-18T15:34:02Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRename_file485663252/001/one_file" 225s time="2025-10-18T15:34:02Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRename_file485663252/001/one_file/GPT.INI" 225s time="2025-10-18T15:34:02Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRename_file485663252/001/one_file/alreadyexists" 225s time="2025-10-18T15:34:02Z" level=debug msg="Got event: RENAME \"/tmp/TestWatchDirectoryRename_file485663252/001/one_file/alreadyexists\"" 225s time="2025-10-18T15:34:02Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryRename_file485663252/001/one_file/alreadyexists.bak\"" 225s === CONT TestWatchDirectory/Remove_file 225s time="2025-10-18T15:34:02Z" level=debug msg="Watching /tmp/TestWatchDirectoryRemove_file3656170411/001/one_file and children" 225s time="2025-10-18T15:34:02Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRemove_file3656170411/001/one_file" 225s time="2025-10-18T15:34:02Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRemove_file3656170411/001/one_file/GPT.INI" 225s time="2025-10-18T15:34:02Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRemove_file3656170411/001/one_file/alreadyexists" 225s time="2025-10-18T15:34:02Z" level=debug msg="Got event: CHMOD \"/tmp/TestWatchDirectoryRemove_file3656170411/001/one_file/alreadyexists\"" 225s time="2025-10-18T15:34:02Z" level=debug msg="Got event: REMOVE \"/tmp/TestWatchDirectoryRemove_file3656170411/001/one_file/alreadyexists\"" 225s time="2025-10-18T15:34:02Z" level=debug msg="Failed to remove watcher on \"/tmp/TestWatchDirectoryRemove_file3656170411/001/one_file/alreadyexists\": fsnotify: can't remove non-existent watch: /tmp/TestWatchDirectoryRemove_file3656170411/001/one_file/alreadyexists" 225s time="2025-10-18T15:34:02Z" level=info msg="Watcher stopped" 225s time="2025-10-18T15:34:02Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryRename_file485663252/001/one_file/GPT.INI" 225s time="2025-10-18T15:34:02Z" level=debug msg="Got event: REMOVE \"/tmp/TestWatchDirectoryRemove_file3656170411/001/one_file/alreadyexists\"" 225s time="2025-10-18T15:34:02Z" level=debug msg="Failed to remove watcher on \"/tmp/TestWatchDirectoryRemove_file3656170411/001/one_file/alreadyexists\": fsnotify: can't remove non-existent watch: /tmp/TestWatchDirectoryRemove_file3656170411/001/one_file/alreadyexists" 225s time="2025-10-18T15:34:02Z" level=info msg="Watcher stopped" 225s time="2025-10-18T15:34:02Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryRemove_file3656170411/001/one_file/GPT.INI" 225s === CONT TestStopWithoutStart 225s --- PASS: TestStopWithoutStart (0.00s) 225s === CONT TestUpdateDirsOnStoppedWatcher 225s time="2025-10-18T15:34:02Z" level=debug msg="Updating directories to [/tmp/TestUpdateDirsOnStoppedWatcher2835532948/001/curdir]" 225s time="2025-10-18T15:34:02Z" level=warning msg="Error stopping watcher: the service is already stopping or not running" 225s time="2025-10-18T15:34:02Z" level=debug msg="Watching /tmp/TestUpdateDirsOnStoppedWatcher2835532948/001/curdir and children" 225s time="2025-10-18T15:34:02Z" level=debug msg="Watching: /tmp/TestUpdateDirsOnStoppedWatcher2835532948/001/curdir" 225s time="2025-10-18T15:34:02Z" level=debug msg="Watching: /tmp/TestUpdateDirsOnStoppedWatcher2835532948/001/curdir/GPT.INI" 225s time="2025-10-18T15:34:02Z" level=debug msg="Watching: /tmp/TestUpdateDirsOnStoppedWatcher2835532948/001/curdir/alreadyexists" 225s time="2025-10-18T15:34:02Z" level=debug msg="Watching: /tmp/TestUpdateDirsOnStoppedWatcher2835532948/001/curdir/alreadyexistsDir" 225s time="2025-10-18T15:34:02Z" level=debug msg="Watching: /tmp/TestUpdateDirsOnStoppedWatcher2835532948/001/curdir/alreadyexistsDir/GPT.INI" 225s time="2025-10-18T15:34:02Z" level=debug msg="Watching: /tmp/TestUpdateDirsOnStoppedWatcher2835532948/001/curdir/alreadyexistsDir/alreadyexists" 225s time="2025-10-18T15:34:02Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsOnStoppedWatcher2835532948/001/curdir/alreadyexists\"" 225s time="2025-10-18T15:34:02Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsOnStoppedWatcher2835532948/001/curdir/alreadyexists\"" 225s time="2025-10-18T15:34:02Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsOnStoppedWatcher2835532948/001/curdir/alreadyexists\"" 225s time="2025-10-18T15:34:02Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsOnStoppedWatcher2835532948/001/curdir/alreadyexists\"" 225s --- PASS: TestWatchDirectory (0.00s) 225s --- PASS: TestWatchDirectory/Updating_gpt.ini_is_a_no-op (0.26s) 225s --- PASS: TestWatchDirectory/Existing_file,_subdir (0.22s) 225s --- PASS: TestWatchDirectory/No_update,_no_gpt.ini (0.22s) 225s --- PASS: TestWatchDirectory/Error_on_listing_no_directory (0.00s) 225s --- PASS: TestWatchDirectory/Error_on_updating_malformed_GPT.ini (0.22s) 225s --- PASS: TestWatchDirectory/Error_on_non_existing_directory (0.00s) 225s --- PASS: TestWatchDirectory/Combined_case (0.22s) 225s --- PASS: TestWatchDirectory/New_subdir (0.24s) 225s --- PASS: TestWatchDirectory/Update_existing_file (0.23s) 225s --- PASS: TestWatchDirectory/Update_with_existing_gpt.ini (0.21s) 225s --- PASS: TestWatchDirectory/Multiple_nested_subdirectories,_only_update_nested_file (0.22s) 225s --- PASS: TestWatchDirectory/Multiple_nested_subdirectories (0.22s) 225s --- PASS: TestWatchDirectory/New_file,_subdir (0.23s) 225s --- PASS: TestWatchDirectory/Remove_root_directory (0.22s) 225s --- PASS: TestWatchDirectory/No_update,_existing_gpt.ini (0.22s) 225s --- PASS: TestWatchDirectory/New_file,_no_gpt.ini (0.21s) 225s --- PASS: TestWatchDirectory/Multiple_directories_with_different_versions,_all_updated (0.22s) 225s --- PASS: TestWatchDirectory/Multiple_directories,_only_one_is_updated (0.21s) 225s --- PASS: TestWatchDirectory/New_subdir_without_file (0.22s) 225s --- PASS: TestWatchDirectory/Nested_new_subdirs (0.23s) 225s --- PASS: TestWatchDirectory/Rename_file_and_update (0.24s) 225s --- PASS: TestWatchDirectory/Rename_file (0.24s) 225s --- PASS: TestWatchDirectory/Remove_file (0.22s) 225s time="2025-10-18T15:34:02Z" level=info msg="Watcher stopped" 225s time="2025-10-18T15:34:02Z" level=info msg="Bumping version for /tmp/TestUpdateDirsOnStoppedWatcher2835532948/001/curdir/GPT.INI" 225s --- PASS: TestUpdateDirsOnStoppedWatcher (0.21s) 225s PASS 225s ok github.com/ubuntu/adsys/internal/watcher 3.942s 225s ? github.com/ubuntu/adsys/po [no test files] 225s ? github.com/ubuntu/adsys/policies [no test files] 226s autopkgtest [15:34:03]: test command1: -----------------------] 226s autopkgtest [15:34:03]: test command1: - - - - - - - - - - results - - - - - - - - - - 226s command1 PASS 227s autopkgtest [15:34:04]: test command2: preparing testbed 227s Reading package lists... 227s Building dependency tree... 227s Reading state information... 227s Solving dependencies... 227s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 228s autopkgtest [15:34:05]: test command2: ./debian/tests/test sudo 228s autopkgtest [15:34:05]: test command2: [----------------------- 228s Skipping root tests for non-amd64/arm64 architecture 228s autopkgtest [15:34:05]: test command2: -----------------------] 229s command2 SKIP exit status 77 and marked as skippable 229s autopkgtest [15:34:06]: test command2: - - - - - - - - - - results - - - - - - - - - - 229s autopkgtest [15:34:06]: @@@@@@@@@@@@@@@@@@@@ summary 229s command1 PASS 229s command2 SKIP exit status 77 and marked as skippable