0s autopkgtest [03:43:34]: starting date and time: 2025-10-31 03:43:34+0000 0s autopkgtest [03:43:34]: git checkout: 4b346b80 nova: make wait_reboot return success even when a no-op 0s autopkgtest [03:43:34]: host juju-7f2275-prod-proposed-migration-environment-20; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work._ncc5e09/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:adsys --apt-upgrade adsys --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 '--env=ADT_TEST_TRIGGERS=adsys/0.16.3~24.04.2' -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest-ppc64el --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-20@bos03-ppc64el-5.secgroup --name adt-noble-ppc64el-adsys-20251031-034334-juju-7f2275-prod-proposed-migration-environment-20-849c250c-6243-46e0-932e-b97de266df1f --image adt/ubuntu-noble-ppc64el-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-20 --net-id=net_prod-proposed-migration-ppc64el -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 3s Creating nova instance adt-noble-ppc64el-adsys-20251031-034334-juju-7f2275-prod-proposed-migration-environment-20-849c250c-6243-46e0-932e-b97de266df1f from image adt/ubuntu-noble-ppc64el-server-20251030.img (UUID 5cf24439-3c17-4012-94af-fef9dfe6d0a7)... 61s autopkgtest [03:44:35]: testbed dpkg architecture: ppc64el 62s autopkgtest [03:44:36]: testbed apt version: 2.8.3 62s autopkgtest [03:44:36]: @@@@@@@@@@@@@@@@@@@@ test bed setup 62s autopkgtest [03:44:36]: testbed release detected to be: None 63s autopkgtest [03:44:37]: updating testbed package index (apt update) 63s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [265 kB] 63s Hit:2 http://ftpmaster.internal/ubuntu noble InRelease 64s Hit:3 http://ftpmaster.internal/ubuntu noble-updates InRelease 64s Hit:4 http://ftpmaster.internal/ubuntu noble-security InRelease 64s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [42.6 kB] 64s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [82.4 kB] 64s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [44.4 kB] 64s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [9148 B] 64s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/main ppc64el Packages [124 kB] 64s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/main ppc64el c-n-f Metadata [2892 B] 64s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/restricted ppc64el Packages [5640 B] 64s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/restricted ppc64el c-n-f Metadata [116 B] 64s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/universe ppc64el Packages [68.5 kB] 64s Get:14 http://ftpmaster.internal/ubuntu noble-proposed/universe ppc64el c-n-f Metadata [1800 B] 64s Get:15 http://ftpmaster.internal/ubuntu noble-proposed/multiverse ppc64el Packages [752 B] 64s Get:16 http://ftpmaster.internal/ubuntu noble-proposed/multiverse ppc64el c-n-f Metadata [116 B] 66s Fetched 647 kB in 1s (828 kB/s) 67s Reading package lists... 68s Hit:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease 68s Hit:2 http://ftpmaster.internal/ubuntu noble InRelease 68s Hit:3 http://ftpmaster.internal/ubuntu noble-updates InRelease 68s Hit:4 http://ftpmaster.internal/ubuntu noble-security InRelease 69s Reading package lists... 69s Reading package lists... 70s Building dependency tree... 70s Reading state information... 70s Calculating upgrade... 70s The following packages will be upgraded: 70s libxml2 70s 1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 70s Need to get 832 kB of archives. 70s After this operation, 0 B of additional disk space will be used. 70s Get:1 http://ftpmaster.internal/ubuntu noble-security/main ppc64el libxml2 ppc64el 2.9.14+dfsg-1.3ubuntu3.6 [832 kB] 71s dpkg-preconfigure: unable to re-open stdin: No such file or directory 71s Fetched 832 kB in 1s (1566 kB/s) 71s (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 ... 103787 files and directories currently installed.) 71s Preparing to unpack .../libxml2_2.9.14+dfsg-1.3ubuntu3.6_ppc64el.deb ... 71s Unpacking libxml2:ppc64el (2.9.14+dfsg-1.3ubuntu3.6) over (2.9.14+dfsg-1.3ubuntu3.5) ... 71s Setting up libxml2:ppc64el (2.9.14+dfsg-1.3ubuntu3.6) ... 71s Processing triggers for libc-bin (2.39-0ubuntu8.6) ... 71s autopkgtest [03:44:45]: upgrading testbed (apt dist-upgrade and autopurge) 72s Reading package lists... 72s Building dependency tree... 72s Reading state information... 72s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 72s Starting 2 pkgProblemResolver with broken count: 0 72s Done 73s Entering ResolveByKeep 73s 73s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 73s Reading package lists... 73s Building dependency tree... 73s Reading state information... 73s Starting pkgProblemResolver with broken count: 0 73s Starting 2 pkgProblemResolver with broken count: 0 73s Done 74s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 76s autopkgtest [03:44:50]: testbed running kernel: Linux 6.8.0-87-generic #88-Ubuntu SMP Sat Oct 11 09:44:39 UTC 2025 76s autopkgtest [03:44:50]: @@@@@@@@@@@@@@@@@@@@ apt-source adsys 80s Get:1 http://ftpmaster.internal/ubuntu noble-proposed/main adsys 0.16.3~24.04.2 (dsc) [2175 B] 80s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/main adsys 0.16.3~24.04.2 (tar) [7409 kB] 80s gpgv: Signature made Fri Oct 24 14:31:01 2025 UTC 80s gpgv: using RSA key 3BE11453128B12B520E77C1312BEDA39A1E77042 80s gpgv: issuer "dgadomski@ubuntu.com" 80s gpgv: Can't check signature: No public key 80s dpkg-source: warning: cannot verify inline signature for ./adsys_0.16.3~24.04.2.dsc: no acceptable signature found 81s autopkgtest [03:44:55]: testing package adsys version 0.16.3~24.04.2 81s autopkgtest [03:44:55]: build not needed 96s autopkgtest [03:45:10]: test command1: preparing testbed 96s Reading package lists... 96s Building dependency tree... 96s Reading state information... 97s Starting pkgProblemResolver with broken count: 0 97s Starting 2 pkgProblemResolver with broken count: 0 97s Done 97s The following NEW packages will be installed: 97s autoconf automake autopoint autotools-dev build-essential comerr-dev cpp 97s cpp-13 cpp-13-powerpc64le-linux-gnu cpp-powerpc64le-linux-gnu debhelper 97s debugedit dh-apport dh-autoreconf dh-golang dh-strip-nondeterminism dwz g++ 97s g++-13 g++-13-powerpc64le-linux-gnu g++-powerpc64le-linux-gnu gcc gcc-13 97s gcc-13-base gcc-13-powerpc64le-linux-gnu gcc-powerpc64le-linux-gnu gettext 97s golang-1.23-go golang-1.23-src intltool-debian krb5-multidev 97s libarchive-zip-perl libasan8 libatomic1 libavahi-client3 97s libavahi-common-data libavahi-common3 libblkid-dev libcc1-0 libcups2t64 97s libdbus-1-dev libdebhelper-perl libffi-dev libfile-stripnondeterminism-perl 97s libgcc-13-dev libgirepository-2.0-0 libglib2.0-bin libglib2.0-dev 97s libglib2.0-dev-bin libgomp1 libgssrpc4t64 libisl23 libitm1 97s libkadm5clnt-mit12 libkadm5srv-mit12 libkdb5-10t64 libkrb5-dev libldb2 97s liblsan0 libmount-dev libmpc3 libpam0g-dev libpcre2-16-0 libpcre2-32-0 97s libpcre2-dev libpcre2-posix3 libpkgconf3 libquadmath0 libselinux1-dev 97s libsepol-dev libsmbclient-dev libsmbclient0 libstdc++-13-dev 97s libsub-override-perl libtalloc2 libtdb1 libtevent0t64 libtool libtsan2 97s libubsan1 libwbclient-dev libwbclient0 m4 pkgconf pkgconf-bin po-debconf 97s python3-dnspython python3-ldb python3-markdown python3-packaging 97s python3-samba python3-talloc python3-tdb samba samba-common samba-common-bin 97s samba-dsdb-modules samba-libs sgml-base tdb-tools uuid-dev xml-core 97s zlib1g-dev 97s 0 upgraded, 103 newly installed, 0 to remove and 0 not upgraded. 97s Need to get 124 MB of archives. 97s After this operation, 569 MB of additional disk space will be used. 97s Get:1 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 97s Get:2 http://ftpmaster.internal/ubuntu noble/main ppc64el libtalloc2 ppc64el 2.4.2-1build2 [36.7 kB] 98s Get:3 http://ftpmaster.internal/ubuntu noble/main ppc64el libtdb1 ppc64el 1.4.10-1build1 [62.8 kB] 98s Get:4 http://ftpmaster.internal/ubuntu noble/main ppc64el libtevent0t64 ppc64el 0.16.1-2build1 [51.2 kB] 98s Get:5 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el libldb2 ppc64el 2:2.8.0+samba4.19.5+dfsg-4ubuntu9.4 [219 kB] 98s Get:6 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el python3-ldb ppc64el 2:2.8.0+samba4.19.5+dfsg-4ubuntu9.4 [47.4 kB] 98s Get:7 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-tdb ppc64el 1.4.10-1build1 [15.8 kB] 98s Get:8 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-markdown all 3.5.2-1 [72.0 kB] 98s Get:9 http://ftpmaster.internal/ubuntu noble/main ppc64el libavahi-common-data ppc64el 0.8-13ubuntu6 [29.7 kB] 98s Get:10 http://ftpmaster.internal/ubuntu noble/main ppc64el libavahi-common3 ppc64el 0.8-13ubuntu6 [26.3 kB] 98s Get:11 http://ftpmaster.internal/ubuntu noble/main ppc64el libavahi-client3 ppc64el 0.8-13ubuntu6 [30.8 kB] 98s Get:12 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el libwbclient0 ppc64el 2:4.19.5+dfsg-4ubuntu9.4 [77.9 kB] 98s Get:13 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el samba-libs ppc64el 2:4.19.5+dfsg-4ubuntu9.4 [6620 kB] 99s Get:14 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-talloc ppc64el 2.4.2-1build2 [13.4 kB] 99s Get:15 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el python3-samba ppc64el 2:4.19.5+dfsg-4ubuntu9.4 [2907 kB] 99s Get:16 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el samba-common all 2:4.19.5+dfsg-4ubuntu9.4 [65.2 kB] 99s Get:17 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el libcups2t64 ppc64el 2.4.7-1.2ubuntu7.4 [345 kB] 99s Get:18 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el samba-common-bin ppc64el 2:4.19.5+dfsg-4ubuntu9.4 [1411 kB] 99s Get:19 http://ftpmaster.internal/ubuntu noble/main ppc64el tdb-tools ppc64el 1.4.10-1build1 [27.2 kB] 99s Get:20 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el samba ppc64el 2:4.19.5+dfsg-4ubuntu9.4 [1107 kB] 100s Get:21 http://ftpmaster.internal/ubuntu noble/main ppc64el sgml-base all 1.31 [11.4 kB] 100s Get:22 http://ftpmaster.internal/ubuntu noble/main ppc64el m4 ppc64el 1.4.19-4build1 [278 kB] 100s Get:23 http://ftpmaster.internal/ubuntu noble/main ppc64el autoconf all 2.71-3 [339 kB] 100s Get:24 http://ftpmaster.internal/ubuntu noble/main ppc64el autotools-dev all 20220109.1 [44.9 kB] 100s Get:25 http://ftpmaster.internal/ubuntu noble/main ppc64el automake all 1:1.16.5-1.3ubuntu1 [558 kB] 100s Get:26 http://ftpmaster.internal/ubuntu noble/main ppc64el autopoint all 0.21-14ubuntu2 [422 kB] 100s Get:27 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el gcc-13-base ppc64el 13.3.0-6ubuntu2~24.04 [51.5 kB] 100s Get:28 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el libisl23 ppc64el 0.26-3build1.1 [875 kB] 100s Get:29 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el libmpc3 ppc64el 1.3.1-1build1.1 [61.7 kB] 100s Get:30 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el cpp-13-powerpc64le-linux-gnu ppc64el 13.3.0-6ubuntu2~24.04 [9753 kB] 100s Get:31 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el cpp-13 ppc64el 13.3.0-6ubuntu2~24.04 [1044 B] 100s Get:32 http://ftpmaster.internal/ubuntu noble/main ppc64el cpp-powerpc64le-linux-gnu ppc64el 4:13.2.0-7ubuntu1 [5330 B] 100s Get:33 http://ftpmaster.internal/ubuntu noble/main ppc64el cpp ppc64el 4:13.2.0-7ubuntu1 [22.5 kB] 100s Get:34 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el libcc1-0 ppc64el 14.2.0-4ubuntu2~24.04 [48.3 kB] 100s Get:35 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el libgomp1 ppc64el 14.2.0-4ubuntu2~24.04 [161 kB] 100s Get:36 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el libitm1 ppc64el 14.2.0-4ubuntu2~24.04 [32.2 kB] 100s Get:37 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el libatomic1 ppc64el 14.2.0-4ubuntu2~24.04 [10.8 kB] 100s Get:38 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el libasan8 ppc64el 14.2.0-4ubuntu2~24.04 [2970 kB] 100s Get:39 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el liblsan0 ppc64el 14.2.0-4ubuntu2~24.04 [1328 kB] 101s Get:40 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el libtsan2 ppc64el 14.2.0-4ubuntu2~24.04 [2702 kB] 101s Get:41 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el libubsan1 ppc64el 14.2.0-4ubuntu2~24.04 [1196 kB] 101s Get:42 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el libquadmath0 ppc64el 14.2.0-4ubuntu2~24.04 [158 kB] 101s Get:43 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el libgcc-13-dev ppc64el 13.3.0-6ubuntu2~24.04 [1580 kB] 101s Get:44 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el gcc-13-powerpc64le-linux-gnu ppc64el 13.3.0-6ubuntu2~24.04 [19.1 MB] 101s Get:45 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el gcc-13 ppc64el 13.3.0-6ubuntu2~24.04 [494 kB] 101s Get:46 http://ftpmaster.internal/ubuntu noble/main ppc64el gcc-powerpc64le-linux-gnu ppc64el 4:13.2.0-7ubuntu1 [1224 B] 101s Get:47 http://ftpmaster.internal/ubuntu noble/main ppc64el gcc ppc64el 4:13.2.0-7ubuntu1 [5022 B] 101s Get:48 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el libstdc++-13-dev ppc64el 13.3.0-6ubuntu2~24.04 [2599 kB] 101s Get:49 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el g++-13-powerpc64le-linux-gnu ppc64el 13.3.0-6ubuntu2~24.04 [11.2 MB] 102s Get:50 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el g++-13 ppc64el 13.3.0-6ubuntu2~24.04 [16.1 kB] 102s Get:51 http://ftpmaster.internal/ubuntu noble/main ppc64el g++-powerpc64le-linux-gnu ppc64el 4:13.2.0-7ubuntu1 [968 B] 102s Get:52 http://ftpmaster.internal/ubuntu noble/main ppc64el g++ ppc64el 4:13.2.0-7ubuntu1 [1086 B] 102s Get:53 http://ftpmaster.internal/ubuntu noble/main ppc64el build-essential ppc64el 12.10ubuntu1 [4936 B] 102s Get:54 http://ftpmaster.internal/ubuntu noble/main ppc64el libdebhelper-perl all 13.14.1ubuntu5 [89.8 kB] 102s Get:55 http://ftpmaster.internal/ubuntu noble/main ppc64el libtool all 2.4.7-7build1 [166 kB] 102s Get:56 http://ftpmaster.internal/ubuntu noble/main ppc64el dh-autoreconf all 20 [16.1 kB] 102s Get:57 http://ftpmaster.internal/ubuntu noble/main ppc64el libarchive-zip-perl all 1.68-1 [90.2 kB] 102s Get:58 http://ftpmaster.internal/ubuntu noble/main ppc64el libsub-override-perl all 0.10-1 [10.0 kB] 102s Get:59 http://ftpmaster.internal/ubuntu noble/main ppc64el libfile-stripnondeterminism-perl all 1.13.1-1 [18.1 kB] 102s Get:60 http://ftpmaster.internal/ubuntu noble/main ppc64el dh-strip-nondeterminism all 1.13.1-1 [5362 B] 102s Get:61 http://ftpmaster.internal/ubuntu noble/main ppc64el debugedit ppc64el 1:5.0-5build2 [51.4 kB] 102s Get:62 http://ftpmaster.internal/ubuntu noble/main ppc64el dwz ppc64el 0.15-1build6 [142 kB] 102s Get:63 http://ftpmaster.internal/ubuntu noble/main ppc64el gettext ppc64el 0.21-14ubuntu2 [985 kB] 102s Get:64 http://ftpmaster.internal/ubuntu noble/main ppc64el intltool-debian all 0.35.0+20060710.6 [23.2 kB] 102s Get:65 http://ftpmaster.internal/ubuntu noble/main ppc64el po-debconf all 1.0.21+nmu1 [233 kB] 102s Get:66 http://ftpmaster.internal/ubuntu noble/main ppc64el debhelper all 13.14.1ubuntu5 [869 kB] 102s Get:67 http://ftpmaster.internal/ubuntu noble-updates/universe ppc64el dh-apport all 2.28.1-0ubuntu3.8 [18.8 kB] 102s Get:68 http://ftpmaster.internal/ubuntu noble-updates/universe ppc64el golang-1.23-src all 1.23.1-1~24.04.1 [19.8 MB] 102s Get:69 http://ftpmaster.internal/ubuntu noble-updates/universe ppc64el golang-1.23-go ppc64el 1.23.1-1~24.04.1 [25.1 MB] 104s Get:70 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el comerr-dev ppc64el 2.1-1.47.0-2.4~exp1ubuntu4.1 [44.7 kB] 104s Get:71 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el libgssrpc4t64 ppc64el 1.20.1-6ubuntu2.6 [65.2 kB] 104s Get:72 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el libkadm5clnt-mit12 ppc64el 1.20.1-6ubuntu2.6 [43.9 kB] 104s Get:73 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el libkdb5-10t64 ppc64el 1.20.1-6ubuntu2.6 [47.0 kB] 104s Get:74 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el libkadm5srv-mit12 ppc64el 1.20.1-6ubuntu2.6 [61.2 kB] 104s Get:75 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el krb5-multidev ppc64el 1.20.1-6ubuntu2.6 [125 kB] 104s Get:76 http://ftpmaster.internal/ubuntu noble/main ppc64el libpkgconf3 ppc64el 1.8.1-2build1 [37.4 kB] 104s Get:77 http://ftpmaster.internal/ubuntu noble/main ppc64el pkgconf-bin ppc64el 1.8.1-2build1 [22.3 kB] 104s Get:78 http://ftpmaster.internal/ubuntu noble/main ppc64el pkgconf ppc64el 1.8.1-2build1 [16.8 kB] 104s Get:79 http://ftpmaster.internal/ubuntu noble/main ppc64el xml-core all 0.19 [20.3 kB] 104s Get:80 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el libdbus-1-dev ppc64el 1.14.10-4ubuntu4.1 [238 kB] 104s Get:81 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el libgirepository-2.0-0 ppc64el 2.80.0-6ubuntu3.4 [83.2 kB] 104s Get:82 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el libglib2.0-bin ppc64el 2.80.0-6ubuntu3.4 [110 kB] 104s Get:83 http://ftpmaster.internal/ubuntu noble/main ppc64el libffi-dev ppc64el 3.4.6-1build1 [67.5 kB] 104s Get:84 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-packaging all 24.0-1 [41.1 kB] 104s Get:85 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el libglib2.0-dev-bin ppc64el 2.80.0-6ubuntu3.4 [141 kB] 104s Get:86 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el uuid-dev ppc64el 2.39.3-9ubuntu6.3 [36.9 kB] 104s Get:87 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el libblkid-dev ppc64el 2.39.3-9ubuntu6.3 [257 kB] 104s Get:88 http://ftpmaster.internal/ubuntu noble/main ppc64el libsepol-dev ppc64el 3.5-2build1 [478 kB] 104s Get:89 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el libpcre2-16-0 ppc64el 10.42-4ubuntu2.1 [246 kB] 104s Get:90 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el libpcre2-32-0 ppc64el 10.42-4ubuntu2.1 [229 kB] 104s Get:91 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el libpcre2-posix3 ppc64el 10.42-4ubuntu2.1 [7020 B] 104s Get:92 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el libpcre2-dev ppc64el 10.42-4ubuntu2.1 [797 kB] 104s Get:93 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el libselinux1-dev ppc64el 3.5-2ubuntu2.1 [191 kB] 104s Get:94 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el libmount-dev ppc64el 2.39.3-9ubuntu6.3 [14.9 kB] 104s Get:95 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el zlib1g-dev ppc64el 1:1.3.dfsg-3.1ubuntu2.1 [901 kB] 104s Get:96 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el libglib2.0-dev ppc64el 2.80.0-6ubuntu3.4 [2240 kB] 104s Get:97 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el libpam0g-dev ppc64el 1.5.3-5ubuntu5.5 [123 kB] 104s Get:98 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el libsmbclient0 ppc64el 2:4.19.5+dfsg-4ubuntu9.4 [69.4 kB] 104s Get:99 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el libwbclient-dev ppc64el 2:4.19.5+dfsg-4ubuntu9.4 [16.2 kB] 104s Get:100 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el samba-dsdb-modules ppc64el 2:4.19.5+dfsg-4ubuntu9.4 [356 kB] 104s Get:101 http://ftpmaster.internal/ubuntu noble/main ppc64el dh-golang all 1.62 [25.2 kB] 104s Get:102 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el libkrb5-dev ppc64el 1.20.1-6ubuntu2.6 [11.9 kB] 104s Get:103 http://ftpmaster.internal/ubuntu noble-updates/main ppc64el libsmbclient-dev ppc64el 2:4.19.5+dfsg-4ubuntu9.4 [40.5 kB] 104s Fetched 124 MB in 7s (18.3 MB/s) 104s Selecting previously unselected package python3-dnspython. 104s (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 ... 103787 files and directories currently installed.) 104s Preparing to unpack .../000-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 104s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 104s Selecting previously unselected package libtalloc2:ppc64el. 104s Preparing to unpack .../001-libtalloc2_2.4.2-1build2_ppc64el.deb ... 104s Unpacking libtalloc2:ppc64el (2.4.2-1build2) ... 104s Selecting previously unselected package libtdb1:ppc64el. 104s Preparing to unpack .../002-libtdb1_1.4.10-1build1_ppc64el.deb ... 104s Unpacking libtdb1:ppc64el (1.4.10-1build1) ... 104s Selecting previously unselected package libtevent0t64:ppc64el. 104s Preparing to unpack .../003-libtevent0t64_0.16.1-2build1_ppc64el.deb ... 104s Unpacking libtevent0t64:ppc64el (0.16.1-2build1) ... 104s Selecting previously unselected package libldb2:ppc64el. 104s Preparing to unpack .../004-libldb2_2%3a2.8.0+samba4.19.5+dfsg-4ubuntu9.4_ppc64el.deb ... 104s Unpacking libldb2:ppc64el (2:2.8.0+samba4.19.5+dfsg-4ubuntu9.4) ... 104s Selecting previously unselected package python3-ldb. 104s Preparing to unpack .../005-python3-ldb_2%3a2.8.0+samba4.19.5+dfsg-4ubuntu9.4_ppc64el.deb ... 104s Unpacking python3-ldb (2:2.8.0+samba4.19.5+dfsg-4ubuntu9.4) ... 104s Selecting previously unselected package python3-tdb. 104s Preparing to unpack .../006-python3-tdb_1.4.10-1build1_ppc64el.deb ... 104s Unpacking python3-tdb (1.4.10-1build1) ... 104s Selecting previously unselected package python3-markdown. 104s Preparing to unpack .../007-python3-markdown_3.5.2-1_all.deb ... 104s Unpacking python3-markdown (3.5.2-1) ... 104s Selecting previously unselected package libavahi-common-data:ppc64el. 104s Preparing to unpack .../008-libavahi-common-data_0.8-13ubuntu6_ppc64el.deb ... 104s Unpacking libavahi-common-data:ppc64el (0.8-13ubuntu6) ... 104s Selecting previously unselected package libavahi-common3:ppc64el. 105s Preparing to unpack .../009-libavahi-common3_0.8-13ubuntu6_ppc64el.deb ... 105s Unpacking libavahi-common3:ppc64el (0.8-13ubuntu6) ... 105s Selecting previously unselected package libavahi-client3:ppc64el. 105s Preparing to unpack .../010-libavahi-client3_0.8-13ubuntu6_ppc64el.deb ... 105s Unpacking libavahi-client3:ppc64el (0.8-13ubuntu6) ... 105s Selecting previously unselected package libwbclient0:ppc64el. 105s Preparing to unpack .../011-libwbclient0_2%3a4.19.5+dfsg-4ubuntu9.4_ppc64el.deb ... 105s Unpacking libwbclient0:ppc64el (2:4.19.5+dfsg-4ubuntu9.4) ... 105s Selecting previously unselected package samba-libs:ppc64el. 105s Preparing to unpack .../012-samba-libs_2%3a4.19.5+dfsg-4ubuntu9.4_ppc64el.deb ... 105s Unpacking samba-libs:ppc64el (2:4.19.5+dfsg-4ubuntu9.4) ... 105s Selecting previously unselected package python3-talloc:ppc64el. 105s Preparing to unpack .../013-python3-talloc_2.4.2-1build2_ppc64el.deb ... 105s Unpacking python3-talloc:ppc64el (2.4.2-1build2) ... 105s Selecting previously unselected package python3-samba. 105s Preparing to unpack .../014-python3-samba_2%3a4.19.5+dfsg-4ubuntu9.4_ppc64el.deb ... 105s Unpacking python3-samba (2:4.19.5+dfsg-4ubuntu9.4) ... 105s Selecting previously unselected package samba-common. 105s Preparing to unpack .../015-samba-common_2%3a4.19.5+dfsg-4ubuntu9.4_all.deb ... 105s Unpacking samba-common (2:4.19.5+dfsg-4ubuntu9.4) ... 105s Selecting previously unselected package libcups2t64:ppc64el. 105s Preparing to unpack .../016-libcups2t64_2.4.7-1.2ubuntu7.4_ppc64el.deb ... 105s Unpacking libcups2t64:ppc64el (2.4.7-1.2ubuntu7.4) ... 105s Selecting previously unselected package samba-common-bin. 105s Preparing to unpack .../017-samba-common-bin_2%3a4.19.5+dfsg-4ubuntu9.4_ppc64el.deb ... 105s Unpacking samba-common-bin (2:4.19.5+dfsg-4ubuntu9.4) ... 105s Selecting previously unselected package tdb-tools. 105s Preparing to unpack .../018-tdb-tools_1.4.10-1build1_ppc64el.deb ... 105s Unpacking tdb-tools (1.4.10-1build1) ... 105s Selecting previously unselected package samba. 105s Preparing to unpack .../019-samba_2%3a4.19.5+dfsg-4ubuntu9.4_ppc64el.deb ... 105s Unpacking samba (2:4.19.5+dfsg-4ubuntu9.4) ... 105s Selecting previously unselected package sgml-base. 105s Preparing to unpack .../020-sgml-base_1.31_all.deb ... 105s Unpacking sgml-base (1.31) ... 105s Selecting previously unselected package m4. 105s Preparing to unpack .../021-m4_1.4.19-4build1_ppc64el.deb ... 105s Unpacking m4 (1.4.19-4build1) ... 105s Selecting previously unselected package autoconf. 105s Preparing to unpack .../022-autoconf_2.71-3_all.deb ... 105s Unpacking autoconf (2.71-3) ... 105s Selecting previously unselected package autotools-dev. 105s Preparing to unpack .../023-autotools-dev_20220109.1_all.deb ... 105s Unpacking autotools-dev (20220109.1) ... 105s Selecting previously unselected package automake. 105s Preparing to unpack .../024-automake_1%3a1.16.5-1.3ubuntu1_all.deb ... 105s Unpacking automake (1:1.16.5-1.3ubuntu1) ... 105s Selecting previously unselected package autopoint. 105s Preparing to unpack .../025-autopoint_0.21-14ubuntu2_all.deb ... 105s Unpacking autopoint (0.21-14ubuntu2) ... 105s Selecting previously unselected package gcc-13-base:ppc64el. 105s Preparing to unpack .../026-gcc-13-base_13.3.0-6ubuntu2~24.04_ppc64el.deb ... 105s Unpacking gcc-13-base:ppc64el (13.3.0-6ubuntu2~24.04) ... 105s Selecting previously unselected package libisl23:ppc64el. 105s Preparing to unpack .../027-libisl23_0.26-3build1.1_ppc64el.deb ... 105s Unpacking libisl23:ppc64el (0.26-3build1.1) ... 105s Selecting previously unselected package libmpc3:ppc64el. 105s Preparing to unpack .../028-libmpc3_1.3.1-1build1.1_ppc64el.deb ... 105s Unpacking libmpc3:ppc64el (1.3.1-1build1.1) ... 105s Selecting previously unselected package cpp-13-powerpc64le-linux-gnu. 105s Preparing to unpack .../029-cpp-13-powerpc64le-linux-gnu_13.3.0-6ubuntu2~24.04_ppc64el.deb ... 105s Unpacking cpp-13-powerpc64le-linux-gnu (13.3.0-6ubuntu2~24.04) ... 105s Selecting previously unselected package cpp-13. 105s Preparing to unpack .../030-cpp-13_13.3.0-6ubuntu2~24.04_ppc64el.deb ... 105s Unpacking cpp-13 (13.3.0-6ubuntu2~24.04) ... 105s Selecting previously unselected package cpp-powerpc64le-linux-gnu. 105s Preparing to unpack .../031-cpp-powerpc64le-linux-gnu_4%3a13.2.0-7ubuntu1_ppc64el.deb ... 105s Unpacking cpp-powerpc64le-linux-gnu (4:13.2.0-7ubuntu1) ... 105s Selecting previously unselected package cpp. 105s Preparing to unpack .../032-cpp_4%3a13.2.0-7ubuntu1_ppc64el.deb ... 106s Unpacking cpp (4:13.2.0-7ubuntu1) ... 106s Selecting previously unselected package libcc1-0:ppc64el. 106s Preparing to unpack .../033-libcc1-0_14.2.0-4ubuntu2~24.04_ppc64el.deb ... 106s Unpacking libcc1-0:ppc64el (14.2.0-4ubuntu2~24.04) ... 106s Selecting previously unselected package libgomp1:ppc64el. 106s Preparing to unpack .../034-libgomp1_14.2.0-4ubuntu2~24.04_ppc64el.deb ... 106s Unpacking libgomp1:ppc64el (14.2.0-4ubuntu2~24.04) ... 106s Selecting previously unselected package libitm1:ppc64el. 106s Preparing to unpack .../035-libitm1_14.2.0-4ubuntu2~24.04_ppc64el.deb ... 106s Unpacking libitm1:ppc64el (14.2.0-4ubuntu2~24.04) ... 106s Selecting previously unselected package libatomic1:ppc64el. 106s Preparing to unpack .../036-libatomic1_14.2.0-4ubuntu2~24.04_ppc64el.deb ... 106s Unpacking libatomic1:ppc64el (14.2.0-4ubuntu2~24.04) ... 106s Selecting previously unselected package libasan8:ppc64el. 106s Preparing to unpack .../037-libasan8_14.2.0-4ubuntu2~24.04_ppc64el.deb ... 106s Unpacking libasan8:ppc64el (14.2.0-4ubuntu2~24.04) ... 106s Selecting previously unselected package liblsan0:ppc64el. 106s Preparing to unpack .../038-liblsan0_14.2.0-4ubuntu2~24.04_ppc64el.deb ... 106s Unpacking liblsan0:ppc64el (14.2.0-4ubuntu2~24.04) ... 106s Selecting previously unselected package libtsan2:ppc64el. 106s Preparing to unpack .../039-libtsan2_14.2.0-4ubuntu2~24.04_ppc64el.deb ... 106s Unpacking libtsan2:ppc64el (14.2.0-4ubuntu2~24.04) ... 106s Selecting previously unselected package libubsan1:ppc64el. 106s Preparing to unpack .../040-libubsan1_14.2.0-4ubuntu2~24.04_ppc64el.deb ... 106s Unpacking libubsan1:ppc64el (14.2.0-4ubuntu2~24.04) ... 106s Selecting previously unselected package libquadmath0:ppc64el. 106s Preparing to unpack .../041-libquadmath0_14.2.0-4ubuntu2~24.04_ppc64el.deb ... 106s Unpacking libquadmath0:ppc64el (14.2.0-4ubuntu2~24.04) ... 106s Selecting previously unselected package libgcc-13-dev:ppc64el. 106s Preparing to unpack .../042-libgcc-13-dev_13.3.0-6ubuntu2~24.04_ppc64el.deb ... 106s Unpacking libgcc-13-dev:ppc64el (13.3.0-6ubuntu2~24.04) ... 106s Selecting previously unselected package gcc-13-powerpc64le-linux-gnu. 106s Preparing to unpack .../043-gcc-13-powerpc64le-linux-gnu_13.3.0-6ubuntu2~24.04_ppc64el.deb ... 106s Unpacking gcc-13-powerpc64le-linux-gnu (13.3.0-6ubuntu2~24.04) ... 106s Selecting previously unselected package gcc-13. 106s Preparing to unpack .../044-gcc-13_13.3.0-6ubuntu2~24.04_ppc64el.deb ... 106s Unpacking gcc-13 (13.3.0-6ubuntu2~24.04) ... 106s Selecting previously unselected package gcc-powerpc64le-linux-gnu. 106s Preparing to unpack .../045-gcc-powerpc64le-linux-gnu_4%3a13.2.0-7ubuntu1_ppc64el.deb ... 106s Unpacking gcc-powerpc64le-linux-gnu (4:13.2.0-7ubuntu1) ... 106s Selecting previously unselected package gcc. 106s Preparing to unpack .../046-gcc_4%3a13.2.0-7ubuntu1_ppc64el.deb ... 106s Unpacking gcc (4:13.2.0-7ubuntu1) ... 106s Selecting previously unselected package libstdc++-13-dev:ppc64el. 106s Preparing to unpack .../047-libstdc++-13-dev_13.3.0-6ubuntu2~24.04_ppc64el.deb ... 106s Unpacking libstdc++-13-dev:ppc64el (13.3.0-6ubuntu2~24.04) ... 106s Selecting previously unselected package g++-13-powerpc64le-linux-gnu. 106s Preparing to unpack .../048-g++-13-powerpc64le-linux-gnu_13.3.0-6ubuntu2~24.04_ppc64el.deb ... 107s Unpacking g++-13-powerpc64le-linux-gnu (13.3.0-6ubuntu2~24.04) ... 107s Selecting previously unselected package g++-13. 107s Preparing to unpack .../049-g++-13_13.3.0-6ubuntu2~24.04_ppc64el.deb ... 107s Unpacking g++-13 (13.3.0-6ubuntu2~24.04) ... 107s Selecting previously unselected package g++-powerpc64le-linux-gnu. 107s Preparing to unpack .../050-g++-powerpc64le-linux-gnu_4%3a13.2.0-7ubuntu1_ppc64el.deb ... 107s Unpacking g++-powerpc64le-linux-gnu (4:13.2.0-7ubuntu1) ... 107s Selecting previously unselected package g++. 107s Preparing to unpack .../051-g++_4%3a13.2.0-7ubuntu1_ppc64el.deb ... 107s Unpacking g++ (4:13.2.0-7ubuntu1) ... 107s Selecting previously unselected package build-essential. 107s Preparing to unpack .../052-build-essential_12.10ubuntu1_ppc64el.deb ... 107s Unpacking build-essential (12.10ubuntu1) ... 107s Selecting previously unselected package libdebhelper-perl. 107s Preparing to unpack .../053-libdebhelper-perl_13.14.1ubuntu5_all.deb ... 107s Unpacking libdebhelper-perl (13.14.1ubuntu5) ... 107s Selecting previously unselected package libtool. 107s Preparing to unpack .../054-libtool_2.4.7-7build1_all.deb ... 107s Unpacking libtool (2.4.7-7build1) ... 107s Selecting previously unselected package dh-autoreconf. 107s Preparing to unpack .../055-dh-autoreconf_20_all.deb ... 107s Unpacking dh-autoreconf (20) ... 107s Selecting previously unselected package libarchive-zip-perl. 107s Preparing to unpack .../056-libarchive-zip-perl_1.68-1_all.deb ... 107s Unpacking libarchive-zip-perl (1.68-1) ... 107s Selecting previously unselected package libsub-override-perl. 107s Preparing to unpack .../057-libsub-override-perl_0.10-1_all.deb ... 107s Unpacking libsub-override-perl (0.10-1) ... 107s Selecting previously unselected package libfile-stripnondeterminism-perl. 107s Preparing to unpack .../058-libfile-stripnondeterminism-perl_1.13.1-1_all.deb ... 107s Unpacking libfile-stripnondeterminism-perl (1.13.1-1) ... 107s Selecting previously unselected package dh-strip-nondeterminism. 107s Preparing to unpack .../059-dh-strip-nondeterminism_1.13.1-1_all.deb ... 107s Unpacking dh-strip-nondeterminism (1.13.1-1) ... 107s Selecting previously unselected package debugedit. 107s Preparing to unpack .../060-debugedit_1%3a5.0-5build2_ppc64el.deb ... 107s Unpacking debugedit (1:5.0-5build2) ... 107s Selecting previously unselected package dwz. 107s Preparing to unpack .../061-dwz_0.15-1build6_ppc64el.deb ... 107s Unpacking dwz (0.15-1build6) ... 107s Selecting previously unselected package gettext. 107s Preparing to unpack .../062-gettext_0.21-14ubuntu2_ppc64el.deb ... 107s Unpacking gettext (0.21-14ubuntu2) ... 107s Selecting previously unselected package intltool-debian. 107s Preparing to unpack .../063-intltool-debian_0.35.0+20060710.6_all.deb ... 107s Unpacking intltool-debian (0.35.0+20060710.6) ... 107s Selecting previously unselected package po-debconf. 107s Preparing to unpack .../064-po-debconf_1.0.21+nmu1_all.deb ... 107s Unpacking po-debconf (1.0.21+nmu1) ... 107s Selecting previously unselected package debhelper. 107s Preparing to unpack .../065-debhelper_13.14.1ubuntu5_all.deb ... 107s Unpacking debhelper (13.14.1ubuntu5) ... 107s Selecting previously unselected package dh-apport. 107s Preparing to unpack .../066-dh-apport_2.28.1-0ubuntu3.8_all.deb ... 107s Unpacking dh-apport (2.28.1-0ubuntu3.8) ... 107s Selecting previously unselected package golang-1.23-src. 107s Preparing to unpack .../067-golang-1.23-src_1.23.1-1~24.04.1_all.deb ... 107s Unpacking golang-1.23-src (1.23.1-1~24.04.1) ... 110s Selecting previously unselected package golang-1.23-go. 110s Preparing to unpack .../068-golang-1.23-go_1.23.1-1~24.04.1_ppc64el.deb ... 110s Unpacking golang-1.23-go (1.23.1-1~24.04.1) ... 110s Selecting previously unselected package comerr-dev:ppc64el. 110s Preparing to unpack .../069-comerr-dev_2.1-1.47.0-2.4~exp1ubuntu4.1_ppc64el.deb ... 110s Unpacking comerr-dev:ppc64el (2.1-1.47.0-2.4~exp1ubuntu4.1) ... 110s Selecting previously unselected package libgssrpc4t64:ppc64el. 110s Preparing to unpack .../070-libgssrpc4t64_1.20.1-6ubuntu2.6_ppc64el.deb ... 110s Unpacking libgssrpc4t64:ppc64el (1.20.1-6ubuntu2.6) ... 110s Selecting previously unselected package libkadm5clnt-mit12:ppc64el. 110s Preparing to unpack .../071-libkadm5clnt-mit12_1.20.1-6ubuntu2.6_ppc64el.deb ... 110s Unpacking libkadm5clnt-mit12:ppc64el (1.20.1-6ubuntu2.6) ... 110s Selecting previously unselected package libkdb5-10t64:ppc64el. 110s Preparing to unpack .../072-libkdb5-10t64_1.20.1-6ubuntu2.6_ppc64el.deb ... 110s Unpacking libkdb5-10t64:ppc64el (1.20.1-6ubuntu2.6) ... 110s Selecting previously unselected package libkadm5srv-mit12:ppc64el. 110s Preparing to unpack .../073-libkadm5srv-mit12_1.20.1-6ubuntu2.6_ppc64el.deb ... 110s Unpacking libkadm5srv-mit12:ppc64el (1.20.1-6ubuntu2.6) ... 110s Selecting previously unselected package krb5-multidev:ppc64el. 110s Preparing to unpack .../074-krb5-multidev_1.20.1-6ubuntu2.6_ppc64el.deb ... 110s Unpacking krb5-multidev:ppc64el (1.20.1-6ubuntu2.6) ... 110s Selecting previously unselected package libpkgconf3:ppc64el. 110s Preparing to unpack .../075-libpkgconf3_1.8.1-2build1_ppc64el.deb ... 110s Unpacking libpkgconf3:ppc64el (1.8.1-2build1) ... 110s Selecting previously unselected package pkgconf-bin. 110s Preparing to unpack .../076-pkgconf-bin_1.8.1-2build1_ppc64el.deb ... 110s Unpacking pkgconf-bin (1.8.1-2build1) ... 110s Selecting previously unselected package pkgconf:ppc64el. 110s Preparing to unpack .../077-pkgconf_1.8.1-2build1_ppc64el.deb ... 110s Unpacking pkgconf:ppc64el (1.8.1-2build1) ... 110s Selecting previously unselected package xml-core. 110s Preparing to unpack .../078-xml-core_0.19_all.deb ... 110s Unpacking xml-core (0.19) ... 110s Selecting previously unselected package libdbus-1-dev:ppc64el. 110s Preparing to unpack .../079-libdbus-1-dev_1.14.10-4ubuntu4.1_ppc64el.deb ... 110s Unpacking libdbus-1-dev:ppc64el (1.14.10-4ubuntu4.1) ... 110s Selecting previously unselected package libgirepository-2.0-0:ppc64el. 110s Preparing to unpack .../080-libgirepository-2.0-0_2.80.0-6ubuntu3.4_ppc64el.deb ... 110s Unpacking libgirepository-2.0-0:ppc64el (2.80.0-6ubuntu3.4) ... 110s Selecting previously unselected package libglib2.0-bin. 110s Preparing to unpack .../081-libglib2.0-bin_2.80.0-6ubuntu3.4_ppc64el.deb ... 110s Unpacking libglib2.0-bin (2.80.0-6ubuntu3.4) ... 110s Selecting previously unselected package libffi-dev:ppc64el. 110s Preparing to unpack .../082-libffi-dev_3.4.6-1build1_ppc64el.deb ... 110s Unpacking libffi-dev:ppc64el (3.4.6-1build1) ... 110s Selecting previously unselected package python3-packaging. 110s Preparing to unpack .../083-python3-packaging_24.0-1_all.deb ... 110s Unpacking python3-packaging (24.0-1) ... 110s Selecting previously unselected package libglib2.0-dev-bin. 110s Preparing to unpack .../084-libglib2.0-dev-bin_2.80.0-6ubuntu3.4_ppc64el.deb ... 110s Unpacking libglib2.0-dev-bin (2.80.0-6ubuntu3.4) ... 110s Selecting previously unselected package uuid-dev:ppc64el. 110s Preparing to unpack .../085-uuid-dev_2.39.3-9ubuntu6.3_ppc64el.deb ... 110s Unpacking uuid-dev:ppc64el (2.39.3-9ubuntu6.3) ... 110s Selecting previously unselected package libblkid-dev:ppc64el. 110s Preparing to unpack .../086-libblkid-dev_2.39.3-9ubuntu6.3_ppc64el.deb ... 110s Unpacking libblkid-dev:ppc64el (2.39.3-9ubuntu6.3) ... 110s Selecting previously unselected package libsepol-dev:ppc64el. 110s Preparing to unpack .../087-libsepol-dev_3.5-2build1_ppc64el.deb ... 110s Unpacking libsepol-dev:ppc64el (3.5-2build1) ... 110s Selecting previously unselected package libpcre2-16-0:ppc64el. 110s Preparing to unpack .../088-libpcre2-16-0_10.42-4ubuntu2.1_ppc64el.deb ... 110s Unpacking libpcre2-16-0:ppc64el (10.42-4ubuntu2.1) ... 110s Selecting previously unselected package libpcre2-32-0:ppc64el. 110s Preparing to unpack .../089-libpcre2-32-0_10.42-4ubuntu2.1_ppc64el.deb ... 110s Unpacking libpcre2-32-0:ppc64el (10.42-4ubuntu2.1) ... 110s Selecting previously unselected package libpcre2-posix3:ppc64el. 110s Preparing to unpack .../090-libpcre2-posix3_10.42-4ubuntu2.1_ppc64el.deb ... 110s Unpacking libpcre2-posix3:ppc64el (10.42-4ubuntu2.1) ... 110s Selecting previously unselected package libpcre2-dev:ppc64el. 110s Preparing to unpack .../091-libpcre2-dev_10.42-4ubuntu2.1_ppc64el.deb ... 110s Unpacking libpcre2-dev:ppc64el (10.42-4ubuntu2.1) ... 110s Selecting previously unselected package libselinux1-dev:ppc64el. 110s Preparing to unpack .../092-libselinux1-dev_3.5-2ubuntu2.1_ppc64el.deb ... 110s Unpacking libselinux1-dev:ppc64el (3.5-2ubuntu2.1) ... 110s Selecting previously unselected package libmount-dev:ppc64el. 110s Preparing to unpack .../093-libmount-dev_2.39.3-9ubuntu6.3_ppc64el.deb ... 110s Unpacking libmount-dev:ppc64el (2.39.3-9ubuntu6.3) ... 110s Selecting previously unselected package zlib1g-dev:ppc64el. 110s Preparing to unpack .../094-zlib1g-dev_1%3a1.3.dfsg-3.1ubuntu2.1_ppc64el.deb ... 110s Unpacking zlib1g-dev:ppc64el (1:1.3.dfsg-3.1ubuntu2.1) ... 110s Selecting previously unselected package libglib2.0-dev:ppc64el. 110s Preparing to unpack .../095-libglib2.0-dev_2.80.0-6ubuntu3.4_ppc64el.deb ... 110s Unpacking libglib2.0-dev:ppc64el (2.80.0-6ubuntu3.4) ... 110s Selecting previously unselected package libpam0g-dev:ppc64el. 110s Preparing to unpack .../096-libpam0g-dev_1.5.3-5ubuntu5.5_ppc64el.deb ... 110s Unpacking libpam0g-dev:ppc64el (1.5.3-5ubuntu5.5) ... 110s Selecting previously unselected package libsmbclient0:ppc64el. 110s Preparing to unpack .../097-libsmbclient0_2%3a4.19.5+dfsg-4ubuntu9.4_ppc64el.deb ... 110s Unpacking libsmbclient0:ppc64el (2:4.19.5+dfsg-4ubuntu9.4) ... 110s Selecting previously unselected package libwbclient-dev:ppc64el. 111s Preparing to unpack .../098-libwbclient-dev_2%3a4.19.5+dfsg-4ubuntu9.4_ppc64el.deb ... 111s Unpacking libwbclient-dev:ppc64el (2:4.19.5+dfsg-4ubuntu9.4) ... 111s Selecting previously unselected package samba-dsdb-modules:ppc64el. 111s Preparing to unpack .../099-samba-dsdb-modules_2%3a4.19.5+dfsg-4ubuntu9.4_ppc64el.deb ... 111s Unpacking samba-dsdb-modules:ppc64el (2:4.19.5+dfsg-4ubuntu9.4) ... 111s Selecting previously unselected package dh-golang. 111s Preparing to unpack .../100-dh-golang_1.62_all.deb ... 111s Unpacking dh-golang (1.62) ... 111s Selecting previously unselected package libkrb5-dev:ppc64el. 111s Preparing to unpack .../101-libkrb5-dev_1.20.1-6ubuntu2.6_ppc64el.deb ... 111s Unpacking libkrb5-dev:ppc64el (1.20.1-6ubuntu2.6) ... 111s Selecting previously unselected package libsmbclient-dev:ppc64el. 111s Preparing to unpack .../102-libsmbclient-dev_2%3a4.19.5+dfsg-4ubuntu9.4_ppc64el.deb ... 111s Unpacking libsmbclient-dev:ppc64el (2:4.19.5+dfsg-4ubuntu9.4) ... 111s Setting up libpam0g-dev:ppc64el (1.5.3-5ubuntu5.5) ... 111s Setting up libgirepository-2.0-0:ppc64el (2.80.0-6ubuntu3.4) ... 111s Setting up libarchive-zip-perl (1.68-1) ... 111s Setting up libtdb1:ppc64el (1.4.10-1build1) ... 111s Setting up libdebhelper-perl (13.14.1ubuntu5) ... 111s Setting up libglib2.0-bin (2.80.0-6ubuntu3.4) ... 111s Setting up m4 (1.4.19-4build1) ... 111s Setting up samba-common (2:4.19.5+dfsg-4ubuntu9.4) ... 111s 111s Creating config file /etc/samba/smb.conf with new version 111s Setting up libgomp1:ppc64el (14.2.0-4ubuntu2~24.04) ... 111s Setting up libffi-dev:ppc64el (3.4.6-1build1) ... 111s Setting up dh-apport (2.28.1-0ubuntu3.8) ... 111s Setting up libwbclient0:ppc64el (2:4.19.5+dfsg-4ubuntu9.4) ... 111s Setting up libwbclient-dev:ppc64el (2:4.19.5+dfsg-4ubuntu9.4) ... 111s Setting up libpcre2-16-0:ppc64el (10.42-4ubuntu2.1) ... 111s Setting up libtalloc2:ppc64el (2.4.2-1build2) ... 111s Setting up python3-tdb (1.4.10-1build1) ... 111s Setting up autotools-dev (20220109.1) ... 111s Setting up libpcre2-32-0:ppc64el (10.42-4ubuntu2.1) ... 111s Setting up python3-packaging (24.0-1) ... 111s Setting up libpkgconf3:ppc64el (1.8.1-2build1) ... 111s Setting up gcc-13-base:ppc64el (13.3.0-6ubuntu2~24.04) ... 111s Setting up libgssrpc4t64:ppc64el (1.20.1-6ubuntu2.6) ... 111s Setting up uuid-dev:ppc64el (2.39.3-9ubuntu6.3) ... 111s Setting up libavahi-common-data:ppc64el (0.8-13ubuntu6) ... 111s Setting up tdb-tools (1.4.10-1build1) ... 111s update-alternatives: using /usr/bin/tdbbackup.tdbtools to provide /usr/bin/tdbbackup (tdbbackup) in auto mode 111s Setting up libquadmath0:ppc64el (14.2.0-4ubuntu2~24.04) ... 111s Setting up comerr-dev:ppc64el (2.1-1.47.0-2.4~exp1ubuntu4.1) ... 111s Setting up libmpc3:ppc64el (1.3.1-1build1.1) ... 111s Setting up libatomic1:ppc64el (14.2.0-4ubuntu2~24.04) ... 111s Setting up python3-markdown (3.5.2-1) ... 111s Setting up golang-1.23-src (1.23.1-1~24.04.1) ... 111s Setting up autopoint (0.21-14ubuntu2) ... 111s Setting up libsepol-dev:ppc64el (3.5-2build1) ... 111s Setting up pkgconf-bin (1.8.1-2build1) ... 111s Setting up autoconf (2.71-3) ... 111s Setting up libubsan1:ppc64el (14.2.0-4ubuntu2~24.04) ... 111s Setting up zlib1g-dev:ppc64el (1:1.3.dfsg-3.1ubuntu2.1) ... 111s Setting up libpcre2-posix3:ppc64el (10.42-4ubuntu2.1) ... 111s Setting up dwz (0.15-1build6) ... 111s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 112s Setting up libasan8:ppc64el (14.2.0-4ubuntu2~24.04) ... 112s Setting up debugedit (1:5.0-5build2) ... 112s Setting up libsub-override-perl (0.10-1) ... 112s Setting up sgml-base (1.31) ... 112s Setting up libtsan2:ppc64el (14.2.0-4ubuntu2~24.04) ... 112s Setting up libisl23:ppc64el (0.26-3build1.1) ... 112s Setting up cpp-13-powerpc64le-linux-gnu (13.3.0-6ubuntu2~24.04) ... 112s Setting up libcc1-0:ppc64el (14.2.0-4ubuntu2~24.04) ... 112s Setting up liblsan0:ppc64el (14.2.0-4ubuntu2~24.04) ... 112s Setting up libtevent0t64:ppc64el (0.16.1-2build1) ... 112s Setting up libitm1:ppc64el (14.2.0-4ubuntu2~24.04) ... 112s Setting up cpp-powerpc64le-linux-gnu (4:13.2.0-7ubuntu1) ... 112s Setting up libkadm5clnt-mit12:ppc64el (1.20.1-6ubuntu2.6) ... 112s Setting up automake (1:1.16.5-1.3ubuntu1) ... 112s update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode 112s Setting up libfile-stripnondeterminism-perl (1.13.1-1) ... 112s Setting up libglib2.0-dev-bin (2.80.0-6ubuntu3.4) ... 112s Setting up libblkid-dev:ppc64el (2.39.3-9ubuntu6.3) ... 112s Setting up gettext (0.21-14ubuntu2) ... 112s Setting up libpcre2-dev:ppc64el (10.42-4ubuntu2.1) ... 112s Setting up cpp-13 (13.3.0-6ubuntu2~24.04) ... 112s Setting up libkdb5-10t64:ppc64el (1.20.1-6ubuntu2.6) ... 112s Setting up python3-talloc:ppc64el (2.4.2-1build2) ... 112s Setting up libselinux1-dev:ppc64el (3.5-2ubuntu2.1) ... 112s Setting up libavahi-common3:ppc64el (0.8-13ubuntu6) ... 112s Setting up pkgconf:ppc64el (1.8.1-2build1) ... 112s Setting up intltool-debian (0.35.0+20060710.6) ... 112s Setting up golang-1.23-go (1.23.1-1~24.04.1) ... 112s Setting up dh-strip-nondeterminism (1.13.1-1) ... 112s Setting up libgcc-13-dev:ppc64el (13.3.0-6ubuntu2~24.04) ... 112s Setting up cpp (4:13.2.0-7ubuntu1) ... 112s Setting up xml-core (0.19) ... 112s Setting up libkadm5srv-mit12:ppc64el (1.20.1-6ubuntu2.6) ... 112s Setting up libldb2:ppc64el (2:2.8.0+samba4.19.5+dfsg-4ubuntu9.4) ... 112s Setting up libavahi-client3:ppc64el (0.8-13ubuntu6) ... 112s Setting up libmount-dev:ppc64el (2.39.3-9ubuntu6.3) ... 112s Setting up libstdc++-13-dev:ppc64el (13.3.0-6ubuntu2~24.04) ... 112s Setting up krb5-multidev:ppc64el (1.20.1-6ubuntu2.6) ... 112s Setting up po-debconf (1.0.21+nmu1) ... 112s Setting up samba-libs:ppc64el (2:4.19.5+dfsg-4ubuntu9.4) ... 112s Setting up libkrb5-dev:ppc64el (1.20.1-6ubuntu2.6) ... 112s Setting up libglib2.0-dev:ppc64el (2.80.0-6ubuntu3.4) ... 112s Setting up gcc-13-powerpc64le-linux-gnu (13.3.0-6ubuntu2~24.04) ... 112s Setting up gcc-13 (13.3.0-6ubuntu2~24.04) ... 112s Setting up python3-ldb (2:2.8.0+samba4.19.5+dfsg-4ubuntu9.4) ... 112s Setting up samba-dsdb-modules:ppc64el (2:4.19.5+dfsg-4ubuntu9.4) ... 112s Setting up libsmbclient0:ppc64el (2:4.19.5+dfsg-4ubuntu9.4) ... 112s Setting up libcups2t64:ppc64el (2.4.7-1.2ubuntu7.4) ... 112s Setting up python3-samba (2:4.19.5+dfsg-4ubuntu9.4) ... 113s Setting up libtool (2.4.7-7build1) ... 113s Setting up g++-13-powerpc64le-linux-gnu (13.3.0-6ubuntu2~24.04) ... 113s Setting up dh-autoreconf (20) ... 113s Setting up gcc-powerpc64le-linux-gnu (4:13.2.0-7ubuntu1) ... 113s Setting up libsmbclient-dev:ppc64el (2:4.19.5+dfsg-4ubuntu9.4) ... 113s Setting up samba-common-bin (2:4.19.5+dfsg-4ubuntu9.4) ... 113s Setting up samba (2:4.19.5+dfsg-4ubuntu9.4) ... 114s Created symlink /etc/systemd/system/smb.service → /usr/lib/systemd/system/smbd.service. 114s Created symlink /etc/systemd/system/multi-user.target.wants/smbd.service → /usr/lib/systemd/system/smbd.service. 115s Created symlink /etc/systemd/system/nmb.service → /usr/lib/systemd/system/nmbd.service. 115s Created symlink /etc/systemd/system/multi-user.target.wants/nmbd.service → /usr/lib/systemd/system/nmbd.service. 116s Created symlink /etc/systemd/system/samba.service → /usr/lib/systemd/system/samba-ad-dc.service. 116s Created symlink /etc/systemd/system/multi-user.target.wants/samba-ad-dc.service → /usr/lib/systemd/system/samba-ad-dc.service. 116s Setting up g++-powerpc64le-linux-gnu (4:13.2.0-7ubuntu1) ... 116s Setting up g++-13 (13.3.0-6ubuntu2~24.04) ... 116s Setting up debhelper (13.14.1ubuntu5) ... 116s Setting up gcc (4:13.2.0-7ubuntu1) ... 116s Setting up g++ (4:13.2.0-7ubuntu1) ... 116s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 116s Setting up build-essential (12.10ubuntu1) ... 116s Setting up dh-golang (1.62) ... 116s Processing triggers for install-info (7.1-3build2) ... 116s Processing triggers for libc-bin (2.39-0ubuntu8.6) ... 116s Processing triggers for ufw (0.36.2-6) ... 116s Processing triggers for man-db (2.12.0-4build2) ... 118s Processing triggers for libglib2.0-0t64:ppc64el (2.80.0-6ubuntu3.4) ... 118s No schema files found: doing nothing. 118s Processing triggers for sgml-base (1.31) ... 118s Setting up libdbus-1-dev:ppc64el (1.14.10-4ubuntu4.1) ... 119s autopkgtest [03:45:33]: test command1: ./debian/tests/test no-sudo 119s autopkgtest [03:45:33]: test command1: [----------------------- 119s Running non-root tests... 151s ? github.com/ubuntu/adsys [no test files] 162s === RUN TestRun 162s === RUN TestRun/Run_and_return_usage_error 162s level=error msg="Error requested" 162s === RUN TestRun/Run_and_usage_error_only_does_not_fail 162s === RUN TestRun/Run_and_exit_successfully 162s === RUN TestRun/Run_and_return_error 162s level=error msg="Error requested" 162s --- PASS: TestRun (0.00s) 162s --- PASS: TestRun/Run_and_return_usage_error (0.00s) 162s --- PASS: TestRun/Run_and_usage_error_only_does_not_fail (0.00s) 162s --- PASS: TestRun/Run_and_exit_successfully (0.00s) 162s --- PASS: TestRun/Run_and_return_error (0.00s) 162s === RUN TestMainApp 162s --- PASS: TestMainApp (0.01s) 162s === RUN TestAppUsage 162s === RUN TestAppUsage/Expand_with_correct_arguments 162s === RUN TestAppUsage/Admx_with_correct_arguments 162s === RUN TestAppUsage/Doc_with_correct_arguments 162s === RUN TestAppUsage/Error_when_command_is_called_with_wrong_arguments 162s --- PASS: TestAppUsage (0.04s) 162s --- PASS: TestAppUsage/Expand_with_correct_arguments (0.01s) 162s --- PASS: TestAppUsage/Admx_with_correct_arguments (0.01s) 162s --- PASS: TestAppUsage/Doc_with_correct_arguments (0.01s) 162s --- PASS: TestAppUsage/Error_when_command_is_called_with_wrong_arguments (0.01s) 162s PASS 162s ok github.com/ubuntu/adsys/cmd/admxgen 0.064s 162s ? github.com/ubuntu/adsys/cmd/admxgen/commands [no test files] 181s === RUN TestRun 181s === RUN TestRun/Send_SIGHUP_with_exit 181s === RUN TestRun/Run_and_exit_successfully 181s === RUN TestRun/Run_and_return_error 181s level=error msg="Error requested" 181s === RUN TestRun/Run_and_return_usage_error 181s level=error msg="Error requested" 181s === RUN TestRun/Run_and_usage_error_only_does_not_fail 181s === RUN TestRun/Send_SIGINT_exits 181s === RUN TestRun/Send_SIGTERM_exits 181s === RUN TestRun/Send_SIGHUP_without_exiting 181s --- PASS: TestRun (0.86s) 181s --- PASS: TestRun/Send_SIGHUP_with_exit (0.10s) 181s --- PASS: TestRun/Run_and_exit_successfully (0.10s) 181s --- PASS: TestRun/Run_and_return_error (0.10s) 181s --- PASS: TestRun/Run_and_return_usage_error (0.10s) 181s --- PASS: TestRun/Run_and_usage_error_only_does_not_fail (0.10s) 181s --- PASS: TestRun/Send_SIGINT_exits (0.10s) 181s --- PASS: TestRun/Send_SIGTERM_exits (0.10s) 181s --- PASS: TestRun/Send_SIGHUP_without_exiting (0.15s) 181s === RUN TestMainApp 181s --- PASS: TestMainApp (0.93s) 181s PASS 181s ok github.com/ubuntu/adsys/cmd/adsysd 1.853s 181s === RUN TestColorizePolicies 181s --- PASS: TestColorizePolicies (0.01s) 181s === RUN TestInitApp 181s === PAUSE TestInitApp 181s === RUN TestAppHelp 181s === PAUSE TestAppHelp 181s === RUN TestAppCompletion 181s === PAUSE TestAppCompletion 181s === RUN TestAppNoUsageError 181s === PAUSE TestAppNoUsageError 181s === RUN TestAppUsageError 181s === PAUSE TestAppUsageError 181s === RUN TestAppUsageErrorReportsSuggestions 181s Usage: 181s adsysctl COMMAND [flags] 181s adsysctl [command] 181s 181s Available Commands: 181s applied Print last applied GPOs for current or given user/machine 181s completion Generate the autocompletion script for the specified shell 181s doc Documentation 181s help Help about any command 181s policy Policy management 181s service Service management 181s update Updates/Create a policy for current user or given user with its kerberos ticket 181s version Returns version of client and service 181s 181s Flags: 181s -c, --config string use a specific configuration file 181s -h, --help help for adsysctl 181s -s, --socket string socket path to use between daemon and client. Can be overridden by systemd socket activation. (default "/run/adsysd.sock") 181s -t, --timeout int time in seconds before cancelling the client request when the server gives no result. 0 for no timeout. (default 30) 181s -v, --verbose count issue INFO (-v), DEBUG (-vv) or DEBUG with caller (-vvv) output 181s 181s Use "adsysctl [command] --help" for more information about a command. 181s 181s --- PASS: TestAppUsageErrorReportsSuggestions (0.00s) 181s === RUN TestAppCanQuitWhenExecute 181s === PAUSE TestAppCanQuitWhenExecute 181s === RUN TestAppCanQuitAfterExecute 181s === PAUSE TestAppCanQuitAfterExecute 181s === RUN TestAppCanQuitWithoutExecute 181s === PAUSE TestAppCanQuitWithoutExecute 181s === RUN TestAppCanSigHupWhenExecute 181s === PAUSE TestAppCanSigHupWhenExecute 181s === RUN TestAppCanSigHupAfterExecute 181s === PAUSE TestAppCanSigHupAfterExecute 181s === RUN TestAppGetRootCmd 181s === PAUSE TestAppGetRootCmd 181s === CONT TestInitApp 181s === CONT TestAppCanQuitAfterExecute 181s Usage: 181s adsysctl COMMAND [flags] 181s adsysctl [command] 181s 181s Available Commands: 181s applied Print last applied GPOs for current or given user/machine 181s completion Generate the autocompletion script for the specified shell 181s doc Documentation 181s help Help about any command 181s policy Policy management 181s service Service management 181s update Updates/Create a policy for current user or given user with its kerberos ticket 181s version Returns version of client and service 181s 181s Flags: 181s -c, --config string use a specific configuration file 181s -h, --help help for adsysctl 181s -s, --socket string socket path to use between daemon and client. Can be overridden by systemd socket activation. (default "/run/adsysd.sock") 181s -t, --timeout int time in seconds before cancelling the client request when the server gives no result. 0 for no timeout. (default 30) 181s -v, --verbose count issue INFO (-v), DEBUG (-vv) or DEBUG with caller (-vvv) output 181s 181s Use "adsysctl [command] --help" for more information about a command. 181s 181s --- PASS: TestInitApp (0.00s) 181s === CONT TestAppGetRootCmd 181s # bash completion V2 for adsysctl -*- shell-script -*- 181s 181s __adsysctl_debug() 181s { 181s if [[ -n ${BASH_COMP_DEBUG_FILE-} ]]; then 181s echo "$*" >> "${BASH_COMP_DEBUG_FILE}" 181s fi 181s } 181s 181s # Macs have bash3 for which the bash-completion package doesn't include 181s # _init_completion. This is a minimal version of that function. 181s __adsysctl_init_completion() 181s { 181s COMPREPLY=() 181s _get_comp_words_by_ref "$@" cur prev words cword 181s } 181s 181s # This function calls the adsysctl program to obtain the completion 181s # results and the directive. It fills the 'out' and 'directive' vars. 181s __adsysctl_get_completion_results() { 181s local requestComp lastParam lastChar args 181s 181s # Prepare the command to request completions for the program. 181s # Calling ${words[0]} instead of directly adsysctl allows handling aliases 181s args=("${words[@]:1}") 181s requestComp="${words[0]} __complete ${args[*]}" 181s 181s lastParam=${words[$((${#words[@]}-1))]} 181s lastChar=${lastParam:$((${#lastParam}-1)):1} 181s __adsysctl_debug "lastParam ${lastParam}, lastChar ${lastChar}" 181s 181s if [[ -z ${cur} && ${lastChar} != = ]]; then 181s # If the last parameter is complete (there is a space following it) 181s # We add an extra empty parameter so we can indicate this to the go method. 181s __adsysctl_debug "Adding extra empty parameter" 181s requestComp="${requestComp} ''" 181s fi 181s 181s # When completing a flag with an = (e.g., adsysctl -n=) 181s # bash focuses on the part after the =, so we need to remove 181s # the flag part from $cur 181s if [[ ${cur} == -*=* ]]; then 181s cur="${cur#*=}" 181s fi 181s 181s __adsysctl_debug "Calling ${requestComp}" 181s # Use eval to handle any environment variables and such 181s out=$(eval "${requestComp}" 2>/dev/null) 181s 181s # Extract the directive integer at the very end of the output following a colon (:) 181s directive=${out##*:} 181s # Remove the directive 181s out=${out%:*} 181s if [[ ${directive} == "${out}" ]]; then 181s # There is not directive specified 181s directive=0 181s fi 181s __adsysctl_debug "The completion directive is: ${directive}" 181s __adsysctl_debug "The completions are: ${out}" 181s } 181s 181s __adsysctl_process_completion_results() { 181s local shellCompDirectiveError=1 181s local shellCompDirectiveNoSpace=2 181s local shellCompDirectiveNoFileComp=4 181s local shellCompDirectiveFilterFileExt=8 181s local shellCompDirectiveFilterDirs=16 181s local shellCompDirectiveKeepOrder=32 181s 181s if (((directive & shellCompDirectiveError) != 0)); then 181s # Error code. No completion. 181s __adsysctl_debug "Received error from custom completion go code" 181s return 181s else 181s if (((directive & shellCompDirectiveNoSpace) != 0)); then 181s if [[ $(type -t compopt) == builtin ]]; then 181s __adsysctl_debug "Activating no space" 181s compopt -o nospace 181s else 181s __adsysctl_debug "No space directive not supported in this version of bash" 181s fi 181s fi 181s if (((directive & shellCompDirectiveKeepOrder) != 0)); then 181s if [[ $(type -t compopt) == builtin ]]; then 181s # no sort isn't supported for bash less than < 4.4 181s if [[ ${BASH_VERSINFO[0]} -lt 4 || ( ${BASH_VERSINFO[0]} -eq 4 && ${BASH_VERSINFO[1]} -lt 4 ) ]]; then 181s __adsysctl_debug "No sort directive not supported in this version of bash" 181s else 181s __adsysctl_debug "Activating keep order" 181s compopt -o nosort 181s fi 181s else 181s __adsysctl_debug "No sort directive not supported in this version of bash" 181s fi 181s fi 181s if (((directive & shellCompDirectiveNoFileComp) != 0)); then 181s if [[ $(type -t compopt) == builtin ]]; then 181s __adsysctl_debug "Activating no file completion" 181s compopt +o default 181s else 181s __adsysctl_debug "No file completion directive not supported in this version of bash" 181s fi 181s fi 181s fi 181s 181s # Separate activeHelp from normal completions 181s local completions=() 181s local activeHelp=() 181s __adsysctl_extract_activeHelp 181s 181s if (((directive & shellCompDirectiveFilterFileExt) != 0)); then 181s # File extension filtering 181s local fullFilter="" filter filteringCmd 181s 181s # Do not use quotes around the $completions variable or else newline 181s # characters will be kept. 181s for filter in ${completions[*]}; do 181s fullFilter+="$filter|" 181s done 181s 181s filteringCmd="_filedir $fullFilter" 181s __adsysctl_debug "File filtering command: $filteringCmd" 181s $filteringCmd 181s elif (((directive & shellCompDirectiveFilterDirs) != 0)); then 181s # File completion for directories only 181s 181s local subdir 181s subdir=${completions[0]} 181s if [[ -n $subdir ]]; then 181s __adsysctl_debug "Listing directories in $subdir" 181s pushd "$subdir" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 || return 181s else 181s __adsysctl_debug "Listing directories in ." 181s _filedir -d 181s fi 181s else 181s __adsysctl_handle_completion_types 181s fi 181s 181s __adsysctl_handle_special_char "$cur" : 181s __adsysctl_handle_special_char "$cur" = 181s 181s # Print the activeHelp statements before we finish 181s __adsysctl_handle_activeHelp 181s } 181s 181s __adsysctl_handle_activeHelp() { 181s # Print the activeHelp statements 181s if ((${#activeHelp[*]} != 0)); then 181s if [ -z $COMP_TYPE ]; then 181s # Bash v3 does not set the COMP_TYPE variable. 181s printf "\n"; 181s printf "%s\n" "${activeHelp[@]}" 181s printf "\n" 181s __adsysctl_reprint_commandLine 181s return 181s fi 181s 181s # Only print ActiveHelp on the second TAB press 181s if [ $COMP_TYPE -eq 63 ]; then 181s printf "\n" 181s printf "%s\n" "${activeHelp[@]}" 181s 181s if ((${#COMPREPLY[*]} == 0)); then 181s # When there are no completion choices from the program, file completion 181s # may kick in if the program has not disabled it; in such a case, we want 181s # to know if any files will match what the user typed, so that we know if 181s # there will be completions presented, so that we know how to handle ActiveHelp. 181s # To find out, we actually trigger the file completion ourselves; 181s # the call to _filedir will fill COMPREPLY if files match. 181s if (((directive & shellCompDirectiveNoFileComp) == 0)); then 181s __adsysctl_debug "Listing files" 181s _filedir 181s fi 181s fi 181s 181s if ((${#COMPREPLY[*]} != 0)); then 181s # If there are completion choices to be shown, print a delimiter. 181s # Re-printing the command-line will automatically be done 181s # by the shell when it prints the completion choices. 181s printf -- "--" 181s else 181s # When there are no completion choices at all, we need 181s # to re-print the command-line since the shell will 181s # not be doing it itself. 181s __adsysctl_reprint_commandLine 181s fi 181s elif [ $COMP_TYPE -eq 37 ] || [ $COMP_TYPE -eq 42 ]; then 181s # For completion type: menu-complete/menu-complete-backward and insert-completions 181s # the completions are immediately inserted into the command-line, so we first 181s # print the activeHelp message and reprint the command-line since the shell won't. 181s printf "\n" 181s printf "%s\n" "${activeHelp[@]}" 181s 181s __adsysctl_reprint_commandLine 181s fi 181s fi 181s } 181s 181s __adsysctl_reprint_commandLine() { 181s # The prompt format is only available from bash 4.4. 181s # We test if it is available before using it. 181s if (x=${PS1@P}) 2> /dev/null; then 181s printf "%s" "${PS1@P}${COMP_LINE[@]}" 181s else 181s # Can't print the prompt. Just print the 181s # text the user had typed, it is workable enough. 181s printf "%s" "${COMP_LINE[@]}" 181s fi 181s } 181s 181s # Separate activeHelp lines from real completions. 181s # Fills the $activeHelp and $completions arrays. 181s __adsysctl_extract_activeHelp() { 181s local activeHelpMarker="_activeHelp_ " 181s local endIndex=${#activeHelpMarker} 181s 181s while IFS='' read -r comp; do 181s [[ -z $comp ]] && continue 181s 181s if [[ ${comp:0:endIndex} == $activeHelpMarker ]]; then 181s comp=${comp:endIndex} 181s __adsysctl_debug "ActiveHelp found: $comp" 181s if [[ -n $comp ]]; then 181s activeHelp+=("$comp") 181s fi 181s else 181s # Not an activeHelp line but a normal completion 181s completions+=("$comp") 181s fi 181s done <<<"${out}" 181s } 181s 181s __adsysctl_handle_completion_types() { 181s __adsysctl_debug "__adsysctl_handle_completion_types: COMP_TYPE is $COMP_TYPE" 181s 181s case $COMP_TYPE in 181s 37|42) 181s # Type: menu-complete/menu-complete-backward and insert-completions 181s # If the user requested inserting one completion at a time, or all 181s # completions at once on the command-line we must remove the descriptions. 181s # https://github.com/spf13/cobra/issues/1508 181s 181s # If there are no completions, we don't need to do anything 181s (( ${#completions[@]} == 0 )) && return 0 181s 181s local tab=$'\t' 181s 181s # Strip any description and escape the completion to handled special characters 181s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]%%$tab*}") 181s 181s # Only consider the completions that match 181s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 181s 181s # compgen looses the escaping so we need to escape all completions again since they will 181s # all be inserted on the command-line. 181s IFS=$'\n' read -ra COMPREPLY -d '' < <(printf "%q\n" "${COMPREPLY[@]}") 181s ;; 181s 181s *) 181s # Type: complete (normal completion) 181s __adsysctl_handle_standard_completion_case 181s ;; 181s esac 181s } 181s 181s __adsysctl_handle_standard_completion_case() { 181s local tab=$'\t' 181s 181s # If there are no completions, we don't need to do anything 181s (( ${#completions[@]} == 0 )) && return 0 181s 181s # Short circuit to optimize if we don't have descriptions 181s if [[ "${completions[*]}" != *$tab* ]]; then 181s # First, escape the completions to handle special characters 181s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]}") 181s # Only consider the completions that match what the user typed 181s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 181s 181s # compgen looses the escaping so, if there is only a single completion, we need to 181s # escape it again because it will be inserted on the command-line. If there are multiple 181s # completions, we don't want to escape them because they will be printed in a list 181s # and we don't want to show escape characters in that list. 181s if (( ${#COMPREPLY[@]} == 1 )); then 181s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]}") 181s fi 181s return 0 181s fi 181s 181s local longest=0 181s local compline 181s # Look for the longest completion so that we can format things nicely 181s while IFS='' read -r compline; do 181s [[ -z $compline ]] && continue 181s 181s # Before checking if the completion matches what the user typed, 181s # we need to strip any description and escape the completion to handle special 181s # characters because those escape characters are part of what the user typed. 181s # Don't call "printf" in a sub-shell because it will be much slower 181s # since we are in a loop. 181s printf -v comp "%q" "${compline%%$tab*}" &>/dev/null || comp=$(printf "%q" "${compline%%$tab*}") 181s 181s # Only consider the completions that match 181s [[ $comp == "$cur"* ]] || continue 181s 181s # The completions matches. Add it to the list of full completions including 181s # its description. We don't escape the completion because it may get printed 181s # in a list if there are more than one and we don't want show escape characters 181s # in that list. 181s COMPREPLY+=("$compline") 181s 181s # Strip any description before checking the length, and again, don't escape 181s # the completion because this length is only used when printing the completions 181s # in a list and we don't want show escape characters in that list. 181s comp=${compline%%$tab*} 181s if ((${#comp}>longest)); then 181s longest=${#comp} 181s fi 181s done < <(printf "%s\n" "${completions[@]}") 181s 181s # If there is a single completion left, remove the description text and escape any special characters 181s if ((${#COMPREPLY[*]} == 1)); then 181s __adsysctl_debug "COMPREPLY[0]: ${COMPREPLY[0]}" 181s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]%%$tab*}") 181s __adsysctl_debug "Removed description from single completion, which is now: ${COMPREPLY[0]}" 181s else 181s # Format the descriptions 181s __adsysctl_format_comp_descriptions $longest 181s fi 181s } 181s 181s __adsysctl_handle_special_char() 181s { 181s local comp="$1" 181s local char=$2 181s if [[ "$comp" == *${char}* && "$COMP_WORDBREAKS" == *${char}* ]]; then 181s local word=${comp%"${comp##*${char}}"} 181s local idx=${#COMPREPLY[*]} 181s while ((--idx >= 0)); do 181s COMPREPLY[idx]=${COMPREPLY[idx]#"$word"} 181s done 181s fi 181s } 181s 181s __adsysctl_format_comp_descriptions() 181s { 181s local tab=$'\t' 181s local comp desc maxdesclength 181s local longest=$1 181s 181s local i ci 181s for ci in ${!COMPREPLY[*]}; do 181s comp=${COMPREPLY[ci]} 181s # Properly format the description string which follows a tab character if there is one 181s if [[ "$comp" == *$tab* ]]; then 181s __adsysctl_debug "Original comp: $comp" 181s desc=${comp#*$tab} 181s comp=${comp%%$tab*} 181s 181s # $COLUMNS stores the current shell width. 181s # Remove an extra 4 because we add 2 spaces and 2 parentheses. 181s maxdesclength=$(( COLUMNS - longest - 4 )) 181s 181s # Make sure we can fit a description of at least 8 characters 181s # if we are to align the descriptions. 181s if ((maxdesclength > 8)); then 181s # Add the proper number of spaces to align the descriptions 181s for ((i = ${#comp} ; i < longest ; i++)); do 181s comp+=" " 181s done 181s else 181s # Don't pad the descriptions so we can fit more text after the completion 181s maxdesclength=$(( COLUMNS - ${#comp} - 4 )) 181s fi 181s 181s # If there is enough space for any description text, 181s # truncate the descriptions that are too long for the shell width 181s if ((maxdesclength > 0)); then 181s if ((${#desc} > maxdesclength)); then 181s desc=${desc:0:$(( maxdesclength - 1 ))} 181s desc+="…" 181s fi 181s comp+=" ($desc)" 181s fi 181s COMPREPLY[ci]=$comp 181s __adsysctl_debug "Final comp: $comp" 181s fi 181s done 181s } 181s 181s __start_adsysctl() 181s { 181s local cur prev words cword split 181s 181s COMPREPLY=() 181s 181s # Call _init_completion from the bash-completion package 181s # to prepare the arguments properly 181s if declare -F _init_completion >/dev/null 2>&1; then 181s _init_completion -n =: || return 181s else 181s __adsysctl_init_completion -n =: || return 181s fi 181s 181s __adsysctl_debug 181s __adsysctl_debug "========= starting completion logic ==========" 181s __adsysctl_debug "cur is ${cur}, words[*] is ${words[*]}, #words[@] is ${#words[@]}, cword is $cword" 181s 181s # The user could have moved the cursor backwards on the command-line. 181s # We need to trigger completion from the $cword location, so we need 181s # to truncate the command-line ($words) up to the $cword location. 181s words=("${words[@]:0:$cword+1}") 181s __adsysctl_debug "Truncated words[*]: ${words[*]}," 181s 181s local out directive 181s __adsysctl_get_completion_results 181s __adsysctl_process_completion_results 181s } 181s 181s if [[ $(type -t compopt) = "builtin" ]]; then 181s complete -o default -F __start_adsysctl adsysctl 181s else 181s complete -o default -o nospace -F __start_adsysctl adsysctl 181s fi 181s 181s # ex: ts=4 sw=4 et filetype=sh 181s --- PASS: TestAppCanQuitAfterExecute (0.00s) 181s === CONT TestAppCanSigHupAfterExecute 181s --- PASS: TestAppGetRootCmd (0.01s) 181s === CONT TestAppCanSigHupWhenExecute 181s # bash completion V2 for adsysctl -*- shell-script -*- 181s 181s __adsysctl_debug() 181s { 181s if [[ -n ${BASH_COMP_DEBUG_FILE-} ]]; then 181s echo "$*" >> "${BASH_COMP_DEBUG_FILE}" 181s fi 181s } 181s 181s # Macs have bash3 for which the bash-completion package doesn't include 181s # _init_completion. This is a minimal version of that function. 181s __adsysctl_init_completion() 181s { 181s COMPREPLY=() 181s _get_comp_words_by_ref "$@" cur prev words cword 181s } 181s 181s # This function calls the adsysctl program to obtain the completion 181s # results and the directive. It fills the 'out' and 'directive' vars. 181s __adsysctl_get_completion_results() { 181s local requestComp lastParam lastChar args 181s 181s # Prepare the command to request completions for the program. 181s # Calling ${words[0]} instead of directly adsysctl allows handling aliases 181s args=("${words[@]:1}") 181s requestComp="${words[0]} __complete ${args[*]}" 181s 181s lastParam=${words[$((${#words[@]}-1))]} 181s lastChar=${lastParam:$((${#lastParam}-1)):1} 181s __adsysctl_debug "lastParam ${lastParam}, lastChar ${lastChar}" 181s 181s if [[ -z ${cur} && ${lastChar} != = ]]; then 181s # If the last parameter is complete (there is a space following it) 181s # We add an extra empty parameter so we can indicate this to the go method. 181s __adsysctl_debug "Adding extra empty parameter" 181s requestComp="${requestComp} ''" 181s fi 181s 181s # When completing a flag with an = (e.g., adsysctl -n=) 181s # bash focuses on the part after the =, so we need to remove 181s # the flag part from $cur 181s if [[ ${cur} == -*=* ]]; then 181s cur="${cur#*=}" 181s fi 181s 181s __adsysctl_debug "Calling ${requestComp}" 181s # Use eval to handle any environment variables and such 181s out=$(eval "${requestComp}" 2>/dev/null) 181s 181s # Extract the directive integer at the very end of the output following a colon (:) 181s directive=${out##*:} 181s # Remove the directive 181s out=${out%:*} 181s if [[ ${directive} == "${out}" ]]; then 181s # There is not directive specified 181s directive=0 181s fi 181s __adsysctl_debug "The completion directive is: ${directive}" 181s __adsysctl_debug "The completions are: ${out}" 181s } 181s 181s __adsysctl_process_completion_results() { 181s local shellCompDirectiveError=1 181s local shellCompDirectiveNoSpace=2 181s local shellCompDirectiveNoFileComp=4 181s local shellCompDirectiveFilterFileExt=8 181s local shellCompDirectiveFilterDirs=16 181s local shellCompDirectiveKeepOrder=32 181s 181s if (((directive & shellCompDirectiveError) != 0)); then 181s # Error code. No completion. 181s __adsysctl_debug "Received error from custom completion go code" 181s return 181s else 181s if (((directive & shellCompDirectiveNoSpace) != 0)); then 181s if [[ $(type -t compopt) == builtin ]]; then 181s __adsysctl_debug "Activating no space" 181s compopt -o nospace 181s else 181s __adsysctl_debug "No space directive not supported in this version of bash" 181s fi 181s fi 181s if (((directive & shellCompDirectiveKeepOrder) != 0)); then 181s if [[ $(type -t compopt) == builtin ]]; then 181s # no sort isn't supported for bash less than < 4.4 181s if [[ ${BASH_VERSINFO[0]} -lt 4 || ( ${BASH_VERSINFO[0]} -eq 4 && ${BASH_VERSINFO[1]} -lt 4 ) ]]; then 181s __adsysctl_debug "No sort directive not supported in this version of bash" 181s else 181s __adsysctl_debug "Activating keep order" 181s compopt -o nosort 181s fi 181s else 181s __adsysctl_debug "No sort directive not supported in this version of bash" 181s fi 181s fi 181s if (((directive & shellCompDirectiveNoFileComp) != 0)); then 181s if [[ $(type -t compopt) == builtin ]]; then 181s __adsysctl_debug "Activating no file completion" 181s compopt +o default 181s else 181s __adsysctl_debug "No file completion directive not supported in this version of bash" 181s fi 181s fi 181s fi 181s 181s # Separate activeHelp from normal completions 181s local completions=() 181s local activeHelp=() 181s __adsysctl_extract_activeHelp 181s 181s if (((directive & shellCompDirectiveFilterFileExt) != 0)); then 181s # File extension filtering 181s local fullFilter="" filter filteringCmd 181s 181s # Do not use quotes around the $completions variable or else newline 181s # characters will be kept. 181s for filter in ${completions[*]}; do 181s fullFilter+="$filter|" 181s done 181s 181s filteringCmd="_filedir $fullFilter" 181s __adsysctl_debug "File filtering command: $filteringCmd" 181s $filteringCmd 181s elif (((directive & shellCompDirectiveFilterDirs) != 0)); then 181s # File completion for directories only 181s 181s local subdir 181s subdir=${completions[0]} 181s if [[ -n $subdir ]]; then 181s __adsysctl_debug "Listing directories in $subdir" 181s pushd "$subdir" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 || return 181s else 181s __adsysctl_debug "Listing directories in ." 181s _filedir -d 181s fi 181s else 181s __adsysctl_handle_completion_types 181s fi 181s 181s __adsysctl_handle_special_char "$cur" : 181s __adsysctl_handle_special_char "$cur" = 181s 181s # Print the activeHelp statements before we finish 181s __adsysctl_handle_activeHelp 181s } 181s 181s __adsysctl_handle_activeHelp() { 181s # Print the activeHelp statements 181s if ((${#activeHelp[*]} != 0)); then 181s if [ -z $COMP_TYPE ]; then 181s # Bash v3 does not set the COMP_TYPE variable. 181s printf "\n"; 181s printf "%s\n" "${activeHelp[@]}" 181s printf "\n" 181s __adsysctl_reprint_commandLine 181s return 181s fi 181s 181s # Only print ActiveHelp on the second TAB press 181s if [ $COMP_TYPE -eq 63 ]; then 181s printf "\n" 181s printf "%s\n" "${activeHelp[@]}" 181s 181s if ((${#COMPREPLY[*]} == 0)); then 181s # When there are no completion choices from the program, file completion 181s # may kick in if the program has not disabled it; in such a case, we want 181s # to know if any files will match what the user typed, so that we know if 181s # there will be completions presented, so that we know how to handle ActiveHelp. 181s # To find out, we actually trigger the file completion ourselves; 181s # the call to _filedir will fill COMPREPLY if files match. 181s if (((directive & shellCompDirectiveNoFileComp) == 0)); then 181s __adsysctl_debug "Listing files" 181s _filedir 181s fi 181s fi 181s 181s if ((${#COMPREPLY[*]} != 0)); then 181s # If there are completion choices to be shown, print a delimiter. 181s # Re-printing the command-line will automatically be done 181s # by the shell when it prints the completion choices. 181s printf -- "--" 181s else 181s # When there are no completion choices at all, we need 181s # to re-print the command-line since the shell will 181s # not be doing it itself. 181s __adsysctl_reprint_commandLine 181s fi 181s elif [ $COMP_TYPE -eq 37 ] || [ $COMP_TYPE -eq 42 ]; then 181s # For completion type: menu-complete/menu-complete-backward and insert-completions 181s # the completions are immediately inserted into the command-line, so we first 181s # print the activeHelp message and reprint the command-line since the shell won't. 181s printf "\n" 181s printf "%s\n" "${activeHelp[@]}" 181s 181s __adsysctl_reprint_commandLine 181s fi 181s fi 181s } 181s 181s __adsysctl_reprint_commandLine() { 181s # The prompt format is only available from bash 4.4. 181s # We test if it is available before using it. 181s if (x=${PS1@P}) 2> /dev/null; then 181s printf "%s" "${PS1@P}${COMP_LINE[@]}" 181s else 181s # Can't print the prompt. Just print the 181s # text the user had typed, it is workable enough. 181s printf "%s" "${COMP_LINE[@]}" 181s fi 181s } 181s 181s # Separate activeHelp lines from real completions. 181s # Fills the $activeHelp and $completions arrays. 181s __adsysctl_extract_activeHelp() { 181s local activeHelpMarker="_activeHelp_ " 181s local endIndex=${#activeHelpMarker} 181s 181s while IFS='' read -r comp; do 181s [[ -z $comp ]] && continue 181s 181s if [[ ${comp:0:endIndex} == $activeHelpMarker ]]; then 181s comp=${comp:endIndex} 181s __adsysctl_debug "ActiveHelp found: $comp" 181s if [[ -n $comp ]]; then 181s activeHelp+=("$comp") 181s fi 181s else 181s # Not an activeHelp line but a normal completion 181s completions+=("$comp") 181s fi 181s done <<<"${out}" 181s } 181s 181s __adsysctl_handle_completion_types() { 181s __adsysctl_debug "__adsysctl_handle_completion_types: COMP_TYPE is $COMP_TYPE" 181s 181s case $COMP_TYPE in 181s 37|42) 181s # Type: menu-complete/menu-complete-backward and insert-completions 181s # If the user requested inserting one completion at a time, or all 181s # completions at once on the command-line we must remove the descriptions. 181s # https://github.com/spf13/cobra/issues/1508 181s 181s # If there are no completions, we don't need to do anything 181s (( ${#completions[@]} == 0 )) && return 0 181s 181s local tab=$'\t' 181s 181s # Strip any description and escape the completion to handled special characters 181s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]%%$tab*}") 181s 181s # Only consider the completions that match 181s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 181s 181s # compgen looses the escaping so we need to escape all completions again since they will 181s # all be inserted on the command-line. 181s IFS=$'\n' read -ra COMPREPLY -d '' < <(printf "%q\n" "${COMPREPLY[@]}") 181s ;; 181s 181s *) 181s # Type: complete (normal completion) 181s __adsysctl_handle_standard_completion_case 181s ;; 181s esac 181s } 181s 181s __adsysctl_handle_standard_completion_case() { 181s local tab=$'\t' 181s 181s # If there are no completions, we don't need to do anything 181s (( ${#completions[@]} == 0 )) && return 0 181s 181s # Short circuit to optimize if we don't have descriptions 181s if [[ "${completions[*]}" != *$tab* ]]; then 181s # First, escape the completions to handle special characters 181s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]}") 181s # Only consider the completions that match what the user typed 181s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 181s 181s # compgen looses the escaping so, if there is only a single completion, we need to 181s # escape it again because it will be inserted on the command-line. If there are multiple 181s # completions, we don't want to escape them because they will be printed in a list 181s # and we don't want to show escape characters in that list. 181s if (( ${#COMPREPLY[@]} == 1 )); then 181s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]}") 181s fi 181s return 0 181s fi 181s 181s local longest=0 181s local compline 181s # Look for the longest completion so that we can format things nicely 181s while IFS='' read -r compline; do 181s [[ -z $compline ]] && continue 181s 181s # Before checking if the completion matches what the user typed, 181s # we need to strip any description and escape the completion to handle special 181s # characters because those escape characters are part of what the user typed. 181s # Don't call "printf" in a sub-shell because it will be much slower 181s # since we are in a loop. 181s printf -v comp "%q" "${compline%%$tab*}" &>/dev/null || comp=$(printf "%q" "${compline%%$tab*}") 181s 181s # Only consider the completions that match 181s [[ $comp == "$cur"* ]] || continue 181s 181s # The completions matches. Add it to the list of full completions including 181s # its description. We don't escape the completion because it may get printed 181s # in a list if there are more than one and we don't want show escape characters 181s # in that list. 181s COMPREPLY+=("$compline") 181s 181s # Strip any description before checking the length, and again, don't escape 181s # the completion because this length is only used when printing the completions 181s # in a list and we don't want show escape characters in that list. 181s comp=${compline%%$tab*} 181s if ((${#comp}>longest)); then 181s longest=${#comp} 181s fi 181s done < <(printf "%s\n" "${completions[@]}") 181s 181s # If there is a single completion left, remove the description text and escape any special characters 181s if ((${#COMPREPLY[*]} == 1)); then 181s __adsysctl_debug "COMPREPLY[0]: ${COMPREPLY[0]}" 181s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]%%$tab*}") 181s __adsysctl_debug "Removed description from single completion, which is now: ${COMPREPLY[0]}" 181s else 181s # Format the descriptions 181s __adsysctl_format_comp_descriptions $longest 181s fi 181s } 181s 181s __adsysctl_handle_special_char() 181s { 181s local comp="$1" 181s local char=$2 181s if [[ "$comp" == *${char}* && "$COMP_WORDBREAKS" == *${char}* ]]; then 181s local word=${comp%"${comp##*${char}}"} 181s local idx=${#COMPREPLY[*]} 181s while ((--idx >= 0)); do 181s COMPREPLY[idx]=${COMPREPLY[idx]#"$word"} 181s done 181s fi 181s } 181s 181s __adsysctl_format_comp_descriptions() 181s { 181s local tab=$'\t' 181s local comp desc maxdesclength 181s local longest=$1 181s 181s local i ci 181s for ci in ${!COMPREPLY[*]}; do 181s comp=${COMPREPLY[ci]} 181s # Properly format the description string which follows a tab character if there is one 181s if [[ "$comp" == *$tab* ]]; then 181s __adsysctl_debug "Original comp: $comp" 181s desc=${comp#*$tab} 181s comp=${comp%%$tab*} 181s 181s # $COLUMNS stores the current shell width. 181s # Remove an extra 4 because we add 2 spaces and 2 parentheses. 181s maxdesclength=$(( COLUMNS - longest - 4 )) 181s 181s # Make sure we can fit a description of at least 8 characters 181s # if we are to align the descriptions. 181s if ((maxdesclength > 8)); then 181s # Add the proper number of spaces to align the descriptions 181s for ((i = ${#comp} ; i < longest ; i++)); do 181s comp+=" " 181s done 181s else 181s # Don't pad the descriptions so we can fit more text after the completion 181s maxdesclength=$(( COLUMNS - ${#comp} - 4 )) 181s fi 181s 181s # If there is enough space for any description text, 181s # truncate the descriptions that are too long for the shell width 181s if ((maxdesclength > 0)); then 181s if ((${#desc} > maxdesclength)); then 181s desc=${desc:0:$(( maxdesclength - 1 ))} 181s desc+="…" 181s fi 181s comp+=" ($desc)" 181s fi 181s COMPREPLY[ci]=$comp 181s __adsysctl_debug "Final comp: $comp" 181s fi 181s done 181s } 181s 181s __start_adsysctl() 181s { 181s local cur prev words cword split 181s 181s COMPREPLY=() 181s 181s # Call _init_completion from the bash-completion package 181s # to prepare the arguments properly 181s if declare -F _init_completion >/dev/null 2>&1; then 181s _init_completion -n =: || return 181s else 181s __adsysctl_init_completion -n =: || return 181s fi 181s 181s __adsysctl_debug 181s __adsysctl_debug "========= starting completion logic ==========" 181s __adsysctl_debug "cur is ${cur}, words[*] is ${words[*]}, #words[@] is ${#words[@]}, cword is $cword" 181s 181s # The user could have moved the cursor backwards on the command-line. 181s # We need to trigger completion from the $cword location, so we need 181s # to truncate the command-line ($words) up to the $cword location. 181s words=("${words[@]:0:$cword+1}") 181s __adsysctl_debug "Truncated words[*]: ${words[*]}," 181s 181s local out directive 181s __adsysctl_get_completion_results 181s __adsysctl_process_completion_results 181s } 181s 181s if [[ $(type -t compopt) = "builtin" ]]; then 181s complete -o default -F __start_adsysctl adsysctl 181s else 181s complete -o default -o nospace -F __start_adsysctl adsysctl 181s fi 181s 181s # ex: ts=4 sw=4 et filetype=sh 181s --- PASS: TestAppCanSigHupAfterExecute (0.01s) 181s === CONT TestAppCanQuitWithoutExecute 181s --- PASS: TestAppCanSigHupWhenExecute (0.00s) 181s === CONT TestAppNoUsageError 181s # bash completion V2 for adsysctl -*- shell-script -*- 181s 181s __adsysctl_debug() 181s { 181s if [[ -n ${BASH_COMP_DEBUG_FILE-} ]]; then 181s echo "$*" >> "${BASH_COMP_DEBUG_FILE}" 181s fi 181s } 181s 181s # Macs have bash3 for which the bash-completion package doesn't include 181s # _init_completion. This is a minimal version of that function. 181s __adsysctl_init_completion() 181s { 181s COMPREPLY=() 181s _get_comp_words_by_ref "$@" cur prev words cword 181s } 181s 181s # This function calls the adsysctl program to obtain the completion 181s # results and the directive. It fills the 'out' and 'directive' vars. 181s __adsysctl_get_completion_results() { 181s local requestComp lastParam lastChar args 181s 181s # Prepare the command to request completions for the program. 181s # Calling ${words[0]} instead of directly adsysctl allows handling aliases 181s args=("${words[@]:1}") 181s requestComp="${words[0]} __complete ${args[*]}" 181s 181s lastParam=${words[$((${#words[@]}-1))]} 181s lastChar=${lastParam:$((${#lastParam}-1)):1} 181s __adsysctl_debug "lastParam ${lastParam}, lastChar ${lastChar}" 181s 181s if [[ -z ${cur} && ${lastChar} != = ]]; then 181s # If the last parameter is complete (there is a space following it) 181s # We add an extra empty parameter so we can indicate this to the go method. 181s __adsysctl_debug "Adding extra empty parameter" 181s requestComp="${requestComp} ''" 181s fi 181s 181s # When completing a flag with an = (e.g., adsysctl -n=) 181s # bash focuses on the part after the =, so we need to remove 181s # the flag part from $cur 181s if [[ ${cur} == -*=* ]]; then 181s cur="${cur#*=}" 181s fi 181s 181s __adsysctl_debug "Calling ${requestComp}" 181s # Use eval to handle any environment variables and such 181s out=$(eval "${requestComp}" 2>/dev/null) 181s 181s # Extract the directive integer at the very end of the output following a colon (:) 181s directive=${out##*:} 181s # Remove the directive 181s out=${out%:*} 181s if [[ ${directive} == "${out}" ]]; then 181s # There is not directive specified 181s directive=0 181s fi 181s __adsysctl_debug "The completion directive is: ${directive}" 181s __adsysctl_debug "The completions are: ${out}" 181s } 181s 181s __adsysctl_process_completion_results() { 181s local shellCompDirectiveError=1 181s local shellCompDirectiveNoSpace=2 181s local shellCompDirectiveNoFileComp=4 181s local shellCompDirectiveFilterFileExt=8 181s local shellCompDirectiveFilterDirs=16 181s local shellCompDirectiveKeepOrder=32 181s 181s if (((directive & shellCompDirectiveError) != 0)); then 181s # Error code. No completion. 181s __adsysctl_debug "Received error from custom completion go code" 181s return 181s else 181s if (((directive & shellCompDirectiveNoSpace) != 0)); then 181s if [[ $(type -t compopt) == builtin ]]; then 181s __adsysctl_debug "Activating no space" 181s compopt -o nospace 181s else 181s __adsysctl_debug "No space directive not supported in this version of bash" 181s fi 181s fi 181s if (((directive & shellCompDirectiveKeepOrder) != 0)); then 181s if [[ $(type -t compopt) == builtin ]]; then 181s # no sort isn't supported for bash less than < 4.4 181s if [[ ${BASH_VERSINFO[0]} -lt 4 || ( ${BASH_VERSINFO[0]} -eq 4 && ${BASH_VERSINFO[1]} -lt 4 ) ]]; then 181s __adsysctl_debug "No sort directive not supported in this version of bash" 181s else 181s __adsysctl_debug "Activating keep order" 181s compopt -o nosort 181s fi 181s else 181s __adsysctl_debug "No sort directive not supported in this version of bash" 181s fi 181s fi 181s if (((directive & shellCompDirectiveNoFileComp) != 0)); then 181s if [[ $(type -t compopt) == builtin ]]; then 181s __adsysctl_debug "Activating no file completion" 181s compopt +o default 181s else 181s __adsysctl_debug "No file completion directive not supported in this version of bash" 181s fi 181s fi 181s fi 181s 181s # Separate activeHelp from normal completions 181s local completions=() 181s local activeHelp=() 181s __adsysctl_extract_activeHelp 181s 181s if (((directive & shellCompDirectiveFilterFileExt) != 0)); then 181s # File extension filtering 181s local fullFilter="" filter filteringCmd 181s 181s # Do not use quotes around the $completions variable or else newline 181s # characters will be kept. 181s for filter in ${completions[*]}; do 181s fullFilter+="$filter|" 181s done 181s 181s filteringCmd="_filedir $fullFilter" 181s __adsysctl_debug "File filtering command: $filteringCmd" 181s $filteringCmd 181s elif (((directive & shellCompDirectiveFilterDirs) != 0)); then 181s # File completion for directories only 181s 181s local subdir 181s subdir=${completions[0]} 181s if [[ -n $subdir ]]; then 181s __adsysctl_debug "Listing directories in $subdir" 181s pushd "$subdir" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 || return 181s else 181s __adsysctl_debug "Listing directories in ." 181s _filedir -d 181s fi 181s else 181s __adsysctl_handle_completion_types 181s fi 181s 181s __adsysctl_handle_special_char "$cur" : 181s __adsysctl_handle_special_char "$cur" = 181s 181s # Print the activeHelp statements before we finish 181s __adsysctl_handle_activeHelp 181s } 181s 181s __adsysctl_handle_activeHelp() { 181s # Print the activeHelp statements 181s if ((${#activeHelp[*]} != 0)); then 181s if [ -z $COMP_TYPE ]; then 181s # Bash v3 does not set the COMP_TYPE variable. 181s printf "\n"; 181s printf "%s\n" "${activeHelp[@]}" 181s printf "\n" 181s __adsysctl_reprint_commandLine 181s return 181s fi 181s 181s # Only print ActiveHelp on the second TAB press 181s if [ $COMP_TYPE -eq 63 ]; then 181s printf "\n" 181s printf "%s\n" "${activeHelp[@]}" 181s 181s if ((${#COMPREPLY[*]} == 0)); then 181s # When there are no completion choices from the program, file completion 181s # may kick in if the program has not disabled it; in such a case, we want 181s # to know if any files will match what the user typed, so that we know if 181s # there will be completions presented, so that we know how to handle ActiveHelp. 181s # To find out, we actually trigger the file completion ourselves; 181s # the call to _filedir will fill COMPREPLY if files match. 181s if (((directive & shellCompDirectiveNoFileComp) == 0)); then 181s __adsysctl_debug "Listing files" 181s _filedir 181s fi 181s fi 181s 181s if ((${#COMPREPLY[*]} != 0)); then 181s # If there are completion choices to be shown, print a delimiter. 181s # Re-printing the command-line will automatically be done 181s # by the shell when it prints the completion choices. 181s printf -- "--" 181s else 181s # When there are no completion choices at all, we need 181s # to re-print the command-line since the shell will 181s # not be doing it itself. 181s __adsysctl_reprint_commandLine 181s fi 181s elif [ $COMP_TYPE -eq 37 ] || [ $COMP_TYPE -eq 42 ]; then 181s # For completion type: menu-complete/menu-complete-backward and insert-completions 181s # the completions are immediately inserted into the command-line, so we first 181s # print the activeHelp message and reprint the command-line since the shell won't. 181s printf "\n" 181s printf "%s\n" "${activeHelp[@]}" 181s 181s __adsysctl_reprint_commandLine 181s fi 181s fi 181s } 181s 181s __adsysctl_reprint_commandLine() { 181s # The prompt format is only available from bash 4.4. 181s # We test if it is available before using it. 181s if (x=${PS1@P}) 2> /dev/null; then 181s printf "%s" "${PS1@P}${COMP_LINE[@]}" 181s else 181s # Can't print the prompt. Just print the 181s # text the user had typed, it is workable enough. 181s printf "%s" "${COMP_LINE[@]}" 181s fi 181s } 181s 181s # Separate activeHelp lines from real completions. 181s # Fills the $activeHelp and $completions arrays. 181s __adsysctl_extract_activeHelp() { 181s local activeHelpMarker="_activeHelp_ " 181s local endIndex=${#activeHelpMarker} 181s 181s while IFS='' read -r comp; do 181s [[ -z $comp ]] && continue 181s 181s if [[ ${comp:0:endIndex} == $activeHelpMarker ]]; then 181s comp=${comp:endIndex} 181s __adsysctl_debug "ActiveHelp found: $comp" 181s if [[ -n $comp ]]; then 181s activeHelp+=("$comp") 181s fi 181s else 181s # Not an activeHelp line but a normal completion 181s completions+=("$comp") 181s fi 181s done <<<"${out}" 181s } 181s 181s __adsysctl_handle_completion_types() { 181s __adsysctl_debug "__adsysctl_handle_completion_types: COMP_TYPE is $COMP_TYPE" 181s 181s case $COMP_TYPE in 181s 37|42) 181s # Type: menu-complete/menu-complete-backward and insert-completions 181s # If the user requested inserting one completion at a time, or all 181s # completions at once on the command-line we must remove the descriptions. 181s # https://github.com/spf13/cobra/issues/1508 181s 181s # If there are no completions, we don't need to do anything 181s (( ${#completions[@]} == 0 )) && return 0 181s 181s local tab=$'\t' 181s 181s # Strip any description and escape the completion to handled special characters 181s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]%%$tab*}") 181s 181s # Only consider the completions that match 181s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 181s 181s # compgen looses the escaping so we need to escape all completions again since they will 181s # all be inserted on the command-line. 181s IFS=$'\n' read -ra COMPREPLY -d '' < <(printf "%q\n" "${COMPREPLY[@]}") 181s ;; 181s 181s *) 181s # Type: complete (normal completion) 181s __adsysctl_handle_standard_completion_case 181s ;; 181s esac 181s } 181s 181s __adsysctl_handle_standard_completion_case() { 181s local tab=$'\t' 181s 181s # If there are no completions, we don't need to do anything 181s (( ${#completions[@]} == 0 )) && return 0 181s 181s # Short circuit to optimize if we don't have descriptions 181s if [[ "${completions[*]}" != *$tab* ]]; then 181s # First, escape the completions to handle special characters 181s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]}") 181s # Only consider the completions that match what the user typed 181s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 181s 181s # compgen looses the escaping so, if there is only a single completion, we need to 181s # escape it again because it will be inserted on the command-line. If there are multiple 181s # completions, we don't want to escape them because they will be printed in a list 181s # and we don't want to show escape characters in that list. 181s if (( ${#COMPREPLY[@]} == 1 )); then 181s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]}") 181s fi 181s return 0 181s fi 181s 181s local longest=0 181s local compline 181s # Look for the longest completion so that we can format things nicely 181s while IFS='' read -r compline; do 181s [[ -z $compline ]] && continue 181s 181s # Before checking if the completion matches what the user typed, 181s # we need to strip any description and escape the completion to handle special 181s # characters because those escape characters are part of what the user typed. 181s # Don't call "printf" in a sub-shell because it will be much slower 181s # since we are in a loop. 181s printf -v comp "%q" "${compline%%$tab*}" &>/dev/null || comp=$(printf "%q" "${compline%%$tab*}") 181s 181s # Only consider the completions that match 181s [[ $comp == "$cur"* ]] || continue 181s 181s # The completions matches. Add it to the list of full completions including 181s # its description. We don't escape the completion because it may get printed 181s # in a list if there are more than one and we don't want show escape characters 181s # in that list. 181s COMPREPLY+=("$compline") 181s 181s # Strip any description before checking the length, and again, don't escape 181s # the completion because this length is only used when printing the completions 181s # in a list and we don't want show escape characters in that list. 181s comp=${compline%%$tab*} 181s if ((${#comp}>longest)); then 181s longest=${#comp} 181s fi 181s done < <(printf "%s\n" "${completions[@]}") 181s 181s # If there is a single completion left, remove the description text and escape any special characters 181s if ((${#COMPREPLY[*]} == 1)); then 181s __adsysctl_debug "COMPREPLY[0]: ${COMPREPLY[0]}" 181s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]%%$tab*}") 181s __adsysctl_debug "Removed description from single completion, which is now: ${COMPREPLY[0]}" 181s else 181s # Format the descriptions 181s __adsysctl_format_comp_descriptions $longest 181s fi 181s } 181s 181s __adsysctl_handle_special_char() 181s { 181s local comp="$1" 181s local char=$2 181s if [[ "$comp" == *${char}* && "$COMP_WORDBREAKS" == *${char}* ]]; then 181s local word=${comp%"${comp##*${char}}"} 181s local idx=${#COMPREPLY[*]} 181s while ((--idx >= 0)); do 181s COMPREPLY[idx]=${COMPREPLY[idx]#"$word"} 181s done 181s fi 181s } 181s 181s __adsysctl_format_comp_descriptions() 181s { 181s local tab=$'\t' 181s local comp desc maxdesclength 181s local longest=$1 181s 181s local i ci 181s for ci in ${!COMPREPLY[*]}; do 181s comp=${COMPREPLY[ci]} 181s # Properly format the description string which follows a tab character if there is one 181s if [[ "$comp" == *$tab* ]]; then 181s __adsysctl_debug "Original comp: $comp" 181s desc=${comp#*$tab} 181s comp=${comp%%$tab*} 181s 181s # $COLUMNS stores the current shell width. 181s # Remove an extra 4 because we add 2 spaces and 2 parentheses. 181s maxdesclength=$(( COLUMNS - longest - 4 )) 181s 181s # Make sure we can fit a description of at least 8 characters 181s # if we are to align the descriptions. 181s if ((maxdesclength > 8)); then 181s # Add the proper number of spaces to align the descriptions 181s for ((i = ${#comp} ; i < longest ; i++)); do 181s comp+=" " 181s done 181s else 181s # Don't pad the descriptions so we can fit more text after the completion 181s maxdesclength=$(( COLUMNS - ${#comp} - 4 )) 181s fi 181s 181s # If there is enough space for any description text, 181s # truncate the descriptions that are too long for the shell width 181s if ((maxdesclength > 0)); then 181s if ((${#desc} > maxdesclength)); then 181s desc=${desc:0:$(( maxdesclength - 1 ))} 181s desc+="…" 181s fi 181s comp+=" ($desc)" 181s fi 181s COMPREPLY[ci]=$comp 181s __adsysctl_debug "Final comp: $comp" 181s fi 181s done 181s } 181s 181s __start_adsysctl() 181s { 181s local cur prev words cword split 181s 181s COMPREPLY=() 181s 181s # Call _init_completion from the bash-completion package 181s # to prepare the arguments properly 181s if declare -F _init_completion >/dev/null 2>&1; then 181s _init_completion -n =: || return 181s else 181s __adsysctl_init_completion -n =: || return 181s fi 181s 181s __adsysctl_debug 181s __adsysctl_debug "========= starting completion logic ==========" 181s __adsysctl_debug "cur is ${cur}, words[*] is ${words[*]}, #words[@] is ${#words[@]}, cword is $cword" 181s 181s # The user could have moved the cursor backwards on the command-line. 181s # We need to trigger completion from the $cword location, so we need 181s # to truncate the command-line ($words) up to the $cword location. 181s words=("${words[@]:0:$cword+1}") 181s __adsysctl_debug "Truncated words[*]: ${words[*]}," 181s 181s local out directive 181s __adsysctl_get_completion_results 181s __adsysctl_process_completion_results 181s } 181s 181s if [[ $(type -t compopt) = "builtin" ]]; then 181s complete -o default -F __start_adsysctl adsysctl 181s else 181s complete -o default -o nospace -F __start_adsysctl adsysctl 181s fi 181s 181s # ex: ts=4 sw=4 et filetype=sh 181s --- PASS: TestAppNoUsageError (0.00s) 181s === CONT TestAppCanQuitWhenExecute 181s --- PASS: TestAppCanQuitWhenExecute (0.00s) 181s === CONT TestAppUsageError 181s --- PASS: TestAppCanQuitWithoutExecute (0.01s) 181s === CONT TestAppCompletion 181s # bash completion V2 for adsysctl -*- shell-script -*- 181s 181s __adsysctl_debug() 181s { 181s if [[ -n ${BASH_COMP_DEBUG_FILE-} ]]; then 181s echo "$*" >> "${BASH_COMP_DEBUG_FILE}" 181s fi 181s } 181s 181s # Macs have bash3 for which the bash-completion package doesn't include 181s # _init_completion. This is a minimal version of that function. 181s __adsysctl_init_completion() 181s { 181s COMPREPLY=() 181s _get_comp_words_by_ref "$@" cur prev words cword 181s } 181s 181s # This function calls the adsysctl program to obtain the completion 181s # results and the directive. It fills the 'out' and 'directive' vars. 181s __adsysctl_get_completion_results() { 181s local requestComp lastParam lastChar args 181s 181s # Prepare the command to request completions for the program. 181s # Calling ${words[0]} instead of directly adsysctl allows handling aliases 181s args=("${words[@]:1}") 181s requestComp="${words[0]} __complete ${args[*]}" 181s 181s lastParam=${words[$((${#words[@]}-1))]} 181s lastChar=${lastParam:$((${#lastParam}-1)):1} 181s __adsysctl_debug "lastParam ${lastParam}, lastChar ${lastChar}" 181s 181s if [[ -z ${cur} && ${lastChar} != = ]]; then 181s # If the last parameter is complete (there is a space following it) 181s # We add an extra empty parameter so we can indicate this to the go method. 181s __adsysctl_debug "Adding extra empty parameter" 181s requestComp="${requestComp} ''" 181s fi 181s 181s # When completing a flag with an = (e.g., adsysctl -n=) 181s # bash focuses on the part after the =, so we need to remove 181s # the flag part from $cur 181s if [[ ${cur} == -*=* ]]; then 181s cur="${cur#*=}" 181s fi 181s 181s __adsysctl_debug "Calling ${requestComp}" 181s # Use eval to handle any environment variables and such 181s out=$(eval "${requestComp}" 2>/dev/null) 181s 181s # Extract the directive integer at the very end of the output following a colon (:) 181s directive=${out##*:} 181s # Remove the directive 181s out=${out%:*} 181s if [[ ${directive} == "${out}" ]]; then 181s # There is not directive specified 181s directive=0 181s fi 181s __adsysctl_debug "The completion directive is: ${directive}" 181s __adsysctl_debug "The completions are: ${out}" 181s } 181s 181s __adsysctl_process_completion_results() { 181s local shellCompDirectiveError=1 181s local shellCompDirectiveNoSpace=2 181s local shellCompDirectiveNoFileComp=4 181s local shellCompDirectiveFilterFileExt=8 181s local shellCompDirectiveFilterDirs=16 181s local shellCompDirectiveKeepOrder=32 181s 181s if (((directive & shellCompDirectiveError) != 0)); then 181s # Error code. No completion. 181s __adsysctl_debug "Received error from custom completion go code" 181s return 181s else 181s if (((directive & shellCompDirectiveNoSpace) != 0)); then 181s if [[ $(type -t compopt) == builtin ]]; then 181s __adsysctl_debug "Activating no space" 181s compopt -o nospace 181s else 181s __adsysctl_debug "No space directive not supported in this version of bash" 181s fi 181s fi 181s if (((directive & shellCompDirectiveKeepOrder) != 0)); then 181s if [[ $(type -t compopt) == builtin ]]; then 181s # no sort isn't supported for bash less than < 4.4 181s if [[ ${BASH_VERSINFO[0]} -lt 4 || ( ${BASH_VERSINFO[0]} -eq 4 && ${BASH_VERSINFO[1]} -lt 4 ) ]]; then 181s __adsysctl_debug "No sort directive not supported in this version of bash" 181s else 181s __adsysctl_debug "Activating keep order" 181s compopt -o nosort 181s fi 181s else 181s __adsysctl_debug "No sort directive not supported in this version of bash" 181s fi 181s fi 181s if (((directive & shellCompDirectiveNoFileComp) != 0)); then 181s if [[ $(type -t compopt) == builtin ]]; then 181s __adsysctl_debug "Activating no file completion" 181s compopt +o default 181s else 181s __adsysctl_debug "No file completion directive not supported in this version of bash" 181s fi 181s fi 181s fi 181s 181s # Separate activeHelp from normal completions 181s local completions=() 181s local activeHelp=() 181s __adsysctl_extract_activeHelp 181s 181s if (((directive & shellCompDirectiveFilterFileExt) != 0)); then 181s # File extension filtering 181s local fullFilter="" filter filteringCmd 181s 181s # Do not use quotes around the $completions variable or else newline 181s # characters will be kept. 181s for filter in ${completions[*]}; do 181s fullFilter+="$filter|" 181s done 181s 181s filteringCmd="_filedir $fullFilter" 181s __adsysctl_debug "File filtering command: $filteringCmd" 181s $filteringCmd 181s elif (((directive & shellCompDirectiveFilterDirs) != 0)); then 181s # File completion for directories only 181s 181s local subdir 181s subdir=${completions[0]} 181s if [[ -n $subdir ]]; then 181s __adsysctl_debug "Listing directories in $subdir" 181s pushd "$subdir" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 || return 181s else 181s __adsysctl_debug "Listing directories in ." 181s _filedir -d 181s fi 181s else 181s __adsysctl_handle_completion_types 181s fi 181s 181s __adsysctl_handle_special_char "$cur" : 181s __adsysctl_handle_special_char "$cur" = 181s 181s # Print the activeHelp statements before we finish 181s __adsysctl_handle_activeHelp 181s } 181s 181s __adsysctl_handle_activeHelp() { 181s # Print the activeHelp statements 181s if ((${#activeHelp[*]} != 0)); then 181s if [ -z $COMP_TYPE ]; then 181s # Bash v3 does not set the COMP_TYPE variable. 181s printf "\n"; 181s printf "%s\n" "${activeHelp[@]}" 181s printf "\n" 181s __adsysctl_reprint_commandLine 181s return 181s fi 181s 181s # Only print ActiveHelp on the second TAB press 181s if [ $COMP_TYPE -eq 63 ]; then 181s printf "\n" 181s printf "%s\n" "${activeHelp[@]}" 181s 181s if ((${#COMPREPLY[*]} == 0)); then 181s # When there are no completion choices from the program, file completion 181s # may kick in if the program has not disabled it; in such a case, we want 181s # to know if any files will match what the user typed, so that we know if 181s # there will be completions presented, so that we know how to handle ActiveHelp. 181s # To find out, we actually trigger the file completion ourselves; 181s # the call to _filedir will fill COMPREPLY if files match. 181s if (((directive & shellCompDirectiveNoFileComp) == 0)); then 181s __adsysctl_debug "Listing files" 181s _filedir 181s fi 181s fi 181s 181s if ((${#COMPREPLY[*]} != 0)); then 181s # If there are completion choices to be shown, print a delimiter. 181s # Re-printing the command-line will automatically be done 181s # by the shell when it prints the completion choices. 181s printf -- "--" 181s else 181s # When there are no completion choices at all, we need 181s # to re-print the command-line since the shell will 181s # not be doing it itself. 181s __adsysctl_reprint_commandLine 181s fi 181s elif [ $COMP_TYPE -eq 37 ] || [ $COMP_TYPE -eq 42 ]; then 181s # For completion type: menu-complete/menu-complete-backward and insert-completions 181s # the completions are immediately inserted into the command-line, so we first 181s # print the activeHelp message and reprint the command-line since the shell won't. 181s printf "\n" 181s printf "%s\n" "${activeHelp[@]}" 181s 181s __adsysctl_reprint_commandLine 181s fi 181s fi 181s } 181s 181s __adsysctl_reprint_commandLine() { 181s # The prompt format is only available from bash 4.4. 181s # We test if it is available before using it. 181s if (x=${PS1@P}) 2> /dev/null; then 181s printf "%s" "${PS1@P}${COMP_LINE[@]}" 181s else 181s # Can't print the prompt. Just print the 181s # text the user had typed, it is workable enough. 181s printf "%s" "${COMP_LINE[@]}" 181s fi 181s } 181s 181s # Separate activeHelp lines from real completions. 181s # Fills the $activeHelp and $completions arrays. 181s __adsysctl_extract_activeHelp() { 181s local activeHelpMarker="_activeHelp_ " 181s local endIndex=${#activeHelpMarker} 181s 181s while IFS='' read -r comp; do 181s [[ -z $comp ]] && continue 181s 181s if [[ ${comp:0:endIndex} == $activeHelpMarker ]]; then 181s comp=${comp:endIndex} 181s __adsysctl_debug "ActiveHelp found: $comp" 181s if [[ -n $comp ]]; then 181s activeHelp+=("$comp") 181s fi 181s else 181s # Not an activeHelp line but a normal completion 181s completions+=("$comp") 181s fi 181s done <<<"${out}" 181s } 181s 181s __adsysctl_handle_completion_types() { 181s __adsysctl_debug "__adsysctl_handle_completion_types: COMP_TYPE is $COMP_TYPE" 181s 181s case $COMP_TYPE in 181s 37|42) 181s # Type: menu-complete/menu-complete-backward and insert-completions 181s # If the user requested inserting one completion at a time, or all 181s # completions at once on the command-line we must remove the descriptions. 181s # https://github.com/spf13/cobra/issues/1508 181s 181s # If there are no completions, we don't need to do anything 181s (( ${#completions[@]} == 0 )) && return 0 181s 181s local tab=$'\t' 181s 181s # Strip any description and escape the completion to handled special characters 181s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]%%$tab*}") 181s 181s # Only consider the completions that match 181s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 181s 181s # compgen looses the escaping so we need to escape all completions again since they will 181s # all be inserted on the command-line. 181s IFS=$'\n' read -ra COMPREPLY -d '' < <(printf "%q\n" "${COMPREPLY[@]}") 181s ;; 181s 181s *) 181s # Type: complete (normal completion) 181s __adsysctl_handle_standard_completion_case 181s ;; 181s esac 181s } 181s 181s __adsysctl_handle_standard_completion_case() { 181s local tab=$'\t' 181s 181s # If there are no completions, we don't need to do anything 181s (( ${#completions[@]} == 0 )) && return 0 181s 181s # Short circuit to optimize if we don't have descriptions 181s if [[ "${completions[*]}" != *$tab* ]]; then 181s # First, escape the completions to handle special characters 181s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]}") 181s # Only consider the completions that match what the user typed 181s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 181s 181s # compgen looses the escaping so, if there is only a single completion, we need to 181s # escape it again because it will be inserted on the command-line. If there are multiple 181s # completions, we don't want to escape them because they will be printed in a list 181s # and we don't want to show escape characters in that list. 181s if (( ${#COMPREPLY[@]} == 1 )); then 181s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]}") 181s fi 181s return 0 181s fi 181s 181s local longest=0 181s local compline 181s # Look for the longest completion so that we can format things nicely 181s while IFS='' read -r compline; do 181s [[ -z $compline ]] && continue 181s 181s # Before checking if the completion matches what the user typed, 181s # we need to strip any description and escape the completion to handle special 181s # characters because those escape characters are part of what the user typed. 181s # Don't call "printf" in a sub-shell because it will be much slower 181s # since we are in a loop. 181s printf -v comp "%q" "${compline%%$tab*}" &>/dev/null || comp=$(printf "%q" "${compline%%$tab*}") 181s 181s # Only consider the completions that match 181s [[ $comp == "$cur"* ]] || continue 181s 181s # The completions matches. Add it to the list of full completions including 181s # its description. We don't escape the completion because it may get printed 181s # in a list if there are more than one and we don't want show escape characters 181s # in that list. 181s COMPREPLY+=("$compline") 181s 181s # Strip any description before checking the length, and again, don't escape 181s # the completion because this length is only used when printing the completions 181s # in a list and we don't want show escape characters in that list. 181s comp=${compline%%$tab*} 181s if ((${#comp}>longest)); then 181s longest=${#comp} 181s fi 181s done < <(printf "%s\n" "${completions[@]}") 181s 181s # If there is a single completion left, remove the description text and escape any special characters 181s if ((${#COMPREPLY[*]} == 1)); then 181s __adsysctl_debug "COMPREPLY[0]: ${COMPREPLY[0]}" 181s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]%%$tab*}") 181s __adsysctl_debug "Removed description from single completion, which is now: ${COMPREPLY[0]}" 181s else 181s # Format the descriptions 181s __adsysctl_format_comp_descriptions $longest 181s fi 181s } 181s 181s __adsysctl_handle_special_char() 181s { 181s local comp="$1" 181s local char=$2 181s if [[ "$comp" == *${char}* && "$COMP_WORDBREAKS" == *${char}* ]]; then 181s local word=${comp%"${comp##*${char}}"} 181s local idx=${#COMPREPLY[*]} 181s while ((--idx >= 0)); do 181s COMPREPLY[idx]=${COMPREPLY[idx]#"$word"} 181s done 181s fi 181s } 181s 181s __adsysctl_format_comp_descriptions() 181s { 181s local tab=$'\t' 181s local comp desc maxdesclength 181s local longest=$1 181s 181s local i ci 181s for ci in ${!COMPREPLY[*]}; do 181s comp=${COMPREPLY[ci]} 181s # Properly format the description string which follows a tab character if there is one 181s if [[ "$comp" == *$tab* ]]; then 181s __adsysctl_debug "Original comp: $comp" 181s desc=${comp#*$tab} 181s comp=${comp%%$tab*} 181s 181s # $COLUMNS stores the current shell width. 181s # Remove an extra 4 because we add 2 spaces and 2 parentheses. 181s maxdesclength=$(( COLUMNS - longest - 4 )) 181s 181s # Make sure we can fit a description of at least 8 characters 181s # if we are to align the descriptions. 181s if ((maxdesclength > 8)); then 181s # Add the proper number of spaces to align the descriptions 181s for ((i = ${#comp} ; i < longest ; i++)); do 181s comp+=" " 181s done 181s else 181s # Don't pad the descriptions so we can fit more text after the completion 181s maxdesclength=$(( COLUMNS - ${#comp} - 4 )) 181s fi 181s 181s # If there is enough space for any description text, 181s # truncate the descriptions that are too long for the shell width 181s if ((maxdesclength > 0)); then 181s if ((${#desc} > maxdesclength)); then 181s desc=${desc:0:$(( maxdesclength - 1 ))} 181s desc+="…" 181s fi 181s comp+=" ($desc)" 181s fi 181s COMPREPLY[ci]=$comp 181s __adsysctl_debug "Final comp: $comp" 181s fi 181s done 181s } 181s 181s __start_adsysctl() 181s { 181s local cur prev words cword split 181s 181s COMPREPLY=() 181s 181s # Call _init_completion from the bash-completion package 181s # to prepare the arguments properly 181s if declare -F _init_completion >/dev/null 2>&1; then 181s _init_completion -n =: || return 181s else 181s __adsysctl_init_completion -n =: || return 181s fi 181s 181s __adsysctl_debug 181s __adsysctl_debug "========= starting completion logic ==========" 181s __adsysctl_debug "cur is ${cur}, words[*] is ${words[*]}, #words[@] is ${#words[@]}, cword is $cword" 181s 181s # The user could have moved the cursor backwards on the command-line. 181s # We need to trigger completion from the $cword location, so we need 181s # to truncate the command-line ($words) up to the $cword location. 181s words=("${words[@]:0:$cword+1}") 181s __adsysctl_debug "Truncated words[*]: ${words[*]}," 181s 181s local out directive 181s __adsysctl_get_completion_results 181s __adsysctl_process_completion_results 181s } 181s 181s if [[ $(type -t compopt) = "builtin" ]]; then 181s complete -o default -F __start_adsysctl adsysctl 181s else 181s complete -o default -o nospace -F __start_adsysctl adsysctl 181s fi 181s 181s # ex: ts=4 sw=4 et filetype=sh 181s --- PASS: TestAppCompletion (0.00s) 181s === CONT TestAppHelp 181s Active Directory integration bridging toolset command line tool. 181s 181s Usage: 181s adsysctl COMMAND [flags] 181s adsysctl [command] 181s 181s Available Commands: 181s applied Print last applied GPOs for current or given user/machine 181s completion Generate the autocompletion script for the specified shell 181s doc Documentation 181s help Help about any command 181s policy Policy management 181s service Service management 181s update Updates/Create a policy for current user or given user with its kerberos ticket 181s version Returns version of client and service 181s 181s Flags: 181s -c, --config string use a specific configuration file 181s -h, --help help for adsysctl 181s -s, --socket string socket path to use between daemon and client. Can be overridden by systemd socket activation. (default "/run/adsysd.sock") 181s -t, --timeout int time in seconds before cancelling the client request when the server gives no result. 0 for no timeout. (default 30) 181s -v, --verbose count issue INFO (-v), DEBUG (-vv) or DEBUG with caller (-vvv) output 181s 181s Use "adsysctl [command] --help" for more information about a command. 181s --- PASS: TestAppHelp (0.00s) 181s Usage: 181s adsysctl COMMAND [flags] 181s adsysctl [command] 181s 181s Available Commands: 181s applied Print last applied GPOs for current or given user/machine 181s completion Generate the autocompletion script for the specified shell 181s doc Documentation 181s help Help about any command 181s policy Policy management 181s service Service management 181s update Updates/Create a policy for current user or given user with its kerberos ticket 181s version Returns version of client and service 181s 181s Flags: 181s -c, --config string use a specific configuration file 181s -h, --help help for adsysctl 181s -s, --socket string socket path to use between daemon and client. Can be overridden by systemd socket activation. (default "/run/adsysd.sock") 181s -t, --timeout int time in seconds before cancelling the client request when the server gives no result. 0 for no timeout. (default 30) 181s -v, --verbose count issue INFO (-v), DEBUG (-vv) or DEBUG with caller (-vvv) output 181s 181s Use "adsysctl [command] --help" for more information about a command. 181s 181s --- PASS: TestAppUsageError (0.01s) 181s PASS 181s ok github.com/ubuntu/adsys/cmd/adsysd/client 0.107s 186s === RUN TestAppHelp 186s === PAUSE TestAppHelp 186s === RUN TestAppCompletion 186s === PAUSE TestAppCompletion 186s === RUN TestAppVersion 186s --- PASS: TestAppVersion (0.00s) 186s === RUN TestAppNoUsageError 186s === PAUSE TestAppNoUsageError 186s === RUN TestAppUsageError 186s === PAUSE TestAppUsageError 186s === RUN TestAppCanQuitWhenExecute 186s time="2025-10-31T03:46:37Z" level=warning msg="could not get system startup time? Can’t list next refresh: Process org.freedesktop.systemd1 exited with status 1" 186s --- PASS: TestAppCanQuitWhenExecute (0.06s) 186s === RUN TestAppCanQuitAfterExecute 186s time="2025-10-31T03:46:37Z" level=warning msg="could not get system startup time? Can’t list next refresh: Process org.freedesktop.systemd1 exited with status 1" 186s --- PASS: TestAppCanQuitAfterExecute (1.01s) 186s === RUN TestAppCanQuitWithoutExecute 186s === PAUSE TestAppCanQuitWithoutExecute 186s === RUN TestAppRunFailsOnDaemonCreationAndQuit 186s time="2025-10-31T03:46:38Z" level=warning msg="could not get system startup time? Can’t list next refresh: Process org.freedesktop.systemd1 exited with status 1" 186s --- PASS: TestAppRunFailsOnDaemonCreationAndQuit (0.01s) 186s === RUN TestAppRunFailsOnServiceCreationAndQuit 186s --- PASS: TestAppRunFailsOnServiceCreationAndQuit (0.00s) 186s === RUN TestAppCanSigHupWhenExecute 186s time="2025-10-31T03:46:38Z" level=warning msg="could not get system startup time? Can’t list next refresh: Process org.freedesktop.systemd1 exited with status 1" 186s --- PASS: TestAppCanSigHupWhenExecute (0.06s) 186s === RUN TestAppCanSigHupAfterExecute 186s time="2025-10-31T03:46:38Z" level=warning msg="could not get system startup time? Can’t list next refresh: Process org.freedesktop.systemd1 exited with status 1" 186s --- PASS: TestAppCanSigHupAfterExecute (1.01s) 186s === RUN TestAppCanSigHupWithoutExecute 186s --- PASS: TestAppCanSigHupWithoutExecute (0.00s) 186s === RUN TestAppTimeout 186s time="2025-10-31T03:46:39Z" level=warning msg="could not get system startup time? Can’t list next refresh: Process org.freedesktop.systemd1 exited with status 1" 186s --- PASS: TestAppTimeout (1.01s) 186s === RUN TestAppGetRootCmd 186s === PAUSE TestAppGetRootCmd 186s === RUN TestConfigLoad 186s time="2025-10-31T03:46:40Z" level=warning msg="could not get system startup time? Can’t list next refresh: Process org.freedesktop.systemd1 exited with status 1" 186s time="2025-10-31T03:46:40Z" level=info msg="Serving on /tmp/TestConfigLoad1078481109/001/adsys.socket" 186s time="2025-10-31T03:46:40Z" level=info msg="Stopping daemon requested." 186s time="2025-10-31T03:46:40Z" level=info msg="Wait for active requests to close." 186s --- PASS: TestConfigLoad (0.06s) 186s === RUN TestConfigChange 186s time="2025-10-31T03:46:40Z" level=warning msg="could not get system startup time? Can’t list next refresh: Process org.freedesktop.systemd1 exited with status 1" 186s time="2025-10-31T03:46:40Z" level=info msg="Serving on /tmp/TestConfigChange2054837626/001/adsys.socket" 186s time="2025-10-31T03:46:40Z" level=info msg="Stopping daemon requested." 186s time="2025-10-31T03:46:40Z" level=info msg="Wait for active requests to close." 186s time="2025-10-31T03:46:40Z" level=debug msg="All connections have now ended." 186s time="2025-10-31T03:46:40Z" level=debug msg=Quitting 186s --- PASS: TestConfigChange (0.16s) 186s === CONT TestAppHelp 186s === CONT TestAppUsageError 186s Active Directory integration bridging toolset daemon. 186s 186s Usage: 186s adsysd COMMAND [flags] 186s adsysd [command] 186s 186s Available Commands: 186s completion Generate the autocompletion script for the specified shell 186s help Help about any command 186s version Returns version of service and exits 186s 186s Flags: 186s --ad-backend string Active Directory authentication backend (default "sssd") 186s --cache-dir string directory where ADSys caches GPOs downloads and policies. (default "/var/cache/adsys") 186s -c, --config string use a specific configuration file 186s --gpo-list-timeout int time in seconds for the GPO list. 0 for no timeout. (default 10) 186s -h, --help help for adsysd 186s --run-dir string directory where ADSys stores transient information erased on reboot. (default "/run/adsys") 186s -s, --socket string socket path to use between daemon and client. Can be overridden by systemd socket activation. (default "/run/adsysd.sock") 186s --sssd.cache-dir string SSSd cache directory (default "/var/lib/sss/db") 186s --sssd.config string SSSd config file path (default "/etc/sssd/sssd.conf") 186s -t, --timeout int time in seconds without activity before the service exists. 0 for no timeout. (default 120) 186s -v, --verbose count issue INFO (-v), DEBUG (-vv) or DEBUG with caller (-vvv) output 186s 186s Use "adsysd [command] --help" for more information about a command. 186s --- PASS: TestAppHelp (0.00s) 186s === CONT TestAppGetRootCmd 186s --- PASS: TestAppUsageError (0.00s) 186s === CONT TestAppCanQuitWithoutExecute 186s daemon_test.go:104: We need to initialize the daemon first, so this is not possible and will hang forever (ready not closed) 186s --- SKIP: TestAppCanQuitWithoutExecute (0.00s) 186s === CONT TestAppNoUsageError 186s --- PASS: TestAppGetRootCmd (0.00s) 186s === CONT TestAppCompletion 186s # bash completion V2 for adsysd -*- shell-script -*- 186s 186s __adsysd_debug() 186s { 186s if [[ -n ${BASH_COMP_DEBUG_FILE-} ]]; then 186s echo "$*" >> "${BASH_COMP_DEBUG_FILE}" 186s fi 186s } 186s 186s # Macs have bash3 for which the bash-completion package doesn't include 186s # _init_completion. This is a minimal version of that function. 186s __adsysd_init_completion() 186s { 186s COMPREPLY=() 186s _get_comp_words_by_ref "$@" cur prev words cword 186s } 186s 186s # This function calls the adsysd program to obtain the completion 186s # results and the directive. It fills the 'out' and 'directive' vars. 186s __adsysd_get_completion_results() { 186s local requestComp lastParam lastChar args 186s 186s # Prepare the command to request completions for the program. 186s # Calling ${words[0]} instead of directly adsysd allows handling aliases 186s args=("${words[@]:1}") 186s requestComp="${words[0]} __complete ${args[*]}" 186s 186s lastParam=${words[$((${#words[@]}-1))]} 186s lastChar=${lastParam:$((${#lastParam}-1)):1} 186s __adsysd_debug "lastParam ${lastParam}, lastChar ${lastChar}" 186s 186s if [[ -z ${cur} && ${lastChar} != = ]]; then 186s # If the last parameter is complete (there is a space following it) 186s # We add an extra empty parameter so we can indicate this to the go method. 186s __adsysd_debug "Adding extra empty parameter" 186s requestComp="${requestComp} ''" 186s fi 186s 186s # When completing a flag with an = (e.g., adsysd -n=) 186s # bash focuses on the part after the =, so we need to remove 186s # the flag part from $cur 186s if [[ ${cur} == -*=* ]]; then 186s cur="${cur#*=}" 186s fi 186s 186s __adsysd_debug "Calling ${requestComp}" 186s # Use eval to handle any environment variables and such 186s out=$(eval "${requestComp}" 2>/dev/null) 186s 186s # Extract the directive integer at the very end of the output following a colon (:) 186s directive=${out##*:} 186s # Remove the directive 186s out=${out%:*} 186s if [[ ${directive} == "${out}" ]]; then 186s # There is not directive specified 186s directive=0 186s fi 186s __adsysd_debug "The completion directive is: ${directive}" 186s __adsysd_debug "The completions are: ${out}" 186s } 186s 186s __adsysd_process_completion_results() { 186s local shellCompDirectiveError=1 186s local shellCompDirectiveNoSpace=2 186s local shellCompDirectiveNoFileComp=4 186s local shellCompDirectiveFilterFileExt=8 186s local shellCompDirectiveFilterDirs=16 186s local shellCompDirectiveKeepOrder=32 186s 186s if (((directive & shellCompDirectiveError) != 0)); then 186s # Error code. No completion. 186s __adsysd_debug "Received error from custom completion go code" 186s return 186s else 186s if (((directive & shellCompDirectiveNoSpace) != 0)); then 186s if [[ $(type -t compopt) == builtin ]]; then 186s __adsysd_debug "Activating no space" 186s compopt -o nospace 186s else 186s __adsysd_debug "No space directive not supported in this version of bash" 186s fi 186s fi 186s if (((directive & shellCompDirectiveKeepOrder) != 0)); then 186s if [[ $(type -t compopt) == builtin ]]; then 186s # no sort isn't supported for bash less than < 4.4 186s if [[ ${BASH_VERSINFO[0]} -lt 4 || ( ${BASH_VERSINFO[0]} -eq 4 && ${BASH_VERSINFO[1]} -lt 4 ) ]]; then 186s __adsysd_debug "No sort directive not supported in this version of bash" 186s else 186s __adsysd_debug "Activating keep order" 186s compopt -o nosort 186s fi 186s else 186s __adsysd_debug "No sort directive not supported in this version of bash" 186s fi 186s fi 186s if (((directive & shellCompDirectiveNoFileComp) != 0)); then 186s if [[ $(type -t compopt) == builtin ]]; then 186s __adsysd_debug "Activating no file completion" 186s compopt +o default 186s else 186s __adsysd_debug "No file completion directive not supported in this version of bash" 186s fi 186s fi 186s fi 186s 186s # Separate activeHelp from normal completions 186s local completions=() 186s local activeHelp=() 186s __adsysd_extract_activeHelp 186s 186s if (((directive & shellCompDirectiveFilterFileExt) != 0)); then 186s # File extension filtering 186s local fullFilter="" filter filteringCmd 186s 186s # Do not use quotes around the $completions variable or else newline 186s # characters will be kept. 186s for filter in ${completions[*]}; do 186s fullFilter+="$filter|" 186s done 186s 186s filteringCmd="_filedir $fullFilter" 186s __adsysd_debug "File filtering command: $filteringCmd" 186s $filteringCmd 186s elif (((directive & shellCompDirectiveFilterDirs) != 0)); then 186s # File completion for directories only 186s 186s local subdir 186s subdir=${completions[0]} 186s if [[ -n $subdir ]]; then 186s __adsysd_debug "Listing directories in $subdir" 186s pushd "$subdir" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 || return 186s else 186s __adsysd_debug "Listing directories in ." 186s _filedir -d 186s fi 186s else 186s __adsysd_handle_completion_types 186s fi 186s 186s __adsysd_handle_special_char "$cur" : 186s __adsysd_handle_special_char "$cur" = 186s 186s # Print the activeHelp statements before we finish 186s __adsysd_handle_activeHelp 186s } 186s 186s __adsysd_handle_activeHelp() { 186s # Print the activeHelp statements 186s if ((${#activeHelp[*]} != 0)); then 186s if [ -z $COMP_TYPE ]; then 186s # Bash v3 does not set the COMP_TYPE variable. 186s printf "\n"; 186s printf "%s\n" "${activeHelp[@]}" 186s printf "\n" 186s __adsysd_reprint_commandLine 186s return 186s fi 186s 186s # Only print ActiveHelp on the second TAB press 186s if [ $COMP_TYPE -eq 63 ]; then 186s printf "\n" 186s printf "%s\n" "${activeHelp[@]}" 186s 186s if ((${#COMPREPLY[*]} == 0)); then 186s # When there are no completion choices from the program, file completion 186s # may kick in if the program has not disabled it; in such a case, we want 186s # to know if any files will match what the user typed, so that we know if 186s # there will be completions presented, so that we know how to handle ActiveHelp. 186s # To find out, we actually trigger the file completion ourselves; 186s # the call to _filedir will fill COMPREPLY if files match. 186s if (((directive & shellCompDirectiveNoFileComp) == 0)); then 186s __adsysd_debug "Listing files" 186s _filedir 186s fi 186s fi 186s 186s if ((${#COMPREPLY[*]} != 0)); then 186s # If there are completion choices to be shown, print a delimiter. 186s # Re-printing the command-line will automatically be done 186s # by the shell when it prints the completion choices. 186s printf -- "--" 186s else 186s # When there are no completion choices at all, we need 186s # to re-print the command-line since the shell will 186s # not be doing it itself. 186s __adsysd_reprint_commandLine 186s fi 186s elif [ $COMP_TYPE -eq 37 ] || [ $COMP_TYPE -eq 42 ]; then 186s # For completion type: menu-complete/menu-complete-backward and insert-completions 186s # the completions are immediately inserted into the command-line, so we first 186s # print the activeHelp message and reprint the command-line since the shell won't. 186s printf "\n" 186s printf "%s\n" "${activeHelp[@]}" 186s 186s __adsysd_reprint_commandLine 186s fi 186s fi 186s } 186s 186s __adsysd_reprint_commandLine() { 186s # The prompt format is only available from bash 4.4. 186s # We test if it is available before using it. 186s if (x=${PS1@P}) 2> /dev/null; then 186s printf "%s" "${PS1@P}${COMP_LINE[@]}" 186s else 186s # Can't print the prompt. Just print the 186s # text the user had typed, it is workable enough. 186s printf "%s" "${COMP_LINE[@]}" 186s fi 186s } 186s 186s # Separate activeHelp lines from real completions. 186s # Fills the $activeHelp and $completions arrays. 186s __adsysd_extract_activeHelp() { 186s local activeHelpMarker="_activeHelp_ " 186s local endIndex=${#activeHelpMarker} 186s 186s while IFS='' read -r comp; do 186s [[ -z $comp ]] && continue 186s 186s if [[ ${comp:0:endIndex} == $activeHelpMarker ]]; then 186s comp=${comp:endIndex} 186s __adsysd_debug "ActiveHelp found: $comp" 186s if [[ -n $comp ]]; then 186s activeHelp+=("$comp") 186s fi 186s else 186s # Not an activeHelp line but a normal completion 186s completions+=("$comp") 186s fi 186s done <<<"${out}" 186s } 186s 186s __adsysd_handle_completion_types() { 186s __adsysd_debug "__adsysd_handle_completion_types: COMP_TYPE is $COMP_TYPE" 186s 186s case $COMP_TYPE in 186s 37|42) 186s # Type: menu-complete/menu-complete-backward and insert-completions 186s # If the user requested inserting one completion at a time, or all 186s # completions at once on the command-line we must remove the descriptions. 186s # https://github.com/spf13/cobra/issues/1508 186s 186s # If there are no completions, we don't need to do anything 186s (( ${#completions[@]} == 0 )) && return 0 186s 186s local tab=$'\t' 186s 186s # Strip any description and escape the completion to handled special characters 186s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]%%$tab*}") 186s 186s # Only consider the completions that match 186s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 186s 186s # compgen looses the escaping so we need to escape all completions again since they will 186s # all be inserted on the command-line. 186s IFS=$'\n' read -ra COMPREPLY -d '' < <(printf "%q\n" "${COMPREPLY[@]}") 186s ;; 186s 186s *) 186s # Type: complete (normal completion) 186s __adsysd_handle_standard_completion_case 186s ;; 186s esac 186s } 186s 186s __adsysd_handle_standard_completion_case() { 186s local tab=$'\t' 186s 186s # If there are no completions, we don't need to do anything 186s (( ${#completions[@]} == 0 )) && return 0 186s 186s # Short circuit to optimize if we don't have descriptions 186s if [[ "${completions[*]}" != *$tab* ]]; then 186s # First, escape the completions to handle special characters 186s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]}") 186s # Only consider the completions that match what the user typed 186s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 186s 186s # compgen looses the escaping so, if there is only a single completion, we need to 186s # escape it again because it will be inserted on the command-line. If there are multiple 186s # completions, we don't want to escape them because they will be printed in a list 186s # and we don't want to show escape characters in that list. 186s if (( ${#COMPREPLY[@]} == 1 )); then 186s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]}") 186s fi 186s return 0 186s fi 186s 186s local longest=0 186s local compline 186s # Look for the longest completion so that we can format things nicely 186s while IFS='' read -r compline; do 186s [[ -z $compline ]] && continue 186s 186s # Before checking if the completion matches what the user typed, 186s # we need to strip any description and escape the completion to handle special 186s # characters because those escape characters are part of what the user typed. 186s # Don't call "printf" in a sub-shell because it will be much slower 186s # since we are in a loop. 186s printf -v comp "%q" "${compline%%$tab*}" &>/dev/null || comp=$(printf "%q" "${compline%%$tab*}") 186s 186s # Only consider the completions that match 186s [[ $comp == "$cur"* ]] || continue 186s 186s # The completions matches. Add it to the list of full completions including 186s # its description. We don't escape the completion because it may get printed 186s # in a list if there are more than one and we don't want show escape characters 186s # in that list. 186s COMPREPLY+=("$compline") 186s 186s # Strip any description before checking the length, and again, don't escape 186s # the completion because this length is only used when printing the completions 186s # in a list and we don't want show escape characters in that list. 186s comp=${compline%%$tab*} 186s if ((${#comp}>longest)); then 186s longest=${#comp} 186s fi 186s done < <(printf "%s\n" "${completions[@]}") 186s 186s # If there is a single completion left, remove the description text and escape any special characters 186s if ((${#COMPREPLY[*]} == 1)); then 186s __adsysd_debug "COMPREPLY[0]: ${COMPREPLY[0]}" 186s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]%%$tab*}") 186s __adsysd_debug "Removed description from single completion, which is now: ${COMPREPLY[0]}" 186s else 186s # Format the descriptions 186s __adsysd_format_comp_descriptions $longest 186s fi 186s } 186s 186s __adsysd_handle_special_char() 186s { 186s local comp="$1" 186s local char=$2 186s if [[ "$comp" == *${char}* && "$COMP_WORDBREAKS" == *${char}* ]]; then 186s local word=${comp%"${comp##*${char}}"} 186s local idx=${#COMPREPLY[*]} 186s while ((--idx >= 0)); do 186s COMPREPLY[idx]=${COMPREPLY[idx]#"$word"} 186s done 186s fi 186s } 186s 186s __adsysd_format_comp_descriptions() 186s { 186s local tab=$'\t' 186s local comp desc maxdesclength 186s local longest=$1 186s 186s local i ci 186s for ci in ${!COMPREPLY[*]}; do 186s comp=${COMPREPLY[ci]} 186s # Properly format the description string which follows a tab character if there is one 186s if [[ "$comp" == *$tab* ]]; then 186s __adsysd_debug "Original comp: $comp" 186s desc=${comp#*$tab} 186s comp=${comp%%$tab*} 186s 186s # $COLUMNS stores the current shell width. 186s # Remove an extra 4 because we add 2 spaces and 2 parentheses. 186s maxdesclength=$(( COLUMNS - longest - 4 )) 186s 186s # Make sure we can fit a description of at least 8 characters 186s # if we are to align the descriptions. 186s if ((maxdesclength > 8)); then 186s # Add the proper number of spaces to align the descriptions 186s for ((i = ${#comp} ; i < longest ; i++)); do 186s comp+=" " 186s done 186s else 186s # Don't pad the descriptions so we can fit more text after the completion 186s maxdesclength=$(( COLUMNS - ${#comp} - 4 )) 186s fi 186s 186s # If there is enough space for any description text, 186s # truncate the descriptions that are too long for the shell width 186s if ((maxdesclength > 0)); then 186s if ((${#desc} > maxdesclength)); then 186s desc=${desc:0:$(( maxdesclength - 1 ))} 186s desc+="…" 186s fi 186s comp+=" ($desc)" 186s fi 186s COMPREPLY[ci]=$comp 186s __adsysd_debug "Final comp: $comp" 186s fi 186s done 186s } 186s 186s __start_adsysd() 186s { 186s local cur prev words cword split 186s 186s COMPREPLY=() 186s 186s # Call _init_completion from the bash-completion package 186s # to prepare the arguments properly 186s if declare -F _init_completion >/dev/null 2>&1; then 186s _init_completion -n =: || return 186s else 186s __adsysd_init_completion -n =: || return 186s fi 186s 186s __adsysd_debug 186s __adsysd_debug "========= starting completion logic ==========" 186s __adsysd_debug "cur is ${cur}, words[*] is ${words[*]}, #words[@] is ${#words[@]}, cword is $cword" 186s 186s # The user could have moved the cursor backwards on the command-line. 186s # We need to trigger completion from the $cword location, so we need 186s # to truncate the command-line ($words) up to the $cword location. 186s words=("${words[@]:0:$cword+1}") 186s __adsysd_debug "Truncated words[*]: ${words[*]}," 186s 186s local out directive 186s __adsysd_get_completion_results 186s __adsysd_process_completion_results 186s } 186s 186s if [[ $(type -t compopt) = "builtin" ]]; then 186s complete -o default -F __start_adsysd adsysd 186s else 186s complete -o default -o nospace -F __start_adsysd adsysd 186s fi 186s 186s # ex: ts=4 sw=4 et filetype=sh 186s --- PASS: TestAppNoUsageError (0.00s) 186s # bash completion V2 for adsysd -*- shell-script -*- 186s 186s __adsysd_debug() 186s { 186s if [[ -n ${BASH_COMP_DEBUG_FILE-} ]]; then 186s echo "$*" >> "${BASH_COMP_DEBUG_FILE}" 186s fi 186s } 186s 186s # Macs have bash3 for which the bash-completion package doesn't include 186s # _init_completion. This is a minimal version of that function. 186s __adsysd_init_completion() 186s { 186s COMPREPLY=() 186s _get_comp_words_by_ref "$@" cur prev words cword 186s } 186s 186s # This function calls the adsysd program to obtain the completion 186s # results and the directive. It fills the 'out' and 'directive' vars. 186s __adsysd_get_completion_results() { 186s local requestComp lastParam lastChar args 186s 186s # Prepare the command to request completions for the program. 186s # Calling ${words[0]} instead of directly adsysd allows handling aliases 186s args=("${words[@]:1}") 186s requestComp="${words[0]} __complete ${args[*]}" 186s 186s lastParam=${words[$((${#words[@]}-1))]} 186s lastChar=${lastParam:$((${#lastParam}-1)):1} 186s __adsysd_debug "lastParam ${lastParam}, lastChar ${lastChar}" 186s 186s if [[ -z ${cur} && ${lastChar} != = ]]; then 186s # If the last parameter is complete (there is a space following it) 186s # We add an extra empty parameter so we can indicate this to the go method. 186s __adsysd_debug "Adding extra empty parameter" 186s requestComp="${requestComp} ''" 186s fi 186s 186s # When completing a flag with an = (e.g., adsysd -n=) 186s # bash focuses on the part after the =, so we need to remove 186s # the flag part from $cur 186s if [[ ${cur} == -*=* ]]; then 186s cur="${cur#*=}" 186s fi 186s 186s __adsysd_debug "Calling ${requestComp}" 186s # Use eval to handle any environment variables and such 186s out=$(eval "${requestComp}" 2>/dev/null) 186s 186s # Extract the directive integer at the very end of the output following a colon (:) 186s directive=${out##*:} 186s # Remove the directive 186s out=${out%:*} 186s if [[ ${directive} == "${out}" ]]; then 186s # There is not directive specified 186s directive=0 186s fi 186s __adsysd_debug "The completion directive is: ${directive}" 186s __adsysd_debug "The completions are: ${out}" 186s } 186s 186s __adsysd_process_completion_results() { 186s local shellCompDirectiveError=1 186s local shellCompDirectiveNoSpace=2 186s local shellCompDirectiveNoFileComp=4 186s local shellCompDirectiveFilterFileExt=8 186s local shellCompDirectiveFilterDirs=16 186s local shellCompDirectiveKeepOrder=32 186s 186s if (((directive & shellCompDirectiveError) != 0)); then 186s # Error code. No completion. 186s __adsysd_debug "Received error from custom completion go code" 186s return 186s else 186s if (((directive & shellCompDirectiveNoSpace) != 0)); then 186s if [[ $(type -t compopt) == builtin ]]; then 186s __adsysd_debug "Activating no space" 186s compopt -o nospace 186s else 186s __adsysd_debug "No space directive not supported in this version of bash" 186s fi 186s fi 186s if (((directive & shellCompDirectiveKeepOrder) != 0)); then 186s if [[ $(type -t compopt) == builtin ]]; then 186s # no sort isn't supported for bash less than < 4.4 186s if [[ ${BASH_VERSINFO[0]} -lt 4 || ( ${BASH_VERSINFO[0]} -eq 4 && ${BASH_VERSINFO[1]} -lt 4 ) ]]; then 186s __adsysd_debug "No sort directive not supported in this version of bash" 186s else 186s __adsysd_debug "Activating keep order" 186s compopt -o nosort 186s fi 186s else 186s __adsysd_debug "No sort directive not supported in this version of bash" 186s fi 186s fi 186s if (((directive & shellCompDirectiveNoFileComp) != 0)); then 186s if [[ $(type -t compopt) == builtin ]]; then 186s __adsysd_debug "Activating no file completion" 186s compopt +o default 186s else 186s __adsysd_debug "No file completion directive not supported in this version of bash" 186s fi 186s fi 186s fi 186s 186s # Separate activeHelp from normal completions 186s local completions=() 186s local activeHelp=() 186s __adsysd_extract_activeHelp 186s 186s if (((directive & shellCompDirectiveFilterFileExt) != 0)); then 186s # File extension filtering 186s local fullFilter="" filter filteringCmd 186s 186s # Do not use quotes around the $completions variable or else newline 186s # characters will be kept. 186s for filter in ${completions[*]}; do 186s fullFilter+="$filter|" 186s done 186s 186s filteringCmd="_filedir $fullFilter" 186s __adsysd_debug "File filtering command: $filteringCmd" 186s $filteringCmd 186s elif (((directive & shellCompDirectiveFilterDirs) != 0)); then 186s # File completion for directories only 186s 186s local subdir 186s subdir=${completions[0]} 186s if [[ -n $subdir ]]; then 186s __adsysd_debug "Listing directories in $subdir" 186s pushd "$subdir" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 || return 186s else 186s __adsysd_debug "Listing directories in ." 186s _filedir -d 186s fi 186s else 186s __adsysd_handle_completion_types 186s fi 186s 186s __adsysd_handle_special_char "$cur" : 186s __adsysd_handle_special_char "$cur" = 186s 186s # Print the activeHelp statements before we finish 186s __adsysd_handle_activeHelp 186s } 186s 186s __adsysd_handle_activeHelp() { 186s # Print the activeHelp statements 186s if ((${#activeHelp[*]} != 0)); then 186s if [ -z $COMP_TYPE ]; then 186s # Bash v3 does not set the COMP_TYPE variable. 186s printf "\n"; 186s printf "%s\n" "${activeHelp[@]}" 186s printf "\n" 186s __adsysd_reprint_commandLine 186s return 186s fi 186s 186s # Only print ActiveHelp on the second TAB press 186s if [ $COMP_TYPE -eq 63 ]; then 186s printf "\n" 186s printf "%s\n" "${activeHelp[@]}" 186s 186s if ((${#COMPREPLY[*]} == 0)); then 186s # When there are no completion choices from the program, file completion 186s # may kick in if the program has not disabled it; in such a case, we want 186s # to know if any files will match what the user typed, so that we know if 186s # there will be completions presented, so that we know how to handle ActiveHelp. 186s # To find out, we actually trigger the file completion ourselves; 186s # the call to _filedir will fill COMPREPLY if files match. 186s if (((directive & shellCompDirectiveNoFileComp) == 0)); then 186s __adsysd_debug "Listing files" 186s _filedir 186s fi 186s fi 186s 186s if ((${#COMPREPLY[*]} != 0)); then 186s # If there are completion choices to be shown, print a delimiter. 186s # Re-printing the command-line will automatically be done 186s # by the shell when it prints the completion choices. 186s printf -- "--" 186s else 186s # When there are no completion choices at all, we need 186s # to re-print the command-line since the shell will 186s # not be doing it itself. 186s __adsysd_reprint_commandLine 186s fi 186s elif [ $COMP_TYPE -eq 37 ] || [ $COMP_TYPE -eq 42 ]; then 186s # For completion type: menu-complete/menu-complete-backward and insert-completions 186s # the completions are immediately inserted into the command-line, so we first 186s # print the activeHelp message and reprint the command-line since the shell won't. 186s printf "\n" 186s printf "%s\n" "${activeHelp[@]}" 186s 186s __adsysd_reprint_commandLine 186s fi 186s fi 186s } 186s 186s __adsysd_reprint_commandLine() { 186s # The prompt format is only available from bash 4.4. 186s # We test if it is available before using it. 186s if (x=${PS1@P}) 2> /dev/null; then 186s printf "%s" "${PS1@P}${COMP_LINE[@]}" 186s else 186s # Can't print the prompt. Just print the 186s # text the user had typed, it is workable enough. 186s printf "%s" "${COMP_LINE[@]}" 186s fi 186s } 186s 186s # Separate activeHelp lines from real completions. 186s # Fills the $activeHelp and $completions arrays. 186s __adsysd_extract_activeHelp() { 186s local activeHelpMarker="_activeHelp_ " 186s local endIndex=${#activeHelpMarker} 186s 186s while IFS='' read -r comp; do 186s [[ -z $comp ]] && continue 186s 186s if [[ ${comp:0:endIndex} == $activeHelpMarker ]]; then 186s comp=${comp:endIndex} 186s __adsysd_debug "ActiveHelp found: $comp" 186s if [[ -n $comp ]]; then 186s activeHelp+=("$comp") 186s fi 186s else 186s # Not an activeHelp line but a normal completion 186s completions+=("$comp") 186s fi 186s done <<<"${out}" 186s } 186s 186s __adsysd_handle_completion_types() { 186s __adsysd_debug "__adsysd_handle_completion_types: COMP_TYPE is $COMP_TYPE" 186s 186s case $COMP_TYPE in 186s 37|42) 186s # Type: menu-complete/menu-complete-backward and insert-completions 186s # If the user requested inserting one completion at a time, or all 186s # completions at once on the command-line we must remove the descriptions. 186s # https://github.com/spf13/cobra/issues/1508 186s 186s # If there are no completions, we don't need to do anything 186s (( ${#completions[@]} == 0 )) && return 0 186s 186s local tab=$'\t' 186s 186s # Strip any description and escape the completion to handled special characters 186s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]%%$tab*}") 186s 186s # Only consider the completions that match 186s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 186s 186s # compgen looses the escaping so we need to escape all completions again since they will 186s # all be inserted on the command-line. 186s IFS=$'\n' read -ra COMPREPLY -d '' < <(printf "%q\n" "${COMPREPLY[@]}") 186s ;; 186s 186s *) 186s # Type: complete (normal completion) 186s __adsysd_handle_standard_completion_case 186s ;; 186s esac 186s } 186s 186s __adsysd_handle_standard_completion_case() { 186s local tab=$'\t' 186s 186s # If there are no completions, we don't need to do anything 186s (( ${#completions[@]} == 0 )) && return 0 186s 186s # Short circuit to optimize if we don't have descriptions 186s if [[ "${completions[*]}" != *$tab* ]]; then 186s # First, escape the completions to handle special characters 186s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]}") 186s # Only consider the completions that match what the user typed 186s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 186s 186s # compgen looses the escaping so, if there is only a single completion, we need to 186s # escape it again because it will be inserted on the command-line. If there are multiple 186s # completions, we don't want to escape them because they will be printed in a list 186s # and we don't want to show escape characters in that list. 186s if (( ${#COMPREPLY[@]} == 1 )); then 186s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]}") 186s fi 186s return 0 186s fi 186s 186s local longest=0 186s local compline 186s # Look for the longest completion so that we can format things nicely 186s while IFS='' read -r compline; do 186s [[ -z $compline ]] && continue 186s 186s # Before checking if the completion matches what the user typed, 186s # we need to strip any description and escape the completion to handle special 186s # characters because those escape characters are part of what the user typed. 186s # Don't call "printf" in a sub-shell because it will be much slower 186s # since we are in a loop. 186s printf -v comp "%q" "${compline%%$tab*}" &>/dev/null || comp=$(printf "%q" "${compline%%$tab*}") 186s 186s # Only consider the completions that match 186s [[ $comp == "$cur"* ]] || continue 186s 186s # The completions matches. Add it to the list of full completions including 186s # its description. We don't escape the completion because it may get printed 186s # in a list if there are more than one and we don't want show escape characters 186s # in that list. 186s COMPREPLY+=("$compline") 186s 186s # Strip any description before checking the length, and again, don't escape 186s # the completion because this length is only used when printing the completions 186s # in a list and we don't want show escape characters in that list. 186s comp=${compline%%$tab*} 186s if ((${#comp}>longest)); then 186s longest=${#comp} 186s fi 186s done < <(printf "%s\n" "${completions[@]}") 186s 186s # If there is a single completion left, remove the description text and escape any special characters 186s if ((${#COMPREPLY[*]} == 1)); then 186s __adsysd_debug "COMPREPLY[0]: ${COMPREPLY[0]}" 186s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]%%$tab*}") 186s __adsysd_debug "Removed description from single completion, which is now: ${COMPREPLY[0]}" 186s else 186s # Format the descriptions 186s __adsysd_format_comp_descriptions $longest 186s fi 186s } 186s 186s __adsysd_handle_special_char() 186s { 186s local comp="$1" 186s local char=$2 186s if [[ "$comp" == *${char}* && "$COMP_WORDBREAKS" == *${char}* ]]; then 186s local word=${comp%"${comp##*${char}}"} 186s local idx=${#COMPREPLY[*]} 186s while ((--idx >= 0)); do 186s COMPREPLY[idx]=${COMPREPLY[idx]#"$word"} 186s done 186s fi 186s } 186s 186s __adsysd_format_comp_descriptions() 186s { 186s local tab=$'\t' 186s local comp desc maxdesclength 186s local longest=$1 186s 186s local i ci 186s for ci in ${!COMPREPLY[*]}; do 186s comp=${COMPREPLY[ci]} 186s # Properly format the description string which follows a tab character if there is one 186s if [[ "$comp" == *$tab* ]]; then 186s __adsysd_debug "Original comp: $comp" 186s desc=${comp#*$tab} 186s comp=${comp%%$tab*} 186s 186s # $COLUMNS stores the current shell width. 186s # Remove an extra 4 because we add 2 spaces and 2 parentheses. 186s maxdesclength=$(( COLUMNS - longest - 4 )) 186s 186s # Make sure we can fit a description of at least 8 characters 186s # if we are to align the descriptions. 186s if ((maxdesclength > 8)); then 186s # Add the proper number of spaces to align the descriptions 186s for ((i = ${#comp} ; i < longest ; i++)); do 186s comp+=" " 186s done 186s else 186s # Don't pad the descriptions so we can fit more text after the completion 186s maxdesclength=$(( COLUMNS - ${#comp} - 4 )) 186s fi 186s 186s # If there is enough space for any description text, 186s # truncate the descriptions that are too long for the shell width 186s if ((maxdesclength > 0)); then 186s if ((${#desc} > maxdesclength)); then 186s desc=${desc:0:$(( maxdesclength - 1 ))} 186s desc+="…" 186s fi 186s comp+=" ($desc)" 186s fi 186s COMPREPLY[ci]=$comp 186s __adsysd_debug "Final comp: $comp" 186s fi 186s done 186s } 186s 186s __start_adsysd() 186s { 186s local cur prev words cword split 186s 186s COMPREPLY=() 186s 186s # Call _init_completion from the bash-completion package 186s # to prepare the arguments properly 186s if declare -F _init_completion >/dev/null 2>&1; then 186s _init_completion -n =: || return 186s else 186s __adsysd_init_completion -n =: || return 186s fi 186s 186s __adsysd_debug 186s __adsysd_debug "========= starting completion logic ==========" 186s __adsysd_debug "cur is ${cur}, words[*] is ${words[*]}, #words[@] is ${#words[@]}, cword is $cword" 186s 186s # The user could have moved the cursor backwards on the command-line. 186s # We need to trigger completion from the $cword location, so we need 186s # to truncate the command-line ($words) up to the $cword location. 186s words=("${words[@]:0:$cword+1}") 186s __adsysd_debug "Truncated words[*]: ${words[*]}," 186s 186s local out directive 186s __adsysd_get_completion_results 186s __adsysd_process_completion_results 186s } 186s 186s if [[ $(type -t compopt) = "builtin" ]]; then 186s complete -o default -F __start_adsysd adsysd 186s else 186s complete -o default -o nospace -F __start_adsysd adsysd 186s fi 186s 186s # ex: ts=4 sw=4 et filetype=sh 186s --- PASS: TestAppCompletion (0.00s) 186s PASS 186s ok github.com/ubuntu/adsys/cmd/adsysd/daemon 3.431s 186s Integration tests skipped as requested 186s ok github.com/ubuntu/adsys/cmd/adsysd/integration_tests 0.068s 186s ? github.com/ubuntu/adsys/cmd/adwatchd/commands [no test files] 187s === RUN TestRun 187s === RUN TestRun/Run_and_return_usage_error 187s ERROR Error requested 187s === RUN TestRun/Run_and_usage_error_only_does_not_fail 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 --- PASS: TestRun (0.61s) 187s --- PASS: TestRun/Run_and_return_usage_error (0.10s) 187s --- PASS: TestRun/Run_and_usage_error_only_does_not_fail (0.10s) 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 === RUN TestMainApp 187s --- PASS: TestMainApp (0.61s) 187s PASS 187s ok github.com/ubuntu/adsys/cmd/adwatchd 1.224s 187s ? github.com/ubuntu/adsys/docs [no test files] 187s Test has to be run as root, skipping... 187s ok github.com/ubuntu/adsys/cmd/adwatchd/integration_tests 0.005s 187s ? 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] 191s ? github.com/ubuntu/adsys/e2e/internal/inventory [no test files] 191s ? github.com/ubuntu/adsys/e2e/internal/remote [no test files] 191s ? github.com/ubuntu/adsys/e2e/scripts [no test files] 191s === RUN TestAddFlags 191s --- PASS: TestAddFlags (0.00s) 191s === RUN TestInventory 191s === RUN TestInventory/From_null_state_doesn't_require_existing_data 191s === RUN TestInventory/From_existing_state_requires_existing_data 191s === RUN TestInventory/To_null_state_doesn't_write_data 191s === RUN TestInventory/Multiple_from_states_requires_at_least_one 191s === RUN TestInventory/Error_if_inventory_file_is_required_and_doesn't_exist 191s time="2025-10-31T03:46:45Z" 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_exist2065248141/001/inventory/inventory.yaml: no such file or directory. Please refer to the previous script in the series" 191s === RUN TestInventory/Error_if_inventory_state_does_not_match_expected_state 191s time="2025-10-31T03:46:45Z" level=error msg="Inventory file is not in any of the expected initial states: [template_created ]" 191s === RUN TestInventory/Error_if_inventory_state_does_not_match_any_expected_state 191s time="2025-10-31T03:46:45Z" level=error msg="Inventory file is not in any of the expected initial states: [template_created ]" 191s --- PASS: TestInventory (0.02s) 191s --- PASS: TestInventory/From_null_state_doesn't_require_existing_data (0.00s) 191s --- PASS: TestInventory/From_existing_state_requires_existing_data (0.00s) 191s --- PASS: TestInventory/To_null_state_doesn't_write_data (0.00s) 191s --- PASS: TestInventory/Multiple_from_states_requires_at_least_one (0.00s) 191s --- PASS: TestInventory/Error_if_inventory_file_is_required_and_doesn't_exist (0.00s) 191s --- PASS: TestInventory/Error_if_inventory_state_does_not_match_expected_state (0.00s) 191s --- PASS: TestInventory/Error_if_inventory_state_does_not_match_any_expected_state (0.01s) 191s === RUN TestExecute 191s === RUN TestExecute/Action_and_validation_succeed 191s === RUN TestExecute/Error_when_action_fails 191s time="2025-10-31T03:46:45Z" level=error msg="requested error" 191s === RUN TestExecute/Error_when_validation_fails 191s time="2025-10-31T03:46:45Z" level=error msg="requested error" 191s === RUN TestExecute/Error_when_both_action_and_validation_fail 191s time="2025-10-31T03:46:45Z" level=error msg="requested error" 191s === RUN TestExecute/Action_succeeds 191s --- PASS: TestExecute (0.00s) 191s --- PASS: TestExecute/Action_and_validation_succeed (0.00s) 191s --- PASS: TestExecute/Error_when_action_fails (0.00s) 191s --- PASS: TestExecute/Error_when_validation_fails (0.00s) 191s --- PASS: TestExecute/Error_when_both_action_and_validation_fail (0.00s) 191s --- PASS: TestExecute/Action_succeeds (0.00s) 191s PASS 191s ok github.com/ubuntu/adsys/e2e/internal/command 0.028s 194s ? github.com/ubuntu/adsys/internal/ad/admxgen/common [no test files] 194s ? github.com/ubuntu/adsys/internal/ad/backends [no test files] 194s ? github.com/ubuntu/adsys/internal/ad/backends/mock [no test files] 202s ? github.com/ubuntu/adsys/internal/adsysservice/actions [no test files] 203s === RUN TestFetch 203s === PAUSE TestFetch 203s === RUN TestFetchWithUnreadableFile 203s === PAUSE TestFetchWithUnreadableFile 203s === RUN TestFetchTweakSysvolCacheDir 203s === PAUSE TestFetchTweakSysvolCacheDir 203s === RUN TestFetchOneGPOWhileParsingItConcurrently 203s === PAUSE TestFetchOneGPOWhileParsingItConcurrently 203s === RUN TestParseGPOConcurrent 203s === PAUSE TestParseGPOConcurrent 203s === RUN TestNew 203s === PAUSE TestNew 203s === RUN TestGetPolicies 203s === PAUSE TestGetPolicies 203s === RUN TestGetPoliciesOffline 203s === PAUSE TestGetPoliciesOffline 203s === RUN TestGetPoliciesWorkflows 203s === PAUSE TestGetPoliciesWorkflows 203s === RUN TestGetPoliciesConcurrently 203s === PAUSE TestGetPoliciesConcurrently 203s === RUN TestListUsers 203s === PAUSE TestListUsers 203s === RUN TestGetInfo 203s === PAUSE TestGetInfo 203s === RUN TestNormalizeTargetName 203s === PAUSE TestNormalizeTargetName 203s === RUN TestMockGPOList 203s --- PASS: TestMockGPOList (0.00s) 203s === RUN TestAdsysGPOList 203s === RUN TestAdsysGPOList/Security_descriptor_missing_ignores_GPO 203s === RUN TestAdsysGPOList/Security_descriptor_accepted_is_for_another_user 203s === RUN TestAdsysGPOList/Error_on_user_requested_but_found_machine 203s === RUN TestAdsysGPOList/Block_inheritance 203s === RUN TestAdsysGPOList/Security_descriptor_access_denied_ignores_GPO 203s === RUN TestAdsysGPOList/Error_on_invalid_ticket 203s === RUN TestAdsysGPOList/Error_on_unreachable_ldap_host 203s === RUN TestAdsysGPOList/Error_on_machine_with_no_ldap 203s === RUN TestAdsysGPOList/Filter_user_only_GPOs 203s === RUN TestAdsysGPOList/Filter_machine_only_GPOs 203s === RUN TestAdsysGPOList/Forced_GPO_and_blocked_inheritance 203s === RUN TestAdsysGPOList/No_gPOptions_fallbacks_to_0 203s === RUN TestAdsysGPOList/Error_on_no_network 203s === RUN TestAdsysGPOList/Error_invalid_GPO_link 203s === RUN TestAdsysGPOList/Multiple_GPOs_in_same_OU 203s === RUN TestAdsysGPOList/No_GPO_on_OU_-_string 203s === RUN TestAdsysGPOList/No_GPO_on_OU_-_bytes 203s === RUN TestAdsysGPOList/Fail_on_security_descriptor_access_failure 203s === RUN TestAdsysGPOList/Forced_GPO_are_first_by_reverse_order 203s === RUN TestAdsysGPOList/KRB5CCNAME_without_FILE:_is_supported_by_the_samba_bindings 203s === RUN TestAdsysGPOList/No_@_in_user_name_returns_the_same_thing 203s === RUN TestAdsysGPOList/Computers_truncated_at_15_characters 203s === RUN TestAdsysGPOList/Error_on_computer_requested_but_found_user 203s === RUN TestAdsysGPOList/Return_one_gpo 203s === RUN TestAdsysGPOList/Machine_GPOs 203s === RUN TestAdsysGPOList/Error_on_non_existent_account 203s === RUN TestAdsysGPOList/Error_on_KRB5CCNAME_unset 203s === RUN TestAdsysGPOList/Error_on_dangling_ticket_symlink 203s === RUN TestAdsysGPOList/Long_computer_name,_not_truncated 203s === RUN TestAdsysGPOList/Error_on_ldap_connection_refused 203s === RUN TestAdsysGPOList/Return_hierarchy 203s === RUN TestAdsysGPOList/Disabled_GPOs 203s --- PASS: TestAdsysGPOList (1.57s) 203s --- PASS: TestAdsysGPOList/Security_descriptor_missing_ignores_GPO (0.13s) 203s --- PASS: TestAdsysGPOList/Security_descriptor_accepted_is_for_another_user (0.05s) 203s --- PASS: TestAdsysGPOList/Error_on_user_requested_but_found_machine (0.04s) 203s --- PASS: TestAdsysGPOList/Block_inheritance (0.04s) 203s --- PASS: TestAdsysGPOList/Security_descriptor_access_denied_ignores_GPO (0.05s) 203s --- PASS: TestAdsysGPOList/Error_on_invalid_ticket (0.04s) 203s --- PASS: TestAdsysGPOList/Error_on_unreachable_ldap_host (0.05s) 203s --- PASS: TestAdsysGPOList/Error_on_machine_with_no_ldap (0.04s) 203s --- PASS: TestAdsysGPOList/Filter_user_only_GPOs (0.05s) 203s --- PASS: TestAdsysGPOList/Filter_machine_only_GPOs (0.05s) 203s --- PASS: TestAdsysGPOList/Forced_GPO_and_blocked_inheritance (0.05s) 203s --- PASS: TestAdsysGPOList/No_gPOptions_fallbacks_to_0 (0.04s) 203s --- PASS: TestAdsysGPOList/Error_on_no_network (0.06s) 203s --- PASS: TestAdsysGPOList/Error_invalid_GPO_link (0.05s) 203s --- PASS: TestAdsysGPOList/Multiple_GPOs_in_same_OU (0.06s) 203s --- PASS: TestAdsysGPOList/No_GPO_on_OU_-_string (0.05s) 203s --- PASS: TestAdsysGPOList/No_GPO_on_OU_-_bytes (0.04s) 203s --- PASS: TestAdsysGPOList/Fail_on_security_descriptor_access_failure (0.04s) 203s --- PASS: TestAdsysGPOList/Forced_GPO_are_first_by_reverse_order (0.04s) 203s --- PASS: TestAdsysGPOList/KRB5CCNAME_without_FILE:_is_supported_by_the_samba_bindings (0.04s) 203s --- PASS: TestAdsysGPOList/No_@_in_user_name_returns_the_same_thing (0.04s) 203s --- PASS: TestAdsysGPOList/Computers_truncated_at_15_characters (0.04s) 203s --- PASS: TestAdsysGPOList/Error_on_computer_requested_but_found_user (0.05s) 203s --- PASS: TestAdsysGPOList/Return_one_gpo (0.05s) 203s --- PASS: TestAdsysGPOList/Machine_GPOs (0.04s) 203s --- PASS: TestAdsysGPOList/Error_on_non_existent_account (0.05s) 203s --- PASS: TestAdsysGPOList/Error_on_KRB5CCNAME_unset (0.07s) 203s --- PASS: TestAdsysGPOList/Error_on_dangling_ticket_symlink (0.04s) 203s --- PASS: TestAdsysGPOList/Long_computer_name,_not_truncated (0.05s) 203s --- PASS: TestAdsysGPOList/Error_on_ldap_connection_refused (0.05s) 203s --- PASS: TestAdsysGPOList/Return_hierarchy (0.04s) 203s --- PASS: TestAdsysGPOList/Disabled_GPOs (0.04s) 203s === RUN TestGetPolicyDefinitions 203s === PAUSE TestGetPolicyDefinitions 203s === RUN TestTicketPath 203s krb5_test.go:23: Running subprocess with [/tmp/go-build3197746600/b566/ad.test -test.testlogfile=/tmp/go-build3197746600/b566/testlog.txt -test.paniconexit0 -test.timeout=10m0s -test.v=true -test.run=TestTicketPath] 203s === RUN TestTicketPath 203s === RUN TestTicketPath/Error_on_empty_ticket_path 203s === RUN TestTicketPath/Error_on_NULL_ticket_path 203s === RUN TestTicketPath/Error_on_non-FILE_ccache 203s === RUN TestTicketPath/Lookup_is_successful 203s === RUN TestTicketPath/Allow_ccache_without_FILE_identifier 203s === RUN TestTicketPath/Error_when_ccache_not_present_on_disk 203s === RUN TestTicketPath/Error_when_ccache_is_a_directory 203s === RUN TestTicketPath/Error_when_initializing_context 203s --- PASS: TestTicketPath (0.00s) 203s --- PASS: TestTicketPath/Error_on_empty_ticket_path (0.00s) 203s --- PASS: TestTicketPath/Error_on_NULL_ticket_path (0.00s) 203s --- PASS: TestTicketPath/Error_on_non-FILE_ccache (0.00s) 203s --- PASS: TestTicketPath/Lookup_is_successful (0.00s) 203s --- PASS: TestTicketPath/Allow_ccache_without_FILE_identifier (0.00s) 203s --- PASS: TestTicketPath/Error_when_ccache_not_present_on_disk (0.00s) 203s --- PASS: TestTicketPath/Error_when_ccache_is_a_directory (0.00s) 203s --- PASS: TestTicketPath/Error_when_initializing_context (0.00s) 203s PASS 203s --- PASS: TestTicketPath (0.22s) 203s === CONT TestGetPoliciesConcurrently 203s === RUN TestGetPoliciesConcurrently/Same_user,_same_GPO 203s === PAUSE TestGetPoliciesConcurrently/Same_user,_same_GPO 203s === RUN TestGetPoliciesConcurrently/Different_users,_same_GPO 203s === PAUSE TestGetPoliciesConcurrently/Different_users,_same_GPO 203s === RUN TestGetPoliciesConcurrently/Different_users,_different_GPO 203s === PAUSE TestGetPoliciesConcurrently/Different_users,_different_GPO 203s === RUN TestGetPoliciesConcurrently/One_machine,_one_user 203s === PAUSE TestGetPoliciesConcurrently/One_machine,_one_user 203s === RUN TestGetPoliciesConcurrently/Machine_requested_twice_at_the_same_time 203s === PAUSE TestGetPoliciesConcurrently/Machine_requested_twice_at_the_same_time 203s === CONT TestGetPoliciesConcurrently/Same_user,_same_GPO 203s === CONT TestFetch 203s === RUN TestFetch/gpo_already_up_to_date 203s === PAUSE TestFetch/gpo_already_up_to_date 203s === RUN TestFetch/assets_only_are_downloaded 203s === PAUSE TestFetch/assets_only_are_downloaded 203s === RUN TestFetch/Error_missing_remote_GPT.INI 203s === PAUSE TestFetch/Error_missing_remote_GPT.INI 203s === RUN TestFetch/assets_is_a_file_is_not_downloaded 203s === PAUSE TestFetch/assets_is_a_file_is_not_downloaded 203s === RUN TestFetch/two_gpos,_one_more_recent,_one_new 203s === PAUSE TestFetch/two_gpos,_one_more_recent,_one_new 203s === RUN TestFetch/Local_gpo_redownloaded_on_version_entry_missing_in_GPT.INI 203s === PAUSE TestFetch/Local_gpo_redownloaded_on_version_entry_missing_in_GPT.INI 203s === RUN TestFetch/assets_are_updated_to_latest_version 203s === PAUSE TestFetch/assets_are_updated_to_latest_version 203s === RUN TestFetch/existing_assets_are_kept_if_no_assets_downloadable_provided 203s === PAUSE TestFetch/existing_assets_are_kept_if_no_assets_downloadable_provided 203s === RUN TestFetch/concurrent_different_gpos 204s === PAUSE TestFetch/concurrent_different_gpos 204s === RUN TestFetch/one_new_gpo 204s === PAUSE TestFetch/one_new_gpo 204s === RUN TestFetch/two_new_gpos 204s === PAUSE TestFetch/two_new_gpos 204s === RUN TestFetch/two_gpos,_one_should_be_refreshed,_one_new 204s === PAUSE TestFetch/two_gpos,_one_should_be_refreshed,_one_new 204s === RUN TestFetch/Local_gpo_redownloaded_on_NaN_version_in_GPT.INI 204s === PAUSE TestFetch/Local_gpo_redownloaded_on_NaN_version_in_GPT.INI 204s === RUN TestFetch/assets_are_not_updated_if_local_version_matches,_with_non-standard_GPT.INI_casing 204s === PAUSE TestFetch/assets_are_not_updated_if_local_version_matches,_with_non-standard_GPT.INI_casing 204s === RUN TestFetch/concurrent_same_gpos 204s === PAUSE TestFetch/concurrent_same_gpos 204s === RUN TestFetch/two_gpos,_one_already_up_to_date,_one_should_be_refreshed 204s === PAUSE TestFetch/two_gpos,_one_already_up_to_date,_one_should_be_refreshed 204s === RUN TestFetch/two_gpos,_one_more_recent,_one_up_to_date 204s === PAUSE TestFetch/two_gpos,_one_more_recent,_one_up_to_date 204s === RUN TestFetch/assets_are_not_updated_if_remote_version_matches,_with_non-standard_GPT.INI_casing 204s === PAUSE TestFetch/assets_are_not_updated_if_remote_version_matches,_with_non-standard_GPT.INI_casing 204s === RUN TestFetch/gpos_and_assets 204s === PAUSE TestFetch/gpos_and_assets 204s === RUN TestFetch/Error_unexistant_remote_gpo 204s === PAUSE TestFetch/Error_unexistant_remote_gpo 204s === RUN TestFetch/assets_root_directory_not_present_on_SYSVOL_issues_a_warning_only 204s === PAUSE TestFetch/assets_root_directory_not_present_on_SYSVOL_issues_a_warning_only 204s === RUN TestFetch/two_gpos,_one_more_recent,_one_should_be_refreshed 204s === PAUSE TestFetch/two_gpos,_one_more_recent,_one_should_be_refreshed 204s === RUN TestFetch/two_gpos,_one_already_up_to_date,_one_new 204s === PAUSE TestFetch/two_gpos,_one_already_up_to_date,_one_new 204s === RUN TestFetch/gpo_is_refreshed 204s === PAUSE TestFetch/gpo_is_refreshed 204s === RUN TestFetch/local_gpo_is_more_recent_than_AD_one 204s === PAUSE TestFetch/local_gpo_is_more_recent_than_AD_one 204s === RUN TestFetch/Local_gpo_redownloaded_on_missing_GPT.INI 204s === PAUSE TestFetch/Local_gpo_redownloaded_on_missing_GPT.INI 204s === RUN TestFetch/existing_assets_are_removed_if_not_present_on_SYSVOL 204s === PAUSE TestFetch/existing_assets_are_removed_if_not_present_on_SYSVOL 204s === RUN TestFetch/remote_version_entry_missing_treated_as_0 204s === PAUSE TestFetch/remote_version_entry_missing_treated_as_0 204s === RUN TestFetch/keep_existing_gpos_intact 204s === PAUSE TestFetch/keep_existing_gpos_intact 204s === RUN TestFetch/assets_are_not_updated_if_version_matches 204s === PAUSE TestFetch/assets_are_not_updated_if_version_matches 204s === RUN TestFetch/Error_remote_version_NaN 204s === PAUSE TestFetch/Error_remote_version_NaN 204s === RUN TestFetch/Error_keeps_downloading_other_GPOS 204s === PAUSE TestFetch/Error_keeps_downloading_other_GPOS 204s === CONT TestGetPoliciesWorkflows 204s === RUN TestGetPoliciesWorkflows/Second_machine_call_is_a_refresh_(without_Krb5CCName_specified) 204s === PAUSE TestGetPoliciesWorkflows/Second_machine_call_is_a_refresh_(without_Krb5CCName_specified) 204s === RUN TestGetPoliciesWorkflows/Second_machine_call_after_a_restart 204s === PAUSE TestGetPoliciesWorkflows/Second_machine_call_after_a_restart 204s === RUN TestGetPoliciesWorkflows/Second_call_after_service_restarted 204s === PAUSE TestGetPoliciesWorkflows/Second_call_after_service_restarted 204s === RUN TestGetPoliciesWorkflows/Second_call_without_Krb5CCName_refreshes_ticket_copy_if_needed 204s === PAUSE TestGetPoliciesWorkflows/Second_call_without_Krb5CCName_refreshes_ticket_copy_if_needed 204s === RUN TestGetPoliciesWorkflows/Second_call_without_Krb5CCName_replaces_previous_symlinks_in_the_original_path 204s === PAUSE TestGetPoliciesWorkflows/Second_call_without_Krb5CCName_replaces_previous_symlinks_in_the_original_path 204s === RUN TestGetPoliciesWorkflows/Second_machine_call_after_service_restarted 204s === PAUSE TestGetPoliciesWorkflows/Second_machine_call_after_service_restarted 204s === RUN TestGetPoliciesWorkflows/Second_call_is_a_refresh_(without_Krb5CCName_specified) 204s === PAUSE TestGetPoliciesWorkflows/Second_call_is_a_refresh_(without_Krb5CCName_specified) 204s === RUN TestGetPoliciesWorkflows/Second_call_with_different_user 204s === PAUSE TestGetPoliciesWorkflows/Second_call_with_different_user 204s === RUN TestGetPoliciesWorkflows/Second_call_after_a_relogin 204s === PAUSE TestGetPoliciesWorkflows/Second_call_after_a_relogin 204s === CONT TestGetPoliciesOffline 204s === RUN TestGetPoliciesOffline/Error_on_SSSD_reports_online,_but_we_are_actually_offline_when_fetching_gpo_list,_even_with_a_cache 204s === PAUSE TestGetPoliciesOffline/Error_on_SSSD_reports_online,_but_we_are_actually_offline_when_fetching_gpo_list,_even_with_a_cache 204s === RUN TestGetPoliciesOffline/Offline,_get_from_cache,_gpo_only 204s === PAUSE TestGetPoliciesOffline/Offline,_get_from_cache,_gpo_only 204s === RUN TestGetPoliciesOffline/Offline,_get_from_cache,_with_assets 204s === PAUSE TestGetPoliciesOffline/Offline,_get_from_cache,_with_assets 204s === RUN TestGetPoliciesOffline/Error_offline_with_no_cache 204s === PAUSE TestGetPoliciesOffline/Error_offline_with_no_cache 204s === RUN TestGetPoliciesOffline/Offline,_ensure_we_fetch_from_cache_and_not_fetch_GPO_list 204s === PAUSE TestGetPoliciesOffline/Offline,_ensure_we_fetch_from_cache_and_not_fetch_GPO_list 204s === RUN TestGetPoliciesOffline/Offline,_with_assets 204s === PAUSE TestGetPoliciesOffline/Offline,_with_assets 204s === CONT TestGetPolicies 204s === RUN TestGetPolicies/Local_assets_and_its_db_are_removed_if_not_present_anymore_on_AD_sysvol 204s === PAUSE TestGetPolicies/Local_assets_and_its_db_are_removed_if_not_present_anymore_on_AD_sysvol 204s === RUN TestGetPolicies/Two_policies,_with_reversed_overrides 204s === PAUSE TestGetPolicies/Two_policies,_with_reversed_overrides 204s === RUN TestGetPolicies/More_policies,_with_multiple_overrides 204s === PAUSE TestGetPolicies/More_policies,_with_multiple_overrides 204s === RUN TestGetPolicies/Without_previous_call,_needs_userKrb5CCBaseName 204s === PAUSE TestGetPolicies/Without_previous_call,_needs_userKrb5CCBaseName 204s === RUN TestGetPolicies/Policy_can’t_be_downloaded 204s === PAUSE TestGetPolicies/Policy_can’t_be_downloaded 204s === RUN TestGetPolicies/Computer_only_policy,_user_object,_policy_is_empty 204s === PAUSE TestGetPolicies/Computer_only_policy,_user_object,_policy_is_empty 204s === RUN TestGetPolicies/Enabled_override_for_matching_release,_other_releases_override_ignored 204s === PAUSE TestGetPolicies/Enabled_override_for_matching_release,_other_releases_override_ignored 204s === RUN TestGetPolicies/Include_non_Ubuntu_keys_used_to_configure_certificate_autoenrollment 204s === PAUSE TestGetPolicies/Include_non_Ubuntu_keys_used_to_configure_certificate_autoenrollment 204s === RUN TestGetPolicies/Policy_machine_directory_is_uppercase 204s === PAUSE TestGetPolicies/Policy_machine_directory_is_uppercase 204s === RUN TestGetPolicies/Policy_user_directory_is_not_capitalized_or_uppercase,_no_rules_are_parsed 204s === PAUSE TestGetPolicies/Policy_user_directory_is_not_capitalized_or_uppercase,_no_rules_are_parsed 204s === RUN TestGetPolicies/Computer_policy_Registry.pol_is_mixed_case 204s === PAUSE TestGetPolicies/Computer_policy_Registry.pol_is_mixed_case 204s === RUN TestGetPolicies/Unexisting_CC_original_file_for_user 204s === PAUSE TestGetPolicies/Unexisting_CC_original_file_for_user 204s === RUN TestGetPolicies/Error_on_user_without_@_in_name 204s === PAUSE TestGetPolicies/Error_on_user_without_@_in_name 204s === RUN TestGetPolicies/Corrupted_policy_file 204s === PAUSE TestGetPolicies/Corrupted_policy_file 204s === RUN TestGetPolicies/Symlinks_can’t_be_created 204s === PAUSE TestGetPolicies/Symlinks_can’t_be_created 204s === RUN TestGetPolicies/Empty_value_for_unfiltered_entry 204s === PAUSE TestGetPolicies/Empty_value_for_unfiltered_entry 204s === RUN TestGetPolicies/Standard_policy_with_assets,_existing_assets_are_reattached_if_not_refreshed 204s === PAUSE TestGetPolicies/Standard_policy_with_assets,_existing_assets_are_reattached_if_not_refreshed 204s === RUN TestGetPolicies/Disabled_override 204s === PAUSE TestGetPolicies/Disabled_override 204s === RUN TestGetPolicies/Disabled_value_overrides_non_disabled_one 204s === PAUSE TestGetPolicies/Disabled_value_overrides_non_disabled_one 204s === RUN TestGetPolicies/Policy_user_directory_is_uppercase 204s === PAUSE TestGetPolicies/Policy_user_directory_is_uppercase 204s === RUN TestGetPolicies/Error_on_backend_IsOnline_call_failed 204s === PAUSE TestGetPolicies/Error_on_backend_IsOnline_call_failed 204s === RUN TestGetPolicies/Assets_directory_being_a_file_cleanup_local_existing_assets_and_its_db 204s === PAUSE TestGetPolicies/Assets_directory_being_a_file_cleanup_local_existing_assets_and_its_db 204s === RUN TestGetPolicies/Enabled_override 204s === PAUSE TestGetPolicies/Enabled_override 204s === RUN TestGetPolicies/Disable_override_for_matching_release,_other_releases_override_ignored 204s === PAUSE TestGetPolicies/Disable_override_for_matching_release,_other_releases_override_ignored 204s === RUN TestGetPolicies/Filter_non_Ubuntu_keys 204s === PAUSE TestGetPolicies/Filter_non_Ubuntu_keys 204s === RUN TestGetPolicies/Standard_policy,_computer_object 204s === PAUSE TestGetPolicies/Standard_policy,_computer_object 204s === RUN TestGetPolicies/User_only_policy,_user_object 204s === PAUSE TestGetPolicies/User_only_policy,_user_object 204s === RUN TestGetPolicies/Same_key_in_different_domains_are_kept_separated 204s === PAUSE TestGetPolicies/Same_key_in_different_domains_are_kept_separated 204s === RUN TestGetPolicies/Two_policies,_no_overrides 204s === PAUSE TestGetPolicies/Two_policies,_no_overrides 204s === RUN TestGetPolicies/Ignore_errors_on_non_Ubuntu_keys 204s === PAUSE TestGetPolicies/Ignore_errors_on_non_Ubuntu_keys 204s === RUN TestGetPolicies/Error_on_backend_ServerFQDN_call_failed 204s === PAUSE TestGetPolicies/Error_on_backend_ServerFQDN_call_failed 204s === RUN TestGetPolicies/Unsupported_type_for_unfiltered_entry 204s === PAUSE TestGetPolicies/Unsupported_type_for_unfiltered_entry 204s === RUN TestGetPolicies/Standard_policy_with_assets,_downloads_assets 204s === PAUSE TestGetPolicies/Standard_policy_with_assets,_downloads_assets 204s === RUN TestGetPolicies/Assets_can’t_be_downloaded_without_GPO 204s === PAUSE TestGetPolicies/Assets_can’t_be_downloaded_without_GPO 204s === RUN TestGetPolicies/Two_policies,_with_overrides 204s === PAUSE TestGetPolicies/Two_policies,_with_overrides 204s === RUN TestGetPolicies/User_policy_Registry.pol_is_mixed_case 204s === PAUSE TestGetPolicies/User_policy_Registry.pol_is_mixed_case 204s === RUN TestGetPolicies/Standard_policy,_user_object 204s === PAUSE TestGetPolicies/Standard_policy,_user_object 204s === RUN TestGetPolicies/No_override_for_this_release,_takes_default_value 204s === PAUSE TestGetPolicies/No_override_for_this_release,_takes_default_value 204s === RUN TestGetPolicies/Policy_machine_directory_is_not_capitalized_or_uppercase,_no_rules_are_parsed 204s === PAUSE TestGetPolicies/Policy_machine_directory_is_not_capitalized_or_uppercase,_no_rules_are_parsed 204s === RUN TestGetPolicies/Machine_doesn’t_match 204s === PAUSE TestGetPolicies/Machine_doesn’t_match 204s === RUN TestGetPolicies/Unexisting_CC_original_file_for_machine 204s === PAUSE TestGetPolicies/Unexisting_CC_original_file_for_machine 204s === RUN TestGetPolicies/User_only_policy,_computer_object,_policy_is_empty 204s === PAUSE TestGetPolicies/User_only_policy,_computer_object,_policy_is_empty 204s === RUN TestGetPolicies/Multiple_domains,_same_GPO 204s === PAUSE TestGetPolicies/Multiple_domains,_same_GPO 204s === RUN TestGetPolicies/Two_policies,_no_overrides,_reversed 204s === PAUSE TestGetPolicies/Two_policies,_no_overrides,_reversed 204s === RUN TestGetPolicies/Two_policies,_no_overrides,_one_is_not_the_same_object_type,_machine_ones_are_empty_when_parsing_user 204s === PAUSE TestGetPolicies/Two_policies,_no_overrides,_one_is_not_the_same_object_type,_machine_ones_are_empty_when_parsing_user 204s === RUN TestGetPolicies/Disabled_value_is_overridden 204s === PAUSE TestGetPolicies/Disabled_value_is_overridden 204s === RUN TestGetPolicies/User_policy_Registry.pol_is_lower_case 204s === PAUSE TestGetPolicies/User_policy_Registry.pol_is_lower_case 204s === RUN TestGetPolicies/Computer_policy_Registry.pol_is_lower_case 204s === PAUSE TestGetPolicies/Computer_policy_Registry.pol_is_lower_case 204s === RUN TestGetPolicies/Error_on_backend_HostKrb5CCName_call_failed 204s === PAUSE TestGetPolicies/Error_on_backend_HostKrb5CCName_call_failed 204s === CONT TestNew 204s === RUN TestNew/no_active_server_in_backend_does_not_fail_ad_creation 204s === PAUSE TestNew/no_active_server_in_backend_does_not_fail_ad_creation 204s === RUN TestNew/error_on_backend_ServerFQDN_random_failure 204s === PAUSE TestNew/error_on_backend_ServerFQDN_random_failure 204s === RUN TestNew/create_KRB5_and_Sysvol_cache_directory 204s === PAUSE TestNew/create_KRB5_and_Sysvol_cache_directory 204s === RUN TestNew/failed_to_create_KRB5_cache_directory 204s === PAUSE TestNew/failed_to_create_KRB5_cache_directory 204s === RUN TestNew/failed_to_create_Sysvol_cache_directory 204s === PAUSE TestNew/failed_to_create_Sysvol_cache_directory 204s === RUN TestNew/failed_to_create_Policies_cache_directory 204s === PAUSE TestNew/failed_to_create_Policies_cache_directory 204s === CONT TestParseGPOConcurrent 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:49Z" level=info msg="Downloading \"standard-name\"" 204s time="2025-10-31T03:46:49Z" level=info msg="Downloading \"standard-name\"" 204s time="2025-10-31T03:46:49Z" level=info msg="Downloading \"assets\"" 204s --- PASS: TestParseGPOConcurrent (0.42s) 204s === CONT TestFetchOneGPOWhileParsingItConcurrently 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:50Z" level=info msg="Assets directory is already up to date" 204s time="2025-10-31T03:46:50Z" level=info msg="GPO \"standard-name\" is already up to date" 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s === CONT TestFetchTweakSysvolCacheDir 204s === RUN TestFetchTweakSysvolCacheDir/SysvolCacheDir_doesn't_exist 204s === PAUSE TestFetchTweakSysvolCacheDir/SysvolCacheDir_doesn't_exist 204s === RUN TestFetchTweakSysvolCacheDir/SysvolCacheDir_is_read_only 204s === PAUSE TestFetchTweakSysvolCacheDir/SysvolCacheDir_is_read_only 204s === CONT TestFetchWithUnreadableFile 204s === RUN TestFetchWithUnreadableFile/without_gpo_initially_don’t_commit_new_partial_GPO 204s === PAUSE TestFetchWithUnreadableFile/without_gpo_initially_don’t_commit_new_partial_GPO 204s === RUN TestFetchWithUnreadableFile/existing_gpo_is_preserved 204s === PAUSE TestFetchWithUnreadableFile/existing_gpo_is_preserved 204s === CONT TestGetPolicyDefinitions 204s === RUN TestGetPolicyDefinitions/Load_ADMX_and_ADML 204s === PAUSE TestGetPolicyDefinitions/Load_ADMX_and_ADML 204s === RUN TestGetPolicyDefinitions/ADMX_and_ADML_does_not_exist_for_this_format 204s === PAUSE TestGetPolicyDefinitions/ADMX_and_ADML_does_not_exist_for_this_format 204s === RUN TestGetPolicyDefinitions/ADMX_and_ADML_does_not_exist_for_this_distro 204s === PAUSE TestGetPolicyDefinitions/ADMX_and_ADML_does_not_exist_for_this_distro 204s === CONT TestNormalizeTargetName 204s === RUN TestNormalizeTargetName/Computer_is_left_as_such 204s === PAUSE TestNormalizeTargetName/Computer_is_left_as_such 204s === RUN TestNormalizeTargetName/Computer_in_uppercase_is_left_as_such 204s === PAUSE TestNormalizeTargetName/Computer_in_uppercase_is_left_as_such 204s === RUN TestNormalizeTargetName/Computer_with_@_is_left_as_such 204s === PAUSE TestNormalizeTargetName/Computer_with_@_is_left_as_such 204s === RUN TestNormalizeTargetName/Error_on_no_default_domain_suffix_and_no_fqdn_user 204s === PAUSE TestNormalizeTargetName/Error_on_no_default_domain_suffix_and_no_fqdn_user 204s === RUN TestNormalizeTargetName/Computer_name_without_objectClass 204s === PAUSE TestNormalizeTargetName/Computer_name_without_objectClass 204s === RUN TestNormalizeTargetName/One_valid_user_with_domain\user 204s === PAUSE TestNormalizeTargetName/One_valid_user_with_domain\user 204s === RUN TestNormalizeTargetName/One_user_without_explicit_domain_suffix 204s === PAUSE TestNormalizeTargetName/One_user_without_explicit_domain_suffix 204s === RUN TestNormalizeTargetName/Error_on_multiple_\_in_name 204s === PAUSE TestNormalizeTargetName/Error_on_multiple_\_in_name 204s === RUN TestNormalizeTargetName/User_name_matching_computer,_setting_as_user 204s === PAUSE TestNormalizeTargetName/User_name_matching_computer,_setting_as_user 204s === RUN TestNormalizeTargetName/User_name_fqdn_matching_computer 204s === PAUSE TestNormalizeTargetName/User_name_fqdn_matching_computer 204s === RUN TestNormalizeTargetName/One_valid_user 204s === PAUSE TestNormalizeTargetName/One_valid_user 204s === RUN TestNormalizeTargetName/One_valid_user_with_mixed_case 204s === PAUSE TestNormalizeTargetName/One_valid_user_with_mixed_case 204s === CONT TestGetInfo 204s === RUN TestGetInfo/Info_reported_from_backend,_online 204s === PAUSE TestGetInfo/Info_reported_from_backend,_online 204s === RUN TestGetInfo/Info_reported_from_backend,_offline 204s === PAUSE TestGetInfo/Info_reported_from_backend,_offline 204s === RUN TestGetInfo/Report_unknown_state_if_IsOnline_calls_fail 204s === PAUSE TestGetInfo/Report_unknown_state_if_IsOnline_calls_fail 204s === RUN TestGetInfo/Report_unknown_state_if_ServerFQDN_calls_fail 204s === PAUSE TestGetInfo/Report_unknown_state_if_ServerFQDN_calls_fail 204s === CONT TestListUsers 204s === RUN TestListUsers/One_user 204s === PAUSE TestListUsers/One_user 204s === RUN TestListUsers/Machines_are_ignored,_from_policy_cache 204s === PAUSE TestListUsers/Machines_are_ignored,_from_policy_cache 204s === RUN TestListUsers/Error_on_policy_cache_directory_not_existing 204s === PAUSE TestListUsers/Error_on_policy_cache_directory_not_existing 204s === RUN TestListUsers/One_user,_from_policy_cache 204s === PAUSE TestListUsers/One_user,_from_policy_cache 204s === RUN TestListUsers/Machine_Only,_from_policy_cache 204s === PAUSE TestListUsers/Machine_Only,_from_policy_cache 204s === RUN TestListUsers/Ticket_cache_ignored_if_policy_cache_is_requested 204s === PAUSE TestListUsers/Ticket_cache_ignored_if_policy_cache_is_requested 204s === RUN TestListUsers/Two_users,_dangling_symlink_for_one 204s === PAUSE TestListUsers/Two_users,_dangling_symlink_for_one 204s === RUN TestListUsers/Machine_Only 204s === PAUSE TestListUsers/Machine_Only 204s === RUN TestListUsers/None,_from_policy_cache 204s === PAUSE TestListUsers/None,_from_policy_cache 204s === RUN TestListUsers/Error_on_Krb5_directory_not_existing 204s === PAUSE TestListUsers/Error_on_Krb5_directory_not_existing 204s === RUN TestListUsers/Two_users 204s === PAUSE TestListUsers/Two_users 204s === RUN TestListUsers/None 204s === PAUSE TestListUsers/None 204s === RUN TestListUsers/Machines_are_ignored 204s === PAUSE TestListUsers/Machines_are_ignored 204s === RUN TestListUsers/Two_users,_from_policy_cache 204s === PAUSE TestListUsers/Two_users,_from_policy_cache 204s === CONT TestGetPoliciesConcurrently/Machine_requested_twice_at_the_same_time 204s time="2025-10-31T03:46:50Z" level=info msg="Downloading \"standard-name\"" 204s --- PASS: TestFetchOneGPOWhileParsingItConcurrently (0.03s) 204s === CONT TestGetPoliciesConcurrently/One_machine,_one_user 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:50Z" level=info msg="Downloading \"assets\"" 204s time="2025-10-31T03:46:50Z" level=info msg="Downloading \"assets\"" 204s time="2025-10-31T03:46:50Z" level=info msg="Downloading \"standard-name\"" 204s time="2025-10-31T03:46:50Z" level=info msg="Downloading \"standard-name\"" 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:50Z" level=info msg="Assets directory is already up to date" 204s time="2025-10-31T03:46:50Z" level=info msg="GPO \"standard-name\" is already up to date" 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s === CONT TestGetPoliciesConcurrently/Different_users,_different_GPO 204s time="2025-10-31T03:46:50Z" level=info msg="GPO \"standard-name\" is already up to date" 204s time="2025-10-31T03:46:50Z" level=info msg="Assets directory is already up to date" 204s === CONT TestGetPoliciesConcurrently/Different_users,_same_GPO 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:50Z" level=info msg="Downloading \"assets\"" 204s time="2025-10-31T03:46:50Z" level=info msg="Downloading \"standard-name\"" 204s time="2025-10-31T03:46:50Z" level=info msg="Downloading \"assets\"" 204s time="2025-10-31T03:46:50Z" level=info msg="Downloading \"standard-name\"" 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:50Z" level=info msg="Downloading \"one-value-name\"" 204s time="2025-10-31T03:46:50Z" level=info msg="Assets directory is already up to date" 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:50Z" level=info msg="Assets directory is already up to date" 204s time="2025-10-31T03:46:50Z" level=info msg="GPO \"standard-name\" is already up to date" 204s === CONT TestFetch/keep_existing_gpos_intact 204s --- PASS: TestGetPoliciesConcurrently (0.00s) 204s --- PASS: TestGetPoliciesConcurrently/Same_user,_same_GPO (0.46s) 204s --- PASS: TestGetPoliciesConcurrently/One_machine,_one_user (0.21s) 204s --- PASS: TestGetPoliciesConcurrently/Machine_requested_twice_at_the_same_time (0.24s) 204s --- PASS: TestGetPoliciesConcurrently/Different_users,_same_GPO (0.26s) 204s --- PASS: TestGetPoliciesConcurrently/Different_users,_different_GPO (0.28s) 204s === CONT TestFetch/gpo_already_up_to_date 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:50Z" level=info msg="GPO \"gpo1-name\" is already up to date" 204s === CONT TestFetch/remote_version_entry_missing_treated_as_0 204s time="2025-10-31T03:46:50Z" level=info msg="GPO \"gpo1-name\" is already up to date" 204s === CONT TestFetch/existing_assets_are_removed_if_not_present_on_SYSVOL 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:50Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s === CONT TestFetch/Local_gpo_redownloaded_on_missing_GPT.INI 204s time="2025-10-31T03:46:50Z" level=info msg="No version key found in GPT.INI for gpt_ini_version_missing-name, assuming 0" 204s time="2025-10-31T03:46:50Z" level=info msg="GPO \"gpt_ini_version_missing-name\" is already up to date" 204s === CONT TestFetch/local_gpo_is_more_recent_than_AD_one 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:50Z" level=info msg="GPO \"gpo2-name\" is already up to date" 204s time="2025-10-31T03:46:50Z" level=info msg="Downloading \"gpo1-name\"" 204s === CONT TestFetch/gpo_is_refreshed 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:50Z" level=info msg="Downloading \"gpo1-name\"" 204s === CONT TestFetch/two_gpos,_one_already_up_to_date,_one_new 204s === CONT TestFetch/two_gpos,_one_more_recent,_one_should_be_refreshed 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:50Z" level=info msg="GPO \"gpo1-name\" is already up to date" 204s time="2025-10-31T03:46:50Z" level=info msg="Downloading \"gpo2-name\"" 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:50Z" level=info msg="GPO \"gpo2-name\" is already up to date" 204s time="2025-10-31T03:46:50Z" level=info msg="Downloading \"gpo1-name\"" 204s === CONT TestFetch/assets_root_directory_not_present_on_SYSVOL_issues_a_warning_only 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:50Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s === CONT TestFetch/Error_unexistant_remote_gpo 204s === CONT TestFetch/gpos_and_assets 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s === CONT TestFetch/assets_are_not_updated_if_remote_version_matches,_with_non-standard_GPT.INI_casing 204s time="2025-10-31T03:46:50Z" level=info msg="Downloading \"assets\"" 204s time="2025-10-31T03:46:50Z" level=info msg="Downloading \"gpo1-name\"" 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:50Z" level=info msg="Assets directory is already up to date" 204s === CONT TestFetch/two_gpos,_one_more_recent,_one_up_to_date 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:51Z" level=info msg="GPO \"gpo1-name\" is already up to date" 204s time="2025-10-31T03:46:51Z" level=info msg="GPO \"gpo2-name\" is already up to date" 204s === CONT TestFetch/two_gpos,_one_already_up_to_date,_one_should_be_refreshed 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:51Z" level=info msg="GPO \"gpo2-name\" is already up to date" 204s time="2025-10-31T03:46:51Z" level=info msg="Downloading \"gpo1-name\"" 204s === CONT TestFetch/concurrent_same_gpos 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:51Z" level=info msg="Downloading \"gpo1-name\"" 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:51Z" level=info msg="GPO \"gpo1-name\" is already up to date" 204s === CONT TestFetch/assets_are_not_updated_if_local_version_matches,_with_non-standard_GPT.INI_casing 204s === CONT TestFetch/Local_gpo_redownloaded_on_NaN_version_in_GPT.INI 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:51Z" level=warning msg="Invalid local GPT.INI for gpo1-name: invalid remote GPT.INI: strconv.ParseInt: parsing \"NaN\": invalid syntax\nDownloading it again…" 204s time="2025-10-31T03:46:51Z" level=info msg="Assets directory is already up to date" 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:51Z" level=info msg="Downloading \"gpo1-name\"" 204s === CONT TestFetch/two_gpos,_one_should_be_refreshed,_one_new 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:51Z" level=info msg="Downloading \"gpo2-name\"" 204s time="2025-10-31T03:46:51Z" level=info msg="Downloading \"gpo1-name\"" 204s === CONT TestFetch/two_new_gpos 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:51Z" level=info msg="Downloading \"gpo2-name\"" 204s === CONT TestFetch/one_new_gpo 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:51Z" level=info msg="Downloading \"gpo1-name\"" 204s time="2025-10-31T03:46:51Z" level=info msg="Downloading \"gpo1-name\"" 204s === CONT TestFetch/concurrent_different_gpos 204s === CONT TestFetch/existing_assets_are_kept_if_no_assets_downloadable_provided 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:51Z" level=info msg="Downloading \"gpo2-name\"" 204s === CONT TestFetch/assets_are_updated_to_latest_version 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:51Z" level=info msg="Downloading \"assets\"" 204s === CONT TestFetch/Local_gpo_redownloaded_on_version_entry_missing_in_GPT.INI 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:51Z" level=info msg="No version key found in GPT.INI for gpo1-name, assuming 0" 204s time="2025-10-31T03:46:51Z" level=info msg="Downloading \"gpo1-name\"" 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:51Z" level=info msg="Downloading \"gpo1-name\"" 204s === CONT TestFetch/two_gpos,_one_more_recent,_one_new 204s === CONT TestFetch/assets_is_a_file_is_not_downloaded 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:51Z" level=info msg="Downloading \"gpo1-name\"" 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:51Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s === CONT TestFetch/Error_missing_remote_GPT.INI 204s time="2025-10-31T03:46:51Z" level=info msg="GPO \"gpo2-name\" is already up to date" 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s === CONT TestFetch/assets_only_are_downloaded 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:51Z" level=info msg="Downloading \"assets\"" 204s === CONT TestFetch/Error_remote_version_NaN 204s === CONT TestFetch/Error_keeps_downloading_other_GPOS 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s === CONT TestFetch/assets_are_not_updated_if_version_matches 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:51Z" level=info msg="Downloading \"gpo2-name\"" 204s time="2025-10-31T03:46:51Z" level=info msg="Assets directory is already up to date" 204s === CONT TestGetPoliciesWorkflows/Second_machine_call_is_a_refresh_(without_Krb5CCName_specified) 204s --- PASS: TestFetch (0.00s) 204s --- PASS: TestFetch/keep_existing_gpos_intact (0.03s) 204s --- PASS: TestFetch/gpo_already_up_to_date (0.03s) 204s --- PASS: TestFetch/existing_assets_are_removed_if_not_present_on_SYSVOL (0.03s) 204s --- PASS: TestFetch/remote_version_entry_missing_treated_as_0 (0.03s) 204s --- PASS: TestFetch/local_gpo_is_more_recent_than_AD_one (0.03s) 204s --- PASS: TestFetch/Local_gpo_redownloaded_on_missing_GPT.INI (0.09s) 204s --- PASS: TestFetch/gpo_is_refreshed (0.07s) 204s --- PASS: TestFetch/two_gpos,_one_already_up_to_date,_one_new (0.06s) 204s --- PASS: TestFetch/two_gpos,_one_more_recent,_one_should_be_refreshed (0.06s) 204s --- PASS: TestFetch/assets_root_directory_not_present_on_SYSVOL_issues_a_warning_only (0.02s) 204s --- PASS: TestFetch/Error_unexistant_remote_gpo (0.02s) 204s --- PASS: TestFetch/assets_are_not_updated_if_remote_version_matches,_with_non-standard_GPT.INI_casing (0.03s) 204s --- PASS: TestFetch/two_gpos,_one_more_recent,_one_up_to_date (0.03s) 204s --- PASS: TestFetch/gpos_and_assets (0.10s) 204s --- PASS: TestFetch/concurrent_same_gpos (0.05s) 204s --- PASS: TestFetch/two_gpos,_one_already_up_to_date,_one_should_be_refreshed (0.08s) 204s --- PASS: TestFetch/assets_are_not_updated_if_local_version_matches,_with_non-standard_GPT.INI_casing (0.03s) 204s --- PASS: TestFetch/Local_gpo_redownloaded_on_NaN_version_in_GPT.INI (0.08s) 204s --- PASS: TestFetch/two_gpos,_one_should_be_refreshed,_one_new (0.07s) 204s --- PASS: TestFetch/two_new_gpos (0.08s) 204s --- PASS: TestFetch/one_new_gpo (0.07s) 204s --- PASS: TestFetch/existing_assets_are_kept_if_no_assets_downloadable_provided (0.01s) 204s --- PASS: TestFetch/assets_are_updated_to_latest_version (0.03s) 204s --- PASS: TestFetch/Local_gpo_redownloaded_on_version_entry_missing_in_GPT.INI (0.06s) 204s --- PASS: TestFetch/concurrent_different_gpos (0.12s) 204s --- PASS: TestFetch/assets_is_a_file_is_not_downloaded (0.02s) 204s --- PASS: TestFetch/Error_missing_remote_GPT.INI (0.01s) 204s --- PASS: TestFetch/assets_only_are_downloaded (0.03s) 204s --- PASS: TestFetch/two_gpos,_one_more_recent,_one_new (0.08s) 204s --- PASS: TestFetch/Error_remote_version_NaN (0.02s) 204s --- PASS: TestFetch/assets_are_not_updated_if_version_matches (0.02s) 204s --- PASS: TestFetch/Error_keeps_downloading_other_GPOS (0.04s) 204s === CONT TestGetPoliciesWorkflows/Second_machine_call_after_service_restarted 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:51Z" level=info msg="Downloading \"assets\"" 204s time="2025-10-31T03:46:51Z" level=info msg="Downloading \"assets\"" 204s time="2025-10-31T03:46:51Z" level=info msg="Downloading \"standard-name\"" 204s time="2025-10-31T03:46:51Z" level=info msg="Downloading \"standard-name\"" 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:51Z" level=info msg="Assets directory is already up to date" 204s time="2025-10-31T03:46:51Z" level=info msg="GPO \"standard-name\" is already up to date" 204s time="2025-10-31T03:46:51Z" level=info msg="GPO \"standard-name\" is already up to date" 204s time="2025-10-31T03:46:51Z" level=info msg="Assets directory is already up to date" 204s === CONT TestGetPoliciesWorkflows/Second_call_after_a_relogin 204s === CONT TestGetPoliciesWorkflows/Second_call_with_different_user 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:51Z" level=info msg="Downloading \"assets\"" 204s time="2025-10-31T03:46:51Z" level=info msg="Downloading \"assets\"" 204s time="2025-10-31T03:46:51Z" level=info msg="Downloading \"standard-name\"" 204s time="2025-10-31T03:46:51Z" level=info msg="Downloading \"standard-name\"" 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:51Z" level=info msg="Assets directory is already up to date" 204s time="2025-10-31T03:46:51Z" level=info msg="GPO \"standard-name\" is already up to date" 204s === CONT TestGetPoliciesWorkflows/Second_call_is_a_refresh_(without_Krb5CCName_specified) 204s time="2025-10-31T03:46:51Z" level=info msg="Assets directory is already up to date" 204s time="2025-10-31T03:46:51Z" level=info msg="GPO \"standard-name\" is already up to date" 204s === CONT TestGetPoliciesWorkflows/Second_call_without_Krb5CCName_refreshes_ticket_copy_if_needed 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:52Z" level=info msg="Downloading \"standard-name\"" 204s time="2025-10-31T03:46:52Z" level=info msg="Downloading \"assets\"" 204s time="2025-10-31T03:46:52Z" level=info msg="Downloading \"assets\"" 204s time="2025-10-31T03:46:52Z" level=info msg="Downloading \"standard-name\"" 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:52Z" level=info msg="Assets directory is already up to date" 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:52Z" level=info msg="GPO \"standard-name\" is already up to date" 204s time="2025-10-31T03:46:52Z" level=info msg="Assets directory is already up to date" 204s === CONT TestGetPoliciesWorkflows/Second_call_without_Krb5CCName_replaces_previous_symlinks_in_the_original_path 204s time="2025-10-31T03:46:52Z" level=info msg="GPO \"standard-name\" is already up to date" 204s === CONT TestGetPoliciesWorkflows/Second_call_after_service_restarted 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:52Z" level=info msg="Downloading \"standard-name\"" 204s time="2025-10-31T03:46:52Z" level=info msg="Downloading \"standard-name\"" 204s time="2025-10-31T03:46:52Z" level=info msg="Downloading \"assets\"" 204s time="2025-10-31T03:46:52Z" level=info msg="Downloading \"assets\"" 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:52Z" level=info msg="Assets directory is already up to date" 204s time="2025-10-31T03:46:52Z" level=info msg="Assets directory is already up to date" 204s time="2025-10-31T03:46:52Z" level=info msg="GPO \"standard-name\" is already up to date" 204s time="2025-10-31T03:46:52Z" level=info msg="GPO \"standard-name\" is already up to date" 204s === CONT TestGetPoliciesOffline/Error_on_SSSD_reports_online,_but_we_are_actually_offline_when_fetching_gpo_list,_even_with_a_cache 204s === CONT TestGetPoliciesWorkflows/Second_machine_call_after_a_restart 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:52Z" level=info msg="Downloading \"standard-name\"" 204s time="2025-10-31T03:46:52Z" level=info msg="Downloading \"assets\"" 204s time="2025-10-31T03:46:52Z" level=info msg="Downloading \"assets\"" 204s time="2025-10-31T03:46:52Z" level=info msg="Downloading \"standard-name\"" 204s === CONT TestGetPoliciesOffline/Error_offline_with_no_cache 204s === CONT TestGetPoliciesOffline/Offline,_with_assets 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:52Z" level=info msg="Assets directory is already up to date" 204s time="2025-10-31T03:46:52Z" level=info msg="GPO \"standard-name\" is already up to date" 204s === CONT TestGetPoliciesOffline/Offline,_ensure_we_fetch_from_cache_and_not_fetch_GPO_list 204s --- PASS: TestGetPoliciesWorkflows (0.00s) 204s --- PASS: TestGetPoliciesWorkflows/Second_machine_call_is_a_refresh_(without_Krb5CCName_specified) (0.27s) 204s --- PASS: TestGetPoliciesWorkflows/Second_machine_call_after_service_restarted (0.26s) 204s --- PASS: TestGetPoliciesWorkflows/Second_call_with_different_user (0.22s) 204s --- PASS: TestGetPoliciesWorkflows/Second_call_after_a_relogin (0.24s) 204s --- PASS: TestGetPoliciesWorkflows/Second_call_without_Krb5CCName_refreshes_ticket_copy_if_needed (0.22s) 204s --- PASS: TestGetPoliciesWorkflows/Second_call_is_a_refresh_(without_Krb5CCName_specified) (0.23s) 204s --- PASS: TestGetPoliciesWorkflows/Second_call_after_service_restarted (0.21s) 204s --- PASS: TestGetPoliciesWorkflows/Second_call_without_Krb5CCName_replaces_previous_symlinks_in_the_original_path (0.21s) 204s --- PASS: TestGetPoliciesWorkflows/Second_machine_call_after_a_restart (0.27s) 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:52Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:52Z" level=info msg="Downloading \"assets\"" 204s time="2025-10-31T03:46:52Z" level=info msg="Downloading \"standard-name\"" 204s time="2025-10-31T03:46:52Z" level=info msg="Downloading \"standard-name\"" 204s time="2025-10-31T03:46:52Z" level=info msg="Can't reach AD: machine is offline and \"useroffline@GPOONLY.COM\" policies are applied using previous online update" 204s === CONT TestGetPoliciesOffline/Offline,_get_from_cache,_with_assets 204s time="2025-10-31T03:46:52Z" level=info msg="Can't reach AD: machine is offline and \"useroffline@ASSETSANDGPO.COM\" policies are applied using previous online update" 204s === CONT TestGetPoliciesOffline/Offline,_get_from_cache,_gpo_only 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:52Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s time="2025-10-31T03:46:52Z" level=info msg="Downloading \"standard-name\"" 204s time="2025-10-31T03:46:52Z" level=info msg="Downloading \"standard-name\"" 204s time="2025-10-31T03:46:52Z" level=info msg="Downloading \"assets\"" 204s time="2025-10-31T03:46:52Z" level=info msg="Can't reach AD: machine is offline and \"useroffline@ASSETSANDGPO.COM\" policies are applied using previous online update" 204s time="2025-10-31T03:46:52Z" level=info msg="Can't reach AD: machine is offline and \"useroffline@GPOONLY.COM\" policies are applied using previous online update" 204s === CONT TestGetPolicies/Local_assets_and_its_db_are_removed_if_not_present_anymore_on_AD_sysvol 204s --- PASS: TestGetPoliciesOffline (0.00s) 204s --- PASS: TestGetPoliciesOffline/Error_on_SSSD_reports_online,_but_we_are_actually_offline_when_fetching_gpo_list,_even_with_a_cache (0.25s) 204s --- PASS: TestGetPoliciesOffline/Error_offline_with_no_cache (0.00s) 204s --- PASS: TestGetPoliciesOffline/Offline,_ensure_we_fetch_from_cache_and_not_fetch_GPO_list (0.10s) 204s --- PASS: TestGetPoliciesOffline/Offline,_with_assets (0.14s) 204s --- PASS: TestGetPoliciesOffline/Offline,_get_from_cache,_gpo_only (0.12s) 204s --- PASS: TestGetPoliciesOffline/Offline,_get_from_cache,_with_assets (0.14s) 204s === CONT TestNew/no_active_server_in_backend_does_not_fail_ad_creation 204s === CONT TestGetPolicies/Error_on_backend_HostKrb5CCName_call_failed 204s === CONT TestGetPolicies/Computer_policy_Registry.pol_is_lower_case 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:52Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:53Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s time="2025-10-31T03:46:53Z" level=info msg="Downloading \"lowercase-registry-name\"" 204s time="2025-10-31T03:46:53Z" level=info msg="Downloading \"standard-name\"" 204s === CONT TestGetPolicies/User_policy_Registry.pol_is_lower_case 204s === CONT TestGetPolicies/Disabled_value_is_overridden 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:53Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:53Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s time="2025-10-31T03:46:53Z" level=info msg="Downloading \"disabled-value-name\"" 204s time="2025-10-31T03:46:53Z" level=info msg="Downloading \"lowercase-registry-name\"" 204s time="2025-10-31T03:46:53Z" level=info msg="Downloading \"standard-name\"" 204s === CONT TestGetPolicies/Two_policies,_no_overrides,_one_is_not_the_same_object_type,_machine_ones_are_empty_when_parsing_user 204s === CONT TestGetPolicies/Two_policies,_no_overrides,_reversed 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:53Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s time="2025-10-31T03:46:53Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s time="2025-10-31T03:46:53Z" level=info msg="Downloading \"machine-only-name\"" 204s time="2025-10-31T03:46:53Z" level=info msg="Downloading \"standard-name\"" 204s time="2025-10-31T03:46:53Z" level=info msg="Downloading \"one-value-name\"" 204s time="2025-10-31T03:46:53Z" level=info msg="Downloading \"user-only-name\"" 204s === CONT TestGetPolicies/Multiple_domains,_same_GPO 204s === CONT TestGetPolicies/User_only_policy,_computer_object,_policy_is_empty 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:53Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:53Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s time="2025-10-31T03:46:53Z" level=info msg="Downloading \"user-only-name\"" 204s time="2025-10-31T03:46:53Z" level=info msg="Downloading \"multiple-domains-name\"" 204s === CONT TestGetPolicies/Unexisting_CC_original_file_for_machine 204s === CONT TestGetPolicies/Machine_doesn’t_match 204s === CONT TestGetPolicies/Policy_machine_directory_is_not_capitalized_or_uppercase,_no_rules_are_parsed 204s === CONT TestGetPolicies/No_override_for_this_release,_takes_default_value 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:53Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s time="2025-10-31T03:46:53Z" level=info msg="Downloading \"multiple-releases-name\"" 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:53Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s time="2025-10-31T03:46:53Z" level=info msg="Downloading \"lowercase-class-name\"" 204s === CONT TestGetPolicies/Standard_policy,_user_object 204s === CONT TestGetPolicies/User_policy_Registry.pol_is_mixed_case 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:53Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:53Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s time="2025-10-31T03:46:53Z" level=info msg="Downloading \"mixedcase-registry-name\"" 204s time="2025-10-31T03:46:53Z" level=info msg="Downloading \"standard-name\"" 204s === CONT TestGetPolicies/Two_policies,_with_overrides 204s === CONT TestGetPolicies/Assets_can’t_be_downloaded_without_GPO 204s === CONT TestGetPolicies/Standard_policy_with_assets,_downloads_assets 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:53Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s time="2025-10-31T03:46:53Z" level=info msg="Downloading \"standard-name\"" 204s time="2025-10-31T03:46:53Z" level=info msg="Downloading \"one-value-name\"" 204s === CONT TestGetPolicies/Unsupported_type_for_unfiltered_entry 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:53Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s time="2025-10-31T03:46:53Z" level=info msg="Downloading \"standard-name\"" 204s time="2025-10-31T03:46:53Z" level=info msg="Downloading \"assets\"" 204s time="2025-10-31T03:46:53Z" level=info msg="Downloading \"bad-entry-type-name\"" 204s === CONT TestGetPolicies/Error_on_backend_ServerFQDN_call_failed 204s === CONT TestGetPolicies/Ignore_errors_on_non_Ubuntu_keys 204s === CONT TestGetPolicies/Two_policies,_no_overrides 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:54Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:54Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s time="2025-10-31T03:46:54Z" level=info msg="Downloading \"user-only-name\"" 204s time="2025-10-31T03:46:54Z" level=info msg="Downloading \"unsupported-with-errors-name\"" 204s time="2025-10-31T03:46:54Z" level=info msg="Downloading \"one-value-name\"" 204s === CONT TestGetPolicies/Same_key_in_different_domains_are_kept_separated 204s === CONT TestGetPolicies/User_only_policy,_user_object 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:54Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s time="2025-10-31T03:46:54Z" level=info msg="Downloading \"one-value-name\"" 204s time="2025-10-31T03:46:54Z" level=info msg="Downloading \"other-domain-name\"" 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:54Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s time="2025-10-31T03:46:54Z" level=info msg="Downloading \"user-only-name\"" 204s === CONT TestGetPolicies/Standard_policy,_computer_object 204s === CONT TestGetPolicies/Filter_non_Ubuntu_keys 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:54Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:54Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s time="2025-10-31T03:46:54Z" level=info msg="Downloading \"filtered-name\"" 204s time="2025-10-31T03:46:54Z" level=info msg="Downloading \"standard-name\"" 204s === CONT TestGetPolicies/Disable_override_for_matching_release,_other_releases_override_ignored 204s === CONT TestGetPolicies/Enabled_override 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:54Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:54Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s time="2025-10-31T03:46:54Z" level=info msg="Downloading \"multiple-releases-name\"" 204s time="2025-10-31T03:46:54Z" level=info msg="Downloading \"multiple-releases-one-enabled-name\"" 204s === CONT TestGetPolicies/Assets_directory_being_a_file_cleanup_local_existing_assets_and_its_db 204s === CONT TestGetPolicies/Error_on_backend_IsOnline_call_failed 204s === CONT TestGetPolicies/Policy_user_directory_is_uppercase 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:54Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:54Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s time="2025-10-31T03:46:54Z" level=info msg="Downloading \"standard-name\"" 204s time="2025-10-31T03:46:54Z" level=info msg="Downloading \"uppercase-class-name\"" 204s === CONT TestGetPolicies/Disabled_value_overrides_non_disabled_one 204s === CONT TestGetPolicies/Disabled_override 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:54Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:54Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s time="2025-10-31T03:46:54Z" level=info msg="Downloading \"standard-name\"" 204s time="2025-10-31T03:46:54Z" level=info msg="Downloading \"disabled-value-name\"" 204s time="2025-10-31T03:46:54Z" level=info msg="Downloading \"multiple-releases-one-disabled-name\"" 204s === CONT TestGetPolicies/Standard_policy_with_assets,_existing_assets_are_reattached_if_not_refreshed 204s === CONT TestGetPolicies/Empty_value_for_unfiltered_entry 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:54Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:54Z" level=info msg="Downloading \"standard-name\"" 204s time="2025-10-31T03:46:54Z" level=info msg="Assets directory is already up to date" 204s time="2025-10-31T03:46:54Z" level=info msg="Downloading \"empty-value-name\"" 204s === CONT TestGetPolicies/Symlinks_can’t_be_created 204s === CONT TestGetPolicies/Corrupted_policy_file 204s === CONT TestGetPolicies/Error_on_user_without_@_in_name 204s === CONT TestGetPolicies/Unexisting_CC_original_file_for_user 204s === CONT TestGetPolicies/Computer_policy_Registry.pol_is_mixed_case 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:54Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:54Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s time="2025-10-31T03:46:54Z" level=info msg="Downloading \"corrupted-policy-name\"" 204s time="2025-10-31T03:46:54Z" level=info msg="Downloading \"mixedcase-registry-name\"" 204s === CONT TestGetPolicies/Policy_user_directory_is_not_capitalized_or_uppercase,_no_rules_are_parsed 204s === CONT TestGetPolicies/Policy_machine_directory_is_uppercase 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:55Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s time="2025-10-31T03:46:55Z" level=info msg="Downloading \"lowercase-class-name\"" 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:55Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s time="2025-10-31T03:46:55Z" level=info msg="Downloading \"uppercase-class-name\"" 204s === CONT TestGetPolicies/Include_non_Ubuntu_keys_used_to_configure_certificate_autoenrollment 204s === CONT TestGetPolicies/Enabled_override_for_matching_release,_other_releases_override_ignored 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:55Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:55Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s time="2025-10-31T03:46:55Z" level=info msg="Downloading \"filtered-with-certificate-autoenrollment-name\"" 204s time="2025-10-31T03:46:55Z" level=info msg="Downloading \"multiple-releases-name\"" 204s === CONT TestGetPolicies/Computer_only_policy,_user_object,_policy_is_empty 204s === CONT TestGetPolicies/Policy_can’t_be_downloaded 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:55Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:55Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s time="2025-10-31T03:46:55Z" level=info msg="Downloading \"machine-only-name\"" 204s === CONT TestGetPolicies/Without_previous_call,_needs_userKrb5CCBaseName 204s === CONT TestGetPolicies/More_policies,_with_multiple_overrides 204s === CONT TestGetPolicies/Two_policies,_with_reversed_overrides 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:55Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:55Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 204s time="2025-10-31T03:46:55Z" level=info msg="Downloading \"one-value-name\"" 204s time="2025-10-31T03:46:55Z" level=info msg="Downloading \"standard-name\"" 204s time="2025-10-31T03:46:55Z" level=info msg="Downloading \"user-only-name\"" 204s time="2025-10-31T03:46:55Z" level=info msg="Downloading \"standard-name\"" 204s time="2025-10-31T03:46:55Z" level=info msg="Downloading \"one-value-name\"" 204s === CONT TestNew/failed_to_create_Policies_cache_directory 204s === CONT TestNew/failed_to_create_Sysvol_cache_directory 204s === CONT TestNew/failed_to_create_KRB5_cache_directory 204s === CONT TestNew/create_KRB5_and_Sysvol_cache_directory 204s === CONT TestNew/error_on_backend_ServerFQDN_random_failure 204s --- PASS: TestNew (0.00s) 204s --- PASS: TestNew/no_active_server_in_backend_does_not_fail_ad_creation (0.00s) 204s --- PASS: TestNew/failed_to_create_Sysvol_cache_directory (0.00s) 204s --- PASS: TestNew/failed_to_create_KRB5_cache_directory (0.00s) 204s --- PASS: TestNew/create_KRB5_and_Sysvol_cache_directory (0.00s) 204s --- PASS: TestNew/failed_to_create_Policies_cache_directory (0.00s) 204s --- PASS: TestNew/error_on_backend_ServerFQDN_random_failure (0.01s) 204s === CONT TestFetchTweakSysvolCacheDir/SysvolCacheDir_doesn't_exist 204s --- PASS: TestGetPolicies (0.01s) 204s --- PASS: TestGetPolicies/Error_on_backend_HostKrb5CCName_call_failed (0.00s) 204s --- PASS: TestGetPolicies/Local_assets_and_its_db_are_removed_if_not_present_anymore_on_AD_sysvol (0.11s) 204s --- PASS: TestGetPolicies/Computer_policy_Registry.pol_is_lower_case (0.11s) 204s --- PASS: TestGetPolicies/User_policy_Registry.pol_is_lower_case (0.11s) 204s --- PASS: TestGetPolicies/Disabled_value_is_overridden (0.11s) 204s --- PASS: TestGetPolicies/Two_policies,_no_overrides,_reversed (0.17s) 204s --- PASS: TestGetPolicies/Two_policies,_no_overrides,_one_is_not_the_same_object_type,_machine_ones_are_empty_when_parsing_user (0.18s) 204s --- PASS: TestGetPolicies/User_only_policy,_computer_object,_policy_is_empty (0.10s) 204s --- PASS: TestGetPolicies/Multiple_domains,_same_GPO (0.10s) 204s --- PASS: TestGetPolicies/Machine_doesn’t_match (0.00s) 204s --- PASS: TestGetPolicies/Unexisting_CC_original_file_for_machine (0.00s) 204s --- PASS: TestGetPolicies/No_override_for_this_release,_takes_default_value (0.13s) 204s --- PASS: TestGetPolicies/Policy_machine_directory_is_not_capitalized_or_uppercase,_no_rules_are_parsed (0.14s) 204s --- PASS: TestGetPolicies/Standard_policy,_user_object (0.13s) 204s --- PASS: TestGetPolicies/User_policy_Registry.pol_is_mixed_case (0.13s) 204s --- PASS: TestGetPolicies/Assets_can’t_be_downloaded_without_GPO (0.10s) 204s --- PASS: TestGetPolicies/Two_policies,_with_overrides (0.12s) 204s --- PASS: TestGetPolicies/Unsupported_type_for_unfiltered_entry (0.12s) 204s --- PASS: TestGetPolicies/Error_on_backend_ServerFQDN_call_failed (0.00s) 204s --- PASS: TestGetPolicies/Standard_policy_with_assets,_downloads_assets (0.17s) 204s --- PASS: TestGetPolicies/Two_policies,_no_overrides (0.12s) 204s --- PASS: TestGetPolicies/Ignore_errors_on_non_Ubuntu_keys (0.15s) 204s --- PASS: TestGetPolicies/User_only_policy,_user_object (0.11s) 204s --- PASS: TestGetPolicies/Same_key_in_different_domains_are_kept_separated (0.12s) 204s --- PASS: TestGetPolicies/Standard_policy,_computer_object (0.15s) 204s --- PASS: TestGetPolicies/Filter_non_Ubuntu_keys (0.14s) 204s --- PASS: TestGetPolicies/Disable_override_for_matching_release,_other_releases_override_ignored (0.11s) 204s --- PASS: TestGetPolicies/Enabled_override (0.11s) 204s --- PASS: TestGetPolicies/Error_on_backend_IsOnline_call_failed (0.00s) 204s --- PASS: TestGetPolicies/Policy_user_directory_is_uppercase (0.10s) 204s --- PASS: TestGetPolicies/Assets_directory_being_a_file_cleanup_local_existing_assets_and_its_db (0.12s) 204s --- PASS: TestGetPolicies/Disabled_value_overrides_non_disabled_one (0.12s) 204s --- PASS: TestGetPolicies/Disabled_override (0.13s) 204s --- PASS: TestGetPolicies/Empty_value_for_unfiltered_entry (0.12s) 204s --- PASS: TestGetPolicies/Symlinks_can’t_be_created (0.00s) 204s --- PASS: TestGetPolicies/Standard_policy_with_assets,_existing_assets_are_reattached_if_not_refreshed (0.14s) 204s --- PASS: TestGetPolicies/Unexisting_CC_original_file_for_user (0.00s) 204s --- PASS: TestGetPolicies/Error_on_user_without_@_in_name (0.00s) 204s --- PASS: TestGetPolicies/Computer_policy_Registry.pol_is_mixed_case (0.10s) 204s --- PASS: TestGetPolicies/Corrupted_policy_file (0.12s) 204s --- PASS: TestGetPolicies/Policy_machine_directory_is_uppercase (0.08s) 204s --- PASS: TestGetPolicies/Policy_user_directory_is_not_capitalized_or_uppercase,_no_rules_are_parsed (0.10s) 204s --- PASS: TestGetPolicies/Include_non_Ubuntu_keys_used_to_configure_certificate_autoenrollment (0.10s) 204s --- PASS: TestGetPolicies/Enabled_override_for_matching_release,_other_releases_override_ignored (0.10s) 204s --- PASS: TestGetPolicies/Policy_can’t_be_downloaded (0.09s) 204s --- PASS: TestGetPolicies/Without_previous_call,_needs_userKrb5CCBaseName (0.00s) 204s --- PASS: TestGetPolicies/Computer_only_policy,_user_object,_policy_is_empty (0.10s) 204s --- PASS: TestGetPolicies/More_policies,_with_multiple_overrides (0.14s) 204s --- PASS: TestGetPolicies/Two_policies,_with_reversed_overrides (0.15s) 204s === CONT TestFetchWithUnreadableFile/without_gpo_initially_don’t_commit_new_partial_GPO 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:55Z" level=info msg="Downloading \"gpo1-name\"" 204s time="2025-10-31T03:46:55Z" level=info msg="Downloading \"gpo1-name\"" 204s === CONT TestFetchTweakSysvolCacheDir/SysvolCacheDir_is_read_only 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:55Z" level=info msg="Downloading \"gpo1-name\"" 204s --- PASS: TestFetchTweakSysvolCacheDir (0.00s) 204s --- PASS: TestFetchTweakSysvolCacheDir/SysvolCacheDir_doesn't_exist (0.03s) 204s --- PASS: TestFetchTweakSysvolCacheDir/SysvolCacheDir_is_read_only (0.02s) 204s === CONT TestGetPolicyDefinitions/Load_ADMX_and_ADML 204s === CONT TestFetchWithUnreadableFile/existing_gpo_is_preserved 204s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 204s time="2025-10-31T03:46:55Z" level=info msg="Downloading \"gpo1-name\"" 204s === CONT TestNormalizeTargetName/Computer_is_left_as_such 204s === CONT TestGetPolicyDefinitions/ADMX_and_ADML_does_not_exist_for_this_distro 204s === CONT TestGetPolicyDefinitions/ADMX_and_ADML_does_not_exist_for_this_format 204s --- PASS: TestGetPolicyDefinitions (0.00s) 204s --- PASS: TestGetPolicyDefinitions/Load_ADMX_and_ADML (0.01s) 204s --- PASS: TestGetPolicyDefinitions/ADMX_and_ADML_does_not_exist_for_this_distro (0.00s) 204s --- PASS: TestGetPolicyDefinitions/ADMX_and_ADML_does_not_exist_for_this_format (0.00s) 204s === CONT TestGetInfo/Info_reported_from_backend,_online 204s === CONT TestNormalizeTargetName/One_valid_user_with_mixed_case 204s === CONT TestNormalizeTargetName/One_valid_user 204s === CONT TestNormalizeTargetName/User_name_fqdn_matching_computer 204s === CONT TestNormalizeTargetName/User_name_matching_computer,_setting_as_user 204s === CONT TestNormalizeTargetName/Error_on_multiple_\_in_name 204s === CONT TestNormalizeTargetName/One_user_without_explicit_domain_suffix 204s === CONT TestNormalizeTargetName/One_valid_user_with_domain\user 204s === CONT TestNormalizeTargetName/Computer_name_without_objectClass 204s === CONT TestNormalizeTargetName/Error_on_no_default_domain_suffix_and_no_fqdn_user 204s === CONT TestNormalizeTargetName/Computer_with_@_is_left_as_such 204s === CONT TestNormalizeTargetName/Computer_in_uppercase_is_left_as_such 204s --- PASS: TestFetchWithUnreadableFile (0.00s) 204s --- PASS: TestFetchWithUnreadableFile/without_gpo_initially_don’t_commit_new_partial_GPO (0.06s) 204s --- PASS: TestFetchWithUnreadableFile/existing_gpo_is_preserved (0.04s) 204s === CONT TestListUsers/One_user 204s === CONT TestGetInfo/Report_unknown_state_if_ServerFQDN_calls_fail 204s --- PASS: TestNormalizeTargetName (0.00s) 204s --- PASS: TestNormalizeTargetName/Computer_is_left_as_such (0.00s) 204s --- PASS: TestNormalizeTargetName/One_valid_user_with_mixed_case (0.00s) 204s --- PASS: TestNormalizeTargetName/One_valid_user (0.00s) 204s --- PASS: TestNormalizeTargetName/User_name_fqdn_matching_computer (0.00s) 204s --- PASS: TestNormalizeTargetName/User_name_matching_computer,_setting_as_user (0.00s) 204s --- PASS: TestNormalizeTargetName/Error_on_multiple_\_in_name (0.00s) 204s --- PASS: TestNormalizeTargetName/One_user_without_explicit_domain_suffix (0.00s) 204s --- PASS: TestNormalizeTargetName/One_valid_user_with_domain\user (0.00s) 204s --- PASS: TestNormalizeTargetName/Computer_name_without_objectClass (0.00s) 204s --- PASS: TestNormalizeTargetName/Error_on_no_default_domain_suffix_and_no_fqdn_user (0.00s) 204s --- PASS: TestNormalizeTargetName/Computer_with_@_is_left_as_such (0.00s) 204s --- PASS: TestNormalizeTargetName/Computer_in_uppercase_is_left_as_such (0.00s) 204s === CONT TestGetInfo/Report_unknown_state_if_IsOnline_calls_fail 204s time="2025-10-31T03:46:55Z" level=warning msg="IsOnline returned an error" 204s === CONT TestGetInfo/Info_reported_from_backend,_offline 204s === CONT TestListUsers/Two_users,_from_policy_cache 204s === CONT TestListUsers/Machines_are_ignored 204s --- PASS: TestGetInfo (0.00s) 204s --- PASS: TestGetInfo/Info_reported_from_backend,_online (0.00s) 204s --- PASS: TestGetInfo/Report_unknown_state_if_IsOnline_calls_fail (0.00s) 204s --- PASS: TestGetInfo/Report_unknown_state_if_ServerFQDN_calls_fail (0.00s) 204s --- PASS: TestGetInfo/Info_reported_from_backend,_offline (0.00s) 204s === CONT TestListUsers/None 204s === CONT TestListUsers/Two_users 204s === CONT TestListUsers/Error_on_Krb5_directory_not_existing 204s === CONT TestListUsers/None,_from_policy_cache 204s === CONT TestListUsers/Machine_Only 204s === CONT TestListUsers/Two_users,_dangling_symlink_for_one 204s === CONT TestListUsers/Ticket_cache_ignored_if_policy_cache_is_requested 204s === CONT TestListUsers/Machine_Only,_from_policy_cache 204s === CONT TestListUsers/One_user,_from_policy_cache 204s === CONT TestListUsers/Error_on_policy_cache_directory_not_existing 204s === CONT TestListUsers/Machines_are_ignored,_from_policy_cache 204s --- PASS: TestListUsers (0.00s) 204s --- PASS: TestListUsers/One_user (0.00s) 204s --- PASS: TestListUsers/Two_users,_from_policy_cache (0.00s) 204s --- PASS: TestListUsers/None (0.00s) 204s --- PASS: TestListUsers/Two_users (0.00s) 204s --- PASS: TestListUsers/Machines_are_ignored (0.00s) 204s --- PASS: TestListUsers/None,_from_policy_cache (0.00s) 204s --- PASS: TestListUsers/Error_on_Krb5_directory_not_existing (0.00s) 204s --- PASS: TestListUsers/Two_users,_dangling_symlink_for_one (0.00s) 204s --- PASS: TestListUsers/Ticket_cache_ignored_if_policy_cache_is_requested (0.00s) 204s --- PASS: TestListUsers/Machine_Only,_from_policy_cache (0.00s) 204s --- PASS: TestListUsers/Machine_Only (0.00s) 204s --- PASS: TestListUsers/Error_on_policy_cache_directory_not_existing (0.00s) 204s --- PASS: TestListUsers/Machines_are_ignored,_from_policy_cache (0.00s) 204s --- PASS: TestListUsers/One_user,_from_policy_cache (0.00s) 204s PASS 204s ok github.com/ubuntu/adsys/internal/ad 7.998s 204s === RUN TestGenerateExpandedCategories 204s === PAUSE TestGenerateExpandedCategories 204s === RUN TestExpandedCategoriesToADMX 204s === PAUSE TestExpandedCategoriesToADMX 204s === RUN TestExpandedCategoriesToMD 204s === PAUSE TestExpandedCategoriesToMD 204s === RUN TestExpand 204s === PAUSE TestExpand 204s === RUN TestGenerateAD 204s === PAUSE TestGenerateAD 204s === RUN TestGenerateDoc 204s === PAUSE TestGenerateDoc 204s === CONT TestGenerateExpandedCategories 204s === RUN TestGenerateExpandedCategories/with_prefix 204s === PAUSE TestGenerateExpandedCategories/with_prefix 204s === CONT TestExpand 204s === RUN TestExpand/dconf 204s === PAUSE TestExpand/dconf 204s === RUN TestExpand/expanded_policy_with_release_any 204s === PAUSE TestExpand/expanded_policy_with_release_any 204s === RUN TestExpand/no_source_directory 204s === PAUSE TestExpand/no_source_directory 204s === RUN TestExpand/no_version_id 204s === RUN TestGenerateExpandedCategories/no_defaults 204s === PAUSE TestGenerateExpandedCategories/no_defaults 204s === RUN TestGenerateExpandedCategories/range 204s === PAUSE TestGenerateExpandedCategories/range 204s === RUN TestGenerateExpandedCategories/meta_is_overridden_by_disabled_key 204s === PAUSE TestGenerateExpandedCategories/meta_is_overridden_by_disabled_key 204s === RUN TestGenerateExpandedCategories/simple 204s === PAUSE TestGenerateExpandedCategories/simple 204s === RUN TestGenerateExpandedCategories/different_defaults 204s === PAUSE TestGenerateExpandedCategories/different_defaults 204s === RUN TestGenerateExpandedCategories/different_display_name 204s === PAUSE TestGenerateExpandedCategories/different_display_name 204s === RUN TestGenerateExpandedCategories/same_policy_used_in_two_categories 204s === PAUSE TestGenerateExpandedCategories/same_policy_used_in_two_categories 204s === RUN TestGenerateExpandedCategories/no_note 204s === PAUSE TestGenerateExpandedCategories/no_note 204s === RUN TestGenerateExpandedCategories/no_note_strategy_append 204s === PAUSE TestGenerateExpandedCategories/no_note_strategy_append 204s === RUN TestGenerateExpandedCategories/default_policy_class_is_capitalized 204s === PAUSE TestGenerateExpandedCategories/default_policy_class_is_capitalized 204s === RUN TestGenerateExpandedCategories/requires_ubuntu_pro 204s === PAUSE TestGenerateExpandedCategories/requires_ubuntu_pro 204s === PAUSE TestExpand/no_version_id 204s === RUN TestExpand/unsupported_policy_type 204s === PAUSE TestExpand/unsupported_policy_type 204s === RUN TestExpand/invalid_dconf.yaml 204s === PAUSE TestExpand/invalid_dconf.yaml 204s === RUN TestExpand/dconf_generation_fails 204s === PAUSE TestExpand/dconf_generation_fails 204s === RUN TestExpand/expanded_policy 204s === PAUSE TestExpand/expanded_policy 204s === RUN TestExpand/expanded_policy_with_meta 204s === PAUSE TestExpand/expanded_policy_with_meta 204s === RUN TestExpand/ignore_categories_and_non_yaml_files 204s === PAUSE TestExpand/ignore_categories_and_non_yaml_files 204s === RUN TestExpand/no_release_file 204s === PAUSE TestExpand/no_release_file 204s === CONT TestExpand/dconf 204s === RUN TestGenerateExpandedCategories/basic 204s === PAUSE TestGenerateExpandedCategories/basic 204s === RUN TestGenerateExpandedCategories/error_on_unexisting_policy_referenced 204s === PAUSE TestGenerateExpandedCategories/error_on_unexisting_policy_referenced 204s === RUN TestGenerateExpandedCategories/error_on_different_policy_type 204s === PAUSE TestGenerateExpandedCategories/error_on_different_policy_type 204s === RUN TestGenerateExpandedCategories/meta_is_overridden_by_enabled_key 204s === PAUSE TestGenerateExpandedCategories/meta_is_overridden_by_enabled_key 204s === RUN TestGenerateExpandedCategories/multiple_top_categories 204s === PAUSE TestGenerateExpandedCategories/multiple_top_categories 204s === RUN TestGenerateExpandedCategories/different_range 204s === PAUSE TestGenerateExpandedCategories/different_range 204s === RUN TestGenerateExpandedCategories/available_on_one_release_only 204s === PAUSE TestGenerateExpandedCategories/available_on_one_release_only 204s === RUN TestGenerateExpandedCategories/no_meta_enabled 204s === PAUSE TestGenerateExpandedCategories/no_meta_enabled 204s === RUN TestGenerateExpandedCategories/meta_entry_only 204s === PAUSE TestGenerateExpandedCategories/meta_entry_only 204s === RUN TestGenerateExpandedCategories/error_on_policy_not_attached_to_any_releases 204s === PAUSE TestGenerateExpandedCategories/error_on_policy_not_attached_to_any_releases 204s === RUN TestGenerateExpandedCategories/policy_directory_doesn't_exist 204s === PAUSE TestGenerateExpandedCategories/policy_directory_doesn't_exist 204s === RUN TestGenerateExpandedCategories/category_definition_doesn't_exist 204s === PAUSE TestGenerateExpandedCategories/category_definition_doesn't_exist 204s === RUN TestGenerateExpandedCategories/different_choices 204s === PAUSE TestGenerateExpandedCategories/different_choices 204s === RUN TestGenerateExpandedCategories/error_on_different_class 204s === PAUSE TestGenerateExpandedCategories/error_on_different_class 204s === RUN TestGenerateExpandedCategories/error_on_nested_category 204s === PAUSE TestGenerateExpandedCategories/error_on_nested_category 204s === RUN TestGenerateExpandedCategories/error_on_invalid_default_policy_class 204s === PAUSE TestGenerateExpandedCategories/error_on_invalid_default_policy_class 204s === RUN TestGenerateExpandedCategories/error_on_empty_default_policy_class 204s === PAUSE TestGenerateExpandedCategories/error_on_empty_default_policy_class 204s === RUN TestGenerateExpandedCategories/error_on_key_independent_of_any_release_key_but_with_one_release_specified 204s === PAUSE TestGenerateExpandedCategories/error_on_key_independent_of_any_release_key_but_with_one_release_specified 204s === RUN TestGenerateExpandedCategories/use_policy_class_instead_of_category_default 204s === PAUSE TestGenerateExpandedCategories/use_policy_class_instead_of_category_default 204s === RUN TestGenerateExpandedCategories/same_policy_used_in_two_categories_but_different_default_class 204s === PAUSE TestGenerateExpandedCategories/same_policy_used_in_two_categories_but_different_default_class 204s === RUN TestGenerateExpandedCategories/different_element_type 204s === PAUSE TestGenerateExpandedCategories/different_element_type 204s === RUN TestGenerateExpandedCategories/two_policies 204s === PAUSE TestGenerateExpandedCategories/two_policies 204s === RUN TestGenerateExpandedCategories/applicable_to_all_releases 204s === PAUSE TestGenerateExpandedCategories/applicable_to_all_releases 204s === RUN TestGenerateExpandedCategories/allow_policy_referenced_but_not_available_in_any_releases 204s === PAUSE TestGenerateExpandedCategories/allow_policy_referenced_but_not_available_in_any_releases 204s === RUN TestGenerateExpandedCategories/no_meta_at_all 204s === PAUSE TestGenerateExpandedCategories/no_meta_at_all 204s === RUN TestGenerateExpandedCategories/same_default 204s === PAUSE TestGenerateExpandedCategories/same_default 204s === RUN TestGenerateExpandedCategories/nested_categories 204s === PAUSE TestGenerateExpandedCategories/nested_categories 204s === RUN TestGenerateExpandedCategories/choices 204s === PAUSE TestGenerateExpandedCategories/choices 204s === RUN TestGenerateExpandedCategories/different_meta 204s === PAUSE TestGenerateExpandedCategories/different_meta 204s === RUN TestGenerateExpandedCategories/no_meta_disabled 204s === PAUSE TestGenerateExpandedCategories/no_meta_disabled 204s === RUN TestGenerateExpandedCategories/error_on_one_policy_not_used 204s === PAUSE TestGenerateExpandedCategories/error_on_one_policy_not_used 204s === RUN TestGenerateExpandedCategories/error_on_missing_release 204s === PAUSE TestGenerateExpandedCategories/error_on_missing_release 204s === RUN TestGenerateExpandedCategories/different_explain_text 204s === PAUSE TestGenerateExpandedCategories/different_explain_text 204s === CONT TestGenerateExpandedCategories/with_prefix 204s internal_test.go:112: Serializing object for golden file 204s === CONT TestGenerateDoc 204s === RUN TestGenerateDoc/releases_from_yaml 204s === PAUSE TestGenerateDoc/releases_from_yaml 204s === RUN TestGenerateDoc/autodetect_overrides_releases_from_yaml 204s === PAUSE TestGenerateDoc/autodetect_overrides_releases_from_yaml 204s === RUN TestGenerateDoc/invalid_definition_file 204s === PAUSE TestGenerateDoc/invalid_definition_file 204s === RUN TestGenerateDoc/category_expansion_fails 204s === PAUSE TestGenerateDoc/category_expansion_fails 204s === RUN TestGenerateDoc/doc_generation_fails 204s === PAUSE TestGenerateDoc/doc_generation_fails 204s === CONT TestGenerateAD 204s === RUN TestGenerateAD/releases_from_yaml 204s === PAUSE TestGenerateAD/releases_from_yaml 204s === RUN TestGenerateAD/autodetect_overrides_releases_from_yaml 204s === PAUSE TestGenerateAD/autodetect_overrides_releases_from_yaml 204s === RUN TestGenerateAD/invalid_definition_file 204s === PAUSE TestGenerateAD/invalid_definition_file 204s === RUN TestGenerateAD/category_expansion_fails 204s === PAUSE TestGenerateAD/category_expansion_fails 204s === RUN TestGenerateAD/admx_generation_fails 204s === PAUSE TestGenerateAD/admx_generation_fails 204s === CONT TestExpand/no_release_file 204s === CONT TestExpand/ignore_categories_and_non_yaml_files 204s === NAME TestExpand/dconf 204s admxgen_test.go:78: Serializing object for golden file 204s === NAME TestExpand/ignore_categories_and_non_yaml_files 204s admxgen_test.go:78: Serializing object for golden file 204s === CONT TestExpand/expanded_policy_with_meta 204s admxgen_test.go:78: Serializing object for golden file 204s === CONT TestExpand/expanded_policy 204s admxgen_test.go:78: Serializing object for golden file 204s === CONT TestExpand/dconf_generation_fails 204s === CONT TestExpand/invalid_dconf.yaml 204s === CONT TestExpand/unsupported_policy_type 204s === CONT TestExpand/no_version_id 204s === CONT TestExpand/no_source_directory 204s === CONT TestExpand/expanded_policy_with_release_any 204s === CONT TestGenerateExpandedCategories/different_choices 204s === NAME TestExpand/expanded_policy_with_release_any 204s admxgen_test.go:78: Serializing object for golden file 204s --- PASS: TestExpand (0.00s) 204s --- PASS: TestExpand/no_release_file (0.00s) 204s --- PASS: TestExpand/dconf (0.02s) 204s --- PASS: TestExpand/ignore_categories_and_non_yaml_files (0.01s) 204s --- PASS: TestExpand/expanded_policy (0.00s) 204s --- PASS: TestExpand/expanded_policy_with_meta (0.00s) 204s --- PASS: TestExpand/invalid_dconf.yaml (0.00s) 204s --- PASS: TestExpand/unsupported_policy_type (0.00s) 204s --- PASS: TestExpand/no_version_id (0.00s) 204s --- PASS: TestExpand/no_source_directory (0.00s) 204s --- PASS: TestExpand/dconf_generation_fails (0.00s) 204s --- PASS: TestExpand/expanded_policy_with_release_any (0.00s) 204s === CONT TestExpandedCategoriesToMD 204s === RUN TestExpandedCategoriesToMD/decimal_with_min_only 204s === PAUSE TestExpandedCategoriesToMD/decimal_with_min_only 204s === RUN TestExpandedCategoriesToMD/choices_with_default 204s === PAUSE TestExpandedCategoriesToMD/choices_with_default 204s === RUN TestExpandedCategoriesToMD/multiple_releases_for_one_key 204s === PAUSE TestExpandedCategoriesToMD/multiple_releases_for_one_key 204s === RUN TestExpandedCategoriesToMD/multiple_categories 204s === PAUSE TestExpandedCategoriesToMD/multiple_categories 204s === RUN TestExpandedCategoriesToMD/boolean 204s === PAUSE TestExpandedCategoriesToMD/boolean 204s === RUN TestExpandedCategoriesToMD/decimal_with_max_only 204s === PAUSE TestExpandedCategoriesToMD/decimal_with_max_only 204s === RUN TestExpandedCategoriesToMD/no_meta_disabled 204s === PAUSE TestExpandedCategoriesToMD/no_meta_disabled 204s === RUN TestExpandedCategoriesToMD/no_meta_at_all 204s === PAUSE TestExpandedCategoriesToMD/no_meta_at_all 204s === RUN TestExpandedCategoriesToMD/simple 204s === PAUSE TestExpandedCategoriesToMD/simple 204s === RUN TestExpandedCategoriesToMD/nested_categories 204s === PAUSE TestExpandedCategoriesToMD/nested_categories 204s === RUN TestExpandedCategoriesToMD/array_of_integers 204s === PAUSE TestExpandedCategoriesToMD/array_of_integers 204s === RUN TestExpandedCategoriesToMD/multiple_releases_with_different_choices 204s === PAUSE TestExpandedCategoriesToMD/multiple_releases_with_different_choices 204s === RUN TestExpandedCategoriesToMD/error_on_destination_creation 204s === PAUSE TestExpandedCategoriesToMD/error_on_destination_creation 204s === RUN TestExpandedCategoriesToMD/nested_categories,_classes_and_empty 204s === PAUSE TestExpandedCategoriesToMD/nested_categories,_classes_and_empty 204s === RUN TestExpandedCategoriesToMD/user_policy 204s === PAUSE TestExpandedCategoriesToMD/user_policy 204s === RUN TestExpandedCategoriesToMD/decimal 204s === PAUSE TestExpandedCategoriesToMD/decimal 204s === RUN TestExpandedCategoriesToMD/multiple_releases_with_different_ranges 204s === PAUSE TestExpandedCategoriesToMD/multiple_releases_with_different_ranges 204s === RUN TestExpandedCategoriesToMD/no_meta_enabled 204s === PAUSE TestExpandedCategoriesToMD/no_meta_enabled 204s === RUN TestExpandedCategoriesToMD/basic_key 204s === PAUSE TestExpandedCategoriesToMD/basic_key 204s === RUN TestExpandedCategoriesToMD/long_decimal 204s === PAUSE TestExpandedCategoriesToMD/long_decimal 204s === RUN TestExpandedCategoriesToMD/array_of_strings 204s === PAUSE TestExpandedCategoriesToMD/array_of_strings 204s === RUN TestExpandedCategoriesToMD/choices 204s === PAUSE TestExpandedCategoriesToMD/choices 204s === RUN TestExpandedCategoriesToMD/decimal_with_range 204s === PAUSE TestExpandedCategoriesToMD/decimal_with_range 204s === RUN TestExpandedCategoriesToMD/double 204s === PAUSE TestExpandedCategoriesToMD/double 204s === RUN TestExpandedCategoriesToMD/double_with_range 204s === PAUSE TestExpandedCategoriesToMD/double_with_range 204s === RUN TestExpandedCategoriesToMD/multiple_releases_with_different_widgettype 204s === PAUSE TestExpandedCategoriesToMD/multiple_releases_with_different_widgettype 204s === RUN TestExpandedCategoriesToMD/multiple_releases_with_all_widgets_and_different_defaults 204s === PAUSE TestExpandedCategoriesToMD/multiple_releases_with_all_widgets_and_different_defaults 204s === CONT TestExpandedCategoriesToADMX 204s === RUN TestExpandedCategoriesToADMX/long_decimal 204s === PAUSE TestExpandedCategoriesToADMX/long_decimal 204s === RUN TestExpandedCategoriesToADMX/error_on_destination_creation 204s === PAUSE TestExpandedCategoriesToADMX/error_on_destination_creation 204s === RUN TestExpandedCategoriesToADMX/multiple_categories 204s === PAUSE TestExpandedCategoriesToADMX/multiple_categories 204s === RUN TestExpandedCategoriesToADMX/other_distro 204s === PAUSE TestExpandedCategoriesToADMX/other_distro 204s === RUN TestExpandedCategoriesToADMX/choices_with_default 204s === PAUSE TestExpandedCategoriesToADMX/choices_with_default 204s === RUN TestExpandedCategoriesToADMX/double 204s === PAUSE TestExpandedCategoriesToADMX/double 204s === RUN TestExpandedCategoriesToADMX/double_with_range 204s === PAUSE TestExpandedCategoriesToADMX/double_with_range 204s === RUN TestExpandedCategoriesToADMX/multiple_releases_with_different_widgettype 204s === PAUSE TestExpandedCategoriesToADMX/multiple_releases_with_different_widgettype 204s === RUN TestExpandedCategoriesToADMX/multiple_releases_with_different_ranges 204s === PAUSE TestExpandedCategoriesToADMX/multiple_releases_with_different_ranges 204s === RUN TestExpandedCategoriesToADMX/no_meta_at_all 204s === PAUSE TestExpandedCategoriesToADMX/no_meta_at_all 204s === RUN TestExpandedCategoriesToADMX/decimal_with_max_only 204s === PAUSE TestExpandedCategoriesToADMX/decimal_with_max_only 204s === RUN TestExpandedCategoriesToADMX/array_of_strings 204s === PAUSE TestExpandedCategoriesToADMX/array_of_strings 204s === RUN TestExpandedCategoriesToADMX/decimal_with_min_only 204s === PAUSE TestExpandedCategoriesToADMX/decimal_with_min_only 204s === RUN TestExpandedCategoriesToADMX/choices 204s === PAUSE TestExpandedCategoriesToADMX/choices 204s === RUN TestExpandedCategoriesToADMX/multiple_releases_with_different_choices 204s === PAUSE TestExpandedCategoriesToADMX/multiple_releases_with_different_choices 204s === RUN TestExpandedCategoriesToADMX/no_meta_enabled 204s === PAUSE TestExpandedCategoriesToADMX/no_meta_enabled 204s === RUN TestExpandedCategoriesToADMX/basic_key 204s === PAUSE TestExpandedCategoriesToADMX/basic_key 204s === RUN TestExpandedCategoriesToADMX/boolean 204s === PAUSE TestExpandedCategoriesToADMX/boolean 204s === RUN TestExpandedCategoriesToADMX/decimal 204s === PAUSE TestExpandedCategoriesToADMX/decimal 204s === RUN TestExpandedCategoriesToADMX/decimal_with_range 204s === PAUSE TestExpandedCategoriesToADMX/decimal_with_range 204s === RUN TestExpandedCategoriesToADMX/array_of_integers 204s === PAUSE TestExpandedCategoriesToADMX/array_of_integers 204s === RUN TestExpandedCategoriesToADMX/multiple_releases_for_one_key 204s === PAUSE TestExpandedCategoriesToADMX/multiple_releases_for_one_key 204s === RUN TestExpandedCategoriesToADMX/multiple_releases_with_all_widgets_and_different_defaults 204s === PAUSE TestExpandedCategoriesToADMX/multiple_releases_with_all_widgets_and_different_defaults 204s === RUN TestExpandedCategoriesToADMX/no_meta_disabled 204s === PAUSE TestExpandedCategoriesToADMX/no_meta_disabled 204s === RUN TestExpandedCategoriesToADMX/simple 204s === PAUSE TestExpandedCategoriesToADMX/simple 204s === RUN TestExpandedCategoriesToADMX/nested_categories 204s === PAUSE TestExpandedCategoriesToADMX/nested_categories 204s === CONT TestGenerateExpandedCategories/different_explain_text 204s === NAME TestGenerateExpandedCategories/different_choices 204s internal_test.go:112: Serializing object for golden file 204s === CONT TestGenerateExpandedCategories/error_on_missing_release 204s === CONT TestGenerateExpandedCategories/error_on_one_policy_not_used 204s === NAME TestGenerateExpandedCategories/different_explain_text 204s internal_test.go:112: Serializing object for golden file 204s === CONT TestGenerateExpandedCategories/no_meta_disabled 204s === CONT TestGenerateExpandedCategories/different_meta 204s === NAME TestGenerateExpandedCategories/no_meta_disabled 204s internal_test.go:112: Serializing object for golden file 204s === CONT TestGenerateExpandedCategories/choices 204s === NAME TestGenerateExpandedCategories/different_meta 204s internal_test.go:112: Serializing object for golden file 204s === NAME TestGenerateExpandedCategories/choices 204s internal_test.go:112: Serializing object for golden file 204s === CONT TestGenerateExpandedCategories/nested_categories 204s internal_test.go:112: Serializing object for golden file 204s === CONT TestGenerateExpandedCategories/same_default 204s === CONT TestGenerateExpandedCategories/no_meta_at_all 204s === NAME TestGenerateExpandedCategories/same_default 204s internal_test.go:112: Serializing object for golden file 204s === CONT TestGenerateExpandedCategories/allow_policy_referenced_but_not_available_in_any_releases 204s === NAME TestGenerateExpandedCategories/no_meta_at_all 204s internal_test.go:112: Serializing object for golden file 204s === CONT TestGenerateExpandedCategories/applicable_to_all_releases 204s time="2025-10-31T03:46:47Z" level=warning msg="policy /org/gnome/desktop/policy-doesnotexit referenced in \"Category1 Display Name\" does not exist in any supported releases" 204s === NAME TestGenerateExpandedCategories/allow_policy_referenced_but_not_available_in_any_releases 204s internal_test.go:112: Serializing object for golden file 204s === CONT TestGenerateExpandedCategories/two_policies 204s === NAME TestGenerateExpandedCategories/applicable_to_all_releases 204s internal_test.go:112: Serializing object for golden file 204s === CONT TestGenerateExpandedCategories/different_element_type 204s === NAME TestGenerateExpandedCategories/two_policies 204s internal_test.go:112: Serializing object for golden file 204s === CONT TestGenerateExpandedCategories/same_policy_used_in_two_categories_but_different_default_class 204s === NAME TestGenerateExpandedCategories/different_element_type 204s internal_test.go:112: Serializing object for golden file 204s === CONT TestGenerateExpandedCategories/use_policy_class_instead_of_category_default 204s === NAME TestGenerateExpandedCategories/same_policy_used_in_two_categories_but_different_default_class 204s internal_test.go:112: Serializing object for golden file 204s === CONT TestGenerateExpandedCategories/error_on_key_independent_of_any_release_key_but_with_one_release_specified 204s === NAME TestGenerateExpandedCategories/use_policy_class_instead_of_category_default 204s internal_test.go:112: Serializing object for golden file 204s === CONT TestGenerateExpandedCategories/error_on_empty_default_policy_class 204s === CONT TestGenerateExpandedCategories/error_on_invalid_default_policy_class 204s === CONT TestGenerateExpandedCategories/error_on_nested_category 204s === CONT TestGenerateExpandedCategories/error_on_different_class 204s === CONT TestGenerateExpandedCategories/basic 204s === CONT TestGenerateExpandedCategories/category_definition_doesn't_exist 204s === NAME TestGenerateExpandedCategories/basic 204s internal_test.go:112: Serializing object for golden file 204s === CONT TestGenerateExpandedCategories/policy_directory_doesn't_exist 204s === CONT TestGenerateExpandedCategories/error_on_policy_not_attached_to_any_releases 204s === CONT TestGenerateExpandedCategories/meta_entry_only 204s === CONT TestGenerateExpandedCategories/no_meta_enabled 204s === NAME TestGenerateExpandedCategories/meta_entry_only 204s internal_test.go:112: Serializing object for golden file 204s === CONT TestGenerateExpandedCategories/available_on_one_release_only 204s === NAME TestGenerateExpandedCategories/no_meta_enabled 204s internal_test.go:112: Serializing object for golden file 204s === CONT TestGenerateExpandedCategories/different_range 204s === NAME TestGenerateExpandedCategories/available_on_one_release_only 204s internal_test.go:112: Serializing object for golden file 204s === NAME TestGenerateExpandedCategories/different_range 204s internal_test.go:112: Serializing object for golden file 204s === CONT TestGenerateExpandedCategories/multiple_top_categories 204s === CONT TestGenerateExpandedCategories/meta_is_overridden_by_enabled_key 204s internal_test.go:112: Serializing object for golden file 204s === NAME TestGenerateExpandedCategories/multiple_top_categories 204s internal_test.go:112: Serializing object for golden file 204s === CONT TestGenerateExpandedCategories/error_on_different_policy_type 204s === CONT TestGenerateExpandedCategories/error_on_unexisting_policy_referenced 204s === CONT TestGenerateExpandedCategories/different_display_name 204s === CONT TestGenerateExpandedCategories/requires_ubuntu_pro 204s === NAME TestGenerateExpandedCategories/different_display_name 204s internal_test.go:112: Serializing object for golden file 204s === NAME TestGenerateExpandedCategories/requires_ubuntu_pro 204s internal_test.go:112: Serializing object for golden file 204s === CONT TestGenerateExpandedCategories/default_policy_class_is_capitalized 204s === CONT TestGenerateExpandedCategories/no_note_strategy_append 204s === NAME TestGenerateExpandedCategories/default_policy_class_is_capitalized 204s internal_test.go:112: Serializing object for golden file 204s === CONT TestGenerateExpandedCategories/no_note 204s === NAME TestGenerateExpandedCategories/no_note_strategy_append 204s internal_test.go:112: Serializing object for golden file 204s === CONT TestGenerateExpandedCategories/same_policy_used_in_two_categories 204s === NAME TestGenerateExpandedCategories/no_note 204s internal_test.go:112: Serializing object for golden file 204s === CONT TestGenerateExpandedCategories/meta_is_overridden_by_disabled_key 204s === NAME TestGenerateExpandedCategories/same_policy_used_in_two_categories 204s internal_test.go:112: Serializing object for golden file 204s === NAME TestGenerateExpandedCategories/meta_is_overridden_by_disabled_key 204s internal_test.go:112: Serializing object for golden file 204s === CONT TestGenerateExpandedCategories/different_defaults 204s === CONT TestGenerateExpandedCategories/simple 204s internal_test.go:112: Serializing object for golden file 204s === NAME TestGenerateExpandedCategories/different_defaults 204s internal_test.go:112: Serializing object for golden file 204s === CONT TestGenerateExpandedCategories/range 204s === CONT TestGenerateExpandedCategories/no_defaults 204s internal_test.go:112: Serializing object for golden file 204s === NAME TestGenerateExpandedCategories/range 204s internal_test.go:112: Serializing object for golden file 204s === CONT TestGenerateDoc/releases_from_yaml 204s --- PASS: TestGenerateExpandedCategories (0.00s) 204s --- PASS: TestGenerateExpandedCategories/with_prefix (0.01s) 204s --- PASS: TestGenerateExpandedCategories/different_choices (0.01s) 204s --- PASS: TestGenerateExpandedCategories/error_on_missing_release (0.00s) 204s --- PASS: TestGenerateExpandedCategories/different_explain_text (0.01s) 204s --- PASS: TestGenerateExpandedCategories/error_on_one_policy_not_used (0.00s) 204s --- PASS: TestGenerateExpandedCategories/no_meta_disabled (0.01s) 204s --- PASS: TestGenerateExpandedCategories/different_meta (0.01s) 204s --- PASS: TestGenerateExpandedCategories/choices (0.01s) 204s --- PASS: TestGenerateExpandedCategories/nested_categories (0.01s) 204s --- PASS: TestGenerateExpandedCategories/same_default (0.00s) 204s --- PASS: TestGenerateExpandedCategories/no_meta_at_all (0.00s) 204s --- PASS: TestGenerateExpandedCategories/allow_policy_referenced_but_not_available_in_any_releases (0.00s) 204s --- PASS: TestGenerateExpandedCategories/applicable_to_all_releases (0.00s) 204s --- PASS: TestGenerateExpandedCategories/two_policies (0.00s) 204s --- PASS: TestGenerateExpandedCategories/different_element_type (0.00s) 204s --- PASS: TestGenerateExpandedCategories/same_policy_used_in_two_categories_but_different_default_class (0.00s) 204s --- PASS: TestGenerateExpandedCategories/use_policy_class_instead_of_category_default (0.01s) 204s --- PASS: TestGenerateExpandedCategories/error_on_key_independent_of_any_release_key_but_with_one_release_specified (0.00s) 204s --- PASS: TestGenerateExpandedCategories/error_on_invalid_default_policy_class (0.00s) 204s --- PASS: TestGenerateExpandedCategories/error_on_empty_default_policy_class (0.01s) 204s --- PASS: TestGenerateExpandedCategories/error_on_nested_category (0.00s) 204s --- PASS: TestGenerateExpandedCategories/error_on_different_class (0.00s) 204s --- PASS: TestGenerateExpandedCategories/category_definition_doesn't_exist (0.00s) 204s --- PASS: TestGenerateExpandedCategories/policy_directory_doesn't_exist (0.00s) 204s --- PASS: TestGenerateExpandedCategories/basic (0.00s) 204s --- PASS: TestGenerateExpandedCategories/error_on_policy_not_attached_to_any_releases (0.00s) 204s --- PASS: TestGenerateExpandedCategories/meta_entry_only (0.00s) 204s --- PASS: TestGenerateExpandedCategories/no_meta_enabled (0.00s) 204s --- PASS: TestGenerateExpandedCategories/available_on_one_release_only (0.01s) 204s --- PASS: TestGenerateExpandedCategories/different_range (0.01s) 204s --- PASS: TestGenerateExpandedCategories/meta_is_overridden_by_enabled_key (0.00s) 204s --- PASS: TestGenerateExpandedCategories/multiple_top_categories (0.00s) 204s --- PASS: TestGenerateExpandedCategories/error_on_unexisting_policy_referenced (0.00s) 204s --- PASS: TestGenerateExpandedCategories/error_on_different_policy_type (0.00s) 204s --- PASS: TestGenerateExpandedCategories/different_display_name (0.00s) 204s --- PASS: TestGenerateExpandedCategories/requires_ubuntu_pro (0.01s) 204s --- PASS: TestGenerateExpandedCategories/default_policy_class_is_capitalized (0.01s) 204s --- PASS: TestGenerateExpandedCategories/no_note_strategy_append (0.00s) 204s --- PASS: TestGenerateExpandedCategories/no_note (0.00s) 204s --- PASS: TestGenerateExpandedCategories/meta_is_overridden_by_disabled_key (0.00s) 204s --- PASS: TestGenerateExpandedCategories/same_policy_used_in_two_categories (0.00s) 204s --- PASS: TestGenerateExpandedCategories/simple (0.00s) 204s --- PASS: TestGenerateExpandedCategories/different_defaults (0.00s) 204s --- PASS: TestGenerateExpandedCategories/range (0.00s) 204s --- PASS: TestGenerateExpandedCategories/no_defaults (0.00s) 204s === CONT TestGenerateAD/releases_from_yaml 204s === CONT TestGenerateDoc/doc_generation_fails 204s === CONT TestGenerateDoc/category_expansion_fails 204s === CONT TestGenerateDoc/invalid_definition_file 204s === CONT TestGenerateDoc/autodetect_overrides_releases_from_yaml 204s === CONT TestGenerateAD/invalid_definition_file 204s === CONT TestGenerateAD/admx_generation_fails 204s --- PASS: TestGenerateDoc (0.00s) 204s --- PASS: TestGenerateDoc/releases_from_yaml (0.01s) 204s --- PASS: TestGenerateDoc/doc_generation_fails (0.00s) 204s --- PASS: TestGenerateDoc/invalid_definition_file (0.00s) 204s --- PASS: TestGenerateDoc/category_expansion_fails (0.00s) 204s --- PASS: TestGenerateDoc/autodetect_overrides_releases_from_yaml (0.00s) 204s === CONT TestGenerateAD/category_expansion_fails 204s === CONT TestGenerateAD/autodetect_overrides_releases_from_yaml 204s === CONT TestExpandedCategoriesToMD/decimal_with_min_only 204s === CONT TestExpandedCategoriesToADMX/long_decimal 204s --- PASS: TestGenerateAD (0.00s) 204s --- PASS: TestGenerateAD/releases_from_yaml (0.01s) 204s --- PASS: TestGenerateAD/invalid_definition_file (0.00s) 204s --- PASS: TestGenerateAD/admx_generation_fails (0.00s) 204s --- PASS: TestGenerateAD/category_expansion_fails (0.00s) 204s --- PASS: TestGenerateAD/autodetect_overrides_releases_from_yaml (0.01s) 204s === CONT TestExpandedCategoriesToMD/multiple_releases_with_all_widgets_and_different_defaults 204s === CONT TestExpandedCategoriesToMD/multiple_releases_with_different_widgettype 204s === CONT TestExpandedCategoriesToMD/double_with_range 204s === CONT TestExpandedCategoriesToMD/double 204s === CONT TestExpandedCategoriesToMD/decimal_with_range 204s === CONT TestExpandedCategoriesToMD/choices 204s === CONT TestExpandedCategoriesToMD/array_of_strings 204s === CONT TestExpandedCategoriesToMD/long_decimal 204s === CONT TestExpandedCategoriesToMD/basic_key 204s === CONT TestExpandedCategoriesToMD/no_meta_enabled 204s === CONT TestExpandedCategoriesToMD/multiple_releases_with_different_ranges 204s === CONT TestExpandedCategoriesToMD/decimal 204s === CONT TestExpandedCategoriesToMD/user_policy 204s === CONT TestExpandedCategoriesToMD/nested_categories,_classes_and_empty 204s === CONT TestExpandedCategoriesToMD/error_on_destination_creation 204s === CONT TestExpandedCategoriesToMD/multiple_releases_with_different_choices 204s === CONT TestExpandedCategoriesToMD/array_of_integers 204s === CONT TestExpandedCategoriesToMD/nested_categories 204s === CONT TestExpandedCategoriesToMD/simple 204s === CONT TestExpandedCategoriesToMD/no_meta_at_all 204s === CONT TestExpandedCategoriesToMD/no_meta_disabled 204s === CONT TestExpandedCategoriesToMD/decimal_with_max_only 204s === CONT TestExpandedCategoriesToMD/boolean 204s === CONT TestExpandedCategoriesToMD/multiple_categories 204s === CONT TestExpandedCategoriesToMD/multiple_releases_for_one_key 204s === CONT TestExpandedCategoriesToMD/choices_with_default 204s === CONT TestExpandedCategoriesToADMX/choices 204s === CONT TestExpandedCategoriesToADMX/nested_categories 204s --- PASS: TestExpandedCategoriesToMD (0.00s) 204s --- PASS: TestExpandedCategoriesToMD/decimal_with_min_only (0.00s) 204s --- PASS: TestExpandedCategoriesToMD/multiple_releases_with_all_widgets_and_different_defaults (0.00s) 204s --- PASS: TestExpandedCategoriesToMD/double_with_range (0.00s) 204s --- PASS: TestExpandedCategoriesToMD/multiple_releases_with_different_widgettype (0.00s) 204s --- PASS: TestExpandedCategoriesToMD/double (0.00s) 204s --- PASS: TestExpandedCategoriesToMD/decimal_with_range (0.00s) 204s --- PASS: TestExpandedCategoriesToMD/choices (0.00s) 204s --- PASS: TestExpandedCategoriesToMD/array_of_strings (0.00s) 204s --- PASS: TestExpandedCategoriesToMD/basic_key (0.00s) 204s --- PASS: TestExpandedCategoriesToMD/long_decimal (0.00s) 204s --- PASS: TestExpandedCategoriesToMD/multiple_releases_with_different_ranges (0.00s) 204s --- PASS: TestExpandedCategoriesToMD/no_meta_enabled (0.00s) 204s --- PASS: TestExpandedCategoriesToMD/decimal (0.00s) 204s --- PASS: TestExpandedCategoriesToMD/user_policy (0.00s) 204s --- PASS: TestExpandedCategoriesToMD/error_on_destination_creation (0.00s) 204s --- PASS: TestExpandedCategoriesToMD/multiple_releases_with_different_choices (0.00s) 204s --- PASS: TestExpandedCategoriesToMD/array_of_integers (0.00s) 204s --- PASS: TestExpandedCategoriesToMD/nested_categories,_classes_and_empty (0.01s) 204s --- PASS: TestExpandedCategoriesToMD/nested_categories (0.00s) 204s --- PASS: TestExpandedCategoriesToMD/simple (0.00s) 204s --- PASS: TestExpandedCategoriesToMD/no_meta_at_all (0.00s) 204s --- PASS: TestExpandedCategoriesToMD/no_meta_disabled (0.00s) 204s --- PASS: TestExpandedCategoriesToMD/boolean (0.00s) 204s --- PASS: TestExpandedCategoriesToMD/decimal_with_max_only (0.00s) 204s --- PASS: TestExpandedCategoriesToMD/multiple_categories (0.00s) 204s --- PASS: TestExpandedCategoriesToMD/multiple_releases_for_one_key (0.00s) 204s --- PASS: TestExpandedCategoriesToMD/choices_with_default (0.00s) 204s === CONT TestExpandedCategoriesToADMX/simple 204s === CONT TestExpandedCategoriesToADMX/no_meta_disabled 204s === CONT TestExpandedCategoriesToADMX/multiple_releases_with_all_widgets_and_different_defaults 204s === CONT TestExpandedCategoriesToADMX/multiple_releases_for_one_key 204s === CONT TestExpandedCategoriesToADMX/array_of_integers 204s === CONT TestExpandedCategoriesToADMX/decimal_with_range 204s === CONT TestExpandedCategoriesToADMX/decimal 204s === CONT TestExpandedCategoriesToADMX/boolean 204s === CONT TestExpandedCategoriesToADMX/basic_key 204s === CONT TestExpandedCategoriesToADMX/no_meta_enabled 204s === CONT TestExpandedCategoriesToADMX/multiple_releases_with_different_choices 204s === CONT TestExpandedCategoriesToADMX/multiple_releases_with_different_widgettype 204s === CONT TestExpandedCategoriesToADMX/decimal_with_min_only 204s === CONT TestExpandedCategoriesToADMX/array_of_strings 204s === CONT TestExpandedCategoriesToADMX/decimal_with_max_only 204s === CONT TestExpandedCategoriesToADMX/no_meta_at_all 204s === CONT TestExpandedCategoriesToADMX/multiple_releases_with_different_ranges 204s === CONT TestExpandedCategoriesToADMX/choices_with_default 204s === CONT TestExpandedCategoriesToADMX/double_with_range 204s === CONT TestExpandedCategoriesToADMX/double 204s === CONT TestExpandedCategoriesToADMX/multiple_categories 204s === CONT TestExpandedCategoriesToADMX/other_distro 204s === CONT TestExpandedCategoriesToADMX/error_on_destination_creation 204s --- PASS: TestExpandedCategoriesToADMX (0.00s) 204s --- PASS: TestExpandedCategoriesToADMX/long_decimal (0.00s) 204s --- PASS: TestExpandedCategoriesToADMX/choices (0.00s) 204s --- PASS: TestExpandedCategoriesToADMX/nested_categories (0.00s) 204s --- PASS: TestExpandedCategoriesToADMX/simple (0.00s) 204s --- PASS: TestExpandedCategoriesToADMX/no_meta_disabled (0.01s) 204s --- PASS: TestExpandedCategoriesToADMX/multiple_releases_with_all_widgets_and_different_defaults (0.01s) 204s --- PASS: TestExpandedCategoriesToADMX/multiple_releases_for_one_key (0.00s) 204s --- PASS: TestExpandedCategoriesToADMX/array_of_integers (0.00s) 204s --- PASS: TestExpandedCategoriesToADMX/decimal (0.00s) 204s --- PASS: TestExpandedCategoriesToADMX/decimal_with_range (0.00s) 204s --- PASS: TestExpandedCategoriesToADMX/boolean (0.01s) 204s --- PASS: TestExpandedCategoriesToADMX/basic_key (0.01s) 204s --- PASS: TestExpandedCategoriesToADMX/no_meta_enabled (0.01s) 204s --- PASS: TestExpandedCategoriesToADMX/multiple_releases_with_different_choices (0.01s) 204s --- PASS: TestExpandedCategoriesToADMX/multiple_releases_with_different_widgettype (0.00s) 204s --- PASS: TestExpandedCategoriesToADMX/decimal_with_min_only (0.00s) 204s --- PASS: TestExpandedCategoriesToADMX/array_of_strings (0.00s) 204s --- PASS: TestExpandedCategoriesToADMX/decimal_with_max_only (0.01s) 204s --- PASS: TestExpandedCategoriesToADMX/no_meta_at_all (0.01s) 204s --- PASS: TestExpandedCategoriesToADMX/multiple_releases_with_different_ranges (0.01s) 204s --- PASS: TestExpandedCategoriesToADMX/choices_with_default (0.01s) 204s --- PASS: TestExpandedCategoriesToADMX/double (0.01s) 204s --- PASS: TestExpandedCategoriesToADMX/double_with_range (0.01s) 204s --- PASS: TestExpandedCategoriesToADMX/multiple_categories (0.00s) 204s --- PASS: TestExpandedCategoriesToADMX/other_distro (0.01s) 204s --- PASS: TestExpandedCategoriesToADMX/error_on_destination_creation (0.00s) 204s PASS 204s ok github.com/ubuntu/adsys/internal/ad/admxgen 0.268s 204s === RUN TestGenerate 204s === PAUSE TestGenerate 204s === CONT TestGenerate 204s === RUN TestGenerate/Override_default_to_second_if_first_not_present 204s === PAUSE TestGenerate/Override_default_to_second_if_first_not_present 204s === RUN TestGenerate/Enums_in_other_files_are_converted_to_choices 204s === PAUSE TestGenerate/Enums_in_other_files_are_converted_to_choices 204s === RUN TestGenerate/Invalid_override_files_are_skipped 204s === PAUSE TestGenerate/Invalid_override_files_are_skipped 204s === RUN TestGenerate/Description_starting_with_deprecated_is_ignored 204s === PAUSE TestGenerate/Description_starting_with_deprecated_is_ignored 204s === RUN TestGenerate/Relocatable_key 204s === PAUSE TestGenerate/Relocatable_key 204s === RUN TestGenerate/No_key_on_system 204s === PAUSE TestGenerate/No_key_on_system 204s === RUN TestGenerate/Override_with_no_matching_session_defaults_to_root_override 204s === PAUSE TestGenerate/Override_with_no_matching_session_defaults_to_root_override 204s === RUN TestGenerate/Inlined_Enums_are_converted_to_choices 204s === PAUSE TestGenerate/Inlined_Enums_are_converted_to_choices 204s === RUN TestGenerate/Description_starting_with_deprecated_mixed_case_is_ignored 204s === PAUSE TestGenerate/Description_starting_with_deprecated_mixed_case_is_ignored 204s === RUN TestGenerate/Description_starting_with_obsolete_is_ignored 204s === PAUSE TestGenerate/Description_starting_with_obsolete_is_ignored 204s === RUN TestGenerate/Long_decimal_key 204s === PAUSE TestGenerate/Long_decimal_key 204s === RUN TestGenerate/Array_of_integers 204s === PAUSE TestGenerate/Array_of_integers 204s === RUN TestGenerate/Double_key_with_range 204s === PAUSE TestGenerate/Double_key_with_range 204s === RUN TestGenerate/Override_without_session 204s === PAUSE TestGenerate/Override_without_session 204s === RUN TestGenerate/Invalid_class 204s === PAUSE TestGenerate/Invalid_class 204s === RUN TestGenerate/Double_key 204s === PAUSE TestGenerate/Double_key 204s === RUN TestGenerate/Empty 204s === PAUSE TestGenerate/Empty 204s === RUN TestGenerate/Valid_class_should_be_capitalized 204s === PAUSE TestGenerate/Valid_class_should_be_capitalized 204s === RUN TestGenerate/NaN_min 204s === PAUSE TestGenerate/NaN_min 204s === RUN TestGenerate/One_text_key 204s === PAUSE TestGenerate/One_text_key 204s === RUN TestGenerate/Same_key_relocated_twice 204s === PAUSE TestGenerate/Same_key_relocated_twice 204s === RUN TestGenerate/One_boolean_key 204s === PAUSE TestGenerate/One_boolean_key 204s === RUN TestGenerate/One_decimal_key_with_range 204s === PAUSE TestGenerate/One_decimal_key_with_range 204s === RUN TestGenerate/Missing_XML_declaration_is_successfully_parsed 204s === PAUSE TestGenerate/Missing_XML_declaration_is_successfully_parsed 204s === RUN TestGenerate/Enum_does_not_exist 204s === PAUSE TestGenerate/Enum_does_not_exist 204s === RUN TestGenerate/Invalid_min 204s === PAUSE TestGenerate/Invalid_min 204s === RUN TestGenerate/Key_with_class 204s === PAUSE TestGenerate/Key_with_class 204s === RUN TestGenerate/Long_decimal_key_with_range_min_lt_0 204s === PAUSE TestGenerate/Long_decimal_key_with_range_min_lt_0 204s === RUN TestGenerate/Override_with_session_takes_session_override 204s === PAUSE TestGenerate/Override_with_session_takes_session_override 204s === RUN TestGenerate/Overridden_by_multiple_files,_last_wins 204s === PAUSE TestGenerate/Overridden_by_multiple_files,_last_wins 204s === RUN TestGenerate/Description_containing_deprecated_without_starting_by_it_is_not_ignored 204s === PAUSE TestGenerate/Description_containing_deprecated_without_starting_by_it_is_not_ignored 204s === RUN TestGenerate/One_decimal_key_with_min_only 204s === PAUSE TestGenerate/One_decimal_key_with_min_only 204s === RUN TestGenerate/Array_of_strings 204s === PAUSE TestGenerate/Array_of_strings 204s === RUN TestGenerate/Override_without_session_takes_default 204s === PAUSE TestGenerate/Override_without_session_takes_default 204s === RUN TestGenerate/Choices_are_loaded 204s === PAUSE TestGenerate/Choices_are_loaded 204s === RUN TestGenerate/One_decimal_key 204s === PAUSE TestGenerate/One_decimal_key 204s === RUN TestGenerate/Long_decimal_key_with_range_min_gt_0 204s === PAUSE TestGenerate/Long_decimal_key_with_range_min_gt_0 204s === RUN TestGenerate/Relocatable_key_overridden 204s === PAUSE TestGenerate/Relocatable_key_overridden 204s === RUN TestGenerate/Unsupported_key_type 204s === PAUSE TestGenerate/Unsupported_key_type 204s === RUN TestGenerate/One_decimal_key_with_max_only 204s === PAUSE TestGenerate/One_decimal_key_with_max_only 204s === RUN TestGenerate/Override_takes_first_session 204s === PAUSE TestGenerate/Override_takes_first_session 204s === RUN TestGenerate/Malformed_XML_declaration_is_successfully_parsed 204s === PAUSE TestGenerate/Malformed_XML_declaration_is_successfully_parsed 204s === RUN TestGenerate/Invalid_schema_files 204s === PAUSE TestGenerate/Invalid_schema_files 204s === CONT TestGenerate/Override_default_to_second_if_first_not_present 204s === CONT TestGenerate/One_decimal_key_with_range 204s === NAME TestGenerate/Override_default_to_second_if_first_not_present 204s dconf_test.go:106: Serializing object for golden file 204s === NAME TestGenerate/One_decimal_key_with_range 204s dconf_test.go:106: Serializing object for golden file 204s === CONT TestGenerate/Invalid_schema_files 204s === CONT TestGenerate/Malformed_XML_declaration_is_successfully_parsed 204s dconf_test.go:106: Serializing object for golden file 204s === CONT TestGenerate/Override_takes_first_session 204s === CONT TestGenerate/One_decimal_key_with_max_only 204s === NAME TestGenerate/Override_takes_first_session 204s dconf_test.go:106: Serializing object for golden file 204s === NAME TestGenerate/One_decimal_key_with_max_only 204s dconf_test.go:106: Serializing object for golden file 204s === CONT TestGenerate/Unsupported_key_type 204s === CONT TestGenerate/Relocatable_key_overridden 204s dconf_test.go:106: Serializing object for golden file 204s === CONT TestGenerate/Long_decimal_key_with_range_min_gt_0 204s dconf_test.go:106: Serializing object for golden file 204s === CONT TestGenerate/One_decimal_key 204s dconf_test.go:106: Serializing object for golden file 204s === CONT TestGenerate/Choices_are_loaded 204s dconf_test.go:106: Serializing object for golden file 204s === CONT TestGenerate/Override_without_session_takes_default 204s dconf_test.go:106: Serializing object for golden file 204s === CONT TestGenerate/Array_of_strings 204s dconf_test.go:106: Serializing object for golden file 204s === CONT TestGenerate/One_decimal_key_with_min_only 204s === CONT TestGenerate/Description_containing_deprecated_without_starting_by_it_is_not_ignored 204s dconf_test.go:106: Serializing object for golden file 204s === NAME TestGenerate/One_decimal_key_with_min_only 204s dconf_test.go:106: Serializing object for golden file 204s === CONT TestGenerate/Overridden_by_multiple_files,_last_wins 204s dconf_test.go:106: Serializing object for golden file 204s === CONT TestGenerate/Override_with_session_takes_session_override 204s === CONT TestGenerate/Long_decimal_key_with_range_min_lt_0 204s === NAME TestGenerate/Override_with_session_takes_session_override 204s dconf_test.go:106: Serializing object for golden file 204s === NAME TestGenerate/Long_decimal_key_with_range_min_lt_0 204s dconf_test.go:106: Serializing object for golden file 204s === CONT TestGenerate/Key_with_class 204s === CONT TestGenerate/Invalid_min 204s === NAME TestGenerate/Key_with_class 204s dconf_test.go:106: Serializing object for golden file 204s === CONT TestGenerate/Enum_does_not_exist 204s === CONT TestGenerate/Missing_XML_declaration_is_successfully_parsed 204s === CONT TestGenerate/Array_of_integers 204s === NAME TestGenerate/Missing_XML_declaration_is_successfully_parsed 204s dconf_test.go:106: Serializing object for golden file 204s === CONT TestGenerate/One_boolean_key 204s === NAME TestGenerate/Array_of_integers 204s dconf_test.go:106: Serializing object for golden file 204s === NAME TestGenerate/One_boolean_key 204s dconf_test.go:106: Serializing object for golden file 204s === CONT TestGenerate/Same_key_relocated_twice 204s === CONT TestGenerate/One_text_key 204s dconf_test.go:106: Serializing object for golden file 204s === NAME TestGenerate/Same_key_relocated_twice 204s dconf_test.go:106: Serializing object for golden file 204s === CONT TestGenerate/NaN_min 204s === CONT TestGenerate/Valid_class_should_be_capitalized 204s dconf_test.go:106: Serializing object for golden file 204s === CONT TestGenerate/Empty 204s dconf_test.go:106: Serializing object for golden file 204s === CONT TestGenerate/Double_key 204s === CONT TestGenerate/Invalid_class 204s === CONT TestGenerate/Override_without_session 204s === NAME TestGenerate/Double_key 204s dconf_test.go:106: Serializing object for golden file 204s === NAME TestGenerate/Override_without_session 204s dconf_test.go:106: Serializing object for golden file 204s === CONT TestGenerate/Double_key_with_range 204s === CONT TestGenerate/Override_with_no_matching_session_defaults_to_root_override 204s === NAME TestGenerate/Double_key_with_range 204s dconf_test.go:106: Serializing object for golden file 204s === NAME TestGenerate/Override_with_no_matching_session_defaults_to_root_override 204s dconf_test.go:106: Serializing object for golden file 204s === CONT TestGenerate/Long_decimal_key 204s === CONT TestGenerate/Description_starting_with_obsolete_is_ignored 204s time="2025-10-31T03:46:48Z" level=warning msg="dconf key \"com.ubuntu.with.deprecated\":\"/com/ubuntu/with-deprecated/obsolete\" is deprecated. Ignoring" 204s dconf_test.go:106: Serializing object for golden file 204s === NAME TestGenerate/Long_decimal_key 204s dconf_test.go:106: Serializing object for golden file 204s === CONT TestGenerate/Description_starting_with_deprecated_mixed_case_is_ignored 204s time="2025-10-31T03:46:48Z" level=warning msg="dconf key \"com.ubuntu.with.deprecated\":\"/com/ubuntu/with-deprecated/deprecated-different-cases\" is deprecated. Ignoring" 204s dconf_test.go:106: Serializing object for golden file 204s === CONT TestGenerate/Inlined_Enums_are_converted_to_choices 204s dconf_test.go:106: Serializing object for golden file 204s === CONT TestGenerate/Description_starting_with_deprecated_is_ignored 204s === CONT TestGenerate/No_key_on_system 204s time="2025-10-31T03:46:48Z" level=warning msg="dconf key \"com.ubuntu.with.deprecated\":\"/com/ubuntu/with-deprecated/deprecated\" is deprecated. Ignoring" 204s === NAME TestGenerate/Description_starting_with_deprecated_is_ignored 204s dconf_test.go:106: Serializing object for golden file 204s time="2025-10-31T03:46:48Z" level=warning msg="dconf entry \"/com/ubuntu/simple/non-existent\" is not available on this machine" 204s === NAME TestGenerate/No_key_on_system 204s dconf_test.go:106: Serializing object for golden file 204s === CONT TestGenerate/Relocatable_key 204s === CONT TestGenerate/Invalid_override_files_are_skipped 204s === NAME TestGenerate/Relocatable_key 204s dconf_test.go:106: Serializing object for golden file 204s === CONT TestGenerate/Enums_in_other_files_are_converted_to_choices 204s dconf_test.go:106: Serializing object for golden file 204s time="2025-10-31T03:46:48Z" 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" 204s === NAME TestGenerate/Invalid_override_files_are_skipped 204s dconf_test.go:106: Serializing object for golden file 204s --- PASS: TestGenerate (0.00s) 204s --- PASS: TestGenerate/Override_default_to_second_if_first_not_present (0.01s) 204s --- PASS: TestGenerate/One_decimal_key_with_range (0.01s) 204s --- PASS: TestGenerate/Invalid_schema_files (0.00s) 204s --- PASS: TestGenerate/Malformed_XML_declaration_is_successfully_parsed (0.01s) 204s --- PASS: TestGenerate/Override_takes_first_session (0.00s) 204s --- PASS: TestGenerate/One_decimal_key_with_max_only (0.00s) 204s --- PASS: TestGenerate/Unsupported_key_type (0.00s) 204s --- PASS: TestGenerate/Relocatable_key_overridden (0.00s) 204s --- PASS: TestGenerate/Long_decimal_key_with_range_min_gt_0 (0.00s) 204s --- PASS: TestGenerate/One_decimal_key (0.01s) 204s --- PASS: TestGenerate/Choices_are_loaded (0.01s) 204s --- PASS: TestGenerate/Override_without_session_takes_default (0.01s) 204s --- PASS: TestGenerate/Array_of_strings (0.00s) 204s --- PASS: TestGenerate/One_decimal_key_with_min_only (0.00s) 204s --- PASS: TestGenerate/Description_containing_deprecated_without_starting_by_it_is_not_ignored (0.01s) 204s --- PASS: TestGenerate/Overridden_by_multiple_files,_last_wins (0.00s) 204s --- PASS: TestGenerate/Override_with_session_takes_session_override (0.01s) 204s --- PASS: TestGenerate/Long_decimal_key_with_range_min_lt_0 (0.00s) 204s --- PASS: TestGenerate/Key_with_class (0.01s) 204s --- PASS: TestGenerate/Invalid_min (0.01s) 204s --- PASS: TestGenerate/Enum_does_not_exist (0.00s) 204s --- PASS: TestGenerate/Missing_XML_declaration_is_successfully_parsed (0.00s) 204s --- PASS: TestGenerate/Array_of_integers (0.00s) 204s --- PASS: TestGenerate/One_boolean_key (0.00s) 204s --- PASS: TestGenerate/One_text_key (0.00s) 204s --- PASS: TestGenerate/Same_key_relocated_twice (0.00s) 204s --- PASS: TestGenerate/Valid_class_should_be_capitalized (0.00s) 204s --- PASS: TestGenerate/NaN_min (0.00s) 204s --- PASS: TestGenerate/Empty (0.00s) 204s --- PASS: TestGenerate/Invalid_class (0.00s) 204s --- PASS: TestGenerate/Double_key (0.01s) 204s --- PASS: TestGenerate/Override_without_session (0.00s) 204s --- PASS: TestGenerate/Double_key_with_range (0.00s) 204s --- PASS: TestGenerate/Override_with_no_matching_session_defaults_to_root_override (0.00s) 204s --- PASS: TestGenerate/Description_starting_with_obsolete_is_ignored (0.00s) 204s --- PASS: TestGenerate/Long_decimal_key (0.01s) 204s --- PASS: TestGenerate/Description_starting_with_deprecated_mixed_case_is_ignored (0.00s) 204s --- PASS: TestGenerate/Inlined_Enums_are_converted_to_choices (0.00s) 204s --- PASS: TestGenerate/Description_starting_with_deprecated_is_ignored (0.00s) 204s --- PASS: TestGenerate/No_key_on_system (0.00s) 204s --- PASS: TestGenerate/Relocatable_key (0.00s) 204s --- PASS: TestGenerate/Enums_in_other_files_are_converted_to_choices (0.00s) 204s --- PASS: TestGenerate/Invalid_override_files_are_skipped (0.01s) 204s PASS 204s ok github.com/ubuntu/adsys/internal/ad/admxgen/dconf 0.105s 204s === RUN TestSSSD 204s === PAUSE TestSSSD 204s === CONT TestSSSD 204s === RUN TestSSSD/Ad_server_starting_with_ldap_prefix_does_not_stutter 204s === PAUSE TestSSSD/Ad_server_starting_with_ldap_prefix_does_not_stutter 204s === RUN TestSSSD/Is_not_online 204s === PAUSE TestSSSD/Is_not_online 204s === RUN TestSSSD/Error_on_no_domains_field 204s === PAUSE TestSSSD/Error_on_no_domains_field 204s === RUN TestSSSD/Error_on_no_sssd_section 204s === PAUSE TestSSSD/Error_on_no_sssd_section 204s === RUN TestSSSD/Ad_server_defined_in_config_has_priority_over_active_server 204s === PAUSE TestSSSD/Ad_server_defined_in_config_has_priority_over_active_server 204s === RUN TestSSSD/Ad_server_defined_in_config_does_not_need_active_server 204s === PAUSE TestSSSD/Ad_server_defined_in_config_does_not_need_active_server 204s === RUN TestSSSD/Error_returned_by_ServerFQDN()_and_IsOnline()_when_DBUS_has_no_object 204s === PAUSE TestSSSD/Error_returned_by_ServerFQDN()_and_IsOnline()_when_DBUS_has_no_object 204s === RUN TestSSSD/Error_on_sssd_domain_section_missing 204s === PAUSE TestSSSD/Error_on_sssd_domain_section_missing 204s === RUN TestSSSD/Can_handle_special_DNS_domain_characters 204s === PAUSE TestSSSD/Can_handle_special_DNS_domain_characters 204s === RUN TestSSSD/Use_domain_from_section_if_no_ad_domain 204s === PAUSE TestSSSD/Use_domain_from_section_if_no_ad_domain 204s === RUN TestSSSD/ServerFQDN()_does_not_fail_when_we_do_not_need_an_active_server 204s === PAUSE TestSSSD/ServerFQDN()_does_not_fail_when_we_do_not_need_an_active_server 204s === RUN TestSSSD/Error_returned_by_ServerFQDN()_on_no_config_nor_active_server_provided 204s === PAUSE TestSSSD/Error_returned_by_ServerFQDN()_on_no_config_nor_active_server_provided 204s === RUN TestSSSD/Error_on_sssd_domain_empty_section 204s === PAUSE TestSSSD/Error_on_sssd_domain_empty_section 204s === RUN TestSSSD/Multiple_domains,_pick_first 204s === PAUSE TestSSSD/Multiple_domains,_pick_first 204s === RUN TestSSSD/Default_domain_suffix_is_read 204s === PAUSE TestSSSD/Default_domain_suffix_is_read 204s === RUN TestSSSD/Ignore_upper_cases_in_domain_name 204s === PAUSE TestSSSD/Ignore_upper_cases_in_domain_name 204s === RUN TestSSSD/Regular_config,_with_cache_dir 204s === PAUSE TestSSSD/Regular_config,_with_cache_dir 204s === RUN TestSSSD/No_sssd_conf_loads_the_default 204s === PAUSE TestSSSD/No_sssd_conf_loads_the_default 204s === RUN TestSSSD/Error_returned_by_ServerFQDN()_when_calls_is_erroring_out 204s === PAUSE TestSSSD/Error_returned_by_ServerFQDN()_when_calls_is_erroring_out 204s === RUN TestSSSD/Error_returned_by_IsOnline()__when_calls_is_erroring_out 204s === PAUSE TestSSSD/Error_returned_by_IsOnline()__when_calls_is_erroring_out 204s === RUN TestSSSD/Error_on_sssd_conf_does_not_exists 204s === PAUSE TestSSSD/Error_on_sssd_conf_does_not_exists 204s === RUN TestSSSD/Regular_config 204s === PAUSE TestSSSD/Regular_config 204s === RUN TestSSSD/SSSd_domain_can_not_match_ad_domain 204s === PAUSE TestSSSD/SSSd_domain_can_not_match_ad_domain 204s === RUN TestSSSD/Error_on_empty_domains_field 204s === PAUSE TestSSSD/Error_on_empty_domains_field 204s === CONT TestSSSD/Ad_server_starting_with_ldap_prefix_does_not_stutter 204s === CONT TestSSSD/Error_on_sssd_domain_empty_section 204s === CONT TestSSSD/Error_on_empty_domains_field 204s === CONT TestSSSD/SSSd_domain_can_not_match_ad_domain 204s === CONT TestSSSD/Regular_config 204s === CONT TestSSSD/Error_on_sssd_conf_does_not_exists 204s === CONT TestSSSD/Error_returned_by_IsOnline()__when_calls_is_erroring_out 204s === CONT TestSSSD/Error_returned_by_ServerFQDN()_when_calls_is_erroring_out 204s === CONT TestSSSD/No_sssd_conf_loads_the_default 204s === CONT TestSSSD/Regular_config,_with_cache_dir 204s === CONT TestSSSD/Ignore_upper_cases_in_domain_name 204s === CONT TestSSSD/Default_domain_suffix_is_read 204s === CONT TestSSSD/Multiple_domains,_pick_first 204s === CONT TestSSSD/Error_returned_by_ServerFQDN()_and_IsOnline()_when_DBUS_has_no_object 204s === CONT TestSSSD/Error_returned_by_ServerFQDN()_on_no_config_nor_active_server_provided 204s === CONT TestSSSD/ServerFQDN()_does_not_fail_when_we_do_not_need_an_active_server 204s === CONT TestSSSD/Use_domain_from_section_if_no_ad_domain 204s === CONT TestSSSD/Can_handle_special_DNS_domain_characters 204s === CONT TestSSSD/Error_on_sssd_domain_section_missing 204s === CONT TestSSSD/Error_on_no_sssd_section 204s === CONT TestSSSD/Ad_server_defined_in_config_does_not_need_active_server 204s === CONT TestSSSD/Ad_server_defined_in_config_has_priority_over_active_server 204s === CONT TestSSSD/Error_on_no_domains_field 204s === CONT TestSSSD/Is_not_online 204s --- PASS: TestSSSD (0.00s) 204s --- PASS: TestSSSD/Error_on_sssd_domain_empty_section (0.00s) 204s --- PASS: TestSSSD/Error_on_empty_domains_field (0.00s) 204s --- PASS: TestSSSD/Ad_server_starting_with_ldap_prefix_does_not_stutter (0.01s) 204s --- PASS: TestSSSD/SSSd_domain_can_not_match_ad_domain (0.00s) 204s --- PASS: TestSSSD/Error_on_sssd_conf_does_not_exists (0.00s) 204s --- PASS: TestSSSD/Regular_config (0.00s) 204s --- PASS: TestSSSD/Error_returned_by_IsOnline()__when_calls_is_erroring_out (0.00s) 204s --- PASS: TestSSSD/No_sssd_conf_loads_the_default (0.00s) 204s --- PASS: TestSSSD/Error_returned_by_ServerFQDN()_when_calls_is_erroring_out (0.00s) 204s --- PASS: TestSSSD/Regular_config,_with_cache_dir (0.00s) 204s --- PASS: TestSSSD/Ignore_upper_cases_in_domain_name (0.00s) 204s --- PASS: TestSSSD/Default_domain_suffix_is_read (0.00s) 204s --- PASS: TestSSSD/Multiple_domains,_pick_first (0.00s) 204s --- PASS: TestSSSD/Error_returned_by_ServerFQDN()_and_IsOnline()_when_DBUS_has_no_object (0.00s) 204s --- PASS: TestSSSD/ServerFQDN()_does_not_fail_when_we_do_not_need_an_active_server (0.00s) 204s --- PASS: TestSSSD/Error_returned_by_ServerFQDN()_on_no_config_nor_active_server_provided (0.00s) 204s --- PASS: TestSSSD/Use_domain_from_section_if_no_ad_domain (0.00s) 204s --- PASS: TestSSSD/Can_handle_special_DNS_domain_characters (0.00s) 204s --- PASS: TestSSSD/Error_on_no_sssd_section (0.00s) 204s --- PASS: TestSSSD/Error_on_sssd_domain_section_missing (0.00s) 204s --- PASS: TestSSSD/Ad_server_defined_in_config_does_not_need_active_server (0.00s) 204s --- PASS: TestSSSD/Error_on_no_domains_field (0.00s) 204s --- PASS: TestSSSD/Ad_server_defined_in_config_has_priority_over_active_server (0.00s) 204s --- PASS: TestSSSD/Is_not_online (0.00s) 204s PASS 204s ok github.com/ubuntu/adsys/internal/ad/backends/sss 0.048s 204s === RUN TestWinbind 204s winbind_test.go:25: Running subprocess with [/tmp/go-build3197746600/b584/winbind.test -test.testlogfile=/tmp/go-build3197746600/b584/testlog.txt -test.paniconexit0 -test.timeout=10m0s -test.v=true -test.run=TestWinbind] 204s === RUN TestWinbind 204s === RUN TestWinbind/Error_when_getting_online_status 204s === RUN TestWinbind/Error_when_domain_is_offline 204s === RUN TestWinbind/Error_when_requesting_krb5cc 204s === RUN TestWinbind/Lookup_is_successful 204s === RUN TestWinbind/Lookup_with_different_hostname_is_successful 204s === RUN TestWinbind/Lookup_with_overridden_ad_domain 204s === RUN TestWinbind/Error_when_looking_up_domain 204s === RUN TestWinbind/Lookup_with_overridden_ad_server 204s === RUN TestWinbind/Lookup_with_overridden_ad_server_with_LDAP_prefix 204s === RUN TestWinbind/Error_when_looking_up_DC_name 204s --- PASS: TestWinbind (0.07s) 204s --- PASS: TestWinbind/Error_when_getting_online_status (0.01s) 204s --- PASS: TestWinbind/Error_when_domain_is_offline (0.01s) 204s --- PASS: TestWinbind/Error_when_requesting_krb5cc (0.01s) 204s --- PASS: TestWinbind/Lookup_is_successful (0.01s) 204s --- PASS: TestWinbind/Lookup_with_different_hostname_is_successful (0.01s) 204s --- PASS: TestWinbind/Lookup_with_overridden_ad_domain (0.00s) 204s --- PASS: TestWinbind/Error_when_looking_up_domain (0.00s) 204s --- PASS: TestWinbind/Lookup_with_overridden_ad_server (0.01s) 204s --- PASS: TestWinbind/Lookup_with_overridden_ad_server_with_LDAP_prefix (0.01s) 204s --- PASS: TestWinbind/Error_when_looking_up_DC_name (0.01s) 204s PASS 204s --- PASS: TestWinbind (0.15s) 204s === RUN TestExecuteKinitCommand 204s --- PASS: TestExecuteKinitCommand (0.00s) 204s PASS 204s ok github.com/ubuntu/adsys/internal/ad/backends/winbind 0.157s 204s === RUN TestGetVersionID 204s === PAUSE TestGetVersionID 204s === CONT TestGetVersionID 204s === RUN TestGetVersionID/No_VERSION_ID_in_file 204s === PAUSE TestGetVersionID/No_VERSION_ID_in_file 204s === RUN TestGetVersionID/No_os-release_file 204s === PAUSE TestGetVersionID/No_os-release_file 204s === RUN TestGetVersionID/Read_VERSION_ID 204s === PAUSE TestGetVersionID/Read_VERSION_ID 204s === CONT TestGetVersionID/No_VERSION_ID_in_file 204s === CONT TestGetVersionID/Read_VERSION_ID 204s === CONT TestGetVersionID/No_os-release_file 204s --- PASS: TestGetVersionID (0.00s) 204s --- PASS: TestGetVersionID/No_VERSION_ID_in_file (0.00s) 204s --- PASS: TestGetVersionID/No_os-release_file (0.00s) 204s --- PASS: TestGetVersionID/Read_VERSION_ID (0.00s) 204s PASS 204s ok github.com/ubuntu/adsys/internal/ad/common 0.004s 204s === RUN TestReadPolicy 204s === PAUSE TestReadPolicy 204s === RUN TestDecodePolicy 204s === PAUSE TestDecodePolicy 204s === CONT TestReadPolicy 204s === CONT TestDecodePolicy 204s === RUN TestDecodePolicy/invalid_header,_file_truncated 204s === PAUSE TestDecodePolicy/invalid_header,_file_truncated 204s === RUN TestDecodePolicy/one_element,_decimal_value 204s === PAUSE TestDecodePolicy/one_element,_decimal_value 204s === RUN TestDecodePolicy/basic_type,_enabled 204s === PAUSE TestDecodePolicy/basic_type,_enabled 204s === RUN TestDecodePolicy/basic_type,_disabled 204s === PAUSE TestDecodePolicy/basic_type,_disabled 204s === RUN TestDecodePolicy/basic_type_with_default_value_has_value_filed_in 204s === PAUSE TestDecodePolicy/basic_type_with_default_value_has_value_filed_in 204s === RUN TestDecodePolicy/two_containers_don’t_mix_their_default_values_even_when_second_has_none 204s === PAUSE TestDecodePolicy/two_containers_don’t_mix_their_default_values_even_when_second_has_none 204s === RUN TestDecodePolicy/empty_data 204s === PAUSE TestDecodePolicy/empty_data 204s === RUN TestDecodePolicy/section_not_closed 204s === PAUSE TestDecodePolicy/section_not_closed 204s === RUN TestDecodePolicy/one_element,_string_value 204s === PAUSE TestDecodePolicy/one_element,_string_value 204s === RUN TestDecodePolicy/container_with_default_elements_are_ignored_on_non_empty_option_values 204s === PAUSE TestDecodePolicy/container_with_default_elements_are_ignored_on_non_empty_option_values 204s === RUN TestDecodePolicy/container_with_default_elements_are_ignored_on_int_option_values_(always_have_values) 204s === PAUSE TestDecodePolicy/container_with_default_elements_are_ignored_on_int_option_values_(always_have_values) 204s === RUN TestDecodePolicy/container_without_metavalues 204s === PAUSE TestDecodePolicy/container_without_metavalues 204s === RUN TestDecodePolicy/two_containers_don’t_mix_their_default_values_when_redefined 204s === PAUSE TestDecodePolicy/two_containers_don’t_mix_their_default_values_when_redefined 204s === RUN TestDecodePolicy/invalid_header,_header_doesnt_match 204s === PAUSE TestDecodePolicy/invalid_header,_header_doesnt_match 204s === RUN TestDecodePolicy/no_header 204s === PAUSE TestDecodePolicy/no_header 204s === RUN TestDecodePolicy/container_with_meta_elements_and_default_without_value_on_options 204s === PAUSE TestDecodePolicy/container_with_meta_elements_and_default_without_value_on_options 204s === RUN TestDecodePolicy/container_with_meta_elements_and_value_on_options 204s === PAUSE TestDecodePolicy/container_with_meta_elements_and_value_on_options 204s === RUN TestDecodePolicy/empty_value 204s === PAUSE TestDecodePolicy/empty_value 204s === RUN TestDecodePolicy/empty_file 204s === PAUSE TestDecodePolicy/empty_file 204s === RUN TestDecodePolicy/empty_key 204s === PAUSE TestDecodePolicy/empty_key 204s === RUN TestDecodePolicy/one_element,_disabled 204s === PAUSE TestDecodePolicy/one_element,_disabled 204s === RUN TestDecodePolicy/basic_type_with_a_DISABLED_marker_keeps_meta_and_strategy 204s === PAUSE TestDecodePolicy/basic_type_with_a_DISABLED_marker_keeps_meta_and_strategy 204s === RUN TestDecodePolicy/container_strategy_is_reflected_on_child 204s === PAUSE TestDecodePolicy/container_strategy_is_reflected_on_child 204s === RUN TestDecodePolicy/disabled_container_disables_its_option_values 204s === PAUSE TestDecodePolicy/disabled_container_disables_its_option_values 204s === RUN TestDecodePolicy/policy_container_is_ignored_for_meta_of_wrong_type 204s === PAUSE TestDecodePolicy/policy_container_is_ignored_for_meta_of_wrong_type 204s === RUN TestDecodePolicy/basic_type_is_ignored_for_meta_of_wrong_type 204s === PAUSE TestDecodePolicy/basic_type_is_ignored_for_meta_of_wrong_type 204s === RUN TestDecodePolicy/invalid_header,_header_too_short 204s === PAUSE TestDecodePolicy/invalid_header,_header_too_short 204s === RUN TestDecodePolicy/value_is_not_utf16 204s === PAUSE TestDecodePolicy/value_is_not_utf16 204s === RUN TestDecodePolicy/two_elements 204s === PAUSE TestDecodePolicy/two_elements 204s === RUN TestDecodePolicy/container_with_missing_default_element_for_option_values_have_empty_strings 204s === PAUSE TestDecodePolicy/container_with_missing_default_element_for_option_values_have_empty_strings 204s === RUN TestDecodePolicy/disabled_container_with_disabled_option_values 204s === PAUSE TestDecodePolicy/disabled_container_with_disabled_option_values 204s === RUN TestDecodePolicy/one_container_with_2_children_don’t_mix_their_meta_values 204s === PAUSE TestDecodePolicy/one_container_with_2_children_don’t_mix_their_meta_values 204s === RUN TestDecodePolicy/section_separators_in_data 204s === PAUSE TestDecodePolicy/section_separators_in_data 204s === RUN TestDecodePolicy/exotic_return_type 204s === PAUSE TestDecodePolicy/exotic_return_type 204s === RUN TestDecodePolicy/header_only 204s === PAUSE TestDecodePolicy/header_only 204s === RUN TestDecodePolicy/missing_field 204s === PAUSE TestDecodePolicy/missing_field 204s === RUN TestDecodePolicy/one_element,_multitext_value 204s === PAUSE TestDecodePolicy/one_element,_multitext_value 204s === RUN TestDecodePolicy/disabled_container_with_values_needs_a_DISABLED_marker 204s === PAUSE TestDecodePolicy/disabled_container_with_values_needs_a_DISABLED_marker 204s === RUN TestDecodePolicy/disabled_container_with_values_still_keep_meta_and_strategy_with_a_DISABLED_marker 204s === PAUSE TestDecodePolicy/disabled_container_with_values_still_keep_meta_and_strategy_with_a_DISABLED_marker 204s === RUN TestDecodePolicy/null_character_in_data 204s === PAUSE TestDecodePolicy/null_character_in_data 204s === RUN TestDecodePolicy/invalid_container_default_values 204s === PAUSE TestDecodePolicy/invalid_container_default_values 204s === RUN TestDecodePolicy/key_is_not_utf16 204s === PAUSE TestDecodePolicy/key_is_not_utf16 204s === RUN TestDecodePolicy/basic_type_with_default_value_needs_a_DISABLED_marker 204s === PAUSE TestDecodePolicy/basic_type_with_default_value_needs_a_DISABLED_marker 204s === RUN TestDecodePolicy/semicolon_in_data 204s === PAUSE TestDecodePolicy/semicolon_in_data 204s === RUN TestDecodePolicy/invalid_decimal_value 204s === PAUSE TestDecodePolicy/invalid_decimal_value 204s === RUN TestDecodePolicy/basic_type_with_strategy 204s === PAUSE TestDecodePolicy/basic_type_with_strategy 204s === RUN TestDecodePolicy/container_with_default_elements_override_empty_option_values 204s === PAUSE TestDecodePolicy/container_with_default_elements_override_empty_option_values 204s === RUN TestDecodePolicy/one_container_with_2_children_don’t_mix_their_default_values 204s === PAUSE TestDecodePolicy/one_container_with_2_children_don’t_mix_their_default_values 204s === RUN TestDecodePolicy/two_containers_don’t_mix_their_meta_values,_even_if_second_has_none 204s === PAUSE TestDecodePolicy/two_containers_don’t_mix_their_meta_values,_even_if_second_has_none 204s === CONT TestDecodePolicy/invalid_header,_file_truncated 204s === RUN TestReadPolicy/header_only 204s === PAUSE TestReadPolicy/header_only 204s === RUN TestReadPolicy/missing_field 204s === PAUSE TestReadPolicy/missing_field 204s === RUN TestReadPolicy/very_large_gpo 204s === PAUSE TestReadPolicy/very_large_gpo 204s === RUN TestReadPolicy/value_is_not_utf16 204s === PAUSE TestReadPolicy/value_is_not_utf16 204s === RUN TestReadPolicy/empty_key 204s === PAUSE TestReadPolicy/empty_key 204s === RUN TestReadPolicy/one_element,_decimal_value 204s === PAUSE TestReadPolicy/one_element,_decimal_value 204s === RUN TestReadPolicy/memory_on_multiple_elements_dont_overlap 204s === PAUSE TestReadPolicy/memory_on_multiple_elements_dont_overlap 204s === RUN TestReadPolicy/empty_value 204s === PAUSE TestReadPolicy/empty_value 204s === RUN TestReadPolicy/invalid_header,_header_doesnt_match 204s === PAUSE TestReadPolicy/invalid_header,_header_doesnt_match 204s === RUN TestReadPolicy/no_header 204s === PAUSE TestReadPolicy/no_header 204s === RUN TestReadPolicy/empty_file 204s === PAUSE TestReadPolicy/empty_file 204s === RUN TestReadPolicy/section_not_closed 204s === PAUSE TestReadPolicy/section_not_closed 204s === RUN TestReadPolicy/key_is_not_utf16 204s === PAUSE TestReadPolicy/key_is_not_utf16 204s === RUN TestReadPolicy/one_element,_string_value 204s === PAUSE TestReadPolicy/one_element,_string_value 204s === RUN TestReadPolicy/section_separators_in_data 204s === PAUSE TestReadPolicy/section_separators_in_data 204s === RUN TestReadPolicy/invalid_header,_header_too_short 204s === PAUSE TestReadPolicy/invalid_header,_header_too_short 204s === RUN TestReadPolicy/invalid_header,_file_truncated 204s === PAUSE TestReadPolicy/invalid_header,_file_truncated 204s === RUN TestReadPolicy/two_elements 204s === PAUSE TestReadPolicy/two_elements 204s === RUN TestReadPolicy/semicolon_in_data 204s === CONT TestDecodePolicy/two_containers_don’t_mix_their_meta_values,_even_if_second_has_none 204s === PAUSE TestReadPolicy/semicolon_in_data 204s === RUN TestReadPolicy/exotic_return_type 204s === PAUSE TestReadPolicy/exotic_return_type 204s === CONT TestDecodePolicy/one_container_with_2_children_don’t_mix_their_default_values 204s === CONT TestDecodePolicy/container_with_default_elements_override_empty_option_values 204s === CONT TestDecodePolicy/basic_type_with_strategy 204s === CONT TestDecodePolicy/invalid_decimal_value 204s === CONT TestDecodePolicy/semicolon_in_data 204s === CONT TestDecodePolicy/basic_type_with_default_value_needs_a_DISABLED_marker 204s === CONT TestDecodePolicy/key_is_not_utf16 204s === CONT TestDecodePolicy/invalid_container_default_values 204s === CONT TestDecodePolicy/null_character_in_data 204s === CONT TestDecodePolicy/disabled_container_with_values_needs_a_DISABLED_marker 204s === CONT TestDecodePolicy/disabled_container_with_values_still_keep_meta_and_strategy_with_a_DISABLED_marker 204s === CONT TestDecodePolicy/one_element,_multitext_value 204s === CONT TestDecodePolicy/missing_field 204s === CONT TestDecodePolicy/header_only 204s === CONT TestDecodePolicy/exotic_return_type 204s === CONT TestDecodePolicy/section_separators_in_data 204s === CONT TestDecodePolicy/one_container_with_2_children_don’t_mix_their_meta_values 204s === CONT TestDecodePolicy/disabled_container_with_disabled_option_values 204s === CONT TestDecodePolicy/container_with_missing_default_element_for_option_values_have_empty_strings 204s === CONT TestDecodePolicy/two_elements 204s === CONT TestDecodePolicy/value_is_not_utf16 204s === CONT TestDecodePolicy/invalid_header,_header_too_short 204s === CONT TestDecodePolicy/basic_type_is_ignored_for_meta_of_wrong_type 204s === CONT TestDecodePolicy/policy_container_is_ignored_for_meta_of_wrong_type 204s === CONT TestDecodePolicy/disabled_container_disables_its_option_values 204s === CONT TestDecodePolicy/container_strategy_is_reflected_on_child 204s === CONT TestDecodePolicy/one_element,_disabled 204s === CONT TestDecodePolicy/basic_type_with_a_DISABLED_marker_keeps_meta_and_strategy 204s === CONT TestDecodePolicy/empty_key 204s === CONT TestDecodePolicy/empty_file 204s === CONT TestDecodePolicy/empty_value 204s === CONT TestDecodePolicy/container_with_meta_elements_and_value_on_options 204s === CONT TestDecodePolicy/container_with_meta_elements_and_default_without_value_on_options 204s === CONT TestDecodePolicy/no_header 204s === CONT TestDecodePolicy/invalid_header,_header_doesnt_match 204s === CONT TestDecodePolicy/two_containers_don’t_mix_their_default_values_when_redefined 204s === CONT TestDecodePolicy/container_without_metavalues 204s === CONT TestDecodePolicy/container_with_default_elements_are_ignored_on_int_option_values_(always_have_values) 204s === CONT TestDecodePolicy/container_with_default_elements_are_ignored_on_non_empty_option_values 204s === CONT TestDecodePolicy/one_element,_string_value 204s === CONT TestDecodePolicy/section_not_closed 204s === CONT TestDecodePolicy/empty_data 204s === CONT TestDecodePolicy/two_containers_don’t_mix_their_default_values_even_when_second_has_none 204s === CONT TestDecodePolicy/basic_type_with_default_value_has_value_filed_in 204s === CONT TestDecodePolicy/basic_type,_disabled 204s === CONT TestDecodePolicy/basic_type,_enabled 204s === CONT TestDecodePolicy/one_element,_decimal_value 204s === CONT TestReadPolicy/header_only 204s === CONT TestReadPolicy/exotic_return_type 204s --- PASS: TestDecodePolicy (0.00s) 204s --- PASS: TestDecodePolicy/invalid_header,_file_truncated (0.00s) 204s --- PASS: TestDecodePolicy/two_containers_don’t_mix_their_meta_values,_even_if_second_has_none (0.00s) 204s --- PASS: TestDecodePolicy/one_container_with_2_children_don’t_mix_their_default_values (0.00s) 204s --- PASS: TestDecodePolicy/basic_type_with_strategy (0.00s) 204s --- PASS: TestDecodePolicy/container_with_default_elements_override_empty_option_values (0.00s) 204s --- PASS: TestDecodePolicy/invalid_decimal_value (0.00s) 204s --- PASS: TestDecodePolicy/semicolon_in_data (0.00s) 204s --- PASS: TestDecodePolicy/basic_type_with_default_value_needs_a_DISABLED_marker (0.00s) 204s --- PASS: TestDecodePolicy/key_is_not_utf16 (0.00s) 204s --- PASS: TestDecodePolicy/null_character_in_data (0.00s) 204s --- PASS: TestDecodePolicy/invalid_container_default_values (0.00s) 204s --- PASS: TestDecodePolicy/disabled_container_with_values_still_keep_meta_and_strategy_with_a_DISABLED_marker (0.00s) 204s --- PASS: TestDecodePolicy/disabled_container_with_values_needs_a_DISABLED_marker (0.00s) 204s --- PASS: TestDecodePolicy/one_element,_multitext_value (0.00s) 204s --- PASS: TestDecodePolicy/missing_field (0.00s) 204s --- PASS: TestDecodePolicy/header_only (0.00s) 204s --- PASS: TestDecodePolicy/exotic_return_type (0.00s) 204s --- PASS: TestDecodePolicy/section_separators_in_data (0.00s) 204s --- PASS: TestDecodePolicy/disabled_container_with_disabled_option_values (0.00s) 204s --- PASS: TestDecodePolicy/one_container_with_2_children_don’t_mix_their_meta_values (0.00s) 204s --- PASS: TestDecodePolicy/container_with_missing_default_element_for_option_values_have_empty_strings (0.00s) 204s --- PASS: TestDecodePolicy/two_elements (0.00s) 204s --- PASS: TestDecodePolicy/value_is_not_utf16 (0.00s) 204s --- PASS: TestDecodePolicy/invalid_header,_header_too_short (0.00s) 204s --- PASS: TestDecodePolicy/basic_type_is_ignored_for_meta_of_wrong_type (0.00s) 204s --- PASS: TestDecodePolicy/policy_container_is_ignored_for_meta_of_wrong_type (0.00s) 204s --- PASS: TestDecodePolicy/container_strategy_is_reflected_on_child (0.00s) 204s --- PASS: TestDecodePolicy/disabled_container_disables_its_option_values (0.01s) 204s --- PASS: TestDecodePolicy/one_element,_disabled (0.00s) 204s --- PASS: TestDecodePolicy/basic_type_with_a_DISABLED_marker_keeps_meta_and_strategy (0.00s) 204s --- PASS: TestDecodePolicy/empty_file (0.00s) 204s --- PASS: TestDecodePolicy/empty_key (0.00s) 204s --- PASS: TestDecodePolicy/empty_value (0.00s) 204s --- PASS: TestDecodePolicy/container_with_meta_elements_and_value_on_options (0.00s) 204s --- PASS: TestDecodePolicy/container_with_meta_elements_and_default_without_value_on_options (0.00s) 204s --- PASS: TestDecodePolicy/no_header (0.00s) 204s --- PASS: TestDecodePolicy/invalid_header,_header_doesnt_match (0.00s) 204s --- PASS: TestDecodePolicy/container_without_metavalues (0.00s) 204s --- PASS: TestDecodePolicy/two_containers_don’t_mix_their_default_values_when_redefined (0.00s) 204s --- PASS: TestDecodePolicy/container_with_default_elements_are_ignored_on_non_empty_option_values (0.00s) 204s --- PASS: TestDecodePolicy/container_with_default_elements_are_ignored_on_int_option_values_(always_have_values) (0.00s) 204s --- PASS: TestDecodePolicy/one_element,_string_value (0.00s) 204s --- PASS: TestDecodePolicy/empty_data (0.00s) 204s --- PASS: TestDecodePolicy/section_not_closed (0.00s) 204s --- PASS: TestDecodePolicy/two_containers_don’t_mix_their_default_values_even_when_second_has_none (0.00s) 204s --- PASS: TestDecodePolicy/basic_type_with_default_value_has_value_filed_in (0.00s) 204s --- PASS: TestDecodePolicy/basic_type,_disabled (0.00s) 204s --- PASS: TestDecodePolicy/basic_type,_enabled (0.00s) 204s --- PASS: TestDecodePolicy/one_element,_decimal_value (0.00s) 204s === CONT TestReadPolicy/semicolon_in_data 204s === CONT TestReadPolicy/two_elements 204s === CONT TestReadPolicy/invalid_header,_file_truncated 204s === CONT TestReadPolicy/invalid_header,_header_too_short 204s === CONT TestReadPolicy/section_separators_in_data 204s === CONT TestReadPolicy/one_element,_string_value 204s === CONT TestReadPolicy/key_is_not_utf16 204s === CONT TestReadPolicy/section_not_closed 204s === CONT TestReadPolicy/empty_file 204s === CONT TestReadPolicy/no_header 204s === CONT TestReadPolicy/invalid_header,_header_doesnt_match 204s === CONT TestReadPolicy/empty_value 204s === CONT TestReadPolicy/memory_on_multiple_elements_dont_overlap 204s === CONT TestReadPolicy/one_element,_decimal_value 204s === CONT TestReadPolicy/empty_key 204s === CONT TestReadPolicy/value_is_not_utf16 204s === CONT TestReadPolicy/very_large_gpo 204s === CONT TestReadPolicy/missing_field 204s --- PASS: TestReadPolicy (0.00s) 204s --- PASS: TestReadPolicy/header_only (0.00s) 204s --- PASS: TestReadPolicy/semicolon_in_data (0.00s) 204s --- PASS: TestReadPolicy/two_elements (0.00s) 204s --- PASS: TestReadPolicy/invalid_header,_file_truncated (0.00s) 204s --- PASS: TestReadPolicy/invalid_header,_header_too_short (0.00s) 204s --- PASS: TestReadPolicy/section_separators_in_data (0.00s) 204s --- PASS: TestReadPolicy/one_element,_string_value (0.00s) 204s --- PASS: TestReadPolicy/key_is_not_utf16 (0.00s) 204s --- PASS: TestReadPolicy/section_not_closed (0.00s) 204s --- PASS: TestReadPolicy/empty_file (0.00s) 204s --- PASS: TestReadPolicy/no_header (0.00s) 204s --- PASS: TestReadPolicy/invalid_header,_header_doesnt_match (0.00s) 204s --- PASS: TestReadPolicy/empty_value (0.00s) 204s --- PASS: TestReadPolicy/exotic_return_type (0.00s) 204s --- PASS: TestReadPolicy/one_element,_decimal_value (0.00s) 204s --- PASS: TestReadPolicy/empty_key (0.00s) 204s --- PASS: TestReadPolicy/value_is_not_utf16 (0.00s) 204s --- PASS: TestReadPolicy/memory_on_multiple_elements_dont_overlap (0.00s) 204s --- PASS: TestReadPolicy/missing_field (0.00s) 204s --- PASS: TestReadPolicy/very_large_gpo (0.01s) 204s === RUN FuzzDecodePolicy 204s === RUN FuzzDecodePolicy/seed#0 204s === RUN FuzzDecodePolicy/seed#1 204s === RUN FuzzDecodePolicy/seed#2 204s === RUN FuzzDecodePolicy/seed#3 204s === RUN FuzzDecodePolicy/seed#4 204s === RUN FuzzDecodePolicy/seed#5 204s === RUN FuzzDecodePolicy/seed#6 204s === RUN FuzzDecodePolicy/seed#7 204s === RUN FuzzDecodePolicy/seed#8 204s === RUN FuzzDecodePolicy/seed#9 204s === RUN FuzzDecodePolicy/seed#10 204s === RUN FuzzDecodePolicy/seed#11 204s === RUN FuzzDecodePolicy/seed#12 204s === RUN FuzzDecodePolicy/seed#13 204s === RUN FuzzDecodePolicy/seed#14 204s === RUN FuzzDecodePolicy/seed#15 204s === RUN FuzzDecodePolicy/seed#16 204s === RUN FuzzDecodePolicy/seed#17 204s === RUN FuzzDecodePolicy/seed#18 204s === RUN FuzzDecodePolicy/seed#19 204s === RUN FuzzDecodePolicy/seed#20 204s === RUN FuzzDecodePolicy/seed#21 204s === RUN FuzzDecodePolicy/seed#22 204s === RUN FuzzDecodePolicy/seed#23 204s === RUN FuzzDecodePolicy/seed#24 204s === RUN FuzzDecodePolicy/seed#25 204s === RUN FuzzDecodePolicy/seed#26 204s === RUN FuzzDecodePolicy/seed#27 204s === RUN FuzzDecodePolicy/seed#28 204s === RUN FuzzDecodePolicy/seed#29 204s === RUN FuzzDecodePolicy/seed#30 204s === RUN FuzzDecodePolicy/seed#31 204s === RUN FuzzDecodePolicy/seed#32 204s === RUN FuzzDecodePolicy/seed#33 204s === RUN FuzzDecodePolicy/seed#34 204s === RUN FuzzDecodePolicy/seed#35 204s === RUN FuzzDecodePolicy/seed#36 204s === RUN FuzzDecodePolicy/seed#37 204s === RUN FuzzDecodePolicy/seed#38 204s === RUN FuzzDecodePolicy/seed#39 204s === RUN FuzzDecodePolicy/seed#40 204s === RUN FuzzDecodePolicy/seed#41 204s === RUN FuzzDecodePolicy/seed#42 204s === RUN FuzzDecodePolicy/seed#43 204s === RUN FuzzDecodePolicy/seed#44 204s === RUN FuzzDecodePolicy/seed#45 204s === RUN FuzzDecodePolicy/seed#46 204s === RUN FuzzDecodePolicy/seed#47 204s === RUN FuzzDecodePolicy/seed#48 204s === RUN FuzzDecodePolicy/seed#49 204s === RUN FuzzDecodePolicy/seed#50 204s === RUN FuzzDecodePolicy/seed#51 204s === RUN FuzzDecodePolicy/seed#52 204s === RUN FuzzDecodePolicy/seed#53 204s === RUN FuzzDecodePolicy/0062cd090fe349d2 204s === RUN FuzzDecodePolicy/04b7526092323e1c 204s === RUN FuzzDecodePolicy/0defa8b97933a28f 204s === RUN FuzzDecodePolicy/133d1110defea029 204s === RUN FuzzDecodePolicy/1417961320cddc32 204s === RUN FuzzDecodePolicy/18ca9a9ddd9b04c5 204s === RUN FuzzDecodePolicy/1b6cf53b6668b5b8 204s === RUN FuzzDecodePolicy/1b723f18e7bbd2bd 204s === RUN FuzzDecodePolicy/1fa4e44bc7eaab2b 204s === RUN FuzzDecodePolicy/20bb28e943f3a163 204s === RUN FuzzDecodePolicy/20f9df382d135424 204s === RUN FuzzDecodePolicy/21a02646df37f4a3 204s === RUN FuzzDecodePolicy/222e7dcc7ccf2b94 204s === RUN FuzzDecodePolicy/263b842aaa06d620 204s === RUN FuzzDecodePolicy/28ee70a86ff08ae5 204s === RUN FuzzDecodePolicy/298aa48ef602f955 204s === RUN FuzzDecodePolicy/2cb06d9f4d5ffe78 204s === RUN FuzzDecodePolicy/2e90d7e4f1973efd 204s === RUN FuzzDecodePolicy/2f2f939e0f0a5dfa 204s === RUN FuzzDecodePolicy/2f559466be2bb6db 204s === RUN FuzzDecodePolicy/3183a1d080909e99 204s === RUN FuzzDecodePolicy/31b9c4efbfccaa4b 204s === RUN FuzzDecodePolicy/33661e4c5fce45df 204s === RUN FuzzDecodePolicy/33c1677cf59487f5 204s === RUN FuzzDecodePolicy/3a49e3a9b34e7ca0 204s === RUN FuzzDecodePolicy/3f5a8494482ab97f 204s === RUN FuzzDecodePolicy/40a5045c4171f005 204s === RUN FuzzDecodePolicy/44e971d5bd7f28b3 204s === RUN FuzzDecodePolicy/44ef800113434b04 204s === RUN FuzzDecodePolicy/471661e7b661c53d 204s === RUN FuzzDecodePolicy/476ca3647151c006 204s === RUN FuzzDecodePolicy/4843648786c70b38 204s === RUN FuzzDecodePolicy/48ca8b9fbeccc5a8 204s === RUN FuzzDecodePolicy/4a75b70e3bbd2aee 204s === RUN FuzzDecodePolicy/4ab54fbe4f748f85 204s === RUN FuzzDecodePolicy/4b03a60474b90bbd 204s === RUN FuzzDecodePolicy/4cf871ee411324fb 204s === RUN FuzzDecodePolicy/4f1d38c1e12aef6a 204s === RUN FuzzDecodePolicy/5044e53350040819 204s === RUN FuzzDecodePolicy/504944f54851313c 204s === RUN FuzzDecodePolicy/582528ddfad69eb5 204s === RUN FuzzDecodePolicy/593a3ee315061853 204s === RUN FuzzDecodePolicy/59d23806a24221a5 204s === RUN FuzzDecodePolicy/5a29ff4d9005ba8b 204s === RUN FuzzDecodePolicy/5f0ada98ca1ad1a9 204s === RUN FuzzDecodePolicy/62a8dced0efc9d72 204s === RUN FuzzDecodePolicy/68c1564da597fea0 204s === RUN FuzzDecodePolicy/69603dec84f1482b 204s === RUN FuzzDecodePolicy/6960c361007d8825 204s === RUN FuzzDecodePolicy/699e9d8d0197487d 204s === RUN FuzzDecodePolicy/6ccb1b379873af9f 204s === RUN FuzzDecodePolicy/6d1b1e240f60f6c9 204s === RUN FuzzDecodePolicy/6d3215f003388cf1 204s === RUN FuzzDecodePolicy/6d817b46e0caad15 204s === RUN FuzzDecodePolicy/6dc2686e428754f3 204s === RUN FuzzDecodePolicy/6ddc8b3bed7c0e39 204s === RUN FuzzDecodePolicy/6e0990202f9b9d55 204s === RUN FuzzDecodePolicy/6e1da4d6ea90bc7a 204s === RUN FuzzDecodePolicy/6f0e2fcef25f63cf 204s === RUN FuzzDecodePolicy/72cca4222533d089 204s === RUN FuzzDecodePolicy/731d3b5bde9cc690 204s === RUN FuzzDecodePolicy/7361de35bf70bf17 204s === RUN FuzzDecodePolicy/749f16c9bc3cc87e 204s === RUN FuzzDecodePolicy/74ac7250a3338978 204s === RUN FuzzDecodePolicy/758383ad78d1ddd4 204s === RUN FuzzDecodePolicy/76f1ccb3afa04e6e 204s === RUN FuzzDecodePolicy/795ceb881d4221e3 204s === RUN FuzzDecodePolicy/7b60c5de747214b6 204s === RUN FuzzDecodePolicy/7bc7f7ba36ff22f5 204s === RUN FuzzDecodePolicy/7f3faed21426db2f 204s === RUN FuzzDecodePolicy/82a803231677d0f5 204s === RUN FuzzDecodePolicy/837bc22f260799fd 204s === RUN FuzzDecodePolicy/85315bd4891f6c1e 204s === RUN FuzzDecodePolicy/867b5ab9e5d21aea 204s === RUN FuzzDecodePolicy/888de5c9e80ce3b0 204s === RUN FuzzDecodePolicy/8a61b9487446d726 204s === RUN FuzzDecodePolicy/8b0f0dee6f9a48fd 204s === RUN FuzzDecodePolicy/8e8f4e91b7c5bfd0 204s === RUN FuzzDecodePolicy/8f19b0f96affeba8 204s === RUN FuzzDecodePolicy/9334c46469323973 204s === RUN FuzzDecodePolicy/9604c69b88bc6151 204s === RUN FuzzDecodePolicy/963211680af6bd1a 204s === RUN FuzzDecodePolicy/972db90b4d6a1d5b 204s === RUN FuzzDecodePolicy/985ec3cbf457896a 204s === RUN FuzzDecodePolicy/997536fa86bbbc34 204s === RUN FuzzDecodePolicy/9acd70418e457d18 204s === RUN FuzzDecodePolicy/9b0a4105f1089a20 204s === RUN FuzzDecodePolicy/9d8cdc0719c46928 204s === RUN FuzzDecodePolicy/9e6f333572766a4b 204s === RUN FuzzDecodePolicy/9e943f761adfbbd0 204s === RUN FuzzDecodePolicy/a1698d53f5c4d82d 204s === RUN FuzzDecodePolicy/a1841a4689867471 204s === RUN FuzzDecodePolicy/a26ca284000eeff9 204s === RUN FuzzDecodePolicy/a552164bb872fda4 204s === RUN FuzzDecodePolicy/a9c5e443bf44c80d 204s === RUN FuzzDecodePolicy/ac277569a745611f 204s === RUN FuzzDecodePolicy/ac53c3dce7a4706d 204s === RUN FuzzDecodePolicy/ada28ad70c7345f1 204s === RUN FuzzDecodePolicy/adb9a13c291b7e8c 204s === RUN FuzzDecodePolicy/aeb9d5c55731dae0 204s === RUN FuzzDecodePolicy/af71c7d394bbf535 204s === RUN FuzzDecodePolicy/b0ecd34477c6628e 204s === RUN FuzzDecodePolicy/b1585b9aa01c16b3 204s === RUN FuzzDecodePolicy/b6264d058ed4028a 204s === RUN FuzzDecodePolicy/b6790bea1e752c32 204s === RUN FuzzDecodePolicy/b741e8aa6c8179ba 204s === RUN FuzzDecodePolicy/b9032509681e867b 204s === RUN FuzzDecodePolicy/bb684f658455e982 204s === RUN FuzzDecodePolicy/bc6ddfc82e38438b 204s === RUN FuzzDecodePolicy/bf4f46d3858edb39 204s === RUN FuzzDecodePolicy/bfdd1bd65b5f5c04 204s === RUN FuzzDecodePolicy/c01841582b4cdc2f 204s === RUN FuzzDecodePolicy/c340eca55c3c30e3 204s === RUN FuzzDecodePolicy/c39235a2f77e92fd 204s === RUN FuzzDecodePolicy/c4d9def3916de265 204s === RUN FuzzDecodePolicy/c610d176a1726c39 204s === RUN FuzzDecodePolicy/ca683af05a78b772 204s === RUN FuzzDecodePolicy/cac340cbf4f81f48 204s === RUN FuzzDecodePolicy/ccdaead0f44dc069 204s === RUN FuzzDecodePolicy/ce8467c12ac1478e 204s === RUN FuzzDecodePolicy/cebcbd67b0b51d54 204s === RUN FuzzDecodePolicy/cf318b520a8e55be 204s === RUN FuzzDecodePolicy/cf592b0a6a725d1c 204s === RUN FuzzDecodePolicy/d0b8dc40737b3ff0 204s === RUN FuzzDecodePolicy/d2969c8e25b51895 204s === RUN FuzzDecodePolicy/d4e956bdff66867a 204s === RUN FuzzDecodePolicy/d5b932675c6ca808 204s === RUN FuzzDecodePolicy/dac7bf5435c51dea 204s === RUN FuzzDecodePolicy/dddc8d06ef526aba 204s === RUN FuzzDecodePolicy/e3065cb3ac7c0f78 204s === RUN FuzzDecodePolicy/e4242a66193c4579 204s === RUN FuzzDecodePolicy/e4a4780eb4ee185b 204s === RUN FuzzDecodePolicy/e5b22ed07e48d3fb 204s === RUN FuzzDecodePolicy/e7e4a84593481e49 204s === RUN FuzzDecodePolicy/e8030826b4125cbb 204s === RUN FuzzDecodePolicy/e923261af5ebad81 204s === RUN FuzzDecodePolicy/ea426f6b8bedc4d6 204s === RUN FuzzDecodePolicy/ead723bc16638dcb 204s === RUN FuzzDecodePolicy/f131b8f78f028a54 204s === RUN FuzzDecodePolicy/f1c1d58ecbe0d6dd 204s === RUN FuzzDecodePolicy/f3313a9f40c82a87 204s === RUN FuzzDecodePolicy/f4f490e788a76488 204s === RUN FuzzDecodePolicy/fa7acaf11cff6812 204s === RUN FuzzDecodePolicy/fb991a0182b5fe4d 204s === RUN FuzzDecodePolicy/fc0deb922246d3b7 204s === RUN FuzzDecodePolicy/fccd118f10988218 204s === RUN FuzzDecodePolicy/fe9d2018570dc6c6 204s === RUN FuzzDecodePolicy/ffd2d2b4544a818d 204s === RUN FuzzDecodePolicy/ffd60d90486b3974 204s === RUN FuzzDecodePolicy/regression-test-input-333 204s --- PASS: FuzzDecodePolicy (0.57s) 204s --- PASS: FuzzDecodePolicy/seed#0 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#1 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#2 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#3 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#4 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#5 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#6 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#7 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#8 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#9 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#10 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#11 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#12 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#13 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#14 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#15 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#16 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#17 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#18 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#19 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#20 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#21 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#22 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#23 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#24 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#25 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#26 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#27 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#28 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#29 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#30 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#31 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#32 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#33 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#34 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#35 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#36 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#37 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#38 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#39 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#40 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#41 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#42 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#43 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#44 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#45 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#46 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#47 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#48 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#49 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#50 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#51 (0.00s) 204s --- PASS: FuzzDecodePolicy/seed#52 (0.02s) 204s --- PASS: FuzzDecodePolicy/seed#53 (0.00s) 204s --- PASS: FuzzDecodePolicy/0062cd090fe349d2 (0.00s) 204s --- PASS: FuzzDecodePolicy/04b7526092323e1c (0.00s) 204s --- PASS: FuzzDecodePolicy/0defa8b97933a28f (0.00s) 204s --- PASS: FuzzDecodePolicy/133d1110defea029 (0.00s) 204s --- PASS: FuzzDecodePolicy/1417961320cddc32 (0.00s) 204s --- PASS: FuzzDecodePolicy/18ca9a9ddd9b04c5 (0.00s) 204s --- PASS: FuzzDecodePolicy/1b6cf53b6668b5b8 (0.00s) 204s --- PASS: FuzzDecodePolicy/1b723f18e7bbd2bd (0.00s) 204s --- PASS: FuzzDecodePolicy/1fa4e44bc7eaab2b (0.00s) 204s --- PASS: FuzzDecodePolicy/20bb28e943f3a163 (0.00s) 204s --- PASS: FuzzDecodePolicy/20f9df382d135424 (0.00s) 204s --- PASS: FuzzDecodePolicy/21a02646df37f4a3 (0.00s) 204s --- PASS: FuzzDecodePolicy/222e7dcc7ccf2b94 (0.01s) 204s --- PASS: FuzzDecodePolicy/263b842aaa06d620 (0.00s) 204s --- PASS: FuzzDecodePolicy/28ee70a86ff08ae5 (0.00s) 204s --- PASS: FuzzDecodePolicy/298aa48ef602f955 (0.00s) 204s --- PASS: FuzzDecodePolicy/2cb06d9f4d5ffe78 (0.00s) 204s --- PASS: FuzzDecodePolicy/2e90d7e4f1973efd (0.00s) 204s --- PASS: FuzzDecodePolicy/2f2f939e0f0a5dfa (0.00s) 204s --- PASS: FuzzDecodePolicy/2f559466be2bb6db (0.00s) 204s --- PASS: FuzzDecodePolicy/3183a1d080909e99 (0.00s) 204s --- PASS: FuzzDecodePolicy/31b9c4efbfccaa4b (0.00s) 204s --- PASS: FuzzDecodePolicy/33661e4c5fce45df (0.00s) 204s --- PASS: FuzzDecodePolicy/33c1677cf59487f5 (0.00s) 204s --- PASS: FuzzDecodePolicy/3a49e3a9b34e7ca0 (0.00s) 204s --- PASS: FuzzDecodePolicy/3f5a8494482ab97f (0.00s) 204s --- PASS: FuzzDecodePolicy/40a5045c4171f005 (0.00s) 204s --- PASS: FuzzDecodePolicy/44e971d5bd7f28b3 (0.00s) 204s --- PASS: FuzzDecodePolicy/44ef800113434b04 (0.05s) 204s --- PASS: FuzzDecodePolicy/471661e7b661c53d (0.00s) 204s --- PASS: FuzzDecodePolicy/476ca3647151c006 (0.00s) 204s --- PASS: FuzzDecodePolicy/4843648786c70b38 (0.00s) 204s --- PASS: FuzzDecodePolicy/48ca8b9fbeccc5a8 (0.00s) 204s --- PASS: FuzzDecodePolicy/4a75b70e3bbd2aee (0.00s) 204s --- PASS: FuzzDecodePolicy/4ab54fbe4f748f85 (0.00s) 204s --- PASS: FuzzDecodePolicy/4b03a60474b90bbd (0.00s) 204s --- PASS: FuzzDecodePolicy/4cf871ee411324fb (0.00s) 204s --- PASS: FuzzDecodePolicy/4f1d38c1e12aef6a (0.00s) 204s --- PASS: FuzzDecodePolicy/5044e53350040819 (0.00s) 204s --- PASS: FuzzDecodePolicy/504944f54851313c (0.00s) 204s --- PASS: FuzzDecodePolicy/582528ddfad69eb5 (0.00s) 204s --- PASS: FuzzDecodePolicy/593a3ee315061853 (0.00s) 204s --- PASS: FuzzDecodePolicy/59d23806a24221a5 (0.00s) 204s --- PASS: FuzzDecodePolicy/5a29ff4d9005ba8b (0.00s) 204s --- PASS: FuzzDecodePolicy/5f0ada98ca1ad1a9 (0.00s) 204s --- PASS: FuzzDecodePolicy/62a8dced0efc9d72 (0.01s) 204s --- PASS: FuzzDecodePolicy/68c1564da597fea0 (0.00s) 204s --- PASS: FuzzDecodePolicy/69603dec84f1482b (0.00s) 204s --- PASS: FuzzDecodePolicy/6960c361007d8825 (0.00s) 204s --- PASS: FuzzDecodePolicy/699e9d8d0197487d (0.00s) 204s --- PASS: FuzzDecodePolicy/6ccb1b379873af9f (0.00s) 204s --- PASS: FuzzDecodePolicy/6d1b1e240f60f6c9 (0.00s) 204s --- PASS: FuzzDecodePolicy/6d3215f003388cf1 (0.00s) 204s --- PASS: FuzzDecodePolicy/6d817b46e0caad15 (0.00s) 204s --- PASS: FuzzDecodePolicy/6dc2686e428754f3 (0.00s) 204s --- PASS: FuzzDecodePolicy/6ddc8b3bed7c0e39 (0.00s) 204s --- PASS: FuzzDecodePolicy/6e0990202f9b9d55 (0.00s) 204s --- PASS: FuzzDecodePolicy/6e1da4d6ea90bc7a (0.00s) 204s --- PASS: FuzzDecodePolicy/6f0e2fcef25f63cf (0.00s) 204s --- PASS: FuzzDecodePolicy/72cca4222533d089 (0.00s) 204s --- PASS: FuzzDecodePolicy/731d3b5bde9cc690 (0.00s) 204s --- PASS: FuzzDecodePolicy/7361de35bf70bf17 (0.00s) 204s --- PASS: FuzzDecodePolicy/749f16c9bc3cc87e (0.00s) 204s --- PASS: FuzzDecodePolicy/74ac7250a3338978 (0.00s) 204s --- PASS: FuzzDecodePolicy/758383ad78d1ddd4 (0.00s) 204s --- PASS: FuzzDecodePolicy/76f1ccb3afa04e6e (0.00s) 204s --- PASS: FuzzDecodePolicy/795ceb881d4221e3 (0.00s) 204s --- PASS: FuzzDecodePolicy/7b60c5de747214b6 (0.03s) 204s --- PASS: FuzzDecodePolicy/7bc7f7ba36ff22f5 (0.00s) 204s --- PASS: FuzzDecodePolicy/7f3faed21426db2f (0.00s) 204s --- PASS: FuzzDecodePolicy/82a803231677d0f5 (0.00s) 204s --- PASS: FuzzDecodePolicy/837bc22f260799fd (0.00s) 204s --- PASS: FuzzDecodePolicy/85315bd4891f6c1e (0.00s) 204s --- PASS: FuzzDecodePolicy/867b5ab9e5d21aea (0.00s) 204s --- PASS: FuzzDecodePolicy/888de5c9e80ce3b0 (0.01s) 204s --- PASS: FuzzDecodePolicy/8a61b9487446d726 (0.00s) 204s --- PASS: FuzzDecodePolicy/8b0f0dee6f9a48fd (0.00s) 204s --- PASS: FuzzDecodePolicy/8e8f4e91b7c5bfd0 (0.00s) 204s --- PASS: FuzzDecodePolicy/8f19b0f96affeba8 (0.00s) 204s --- PASS: FuzzDecodePolicy/9334c46469323973 (0.00s) 204s --- PASS: FuzzDecodePolicy/9604c69b88bc6151 (0.00s) 204s --- PASS: FuzzDecodePolicy/963211680af6bd1a (0.00s) 204s --- PASS: FuzzDecodePolicy/972db90b4d6a1d5b (0.00s) 204s --- PASS: FuzzDecodePolicy/985ec3cbf457896a (0.00s) 204s --- PASS: FuzzDecodePolicy/997536fa86bbbc34 (0.00s) 204s --- PASS: FuzzDecodePolicy/9acd70418e457d18 (0.00s) 204s --- PASS: FuzzDecodePolicy/9b0a4105f1089a20 (0.00s) 204s --- PASS: FuzzDecodePolicy/9d8cdc0719c46928 (0.00s) 204s --- PASS: FuzzDecodePolicy/9e6f333572766a4b (0.00s) 204s --- PASS: FuzzDecodePolicy/9e943f761adfbbd0 (0.00s) 204s --- PASS: FuzzDecodePolicy/a1698d53f5c4d82d (0.00s) 204s --- PASS: FuzzDecodePolicy/a1841a4689867471 (0.00s) 204s --- PASS: FuzzDecodePolicy/a26ca284000eeff9 (0.00s) 204s --- PASS: FuzzDecodePolicy/a552164bb872fda4 (0.00s) 204s --- PASS: FuzzDecodePolicy/a9c5e443bf44c80d (0.00s) 204s --- PASS: FuzzDecodePolicy/ac277569a745611f (0.00s) 204s --- PASS: FuzzDecodePolicy/ac53c3dce7a4706d (0.00s) 204s --- PASS: FuzzDecodePolicy/ada28ad70c7345f1 (0.00s) 204s --- PASS: FuzzDecodePolicy/adb9a13c291b7e8c (0.00s) 204s --- PASS: FuzzDecodePolicy/aeb9d5c55731dae0 (0.00s) 204s --- PASS: FuzzDecodePolicy/af71c7d394bbf535 (0.00s) 204s --- PASS: FuzzDecodePolicy/b0ecd34477c6628e (0.00s) 204s --- PASS: FuzzDecodePolicy/b1585b9aa01c16b3 (0.00s) 204s --- PASS: FuzzDecodePolicy/b6264d058ed4028a (0.00s) 204s --- PASS: FuzzDecodePolicy/b6790bea1e752c32 (0.00s) 204s --- PASS: FuzzDecodePolicy/b741e8aa6c8179ba (0.00s) 204s --- PASS: FuzzDecodePolicy/b9032509681e867b (0.00s) 204s --- PASS: FuzzDecodePolicy/bb684f658455e982 (0.00s) 204s --- PASS: FuzzDecodePolicy/bc6ddfc82e38438b (0.00s) 204s --- PASS: FuzzDecodePolicy/bf4f46d3858edb39 (0.00s) 204s --- PASS: FuzzDecodePolicy/bfdd1bd65b5f5c04 (0.00s) 204s --- PASS: FuzzDecodePolicy/c01841582b4cdc2f (0.00s) 204s --- PASS: FuzzDecodePolicy/c340eca55c3c30e3 (0.00s) 204s --- PASS: FuzzDecodePolicy/c39235a2f77e92fd (0.00s) 204s --- PASS: FuzzDecodePolicy/c4d9def3916de265 (0.00s) 204s --- PASS: FuzzDecodePolicy/c610d176a1726c39 (0.00s) 204s --- PASS: FuzzDecodePolicy/ca683af05a78b772 (0.00s) 204s --- PASS: FuzzDecodePolicy/cac340cbf4f81f48 (0.00s) 204s --- PASS: FuzzDecodePolicy/ccdaead0f44dc069 (0.00s) 204s --- PASS: FuzzDecodePolicy/ce8467c12ac1478e (0.00s) 204s --- PASS: FuzzDecodePolicy/cebcbd67b0b51d54 (0.00s) 204s --- PASS: FuzzDecodePolicy/cf318b520a8e55be (0.00s) 204s --- PASS: FuzzDecodePolicy/cf592b0a6a725d1c (0.00s) 204s --- PASS: FuzzDecodePolicy/d0b8dc40737b3ff0 (0.00s) 204s --- PASS: FuzzDecodePolicy/d2969c8e25b51895 (0.00s) 204s --- PASS: FuzzDecodePolicy/d4e956bdff66867a (0.00s) 204s --- PASS: FuzzDecodePolicy/d5b932675c6ca808 (0.00s) 204s --- PASS: FuzzDecodePolicy/dac7bf5435c51dea (0.00s) 204s --- PASS: FuzzDecodePolicy/dddc8d06ef526aba (0.00s) 204s --- PASS: FuzzDecodePolicy/e3065cb3ac7c0f78 (0.00s) 204s --- PASS: FuzzDecodePolicy/e4242a66193c4579 (0.00s) 204s --- PASS: FuzzDecodePolicy/e4a4780eb4ee185b (0.00s) 204s --- PASS: FuzzDecodePolicy/e5b22ed07e48d3fb (0.00s) 204s --- PASS: FuzzDecodePolicy/e7e4a84593481e49 (0.00s) 204s --- PASS: FuzzDecodePolicy/e8030826b4125cbb (0.00s) 204s --- PASS: FuzzDecodePolicy/e923261af5ebad81 (0.00s) 204s --- PASS: FuzzDecodePolicy/ea426f6b8bedc4d6 (0.00s) 204s --- PASS: FuzzDecodePolicy/ead723bc16638dcb (0.00s) 204s --- PASS: FuzzDecodePolicy/f131b8f78f028a54 (0.00s) 204s --- PASS: FuzzDecodePolicy/f1c1d58ecbe0d6dd (0.00s) 204s --- PASS: FuzzDecodePolicy/f3313a9f40c82a87 (0.00s) 204s --- PASS: FuzzDecodePolicy/f4f490e788a76488 (0.00s) 204s --- PASS: FuzzDecodePolicy/fa7acaf11cff6812 (0.00s) 204s --- PASS: FuzzDecodePolicy/fb991a0182b5fe4d (0.00s) 204s --- PASS: FuzzDecodePolicy/fc0deb922246d3b7 (0.00s) 204s --- PASS: FuzzDecodePolicy/fccd118f10988218 (0.00s) 204s --- PASS: FuzzDecodePolicy/fe9d2018570dc6c6 (0.04s) 204s --- PASS: FuzzDecodePolicy/ffd2d2b4544a818d (0.00s) 204s --- PASS: FuzzDecodePolicy/ffd60d90486b3974 (0.00s) 204s --- PASS: FuzzDecodePolicy/regression-test-input-333 (0.00s) 204s PASS 204s ok github.com/ubuntu/adsys/internal/ad/registry 0.625s 204s === RUN TestNew 204s === PAUSE TestNew 204s === CONT TestNew 204s === RUN TestNew/Unknown_backend_defaults_to_sssd 204s === PAUSE TestNew/Unknown_backend_defaults_to_sssd 204s === RUN TestNew/Select_sssd_backend_explicitly 204s === PAUSE TestNew/Select_sssd_backend_explicitly 204s === RUN TestNew/Error_on_failure_to_create_cache_directory 204s === PAUSE TestNew/Error_on_failure_to_create_cache_directory 204s === RUN TestNew/Error_on_nonexistent_sssd.conf 204s === PAUSE TestNew/Error_on_nonexistent_sssd.conf 204s === RUN TestNew/Error_on_ad.New_prevents_adsysservice_creation 204s === PAUSE TestNew/Error_on_ad.New_prevents_adsysservice_creation 204s === RUN TestNew/New_and_Quit_succeeds_and_defaults_to_sssd,_first_run 204s === PAUSE TestNew/New_and_Quit_succeeds_and_defaults_to_sssd,_first_run 204s === RUN TestNew/Adsys_directory_can_already_exists 204s === PAUSE TestNew/Adsys_directory_can_already_exists 204s === RUN TestNew/Select_winbind_backend_explicitly 204s === PAUSE TestNew/Select_winbind_backend_explicitly 204s === RUN TestNew/Error_on_failure_to_create_run_directory 204s === PAUSE TestNew/Error_on_failure_to_create_run_directory 204s === CONT TestNew/Unknown_backend_defaults_to_sssd 204s === CONT TestNew/New_and_Quit_succeeds_and_defaults_to_sssd,_first_run 204s time="2025-10-31T03:46:56Z" level=warning msg="Unknown configured backend \"unknown-backend\". Defaulting to sssd." 204s === CONT TestNew/Error_on_ad.New_prevents_adsysservice_creation 204s === CONT TestNew/Error_on_nonexistent_sssd.conf 204s === CONT TestNew/Error_on_failure_to_create_cache_directory 204s === CONT TestNew/Select_sssd_backend_explicitly 204s === CONT TestNew/Select_winbind_backend_explicitly 204s === CONT TestNew/Error_on_failure_to_create_run_directory 204s === CONT TestNew/Adsys_directory_can_already_exists 204s time="2025-10-31T03:46:56Z" level=warning msg="could not get online status for domain \"example.com\": status code 6" 204s --- PASS: TestNew (0.00s) 204s --- PASS: TestNew/New_and_Quit_succeeds_and_defaults_to_sssd,_first_run (0.01s) 204s --- PASS: TestNew/Error_on_ad.New_prevents_adsysservice_creation (0.00s) 204s --- PASS: TestNew/Error_on_nonexistent_sssd.conf (0.00s) 204s --- PASS: TestNew/Error_on_failure_to_create_cache_directory (0.00s) 204s --- PASS: TestNew/Unknown_backend_defaults_to_sssd (0.02s) 204s --- PASS: TestNew/Select_sssd_backend_explicitly (0.00s) 204s --- PASS: TestNew/Error_on_failure_to_create_run_directory (0.00s) 204s --- PASS: TestNew/Select_winbind_backend_explicitly (0.01s) 204s --- PASS: TestNew/Adsys_directory_can_already_exists (0.01s) 204s PASS 204s ok github.com/ubuntu/adsys/internal/adsysservice 0.077s 204s === RUN TestIsAllowed 204s === PAUSE TestIsAllowed 204s === RUN TestPeerCredsInfoAuthType 204s === PAUSE TestPeerCredsInfoAuthType 204s === RUN TestServerPeerCredsHandshake 204s === PAUSE TestServerPeerCredsHandshake 204s === RUN TestServerPeerCredsInvalidSocket 204s === PAUSE TestServerPeerCredsInvalidSocket 204s === RUN TestIsAllowedFromContext 204s === PAUSE TestIsAllowedFromContext 204s === RUN TestIsAllowedFromContextWithoutPeer 204s === PAUSE TestIsAllowedFromContextWithoutPeer 204s === RUN TestIsAllowedFromContextWithInvalidPeerCreds 204s === PAUSE TestIsAllowedFromContextWithInvalidPeerCreds 204s === RUN TestIsAllowedFromContextWithoutUserKey 204s === PAUSE TestIsAllowedFromContextWithoutUserKey 204s === CONT TestIsAllowed 204s === CONT TestIsAllowedFromContextWithoutUserKey 204s === RUN TestIsAllowed/Valid_process_and_NACK 204s === PAUSE TestIsAllowed/Valid_process_and_NACK 204s === RUN TestIsAllowed/Process_doesn't_exists 204s === PAUSE TestIsAllowed/Process_doesn't_exists 204s === RUN TestIsAllowed/Invalid_process_stat_file:_missing_) 204s === PAUSE TestIsAllowed/Invalid_process_stat_file:_missing_) 204s === RUN TestIsAllowed/Invalid_process_stat_file:_)_at_the_end 204s === PAUSE TestIsAllowed/Invalid_process_stat_file:_)_at_the_end 204s === RUN TestIsAllowed/Invalid_process_stat_file:_field_isn't_present 204s === PAUSE TestIsAllowed/Invalid_process_stat_file:_field_isn't_present 204s === RUN TestIsAllowed/User_Action_on_other_user_translates_to_Other_parameter_as_ID 204s === PAUSE TestIsAllowed/User_Action_on_other_user_translates_to_Other_parameter_as_ID 204s === RUN TestIsAllowed/Root_is_always_authorized 204s === PAUSE TestIsAllowed/Root_is_always_authorized 204s === RUN TestIsAllowed/Valid_process_and_ACK 204s === PAUSE TestIsAllowed/Valid_process_and_ACK 204s === RUN TestIsAllowed/Invalid_process_stat_file:_field_isn't_an_int 204s === PAUSE TestIsAllowed/Invalid_process_stat_file:_field_isn't_an_int 204s === RUN TestIsAllowed/Polkit_dbus_call_errors_out 204s === PAUSE TestIsAllowed/Polkit_dbus_call_errors_out 204s === RUN TestIsAllowed/ActionAlwaysAllowed_is_always_allowed 204s === PAUSE TestIsAllowed/ActionAlwaysAllowed_is_always_allowed 204s === RUN TestIsAllowed/User_Action_for_own_user_translates_to_Self_parameter_as_ID 204s === PAUSE TestIsAllowed/User_Action_for_own_user_translates_to_Self_parameter_as_ID 204s === CONT TestIsAllowedFromContext 204s --- PASS: TestIsAllowedFromContextWithoutUserKey (0.00s) 204s === CONT TestIsAllowedFromContextWithInvalidPeerCreds 204s === RUN TestIsAllowedFromContext/Root_is_always_authorized 204s === PAUSE TestIsAllowedFromContext/Root_is_always_authorized 204s === RUN TestIsAllowedFromContext/Valid_process_and_ACK 204s === PAUSE TestIsAllowedFromContext/Valid_process_and_ACK 204s === RUN TestIsAllowedFromContext/Valid_process_and_NACK 204s === PAUSE TestIsAllowedFromContext/Valid_process_and_NACK 204s === RUN TestIsAllowedFromContext/Extract_current_user_action_from_request 204s === PAUSE TestIsAllowedFromContext/Extract_current_user_action_from_request 204s === RUN TestIsAllowedFromContext/Extract_other_user_action_from_request 204s === PAUSE TestIsAllowedFromContext/Extract_other_user_action_from_request 204s === RUN TestIsAllowedFromContext/Unauthorizes_when_user_lookup_returns_an_error 204s === PAUSE TestIsAllowedFromContext/Unauthorizes_when_user_lookup_returns_an_error 204s === RUN TestIsAllowedFromContext/Unauthorizes_when_user_has_invalid_uid 204s === PAUSE TestIsAllowedFromContext/Unauthorizes_when_user_has_invalid_uid 204s === CONT TestIsAllowedFromContextWithoutPeer 204s --- PASS: TestIsAllowedFromContextWithInvalidPeerCreds (0.00s) 204s === CONT TestServerPeerCredsInvalidSocket 204s --- PASS: TestServerPeerCredsInvalidSocket (0.00s) 204s === CONT TestServerPeerCredsHandshake 204s --- PASS: TestIsAllowedFromContextWithoutPeer (0.00s) 204s === CONT TestPeerCredsInfoAuthType 204s --- PASS: TestPeerCredsInfoAuthType (0.00s) 204s === CONT TestIsAllowed/Valid_process_and_NACK 204s --- PASS: TestServerPeerCredsHandshake (0.00s) 204s === CONT TestIsAllowed/User_Action_for_own_user_translates_to_Self_parameter_as_ID 204s === CONT TestIsAllowed/Polkit_dbus_call_errors_out 204s === CONT TestIsAllowed/ActionAlwaysAllowed_is_always_allowed 204s === CONT TestIsAllowed/Invalid_process_stat_file:_field_isn't_an_int 204s === CONT TestIsAllowed/Valid_process_and_ACK 204s === CONT TestIsAllowed/Root_is_always_authorized 204s === CONT TestIsAllowed/User_Action_on_other_user_translates_to_Other_parameter_as_ID 204s === CONT TestIsAllowed/Invalid_process_stat_file:_field_isn't_present 204s === CONT TestIsAllowed/Invalid_process_stat_file:_)_at_the_end 204s === CONT TestIsAllowed/Invalid_process_stat_file:_missing_) 204s === CONT TestIsAllowed/Process_doesn't_exists 204s === CONT TestIsAllowedFromContext/Root_is_always_authorized 204s === CONT TestIsAllowedFromContext/Unauthorizes_when_user_has_invalid_uid 204s === CONT TestIsAllowedFromContext/Unauthorizes_when_user_lookup_returns_an_error 204s === CONT TestIsAllowedFromContext/Extract_other_user_action_from_request 204s === CONT TestIsAllowedFromContext/Extract_current_user_action_from_request 204s === CONT TestIsAllowedFromContext/Valid_process_and_NACK 204s === CONT TestIsAllowedFromContext/Valid_process_and_ACK 204s --- PASS: TestIsAllowed (0.00s) 204s --- PASS: TestIsAllowed/Valid_process_and_NACK (0.00s) 204s --- PASS: TestIsAllowed/User_Action_for_own_user_translates_to_Self_parameter_as_ID (0.00s) 204s --- PASS: TestIsAllowed/ActionAlwaysAllowed_is_always_allowed (0.00s) 204s --- PASS: TestIsAllowed/Polkit_dbus_call_errors_out (0.00s) 204s --- PASS: TestIsAllowed/Valid_process_and_ACK (0.00s) 204s --- PASS: TestIsAllowed/Invalid_process_stat_file:_field_isn't_an_int (0.00s) 204s --- PASS: TestIsAllowed/Root_is_always_authorized (0.00s) 204s --- PASS: TestIsAllowed/User_Action_on_other_user_translates_to_Other_parameter_as_ID (0.00s) 204s --- PASS: TestIsAllowed/Invalid_process_stat_file:_field_isn't_present (0.00s) 204s --- PASS: TestIsAllowed/Invalid_process_stat_file:_)_at_the_end (0.00s) 204s --- PASS: TestIsAllowed/Process_doesn't_exists (0.00s) 204s --- PASS: TestIsAllowed/Invalid_process_stat_file:_missing_) (0.00s) 204s --- PASS: TestIsAllowedFromContext (0.00s) 204s --- PASS: TestIsAllowedFromContext/Root_is_always_authorized (0.00s) 204s --- PASS: TestIsAllowedFromContext/Unauthorizes_when_user_has_invalid_uid (0.00s) 204s --- PASS: TestIsAllowedFromContext/Unauthorizes_when_user_lookup_returns_an_error (0.00s) 204s --- PASS: TestIsAllowedFromContext/Extract_other_user_action_from_request (0.00s) 204s --- PASS: TestIsAllowedFromContext/Extract_current_user_action_from_request (0.00s) 204s --- PASS: TestIsAllowedFromContext/Valid_process_and_NACK (0.00s) 204s --- PASS: TestIsAllowedFromContext/Valid_process_and_ACK (0.00s) 204s PASS 204s ok github.com/ubuntu/adsys/internal/authorizer 0.019s 204s === RUN TestNoCmd 204s === PAUSE TestNoCmd 204s === RUN TestZeroOrNArgs 204s === PAUSE TestZeroOrNArgs 204s === RUN TestNoValidArgs 204s === PAUSE TestNoValidArgs 204s === RUN TestRegisterAlias 204s === PAUSE TestRegisterAlias 204s === CONT TestNoCmd 204s --- PASS: TestNoCmd (0.00s) 204s === CONT TestRegisterAlias 204s --- PASS: TestRegisterAlias (0.00s) 204s === CONT TestNoValidArgs 204s --- PASS: TestNoValidArgs (0.00s) 204s === CONT TestZeroOrNArgs 204s === RUN TestZeroOrNArgs/Zero_args 204s === PAUSE TestZeroOrNArgs/Zero_args 204s === RUN TestZeroOrNArgs/Exactly_N_args 204s === PAUSE TestZeroOrNArgs/Exactly_N_args 204s === RUN TestZeroOrNArgs/Error_with_less_than_N_args 204s === PAUSE TestZeroOrNArgs/Error_with_less_than_N_args 204s === RUN TestZeroOrNArgs/Error_with_more_than_N_args 204s === PAUSE TestZeroOrNArgs/Error_with_more_than_N_args 204s === CONT TestZeroOrNArgs/Zero_args 204s === CONT TestZeroOrNArgs/Error_with_more_than_N_args 204s === CONT TestZeroOrNArgs/Error_with_less_than_N_args 204s === CONT TestZeroOrNArgs/Exactly_N_args 204s --- PASS: TestZeroOrNArgs (0.00s) 204s --- PASS: TestZeroOrNArgs/Zero_args (0.00s) 204s --- PASS: TestZeroOrNArgs/Error_with_more_than_N_args (0.00s) 204s --- PASS: TestZeroOrNArgs/Error_with_less_than_N_args (0.00s) 204s --- PASS: TestZeroOrNArgs/Exactly_N_args (0.00s) 204s PASS 204s ok github.com/ubuntu/adsys/internal/cmdhandler 0.003s 204s ? github.com/ubuntu/adsys/internal/consts [no test files] 210s ? github.com/ubuntu/adsys/internal/grpc/logstreamer/test [no test files] 214s === RUN TestSetVerboseMode 214s === RUN TestSetVerboseMode/Default_level_is_warning 214s === RUN TestSetVerboseMode/1_is_for_info 214s === RUN TestSetVerboseMode/2_is_for_debug 214s === RUN TestSetVerboseMode/3_is_debug_printing_callers 214s --- PASS: TestSetVerboseMode (0.00s) 214s --- PASS: TestSetVerboseMode/Default_level_is_warning (0.00s) 214s --- PASS: TestSetVerboseMode/1_is_for_info (0.00s) 214s --- PASS: TestSetVerboseMode/2_is_for_debug (0.00s) 214s --- PASS: TestSetVerboseMode/3_is_debug_printing_callers (0.00s) 214s === RUN TestInit 214s === RUN TestInit/Configuration_flag_on_subcommand,_not_in_config_dir,_init_on_subcommand 214s === RUN TestInit/Flag_is_supported 214s === RUN TestInit/Configuration_file_created_after_Init()_is_not_taken_into_account 214s === RUN TestInit/Load_configuration,_no_file,_no_flag,_no_env 214s === RUN TestInit/Load_configuration_with_file 214s === RUN TestInit/Load_configuration_from_executable_dir 214s === RUN TestInit/Empty_configuration_file_is_supported 214s === RUN TestInit/Configuration_flag_on_parent,_not_in_config_dir,_init_on_subcommand 214s === RUN TestInit/Configuration_flag_has_precedence_over_local_file 214s === RUN TestInit/Error_on_invalid_configuration_file 214s === RUN TestInit/Error_on_callback_returning_error_on_first_call 214s === RUN TestInit/Configuration_flag,_not_in_config_dir 214s === RUN TestInit/Configuration_changed_directly 214s === RUN TestInit/Env_has_precedence_over_configuration 214s === RUN TestInit/Error_on_no_verbose_flag_set_before_Init_is_call 214s === RUN TestInit/Environment_is_supported 214s === RUN TestInit/Configuration_file_overwritten 214s === RUN TestInit/Callback_in_error_on_refresh_only_prints_warning 214s time="2025-10-31T03:47:08Z" level=warning msg="Error while refreshing configuration: Error from callback" 214s === RUN TestInit/No_config_flag_set_before_Init_is_call_is_ignored 214s === RUN TestInit/Flag_has_precedence_over_env 214s === RUN TestInit/Error_on_config_flag_points_to_unexisting_path 214s --- PASS: TestInit (10.38s) 214s --- PASS: TestInit/Configuration_flag_on_subcommand,_not_in_config_dir,_init_on_subcommand (0.11s) 214s --- PASS: TestInit/Flag_is_supported (0.00s) 214s --- PASS: TestInit/Configuration_file_created_after_Init()_is_not_taken_into_account (4.04s) 214s --- PASS: TestInit/Load_configuration,_no_file,_no_flag,_no_env (0.04s) 214s --- PASS: TestInit/Load_configuration_with_file (0.00s) 214s --- PASS: TestInit/Load_configuration_from_executable_dir (0.00s) 214s --- PASS: TestInit/Empty_configuration_file_is_supported (0.01s) 214s --- PASS: TestInit/Configuration_flag_on_parent,_not_in_config_dir,_init_on_subcommand (0.00s) 214s --- PASS: TestInit/Configuration_flag_has_precedence_over_local_file (0.01s) 214s --- PASS: TestInit/Error_on_invalid_configuration_file (0.00s) 214s --- PASS: TestInit/Error_on_callback_returning_error_on_first_call (0.01s) 214s --- PASS: TestInit/Configuration_flag,_not_in_config_dir (0.00s) 214s --- PASS: TestInit/Configuration_changed_directly (2.03s) 214s --- PASS: TestInit/Env_has_precedence_over_configuration (0.01s) 214s --- PASS: TestInit/Error_on_no_verbose_flag_set_before_Init_is_call (0.00s) 214s --- PASS: TestInit/Environment_is_supported (0.01s) 214s --- PASS: TestInit/Configuration_file_overwritten (2.05s) 214s --- PASS: TestInit/Callback_in_error_on_refresh_only_prints_warning (2.03s) 214s --- PASS: TestInit/No_config_flag_set_before_Init_is_call_is_ignored (0.00s) 214s --- PASS: TestInit/Flag_has_precedence_over_env (0.00s) 214s --- PASS: TestInit/Error_on_config_flag_points_to_unexisting_path (0.01s) 214s === RUN TestLoadConfig 214s === PAUSE TestLoadConfig 214s === CONT TestLoadConfig 214s === RUN TestLoadConfig/Empty_configuration_is_supported 214s === PAUSE TestLoadConfig/Empty_configuration_is_supported 214s === RUN TestLoadConfig/Load_configuration_deserialize_its 214s === PAUSE TestLoadConfig/Load_configuration_deserialize_its 214s === CONT TestLoadConfig/Empty_configuration_is_supported 214s === CONT TestLoadConfig/Load_configuration_deserialize_its 214s --- PASS: TestLoadConfig (0.00s) 214s --- PASS: TestLoadConfig/Load_configuration_deserialize_its (0.00s) 214s --- PASS: TestLoadConfig/Empty_configuration_is_supported (0.00s) 214s PASS 214s ok github.com/ubuntu/adsys/internal/config 10.384s 214s === RUN TestConfigFileFromArgs 214s === PAUSE TestConfigFileFromArgs 214s === RUN TestDirsFromConfigFile 214s === PAUSE TestDirsFromConfigFile 214s === RUN TestWriteConfig 214s === RUN TestWriteConfig/Error_on_empty_dirs 214s === RUN TestWriteConfig/With_relative_config_path 214s === RUN TestWriteConfig/With_nested_config_path 214s === RUN TestWriteConfig/Error_on_absent_dirs 214s --- PASS: TestWriteConfig (0.00s) 214s --- PASS: TestWriteConfig/Error_on_empty_dirs (0.00s) 214s --- PASS: TestWriteConfig/With_relative_config_path (0.00s) 214s --- PASS: TestWriteConfig/With_nested_config_path (0.00s) 214s --- PASS: TestWriteConfig/Error_on_absent_dirs (0.00s) 214s === CONT TestConfigFileFromArgs 214s === CONT TestDirsFromConfigFile 214s === RUN TestConfigFileFromArgs/Error_on_config_argument_with_no_value 214s === PAUSE TestConfigFileFromArgs/Error_on_config_argument_with_no_value 214s === RUN TestConfigFileFromArgs/Short_config_argument 214s === PAUSE TestConfigFileFromArgs/Short_config_argument 214s === RUN TestConfigFileFromArgs/Short_config_argument_with_quotes 214s === PAUSE TestConfigFileFromArgs/Short_config_argument_with_quotes 214s === RUN TestConfigFileFromArgs/Error_on_empty_args 214s === PAUSE TestConfigFileFromArgs/Error_on_empty_args 214s === RUN TestDirsFromConfigFile/No_config_file 214s === RUN TestConfigFileFromArgs/Error_on_no_config_argument 214s === PAUSE TestConfigFileFromArgs/Error_on_no_config_argument 214s === PAUSE TestDirsFromConfigFile/No_config_file 214s === CONT TestConfigFileFromArgs/Error_on_config_argument_with_no_value 214s === RUN TestDirsFromConfigFile/Empty_config_file 214s === PAUSE TestDirsFromConfigFile/Empty_config_file 214s === RUN TestDirsFromConfigFile/No_dirs_in_config_file 214s === PAUSE TestDirsFromConfigFile/No_dirs_in_config_file 214s === RUN TestDirsFromConfigFile/Config_dirs_is_not_an_array 214s === PAUSE TestDirsFromConfigFile/Config_dirs_is_not_an_array 214s === CONT TestConfigFileFromArgs/Error_on_no_config_argument 214s === RUN TestDirsFromConfigFile/Config_dirs_is_an_array 214s === PAUSE TestDirsFromConfigFile/Config_dirs_is_an_array 214s === CONT TestConfigFileFromArgs/Short_config_argument_with_quotes 214s === CONT TestConfigFileFromArgs/Error_on_empty_args 214s === CONT TestConfigFileFromArgs/Short_config_argument 214s === CONT TestDirsFromConfigFile/No_config_file 214s --- PASS: TestConfigFileFromArgs (0.00s) 214s --- PASS: TestConfigFileFromArgs/Error_on_config_argument_with_no_value (0.00s) 214s --- PASS: TestConfigFileFromArgs/Error_on_no_config_argument (0.00s) 214s --- PASS: TestConfigFileFromArgs/Short_config_argument_with_quotes (0.00s) 214s --- PASS: TestConfigFileFromArgs/Error_on_empty_args (0.00s) 214s --- PASS: TestConfigFileFromArgs/Short_config_argument (0.00s) 214s === CONT TestDirsFromConfigFile/Config_dirs_is_not_an_array 214s === CONT TestDirsFromConfigFile/Config_dirs_is_an_array 214s === CONT TestDirsFromConfigFile/No_dirs_in_config_file 214s === CONT TestDirsFromConfigFile/Empty_config_file 214s --- PASS: TestDirsFromConfigFile (0.00s) 214s --- PASS: TestDirsFromConfigFile/No_config_file (0.00s) 214s --- PASS: TestDirsFromConfigFile/Config_dirs_is_not_an_array (0.00s) 214s --- PASS: TestDirsFromConfigFile/Config_dirs_is_an_array (0.00s) 214s --- PASS: TestDirsFromConfigFile/No_dirs_in_config_file (0.00s) 214s --- PASS: TestDirsFromConfigFile/Empty_config_file (0.00s) 214s PASS 214s ok github.com/ubuntu/adsys/internal/config/watchd 0.008s 214s === RUN TestStartStop 214s === PAUSE TestStartStop 214s === RUN TestStopBeforeServe 214s === PAUSE TestStopBeforeServe 214s === RUN TestChangeSocket 214s === PAUSE TestChangeSocket 214s === RUN TestSocketActivation 214s === PAUSE TestSocketActivation 214s === RUN TestUseSocketIgnoredWithSocketActivation 214s === PAUSE TestUseSocketIgnoredWithSocketActivation 214s === RUN TestSdNotifier 214s === PAUSE TestSdNotifier 214s === RUN TestFailingOption 214s === PAUSE TestFailingOption 214s === RUN TestCannotCreateSocket 214s === PAUSE TestCannotCreateSocket 214s === RUN TestServerStartListenTimeout 214s === PAUSE TestServerStartListenTimeout 214s === RUN TestServerDontTimeoutWithActiveRequest 214s === PAUSE TestServerDontTimeoutWithActiveRequest 214s === RUN TestServerDontTimeoutWithMultipleActiveRequests 214s === PAUSE TestServerDontTimeoutWithMultipleActiveRequests 214s === RUN TestServerChangeTimeout 214s === PAUSE TestServerChangeTimeout 214s === RUN TestServerDoubleQuit 214s === PAUSE TestServerDoubleQuit 214s === CONT TestStartStop 214s === CONT TestCannotCreateSocket 214s --- PASS: TestCannotCreateSocket (0.00s) 214s === CONT TestFailingOption 214s --- PASS: TestFailingOption (0.00s) 214s === CONT TestSdNotifier 214s === RUN TestSdNotifier/Error_when_notifier_fails 214s === PAUSE TestSdNotifier/Error_when_notifier_fails 214s === RUN TestSdNotifier/Sends_signal 214s === PAUSE TestSdNotifier/Sends_signal 214s time="2025-10-31T03:46:59Z" level=info msg="Serving on /tmp/TestStartStop689935377/001/test.sock" 214s === RUN TestSdNotifier/Doesn't_fail_when_not_under_systemd 214s === PAUSE TestSdNotifier/Doesn't_fail_when_not_under_systemd 214s === CONT TestUseSocketIgnoredWithSocketActivation 214s time="2025-10-31T03:46:59Z" level=info msg="Serving on /tmp/TestUseSocketIgnoredWithSocketActivation42311040/001/socket" 214s time="2025-10-31T03:46:59Z" level=info msg="Stopping daemon requested." 214s time="2025-10-31T03:46:59Z" level=info msg="Wait for active requests to close." 214s --- PASS: TestStartStop (0.01s) 214s === CONT TestSocketActivation 214s === RUN TestSocketActivation/Error_when_provided_with_many_sockets 214s === PAUSE TestSocketActivation/Error_when_provided_with_many_sockets 214s === RUN TestSocketActivation/Error_when_Listeners()_fails 214s === PAUSE TestSocketActivation/Error_when_Listeners()_fails 214s === RUN TestSocketActivation/Success_with_one_socket 214s === PAUSE TestSocketActivation/Success_with_one_socket 214s === CONT TestChangeSocket 214s time="2025-10-31T03:46:59Z" level=info msg="Serving on /tmp/TestChangeSocket3376714130/001/test.sock" 214s time="2025-10-31T03:46:59Z" level=info msg="Stopping daemon requested." 214s time="2025-10-31T03:46:59Z" level=info msg="Wait for active requests to close." 214s time="2025-10-31T03:46:59Z" level=info msg="Serving on /tmp/TestChangeSocket3376714130/001/test2.sock" 214s time="2025-10-31T03:46:59Z" level=info msg="Stopping daemon requested." 214s time="2025-10-31T03:46:59Z" level=info msg="Wait for active requests to close." 214s --- PASS: TestUseSocketIgnoredWithSocketActivation (0.02s) 214s === CONT TestStopBeforeServe 214s time="2025-10-31T03:46:59Z" level=info msg="Stopping daemon requested." 214s time="2025-10-31T03:46:59Z" level=info msg="Wait for active requests to close." 214s --- PASS: TestStopBeforeServe (0.00s) 214s === CONT TestServerDontTimeoutWithMultipleActiveRequests 214s time="2025-10-31T03:46:59Z" level=info msg="Serving on /tmp/TestServerDontTimeoutWithMultipleActiveRequests2706206676/001/test.sock" 214s time="2025-10-31T03:46:59Z" level=info msg="Stopping daemon requested." 214s time="2025-10-31T03:46:59Z" level=info msg="Wait for active requests to close." 214s --- PASS: TestChangeSocket (0.02s) 214s === CONT TestServerDoubleQuit 214s time="2025-10-31T03:46:59Z" level=info msg="Serving on /tmp/TestServerDoubleQuit2791178008/001/test.sock" 214s time="2025-10-31T03:46:59Z" level=info msg="Stopping daemon requested." 214s time="2025-10-31T03:46:59Z" level=info msg="Wait for active requests to close." 214s --- PASS: TestServerDoubleQuit (0.01s) 214s === CONT TestServerChangeTimeout 214s time="2025-10-31T03:46:59Z" level=info msg="Serving on /tmp/TestServerChangeTimeout3119699561/001/test.sock" 214s time="2025-10-31T03:46:59Z" level=info msg="Stopping daemon requested." 214s --- PASS: TestServerChangeTimeout (0.05s) 214s === CONT TestServerDontTimeoutWithActiveRequest 214s time="2025-10-31T03:46:59Z" level=info msg="Serving on /tmp/TestServerDontTimeoutWithActiveRequest139652440/001/test.sock" 214s time="2025-10-31T03:46:59Z" level=info msg="Stopping daemon requested." 214s --- PASS: TestServerDontTimeoutWithMultipleActiveRequests (0.11s) 214s === CONT TestServerStartListenTimeout 214s time="2025-10-31T03:46:59Z" level=info msg="Serving on /tmp/TestServerStartListenTimeout3219166600/001/test.sock" 214s time="2025-10-31T03:46:59Z" level=info msg="Stopping daemon requested." 214s --- PASS: TestServerStartListenTimeout (0.01s) 214s === CONT TestSdNotifier/Error_when_notifier_fails 214s === CONT TestSdNotifier/Doesn't_fail_when_not_under_systemd 214s time="2025-10-31T03:46:59Z" level=info msg="Serving on /tmp/TestSdNotifierDoesnt_fail_when_not_under_systemd1326864183/001/socket" 214s time="2025-10-31T03:46:59Z" level=info msg="Stopping daemon requested." 214s time="2025-10-31T03:46:59Z" level=info msg="Wait for active requests to close." 214s time="2025-10-31T03:46:59Z" level=info msg="Stopping daemon requested." 214s time="2025-10-31T03:46:59Z" level=info msg="Wait for active requests to close." 214s === CONT TestSdNotifier/Sends_signal 214s time="2025-10-31T03:46:59Z" level=info msg="Serving on /tmp/TestSdNotifierSends_signal2368193317/001/socket" 214s time="2025-10-31T03:46:59Z" level=info msg="Stopping daemon requested." 214s time="2025-10-31T03:46:59Z" level=info msg="Wait for active requests to close." 214s --- PASS: TestSdNotifier (0.00s) 214s --- PASS: TestSdNotifier/Error_when_notifier_fails (0.00s) 214s --- PASS: TestSdNotifier/Doesn't_fail_when_not_under_systemd (0.01s) 214s --- PASS: TestSdNotifier/Sends_signal (0.01s) 214s === CONT TestSocketActivation/Error_when_provided_with_many_sockets 214s === CONT TestSocketActivation/Success_with_one_socket 214s time="2025-10-31T03:46:59Z" level=info msg="Serving on /tmp/TestSocketActivationSuccess_with_one_socket282683152/001/sock1" 214s time="2025-10-31T03:46:59Z" level=info msg="Stopping daemon requested." 214s time="2025-10-31T03:46:59Z" level=info msg="Wait for active requests to close." 214s === CONT TestSocketActivation/Error_when_Listeners()_fails 214s --- PASS: TestSocketActivation (0.00s) 214s --- PASS: TestSocketActivation/Error_when_provided_with_many_sockets (0.00s) 214s --- PASS: TestSocketActivation/Success_with_one_socket (0.01s) 214s --- PASS: TestSocketActivation/Error_when_Listeners()_fails (0.00s) 214s time="2025-10-31T03:46:59Z" level=info msg="Stopping daemon requested." 214s --- PASS: TestServerDontTimeoutWithActiveRequest (0.11s) 214s PASS 214s ok github.com/ubuntu/adsys/internal/daemon 0.213s 214s === RUN TestCleanDirectory 214s === PAUSE TestCleanDirectory 214s === RUN TestCleanDirectoryNoDirectoryExists 214s === PAUSE TestCleanDirectoryNoDirectoryExists 214s === RUN TestCleanDirectoryCantRemoveDirectory 214s === PAUSE TestCleanDirectoryCantRemoveDirectory 214s === RUN TestInstallOnlyMode 214s --- PASS: TestInstallOnlyMode (0.00s) 214s === RUN TestDestDirectory 214s --- PASS: TestDestDirectory (0.00s) 214s === CONT TestCleanDirectory 214s === CONT TestCleanDirectoryCantRemoveDirectory 214s --- PASS: TestCleanDirectoryCantRemoveDirectory (0.00s) 214s === CONT TestCleanDirectoryNoDirectoryExists 214s --- PASS: TestCleanDirectoryNoDirectoryExists (0.00s) 214s --- PASS: TestCleanDirectory (0.00s) 214s PASS 214s ok github.com/ubuntu/adsys/internal/generators 0.009s 214s === RUN TestNoNotification 214s === PAUSE TestNoNotification 214s === RUN TestNewConnectionNotification 214s === PAUSE TestNewConnectionNotification 214s === RUN TestDoneConnectionNotification 214s === PAUSE TestDoneConnectionNotification 214s === RUN TestErrorFromHandlerReturned 214s === PAUSE TestErrorFromHandlerReturned 214s === RUN TestErrorOnNilStream 214s === PAUSE TestErrorOnNilStream 214s === CONT TestNoNotification 214s === CONT TestErrorFromHandlerReturned 214s === CONT TestDoneConnectionNotification 214s === CONT TestNewConnectionNotification 214s === CONT TestErrorOnNilStream 214s --- PASS: TestNoNotification (0.00s) 214s --- PASS: TestDoneConnectionNotification (0.00s) 214s --- PASS: TestNewConnectionNotification (0.00s) 214s --- PASS: TestErrorFromHandlerReturned (0.00s) 214s --- PASS: TestErrorOnNilStream (0.00s) 214s PASS 214s ok github.com/ubuntu/adsys/internal/grpc/connectionnotify 0.005s 214s === RUN TestActiveConnection 214s === PAUSE TestActiveConnection 214s === RUN TestTimeoutOnInactiveConnection 214s === PAUSE TestTimeoutOnInactiveConnection 214s === RUN TestCancelOnClientSide 214s === PAUSE TestCancelOnClientSide 214s === RUN TestClientInterceptorFailed 214s === PAUSE TestClientInterceptorFailed 214s === RUN TestRecvMessageError 214s === PAUSE TestRecvMessageError 214s === CONT TestActiveConnection 214s === CONT TestClientInterceptorFailed 214s --- PASS: TestClientInterceptorFailed (0.00s) 214s === CONT TestCancelOnClientSide 214s --- PASS: TestCancelOnClientSide (0.00s) 214s === CONT TestTimeoutOnInactiveConnection 214s --- PASS: TestTimeoutOnInactiveConnection (0.05s) 214s === CONT TestRecvMessageError 214s --- PASS: TestRecvMessageError (0.00s) 214s --- PASS: TestActiveConnection (0.15s) 214s PASS 214s ok github.com/ubuntu/adsys/internal/grpc/contextidler 0.158s 214s === RUN TestFormat 214s === PAUSE TestFormat 214s === CONT TestFormat 214s === RUN TestFormat/Nil_returns_nil 214s === PAUSE TestFormat/Nil_returns_nil 214s === RUN TestFormat/Non_GRPC_errors_are_returned_as_is 214s === PAUSE TestFormat/Non_GRPC_errors_are_returned_as_is 214s === RUN TestFormat/GRPC_Unavailable_errors_prints_daemon_name 214s === PAUSE TestFormat/GRPC_Unavailable_errors_prints_daemon_name 214s === RUN TestFormat/GRPC_Deadline_errors_don’t_print_status_nor_daemon_nor_message 214s === PAUSE TestFormat/GRPC_Deadline_errors_don’t_print_status_nor_daemon_nor_message 214s === RUN TestFormat/GRPC_Unknown_errors_don’t_print_status_and_daemon 214s === PAUSE TestFormat/GRPC_Unknown_errors_don’t_print_status_and_daemon 214s === RUN TestFormat/GRPC_Random_errors_prints_status_and_message 214s === PAUSE TestFormat/GRPC_Random_errors_prints_status_and_message 214s === CONT TestFormat/Nil_returns_nil 214s === CONT TestFormat/GRPC_Random_errors_prints_status_and_message 214s === CONT TestFormat/GRPC_Deadline_errors_don’t_print_status_nor_daemon_nor_message 214s === CONT TestFormat/GRPC_Unknown_errors_don’t_print_status_and_daemon 214s === CONT TestFormat/GRPC_Unavailable_errors_prints_daemon_name 214s === CONT TestFormat/Non_GRPC_errors_are_returned_as_is 214s --- PASS: TestFormat (0.00s) 214s --- PASS: TestFormat/Nil_returns_nil (0.00s) 214s --- PASS: TestFormat/GRPC_Deadline_errors_don’t_print_status_nor_daemon_nor_message (0.00s) 214s --- PASS: TestFormat/GRPC_Unknown_errors_don’t_print_status_and_daemon (0.00s) 214s --- PASS: TestFormat/GRPC_Unavailable_errors_prints_daemon_name (0.00s) 214s --- PASS: TestFormat/Non_GRPC_errors_are_returned_as_is (0.00s) 214s --- PASS: TestFormat/GRPC_Random_errors_prints_status_and_message (0.00s) 214s PASS 214s ok github.com/ubuntu/adsys/internal/grpc/grpcerror 0.004s 214s === RUN TestStreamServer 214s === PAUSE TestStreamServer 214s === RUN TestStreamClient 214s === PAUSE TestStreamClient 214s === CONT TestStreamServer 214s === CONT TestStreamClient 214s --- PASS: TestStreamServer (0.00s) 214s --- PASS: TestStreamClient (0.00s) 214s PASS 214s ok github.com/ubuntu/adsys/internal/grpc/interceptorschain 0.004s 214s === RUN TestChildRecvMsgAndHandlerCalled 214s === PAUSE TestChildRecvMsgAndHandlerCalled 214s === CONT TestChildRecvMsgAndHandlerCalled 214s === RUN TestChildRecvMsgAndHandlerCalled/Handler_and_RecvMsg_are_called 214s === PAUSE TestChildRecvMsgAndHandlerCalled/Handler_and_RecvMsg_are_called 214s === RUN TestChildRecvMsgAndHandlerCalled/Info_being_nil_has_no_impact 214s === PAUSE TestChildRecvMsgAndHandlerCalled/Info_being_nil_has_no_impact 214s === RUN TestChildRecvMsgAndHandlerCalled/Error_when_handler_fails_out 214s === PAUSE TestChildRecvMsgAndHandlerCalled/Error_when_handler_fails_out 214s === RUN TestChildRecvMsgAndHandlerCalled/Error_when_RecvMsg_errors_out 214s === PAUSE TestChildRecvMsgAndHandlerCalled/Error_when_RecvMsg_errors_out 214s === CONT TestChildRecvMsgAndHandlerCalled/Handler_and_RecvMsg_are_called 214s === CONT TestChildRecvMsgAndHandlerCalled/Error_when_handler_fails_out 214s === CONT TestChildRecvMsgAndHandlerCalled/Info_being_nil_has_no_impact 214s time="2025-10-31T03:47:03Z" level=info msg="Error sent to client: Failing handler" 214s === CONT TestChildRecvMsgAndHandlerCalled/Error_when_RecvMsg_errors_out 214s --- PASS: TestChildRecvMsgAndHandlerCalled (0.00s) 214s --- PASS: TestChildRecvMsgAndHandlerCalled/Handler_and_RecvMsg_are_called (0.00s) 214s --- PASS: TestChildRecvMsgAndHandlerCalled/Error_when_handler_fails_out (0.00s) 214s --- PASS: TestChildRecvMsgAndHandlerCalled/Error_when_RecvMsg_errors_out (0.00s) 214s --- PASS: TestChildRecvMsgAndHandlerCalled/Info_being_nil_has_no_impact (0.00s) 214s PASS 214s ok github.com/ubuntu/adsys/internal/grpc/logconnections 0.004s 214s === RUN TestRecvLogMsg 214s === PAUSE TestRecvLogMsg 214s === RUN TestAddStreamToForwardLocalLogs 214s time="2025-10-31T03:47:04Z" level=info msg="New connection from client [[123456:388528]]" 214s time="2025-10-31T03:47:04Z" level=warning msg=something 214s --- PASS: TestAddStreamToForwardLocalLogs (0.00s) 214s === RUN TestAddStreamToForwardOtherStream 214s time="2025-10-31T03:47:04Z" level=info msg="New connection from client [[123456:253508]]" 214s time="2025-10-31T03:47:04Z" level=info msg="New connection from client [[123456:114627]]" 214s --- PASS: TestAddStreamToForwardOtherStream (0.00s) 214s === RUN TestAddStreamToForwardAfterClientIsConnected 214s time="2025-10-31T03:47:04Z" level=info msg="New connection from client [[123456:244729]]" 214s time="2025-10-31T03:47:04Z" level=info msg="New connection from client [[123456:859537]]" 214s --- PASS: TestAddStreamToForwardAfterClientIsConnected (0.00s) 214s === RUN TestAddStreamToForwardDisconnect 214s time="2025-10-31T03:47:04Z" level=info msg="New connection from client [[123456:444307]]" 214s time="2025-10-31T03:47:04Z" level=info msg="New connection from client [[123456:129095]]" 214s --- PASS: TestAddStreamToForwardDisconnect (0.00s) 214s === RUN TestAddStreamToForwardTwoClients 214s time="2025-10-31T03:47:04Z" level=info msg="New connection from client [[123456:125926]]" 214s time="2025-10-31T03:47:04Z" level=info msg="New connection from client [[123456:820463]]" 214s time="2025-10-31T03:47:04Z" level=info msg="New connection from client [[123456:474943]]" 214s --- PASS: TestAddStreamToForwardTwoClients (0.00s) 214s === RUN TestAddStreamToForwardWithListenerCaller 214s time="2025-10-31T03:47:04Z" level=info msg="New connection from client [[123456:820425]]" 214s time="2025-10-31T03:47:04Z" level=info msg="New connection from client [[123456:787858]]" 214s --- PASS: TestAddStreamToForwardWithListenerCaller (0.00s) 214s === RUN TestAddStreamMultipleForwarders 214s time="2025-10-31T03:47:04Z" level=info msg="New connection from client [[123456:941699]]" 214s time="2025-10-31T03:47:04Z" level=info msg="New connection from client [[123456:606132]]" 214s time="2025-10-31T03:47:04Z" level=info msg="New connection from client [[123456:640562]]" 214s --- PASS: TestAddStreamMultipleForwarders (0.00s) 214s === RUN TestAddStreamMultipleForwardersOneWithCaller 214s time="2025-10-31T03:47:04Z" level=info msg="New connection from client [[123456:885258]]" 214s time="2025-10-31T03:47:04Z" level=info msg="New connection from client [[123456:038392]]" 214s time="2025-10-31T03:47:04Z" level=info msg="New connection from client [[123456:645188]]" 214s --- PASS: TestAddStreamMultipleForwardersOneWithCaller (0.00s) 214s === RUN TestAddStreamToForwardFailSend 214s time="2025-10-31T03:47:04Z" level=info msg="New connection from client [[123456:588525]]" 214s time="2025-10-31T03:47:04Z" level=info msg="New connection from client [[123456:417649]]" 214s time="2025-10-31T03:47:04Z" level=warning msg="Couldn't send log to one or more listener: SendMsg failed" 214s --- PASS: TestAddStreamToForwardFailSend (0.00s) 214s === RUN TestRemoveAllStreams 214s time="2025-10-31T03:47:04Z" level=info msg="New connection from client [[123456:176379]]" 214s time="2025-10-31T03:47:04Z" level=info msg="New connection from client [[123456:061610]]" 214s time="2025-10-31T03:47:04Z" level=info msg="New connection from client [[123456:043151]]" 214s time="2025-10-31T03:47:04Z" level=warning msg="[[123456:043151]] else" 214s --- PASS: TestRemoveAllStreams (0.00s) 214s === RUN TestLogWarningOnly 214s === PAUSE TestLogWarningOnly 214s === RUN TestMultipleLogs 214s === PAUSE TestMultipleLogs 214s === RUN TestAllLogLevels 214s === PAUSE TestAllLogLevels 214s === RUN TestDebugSentToRemoteEvenIfLocalIsWarning 214s === PAUSE TestDebugSentToRemoteEvenIfLocalIsWarning 214s === RUN TestLogWarningWithLocalCaller 214s === PAUSE TestLogWarningWithLocalCaller 214s === RUN TestLogWarningWithRemoteCaller 214s === PAUSE TestLogWarningWithRemoteCaller 214s === RUN TestLogWithNoCaller 214s === PAUSE TestLogWithNoCaller 214s === RUN TestSetReportCaller 214s === RUN TestSetReportCaller/Report_caller 214s === RUN TestSetReportCaller/Disable_caller 214s --- PASS: TestSetReportCaller (0.00s) 214s --- PASS: TestSetReportCaller/Report_caller (0.00s) 214s --- PASS: TestSetReportCaller/Disable_caller (0.00s) 214s === RUN TestLogSendingFail 214s === PAUSE TestLogSendingFail 214s === RUN TestLogStreamsAreSeparated 214s === PAUSE TestLogStreamsAreSeparated 214s === RUN TestLogAddHook 214s time="2025-10-31T03:47:04Z" level=info 214s --- PASS: TestLogAddHook (0.00s) 214s === RUN TestStreamServerInterceptor 214s === PAUSE TestStreamServerInterceptor 214s === RUN TestStreamServerInterceptorSendLogsFails 214s === PAUSE TestStreamServerInterceptorSendLogsFails 214s === RUN TestStreamServerInterceptorLoggerInvalidMetadata 214s === PAUSE TestStreamServerInterceptorLoggerInvalidMetadata 214s === CONT TestStreamServerInterceptor 214s === CONT TestRecvLogMsg 214s === RUN TestRecvLogMsg/Unknown_log_level_triggers_a_client_error_(protocole_issue) 214s === PAUSE TestRecvLogMsg/Unknown_log_level_triggers_a_client_error_(protocole_issue) 214s === RUN TestRecvLogMsg/One_message,_no_log 214s === PAUSE TestRecvLogMsg/One_message,_no_log 214s === RUN TestRecvLogMsg/No_caller_on_any_logs 214s Failed to fire hook: hook fired 214s === PAUSE TestRecvLogMsg/No_caller_on_any_logs 214s time="2025-10-31T03:47:04Z" level=info msg="New connection from client [[123456:803331]]" 214s === RUN TestRecvLogMsg/One_message_with_error,_no_log,_error_is_preserved 214s === PAUSE TestRecvLogMsg/One_message_with_error,_no_log,_error_is_preserved 214s === RUN TestRecvLogMsg/No_caller_when_not_requested 214s --- PASS: TestStreamServerInterceptor (0.00s) 214s === CONT TestLogStreamsAreSeparated 214s === PAUSE TestRecvLogMsg/No_caller_when_not_requested 214s === RUN TestRecvLogMsg/Logs_and_then_message_with_error,_error_is_preserved 214s === PAUSE TestRecvLogMsg/Logs_and_then_message_with_error,_error_is_preserved 214s === RUN TestRecvLogMsg/Invalid_object_passed_to_RecvMsg_is_gracefully_skipped 214s === PAUSE TestRecvLogMsg/Invalid_object_passed_to_RecvMsg_is_gracefully_skipped 214s === RUN TestRecvLogMsg/One_log_(and_one_closing_empty_message) 214s === PAUSE TestRecvLogMsg/One_log_(and_one_closing_empty_message) 214s === RUN TestRecvLogMsg/Two_logs_with_different_debug_level 214s === PAUSE TestRecvLogMsg/Two_logs_with_different_debug_level 214s === RUN TestRecvLogMsg/Log_with_caller 214s === PAUSE TestRecvLogMsg/Log_with_caller 214s === CONT TestLogSendingFail 214s Failed to fire hook: hook fired 214s time="2025-10-31T03:47:04Z" level=info msg="New connection from client [[123456:281066]]" 214s Failed to fire hook: hook fired 214s time="2025-10-31T03:47:04Z" level=info msg="New connection from client [[123456:262213]]" 214s Failed to fire hook: hook fired 214s time="2025-10-31T03:47:04Z" level=info msg="New connection from client [[123456:813356]]" 214s --- PASS: TestLogStreamsAreSeparated (0.00s) 214s === CONT TestLogWithNoCaller 214s --- PASS: TestLogSendingFail (0.00s) 214s === CONT TestLogWarningWithRemoteCaller 214s Failed to fire hook: hook fired 214s time="2025-10-31T03:47:04Z" level=info msg="New connection from client [[123456:819509]]" 214s --- PASS: TestLogWithNoCaller (0.00s) 214s === CONT TestLogWarningWithLocalCaller 214s Failed to fire hook: hook fired 214s time="2025-10-31T03:47:04Z" level=info msg="New connection from client [[123456:765994]]" 214s Failed to fire hook: hook fired 214s time="2025-10-31T03:47:04Z" level=info msg="New connection from client [[123456:260268]]" 214s --- PASS: TestLogWarningWithLocalCaller (0.00s) 214s === CONT TestDebugSentToRemoteEvenIfLocalIsWarning 214s Failed to fire hook: hook fired 214s time="2025-10-31T03:47:04Z" level=info msg="New connection from client [[123456:114817]]" 214s --- PASS: TestDebugSentToRemoteEvenIfLocalIsWarning (0.00s) 214s === CONT TestAllLogLevels 214s Failed to fire hook: hook fired 214s time="2025-10-31T03:47:04Z" level=info msg="New connection from client [[123456:868830]]" 214s --- PASS: TestAllLogLevels (0.00s) 214s === CONT TestMultipleLogs 214s Failed to fire hook: hook fired 214s time="2025-10-31T03:47:04Z" level=info msg="New connection from client [[123456:646399]]" 214s --- PASS: TestMultipleLogs (0.00s) 214s === CONT TestLogWarningOnly 214s Failed to fire hook: hook fired 214s time="2025-10-31T03:47:04Z" level=info msg="New connection from client [[123456:101298]]" 214s --- PASS: TestLogWarningOnly (0.00s) 214s === CONT TestStreamServerInterceptorLoggerInvalidMetadata 214s === RUN TestStreamServerInterceptorLoggerInvalidMetadata/Missing_caller_key 214s === PAUSE TestStreamServerInterceptorLoggerInvalidMetadata/Missing_caller_key 214s === RUN TestStreamServerInterceptorLoggerInvalidMetadata/Caller_key_is_not_a_boolean 214s === PAUSE TestStreamServerInterceptorLoggerInvalidMetadata/Caller_key_is_not_a_boolean 214s === RUN TestStreamServerInterceptorLoggerInvalidMetadata/Multiple_log_metas 214s === PAUSE TestStreamServerInterceptorLoggerInvalidMetadata/Multiple_log_metas 214s === RUN TestStreamServerInterceptorLoggerInvalidMetadata/No_meta_sent 214s === PAUSE TestStreamServerInterceptorLoggerInvalidMetadata/No_meta_sent 214s === RUN TestStreamServerInterceptorLoggerInvalidMetadata/Missing_client_ID 214s === PAUSE TestStreamServerInterceptorLoggerInvalidMetadata/Missing_client_ID 214s === CONT TestStreamServerInterceptorSendLogsFails 214s time="2025-10-31T03:47:04Z" level=warning msg="[[123456:324798]] Couldn't send initial connection log to client" 214s Failed to fire hook: hook fired 214s time="2025-10-31T03:47:04Z" level=info msg="New connection from client [[123456:324798]]" 214s --- PASS: TestStreamServerInterceptorSendLogsFails (0.00s) 214s === CONT TestRecvLogMsg/Unknown_log_level_triggers_a_client_error_(protocole_issue) 214s === CONT TestRecvLogMsg/Log_with_caller 214s === CONT TestRecvLogMsg/Two_logs_with_different_debug_level 214s === CONT TestRecvLogMsg/One_log_(and_one_closing_empty_message) 214s === CONT TestRecvLogMsg/Invalid_object_passed_to_RecvMsg_is_gracefully_skipped 214s === CONT TestRecvLogMsg/Logs_and_then_message_with_error,_error_is_preserved 214s === CONT TestRecvLogMsg/No_caller_when_not_requested 214s === CONT TestRecvLogMsg/One_message_with_error,_no_log,_error_is_preserved 214s === CONT TestRecvLogMsg/No_caller_on_any_logs 214s === CONT TestRecvLogMsg/One_message,_no_log 214s --- PASS: TestRecvLogMsg (0.00s) 214s --- PASS: TestRecvLogMsg/Unknown_log_level_triggers_a_client_error_(protocole_issue) (0.00s) 214s --- PASS: TestRecvLogMsg/Log_with_caller (0.00s) 214s --- PASS: TestRecvLogMsg/Two_logs_with_different_debug_level (0.00s) 214s --- PASS: TestRecvLogMsg/One_log_(and_one_closing_empty_message) (0.00s) 214s --- PASS: TestRecvLogMsg/Invalid_object_passed_to_RecvMsg_is_gracefully_skipped (0.00s) 214s --- PASS: TestRecvLogMsg/Logs_and_then_message_with_error,_error_is_preserved (0.00s) 214s --- PASS: TestRecvLogMsg/No_caller_when_not_requested (0.00s) 214s --- PASS: TestRecvLogMsg/One_message_with_error,_no_log,_error_is_preserved (0.00s) 214s --- PASS: TestRecvLogMsg/No_caller_on_any_logs (0.00s) 214s --- PASS: TestRecvLogMsg/One_message,_no_log (0.00s) 214s === CONT TestStreamServerInterceptorLoggerInvalidMetadata/Missing_caller_key 214s === CONT TestStreamServerInterceptorLoggerInvalidMetadata/Missing_client_ID 214s === CONT TestStreamServerInterceptorLoggerInvalidMetadata/No_meta_sent 214s === CONT TestStreamServerInterceptorLoggerInvalidMetadata/Multiple_log_metas 214s === CONT TestStreamServerInterceptorLoggerInvalidMetadata/Caller_key_is_not_a_boolean 214s --- PASS: TestStreamServerInterceptorLoggerInvalidMetadata (0.00s) 214s --- PASS: TestStreamServerInterceptorLoggerInvalidMetadata/Missing_caller_key (0.00s) 214s --- PASS: TestStreamServerInterceptorLoggerInvalidMetadata/Missing_client_ID (0.00s) 214s --- PASS: TestStreamServerInterceptorLoggerInvalidMetadata/No_meta_sent (0.00s) 214s --- PASS: TestStreamServerInterceptorLoggerInvalidMetadata/Multiple_log_metas (0.00s) 214s --- PASS: TestStreamServerInterceptorLoggerInvalidMetadata/Caller_key_is_not_a_boolean (0.00s) 214s --- PASS: TestLogWarningWithRemoteCaller (0.00s) 214s PASS 214s ok github.com/ubuntu/adsys/internal/grpc/logstreamer 0.012s 214s === RUN TestEventLogHook 214s === RUN TestEventLogHook/error_level 214s time="2025-10-31T03:47:04Z" level=error msg="Error msg" 214s === RUN TestEventLogHook/warn_level 214s time="2025-10-31T03:47:04Z" level=warning msg="Warning msg" 214s time="2025-10-31T03:47:04Z" level=error msg="Error msg" 214s === RUN TestEventLogHook/info_level 214s time="2025-10-31T03:47:04Z" level=info msg="Info msg" 214s time="2025-10-31T03:47:04Z" level=warning msg="Warning msg" 214s time="2025-10-31T03:47:04Z" level=error msg="Error msg" 214s === RUN TestEventLogHook/debug_level 214s time="2025-10-31T03:47:04Z" level=debug msg="Debug msg" 214s time="2025-10-31T03:47:04Z" level=info msg="Info msg" 214s time="2025-10-31T03:47:04Z" level=warning msg="Warning msg" 214s time="2025-10-31T03:47:04Z" level=error msg="Error msg" 214s --- PASS: TestEventLogHook (0.00s) 214s --- PASS: TestEventLogHook/error_level (0.00s) 214s --- PASS: TestEventLogHook/warn_level (0.00s) 214s --- PASS: TestEventLogHook/info_level (0.00s) 214s --- PASS: TestEventLogHook/debug_level (0.00s) 214s PASS 214s ok github.com/ubuntu/adsys/internal/loghooks 0.003s 214s === RUN TestFormat 214s === PAUSE TestFormat 214s === RUN TestApplyPolicies 214s === RUN TestApplyPolicies/No_subscription_is_only_dconf_content 214s === RUN TestApplyPolicies/Succeed 214s === RUN TestApplyPolicies/Second_call_with_no_rules_deletes_everything 214s time="2025-10-31T03:47:06Z" level=info msg="Unloading policies for hostname (machine: true)" 214s === RUN TestApplyPolicies/Succeed_if_checking_for_backend_online_status_returns_an_error 214s === RUN TestApplyPolicies/Error_when_applying_dconf_policy 214s === RUN TestApplyPolicies/Error_when_applying_privilege_policy 214s === RUN TestApplyPolicies/Error_when_applying_scripts_policy 214s === RUN TestApplyPolicies/Second_call_with_no_rules_don't_remove_scripts_if_session_hasn’t_ended 214s time="2025-10-31T03:47:06Z" level=info msg="Unloading policies for hostname (machine: true)" 214s time="2025-10-31T03:47:06Z" level=info msg="\"/tmp/TestApplyPoliciesSecond_call_with_no_rules_dont_remove_scripts_if_session_hasnt_ended2244516261/001/run/adsys/machine/scripts/.running\" already exists, a session is already running, ignoring." 214s === RUN TestApplyPolicies/Second_call_with_no_subscription_don't_remove_scripts_if_session_hasn’t_ended 214s time="2025-10-31T03:47:06Z" level=info msg="Applying policies for hostname (machine: true)" 214s time="2025-10-31T03:47:06Z" 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" 214s time="2025-10-31T03:47:06Z" level=info msg="\"/tmp/TestApplyPoliciesSecond_call_with_no_subscription_dont_remove_scripts_if_session_hasnt_ended3373193097/001/run/adsys/machine/scripts/.running\" already exists, a session is already running, ignoring." 214s === RUN TestApplyPolicies/Error_when_applying_apparmor_policy 214s === RUN TestApplyPolicies/Error_when_applying_mount_policy 214s === RUN TestApplyPolicies/Error_when_applying_proxy_policy 214s === RUN TestApplyPolicies/Error_when_applying_certificate_policy 214s === RUN TestApplyPolicies/Second_call_with_no_subscription_should_remove_everything_but_dconf_content 214s time="2025-10-31T03:47:06Z" level=info msg="Applying policies for hostname (machine: true)" 214s time="2025-10-31T03:47:06Z" 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" 214s --- PASS: TestApplyPolicies (0.27s) 214s --- PASS: TestApplyPolicies/No_subscription_is_only_dconf_content (0.01s) 214s --- PASS: TestApplyPolicies/Succeed (0.04s) 214s --- PASS: TestApplyPolicies/Second_call_with_no_rules_deletes_everything (0.02s) 214s --- PASS: TestApplyPolicies/Succeed_if_checking_for_backend_online_status_returns_an_error (0.03s) 214s --- PASS: TestApplyPolicies/Error_when_applying_dconf_policy (0.00s) 214s --- PASS: TestApplyPolicies/Error_when_applying_privilege_policy (0.01s) 214s --- PASS: TestApplyPolicies/Error_when_applying_scripts_policy (0.01s) 214s --- PASS: TestApplyPolicies/Second_call_with_no_rules_don't_remove_scripts_if_session_hasn’t_ended (0.03s) 214s --- PASS: TestApplyPolicies/Second_call_with_no_subscription_don't_remove_scripts_if_session_hasn’t_ended (0.03s) 214s --- PASS: TestApplyPolicies/Error_when_applying_apparmor_policy (0.01s) 214s --- PASS: TestApplyPolicies/Error_when_applying_mount_policy (0.02s) 214s --- PASS: TestApplyPolicies/Error_when_applying_proxy_policy (0.01s) 214s --- PASS: TestApplyPolicies/Error_when_applying_certificate_policy (0.00s) 214s --- PASS: TestApplyPolicies/Second_call_with_no_subscription_should_remove_everything_but_dconf_content (0.03s) 214s === RUN TestDumpPolicies 214s === PAUSE TestDumpPolicies 214s === RUN TestLastUpdateFor 214s === PAUSE TestLastUpdateFor 214s === RUN TestGetSubscriptionState 214s === RUN TestGetSubscriptionState/Returns_enablement_status_(enabled) 214s === RUN TestGetSubscriptionState/Returns_enablement_status_(disabled) 214s --- PASS: TestGetSubscriptionState (0.01s) 214s --- PASS: TestGetSubscriptionState/Returns_enablement_status_(enabled) (0.00s) 214s --- PASS: TestGetSubscriptionState/Returns_enablement_status_(disabled) (0.00s) 214s === RUN TestNew 214s === PAUSE TestNew 214s === RUN TestNewFromCache 214s === PAUSE TestNewFromCache 214s === RUN TestSave 214s === PAUSE TestSave 214s === RUN TestCachePolicies 214s === PAUSE TestCachePolicies 215s === RUN TestSaveAssetsTo 215s === PAUSE TestSaveAssetsTo 215s === RUN TestCompressAssets 215s === PAUSE TestCompressAssets 215s === RUN TestGetUniqueRules 215s === PAUSE TestGetUniqueRules 215s === CONT TestFormat 215s === RUN TestFormat/GPO_with_rules,_override_displayed 215s === PAUSE TestFormat/GPO_with_rules,_override_displayed 215s === RUN TestFormat/GPO_with_rules,_override_disabled_key 215s === PAUSE TestFormat/GPO_with_rules,_override_disabled_key 215s === CONT TestSave 215s === RUN TestFormat/GPO_with_rules 215s === RUN TestSave/Destdir_does_not_exists 215s === PAUSE TestSave/Destdir_does_not_exists 215s === RUN TestSave/Existing_cache_with_assets,_new_cache_with_no_assets 215s === PAUSE TestSave/Existing_cache_with_assets,_new_cache_with_no_assets 215s === RUN TestSave/With_assets 215s === PAUSE TestSave/With_assets 215s === RUN TestSave/Existing_policies_cache_is_refreshed 215s === PAUSE TestFormat/GPO_with_rules 215s === PAUSE TestSave/Existing_policies_cache_is_refreshed 215s === RUN TestSave/Existing_assets_cache_is_refreshed 215s === RUN TestFormat/GPO_with_rules_and_overrides,_no_rules_processed 215s === PAUSE TestSave/Existing_assets_cache_is_refreshed 215s === PAUSE TestFormat/GPO_with_rules_and_overrides,_no_rules_processed 215s === RUN TestFormat/GPO_with_rules,_override_hidden 215s === PAUSE TestFormat/GPO_with_rules,_override_hidden 215s === RUN TestSave/Save_assets_on_existing_opened_file_does_not_segfault 215s === PAUSE TestSave/Save_assets_on_existing_opened_file_does_not_segfault 215s === RUN TestSave/Can_refresh_on_existing_read_only_asset_file 215s === PAUSE TestSave/Can_refresh_on_existing_read_only_asset_file 215s === RUN TestSave/Error_on_can’t_write_to_policies_base_dir 215s === PAUSE TestSave/Error_on_can’t_write_to_policies_base_dir 215s === RUN TestSave/Error_on_can’t_write_to_dest_dir 215s === PAUSE TestSave/Error_on_can’t_write_to_dest_dir 215s === RUN TestSave/gpos_only 215s === PAUSE TestSave/gpos_only 215s === RUN TestSave/Error_on_can’t_remove_existing_assets 215s === PAUSE TestSave/Error_on_can’t_remove_existing_assets 215s === CONT TestGetUniqueRules 215s === RUN TestGetUniqueRules/One_GPO 215s === PAUSE TestGetUniqueRules/One_GPO 215s === RUN TestGetUniqueRules/Append_policy_entry,_one_GPO 215s === PAUSE TestGetUniqueRules/Append_policy_entry,_one_GPO 215s === RUN TestGetUniqueRules/Append_policy_entry,_multiple_GPOs,_disabled_key_is_ignored,_second 215s === PAUSE TestGetUniqueRules/Append_policy_entry,_multiple_GPOs,_disabled_key_is_ignored,_second 215s === RUN TestGetUniqueRules/Two_policies,_no_overrides,_reversed 215s === PAUSE TestGetUniqueRules/Two_policies,_no_overrides,_reversed 215s === RUN TestGetUniqueRules/Disabled_value_overrides_non_disabled_one 215s === PAUSE TestGetUniqueRules/Disabled_value_overrides_non_disabled_one 215s === RUN TestGetUniqueRules/Disabled_value_is_overridden 215s === PAUSE TestGetUniqueRules/Disabled_value_is_overridden 215s === RUN TestGetUniqueRules/Append_policy_entry,_multiple_GPOs 215s === PAUSE TestGetUniqueRules/Append_policy_entry,_multiple_GPOs 215s === RUN TestGetUniqueRules/Append_policy_entry,_multiple_GPOs,_disabled_key_is_ignored,_first 215s === PAUSE TestGetUniqueRules/Append_policy_entry,_multiple_GPOs,_disabled_key_is_ignored,_first 215s === RUN TestGetUniqueRules/Order_key_ascii 215s === PAUSE TestGetUniqueRules/Order_key_ascii 215s === RUN TestGetUniqueRules/Same_key_in_different_domains_are_kept_separated 215s === PAUSE TestGetUniqueRules/Same_key_in_different_domains_are_kept_separated 215s === RUN TestGetUniqueRules/Two_policies,_with_overrides 215s === PAUSE TestGetUniqueRules/Two_policies,_with_overrides 215s === RUN TestGetUniqueRules/Mix_meta_on_GPOs,_furthest_policy_entry_is_append,_closest_is_override 215s === PAUSE TestGetUniqueRules/Mix_meta_on_GPOs,_furthest_policy_entry_is_append,_closest_is_override 215s === RUN TestGetUniqueRules/Mix_meta_on_GPOs,_closest_policy_entry_is_append,_furthest_override_is_ignored 215s === PAUSE TestGetUniqueRules/Mix_meta_on_GPOs,_closest_policy_entry_is_append,_furthest_override_is_ignored 215s === RUN TestGetUniqueRules/Append_policy_entry,_closest_meta_wins 215s === PAUSE TestGetUniqueRules/Append_policy_entry,_closest_meta_wins 215s === RUN TestGetUniqueRules/Multiple_domains,_same_GPOs 215s === PAUSE TestGetUniqueRules/Multiple_domains,_same_GPOs 215s === RUN TestGetUniqueRules/Two_policies,_with_reversed_overrides 215s === PAUSE TestGetUniqueRules/Two_policies,_with_reversed_overrides 215s === RUN TestGetUniqueRules/More_policies,_with_multiple_overrides 215s === PAUSE TestGetUniqueRules/More_policies,_with_multiple_overrides 215s === RUN TestGetUniqueRules/Multiple_domains,_different_GPOs 215s === PAUSE TestGetUniqueRules/Multiple_domains,_different_GPOs 215s === RUN TestGetUniqueRules/Two_policies,_no_overrides 215s === PAUSE TestGetUniqueRules/Two_policies,_no_overrides 215s === RUN TestGetUniqueRules/Append_policy_entry,_one_GPO,_disabled_key_is_ignored 215s === PAUSE TestGetUniqueRules/Append_policy_entry,_one_GPO,_disabled_key_is_ignored 215s === CONT TestCompressAssets 215s === RUN TestCompressAssets/No_db 215s === PAUSE TestCompressAssets/No_db 215s === RUN TestCompressAssets/Existing_db 215s === PAUSE TestCompressAssets/Existing_db 215s === RUN TestCompressAssets/Error_on_can’t_remove_existing_db 215s === PAUSE TestCompressAssets/Error_on_can’t_remove_existing_db 215s === RUN TestCompressAssets/Error_on_non_existing_directory 215s === PAUSE TestCompressAssets/Error_on_non_existing_directory 215s === CONT TestSaveAssetsTo 215s === RUN TestSaveAssetsTo/File 215s === PAUSE TestSaveAssetsTo/File 215s === RUN TestSaveAssetsTo/Error_on_empty_relSrc 215s === PAUSE TestSaveAssetsTo/Error_on_empty_relSrc 215s === RUN TestSaveAssetsTo/Error_on_read_only_dest 215s === PAUSE TestSaveAssetsTo/Error_on_read_only_dest 215s === RUN TestSaveAssetsTo/Error_on_file_read_only_existing_in_dest 215s === PAUSE TestSaveAssetsTo/Error_on_file_read_only_existing_in_dest 215s === RUN TestSaveAssetsTo/All 215s === PAUSE TestSaveAssetsTo/All 215s === RUN TestSaveAssetsTo/Sub_directory 215s === PAUSE TestSaveAssetsTo/Sub_directory 215s === RUN TestSaveAssetsTo/Sub_directory_ending_with_slash 215s === PAUSE TestSaveAssetsTo/Sub_directory_ending_with_slash 215s === RUN TestSaveAssetsTo/Error_on_can't_chown_to_user 215s === PAUSE TestSaveAssetsTo/Error_on_can't_chown_to_user 215s === RUN TestSaveAssetsTo/Chown_directories_and_files_when_requested 215s === PAUSE TestSaveAssetsTo/Chown_directories_and_files_when_requested 215s === RUN TestSaveAssetsTo/Error_on_unexisting_relSrc_in_cache 215s === PAUSE TestSaveAssetsTo/Error_on_unexisting_relSrc_in_cache 215s === RUN TestSaveAssetsTo/Error_on_no_assets 215s === PAUSE TestSaveAssetsTo/Error_on_no_assets 215s === RUN TestSaveAssetsTo/Error_on_dest_already_exists 215s === PAUSE TestSaveAssetsTo/Error_on_dest_already_exists 215s === CONT TestCachePolicies 215s === RUN TestFormat/GPO_and_assets_with_rules,_append_is_overridden_after_a_topmost_override 215s === PAUSE TestFormat/GPO_and_assets_with_rules,_append_is_overridden_after_a_topmost_override 215s === RUN TestFormat/GPO_summary 215s === PAUSE TestFormat/GPO_summary 215s === RUN TestFormat/GPO_with_rules,_appending_to_existing_treated_key 215s === PAUSE TestFormat/GPO_with_rules,_appending_to_existing_treated_key 215s === RUN TestFormat/GPO_and_assets_with_rules,_appending_to_same_key_do_not_add_to_processed_rules 215s === PAUSE TestFormat/GPO_and_assets_with_rules,_appending_to_same_key_do_not_add_to_processed_rules 215s === CONT TestNew 215s === RUN TestNew/No_gpos 215s === PAUSE TestNew/No_gpos 215s === RUN TestNew/Error_on_invalid_assets_db 215s === PAUSE TestNew/Error_on_invalid_assets_db 215s === RUN TestNew/Error_on_assets_db_does_not_exists 215s === PAUSE TestNew/Error_on_assets_db_does_not_exists 215s === RUN TestNew/gpos_only 215s === PAUSE TestNew/gpos_only 215s === RUN TestNew/With_assets 215s === PAUSE TestNew/With_assets 215s === CONT TestNewFromCache 215s === RUN TestNewFromCache/Error_on_invalid_assets_db 215s === PAUSE TestNewFromCache/Error_on_invalid_assets_db 215s === RUN TestNewFromCache/Error_on_no_policies_cache 215s === PAUSE TestNewFromCache/Error_on_no_policies_cache 215s === RUN TestNewFromCache/gpos_only 215s === PAUSE TestNewFromCache/gpos_only 215s === RUN TestNewFromCache/With_assets 215s === PAUSE TestNewFromCache/With_assets 215s === RUN TestNewFromCache/Error_on_invalid_policies_cache 215s === PAUSE TestNewFromCache/Error_on_invalid_policies_cache 215s === CONT TestLastUpdateFor 215s === RUN TestLastUpdateFor/Returns_user's_last_update_time 215s === PAUSE TestLastUpdateFor/Returns_user's_last_update_time 215s === RUN TestLastUpdateFor/Target_is_ignored_for_machine_request 215s === PAUSE TestLastUpdateFor/Target_is_ignored_for_machine_request 215s === RUN TestLastUpdateFor/Error_when_target_does_not_exist 215s === PAUSE TestLastUpdateFor/Error_when_target_does_not_exist 215s === RUN TestLastUpdateFor/Returns_machine's_last_update_time 215s === PAUSE TestLastUpdateFor/Returns_machine's_last_update_time 215s === CONT TestDumpPolicies 215s === RUN TestDumpPolicies/One_GPO_User_+_Machine 215s === PAUSE TestDumpPolicies/One_GPO_User_+_Machine 215s === RUN TestDumpPolicies/Multiple_GPOs_with_rules,_override_hidden 215s === PAUSE TestDumpPolicies/Multiple_GPOs_with_rules,_override_hidden 215s === RUN TestDumpPolicies/Overrides_between_machine_and_user_GPOs,_shown 215s === PAUSE TestDumpPolicies/Overrides_between_machine_and_user_GPOs,_shown 215s === RUN TestDumpPolicies/Machine_only_GPO_with_rules 215s --- PASS: TestCachePolicies (0.00s) 215s === CONT TestSave/Destdir_does_not_exists 215s === PAUSE TestDumpPolicies/Machine_only_GPO_with_rules 215s === RUN TestDumpPolicies/One_GPO_User 215s === PAUSE TestDumpPolicies/One_GPO_User 215s === RUN TestDumpPolicies/Error_on_missing_machine_cache_when_targeting_user 215s === PAUSE TestDumpPolicies/Error_on_missing_machine_cache_when_targeting_user 215s === RUN TestDumpPolicies/Multiple_GPOs 215s === PAUSE TestDumpPolicies/Multiple_GPOs 215s === RUN TestDumpPolicies/Multiple_GPOs_with_rules,_no_override 215s === PAUSE TestDumpPolicies/Multiple_GPOs_with_rules,_no_override 215s === RUN TestDumpPolicies/Same_GPO_Machine_and_User_with_rules_and_overrides 215s === PAUSE TestDumpPolicies/Same_GPO_Machine_and_User_with_rules_and_overrides 215s === RUN TestDumpPolicies/One_GPO_Machine 215s === PAUSE TestDumpPolicies/One_GPO_Machine 215s === RUN TestDumpPolicies/One_GPO_with_rules 215s === PAUSE TestDumpPolicies/One_GPO_with_rules 215s === RUN TestDumpPolicies/Multiple_GPOs_with_rules,_override,_shown 215s === PAUSE TestDumpPolicies/Multiple_GPOs_with_rules,_override,_shown 215s === RUN TestDumpPolicies/Overrides_between_machine_and_user_GPOs,_hidden 215s === PAUSE TestDumpPolicies/Overrides_between_machine_and_user_GPOs,_hidden 215s === RUN TestDumpPolicies/Same_GPO_Machine_and_User 215s === PAUSE TestDumpPolicies/Same_GPO_Machine_and_User 215s === RUN TestDumpPolicies/Same_GPO_Machine_and_User_with_rules 215s === PAUSE TestDumpPolicies/Same_GPO_Machine_and_User_with_rules 215s === RUN TestDumpPolicies/Error_on_missing_target_cache 215s === PAUSE TestDumpPolicies/Error_on_missing_target_cache 215s === CONT TestGetUniqueRules/One_GPO 215s === CONT TestSave/Error_on_can’t_remove_existing_assets 215s === CONT TestSave/gpos_only 215s === CONT TestSave/Error_on_can’t_write_to_dest_dir 215s === CONT TestSave/Error_on_can’t_write_to_policies_base_dir 215s === CONT TestSave/Can_refresh_on_existing_read_only_asset_file 215s === CONT TestSave/Save_assets_on_existing_opened_file_does_not_segfault 215s === CONT TestSave/Existing_assets_cache_is_refreshed 215s === CONT TestSave/Existing_policies_cache_is_refreshed 215s === CONT TestSave/With_assets 215s === CONT TestSave/Existing_cache_with_assets,_new_cache_with_no_assets 215s === CONT TestCompressAssets/No_db 215s --- PASS: TestSave (0.00s) 215s --- PASS: TestSave/Destdir_does_not_exists (0.00s) 215s --- PASS: TestSave/gpos_only (0.00s) 215s --- PASS: TestSave/Error_on_can’t_remove_existing_assets (0.00s) 215s --- PASS: TestSave/Error_on_can’t_write_to_dest_dir (0.00s) 215s --- PASS: TestSave/Error_on_can’t_write_to_policies_base_dir (0.00s) 215s --- PASS: TestSave/Can_refresh_on_existing_read_only_asset_file (0.00s) 215s --- PASS: TestSave/Save_assets_on_existing_opened_file_does_not_segfault (0.00s) 215s --- PASS: TestSave/Existing_policies_cache_is_refreshed (0.00s) 215s --- PASS: TestSave/Existing_assets_cache_is_refreshed (0.00s) 215s --- PASS: TestSave/Existing_cache_with_assets,_new_cache_with_no_assets (0.00s) 215s --- PASS: TestSave/With_assets (0.00s) 215s === CONT TestGetUniqueRules/Append_policy_entry,_one_GPO,_disabled_key_is_ignored 215s === CONT TestGetUniqueRules/Two_policies,_no_overrides 215s === CONT TestGetUniqueRules/Multiple_domains,_different_GPOs 215s === CONT TestGetUniqueRules/More_policies,_with_multiple_overrides 215s === CONT TestGetUniqueRules/Two_policies,_with_reversed_overrides 215s === CONT TestGetUniqueRules/Multiple_domains,_same_GPOs 215s === CONT TestGetUniqueRules/Append_policy_entry,_closest_meta_wins 215s === CONT TestGetUniqueRules/Mix_meta_on_GPOs,_closest_policy_entry_is_append,_furthest_override_is_ignored 215s === CONT TestGetUniqueRules/Mix_meta_on_GPOs,_furthest_policy_entry_is_append,_closest_is_override 215s === CONT TestGetUniqueRules/Two_policies,_with_overrides 215s === CONT TestGetUniqueRules/Same_key_in_different_domains_are_kept_separated 215s === CONT TestGetUniqueRules/Order_key_ascii 215s === CONT TestGetUniqueRules/Append_policy_entry,_multiple_GPOs,_disabled_key_is_ignored,_first 215s === CONT TestGetUniqueRules/Append_policy_entry,_multiple_GPOs 215s === CONT TestGetUniqueRules/Disabled_value_is_overridden 215s === CONT TestGetUniqueRules/Disabled_value_overrides_non_disabled_one 215s === CONT TestGetUniqueRules/Two_policies,_no_overrides,_reversed 215s === CONT TestGetUniqueRules/Append_policy_entry,_multiple_GPOs,_disabled_key_is_ignored,_second 215s === CONT TestGetUniqueRules/Append_policy_entry,_one_GPO 215s --- PASS: TestGetUniqueRules (0.00s) 215s --- PASS: TestGetUniqueRules/One_GPO (0.00s) 215s --- PASS: TestGetUniqueRules/Append_policy_entry,_one_GPO,_disabled_key_is_ignored (0.00s) 215s --- PASS: TestGetUniqueRules/Two_policies,_no_overrides (0.00s) 215s --- PASS: TestGetUniqueRules/Multiple_domains,_different_GPOs (0.00s) 215s --- PASS: TestGetUniqueRules/More_policies,_with_multiple_overrides (0.00s) 215s --- PASS: TestGetUniqueRules/Two_policies,_with_reversed_overrides (0.00s) 215s --- PASS: TestGetUniqueRules/Multiple_domains,_same_GPOs (0.00s) 215s --- PASS: TestGetUniqueRules/Append_policy_entry,_closest_meta_wins (0.00s) 215s --- PASS: TestGetUniqueRules/Mix_meta_on_GPOs,_closest_policy_entry_is_append,_furthest_override_is_ignored (0.00s) 215s --- PASS: TestGetUniqueRules/Mix_meta_on_GPOs,_furthest_policy_entry_is_append,_closest_is_override (0.00s) 215s --- PASS: TestGetUniqueRules/Two_policies,_with_overrides (0.00s) 215s --- PASS: TestGetUniqueRules/Same_key_in_different_domains_are_kept_separated (0.00s) 215s --- PASS: TestGetUniqueRules/Order_key_ascii (0.00s) 215s --- PASS: TestGetUniqueRules/Append_policy_entry,_multiple_GPOs,_disabled_key_is_ignored,_first (0.00s) 215s --- PASS: TestGetUniqueRules/Append_policy_entry,_multiple_GPOs (0.00s) 215s --- PASS: TestGetUniqueRules/Disabled_value_is_overridden (0.00s) 215s --- PASS: TestGetUniqueRules/Disabled_value_overrides_non_disabled_one (0.00s) 215s --- PASS: TestGetUniqueRules/Two_policies,_no_overrides,_reversed (0.00s) 215s --- PASS: TestGetUniqueRules/Append_policy_entry,_multiple_GPOs,_disabled_key_is_ignored,_second (0.00s) 215s --- PASS: TestGetUniqueRules/Append_policy_entry,_one_GPO (0.00s) 215s === CONT TestSaveAssetsTo/File 215s === CONT TestCompressAssets/Error_on_non_existing_directory 215s === CONT TestCompressAssets/Error_on_can’t_remove_existing_db 215s === CONT TestCompressAssets/Existing_db 215s === CONT TestFormat/GPO_with_rules,_override_displayed 215s === CONT TestNew/No_gpos 215s === CONT TestFormat/GPO_and_assets_with_rules,_appending_to_same_key_do_not_add_to_processed_rules 215s === CONT TestFormat/GPO_with_rules,_appending_to_existing_treated_key 215s === CONT TestFormat/GPO_summary 215s === CONT TestFormat/GPO_and_assets_with_rules,_append_is_overridden_after_a_topmost_override 215s === CONT TestFormat/GPO_with_rules,_override_hidden 215s === CONT TestFormat/GPO_with_rules_and_overrides,_no_rules_processed 215s === CONT TestFormat/GPO_with_rules 215s === CONT TestFormat/GPO_with_rules,_override_disabled_key 215s --- PASS: TestFormat (0.00s) 215s --- PASS: TestFormat/GPO_with_rules,_override_displayed (0.00s) 215s --- PASS: TestFormat/GPO_and_assets_with_rules,_appending_to_same_key_do_not_add_to_processed_rules (0.00s) 215s --- PASS: TestFormat/GPO_with_rules,_appending_to_existing_treated_key (0.00s) 215s --- PASS: TestFormat/GPO_summary (0.00s) 215s --- PASS: TestFormat/GPO_and_assets_with_rules,_append_is_overridden_after_a_topmost_override (0.00s) 215s --- PASS: TestFormat/GPO_with_rules,_override_hidden (0.00s) 215s --- PASS: TestFormat/GPO_with_rules_and_overrides,_no_rules_processed (0.00s) 215s --- PASS: TestFormat/GPO_with_rules (0.00s) 215s --- PASS: TestFormat/GPO_with_rules,_override_disabled_key (0.00s) 215s === CONT TestNewFromCache/Error_on_invalid_assets_db 215s === CONT TestNew/With_assets 215s --- PASS: TestCompressAssets (0.00s) 215s --- PASS: TestCompressAssets/Error_on_non_existing_directory (0.00s) 215s --- PASS: TestCompressAssets/Error_on_can’t_remove_existing_db (0.01s) 215s --- PASS: TestCompressAssets/No_db (0.02s) 215s --- PASS: TestCompressAssets/Existing_db (0.02s) 215s === CONT TestNew/gpos_only 215s === CONT TestNew/Error_on_assets_db_does_not_exists 215s === CONT TestNew/Error_on_invalid_assets_db 215s === CONT TestNewFromCache/Error_on_invalid_policies_cache 215s === CONT TestNewFromCache/With_assets 215s --- PASS: TestNew (0.00s) 215s --- PASS: TestNew/No_gpos (0.00s) 215s --- PASS: TestNew/gpos_only (0.00s) 215s --- PASS: TestNew/Error_on_assets_db_does_not_exists (0.00s) 215s --- PASS: TestNew/Error_on_invalid_assets_db (0.00s) 215s --- PASS: TestNew/With_assets (0.01s) 215s === CONT TestNewFromCache/gpos_only 215s === CONT TestNewFromCache/Error_on_no_policies_cache 215s === CONT TestLastUpdateFor/Returns_user's_last_update_time 215s --- PASS: TestNewFromCache (0.00s) 215s --- PASS: TestNewFromCache/Error_on_invalid_assets_db (0.00s) 215s --- PASS: TestNewFromCache/Error_on_invalid_policies_cache (0.00s) 215s --- PASS: TestNewFromCache/gpos_only (0.00s) 215s --- PASS: TestNewFromCache/Error_on_no_policies_cache (0.00s) 215s --- PASS: TestNewFromCache/With_assets (0.01s) 215s === CONT TestLastUpdateFor/Returns_machine's_last_update_time 215s time="2025-10-31T03:47:06Z" level=info msg="Get policies last update time \"user\" (machine: false)" 215s time="2025-10-31T03:47:06Z" level=info msg="Get policies last update time \"autopkgtest\" (machine: true)" 215s === CONT TestLastUpdateFor/Error_when_target_does_not_exist 215s === CONT TestLastUpdateFor/Target_is_ignored_for_machine_request 215s time="2025-10-31T03:47:06Z" level=info msg="Get policies last update time \"does_not_exit\" (machine: true)" 215s time="2025-10-31T03:47:06Z" level=info msg="Get policies last update time \"does_not_exit\" (machine: false)" 215s === CONT TestSaveAssetsTo/Sub_directory_ending_with_slash 215s --- PASS: TestLastUpdateFor (0.00s) 215s --- PASS: TestLastUpdateFor/Returns_user's_last_update_time (0.10s) 215s --- PASS: TestLastUpdateFor/Returns_machine's_last_update_time (0.10s) 215s --- PASS: TestLastUpdateFor/Target_is_ignored_for_machine_request (0.10s) 215s --- PASS: TestLastUpdateFor/Error_when_target_does_not_exist (0.10s) 215s === CONT TestSaveAssetsTo/Error_on_dest_already_exists 215s === CONT TestSaveAssetsTo/Error_on_no_assets 215s === CONT TestSaveAssetsTo/Error_on_unexisting_relSrc_in_cache 215s === CONT TestSaveAssetsTo/Chown_directories_and_files_when_requested 215s === CONT TestSaveAssetsTo/Error_on_can't_chown_to_user 215s === CONT TestSaveAssetsTo/Error_on_file_read_only_existing_in_dest 215s === CONT TestSaveAssetsTo/Sub_directory 215s === CONT TestSaveAssetsTo/All 215s === CONT TestSaveAssetsTo/Error_on_read_only_dest 215s === CONT TestSaveAssetsTo/Error_on_empty_relSrc 215s === CONT TestDumpPolicies/One_GPO_User_+_Machine 215s time="2025-10-31T03:47:06Z" level=info msg="Dumping policies for user" 215s === CONT TestDumpPolicies/One_GPO_Machine 215s time="2025-10-31T03:47:06Z" level=info msg="Dumping policies for autopkgtest" 215s === CONT TestDumpPolicies/Error_on_missing_target_cache 215s time="2025-10-31T03:47:06Z" level=info msg="Dumping policies for user" 215s time="2025-10-31T03:47:06Z" level=info msg="User \"user\" not found on cache." 215s === CONT TestDumpPolicies/Same_GPO_Machine_and_User_with_rules 215s time="2025-10-31T03:47:06Z" level=info msg="Dumping policies for user" 215s === CONT TestDumpPolicies/Same_GPO_Machine_and_User 215s time="2025-10-31T03:47:06Z" level=info msg="Dumping policies for user" 215s --- PASS: TestSaveAssetsTo (0.00s) 215s --- PASS: TestSaveAssetsTo/File (0.00s) 215s --- PASS: TestSaveAssetsTo/Error_on_dest_already_exists (0.00s) 215s --- PASS: TestSaveAssetsTo/Error_on_no_assets (0.00s) 215s --- PASS: TestSaveAssetsTo/Error_on_unexisting_relSrc_in_cache (0.00s) 215s --- PASS: TestSaveAssetsTo/Sub_directory_ending_with_slash (0.01s) 215s --- PASS: TestSaveAssetsTo/Error_on_can't_chown_to_user (0.00s) 215s --- PASS: TestSaveAssetsTo/Error_on_file_read_only_existing_in_dest (0.00s) 215s --- PASS: TestSaveAssetsTo/Sub_directory (0.00s) 215s --- PASS: TestSaveAssetsTo/Chown_directories_and_files_when_requested (0.02s) 215s --- PASS: TestSaveAssetsTo/Error_on_read_only_dest (0.00s) 215s --- PASS: TestSaveAssetsTo/Error_on_empty_relSrc (0.00s) 215s --- PASS: TestSaveAssetsTo/All (0.02s) 215s === CONT TestDumpPolicies/Overrides_between_machine_and_user_GPOs,_hidden 215s === CONT TestDumpPolicies/Multiple_GPOs_with_rules,_override,_shown 215s time="2025-10-31T03:47:06Z" level=info msg="Dumping policies for user" 215s === CONT TestDumpPolicies/One_GPO_with_rules 215s time="2025-10-31T03:47:06Z" level=info msg="Dumping policies for user" 215s time="2025-10-31T03:47:06Z" level=info msg="Dumping policies for user" 215s === CONT TestDumpPolicies/Error_on_missing_machine_cache_when_targeting_user 215s time="2025-10-31T03:47:06Z" level=info msg="Dumping policies for user" 215s === CONT TestDumpPolicies/Same_GPO_Machine_and_User_with_rules_and_overrides 215s === CONT TestDumpPolicies/Multiple_GPOs_with_rules,_no_override 215s time="2025-10-31T03:47:06Z" level=info msg="Dumping policies for user" 215s time="2025-10-31T03:47:06Z" level=info msg="Dumping policies for user" 215s === CONT TestDumpPolicies/Multiple_GPOs 215s === CONT TestDumpPolicies/Machine_only_GPO_with_rules 215s time="2025-10-31T03:47:06Z" level=info msg="Dumping policies for user" 215s time="2025-10-31T03:47:06Z" level=info msg="Dumping policies for autopkgtest" 215s === CONT TestDumpPolicies/One_GPO_User 215s time="2025-10-31T03:47:06Z" level=info msg="Dumping policies for user" 215s === CONT TestDumpPolicies/Overrides_between_machine_and_user_GPOs,_shown 215s === CONT TestDumpPolicies/Multiple_GPOs_with_rules,_override_hidden 215s time="2025-10-31T03:47:06Z" level=info msg="Dumping policies for user" 215s time="2025-10-31T03:47:06Z" level=info msg="Dumping policies for user" 215s --- PASS: TestDumpPolicies (0.00s) 215s --- PASS: TestDumpPolicies/One_GPO_User_+_Machine (0.00s) 215s --- PASS: TestDumpPolicies/One_GPO_Machine (0.00s) 215s --- PASS: TestDumpPolicies/Error_on_missing_target_cache (0.00s) 215s --- PASS: TestDumpPolicies/Same_GPO_Machine_and_User_with_rules (0.00s) 215s --- PASS: TestDumpPolicies/Same_GPO_Machine_and_User (0.00s) 215s --- PASS: TestDumpPolicies/Overrides_between_machine_and_user_GPOs,_hidden (0.00s) 215s --- PASS: TestDumpPolicies/Multiple_GPOs_with_rules,_override,_shown (0.00s) 215s --- PASS: TestDumpPolicies/Error_on_missing_machine_cache_when_targeting_user (0.00s) 215s --- PASS: TestDumpPolicies/One_GPO_with_rules (0.00s) 215s --- PASS: TestDumpPolicies/Same_GPO_Machine_and_User_with_rules_and_overrides (0.00s) 215s --- PASS: TestDumpPolicies/Multiple_GPOs_with_rules,_no_override (0.00s) 215s --- PASS: TestDumpPolicies/Multiple_GPOs (0.00s) 215s --- PASS: TestDumpPolicies/Machine_only_GPO_with_rules (0.00s) 215s --- PASS: TestDumpPolicies/One_GPO_User (0.00s) 215s --- PASS: TestDumpPolicies/Overrides_between_machine_and_user_GPOs,_shown (0.00s) 215s --- PASS: TestDumpPolicies/Multiple_GPOs_with_rules,_override_hidden (0.00s) 215s PASS 215s ok github.com/ubuntu/adsys/internal/policies 0.608s 215s === RUN TestApplyPolicy 215s === PAUSE TestApplyPolicy 215s === RUN TestMockApparmorParser 215s --- PASS: TestMockApparmorParser (0.00s) 215s === CONT TestApplyPolicy 215s === RUN TestApplyPolicy/No_apparmor_parser_and_entries 215s === PAUSE TestApplyPolicy/No_apparmor_parser_and_entries 215s === RUN TestApplyPolicy/User,_valid_mapping,_unchanged_content 215s === PAUSE TestApplyPolicy/User,_valid_mapping,_unchanged_content 215s === RUN TestApplyPolicy/Error_on_absent_loaded_policies_file 215s === PAUSE TestApplyPolicy/Error_on_absent_loaded_policies_file 215s === RUN TestApplyPolicy/User,_error_on_overwriting_profile_contents 215s === PAUSE TestApplyPolicy/User,_error_on_overwriting_profile_contents 215s === RUN TestApplyPolicy/Error_on_read-only_machine_directory,_no_entries 215s === PAUSE TestApplyPolicy/Error_on_read-only_machine_directory,_no_entries 215s === RUN TestApplyPolicy/Existing_.old_directory_is_removed 215s === PAUSE TestApplyPolicy/Existing_.old_directory_is_removed 215s === RUN TestApplyPolicy/No_profiles,_existing_rules_are_removed 215s === PAUSE TestApplyPolicy/No_profiles,_existing_rules_are_removed 215s === RUN TestApplyPolicy/Error_on_absent_profile 215s === PAUSE TestApplyPolicy/Error_on_absent_profile 215s === RUN TestApplyPolicy/Error_on_loading_profiles_failing 215s === PAUSE TestApplyPolicy/Error_on_loading_profiles_failing 215s === RUN TestApplyPolicy/Error_on_save_assets_dumping_failing 215s === PAUSE TestApplyPolicy/Error_on_save_assets_dumping_failing 215s === RUN TestApplyPolicy/Computer,_only_blank_profiles 215s === PAUSE TestApplyPolicy/Computer,_only_blank_profiles 215s === RUN TestApplyPolicy/User,_error_on_save_assets_failing 215s === PAUSE TestApplyPolicy/User,_error_on_save_assets_failing 215s === RUN TestApplyPolicy/User,_error_on_multiple_profiles 215s === PAUSE TestApplyPolicy/User,_error_on_multiple_profiles 215s === RUN TestApplyPolicy/Error_on_unloading_all_profiles_failing 215s === PAUSE TestApplyPolicy/Error_on_unloading_all_profiles_failing 215s === RUN TestApplyPolicy/Error_on_profile_being_a_directory 215s === PAUSE TestApplyPolicy/Error_on_profile_being_a_directory 215s === RUN TestApplyPolicy/Error_on_removing_unused_assets_after_dump 215s === PAUSE TestApplyPolicy/Error_on_removing_unused_assets_after_dump 215s === RUN TestApplyPolicy/Computer,_previous_profiles_are_unloaded 215s === PAUSE TestApplyPolicy/Computer,_previous_profiles_are_unloaded 215s === RUN TestApplyPolicy/User,_no_user_profiles,_machine_profiles_are_unloaded 215s === PAUSE TestApplyPolicy/User,_no_user_profiles,_machine_profiles_are_unloaded 215s === RUN TestApplyPolicy/User,_error_on_empty_user_profile 215s === PAUSE TestApplyPolicy/User,_error_on_empty_user_profile 215s === RUN TestApplyPolicy/Error_on_read-only_root_directory_with_entries 215s === PAUSE TestApplyPolicy/Error_on_read-only_root_directory_with_entries 215s === RUN TestApplyPolicy/Computer,_duplicated_profiles 215s === PAUSE TestApplyPolicy/Computer,_duplicated_profiles 215s === RUN TestApplyPolicy/Computer,_whitespace-only_value 215s === PAUSE TestApplyPolicy/Computer,_whitespace-only_value 215s === RUN TestApplyPolicy/Error_on_read-only_.old_directory 215s === PAUSE TestApplyPolicy/Error_on_read-only_.old_directory 215s === RUN TestApplyPolicy/Error_on_preprocessing_new_profiles_failing 215s === PAUSE TestApplyPolicy/Error_on_preprocessing_new_profiles_failing 215s === RUN TestApplyPolicy/Unexpected_entry_key 215s === PAUSE TestApplyPolicy/Unexpected_entry_key 215s === RUN TestApplyPolicy/Error_on_file_as_a_directory 215s === PAUSE TestApplyPolicy/Error_on_file_as_a_directory 215s === RUN TestApplyPolicy/No_profiles,_apparmor_directory_absent 215s === PAUSE TestApplyPolicy/No_profiles,_apparmor_directory_absent 215s === RUN TestApplyPolicy/User,_valid_mapping 215s === PAUSE TestApplyPolicy/User,_valid_mapping 215s === RUN TestApplyPolicy/User,_error_on_invalid_user_profile,_restore_previous 215s === PAUSE TestApplyPolicy/User,_error_on_invalid_user_profile,_restore_previous 215s === RUN TestApplyPolicy/No_apparmor_parser_and_no_entries 215s === PAUSE TestApplyPolicy/No_apparmor_parser_and_no_entries 215s === RUN TestApplyPolicy/Error_on_unloading_old_profiles_failing 215s === PAUSE TestApplyPolicy/Error_on_unloading_old_profiles_failing 215s === RUN TestApplyPolicy/Computer,_one_profile 215s === PAUSE TestApplyPolicy/Computer,_one_profile 215s === RUN TestApplyPolicy/Computer,_profiles_with_whitespace 215s === PAUSE TestApplyPolicy/Computer,_profiles_with_whitespace 215s === RUN TestApplyPolicy/Computer,_user_policies_are_unloaded 215s === PAUSE TestApplyPolicy/Computer,_user_policies_are_unloaded 215s === RUN TestApplyPolicy/Error_on_read-only_machine_directory 215s === PAUSE TestApplyPolicy/Error_on_read-only_machine_directory 215s === RUN TestApplyPolicy/Error_on_read-only_.new_directory 215s === PAUSE TestApplyPolicy/Error_on_read-only_.new_directory 215s === RUN TestApplyPolicy/User,_no_machine_profiles 215s === PAUSE TestApplyPolicy/User,_no_machine_profiles 215s === RUN TestApplyPolicy/User,_no_entries,_existing_user_profile_is_deleted 215s === PAUSE TestApplyPolicy/User,_no_entries,_existing_user_profile_is_deleted 215s === RUN TestApplyPolicy/User,_error_on_invalid_user_profile,_delete_previous 215s === PAUSE TestApplyPolicy/User,_error_on_invalid_user_profile,_delete_previous 215s === RUN TestApplyPolicy/Read-only_root_directory_and_no_entries 215s === PAUSE TestApplyPolicy/Read-only_root_directory_and_no_entries 215s === RUN TestApplyPolicy/Error_on_preprocessing_old_profiles_failing 215s === PAUSE TestApplyPolicy/Error_on_preprocessing_old_profiles_failing 215s === RUN TestApplyPolicy/Computer,_multiple_profiles, 215s === PAUSE TestApplyPolicy/Computer,_multiple_profiles, 215s === RUN TestApplyPolicy/Computer,_blank_line_profiles 215s === PAUSE TestApplyPolicy/Computer,_blank_line_profiles 215s === RUN TestApplyPolicy/Existing_.new_directory_is_removed 215s === PAUSE TestApplyPolicy/Existing_.new_directory_is_removed 215s === CONT TestApplyPolicy/Error_on_read-only_machine_directory 215s === CONT TestApplyPolicy/No_apparmor_parser_and_entries 215s === CONT TestApplyPolicy/Computer,_user_policies_are_unloaded 215s === CONT TestApplyPolicy/Computer,_profiles_with_whitespace 215s === CONT TestApplyPolicy/Computer,_one_profile 215s === CONT TestApplyPolicy/Error_on_unloading_old_profiles_failing 215s === CONT TestApplyPolicy/No_apparmor_parser_and_no_entries 215s time="2025-10-31T03:47:08Z" level=warning msg="Apparmor is not available on this system: exec: \"this-definitely-does-not-exist\": executable file not found in $PATH" 215s === CONT TestApplyPolicy/User,_error_on_invalid_user_profile,_restore_previous 215s === CONT TestApplyPolicy/User,_valid_mapping 215s === CONT TestApplyPolicy/No_profiles,_apparmor_directory_absent 215s === CONT TestApplyPolicy/Error_on_file_as_a_directory 215s === CONT TestApplyPolicy/Unexpected_entry_key 215s === CONT TestApplyPolicy/Error_on_preprocessing_new_profiles_failing 215s === CONT TestApplyPolicy/Error_on_read-only_.old_directory 215s === CONT TestApplyPolicy/Computer,_whitespace-only_value 215s === CONT TestApplyPolicy/Computer,_duplicated_profiles 215s === CONT TestApplyPolicy/Error_on_read-only_root_directory_with_entries 215s === CONT TestApplyPolicy/User,_error_on_empty_user_profile 215s === CONT TestApplyPolicy/User,_no_user_profiles,_machine_profiles_are_unloaded 215s === CONT TestApplyPolicy/Computer,_previous_profiles_are_unloaded 215s === CONT TestApplyPolicy/Error_on_removing_unused_assets_after_dump 215s time="2025-10-31T03:47:08Z" level=warning msg="Couldn't remove new apparmor directory: unlinkat /tmp/TestApplyPolicyError_on_removing_unused_assets_after_dump86839572/001/machine/nested/usr.bin.baz: permission denied" 215s time="2025-10-31T03:47:08Z" level=warning msg="Couldn't restore previous apparmor directory: rename /tmp/TestApplyPolicyError_on_removing_unused_assets_after_dump86839572/001/machine.old /tmp/TestApplyPolicyError_on_removing_unused_assets_after_dump86839572/001/machine: file exists" 215s === CONT TestApplyPolicy/Error_on_profile_being_a_directory 215s === CONT TestApplyPolicy/Error_on_unloading_all_profiles_failing 215s === CONT TestApplyPolicy/User,_error_on_multiple_profiles 215s === CONT TestApplyPolicy/User,_error_on_save_assets_failing 215s === CONT TestApplyPolicy/Computer,_only_blank_profiles 215s === CONT TestApplyPolicy/Error_on_save_assets_dumping_failing 215s === CONT TestApplyPolicy/Error_on_loading_profiles_failing 215s === CONT TestApplyPolicy/Error_on_absent_profile 215s === CONT TestApplyPolicy/No_profiles,_existing_rules_are_removed 215s === CONT TestApplyPolicy/Existing_.old_directory_is_removed 215s === CONT TestApplyPolicy/Error_on_read-only_machine_directory,_no_entries 215s === CONT TestApplyPolicy/User,_error_on_overwriting_profile_contents 215s === CONT TestApplyPolicy/Error_on_absent_loaded_policies_file 215s === CONT TestApplyPolicy/User,_valid_mapping,_unchanged_content 215s === CONT TestApplyPolicy/Read-only_root_directory_and_no_entries 215s === CONT TestApplyPolicy/Existing_.new_directory_is_removed 215s === CONT TestApplyPolicy/Computer,_blank_line_profiles 215s === CONT TestApplyPolicy/Computer,_multiple_profiles, 215s === CONT TestApplyPolicy/Error_on_preprocessing_old_profiles_failing 215s === CONT TestApplyPolicy/User,_no_entries,_existing_user_profile_is_deleted 215s === CONT TestApplyPolicy/User,_error_on_invalid_user_profile,_delete_previous 215s === CONT TestApplyPolicy/User,_no_machine_profiles 215s time="2025-10-31T03:47:08Z" level=warning msg="No apparmor machine profiles configured for this machine, skipping reload" 215s === CONT TestApplyPolicy/Error_on_read-only_.new_directory 215s --- PASS: TestApplyPolicy (0.00s) 215s --- PASS: TestApplyPolicy/No_apparmor_parser_and_entries (0.00s) 215s --- PASS: TestApplyPolicy/Error_on_read-only_machine_directory (0.04s) 215s --- PASS: TestApplyPolicy/Computer,_user_policies_are_unloaded (0.04s) 215s --- PASS: TestApplyPolicy/Computer,_profiles_with_whitespace (0.02s) 215s --- PASS: TestApplyPolicy/Computer,_one_profile (0.02s) 215s --- PASS: TestApplyPolicy/No_apparmor_parser_and_no_entries (0.00s) 215s --- PASS: TestApplyPolicy/User,_error_on_invalid_user_profile,_restore_previous (0.01s) 215s --- PASS: TestApplyPolicy/User,_valid_mapping (0.02s) 215s --- PASS: TestApplyPolicy/No_profiles,_apparmor_directory_absent (0.00s) 215s --- PASS: TestApplyPolicy/Error_on_file_as_a_directory (0.00s) 215s --- PASS: TestApplyPolicy/Unexpected_entry_key (0.00s) 215s --- PASS: TestApplyPolicy/Error_on_unloading_old_profiles_failing (0.04s) 215s --- PASS: TestApplyPolicy/Error_on_read-only_.old_directory (0.01s) 215s --- PASS: TestApplyPolicy/Error_on_preprocessing_new_profiles_failing (0.01s) 215s --- PASS: TestApplyPolicy/Computer,_whitespace-only_value (0.00s) 215s --- PASS: TestApplyPolicy/Error_on_read-only_root_directory_with_entries (0.00s) 215s --- PASS: TestApplyPolicy/User,_error_on_empty_user_profile (0.00s) 215s --- PASS: TestApplyPolicy/Computer,_duplicated_profiles (0.02s) 215s --- PASS: TestApplyPolicy/User,_no_user_profiles,_machine_profiles_are_unloaded (0.02s) 215s --- PASS: TestApplyPolicy/Error_on_removing_unused_assets_after_dump (0.01s) 215s --- PASS: TestApplyPolicy/Error_on_profile_being_a_directory (0.01s) 215s --- PASS: TestApplyPolicy/Computer,_previous_profiles_are_unloaded (0.03s) 215s --- PASS: TestApplyPolicy/User,_error_on_save_assets_failing (0.00s) 215s --- PASS: TestApplyPolicy/Computer,_only_blank_profiles (0.00s) 215s --- PASS: TestApplyPolicy/User,_error_on_multiple_profiles (0.00s) 215s --- PASS: TestApplyPolicy/Error_on_save_assets_dumping_failing (0.00s) 215s --- PASS: TestApplyPolicy/Error_on_unloading_all_profiles_failing (0.03s) 215s --- PASS: TestApplyPolicy/Error_on_absent_profile (0.00s) 215s --- PASS: TestApplyPolicy/Error_on_loading_profiles_failing (0.02s) 215s --- PASS: TestApplyPolicy/No_profiles,_existing_rules_are_removed (0.02s) 215s --- PASS: TestApplyPolicy/Existing_.old_directory_is_removed (0.02s) 215s --- PASS: TestApplyPolicy/User,_error_on_overwriting_profile_contents (0.00s) 215s --- PASS: TestApplyPolicy/Error_on_read-only_machine_directory,_no_entries (0.01s) 215s --- PASS: TestApplyPolicy/User,_valid_mapping,_unchanged_content (0.01s) 215s --- PASS: TestApplyPolicy/Read-only_root_directory_and_no_entries (0.00s) 215s --- PASS: TestApplyPolicy/Error_on_absent_loaded_policies_file (0.01s) 215s --- PASS: TestApplyPolicy/Existing_.new_directory_is_removed (0.02s) 215s --- PASS: TestApplyPolicy/Computer,_blank_line_profiles (0.02s) 215s --- PASS: TestApplyPolicy/Computer,_multiple_profiles, (0.02s) 215s --- PASS: TestApplyPolicy/User,_no_entries,_existing_user_profile_is_deleted (0.00s) 215s --- PASS: TestApplyPolicy/Error_on_preprocessing_old_profiles_failing (0.02s) 215s --- PASS: TestApplyPolicy/User,_no_machine_profiles (0.00s) 215s --- PASS: TestApplyPolicy/Error_on_read-only_.new_directory (0.01s) 215s --- PASS: TestApplyPolicy/User,_error_on_invalid_user_profile,_delete_previous (0.02s) 215s PASS 215s ok github.com/ubuntu/adsys/internal/policies/apparmor 0.271s 216s ? github.com/ubuntu/adsys/internal/policies/entry [no test files] 217s === RUN TestCertAutoenrollScript 217s === RUN TestCertAutoenrollScript/Error_on_invalid_JSON_keys 217s === RUN TestCertAutoenrollScript/Error_on_unenroll_failure 217s === RUN TestCertAutoenrollScript/Enroll_with_simple_configuration 217s === RUN TestCertAutoenrollScript/Enroll_with_valid_advanced_configuration 217s === RUN TestCertAutoenrollScript/Error_on_invalid_flags 217s === RUN TestCertAutoenrollScript/Error_on_invalid_JSON_structure 217s === RUN TestCertAutoenrollScript/Error_on_enroll_failure 217s === RUN TestCertAutoenrollScript/Enroll_with_simple_configuration_and_debug_enabled 217s === RUN TestCertAutoenrollScript/Enroll_with_empty_advanced_configuration 217s === RUN TestCertAutoenrollScript/Enroll_with_certmonger_not_installed 217s === RUN TestCertAutoenrollScript/Error_on_missing_arguments 217s === RUN TestCertAutoenrollScript/Error_on_read-only_path 217s === RUN TestCertAutoenrollScript/Unenroll 217s === RUN TestCertAutoenrollScript/Enroll_with_cepces_not_installed 217s === RUN TestCertAutoenrollScript/Error_on_invalid_JSON 217s --- PASS: TestCertAutoenrollScript (1.64s) 217s --- PASS: TestCertAutoenrollScript/Error_on_invalid_JSON_keys (0.30s) 217s --- PASS: TestCertAutoenrollScript/Error_on_unenroll_failure (0.20s) 217s --- PASS: TestCertAutoenrollScript/Enroll_with_simple_configuration (0.06s) 217s --- PASS: TestCertAutoenrollScript/Enroll_with_valid_advanced_configuration (0.06s) 217s --- PASS: TestCertAutoenrollScript/Error_on_invalid_flags (0.06s) 217s --- PASS: TestCertAutoenrollScript/Error_on_invalid_JSON_structure (0.14s) 217s --- PASS: TestCertAutoenrollScript/Error_on_enroll_failure (0.18s) 217s --- PASS: TestCertAutoenrollScript/Enroll_with_simple_configuration_and_debug_enabled (0.06s) 217s --- PASS: TestCertAutoenrollScript/Enroll_with_empty_advanced_configuration (0.06s) 217s --- PASS: TestCertAutoenrollScript/Enroll_with_certmonger_not_installed (0.06s) 217s --- PASS: TestCertAutoenrollScript/Error_on_missing_arguments (0.06s) 217s --- PASS: TestCertAutoenrollScript/Error_on_read-only_path (0.14s) 217s --- PASS: TestCertAutoenrollScript/Unenroll (0.06s) 217s --- PASS: TestCertAutoenrollScript/Enroll_with_cepces_not_installed (0.06s) 217s --- PASS: TestCertAutoenrollScript/Error_on_invalid_JSON (0.14s) 217s === RUN TestApplyPolicy 217s === RUN TestApplyPolicy/Computer,_no_entries 217s === RUN TestApplyPolicy/Computer,_autoenroll_disabled 217s === RUN TestApplyPolicy/Computer,_domain_is_offline 217s === RUN TestApplyPolicy/Computer,_configured_to_enroll,_advanced_configuration 217s time="2025-10-31T03:47:11Z" level=info msg="Certificate autoenrollment script ran successfully\n" 217s === RUN TestApplyPolicy/Error_on_autoenroll_script_failure 217s === RUN TestApplyPolicy/Computer,_no_entries,_Samba_cache_present 217s time="2025-10-31T03:47:11Z" level=info msg="Certificate autoenrollment script ran successfully\n" 217s === RUN TestApplyPolicy/Computer,_configured_to_enroll 217s time="2025-10-31T03:47:11Z" level=info msg="Certificate autoenrollment script ran successfully\n" 217s === RUN TestApplyPolicy/Computer,_configured_to_unenroll 217s time="2025-10-31T03:47:11Z" level=info msg="Certificate autoenrollment script ran successfully\n" 217s === RUN TestApplyPolicy/User,_autoenroll_not_supported 217s === RUN TestApplyPolicy/Error_on_invalid_autoenroll_value 217s === RUN TestApplyPolicy/Error_on_invalid_advanced_configuration_value 217s --- PASS: TestApplyPolicy (0.03s) 217s --- PASS: TestApplyPolicy/Computer,_no_entries (0.00s) 217s --- PASS: TestApplyPolicy/Computer,_autoenroll_disabled (0.00s) 217s --- PASS: TestApplyPolicy/Computer,_domain_is_offline (0.00s) 217s --- PASS: TestApplyPolicy/Computer,_configured_to_enroll,_advanced_configuration (0.01s) 217s --- PASS: TestApplyPolicy/Error_on_autoenroll_script_failure (0.00s) 217s --- PASS: TestApplyPolicy/Computer,_no_entries,_Samba_cache_present (0.01s) 217s --- PASS: TestApplyPolicy/Computer,_configured_to_enroll (0.01s) 217s --- PASS: TestApplyPolicy/Computer,_configured_to_unenroll (0.01s) 217s --- PASS: TestApplyPolicy/User,_autoenroll_not_supported (0.00s) 217s --- PASS: TestApplyPolicy/Error_on_invalid_autoenroll_value (0.00s) 217s --- PASS: TestApplyPolicy/Error_on_invalid_advanced_configuration_value (0.00s) 217s === RUN TestMockAutoenrollScript 217s --- PASS: TestMockAutoenrollScript (0.00s) 217s PASS 217s ok github.com/ubuntu/adsys/internal/policies/certificate 1.676s 217s === RUN TestNormalize 217s === PAUSE TestNormalize 217s === RUN TestApplyPolicy 217s === PAUSE TestApplyPolicy 217s === CONT TestNormalize 217s === RUN TestNormalize/Multi-lines_as_with_spaces_inside 217s === PAUSE TestNormalize/Multi-lines_as_with_spaces_inside 217s === RUN TestNormalize/Multi-lines_as_with_quoted_','_is_supported 217s === PAUSE TestNormalize/Multi-lines_as_with_quoted_','_is_supported 217s === RUN TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_are_ignored 217s === PAUSE TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_are_ignored 217s === CONT TestApplyPolicy 217s === RUN TestNormalize/simple_ai_with_no_spaces 217s === PAUSE TestNormalize/simple_ai_with_no_spaces 217s === RUN TestNormalize/empty_quoted_string 217s === RUN TestApplyPolicy/Update_existing_profile_without_needed_db,_trailine_lines_are_removed 217s === PAUSE TestApplyPolicy/Update_existing_profile_without_needed_db,_trailine_lines_are_removed 217s === RUN TestApplyPolicy/Machine_updates_key_is_now_disabled 217s === PAUSE TestApplyPolicy/Machine_updates_key_is_now_disabled 217s === RUN TestApplyPolicy/Multiple_keys_same_category 217s === PAUSE TestApplyPolicy/Multiple_keys_same_category 217s === RUN TestApplyPolicy/Mixing_sections_and_keys_still_groups_sections 217s === PAUSE TestApplyPolicy/Mixing_sections_and_keys_still_groups_sections 217s === RUN TestApplyPolicy/Normalized_canonical_form_for_each_supported_key 217s === PAUSE TestApplyPolicy/Normalized_canonical_form_for_each_supported_key 217s === RUN TestApplyPolicy/Error_on_invalid_value_for_unnormalized_type 217s === PAUSE TestApplyPolicy/Error_on_invalid_value_for_unnormalized_type 217s === RUN TestApplyPolicy/Update_machine_disabled_key_with_value 217s === PAUSE TestApplyPolicy/Update_machine_disabled_key_with_value 217s === RUN TestApplyPolicy/Error_when_machine_db_does_not_exist 217s === PAUSE TestApplyPolicy/Error_when_machine_db_does_not_exist 217s === RUN TestApplyPolicy/Error_on_invalid_ai 217s === PAUSE TestApplyPolicy/Error_on_invalid_ai 217s === RUN TestApplyPolicy/Update_existing_correct_profile_stays_unchanged 217s === PAUSE TestApplyPolicy/Update_existing_correct_profile_stays_unchanged 217s === RUN TestApplyPolicy/Update_existing_profile_without_needed_db_append_them 217s === PAUSE TestApplyPolicy/Update_existing_profile_without_needed_db_append_them 217s === RUN TestApplyPolicy/Update_existing_profile_with_wrong_order_appends_them_in_correct_order 217s === PAUSE TestApplyPolicy/Update_existing_profile_with_wrong_order_appends_them_in_correct_order 217s === RUN TestApplyPolicy/User_updates_with_different_value 217s === PAUSE TestApplyPolicy/User_updates_with_different_value 217s === RUN TestApplyPolicy/No_update_when_no_change 217s === PAUSE TestApplyPolicy/No_update_when_no_change 217s === RUN TestApplyPolicy/Missing_machine_compiled_db_for_user 217s === PAUSE TestApplyPolicy/Missing_machine_compiled_db_for_user 217s === RUN TestApplyPolicy/Unquoted_string 217s === PAUSE TestApplyPolicy/Unquoted_string 217s === RUN TestApplyPolicy/Quoted_i 217s === PAUSE TestApplyPolicy/Quoted_i 217s === RUN TestApplyPolicy/No_surrounding_brackets_multiple_ai 217s === PAUSE TestApplyPolicy/No_surrounding_brackets_multiple_ai 217s === RUN TestApplyPolicy/No_surrounding_brackets_unquoted_multiple_as 217s === PAUSE TestApplyPolicy/No_surrounding_brackets_unquoted_multiple_as 217s === RUN TestApplyPolicy/No_surrounding_brackets_quoted_as 217s === PAUSE TestApplyPolicy/No_surrounding_brackets_quoted_as 217s === RUN TestApplyPolicy/Multi-lines_ai_mixed_with_comma 217s === PAUSE TestApplyPolicy/Multi-lines_ai_mixed_with_comma 217s === RUN TestApplyPolicy/Invalid_as_is_too_robust_to_produce_defaulting_values 217s === PAUSE TestApplyPolicy/Invalid_as_is_too_robust_to_produce_defaulting_values 217s === RUN TestApplyPolicy/Update_existing_correct_profile_with_trailing_spaces_are_removed 217s === PAUSE TestApplyPolicy/Update_existing_correct_profile_with_trailing_spaces_are_removed 217s === RUN TestApplyPolicy/New_user 217s === PAUSE TestApplyPolicy/New_user 217s === RUN TestApplyPolicy/User_updates_existing_value 217s === PAUSE TestApplyPolicy/User_updates_existing_value 217s === RUN TestApplyPolicy/Machine_updates_existing_value 217s === PAUSE TestApplyPolicy/Machine_updates_existing_value 217s === RUN TestApplyPolicy/Machine_updates_with_different_value 217s === PAUSE TestApplyPolicy/Machine_updates_with_different_value 217s === RUN TestApplyPolicy/Multiple_sections_with_disabled_keys 217s === PAUSE TestApplyPolicy/Multiple_sections_with_disabled_keys 217s === RUN TestApplyPolicy/Missing_machine_compiled_db_for_machine 217s === PAUSE TestApplyPolicy/Missing_machine_compiled_db_for_machine 217s === RUN TestApplyPolicy/Quoted_b 217s === PAUSE TestApplyPolicy/Quoted_b 217s === RUN TestApplyPolicy/Error_on_invalid_type 217s === PAUSE TestApplyPolicy/Error_on_invalid_type 217s === RUN TestApplyPolicy/First_boot 217s === PAUSE TestApplyPolicy/First_boot 217s === RUN TestApplyPolicy/Multiple_sections 217s === PAUSE TestApplyPolicy/Multiple_sections 217s === RUN TestApplyPolicy/No_policy_still_generates_a_valid_db 217s === PAUSE TestApplyPolicy/No_policy_still_generates_a_valid_db 217s === RUN TestApplyPolicy/Update_user_disabled_key_with_value 217s === PAUSE TestApplyPolicy/Update_user_disabled_key_with_value 217s === RUN TestApplyPolicy/Missing_user_compiled_db_for_user 217s === PAUSE TestApplyPolicy/Missing_user_compiled_db_for_user 217s === RUN TestApplyPolicy/No_surrounding_brackets_ai 217s === PAUSE TestApplyPolicy/No_surrounding_brackets_ai 217s === RUN TestApplyPolicy/No_surrounding_brackets_quoted_multiple_as 217s === PAUSE TestApplyPolicy/No_surrounding_brackets_quoted_multiple_as 217s === RUN TestApplyPolicy/Multi-lines_as 217s === PAUSE TestApplyPolicy/Multi-lines_as 217s === RUN TestApplyPolicy/No_surrounding_brackets_unquoted_as 217s === PAUSE TestApplyPolicy/No_surrounding_brackets_unquoted_as 217s === RUN TestApplyPolicy/Do_not_update_other_files_from_db 217s === PAUSE TestApplyPolicy/Do_not_update_other_files_from_db 217s === RUN TestApplyPolicy/Update_existing_profile_with_partial_db_append_them_without_repetition 217s === PAUSE TestApplyPolicy/Update_existing_profile_with_partial_db_append_them_without_repetition 217s === RUN TestApplyPolicy/Update_existing_profile_eliminates_adsys_DB_repetitions 217s === PAUSE TestApplyPolicy/Update_existing_profile_eliminates_adsys_DB_repetitions 217s === RUN TestApplyPolicy/User_updates_key_is_now_disabled 217s === PAUSE TestApplyPolicy/User_updates_key_is_now_disabled 217s === RUN TestApplyPolicy/Multi-lines_as_mixed_with_comma 217s === PAUSE TestApplyPolicy/Multi-lines_as_mixed_with_comma 217s === RUN TestApplyPolicy/Multi-lines_ai 217s === PAUSE TestApplyPolicy/Multi-lines_ai 217s === RUN TestApplyPolicy/Do_not_interfere_with_other_user_profile 217s === PAUSE TestApplyPolicy/Do_not_interfere_with_other_user_profile 217s === RUN TestApplyPolicy/Error_on_empty_meta 217s === PAUSE TestApplyPolicy/Error_on_empty_meta 217s === CONT TestApplyPolicy/Update_existing_profile_without_needed_db,_trailine_lines_are_removed 217s === PAUSE TestNormalize/empty_quoted_string 217s === RUN TestNormalize/as_simple_quoted_as_with_spaces 217s === PAUSE TestNormalize/as_simple_quoted_as_with_spaces 217s === RUN TestNormalize/simple_ai 217s === PAUSE TestNormalize/simple_ai 217s === RUN TestNormalize/ai_with_leading_and_ending_spaces_and__[] 217s === PAUSE TestNormalize/ai_with_leading_and_ending_spaces_and__[] 217s === RUN TestNormalize/Multi-lines_ai_with_consecutive_empty_lines_strips_empty_element 217s === PAUSE TestNormalize/Multi-lines_ai_with_consecutive_empty_lines_strips_empty_element 217s === RUN TestNormalize/quoted_string_with_quotes 217s === PAUSE TestNormalize/quoted_string_with_quotes 217s === RUN TestNormalize/as_with_leading_and_ending_spaces_and_no_[] 217s === PAUSE TestNormalize/as_with_leading_and_ending_spaces_and_no_[] 217s === RUN TestNormalize/simple_as_with_no_spaces 217s === PAUSE TestNormalize/simple_as_with_no_spaces 217s === RUN TestNormalize/as_empty_elements_separated_with_commas_are_kept 217s === PAUSE TestNormalize/as_empty_elements_separated_with_commas_are_kept 217s === RUN TestNormalize/ai_empty_elements_separated_with_commas_are_kept 217s === PAUSE TestNormalize/ai_empty_elements_separated_with_commas_are_kept 217s === RUN TestNormalize/unmanaged_types_are_returned_as_is 217s === PAUSE TestNormalize/unmanaged_types_are_returned_as_is 217s === RUN TestNormalize/one_quote 217s === PAUSE TestNormalize/one_quote 217s === RUN TestNormalize/y_transformed_to_boolean 217s === PAUSE TestNormalize/y_transformed_to_boolean 217s === RUN TestNormalize/simple_boolean_false 217s === PAUSE TestNormalize/simple_boolean_false 217s === RUN TestNormalize/Multi-lines_as_with_consecutive_empty_lines_strip_empty_elements 217s === PAUSE TestNormalize/Multi-lines_as_with_consecutive_empty_lines_strip_empty_elements 217s === RUN TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_after_[]_are_ignored 217s === PAUSE TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_after_[]_are_ignored 217s === RUN TestNormalize/yes_transformed_to_boolean 217s === PAUSE TestNormalize/yes_transformed_to_boolean 217s === RUN TestNormalize/on_transformed_to_boolean 217s === PAUSE TestNormalize/on_transformed_to_boolean 217s === RUN TestNormalize/simple_unquoted_as 217s === PAUSE TestNormalize/simple_unquoted_as 217s === RUN TestNormalize/Multi-lines_ai_with_leading_and_trailing_brackets 217s === PAUSE TestNormalize/Multi-lines_ai_with_leading_and_trailing_brackets 217s === RUN TestNormalize/simple_quoted_string 217s === PAUSE TestNormalize/simple_quoted_string 217s === RUN TestNormalize/n_transformed_to_boolean 217s === PAUSE TestNormalize/n_transformed_to_boolean 217s === RUN TestNormalize/as_with_empty_quoted_can_lead_to_unexpect_result 217s === PAUSE TestNormalize/as_with_empty_quoted_can_lead_to_unexpect_result 217s === RUN TestNormalize/Multi-lines_as_with_empty_lines_strips_empty_elements 217s === PAUSE TestNormalize/Multi-lines_as_with_empty_lines_strips_empty_elements 217s === RUN TestNormalize/string_with_multiple_backslashes_escaped_quotes 217s === PAUSE TestNormalize/string_with_multiple_backslashes_escaped_quotes 217s === RUN TestNormalize/Multi-lines_ai_with_spaces_inside 217s === PAUSE TestNormalize/Multi-lines_ai_with_spaces_inside 217s === RUN TestNormalize/Multi-lines_ai_with_all_unquoted_','_will_split 217s === PAUSE TestNormalize/Multi-lines_ai_with_all_unquoted_','_will_split 217s === RUN TestNormalize/Multi-lines_as_quoted 217s === PAUSE TestNormalize/Multi-lines_as_quoted 217s === RUN TestNormalize/as_partially_quoted_unbalanced_start_can_lead_to_unexpect_result 217s === PAUSE TestNormalize/as_partially_quoted_unbalanced_start_can_lead_to_unexpect_result 217s === RUN TestNormalize/as_partially_quoted_unbalanced_end_can_lead_to_unexpect_result 217s === PAUSE TestNormalize/as_partially_quoted_unbalanced_end_can_lead_to_unexpect_result 217s === RUN TestNormalize/as_wrongly_quoted_will_consider_comma_as_part_of_the_string 217s === PAUSE TestNormalize/as_wrongly_quoted_will_consider_comma_as_part_of_the_string 217s === RUN TestNormalize/Multi-lines_as_with_explicit_empty_element 217s === PAUSE TestNormalize/Multi-lines_as_with_explicit_empty_element 217s === RUN TestNormalize/ai_without_ending_] 217s === PAUSE TestNormalize/ai_without_ending_] 217s === RUN TestNormalize/empty_unquoted_string 217s === PAUSE TestNormalize/empty_unquoted_string 217s === RUN TestNormalize/Multi-lines_as_with_leading_and_trailing_brackets 217s === PAUSE TestNormalize/Multi-lines_as_with_leading_and_trailing_brackets 217s === RUN TestNormalize/Multi-lines_as_and_single_line_mix,_unquoted 217s === PAUSE TestNormalize/Multi-lines_as_and_single_line_mix,_unquoted 217s === RUN TestNormalize/Multi-lines_as_with_all_unquoted_','_will_split 217s === PAUSE TestNormalize/Multi-lines_as_with_all_unquoted_','_will_split 217s === RUN TestNormalize/ai_with_spaces_inside 217s === PAUSE TestNormalize/ai_with_spaces_inside 217s === RUN TestNormalize/Multi-lines_as_unquoted 217s === PAUSE TestNormalize/Multi-lines_as_unquoted 217s === RUN TestNormalize/as_with_spaces_inside 217s === PAUSE TestNormalize/as_with_spaces_inside 217s === RUN TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_are_ignored 217s === PAUSE TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_are_ignored 217s === RUN TestNormalize/one_escaped_quote 217s === PAUSE TestNormalize/one_escaped_quote 217s === RUN TestNormalize/off_transformed_to_boolean 217s === PAUSE TestNormalize/off_transformed_to_boolean 217s === RUN TestNormalize/as_without_ending_] 217s === PAUSE TestNormalize/as_without_ending_] 217s === RUN TestNormalize/Multi-lines_ai_with_empty_lines_strips_empty_element 217s === PAUSE TestNormalize/Multi-lines_ai_with_empty_lines_strips_empty_element 217s === RUN TestNormalize/weird_case_true 217s === PAUSE TestNormalize/weird_case_true 217s === RUN TestNormalize/string_with_escaped_quotes 217s === PAUSE TestNormalize/string_with_escaped_quotes 217s === RUN TestNormalize/no_transformed_to_boolean 217s === PAUSE TestNormalize/no_transformed_to_boolean 217s === RUN TestNormalize/non_supported_is_reported_as_is 217s === PAUSE TestNormalize/non_supported_is_reported_as_is 217s === RUN TestNormalize/simple_quoted_as 217s === PAUSE TestNormalize/simple_quoted_as 217s === RUN TestNormalize/as_partially_quoted_with_comma_can_lead_to_unexpected_result 217s === PAUSE TestNormalize/as_partially_quoted_with_comma_can_lead_to_unexpected_result 217s === RUN TestNormalize/ai_without_leading_[ 217s === PAUSE TestNormalize/ai_without_leading_[ 217s === RUN TestNormalize/ai_with_leading_and_ending_spaces_and_no_[] 217s === PAUSE TestNormalize/ai_with_leading_and_ending_spaces_and_no_[] 217s === RUN TestNormalize/unquoted_string_with_quotes 217s === PAUSE TestNormalize/unquoted_string_with_quotes 217s === RUN TestNormalize/string_with_two_backslashes_don’t_escape_quotes 217s === PAUSE TestNormalize/string_with_two_backslashes_don’t_escape_quotes 217s === RUN TestNormalize/simple_boolean_true 217s === PAUSE TestNormalize/simple_boolean_true 217s === RUN TestNormalize/weird_case_false 217s === PAUSE TestNormalize/weird_case_false 217s === RUN TestNormalize/as_with_leading_and_ending_spaces_and__[] 217s === PAUSE TestNormalize/as_with_leading_and_ending_spaces_and__[] 217s === RUN TestNormalize/as_with_weird_composition_inception_will_be_quoted 217s === PAUSE TestNormalize/as_with_weird_composition_inception_will_be_quoted 217s === RUN TestNormalize/Multi-lines_as_and_single_line_mix,_quoted 217s === PAUSE TestNormalize/Multi-lines_as_and_single_line_mix,_quoted 217s === RUN TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_before_[]_are_ignored 217s === PAUSE TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_before_[]_are_ignored 217s === RUN TestNormalize/simple_unquoted_string 217s === PAUSE TestNormalize/simple_unquoted_string 217s === RUN TestNormalize/Multi-lines_ai 217s === PAUSE TestNormalize/Multi-lines_ai 217s === RUN TestNormalize/as_without_leading_[ 217s === PAUSE TestNormalize/as_without_leading_[ 217s === RUN TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_after_[]_are_ignored 217s === PAUSE TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_after_[]_are_ignored 217s === RUN TestNormalize/with_spaces 217s === PAUSE TestNormalize/with_spaces 217s === RUN TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_before_[]_are_ignored 217s === PAUSE TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_before_[]_are_ignored 217s === RUN TestNormalize/as_partially_quoted_can_lead_to_unexpect_result 217s === PAUSE TestNormalize/as_partially_quoted_can_lead_to_unexpect_result 217s === CONT TestApplyPolicy/Error_on_empty_meta 217s === CONT TestApplyPolicy/Do_not_interfere_with_other_user_profile 217s === CONT TestApplyPolicy/Multi-lines_ai 217s === CONT TestApplyPolicy/Multi-lines_as_mixed_with_comma 217s === CONT TestApplyPolicy/User_updates_key_is_now_disabled 217s === CONT TestApplyPolicy/Update_existing_profile_eliminates_adsys_DB_repetitions 217s === CONT TestApplyPolicy/Update_existing_profile_with_partial_db_append_them_without_repetition 217s === CONT TestApplyPolicy/Do_not_update_other_files_from_db 217s === CONT TestApplyPolicy/No_surrounding_brackets_unquoted_as 217s === CONT TestApplyPolicy/Multi-lines_as 217s === CONT TestApplyPolicy/No_surrounding_brackets_quoted_multiple_as 217s === CONT TestApplyPolicy/No_surrounding_brackets_ai 217s === CONT TestApplyPolicy/Missing_user_compiled_db_for_user 217s === CONT TestApplyPolicy/Update_user_disabled_key_with_value 217s === CONT TestApplyPolicy/No_policy_still_generates_a_valid_db 217s === CONT TestApplyPolicy/Multiple_sections 217s === CONT TestApplyPolicy/First_boot 217s === CONT TestApplyPolicy/Error_on_invalid_type 217s === CONT TestApplyPolicy/Quoted_b 217s === CONT TestApplyPolicy/Missing_machine_compiled_db_for_machine 217s === CONT TestApplyPolicy/Multiple_sections_with_disabled_keys 217s === CONT TestApplyPolicy/Machine_updates_with_different_value 217s === CONT TestApplyPolicy/Machine_updates_existing_value 217s === CONT TestApplyPolicy/User_updates_existing_value 217s === CONT TestApplyPolicy/New_user 217s === CONT TestApplyPolicy/Update_existing_correct_profile_with_trailing_spaces_are_removed 217s === CONT TestApplyPolicy/Invalid_as_is_too_robust_to_produce_defaulting_values 217s === CONT TestApplyPolicy/Multi-lines_ai_mixed_with_comma 217s === CONT TestApplyPolicy/No_surrounding_brackets_quoted_as 217s === CONT TestApplyPolicy/No_surrounding_brackets_unquoted_multiple_as 217s === CONT TestApplyPolicy/No_surrounding_brackets_multiple_ai 217s === CONT TestApplyPolicy/Quoted_i 217s === CONT TestApplyPolicy/Unquoted_string 217s === CONT TestApplyPolicy/Missing_machine_compiled_db_for_user 217s === CONT TestApplyPolicy/No_update_when_no_change 217s === CONT TestApplyPolicy/User_updates_with_different_value 217s === CONT TestApplyPolicy/Update_existing_profile_with_wrong_order_appends_them_in_correct_order 217s === CONT TestApplyPolicy/Update_existing_profile_without_needed_db_append_them 217s === CONT TestApplyPolicy/Update_existing_correct_profile_stays_unchanged 217s === CONT TestApplyPolicy/Error_on_invalid_ai 217s === CONT TestApplyPolicy/Error_when_machine_db_does_not_exist 217s === CONT TestApplyPolicy/Update_machine_disabled_key_with_value 217s === CONT TestApplyPolicy/Error_on_invalid_value_for_unnormalized_type 217s === CONT TestApplyPolicy/Normalized_canonical_form_for_each_supported_key 217s === CONT TestApplyPolicy/Mixing_sections_and_keys_still_groups_sections 217s === CONT TestApplyPolicy/Multiple_keys_same_category 217s === CONT TestApplyPolicy/Machine_updates_key_is_now_disabled 217s === CONT TestNormalize/Multi-lines_as_with_spaces_inside 217s === CONT TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_before_[]_are_ignored 217s --- PASS: TestApplyPolicy (0.00s) 217s --- PASS: TestApplyPolicy/Error_on_empty_meta (0.00s) 217s --- PASS: TestApplyPolicy/Update_existing_profile_without_needed_db,_trailine_lines_are_removed (0.01s) 217s --- PASS: TestApplyPolicy/Multi-lines_ai (0.00s) 217s --- PASS: TestApplyPolicy/Multi-lines_as_mixed_with_comma (0.00s) 217s --- PASS: TestApplyPolicy/Do_not_interfere_with_other_user_profile (0.01s) 217s --- PASS: TestApplyPolicy/Update_existing_profile_eliminates_adsys_DB_repetitions (0.02s) 217s --- PASS: TestApplyPolicy/User_updates_key_is_now_disabled (0.02s) 217s --- PASS: TestApplyPolicy/Update_existing_profile_with_partial_db_append_them_without_repetition (0.01s) 217s --- PASS: TestApplyPolicy/Do_not_update_other_files_from_db (0.01s) 217s --- PASS: TestApplyPolicy/No_surrounding_brackets_unquoted_as (0.00s) 217s --- PASS: TestApplyPolicy/Multi-lines_as (0.01s) 217s --- PASS: TestApplyPolicy/No_surrounding_brackets_quoted_multiple_as (0.01s) 217s --- PASS: TestApplyPolicy/No_surrounding_brackets_ai (0.01s) 217s --- PASS: TestApplyPolicy/Missing_user_compiled_db_for_user (0.01s) 217s --- PASS: TestApplyPolicy/No_policy_still_generates_a_valid_db (0.00s) 217s --- PASS: TestApplyPolicy/Update_user_disabled_key_with_value (0.01s) 217s --- PASS: TestApplyPolicy/First_boot (0.00s) 217s --- PASS: TestApplyPolicy/Multiple_sections (0.00s) 217s --- PASS: TestApplyPolicy/Error_on_invalid_type (0.00s) 217s --- PASS: TestApplyPolicy/Quoted_b (0.00s) 217s --- PASS: TestApplyPolicy/Multiple_sections_with_disabled_keys (0.00s) 217s --- PASS: TestApplyPolicy/Missing_machine_compiled_db_for_machine (0.01s) 217s --- PASS: TestApplyPolicy/Machine_updates_with_different_value (0.01s) 217s --- PASS: TestApplyPolicy/Machine_updates_existing_value (0.01s) 217s --- PASS: TestApplyPolicy/User_updates_existing_value (0.01s) 217s --- PASS: TestApplyPolicy/New_user (0.01s) 217s --- PASS: TestApplyPolicy/Invalid_as_is_too_robust_to_produce_defaulting_values (0.01s) 217s --- PASS: TestApplyPolicy/Update_existing_correct_profile_with_trailing_spaces_are_removed (0.01s) 217s --- PASS: TestApplyPolicy/Multi-lines_ai_mixed_with_comma (0.00s) 217s --- PASS: TestApplyPolicy/No_surrounding_brackets_unquoted_multiple_as (0.00s) 217s --- PASS: TestApplyPolicy/No_surrounding_brackets_quoted_as (0.01s) 217s --- PASS: TestApplyPolicy/No_surrounding_brackets_multiple_ai (0.00s) 217s --- PASS: TestApplyPolicy/Quoted_i (0.00s) 217s --- PASS: TestApplyPolicy/Missing_machine_compiled_db_for_user (0.01s) 217s --- PASS: TestApplyPolicy/Unquoted_string (0.01s) 217s --- PASS: TestApplyPolicy/User_updates_with_different_value (0.01s) 217s --- PASS: TestApplyPolicy/No_update_when_no_change (0.01s) 217s --- PASS: TestApplyPolicy/Update_existing_profile_without_needed_db_append_them (0.01s) 217s --- PASS: TestApplyPolicy/Update_existing_profile_with_wrong_order_appends_them_in_correct_order (0.01s) 217s --- PASS: TestApplyPolicy/Error_on_invalid_ai (0.00s) 217s --- PASS: TestApplyPolicy/Error_when_machine_db_does_not_exist (0.00s) 217s --- PASS: TestApplyPolicy/Update_existing_correct_profile_stays_unchanged (0.01s) 217s --- PASS: TestApplyPolicy/Error_on_invalid_value_for_unnormalized_type (0.00s) 217s --- PASS: TestApplyPolicy/Update_machine_disabled_key_with_value (0.01s) 217s --- PASS: TestApplyPolicy/Normalized_canonical_form_for_each_supported_key (0.01s) 217s --- PASS: TestApplyPolicy/Mixing_sections_and_keys_still_groups_sections (0.01s) 217s --- PASS: TestApplyPolicy/Machine_updates_key_is_now_disabled (0.00s) 217s --- PASS: TestApplyPolicy/Multiple_keys_same_category (0.01s) 217s === CONT TestNormalize/as_partially_quoted_can_lead_to_unexpect_result 217s === CONT TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_after_[]_are_ignored 217s === CONT TestNormalize/as_without_leading_[ 217s === CONT TestNormalize/Multi-lines_ai 217s === CONT TestNormalize/simple_unquoted_string 217s === CONT TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_before_[]_are_ignored 217s === CONT TestNormalize/Multi-lines_as_and_single_line_mix,_quoted 217s === CONT TestNormalize/as_with_weird_composition_inception_will_be_quoted 217s === CONT TestNormalize/as_with_leading_and_ending_spaces_and__[] 217s === CONT TestNormalize/weird_case_false 217s === CONT TestNormalize/simple_boolean_true 217s === CONT TestNormalize/string_with_two_backslashes_don’t_escape_quotes 217s === CONT TestNormalize/unquoted_string_with_quotes 217s === CONT TestNormalize/ai_with_leading_and_ending_spaces_and_no_[] 217s === CONT TestNormalize/ai_without_leading_[ 217s === CONT TestNormalize/as_partially_quoted_with_comma_can_lead_to_unexpected_result 217s === CONT TestNormalize/simple_quoted_as 217s === CONT TestNormalize/non_supported_is_reported_as_is 217s === CONT TestNormalize/no_transformed_to_boolean 217s === CONT TestNormalize/string_with_escaped_quotes 217s === CONT TestNormalize/weird_case_true 217s === CONT TestNormalize/Multi-lines_ai_with_empty_lines_strips_empty_element 217s === CONT TestNormalize/as_without_ending_] 217s === CONT TestNormalize/off_transformed_to_boolean 217s === CONT TestNormalize/one_escaped_quote 217s === CONT TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_are_ignored 217s === CONT TestNormalize/as_with_spaces_inside 217s === CONT TestNormalize/Multi-lines_as_unquoted 217s === CONT TestNormalize/ai_with_spaces_inside 217s === CONT TestNormalize/Multi-lines_as_with_all_unquoted_','_will_split 217s === CONT TestNormalize/Multi-lines_as_and_single_line_mix,_unquoted 217s === CONT TestNormalize/Multi-lines_as_with_leading_and_trailing_brackets 217s === CONT TestNormalize/empty_unquoted_string 217s === CONT TestNormalize/ai_without_ending_] 217s === CONT TestNormalize/Multi-lines_as_with_explicit_empty_element 217s === CONT TestNormalize/as_wrongly_quoted_will_consider_comma_as_part_of_the_string 217s === CONT TestNormalize/as_partially_quoted_unbalanced_end_can_lead_to_unexpect_result 217s === CONT TestNormalize/as_partially_quoted_unbalanced_start_can_lead_to_unexpect_result 217s === CONT TestNormalize/Multi-lines_as_quoted 217s === CONT TestNormalize/Multi-lines_ai_with_all_unquoted_','_will_split 217s === CONT TestNormalize/Multi-lines_ai_with_spaces_inside 217s === CONT TestNormalize/string_with_multiple_backslashes_escaped_quotes 217s === CONT TestNormalize/Multi-lines_as_with_empty_lines_strips_empty_elements 217s === CONT TestNormalize/as_with_empty_quoted_can_lead_to_unexpect_result 217s === CONT TestNormalize/n_transformed_to_boolean 217s === CONT TestNormalize/simple_quoted_string 217s === CONT TestNormalize/Multi-lines_ai_with_leading_and_trailing_brackets 217s === CONT TestNormalize/simple_unquoted_as 217s === CONT TestNormalize/on_transformed_to_boolean 217s === CONT TestNormalize/yes_transformed_to_boolean 217s === CONT TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_after_[]_are_ignored 217s === CONT TestNormalize/Multi-lines_as_with_consecutive_empty_lines_strip_empty_elements 217s === CONT TestNormalize/simple_boolean_false 217s === CONT TestNormalize/y_transformed_to_boolean 217s === CONT TestNormalize/one_quote 217s === CONT TestNormalize/unmanaged_types_are_returned_as_is 217s === CONT TestNormalize/ai_empty_elements_separated_with_commas_are_kept 217s === CONT TestNormalize/as_empty_elements_separated_with_commas_are_kept 217s === CONT TestNormalize/simple_as_with_no_spaces 217s === CONT TestNormalize/as_with_leading_and_ending_spaces_and_no_[] 217s === CONT TestNormalize/quoted_string_with_quotes 217s === CONT TestNormalize/Multi-lines_ai_with_consecutive_empty_lines_strips_empty_element 217s === CONT TestNormalize/ai_with_leading_and_ending_spaces_and__[] 217s === CONT TestNormalize/simple_ai 217s === CONT TestNormalize/as_simple_quoted_as_with_spaces 217s === CONT TestNormalize/empty_quoted_string 217s === CONT TestNormalize/simple_ai_with_no_spaces 217s === CONT TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_are_ignored 217s === CONT TestNormalize/Multi-lines_as_with_quoted_','_is_supported 217s === CONT TestNormalize/with_spaces 217s --- PASS: TestNormalize (0.00s) 217s --- PASS: TestNormalize/Multi-lines_as_with_spaces_inside (0.00s) 217s --- PASS: TestNormalize/as_partially_quoted_can_lead_to_unexpect_result (0.00s) 217s --- PASS: TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_after_[]_are_ignored (0.00s) 217s --- PASS: TestNormalize/as_without_leading_[ (0.00s) 217s --- PASS: TestNormalize/Multi-lines_ai (0.00s) 217s --- PASS: TestNormalize/simple_unquoted_string (0.00s) 217s --- PASS: TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_before_[]_are_ignored (0.00s) 217s --- PASS: TestNormalize/Multi-lines_as_and_single_line_mix,_quoted (0.00s) 217s --- PASS: TestNormalize/as_with_weird_composition_inception_will_be_quoted (0.00s) 217s --- PASS: TestNormalize/as_with_leading_and_ending_spaces_and__[] (0.00s) 217s --- PASS: TestNormalize/weird_case_false (0.00s) 217s --- PASS: TestNormalize/simple_boolean_true (0.00s) 217s --- PASS: TestNormalize/string_with_two_backslashes_don’t_escape_quotes (0.00s) 217s --- PASS: TestNormalize/unquoted_string_with_quotes (0.00s) 217s --- PASS: TestNormalize/ai_with_leading_and_ending_spaces_and_no_[] (0.00s) 217s --- PASS: TestNormalize/ai_without_leading_[ (0.00s) 217s --- PASS: TestNormalize/as_partially_quoted_with_comma_can_lead_to_unexpected_result (0.00s) 217s --- PASS: TestNormalize/simple_quoted_as (0.00s) 217s --- PASS: TestNormalize/non_supported_is_reported_as_is (0.00s) 217s --- PASS: TestNormalize/no_transformed_to_boolean (0.00s) 217s --- PASS: TestNormalize/string_with_escaped_quotes (0.00s) 217s --- PASS: TestNormalize/weird_case_true (0.00s) 217s --- PASS: TestNormalize/Multi-lines_ai_with_empty_lines_strips_empty_element (0.00s) 217s --- PASS: TestNormalize/as_without_ending_] (0.00s) 217s --- PASS: TestNormalize/off_transformed_to_boolean (0.00s) 217s --- PASS: TestNormalize/one_escaped_quote (0.00s) 217s --- PASS: TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_are_ignored (0.00s) 217s --- PASS: TestNormalize/as_with_spaces_inside (0.00s) 217s --- PASS: TestNormalize/Multi-lines_as_unquoted (0.00s) 217s --- PASS: TestNormalize/ai_with_spaces_inside (0.00s) 217s --- PASS: TestNormalize/Multi-lines_as_with_all_unquoted_','_will_split (0.00s) 217s --- PASS: TestNormalize/Multi-lines_as_and_single_line_mix,_unquoted (0.00s) 217s --- PASS: TestNormalize/Multi-lines_as_with_leading_and_trailing_brackets (0.00s) 217s --- PASS: TestNormalize/empty_unquoted_string (0.00s) 217s --- PASS: TestNormalize/ai_without_ending_] (0.00s) 217s --- PASS: TestNormalize/Multi-lines_as_with_explicit_empty_element (0.00s) 217s --- PASS: TestNormalize/as_wrongly_quoted_will_consider_comma_as_part_of_the_string (0.00s) 217s --- PASS: TestNormalize/as_partially_quoted_unbalanced_end_can_lead_to_unexpect_result (0.00s) 217s --- PASS: TestNormalize/as_partially_quoted_unbalanced_start_can_lead_to_unexpect_result (0.00s) 217s --- PASS: TestNormalize/Multi-lines_as_quoted (0.00s) 217s --- PASS: TestNormalize/Multi-lines_ai_with_all_unquoted_','_will_split (0.00s) 217s --- PASS: TestNormalize/Multi-lines_ai_with_spaces_inside (0.00s) 217s --- PASS: TestNormalize/string_with_multiple_backslashes_escaped_quotes (0.00s) 217s --- PASS: TestNormalize/Multi-lines_as_with_empty_lines_strips_empty_elements (0.00s) 217s --- PASS: TestNormalize/as_with_empty_quoted_can_lead_to_unexpect_result (0.00s) 217s --- PASS: TestNormalize/n_transformed_to_boolean (0.00s) 217s --- PASS: TestNormalize/simple_quoted_string (0.00s) 217s --- PASS: TestNormalize/Multi-lines_ai_with_leading_and_trailing_brackets (0.00s) 217s --- PASS: TestNormalize/simple_unquoted_as (0.00s) 217s --- PASS: TestNormalize/on_transformed_to_boolean (0.00s) 217s --- PASS: TestNormalize/yes_transformed_to_boolean (0.00s) 217s --- PASS: TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_after_[]_are_ignored (0.00s) 217s --- PASS: TestNormalize/Multi-lines_as_with_consecutive_empty_lines_strip_empty_elements (0.00s) 217s --- PASS: TestNormalize/simple_boolean_false (0.00s) 217s --- PASS: TestNormalize/y_transformed_to_boolean (0.00s) 217s --- PASS: TestNormalize/one_quote (0.00s) 217s --- PASS: TestNormalize/unmanaged_types_are_returned_as_is (0.00s) 217s --- PASS: TestNormalize/ai_empty_elements_separated_with_commas_are_kept (0.00s) 217s --- PASS: TestNormalize/as_empty_elements_separated_with_commas_are_kept (0.00s) 217s --- PASS: TestNormalize/simple_as_with_no_spaces (0.00s) 217s --- PASS: TestNormalize/as_with_leading_and_ending_spaces_and_no_[] (0.00s) 217s --- PASS: TestNormalize/quoted_string_with_quotes (0.00s) 217s --- PASS: TestNormalize/Multi-lines_ai_with_consecutive_empty_lines_strips_empty_element (0.00s) 217s --- PASS: TestNormalize/ai_with_leading_and_ending_spaces_and__[] (0.00s) 217s --- PASS: TestNormalize/simple_ai (0.00s) 217s --- PASS: TestNormalize/as_simple_quoted_as_with_spaces (0.00s) 217s --- PASS: TestNormalize/empty_quoted_string (0.00s) 217s --- PASS: TestNormalize/simple_ai_with_no_spaces (0.00s) 217s --- PASS: TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_are_ignored (0.00s) 217s --- PASS: TestNormalize/Multi-lines_as_with_quoted_','_is_supported (0.00s) 217s --- PASS: TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_before_[]_are_ignored (0.00s) 217s --- PASS: TestNormalize/with_spaces (0.00s) 217s PASS 217s ok github.com/ubuntu/adsys/internal/policies/dconf 0.187s 217s === RUN TestApplyPolicy 217s === PAUSE TestApplyPolicy 217s === CONT TestApplyPolicy 217s === RUN TestApplyPolicy/dconf_policy 217s === PAUSE TestApplyPolicy/dconf_policy 217s === CONT TestApplyPolicy/dconf_policy 217s --- PASS: TestApplyPolicy (0.00s) 217s --- PASS: TestApplyPolicy/dconf_policy (0.01s) 217s PASS 217s ok github.com/ubuntu/adsys/internal/policies/gdm 0.010s 221s === RUN TestParseEntryValues 221s === PAUSE TestParseEntryValues 221s === RUN TestWriteFileWithUIDGID 221s === PAUSE TestWriteFileWithUIDGID 221s === RUN TestCreateUnits 221s === PAUSE TestCreateUnits 221s === RUN TestNew 221s === PAUSE TestNew 221s === RUN TestApplyPolicy 221s === PAUSE TestApplyPolicy 221s === CONT TestParseEntryValues 221s === RUN TestParseEntryValues/Returns_empty_slice_if_the_entry_is_empty 221s === PAUSE TestParseEntryValues/Returns_empty_slice_if_the_entry_is_empty 221s === RUN TestParseEntryValues/Error_when_parsing_entry_with_badly_formatted_values 221s === PAUSE TestParseEntryValues/Error_when_parsing_entry_with_badly_formatted_values 221s === RUN TestParseEntryValues/Parse_values_from_entry_with_one_value 221s === CONT TestNew 221s === RUN TestNew/Creates_manager_successfully 221s === PAUSE TestNew/Creates_manager_successfully 221s === RUN TestNew/Error_when_runDir_has_invalid_permissions 221s === PAUSE TestNew/Error_when_runDir_has_invalid_permissions 221s === RUN TestNew/Error_when_systemUnitDir_has_invalid_permissions 221s === PAUSE TestNew/Error_when_systemUnitDir_has_invalid_permissions 221s === CONT TestNew/Creates_manager_successfully 221s === PAUSE TestParseEntryValues/Parse_values_from_entry_with_one_value 221s === RUN TestParseEntryValues/Parse_values_from_entry_with_multiple_values 221s === PAUSE TestParseEntryValues/Parse_values_from_entry_with_multiple_values 221s === RUN TestParseEntryValues/Parse_values_from_entry_with_repeated_values 221s === PAUSE TestParseEntryValues/Parse_values_from_entry_with_repeated_values 221s === RUN TestParseEntryValues/Parse_values_trimming_whitespaces 221s === PAUSE TestParseEntryValues/Parse_values_trimming_whitespaces 221s === RUN TestParseEntryValues/Parse_values_trimming_sequential_linebreaks 221s === PAUSE TestParseEntryValues/Parse_values_trimming_sequential_linebreaks 221s === RUN TestParseEntryValues/Parse_values_from_entry_with_kerberos_auth_tags 221s === PAUSE TestParseEntryValues/Parse_values_from_entry_with_kerberos_auth_tags 221s === CONT TestApplyPolicy 221s === CONT TestNew/Error_when_systemUnitDir_has_invalid_permissions 221s === CONT TestNew/Error_when_runDir_has_invalid_permissions 221s --- PASS: TestNew (0.00s) 221s --- PASS: TestNew/Creates_manager_successfully (0.00s) 221s --- PASS: TestNew/Error_when_systemUnitDir_has_invalid_permissions (0.00s) 221s --- PASS: TestNew/Error_when_runDir_has_invalid_permissions (0.00s) 221s === CONT TestCreateUnits 221s === RUN TestCreateUnits/Write_single_unit 221s === PAUSE TestCreateUnits/Write_single_unit 221s === RUN TestCreateUnits/Write_multiple_units 221s === PAUSE TestCreateUnits/Write_multiple_units 221s === RUN TestCreateUnits/Write_krb5_tagged_unit 221s === PAUSE TestCreateUnits/Write_krb5_tagged_unit 221s === CONT TestWriteFileWithUIDGID 221s === RUN TestWriteFileWithUIDGID/Write_file_with_current_user_ownership 221s === PAUSE TestWriteFileWithUIDGID/Write_file_with_current_user_ownership 221s === RUN TestWriteFileWithUIDGID/Error_when_invalid_uid 221s === PAUSE TestWriteFileWithUIDGID/Error_when_invalid_uid 221s === RUN TestWriteFileWithUIDGID/Error_when_invalid_gid 221s === PAUSE TestWriteFileWithUIDGID/Error_when_invalid_gid 221s === RUN TestWriteFileWithUIDGID/Error_when_writing_on_a_dir_with_invalid_permissions 221s === PAUSE TestWriteFileWithUIDGID/Error_when_writing_on_a_dir_with_invalid_permissions 221s === RUN TestWriteFileWithUIDGID/Error_when_path_already_exists_as_a_directory 221s === PAUSE TestWriteFileWithUIDGID/Error_when_path_already_exists_as_a_directory 221s === CONT TestParseEntryValues/Returns_empty_slice_if_the_entry_is_empty 221s === CONT TestParseEntryValues/Parse_values_from_entry_with_repeated_values 221s === RUN TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_multiple_values 221s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_multiple_values 221s === RUN TestApplyPolicy/System,_successfully_apply_policy_prioritizing_the_first_value_found,_despite_the_tag 221s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_prioritizing_the_first_value_found,_despite_the_tag 221s === RUN TestApplyPolicy/Error_when_user_has_invalid_uid 221s === PAUSE TestApplyPolicy/Error_when_user_has_invalid_uid 221s === RUN TestApplyPolicy/User,_creates_only_dirs_if_the_entry_is_empty 221s === PAUSE TestApplyPolicy/User,_creates_only_dirs_if_the_entry_is_empty 221s === RUN TestApplyPolicy/System,_successfully_apply_policy_trimming_whitespaces 221s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_trimming_whitespaces 221s === RUN TestApplyPolicy/Error_when_cleaning_up_user_policy_with_no_entries_and_path_already_exists_as_a_directory 221s === PAUSE TestApplyPolicy/Error_when_cleaning_up_user_policy_with_no_entries_and_path_already_exists_as_a_directory 221s === RUN TestApplyPolicy/Error_when_updating_policy_and_system_mount_unit_to_remove_is_a_dir 221s === PAUSE TestApplyPolicy/Error_when_updating_policy_and_system_mount_unit_to_remove_is_a_dir 221s === RUN TestApplyPolicy/User,_successfully_apply_policy_trimming_sequential_linebreaks 221s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_trimming_sequential_linebreaks 221s === RUN TestApplyPolicy/System,_successfully_apply_policy_with_kerberos_tagged_values 221s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_with_kerberos_tagged_values 221s === RUN TestApplyPolicy/Creates_only_dirs_when_trying_to_policy_with_unsupported_key 221s === PAUSE TestApplyPolicy/Creates_only_dirs_when_trying_to_policy_with_unsupported_key 221s === RUN TestApplyPolicy/System,_successfully_apply_policy_trimming_sequential_linebreaks 221s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_trimming_sequential_linebreaks 221s === RUN TestApplyPolicy/Error_when_cleaning_up_user_policy_with_invalid_user 221s === PAUSE TestApplyPolicy/Error_when_cleaning_up_user_policy_with_invalid_user 221s === RUN TestApplyPolicy/User,_does_nothing_if_the_entry_is_disabled 221s === PAUSE TestApplyPolicy/User,_does_nothing_if_the_entry_is_disabled 221s === RUN TestApplyPolicy/System,_only_emit_a_warning_when_starting_new_units_fails 221s === PAUSE TestApplyPolicy/System,_only_emit_a_warning_when_starting_new_units_fails 221s === RUN TestApplyPolicy/User,_successfully_apply_policy_with_kerberos_auth_tags 221s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_with_kerberos_auth_tags 221s === RUN TestApplyPolicy/System,_does_nothing_if_the_entry_is_disabled 221s === PAUSE TestApplyPolicy/System,_does_nothing_if_the_entry_is_disabled 221s === RUN TestApplyPolicy/Error_when_daemon-reload_fails 221s === PAUSE TestApplyPolicy/Error_when_daemon-reload_fails 221s === RUN TestApplyPolicy/User,_creates_only_dirs_if_there_are_no_entries 221s === PAUSE TestApplyPolicy/User,_creates_only_dirs_if_there_are_no_entries 221s === RUN TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_an_empty_entry 221s === PAUSE TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_an_empty_entry 221s === RUN TestApplyPolicy/Error_when_cleaning_up_user_policy_with_empty_entry_and_path_already_exists_as_a_directory 221s === PAUSE TestApplyPolicy/Error_when_cleaning_up_user_policy_with_empty_entry_and_path_already_exists_as_a_directory 221s === RUN TestApplyPolicy/Error_when_applying_system_policy_and_the_entry_is_errored 221s === PAUSE TestApplyPolicy/Error_when_applying_system_policy_and_the_entry_is_errored 221s === RUN TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_repeated_tagged_values 221s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_repeated_tagged_values 221s === RUN TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_an_empty_entry 221s === PAUSE TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_an_empty_entry 221s === RUN TestApplyPolicy/System,_only_emit_a_warning_when_stopping_previous_units_fails 221s === PAUSE TestApplyPolicy/System,_only_emit_a_warning_when_stopping_previous_units_fails 221s === RUN TestApplyPolicy/Error_when_enabling_new_units_fails 221s === PAUSE TestApplyPolicy/Error_when_enabling_new_units_fails 221s === RUN TestApplyPolicy/Error_when_applying_policy_and_system_mount_unit_already_exists_as_dir 221s === PAUSE TestApplyPolicy/Error_when_applying_policy_and_system_mount_unit_already_exists_as_dir 221s === RUN TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_disabled_entry 221s === PAUSE TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_disabled_entry 221s === RUN TestApplyPolicy/Error_when_mounts_file_path_already_exists_as_a_directory 221s === PAUSE TestApplyPolicy/Error_when_mounts_file_path_already_exists_as_a_directory 221s === RUN TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_no_entries 221s === PAUSE TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_no_entries 221s === RUN TestApplyPolicy/System,_mount_units_are_updated_on_refreshing_policy_with_an_entry_with_multiple_values 221s === PAUSE TestApplyPolicy/System,_mount_units_are_updated_on_refreshing_policy_with_an_entry_with_multiple_values 221s === RUN TestApplyPolicy/Error_when_user_has_invalid_gid 221s === PAUSE TestApplyPolicy/Error_when_user_has_invalid_gid 221s === RUN TestApplyPolicy/Creates_only_dirs_when_trying_to_apply_policy_with_no_entries 221s === PAUSE TestApplyPolicy/Creates_only_dirs_when_trying_to_apply_policy_with_no_entries 221s === RUN TestApplyPolicy/Error_when_applying_policy_with_entry_containing_badly_formatted_value 221s === PAUSE TestApplyPolicy/Error_when_applying_policy_with_entry_containing_badly_formatted_value 221s === RUN TestApplyPolicy/System,_does_nothing_if_the_entry_is_empty 221s === PAUSE TestApplyPolicy/System,_does_nothing_if_the_entry_is_empty 221s === RUN TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_repeated_values 221s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_repeated_values 221s === RUN TestApplyPolicy/User,_successfully_apply_policy_prioritizing_the_first_value_found,_despite_the_tag 221s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_prioritizing_the_first_value_found,_despite_the_tag 221s === RUN TestApplyPolicy/User,_successfully_apply_policy_trimming_whitespaces 221s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_trimming_whitespaces 221s === RUN TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_repeated_tagged_values 221s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_repeated_tagged_values 221s === RUN TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_multiple_values 221s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_multiple_values 221s === RUN TestApplyPolicy/User,_successfully_apply_policy_filtering_out_unsupported_keys 221s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_filtering_out_unsupported_keys 221s === RUN TestApplyPolicy/User,_mount_file_is_updated_on_refreshing_policy_with_an_entry_with_multiple_values 221s === PAUSE TestApplyPolicy/User,_mount_file_is_updated_on_refreshing_policy_with_an_entry_with_multiple_values 221s === RUN TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_one_value 221s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_one_value 221s === RUN TestApplyPolicy/Error_when_users-userDir_has_invalid_permissions 221s === PAUSE TestApplyPolicy/Error_when_users-userDir_has_invalid_permissions 221s === RUN TestApplyPolicy/Error_when_trying_to_update_policy_with_badly_formatted_entry 221s === PAUSE TestApplyPolicy/Error_when_trying_to_update_policy_with_badly_formatted_entry 221s === RUN TestApplyPolicy/Error_when_user_is_not_found 221s === PAUSE TestApplyPolicy/Error_when_user_is_not_found 221s === RUN TestApplyPolicy/Error_when_creating_units_with_bad_entry_values 221s === PAUSE TestApplyPolicy/Error_when_creating_units_with_bad_entry_values 221s === RUN TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_no_entries 221s === PAUSE TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_no_entries 221s === RUN TestApplyPolicy/Error_when_entry_is_errored 221s === PAUSE TestApplyPolicy/Error_when_entry_is_errored 221s === RUN TestApplyPolicy/System,_successfully_apply_policy_filtering_out_unsupported_keys 221s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_filtering_out_unsupported_keys 221s === RUN TestApplyPolicy/System,_does_nothing_if_there_are_no_entries 221s === PAUSE TestApplyPolicy/System,_does_nothing_if_there_are_no_entries 221s === RUN TestApplyPolicy/System,_mount_units_are_added_on_refreshing_policy_with_some_matching_values 221s === PAUSE TestApplyPolicy/System,_mount_units_are_added_on_refreshing_policy_with_some_matching_values 221s === RUN TestApplyPolicy/Error_when_disabling_units_for_clean_up_fails 221s === PAUSE TestApplyPolicy/Error_when_disabling_units_for_clean_up_fails 221s === RUN TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_one_value 221s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_one_value 221s === RUN TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_a_disabled_entry 221s === PAUSE TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_a_disabled_entry 221s === RUN TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_repeated_values 221s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_repeated_values 221s === CONT TestParseEntryValues/Parse_values_from_entry_with_kerberos_auth_tags 221s === CONT TestParseEntryValues/Parse_values_trimming_sequential_linebreaks 221s === CONT TestParseEntryValues/Parse_values_trimming_whitespaces 221s === CONT TestParseEntryValues/Parse_values_from_entry_with_one_value 221s === CONT TestParseEntryValues/Parse_values_from_entry_with_multiple_values 221s === CONT TestParseEntryValues/Error_when_parsing_entry_with_badly_formatted_values 221s === CONT TestCreateUnits/Write_single_unit 221s --- PASS: TestParseEntryValues (0.00s) 221s --- PASS: TestParseEntryValues/Returns_empty_slice_if_the_entry_is_empty (0.00s) 221s --- PASS: TestParseEntryValues/Parse_values_from_entry_with_repeated_values (0.00s) 221s --- PASS: TestParseEntryValues/Parse_values_from_entry_with_kerberos_auth_tags (0.00s) 221s --- PASS: TestParseEntryValues/Parse_values_trimming_sequential_linebreaks (0.00s) 221s --- PASS: TestParseEntryValues/Parse_values_trimming_whitespaces (0.00s) 221s --- PASS: TestParseEntryValues/Parse_values_from_entry_with_one_value (0.00s) 221s --- PASS: TestParseEntryValues/Error_when_parsing_entry_with_badly_formatted_values (0.00s) 221s --- PASS: TestParseEntryValues/Parse_values_from_entry_with_multiple_values (0.00s) 221s === CONT TestWriteFileWithUIDGID/Write_file_with_current_user_ownership 221s === CONT TestCreateUnits/Write_krb5_tagged_unit 221s === CONT TestCreateUnits/Write_multiple_units 221s === CONT TestWriteFileWithUIDGID/Error_when_path_already_exists_as_a_directory 221s === CONT TestWriteFileWithUIDGID/Error_when_writing_on_a_dir_with_invalid_permissions 221s === CONT TestWriteFileWithUIDGID/Error_when_invalid_gid 221s === CONT TestWriteFileWithUIDGID/Error_when_invalid_uid 221s === CONT TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_multiple_values 221s time="2025-10-31T03:47:15Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath2.mount\": failed to start unit" 221s time="2025-10-31T03:47:15Z" level=warning msg="failed to start unit \"adsys-cifs-otherdomain.com-mount-path.mount\": failed to start unit" 221s time="2025-10-31T03:47:15Z" level=warning msg="failed to start unit \"adsys-nfs-yetanotherdomain.com-mount_path-mount-path.mount\": failed to start unit" 221s --- PASS: TestWriteFileWithUIDGID (0.00s) 221s --- PASS: TestWriteFileWithUIDGID/Write_file_with_current_user_ownership (0.00s) 221s --- PASS: TestWriteFileWithUIDGID/Error_when_writing_on_a_dir_with_invalid_permissions (0.00s) 221s --- PASS: TestWriteFileWithUIDGID/Error_when_invalid_gid (0.00s) 221s --- PASS: TestWriteFileWithUIDGID/Error_when_invalid_uid (0.00s) 221s --- PASS: TestWriteFileWithUIDGID/Error_when_path_already_exists_as_a_directory (0.00s) 221s --- PASS: TestCreateUnits (0.00s) 221s --- PASS: TestCreateUnits/Write_single_unit (0.00s) 221s --- PASS: TestCreateUnits/Write_krb5_tagged_unit (0.00s) 221s --- PASS: TestCreateUnits/Write_multiple_units (0.01s) 221s === CONT TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_no_entries 221s === CONT TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_repeated_values 221s time="2025-10-31T03:47:15Z" level=warning msg="failed to start unit \"adsys-rpt-repeated.com-repeatedmount.mount\": failed to start unit" 221s time="2025-10-31T03:47:15Z" level=warning msg="failed to start unit \"adsys-cifs-single.com-mnt.mount\": failed to start unit" 221s time="2025-10-31T03:47:15Z" level=warning msg="failed to start unit \"adsys-nfs-anotherone.com-mnt.mount\": failed to start unit" 221s === CONT TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_a_disabled_entry 221s === CONT TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_one_value 221s === CONT TestApplyPolicy/Error_when_disabling_units_for_clean_up_fails 221s time="2025-10-31T03:47:15Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 221s time="2025-10-31T03:47:15Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 221s === CONT TestApplyPolicy/System,_mount_units_are_added_on_refreshing_policy_with_some_matching_values 221s time="2025-10-31T03:47:15Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath2.mount\": failed to start unit" 221s time="2025-10-31T03:47:15Z" level=warning msg="failed to start unit \"adsys-cifs-otherdomain.com-mount-path.mount\": failed to start unit" 221s time="2025-10-31T03:47:15Z" level=warning msg="failed to start unit \"adsys-nfs-yetanotherdomain.com-mount_path-mount-path.mount\": failed to start unit" 221s time="2025-10-31T03:47:15Z" level=warning msg="failed to start unit \"adsys-fuse-completelydifferent.com-different-path.mount\": failed to start unit" 221s === CONT TestApplyPolicy/System,_does_nothing_if_there_are_no_entries 221s === CONT TestApplyPolicy/System,_successfully_apply_policy_filtering_out_unsupported_keys 221s time="2025-10-31T03:47:15Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 221s === CONT TestApplyPolicy/Error_when_entry_is_errored 221s === CONT TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_no_entries 221s time="2025-10-31T03:47:15Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 221s === CONT TestApplyPolicy/Error_when_creating_units_with_bad_entry_values 221s === CONT TestApplyPolicy/Error_when_user_is_not_found 221s === CONT TestApplyPolicy/Error_when_trying_to_update_policy_with_badly_formatted_entry 221s time="2025-10-31T03:47:15Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 221s === CONT TestApplyPolicy/Error_when_users-userDir_has_invalid_permissions 221s === CONT TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_one_value 221s === CONT TestApplyPolicy/User,_mount_file_is_updated_on_refreshing_policy_with_an_entry_with_multiple_values 221s === CONT TestApplyPolicy/User,_successfully_apply_policy_filtering_out_unsupported_keys 221s === CONT TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_multiple_values 221s === CONT TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_repeated_tagged_values 221s time="2025-10-31T03:47:15Z" level=warning msg="failed to start unit \"adsys-cifs-single.com-mnt.mount\": failed to start unit" 221s time="2025-10-31T03:47:15Z" level=warning msg="failed to start unit \"adsys-nfs-anotherone.com-mnt.mount\": failed to start unit" 221s time="2025-10-31T03:47:15Z" level=warning msg="failed to start unit \"adsys-rpt-repeated.com-repeatedmount.mount\": failed to start unit" 221s === CONT TestApplyPolicy/User,_successfully_apply_policy_trimming_whitespaces 221s === CONT TestApplyPolicy/User,_successfully_apply_policy_prioritizing_the_first_value_found,_despite_the_tag 221s time="2025-10-31T03:47:15Z" 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." 221s time="2025-10-31T03:47:15Z" 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." 221s === CONT TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_repeated_values 221s === CONT TestApplyPolicy/System,_does_nothing_if_the_entry_is_empty 221s === CONT TestApplyPolicy/Error_when_applying_policy_with_entry_containing_badly_formatted_value 221s === CONT TestApplyPolicy/Creates_only_dirs_when_trying_to_apply_policy_with_no_entries 221s === CONT TestApplyPolicy/Error_when_user_has_invalid_gid 221s === CONT TestApplyPolicy/System,_mount_units_are_updated_on_refreshing_policy_with_an_entry_with_multiple_values 221s time="2025-10-31T03:47:15Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 221s time="2025-10-31T03:47:15Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath2.mount\": failed to start unit" 221s time="2025-10-31T03:47:15Z" level=warning msg="failed to start unit \"adsys-cifs-otherdomain.com-mount-path.mount\": failed to start unit" 221s time="2025-10-31T03:47:15Z" level=warning msg="failed to start unit \"adsys-nfs-yetanotherdomain.com-mount_path-mount-path.mount\": failed to start unit" 221s === CONT TestApplyPolicy/User,_successfully_apply_policy_with_kerberos_auth_tags 221s === CONT TestApplyPolicy/Error_when_mounts_file_path_already_exists_as_a_directory 221s === CONT TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_disabled_entry 221s === CONT TestApplyPolicy/Error_when_applying_policy_and_system_mount_unit_already_exists_as_dir 221s === CONT TestApplyPolicy/Error_when_enabling_new_units_fails 221s === CONT TestApplyPolicy/System,_only_emit_a_warning_when_stopping_previous_units_fails 221s time="2025-10-31T03:47:15Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 221s time="2025-10-31T03:47:15Z" level=warning msg="Failed to stop unit \"adsys-protocol-domain.com-mountpath.mount\": failed to stop unit" 221s === CONT TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_an_empty_entry 221s === CONT TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_repeated_tagged_values 221s === CONT TestApplyPolicy/Error_when_applying_system_policy_and_the_entry_is_errored 221s === CONT TestApplyPolicy/Error_when_cleaning_up_user_policy_with_empty_entry_and_path_already_exists_as_a_directory 221s === CONT TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_an_empty_entry 221s time="2025-10-31T03:47:15Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 221s === CONT TestApplyPolicy/User,_creates_only_dirs_if_there_are_no_entries 221s === CONT TestApplyPolicy/Error_when_daemon-reload_fails 221s === CONT TestApplyPolicy/System,_does_nothing_if_the_entry_is_disabled 221s === CONT TestApplyPolicy/User,_successfully_apply_policy_trimming_sequential_linebreaks 221s === CONT TestApplyPolicy/System,_only_emit_a_warning_when_starting_new_units_fails 221s time="2025-10-31T03:47:15Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 221s === CONT TestApplyPolicy/User,_does_nothing_if_the_entry_is_disabled 221s === CONT TestApplyPolicy/Error_when_cleaning_up_user_policy_with_invalid_user 221s === CONT TestApplyPolicy/System,_successfully_apply_policy_trimming_sequential_linebreaks 221s === CONT TestApplyPolicy/Creates_only_dirs_when_trying_to_policy_with_unsupported_key 221s time="2025-10-31T03:47:15Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mounpath.mount\": failed to start unit" 221s time="2025-10-31T03:47:15Z" level=warning msg="failed to start unit \"adsys-cifs-otherdomain.com-mount-path.mount\": failed to start unit" 221s === CONT TestApplyPolicy/System,_successfully_apply_policy_with_kerberos_tagged_values 221s time="2025-10-31T03:47:15Z" level=warning msg="failed to start unit \"adsys-cifs-authenticated.com-authenticated-mount.mount\": failed to start unit" 221s time="2025-10-31T03:47:15Z" level=warning msg="failed to start unit \"adsys-nfs-krb_domain.com-mount-krb_path.mount\": failed to start unit" 221s time="2025-10-31T03:47:15Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 221s === CONT TestApplyPolicy/System,_successfully_apply_policy_trimming_whitespaces 221s time="2025-10-31T03:47:15Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 221s time="2025-10-31T03:47:15Z" level=warning msg="failed to start unit \"adsys-cifs-otherdomain.com-mount-path.mount\": failed to start unit" 221s time="2025-10-31T03:47:15Z" level=warning msg="failed to start unit \"adsys-nfs-yetanotherdomain.com-path-mount.mount\": failed to start unit" 221s === CONT TestApplyPolicy/Error_when_updating_policy_and_system_mount_unit_to_remove_is_a_dir 221s === CONT TestApplyPolicy/Error_when_cleaning_up_user_policy_with_no_entries_and_path_already_exists_as_a_directory 221s time="2025-10-31T03:47:15Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 221s === CONT TestApplyPolicy/Error_when_user_has_invalid_uid 221s === CONT TestApplyPolicy/User,_creates_only_dirs_if_the_entry_is_empty 221s === CONT TestApplyPolicy/System,_successfully_apply_policy_prioritizing_the_first_value_found,_despite_the_tag 221s time="2025-10-31T03:47:15Z" 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." 221s time="2025-10-31T03:47:15Z" 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." 221s time="2025-10-31T03:47:15Z" level=warning msg="failed to start unit \"adsys-nfs-domain-tagged_first.mount\": failed to start unit" 221s time="2025-10-31T03:47:15Z" level=warning msg="failed to start unit \"adsys-nfs-domain-untagged_first.mount\": failed to start unit" 221s --- PASS: TestApplyPolicy (0.00s) 221s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_multiple_values (0.00s) 221s --- PASS: TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_no_entries (0.00s) 221s --- PASS: TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_a_disabled_entry (0.00s) 221s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_repeated_values (0.01s) 221s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_one_value (0.00s) 221s --- PASS: TestApplyPolicy/Error_when_disabling_units_for_clean_up_fails (0.01s) 221s --- PASS: TestApplyPolicy/System,_does_nothing_if_there_are_no_entries (0.00s) 221s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_filtering_out_unsupported_keys (0.00s) 221s --- PASS: TestApplyPolicy/System,_mount_units_are_added_on_refreshing_policy_with_some_matching_values (0.01s) 221s --- PASS: TestApplyPolicy/Error_when_entry_is_errored (0.00s) 221s --- PASS: TestApplyPolicy/Error_when_creating_units_with_bad_entry_values (0.00s) 221s --- PASS: TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_no_entries (0.00s) 221s --- PASS: TestApplyPolicy/Error_when_trying_to_update_policy_with_badly_formatted_entry (0.00s) 221s --- PASS: TestApplyPolicy/Error_when_user_is_not_found (0.00s) 221s --- PASS: TestApplyPolicy/Error_when_users-userDir_has_invalid_permissions (0.00s) 221s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_one_value (0.00s) 221s --- PASS: TestApplyPolicy/User,_mount_file_is_updated_on_refreshing_policy_with_an_entry_with_multiple_values (0.01s) 221s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_filtering_out_unsupported_keys (0.00s) 221s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_multiple_values (0.00s) 221s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_repeated_tagged_values (0.01s) 221s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_trimming_whitespaces (0.01s) 221s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_repeated_values (0.00s) 221s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_prioritizing_the_first_value_found,_despite_the_tag (0.00s) 221s --- PASS: TestApplyPolicy/Error_when_applying_policy_with_entry_containing_badly_formatted_value (0.00s) 221s --- PASS: TestApplyPolicy/Creates_only_dirs_when_trying_to_apply_policy_with_no_entries (0.00s) 221s --- PASS: TestApplyPolicy/System,_does_nothing_if_the_entry_is_empty (0.00s) 221s --- PASS: TestApplyPolicy/Error_when_user_has_invalid_gid (0.00s) 221s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_with_kerberos_auth_tags (0.00s) 221s --- PASS: TestApplyPolicy/Error_when_mounts_file_path_already_exists_as_a_directory (0.00s) 221s --- PASS: TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_disabled_entry (0.01s) 221s --- PASS: TestApplyPolicy/System,_mount_units_are_updated_on_refreshing_policy_with_an_entry_with_multiple_values (0.01s) 221s --- PASS: TestApplyPolicy/Error_when_enabling_new_units_fails (0.00s) 221s --- PASS: TestApplyPolicy/System,_only_emit_a_warning_when_stopping_previous_units_fails (0.00s) 221s --- PASS: TestApplyPolicy/Error_when_applying_policy_and_system_mount_unit_already_exists_as_dir (0.01s) 221s --- PASS: TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_an_empty_entry (0.00s) 221s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_repeated_tagged_values (0.00s) 221s --- PASS: TestApplyPolicy/Error_when_cleaning_up_user_policy_with_empty_entry_and_path_already_exists_as_a_directory (0.00s) 221s --- PASS: TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_an_empty_entry (0.00s) 221s --- PASS: TestApplyPolicy/Error_when_applying_system_policy_and_the_entry_is_errored (0.01s) 221s --- PASS: TestApplyPolicy/User,_creates_only_dirs_if_there_are_no_entries (0.00s) 221s --- PASS: TestApplyPolicy/Error_when_daemon-reload_fails (0.00s) 221s --- PASS: TestApplyPolicy/System,_does_nothing_if_the_entry_is_disabled (0.00s) 221s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_trimming_sequential_linebreaks (0.00s) 221s --- PASS: TestApplyPolicy/System,_only_emit_a_warning_when_starting_new_units_fails (0.00s) 221s --- PASS: TestApplyPolicy/User,_does_nothing_if_the_entry_is_disabled (0.00s) 221s --- PASS: TestApplyPolicy/Error_when_cleaning_up_user_policy_with_invalid_user (0.00s) 221s --- PASS: TestApplyPolicy/Creates_only_dirs_when_trying_to_policy_with_unsupported_key (0.00s) 221s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_trimming_sequential_linebreaks (0.01s) 221s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_trimming_whitespaces (0.01s) 221s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_with_kerberos_tagged_values (0.01s) 221s --- PASS: TestApplyPolicy/Error_when_cleaning_up_user_policy_with_no_entries_and_path_already_exists_as_a_directory (0.01s) 221s --- PASS: TestApplyPolicy/Error_when_updating_policy_and_system_mount_unit_to_remove_is_a_dir (0.01s) 221s --- PASS: TestApplyPolicy/Error_when_user_has_invalid_uid (0.00s) 221s --- PASS: TestApplyPolicy/User,_creates_only_dirs_if_the_entry_is_empty (0.00s) 221s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_prioritizing_the_first_value_found,_despite_the_tag (0.01s) 221s PASS 221s ok github.com/ubuntu/adsys/internal/policies/mount 0.137s 221s === RUN TestSplitAndNormalizeUsersAndGroups 221s === PAUSE TestSplitAndNormalizeUsersAndGroups 221s === RUN TestPolkitAdminIdentitiesFromConf 221s === PAUSE TestPolkitAdminIdentitiesFromConf 221s === RUN TestPolkitAdminIdentitiesFromRules 221s === PAUSE TestPolkitAdminIdentitiesFromRules 221s === RUN TestApplyPolicy 221s === PAUSE TestApplyPolicy 221s === CONT TestSplitAndNormalizeUsersAndGroups 221s === RUN TestSplitAndNormalizeUsersAndGroups/Multiple_\_only_handling_first_one_and_ignore_others 221s === PAUSE TestSplitAndNormalizeUsersAndGroups/Multiple_\_only_handling_first_one_and_ignore_others 221s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_/ 221s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_/ 221s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_; 221s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_; 221s === RUN TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_a_mix_of_comma_and_EOL 221s === PAUSE TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_a_mix_of_comma_and_EOL 221s === RUN TestSplitAndNormalizeUsersAndGroups/User_name_with_space 221s === PAUSE TestSplitAndNormalizeUsersAndGroups/User_name_with_space 221s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_> 221s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_> 221s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_= 221s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_= 221s === RUN TestSplitAndNormalizeUsersAndGroups/Empty_value_with_comma 221s === PAUSE TestSplitAndNormalizeUsersAndGroups/Empty_value_with_comma 221s === RUN TestSplitAndNormalizeUsersAndGroups/Handle_domain\user 221s === PAUSE TestSplitAndNormalizeUsersAndGroups/Handle_domain\user 221s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_? 221s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_? 221s === RUN TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_consecutives_EOL 221s === PAUSE TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_consecutives_EOL 221s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_| 221s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_| 221s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_< 221s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_< 221s === RUN TestSplitAndNormalizeUsersAndGroups/Empty_value 221s === PAUSE TestSplitAndNormalizeUsersAndGroups/Empty_value 221s === RUN TestSplitAndNormalizeUsersAndGroups/Multiple_values_separated_by_comma 221s === PAUSE TestSplitAndNormalizeUsersAndGroups/Multiple_values_separated_by_comma 221s === RUN TestSplitAndNormalizeUsersAndGroups/Multiple_values_separated_by_EOL 221s === PAUSE TestSplitAndNormalizeUsersAndGroups/Multiple_values_separated_by_EOL 221s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_[ 221s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_[ 221s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_] 221s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_] 221s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_: 221s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_: 221s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_% 221s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_% 221s === RUN TestSplitAndNormalizeUsersAndGroups/Don’t_strip_first_%_but_others 221s === PAUSE TestSplitAndNormalizeUsersAndGroups/Don’t_strip_first_%_but_others 221s === RUN TestSplitAndNormalizeUsersAndGroups/Empty_value_with_EOL 221s === PAUSE TestSplitAndNormalizeUsersAndGroups/Empty_value_with_EOL 221s === RUN TestSplitAndNormalizeUsersAndGroups/Simple_one_value 221s === PAUSE TestSplitAndNormalizeUsersAndGroups/Simple_one_value 221s === RUN TestSplitAndNormalizeUsersAndGroups/Group_one_value 221s === PAUSE TestSplitAndNormalizeUsersAndGroups/Group_one_value 221s === RUN TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_consecutives_comma 221s === PAUSE TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_consecutives_comma 221s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_empty_values 221s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_empty_values 221s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_* 221s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_* 221s === CONT TestPolkitAdminIdentitiesFromRules 221s === RUN TestPolkitAdminIdentitiesFromRules/Prioritize_first_specified_directory_if_files_have_same_ascii 221s === PAUSE TestPolkitAdminIdentitiesFromRules/Prioritize_first_specified_directory_if_files_have_same_ascii 221s === RUN TestPolkitAdminIdentitiesFromRules/Directory_instead_of_a_conf_file_is_ignored 221s === PAUSE TestPolkitAdminIdentitiesFromRules/Directory_instead_of_a_conf_file_is_ignored 221s === RUN TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities_from_lower_ascii_file 221s === PAUSE TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities_from_lower_ascii_file 221s === RUN TestPolkitAdminIdentitiesFromRules/Consider_only_first_returned_value 221s === PAUSE TestPolkitAdminIdentitiesFromRules/Consider_only_first_returned_value 221s === RUN TestPolkitAdminIdentitiesFromRules/Prioritize_lower_ascii_file_even_if_on_second_directory 221s === PAUSE TestPolkitAdminIdentitiesFromRules/Prioritize_lower_ascii_file_even_if_on_second_directory 221s === RUN TestPolkitAdminIdentitiesFromRules/No_previous_admin_identities_but_regular_directory_structure 221s === PAUSE TestPolkitAdminIdentitiesFromRules/No_previous_admin_identities_but_regular_directory_structure 221s === RUN TestPolkitAdminIdentitiesFromRules/Returns_an_empty_string_if_directory_does_not_exists 221s === PAUSE TestPolkitAdminIdentitiesFromRules/Returns_an_empty_string_if_directory_does_not_exists 221s === RUN TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities 221s === PAUSE TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities 221s === RUN TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities_ignoring_adsys 221s === PAUSE TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities_ignoring_adsys 221s === CONT TestApplyPolicy 221s === RUN TestApplyPolicy/Error_on_writing_to_polkit_conf_file 221s === PAUSE TestApplyPolicy/Error_on_writing_to_polkit_conf_file 221s === RUN TestApplyPolicy/Error_on_creating_sudoers_and_polkit_base_directory 221s === PAUSE TestApplyPolicy/Error_on_creating_sudoers_and_polkit_base_directory 221s === RUN TestApplyPolicy/Error_if_can’t_rename_to_destination_for_polkit_conf_file 221s === PAUSE TestApplyPolicy/Error_if_can’t_rename_to_destination_for_polkit_conf_file 221s === RUN TestApplyPolicy/Disallow_local_admins_with_previous_local_admin_conf_and_set_client_admins 221s === PAUSE TestApplyPolicy/Disallow_local_admins_with_previous_local_admin_conf_and_set_client_admins 221s === RUN TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_(simple)_and_set_client_admins 221s === PAUSE TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_(simple)_and_set_client_admins 221s === RUN TestApplyPolicy/Create_on_new_polkit_version_and_remove_old_file 221s === PAUSE TestApplyPolicy/Create_on_new_polkit_version_and_remove_old_file 221s === RUN TestApplyPolicy/No_rules_still_overwrite_those_files 221s === PAUSE TestApplyPolicy/No_rules_still_overwrite_those_files 221s === RUN TestApplyPolicy/Disallow_local_admins 221s === PAUSE TestApplyPolicy/Disallow_local_admins 221s === RUN TestApplyPolicy/Overwrite_existing_sudoers_file 221s === PAUSE TestApplyPolicy/Overwrite_existing_sudoers_file 221s === RUN TestApplyPolicy/Not_a_computer 221s === PAUSE TestApplyPolicy/Not_a_computer 221s === RUN TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_(with_adsys_file)_and_set_client_admins 221s === PAUSE TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_(with_adsys_file)_and_set_client_admins 221s === RUN TestApplyPolicy/Set_client_mixed_with_users_and_group_admins 221s === PAUSE TestApplyPolicy/Set_client_mixed_with_users_and_group_admins 221s === RUN TestApplyPolicy/Disallow_local_admins_and_set_client_admins 221s === PAUSE TestApplyPolicy/Disallow_local_admins_and_set_client_admins 221s === RUN TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_and_set_client_admins 221s === PAUSE TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_and_set_client_admins 221s === RUN TestApplyPolicy/Don't_overwrite_other_existing_files 221s === PAUSE TestApplyPolicy/Don't_overwrite_other_existing_files 221s === RUN TestApplyPolicy/Assume_old_polkit_if_cant_read_system_reserved_path 221s === PAUSE TestApplyPolicy/Assume_old_polkit_if_cant_read_system_reserved_path 221s === RUN TestApplyPolicy/Set_client_user_admins 221s === PAUSE TestApplyPolicy/Set_client_user_admins 221s === RUN TestApplyPolicy/Set_client_multiple_users_admins 221s === PAUSE TestApplyPolicy/Set_client_multiple_users_admins 221s === RUN TestApplyPolicy/Set_client_group_admins 221s === PAUSE TestApplyPolicy/Set_client_group_admins 221s === RUN TestApplyPolicy/Empty_client_AD_admins 221s === PAUSE TestApplyPolicy/Empty_client_AD_admins 221s === RUN TestApplyPolicy/Overwrite_existing_polkit_file 221s === PAUSE TestApplyPolicy/Overwrite_existing_polkit_file 221s === RUN TestApplyPolicy/No_rules_and_no_existing_history_means_no_files 221s === PAUSE TestApplyPolicy/No_rules_and_no_existing_history_means_no_files 221s === RUN TestApplyPolicy/No_client_AD_admins 221s === PAUSE TestApplyPolicy/No_client_AD_admins 221s === RUN TestApplyPolicy/Error_if_can’t_rename_to_destination_for_sudoers_file 221s === PAUSE TestApplyPolicy/Error_if_can’t_rename_to_destination_for_sudoers_file 221s === RUN TestApplyPolicy/Allow_local_admins_with_no_other_rules_is_a_noop 221s === PAUSE TestApplyPolicy/Allow_local_admins_with_no_other_rules_is_a_noop 221s === RUN TestApplyPolicy/Error_on_writing_to_sudoers_file 221s === PAUSE TestApplyPolicy/Error_on_writing_to_sudoers_file 221s === RUN TestApplyPolicy/Error_on_writing_to_polkit_subdirectory_creation 221s === PAUSE TestApplyPolicy/Error_on_writing_to_polkit_subdirectory_creation 221s === RUN TestApplyPolicy/Allow_local_admins_without_previous_local_admin_conf_and_set_client_admins 221s === PAUSE TestApplyPolicy/Allow_local_admins_without_previous_local_admin_conf_and_set_client_admins 221s === CONT TestPolkitAdminIdentitiesFromConf 221s === RUN TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities 221s === PAUSE TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities 221s === RUN TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities_from_highest_ascii_file 221s === PAUSE TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities_from_highest_ascii_file 221s === RUN TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities_ignoring_adsys 221s === PAUSE TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities_ignoring_adsys 221s === RUN TestPolkitAdminIdentitiesFromConf/No_previous_admin_identities_but_regular_directory_structure 221s === PAUSE TestPolkitAdminIdentitiesFromConf/No_previous_admin_identities_but_regular_directory_structure 221s === RUN TestPolkitAdminIdentitiesFromConf/Returns_an_empty_string_if_directory_does_not_exists 221s === PAUSE TestPolkitAdminIdentitiesFromConf/Returns_an_empty_string_if_directory_does_not_exists 221s === RUN TestPolkitAdminIdentitiesFromConf/Directory_instead_of_a_conf_file_is_ignored 221s === PAUSE TestPolkitAdminIdentitiesFromConf/Directory_instead_of_a_conf_file_is_ignored 221s === CONT TestSplitAndNormalizeUsersAndGroups/Multiple_\_only_handling_first_one_and_ignore_others 221s time="2025-10-31T03:47:15Z" level=warning msg="Changed user or group \"domain\\\\user\\\\foo\" to \"userfoo@domain\": Invalid characters or domain\\user format" 221s === CONT TestPolkitAdminIdentitiesFromRules/Prioritize_first_specified_directory_if_files_have_same_ascii 221s === CONT TestApplyPolicy/Error_on_writing_to_polkit_conf_file 221s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_any_* 221s time="2025-10-31T03:47:15Z" level=warning msg="Changed user or group \"u*s*er@domain\" to \"user@domain\": Invalid characters or domain\\user format" 221s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_empty_values 221s === CONT TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_consecutives_comma 221s === CONT TestSplitAndNormalizeUsersAndGroups/Group_one_value 221s === CONT TestSplitAndNormalizeUsersAndGroups/Simple_one_value 221s === CONT TestSplitAndNormalizeUsersAndGroups/Empty_value_with_EOL 221s === CONT TestSplitAndNormalizeUsersAndGroups/Don’t_strip_first_%_but_others 221s time="2025-10-31T03:47:15Z" level=warning msg="Changed user or group \"%g%r%oup@domain\" to \"%group@domain\": Invalid characters or domain\\user format" 221s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_any_% 221s time="2025-10-31T03:47:15Z" level=warning msg="Changed user or group \"u%s%er@domain\" to \"user@domain\": Invalid characters or domain\\user format" 221s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_any_: 221s time="2025-10-31T03:47:15Z" level=warning msg="Changed user or group \"u:s:er@domain\" to \"user@domain\": Invalid characters or domain\\user format" 221s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_any_] 221s time="2025-10-31T03:47:15Z" level=warning msg="Changed user or group \"u]s]er@domain\" to \"user@domain\": Invalid characters or domain\\user format" 221s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_any_[ 221s time="2025-10-31T03:47:15Z" level=warning msg="Changed user or group \"u[s]er@domain\" to \"user@domain\": Invalid characters or domain\\user format" 221s === CONT TestSplitAndNormalizeUsersAndGroups/Multiple_values_separated_by_EOL 221s === CONT TestSplitAndNormalizeUsersAndGroups/Multiple_values_separated_by_comma 221s === CONT TestSplitAndNormalizeUsersAndGroups/Empty_value 221s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_any_< 221s time="2025-10-31T03:47:15Z" level=warning msg="Changed user or group \"u 221s time="2025-10-31T03:47:15Z" level=warning msg="Changed user or group \"u>s>er@domain\" to \"user@domain\": Invalid characters or domain\\user format" 221s === CONT TestSplitAndNormalizeUsersAndGroups/User_name_with_space 221s === CONT TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_a_mix_of_comma_and_EOL 221s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_any_; 221s time="2025-10-31T03:47:15Z" level=warning msg="Changed user or group \"u;s;er@domain\" to \"user@domain\": Invalid characters or domain\\user format" 221s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_any_/ 221s time="2025-10-31T03:47:15Z" level=warning msg="Changed user or group \"u/s/er@domain\" to \"user@domain\": Invalid characters or domain\\user format" 221s === CONT TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities 221s --- PASS: TestSplitAndNormalizeUsersAndGroups (0.00s) 221s --- PASS: TestSplitAndNormalizeUsersAndGroups/Multiple_\_only_handling_first_one_and_ignore_others (0.00s) 221s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_* (0.00s) 221s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_empty_values (0.00s) 221s --- PASS: TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_consecutives_comma (0.00s) 221s --- PASS: TestSplitAndNormalizeUsersAndGroups/Group_one_value (0.00s) 221s --- PASS: TestSplitAndNormalizeUsersAndGroups/Simple_one_value (0.00s) 221s --- PASS: TestSplitAndNormalizeUsersAndGroups/Empty_value_with_EOL (0.00s) 221s --- PASS: TestSplitAndNormalizeUsersAndGroups/Don’t_strip_first_%_but_others (0.00s) 221s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_% (0.00s) 221s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_: (0.00s) 221s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_] (0.00s) 221s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_[ (0.00s) 221s --- PASS: TestSplitAndNormalizeUsersAndGroups/Multiple_values_separated_by_EOL (0.00s) 221s --- PASS: TestSplitAndNormalizeUsersAndGroups/Multiple_values_separated_by_comma (0.00s) 221s --- PASS: TestSplitAndNormalizeUsersAndGroups/Empty_value (0.00s) 221s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_< (0.00s) 221s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_| (0.00s) 221s --- PASS: TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_consecutives_EOL (0.00s) 221s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_? (0.00s) 221s --- PASS: TestSplitAndNormalizeUsersAndGroups/Handle_domain\user (0.00s) 221s --- PASS: TestSplitAndNormalizeUsersAndGroups/Empty_value_with_comma (0.00s) 221s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_= (0.00s) 221s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_> (0.00s) 221s --- PASS: TestSplitAndNormalizeUsersAndGroups/User_name_with_space (0.00s) 221s --- PASS: TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_a_mix_of_comma_and_EOL (0.00s) 221s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_; (0.00s) 221s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_/ (0.00s) 221s === CONT TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities_ignoring_adsys 221s === CONT TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities 221s === CONT TestPolkitAdminIdentitiesFromRules/Returns_an_empty_string_if_directory_does_not_exists 221s === CONT TestPolkitAdminIdentitiesFromRules/No_previous_admin_identities_but_regular_directory_structure 221s === CONT TestPolkitAdminIdentitiesFromRules/Prioritize_lower_ascii_file_even_if_on_second_directory 221s === CONT TestPolkitAdminIdentitiesFromRules/Consider_only_first_returned_value 221s === CONT TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities_from_lower_ascii_file 221s === CONT TestPolkitAdminIdentitiesFromRules/Directory_instead_of_a_conf_file_is_ignored 221s === CONT TestApplyPolicy/Allow_local_admins_without_previous_local_admin_conf_and_set_client_admins 221s === CONT TestApplyPolicy/Error_on_writing_to_polkit_subdirectory_creation 221s --- PASS: TestPolkitAdminIdentitiesFromRules (0.00s) 221s --- PASS: TestPolkitAdminIdentitiesFromRules/Prioritize_first_specified_directory_if_files_have_same_ascii (0.00s) 221s --- PASS: TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities_ignoring_adsys (0.00s) 221s --- PASS: TestPolkitAdminIdentitiesFromRules/Returns_an_empty_string_if_directory_does_not_exists (0.00s) 221s --- PASS: TestPolkitAdminIdentitiesFromRules/No_previous_admin_identities_but_regular_directory_structure (0.00s) 221s --- PASS: TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities (0.00s) 221s --- PASS: TestPolkitAdminIdentitiesFromRules/Prioritize_lower_ascii_file_even_if_on_second_directory (0.00s) 221s --- PASS: TestPolkitAdminIdentitiesFromRules/Consider_only_first_returned_value (0.00s) 221s --- PASS: TestPolkitAdminIdentitiesFromRules/Directory_instead_of_a_conf_file_is_ignored (0.00s) 221s --- PASS: TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities_from_lower_ascii_file (0.00s) 221s === CONT TestApplyPolicy/Error_on_writing_to_sudoers_file 221s === CONT TestApplyPolicy/Allow_local_admins_with_no_other_rules_is_a_noop 221s === CONT TestApplyPolicy/Error_if_can’t_rename_to_destination_for_sudoers_file 221s === CONT TestApplyPolicy/No_client_AD_admins 221s === CONT TestApplyPolicy/No_rules_and_no_existing_history_means_no_files 221s === CONT TestApplyPolicy/Overwrite_existing_polkit_file 221s === CONT TestApplyPolicy/Empty_client_AD_admins 221s === CONT TestApplyPolicy/Set_client_group_admins 221s === CONT TestApplyPolicy/Set_client_multiple_users_admins 221s time="2025-10-31T03:47:15Z" level=warning msg="Changed user or group \"domain\\\\bob\" to \"bob@domain\": Invalid characters or domain\\user format" 221s === CONT TestApplyPolicy/Set_client_user_admins 221s === CONT TestApplyPolicy/Assume_old_polkit_if_cant_read_system_reserved_path 221s === CONT TestApplyPolicy/Don't_overwrite_other_existing_files 221s === CONT TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_and_set_client_admins 221s === CONT TestApplyPolicy/Disallow_local_admins_and_set_client_admins 221s === CONT TestApplyPolicy/Set_client_mixed_with_users_and_group_admins 221s === CONT TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_(with_adsys_file)_and_set_client_admins 221s === CONT TestApplyPolicy/Not_a_computer 221s === CONT TestApplyPolicy/Overwrite_existing_sudoers_file 221s === CONT TestApplyPolicy/Disallow_local_admins 221s === CONT TestApplyPolicy/No_rules_still_overwrite_those_files 221s === CONT TestApplyPolicy/Create_on_new_polkit_version_and_remove_old_file 221s === CONT TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_(simple)_and_set_client_admins 221s === CONT TestApplyPolicy/Disallow_local_admins_with_previous_local_admin_conf_and_set_client_admins 221s === CONT TestApplyPolicy/Error_if_can’t_rename_to_destination_for_polkit_conf_file 221s === CONT TestApplyPolicy/Error_on_creating_sudoers_and_polkit_base_directory 221s === CONT TestPolkitAdminIdentitiesFromConf/No_previous_admin_identities_but_regular_directory_structure 221s === CONT TestPolkitAdminIdentitiesFromConf/Directory_instead_of_a_conf_file_is_ignored 221s === CONT TestPolkitAdminIdentitiesFromConf/Returns_an_empty_string_if_directory_does_not_exists 221s === CONT TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities_from_highest_ascii_file 221s --- PASS: TestApplyPolicy (0.00s) 221s --- PASS: TestApplyPolicy/Error_on_writing_to_polkit_conf_file (0.00s) 221s --- PASS: TestApplyPolicy/Allow_local_admins_without_previous_local_admin_conf_and_set_client_admins (0.00s) 221s --- PASS: TestApplyPolicy/Error_on_writing_to_sudoers_file (0.00s) 221s --- PASS: TestApplyPolicy/Allow_local_admins_with_no_other_rules_is_a_noop (0.00s) 221s --- PASS: TestApplyPolicy/Error_on_writing_to_polkit_subdirectory_creation (0.01s) 221s --- PASS: TestApplyPolicy/No_client_AD_admins (0.00s) 221s --- PASS: TestApplyPolicy/No_rules_and_no_existing_history_means_no_files (0.00s) 221s --- PASS: TestApplyPolicy/Error_if_can’t_rename_to_destination_for_sudoers_file (0.00s) 221s --- PASS: TestApplyPolicy/Overwrite_existing_polkit_file (0.00s) 221s --- PASS: TestApplyPolicy/Empty_client_AD_admins (0.00s) 221s --- PASS: TestApplyPolicy/Set_client_multiple_users_admins (0.00s) 221s --- PASS: TestApplyPolicy/Set_client_group_admins (0.01s) 221s --- PASS: TestApplyPolicy/Set_client_user_admins (0.00s) 221s --- PASS: TestApplyPolicy/Assume_old_polkit_if_cant_read_system_reserved_path (0.00s) 221s --- PASS: TestApplyPolicy/Don't_overwrite_other_existing_files (0.01s) 221s --- PASS: TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_and_set_client_admins (0.01s) 221s --- PASS: TestApplyPolicy/Disallow_local_admins_and_set_client_admins (0.00s) 221s --- PASS: TestApplyPolicy/Set_client_mixed_with_users_and_group_admins (0.00s) 221s --- PASS: TestApplyPolicy/Not_a_computer (0.00s) 221s --- PASS: TestApplyPolicy/Overwrite_existing_sudoers_file (0.01s) 221s --- PASS: TestApplyPolicy/Disallow_local_admins (0.00s) 221s --- PASS: TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_(with_adsys_file)_and_set_client_admins (0.02s) 221s --- PASS: TestApplyPolicy/No_rules_still_overwrite_those_files (0.00s) 221s --- PASS: TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_(simple)_and_set_client_admins (0.01s) 221s --- PASS: TestApplyPolicy/Create_on_new_polkit_version_and_remove_old_file (0.02s) 221s --- PASS: TestApplyPolicy/Error_if_can’t_rename_to_destination_for_polkit_conf_file (0.00s) 221s --- PASS: TestApplyPolicy/Error_on_creating_sudoers_and_polkit_base_directory (0.00s) 221s --- PASS: TestApplyPolicy/Disallow_local_admins_with_previous_local_admin_conf_and_set_client_admins (0.01s) 221s === CONT TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities_ignoring_adsys 221s --- PASS: TestPolkitAdminIdentitiesFromConf (0.00s) 221s --- PASS: TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities (0.00s) 221s --- PASS: TestPolkitAdminIdentitiesFromConf/No_previous_admin_identities_but_regular_directory_structure (0.00s) 221s --- PASS: TestPolkitAdminIdentitiesFromConf/Directory_instead_of_a_conf_file_is_ignored (0.00s) 221s --- PASS: TestPolkitAdminIdentitiesFromConf/Returns_an_empty_string_if_directory_does_not_exists (0.00s) 221s --- PASS: TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities_ignoring_adsys (0.00s) 221s --- PASS: TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities_from_highest_ascii_file (0.00s) 221s PASS 221s ok github.com/ubuntu/adsys/internal/policies/privilege 0.088s 222s === RUN TestApplyPolicy 222s === PAUSE TestApplyPolicy 222s === RUN TestWarnOnUnsupportedKeys 222s --- PASS: TestWarnOnUnsupportedKeys (0.00s) 222s === RUN TestWarnOnMissingDBusService 222s --- PASS: TestWarnOnMissingDBusService (0.00s) 222s === CONT TestApplyPolicy 222s === RUN TestApplyPolicy/Computer,_single_disabled_entry 222s === PAUSE TestApplyPolicy/Computer,_single_disabled_entry 222s === RUN TestApplyPolicy/Computer,_all_entries_set 222s === PAUSE TestApplyPolicy/Computer,_all_entries_set 222s === RUN TestApplyPolicy/User,_non-empty_entries 222s === PAUSE TestApplyPolicy/User,_non-empty_entries 222s === RUN TestApplyPolicy/Error_when_D-Bus_call_fails 222s === PAUSE TestApplyPolicy/Error_when_D-Bus_call_fails 222s === RUN TestApplyPolicy/Computer,_no_entries 222s === PAUSE TestApplyPolicy/Computer,_no_entries 222s === RUN TestApplyPolicy/Computer,_no_entries,_D-Bus_call_error 222s === PAUSE TestApplyPolicy/Computer,_no_entries,_D-Bus_call_error 222s === RUN TestApplyPolicy/User,_no_entries 222s === PAUSE TestApplyPolicy/User,_no_entries 222s === RUN TestApplyPolicy/Computer,_single_enabled_entry 222s === PAUSE TestApplyPolicy/Computer,_single_enabled_entry 222s === CONT TestApplyPolicy/Computer,_single_disabled_entry 222s === CONT TestApplyPolicy/Computer,_single_enabled_entry 222s === CONT TestApplyPolicy/User,_no_entries 222s === CONT TestApplyPolicy/Computer,_no_entries,_D-Bus_call_error 222s === CONT TestApplyPolicy/Computer,_no_entries 222s === CONT TestApplyPolicy/Error_when_D-Bus_call_fails 222s === CONT TestApplyPolicy/User,_non-empty_entries 222s === CONT TestApplyPolicy/Computer,_all_entries_set 222s --- PASS: TestApplyPolicy (0.00s) 222s --- PASS: TestApplyPolicy/Computer,_single_disabled_entry (0.00s) 222s --- PASS: TestApplyPolicy/Computer,_single_enabled_entry (0.00s) 222s --- PASS: TestApplyPolicy/User,_no_entries (0.00s) 222s --- PASS: TestApplyPolicy/Computer,_no_entries,_D-Bus_call_error (0.00s) 222s --- PASS: TestApplyPolicy/Computer,_no_entries (0.00s) 222s --- PASS: TestApplyPolicy/Error_when_D-Bus_call_fails (0.00s) 222s --- PASS: TestApplyPolicy/User,_non-empty_entries (0.00s) 222s --- PASS: TestApplyPolicy/Computer,_all_entries_set (0.00s) 222s PASS 222s ok github.com/ubuntu/adsys/internal/policies/proxy 0.011s 223s === RUN TestNew 223s === PAUSE TestNew 223s === RUN TestApplyPolicy 223s === PAUSE TestApplyPolicy 223s === RUN TestRunScripts 223s === PAUSE TestRunScripts 223s === CONT TestNew 223s === RUN TestNew/error_on_read_only_rundir 223s === CONT TestRunScripts 223s === RUN TestRunScripts/script_directory_without_shutdown_order_has_no_session_running_flag_after_machine_shutdown 223s === PAUSE TestRunScripts/script_directory_without_shutdown_order_has_no_session_running_flag_after_machine_shutdown 223s === RUN TestRunScripts/allow_order_file_missing 223s === PAUSE TestNew/error_on_read_only_rundir 223s === RUN TestNew/create_manager 223s === PAUSE TestNew/create_manager 223s === PAUSE TestRunScripts/allow_order_file_missing 223s === RUN TestRunScripts/one_script 223s === PAUSE TestRunScripts/one_script 223s === RUN TestRunScripts/multiple_scripts_are_run_in_order 223s === PAUSE TestRunScripts/multiple_scripts_are_run_in_order 223s === RUN TestRunScripts/scripts_not_listed_are_not_run 223s === PAUSE TestRunScripts/scripts_not_listed_are_not_run 223s === RUN TestRunScripts/has_no_session_running_flag_after_user_logoff 223s === PAUSE TestRunScripts/has_no_session_running_flag_after_user_logoff 223s === RUN TestRunScripts/still_executes_without_existing_running_flag_on_user_logoff 223s === PAUSE TestRunScripts/still_executes_without_existing_running_flag_on_user_logoff 223s === RUN TestRunScripts/error_on_not_ready_for_execution 223s === PAUSE TestRunScripts/error_on_not_ready_for_execution 223s === RUN TestRunScripts/scripts_referenced_in_subdirectories 223s === PAUSE TestRunScripts/scripts_referenced_in_subdirectories 223s === RUN TestRunScripts/script_directory_without_logoff_order_has_no_session_running_flag_after_user_logoff 223s === PAUSE TestRunScripts/script_directory_without_logoff_order_has_no_session_running_flag_after_user_logoff 223s === RUN TestRunScripts/keeps_running_flag_after_non_user_logoff 223s === PAUSE TestRunScripts/keeps_running_flag_after_non_user_logoff 223s === RUN TestRunScripts/still_executes_without_existing_running_flag_on_machine_shutdown 223s === PAUSE TestRunScripts/still_executes_without_existing_running_flag_on_machine_shutdown 223s === RUN TestRunScripts/spaces_and_empty_lines_are_skipped 223s === PAUSE TestRunScripts/spaces_and_empty_lines_are_skipped 223s === RUN TestRunScripts/scripts_that_are_not_executable_are_skipped 223s === PAUSE TestRunScripts/scripts_that_are_not_executable_are_skipped 223s === RUN TestRunScripts/keeps_running_flag_after_non_machine_shutdown 223s === CONT TestApplyPolicy 223s === PAUSE TestRunScripts/keeps_running_flag_after_non_machine_shutdown 223s === RUN TestRunScripts/error_on_argument_not_a_file 223s === PAUSE TestRunScripts/error_on_argument_not_a_file 223s === RUN TestRunScripts/has_no_session_running_flag_after_machine_shutdown 223s === PAUSE TestRunScripts/has_no_session_running_flag_after_machine_shutdown 223s === RUN TestRunScripts/error_on_order_file_not_existing 223s === PAUSE TestRunScripts/error_on_order_file_not_existing 223s === CONT TestNew/error_on_read_only_rundir 223s === RUN TestApplyPolicy/User_lookup_failing_does_not_impact_machine_update 223s === PAUSE TestApplyPolicy/User_lookup_failing_does_not_impact_machine_update 223s === RUN TestApplyPolicy/Error_on_users_run_directory_Read_Only 223s === PAUSE TestApplyPolicy/Error_on_users_run_directory_Read_Only 223s === RUN TestApplyPolicy/Error_on_invalid_UID 223s === PAUSE TestApplyPolicy/Error_on_invalid_UID 223s === RUN TestApplyPolicy/Error_on_running_start_script_that_runs_systemctl_and_systemctl_fails 223s === PAUSE TestApplyPolicy/Error_on_running_start_script_that_runs_systemctl_and_systemctl_fails 223s === RUN TestApplyPolicy/One_script 223s === PAUSE TestApplyPolicy/One_script 223s === RUN TestApplyPolicy/Multiple_directories: 223s === PAUSE TestApplyPolicy/Multiple_directories: 223s === RUN TestApplyPolicy/Subfolder_with_script 223s === PAUSE TestApplyPolicy/Subfolder_with_script 223s === RUN TestApplyPolicy/Empty_entries_are_discared 223s === PAUSE TestApplyPolicy/Empty_entries_are_discared 223s === RUN TestApplyPolicy/Startup_script_for_computer_runs_systemctl_(systemctl_success) 223s === PAUSE TestApplyPolicy/Startup_script_for_computer_runs_systemctl_(systemctl_success) 223s === RUN TestApplyPolicy/Destination_is_already_ready_but_not_in_session,_refreshing 223s === PAUSE TestApplyPolicy/Destination_is_already_ready_but_not_in_session,_refreshing 223s === RUN TestApplyPolicy/Error_on_script_does_not_exist 223s === PAUSE TestApplyPolicy/Error_on_script_does_not_exist 223s === RUN TestApplyPolicy/Error_on_invalid_GID 223s === PAUSE TestApplyPolicy/Error_on_invalid_GID 223s === RUN TestApplyPolicy/No_entries_is_an_empty_folder 223s === PAUSE TestApplyPolicy/No_entries_is_an_empty_folder 223s === RUN TestApplyPolicy/Same_script_is_used_multiple_times 223s === PAUSE TestApplyPolicy/Same_script_is_used_multiple_times 223s === RUN TestApplyPolicy/Error_on_subfolder_listed 223s === PAUSE TestApplyPolicy/Error_on_subfolder_listed 223s === RUN TestApplyPolicy/Error_on_save_assets_dumping_failing 223s === PAUSE TestApplyPolicy/Error_on_save_assets_dumping_failing 223s === RUN TestApplyPolicy/Error_on_user_lookup_failing 223s === PAUSE TestApplyPolicy/Error_on_user_lookup_failing 223s === RUN TestApplyPolicy/No_entries_update_existing_non_ready_folder 223s === PAUSE TestApplyPolicy/No_entries_update_existing_non_ready_folder 223s === RUN TestApplyPolicy/One_directory,_multiple_scripts_in_order 223s === CONT TestNew/create_manager 223s === PAUSE TestApplyPolicy/One_directory,_multiple_scripts_in_order 223s === RUN TestApplyPolicy/Destination_is_already_running,_no_change 223s === PAUSE TestApplyPolicy/Destination_is_already_running,_no_change 223s === RUN TestApplyPolicy/Destination_is_not_ready,_refreshing 223s === PAUSE TestApplyPolicy/Destination_is_not_ready,_refreshing 223s === RUN TestApplyPolicy/Systemctl_failing_does_not_impact_user_scripts_update 223s === PAUSE TestApplyPolicy/Systemctl_failing_does_not_impact_user_scripts_update 223s === RUN TestApplyPolicy/Subfolder_with_same_script_name 223s === PAUSE TestApplyPolicy/Subfolder_with_same_script_name 223s === RUN TestApplyPolicy/Computer,_no_systemctl_with_other_directory_than_startup 223s === PAUSE TestApplyPolicy/Computer,_no_systemctl_with_other_directory_than_startup 223s === CONT TestRunScripts/script_directory_without_shutdown_order_has_no_session_running_flag_after_machine_shutdown 223s --- PASS: TestNew (0.00s) 223s --- PASS: TestNew/error_on_read_only_rundir (0.00s) 223s --- PASS: TestNew/create_manager (0.00s) 223s === CONT TestRunScripts/error_on_order_file_not_existing 223s time="2025-10-31T03:47:16Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptserror_on_order_file_not_existing4121055629/001/users/foo/scripts/s\"" 223s === CONT TestRunScripts/has_no_session_running_flag_after_machine_shutdown 223s time="2025-10-31T03:47:16Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsscript_directory_without_shutdown_order_has_no_session_running_flag_after_machine_shutdown4057332355/001/machine/foo/scripts/shutdown\"" 223s time="2025-10-31T03:47:16Z" level=info msg="\"/tmp/TestRunScriptsscript_directory_without_shutdown_order_has_no_session_running_flag_after_machine_shutdown4057332355/001/machine/foo/scripts/shutdown\" doesn't exist, but allowed to be missing, skipping" 223s === CONT TestRunScripts/error_on_argument_not_a_file 223s time="2025-10-31T03:47:16Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptshas_no_session_running_flag_after_machine_shutdown2206965523/001/machine/foo/scripts/shutdown\"" 223s time="2025-10-31T03:47:16Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptserror_on_argument_not_a_file921808958/001/users/foo/scripts/s\"" 223s === CONT TestRunScripts/keeps_running_flag_after_non_machine_shutdown 223s time="2025-10-31T03:47:16Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptskeeps_running_flag_after_non_machine_shutdown3492667511/001/users/foo/scripts/shutdown\"" 223s === CONT TestRunScripts/scripts_that_are_not_executable_are_skipped 223s === CONT TestRunScripts/spaces_and_empty_lines_are_skipped 223s time="2025-10-31T03:47:16Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsscripts_that_are_not_executable_are_skipped1676226289/001/users/foo/scripts/s\"" 223s time="2025-10-31T03:47:16Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsspaces_and_empty_lines_are_skipped2834753690/001/users/foo/scripts/s\"" 223s time="2025-10-31T03:47:16Z" level=warning msg="\"/tmp/TestRunScriptsscripts_that_are_not_executable_are_skipped1676226289/001/users/foo/scripts/scripts/notexecutable.sh\" failed to run\nfork/exec /tmp/TestRunScriptsscripts_that_are_not_executable_are_skipped1676226289/001/users/foo/scripts/scripts/notexecutable.sh: permission denied" 223s === CONT TestRunScripts/still_executes_without_existing_running_flag_on_machine_shutdown 223s === CONT TestRunScripts/keeps_running_flag_after_non_user_logoff 223s time="2025-10-31T03:47:16Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptskeeps_running_flag_after_non_user_logoff76770171/001/machine/foo/scripts/logoff\"" 223s time="2025-10-31T03:47:16Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsstill_executes_without_existing_running_flag_on_machine_shutdown386918113/001/machine/foo/scripts/shutdown\"" 223s === CONT TestRunScripts/script_directory_without_logoff_order_has_no_session_running_flag_after_user_logoff 223s === CONT TestRunScripts/scripts_referenced_in_subdirectories 223s time="2025-10-31T03:47:16Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsscript_directory_without_logoff_order_has_no_session_running_flag_after_user_logoff126208884/001/users/foo/scripts/logoff\"" 223s time="2025-10-31T03:47:16Z" level=info msg="\"/tmp/TestRunScriptsscript_directory_without_logoff_order_has_no_session_running_flag_after_user_logoff126208884/001/users/foo/scripts/logoff\" doesn't exist, but allowed to be missing, skipping" 223s === CONT TestRunScripts/error_on_not_ready_for_execution 223s time="2025-10-31T03:47:16Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsscripts_referenced_in_subdirectories3768407457/001/users/foo/scripts/s\"" 223s time="2025-10-31T03:47:16Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptserror_on_not_ready_for_execution572096449/001/users/foo/scripts/s\"" 223s === CONT TestRunScripts/still_executes_without_existing_running_flag_on_user_logoff 223s time="2025-10-31T03:47:16Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsstill_executes_without_existing_running_flag_on_user_logoff2187076589/001/users/foo/scripts/logoff\"" 223s === CONT TestRunScripts/has_no_session_running_flag_after_user_logoff 223s === CONT TestRunScripts/scripts_not_listed_are_not_run 223s time="2025-10-31T03:47:16Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptshas_no_session_running_flag_after_user_logoff4011383545/001/users/foo/scripts/logoff\"" 223s time="2025-10-31T03:47:16Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsscripts_not_listed_are_not_run3470383428/001/users/foo/scripts/s\"" 223s === CONT TestRunScripts/multiple_scripts_are_run_in_order 223s time="2025-10-31T03:47:16Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsmultiple_scripts_are_run_in_order1320865266/001/users/foo/scripts/s\"" 223s === CONT TestRunScripts/one_script 223s time="2025-10-31T03:47:16Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsone_script2746025703/001/users/foo/scripts/s\"" 223s === CONT TestRunScripts/allow_order_file_missing 223s === CONT TestApplyPolicy/User_lookup_failing_does_not_impact_machine_update 223s time="2025-10-31T03:47:16Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsallow_order_file_missing848835202/001/users/foo/scripts/s\"" 223s time="2025-10-31T03:47:16Z" level=info msg="\"/tmp/TestRunScriptsallow_order_file_missing848835202/001/users/foo/scripts/s\" doesn't exist, but allowed to be missing, skipping" 223s --- PASS: TestRunScripts (0.00s) 223s --- PASS: TestRunScripts/error_on_order_file_not_existing (0.00s) 223s --- PASS: TestRunScripts/script_directory_without_shutdown_order_has_no_session_running_flag_after_machine_shutdown (0.01s) 223s --- PASS: TestRunScripts/error_on_argument_not_a_file (0.00s) 223s --- PASS: TestRunScripts/has_no_session_running_flag_after_machine_shutdown (0.04s) 223s --- PASS: TestRunScripts/keeps_running_flag_after_non_machine_shutdown (0.03s) 223s --- PASS: TestRunScripts/scripts_that_are_not_executable_are_skipped (0.02s) 223s --- PASS: TestRunScripts/spaces_and_empty_lines_are_skipped (0.01s) 223s --- PASS: TestRunScripts/keeps_running_flag_after_non_user_logoff (0.03s) 223s --- PASS: TestRunScripts/still_executes_without_existing_running_flag_on_machine_shutdown (0.03s) 223s --- PASS: TestRunScripts/script_directory_without_logoff_order_has_no_session_running_flag_after_user_logoff (0.01s) 223s --- PASS: TestRunScripts/error_on_not_ready_for_execution (0.00s) 223s --- PASS: TestRunScripts/scripts_referenced_in_subdirectories (0.04s) 223s --- PASS: TestRunScripts/still_executes_without_existing_running_flag_on_user_logoff (0.03s) 223s --- PASS: TestRunScripts/scripts_not_listed_are_not_run (0.02s) 223s --- PASS: TestRunScripts/has_no_session_running_flag_after_user_logoff (0.03s) 223s --- PASS: TestRunScripts/multiple_scripts_are_run_in_order (0.03s) 223s --- PASS: TestRunScripts/one_script (0.02s) 223s --- PASS: TestRunScripts/allow_order_file_missing (0.00s) 223s === CONT TestApplyPolicy/No_entries_is_an_empty_folder 223s === CONT TestApplyPolicy/Computer,_no_systemctl_with_other_directory_than_startup 223s === CONT TestApplyPolicy/Subfolder_with_same_script_name 223s === CONT TestApplyPolicy/Systemctl_failing_does_not_impact_user_scripts_update 223s === CONT TestApplyPolicy/Destination_is_not_ready,_refreshing 223s === CONT TestApplyPolicy/Destination_is_already_running,_no_change 223s time="2025-10-31T03:47:16Z" level=info msg="\"/tmp/TestApplyPolicyDestination_is_already_running,_no_change1582993945/001/machine/scripts/.running\" already exists, a session is already running, ignoring." 223s === CONT TestApplyPolicy/One_directory,_multiple_scripts_in_order 223s === CONT TestApplyPolicy/No_entries_update_existing_non_ready_folder 223s === CONT TestApplyPolicy/Error_on_user_lookup_failing 223s === CONT TestApplyPolicy/Error_on_save_assets_dumping_failing 223s === CONT TestApplyPolicy/Error_on_subfolder_listed 223s === CONT TestApplyPolicy/Same_script_is_used_multiple_times 223s === CONT TestApplyPolicy/Subfolder_with_script 223s === CONT TestApplyPolicy/Error_on_invalid_GID 223s === CONT TestApplyPolicy/Error_on_script_does_not_exist 223s === CONT TestApplyPolicy/Destination_is_already_ready_but_not_in_session,_refreshing 223s === CONT TestApplyPolicy/Startup_script_for_computer_runs_systemctl_(systemctl_success) 223s === CONT TestApplyPolicy/Empty_entries_are_discared 223s time="2025-10-31T03:47:16Z" level=info msg="Running machine startup scripts" 223s === CONT TestApplyPolicy/Error_on_running_start_script_that_runs_systemctl_and_systemctl_fails 223s === CONT TestApplyPolicy/Multiple_directories: 223s time="2025-10-31T03:47:16Z" level=info msg="Running machine startup scripts" 223s === CONT TestApplyPolicy/One_script 223s === CONT TestApplyPolicy/Error_on_invalid_UID 223s === CONT TestApplyPolicy/Error_on_users_run_directory_Read_Only 223s --- PASS: TestApplyPolicy (0.00s) 223s --- PASS: TestApplyPolicy/No_entries_is_an_empty_folder (0.00s) 223s --- PASS: TestApplyPolicy/User_lookup_failing_does_not_impact_machine_update (0.01s) 223s --- PASS: TestApplyPolicy/Computer,_no_systemctl_with_other_directory_than_startup (0.01s) 223s --- PASS: TestApplyPolicy/Subfolder_with_same_script_name (0.01s) 223s --- PASS: TestApplyPolicy/Systemctl_failing_does_not_impact_user_scripts_update (0.01s) 223s --- PASS: TestApplyPolicy/Destination_is_not_ready,_refreshing (0.01s) 223s --- PASS: TestApplyPolicy/Destination_is_already_running,_no_change (0.01s) 223s --- PASS: TestApplyPolicy/No_entries_update_existing_non_ready_folder (0.00s) 223s --- PASS: TestApplyPolicy/Error_on_user_lookup_failing (0.00s) 223s --- PASS: TestApplyPolicy/Error_on_save_assets_dumping_failing (0.00s) 223s --- PASS: TestApplyPolicy/Error_on_subfolder_listed (0.00s) 223s --- PASS: TestApplyPolicy/One_directory,_multiple_scripts_in_order (0.01s) 223s --- PASS: TestApplyPolicy/Same_script_is_used_multiple_times (0.01s) 223s --- PASS: TestApplyPolicy/Error_on_invalid_GID (0.00s) 223s --- PASS: TestApplyPolicy/Error_on_script_does_not_exist (0.00s) 223s --- PASS: TestApplyPolicy/Subfolder_with_script (0.01s) 223s --- PASS: TestApplyPolicy/Destination_is_already_ready_but_not_in_session,_refreshing (0.01s) 223s --- PASS: TestApplyPolicy/Startup_script_for_computer_runs_systemctl_(systemctl_success) (0.02s) 223s --- PASS: TestApplyPolicy/Empty_entries_are_discared (0.02s) 223s --- PASS: TestApplyPolicy/Error_on_running_start_script_that_runs_systemctl_and_systemctl_fails (0.00s) 223s --- PASS: TestApplyPolicy/Multiple_directories: (0.01s) 223s --- PASS: TestApplyPolicy/One_script (0.01s) 223s --- PASS: TestApplyPolicy/Error_on_invalid_UID (0.00s) 223s --- PASS: TestApplyPolicy/Error_on_users_run_directory_Read_Only (0.00s) 223s PASS 223s ok github.com/ubuntu/adsys/internal/policies/scripts 0.275s 223s === RUN TestExclusiveLockExec 223s --- PASS: TestExclusiveLockExec (0.01s) 223s === RUN TestExclusiveLockSmb 223s --- PASS: TestExclusiveLockSmb (0.01s) 223s === RUN TestMultipleExecLocksOnlyReleaseOnLast 223s --- PASS: TestMultipleExecLocksOnlyReleaseOnLast (0.01s) 223s === RUN TestMultipleSmbLocksOnlyReleaseOnLast 223s --- PASS: TestMultipleSmbLocksOnlyReleaseOnLast (0.01s) 223s PASS 223s ok github.com/ubuntu/adsys/internal/smbsafe 0.046s 223s === RUN TestAddStdoutForwarder 223s --- PASS: TestAddStdoutForwarder (0.00s) 223s === RUN TestAddStderrForwarder 223s --- PASS: TestAddStderrForwarder (0.00s) 223s === RUN TestAddStdoutForwarderEnsureStderrNoPolluted 223s --- PASS: TestAddStdoutForwarderEnsureStderrNoPolluted (0.00s) 223s === RUN TestAddForwarderAndDisconnect 223s --- PASS: TestAddForwarderAndDisconnect (0.00s) 223s === RUN TestAddForwardersGraduallyAndDisconnect 223s --- PASS: TestAddForwardersGraduallyAndDisconnect (0.01s) 223s === RUN TestAddForwarderDifferentWriterStdoutStderr 223s --- PASS: TestAddForwarderDifferentWriterStdoutStderr (0.00s) 223s === RUN TestAddForwarderSameWriterStdoutStderr 223s --- PASS: TestAddForwarderSameWriterStdoutStderr (0.01s) 223s === RUN TestAddStdoutForwarderWithBlockedStdout 223s time="2025-10-31T03:47:17Z" level=warning msg="Failed to write to regular output: write |1: file already closed" 223s time="2025-10-31T03:47:17Z" level=warning msg="Failed to write to regular output: write |1: file already closed" 223s time="2025-10-31T03:47:17Z" level=warning msg="Failed to write to regular output: write |1: file already closed" 223s --- PASS: TestAddStdoutForwarderWithBlockedStdout (0.01s) 223s === RUN TestAddStderrForwarderWithBlockedStderr 223s time="2025-10-31T03:47:17Z" level=warning msg="Failed to write to regular output: write |1: file already closed" 223s time="2025-10-31T03:47:17Z" level=warning msg="Failed to write to regular output: write |1: file already closed" 223s time="2025-10-31T03:47:17Z" level=warning msg="Failed to write to regular output: write |1: file already closed" 223s --- PASS: TestAddStderrForwarderWithBlockedStderr (0.01s) 223s === RUN TestAddStdoutForwarderOneWithFailingForwarder 223s time="2025-10-31T03:47:17Z" level=warning msg="Failed to forward log: Error from failedWriter" 223s time="2025-10-31T03:47:17Z" level=warning msg="Failed to forward log: Error from failedWriter" 223s time="2025-10-31T03:47:17Z" level=warning msg="Failed to forward log: Error from failedWriter" 223s --- PASS: TestAddStdoutForwarderOneWithFailingForwarder (0.01s) 223s PASS 223s ok github.com/ubuntu/adsys/internal/stdforward 0.053s 223s ? github.com/ubuntu/adsys/internal/testutils [no test files] 223s ? github.com/ubuntu/adsys/internal/watchdservice [no test files] 223s === RUN TestManageUnit 223s === PAUSE TestManageUnit 223s === RUN TestDaemonReload 223s === PAUSE TestDaemonReload 223s === CONT TestManageUnit 223s === CONT TestDaemonReload 223s === RUN TestManageUnit/Error_when_disabling_unit_that_doesn't_exist 223s === PAUSE TestManageUnit/Error_when_disabling_unit_that_doesn't_exist 223s === RUN TestManageUnit/Start_unit_that_exists 223s === PAUSE TestManageUnit/Start_unit_that_exists 223s === RUN TestManageUnit/Enable_unit_that_exists 223s === PAUSE TestManageUnit/Enable_unit_that_exists 223s === RUN TestManageUnit/Disable_unit_that_exists 223s === PAUSE TestManageUnit/Disable_unit_that_exists 223s === RUN TestManageUnit/Error_when_enabling_unit_that_doesn't_exist 223s === PAUSE TestManageUnit/Error_when_enabling_unit_that_doesn't_exist 223s === RUN TestManageUnit/Error_when_stopping_failing_unit 223s === PAUSE TestManageUnit/Error_when_stopping_failing_unit 223s === RUN TestManageUnit/Stop_unit_that_exists 223s === PAUSE TestManageUnit/Stop_unit_that_exists 223s === RUN TestManageUnit/Error_when_starting_unit_that_doesn't_exist 223s === PAUSE TestManageUnit/Error_when_starting_unit_that_doesn't_exist 223s === RUN TestManageUnit/Error_when_starting_failing_unit 223s === PAUSE TestManageUnit/Error_when_starting_failing_unit 223s === RUN TestManageUnit/Error_when_stopping_unit_that_doesn't_exist 223s === PAUSE TestManageUnit/Error_when_stopping_unit_that_doesn't_exist 223s === CONT TestManageUnit/Error_when_disabling_unit_that_doesn't_exist 223s === CONT TestManageUnit/Error_when_stopping_failing_unit 223s --- PASS: TestDaemonReload (0.00s) 223s === CONT TestManageUnit/Error_when_stopping_unit_that_doesn't_exist 223s === CONT TestManageUnit/Error_when_starting_failing_unit 223s === CONT TestManageUnit/Error_when_starting_unit_that_doesn't_exist 223s === CONT TestManageUnit/Stop_unit_that_exists 223s === CONT TestManageUnit/Disable_unit_that_exists 223s === CONT TestManageUnit/Error_when_enabling_unit_that_doesn't_exist 223s === CONT TestManageUnit/Enable_unit_that_exists 223s === CONT TestManageUnit/Start_unit_that_exists 223s --- PASS: TestManageUnit (0.00s) 223s --- PASS: TestManageUnit/Error_when_disabling_unit_that_doesn't_exist (0.00s) 223s --- PASS: TestManageUnit/Error_when_stopping_failing_unit (0.00s) 223s --- PASS: TestManageUnit/Error_when_stopping_unit_that_doesn't_exist (0.00s) 223s --- PASS: TestManageUnit/Error_when_starting_unit_that_doesn't_exist (0.00s) 223s --- PASS: TestManageUnit/Error_when_starting_failing_unit (0.01s) 223s --- PASS: TestManageUnit/Stop_unit_that_exists (0.00s) 223s --- PASS: TestManageUnit/Error_when_enabling_unit_that_doesn't_exist (0.00s) 223s --- PASS: TestManageUnit/Disable_unit_that_exists (0.00s) 223s --- PASS: TestManageUnit/Start_unit_that_exists (0.00s) 223s --- PASS: TestManageUnit/Enable_unit_that_exists (0.00s) 223s PASS 223s ok github.com/ubuntu/adsys/internal/systemd 0.022s 225s === RUN TestInteractiveInput 225s === RUN TestInteractiveInput/Directory_exists 225s === RUN TestInteractiveInput/Submit_with_fresh_config_in_nested_directory 225s === RUN TestInteractiveInput/Submit_with_directory_as_config_input 225s === RUN TestInteractiveInput/Config_file_is_absent_and_input_is_absolute 225s === RUN TestInteractiveInput/Initial_view 225s === RUN TestInteractiveInput/Config_file_exists 225s === RUN TestInteractiveInput/Config_file_is_absent_and_input_is_a_dir 225s === RUN TestInteractiveInput/Existing_config_file_is_passed_in_and_contains_directories,_not_all_which_exist_on_the_system 225s === RUN TestInteractiveInput/Found_installed_service,_config_not_overridden 225s === RUN TestInteractiveInput/Found_installed_service,_config_overridden 225s === RUN TestInteractiveInput/Dot_and_double_dot_directory_inputs_are_normalized 225s === RUN TestInteractiveInput/Existing_config_file_is_passed_in_and_is_empty_or_has_no_directories 225s === RUN TestInteractiveInput/No_directories,_focus_on_dir_input 225s === RUN TestInteractiveInput/Multiple_existing_directories,_can_cycle_between_the_inputs 225s === RUN TestInteractiveInput/Directory_does_not_exist,_block_input 225s === RUN TestInteractiveInput/Directory_is_a_file,_block_input 225s === RUN TestInteractiveInput/Submit_with_duplicate_directories 225s === RUN TestInteractiveInput/Submit_with_dot_directories_is_normalized 225s === RUN TestInteractiveInput/Submit_with_double_dot_directories_is_normalized 225s === RUN TestInteractiveInput/Other_navigation_tests 225s === RUN TestInteractiveInput/Existing_config_file_is_passed_in_and_contains_directories_which_exist_on_the_system 225s === RUN TestInteractiveInput/Multiple_existing_directories,_can_delete_them 225s === RUN TestInteractiveInput/Submit_with_default_config 225s === RUN TestInteractiveInput/Submit_with_fresh_config_in_current_directory 225s === RUN TestInteractiveInput/Config_file_is_absent_and_input_is_relative 225s --- PASS: TestInteractiveInput (0.06s) 225s --- PASS: TestInteractiveInput/Directory_exists (0.00s) 225s --- PASS: TestInteractiveInput/Submit_with_fresh_config_in_nested_directory (0.00s) 225s --- PASS: TestInteractiveInput/Submit_with_directory_as_config_input (0.00s) 225s --- PASS: TestInteractiveInput/Config_file_is_absent_and_input_is_absolute (0.00s) 225s --- PASS: TestInteractiveInput/Initial_view (0.00s) 225s --- PASS: TestInteractiveInput/Config_file_exists (0.00s) 225s --- PASS: TestInteractiveInput/Config_file_is_absent_and_input_is_a_dir (0.00s) 225s --- PASS: TestInteractiveInput/Existing_config_file_is_passed_in_and_contains_directories,_not_all_which_exist_on_the_system (0.00s) 225s --- PASS: TestInteractiveInput/Found_installed_service,_config_not_overridden (0.00s) 225s --- PASS: TestInteractiveInput/Found_installed_service,_config_overridden (0.00s) 225s --- PASS: TestInteractiveInput/Dot_and_double_dot_directory_inputs_are_normalized (0.00s) 225s --- PASS: TestInteractiveInput/Existing_config_file_is_passed_in_and_is_empty_or_has_no_directories (0.00s) 225s --- PASS: TestInteractiveInput/No_directories,_focus_on_dir_input (0.00s) 225s --- PASS: TestInteractiveInput/Multiple_existing_directories,_can_cycle_between_the_inputs (0.00s) 225s --- PASS: TestInteractiveInput/Directory_does_not_exist,_block_input (0.00s) 225s --- PASS: TestInteractiveInput/Directory_is_a_file,_block_input (0.00s) 225s --- PASS: TestInteractiveInput/Submit_with_duplicate_directories (0.00s) 225s --- PASS: TestInteractiveInput/Submit_with_dot_directories_is_normalized (0.00s) 225s --- PASS: TestInteractiveInput/Submit_with_double_dot_directories_is_normalized (0.00s) 225s --- PASS: TestInteractiveInput/Other_navigation_tests (0.00s) 225s --- PASS: TestInteractiveInput/Existing_config_file_is_passed_in_and_contains_directories_which_exist_on_the_system (0.00s) 225s --- PASS: TestInteractiveInput/Multiple_existing_directories,_can_delete_them (0.00s) 225s --- PASS: TestInteractiveInput/Submit_with_default_config (0.00s) 225s --- PASS: TestInteractiveInput/Submit_with_fresh_config_in_current_directory (0.00s) 225s --- PASS: TestInteractiveInput/Config_file_is_absent_and_input_is_relative (0.00s) 225s === RUN TestInteractiveInstall 225s watchdtui_test.go:408: Test has to be run as root, skipping... 225s --- SKIP: TestInteractiveInstall (0.00s) 225s === RUN TestInteractiveUpdate 225s watchdtui_test.go:456: Test has to be run as root, skipping... 225s --- SKIP: TestInteractiveUpdate (0.00s) 225s PASS 225s ok github.com/ubuntu/adsys/internal/watchdtui 0.066s 225s ? github.com/ubuntu/adsys/po [no test files] 225s ? github.com/ubuntu/adsys/policies [no test files] 229s === RUN TestWatchDirectory 229s === PAUSE TestWatchDirectory 229s === RUN TestRefreshGracePeriod 229s === PAUSE TestRefreshGracePeriod 229s === RUN TestUpdateDirs 229s === PAUSE TestUpdateDirs 229s === RUN TestUpdateDirsFailing 229s === PAUSE TestUpdateDirsFailing 229s === RUN TestUpdateDirsWithEmptyDirSlice 229s === PAUSE TestUpdateDirsWithEmptyDirSlice 229s === RUN TestUpdateDirsOnStoppedWatcher 229s === PAUSE TestUpdateDirsOnStoppedWatcher 229s === RUN TestStopWithoutStart 229s === PAUSE TestStopWithoutStart 229s === CONT TestWatchDirectory 229s === CONT TestUpdateDirsWithEmptyDirSlice 229s === RUN TestWatchDirectory/New_file,_subdir 229s === PAUSE TestWatchDirectory/New_file,_subdir 229s === RUN TestWatchDirectory/Nested_new_subdirs 229s === PAUSE TestWatchDirectory/Nested_new_subdirs 229s === RUN TestWatchDirectory/Multiple_nested_subdirectories 229s === PAUSE TestWatchDirectory/Multiple_nested_subdirectories 229s === RUN TestWatchDirectory/Update_existing_file 229s === PAUSE TestWatchDirectory/Update_existing_file 229s === RUN TestWatchDirectory/Rename_file 229s === PAUSE TestWatchDirectory/Rename_file 229s === RUN TestWatchDirectory/Rename_file_and_update 229s === PAUSE TestWatchDirectory/Rename_file_and_update 229s === RUN TestWatchDirectory/New_subdir 229s === PAUSE TestWatchDirectory/New_subdir 229s === RUN TestWatchDirectory/Multiple_nested_subdirectories,_only_update_nested_file 229s === PAUSE TestWatchDirectory/Multiple_nested_subdirectories,_only_update_nested_file 229s === RUN TestWatchDirectory/New_file,_no_gpt.ini 229s === PAUSE TestWatchDirectory/New_file,_no_gpt.ini 229s === RUN TestWatchDirectory/No_update,_no_gpt.ini 229s === PAUSE TestWatchDirectory/No_update,_no_gpt.ini 229s === RUN TestWatchDirectory/No_update,_existing_gpt.ini 229s === PAUSE TestWatchDirectory/No_update,_existing_gpt.ini 229s === RUN TestWatchDirectory/Combined_case 229s === PAUSE TestWatchDirectory/Combined_case 229s === RUN TestWatchDirectory/Error_on_non_existing_directory 229s === PAUSE TestWatchDirectory/Error_on_non_existing_directory 229s === RUN TestWatchDirectory/Error_on_updating_malformed_GPT.ini 229s === PAUSE TestWatchDirectory/Error_on_updating_malformed_GPT.ini 229s === RUN TestWatchDirectory/Existing_file,_subdir 229s === PAUSE TestWatchDirectory/Existing_file,_subdir 229s === RUN TestWatchDirectory/Remove_root_directory 229s === PAUSE TestWatchDirectory/Remove_root_directory 229s === RUN TestWatchDirectory/Remove_file 229s === PAUSE TestWatchDirectory/Remove_file 229s === RUN TestWatchDirectory/New_subdir_without_file 229s === PAUSE TestWatchDirectory/New_subdir_without_file 229s === RUN TestWatchDirectory/Multiple_directories,_only_one_is_updated 229s === PAUSE TestWatchDirectory/Multiple_directories,_only_one_is_updated 229s === RUN TestWatchDirectory/Multiple_directories_with_different_versions,_all_updated 229s === PAUSE TestWatchDirectory/Multiple_directories_with_different_versions,_all_updated 229s === RUN TestWatchDirectory/Error_on_listing_no_directory 229s === PAUSE TestWatchDirectory/Error_on_listing_no_directory 229s === RUN TestWatchDirectory/Update_with_existing_gpt.ini 229s === PAUSE TestWatchDirectory/Update_with_existing_gpt.ini 229s === RUN TestWatchDirectory/Updating_gpt.ini_is_a_no-op 229s === PAUSE TestWatchDirectory/Updating_gpt.ini_is_a_no-op 229s === CONT TestStopWithoutStart 229s --- PASS: TestStopWithoutStart (0.00s) 229s === CONT TestUpdateDirsOnStoppedWatcher 229s time="2025-10-31T03:47:18Z" level=debug msg="Updating directories to [/tmp/TestUpdateDirsOnStoppedWatcher3111311429/001/curdir]" 229s time="2025-10-31T03:47:18Z" level=warning msg="Error stopping watcher: the service is already stopping or not running" 229s time="2025-10-31T03:47:18Z" level=debug msg="Watching /tmp/TestUpdateDirsOnStoppedWatcher3111311429/001/curdir and children" 229s time="2025-10-31T03:47:18Z" level=debug msg="Watching: /tmp/TestUpdateDirsOnStoppedWatcher3111311429/001/curdir" 229s time="2025-10-31T03:47:18Z" level=debug msg="Watching: /tmp/TestUpdateDirsOnStoppedWatcher3111311429/001/curdir/GPT.INI" 229s time="2025-10-31T03:47:18Z" level=debug msg="Watching: /tmp/TestUpdateDirsOnStoppedWatcher3111311429/001/curdir/alreadyexists" 229s time="2025-10-31T03:47:18Z" level=debug msg="Watching: /tmp/TestUpdateDirsOnStoppedWatcher3111311429/001/curdir/alreadyexistsDir" 229s time="2025-10-31T03:47:18Z" level=debug msg="Watching: /tmp/TestUpdateDirsOnStoppedWatcher3111311429/001/curdir/alreadyexistsDir/GPT.INI" 229s time="2025-10-31T03:47:18Z" level=debug msg="Watching: /tmp/TestUpdateDirsOnStoppedWatcher3111311429/001/curdir/alreadyexistsDir/alreadyexists" 229s time="2025-10-31T03:47:18Z" level=debug msg="Watching /tmp/TestUpdateDirsWithEmptyDirSlice1004928528/001/watchdir and children" 229s time="2025-10-31T03:47:18Z" level=debug msg="Watching: /tmp/TestUpdateDirsWithEmptyDirSlice1004928528/001/watchdir" 229s time="2025-10-31T03:47:18Z" level=debug msg="Watching: /tmp/TestUpdateDirsWithEmptyDirSlice1004928528/001/watchdir/GPT.INI" 229s time="2025-10-31T03:47:18Z" level=debug msg="Watching: /tmp/TestUpdateDirsWithEmptyDirSlice1004928528/001/watchdir/alreadyexists" 229s time="2025-10-31T03:47:18Z" level=debug msg="Watching: /tmp/TestUpdateDirsWithEmptyDirSlice1004928528/001/watchdir/alreadyexistsDir" 229s time="2025-10-31T03:47:18Z" level=debug msg="Watching: /tmp/TestUpdateDirsWithEmptyDirSlice1004928528/001/watchdir/alreadyexistsDir/GPT.INI" 229s time="2025-10-31T03:47:18Z" level=debug msg="Watching: /tmp/TestUpdateDirsWithEmptyDirSlice1004928528/001/watchdir/alreadyexistsDir/alreadyexists" 229s time="2025-10-31T03:47:18Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsOnStoppedWatcher3111311429/001/curdir/alreadyexists\"" 229s time="2025-10-31T03:47:18Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsOnStoppedWatcher3111311429/001/curdir/alreadyexists\"" 229s time="2025-10-31T03:47:18Z" level=debug msg="Updating directories to []" 229s time="2025-10-31T03:47:18Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsOnStoppedWatcher3111311429/001/curdir/alreadyexists\"" 229s time="2025-10-31T03:47:18Z" level=info msg="Watcher stopped" 229s time="2025-10-31T03:47:18Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsOnStoppedWatcher3111311429/001/curdir/alreadyexists\"" 229s --- PASS: TestUpdateDirsWithEmptyDirSlice (0.02s) 229s === CONT TestUpdateDirs 229s time="2025-10-31T03:47:19Z" level=info msg="Watcher stopped" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching /tmp/TestUpdateDirs47628850/001/remove and children" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestUpdateDirs47628850/001/remove" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestUpdateDirs47628850/001/remove/GPT.INI" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestUpdateDirs47628850/001/remove/alreadyexists" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestUpdateDirs47628850/001/remove/alreadyexistsDir" 229s time="2025-10-31T03:47:19Z" level=info msg="Bumping version for /tmp/TestUpdateDirsOnStoppedWatcher3111311429/001/curdir/GPT.INI" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestUpdateDirs47628850/001/remove/alreadyexistsDir/GPT.INI" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestUpdateDirs47628850/001/remove/alreadyexistsDir/alreadyexists" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching /tmp/TestUpdateDirs47628850/001/keep and children" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestUpdateDirs47628850/001/keep" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestUpdateDirs47628850/001/keep/GPT.INI" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestUpdateDirs47628850/001/keep/alreadyexists" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestUpdateDirs47628850/001/keep/alreadyexistsDir" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestUpdateDirs47628850/001/keep/alreadyexistsDir/GPT.INI" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestUpdateDirs47628850/001/keep/alreadyexistsDir/alreadyexists" 229s time="2025-10-31T03:47:19Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs47628850/001/remove/alreadyexists\"" 229s time="2025-10-31T03:47:19Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs47628850/001/remove/alreadyexists\"" 229s time="2025-10-31T03:47:19Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs47628850/001/remove/alreadyexists\"" 229s time="2025-10-31T03:47:19Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs47628850/001/remove/alreadyexists\"" 229s --- PASS: TestUpdateDirsOnStoppedWatcher (0.37s) 229s === CONT TestUpdateDirsFailing 229s time="2025-10-31T03:47:19Z" level=debug msg="Updating directories to [/tmp/TestUpdateDirs47628850/001/keep /tmp/TestUpdateDirs47628850/001/add]" 229s time="2025-10-31T03:47:19Z" level=info msg="Watcher stopped" 229s time="2025-10-31T03:47:19Z" level=info msg="Bumping version for /tmp/TestUpdateDirs47628850/001/remove/GPT.INI" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching /tmp/TestUpdateDirsFailing3229832717/001/remove and children" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing3229832717/001/remove" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing3229832717/001/remove/GPT.INI" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing3229832717/001/remove/alreadyexists" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing3229832717/001/remove/alreadyexistsDir" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching /tmp/TestUpdateDirs47628850/001/keep and children" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestUpdateDirs47628850/001/keep" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestUpdateDirs47628850/001/keep/GPT.INI" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestUpdateDirs47628850/001/keep/alreadyexists" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestUpdateDirs47628850/001/keep/alreadyexistsDir" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestUpdateDirs47628850/001/keep/alreadyexistsDir/GPT.INI" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestUpdateDirs47628850/001/keep/alreadyexistsDir/alreadyexists" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching /tmp/TestUpdateDirs47628850/001/add and children" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestUpdateDirs47628850/001/add" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestUpdateDirs47628850/001/add/GPT.INI" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestUpdateDirs47628850/001/add/alreadyexists" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestUpdateDirs47628850/001/add/alreadyexistsDir" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestUpdateDirs47628850/001/add/alreadyexistsDir/GPT.INI" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing3229832717/001/remove/alreadyexistsDir/GPT.INI" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestUpdateDirs47628850/001/add/alreadyexistsDir/alreadyexists" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing3229832717/001/remove/alreadyexistsDir/alreadyexists" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching /tmp/TestUpdateDirsFailing3229832717/001/keep and children" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing3229832717/001/keep" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing3229832717/001/keep/GPT.INI" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing3229832717/001/keep/alreadyexists" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing3229832717/001/keep/alreadyexistsDir" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing3229832717/001/keep/alreadyexistsDir/GPT.INI" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing3229832717/001/keep/alreadyexistsDir/alreadyexists" 229s time="2025-10-31T03:47:19Z" level=debug msg="Updating directories to [/tmp/TestUpdateDirsFailing3229832717/001/keep unexisting]" 229s time="2025-10-31T03:47:19Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsFailing3229832717/001/keep/alreadyexists\"" 229s time="2025-10-31T03:47:19Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsFailing3229832717/001/keep/alreadyexists\"" 229s time="2025-10-31T03:47:19Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsFailing3229832717/001/keep/alreadyexists\"" 229s time="2025-10-31T03:47:19Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsFailing3229832717/001/keep/alreadyexists\"" 229s time="2025-10-31T03:47:19Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsFailing3229832717/001/remove/alreadyexists\"" 229s time="2025-10-31T03:47:19Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsFailing3229832717/001/remove/alreadyexists\"" 229s time="2025-10-31T03:47:19Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsFailing3229832717/001/remove/alreadyexists\"" 229s time="2025-10-31T03:47:19Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsFailing3229832717/001/remove/alreadyexists\"" 229s time="2025-10-31T03:47:19Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs47628850/001/keep/alreadyexists\"" 229s time="2025-10-31T03:47:19Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs47628850/001/keep/alreadyexists\"" 229s time="2025-10-31T03:47:19Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs47628850/001/keep/alreadyexists\"" 229s time="2025-10-31T03:47:19Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs47628850/001/keep/alreadyexists\"" 229s time="2025-10-31T03:47:19Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs47628850/001/add/alreadyexists\"" 229s time="2025-10-31T03:47:19Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs47628850/001/add/alreadyexists\"" 229s time="2025-10-31T03:47:19Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs47628850/001/add/alreadyexists\"" 229s time="2025-10-31T03:47:19Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs47628850/001/add/alreadyexists\"" 229s time="2025-10-31T03:47:19Z" level=info msg="Watcher stopped" 229s time="2025-10-31T03:47:19Z" level=info msg="Bumping version for /tmp/TestUpdateDirsFailing3229832717/001/keep/GPT.INI" 229s time="2025-10-31T03:47:19Z" level=info msg="Bumping version for /tmp/TestUpdateDirsFailing3229832717/001/remove/GPT.INI" 229s --- PASS: TestUpdateDirsFailing (0.22s) 229s === CONT TestRefreshGracePeriod 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching /tmp/TestRefreshGracePeriod2942712206/001/withsubdir and children" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestRefreshGracePeriod2942712206/001/withsubdir" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestRefreshGracePeriod2942712206/001/withsubdir/GPT.INI" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestRefreshGracePeriod2942712206/001/withsubdir/alreadyexists" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestRefreshGracePeriod2942712206/001/withsubdir/alreadyexistsDir" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestRefreshGracePeriod2942712206/001/withsubdir/alreadyexistsDir/GPT.INI" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestRefreshGracePeriod2942712206/001/withsubdir/alreadyexistsDir/alreadyexists" 229s time="2025-10-31T03:47:19Z" level=info msg="Watcher stopped" 229s time="2025-10-31T03:47:19Z" level=info msg="Bumping version for /tmp/TestUpdateDirs47628850/001/keep/GPT.INI" 229s time="2025-10-31T03:47:19Z" level=info msg="Bumping version for /tmp/TestUpdateDirs47628850/001/add/GPT.INI" 229s time="2025-10-31T03:47:19Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod2942712206/001/withsubdir/alreadyexists\"" 229s time="2025-10-31T03:47:19Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod2942712206/001/withsubdir/alreadyexists\"" 229s time="2025-10-31T03:47:19Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod2942712206/001/withsubdir/alreadyexists\"" 229s time="2025-10-31T03:47:19Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod2942712206/001/withsubdir/alreadyexists\"" 229s --- PASS: TestUpdateDirs (0.68s) 229s === CONT TestWatchDirectory/Update_with_existing_gpt.ini 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching /tmp/TestWatchDirectoryUpdate_with_existing_gpt.ini786894719/001/one_file and children" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdate_with_existing_gpt.ini786894719/001/one_file" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdate_with_existing_gpt.ini786894719/001/one_file/GPT.INI" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdate_with_existing_gpt.ini786894719/001/one_file/alreadyexists" 229s time="2025-10-31T03:47:19Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryUpdate_with_existing_gpt.ini786894719/001/one_file/new\"" 229s time="2025-10-31T03:47:19Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryUpdate_with_existing_gpt.ini786894719/001/one_file/new\"" 229s time="2025-10-31T03:47:19Z" level=info msg="Watcher stopped" 229s time="2025-10-31T03:47:19Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryUpdate_with_existing_gpt.ini786894719/001/one_file/GPT.INI" 229s === CONT TestWatchDirectory/New_file,_subdir 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching /tmp/TestWatchDirectoryNew_file,_subdir426563528/001/withsubdir and children" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_file,_subdir426563528/001/withsubdir" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_file,_subdir426563528/001/withsubdir/GPT.INI" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_file,_subdir426563528/001/withsubdir/alreadyexists" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_file,_subdir426563528/001/withsubdir/alreadyexistsDir" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_file,_subdir426563528/001/withsubdir/alreadyexistsDir/GPT.INI" 229s time="2025-10-31T03:47:19Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_file,_subdir426563528/001/withsubdir/alreadyexistsDir/alreadyexists" 229s time="2025-10-31T03:47:19Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryNew_file,_subdir426563528/001/withsubdir/alreadyexistsDir/new\"" 229s time="2025-10-31T03:47:19Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryNew_file,_subdir426563528/001/withsubdir/alreadyexistsDir/new\"" 229s time="2025-10-31T03:47:19Z" level=info msg="Watcher stopped" 229s time="2025-10-31T03:47:19Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryNew_file,_subdir426563528/001/withsubdir/GPT.INI" 229s === CONT TestWatchDirectory/Error_on_listing_no_directory 229s === CONT TestWatchDirectory/Multiple_directories_with_different_versions,_all_updated 229s time="2025-10-31T03:47:20Z" level=debug msg="Watching /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,_all_updated922898055/001/one_file and children" 229s time="2025-10-31T03:47:20Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,_all_updated922898055/001/one_file" 229s time="2025-10-31T03:47:20Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,_all_updated922898055/001/one_file/GPT.INI" 229s time="2025-10-31T03:47:20Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,_all_updated922898055/001/one_file/alreadyexists" 229s time="2025-10-31T03:47:20Z" level=debug msg="Watching /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,_all_updated922898055/001/withsubdir and children" 229s time="2025-10-31T03:47:20Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,_all_updated922898055/001/withsubdir" 229s time="2025-10-31T03:47:20Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,_all_updated922898055/001/withsubdir/GPT.INI" 229s time="2025-10-31T03:47:20Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,_all_updated922898055/001/withsubdir/alreadyexists" 229s time="2025-10-31T03:47:20Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,_all_updated922898055/001/withsubdir/alreadyexistsDir" 229s time="2025-10-31T03:47:20Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,_all_updated922898055/001/withsubdir/alreadyexistsDir/GPT.INI" 229s time="2025-10-31T03:47:20Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,_all_updated922898055/001/withsubdir/alreadyexistsDir/alreadyexists" 229s time="2025-10-31T03:47:20Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_directories_with_different_versions,_all_updated922898055/001/one_file/alreadyexists\"" 229s time="2025-10-31T03:47:20Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_directories_with_different_versions,_all_updated922898055/001/one_file/alreadyexists\"" 229s time="2025-10-31T03:47:20Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_directories_with_different_versions,_all_updated922898055/001/withsubdir/alreadyexists\"" 229s time="2025-10-31T03:47:20Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_directories_with_different_versions,_all_updated922898055/001/withsubdir/alreadyexists\"" 229s time="2025-10-31T03:47:20Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod2942712206/001/withsubdir/alreadyexistsDir/alreadyexists\"" 229s time="2025-10-31T03:47:20Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod2942712206/001/withsubdir/alreadyexistsDir/alreadyexists\"" 229s time="2025-10-31T03:47:20Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod2942712206/001/withsubdir/alreadyexistsDir/alreadyexists\"" 229s time="2025-10-31T03:47:20Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod2942712206/001/withsubdir/alreadyexistsDir/alreadyexists\"" 229s time="2025-10-31T03:47:20Z" level=info msg="Watcher stopped" 229s time="2025-10-31T03:47:20Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,_all_updated922898055/001/one_file/GPT.INI" 229s time="2025-10-31T03:47:20Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,_all_updated922898055/001/withsubdir/GPT.INI" 229s === CONT TestWatchDirectory/Multiple_directories,_only_one_is_updated 229s time="2025-10-31T03:47:20Z" level=debug msg="Watching /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated3876248947/001/one_file and children" 229s time="2025-10-31T03:47:20Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated3876248947/001/one_file" 229s time="2025-10-31T03:47:20Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated3876248947/001/one_file/GPT.INI" 229s time="2025-10-31T03:47:20Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated3876248947/001/one_file/alreadyexists" 229s time="2025-10-31T03:47:20Z" level=debug msg="Watching /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated3876248947/001/withsubdir and children" 229s time="2025-10-31T03:47:20Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated3876248947/001/withsubdir" 229s time="2025-10-31T03:47:20Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated3876248947/001/withsubdir/GPT.INI" 229s time="2025-10-31T03:47:20Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated3876248947/001/withsubdir/alreadyexists" 229s time="2025-10-31T03:47:20Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated3876248947/001/withsubdir/alreadyexistsDir" 229s time="2025-10-31T03:47:20Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated3876248947/001/withsubdir/alreadyexistsDir/GPT.INI" 229s time="2025-10-31T03:47:20Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated3876248947/001/withsubdir/alreadyexistsDir/alreadyexists" 229s time="2025-10-31T03:47:20Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated3876248947/001/withsubdir/alreadyexists\"" 229s time="2025-10-31T03:47:20Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated3876248947/001/withsubdir/alreadyexists\"" 229s time="2025-10-31T03:47:20Z" level=info msg="Watcher stopped" 229s time="2025-10-31T03:47:20Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated3876248947/001/withsubdir/GPT.INI" 229s === CONT TestWatchDirectory/New_subdir_without_file 229s time="2025-10-31T03:47:20Z" level=debug msg="Watching /tmp/TestWatchDirectoryNew_subdir_without_file1209895892/001/withsubdir and children" 229s time="2025-10-31T03:47:20Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir_without_file1209895892/001/withsubdir" 229s time="2025-10-31T03:47:20Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir_without_file1209895892/001/withsubdir/GPT.INI" 229s time="2025-10-31T03:47:20Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir_without_file1209895892/001/withsubdir/alreadyexists" 229s time="2025-10-31T03:47:20Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir_without_file1209895892/001/withsubdir/alreadyexistsDir" 229s time="2025-10-31T03:47:20Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir_without_file1209895892/001/withsubdir/alreadyexistsDir/GPT.INI" 229s time="2025-10-31T03:47:20Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir_without_file1209895892/001/withsubdir/alreadyexistsDir/alreadyexists" 229s time="2025-10-31T03:47:20Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryNew_subdir_without_file1209895892/001/withsubdir/newsubdir\"" 229s time="2025-10-31T03:47:20Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryNew_subdir_without_file1209895892/001/withsubdir/newsubdir\"" 229s time="2025-10-31T03:47:20Z" level=info msg="Watcher stopped" 229s time="2025-10-31T03:47:20Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryNew_subdir_without_file1209895892/001/withsubdir/GPT.INI" 229s === CONT TestWatchDirectory/Remove_file 229s time="2025-10-31T03:47:20Z" level=debug msg="Watching /tmp/TestWatchDirectoryRemove_file2464767233/001/one_file and children" 229s time="2025-10-31T03:47:20Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRemove_file2464767233/001/one_file" 229s time="2025-10-31T03:47:20Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRemove_file2464767233/001/one_file/GPT.INI" 229s time="2025-10-31T03:47:20Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRemove_file2464767233/001/one_file/alreadyexists" 229s time="2025-10-31T03:47:20Z" level=debug msg="Got event: CHMOD \"/tmp/TestWatchDirectoryRemove_file2464767233/001/one_file/alreadyexists\"" 229s time="2025-10-31T03:47:20Z" level=debug msg="Got event: REMOVE \"/tmp/TestWatchDirectoryRemove_file2464767233/001/one_file/alreadyexists\"" 229s time="2025-10-31T03:47:20Z" level=debug msg="Failed to remove watcher on \"/tmp/TestWatchDirectoryRemove_file2464767233/001/one_file/alreadyexists\": fsnotify: can't remove non-existent watch: /tmp/TestWatchDirectoryRemove_file2464767233/001/one_file/alreadyexists" 229s time="2025-10-31T03:47:20Z" level=debug msg="Got event: REMOVE \"/tmp/TestWatchDirectoryRemove_file2464767233/001/one_file/alreadyexists\"" 229s time="2025-10-31T03:47:20Z" level=debug msg="Failed to remove watcher on \"/tmp/TestWatchDirectoryRemove_file2464767233/001/one_file/alreadyexists\": fsnotify: can't remove non-existent watch: /tmp/TestWatchDirectoryRemove_file2464767233/001/one_file/alreadyexists" 229s time="2025-10-31T03:47:20Z" level=info msg="Watcher stopped" 229s time="2025-10-31T03:47:20Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryRemove_file2464767233/001/one_file/GPT.INI" 229s === CONT TestWatchDirectory/Remove_root_directory 229s time="2025-10-31T03:47:20Z" level=debug msg="Watching /tmp/TestWatchDirectoryRemove_root_directory2531086387/001/one_file and children" 229s time="2025-10-31T03:47:20Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRemove_root_directory2531086387/001/one_file" 229s time="2025-10-31T03:47:20Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRemove_root_directory2531086387/001/one_file/GPT.INI" 229s time="2025-10-31T03:47:20Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRemove_root_directory2531086387/001/one_file/alreadyexists" 229s time="2025-10-31T03:47:20Z" level=debug msg="Got event: CHMOD \"/tmp/TestWatchDirectoryRemove_root_directory2531086387/001/one_file/alreadyexists\"" 229s time="2025-10-31T03:47:20Z" level=debug msg="Got event: REMOVE \"/tmp/TestWatchDirectoryRemove_root_directory2531086387/001/one_file/alreadyexists\"" 229s time="2025-10-31T03:47:20Z" level=debug msg="Failed to remove watcher on \"/tmp/TestWatchDirectoryRemove_root_directory2531086387/001/one_file/alreadyexists\": fsnotify: can't remove non-existent watch: /tmp/TestWatchDirectoryRemove_root_directory2531086387/001/one_file/alreadyexists" 229s time="2025-10-31T03:47:20Z" level=debug msg="Got event: REMOVE \"/tmp/TestWatchDirectoryRemove_root_directory2531086387/001/one_file/alreadyexists\"" 229s time="2025-10-31T03:47:20Z" level=debug msg="Failed to remove watcher on \"/tmp/TestWatchDirectoryRemove_root_directory2531086387/001/one_file/alreadyexists\": fsnotify: can't remove non-existent watch: /tmp/TestWatchDirectoryRemove_root_directory2531086387/001/one_file/alreadyexists" 229s time="2025-10-31T03:47:20Z" level=debug msg="Got event: CHMOD \"/tmp/TestWatchDirectoryRemove_root_directory2531086387/001/one_file/GPT.INI\"" 229s time="2025-10-31T03:47:20Z" level=debug msg="Got event: REMOVE \"/tmp/TestWatchDirectoryRemove_root_directory2531086387/001/one_file/GPT.INI\"" 229s time="2025-10-31T03:47:20Z" level=debug msg="Got event: REMOVE \"/tmp/TestWatchDirectoryRemove_root_directory2531086387/001/one_file/GPT.INI\"" 229s time="2025-10-31T03:47:20Z" level=debug msg="Got event: REMOVE \"/tmp/TestWatchDirectoryRemove_root_directory2531086387/001/one_file\"" 229s time="2025-10-31T03:47:20Z" level=debug msg="Failed to remove watcher on \"/tmp/TestWatchDirectoryRemove_root_directory2531086387/001/one_file\": fsnotify: can't remove non-existent watch: /tmp/TestWatchDirectoryRemove_root_directory2531086387/001/one_file" 229s time="2025-10-31T03:47:21Z" level=info msg="Watcher stopped" 229s time="2025-10-31T03:47:21Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryRemove_root_directory2531086387/001/one_file/GPT.INI" 229s time="2025-10-31T03:47:21Z" level=info msg="error loading ini contents: open /tmp/TestWatchDirectoryRemove_root_directory2531086387/001/one_file/GPT.INI: no such file or directory, creating a new file" 229s time="2025-10-31T03:47:21Z" level=warning msg="Failed to bump /tmp/TestWatchDirectoryRemove_root_directory2531086387/001/one_file/GPT.INI version: can't bump version for /tmp/TestWatchDirectoryRemove_root_directory2531086387/001/one_file/GPT.INI: open /tmp/TestWatchDirectoryRemove_root_directory2531086387/001/one_file/GPT.INI: no such file or directory" 229s time="2025-10-31T03:47:21Z" level=info msg="Bumping version for /tmp/TestRefreshGracePeriod2942712206/001/withsubdir/GPT.INI" 229s time="2025-10-31T03:47:21Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod2942712206/001/withsubdir/GPT.INI\"" 229s time="2025-10-31T03:47:21Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod2942712206/001/withsubdir/GPT.INI\"" 229s time="2025-10-31T03:47:21Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod2942712206/001/withsubdir/GPT.INI\"" 229s time="2025-10-31T03:47:21Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod2942712206/001/withsubdir/GPT.INI\"" 229s === CONT TestWatchDirectory/Existing_file,_subdir 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching /tmp/TestWatchDirectoryExisting_file,_subdir1862204389/001/withsubdir and children" 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching: /tmp/TestWatchDirectoryExisting_file,_subdir1862204389/001/withsubdir" 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching: /tmp/TestWatchDirectoryExisting_file,_subdir1862204389/001/withsubdir/GPT.INI" 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching: /tmp/TestWatchDirectoryExisting_file,_subdir1862204389/001/withsubdir/alreadyexists" 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching: /tmp/TestWatchDirectoryExisting_file,_subdir1862204389/001/withsubdir/alreadyexistsDir" 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching: /tmp/TestWatchDirectoryExisting_file,_subdir1862204389/001/withsubdir/alreadyexistsDir/GPT.INI" 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching: /tmp/TestWatchDirectoryExisting_file,_subdir1862204389/001/withsubdir/alreadyexistsDir/alreadyexists" 229s time="2025-10-31T03:47:21Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryExisting_file,_subdir1862204389/001/withsubdir/alreadyexistsDir/alreadyexists\"" 229s time="2025-10-31T03:47:21Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryExisting_file,_subdir1862204389/001/withsubdir/alreadyexistsDir/alreadyexists\"" 229s time="2025-10-31T03:47:21Z" level=info msg="Watcher stopped" 229s time="2025-10-31T03:47:21Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryExisting_file,_subdir1862204389/001/withsubdir/GPT.INI" 229s === CONT TestWatchDirectory/Error_on_updating_malformed_GPT.ini 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching /tmp/TestWatchDirectoryError_on_updating_malformed_GPT.ini730514904/001/malformed and children" 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching: /tmp/TestWatchDirectoryError_on_updating_malformed_GPT.ini730514904/001/malformed" 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching: /tmp/TestWatchDirectoryError_on_updating_malformed_GPT.ini730514904/001/malformed/GPT.INI" 229s time="2025-10-31T03:47:21Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryError_on_updating_malformed_GPT.ini730514904/001/malformed/new\"" 229s time="2025-10-31T03:47:21Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryError_on_updating_malformed_GPT.ini730514904/001/malformed/new\"" 229s time="2025-10-31T03:47:21Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryError_on_updating_malformed_GPT.ini730514904/001/malformed/new\"" 229s time="2025-10-31T03:47:21Z" level=info msg="Watcher stopped" 229s --- PASS: TestRefreshGracePeriod (1.99s) 229s === CONT TestWatchDirectory/Error_on_non_existing_directory 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching /tmp/TestWatchDirectoryError_on_non_existing_directory2310736679/001/doesnotexist and children" 229s === CONT TestWatchDirectory/Combined_case 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching /tmp/TestWatchDirectoryCombined_case530172500/001/withsubdir and children" 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case530172500/001/withsubdir" 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case530172500/001/withsubdir/GPT.INI" 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case530172500/001/withsubdir/alreadyexists" 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case530172500/001/withsubdir/alreadyexistsDir" 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case530172500/001/withsubdir/alreadyexistsDir/GPT.INI" 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case530172500/001/withsubdir/alreadyexistsDir/alreadyexists" 229s time="2025-10-31T03:47:21Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryCombined_case530172500/001/withsubdir/alreadyexists\"" 229s time="2025-10-31T03:47:21Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryCombined_case530172500/001/withsubdir/alreadyexists\"" 229s time="2025-10-31T03:47:21Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryCombined_case530172500/001/withsubdir/new\"" 229s time="2025-10-31T03:47:21Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryCombined_case530172500/001/withsubdir/new\"" 229s time="2025-10-31T03:47:21Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryCombined_case530172500/001/withsubdir/new\"" 229s time="2025-10-31T03:47:21Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryCombined_case530172500/001/withsubdir/dir\"" 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching /tmp/TestWatchDirectoryCombined_case530172500/001/withsubdir/dir and children" 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case530172500/001/withsubdir/dir" 229s time="2025-10-31T03:47:21Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryCombined_case530172500/001/withsubdir/dir/file\"" 229s time="2025-10-31T03:47:21Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryCombined_case530172500/001/withsubdir/dir/file\"" 229s time="2025-10-31T03:47:21Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryCombined_case530172500/001/withsubdir/dir/file\"" 229s time="2025-10-31T03:47:21Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryCombined_case530172500/001/withsubdir/alreadyexistsDir/alreadyexists\"" 229s time="2025-10-31T03:47:21Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryCombined_case530172500/001/withsubdir/alreadyexistsDir/alreadyexists\"" 229s time="2025-10-31T03:47:21Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryCombined_case530172500/001/withsubdir/alreadyexistsDir/new\"" 229s time="2025-10-31T03:47:21Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryCombined_case530172500/001/withsubdir/alreadyexistsDir/new\"" 229s time="2025-10-31T03:47:21Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryCombined_case530172500/001/withsubdir/otherdir\"" 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching /tmp/TestWatchDirectoryCombined_case530172500/001/withsubdir/otherdir and children" 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case530172500/001/withsubdir/otherdir" 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case530172500/001/withsubdir/otherdir/subdir" 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case530172500/001/withsubdir/otherdir/subdir/file" 229s time="2025-10-31T03:47:21Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryCombined_case530172500/001/withsubdir/newdir\"" 229s time="2025-10-31T03:47:21Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryCombined_case530172500/001/withsubdir/newdir\"" 229s time="2025-10-31T03:47:21Z" level=info msg="Watcher stopped" 229s time="2025-10-31T03:47:21Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryError_on_updating_malformed_GPT.ini730514904/001/malformed/GPT.INI" 229s time="2025-10-31T03:47:21Z" level=warning msg="Failed to bump /tmp/TestWatchDirectoryError_on_updating_malformed_GPT.ini730514904/001/malformed/GPT.INI version: can't bump version for /tmp/TestWatchDirectoryError_on_updating_malformed_GPT.ini730514904/001/malformed/GPT.INI: strconv.ParseInt: parsing \"??\": invalid syntax" 229s time="2025-10-31T03:47:21Z" level=info msg="Watcher stopped" 229s time="2025-10-31T03:47:21Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryCombined_case530172500/001/withsubdir/GPT.INI" 229s === CONT TestWatchDirectory/No_update,_existing_gpt.ini 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching /tmp/TestWatchDirectoryNo_update,_existing_gpt.ini2872418676/001/one_file and children" 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNo_update,_existing_gpt.ini2872418676/001/one_file" 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNo_update,_existing_gpt.ini2872418676/001/one_file/GPT.INI" 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNo_update,_existing_gpt.ini2872418676/001/one_file/alreadyexists" 229s === CONT TestWatchDirectory/No_update,_no_gpt.ini 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching /tmp/TestWatchDirectoryNo_update,_no_gpt.ini1811204928/001/no_gpt and children" 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNo_update,_no_gpt.ini1811204928/001/no_gpt" 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNo_update,_no_gpt.ini1811204928/001/no_gpt/testfile" 229s time="2025-10-31T03:47:21Z" level=info msg="Watcher stopped" 229s time="2025-10-31T03:47:21Z" level=info msg="Watcher stopped" 229s === CONT TestWatchDirectory/New_file,_no_gpt.ini 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching /tmp/TestWatchDirectoryNew_file,_no_gpt.ini686538768/001/no_gpt and children" 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_file,_no_gpt.ini686538768/001/no_gpt" 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_file,_no_gpt.ini686538768/001/no_gpt/testfile" 229s time="2025-10-31T03:47:21Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryNew_file,_no_gpt.ini686538768/001/no_gpt/new\"" 229s time="2025-10-31T03:47:21Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryNew_file,_no_gpt.ini686538768/001/no_gpt/new\"" 229s === CONT TestWatchDirectory/Multiple_nested_subdirectories,_only_update_nested_file 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_nested_file2342319065/001/withsubdir/alreadyexistsDir and children" 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_nested_file2342319065/001/withsubdir/alreadyexistsDir" 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_nested_file2342319065/001/withsubdir/alreadyexistsDir/GPT.INI" 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_nested_file2342319065/001/withsubdir/alreadyexistsDir/alreadyexists" 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_nested_file2342319065/001/withsubdir and children" 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_nested_file2342319065/001/withsubdir" 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_nested_file2342319065/001/withsubdir/GPT.INI" 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_nested_file2342319065/001/withsubdir/alreadyexists" 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_nested_file2342319065/001/withsubdir/alreadyexistsDir" 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_nested_file2342319065/001/withsubdir/alreadyexistsDir/GPT.INI" 229s time="2025-10-31T03:47:21Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_nested_file2342319065/001/withsubdir/alreadyexistsDir/alreadyexists" 229s time="2025-10-31T03:47:21Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_nested_file2342319065/001/withsubdir/alreadyexistsDir/alreadyexists\"" 229s time="2025-10-31T03:47:21Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_nested_file2342319065/001/withsubdir/alreadyexistsDir/alreadyexists\"" 229s time="2025-10-31T03:47:21Z" level=info msg="Watcher stopped" 229s time="2025-10-31T03:47:21Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryNew_file,_no_gpt.ini686538768/001/no_gpt/GPT.INI" 229s time="2025-10-31T03:47:21Z" level=info msg="error loading ini contents: open /tmp/TestWatchDirectoryNew_file,_no_gpt.ini686538768/001/no_gpt/GPT.INI: no such file or directory, creating a new file" 229s time="2025-10-31T03:47:22Z" level=info msg="Watcher stopped" 229s time="2025-10-31T03:47:22Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_nested_file2342319065/001/withsubdir/alreadyexistsDir/GPT.INI" 229s === CONT TestWatchDirectory/New_subdir 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching /tmp/TestWatchDirectoryNew_subdir3098759429/001/withsubdir and children" 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir3098759429/001/withsubdir" 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir3098759429/001/withsubdir/GPT.INI" 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir3098759429/001/withsubdir/alreadyexists" 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir3098759429/001/withsubdir/alreadyexistsDir" 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir3098759429/001/withsubdir/alreadyexistsDir/GPT.INI" 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir3098759429/001/withsubdir/alreadyexistsDir/alreadyexists" 229s time="2025-10-31T03:47:22Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryNew_subdir3098759429/001/withsubdir/dir\"" 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching /tmp/TestWatchDirectoryNew_subdir3098759429/001/withsubdir/dir and children" 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir3098759429/001/withsubdir/dir" 229s time="2025-10-31T03:47:22Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryNew_subdir3098759429/001/withsubdir/dir/file\"" 229s time="2025-10-31T03:47:22Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryNew_subdir3098759429/001/withsubdir/dir/file\"" 229s time="2025-10-31T03:47:22Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryNew_subdir3098759429/001/withsubdir/dir/file\"" 229s === CONT TestWatchDirectory/Rename_file_and_update 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching /tmp/TestWatchDirectoryRename_file_and_update3560473989/001/one_file and children" 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRename_file_and_update3560473989/001/one_file" 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRename_file_and_update3560473989/001/one_file/GPT.INI" 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRename_file_and_update3560473989/001/one_file/alreadyexists" 229s time="2025-10-31T03:47:22Z" level=debug msg="Got event: RENAME \"/tmp/TestWatchDirectoryRename_file_and_update3560473989/001/one_file/alreadyexists\"" 229s time="2025-10-31T03:47:22Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryRename_file_and_update3560473989/001/one_file/alreadyexists.bak\"" 229s time="2025-10-31T03:47:22Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryRename_file_and_update3560473989/001/one_file/alreadyexists.bak\"" 229s time="2025-10-31T03:47:22Z" level=info msg="Watcher stopped" 229s time="2025-10-31T03:47:22Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryNew_subdir3098759429/001/withsubdir/GPT.INI" 229s time="2025-10-31T03:47:22Z" level=info msg="Watcher stopped" 229s time="2025-10-31T03:47:22Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryRename_file_and_update3560473989/001/one_file/GPT.INI" 229s === CONT TestWatchDirectory/Rename_file 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching /tmp/TestWatchDirectoryRename_file1842662542/001/one_file and children" 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRename_file1842662542/001/one_file" 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRename_file1842662542/001/one_file/GPT.INI" 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRename_file1842662542/001/one_file/alreadyexists" 229s time="2025-10-31T03:47:22Z" level=debug msg="Got event: RENAME \"/tmp/TestWatchDirectoryRename_file1842662542/001/one_file/alreadyexists\"" 229s time="2025-10-31T03:47:22Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryRename_file1842662542/001/one_file/alreadyexists.bak\"" 229s time="2025-10-31T03:47:22Z" level=info msg="Watcher stopped" 229s === CONT TestWatchDirectory/Update_existing_file 229s time="2025-10-31T03:47:22Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryRename_file1842662542/001/one_file/GPT.INI" 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching /tmp/TestWatchDirectoryUpdate_existing_file2899983396/001/one_file and children" 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdate_existing_file2899983396/001/one_file" 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdate_existing_file2899983396/001/one_file/GPT.INI" 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdate_existing_file2899983396/001/one_file/alreadyexists" 229s time="2025-10-31T03:47:22Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryUpdate_existing_file2899983396/001/one_file/alreadyexists\"" 229s time="2025-10-31T03:47:22Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryUpdate_existing_file2899983396/001/one_file/alreadyexists\"" 229s time="2025-10-31T03:47:22Z" level=info msg="Watcher stopped" 229s time="2025-10-31T03:47:22Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryUpdate_existing_file2899983396/001/one_file/GPT.INI" 229s === CONT TestWatchDirectory/Multiple_nested_subdirectories 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching /tmp/TestWatchDirectoryMultiple_nested_subdirectories3064921556/001/withsubdir and children" 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories3064921556/001/withsubdir" 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories3064921556/001/withsubdir/GPT.INI" 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories3064921556/001/withsubdir/alreadyexists" 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories3064921556/001/withsubdir/alreadyexistsDir" 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories3064921556/001/withsubdir/alreadyexistsDir/GPT.INI" 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories3064921556/001/withsubdir/alreadyexistsDir/alreadyexists" 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching /tmp/TestWatchDirectoryMultiple_nested_subdirectories3064921556/001/withsubdir/alreadyexistsDir and children" 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories3064921556/001/withsubdir/alreadyexistsDir" 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories3064921556/001/withsubdir/alreadyexistsDir/GPT.INI" 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories3064921556/001/withsubdir/alreadyexistsDir/alreadyexists" 229s time="2025-10-31T03:47:22Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryMultiple_nested_subdirectories3064921556/001/withsubdir/new\"" 229s time="2025-10-31T03:47:22Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_nested_subdirectories3064921556/001/withsubdir/new\"" 229s time="2025-10-31T03:47:22Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_nested_subdirectories3064921556/001/withsubdir/alreadyexistsDir/alreadyexists\"" 229s time="2025-10-31T03:47:22Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_nested_subdirectories3064921556/001/withsubdir/alreadyexistsDir/alreadyexists\"" 229s === CONT TestWatchDirectory/Nested_new_subdirs 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching /tmp/TestWatchDirectoryNested_new_subdirs208757306/001/withsubdir and children" 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs208757306/001/withsubdir" 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs208757306/001/withsubdir/GPT.INI" 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs208757306/001/withsubdir/alreadyexists" 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs208757306/001/withsubdir/alreadyexistsDir" 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs208757306/001/withsubdir/alreadyexistsDir/GPT.INI" 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs208757306/001/withsubdir/alreadyexistsDir/alreadyexists" 229s time="2025-10-31T03:47:22Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryNested_new_subdirs208757306/001/withsubdir/otherdir\"" 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching /tmp/TestWatchDirectoryNested_new_subdirs208757306/001/withsubdir/otherdir and children" 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs208757306/001/withsubdir/otherdir" 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs208757306/001/withsubdir/otherdir/subdir" 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs208757306/001/withsubdir/otherdir/subdir/file" 229s time="2025-10-31T03:47:22Z" level=info msg="Watcher stopped" 229s time="2025-10-31T03:47:22Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryMultiple_nested_subdirectories3064921556/001/withsubdir/GPT.INI" 229s time="2025-10-31T03:47:22Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryMultiple_nested_subdirectories3064921556/001/withsubdir/alreadyexistsDir/GPT.INI" 229s time="2025-10-31T03:47:22Z" level=info msg="Watcher stopped" 229s time="2025-10-31T03:47:22Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryNested_new_subdirs208757306/001/withsubdir/GPT.INI" 229s === CONT TestWatchDirectory/Updating_gpt.ini_is_a_no-op 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching /tmp/TestWatchDirectoryUpdating_gpt.ini_is_a_no-op1204665483/001/one_file and children" 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdating_gpt.ini_is_a_no-op1204665483/001/one_file" 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdating_gpt.ini_is_a_no-op1204665483/001/one_file/GPT.INI" 229s time="2025-10-31T03:47:22Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdating_gpt.ini_is_a_no-op1204665483/001/one_file/alreadyexists" 229s time="2025-10-31T03:47:22Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryUpdating_gpt.ini_is_a_no-op1204665483/001/one_file/GPT.INI\"" 229s time="2025-10-31T03:47:22Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryUpdating_gpt.ini_is_a_no-op1204665483/001/one_file/GPT.INI\"" 229s time="2025-10-31T03:47:22Z" level=info msg="Watcher stopped" 229s --- PASS: TestWatchDirectory (0.00s) 229s --- PASS: TestWatchDirectory/Update_with_existing_gpt.ini (0.21s) 229s --- PASS: TestWatchDirectory/New_file,_subdir (0.24s) 229s --- PASS: TestWatchDirectory/Error_on_listing_no_directory (0.00s) 229s --- PASS: TestWatchDirectory/Multiple_directories_with_different_versions,_all_updated (0.24s) 229s --- PASS: TestWatchDirectory/Multiple_directories,_only_one_is_updated (0.23s) 229s --- PASS: TestWatchDirectory/New_subdir_without_file (0.22s) 229s --- PASS: TestWatchDirectory/Remove_file (0.21s) 229s --- PASS: TestWatchDirectory/Remove_root_directory (0.21s) 229s --- PASS: TestWatchDirectory/Existing_file,_subdir (0.23s) 229s --- PASS: TestWatchDirectory/Error_on_non_existing_directory (0.00s) 229s --- PASS: TestWatchDirectory/Error_on_updating_malformed_GPT.ini (0.22s) 229s --- PASS: TestWatchDirectory/Combined_case (0.24s) 229s --- PASS: TestWatchDirectory/No_update,_existing_gpt.ini (0.23s) 229s --- PASS: TestWatchDirectory/No_update,_no_gpt.ini (0.22s) 229s --- PASS: TestWatchDirectory/New_file,_no_gpt.ini (0.22s) 229s --- PASS: TestWatchDirectory/Multiple_nested_subdirectories,_only_update_nested_file (0.22s) 229s --- PASS: TestWatchDirectory/New_subdir (0.22s) 229s --- PASS: TestWatchDirectory/Rename_file_and_update (0.24s) 229s --- PASS: TestWatchDirectory/Rename_file (0.23s) 229s --- PASS: TestWatchDirectory/Update_existing_file (0.22s) 229s --- PASS: TestWatchDirectory/Multiple_nested_subdirectories (0.23s) 229s --- PASS: TestWatchDirectory/Nested_new_subdirs (0.22s) 229s --- PASS: TestWatchDirectory/Updating_gpt.ini_is_a_no-op (0.23s) 229s PASS 229s ok github.com/ubuntu/adsys/internal/watcher 4.095s 229s autopkgtest [03:47:23]: test command1: -----------------------] 230s command1 PASS 230s autopkgtest [03:47:24]: test command1: - - - - - - - - - - results - - - - - - - - - - 230s autopkgtest [03:47:24]: test command2: preparing testbed 231s Reading package lists... 231s Building dependency tree... 231s Reading state information... 231s Starting pkgProblemResolver with broken count: 0 231s Starting 2 pkgProblemResolver with broken count: 0 231s Done 231s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 232s autopkgtest [03:47:26]: test command2: ./debian/tests/test sudo 232s autopkgtest [03:47:26]: test command2: [----------------------- 232s Skipping root tests for non-amd64/arm64 architecture 232s autopkgtest [03:47:26]: test command2: -----------------------] 233s autopkgtest [03:47:27]: test command2: - - - - - - - - - - results - - - - - - - - - - 233s command2 SKIP exit status 77 and marked as skippable 233s autopkgtest [03:47:27]: @@@@@@@@@@@@@@@@@@@@ summary 233s command1 PASS 233s command2 SKIP exit status 77 and marked as skippable