0s autopkgtest [03:47:46]: starting date and time: 2025-10-31 03:47:46+0000 0s autopkgtest [03:47:46]: git checkout: 4b346b80 nova: make wait_reboot return success even when a no-op 0s autopkgtest [03:47:46]: host juju-7f2275-prod-proposed-migration-environment-15; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.qiigw_6p/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 builder-cpu2-ram4-disk20 --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-15@bos03-5.secgroup --name adt-noble-amd64-adsys-20251031-034746-juju-7f2275-prod-proposed-migration-environment-15-7a4f670d-f1df-4605-ad8a-b4a9ab0113d0 --image adt/ubuntu-noble-amd64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-15 --net-id=net_prod-proposed-migration-amd64 -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 3s Creating nova instance adt-noble-amd64-adsys-20251031-034746-juju-7f2275-prod-proposed-migration-environment-15-7a4f670d-f1df-4605-ad8a-b4a9ab0113d0 from image adt/ubuntu-noble-amd64-server-20251031.img (UUID bd7db44f-086c-4351-8a61-09c0e64a5ded)... 62s autopkgtest [03:48:48]: testbed dpkg architecture: amd64 62s autopkgtest [03:48:48]: testbed apt version: 2.8.3 62s autopkgtest [03:48:48]: @@@@@@@@@@@@@@@@@@@@ test bed setup 63s autopkgtest [03:48:49]: testbed release detected to be: None 63s autopkgtest [03:48:49]: updating testbed package index (apt update) 64s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [265 kB] 64s 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/restricted Sources [44.4 kB] 64s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [9148 B] 64s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [82.4 kB] 64s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [42.6 kB] 64s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/main i386 Packages [75.3 kB] 65s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/main amd64 Packages [459 kB] 65s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/main amd64 c-n-f Metadata [1948 B] 65s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/restricted i386 Packages [21.0 kB] 65s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/restricted amd64 Packages [993 kB] 66s Get:14 http://ftpmaster.internal/ubuntu noble-proposed/restricted amd64 c-n-f Metadata [444 B] 66s Get:15 http://ftpmaster.internal/ubuntu noble-proposed/universe i386 Packages [49.1 kB] 66s Get:16 http://ftpmaster.internal/ubuntu noble-proposed/universe amd64 Packages [105 kB] 66s Get:17 http://ftpmaster.internal/ubuntu noble-proposed/universe amd64 c-n-f Metadata [2160 B] 66s Get:18 http://ftpmaster.internal/ubuntu noble-proposed/multiverse i386 Packages [752 B] 66s Get:19 http://ftpmaster.internal/ubuntu noble-proposed/multiverse amd64 Packages [5288 B] 66s Get:20 http://ftpmaster.internal/ubuntu noble-proposed/multiverse amd64 c-n-f Metadata [284 B] 68s Fetched 2157 kB in 2s (962 kB/s) 70s Reading package lists... 71s Hit:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease 71s Hit:2 http://ftpmaster.internal/ubuntu noble InRelease 71s Hit:3 http://ftpmaster.internal/ubuntu noble-updates InRelease 71s Hit:4 http://ftpmaster.internal/ubuntu noble-security InRelease 72s Reading package lists... 72s Reading package lists... 73s Building dependency tree... 73s Reading state information... 73s Calculating upgrade... 73s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 73s autopkgtest [03:48:59]: upgrading testbed (apt dist-upgrade and autopurge) 73s Reading package lists... 74s Building dependency tree... 74s Reading state information... 74s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 74s Starting 2 pkgProblemResolver with broken count: 0 74s Done 75s Entering ResolveByKeep 75s 75s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 76s Reading package lists... 76s Building dependency tree... 76s Reading state information... 76s Starting pkgProblemResolver with broken count: 0 76s Starting 2 pkgProblemResolver with broken count: 0 76s Done 77s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 80s autopkgtest [03:49:06]: testbed running kernel: Linux 6.8.0-87-generic #88-Ubuntu SMP PREEMPT_DYNAMIC Sat Oct 11 09:28:41 UTC 2025 80s autopkgtest [03:49:06]: @@@@@@@@@@@@@@@@@@@@ apt-source adsys 88s Get:1 http://ftpmaster.internal/ubuntu noble-proposed/main adsys 0.16.3~24.04.2 (dsc) [2175 B] 88s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/main adsys 0.16.3~24.04.2 (tar) [7409 kB] 88s gpgv: Signature made Fri Oct 24 14:31:01 2025 UTC 88s gpgv: using RSA key 3BE11453128B12B520E77C1312BEDA39A1E77042 88s gpgv: issuer "dgadomski@ubuntu.com" 88s gpgv: Can't check signature: No public key 88s dpkg-source: warning: cannot verify inline signature for ./adsys_0.16.3~24.04.2.dsc: no acceptable signature found 89s autopkgtest [03:49:15]: testing package adsys version 0.16.3~24.04.2 90s autopkgtest [03:49:16]: build not needed 95s autopkgtest [03:49:21]: test command1: preparing testbed 95s Reading package lists... 95s Building dependency tree... 95s Reading state information... 96s Starting pkgProblemResolver with broken count: 0 96s Starting 2 pkgProblemResolver with broken count: 0 96s Done 96s The following NEW packages will be installed: 96s autoconf automake autopoint autotools-dev build-essential comerr-dev cpp 96s cpp-13 cpp-13-x86-64-linux-gnu cpp-x86-64-linux-gnu debhelper debugedit 96s dh-apport dh-autoreconf dh-golang dh-strip-nondeterminism dwz g++ g++-13 96s g++-13-x86-64-linux-gnu g++-x86-64-linux-gnu gcc gcc-13 gcc-13-base 96s gcc-13-x86-64-linux-gnu gcc-x86-64-linux-gnu gettext golang-1.23-go 96s golang-1.23-src intltool-debian krb5-multidev libarchive-zip-perl libasan8 96s libatomic1 libavahi-client3 libavahi-common-data libavahi-common3 96s libblkid-dev libcc1-0 libcups2t64 libdbus-1-dev libdebhelper-perl libffi-dev 96s libfile-stripnondeterminism-perl libgcc-13-dev libgirepository-2.0-0 96s libglib2.0-bin libglib2.0-dev libglib2.0-dev-bin libgomp1 libgssrpc4t64 96s libhwasan0 libisl23 libitm1 libkadm5clnt-mit12 libkadm5srv-mit12 96s libkdb5-10t64 libkrb5-dev libldb2 liblsan0 libmount-dev libmpc3 libpam0g-dev 96s libpcre2-16-0 libpcre2-32-0 libpcre2-dev libpcre2-posix3 libpkgconf3 96s libquadmath0 libselinux1-dev libsepol-dev libsmbclient-dev libsmbclient0 96s libstdc++-13-dev libsub-override-perl libtalloc2 libtdb1 libtevent0t64 96s libtool libtsan2 libubsan1 libwbclient-dev libwbclient0 m4 pkgconf 96s pkgconf-bin po-debconf python3-dnspython python3-ldb python3-markdown 96s python3-packaging python3-samba python3-talloc python3-tdb samba 96s samba-common samba-common-bin samba-dsdb-modules samba-libs sgml-base 96s tdb-tools uuid-dev xml-core zlib1g-dev 97s 0 upgraded, 104 newly installed, 0 to remove and 0 not upgraded. 97s Need to get 131 MB of archives. 97s After this operation, 542 MB of additional disk space will be used. 97s Get:1 http://ftpmaster.internal/ubuntu noble/main amd64 python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 97s Get:2 http://ftpmaster.internal/ubuntu noble/main amd64 libtalloc2 amd64 2.4.2-1build2 [27.3 kB] 97s Get:3 http://ftpmaster.internal/ubuntu noble/main amd64 libtdb1 amd64 1.4.10-1build1 [46.8 kB] 97s Get:4 http://ftpmaster.internal/ubuntu noble/main amd64 libtevent0t64 amd64 0.16.1-2build1 [42.6 kB] 97s Get:5 http://ftpmaster.internal/ubuntu noble-updates/main amd64 libldb2 amd64 2:2.8.0+samba4.19.5+dfsg-4ubuntu9.4 [188 kB] 97s Get:6 http://ftpmaster.internal/ubuntu noble-updates/main amd64 python3-ldb amd64 2:2.8.0+samba4.19.5+dfsg-4ubuntu9.4 [41.8 kB] 97s Get:7 http://ftpmaster.internal/ubuntu noble/main amd64 python3-tdb amd64 1.4.10-1build1 [15.3 kB] 97s Get:8 http://ftpmaster.internal/ubuntu noble/main amd64 python3-markdown all 3.5.2-1 [72.0 kB] 97s Get:9 http://ftpmaster.internal/ubuntu noble/main amd64 libavahi-common-data amd64 0.8-13ubuntu6 [29.7 kB] 97s Get:10 http://ftpmaster.internal/ubuntu noble/main amd64 libavahi-common3 amd64 0.8-13ubuntu6 [23.3 kB] 97s Get:11 http://ftpmaster.internal/ubuntu noble/main amd64 libavahi-client3 amd64 0.8-13ubuntu6 [26.8 kB] 97s Get:12 http://ftpmaster.internal/ubuntu noble-updates/main amd64 libwbclient0 amd64 2:4.19.5+dfsg-4ubuntu9.4 [71.7 kB] 97s Get:13 http://ftpmaster.internal/ubuntu noble-updates/main amd64 samba-libs amd64 2:4.19.5+dfsg-4ubuntu9.4 [6018 kB] 101s Get:14 http://ftpmaster.internal/ubuntu noble/main amd64 python3-talloc amd64 2.4.2-1build2 [12.9 kB] 101s Get:15 http://ftpmaster.internal/ubuntu noble-updates/main amd64 python3-samba amd64 2:4.19.5+dfsg-4ubuntu9.4 [2895 kB] 103s Get:16 http://ftpmaster.internal/ubuntu noble-updates/main amd64 samba-common all 2:4.19.5+dfsg-4ubuntu9.4 [65.2 kB] 103s Get:17 http://ftpmaster.internal/ubuntu noble-updates/main amd64 libcups2t64 amd64 2.4.7-1.2ubuntu7.4 [272 kB] 104s Get:18 http://ftpmaster.internal/ubuntu noble-updates/main amd64 samba-common-bin amd64 2:4.19.5+dfsg-4ubuntu9.4 [1279 kB] 104s Get:19 http://ftpmaster.internal/ubuntu noble/main amd64 tdb-tools amd64 1.4.10-1build1 [25.8 kB] 104s Get:20 http://ftpmaster.internal/ubuntu noble-updates/main amd64 samba amd64 2:4.19.5+dfsg-4ubuntu9.4 [1003 kB] 105s Get:21 http://ftpmaster.internal/ubuntu noble/main amd64 sgml-base all 1.31 [11.4 kB] 105s Get:22 http://ftpmaster.internal/ubuntu noble/main amd64 m4 amd64 1.4.19-4build1 [244 kB] 105s Get:23 http://ftpmaster.internal/ubuntu noble/main amd64 autoconf all 2.71-3 [339 kB] 106s Get:24 http://ftpmaster.internal/ubuntu noble/main amd64 autotools-dev all 20220109.1 [44.9 kB] 106s Get:25 http://ftpmaster.internal/ubuntu noble/main amd64 automake all 1:1.16.5-1.3ubuntu1 [558 kB] 106s Get:26 http://ftpmaster.internal/ubuntu noble/main amd64 autopoint all 0.21-14ubuntu2 [422 kB] 106s Get:27 http://ftpmaster.internal/ubuntu noble-updates/main amd64 gcc-13-base amd64 13.3.0-6ubuntu2~24.04 [51.5 kB] 106s Get:28 http://ftpmaster.internal/ubuntu noble-updates/main amd64 libisl23 amd64 0.26-3build1.1 [680 kB] 107s Get:29 http://ftpmaster.internal/ubuntu noble-updates/main amd64 libmpc3 amd64 1.3.1-1build1.1 [54.6 kB] 107s Get:30 http://ftpmaster.internal/ubuntu noble-updates/main amd64 cpp-13-x86-64-linux-gnu amd64 13.3.0-6ubuntu2~24.04 [10.7 MB] 114s Get:31 http://ftpmaster.internal/ubuntu noble-updates/main amd64 cpp-13 amd64 13.3.0-6ubuntu2~24.04 [1038 B] 114s Get:32 http://ftpmaster.internal/ubuntu noble/main amd64 cpp-x86-64-linux-gnu amd64 4:13.2.0-7ubuntu1 [5326 B] 114s Get:33 http://ftpmaster.internal/ubuntu noble/main amd64 cpp amd64 4:13.2.0-7ubuntu1 [22.4 kB] 114s Get:34 http://ftpmaster.internal/ubuntu noble-updates/main amd64 libcc1-0 amd64 14.2.0-4ubuntu2~24.04 [48.0 kB] 114s Get:35 http://ftpmaster.internal/ubuntu noble-updates/main amd64 libgomp1 amd64 14.2.0-4ubuntu2~24.04 [148 kB] 114s Get:36 http://ftpmaster.internal/ubuntu noble-updates/main amd64 libitm1 amd64 14.2.0-4ubuntu2~24.04 [29.7 kB] 114s Get:37 http://ftpmaster.internal/ubuntu noble-updates/main amd64 libatomic1 amd64 14.2.0-4ubuntu2~24.04 [10.5 kB] 114s Get:38 http://ftpmaster.internal/ubuntu noble-updates/main amd64 libasan8 amd64 14.2.0-4ubuntu2~24.04 [3031 kB] 115s Get:39 http://ftpmaster.internal/ubuntu noble-updates/main amd64 liblsan0 amd64 14.2.0-4ubuntu2~24.04 [1322 kB] 116s Get:40 http://ftpmaster.internal/ubuntu noble-updates/main amd64 libtsan2 amd64 14.2.0-4ubuntu2~24.04 [2772 kB] 118s Get:41 http://ftpmaster.internal/ubuntu noble-updates/main amd64 libubsan1 amd64 14.2.0-4ubuntu2~24.04 [1184 kB] 119s Get:42 http://ftpmaster.internal/ubuntu noble-updates/main amd64 libhwasan0 amd64 14.2.0-4ubuntu2~24.04 [1641 kB] 122s Get:43 http://ftpmaster.internal/ubuntu noble-updates/main amd64 libquadmath0 amd64 14.2.0-4ubuntu2~24.04 [153 kB] 122s Get:44 http://ftpmaster.internal/ubuntu noble-updates/main amd64 libgcc-13-dev amd64 13.3.0-6ubuntu2~24.04 [2681 kB] 123s Get:45 http://ftpmaster.internal/ubuntu noble-updates/main amd64 gcc-13-x86-64-linux-gnu amd64 13.3.0-6ubuntu2~24.04 [21.1 MB] 131s Get:46 http://ftpmaster.internal/ubuntu noble-updates/main amd64 gcc-13 amd64 13.3.0-6ubuntu2~24.04 [494 kB] 131s Get:47 http://ftpmaster.internal/ubuntu noble/main amd64 gcc-x86-64-linux-gnu amd64 4:13.2.0-7ubuntu1 [1212 B] 131s Get:48 http://ftpmaster.internal/ubuntu noble/main amd64 gcc amd64 4:13.2.0-7ubuntu1 [5018 B] 131s Get:49 http://ftpmaster.internal/ubuntu noble-updates/main amd64 libstdc++-13-dev amd64 13.3.0-6ubuntu2~24.04 [2420 kB] 132s Get:50 http://ftpmaster.internal/ubuntu noble-updates/main amd64 g++-13-x86-64-linux-gnu amd64 13.3.0-6ubuntu2~24.04 [12.2 MB] 134s Get:51 http://ftpmaster.internal/ubuntu noble-updates/main amd64 g++-13 amd64 13.3.0-6ubuntu2~24.04 [16.1 kB] 134s Get:52 http://ftpmaster.internal/ubuntu noble/main amd64 g++-x86-64-linux-gnu amd64 4:13.2.0-7ubuntu1 [964 B] 134s Get:53 http://ftpmaster.internal/ubuntu noble/main amd64 g++ amd64 4:13.2.0-7ubuntu1 [1100 B] 134s Get:54 http://ftpmaster.internal/ubuntu noble/main amd64 build-essential amd64 12.10ubuntu1 [4928 B] 134s Get:55 http://ftpmaster.internal/ubuntu noble/main amd64 libdebhelper-perl all 13.14.1ubuntu5 [89.8 kB] 134s Get:56 http://ftpmaster.internal/ubuntu noble/main amd64 libtool all 2.4.7-7build1 [166 kB] 134s Get:57 http://ftpmaster.internal/ubuntu noble/main amd64 dh-autoreconf all 20 [16.1 kB] 134s Get:58 http://ftpmaster.internal/ubuntu noble/main amd64 libarchive-zip-perl all 1.68-1 [90.2 kB] 134s Get:59 http://ftpmaster.internal/ubuntu noble/main amd64 libsub-override-perl all 0.10-1 [10.0 kB] 134s Get:60 http://ftpmaster.internal/ubuntu noble/main amd64 libfile-stripnondeterminism-perl all 1.13.1-1 [18.1 kB] 134s Get:61 http://ftpmaster.internal/ubuntu noble/main amd64 dh-strip-nondeterminism all 1.13.1-1 [5362 B] 134s Get:62 http://ftpmaster.internal/ubuntu noble/main amd64 debugedit amd64 1:5.0-5build2 [46.1 kB] 134s Get:63 http://ftpmaster.internal/ubuntu noble/main amd64 dwz amd64 0.15-1build6 [115 kB] 134s Get:64 http://ftpmaster.internal/ubuntu noble/main amd64 gettext amd64 0.21-14ubuntu2 [864 kB] 134s Get:65 http://ftpmaster.internal/ubuntu noble/main amd64 intltool-debian all 0.35.0+20060710.6 [23.2 kB] 134s Get:66 http://ftpmaster.internal/ubuntu noble/main amd64 po-debconf all 1.0.21+nmu1 [233 kB] 134s Get:67 http://ftpmaster.internal/ubuntu noble/main amd64 debhelper all 13.14.1ubuntu5 [869 kB] 134s Get:68 http://ftpmaster.internal/ubuntu noble-updates/universe amd64 dh-apport all 2.28.1-0ubuntu3.8 [18.8 kB] 134s Get:69 http://ftpmaster.internal/ubuntu noble-updates/universe amd64 golang-1.23-src all 1.23.1-1~24.04.1 [19.8 MB] 138s Get:70 http://ftpmaster.internal/ubuntu noble-updates/universe amd64 golang-1.23-go amd64 1.23.1-1~24.04.1 [27.6 MB] 142s Get:71 http://ftpmaster.internal/ubuntu noble-updates/main amd64 comerr-dev amd64 2.1-1.47.0-2.4~exp1ubuntu4.1 [43.8 kB] 142s Get:72 http://ftpmaster.internal/ubuntu noble-updates/main amd64 libgssrpc4t64 amd64 1.20.1-6ubuntu2.6 [57.6 kB] 142s Get:73 http://ftpmaster.internal/ubuntu noble-updates/main amd64 libkadm5clnt-mit12 amd64 1.20.1-6ubuntu2.6 [40.1 kB] 142s Get:74 http://ftpmaster.internal/ubuntu noble-updates/main amd64 libkdb5-10t64 amd64 1.20.1-6ubuntu2.6 [40.4 kB] 142s Get:75 http://ftpmaster.internal/ubuntu noble-updates/main amd64 libkadm5srv-mit12 amd64 1.20.1-6ubuntu2.6 [53.0 kB] 142s Get:76 http://ftpmaster.internal/ubuntu noble-updates/main amd64 krb5-multidev amd64 1.20.1-6ubuntu2.6 [125 kB] 142s Get:77 http://ftpmaster.internal/ubuntu noble/main amd64 libpkgconf3 amd64 1.8.1-2build1 [30.7 kB] 142s Get:78 http://ftpmaster.internal/ubuntu noble/main amd64 pkgconf-bin amd64 1.8.1-2build1 [20.7 kB] 142s Get:79 http://ftpmaster.internal/ubuntu noble/main amd64 pkgconf amd64 1.8.1-2build1 [16.8 kB] 142s Get:80 http://ftpmaster.internal/ubuntu noble/main amd64 xml-core all 0.19 [20.3 kB] 142s Get:81 http://ftpmaster.internal/ubuntu noble-updates/main amd64 libdbus-1-dev amd64 1.14.10-4ubuntu4.1 [190 kB] 142s Get:82 http://ftpmaster.internal/ubuntu noble-updates/main amd64 libgirepository-2.0-0 amd64 2.80.0-6ubuntu3.4 [73.6 kB] 142s Get:83 http://ftpmaster.internal/ubuntu noble-updates/main amd64 libglib2.0-bin amd64 2.80.0-6ubuntu3.4 [97.9 kB] 142s Get:84 http://ftpmaster.internal/ubuntu noble/main amd64 libffi-dev amd64 3.4.6-1build1 [62.8 kB] 142s Get:85 http://ftpmaster.internal/ubuntu noble/main amd64 python3-packaging all 24.0-1 [41.1 kB] 142s Get:86 http://ftpmaster.internal/ubuntu noble-updates/main amd64 libglib2.0-dev-bin amd64 2.80.0-6ubuntu3.4 [138 kB] 142s Get:87 http://ftpmaster.internal/ubuntu noble-updates/main amd64 uuid-dev amd64 2.39.3-9ubuntu6.3 [33.5 kB] 142s Get:88 http://ftpmaster.internal/ubuntu noble-updates/main amd64 libblkid-dev amd64 2.39.3-9ubuntu6.3 [204 kB] 142s Get:89 http://ftpmaster.internal/ubuntu noble/main amd64 libsepol-dev amd64 3.5-2build1 [384 kB] 143s Get:90 http://ftpmaster.internal/ubuntu noble-updates/main amd64 libpcre2-16-0 amd64 10.42-4ubuntu2.1 [210 kB] 143s Get:91 http://ftpmaster.internal/ubuntu noble-updates/main amd64 libpcre2-32-0 amd64 10.42-4ubuntu2.1 [197 kB] 143s Get:92 http://ftpmaster.internal/ubuntu noble-updates/main amd64 libpcre2-posix3 amd64 10.42-4ubuntu2.1 [6748 B] 143s Get:93 http://ftpmaster.internal/ubuntu noble-updates/main amd64 libpcre2-dev amd64 10.42-4ubuntu2.1 [736 kB] 143s Get:94 http://ftpmaster.internal/ubuntu noble-updates/main amd64 libselinux1-dev amd64 3.5-2ubuntu2.1 [164 kB] 143s Get:95 http://ftpmaster.internal/ubuntu noble-updates/main amd64 libmount-dev amd64 2.39.3-9ubuntu6.3 [14.9 kB] 143s Get:96 http://ftpmaster.internal/ubuntu noble-updates/main amd64 zlib1g-dev amd64 1:1.3.dfsg-3.1ubuntu2.1 [894 kB] 143s Get:97 http://ftpmaster.internal/ubuntu noble-updates/main amd64 libglib2.0-dev amd64 2.80.0-6ubuntu3.4 [1860 kB] 143s Get:98 http://ftpmaster.internal/ubuntu noble-updates/main amd64 libpam0g-dev amd64 1.5.3-5ubuntu5.5 [114 kB] 143s Get:99 http://ftpmaster.internal/ubuntu noble-updates/main amd64 libsmbclient0 amd64 2:4.19.5+dfsg-4ubuntu9.4 [62.4 kB] 143s Get:100 http://ftpmaster.internal/ubuntu noble-updates/main amd64 libwbclient-dev amd64 2:4.19.5+dfsg-4ubuntu9.4 [16.2 kB] 143s Get:101 http://ftpmaster.internal/ubuntu noble-updates/main amd64 samba-dsdb-modules amd64 2:4.19.5+dfsg-4ubuntu9.4 [317 kB] 143s Get:102 http://ftpmaster.internal/ubuntu noble/main amd64 dh-golang all 1.62 [25.2 kB] 144s Get:103 http://ftpmaster.internal/ubuntu noble-updates/main amd64 libkrb5-dev amd64 1.20.1-6ubuntu2.6 [11.9 kB] 144s Get:104 http://ftpmaster.internal/ubuntu noble-updates/main amd64 libsmbclient-dev amd64 2:4.19.5+dfsg-4ubuntu9.4 [40.5 kB] 144s Fetched 131 MB in 47s (2779 kB/s) 144s Selecting previously unselected package python3-dnspython. 144s (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 ... 106381 files and directories currently installed.) 144s Preparing to unpack .../000-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 144s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 145s Selecting previously unselected package libtalloc2:amd64. 145s Preparing to unpack .../001-libtalloc2_2.4.2-1build2_amd64.deb ... 145s Unpacking libtalloc2:amd64 (2.4.2-1build2) ... 145s Selecting previously unselected package libtdb1:amd64. 145s Preparing to unpack .../002-libtdb1_1.4.10-1build1_amd64.deb ... 145s Unpacking libtdb1:amd64 (1.4.10-1build1) ... 145s Selecting previously unselected package libtevent0t64:amd64. 145s Preparing to unpack .../003-libtevent0t64_0.16.1-2build1_amd64.deb ... 145s Unpacking libtevent0t64:amd64 (0.16.1-2build1) ... 145s Selecting previously unselected package libldb2:amd64. 145s Preparing to unpack .../004-libldb2_2%3a2.8.0+samba4.19.5+dfsg-4ubuntu9.4_amd64.deb ... 145s Unpacking libldb2:amd64 (2:2.8.0+samba4.19.5+dfsg-4ubuntu9.4) ... 145s Selecting previously unselected package python3-ldb. 145s Preparing to unpack .../005-python3-ldb_2%3a2.8.0+samba4.19.5+dfsg-4ubuntu9.4_amd64.deb ... 145s Unpacking python3-ldb (2:2.8.0+samba4.19.5+dfsg-4ubuntu9.4) ... 145s Selecting previously unselected package python3-tdb. 145s Preparing to unpack .../006-python3-tdb_1.4.10-1build1_amd64.deb ... 145s Unpacking python3-tdb (1.4.10-1build1) ... 145s Selecting previously unselected package python3-markdown. 145s Preparing to unpack .../007-python3-markdown_3.5.2-1_all.deb ... 145s Unpacking python3-markdown (3.5.2-1) ... 145s Selecting previously unselected package libavahi-common-data:amd64. 145s Preparing to unpack .../008-libavahi-common-data_0.8-13ubuntu6_amd64.deb ... 145s Unpacking libavahi-common-data:amd64 (0.8-13ubuntu6) ... 145s Selecting previously unselected package libavahi-common3:amd64. 145s Preparing to unpack .../009-libavahi-common3_0.8-13ubuntu6_amd64.deb ... 145s Unpacking libavahi-common3:amd64 (0.8-13ubuntu6) ... 145s Selecting previously unselected package libavahi-client3:amd64. 145s Preparing to unpack .../010-libavahi-client3_0.8-13ubuntu6_amd64.deb ... 145s Unpacking libavahi-client3:amd64 (0.8-13ubuntu6) ... 145s Selecting previously unselected package libwbclient0:amd64. 145s Preparing to unpack .../011-libwbclient0_2%3a4.19.5+dfsg-4ubuntu9.4_amd64.deb ... 145s Unpacking libwbclient0:amd64 (2:4.19.5+dfsg-4ubuntu9.4) ... 145s Selecting previously unselected package samba-libs:amd64. 145s Preparing to unpack .../012-samba-libs_2%3a4.19.5+dfsg-4ubuntu9.4_amd64.deb ... 145s Unpacking samba-libs:amd64 (2:4.19.5+dfsg-4ubuntu9.4) ... 145s Selecting previously unselected package python3-talloc:amd64. 145s Preparing to unpack .../013-python3-talloc_2.4.2-1build2_amd64.deb ... 145s Unpacking python3-talloc:amd64 (2.4.2-1build2) ... 145s Selecting previously unselected package python3-samba. 145s Preparing to unpack .../014-python3-samba_2%3a4.19.5+dfsg-4ubuntu9.4_amd64.deb ... 145s Unpacking python3-samba (2:4.19.5+dfsg-4ubuntu9.4) ... 145s Selecting previously unselected package samba-common. 145s Preparing to unpack .../015-samba-common_2%3a4.19.5+dfsg-4ubuntu9.4_all.deb ... 145s Unpacking samba-common (2:4.19.5+dfsg-4ubuntu9.4) ... 145s Selecting previously unselected package libcups2t64:amd64. 145s Preparing to unpack .../016-libcups2t64_2.4.7-1.2ubuntu7.4_amd64.deb ... 145s Unpacking libcups2t64:amd64 (2.4.7-1.2ubuntu7.4) ... 145s Selecting previously unselected package samba-common-bin. 145s Preparing to unpack .../017-samba-common-bin_2%3a4.19.5+dfsg-4ubuntu9.4_amd64.deb ... 145s Unpacking samba-common-bin (2:4.19.5+dfsg-4ubuntu9.4) ... 146s Selecting previously unselected package tdb-tools. 146s Preparing to unpack .../018-tdb-tools_1.4.10-1build1_amd64.deb ... 146s Unpacking tdb-tools (1.4.10-1build1) ... 146s Selecting previously unselected package samba. 146s Preparing to unpack .../019-samba_2%3a4.19.5+dfsg-4ubuntu9.4_amd64.deb ... 146s Unpacking samba (2:4.19.5+dfsg-4ubuntu9.4) ... 146s Selecting previously unselected package sgml-base. 146s Preparing to unpack .../020-sgml-base_1.31_all.deb ... 146s Unpacking sgml-base (1.31) ... 146s Selecting previously unselected package m4. 146s Preparing to unpack .../021-m4_1.4.19-4build1_amd64.deb ... 146s Unpacking m4 (1.4.19-4build1) ... 146s Selecting previously unselected package autoconf. 146s Preparing to unpack .../022-autoconf_2.71-3_all.deb ... 146s Unpacking autoconf (2.71-3) ... 146s Selecting previously unselected package autotools-dev. 146s Preparing to unpack .../023-autotools-dev_20220109.1_all.deb ... 146s Unpacking autotools-dev (20220109.1) ... 146s Selecting previously unselected package automake. 146s Preparing to unpack .../024-automake_1%3a1.16.5-1.3ubuntu1_all.deb ... 146s Unpacking automake (1:1.16.5-1.3ubuntu1) ... 146s Selecting previously unselected package autopoint. 146s Preparing to unpack .../025-autopoint_0.21-14ubuntu2_all.deb ... 146s Unpacking autopoint (0.21-14ubuntu2) ... 146s Selecting previously unselected package gcc-13-base:amd64. 146s Preparing to unpack .../026-gcc-13-base_13.3.0-6ubuntu2~24.04_amd64.deb ... 146s Unpacking gcc-13-base:amd64 (13.3.0-6ubuntu2~24.04) ... 146s Selecting previously unselected package libisl23:amd64. 146s Preparing to unpack .../027-libisl23_0.26-3build1.1_amd64.deb ... 146s Unpacking libisl23:amd64 (0.26-3build1.1) ... 146s Selecting previously unselected package libmpc3:amd64. 146s Preparing to unpack .../028-libmpc3_1.3.1-1build1.1_amd64.deb ... 146s Unpacking libmpc3:amd64 (1.3.1-1build1.1) ... 146s Selecting previously unselected package cpp-13-x86-64-linux-gnu. 146s Preparing to unpack .../029-cpp-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04_amd64.deb ... 146s Unpacking cpp-13-x86-64-linux-gnu (13.3.0-6ubuntu2~24.04) ... 146s Selecting previously unselected package cpp-13. 146s Preparing to unpack .../030-cpp-13_13.3.0-6ubuntu2~24.04_amd64.deb ... 146s Unpacking cpp-13 (13.3.0-6ubuntu2~24.04) ... 146s Selecting previously unselected package cpp-x86-64-linux-gnu. 146s Preparing to unpack .../031-cpp-x86-64-linux-gnu_4%3a13.2.0-7ubuntu1_amd64.deb ... 146s Unpacking cpp-x86-64-linux-gnu (4:13.2.0-7ubuntu1) ... 146s Selecting previously unselected package cpp. 146s Preparing to unpack .../032-cpp_4%3a13.2.0-7ubuntu1_amd64.deb ... 146s Unpacking cpp (4:13.2.0-7ubuntu1) ... 146s Selecting previously unselected package libcc1-0:amd64. 146s Preparing to unpack .../033-libcc1-0_14.2.0-4ubuntu2~24.04_amd64.deb ... 146s Unpacking libcc1-0:amd64 (14.2.0-4ubuntu2~24.04) ... 147s Selecting previously unselected package libgomp1:amd64. 147s Preparing to unpack .../034-libgomp1_14.2.0-4ubuntu2~24.04_amd64.deb ... 147s Unpacking libgomp1:amd64 (14.2.0-4ubuntu2~24.04) ... 147s Selecting previously unselected package libitm1:amd64. 147s Preparing to unpack .../035-libitm1_14.2.0-4ubuntu2~24.04_amd64.deb ... 147s Unpacking libitm1:amd64 (14.2.0-4ubuntu2~24.04) ... 147s Selecting previously unselected package libatomic1:amd64. 147s Preparing to unpack .../036-libatomic1_14.2.0-4ubuntu2~24.04_amd64.deb ... 147s Unpacking libatomic1:amd64 (14.2.0-4ubuntu2~24.04) ... 147s Selecting previously unselected package libasan8:amd64. 147s Preparing to unpack .../037-libasan8_14.2.0-4ubuntu2~24.04_amd64.deb ... 147s Unpacking libasan8:amd64 (14.2.0-4ubuntu2~24.04) ... 147s Selecting previously unselected package liblsan0:amd64. 147s Preparing to unpack .../038-liblsan0_14.2.0-4ubuntu2~24.04_amd64.deb ... 147s Unpacking liblsan0:amd64 (14.2.0-4ubuntu2~24.04) ... 147s Selecting previously unselected package libtsan2:amd64. 147s Preparing to unpack .../039-libtsan2_14.2.0-4ubuntu2~24.04_amd64.deb ... 147s Unpacking libtsan2:amd64 (14.2.0-4ubuntu2~24.04) ... 147s Selecting previously unselected package libubsan1:amd64. 147s Preparing to unpack .../040-libubsan1_14.2.0-4ubuntu2~24.04_amd64.deb ... 147s Unpacking libubsan1:amd64 (14.2.0-4ubuntu2~24.04) ... 147s Selecting previously unselected package libhwasan0:amd64. 147s Preparing to unpack .../041-libhwasan0_14.2.0-4ubuntu2~24.04_amd64.deb ... 147s Unpacking libhwasan0:amd64 (14.2.0-4ubuntu2~24.04) ... 147s Selecting previously unselected package libquadmath0:amd64. 147s Preparing to unpack .../042-libquadmath0_14.2.0-4ubuntu2~24.04_amd64.deb ... 147s Unpacking libquadmath0:amd64 (14.2.0-4ubuntu2~24.04) ... 147s Selecting previously unselected package libgcc-13-dev:amd64. 147s Preparing to unpack .../043-libgcc-13-dev_13.3.0-6ubuntu2~24.04_amd64.deb ... 147s Unpacking libgcc-13-dev:amd64 (13.3.0-6ubuntu2~24.04) ... 147s Selecting previously unselected package gcc-13-x86-64-linux-gnu. 147s Preparing to unpack .../044-gcc-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04_amd64.deb ... 147s Unpacking gcc-13-x86-64-linux-gnu (13.3.0-6ubuntu2~24.04) ... 148s Selecting previously unselected package gcc-13. 148s Preparing to unpack .../045-gcc-13_13.3.0-6ubuntu2~24.04_amd64.deb ... 148s Unpacking gcc-13 (13.3.0-6ubuntu2~24.04) ... 148s Selecting previously unselected package gcc-x86-64-linux-gnu. 148s Preparing to unpack .../046-gcc-x86-64-linux-gnu_4%3a13.2.0-7ubuntu1_amd64.deb ... 148s Unpacking gcc-x86-64-linux-gnu (4:13.2.0-7ubuntu1) ... 148s Selecting previously unselected package gcc. 148s Preparing to unpack .../047-gcc_4%3a13.2.0-7ubuntu1_amd64.deb ... 148s Unpacking gcc (4:13.2.0-7ubuntu1) ... 148s Selecting previously unselected package libstdc++-13-dev:amd64. 148s Preparing to unpack .../048-libstdc++-13-dev_13.3.0-6ubuntu2~24.04_amd64.deb ... 148s Unpacking libstdc++-13-dev:amd64 (13.3.0-6ubuntu2~24.04) ... 148s Selecting previously unselected package g++-13-x86-64-linux-gnu. 148s Preparing to unpack .../049-g++-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04_amd64.deb ... 148s Unpacking g++-13-x86-64-linux-gnu (13.3.0-6ubuntu2~24.04) ... 148s Selecting previously unselected package g++-13. 148s Preparing to unpack .../050-g++-13_13.3.0-6ubuntu2~24.04_amd64.deb ... 148s Unpacking g++-13 (13.3.0-6ubuntu2~24.04) ... 148s Selecting previously unselected package g++-x86-64-linux-gnu. 148s Preparing to unpack .../051-g++-x86-64-linux-gnu_4%3a13.2.0-7ubuntu1_amd64.deb ... 148s Unpacking g++-x86-64-linux-gnu (4:13.2.0-7ubuntu1) ... 148s Selecting previously unselected package g++. 148s Preparing to unpack .../052-g++_4%3a13.2.0-7ubuntu1_amd64.deb ... 148s Unpacking g++ (4:13.2.0-7ubuntu1) ... 148s Selecting previously unselected package build-essential. 148s Preparing to unpack .../053-build-essential_12.10ubuntu1_amd64.deb ... 148s Unpacking build-essential (12.10ubuntu1) ... 148s Selecting previously unselected package libdebhelper-perl. 148s Preparing to unpack .../054-libdebhelper-perl_13.14.1ubuntu5_all.deb ... 148s Unpacking libdebhelper-perl (13.14.1ubuntu5) ... 148s Selecting previously unselected package libtool. 148s Preparing to unpack .../055-libtool_2.4.7-7build1_all.deb ... 148s Unpacking libtool (2.4.7-7build1) ... 148s Selecting previously unselected package dh-autoreconf. 148s Preparing to unpack .../056-dh-autoreconf_20_all.deb ... 148s Unpacking dh-autoreconf (20) ... 148s Selecting previously unselected package libarchive-zip-perl. 148s Preparing to unpack .../057-libarchive-zip-perl_1.68-1_all.deb ... 148s Unpacking libarchive-zip-perl (1.68-1) ... 148s Selecting previously unselected package libsub-override-perl. 148s Preparing to unpack .../058-libsub-override-perl_0.10-1_all.deb ... 148s Unpacking libsub-override-perl (0.10-1) ... 148s Selecting previously unselected package libfile-stripnondeterminism-perl. 148s Preparing to unpack .../059-libfile-stripnondeterminism-perl_1.13.1-1_all.deb ... 148s Unpacking libfile-stripnondeterminism-perl (1.13.1-1) ... 148s Selecting previously unselected package dh-strip-nondeterminism. 148s Preparing to unpack .../060-dh-strip-nondeterminism_1.13.1-1_all.deb ... 148s Unpacking dh-strip-nondeterminism (1.13.1-1) ... 148s Selecting previously unselected package debugedit. 148s Preparing to unpack .../061-debugedit_1%3a5.0-5build2_amd64.deb ... 148s Unpacking debugedit (1:5.0-5build2) ... 148s Selecting previously unselected package dwz. 148s Preparing to unpack .../062-dwz_0.15-1build6_amd64.deb ... 148s Unpacking dwz (0.15-1build6) ... 148s Selecting previously unselected package gettext. 149s Preparing to unpack .../063-gettext_0.21-14ubuntu2_amd64.deb ... 149s Unpacking gettext (0.21-14ubuntu2) ... 149s Selecting previously unselected package intltool-debian. 149s Preparing to unpack .../064-intltool-debian_0.35.0+20060710.6_all.deb ... 149s Unpacking intltool-debian (0.35.0+20060710.6) ... 149s Selecting previously unselected package po-debconf. 149s Preparing to unpack .../065-po-debconf_1.0.21+nmu1_all.deb ... 149s Unpacking po-debconf (1.0.21+nmu1) ... 149s Selecting previously unselected package debhelper. 149s Preparing to unpack .../066-debhelper_13.14.1ubuntu5_all.deb ... 149s Unpacking debhelper (13.14.1ubuntu5) ... 149s Selecting previously unselected package dh-apport. 149s Preparing to unpack .../067-dh-apport_2.28.1-0ubuntu3.8_all.deb ... 149s Unpacking dh-apport (2.28.1-0ubuntu3.8) ... 149s Selecting previously unselected package golang-1.23-src. 149s Preparing to unpack .../068-golang-1.23-src_1.23.1-1~24.04.1_all.deb ... 149s Unpacking golang-1.23-src (1.23.1-1~24.04.1) ... 151s Selecting previously unselected package golang-1.23-go. 151s Preparing to unpack .../069-golang-1.23-go_1.23.1-1~24.04.1_amd64.deb ... 151s Unpacking golang-1.23-go (1.23.1-1~24.04.1) ... 152s Selecting previously unselected package comerr-dev:amd64. 152s Preparing to unpack .../070-comerr-dev_2.1-1.47.0-2.4~exp1ubuntu4.1_amd64.deb ... 152s Unpacking comerr-dev:amd64 (2.1-1.47.0-2.4~exp1ubuntu4.1) ... 152s Selecting previously unselected package libgssrpc4t64:amd64. 152s Preparing to unpack .../071-libgssrpc4t64_1.20.1-6ubuntu2.6_amd64.deb ... 152s Unpacking libgssrpc4t64:amd64 (1.20.1-6ubuntu2.6) ... 152s Selecting previously unselected package libkadm5clnt-mit12:amd64. 152s Preparing to unpack .../072-libkadm5clnt-mit12_1.20.1-6ubuntu2.6_amd64.deb ... 152s Unpacking libkadm5clnt-mit12:amd64 (1.20.1-6ubuntu2.6) ... 152s Selecting previously unselected package libkdb5-10t64:amd64. 152s Preparing to unpack .../073-libkdb5-10t64_1.20.1-6ubuntu2.6_amd64.deb ... 152s Unpacking libkdb5-10t64:amd64 (1.20.1-6ubuntu2.6) ... 152s Selecting previously unselected package libkadm5srv-mit12:amd64. 152s Preparing to unpack .../074-libkadm5srv-mit12_1.20.1-6ubuntu2.6_amd64.deb ... 152s Unpacking libkadm5srv-mit12:amd64 (1.20.1-6ubuntu2.6) ... 152s Selecting previously unselected package krb5-multidev:amd64. 152s Preparing to unpack .../075-krb5-multidev_1.20.1-6ubuntu2.6_amd64.deb ... 152s Unpacking krb5-multidev:amd64 (1.20.1-6ubuntu2.6) ... 152s Selecting previously unselected package libpkgconf3:amd64. 152s Preparing to unpack .../076-libpkgconf3_1.8.1-2build1_amd64.deb ... 152s Unpacking libpkgconf3:amd64 (1.8.1-2build1) ... 152s Selecting previously unselected package pkgconf-bin. 152s Preparing to unpack .../077-pkgconf-bin_1.8.1-2build1_amd64.deb ... 152s Unpacking pkgconf-bin (1.8.1-2build1) ... 152s Selecting previously unselected package pkgconf:amd64. 152s Preparing to unpack .../078-pkgconf_1.8.1-2build1_amd64.deb ... 152s Unpacking pkgconf:amd64 (1.8.1-2build1) ... 152s Selecting previously unselected package xml-core. 152s Preparing to unpack .../079-xml-core_0.19_all.deb ... 152s Unpacking xml-core (0.19) ... 152s Selecting previously unselected package libdbus-1-dev:amd64. 152s Preparing to unpack .../080-libdbus-1-dev_1.14.10-4ubuntu4.1_amd64.deb ... 152s Unpacking libdbus-1-dev:amd64 (1.14.10-4ubuntu4.1) ... 152s Selecting previously unselected package libgirepository-2.0-0:amd64. 152s Preparing to unpack .../081-libgirepository-2.0-0_2.80.0-6ubuntu3.4_amd64.deb ... 152s Unpacking libgirepository-2.0-0:amd64 (2.80.0-6ubuntu3.4) ... 152s Selecting previously unselected package libglib2.0-bin. 152s Preparing to unpack .../082-libglib2.0-bin_2.80.0-6ubuntu3.4_amd64.deb ... 152s Unpacking libglib2.0-bin (2.80.0-6ubuntu3.4) ... 152s Selecting previously unselected package libffi-dev:amd64. 152s Preparing to unpack .../083-libffi-dev_3.4.6-1build1_amd64.deb ... 152s Unpacking libffi-dev:amd64 (3.4.6-1build1) ... 152s Selecting previously unselected package python3-packaging. 152s Preparing to unpack .../084-python3-packaging_24.0-1_all.deb ... 152s Unpacking python3-packaging (24.0-1) ... 152s Selecting previously unselected package libglib2.0-dev-bin. 152s Preparing to unpack .../085-libglib2.0-dev-bin_2.80.0-6ubuntu3.4_amd64.deb ... 152s Unpacking libglib2.0-dev-bin (2.80.0-6ubuntu3.4) ... 152s Selecting previously unselected package uuid-dev:amd64. 152s Preparing to unpack .../086-uuid-dev_2.39.3-9ubuntu6.3_amd64.deb ... 152s Unpacking uuid-dev:amd64 (2.39.3-9ubuntu6.3) ... 152s Selecting previously unselected package libblkid-dev:amd64. 152s Preparing to unpack .../087-libblkid-dev_2.39.3-9ubuntu6.3_amd64.deb ... 152s Unpacking libblkid-dev:amd64 (2.39.3-9ubuntu6.3) ... 153s Selecting previously unselected package libsepol-dev:amd64. 153s Preparing to unpack .../088-libsepol-dev_3.5-2build1_amd64.deb ... 153s Unpacking libsepol-dev:amd64 (3.5-2build1) ... 153s Selecting previously unselected package libpcre2-16-0:amd64. 153s Preparing to unpack .../089-libpcre2-16-0_10.42-4ubuntu2.1_amd64.deb ... 153s Unpacking libpcre2-16-0:amd64 (10.42-4ubuntu2.1) ... 153s Selecting previously unselected package libpcre2-32-0:amd64. 153s Preparing to unpack .../090-libpcre2-32-0_10.42-4ubuntu2.1_amd64.deb ... 153s Unpacking libpcre2-32-0:amd64 (10.42-4ubuntu2.1) ... 153s Selecting previously unselected package libpcre2-posix3:amd64. 153s Preparing to unpack .../091-libpcre2-posix3_10.42-4ubuntu2.1_amd64.deb ... 153s Unpacking libpcre2-posix3:amd64 (10.42-4ubuntu2.1) ... 153s Selecting previously unselected package libpcre2-dev:amd64. 153s Preparing to unpack .../092-libpcre2-dev_10.42-4ubuntu2.1_amd64.deb ... 153s Unpacking libpcre2-dev:amd64 (10.42-4ubuntu2.1) ... 153s Selecting previously unselected package libselinux1-dev:amd64. 153s Preparing to unpack .../093-libselinux1-dev_3.5-2ubuntu2.1_amd64.deb ... 153s Unpacking libselinux1-dev:amd64 (3.5-2ubuntu2.1) ... 153s Selecting previously unselected package libmount-dev:amd64. 153s Preparing to unpack .../094-libmount-dev_2.39.3-9ubuntu6.3_amd64.deb ... 153s Unpacking libmount-dev:amd64 (2.39.3-9ubuntu6.3) ... 153s Selecting previously unselected package zlib1g-dev:amd64. 153s Preparing to unpack .../095-zlib1g-dev_1%3a1.3.dfsg-3.1ubuntu2.1_amd64.deb ... 153s Unpacking zlib1g-dev:amd64 (1:1.3.dfsg-3.1ubuntu2.1) ... 153s Selecting previously unselected package libglib2.0-dev:amd64. 153s Preparing to unpack .../096-libglib2.0-dev_2.80.0-6ubuntu3.4_amd64.deb ... 153s Unpacking libglib2.0-dev:amd64 (2.80.0-6ubuntu3.4) ... 153s Selecting previously unselected package libpam0g-dev:amd64. 153s Preparing to unpack .../097-libpam0g-dev_1.5.3-5ubuntu5.5_amd64.deb ... 153s Unpacking libpam0g-dev:amd64 (1.5.3-5ubuntu5.5) ... 153s Selecting previously unselected package libsmbclient0:amd64. 153s Preparing to unpack .../098-libsmbclient0_2%3a4.19.5+dfsg-4ubuntu9.4_amd64.deb ... 153s Unpacking libsmbclient0:amd64 (2:4.19.5+dfsg-4ubuntu9.4) ... 153s Selecting previously unselected package libwbclient-dev:amd64. 153s Preparing to unpack .../099-libwbclient-dev_2%3a4.19.5+dfsg-4ubuntu9.4_amd64.deb ... 153s Unpacking libwbclient-dev:amd64 (2:4.19.5+dfsg-4ubuntu9.4) ... 153s Selecting previously unselected package samba-dsdb-modules:amd64. 153s Preparing to unpack .../100-samba-dsdb-modules_2%3a4.19.5+dfsg-4ubuntu9.4_amd64.deb ... 153s Unpacking samba-dsdb-modules:amd64 (2:4.19.5+dfsg-4ubuntu9.4) ... 153s Selecting previously unselected package dh-golang. 153s Preparing to unpack .../101-dh-golang_1.62_all.deb ... 153s Unpacking dh-golang (1.62) ... 153s Selecting previously unselected package libkrb5-dev:amd64. 153s Preparing to unpack .../102-libkrb5-dev_1.20.1-6ubuntu2.6_amd64.deb ... 153s Unpacking libkrb5-dev:amd64 (1.20.1-6ubuntu2.6) ... 153s Selecting previously unselected package libsmbclient-dev:amd64. 153s Preparing to unpack .../103-libsmbclient-dev_2%3a4.19.5+dfsg-4ubuntu9.4_amd64.deb ... 153s Unpacking libsmbclient-dev:amd64 (2:4.19.5+dfsg-4ubuntu9.4) ... 153s Setting up libpam0g-dev:amd64 (1.5.3-5ubuntu5.5) ... 153s Setting up libgirepository-2.0-0:amd64 (2.80.0-6ubuntu3.4) ... 153s Setting up libarchive-zip-perl (1.68-1) ... 153s Setting up libtdb1:amd64 (1.4.10-1build1) ... 153s Setting up libdebhelper-perl (13.14.1ubuntu5) ... 153s Setting up libglib2.0-bin (2.80.0-6ubuntu3.4) ... 153s Setting up m4 (1.4.19-4build1) ... 153s Setting up samba-common (2:4.19.5+dfsg-4ubuntu9.4) ... 154s 154s Creating config file /etc/samba/smb.conf with new version 154s Setting up libgomp1:amd64 (14.2.0-4ubuntu2~24.04) ... 154s Setting up libffi-dev:amd64 (3.4.6-1build1) ... 154s Setting up dh-apport (2.28.1-0ubuntu3.8) ... 154s Setting up libwbclient0:amd64 (2:4.19.5+dfsg-4ubuntu9.4) ... 154s Setting up libwbclient-dev:amd64 (2:4.19.5+dfsg-4ubuntu9.4) ... 154s Setting up libpcre2-16-0:amd64 (10.42-4ubuntu2.1) ... 154s Setting up libtalloc2:amd64 (2.4.2-1build2) ... 154s Setting up python3-tdb (1.4.10-1build1) ... 154s Setting up autotools-dev (20220109.1) ... 154s Setting up libpcre2-32-0:amd64 (10.42-4ubuntu2.1) ... 154s Setting up python3-packaging (24.0-1) ... 154s Setting up libpkgconf3:amd64 (1.8.1-2build1) ... 154s Setting up gcc-13-base:amd64 (13.3.0-6ubuntu2~24.04) ... 154s Setting up libgssrpc4t64:amd64 (1.20.1-6ubuntu2.6) ... 154s Setting up uuid-dev:amd64 (2.39.3-9ubuntu6.3) ... 154s Setting up libavahi-common-data:amd64 (0.8-13ubuntu6) ... 154s Setting up tdb-tools (1.4.10-1build1) ... 154s update-alternatives: using /usr/bin/tdbbackup.tdbtools to provide /usr/bin/tdbbackup (tdbbackup) in auto mode 154s Setting up libquadmath0:amd64 (14.2.0-4ubuntu2~24.04) ... 154s Setting up comerr-dev:amd64 (2.1-1.47.0-2.4~exp1ubuntu4.1) ... 154s Setting up libmpc3:amd64 (1.3.1-1build1.1) ... 154s Setting up libatomic1:amd64 (14.2.0-4ubuntu2~24.04) ... 154s Setting up python3-markdown (3.5.2-1) ... 154s Setting up golang-1.23-src (1.23.1-1~24.04.1) ... 154s Setting up autopoint (0.21-14ubuntu2) ... 154s Setting up libsepol-dev:amd64 (3.5-2build1) ... 154s Setting up pkgconf-bin (1.8.1-2build1) ... 154s Setting up autoconf (2.71-3) ... 154s Setting up libubsan1:amd64 (14.2.0-4ubuntu2~24.04) ... 154s Setting up zlib1g-dev:amd64 (1:1.3.dfsg-3.1ubuntu2.1) ... 154s Setting up libpcre2-posix3:amd64 (10.42-4ubuntu2.1) ... 154s Setting up dwz (0.15-1build6) ... 154s Setting up libhwasan0:amd64 (14.2.0-4ubuntu2~24.04) ... 154s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 155s Setting up libasan8:amd64 (14.2.0-4ubuntu2~24.04) ... 155s Setting up debugedit (1:5.0-5build2) ... 155s Setting up libsub-override-perl (0.10-1) ... 155s Setting up sgml-base (1.31) ... 155s Setting up libtsan2:amd64 (14.2.0-4ubuntu2~24.04) ... 155s Setting up libisl23:amd64 (0.26-3build1.1) ... 155s Setting up libcc1-0:amd64 (14.2.0-4ubuntu2~24.04) ... 155s Setting up liblsan0:amd64 (14.2.0-4ubuntu2~24.04) ... 155s Setting up libtevent0t64:amd64 (0.16.1-2build1) ... 155s Setting up libitm1:amd64 (14.2.0-4ubuntu2~24.04) ... 155s Setting up libkadm5clnt-mit12:amd64 (1.20.1-6ubuntu2.6) ... 155s Setting up automake (1:1.16.5-1.3ubuntu1) ... 155s update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode 155s Setting up libfile-stripnondeterminism-perl (1.13.1-1) ... 155s Setting up libglib2.0-dev-bin (2.80.0-6ubuntu3.4) ... 155s Setting up libblkid-dev:amd64 (2.39.3-9ubuntu6.3) ... 155s Setting up gettext (0.21-14ubuntu2) ... 155s Setting up libpcre2-dev:amd64 (10.42-4ubuntu2.1) ... 155s Setting up libkdb5-10t64:amd64 (1.20.1-6ubuntu2.6) ... 155s Setting up python3-talloc:amd64 (2.4.2-1build2) ... 155s Setting up cpp-13-x86-64-linux-gnu (13.3.0-6ubuntu2~24.04) ... 155s Setting up libselinux1-dev:amd64 (3.5-2ubuntu2.1) ... 155s Setting up libavahi-common3:amd64 (0.8-13ubuntu6) ... 155s Setting up pkgconf:amd64 (1.8.1-2build1) ... 155s Setting up intltool-debian (0.35.0+20060710.6) ... 155s Setting up golang-1.23-go (1.23.1-1~24.04.1) ... 155s Setting up dh-strip-nondeterminism (1.13.1-1) ... 155s Setting up libgcc-13-dev:amd64 (13.3.0-6ubuntu2~24.04) ... 155s Setting up xml-core (0.19) ... 155s Setting up libkadm5srv-mit12:amd64 (1.20.1-6ubuntu2.6) ... 155s Setting up libldb2:amd64 (2:2.8.0+samba4.19.5+dfsg-4ubuntu9.4) ... 155s Setting up libavahi-client3:amd64 (0.8-13ubuntu6) ... 155s Setting up libmount-dev:amd64 (2.39.3-9ubuntu6.3) ... 155s Setting up libstdc++-13-dev:amd64 (13.3.0-6ubuntu2~24.04) ... 155s Setting up krb5-multidev:amd64 (1.20.1-6ubuntu2.6) ... 155s Setting up cpp-x86-64-linux-gnu (4:13.2.0-7ubuntu1) ... 155s Setting up cpp-13 (13.3.0-6ubuntu2~24.04) ... 155s Setting up gcc-13-x86-64-linux-gnu (13.3.0-6ubuntu2~24.04) ... 155s Setting up po-debconf (1.0.21+nmu1) ... 155s Setting up samba-libs:amd64 (2:4.19.5+dfsg-4ubuntu9.4) ... 155s Setting up libkrb5-dev:amd64 (1.20.1-6ubuntu2.6) ... 155s Setting up libglib2.0-dev:amd64 (2.80.0-6ubuntu3.4) ... 155s Setting up gcc-13 (13.3.0-6ubuntu2~24.04) ... 155s Setting up python3-ldb (2:2.8.0+samba4.19.5+dfsg-4ubuntu9.4) ... 155s Setting up cpp (4:13.2.0-7ubuntu1) ... 155s Setting up samba-dsdb-modules:amd64 (2:4.19.5+dfsg-4ubuntu9.4) ... 155s Setting up libsmbclient0:amd64 (2:4.19.5+dfsg-4ubuntu9.4) ... 155s Setting up libcups2t64:amd64 (2.4.7-1.2ubuntu7.4) ... 155s Setting up python3-samba (2:4.19.5+dfsg-4ubuntu9.4) ... 156s Setting up g++-13-x86-64-linux-gnu (13.3.0-6ubuntu2~24.04) ... 156s Setting up gcc-x86-64-linux-gnu (4:13.2.0-7ubuntu1) ... 156s Setting up libtool (2.4.7-7build1) ... 156s Setting up gcc (4:13.2.0-7ubuntu1) ... 156s Setting up dh-autoreconf (20) ... 156s Setting up libsmbclient-dev:amd64 (2:4.19.5+dfsg-4ubuntu9.4) ... 156s Setting up samba-common-bin (2:4.19.5+dfsg-4ubuntu9.4) ... 156s Setting up g++-x86-64-linux-gnu (4:13.2.0-7ubuntu1) ... 156s Setting up samba (2:4.19.5+dfsg-4ubuntu9.4) ... 157s Created symlink /etc/systemd/system/smb.service → /usr/lib/systemd/system/smbd.service. 157s Created symlink /etc/systemd/system/multi-user.target.wants/smbd.service → /usr/lib/systemd/system/smbd.service. 157s Created symlink /etc/systemd/system/nmb.service → /usr/lib/systemd/system/nmbd.service. 157s Created symlink /etc/systemd/system/multi-user.target.wants/nmbd.service → /usr/lib/systemd/system/nmbd.service. 158s Created symlink /etc/systemd/system/samba.service → /usr/lib/systemd/system/samba-ad-dc.service. 158s Created symlink /etc/systemd/system/multi-user.target.wants/samba-ad-dc.service → /usr/lib/systemd/system/samba-ad-dc.service. 158s Setting up g++-13 (13.3.0-6ubuntu2~24.04) ... 158s Setting up debhelper (13.14.1ubuntu5) ... 158s Setting up g++ (4:13.2.0-7ubuntu1) ... 158s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 158s Setting up build-essential (12.10ubuntu1) ... 158s Setting up dh-golang (1.62) ... 158s Processing triggers for install-info (7.1-3build2) ... 159s Processing triggers for libc-bin (2.39-0ubuntu8.6) ... 159s Processing triggers for ufw (0.36.2-6) ... 159s Processing triggers for man-db (2.12.0-4build2) ... 161s Processing triggers for libglib2.0-0t64:amd64 (2.80.0-6ubuntu3.4) ... 161s No schema files found: doing nothing. 161s Processing triggers for sgml-base (1.31) ... 161s Setting up libdbus-1-dev:amd64 (1.14.10-4ubuntu4.1) ... 162s autopkgtest [03:50:28]: test command1: ./debian/tests/test no-sudo 162s autopkgtest [03:50:28]: test command1: [----------------------- 162s Running non-root tests... 192s ? github.com/ubuntu/adsys [no test files] 203s === RUN TestRun 203s === RUN TestRun/Run_and_exit_successfully 203s === RUN TestRun/Run_and_return_error 203s level=error msg="Error requested" 203s === RUN TestRun/Run_and_return_usage_error 203s level=error msg="Error requested" 203s === RUN TestRun/Run_and_usage_error_only_does_not_fail 203s --- PASS: TestRun (0.00s) 203s --- PASS: TestRun/Run_and_exit_successfully (0.00s) 203s --- PASS: TestRun/Run_and_return_error (0.00s) 203s --- PASS: TestRun/Run_and_return_usage_error (0.00s) 203s --- PASS: TestRun/Run_and_usage_error_only_does_not_fail (0.00s) 203s === RUN TestMainApp 203s --- PASS: TestMainApp (0.01s) 203s === RUN TestAppUsage 203s === RUN TestAppUsage/Doc_with_correct_arguments 203s === RUN TestAppUsage/Error_when_command_is_called_with_wrong_arguments 203s === RUN TestAppUsage/Expand_with_correct_arguments 203s === RUN TestAppUsage/Admx_with_correct_arguments 203s --- PASS: TestAppUsage (0.06s) 203s --- PASS: TestAppUsage/Doc_with_correct_arguments (0.01s) 203s --- PASS: TestAppUsage/Error_when_command_is_called_with_wrong_arguments (0.02s) 203s --- PASS: TestAppUsage/Expand_with_correct_arguments (0.02s) 203s --- PASS: TestAppUsage/Admx_with_correct_arguments (0.02s) 203s PASS 203s ok github.com/ubuntu/adsys/cmd/admxgen 0.073s 203s ? github.com/ubuntu/adsys/cmd/admxgen/commands [no test files] 220s === RUN TestRun 220s === RUN TestRun/Run_and_exit_successfully 220s === RUN TestRun/Run_and_return_error 220s level=error msg="Error requested" 220s === RUN TestRun/Run_and_return_usage_error 220s level=error msg="Error requested" 220s === RUN TestRun/Run_and_usage_error_only_does_not_fail 220s === RUN TestRun/Send_SIGINT_exits 220s === RUN TestRun/Send_SIGTERM_exits 220s === RUN TestRun/Send_SIGHUP_without_exiting 220s === RUN TestRun/Send_SIGHUP_with_exit 220s --- PASS: TestRun (0.86s) 220s --- PASS: TestRun/Run_and_exit_successfully (0.10s) 220s --- PASS: TestRun/Run_and_return_error (0.10s) 220s --- PASS: TestRun/Run_and_return_usage_error (0.10s) 220s --- PASS: TestRun/Run_and_usage_error_only_does_not_fail (0.10s) 220s --- PASS: TestRun/Send_SIGINT_exits (0.10s) 220s --- PASS: TestRun/Send_SIGTERM_exits (0.10s) 220s --- PASS: TestRun/Send_SIGHUP_without_exiting (0.15s) 220s --- PASS: TestRun/Send_SIGHUP_with_exit (0.10s) 220s === RUN TestMainApp 220s --- PASS: TestMainApp (0.95s) 220s PASS 220s ok github.com/ubuntu/adsys/cmd/adsysd 1.888s 220s === RUN TestColorizePolicies 220s --- PASS: TestColorizePolicies (0.00s) 220s === RUN TestInitApp 220s === PAUSE TestInitApp 220s === RUN TestAppHelp 220s === PAUSE TestAppHelp 220s === RUN TestAppCompletion 220s === PAUSE TestAppCompletion 220s === RUN TestAppNoUsageError 220s === PAUSE TestAppNoUsageError 220s === RUN TestAppUsageError 220s === PAUSE TestAppUsageError 220s === RUN TestAppUsageErrorReportsSuggestions 220s Usage: 220s adsysctl COMMAND [flags] 220s adsysctl [command] 220s 220s Available Commands: 220s applied Print last applied GPOs for current or given user/machine 220s completion Generate the autocompletion script for the specified shell 220s doc Documentation 220s help Help about any command 220s policy Policy management 220s service Service management 220s update Updates/Create a policy for current user or given user with its kerberos ticket 220s version Returns version of client and service 220s 220s Flags: 220s -c, --config string use a specific configuration file 220s -h, --help help for adsysctl 220s -s, --socket string socket path to use between daemon and client. Can be overridden by systemd socket activation. (default "/run/adsysd.sock") 220s -t, --timeout int time in seconds before cancelling the client request when the server gives no result. 0 for no timeout. (default 30) 220s -v, --verbose count issue INFO (-v), DEBUG (-vv) or DEBUG with caller (-vvv) output 220s 220s Use "adsysctl [command] --help" for more information about a command. 220s 220s --- PASS: TestAppUsageErrorReportsSuggestions (0.00s) 220s === RUN TestAppCanQuitWhenExecute 220s === PAUSE TestAppCanQuitWhenExecute 220s === RUN TestAppCanQuitAfterExecute 220s === PAUSE TestAppCanQuitAfterExecute 220s === RUN TestAppCanQuitWithoutExecute 220s === PAUSE TestAppCanQuitWithoutExecute 220s === RUN TestAppCanSigHupWhenExecute 220s === PAUSE TestAppCanSigHupWhenExecute 220s === RUN TestAppCanSigHupAfterExecute 220s === PAUSE TestAppCanSigHupAfterExecute 220s === RUN TestAppGetRootCmd 220s === PAUSE TestAppGetRootCmd 220s === CONT TestAppCanQuitAfterExecute 220s === CONT TestInitApp 220s # bash completion V2 for adsysctl -*- shell-script -*- 220s 220s __adsysctl_debug() 220s { 220s if [[ -n ${BASH_COMP_DEBUG_FILE-} ]]; then 220s echo "$*" >> "${BASH_COMP_DEBUG_FILE}" 220s fi 220s } 220s 220s # Macs have bash3 for which the bash-completion package doesn't include 220s # _init_completion. This is a minimal version of that function. 220s __adsysctl_init_completion() 220s { 220s COMPREPLY=() 220s _get_comp_words_by_ref "$@" cur prev words cword 220s } 220s 220s # This function calls the adsysctl program to obtain the completion 220s # results and the directive. It fills the 'out' and 'directive' vars. 220s __adsysctl_get_completion_results() { 220s local requestComp lastParam lastChar args 220s 220s # Prepare the command to request completions for the program. 220s # Calling ${words[0]} instead of directly adsysctl allows handling aliases 220s args=("${words[@]:1}") 220s requestComp="${words[0]} __complete ${args[*]}" 220s 220s lastParam=${words[$((${#words[@]}-1))]} 220s lastChar=${lastParam:$((${#lastParam}-1)):1} 220s __adsysctl_debug "lastParam ${lastParam}, lastChar ${lastChar}" 220s 220s if [[ -z ${cur} && ${lastChar} != = ]]; then 220s # If the last parameter is complete (there is a space following it) 220s # We add an extra empty parameter so we can indicate this to the go method. 220s __adsysctl_debug "Adding extra empty parameter" 220s requestComp="${requestComp} ''" 220s fi 220s 220s # When completing a flag with an = (e.g., adsysctl -n=) 220s # bash focuses on the part after the =, so we need to remove 220s # the flag part from $cur 220s if [[ ${cur} == -*=* ]]; then 220s cur="${cur#*=}" 220s fi 220s 220s __adsysctl_debug "Calling ${requestComp}" 220s # Use eval to handle any environment variables and such 220s out=$(eval "${requestComp}" 2>/dev/null) 220s 220s # Extract the directive integer at the very end of the output following a colon (:) 220s directive=${out##*:} 220s # Remove the directive 220s out=${out%:*} 220s if [[ ${directive} == "${out}" ]]; then 220s # There is not directive specified 220s directive=0 220s fi 220s __adsysctl_debug "The completion directive is: ${directive}" 220s __adsysctl_debug "The completions are: ${out}" 220s } 220s 220s __adsysctl_process_completion_results() { 220s local shellCompDirectiveError=1 220s local shellCompDirectiveNoSpace=2 220s local shellCompDirectiveNoFileComp=4 220s local shellCompDirectiveFilterFileExt=8 220s local shellCompDirectiveFilterDirs=16 220s local shellCompDirectiveKeepOrder=32 220s 220s if (((directive & shellCompDirectiveError) != 0)); then 220s # Error code. No completion. 220s __adsysctl_debug "Received error from custom completion go code" 220s return 220s else 220s if (((directive & shellCompDirectiveNoSpace) != 0)); then 220s if [[ $(type -t compopt) == builtin ]]; then 220s __adsysctl_debug "Activating no space" 220s compopt -o nospace 220s else 220s __adsysctl_debug "No space directive not supported in this version of bash" 220s fi 220s fi 220s if (((directive & shellCompDirectiveKeepOrder) != 0)); then 220s if [[ $(type -t compopt) == builtin ]]; then 220s # no sort isn't supported for bash less than < 4.4 220s if [[ ${BASH_VERSINFO[0]} -lt 4 || ( ${BASH_VERSINFO[0]} -eq 4 && ${BASH_VERSINFO[1]} -lt 4 ) ]]; then 220s __adsysctl_debug "No sort directive not supported in this version of bash" 220s else 220s __adsysctl_debug "Activating keep order" 220s compopt -o nosort 220s fi 220s else 220s __adsysctl_debug "No sort directive not supported in this version of bash" 220s fi 220s fi 220s if (((directive & shellCompDirectiveNoFileComp) != 0)); then 220s if [[ $(type -t compopt) == builtin ]]; then 220s __adsysctl_debug "Activating no file completion" 220s compopt +o default 220s else 220s __adsysctl_debug "No file completion directive not supported in this version of bash" 220s fi 220s fi 220s fi 220s 220s # Separate activeHelp from normal completions 220s local completions=() 220s local activeHelp=() 220s __adsysctl_extract_activeHelp 220s 220s if (((directive & shellCompDirectiveFilterFileExt) != 0)); then 220s # File extension filtering 220s local fullFilter="" filter filteringCmd 220s 220s # Do not use quotes around the $completions variable or else newline 220s # characters will be kept. 220s for filter in ${completions[*]}; do 220s fullFilter+="$filter|" 220s done 220s 220s filteringCmd="_filedir $fullFilter" 220s __adsysctl_debug "File filtering command: $filteringCmd" 220s $filteringCmd 220s elif (((directive & shellCompDirectiveFilterDirs) != 0)); then 220s # File completion for directories only 220s 220s local subdir 220s subdir=${completions[0]} 220s if [[ -n $subdir ]]; then 220s __adsysctl_debug "Listing directories in $subdir" 220s pushd "$subdir" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 || return 220s else 220s __adsysctl_debug "Listing directories in ." 220s _filedir -d 220s fi 220s else 220s __adsysctl_handle_completion_types 220s fi 220s 220s __adsysctl_handle_special_char "$cur" : 220s __adsysctl_handle_special_char "$cur" = 220s 220s # Print the activeHelp statements before we finish 220s __adsysctl_handle_activeHelp 220s } 220s 220s __adsysctl_handle_activeHelp() { 220s # Print the activeHelp statements 220s if ((${#activeHelp[*]} != 0)); then 220s if [ -z $COMP_TYPE ]; then 220s # Bash v3 does not set the COMP_TYPE variable. 220s printf "\n"; 220s printf "%s\n" "${activeHelp[@]}" 220s printf "\n" 220s __adsysctl_reprint_commandLine 220s return 220s fi 220s 220s # Only print ActiveHelp on the second TAB press 220s if [ $COMP_TYPE -eq 63 ]; then 220s printf "\n" 220s printf "%s\n" "${activeHelp[@]}" 220s 220s if ((${#COMPREPLY[*]} == 0)); then 220s # When there are no completion choices from the program, file completion 220s # may kick in if the program has not disabled it; in such a case, we want 220s # to know if any files will match what the user typed, so that we know if 220s # there will be completions presented, so that we know how to handle ActiveHelp. 220s # To find out, we actually trigger the file completion ourselves; 220s # the call to _filedir will fill COMPREPLY if files match. 220s if (((directive & shellCompDirectiveNoFileComp) == 0)); then 220s __adsysctl_debug "Listing files" 220s _filedir 220s fi 220s fi 220s 220s if ((${#COMPREPLY[*]} != 0)); then 220s # If there are completion choices to be shown, print a delimiter. 220s # Re-printing the command-line will automatically be done 220s # by the shell when it prints the completion choices. 220s printf -- "--" 220s else 220s # When there are no completion choices at all, we need 220s # to re-print the command-line since the shell will 220s # not be doing it itself. 220s __adsysctl_reprint_commandLine 220s fi 220s elif [ $COMP_TYPE -eq 37 ] || [ $COMP_TYPE -eq 42 ]; then 220s # For completion type: menu-complete/menu-complete-backward and insert-completions 220s # the completions are immediately inserted into the command-line, so we first 220s # print the activeHelp message and reprint the command-line since the shell won't. 220s printf "\n" 220s printf "%s\n" "${activeHelp[@]}" 220s 220s __adsysctl_reprint_commandLine 220s fi 220s fi 220s } 220s 220s __adsysctl_reprint_commandLine() { 220s # The prompt format is only available from bash 4.4. 220s # We test if it is available before using it. 220s if (x=${PS1@P}) 2> /dev/null; then 220s printf "%s" "${PS1@P}${COMP_LINE[@]}" 220s else 220s # Can't print the prompt. Just print the 220s # text the user had typed, it is workable enough. 220s printf "%s" "${COMP_LINE[@]}" 220s fi 220s } 220s 220s # Separate activeHelp lines from real completions. 220s # Fills the $activeHelp and $completions arrays. 220s __adsysctl_extract_activeHelp() { 220s local activeHelpMarker="_activeHelp_ " 220s local endIndex=${#activeHelpMarker} 220s 220s while IFS='' read -r comp; do 220s [[ -z $comp ]] && continue 220s 220s if [[ ${comp:0:endIndex} == $activeHelpMarker ]]; then 220s comp=${comp:endIndex} 220s __adsysctl_debug "ActiveHelp found: $comp" 220s if [[ -n $comp ]]; then 220s activeHelp+=("$comp") 220s fi 220s else 220s # Not an activeHelp line but a normal completion 220s completions+=("$comp") 220s fi 220s done <<<"${out}" 220s } 220s 220s __adsysctl_handle_completion_types() { 220s __adsysctl_debug "__adsysctl_handle_completion_types: COMP_TYPE is $COMP_TYPE" 220s 220s case $COMP_TYPE in 220s 37|42) 220s # Type: menu-complete/menu-complete-backward and insert-completions 220s # If the user requested inserting one completion at a time, or all 220s # completions at once on the command-line we must remove the descriptions. 220s # https://github.com/spf13/cobra/issues/1508 220s 220s # If there are no completions, we don't need to do anything 220s (( ${#completions[@]} == 0 )) && return 0 220s 220s local tab=$'\t' 220s 220s # Strip any description and escape the completion to handled special characters 220s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]%%$tab*}") 220s 220s # Only consider the completions that match 220s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 220s 220s # compgen looses the escaping so we need to escape all completions again since they will 220s # all be inserted on the command-line. 220s IFS=$'\n' read -ra COMPREPLY -d '' < <(printf "%q\n" "${COMPREPLY[@]}") 220s ;; 220s 220s *) 220s # Type: complete (normal completion) 220s __adsysctl_handle_standard_completion_case 220s ;; 220s esac 220s } 220s 220s __adsysctl_handle_standard_completion_case() { 220s local tab=$'\t' 220s 220s # If there are no completions, we don't need to do anything 220s (( ${#completions[@]} == 0 )) && return 0 220s 220s # Short circuit to optimize if we don't have descriptions 220s if [[ "${completions[*]}" != *$tab* ]]; then 220s # First, escape the completions to handle special characters 220s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]}") 220s # Only consider the completions that match what the user typed 220s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 220s 220s # compgen looses the escaping so, if there is only a single completion, we need to 220s # escape it again because it will be inserted on the command-line. If there are multiple 220s # completions, we don't want to escape them because they will be printed in a list 220s # and we don't want to show escape characters in that list. 220s if (( ${#COMPREPLY[@]} == 1 )); then 220s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]}") 220s fi 220s return 0 220s fi 220s 220s local longest=0 220s local compline 220s # Look for the longest completion so that we can format things nicely 220s while IFS='' read -r compline; do 220s [[ -z $compline ]] && continue 220s 220s # Before checking if the completion matches what the user typed, 220s # we need to strip any description and escape the completion to handle special 220s # characters because those escape characters are part of what the user typed. 220s # Don't call "printf" in a sub-shell because it will be much slower 220s # since we are in a loop. 220s printf -v comp "%q" "${compline%%$tab*}" &>/dev/null || comp=$(printf "%q" "${compline%%$tab*}") 220s 220s # Only consider the completions that match 220s [[ $comp == "$cur"* ]] || continue 220s 220s # The completions matches. Add it to the list of full completions including 220s # its description. We don't escape the completion because it may get printed 220s # in a list if there are more than one and we don't want show escape characters 220s # in that list. 220s COMPREPLY+=("$compline") 220s 220s # Strip any description before checking the length, and again, don't escape 220s # the completion because this length is only used when printing the completions 220s # in a list and we don't want show escape characters in that list. 220s comp=${compline%%$tab*} 220s if ((${#comp}>longest)); then 220s longest=${#comp} 220s fi 220s done < <(printf "%s\n" "${completions[@]}") 220s 220s # If there is a single completion left, remove the description text and escape any special characters 220s if ((${#COMPREPLY[*]} == 1)); then 220s __adsysctl_debug "COMPREPLY[0]: ${COMPREPLY[0]}" 220s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]%%$tab*}") 220s __adsysctl_debug "Removed description from single completion, which is now: ${COMPREPLY[0]}" 220s else 220s # Format the descriptions 220s __adsysctl_format_comp_descriptions $longest 220s fi 220s } 220s 220s __adsysctl_handle_special_char() 220s { 220s local comp="$1" 220s local char=$2 220s if [[ "$comp" == *${char}* && "$COMP_WORDBREAKS" == *${char}* ]]; then 220s local word=${comp%"${comp##*${char}}"} 220s local idx=${#COMPREPLY[*]} 220s while ((--idx >= 0)); do 220s COMPREPLY[idx]=${COMPREPLY[idx]#"$word"} 220s done 220s fi 220s } 220s 220s __adsysctl_format_comp_descriptions() 220s { 220s local tab=$'\t' 220s local comp desc maxdesclength 220s local longest=$1 220s 220s local i ci 220s for ci in ${!COMPREPLY[*]}; do 220s comp=${COMPREPLY[ci]} 220s # Properly format the description string which follows a tab character if there is one 220s if [[ "$comp" == *$tab* ]]; then 220s __adsysctl_debug "Original comp: $comp" 220s desc=${comp#*$tab} 220s comp=${comp%%$tab*} 220s 220s # $COLUMNS stores the current shell width. 220s # Remove an extra 4 because we add 2 spaces and 2 parentheses. 220s maxdesclength=$(( COLUMNS - longest - 4 )) 220s 220s # Make sure we can fit a description of at least 8 characters 220s # if we are to align the descriptions. 220s if ((maxdesclength > 8)); then 220s # Add the proper number of spaces to align the descriptions 220s for ((i = ${#comp} ; i < longest ; i++)); do 220s comp+=" " 220s done 220s else 220s # Don't pad the descriptions so we can fit more text after the completion 220s maxdesclength=$(( COLUMNS - ${#comp} - 4 )) 220s fi 220s 220s # If there is enough space for any description text, 220s # truncate the descriptions that are too long for the shell width 220s if ((maxdesclength > 0)); then 220s if ((${#desc} > maxdesclength)); then 220s desc=${desc:0:$(( maxdesclength - 1 ))} 220s desc+="…" 220s fi 220s comp+=" ($desc)" 220s fi 220s COMPREPLY[ci]=$comp 220s __adsysctl_debug "Final comp: $comp" 220s fi 220s done 220s } 220s 220s __start_adsysctl() 220s { 220s local cur prev words cword split 220s 220s COMPREPLY=() 220s 220s # Call _init_completion from the bash-completion package 220s # to prepare the arguments properly 220s if declare -F _init_completion >/dev/null 2>&1; then 220s _init_completion -n =: || return 220s else 220s __adsysctl_init_completion -n =: || return 220s fi 220s 220s __adsysctl_debug 220s __adsysctl_debug "========= starting completion logic ==========" 220s __adsysctl_debug "cur is ${cur}, words[*] is ${words[*]}, #words[@] is ${#words[@]}, cword is $cword" 220s 220s # The user could have moved the cursor backwards on the command-line. 220s # We need to trigger completion from the $cword location, so we need 220s # to truncate the command-line ($words) up to the $cword location. 220s words=("${words[@]:0:$cword+1}") 220s __adsysctl_debug "Truncated words[*]: ${words[*]}," 220s 220s local out directive 220s __adsysctl_get_completion_results 220s __adsysctl_process_completion_results 220s } 220s 220s if [[ $(type -t compopt) = "builtin" ]]; then 220s complete -o default -F __start_adsysctl adsysctl 220s else 220s complete -o default -o nospace -F __start_adsysctl adsysctl 220s fi 220s 220s # ex: ts=4 sw=4 et filetype=sh 220s --- PASS: TestAppCanQuitAfterExecute (0.00s) 220s === CONT TestAppCanQuitWhenExecute 220s --- PASS: TestAppCanQuitWhenExecute (0.00s) 220s === CONT TestAppUsageError 220s Usage: 220s adsysctl COMMAND [flags] 220s adsysctl [command] 220s 220s Available Commands: 220s applied Print last applied GPOs for current or given user/machine 220s completion Generate the autocompletion script for the specified shell 220s doc Documentation 220s help Help about any command 220s policy Policy management 220s service Service management 220s update Updates/Create a policy for current user or given user with its kerberos ticket 220s version Returns version of client and service 220s 220s Flags: 220s -c, --config string use a specific configuration file 220s -h, --help help for adsysctl 220s -s, --socket string socket path to use between daemon and client. Can be overridden by systemd socket activation. (default "/run/adsysd.sock") 220s -t, --timeout int time in seconds before cancelling the client request when the server gives no result. 0 for no timeout. (default 30) 220s -v, --verbose count issue INFO (-v), DEBUG (-vv) or DEBUG with caller (-vvv) output 220s 220s Use "adsysctl [command] --help" for more information about a command. 220s 220s --- PASS: TestAppUsageError (0.01s) 220s === CONT TestAppNoUsageError 220s Usage: 220s adsysctl COMMAND [flags] 220s adsysctl [command] 220s 220s Available Commands: 220s applied Print last applied GPOs for current or given user/machine 220s completion Generate the autocompletion script for the specified shell 220s doc Documentation 220s help Help about any command 220s policy Policy management 220s service Service management 220s update Updates/Create a policy for current user or given user with its kerberos ticket 220s version Returns version of client and service 220s 220s Flags: 220s -c, --config string use a specific configuration file 220s -h, --help help for adsysctl 220s -s, --socket string socket path to use between daemon and client. Can be overridden by systemd socket activation. (default "/run/adsysd.sock") 220s -t, --timeout int time in seconds before cancelling the client request when the server gives no result. 0 for no timeout. (default 30) 220s -v, --verbose count issue INFO (-v), DEBUG (-vv) or DEBUG with caller (-vvv) output 220s 220s Use "adsysctl [command] --help" for more information about a command. 220s 220s --- PASS: TestInitApp (0.01s) 220s === CONT TestAppCompletion 220s # bash completion V2 for adsysctl -*- shell-script -*- 220s 220s __adsysctl_debug() 220s { 220s if [[ -n ${BASH_COMP_DEBUG_FILE-} ]]; then 220s echo "$*" >> "${BASH_COMP_DEBUG_FILE}" 220s fi 220s } 220s 220s # Macs have bash3 for which the bash-completion package doesn't include 220s # _init_completion. This is a minimal version of that function. 220s __adsysctl_init_completion() 220s { 220s COMPREPLY=() 220s _get_comp_words_by_ref "$@" cur prev words cword 220s } 220s 220s # This function calls the adsysctl program to obtain the completion 220s # results and the directive. It fills the 'out' and 'directive' vars. 220s __adsysctl_get_completion_results() { 220s local requestComp lastParam lastChar args 220s 220s # Prepare the command to request completions for the program. 220s # Calling ${words[0]} instead of directly adsysctl allows handling aliases 220s args=("${words[@]:1}") 220s requestComp="${words[0]} __complete ${args[*]}" 220s 220s lastParam=${words[$((${#words[@]}-1))]} 220s lastChar=${lastParam:$((${#lastParam}-1)):1} 220s __adsysctl_debug "lastParam ${lastParam}, lastChar ${lastChar}" 220s 220s if [[ -z ${cur} && ${lastChar} != = ]]; then 220s # If the last parameter is complete (there is a space following it) 220s # We add an extra empty parameter so we can indicate this to the go method. 220s __adsysctl_debug "Adding extra empty parameter" 220s requestComp="${requestComp} ''" 220s fi 220s 220s # When completing a flag with an = (e.g., adsysctl -n=) 220s # bash focuses on the part after the =, so we need to remove 220s # the flag part from $cur 220s if [[ ${cur} == -*=* ]]; then 220s cur="${cur#*=}" 220s fi 220s 220s __adsysctl_debug "Calling ${requestComp}" 220s # Use eval to handle any environment variables and such 220s out=$(eval "${requestComp}" 2>/dev/null) 220s 220s # Extract the directive integer at the very end of the output following a colon (:) 220s directive=${out##*:} 220s # Remove the directive 220s out=${out%:*} 220s if [[ ${directive} == "${out}" ]]; then 220s # There is not directive specified 220s directive=0 220s fi 220s __adsysctl_debug "The completion directive is: ${directive}" 220s __adsysctl_debug "The completions are: ${out}" 220s } 220s 220s __adsysctl_process_completion_results() { 220s local shellCompDirectiveError=1 220s local shellCompDirectiveNoSpace=2 220s local shellCompDirectiveNoFileComp=4 220s local shellCompDirectiveFilterFileExt=8 220s local shellCompDirectiveFilterDirs=16 220s local shellCompDirectiveKeepOrder=32 220s 220s if (((directive & shellCompDirectiveError) != 0)); then 220s # Error code. No completion. 220s __adsysctl_debug "Received error from custom completion go code" 220s return 220s else 220s if (((directive & shellCompDirectiveNoSpace) != 0)); then 220s if [[ $(type -t compopt) == builtin ]]; then 220s __adsysctl_debug "Activating no space" 220s compopt -o nospace 220s else 220s __adsysctl_debug "No space directive not supported in this version of bash" 220s fi 220s fi 220s if (((directive & shellCompDirectiveKeepOrder) != 0)); then 220s if [[ $(type -t compopt) == builtin ]]; then 220s # no sort isn't supported for bash less than < 4.4 220s if [[ ${BASH_VERSINFO[0]} -lt 4 || ( ${BASH_VERSINFO[0]} -eq 4 && ${BASH_VERSINFO[1]} -lt 4 ) ]]; then 220s __adsysctl_debug "No sort directive not supported in this version of bash" 220s else 220s __adsysctl_debug "Activating keep order" 220s compopt -o nosort 220s fi 220s else 220s __adsysctl_debug "No sort directive not supported in this version of bash" 220s fi 220s fi 220s if (((directive & shellCompDirectiveNoFileComp) != 0)); then 220s if [[ $(type -t compopt) == builtin ]]; then 220s __adsysctl_debug "Activating no file completion" 220s compopt +o default 220s else 220s __adsysctl_debug "No file completion directive not supported in this version of bash" 220s fi 220s fi 220s fi 220s 220s # Separate activeHelp from normal completions 220s local completions=() 220s local activeHelp=() 220s __adsysctl_extract_activeHelp 220s 220s if (((directive & shellCompDirectiveFilterFileExt) != 0)); then 220s # File extension filtering 220s local fullFilter="" filter filteringCmd 220s 220s # Do not use quotes around the $completions variable or else newline 220s # characters will be kept. 220s for filter in ${completions[*]}; do 220s fullFilter+="$filter|" 220s done 220s 220s filteringCmd="_filedir $fullFilter" 220s __adsysctl_debug "File filtering command: $filteringCmd" 220s $filteringCmd 220s elif (((directive & shellCompDirectiveFilterDirs) != 0)); then 220s # File completion for directories only 220s 220s local subdir 220s subdir=${completions[0]} 220s if [[ -n $subdir ]]; then 220s __adsysctl_debug "Listing directories in $subdir" 220s pushd "$subdir" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 || return 220s else 220s __adsysctl_debug "Listing directories in ." 220s _filedir -d 220s fi 220s else 220s __adsysctl_handle_completion_types 220s fi 220s 220s __adsysctl_handle_special_char "$cur" : 220s __adsysctl_handle_special_char "$cur" = 220s 220s # Print the activeHelp statements before we finish 220s __adsysctl_handle_activeHelp 220s } 220s 220s __adsysctl_handle_activeHelp() { 220s # Print the activeHelp statements 220s if ((${#activeHelp[*]} != 0)); then 220s if [ -z $COMP_TYPE ]; then 220s # Bash v3 does not set the COMP_TYPE variable. 220s printf "\n"; 220s printf "%s\n" "${activeHelp[@]}" 220s printf "\n" 220s __adsysctl_reprint_commandLine 220s return 220s fi 220s 220s # Only print ActiveHelp on the second TAB press 220s if [ $COMP_TYPE -eq 63 ]; then 220s printf "\n" 220s printf "%s\n" "${activeHelp[@]}" 220s 220s if ((${#COMPREPLY[*]} == 0)); then 220s # When there are no completion choices from the program, file completion 220s # may kick in if the program has not disabled it; in such a case, we want 220s # to know if any files will match what the user typed, so that we know if 220s # there will be completions presented, so that we know how to handle ActiveHelp. 220s # To find out, we actually trigger the file completion ourselves; 220s # the call to _filedir will fill COMPREPLY if files match. 220s if (((directive & shellCompDirectiveNoFileComp) == 0)); then 220s __adsysctl_debug "Listing files" 220s _filedir 220s fi 220s fi 220s 220s if ((${#COMPREPLY[*]} != 0)); then 220s # If there are completion choices to be shown, print a delimiter. 220s # Re-printing the command-line will automatically be done 220s # by the shell when it prints the completion choices. 220s printf -- "--" 220s else 220s # When there are no completion choices at all, we need 220s # to re-print the command-line since the shell will 220s # not be doing it itself. 220s __adsysctl_reprint_commandLine 220s fi 220s elif [ $COMP_TYPE -eq 37 ] || [ $COMP_TYPE -eq 42 ]; then 220s # For completion type: menu-complete/menu-complete-backward and insert-completions 220s # the completions are immediately inserted into the command-line, so we first 220s # print the activeHelp message and reprint the command-line since the shell won't. 220s printf "\n" 220s printf "%s\n" "${activeHelp[@]}" 220s 220s __adsysctl_reprint_commandLine 220s fi 220s fi 220s } 220s 220s __adsysctl_reprint_commandLine() { 220s # The prompt format is only available from bash 4.4. 220s # We test if it is available before using it. 220s if (x=${PS1@P}) 2> /dev/null; then 220s printf "%s" "${PS1@P}${COMP_LINE[@]}" 220s else 220s # Can't print the prompt. Just print the 220s # text the user had typed, it is workable enough. 220s printf "%s" "${COMP_LINE[@]}" 220s fi 220s } 220s 220s # Separate activeHelp lines from real completions. 220s # Fills the $activeHelp and $completions arrays. 220s __adsysctl_extract_activeHelp() { 220s local activeHelpMarker="_activeHelp_ " 220s local endIndex=${#activeHelpMarker} 220s 220s while IFS='' read -r comp; do 220s [[ -z $comp ]] && continue 220s 220s if [[ ${comp:0:endIndex} == $activeHelpMarker ]]; then 220s comp=${comp:endIndex} 220s __adsysctl_debug "ActiveHelp found: $comp" 220s if [[ -n $comp ]]; then 220s activeHelp+=("$comp") 220s fi 220s else 220s # Not an activeHelp line but a normal completion 220s completions+=("$comp") 220s fi 220s done <<<"${out}" 220s } 220s 220s __adsysctl_handle_completion_types() { 220s __adsysctl_debug "__adsysctl_handle_completion_types: COMP_TYPE is $COMP_TYPE" 220s 220s case $COMP_TYPE in 220s 37|42) 220s # Type: menu-complete/menu-complete-backward and insert-completions 220s # If the user requested inserting one completion at a time, or all 220s # completions at once on the command-line we must remove the descriptions. 220s # https://github.com/spf13/cobra/issues/1508 220s 220s # If there are no completions, we don't need to do anything 220s (( ${#completions[@]} == 0 )) && return 0 220s 220s local tab=$'\t' 220s 220s # Strip any description and escape the completion to handled special characters 220s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]%%$tab*}") 220s 220s # Only consider the completions that match 220s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 220s 220s # compgen looses the escaping so we need to escape all completions again since they will 220s # all be inserted on the command-line. 220s IFS=$'\n' read -ra COMPREPLY -d '' < <(printf "%q\n" "${COMPREPLY[@]}") 220s ;; 220s 220s *) 220s # Type: complete (normal completion) 220s __adsysctl_handle_standard_completion_case 220s ;; 220s esac 220s } 220s 220s __adsysctl_handle_standard_completion_case() { 220s local tab=$'\t' 220s 220s # If there are no completions, we don't need to do anything 220s (( ${#completions[@]} == 0 )) && return 0 220s 220s # Short circuit to optimize if we don't have descriptions 220s if [[ "${completions[*]}" != *$tab* ]]; then 220s # First, escape the completions to handle special characters 220s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]}") 220s # Only consider the completions that match what the user typed 220s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 220s 220s # compgen looses the escaping so, if there is only a single completion, we need to 220s # escape it again because it will be inserted on the command-line. If there are multiple 220s # completions, we don't want to escape them because they will be printed in a list 220s # and we don't want to show escape characters in that list. 220s if (( ${#COMPREPLY[@]} == 1 )); then 220s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]}") 220s fi 220s return 0 220s fi 220s 220s local longest=0 220s local compline 220s # Look for the longest completion so that we can format things nicely 220s while IFS='' read -r compline; do 220s [[ -z $compline ]] && continue 220s 220s # Before checking if the completion matches what the user typed, 220s # we need to strip any description and escape the completion to handle special 220s # characters because those escape characters are part of what the user typed. 220s # Don't call "printf" in a sub-shell because it will be much slower 220s # since we are in a loop. 220s printf -v comp "%q" "${compline%%$tab*}" &>/dev/null || comp=$(printf "%q" "${compline%%$tab*}") 220s 220s # Only consider the completions that match 220s [[ $comp == "$cur"* ]] || continue 220s 220s # The completions matches. Add it to the list of full completions including 220s # its description. We don't escape the completion because it may get printed 220s # in a list if there are more than one and we don't want show escape characters 220s # in that list. 220s COMPREPLY+=("$compline") 220s 220s # Strip any description before checking the length, and again, don't escape 220s # the completion because this length is only used when printing the completions 220s # in a list and we don't want show escape characters in that list. 220s comp=${compline%%$tab*} 220s if ((${#comp}>longest)); then 220s longest=${#comp} 220s fi 220s done < <(printf "%s\n" "${completions[@]}") 220s 220s # If there is a single completion left, remove the description text and escape any special characters 220s if ((${#COMPREPLY[*]} == 1)); then 220s __adsysctl_debug "COMPREPLY[0]: ${COMPREPLY[0]}" 220s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]%%$tab*}") 220s __adsysctl_debug "Removed description from single completion, which is now: ${COMPREPLY[0]}" 220s else 220s # Format the descriptions 220s __adsysctl_format_comp_descriptions $longest 220s fi 220s } 220s 220s __adsysctl_handle_special_char() 220s { 220s local comp="$1" 220s local char=$2 220s if [[ "$comp" == *${char}* && "$COMP_WORDBREAKS" == *${char}* ]]; then 220s local word=${comp%"${comp##*${char}}"} 220s local idx=${#COMPREPLY[*]} 220s while ((--idx >= 0)); do 220s COMPREPLY[idx]=${COMPREPLY[idx]#"$word"} 220s done 220s fi 220s } 220s 220s __adsysctl_format_comp_descriptions() 220s { 220s local tab=$'\t' 220s local comp desc maxdesclength 220s local longest=$1 220s 220s local i ci 220s for ci in ${!COMPREPLY[*]}; do 220s comp=${COMPREPLY[ci]} 220s # Properly format the description string which follows a tab character if there is one 220s if [[ "$comp" == *$tab* ]]; then 220s __adsysctl_debug "Original comp: $comp" 220s desc=${comp#*$tab} 220s comp=${comp%%$tab*} 220s 220s # $COLUMNS stores the current shell width. 220s # Remove an extra 4 because we add 2 spaces and 2 parentheses. 220s maxdesclength=$(( COLUMNS - longest - 4 )) 220s 220s # Make sure we can fit a description of at least 8 characters 220s # if we are to align the descriptions. 220s if ((maxdesclength > 8)); then 220s # Add the proper number of spaces to align the descriptions 220s for ((i = ${#comp} ; i < longest ; i++)); do 220s comp+=" " 220s done 220s else 220s # Don't pad the descriptions so we can fit more text after the completion 220s maxdesclength=$(( COLUMNS - ${#comp} - 4 )) 220s fi 220s 220s # If there is enough space for any description text, 220s # truncate the descriptions that are too long for the shell width 220s if ((maxdesclength > 0)); then 220s if ((${#desc} > maxdesclength)); then 220s desc=${desc:0:$(( maxdesclength - 1 ))} 220s desc+="…" 220s fi 220s comp+=" ($desc)" 220s fi 220s COMPREPLY[ci]=$comp 220s __adsysctl_debug "Final comp: $comp" 220s fi 220s done 220s } 220s 220s __start_adsysctl() 220s { 220s local cur prev words cword split 220s 220s COMPREPLY=() 220s 220s # Call _init_completion from the bash-completion package 220s # to prepare the arguments properly 220s if declare -F _init_completion >/dev/null 2>&1; then 220s _init_completion -n =: || return 220s else 220s __adsysctl_init_completion -n =: || return 220s fi 220s 220s __adsysctl_debug 220s __adsysctl_debug "========= starting completion logic ==========" 220s __adsysctl_debug "cur is ${cur}, words[*] is ${words[*]}, #words[@] is ${#words[@]}, cword is $cword" 220s 220s # The user could have moved the cursor backwards on the command-line. 220s # We need to trigger completion from the $cword location, so we need 220s # to truncate the command-line ($words) up to the $cword location. 220s words=("${words[@]:0:$cword+1}") 220s __adsysctl_debug "Truncated words[*]: ${words[*]}," 220s 220s local out directive 220s __adsysctl_get_completion_results 220s __adsysctl_process_completion_results 220s } 220s 220s if [[ $(type -t compopt) = "builtin" ]]; then 220s complete -o default -F __start_adsysctl adsysctl 220s else 220s complete -o default -o nospace -F __start_adsysctl adsysctl 220s fi 220s 220s # ex: ts=4 sw=4 et filetype=sh 220s --- PASS: TestAppNoUsageError (0.00s) 220s === CONT TestAppHelp 220s # bash completion V2 for adsysctl -*- shell-script -*- 220s 220s __adsysctl_debug() 220s { 220s if [[ -n ${BASH_COMP_DEBUG_FILE-} ]]; then 220s echo "$*" >> "${BASH_COMP_DEBUG_FILE}" 220s fi 220s } 220s 220s # Macs have bash3 for which the bash-completion package doesn't include 220s # _init_completion. This is a minimal version of that function. 220s __adsysctl_init_completion() 220s { 220s COMPREPLY=() 220s _get_comp_words_by_ref "$@" cur prev words cword 220s } 220s 220s # This function calls the adsysctl program to obtain the completion 220s # results and the directive. It fills the 'out' and 'directive' vars. 220s __adsysctl_get_completion_results() { 220s local requestComp lastParam lastChar args 220s 220s # Prepare the command to request completions for the program. 220s # Calling ${words[0]} instead of directly adsysctl allows handling aliases 220s args=("${words[@]:1}") 220s requestComp="${words[0]} __complete ${args[*]}" 220s 220s lastParam=${words[$((${#words[@]}-1))]} 220s lastChar=${lastParam:$((${#lastParam}-1)):1} 220s __adsysctl_debug "lastParam ${lastParam}, lastChar ${lastChar}" 220s 220s if [[ -z ${cur} && ${lastChar} != = ]]; then 220s # If the last parameter is complete (there is a space following it) 220s # We add an extra empty parameter so we can indicate this to the go method. 220s __adsysctl_debug "Adding extra empty parameter" 220s requestComp="${requestComp} ''" 220s fi 220s 220s # When completing a flag with an = (e.g., adsysctl -n=) 220s # bash focuses on the part after the =, so we need to remove 220s # the flag part from $cur 220s if [[ ${cur} == -*=* ]]; then 220s cur="${cur#*=}" 220s fi 220s 220s __adsysctl_debug "Calling ${requestComp}" 220s # Use eval to handle any environment variables and such 220s out=$(eval "${requestComp}" 2>/dev/null) 220s 220s # Extract the directive integer at the very end of the output following a colon (:) 220s directive=${out##*:} 220s # Remove the directive 220s out=${out%:*} 220s if [[ ${directive} == "${out}" ]]; then 220s # There is not directive specified 220s directive=0 220s fi 220s __adsysctl_debug "The completion directive is: ${directive}" 220s __adsysctl_debug "The completions are: ${out}" 220s } 220s 220s __adsysctl_process_completion_results() { 220s local shellCompDirectiveError=1 220s local shellCompDirectiveNoSpace=2 220s local shellCompDirectiveNoFileComp=4 220s local shellCompDirectiveFilterFileExt=8 220s local shellCompDirectiveFilterDirs=16 220s local shellCompDirectiveKeepOrder=32 220s 220s if (((directive & shellCompDirectiveError) != 0)); then 220s # Error code. No completion. 220s __adsysctl_debug "Received error from custom completion go code" 220s return 220s else 220s if (((directive & shellCompDirectiveNoSpace) != 0)); then 220s if [[ $(type -t compopt) == builtin ]]; then 220s __adsysctl_debug "Activating no space" 220s compopt -o nospace 220s else 220s __adsysctl_debug "No space directive not supported in this version of bash" 220s fi 220s fi 220s if (((directive & shellCompDirectiveKeepOrder) != 0)); then 220s if [[ $(type -t compopt) == builtin ]]; then 220s # no sort isn't supported for bash less than < 4.4 220s if [[ ${BASH_VERSINFO[0]} -lt 4 || ( ${BASH_VERSINFO[0]} -eq 4 && ${BASH_VERSINFO[1]} -lt 4 ) ]]; then 220s __adsysctl_debug "No sort directive not supported in this version of bash" 220s else 220s __adsysctl_debug "Activating keep order" 220s compopt -o nosort 220s fi 220s else 220s __adsysctl_debug "No sort directive not supported in this version of bash" 220s fi 220s fi 220s if (((directive & shellCompDirectiveNoFileComp) != 0)); then 220s if [[ $(type -t compopt) == builtin ]]; then 220s __adsysctl_debug "Activating no file completion" 220s compopt +o default 220s else 220s __adsysctl_debug "No file completion directive not supported in this version of bash" 220s fi 220s fi 220s fi 220s 220s # Separate activeHelp from normal completions 220s local completions=() 220s local activeHelp=() 220s __adsysctl_extract_activeHelp 220s 220s if (((directive & shellCompDirectiveFilterFileExt) != 0)); then 220s # File extension filtering 220s local fullFilter="" filter filteringCmd 220s 220s # Do not use quotes around the $completions variable or else newline 220s # characters will be kept. 220s for filter in ${completions[*]}; do 220s fullFilter+="$filter|" 220s done 220s 220s filteringCmd="_filedir $fullFilter" 220s __adsysctl_debug "File filtering command: $filteringCmd" 220s $filteringCmd 220s elif (((directive & shellCompDirectiveFilterDirs) != 0)); then 220s # File completion for directories only 220s 220s local subdir 220s subdir=${completions[0]} 220s if [[ -n $subdir ]]; then 220s __adsysctl_debug "Listing directories in $subdir" 220s pushd "$subdir" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 || return 220s else 220s __adsysctl_debug "Listing directories in ." 220s _filedir -d 220s fi 220s else 220s __adsysctl_handle_completion_types 220s fi 220s 220s __adsysctl_handle_special_char "$cur" : 220s __adsysctl_handle_special_char "$cur" = 220s 220s # Print the activeHelp statements before we finish 220s __adsysctl_handle_activeHelp 220s } 220s 220s __adsysctl_handle_activeHelp() { 220s # Print the activeHelp statements 220s if ((${#activeHelp[*]} != 0)); then 220s if [ -z $COMP_TYPE ]; then 220s # Bash v3 does not set the COMP_TYPE variable. 220s printf "\n"; 220s printf "%s\n" "${activeHelp[@]}" 220s printf "\n" 220s __adsysctl_reprint_commandLine 220s return 220s fi 220s 220s # Only print ActiveHelp on the second TAB press 220s if [ $COMP_TYPE -eq 63 ]; then 220s printf "\n" 220s printf "%s\n" "${activeHelp[@]}" 220s 220s if ((${#COMPREPLY[*]} == 0)); then 220s # When there are no completion choices from the program, file completion 220s # may kick in if the program has not disabled it; in such a case, we want 220s # to know if any files will match what the user typed, so that we know if 220s # there will be completions presented, so that we know how to handle ActiveHelp. 220s # To find out, we actually trigger the file completion ourselves; 220s # the call to _filedir will fill COMPREPLY if files match. 220s if (((directive & shellCompDirectiveNoFileComp) == 0)); then 220s __adsysctl_debug "Listing files" 220s _filedir 220s fi 220s fi 220s 220s if ((${#COMPREPLY[*]} != 0)); then 220s # If there are completion choices to be shown, print a delimiter. 220s # Re-printing the command-line will automatically be done 220s # by the shell when it prints the completion choices. 220s printf -- "--" 220s else 220s # When there are no completion choices at all, we need 220s # to re-print the command-line since the shell will 220s # not be doing it itself. 220s __adsysctl_reprint_commandLine 220s fi 220s elif [ $COMP_TYPE -eq 37 ] || [ $COMP_TYPE -eq 42 ]; then 220s # For completion type: menu-complete/menu-complete-backward and insert-completions 220s # the completions are immediately inserted into the command-line, so we first 220s # print the activeHelp message and reprint the command-line since the shell won't. 220s printf "\n" 220s printf "%s\n" "${activeHelp[@]}" 220s 220s __adsysctl_reprint_commandLine 220s fi 220s fi 220s } 220s 220s __adsysctl_reprint_commandLine() { 220s # The prompt format is only available from bash 4.4. 220s # We test if it is available before using it. 220s if (x=${PS1@P}) 2> /dev/null; then 220s printf "%s" "${PS1@P}${COMP_LINE[@]}" 220s else 220s # Can't print the prompt. Just print the 220s # text the user had typed, it is workable enough. 220s printf "%s" "${COMP_LINE[@]}" 220s fi 220s } 220s 220s # Separate activeHelp lines from real completions. 220s # Fills the $activeHelp and $completions arrays. 220s __adsysctl_extract_activeHelp() { 220s local activeHelpMarker="_activeHelp_ " 220s local endIndex=${#activeHelpMarker} 220s 220s while IFS='' read -r comp; do 220s [[ -z $comp ]] && continue 220s 220s if [[ ${comp:0:endIndex} == $activeHelpMarker ]]; then 220s comp=${comp:endIndex} 220s __adsysctl_debug "ActiveHelp found: $comp" 220s if [[ -n $comp ]]; then 220s activeHelp+=("$comp") 220s fi 220s else 220s # Not an activeHelp line but a normal completion 220s completions+=("$comp") 220s fi 220s done <<<"${out}" 220s } 220s 220s __adsysctl_handle_completion_types() { 220s __adsysctl_debug "__adsysctl_handle_completion_types: COMP_TYPE is $COMP_TYPE" 220s 220s case $COMP_TYPE in 220s 37|42) 220s # Type: menu-complete/menu-complete-backward and insert-completions 220s # If the user requested inserting one completion at a time, or all 220s # completions at once on the command-line we must remove the descriptions. 220s # https://github.com/spf13/cobra/issues/1508 220s 220s # If there are no completions, we don't need to do anything 220s (( ${#completions[@]} == 0 )) && return 0 220s 220s local tab=$'\t' 220s 220s # Strip any description and escape the completion to handled special characters 220s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]%%$tab*}") 220s 220s # Only consider the completions that match 220s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 220s 220s # compgen looses the escaping so we need to escape all completions again since they will 220s # all be inserted on the command-line. 220s IFS=$'\n' read -ra COMPREPLY -d '' < <(printf "%q\n" "${COMPREPLY[@]}") 220s ;; 220s 220s *) 220s # Type: complete (normal completion) 220s __adsysctl_handle_standard_completion_case 220s ;; 220s esac 220s } 220s 220s __adsysctl_handle_standard_completion_case() { 220s local tab=$'\t' 220s 220s # If there are no completions, we don't need to do anything 220s (( ${#completions[@]} == 0 )) && return 0 220s 220s # Short circuit to optimize if we don't have descriptions 220s if [[ "${completions[*]}" != *$tab* ]]; then 220s # First, escape the completions to handle special characters 220s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]}") 220s # Only consider the completions that match what the user typed 220s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 220s 220s # compgen looses the escaping so, if there is only a single completion, we need to 220s # escape it again because it will be inserted on the command-line. If there are multiple 220s # completions, we don't want to escape them because they will be printed in a list 220s # and we don't want to show escape characters in that list. 220s if (( ${#COMPREPLY[@]} == 1 )); then 220s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]}") 220s fi 220s return 0 220s fi 220s 220s local longest=0 220s local compline 220s # Look for the longest completion so that we can format things nicely 220s while IFS='' read -r compline; do 220s [[ -z $compline ]] && continue 220s 220s # Before checking if the completion matches what the user typed, 220s # we need to strip any description and escape the completion to handle special 220s # characters because those escape characters are part of what the user typed. 220s # Don't call "printf" in a sub-shell because it will be much slower 220s # since we are in a loop. 220s printf -v comp "%q" "${compline%%$tab*}" &>/dev/null || comp=$(printf "%q" "${compline%%$tab*}") 220s 220s # Only consider the completions that match 220s [[ $comp == "$cur"* ]] || continue 220s 220s # The completions matches. Add it to the list of full completions including 220s # its description. We don't escape the completion because it may get printed 220s # in a list if there are more than one and we don't want show escape characters 220s # in that list. 220s COMPREPLY+=("$compline") 220s 220s # Strip any description before checking the length, and again, don't escape 220s # the completion because this length is only used when printing the completions 220s # in a list and we don't want show escape characters in that list. 220s comp=${compline%%$tab*} 220s if ((${#comp}>longest)); then 220s longest=${#comp} 220s fi 220s done < <(printf "%s\n" "${completions[@]}") 220s 220s # If there is a single completion left, remove the description text and escape any special characters 220s if ((${#COMPREPLY[*]} == 1)); then 220s __adsysctl_debug "COMPREPLY[0]: ${COMPREPLY[0]}" 220s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]%%$tab*}") 220s __adsysctl_debug "Removed description from single completion, which is now: ${COMPREPLY[0]}" 220s else 220s # Format the descriptions 220s __adsysctl_format_comp_descriptions $longest 220s fi 220s } 220s 220s __adsysctl_handle_special_char() 220s { 220s local comp="$1" 220s local char=$2 220s if [[ "$comp" == *${char}* && "$COMP_WORDBREAKS" == *${char}* ]]; then 220s local word=${comp%"${comp##*${char}}"} 220s local idx=${#COMPREPLY[*]} 220s while ((--idx >= 0)); do 220s COMPREPLY[idx]=${COMPREPLY[idx]#"$word"} 220s done 220s fi 220s } 220s 220s __adsysctl_format_comp_descriptions() 220s { 220s local tab=$'\t' 220s local comp desc maxdesclength 220s local longest=$1 220s 220s local i ci 220s for ci in ${!COMPREPLY[*]}; do 220s comp=${COMPREPLY[ci]} 220s # Properly format the description string which follows a tab character if there is one 220s if [[ "$comp" == *$tab* ]]; then 220s __adsysctl_debug "Original comp: $comp" 220s desc=${comp#*$tab} 220s comp=${comp%%$tab*} 220s 220s # $COLUMNS stores the current shell width. 220s # Remove an extra 4 because we add 2 spaces and 2 parentheses. 220s maxdesclength=$(( COLUMNS - longest - 4 )) 220s 220s # Make sure we can fit a description of at least 8 characters 220s # if we are to align the descriptions. 220s if ((maxdesclength > 8)); then 220s # Add the proper number of spaces to align the descriptions 220s for ((i = ${#comp} ; i < longest ; i++)); do 220s comp+=" " 220s done 220s else 220s # Don't pad the descriptions so we can fit more text after the completion 220s maxdesclength=$(( COLUMNS - ${#comp} - 4 )) 220s fi 220s 220s # If there is enough space for any description text, 220s # truncate the descriptions that are too long for the shell width 220s if ((maxdesclength > 0)); then 220s if ((${#desc} > maxdesclength)); then 220s desc=${desc:0:$(( maxdesclength - 1 ))} 220s desc+="…" 220s fi 220s comp+=" ($desc)" 220s fi 220s COMPREPLY[ci]=$comp 220s __adsysctl_debug "Final comp: $comp" 220s fi 220s done 220s } 220s 220s __start_adsysctl() 220s { 220s local cur prev words cword split 220s 220s COMPREPLY=() 220s 220s # Call _init_completion from the bash-completion package 220s # to prepare the arguments properly 220s if declare -F _init_completion >/dev/null 2>&1; then 220s _init_completion -n =: || return 220s else 220s __adsysctl_init_completion -n =: || return 220s fi 220s 220s __adsysctl_debug 220s __adsysctl_debug "========= starting completion logic ==========" 220s __adsysctl_debug "cur is ${cur}, words[*] is ${words[*]}, #words[@] is ${#words[@]}, cword is $cword" 220s 220s # The user could have moved the cursor backwards on the command-line. 220s # We need to trigger completion from the $cword location, so we need 220s # to truncate the command-line ($words) up to the $cword location. 220s words=("${words[@]:0:$cword+1}") 220s __adsysctl_debug "Truncated words[*]: ${words[*]}," 220s 220s local out directive 220s __adsysctl_get_completion_results 220s __adsysctl_process_completion_results 220s } 220s 220s if [[ $(type -t compopt) = "builtin" ]]; then 220s complete -o default -F __start_adsysctl adsysctl 220s else 220s complete -o default -o nospace -F __start_adsysctl adsysctl 220s fi 220s 220s # ex: ts=4 sw=4 et filetype=sh 220s --- PASS: TestAppCompletion (0.00s) 220s === CONT TestAppCanSigHupAfterExecute 220s # bash completion V2 for adsysctl -*- shell-script -*- 220s 220s __adsysctl_debug() 220s { 220s if [[ -n ${BASH_COMP_DEBUG_FILE-} ]]; then 220s echo "$*" >> "${BASH_COMP_DEBUG_FILE}" 220s fi 220s } 220s 220s # Macs have bash3 for which the bash-completion package doesn't include 220s # _init_completion. This is a minimal version of that function. 220s __adsysctl_init_completion() 220s { 220s COMPREPLY=() 220s _get_comp_words_by_ref "$@" cur prev words cword 220s } 220s 220s # This function calls the adsysctl program to obtain the completion 220s # results and the directive. It fills the 'out' and 'directive' vars. 220s __adsysctl_get_completion_results() { 220s local requestComp lastParam lastChar args 220s 220s # Prepare the command to request completions for the program. 220s # Calling ${words[0]} instead of directly adsysctl allows handling aliases 220s args=("${words[@]:1}") 220s requestComp="${words[0]} __complete ${args[*]}" 220s 220s lastParam=${words[$((${#words[@]}-1))]} 220s lastChar=${lastParam:$((${#lastParam}-1)):1} 220s __adsysctl_debug "lastParam ${lastParam}, lastChar ${lastChar}" 220s 220s if [[ -z ${cur} && ${lastChar} != = ]]; then 220s # If the last parameter is complete (there is a space following it) 220s # We add an extra empty parameter so we can indicate this to the go method. 220s __adsysctl_debug "Adding extra empty parameter" 220s requestComp="${requestComp} ''" 220s fi 220s 220s # When completing a flag with an = (e.g., adsysctl -n=) 220s # bash focuses on the part after the =, so we need to remove 220s # the flag part from $cur 220s if [[ ${cur} == -*=* ]]; then 220s cur="${cur#*=}" 220s fi 220s 220s __adsysctl_debug "Calling ${requestComp}" 220s # Use eval to handle any environment variables and such 220s out=$(eval "${requestComp}" 2>/dev/null) 220s 220s # Extract the directive integer at the very end of the output following a colon (:) 220s directive=${out##*:} 220s # Remove the directive 220s out=${out%:*} 220s if [[ ${directive} == "${out}" ]]; then 220s # There is not directive specified 220s directive=0 220s fi 220s __adsysctl_debug "The completion directive is: ${directive}" 220s __adsysctl_debug "The completions are: ${out}" 220s } 220s 220s __adsysctl_process_completion_results() { 220s local shellCompDirectiveError=1 220s local shellCompDirectiveNoSpace=2 220s local shellCompDirectiveNoFileComp=4 220s local shellCompDirectiveFilterFileExt=8 220s local shellCompDirectiveFilterDirs=16 220s local shellCompDirectiveKeepOrder=32 220s 220s if (((directive & shellCompDirectiveError) != 0)); then 220s # Error code. No completion. 220s __adsysctl_debug "Received error from custom completion go code" 220s return 220s else 220s if (((directive & shellCompDirectiveNoSpace) != 0)); then 220s if [[ $(type -t compopt) == builtin ]]; then 220s __adsysctl_debug "Activating no space" 220s compopt -o nospace 220s else 220s __adsysctl_debug "No space directive not supported in this version of bash" 220s fi 220s fi 220s if (((directive & shellCompDirectiveKeepOrder) != 0)); then 220s if [[ $(type -t compopt) == builtin ]]; then 220s # no sort isn't supported for bash less than < 4.4 220s if [[ ${BASH_VERSINFO[0]} -lt 4 || ( ${BASH_VERSINFO[0]} -eq 4 && ${BASH_VERSINFO[1]} -lt 4 ) ]]; then 220s __adsysctl_debug "No sort directive not supported in this version of bash" 220s else 220s __adsysctl_debug "Activating keep order" 220s compopt -o nosort 220s fi 220s else 220s __adsysctl_debug "No sort directive not supported in this version of bash" 220s fi 220s fi 220s if (((directive & shellCompDirectiveNoFileComp) != 0)); then 220s if [[ $(type -t compopt) == builtin ]]; then 220s __adsysctl_debug "Activating no file completion" 220s compopt +o default 220s else 220s __adsysctl_debug "No file completion directive not supported in this version of bash" 220s fi 220s fi 220s fi 220s 220s # Separate activeHelp from normal completions 220s local completions=() 220s local activeHelp=() 220s __adsysctl_extract_activeHelp 220s 220s if (((directive & shellCompDirectiveFilterFileExt) != 0)); then 220s # File extension filtering 220s local fullFilter="" filter filteringCmd 220s 220s # Do not use quotes around the $completions variable or else newline 220s # characters will be kept. 220s for filter in ${completions[*]}; do 220s fullFilter+="$filter|" 220s done 220s 220s filteringCmd="_filedir $fullFilter" 220s __adsysctl_debug "File filtering command: $filteringCmd" 220s $filteringCmd 220s elif (((directive & shellCompDirectiveFilterDirs) != 0)); then 220s # File completion for directories only 220s 220s local subdir 220s subdir=${completions[0]} 220s if [[ -n $subdir ]]; then 220s __adsysctl_debug "Listing directories in $subdir" 220s pushd "$subdir" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 || return 220s else 220s __adsysctl_debug "Listing directories in ." 220s _filedir -d 220s fi 220s else 220s __adsysctl_handle_completion_types 220s fi 220s 220s __adsysctl_handle_special_char "$cur" : 220s __adsysctl_handle_special_char "$cur" = 220s 220s # Print the activeHelp statements before we finish 220s __adsysctl_handle_activeHelp 220s } 220s 220s __adsysctl_handle_activeHelp() { 220s # Print the activeHelp statements 220s if ((${#activeHelp[*]} != 0)); then 220s if [ -z $COMP_TYPE ]; then 220s # Bash v3 does not set the COMP_TYPE variable. 220s printf "\n"; 220s printf "%s\n" "${activeHelp[@]}" 220s printf "\n" 220s __adsysctl_reprint_commandLine 220s return 220s fi 220s 220s # Only print ActiveHelp on the second TAB press 220s if [ $COMP_TYPE -eq 63 ]; then 220s printf "\n" 220s printf "%s\n" "${activeHelp[@]}" 220s 220s if ((${#COMPREPLY[*]} == 0)); then 220s # When there are no completion choices from the program, file completion 220s # may kick in if the program has not disabled it; in such a case, we want 220s # to know if any files will match what the user typed, so that we know if 220s # there will be completions presented, so that we know how to handle ActiveHelp. 220s # To find out, we actually trigger the file completion ourselves; 220s # the call to _filedir will fill COMPREPLY if files match. 220s if (((directive & shellCompDirectiveNoFileComp) == 0)); then 220s __adsysctl_debug "Listing files" 220s _filedir 220s fi 220s fi 220s 220s if ((${#COMPREPLY[*]} != 0)); then 220s # If there are completion choices to be shown, print a delimiter. 220s # Re-printing the command-line will automatically be done 220s # by the shell when it prints the completion choices. 220s printf -- "--" 220s else 220s # When there are no completion choices at all, we need 220s # to re-print the command-line since the shell will 220s # not be doing it itself. 220s __adsysctl_reprint_commandLine 220s fi 220s elif [ $COMP_TYPE -eq 37 ] || [ $COMP_TYPE -eq 42 ]; then 220s # For completion type: menu-complete/menu-complete-backward and insert-completions 220s # the completions are immediately inserted into the command-line, so we first 220s # print the activeHelp message and reprint the command-line since the shell won't. 220s printf "\n" 220s printf "%s\n" "${activeHelp[@]}" 220s 220s __adsysctl_reprint_commandLine 220s fi 220s fi 220s } 220s 220s __adsysctl_reprint_commandLine() { 220s # The prompt format is only available from bash 4.4. 220s # We test if it is available before using it. 220s if (x=${PS1@P}) 2> /dev/null; then 220s printf "%s" "${PS1@P}${COMP_LINE[@]}" 220s else 220s # Can't print the prompt. Just print the 220s # text the user had typed, it is workable enough. 220s printf "%s" "${COMP_LINE[@]}" 220s fi 220s } 220s 220s # Separate activeHelp lines from real completions. 220s # Fills the $activeHelp and $completions arrays. 220s __adsysctl_extract_activeHelp() { 220s local activeHelpMarker="_activeHelp_ " 220s local endIndex=${#activeHelpMarker} 220s 220s while IFS='' read -r comp; do 220s [[ -z $comp ]] && continue 220s 220s if [[ ${comp:0:endIndex} == $activeHelpMarker ]]; then 220s comp=${comp:endIndex} 220s __adsysctl_debug "ActiveHelp found: $comp" 220s if [[ -n $comp ]]; then 220s activeHelp+=("$comp") 220s fi 220s else 220s # Not an activeHelp line but a normal completion 220s completions+=("$comp") 220s fi 220s done <<<"${out}" 220s } 220s 220s __adsysctl_handle_completion_types() { 220s __adsysctl_debug "__adsysctl_handle_completion_types: COMP_TYPE is $COMP_TYPE" 220s 220s case $COMP_TYPE in 220s 37|42) 220s # Type: menu-complete/menu-complete-backward and insert-completions 220s # If the user requested inserting one completion at a time, or all 220s # completions at once on the command-line we must remove the descriptions. 220s # https://github.com/spf13/cobra/issues/1508 220s 220s # If there are no completions, we don't need to do anything 220s (( ${#completions[@]} == 0 )) && return 0 220s 220s local tab=$'\t' 220s 220s # Strip any description and escape the completion to handled special characters 220s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]%%$tab*}") 220s 220s # Only consider the completions that match 220s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 220s 220s # compgen looses the escaping so we need to escape all completions again since they will 220s # all be inserted on the command-line. 220s IFS=$'\n' read -ra COMPREPLY -d '' < <(printf "%q\n" "${COMPREPLY[@]}") 220s ;; 220s 220s *) 220s # Type: complete (normal completion) 220s __adsysctl_handle_standard_completion_case 220s ;; 220s esac 220s } 220s 220s __adsysctl_handle_standard_completion_case() { 220s local tab=$'\t' 220s 220s # If there are no completions, we don't need to do anything 220s (( ${#completions[@]} == 0 )) && return 0 220s 220s # Short circuit to optimize if we don't have descriptions 220s if [[ "${completions[*]}" != *$tab* ]]; then 220s # First, escape the completions to handle special characters 220s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]}") 220s # Only consider the completions that match what the user typed 220s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 220s 220s # compgen looses the escaping so, if there is only a single completion, we need to 220s # escape it again because it will be inserted on the command-line. If there are multiple 220s # completions, we don't want to escape them because they will be printed in a list 220s # and we don't want to show escape characters in that list. 220s if (( ${#COMPREPLY[@]} == 1 )); then 220s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]}") 220s fi 220s return 0 220s fi 220s 220s local longest=0 220s local compline 220s # Look for the longest completion so that we can format things nicely 220s while IFS='' read -r compline; do 220s [[ -z $compline ]] && continue 220s 220s # Before checking if the completion matches what the user typed, 220s # we need to strip any description and escape the completion to handle special 220s # characters because those escape characters are part of what the user typed. 220s # Don't call "printf" in a sub-shell because it will be much slower 220s # since we are in a loop. 220s printf -v comp "%q" "${compline%%$tab*}" &>/dev/null || comp=$(printf "%q" "${compline%%$tab*}") 220s 220s # Only consider the completions that match 220s [[ $comp == "$cur"* ]] || continue 220s 220s # The completions matches. Add it to the list of full completions including 220s # its description. We don't escape the completion because it may get printed 220s # in a list if there are more than one and we don't want show escape characters 220s # in that list. 220s COMPREPLY+=("$compline") 220s 220s # Strip any description before checking the length, and again, don't escape 220s # the completion because this length is only used when printing the completions 220s # in a list and we don't want show escape characters in that list. 220s comp=${compline%%$tab*} 220s if ((${#comp}>longest)); then 220s longest=${#comp} 220s fi 220s done < <(printf "%s\n" "${completions[@]}") 220s 220s # If there is a single completion left, remove the description text and escape any special characters 220s if ((${#COMPREPLY[*]} == 1)); then 220s __adsysctl_debug "COMPREPLY[0]: ${COMPREPLY[0]}" 220s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]%%$tab*}") 220s __adsysctl_debug "Removed description from single completion, which is now: ${COMPREPLY[0]}" 220s else 220s # Format the descriptions 220s __adsysctl_format_comp_descriptions $longest 220s fi 220s } 220s 220s __adsysctl_handle_special_char() 220s { 220s local comp="$1" 220s local char=$2 220s if [[ "$comp" == *${char}* && "$COMP_WORDBREAKS" == *${char}* ]]; then 220s local word=${comp%"${comp##*${char}}"} 220s local idx=${#COMPREPLY[*]} 220s while ((--idx >= 0)); do 220s COMPREPLY[idx]=${COMPREPLY[idx]#"$word"} 220s done 220s fi 220s } 220s 220s __adsysctl_format_comp_descriptions() 220s { 220s local tab=$'\t' 220s local comp desc maxdesclength 220s local longest=$1 220s 220s local i ci 220s for ci in ${!COMPREPLY[*]}; do 220s comp=${COMPREPLY[ci]} 220s # Properly format the description string which follows a tab character if there is one 220s if [[ "$comp" == *$tab* ]]; then 220s __adsysctl_debug "Original comp: $comp" 220s desc=${comp#*$tab} 220s comp=${comp%%$tab*} 220s 220s # $COLUMNS stores the current shell width. 220s # Remove an extra 4 because we add 2 spaces and 2 parentheses. 220s maxdesclength=$(( COLUMNS - longest - 4 )) 220s 220s # Make sure we can fit a description of at least 8 characters 220s # if we are to align the descriptions. 220s if ((maxdesclength > 8)); then 220s # Add the proper number of spaces to align the descriptions 220s for ((i = ${#comp} ; i < longest ; i++)); do 220s comp+=" " 220s done 220s else 220s # Don't pad the descriptions so we can fit more text after the completion 220s maxdesclength=$(( COLUMNS - ${#comp} - 4 )) 220s fi 220s 220s # If there is enough space for any description text, 220s # truncate the descriptions that are too long for the shell width 220s if ((maxdesclength > 0)); then 220s if ((${#desc} > maxdesclength)); then 220s desc=${desc:0:$(( maxdesclength - 1 ))} 220s desc+="…" 220s fi 220s comp+=" ($desc)" 220s fi 220s COMPREPLY[ci]=$comp 220s __adsysctl_debug "Final comp: $comp" 220s fi 220s done 220s } 220s 220s __start_adsysctl() 220s { 220s local cur prev words cword split 220s 220s COMPREPLY=() 220s 220s # Call _init_completion from the bash-completion package 220s # to prepare the arguments properly 220s if declare -F _init_completion >/dev/null 2>&1; then 220s _init_completion -n =: || return 220s else 220s __adsysctl_init_completion -n =: || return 220s fi 220s 220s __adsysctl_debug 220s __adsysctl_debug "========= starting completion logic ==========" 220s __adsysctl_debug "cur is ${cur}, words[*] is ${words[*]}, #words[@] is ${#words[@]}, cword is $cword" 220s 220s # The user could have moved the cursor backwards on the command-line. 220s # We need to trigger completion from the $cword location, so we need 220s # to truncate the command-line ($words) up to the $cword location. 220s words=("${words[@]:0:$cword+1}") 220s __adsysctl_debug "Truncated words[*]: ${words[*]}," 220s 220s local out directive 220s __adsysctl_get_completion_results 220s __adsysctl_process_completion_results 220s } 220s 220s if [[ $(type -t compopt) = "builtin" ]]; then 220s complete -o default -F __start_adsysctl adsysctl 220s else 220s complete -o default -o nospace -F __start_adsysctl adsysctl 220s fi 220s 220s # ex: ts=4 sw=4 et filetype=sh 220s --- PASS: TestAppCanSigHupAfterExecute (0.00s) 220s === CONT TestAppGetRootCmd 220s Active Directory integration bridging toolset command line tool. 220s 220s Usage: 220s adsysctl COMMAND [flags] 220s adsysctl [command] 220s 220s Available Commands: 220s applied Print last applied GPOs for current or given user/machine 220s completion Generate the autocompletion script for the specified shell 220s doc Documentation 220s help Help about any command 220s policy Policy management 220s service Service management 220s update Updates/Create a policy for current user or given user with its kerberos ticket 220s version Returns version of client and service 220s 220s Flags: 220s -c, --config string use a specific configuration file 220s -h, --help help for adsysctl 220s -s, --socket string socket path to use between daemon and client. Can be overridden by systemd socket activation. (default "/run/adsysd.sock") 220s -t, --timeout int time in seconds before cancelling the client request when the server gives no result. 0 for no timeout. (default 30) 220s -v, --verbose count issue INFO (-v), DEBUG (-vv) or DEBUG with caller (-vvv) output 220s 220s Use "adsysctl [command] --help" for more information about a command. 220s --- PASS: TestAppHelp (0.00s) 220s === CONT TestAppCanSigHupWhenExecute 220s --- PASS: TestAppCanSigHupWhenExecute (0.00s) 220s === CONT TestAppCanQuitWithoutExecute 220s --- PASS: TestAppGetRootCmd (0.00s) 220s --- PASS: TestAppCanQuitWithoutExecute (0.00s) 220s PASS 220s ok github.com/ubuntu/adsys/cmd/adsysd/client 0.118s 225s === RUN TestAppHelp 225s === PAUSE TestAppHelp 225s === RUN TestAppCompletion 225s === PAUSE TestAppCompletion 225s === RUN TestAppVersion 225s --- PASS: TestAppVersion (0.00s) 225s === RUN TestAppNoUsageError 225s === PAUSE TestAppNoUsageError 225s === RUN TestAppUsageError 225s === PAUSE TestAppUsageError 225s === RUN TestAppCanQuitWhenExecute 225s time="2025-10-31T03:51:27Z" level=warning msg="could not get system startup time? Can’t list next refresh: Process org.freedesktop.systemd1 exited with status 1" 225s --- PASS: TestAppCanQuitWhenExecute (0.06s) 225s === RUN TestAppCanQuitAfterExecute 225s time="2025-10-31T03:51:27Z" level=warning msg="could not get system startup time? Can’t list next refresh: Process org.freedesktop.systemd1 exited with status 1" 225s --- PASS: TestAppCanQuitAfterExecute (1.01s) 225s === RUN TestAppCanQuitWithoutExecute 225s === PAUSE TestAppCanQuitWithoutExecute 225s === RUN TestAppRunFailsOnDaemonCreationAndQuit 225s time="2025-10-31T03:51:28Z" level=warning msg="could not get system startup time? Can’t list next refresh: Process org.freedesktop.systemd1 exited with status 1" 225s --- PASS: TestAppRunFailsOnDaemonCreationAndQuit (0.01s) 225s === RUN TestAppRunFailsOnServiceCreationAndQuit 225s --- PASS: TestAppRunFailsOnServiceCreationAndQuit (0.00s) 225s === RUN TestAppCanSigHupWhenExecute 225s time="2025-10-31T03:51:28Z" level=warning msg="could not get system startup time? Can’t list next refresh: Process org.freedesktop.systemd1 exited with status 1" 225s --- PASS: TestAppCanSigHupWhenExecute (0.06s) 225s === RUN TestAppCanSigHupAfterExecute 225s time="2025-10-31T03:51:29Z" level=warning msg="could not get system startup time? Can’t list next refresh: Process org.freedesktop.systemd1 exited with status 1" 225s --- PASS: TestAppCanSigHupAfterExecute (1.01s) 225s === RUN TestAppCanSigHupWithoutExecute 225s --- PASS: TestAppCanSigHupWithoutExecute (0.00s) 225s === RUN TestAppTimeout 225s time="2025-10-31T03:51:30Z" level=warning msg="could not get system startup time? Can’t list next refresh: Process org.freedesktop.systemd1 exited with status 1" 225s --- PASS: TestAppTimeout (1.01s) 225s === RUN TestAppGetRootCmd 225s === PAUSE TestAppGetRootCmd 225s === RUN TestConfigLoad 225s time="2025-10-31T03:51:31Z" level=warning msg="could not get system startup time? Can’t list next refresh: Process org.freedesktop.systemd1 exited with status 1" 225s time="2025-10-31T03:51:31Z" level=info msg="Serving on /tmp/TestConfigLoad3892005239/001/adsys.socket" 225s time="2025-10-31T03:51:31Z" level=info msg="Stopping daemon requested." 225s time="2025-10-31T03:51:31Z" level=info msg="Wait for active requests to close." 225s --- PASS: TestConfigLoad (0.06s) 225s === RUN TestConfigChange 225s time="2025-10-31T03:51:31Z" level=warning msg="could not get system startup time? Can’t list next refresh: Process org.freedesktop.systemd1 exited with status 1" 225s time="2025-10-31T03:51:31Z" level=info msg="Serving on /tmp/TestConfigChange395825248/001/adsys.socket" 225s time="2025-10-31T03:51:31Z" level=info msg="Stopping daemon requested." 225s time="2025-10-31T03:51:31Z" level=info msg="Wait for active requests to close." 225s time="2025-10-31T03:51:31Z" level=debug msg="All connections have now ended." 225s time="2025-10-31T03:51:31Z" level=debug msg=Quitting 225s --- PASS: TestConfigChange (0.16s) 225s === CONT TestAppHelp 225s === CONT TestAppUsageError 225s Active Directory integration bridging toolset daemon. 225s 225s Usage: 225s adsysd COMMAND [flags] 225s adsysd [command] 225s 225s Available Commands: 225s completion Generate the autocompletion script for the specified shell 225s help Help about any command 225s version Returns version of service and exits 225s 225s Flags: 225s --ad-backend string Active Directory authentication backend (default "sssd") 225s --cache-dir string directory where ADSys caches GPOs downloads and policies. (default "/var/cache/adsys") 225s -c, --config string use a specific configuration file 225s --gpo-list-timeout int time in seconds for the GPO list. 0 for no timeout. (default 10) 225s -h, --help help for adsysd 225s --run-dir string directory where ADSys stores transient information erased on reboot. (default "/run/adsys") 225s -s, --socket string socket path to use between daemon and client. Can be overridden by systemd socket activation. (default "/run/adsysd.sock") 225s --sssd.cache-dir string SSSd cache directory (default "/var/lib/sss/db") 225s --sssd.config string SSSd config file path (default "/etc/sssd/sssd.conf") 225s -t, --timeout int time in seconds without activity before the service exists. 0 for no timeout. (default 120) 225s -v, --verbose count issue INFO (-v), DEBUG (-vv) or DEBUG with caller (-vvv) output 225s 225s Use "adsysd [command] --help" for more information about a command. 225s --- PASS: TestAppHelp (0.00s) 225s === CONT TestAppNoUsageError 225s --- PASS: TestAppUsageError (0.00s) 225s === CONT TestAppCompletion 225s # bash completion V2 for adsysd -*- shell-script -*- 225s 225s __adsysd_debug() 225s { 225s if [[ -n ${BASH_COMP_DEBUG_FILE-} ]]; then 225s echo "$*" >> "${BASH_COMP_DEBUG_FILE}" 225s fi 225s } 225s 225s # Macs have bash3 for which the bash-completion package doesn't include 225s # _init_completion. This is a minimal version of that function. 225s __adsysd_init_completion() 225s { 225s COMPREPLY=() 225s _get_comp_words_by_ref "$@" cur prev words cword 225s } 225s 225s # This function calls the adsysd program to obtain the completion 225s # results and the directive. It fills the 'out' and 'directive' vars. 225s __adsysd_get_completion_results() { 225s local requestComp lastParam lastChar args 225s 225s # Prepare the command to request completions for the program. 225s # Calling ${words[0]} instead of directly adsysd allows handling aliases 225s args=("${words[@]:1}") 225s requestComp="${words[0]} __complete ${args[*]}" 225s 225s lastParam=${words[$((${#words[@]}-1))]} 225s lastChar=${lastParam:$((${#lastParam}-1)):1} 225s __adsysd_debug "lastParam ${lastParam}, lastChar ${lastChar}" 225s 225s if [[ -z ${cur} && ${lastChar} != = ]]; then 225s # If the last parameter is complete (there is a space following it) 225s # We add an extra empty parameter so we can indicate this to the go method. 225s __adsysd_debug "Adding extra empty parameter" 225s requestComp="${requestComp} ''" 225s fi 225s 225s # When completing a flag with an = (e.g., adsysd -n=) 225s # bash focuses on the part after the =, so we need to remove 225s # the flag part from $cur 225s if [[ ${cur} == -*=* ]]; then 225s cur="${cur#*=}" 225s fi 225s 225s __adsysd_debug "Calling ${requestComp}" 225s # Use eval to handle any environment variables and such 225s out=$(eval "${requestComp}" 2>/dev/null) 225s 225s # Extract the directive integer at the very end of the output following a colon (:) 225s directive=${out##*:} 225s # Remove the directive 225s out=${out%:*} 225s if [[ ${directive} == "${out}" ]]; then 225s # There is not directive specified 225s directive=0 225s fi 225s __adsysd_debug "The completion directive is: ${directive}" 225s __adsysd_debug "The completions are: ${out}" 225s } 225s 225s __adsysd_process_completion_results() { 225s local shellCompDirectiveError=1 225s local shellCompDirectiveNoSpace=2 225s local shellCompDirectiveNoFileComp=4 225s local shellCompDirectiveFilterFileExt=8 225s local shellCompDirectiveFilterDirs=16 225s local shellCompDirectiveKeepOrder=32 225s 225s if (((directive & shellCompDirectiveError) != 0)); then 225s # Error code. No completion. 225s __adsysd_debug "Received error from custom completion go code" 225s return 225s else 225s if (((directive & shellCompDirectiveNoSpace) != 0)); then 225s if [[ $(type -t compopt) == builtin ]]; then 225s __adsysd_debug "Activating no space" 225s compopt -o nospace 225s else 225s __adsysd_debug "No space directive not supported in this version of bash" 225s fi 225s fi 225s if (((directive & shellCompDirectiveKeepOrder) != 0)); then 225s if [[ $(type -t compopt) == builtin ]]; then 225s # no sort isn't supported for bash less than < 4.4 225s if [[ ${BASH_VERSINFO[0]} -lt 4 || ( ${BASH_VERSINFO[0]} -eq 4 && ${BASH_VERSINFO[1]} -lt 4 ) ]]; then 225s __adsysd_debug "No sort directive not supported in this version of bash" 225s else 225s __adsysd_debug "Activating keep order" 225s compopt -o nosort 225s fi 225s else 225s __adsysd_debug "No sort directive not supported in this version of bash" 225s fi 225s fi 225s if (((directive & shellCompDirectiveNoFileComp) != 0)); then 225s if [[ $(type -t compopt) == builtin ]]; then 225s __adsysd_debug "Activating no file completion" 225s compopt +o default 225s else 225s __adsysd_debug "No file completion directive not supported in this version of bash" 225s fi 225s fi 225s fi 225s 225s # Separate activeHelp from normal completions 225s local completions=() 225s local activeHelp=() 225s __adsysd_extract_activeHelp 225s 225s if (((directive & shellCompDirectiveFilterFileExt) != 0)); then 225s # File extension filtering 225s local fullFilter="" filter filteringCmd 225s 225s # Do not use quotes around the $completions variable or else newline 225s # characters will be kept. 225s for filter in ${completions[*]}; do 225s fullFilter+="$filter|" 225s done 225s 225s filteringCmd="_filedir $fullFilter" 225s __adsysd_debug "File filtering command: $filteringCmd" 225s $filteringCmd 225s elif (((directive & shellCompDirectiveFilterDirs) != 0)); then 225s # File completion for directories only 225s 225s local subdir 225s subdir=${completions[0]} 225s if [[ -n $subdir ]]; then 225s __adsysd_debug "Listing directories in $subdir" 225s pushd "$subdir" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 || return 225s else 225s __adsysd_debug "Listing directories in ." 225s _filedir -d 225s fi 225s else 225s __adsysd_handle_completion_types 225s fi 225s 225s __adsysd_handle_special_char "$cur" : 225s __adsysd_handle_special_char "$cur" = 225s 225s # Print the activeHelp statements before we finish 225s __adsysd_handle_activeHelp 225s } 225s 225s __adsysd_handle_activeHelp() { 225s # Print the activeHelp statements 225s if ((${#activeHelp[*]} != 0)); then 225s if [ -z $COMP_TYPE ]; then 225s # Bash v3 does not set the COMP_TYPE variable. 225s printf "\n"; 225s printf "%s\n" "${activeHelp[@]}" 225s printf "\n" 225s __adsysd_reprint_commandLine 225s return 225s fi 225s 225s # Only print ActiveHelp on the second TAB press 225s if [ $COMP_TYPE -eq 63 ]; then 225s printf "\n" 225s printf "%s\n" "${activeHelp[@]}" 225s 225s if ((${#COMPREPLY[*]} == 0)); then 225s # When there are no completion choices from the program, file completion 225s # may kick in if the program has not disabled it; in such a case, we want 225s # to know if any files will match what the user typed, so that we know if 225s # there will be completions presented, so that we know how to handle ActiveHelp. 225s # To find out, we actually trigger the file completion ourselves; 225s # the call to _filedir will fill COMPREPLY if files match. 225s if (((directive & shellCompDirectiveNoFileComp) == 0)); then 225s __adsysd_debug "Listing files" 225s _filedir 225s fi 225s fi 225s 225s if ((${#COMPREPLY[*]} != 0)); then 225s # If there are completion choices to be shown, print a delimiter. 225s # Re-printing the command-line will automatically be done 225s # by the shell when it prints the completion choices. 225s printf -- "--" 225s else 225s # When there are no completion choices at all, we need 225s # to re-print the command-line since the shell will 225s # not be doing it itself. 225s __adsysd_reprint_commandLine 225s fi 225s elif [ $COMP_TYPE -eq 37 ] || [ $COMP_TYPE -eq 42 ]; then 225s # For completion type: menu-complete/menu-complete-backward and insert-completions 225s # the completions are immediately inserted into the command-line, so we first 225s # print the activeHelp message and reprint the command-line since the shell won't. 225s printf "\n" 225s printf "%s\n" "${activeHelp[@]}" 225s 225s __adsysd_reprint_commandLine 225s fi 225s fi 225s } 225s 225s __adsysd_reprint_commandLine() { 225s # The prompt format is only available from bash 4.4. 225s # We test if it is available before using it. 225s if (x=${PS1@P}) 2> /dev/null; then 225s printf "%s" "${PS1@P}${COMP_LINE[@]}" 225s else 225s # Can't print the prompt. Just print the 225s # text the user had typed, it is workable enough. 225s printf "%s" "${COMP_LINE[@]}" 225s fi 225s } 225s 225s # Separate activeHelp lines from real completions. 225s # Fills the $activeHelp and $completions arrays. 225s __adsysd_extract_activeHelp() { 225s local activeHelpMarker="_activeHelp_ " 225s local endIndex=${#activeHelpMarker} 225s 225s while IFS='' read -r comp; do 225s [[ -z $comp ]] && continue 225s 225s if [[ ${comp:0:endIndex} == $activeHelpMarker ]]; then 225s comp=${comp:endIndex} 225s __adsysd_debug "ActiveHelp found: $comp" 225s if [[ -n $comp ]]; then 225s activeHelp+=("$comp") 225s fi 225s else 225s # Not an activeHelp line but a normal completion 225s completions+=("$comp") 225s fi 225s done <<<"${out}" 225s } 225s 225s __adsysd_handle_completion_types() { 225s __adsysd_debug "__adsysd_handle_completion_types: COMP_TYPE is $COMP_TYPE" 225s 225s case $COMP_TYPE in 225s 37|42) 225s # Type: menu-complete/menu-complete-backward and insert-completions 225s # If the user requested inserting one completion at a time, or all 225s # completions at once on the command-line we must remove the descriptions. 225s # https://github.com/spf13/cobra/issues/1508 225s 225s # If there are no completions, we don't need to do anything 225s (( ${#completions[@]} == 0 )) && return 0 225s 225s local tab=$'\t' 225s 225s # Strip any description and escape the completion to handled special characters 225s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]%%$tab*}") 225s 225s # Only consider the completions that match 225s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 225s 225s # compgen looses the escaping so we need to escape all completions again since they will 225s # all be inserted on the command-line. 225s IFS=$'\n' read -ra COMPREPLY -d '' < <(printf "%q\n" "${COMPREPLY[@]}") 225s ;; 225s 225s *) 225s # Type: complete (normal completion) 225s __adsysd_handle_standard_completion_case 225s ;; 225s esac 225s } 225s 225s __adsysd_handle_standard_completion_case() { 225s local tab=$'\t' 225s 225s # If there are no completions, we don't need to do anything 225s (( ${#completions[@]} == 0 )) && return 0 225s 225s # Short circuit to optimize if we don't have descriptions 225s if [[ "${completions[*]}" != *$tab* ]]; then 225s # First, escape the completions to handle special characters 225s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]}") 225s # Only consider the completions that match what the user typed 225s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 225s 225s # compgen looses the escaping so, if there is only a single completion, we need to 225s # escape it again because it will be inserted on the command-line. If there are multiple 225s # completions, we don't want to escape them because they will be printed in a list 225s # and we don't want to show escape characters in that list. 225s if (( ${#COMPREPLY[@]} == 1 )); then 225s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]}") 225s fi 225s return 0 225s fi 225s 225s local longest=0 225s local compline 225s # Look for the longest completion so that we can format things nicely 225s while IFS='' read -r compline; do 225s [[ -z $compline ]] && continue 225s 225s # Before checking if the completion matches what the user typed, 225s # we need to strip any description and escape the completion to handle special 225s # characters because those escape characters are part of what the user typed. 225s # Don't call "printf" in a sub-shell because it will be much slower 225s # since we are in a loop. 225s printf -v comp "%q" "${compline%%$tab*}" &>/dev/null || comp=$(printf "%q" "${compline%%$tab*}") 225s 225s # Only consider the completions that match 225s [[ $comp == "$cur"* ]] || continue 225s 225s # The completions matches. Add it to the list of full completions including 225s # its description. We don't escape the completion because it may get printed 225s # in a list if there are more than one and we don't want show escape characters 225s # in that list. 225s COMPREPLY+=("$compline") 225s 225s # Strip any description before checking the length, and again, don't escape 225s # the completion because this length is only used when printing the completions 225s # in a list and we don't want show escape characters in that list. 225s comp=${compline%%$tab*} 225s if ((${#comp}>longest)); then 225s longest=${#comp} 225s fi 225s done < <(printf "%s\n" "${completions[@]}") 225s 225s # If there is a single completion left, remove the description text and escape any special characters 225s if ((${#COMPREPLY[*]} == 1)); then 225s __adsysd_debug "COMPREPLY[0]: ${COMPREPLY[0]}" 225s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]%%$tab*}") 225s __adsysd_debug "Removed description from single completion, which is now: ${COMPREPLY[0]}" 225s else 225s # Format the descriptions 225s __adsysd_format_comp_descriptions $longest 225s fi 225s } 225s 225s __adsysd_handle_special_char() 225s { 225s local comp="$1" 225s local char=$2 225s if [[ "$comp" == *${char}* && "$COMP_WORDBREAKS" == *${char}* ]]; then 225s local word=${comp%"${comp##*${char}}"} 225s local idx=${#COMPREPLY[*]} 225s while ((--idx >= 0)); do 225s COMPREPLY[idx]=${COMPREPLY[idx]#"$word"} 225s done 225s fi 225s } 225s 225s __adsysd_format_comp_descriptions() 225s { 225s local tab=$'\t' 225s local comp desc maxdesclength 225s local longest=$1 225s 225s local i ci 225s for ci in ${!COMPREPLY[*]}; do 225s comp=${COMPREPLY[ci]} 225s # Properly format the description string which follows a tab character if there is one 225s if [[ "$comp" == *$tab* ]]; then 225s __adsysd_debug "Original comp: $comp" 225s desc=${comp#*$tab} 225s comp=${comp%%$tab*} 225s 225s # $COLUMNS stores the current shell width. 225s # Remove an extra 4 because we add 2 spaces and 2 parentheses. 225s maxdesclength=$(( COLUMNS - longest - 4 )) 225s 225s # Make sure we can fit a description of at least 8 characters 225s # if we are to align the descriptions. 225s if ((maxdesclength > 8)); then 225s # Add the proper number of spaces to align the descriptions 225s for ((i = ${#comp} ; i < longest ; i++)); do 225s comp+=" " 225s done 225s else 225s # Don't pad the descriptions so we can fit more text after the completion 225s maxdesclength=$(( COLUMNS - ${#comp} - 4 )) 225s fi 225s 225s # If there is enough space for any description text, 225s # truncate the descriptions that are too long for the shell width 225s if ((maxdesclength > 0)); then 225s if ((${#desc} > maxdesclength)); then 225s desc=${desc:0:$(( maxdesclength - 1 ))} 225s desc+="…" 225s fi 225s comp+=" ($desc)" 225s fi 225s COMPREPLY[ci]=$comp 225s __adsysd_debug "Final comp: $comp" 225s fi 225s done 225s } 225s 225s __start_adsysd() 225s { 225s local cur prev words cword split 225s 225s COMPREPLY=() 225s 225s # Call _init_completion from the bash-completion package 225s # to prepare the arguments properly 225s if declare -F _init_completion >/dev/null 2>&1; then 225s _init_completion -n =: || return 225s else 225s __adsysd_init_completion -n =: || return 225s fi 225s 225s __adsysd_debug 225s __adsysd_debug "========= starting completion logic ==========" 225s __adsysd_debug "cur is ${cur}, words[*] is ${words[*]}, #words[@] is ${#words[@]}, cword is $cword" 225s 225s # The user could have moved the cursor backwards on the command-line. 225s # We need to trigger completion from the $cword location, so we need 225s # to truncate the command-line ($words) up to the $cword location. 225s words=("${words[@]:0:$cword+1}") 225s __adsysd_debug "Truncated words[*]: ${words[*]}," 225s 225s local out directive 225s __adsysd_get_completion_results 225s __adsysd_process_completion_results 225s } 225s 225s if [[ $(type -t compopt) = "builtin" ]]; then 225s complete -o default -F __start_adsysd adsysd 225s else 225s complete -o default -o nospace -F __start_adsysd adsysd 225s fi 225s 225s # ex: ts=4 sw=4 et filetype=sh 225s --- PASS: TestAppNoUsageError (0.00s) 225s === CONT TestAppGetRootCmd 225s --- PASS: TestAppGetRootCmd (0.00s) 225s === CONT TestAppCanQuitWithoutExecute 225s daemon_test.go:104: We need to initialize the daemon first, so this is not possible and will hang forever (ready not closed) 225s --- SKIP: TestAppCanQuitWithoutExecute (0.00s) 225s # bash completion V2 for adsysd -*- shell-script -*- 225s 225s __adsysd_debug() 225s { 225s if [[ -n ${BASH_COMP_DEBUG_FILE-} ]]; then 225s echo "$*" >> "${BASH_COMP_DEBUG_FILE}" 225s fi 225s } 225s 225s # Macs have bash3 for which the bash-completion package doesn't include 225s # _init_completion. This is a minimal version of that function. 225s __adsysd_init_completion() 225s { 225s COMPREPLY=() 225s _get_comp_words_by_ref "$@" cur prev words cword 225s } 225s 225s # This function calls the adsysd program to obtain the completion 225s # results and the directive. It fills the 'out' and 'directive' vars. 225s __adsysd_get_completion_results() { 225s local requestComp lastParam lastChar args 225s 225s # Prepare the command to request completions for the program. 225s # Calling ${words[0]} instead of directly adsysd allows handling aliases 225s args=("${words[@]:1}") 225s requestComp="${words[0]} __complete ${args[*]}" 225s 225s lastParam=${words[$((${#words[@]}-1))]} 225s lastChar=${lastParam:$((${#lastParam}-1)):1} 225s __adsysd_debug "lastParam ${lastParam}, lastChar ${lastChar}" 225s 225s if [[ -z ${cur} && ${lastChar} != = ]]; then 225s # If the last parameter is complete (there is a space following it) 225s # We add an extra empty parameter so we can indicate this to the go method. 225s __adsysd_debug "Adding extra empty parameter" 225s requestComp="${requestComp} ''" 225s fi 225s 225s # When completing a flag with an = (e.g., adsysd -n=) 225s # bash focuses on the part after the =, so we need to remove 225s # the flag part from $cur 225s if [[ ${cur} == -*=* ]]; then 225s cur="${cur#*=}" 225s fi 225s 225s __adsysd_debug "Calling ${requestComp}" 225s # Use eval to handle any environment variables and such 225s out=$(eval "${requestComp}" 2>/dev/null) 225s 225s # Extract the directive integer at the very end of the output following a colon (:) 225s directive=${out##*:} 225s # Remove the directive 225s out=${out%:*} 225s if [[ ${directive} == "${out}" ]]; then 225s # There is not directive specified 225s directive=0 225s fi 225s __adsysd_debug "The completion directive is: ${directive}" 225s __adsysd_debug "The completions are: ${out}" 225s } 225s 225s __adsysd_process_completion_results() { 225s local shellCompDirectiveError=1 225s local shellCompDirectiveNoSpace=2 225s local shellCompDirectiveNoFileComp=4 225s local shellCompDirectiveFilterFileExt=8 225s local shellCompDirectiveFilterDirs=16 225s local shellCompDirectiveKeepOrder=32 225s 225s if (((directive & shellCompDirectiveError) != 0)); then 225s # Error code. No completion. 225s __adsysd_debug "Received error from custom completion go code" 225s return 225s else 225s if (((directive & shellCompDirectiveNoSpace) != 0)); then 225s if [[ $(type -t compopt) == builtin ]]; then 225s __adsysd_debug "Activating no space" 225s compopt -o nospace 225s else 225s __adsysd_debug "No space directive not supported in this version of bash" 225s fi 225s fi 225s if (((directive & shellCompDirectiveKeepOrder) != 0)); then 225s if [[ $(type -t compopt) == builtin ]]; then 225s # no sort isn't supported for bash less than < 4.4 225s if [[ ${BASH_VERSINFO[0]} -lt 4 || ( ${BASH_VERSINFO[0]} -eq 4 && ${BASH_VERSINFO[1]} -lt 4 ) ]]; then 225s __adsysd_debug "No sort directive not supported in this version of bash" 225s else 225s __adsysd_debug "Activating keep order" 225s compopt -o nosort 225s fi 225s else 225s __adsysd_debug "No sort directive not supported in this version of bash" 225s fi 225s fi 225s if (((directive & shellCompDirectiveNoFileComp) != 0)); then 225s if [[ $(type -t compopt) == builtin ]]; then 225s __adsysd_debug "Activating no file completion" 225s compopt +o default 225s else 225s __adsysd_debug "No file completion directive not supported in this version of bash" 225s fi 225s fi 225s fi 225s 225s # Separate activeHelp from normal completions 225s local completions=() 225s local activeHelp=() 225s __adsysd_extract_activeHelp 225s 225s if (((directive & shellCompDirectiveFilterFileExt) != 0)); then 225s # File extension filtering 225s local fullFilter="" filter filteringCmd 225s 225s # Do not use quotes around the $completions variable or else newline 225s # characters will be kept. 225s for filter in ${completions[*]}; do 225s fullFilter+="$filter|" 225s done 225s 225s filteringCmd="_filedir $fullFilter" 225s __adsysd_debug "File filtering command: $filteringCmd" 225s $filteringCmd 225s elif (((directive & shellCompDirectiveFilterDirs) != 0)); then 225s # File completion for directories only 225s 225s local subdir 225s subdir=${completions[0]} 225s if [[ -n $subdir ]]; then 225s __adsysd_debug "Listing directories in $subdir" 225s pushd "$subdir" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 || return 225s else 225s __adsysd_debug "Listing directories in ." 225s _filedir -d 225s fi 225s else 225s __adsysd_handle_completion_types 225s fi 225s 225s __adsysd_handle_special_char "$cur" : 225s __adsysd_handle_special_char "$cur" = 225s 225s # Print the activeHelp statements before we finish 225s __adsysd_handle_activeHelp 225s } 225s 225s __adsysd_handle_activeHelp() { 225s # Print the activeHelp statements 225s if ((${#activeHelp[*]} != 0)); then 225s if [ -z $COMP_TYPE ]; then 225s # Bash v3 does not set the COMP_TYPE variable. 225s printf "\n"; 225s printf "%s\n" "${activeHelp[@]}" 225s printf "\n" 225s __adsysd_reprint_commandLine 225s return 225s fi 225s 225s # Only print ActiveHelp on the second TAB press 225s if [ $COMP_TYPE -eq 63 ]; then 225s printf "\n" 225s printf "%s\n" "${activeHelp[@]}" 225s 225s if ((${#COMPREPLY[*]} == 0)); then 225s # When there are no completion choices from the program, file completion 225s # may kick in if the program has not disabled it; in such a case, we want 225s # to know if any files will match what the user typed, so that we know if 225s # there will be completions presented, so that we know how to handle ActiveHelp. 225s # To find out, we actually trigger the file completion ourselves; 225s # the call to _filedir will fill COMPREPLY if files match. 225s if (((directive & shellCompDirectiveNoFileComp) == 0)); then 225s __adsysd_debug "Listing files" 225s _filedir 225s fi 225s fi 225s 225s if ((${#COMPREPLY[*]} != 0)); then 225s # If there are completion choices to be shown, print a delimiter. 225s # Re-printing the command-line will automatically be done 225s # by the shell when it prints the completion choices. 225s printf -- "--" 225s else 225s # When there are no completion choices at all, we need 225s # to re-print the command-line since the shell will 225s # not be doing it itself. 225s __adsysd_reprint_commandLine 225s fi 225s elif [ $COMP_TYPE -eq 37 ] || [ $COMP_TYPE -eq 42 ]; then 225s # For completion type: menu-complete/menu-complete-backward and insert-completions 225s # the completions are immediately inserted into the command-line, so we first 225s # print the activeHelp message and reprint the command-line since the shell won't. 225s printf "\n" 225s printf "%s\n" "${activeHelp[@]}" 225s 225s __adsysd_reprint_commandLine 225s fi 225s fi 225s } 225s 225s __adsysd_reprint_commandLine() { 225s # The prompt format is only available from bash 4.4. 225s # We test if it is available before using it. 225s if (x=${PS1@P}) 2> /dev/null; then 225s printf "%s" "${PS1@P}${COMP_LINE[@]}" 225s else 225s # Can't print the prompt. Just print the 225s # text the user had typed, it is workable enough. 225s printf "%s" "${COMP_LINE[@]}" 225s fi 225s } 225s 225s # Separate activeHelp lines from real completions. 225s # Fills the $activeHelp and $completions arrays. 225s __adsysd_extract_activeHelp() { 225s local activeHelpMarker="_activeHelp_ " 225s local endIndex=${#activeHelpMarker} 225s 225s while IFS='' read -r comp; do 225s [[ -z $comp ]] && continue 225s 225s if [[ ${comp:0:endIndex} == $activeHelpMarker ]]; then 225s comp=${comp:endIndex} 225s __adsysd_debug "ActiveHelp found: $comp" 225s if [[ -n $comp ]]; then 225s activeHelp+=("$comp") 225s fi 225s else 225s # Not an activeHelp line but a normal completion 225s completions+=("$comp") 225s fi 225s done <<<"${out}" 225s } 225s 225s __adsysd_handle_completion_types() { 225s __adsysd_debug "__adsysd_handle_completion_types: COMP_TYPE is $COMP_TYPE" 225s 225s case $COMP_TYPE in 225s 37|42) 225s # Type: menu-complete/menu-complete-backward and insert-completions 225s # If the user requested inserting one completion at a time, or all 225s # completions at once on the command-line we must remove the descriptions. 225s # https://github.com/spf13/cobra/issues/1508 225s 225s # If there are no completions, we don't need to do anything 225s (( ${#completions[@]} == 0 )) && return 0 225s 225s local tab=$'\t' 225s 225s # Strip any description and escape the completion to handled special characters 225s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]%%$tab*}") 225s 225s # Only consider the completions that match 225s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 225s 225s # compgen looses the escaping so we need to escape all completions again since they will 225s # all be inserted on the command-line. 225s IFS=$'\n' read -ra COMPREPLY -d '' < <(printf "%q\n" "${COMPREPLY[@]}") 225s ;; 225s 225s *) 225s # Type: complete (normal completion) 225s __adsysd_handle_standard_completion_case 225s ;; 225s esac 225s } 225s 225s __adsysd_handle_standard_completion_case() { 225s local tab=$'\t' 225s 225s # If there are no completions, we don't need to do anything 225s (( ${#completions[@]} == 0 )) && return 0 225s 225s # Short circuit to optimize if we don't have descriptions 225s if [[ "${completions[*]}" != *$tab* ]]; then 225s # First, escape the completions to handle special characters 225s IFS=$'\n' read -ra completions -d '' < <(printf "%q\n" "${completions[@]}") 225s # Only consider the completions that match what the user typed 225s IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n'; compgen -W "${completions[*]}" -- "${cur}") 225s 225s # compgen looses the escaping so, if there is only a single completion, we need to 225s # escape it again because it will be inserted on the command-line. If there are multiple 225s # completions, we don't want to escape them because they will be printed in a list 225s # and we don't want to show escape characters in that list. 225s if (( ${#COMPREPLY[@]} == 1 )); then 225s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]}") 225s fi 225s return 0 225s fi 225s 225s local longest=0 225s local compline 225s # Look for the longest completion so that we can format things nicely 225s while IFS='' read -r compline; do 225s [[ -z $compline ]] && continue 225s 225s # Before checking if the completion matches what the user typed, 225s # we need to strip any description and escape the completion to handle special 225s # characters because those escape characters are part of what the user typed. 225s # Don't call "printf" in a sub-shell because it will be much slower 225s # since we are in a loop. 225s printf -v comp "%q" "${compline%%$tab*}" &>/dev/null || comp=$(printf "%q" "${compline%%$tab*}") 225s 225s # Only consider the completions that match 225s [[ $comp == "$cur"* ]] || continue 225s 225s # The completions matches. Add it to the list of full completions including 225s # its description. We don't escape the completion because it may get printed 225s # in a list if there are more than one and we don't want show escape characters 225s # in that list. 225s COMPREPLY+=("$compline") 225s 225s # Strip any description before checking the length, and again, don't escape 225s # the completion because this length is only used when printing the completions 225s # in a list and we don't want show escape characters in that list. 225s comp=${compline%%$tab*} 225s if ((${#comp}>longest)); then 225s longest=${#comp} 225s fi 225s done < <(printf "%s\n" "${completions[@]}") 225s 225s # If there is a single completion left, remove the description text and escape any special characters 225s if ((${#COMPREPLY[*]} == 1)); then 225s __adsysd_debug "COMPREPLY[0]: ${COMPREPLY[0]}" 225s COMPREPLY[0]=$(printf "%q" "${COMPREPLY[0]%%$tab*}") 225s __adsysd_debug "Removed description from single completion, which is now: ${COMPREPLY[0]}" 225s else 225s # Format the descriptions 225s __adsysd_format_comp_descriptions $longest 225s fi 225s } 225s 225s __adsysd_handle_special_char() 225s { 225s local comp="$1" 225s local char=$2 225s if [[ "$comp" == *${char}* && "$COMP_WORDBREAKS" == *${char}* ]]; then 225s local word=${comp%"${comp##*${char}}"} 225s local idx=${#COMPREPLY[*]} 225s while ((--idx >= 0)); do 225s COMPREPLY[idx]=${COMPREPLY[idx]#"$word"} 225s done 225s fi 225s } 225s 225s __adsysd_format_comp_descriptions() 225s { 225s local tab=$'\t' 225s local comp desc maxdesclength 225s local longest=$1 225s 225s local i ci 225s for ci in ${!COMPREPLY[*]}; do 225s comp=${COMPREPLY[ci]} 225s # Properly format the description string which follows a tab character if there is one 225s if [[ "$comp" == *$tab* ]]; then 225s __adsysd_debug "Original comp: $comp" 225s desc=${comp#*$tab} 225s comp=${comp%%$tab*} 225s 225s # $COLUMNS stores the current shell width. 225s # Remove an extra 4 because we add 2 spaces and 2 parentheses. 225s maxdesclength=$(( COLUMNS - longest - 4 )) 225s 225s # Make sure we can fit a description of at least 8 characters 225s # if we are to align the descriptions. 225s if ((maxdesclength > 8)); then 225s # Add the proper number of spaces to align the descriptions 225s for ((i = ${#comp} ; i < longest ; i++)); do 225s comp+=" " 225s done 225s else 225s # Don't pad the descriptions so we can fit more text after the completion 225s maxdesclength=$(( COLUMNS - ${#comp} - 4 )) 225s fi 225s 225s # If there is enough space for any description text, 225s # truncate the descriptions that are too long for the shell width 225s if ((maxdesclength > 0)); then 225s if ((${#desc} > maxdesclength)); then 225s desc=${desc:0:$(( maxdesclength - 1 ))} 225s desc+="…" 225s fi 225s comp+=" ($desc)" 225s fi 225s COMPREPLY[ci]=$comp 225s __adsysd_debug "Final comp: $comp" 225s fi 225s done 225s } 225s 225s __start_adsysd() 225s { 225s local cur prev words cword split 225s 225s COMPREPLY=() 225s 225s # Call _init_completion from the bash-completion package 225s # to prepare the arguments properly 225s if declare -F _init_completion >/dev/null 2>&1; then 225s _init_completion -n =: || return 225s else 225s __adsysd_init_completion -n =: || return 225s fi 225s 225s __adsysd_debug 225s __adsysd_debug "========= starting completion logic ==========" 225s __adsysd_debug "cur is ${cur}, words[*] is ${words[*]}, #words[@] is ${#words[@]}, cword is $cword" 225s 225s # The user could have moved the cursor backwards on the command-line. 225s # We need to trigger completion from the $cword location, so we need 225s # to truncate the command-line ($words) up to the $cword location. 225s words=("${words[@]:0:$cword+1}") 225s __adsysd_debug "Truncated words[*]: ${words[*]}," 225s 225s local out directive 225s __adsysd_get_completion_results 225s __adsysd_process_completion_results 225s } 225s 225s if [[ $(type -t compopt) = "builtin" ]]; then 225s complete -o default -F __start_adsysd adsysd 225s else 225s complete -o default -o nospace -F __start_adsysd adsysd 225s fi 225s 225s # ex: ts=4 sw=4 et filetype=sh 225s --- PASS: TestAppCompletion (0.00s) 225s PASS 225s ok github.com/ubuntu/adsys/cmd/adsysd/daemon 3.451s 225s Integration tests skipped as requested 225s ok github.com/ubuntu/adsys/cmd/adsysd/integration_tests 0.075s 225s ? github.com/ubuntu/adsys/cmd/adwatchd/commands [no test files] 226s ? github.com/ubuntu/adsys/docs [no test files] 226s === RUN TestRun 226s === RUN TestRun/Run_and_usage_error_only_does_not_fail 226s === RUN TestRun/Send_SIGINT_exits 226s === RUN TestRun/Send_SIGTERM_exits 226s === RUN TestRun/Run_and_exit_successfully 226s === RUN TestRun/Run_and_return_error 226s ERROR Error requested 226s === RUN TestRun/Run_and_return_usage_error 226s ERROR Error requested 226s --- PASS: TestRun (0.61s) 226s --- PASS: TestRun/Run_and_usage_error_only_does_not_fail (0.10s) 226s --- PASS: TestRun/Send_SIGINT_exits (0.10s) 226s --- PASS: TestRun/Send_SIGTERM_exits (0.10s) 226s --- PASS: TestRun/Run_and_exit_successfully (0.10s) 226s --- PASS: TestRun/Run_and_return_error (0.10s) 226s --- PASS: TestRun/Run_and_return_usage_error (0.10s) 226s === RUN TestMainApp 226s --- PASS: TestMainApp (0.62s) 226s PASS 226s ok github.com/ubuntu/adsys/cmd/adwatchd 1.232s 226s Test has to be run as root, skipping... 226s ok github.com/ubuntu/adsys/cmd/adwatchd/integration_tests 0.007s 226s ? github.com/ubuntu/adsys/e2e/cmd/build_base_image/00_check_vm_image [no test files] 228s ? github.com/ubuntu/adsys/e2e/cmd/build_base_image/01_prepare_base_vm [no test files] 228s ? github.com/ubuntu/adsys/e2e/cmd/build_base_image/02_create_vm_template [no test files] 228s ? github.com/ubuntu/adsys/e2e/cmd/build_base_image/99_destroy_previous_versions [no test files] 228s ? github.com/ubuntu/adsys/e2e/cmd/run_tests/00_build_adsys_deb [no test files] 229s ? github.com/ubuntu/adsys/e2e/cmd/run_tests/01_provision_client [no test files] 229s ? github.com/ubuntu/adsys/e2e/cmd/run_tests/02_provision_ad [no test files] 229s ? github.com/ubuntu/adsys/e2e/cmd/run_tests/03_pam_coverage_support [no test files] 229s ? github.com/ubuntu/adsys/e2e/cmd/run_tests/10_test_non_pro_managers [no test files] 229s ? github.com/ubuntu/adsys/e2e/cmd/run_tests/11_test_pro_managers [no test files] 229s ? github.com/ubuntu/adsys/e2e/cmd/run_tests/12_test_pam_krb5cc [no test files] 229s ? github.com/ubuntu/adsys/e2e/cmd/run_tests/98_collect_pam_coverage [no test files] 229s ? github.com/ubuntu/adsys/e2e/cmd/run_tests/99_deprovision [no test files] 229s ? github.com/ubuntu/adsys/e2e/internal/az [no test files] 229s ? github.com/ubuntu/adsys/e2e/internal/inventory [no test files] 229s ? github.com/ubuntu/adsys/e2e/internal/remote [no test files] 229s ? github.com/ubuntu/adsys/e2e/scripts [no test files] 229s === RUN TestAddFlags 229s --- PASS: TestAddFlags (0.00s) 229s === RUN TestInventory 229s === RUN TestInventory/To_null_state_doesn't_write_data 229s === RUN TestInventory/Multiple_from_states_requires_at_least_one 229s === RUN TestInventory/Error_if_inventory_file_is_required_and_doesn't_exist 229s time="2025-10-31T03:51:35Z" level=error msg="Failed to read inventory file required by the current script: failed to read inventory file: open /tmp/TestInventoryError_if_inventory_file_is_required_and_doesnt_exist3764532560/001/inventory/inventory.yaml: no such file or directory. Please refer to the previous script in the series" 229s === RUN TestInventory/Error_if_inventory_state_does_not_match_expected_state 229s time="2025-10-31T03:51:35Z" level=error msg="Inventory file is not in any of the expected initial states: [template_created ]" 229s === RUN TestInventory/Error_if_inventory_state_does_not_match_any_expected_state 229s time="2025-10-31T03:51:35Z" level=error msg="Inventory file is not in any of the expected initial states: [template_created ]" 229s === RUN TestInventory/From_null_state_doesn't_require_existing_data 229s === RUN TestInventory/From_existing_state_requires_existing_data 229s --- PASS: TestInventory (0.01s) 229s --- PASS: TestInventory/To_null_state_doesn't_write_data (0.00s) 229s --- PASS: TestInventory/Multiple_from_states_requires_at_least_one (0.00s) 229s --- PASS: TestInventory/Error_if_inventory_file_is_required_and_doesn't_exist (0.00s) 229s --- PASS: TestInventory/Error_if_inventory_state_does_not_match_expected_state (0.00s) 229s --- PASS: TestInventory/Error_if_inventory_state_does_not_match_any_expected_state (0.00s) 229s --- PASS: TestInventory/From_null_state_doesn't_require_existing_data (0.00s) 229s --- PASS: TestInventory/From_existing_state_requires_existing_data (0.00s) 229s === RUN TestExecute 229s === RUN TestExecute/Action_and_validation_succeed 229s === RUN TestExecute/Error_when_action_fails 229s time="2025-10-31T03:51:35Z" level=error msg="requested error" 229s === RUN TestExecute/Error_when_validation_fails 229s time="2025-10-31T03:51:35Z" level=error msg="requested error" 229s === RUN TestExecute/Error_when_both_action_and_validation_fail 229s time="2025-10-31T03:51:35Z" level=error msg="requested error" 229s === RUN TestExecute/Action_succeeds 229s --- PASS: TestExecute (0.01s) 229s --- PASS: TestExecute/Action_and_validation_succeed (0.00s) 229s --- PASS: TestExecute/Error_when_action_fails (0.00s) 229s --- PASS: TestExecute/Error_when_validation_fails (0.00s) 229s --- PASS: TestExecute/Error_when_both_action_and_validation_fail (0.00s) 229s --- PASS: TestExecute/Action_succeeds (0.00s) 229s PASS 229s ok github.com/ubuntu/adsys/e2e/internal/command 0.023s 231s ? github.com/ubuntu/adsys/internal/ad/admxgen/common [no test files] 232s ? github.com/ubuntu/adsys/internal/ad/backends [no test files] 232s ? github.com/ubuntu/adsys/internal/ad/backends/mock [no test files] 239s ? github.com/ubuntu/adsys/internal/adsysservice/actions [no test files] 242s === RUN TestFetch 242s === PAUSE TestFetch 242s === RUN TestFetchWithUnreadableFile 242s === PAUSE TestFetchWithUnreadableFile 242s === RUN TestFetchTweakSysvolCacheDir 242s === PAUSE TestFetchTweakSysvolCacheDir 242s === RUN TestFetchOneGPOWhileParsingItConcurrently 242s === PAUSE TestFetchOneGPOWhileParsingItConcurrently 242s === RUN TestParseGPOConcurrent 242s === PAUSE TestParseGPOConcurrent 242s === RUN TestNew 242s === PAUSE TestNew 242s === RUN TestGetPolicies 242s === PAUSE TestGetPolicies 242s === RUN TestGetPoliciesOffline 242s === PAUSE TestGetPoliciesOffline 242s === RUN TestGetPoliciesWorkflows 242s === PAUSE TestGetPoliciesWorkflows 242s === RUN TestGetPoliciesConcurrently 242s === PAUSE TestGetPoliciesConcurrently 242s === RUN TestListUsers 242s === PAUSE TestListUsers 242s === RUN TestGetInfo 242s === PAUSE TestGetInfo 242s === RUN TestNormalizeTargetName 242s === PAUSE TestNormalizeTargetName 242s === RUN TestMockGPOList 242s --- PASS: TestMockGPOList (0.00s) 242s === RUN TestAdsysGPOList 242s === RUN TestAdsysGPOList/Machine_GPOs 242s === RUN TestAdsysGPOList/Security_descriptor_accepted_is_for_another_user 242s === RUN TestAdsysGPOList/Error_on_machine_with_no_ldap 242s === RUN TestAdsysGPOList/Error_on_invalid_ticket 242s === RUN TestAdsysGPOList/Error_on_dangling_ticket_symlink 242s === RUN TestAdsysGPOList/Error_on_non_existent_account 242s === RUN TestAdsysGPOList/No_GPO_on_OU_-_bytes 242s === RUN TestAdsysGPOList/Filter_user_only_GPOs 242s === RUN TestAdsysGPOList/Filter_machine_only_GPOs 242s === RUN TestAdsysGPOList/Forced_GPO_and_blocked_inheritance 242s === RUN TestAdsysGPOList/Fail_on_security_descriptor_access_failure 242s === RUN TestAdsysGPOList/No_@_in_user_name_returns_the_same_thing 242s === RUN TestAdsysGPOList/Error_on_no_network 242s === RUN TestAdsysGPOList/Error_on_unreachable_ldap_host 242s === RUN TestAdsysGPOList/Return_one_gpo 242s === RUN TestAdsysGPOList/Multiple_GPOs_in_same_OU 242s === RUN TestAdsysGPOList/Security_descriptor_missing_ignores_GPO 242s === RUN TestAdsysGPOList/Long_computer_name,_not_truncated 242s === RUN TestAdsysGPOList/Error_on_ldap_connection_refused 242s === RUN TestAdsysGPOList/Forced_GPO_are_first_by_reverse_order 242s === RUN TestAdsysGPOList/Security_descriptor_access_denied_ignores_GPO 242s === RUN TestAdsysGPOList/No_gPOptions_fallbacks_to_0 242s === RUN TestAdsysGPOList/Error_on_KRB5CCNAME_unset 242s === RUN TestAdsysGPOList/Return_hierarchy 242s === RUN TestAdsysGPOList/Block_inheritance 242s === RUN TestAdsysGPOList/Error_on_computer_requested_but_found_user 242s === RUN TestAdsysGPOList/Error_invalid_GPO_link 242s === RUN TestAdsysGPOList/Disabled_GPOs 242s === RUN TestAdsysGPOList/No_GPO_on_OU_-_string 242s === RUN TestAdsysGPOList/KRB5CCNAME_without_FILE:_is_supported_by_the_samba_bindings 242s === RUN TestAdsysGPOList/Computers_truncated_at_15_characters 242s === RUN TestAdsysGPOList/Error_on_user_requested_but_found_machine 242s --- PASS: TestAdsysGPOList (1.82s) 242s --- PASS: TestAdsysGPOList/Machine_GPOs (0.07s) 242s --- PASS: TestAdsysGPOList/Security_descriptor_accepted_is_for_another_user (0.06s) 242s --- PASS: TestAdsysGPOList/Error_on_machine_with_no_ldap (0.06s) 242s --- PASS: TestAdsysGPOList/Error_on_invalid_ticket (0.04s) 242s --- PASS: TestAdsysGPOList/Error_on_dangling_ticket_symlink (0.05s) 242s --- PASS: TestAdsysGPOList/Error_on_non_existent_account (0.05s) 242s --- PASS: TestAdsysGPOList/No_GPO_on_OU_-_bytes (0.05s) 242s --- PASS: TestAdsysGPOList/Filter_user_only_GPOs (0.04s) 242s --- PASS: TestAdsysGPOList/Filter_machine_only_GPOs (0.06s) 242s --- PASS: TestAdsysGPOList/Forced_GPO_and_blocked_inheritance (0.05s) 242s --- PASS: TestAdsysGPOList/Fail_on_security_descriptor_access_failure (0.05s) 242s --- PASS: TestAdsysGPOList/No_@_in_user_name_returns_the_same_thing (0.05s) 242s --- PASS: TestAdsysGPOList/Error_on_no_network (0.06s) 242s --- PASS: TestAdsysGPOList/Error_on_unreachable_ldap_host (0.07s) 242s --- PASS: TestAdsysGPOList/Return_one_gpo (0.06s) 242s --- PASS: TestAdsysGPOList/Multiple_GPOs_in_same_OU (0.06s) 242s --- PASS: TestAdsysGPOList/Security_descriptor_missing_ignores_GPO (0.05s) 242s --- PASS: TestAdsysGPOList/Long_computer_name,_not_truncated (0.05s) 242s --- PASS: TestAdsysGPOList/Error_on_ldap_connection_refused (0.06s) 242s --- PASS: TestAdsysGPOList/Forced_GPO_are_first_by_reverse_order (0.05s) 242s --- PASS: TestAdsysGPOList/Security_descriptor_access_denied_ignores_GPO (0.05s) 242s --- PASS: TestAdsysGPOList/No_gPOptions_fallbacks_to_0 (0.05s) 242s --- PASS: TestAdsysGPOList/Error_on_KRB5CCNAME_unset (0.06s) 242s --- PASS: TestAdsysGPOList/Return_hierarchy (0.05s) 242s --- PASS: TestAdsysGPOList/Block_inheritance (0.05s) 242s --- PASS: TestAdsysGPOList/Error_on_computer_requested_but_found_user (0.08s) 242s --- PASS: TestAdsysGPOList/Error_invalid_GPO_link (0.07s) 242s --- PASS: TestAdsysGPOList/Disabled_GPOs (0.06s) 242s --- PASS: TestAdsysGPOList/No_GPO_on_OU_-_string (0.06s) 242s --- PASS: TestAdsysGPOList/KRB5CCNAME_without_FILE:_is_supported_by_the_samba_bindings (0.06s) 242s --- PASS: TestAdsysGPOList/Computers_truncated_at_15_characters (0.07s) 242s --- PASS: TestAdsysGPOList/Error_on_user_requested_but_found_machine (0.07s) 242s === RUN TestGetPolicyDefinitions 242s === PAUSE TestGetPolicyDefinitions 242s === RUN TestTicketPath 242s krb5_test.go:23: Running subprocess with [/tmp/go-build2642643390/b566/ad.test -test.testlogfile=/tmp/go-build2642643390/b566/testlog.txt -test.paniconexit0 -test.timeout=10m0s -test.v=true -test.run=TestTicketPath] 242s === RUN TestTicketPath 242s === RUN TestTicketPath/Error_when_initializing_context 242s === RUN TestTicketPath/Error_on_empty_ticket_path 242s === RUN TestTicketPath/Error_on_NULL_ticket_path 242s === RUN TestTicketPath/Error_on_non-FILE_ccache 242s === RUN TestTicketPath/Lookup_is_successful 242s === RUN TestTicketPath/Allow_ccache_without_FILE_identifier 242s === RUN TestTicketPath/Error_when_ccache_not_present_on_disk 242s === RUN TestTicketPath/Error_when_ccache_is_a_directory 242s --- PASS: TestTicketPath (0.01s) 242s --- PASS: TestTicketPath/Error_when_initializing_context (0.00s) 242s --- PASS: TestTicketPath/Error_on_empty_ticket_path (0.00s) 242s --- PASS: TestTicketPath/Error_on_NULL_ticket_path (0.00s) 242s --- PASS: TestTicketPath/Error_on_non-FILE_ccache (0.00s) 242s --- PASS: TestTicketPath/Lookup_is_successful (0.00s) 242s --- PASS: TestTicketPath/Allow_ccache_without_FILE_identifier (0.00s) 242s --- PASS: TestTicketPath/Error_when_ccache_not_present_on_disk (0.00s) 242s --- PASS: TestTicketPath/Error_when_ccache_is_a_directory (0.00s) 242s PASS 242s --- PASS: TestTicketPath (0.30s) 242s === CONT TestFetch 242s === CONT TestGetPoliciesOffline 242s === RUN TestGetPoliciesOffline/Offline,_with_assets 242s === PAUSE TestGetPoliciesOffline/Offline,_with_assets 242s === RUN TestGetPoliciesOffline/Error_on_SSSD_reports_online,_but_we_are_actually_offline_when_fetching_gpo_list,_even_with_a_cache 242s === RUN TestFetch/assets_root_directory_not_present_on_SYSVOL_issues_a_warning_only 242s === PAUSE TestGetPoliciesOffline/Error_on_SSSD_reports_online,_but_we_are_actually_offline_when_fetching_gpo_list,_even_with_a_cache 242s === RUN TestGetPoliciesOffline/Offline,_get_from_cache,_gpo_only 242s === PAUSE TestGetPoliciesOffline/Offline,_get_from_cache,_gpo_only 242s === RUN TestGetPoliciesOffline/Offline,_get_from_cache,_with_assets 242s === PAUSE TestFetch/assets_root_directory_not_present_on_SYSVOL_issues_a_warning_only 242s === PAUSE TestGetPoliciesOffline/Offline,_get_from_cache,_with_assets 242s === RUN TestFetch/two_gpos,_one_already_up_to_date,_one_should_be_refreshed 242s === RUN TestGetPoliciesOffline/Error_offline_with_no_cache 242s === PAUSE TestFetch/two_gpos,_one_already_up_to_date,_one_should_be_refreshed 242s === RUN TestFetch/two_gpos,_one_more_recent,_one_up_to_date 242s === PAUSE TestGetPoliciesOffline/Error_offline_with_no_cache 242s === PAUSE TestFetch/two_gpos,_one_more_recent,_one_up_to_date 242s === RUN TestGetPoliciesOffline/Offline,_ensure_we_fetch_from_cache_and_not_fetch_GPO_list 242s === RUN TestFetch/existing_assets_are_removed_if_not_present_on_SYSVOL 242s === PAUSE TestGetPoliciesOffline/Offline,_ensure_we_fetch_from_cache_and_not_fetch_GPO_list 242s === PAUSE TestFetch/existing_assets_are_removed_if_not_present_on_SYSVOL 242s === CONT TestGetPolicyDefinitions 242s === RUN TestGetPolicyDefinitions/ADMX_and_ADML_does_not_exist_for_this_distro 242s === PAUSE TestGetPolicyDefinitions/ADMX_and_ADML_does_not_exist_for_this_distro 242s === RUN TestGetPolicyDefinitions/Load_ADMX_and_ADML 242s === PAUSE TestGetPolicyDefinitions/Load_ADMX_and_ADML 242s === RUN TestGetPolicyDefinitions/ADMX_and_ADML_does_not_exist_for_this_format 242s === PAUSE TestGetPolicyDefinitions/ADMX_and_ADML_does_not_exist_for_this_format 242s === RUN TestFetch/remote_version_entry_missing_treated_as_0 242s === PAUSE TestFetch/remote_version_entry_missing_treated_as_0 242s === CONT TestNormalizeTargetName 242s === RUN TestFetch/Error_missing_remote_GPT.INI 242s === PAUSE TestFetch/Error_missing_remote_GPT.INI 242s === RUN TestNormalizeTargetName/One_user_without_explicit_domain_suffix 242s === RUN TestFetch/two_gpos,_one_already_up_to_date,_one_new 242s === PAUSE TestNormalizeTargetName/One_user_without_explicit_domain_suffix 242s === RUN TestNormalizeTargetName/Computer_is_left_as_such 242s === PAUSE TestNormalizeTargetName/Computer_is_left_as_such 242s === RUN TestNormalizeTargetName/Computer_in_uppercase_is_left_as_such 242s === PAUSE TestFetch/two_gpos,_one_already_up_to_date,_one_new 242s === PAUSE TestNormalizeTargetName/Computer_in_uppercase_is_left_as_such 242s === RUN TestFetch/Local_gpo_redownloaded_on_missing_GPT.INI 242s === RUN TestNormalizeTargetName/Error_on_no_default_domain_suffix_and_no_fqdn_user 242s === PAUSE TestFetch/Local_gpo_redownloaded_on_missing_GPT.INI 242s === PAUSE TestNormalizeTargetName/Error_on_no_default_domain_suffix_and_no_fqdn_user 242s === RUN TestFetch/assets_are_not_updated_if_version_matches 242s === RUN TestNormalizeTargetName/User_name_matching_computer,_setting_as_user 242s === PAUSE TestNormalizeTargetName/User_name_matching_computer,_setting_as_user 242s === RUN TestNormalizeTargetName/Computer_name_without_objectClass 242s === PAUSE TestNormalizeTargetName/Computer_name_without_objectClass 242s === PAUSE TestFetch/assets_are_not_updated_if_version_matches 242s === RUN TestNormalizeTargetName/One_valid_user_with_domain\user 242s === RUN TestFetch/assets_are_not_updated_if_local_version_matches,_with_non-standard_GPT.INI_casing 242s === PAUSE TestNormalizeTargetName/One_valid_user_with_domain\user 242s === PAUSE TestFetch/assets_are_not_updated_if_local_version_matches,_with_non-standard_GPT.INI_casing 242s === RUN TestNormalizeTargetName/One_valid_user_with_mixed_case 242s === RUN TestFetch/gpos_and_assets 242s === PAUSE TestFetch/gpos_and_assets 242s === PAUSE TestNormalizeTargetName/One_valid_user_with_mixed_case 242s === RUN TestNormalizeTargetName/Computer_with_@_is_left_as_such 242s === RUN TestFetch/concurrent_same_gpos 242s === PAUSE TestNormalizeTargetName/Computer_with_@_is_left_as_such 242s === PAUSE TestFetch/concurrent_same_gpos 242s === RUN TestNormalizeTargetName/Error_on_multiple_\_in_name 242s === PAUSE TestNormalizeTargetName/Error_on_multiple_\_in_name 242s === RUN TestFetch/one_new_gpo 242s === RUN TestNormalizeTargetName/User_name_fqdn_matching_computer 242s === PAUSE TestNormalizeTargetName/User_name_fqdn_matching_computer 242s === PAUSE TestFetch/one_new_gpo 242s === RUN TestNormalizeTargetName/One_valid_user 242s === RUN TestFetch/gpo_is_refreshed 242s === PAUSE TestNormalizeTargetName/One_valid_user 242s === PAUSE TestFetch/gpo_is_refreshed 242s === RUN TestFetch/assets_only_are_downloaded 242s === CONT TestGetInfo 242s === PAUSE TestFetch/assets_only_are_downloaded 242s === RUN TestFetch/concurrent_different_gpos 242s === RUN TestGetInfo/Report_unknown_state_if_IsOnline_calls_fail 242s === PAUSE TestFetch/concurrent_different_gpos 242s === PAUSE TestGetInfo/Report_unknown_state_if_IsOnline_calls_fail 242s === RUN TestGetInfo/Report_unknown_state_if_ServerFQDN_calls_fail 242s === PAUSE TestGetInfo/Report_unknown_state_if_ServerFQDN_calls_fail 242s === RUN TestGetInfo/Info_reported_from_backend,_online 242s === PAUSE TestGetInfo/Info_reported_from_backend,_online 242s === RUN TestGetInfo/Info_reported_from_backend,_offline 242s === PAUSE TestGetInfo/Info_reported_from_backend,_offline 242s === RUN TestFetch/Error_keeps_downloading_other_GPOS 242s === PAUSE TestFetch/Error_keeps_downloading_other_GPOS 242s === CONT TestListUsers 242s === RUN TestFetch/gpo_already_up_to_date 242s === PAUSE TestFetch/gpo_already_up_to_date 242s === RUN TestFetch/Local_gpo_redownloaded_on_version_entry_missing_in_GPT.INI 242s === RUN TestListUsers/Machines_are_ignored,_from_policy_cache 242s === PAUSE TestFetch/Local_gpo_redownloaded_on_version_entry_missing_in_GPT.INI 242s === RUN TestFetch/Error_remote_version_NaN 242s === PAUSE TestListUsers/Machines_are_ignored,_from_policy_cache 242s === RUN TestListUsers/One_user 242s === PAUSE TestFetch/Error_remote_version_NaN 242s === PAUSE TestListUsers/One_user 242s === RUN TestListUsers/Two_users 242s === RUN TestFetch/assets_is_a_file_is_not_downloaded 242s === PAUSE TestFetch/assets_is_a_file_is_not_downloaded 242s === PAUSE TestListUsers/Two_users 242s === RUN TestFetch/two_new_gpos 242s === RUN TestListUsers/None 242s === PAUSE TestFetch/two_new_gpos 242s === PAUSE TestListUsers/None 242s === RUN TestListUsers/Machines_are_ignored 242s === PAUSE TestListUsers/Machines_are_ignored 242s === RUN TestListUsers/Machine_Only 242s === PAUSE TestListUsers/Machine_Only 242s === RUN TestListUsers/Error_on_policy_cache_directory_not_existing 242s === PAUSE TestListUsers/Error_on_policy_cache_directory_not_existing 242s === RUN TestListUsers/Machine_Only,_from_policy_cache 242s === PAUSE TestListUsers/Machine_Only,_from_policy_cache 242s === RUN TestFetch/two_gpos,_one_more_recent,_one_should_be_refreshed 242s === PAUSE TestFetch/two_gpos,_one_more_recent,_one_should_be_refreshed 242s === RUN TestListUsers/Ticket_cache_ignored_if_policy_cache_is_requested 242s === PAUSE TestListUsers/Ticket_cache_ignored_if_policy_cache_is_requested 242s === RUN TestListUsers/Error_on_Krb5_directory_not_existing 242s === PAUSE TestListUsers/Error_on_Krb5_directory_not_existing 242s === RUN TestListUsers/Two_users,_dangling_symlink_for_one 242s === PAUSE TestListUsers/Two_users,_dangling_symlink_for_one 242s === RUN TestListUsers/One_user,_from_policy_cache 242s === PAUSE TestListUsers/One_user,_from_policy_cache 242s === RUN TestFetch/existing_assets_are_kept_if_no_assets_downloadable_provided 242s === RUN TestListUsers/Two_users,_from_policy_cache 242s === PAUSE TestListUsers/Two_users,_from_policy_cache 242s === PAUSE TestFetch/existing_assets_are_kept_if_no_assets_downloadable_provided 242s === RUN TestListUsers/None,_from_policy_cache 242s === PAUSE TestListUsers/None,_from_policy_cache 242s === RUN TestFetch/Error_unexistant_remote_gpo 242s === PAUSE TestFetch/Error_unexistant_remote_gpo 242s === CONT TestGetPoliciesConcurrently 242s === RUN TestFetch/local_gpo_is_more_recent_than_AD_one 242s === PAUSE TestFetch/local_gpo_is_more_recent_than_AD_one 242s === RUN TestFetch/Local_gpo_redownloaded_on_NaN_version_in_GPT.INI 242s === PAUSE TestFetch/Local_gpo_redownloaded_on_NaN_version_in_GPT.INI 242s === RUN TestFetch/assets_are_not_updated_if_remote_version_matches,_with_non-standard_GPT.INI_casing 242s === PAUSE TestFetch/assets_are_not_updated_if_remote_version_matches,_with_non-standard_GPT.INI_casing 242s === RUN TestFetch/two_gpos,_one_should_be_refreshed,_one_new 242s === PAUSE TestFetch/two_gpos,_one_should_be_refreshed,_one_new 242s === RUN TestFetch/two_gpos,_one_more_recent,_one_new 242s === PAUSE TestFetch/two_gpos,_one_more_recent,_one_new 242s === RUN TestFetch/keep_existing_gpos_intact 242s === PAUSE TestFetch/keep_existing_gpos_intact 242s === RUN TestFetch/assets_are_updated_to_latest_version 242s === PAUSE TestFetch/assets_are_updated_to_latest_version 242s === CONT TestGetPoliciesWorkflows 242s === RUN TestGetPoliciesConcurrently/Machine_requested_twice_at_the_same_time 242s === PAUSE TestGetPoliciesConcurrently/Machine_requested_twice_at_the_same_time 242s === RUN TestGetPoliciesWorkflows/Second_call_is_a_refresh_(without_Krb5CCName_specified) 242s === PAUSE TestGetPoliciesWorkflows/Second_call_is_a_refresh_(without_Krb5CCName_specified) 242s === RUN TestGetPoliciesWorkflows/Second_call_after_a_relogin 242s === PAUSE TestGetPoliciesWorkflows/Second_call_after_a_relogin 242s === RUN TestGetPoliciesConcurrently/Same_user,_same_GPO 242s === RUN TestGetPoliciesWorkflows/Second_call_without_Krb5CCName_refreshes_ticket_copy_if_needed 242s === PAUSE TestGetPoliciesWorkflows/Second_call_without_Krb5CCName_refreshes_ticket_copy_if_needed 242s === RUN TestGetPoliciesWorkflows/Second_call_without_Krb5CCName_replaces_previous_symlinks_in_the_original_path 242s === PAUSE TestGetPoliciesWorkflows/Second_call_without_Krb5CCName_replaces_previous_symlinks_in_the_original_path 242s === RUN TestGetPoliciesWorkflows/Second_machine_call_after_a_restart 242s === PAUSE TestGetPoliciesWorkflows/Second_machine_call_after_a_restart 242s === RUN TestGetPoliciesWorkflows/Second_call_after_service_restarted 242s === PAUSE TestGetPoliciesWorkflows/Second_call_after_service_restarted 242s === RUN TestGetPoliciesWorkflows/Second_call_with_different_user 242s === PAUSE TestGetPoliciesWorkflows/Second_call_with_different_user 242s === RUN TestGetPoliciesWorkflows/Second_machine_call_is_a_refresh_(without_Krb5CCName_specified) 242s === PAUSE TestGetPoliciesWorkflows/Second_machine_call_is_a_refresh_(without_Krb5CCName_specified) 242s === RUN TestGetPoliciesWorkflows/Second_machine_call_after_service_restarted 242s === PAUSE TestGetPoliciesWorkflows/Second_machine_call_after_service_restarted 242s === CONT TestParseGPOConcurrent 242s === PAUSE TestGetPoliciesConcurrently/Same_user,_same_GPO 242s === RUN TestGetPoliciesConcurrently/Different_users,_same_GPO 242s === PAUSE TestGetPoliciesConcurrently/Different_users,_same_GPO 242s === RUN TestGetPoliciesConcurrently/Different_users,_different_GPO 242s === PAUSE TestGetPoliciesConcurrently/Different_users,_different_GPO 242s === RUN TestGetPoliciesConcurrently/One_machine,_one_user 242s === PAUSE TestGetPoliciesConcurrently/One_machine,_one_user 242s === CONT TestGetPolicies 242s === RUN TestGetPolicies/Disable_override_for_matching_release,_other_releases_override_ignored 242s === PAUSE TestGetPolicies/Disable_override_for_matching_release,_other_releases_override_ignored 242s === RUN TestGetPolicies/Two_policies,_no_overrides 242s === PAUSE TestGetPolicies/Two_policies,_no_overrides 242s === RUN TestGetPolicies/Standard_policy,_computer_object 242s === PAUSE TestGetPolicies/Standard_policy,_computer_object 242s === RUN TestGetPolicies/Standard_policy_with_assets,_existing_assets_are_reattached_if_not_refreshed 242s === PAUSE TestGetPolicies/Standard_policy_with_assets,_existing_assets_are_reattached_if_not_refreshed 242s === RUN TestGetPolicies/Disabled_override 242s === PAUSE TestGetPolicies/Disabled_override 242s === RUN TestGetPolicies/Disabled_value_is_overridden 242s === PAUSE TestGetPolicies/Disabled_value_is_overridden 242s === RUN TestGetPolicies/Computer_policy_Registry.pol_is_mixed_case 242s === PAUSE TestGetPolicies/Computer_policy_Registry.pol_is_mixed_case 242s === RUN TestGetPolicies/Unexisting_CC_original_file_for_user 242s === PAUSE TestGetPolicies/Unexisting_CC_original_file_for_user 242s === RUN TestGetPolicies/Unexisting_CC_original_file_for_machine 242s === PAUSE TestGetPolicies/Unexisting_CC_original_file_for_machine 242s === RUN TestGetPolicies/Two_policies,_with_reversed_overrides 242s === PAUSE TestGetPolicies/Two_policies,_with_reversed_overrides 242s === RUN TestGetPolicies/Disabled_value_overrides_non_disabled_one 242s === PAUSE TestGetPolicies/Disabled_value_overrides_non_disabled_one 242s === RUN TestGetPolicies/Include_non_Ubuntu_keys_used_to_configure_certificate_autoenrollment 242s === PAUSE TestGetPolicies/Include_non_Ubuntu_keys_used_to_configure_certificate_autoenrollment 242s === RUN TestGetPolicies/Ignore_errors_on_non_Ubuntu_keys 242s === PAUSE TestGetPolicies/Ignore_errors_on_non_Ubuntu_keys 242s === RUN TestGetPolicies/Without_previous_call,_needs_userKrb5CCBaseName 242s === PAUSE TestGetPolicies/Without_previous_call,_needs_userKrb5CCBaseName 242s === RUN TestGetPolicies/Policy_can’t_be_downloaded 242s === PAUSE TestGetPolicies/Policy_can’t_be_downloaded 242s === RUN TestGetPolicies/Symlinks_can’t_be_created 242s === PAUSE TestGetPolicies/Symlinks_can’t_be_created 242s === RUN TestGetPolicies/Unsupported_type_for_unfiltered_entry 242s === PAUSE TestGetPolicies/Unsupported_type_for_unfiltered_entry 242s === RUN TestGetPolicies/Assets_can’t_be_downloaded_without_GPO 242s === PAUSE TestGetPolicies/Assets_can’t_be_downloaded_without_GPO 242s === RUN TestGetPolicies/User_policy_Registry.pol_is_lower_case 242s === PAUSE TestGetPolicies/User_policy_Registry.pol_is_lower_case 242s === RUN TestGetPolicies/Computer_policy_Registry.pol_is_lower_case 242s === PAUSE TestGetPolicies/Computer_policy_Registry.pol_is_lower_case 242s === RUN TestGetPolicies/User_policy_Registry.pol_is_mixed_case 242s === PAUSE TestGetPolicies/User_policy_Registry.pol_is_mixed_case 242s === RUN TestGetPolicies/Error_on_backend_IsOnline_call_failed 242s === PAUSE TestGetPolicies/Error_on_backend_IsOnline_call_failed 242s === RUN TestGetPolicies/Policy_user_directory_is_uppercase 242s === PAUSE TestGetPolicies/Policy_user_directory_is_uppercase 242s === RUN TestGetPolicies/Policy_user_directory_is_not_capitalized_or_uppercase,_no_rules_are_parsed 242s === PAUSE TestGetPolicies/Policy_user_directory_is_not_capitalized_or_uppercase,_no_rules_are_parsed 242s === RUN TestGetPolicies/Policy_machine_directory_is_not_capitalized_or_uppercase,_no_rules_are_parsed 242s === PAUSE TestGetPolicies/Policy_machine_directory_is_not_capitalized_or_uppercase,_no_rules_are_parsed 242s === RUN TestGetPolicies/Standard_policy,_user_object 242s === PAUSE TestGetPolicies/Standard_policy,_user_object 242s === RUN TestGetPolicies/Enabled_override_for_matching_release,_other_releases_override_ignored 242s === PAUSE TestGetPolicies/Enabled_override_for_matching_release,_other_releases_override_ignored 242s === RUN TestGetPolicies/Same_key_in_different_domains_are_kept_separated 242s === PAUSE TestGetPolicies/Same_key_in_different_domains_are_kept_separated 242s === RUN TestGetPolicies/More_policies,_with_multiple_overrides 242s === PAUSE TestGetPolicies/More_policies,_with_multiple_overrides 242s === RUN TestGetPolicies/Filter_non_Ubuntu_keys 242s === PAUSE TestGetPolicies/Filter_non_Ubuntu_keys 242s === RUN TestGetPolicies/Machine_doesn’t_match 242s === PAUSE TestGetPolicies/Machine_doesn’t_match 242s === RUN TestGetPolicies/Error_on_backend_HostKrb5CCName_call_failed 242s === PAUSE TestGetPolicies/Error_on_backend_HostKrb5CCName_call_failed 242s === RUN TestGetPolicies/User_only_policy,_computer_object,_policy_is_empty 242s === PAUSE TestGetPolicies/User_only_policy,_computer_object,_policy_is_empty 242s === RUN TestGetPolicies/Local_assets_and_its_db_are_removed_if_not_present_anymore_on_AD_sysvol 242s === PAUSE TestGetPolicies/Local_assets_and_its_db_are_removed_if_not_present_anymore_on_AD_sysvol 242s === RUN TestGetPolicies/Multiple_domains,_same_GPO 242s === PAUSE TestGetPolicies/Multiple_domains,_same_GPO 242s === RUN TestGetPolicies/Two_policies,_with_overrides 242s === PAUSE TestGetPolicies/Two_policies,_with_overrides 242s === RUN TestGetPolicies/User_only_policy,_user_object 242s === PAUSE TestGetPolicies/User_only_policy,_user_object 242s === RUN TestGetPolicies/Computer_only_policy,_user_object,_policy_is_empty 242s === PAUSE TestGetPolicies/Computer_only_policy,_user_object,_policy_is_empty 242s === RUN TestGetPolicies/No_override_for_this_release,_takes_default_value 242s === PAUSE TestGetPolicies/No_override_for_this_release,_takes_default_value 242s === RUN TestGetPolicies/Policy_machine_directory_is_uppercase 242s === PAUSE TestGetPolicies/Policy_machine_directory_is_uppercase 242s === RUN TestGetPolicies/Error_on_user_without_@_in_name 242s === PAUSE TestGetPolicies/Error_on_user_without_@_in_name 242s === RUN TestGetPolicies/Error_on_backend_ServerFQDN_call_failed 242s === PAUSE TestGetPolicies/Error_on_backend_ServerFQDN_call_failed 242s === RUN TestGetPolicies/Corrupted_policy_file 242s === PAUSE TestGetPolicies/Corrupted_policy_file 242s === RUN TestGetPolicies/Empty_value_for_unfiltered_entry 242s === PAUSE TestGetPolicies/Empty_value_for_unfiltered_entry 242s === RUN TestGetPolicies/Standard_policy_with_assets,_downloads_assets 242s === PAUSE TestGetPolicies/Standard_policy_with_assets,_downloads_assets 242s === RUN TestGetPolicies/Assets_directory_being_a_file_cleanup_local_existing_assets_and_its_db 242s === PAUSE TestGetPolicies/Assets_directory_being_a_file_cleanup_local_existing_assets_and_its_db 242s === RUN TestGetPolicies/Enabled_override 242s === PAUSE TestGetPolicies/Enabled_override 242s === RUN TestGetPolicies/Two_policies,_no_overrides,_reversed 242s === PAUSE TestGetPolicies/Two_policies,_no_overrides,_reversed 242s === RUN TestGetPolicies/Two_policies,_no_overrides,_one_is_not_the_same_object_type,_machine_ones_are_empty_when_parsing_user 242s === PAUSE TestGetPolicies/Two_policies,_no_overrides,_one_is_not_the_same_object_type,_machine_ones_are_empty_when_parsing_user 242s === CONT TestNew 242s === RUN TestNew/error_on_backend_ServerFQDN_random_failure 242s === PAUSE TestNew/error_on_backend_ServerFQDN_random_failure 242s === RUN TestNew/create_KRB5_and_Sysvol_cache_directory 242s === PAUSE TestNew/create_KRB5_and_Sysvol_cache_directory 242s === RUN TestNew/failed_to_create_KRB5_cache_directory 242s === PAUSE TestNew/failed_to_create_KRB5_cache_directory 242s === RUN TestNew/failed_to_create_Sysvol_cache_directory 242s === PAUSE TestNew/failed_to_create_Sysvol_cache_directory 242s === RUN TestNew/failed_to_create_Policies_cache_directory 242s === PAUSE TestNew/failed_to_create_Policies_cache_directory 242s === RUN TestNew/no_active_server_in_backend_does_not_fail_ad_creation 242s === PAUSE TestNew/no_active_server_in_backend_does_not_fail_ad_creation 242s === CONT TestFetchTweakSysvolCacheDir 242s === RUN TestFetchTweakSysvolCacheDir/SysvolCacheDir_doesn't_exist 242s === PAUSE TestFetchTweakSysvolCacheDir/SysvolCacheDir_doesn't_exist 242s === RUN TestFetchTweakSysvolCacheDir/SysvolCacheDir_is_read_only 242s === PAUSE TestFetchTweakSysvolCacheDir/SysvolCacheDir_is_read_only 242s === CONT TestFetchOneGPOWhileParsingItConcurrently 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:39Z" level=info msg="Downloading \"standard-name\"" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:39Z" level=info msg="Downloading \"standard-name\"" 242s --- PASS: TestFetchOneGPOWhileParsingItConcurrently (0.06s) 242s === CONT TestFetchWithUnreadableFile 242s === RUN TestFetchWithUnreadableFile/without_gpo_initially_don’t_commit_new_partial_GPO 242s === PAUSE TestFetchWithUnreadableFile/without_gpo_initially_don’t_commit_new_partial_GPO 242s === RUN TestFetchWithUnreadableFile/existing_gpo_is_preserved 242s === PAUSE TestFetchWithUnreadableFile/existing_gpo_is_preserved 242s === CONT TestGetPoliciesOffline/Offline,_with_assets 242s --- PASS: TestParseGPOConcurrent (0.36s) 242s === CONT TestGetPoliciesOffline/Offline,_ensure_we_fetch_from_cache_and_not_fetch_GPO_list 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:40Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s time="2025-10-31T03:51:40Z" level=info msg="Downloading \"standard-name\"" 242s time="2025-10-31T03:51:40Z" level=info msg="Downloading \"standard-name\"" 242s time="2025-10-31T03:51:40Z" level=info msg="Downloading \"assets\"" 242s time="2025-10-31T03:51:40Z" level=info msg="Can't reach AD: machine is offline and \"useroffline@GPOONLY.COM\" policies are applied using previous online update" 242s === CONT TestGetPoliciesOffline/Error_offline_with_no_cache 242s === CONT TestGetPoliciesOffline/Offline,_get_from_cache,_with_assets 242s time="2025-10-31T03:51:40Z" level=info msg="Can't reach AD: machine is offline and \"useroffline@ASSETSANDGPO.COM\" policies are applied using previous online update" 242s === CONT TestGetPoliciesOffline/Offline,_get_from_cache,_gpo_only 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:40Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s time="2025-10-31T03:51:40Z" level=info msg="Downloading \"assets\"" 242s time="2025-10-31T03:51:40Z" level=info msg="Downloading \"standard-name\"" 242s time="2025-10-31T03:51:40Z" level=info msg="Downloading \"standard-name\"" 242s time="2025-10-31T03:51:40Z" level=info msg="Can't reach AD: machine is offline and \"useroffline@GPOONLY.COM\" policies are applied using previous online update" 242s === CONT TestGetPoliciesOffline/Error_on_SSSD_reports_online,_but_we_are_actually_offline_when_fetching_gpo_list,_even_with_a_cache 242s time="2025-10-31T03:51:40Z" level=info msg="Can't reach AD: machine is offline and \"useroffline@ASSETSANDGPO.COM\" policies are applied using previous online update" 242s === CONT TestGetPolicyDefinitions/ADMX_and_ADML_does_not_exist_for_this_distro 242s === CONT TestGetPolicyDefinitions/ADMX_and_ADML_does_not_exist_for_this_format 242s === CONT TestGetPolicyDefinitions/Load_ADMX_and_ADML 242s --- PASS: TestGetPolicyDefinitions (0.00s) 242s --- PASS: TestGetPolicyDefinitions/ADMX_and_ADML_does_not_exist_for_this_distro (0.00s) 242s --- PASS: TestGetPolicyDefinitions/ADMX_and_ADML_does_not_exist_for_this_format (0.00s) 242s --- PASS: TestGetPolicyDefinitions/Load_ADMX_and_ADML (0.00s) 242s === CONT TestNormalizeTargetName/One_user_without_explicit_domain_suffix 242s === CONT TestNormalizeTargetName/One_valid_user_with_mixed_case 242s === CONT TestNormalizeTargetName/One_valid_user 242s === CONT TestNormalizeTargetName/User_name_fqdn_matching_computer 242s === CONT TestNormalizeTargetName/Error_on_multiple_\_in_name 242s === CONT TestNormalizeTargetName/Computer_with_@_is_left_as_such 242s === CONT TestNormalizeTargetName/User_name_matching_computer,_setting_as_user 242s === CONT TestNormalizeTargetName/One_valid_user_with_domain\user 242s === CONT TestNormalizeTargetName/Computer_name_without_objectClass 242s === CONT TestNormalizeTargetName/Computer_in_uppercase_is_left_as_such 242s === CONT TestNormalizeTargetName/Error_on_no_default_domain_suffix_and_no_fqdn_user 242s === CONT TestNormalizeTargetName/Computer_is_left_as_such 242s --- PASS: TestNormalizeTargetName (0.00s) 242s --- PASS: TestNormalizeTargetName/One_user_without_explicit_domain_suffix (0.00s) 242s --- PASS: TestNormalizeTargetName/One_valid_user_with_mixed_case (0.00s) 242s --- PASS: TestNormalizeTargetName/One_valid_user (0.00s) 242s --- PASS: TestNormalizeTargetName/User_name_fqdn_matching_computer (0.00s) 242s --- PASS: TestNormalizeTargetName/Error_on_multiple_\_in_name (0.00s) 242s --- PASS: TestNormalizeTargetName/Computer_with_@_is_left_as_such (0.00s) 242s --- PASS: TestNormalizeTargetName/User_name_matching_computer,_setting_as_user (0.00s) 242s --- PASS: TestNormalizeTargetName/One_valid_user_with_domain\user (0.00s) 242s --- PASS: TestNormalizeTargetName/Computer_name_without_objectClass (0.00s) 242s --- PASS: TestNormalizeTargetName/Computer_in_uppercase_is_left_as_such (0.00s) 242s --- PASS: TestNormalizeTargetName/Error_on_no_default_domain_suffix_and_no_fqdn_user (0.00s) 242s --- PASS: TestNormalizeTargetName/Computer_is_left_as_such (0.00s) 242s === CONT TestGetInfo/Report_unknown_state_if_IsOnline_calls_fail 242s time="2025-10-31T03:51:40Z" level=warning msg="IsOnline returned an error" 242s === CONT TestGetInfo/Info_reported_from_backend,_offline 242s === CONT TestGetInfo/Info_reported_from_backend,_online 242s === CONT TestGetInfo/Report_unknown_state_if_ServerFQDN_calls_fail 242s --- PASS: TestGetInfo (0.00s) 242s --- PASS: TestGetInfo/Report_unknown_state_if_IsOnline_calls_fail (0.00s) 242s --- PASS: TestGetInfo/Info_reported_from_backend,_offline (0.00s) 242s --- PASS: TestGetInfo/Info_reported_from_backend,_online (0.00s) 242s --- PASS: TestGetInfo/Report_unknown_state_if_ServerFQDN_calls_fail (0.00s) 242s === CONT TestListUsers/Machines_are_ignored,_from_policy_cache 242s === CONT TestListUsers/None,_from_policy_cache 242s === CONT TestListUsers/Two_users,_from_policy_cache 242s === CONT TestListUsers/One_user,_from_policy_cache 242s === CONT TestListUsers/Two_users,_dangling_symlink_for_one 242s === CONT TestListUsers/Error_on_Krb5_directory_not_existing 242s === CONT TestListUsers/Ticket_cache_ignored_if_policy_cache_is_requested 242s === CONT TestListUsers/Machine_Only,_from_policy_cache 242s === CONT TestListUsers/Error_on_policy_cache_directory_not_existing 242s === CONT TestListUsers/Machine_Only 242s === CONT TestListUsers/Machines_are_ignored 242s === CONT TestListUsers/None 242s === CONT TestListUsers/Two_users 242s === CONT TestListUsers/One_user 242s --- PASS: TestListUsers (0.00s) 242s --- PASS: TestListUsers/Machines_are_ignored,_from_policy_cache (0.00s) 242s --- PASS: TestListUsers/None,_from_policy_cache (0.00s) 242s --- PASS: TestListUsers/Two_users,_from_policy_cache (0.00s) 242s --- PASS: TestListUsers/One_user,_from_policy_cache (0.00s) 242s --- PASS: TestListUsers/Two_users,_dangling_symlink_for_one (0.00s) 242s --- PASS: TestListUsers/Error_on_Krb5_directory_not_existing (0.00s) 242s --- PASS: TestListUsers/Ticket_cache_ignored_if_policy_cache_is_requested (0.00s) 242s --- PASS: TestListUsers/Machine_Only,_from_policy_cache (0.00s) 242s --- PASS: TestListUsers/Error_on_policy_cache_directory_not_existing (0.00s) 242s --- PASS: TestListUsers/Machine_Only (0.00s) 242s --- PASS: TestListUsers/Machines_are_ignored (0.00s) 242s --- PASS: TestListUsers/Two_users (0.00s) 242s --- PASS: TestListUsers/None (0.00s) 242s --- PASS: TestListUsers/One_user (0.00s) 242s === CONT TestFetch/assets_root_directory_not_present_on_SYSVOL_issues_a_warning_only 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:40Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s === CONT TestFetch/Error_keeps_downloading_other_GPOS 242s time="2025-10-31T03:51:40Z" level=info msg="Downloading \"assets\"" 242s time="2025-10-31T03:51:40Z" level=info msg="Downloading \"standard-name\"" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:40Z" level=info msg="Downloading \"gpo2-name\"" 242s === CONT TestFetch/assets_are_updated_to_latest_version 242s --- PASS: TestGetPoliciesOffline (0.00s) 242s --- PASS: TestGetPoliciesOffline/Offline,_ensure_we_fetch_from_cache_and_not_fetch_GPO_list (0.13s) 242s --- PASS: TestGetPoliciesOffline/Error_offline_with_no_cache (0.01s) 242s --- PASS: TestGetPoliciesOffline/Offline,_with_assets (0.45s) 242s --- PASS: TestGetPoliciesOffline/Offline,_get_from_cache,_gpo_only (0.11s) 242s --- PASS: TestGetPoliciesOffline/Offline,_get_from_cache,_with_assets (0.16s) 242s --- PASS: TestGetPoliciesOffline/Error_on_SSSD_reports_online,_but_we_are_actually_offline_when_fetching_gpo_list,_even_with_a_cache (0.21s) 242s === CONT TestFetch/keep_existing_gpos_intact 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:40Z" level=info msg="Downloading \"assets\"" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:40Z" level=info msg="GPO \"gpo1-name\" is already up to date" 242s === CONT TestFetch/two_gpos,_one_more_recent,_one_new 242s === CONT TestFetch/two_gpos,_one_should_be_refreshed,_one_new 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:40Z" level=info msg="GPO \"gpo2-name\" is already up to date" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:40Z" level=info msg="Downloading \"gpo1-name\"" 242s time="2025-10-31T03:51:40Z" level=info msg="Downloading \"gpo2-name\"" 242s time="2025-10-31T03:51:40Z" level=info msg="Downloading \"gpo1-name\"" 242s === CONT TestFetch/assets_are_not_updated_if_remote_version_matches,_with_non-standard_GPT.INI_casing 242s === CONT TestFetch/Local_gpo_redownloaded_on_NaN_version_in_GPT.INI 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:40Z" level=info msg="Assets directory is already up to date" 242s time="2025-10-31T03:51:40Z" level=warning msg="Invalid local GPT.INI for gpo1-name: invalid remote GPT.INI: strconv.ParseInt: parsing \"NaN\": invalid syntax\nDownloading it again…" 242s === CONT TestFetch/local_gpo_is_more_recent_than_AD_one 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:40Z" level=info msg="Downloading \"gpo1-name\"" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:41Z" level=info msg="GPO \"gpo2-name\" is already up to date" 242s === CONT TestFetch/Error_unexistant_remote_gpo 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s === CONT TestFetch/existing_assets_are_kept_if_no_assets_downloadable_provided 242s === CONT TestFetch/two_gpos,_one_more_recent,_one_should_be_refreshed 242s === CONT TestFetch/two_new_gpos 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:41Z" level=info msg="Downloading \"gpo1-name\"" 242s time="2025-10-31T03:51:41Z" level=info msg="GPO \"gpo2-name\" is already up to date" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:41Z" level=info msg="Downloading \"gpo1-name\"" 242s time="2025-10-31T03:51:41Z" level=info msg="Downloading \"gpo2-name\"" 242s === CONT TestFetch/assets_is_a_file_is_not_downloaded 242s === CONT TestFetch/Error_remote_version_NaN 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:41Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s === CONT TestFetch/Local_gpo_redownloaded_on_version_entry_missing_in_GPT.INI 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:41Z" level=info msg="No version key found in GPT.INI for gpo1-name, assuming 0" 242s === CONT TestFetch/gpo_already_up_to_date 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:41Z" level=info msg="Downloading \"gpo1-name\"" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:41Z" level=info msg="GPO \"gpo1-name\" is already up to date" 242s === CONT TestFetch/assets_are_not_updated_if_version_matches 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:41Z" level=info msg="Assets directory is already up to date" 242s === CONT TestFetch/concurrent_different_gpos 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:41Z" level=info msg="Downloading \"gpo2-name\"" 242s === CONT TestFetch/assets_only_are_downloaded 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:41Z" level=info msg="Downloading \"assets\"" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:41Z" level=info msg="Downloading \"gpo1-name\"" 242s === CONT TestFetch/gpo_is_refreshed 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:41Z" level=info msg="Downloading \"gpo1-name\"" 242s === CONT TestFetch/one_new_gpo 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:41Z" level=info msg="Downloading \"gpo1-name\"" 242s === CONT TestFetch/concurrent_same_gpos 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:41Z" level=info msg="Downloading \"gpo1-name\"" 242s === CONT TestFetch/gpos_and_assets 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:41Z" level=info msg="Downloading \"assets\"" 242s time="2025-10-31T03:51:41Z" level=info msg="Downloading \"gpo1-name\"" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:41Z" level=info msg="GPO \"gpo1-name\" is already up to date" 242s === CONT TestFetch/assets_are_not_updated_if_local_version_matches,_with_non-standard_GPT.INI_casing 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:41Z" level=info msg="Assets directory is already up to date" 242s === CONT TestFetch/remote_version_entry_missing_treated_as_0 242s === CONT TestFetch/Local_gpo_redownloaded_on_missing_GPT.INI 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:41Z" level=info msg="No version key found in GPT.INI for gpt_ini_version_missing-name, assuming 0" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:41Z" level=info msg="GPO \"gpt_ini_version_missing-name\" is already up to date" 242s === CONT TestFetch/two_gpos,_one_already_up_to_date,_one_new 242s time="2025-10-31T03:51:41Z" level=info msg="Downloading \"gpo1-name\"" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:41Z" level=info msg="GPO \"gpo1-name\" is already up to date" 242s time="2025-10-31T03:51:41Z" level=info msg="Downloading \"gpo2-name\"" 242s === CONT TestFetch/Error_missing_remote_GPT.INI 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s === CONT TestFetch/two_gpos,_one_more_recent,_one_up_to_date 242s === CONT TestFetch/existing_assets_are_removed_if_not_present_on_SYSVOL 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:41Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s === CONT TestFetch/two_gpos,_one_already_up_to_date,_one_should_be_refreshed 242s time="2025-10-31T03:51:41Z" level=info msg="GPO \"gpo2-name\" is already up to date" 242s time="2025-10-31T03:51:41Z" level=info msg="GPO \"gpo1-name\" is already up to date" 242s === CONT TestGetPoliciesWorkflows/Second_call_is_a_refresh_(without_Krb5CCName_specified) 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:41Z" level=info msg="GPO \"gpo2-name\" is already up to date" 242s time="2025-10-31T03:51:41Z" level=info msg="Downloading \"gpo1-name\"" 242s --- PASS: TestFetch (0.00s) 242s --- PASS: TestFetch/assets_root_directory_not_present_on_SYSVOL_issues_a_warning_only (0.04s) 242s --- PASS: TestFetch/Error_keeps_downloading_other_GPOS (0.07s) 242s --- PASS: TestFetch/keep_existing_gpos_intact (0.04s) 242s --- PASS: TestFetch/assets_are_updated_to_latest_version (0.09s) 242s --- PASS: TestFetch/two_gpos,_one_more_recent,_one_new (0.12s) 242s --- PASS: TestFetch/two_gpos,_one_should_be_refreshed,_one_new (0.12s) 242s --- PASS: TestFetch/assets_are_not_updated_if_remote_version_matches,_with_non-standard_GPT.INI_casing (0.02s) 242s --- PASS: TestFetch/local_gpo_is_more_recent_than_AD_one (0.03s) 242s --- PASS: TestFetch/Error_unexistant_remote_gpo (0.02s) 242s --- PASS: TestFetch/existing_assets_are_kept_if_no_assets_downloadable_provided (0.01s) 242s --- PASS: TestFetch/Local_gpo_redownloaded_on_NaN_version_in_GPT.INI (0.08s) 242s --- PASS: TestFetch/two_new_gpos (0.08s) 242s --- PASS: TestFetch/two_gpos,_one_more_recent,_one_should_be_refreshed (0.10s) 242s --- PASS: TestFetch/assets_is_a_file_is_not_downloaded (0.02s) 242s --- PASS: TestFetch/Error_remote_version_NaN (0.02s) 242s --- PASS: TestFetch/gpo_already_up_to_date (0.04s) 242s --- PASS: TestFetch/assets_are_not_updated_if_version_matches (0.02s) 242s --- PASS: TestFetch/Local_gpo_redownloaded_on_version_entry_missing_in_GPT.INI (0.10s) 242s --- PASS: TestFetch/assets_only_are_downloaded (0.05s) 242s --- PASS: TestFetch/concurrent_different_gpos (0.12s) 242s --- PASS: TestFetch/gpo_is_refreshed (0.07s) 242s --- PASS: TestFetch/one_new_gpo (0.06s) 242s --- PASS: TestFetch/concurrent_same_gpos (0.10s) 242s --- PASS: TestFetch/assets_are_not_updated_if_local_version_matches,_with_non-standard_GPT.INI_casing (0.03s) 242s --- PASS: TestFetch/gpos_and_assets (0.11s) 242s --- PASS: TestFetch/remote_version_entry_missing_treated_as_0 (0.05s) 242s --- PASS: TestFetch/Local_gpo_redownloaded_on_missing_GPT.INI (0.08s) 242s --- PASS: TestFetch/Error_missing_remote_GPT.INI (0.02s) 242s --- PASS: TestFetch/two_gpos,_one_already_up_to_date,_one_new (0.07s) 242s --- PASS: TestFetch/existing_assets_are_removed_if_not_present_on_SYSVOL (0.03s) 242s --- PASS: TestFetch/two_gpos,_one_more_recent,_one_up_to_date (0.05s) 242s --- PASS: TestFetch/two_gpos,_one_already_up_to_date,_one_should_be_refreshed (0.04s) 242s === CONT TestGetPoliciesConcurrently/Machine_requested_twice_at_the_same_time 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:41Z" level=info msg="Downloading \"assets\"" 242s time="2025-10-31T03:51:41Z" level=info msg="Downloading \"standard-name\"" 242s time="2025-10-31T03:51:41Z" level=info msg="Downloading \"standard-name\"" 242s time="2025-10-31T03:51:41Z" level=info msg="Downloading \"assets\"" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:41Z" level=info msg="GPO \"standard-name\" is already up to date" 242s time="2025-10-31T03:51:41Z" level=info msg="Assets directory is already up to date" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s === CONT TestGetPoliciesWorkflows/Second_machine_call_after_service_restarted 242s time="2025-10-31T03:51:41Z" level=info msg="GPO \"standard-name\" is already up to date" 242s time="2025-10-31T03:51:41Z" level=info msg="Assets directory is already up to date" 242s === CONT TestGetPoliciesWorkflows/Second_machine_call_is_a_refresh_(without_Krb5CCName_specified) 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:42Z" level=info msg="Downloading \"assets\"" 242s time="2025-10-31T03:51:42Z" level=info msg="Downloading \"standard-name\"" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:42Z" level=info msg="Downloading \"assets\"" 242s time="2025-10-31T03:51:42Z" level=info msg="Downloading \"standard-name\"" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:42Z" level=info msg="GPO \"standard-name\" is already up to date" 242s time="2025-10-31T03:51:42Z" level=info msg="Assets directory is already up to date" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:42Z" level=info msg="GPO \"standard-name\" is already up to date" 242s time="2025-10-31T03:51:42Z" level=info msg="Assets directory is already up to date" 242s === CONT TestGetPoliciesWorkflows/Second_call_with_different_user 242s === CONT TestGetPoliciesWorkflows/Second_call_after_service_restarted 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:42Z" level=info msg="Downloading \"standard-name\"" 242s time="2025-10-31T03:51:42Z" level=info msg="Downloading \"assets\"" 242s time="2025-10-31T03:51:42Z" level=info msg="Downloading \"assets\"" 242s time="2025-10-31T03:51:42Z" level=info msg="Downloading \"standard-name\"" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:42Z" level=info msg="GPO \"standard-name\" is already up to date" 242s time="2025-10-31T03:51:42Z" level=info msg="Assets directory is already up to date" 242s time="2025-10-31T03:51:42Z" level=info msg="Assets directory is already up to date" 242s === CONT TestGetPoliciesWorkflows/Second_machine_call_after_a_restart 242s time="2025-10-31T03:51:42Z" level=info msg="GPO \"standard-name\" is already up to date" 242s === CONT TestGetPoliciesWorkflows/Second_call_without_Krb5CCName_replaces_previous_symlinks_in_the_original_path 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:42Z" level=info msg="Downloading \"standard-name\"" 242s time="2025-10-31T03:51:42Z" level=info msg="Downloading \"standard-name\"" 242s time="2025-10-31T03:51:42Z" level=info msg="Downloading \"assets\"" 242s time="2025-10-31T03:51:42Z" level=info msg="Downloading \"assets\"" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:42Z" level=info msg="Assets directory is already up to date" 242s time="2025-10-31T03:51:42Z" level=info msg="Assets directory is already up to date" 242s time="2025-10-31T03:51:42Z" level=info msg="GPO \"standard-name\" is already up to date" 242s time="2025-10-31T03:51:42Z" level=info msg="GPO \"standard-name\" is already up to date" 242s === CONT TestGetPoliciesWorkflows/Second_call_without_Krb5CCName_refreshes_ticket_copy_if_needed 242s === CONT TestGetPoliciesWorkflows/Second_call_after_a_relogin 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:42Z" level=info msg="Downloading \"standard-name\"" 242s time="2025-10-31T03:51:42Z" level=info msg="Downloading \"standard-name\"" 242s time="2025-10-31T03:51:42Z" level=info msg="Downloading \"assets\"" 242s time="2025-10-31T03:51:42Z" level=info msg="Downloading \"assets\"" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:43Z" level=info msg="Assets directory is already up to date" 242s time="2025-10-31T03:51:43Z" level=info msg="Assets directory is already up to date" 242s time="2025-10-31T03:51:43Z" level=info msg="GPO \"standard-name\" is already up to date" 242s time="2025-10-31T03:51:43Z" level=info msg="GPO \"standard-name\" is already up to date" 242s === CONT TestGetPoliciesConcurrently/Different_users,_different_GPO 242s --- PASS: TestGetPoliciesWorkflows (0.00s) 242s --- PASS: TestGetPoliciesWorkflows/Second_call_is_a_refresh_(without_Krb5CCName_specified) (0.33s) 242s --- PASS: TestGetPoliciesWorkflows/Second_machine_call_after_service_restarted (0.28s) 242s --- PASS: TestGetPoliciesWorkflows/Second_machine_call_is_a_refresh_(without_Krb5CCName_specified) (0.29s) 242s --- PASS: TestGetPoliciesWorkflows/Second_call_with_different_user (0.30s) 242s --- PASS: TestGetPoliciesWorkflows/Second_call_after_service_restarted (0.29s) 242s --- PASS: TestGetPoliciesWorkflows/Second_call_without_Krb5CCName_replaces_previous_symlinks_in_the_original_path (0.23s) 242s --- PASS: TestGetPoliciesWorkflows/Second_machine_call_after_a_restart (0.25s) 242s --- PASS: TestGetPoliciesWorkflows/Second_call_after_a_relogin (0.24s) 242s --- PASS: TestGetPoliciesWorkflows/Second_call_without_Krb5CCName_refreshes_ticket_copy_if_needed (0.27s) 242s === CONT TestGetPoliciesConcurrently/One_machine,_one_user 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:43Z" level=info msg="Downloading \"standard-name\"" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:43Z" level=info msg="Downloading \"one-value-name\"" 242s time="2025-10-31T03:51:43Z" level=info msg="Downloading \"assets\"" 242s time="2025-10-31T03:51:43Z" level=info msg="Downloading \"assets\"" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:43Z" level=info msg="Assets directory is already up to date" 242s time="2025-10-31T03:51:43Z" level=info msg="GPO \"standard-name\" is already up to date" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:43Z" level=info msg="Downloading \"standard-name\"" 242s time="2025-10-31T03:51:43Z" level=info msg="Assets directory is already up to date" 242s === CONT TestGetPoliciesConcurrently/Different_users,_same_GPO 242s === CONT TestGetPoliciesConcurrently/Same_user,_same_GPO 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:43Z" level=info msg="Downloading \"standard-name\"" 242s time="2025-10-31T03:51:43Z" level=info msg="Downloading \"assets\"" 242s time="2025-10-31T03:51:43Z" level=info msg="Downloading \"assets\"" 242s time="2025-10-31T03:51:43Z" level=info msg="Downloading \"standard-name\"" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:43Z" level=info msg="Assets directory is already up to date" 242s time="2025-10-31T03:51:43Z" level=info msg="GPO \"standard-name\" is already up to date" 242s time="2025-10-31T03:51:43Z" level=info msg="GPO \"standard-name\" is already up to date" 242s time="2025-10-31T03:51:43Z" level=info msg="Assets directory is already up to date" 242s === CONT TestGetPolicies/Disable_override_for_matching_release,_other_releases_override_ignored 242s --- PASS: TestGetPoliciesConcurrently (0.00s) 242s --- PASS: TestGetPoliciesConcurrently/Machine_requested_twice_at_the_same_time (0.30s) 242s --- PASS: TestGetPoliciesConcurrently/One_machine,_one_user (0.22s) 242s --- PASS: TestGetPoliciesConcurrently/Different_users,_different_GPO (0.23s) 242s --- PASS: TestGetPoliciesConcurrently/Same_user,_same_GPO (0.21s) 242s --- PASS: TestGetPoliciesConcurrently/Different_users,_same_GPO (0.22s) 242s === CONT TestGetPolicies/Standard_policy,_user_object 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:43Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:43Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s time="2025-10-31T03:51:43Z" level=info msg="Downloading \"multiple-releases-name\"" 242s time="2025-10-31T03:51:43Z" level=info msg="Downloading \"standard-name\"" 242s === CONT TestGetPolicies/Two_policies,_no_overrides,_one_is_not_the_same_object_type,_machine_ones_are_empty_when_parsing_user 242s === CONT TestGetPolicies/Two_policies,_no_overrides,_reversed 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:43Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s time="2025-10-31T03:51:43Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s time="2025-10-31T03:51:43Z" level=info msg="Downloading \"machine-only-name\"" 242s time="2025-10-31T03:51:43Z" level=info msg="Downloading \"user-only-name\"" 242s time="2025-10-31T03:51:43Z" level=info msg="Downloading \"one-value-name\"" 242s time="2025-10-31T03:51:43Z" level=info msg="Downloading \"standard-name\"" 242s === CONT TestGetPolicies/Enabled_override 242s === CONT TestGetPolicies/Assets_directory_being_a_file_cleanup_local_existing_assets_and_its_db 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:43Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:43Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s time="2025-10-31T03:51:43Z" level=info msg="Downloading \"multiple-releases-one-enabled-name\"" 242s time="2025-10-31T03:51:43Z" level=info msg="Downloading \"standard-name\"" 242s === CONT TestGetPolicies/Standard_policy_with_assets,_downloads_assets 242s === CONT TestGetPolicies/Empty_value_for_unfiltered_entry 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:43Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:44Z" level=info msg="Downloading \"standard-name\"" 242s time="2025-10-31T03:51:44Z" level=info msg="Downloading \"empty-value-name\"" 242s time="2025-10-31T03:51:44Z" level=info msg="Downloading \"assets\"" 242s === CONT TestGetPolicies/Corrupted_policy_file 242s === CONT TestGetPolicies/Error_on_backend_ServerFQDN_call_failed 242s === CONT TestGetPolicies/Error_on_user_without_@_in_name 242s === CONT TestGetPolicies/Policy_machine_directory_is_uppercase 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:44Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:44Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s time="2025-10-31T03:51:44Z" level=info msg="Downloading \"corrupted-policy-name\"" 242s time="2025-10-31T03:51:44Z" level=info msg="Downloading \"uppercase-class-name\"" 242s === CONT TestGetPolicies/No_override_for_this_release,_takes_default_value 242s === CONT TestGetPolicies/Computer_only_policy,_user_object,_policy_is_empty 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:44Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:44Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s time="2025-10-31T03:51:44Z" level=info msg="Downloading \"multiple-releases-name\"" 242s time="2025-10-31T03:51:44Z" level=info msg="Downloading \"machine-only-name\"" 242s === CONT TestGetPolicies/User_only_policy,_user_object 242s === CONT TestGetPolicies/Two_policies,_with_overrides 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:44Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:44Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s time="2025-10-31T03:51:44Z" level=info msg="Downloading \"one-value-name\"" 242s time="2025-10-31T03:51:44Z" level=info msg="Downloading \"standard-name\"" 242s time="2025-10-31T03:51:44Z" level=info msg="Downloading \"user-only-name\"" 242s === CONT TestGetPolicies/Multiple_domains,_same_GPO 242s === CONT TestGetPolicies/Local_assets_and_its_db_are_removed_if_not_present_anymore_on_AD_sysvol 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:44Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:44Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s time="2025-10-31T03:51:44Z" level=info msg="Downloading \"standard-name\"" 242s time="2025-10-31T03:51:44Z" level=info msg="Downloading \"multiple-domains-name\"" 242s === CONT TestGetPolicies/User_only_policy,_computer_object,_policy_is_empty 242s === CONT TestGetPolicies/Error_on_backend_HostKrb5CCName_call_failed 242s === CONT TestGetPolicies/Machine_doesn’t_match 242s === CONT TestGetPolicies/Filter_non_Ubuntu_keys 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:44Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s time="2025-10-31T03:51:44Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s time="2025-10-31T03:51:44Z" level=info msg="Downloading \"user-only-name\"" 242s time="2025-10-31T03:51:44Z" level=info msg="Downloading \"filtered-name\"" 242s === CONT TestGetPolicies/More_policies,_with_multiple_overrides 242s === CONT TestGetPolicies/Same_key_in_different_domains_are_kept_separated 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:44Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:44Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s time="2025-10-31T03:51:44Z" level=info msg="Downloading \"standard-name\"" 242s time="2025-10-31T03:51:44Z" level=info msg="Downloading \"other-domain-name\"" 242s time="2025-10-31T03:51:44Z" level=info msg="Downloading \"one-value-name\"" 242s time="2025-10-31T03:51:44Z" level=info msg="Downloading \"user-only-name\"" 242s time="2025-10-31T03:51:44Z" level=info msg="Downloading \"one-value-name\"" 242s === CONT TestGetPolicies/Enabled_override_for_matching_release,_other_releases_override_ignored 242s === CONT TestGetPolicies/Without_previous_call,_needs_userKrb5CCBaseName 242s === CONT TestGetPolicies/Policy_machine_directory_is_not_capitalized_or_uppercase,_no_rules_are_parsed 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:44Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:44Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s time="2025-10-31T03:51:44Z" level=info msg="Downloading \"multiple-releases-name\"" 242s time="2025-10-31T03:51:44Z" level=info msg="Downloading \"lowercase-class-name\"" 242s === CONT TestGetPolicies/Policy_user_directory_is_not_capitalized_or_uppercase,_no_rules_are_parsed 242s === CONT TestGetPolicies/Policy_user_directory_is_uppercase 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:45Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:45Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s time="2025-10-31T03:51:45Z" level=info msg="Downloading \"uppercase-class-name\"" 242s time="2025-10-31T03:51:45Z" level=info msg="Downloading \"lowercase-class-name\"" 242s === CONT TestGetPolicies/Error_on_backend_IsOnline_call_failed 242s === CONT TestNew/error_on_backend_ServerFQDN_random_failure 242s === CONT TestGetPolicies/User_policy_Registry.pol_is_mixed_case 242s === CONT TestGetPolicies/Ignore_errors_on_non_Ubuntu_keys 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:45Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s time="2025-10-31T03:51:45Z" level=info msg="Downloading \"unsupported-with-errors-name\"" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:45Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s time="2025-10-31T03:51:45Z" level=info msg="Downloading \"mixedcase-registry-name\"" 242s === CONT TestGetPolicies/Computer_policy_Registry.pol_is_lower_case 242s === CONT TestGetPolicies/Include_non_Ubuntu_keys_used_to_configure_certificate_autoenrollment 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:45Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:45Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s time="2025-10-31T03:51:45Z" level=info msg="Downloading \"lowercase-registry-name\"" 242s time="2025-10-31T03:51:45Z" level=info msg="Downloading \"filtered-with-certificate-autoenrollment-name\"" 242s === CONT TestGetPolicies/User_policy_Registry.pol_is_lower_case 242s === CONT TestGetPolicies/Disabled_value_overrides_non_disabled_one 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:45Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:45Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s time="2025-10-31T03:51:45Z" level=info msg="Downloading \"lowercase-registry-name\"" 242s time="2025-10-31T03:51:45Z" level=info msg="Downloading \"standard-name\"" 242s time="2025-10-31T03:51:45Z" level=info msg="Downloading \"disabled-value-name\"" 242s === CONT TestGetPolicies/Assets_can’t_be_downloaded_without_GPO 242s === CONT TestGetPolicies/Two_policies,_with_reversed_overrides 242s === CONT TestGetPolicies/Unsupported_type_for_unfiltered_entry 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:45Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s time="2025-10-31T03:51:45Z" level=info msg="Downloading \"standard-name\"" 242s time="2025-10-31T03:51:45Z" level=info msg="Downloading \"one-value-name\"" 242s === CONT TestGetPolicies/Unexisting_CC_original_file_for_machine 242s === CONT TestGetPolicies/Symlinks_can’t_be_created 242s === CONT TestGetPolicies/Unexisting_CC_original_file_for_user 242s === CONT TestGetPolicies/Policy_can’t_be_downloaded 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:45Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s === CONT TestGetPolicies/Computer_policy_Registry.pol_is_mixed_case 242s time="2025-10-31T03:51:45Z" level=info msg="Downloading \"bad-entry-type-name\"" 242s time="2025-10-31T03:51:45Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s === CONT TestNew/no_active_server_in_backend_does_not_fail_ad_creation 242s === CONT TestNew/failed_to_create_Policies_cache_directory 242s === CONT TestNew/failed_to_create_Sysvol_cache_directory 242s === CONT TestNew/failed_to_create_KRB5_cache_directory 242s === CONT TestNew/create_KRB5_and_Sysvol_cache_directory 242s === CONT TestGetPolicies/Standard_policy_with_assets,_existing_assets_are_reattached_if_not_refreshed 242s --- PASS: TestNew (0.00s) 242s --- PASS: TestNew/error_on_backend_ServerFQDN_random_failure (0.00s) 242s --- PASS: TestNew/no_active_server_in_backend_does_not_fail_ad_creation (0.00s) 242s --- PASS: TestNew/failed_to_create_Policies_cache_directory (0.00s) 242s --- PASS: TestNew/failed_to_create_Sysvol_cache_directory (0.00s) 242s --- PASS: TestNew/failed_to_create_KRB5_cache_directory (0.00s) 242s --- PASS: TestNew/create_KRB5_and_Sysvol_cache_directory (0.00s) 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:45Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:45Z" level=info msg="Downloading \"mixedcase-registry-name\"" 242s time="2025-10-31T03:51:45Z" level=info msg="Downloading \"standard-name\"" 242s time="2025-10-31T03:51:45Z" level=info msg="Assets directory is already up to date" 242s === CONT TestGetPolicies/Disabled_value_is_overridden 242s === CONT TestGetPolicies/Disabled_override 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:45Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:45Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s time="2025-10-31T03:51:45Z" level=info msg="Downloading \"standard-name\"" 242s time="2025-10-31T03:51:45Z" level=info msg="Downloading \"multiple-releases-one-disabled-name\"" 242s time="2025-10-31T03:51:45Z" level=info msg="Downloading \"disabled-value-name\"" 242s === CONT TestGetPolicies/Standard_policy,_computer_object 242s === CONT TestGetPolicies/Two_policies,_no_overrides 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:45Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:45Z" level=info msg="No assets directory with GPT.INI file found on AD, skipping assets download" 242s time="2025-10-31T03:51:45Z" level=info msg="Downloading \"standard-name\"" 242s time="2025-10-31T03:51:45Z" level=info msg="Downloading \"one-value-name\"" 242s time="2025-10-31T03:51:45Z" level=info msg="Downloading \"user-only-name\"" 242s === CONT TestFetchTweakSysvolCacheDir/SysvolCacheDir_doesn't_exist 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:46Z" level=info msg="Downloading \"gpo1-name\"" 242s === CONT TestFetchTweakSysvolCacheDir/SysvolCacheDir_is_read_only 242s --- PASS: TestGetPolicies (0.01s) 242s --- PASS: TestGetPolicies/Disable_override_for_matching_release,_other_releases_override_ignored (0.15s) 242s --- PASS: TestGetPolicies/Standard_policy,_user_object (0.15s) 242s --- PASS: TestGetPolicies/Two_policies,_no_overrides,_reversed (0.14s) 242s --- PASS: TestGetPolicies/Two_policies,_no_overrides,_one_is_not_the_same_object_type,_machine_ones_are_empty_when_parsing_user (0.15s) 242s --- PASS: TestGetPolicies/Enabled_override (0.11s) 242s --- PASS: TestGetPolicies/Assets_directory_being_a_file_cleanup_local_existing_assets_and_its_db (0.11s) 242s --- PASS: TestGetPolicies/Empty_value_for_unfiltered_entry (0.11s) 242s --- PASS: TestGetPolicies/Standard_policy_with_assets,_downloads_assets (0.13s) 242s --- PASS: TestGetPolicies/Error_on_backend_ServerFQDN_call_failed (0.00s) 242s --- PASS: TestGetPolicies/Error_on_user_without_@_in_name (0.00s) 242s --- PASS: TestGetPolicies/Corrupted_policy_file (0.14s) 242s --- PASS: TestGetPolicies/Policy_machine_directory_is_uppercase (0.12s) 242s --- PASS: TestGetPolicies/Computer_only_policy,_user_object,_policy_is_empty (0.13s) 242s --- PASS: TestGetPolicies/No_override_for_this_release,_takes_default_value (0.14s) 242s --- PASS: TestGetPolicies/User_only_policy,_user_object (0.12s) 242s --- PASS: TestGetPolicies/Two_policies,_with_overrides (0.12s) 242s --- PASS: TestGetPolicies/Local_assets_and_its_db_are_removed_if_not_present_anymore_on_AD_sysvol (0.16s) 242s --- PASS: TestGetPolicies/Multiple_domains,_same_GPO (0.16s) 242s --- PASS: TestGetPolicies/Error_on_backend_HostKrb5CCName_call_failed (0.00s) 242s --- PASS: TestGetPolicies/Machine_doesn’t_match (0.00s) 242s --- PASS: TestGetPolicies/User_only_policy,_computer_object,_policy_is_empty (0.12s) 242s --- PASS: TestGetPolicies/Filter_non_Ubuntu_keys (0.12s) 242s --- PASS: TestGetPolicies/Same_key_in_different_domains_are_kept_separated (0.12s) 242s --- PASS: TestGetPolicies/More_policies,_with_multiple_overrides (0.13s) 242s --- PASS: TestGetPolicies/Without_previous_call,_needs_userKrb5CCBaseName (0.00s) 242s --- PASS: TestGetPolicies/Enabled_override_for_matching_release,_other_releases_override_ignored (0.10s) 242s --- PASS: TestGetPolicies/Policy_machine_directory_is_not_capitalized_or_uppercase,_no_rules_are_parsed (0.09s) 242s --- PASS: TestGetPolicies/Policy_user_directory_is_not_capitalized_or_uppercase,_no_rules_are_parsed (0.11s) 242s --- PASS: TestGetPolicies/Policy_user_directory_is_uppercase (0.11s) 242s --- PASS: TestGetPolicies/Error_on_backend_IsOnline_call_failed (0.01s) 242s --- PASS: TestGetPolicies/Ignore_errors_on_non_Ubuntu_keys (0.09s) 242s --- PASS: TestGetPolicies/User_policy_Registry.pol_is_mixed_case (0.10s) 242s --- PASS: TestGetPolicies/Include_non_Ubuntu_keys_used_to_configure_certificate_autoenrollment (0.10s) 242s --- PASS: TestGetPolicies/Computer_policy_Registry.pol_is_lower_case (0.11s) 242s --- PASS: TestGetPolicies/User_policy_Registry.pol_is_lower_case (0.11s) 242s --- PASS: TestGetPolicies/Disabled_value_overrides_non_disabled_one (0.12s) 242s --- PASS: TestGetPolicies/Assets_can’t_be_downloaded_without_GPO (0.08s) 242s --- PASS: TestGetPolicies/Two_policies,_with_reversed_overrides (0.11s) 242s --- PASS: TestGetPolicies/Unexisting_CC_original_file_for_machine (0.00s) 242s --- PASS: TestGetPolicies/Unexisting_CC_original_file_for_user (0.00s) 242s --- PASS: TestGetPolicies/Symlinks_can’t_be_created (0.00s) 242s --- PASS: TestGetPolicies/Policy_can’t_be_downloaded (0.11s) 242s --- PASS: TestGetPolicies/Unsupported_type_for_unfiltered_entry (0.18s) 242s --- PASS: TestGetPolicies/Standard_policy_with_assets,_existing_assets_are_reattached_if_not_refreshed (0.13s) 242s --- PASS: TestGetPolicies/Computer_policy_Registry.pol_is_mixed_case (0.16s) 242s --- PASS: TestGetPolicies/Disabled_override (0.12s) 242s --- PASS: TestGetPolicies/Disabled_value_is_overridden (0.12s) 242s --- PASS: TestGetPolicies/Standard_policy,_computer_object (0.14s) 242s --- PASS: TestGetPolicies/Two_policies,_no_overrides (0.17s) 242s === CONT TestFetchWithUnreadableFile/without_gpo_initially_don’t_commit_new_partial_GPO 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:46Z" level=info msg="Downloading \"gpo1-name\"" 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:46Z" level=info msg="Downloading \"gpo1-name\"" 242s --- PASS: TestFetchTweakSysvolCacheDir (0.00s) 242s --- PASS: TestFetchTweakSysvolCacheDir/SysvolCacheDir_doesn't_exist (0.02s) 242s --- PASS: TestFetchTweakSysvolCacheDir/SysvolCacheDir_is_read_only (0.04s) 242s === CONT TestFetchWithUnreadableFile/existing_gpo_is_preserved 242s Kerberos auth with 'ubuntu@WORKGROUP' (WORKGROUP\ubuntu) to access 'localhost' not possible 242s time="2025-10-31T03:51:46Z" level=info msg="Downloading \"gpo1-name\"" 242s --- PASS: TestFetchWithUnreadableFile (0.00s) 242s --- PASS: TestFetchWithUnreadableFile/without_gpo_initially_don’t_commit_new_partial_GPO (0.06s) 242s --- PASS: TestFetchWithUnreadableFile/existing_gpo_is_preserved (0.03s) 242s PASS 242s ok github.com/ubuntu/adsys/internal/ad 8.585s 242s === RUN TestGenerateExpandedCategories 242s === PAUSE TestGenerateExpandedCategories 242s === RUN TestExpandedCategoriesToADMX 242s === PAUSE TestExpandedCategoriesToADMX 242s === RUN TestExpandedCategoriesToMD 242s === PAUSE TestExpandedCategoriesToMD 242s === RUN TestExpand 242s === PAUSE TestExpand 242s === RUN TestGenerateAD 242s === PAUSE TestGenerateAD 242s === RUN TestGenerateDoc 242s === PAUSE TestGenerateDoc 242s === CONT TestGenerateExpandedCategories 242s === RUN TestGenerateExpandedCategories/different_choices 242s === PAUSE TestGenerateExpandedCategories/different_choices 242s === RUN TestGenerateExpandedCategories/no_meta_enabled 242s === PAUSE TestGenerateExpandedCategories/no_meta_enabled 242s === RUN TestGenerateExpandedCategories/error_on_unexisting_policy_referenced 242s === PAUSE TestGenerateExpandedCategories/error_on_unexisting_policy_referenced 242s === CONT TestExpand 242s === RUN TestExpand/expanded_policy_with_meta 242s === PAUSE TestExpand/expanded_policy_with_meta 242s === RUN TestExpand/expanded_policy_with_release_any 242s === PAUSE TestExpand/expanded_policy_with_release_any 242s === RUN TestExpand/no_release_file 242s === PAUSE TestExpand/no_release_file 242s === RUN TestExpand/no_version_id 242s === PAUSE TestExpand/no_version_id 242s === RUN TestExpand/no_source_directory 242s === PAUSE TestExpand/no_source_directory 242s === RUN TestExpand/invalid_dconf.yaml 242s === PAUSE TestExpand/invalid_dconf.yaml 242s === RUN TestExpand/dconf_generation_fails 242s === PAUSE TestExpand/dconf_generation_fails 242s === RUN TestExpand/expanded_policy 242s === PAUSE TestExpand/expanded_policy 242s === RUN TestExpand/ignore_categories_and_non_yaml_files 242s === PAUSE TestExpand/ignore_categories_and_non_yaml_files 242s === RUN TestExpand/unsupported_policy_type 242s === PAUSE TestExpand/unsupported_policy_type 242s === RUN TestExpand/dconf 242s === PAUSE TestExpand/dconf 242s === CONT TestGenerateDoc 242s === RUN TestGenerateDoc/invalid_definition_file 242s === PAUSE TestGenerateDoc/invalid_definition_file 242s === RUN TestGenerateDoc/category_expansion_fails 242s === PAUSE TestGenerateDoc/category_expansion_fails 242s === RUN TestGenerateDoc/doc_generation_fails 242s === PAUSE TestGenerateDoc/doc_generation_fails 242s === RUN TestGenerateDoc/releases_from_yaml 242s === PAUSE TestGenerateDoc/releases_from_yaml 242s === RUN TestGenerateDoc/autodetect_overrides_releases_from_yaml 242s === PAUSE TestGenerateDoc/autodetect_overrides_releases_from_yaml 242s === CONT TestGenerateAD 242s === RUN TestGenerateAD/invalid_definition_file 242s === PAUSE TestGenerateAD/invalid_definition_file 242s === RUN TestGenerateAD/category_expansion_fails 242s === PAUSE TestGenerateAD/category_expansion_fails 242s === RUN TestGenerateAD/admx_generation_fails 242s === PAUSE TestGenerateAD/admx_generation_fails 242s === RUN TestGenerateAD/releases_from_yaml 242s === PAUSE TestGenerateAD/releases_from_yaml 242s === RUN TestGenerateAD/autodetect_overrides_releases_from_yaml 242s === PAUSE TestGenerateAD/autodetect_overrides_releases_from_yaml 242s === CONT TestExpandedCategoriesToMD 242s === RUN TestExpandedCategoriesToMD/multiple_releases_with_different_choices 242s === PAUSE TestExpandedCategoriesToMD/multiple_releases_with_different_choices 242s === RUN TestExpandedCategoriesToMD/multiple_categories 242s === PAUSE TestExpandedCategoriesToMD/multiple_categories 242s === RUN TestExpandedCategoriesToMD/multiple_releases_with_different_widgettype 242s === PAUSE TestExpandedCategoriesToMD/multiple_releases_with_different_widgettype 242s === RUN TestExpandedCategoriesToMD/no_meta_enabled 242s === PAUSE TestExpandedCategoriesToMD/no_meta_enabled 242s === RUN TestExpandedCategoriesToMD/double_with_range 242s === PAUSE TestExpandedCategoriesToMD/double_with_range 242s === RUN TestExpandedCategoriesToMD/multiple_releases_for_one_key 242s === PAUSE TestExpandedCategoriesToMD/multiple_releases_for_one_key 242s === RUN TestExpandedCategoriesToMD/basic_key 242s === PAUSE TestExpandedCategoriesToMD/basic_key 242s === RUN TestExpandedCategoriesToMD/decimal_with_max_only 242s === PAUSE TestExpandedCategoriesToMD/decimal_with_max_only 242s === RUN TestExpandedCategoriesToMD/array_of_integers 242s === PAUSE TestExpandedCategoriesToMD/array_of_integers 242s === RUN TestExpandedCategoriesToMD/no_meta_disabled 242s === PAUSE TestExpandedCategoriesToMD/no_meta_disabled 242s === RUN TestExpandedCategoriesToMD/error_on_destination_creation 242s === PAUSE TestExpandedCategoriesToMD/error_on_destination_creation 242s === RUN TestExpandedCategoriesToMD/boolean 242s === PAUSE TestExpandedCategoriesToMD/boolean 242s === RUN TestExpandedCategoriesToMD/decimal 242s === PAUSE TestExpandedCategoriesToMD/decimal 242s === RUN TestExpandedCategoriesToMD/multiple_releases_with_different_ranges 242s === PAUSE TestExpandedCategoriesToMD/multiple_releases_with_different_ranges 242s === RUN TestExpandedCategoriesToMD/nested_categories,_classes_and_empty 242s === PAUSE TestExpandedCategoriesToMD/nested_categories,_classes_and_empty 242s === RUN TestExpandedCategoriesToMD/array_of_strings 242s === PAUSE TestExpandedCategoriesToMD/array_of_strings 242s === RUN TestExpandedCategoriesToMD/choices_with_default 242s === PAUSE TestExpandedCategoriesToMD/choices_with_default 242s === RUN TestExpandedCategoriesToMD/multiple_releases_with_all_widgets_and_different_defaults 242s === PAUSE TestExpandedCategoriesToMD/multiple_releases_with_all_widgets_and_different_defaults 242s === RUN TestExpandedCategoriesToMD/simple 242s === PAUSE TestExpandedCategoriesToMD/simple 242s === RUN TestExpandedCategoriesToMD/nested_categories 242s === PAUSE TestExpandedCategoriesToMD/nested_categories 242s === RUN TestExpandedCategoriesToMD/user_policy 242s === PAUSE TestExpandedCategoriesToMD/user_policy 242s === RUN TestExpandedCategoriesToMD/decimal_with_min_only 242s === PAUSE TestExpandedCategoriesToMD/decimal_with_min_only 242s === RUN TestExpandedCategoriesToMD/long_decimal 242s === PAUSE TestExpandedCategoriesToMD/long_decimal 242s === RUN TestExpandedCategoriesToMD/double 242s === PAUSE TestExpandedCategoriesToMD/double 242s === RUN TestExpandedCategoriesToMD/decimal_with_range 242s === PAUSE TestExpandedCategoriesToMD/decimal_with_range 242s === RUN TestExpandedCategoriesToMD/choices 242s === PAUSE TestExpandedCategoriesToMD/choices 242s === RUN TestExpandedCategoriesToMD/no_meta_at_all 242s === PAUSE TestExpandedCategoriesToMD/no_meta_at_all 242s === CONT TestExpandedCategoriesToADMX 242s === RUN TestExpandedCategoriesToADMX/long_decimal 242s === PAUSE TestExpandedCategoriesToADMX/long_decimal 242s === RUN TestExpandedCategoriesToADMX/double_with_range 242s === PAUSE TestExpandedCategoriesToADMX/double_with_range 242s === RUN TestExpandedCategoriesToADMX/multiple_releases_with_different_ranges 242s === PAUSE TestExpandedCategoriesToADMX/multiple_releases_with_different_ranges 242s === RUN TestExpandedCategoriesToADMX/multiple_releases_with_all_widgets_and_different_defaults 242s === PAUSE TestExpandedCategoriesToADMX/multiple_releases_with_all_widgets_and_different_defaults 242s === RUN TestExpandedCategoriesToADMX/no_meta_at_all 242s === PAUSE TestExpandedCategoriesToADMX/no_meta_at_all 242s === RUN TestExpandedCategoriesToADMX/decimal 242s === PAUSE TestExpandedCategoriesToADMX/decimal 242s === RUN TestExpandedCategoriesToADMX/decimal_with_range 242s === PAUSE TestExpandedCategoriesToADMX/decimal_with_range 242s === RUN TestExpandedCategoriesToADMX/boolean 242s === PAUSE TestExpandedCategoriesToADMX/boolean 242s === RUN TestExpandedCategoriesToADMX/array_of_integers 242s === PAUSE TestExpandedCategoriesToADMX/array_of_integers 242s === RUN TestExpandedCategoriesToADMX/choices 242s === PAUSE TestExpandedCategoriesToADMX/choices 242s === RUN TestExpandedCategoriesToADMX/simple 242s === PAUSE TestExpandedCategoriesToADMX/simple 242s === RUN TestExpandedCategoriesToADMX/nested_categories 242s === PAUSE TestExpandedCategoriesToADMX/nested_categories 242s === RUN TestExpandedCategoriesToADMX/array_of_strings 242s === PAUSE TestExpandedCategoriesToADMX/array_of_strings 242s === RUN TestExpandedCategoriesToADMX/double 242s === PAUSE TestExpandedCategoriesToADMX/double 242s === RUN TestExpandedCategoriesToADMX/no_meta_enabled 242s === PAUSE TestExpandedCategoriesToADMX/no_meta_enabled 242s === RUN TestExpandedCategoriesToADMX/error_on_destination_creation 242s === PAUSE TestExpandedCategoriesToADMX/error_on_destination_creation 242s === RUN TestExpandedCategoriesToADMX/multiple_categories 242s === PAUSE TestExpandedCategoriesToADMX/multiple_categories 242s === RUN TestExpandedCategoriesToADMX/other_distro 242s === PAUSE TestExpandedCategoriesToADMX/other_distro 242s === RUN TestExpandedCategoriesToADMX/decimal_with_max_only 242s === PAUSE TestExpandedCategoriesToADMX/decimal_with_max_only 242s === RUN TestExpandedCategoriesToADMX/choices_with_default 242s === PAUSE TestExpandedCategoriesToADMX/choices_with_default 242s === RUN TestExpandedCategoriesToADMX/multiple_releases_for_one_key 242s === PAUSE TestExpandedCategoriesToADMX/multiple_releases_for_one_key 242s === RUN TestExpandedCategoriesToADMX/multiple_releases_with_different_widgettype 242s === PAUSE TestExpandedCategoriesToADMX/multiple_releases_with_different_widgettype 242s === RUN TestExpandedCategoriesToADMX/multiple_releases_with_different_choices 242s === PAUSE TestExpandedCategoriesToADMX/multiple_releases_with_different_choices 242s === RUN TestExpandedCategoriesToADMX/no_meta_disabled 242s === PAUSE TestExpandedCategoriesToADMX/no_meta_disabled 242s === RUN TestExpandedCategoriesToADMX/basic_key 242s === PAUSE TestExpandedCategoriesToADMX/basic_key 242s === RUN TestExpandedCategoriesToADMX/decimal_with_min_only 242s === PAUSE TestExpandedCategoriesToADMX/decimal_with_min_only 242s === CONT TestExpand/expanded_policy_with_meta 242s === RUN TestGenerateExpandedCategories/simple 242s === PAUSE TestGenerateExpandedCategories/simple 242s === RUN TestGenerateExpandedCategories/different_explain_text 242s === PAUSE TestGenerateExpandedCategories/different_explain_text 242s === RUN TestGenerateExpandedCategories/same_policy_used_in_two_categories 242s === PAUSE TestGenerateExpandedCategories/same_policy_used_in_two_categories 242s === RUN TestGenerateExpandedCategories/no_defaults 242s === PAUSE TestGenerateExpandedCategories/no_defaults 242s === RUN TestGenerateExpandedCategories/default_policy_class_is_capitalized 242s === PAUSE TestGenerateExpandedCategories/default_policy_class_is_capitalized 242s === RUN TestGenerateExpandedCategories/error_on_different_class 242s === PAUSE TestGenerateExpandedCategories/error_on_different_class 242s === RUN TestGenerateExpandedCategories/error_on_nested_category 242s === PAUSE TestGenerateExpandedCategories/error_on_nested_category 242s === RUN TestGenerateExpandedCategories/error_on_invalid_default_policy_class 242s === PAUSE TestGenerateExpandedCategories/error_on_invalid_default_policy_class 242s === RUN TestGenerateExpandedCategories/error_on_empty_default_policy_class 242s === PAUSE TestGenerateExpandedCategories/error_on_empty_default_policy_class 242s === RUN TestGenerateExpandedCategories/policy_directory_doesn't_exist 242s === PAUSE TestGenerateExpandedCategories/policy_directory_doesn't_exist 242s === RUN TestGenerateExpandedCategories/allow_policy_referenced_but_not_available_in_any_releases 242s === PAUSE TestGenerateExpandedCategories/allow_policy_referenced_but_not_available_in_any_releases 242s === RUN TestGenerateExpandedCategories/no_meta_at_all 242s === PAUSE TestGenerateExpandedCategories/no_meta_at_all 242s === RUN TestGenerateExpandedCategories/meta_is_overridden_by_enabled_key 242s === PAUSE TestGenerateExpandedCategories/meta_is_overridden_by_enabled_key 242s === RUN TestGenerateExpandedCategories/two_policies 242s === PAUSE TestGenerateExpandedCategories/two_policies 242s === RUN TestGenerateExpandedCategories/use_policy_class_instead_of_category_default 242s === PAUSE TestGenerateExpandedCategories/use_policy_class_instead_of_category_default 242s === RUN TestGenerateExpandedCategories/same_default 242s === PAUSE TestGenerateExpandedCategories/same_default 242s === RUN TestGenerateExpandedCategories/no_note 242s === PAUSE TestGenerateExpandedCategories/no_note 242s === RUN TestGenerateExpandedCategories/requires_ubuntu_pro 242s === PAUSE TestGenerateExpandedCategories/requires_ubuntu_pro 242s === RUN TestGenerateExpandedCategories/error_on_missing_release 242s === PAUSE TestGenerateExpandedCategories/error_on_missing_release 242s === RUN TestGenerateExpandedCategories/meta_entry_only 242s === PAUSE TestGenerateExpandedCategories/meta_entry_only 242s === RUN TestGenerateExpandedCategories/category_definition_doesn't_exist 242s === PAUSE TestGenerateExpandedCategories/category_definition_doesn't_exist 242s === RUN TestGenerateExpandedCategories/basic 242s === PAUSE TestGenerateExpandedCategories/basic 242s === RUN TestGenerateExpandedCategories/different_display_name 242s === PAUSE TestGenerateExpandedCategories/different_display_name 242s === RUN TestGenerateExpandedCategories/no_note_strategy_append 242s === PAUSE TestGenerateExpandedCategories/no_note_strategy_append 242s === RUN TestGenerateExpandedCategories/choices 242s === PAUSE TestGenerateExpandedCategories/choices 242s === RUN TestGenerateExpandedCategories/different_element_type 242s === PAUSE TestGenerateExpandedCategories/different_element_type 242s === RUN TestGenerateExpandedCategories/error_on_one_policy_not_used 242s === PAUSE TestGenerateExpandedCategories/error_on_one_policy_not_used 242s === RUN TestGenerateExpandedCategories/error_on_key_independent_of_any_release_key_but_with_one_release_specified 242s === PAUSE TestGenerateExpandedCategories/error_on_key_independent_of_any_release_key_but_with_one_release_specified 242s === RUN TestGenerateExpandedCategories/different_defaults 242s === PAUSE TestGenerateExpandedCategories/different_defaults 242s === RUN TestGenerateExpandedCategories/applicable_to_all_releases 242s === PAUSE TestGenerateExpandedCategories/applicable_to_all_releases 242s === RUN TestGenerateExpandedCategories/multiple_top_categories 242s === PAUSE TestGenerateExpandedCategories/multiple_top_categories 242s === RUN TestGenerateExpandedCategories/different_meta 242s === PAUSE TestGenerateExpandedCategories/different_meta 242s === RUN TestGenerateExpandedCategories/no_meta_disabled 242s === PAUSE TestGenerateExpandedCategories/no_meta_disabled 242s === RUN TestGenerateExpandedCategories/error_on_different_policy_type 242s === PAUSE TestGenerateExpandedCategories/error_on_different_policy_type 242s === RUN TestGenerateExpandedCategories/error_on_policy_not_attached_to_any_releases 242s === PAUSE TestGenerateExpandedCategories/error_on_policy_not_attached_to_any_releases 242s === RUN TestGenerateExpandedCategories/available_on_one_release_only 242s === PAUSE TestGenerateExpandedCategories/available_on_one_release_only 242s === RUN TestGenerateExpandedCategories/same_policy_used_in_two_categories_but_different_default_class 242s === PAUSE TestGenerateExpandedCategories/same_policy_used_in_two_categories_but_different_default_class 242s === RUN TestGenerateExpandedCategories/with_prefix 242s === PAUSE TestGenerateExpandedCategories/with_prefix 242s === RUN TestGenerateExpandedCategories/range 242s === PAUSE TestGenerateExpandedCategories/range 242s === RUN TestGenerateExpandedCategories/different_range 242s === PAUSE TestGenerateExpandedCategories/different_range 242s === RUN TestGenerateExpandedCategories/nested_categories 242s === PAUSE TestGenerateExpandedCategories/nested_categories 242s === RUN TestGenerateExpandedCategories/meta_is_overridden_by_disabled_key 242s === PAUSE TestGenerateExpandedCategories/meta_is_overridden_by_disabled_key 242s === CONT TestGenerateDoc/invalid_definition_file 242s === CONT TestExpand/dconf 242s === NAME TestExpand/expanded_policy_with_meta 242s admxgen_test.go:78: Serializing object for golden file 242s === CONT TestExpand/unsupported_policy_type 242s === NAME TestExpand/dconf 242s admxgen_test.go:78: Serializing object for golden file 242s === CONT TestExpand/ignore_categories_and_non_yaml_files 242s === CONT TestExpand/expanded_policy 242s === NAME TestExpand/ignore_categories_and_non_yaml_files 242s admxgen_test.go:78: Serializing object for golden file 242s === NAME TestExpand/expanded_policy 242s admxgen_test.go:78: Serializing object for golden file 242s === CONT TestExpand/dconf_generation_fails 242s === CONT TestExpand/invalid_dconf.yaml 242s === CONT TestExpand/no_source_directory 242s === CONT TestExpand/no_version_id 242s === CONT TestExpand/no_release_file 242s === CONT TestExpand/expanded_policy_with_release_any 242s === CONT TestGenerateAD/invalid_definition_file 242s === NAME TestExpand/expanded_policy_with_release_any 242s admxgen_test.go:78: Serializing object for golden file 242s === CONT TestGenerateDoc/autodetect_overrides_releases_from_yaml 242s --- PASS: TestExpand (0.00s) 242s --- PASS: TestExpand/expanded_policy_with_meta (0.00s) 242s --- PASS: TestExpand/unsupported_policy_type (0.00s) 242s --- PASS: TestExpand/dconf (0.00s) 242s --- PASS: TestExpand/ignore_categories_and_non_yaml_files (0.00s) 242s --- PASS: TestExpand/dconf_generation_fails (0.00s) 242s --- PASS: TestExpand/expanded_policy (0.00s) 242s --- PASS: TestExpand/no_source_directory (0.00s) 242s --- PASS: TestExpand/invalid_dconf.yaml (0.00s) 242s --- PASS: TestExpand/no_version_id (0.00s) 242s --- PASS: TestExpand/no_release_file (0.00s) 242s --- PASS: TestExpand/expanded_policy_with_release_any (0.00s) 242s === CONT TestGenerateDoc/releases_from_yaml 242s === CONT TestGenerateDoc/doc_generation_fails 242s === CONT TestGenerateDoc/category_expansion_fails 242s === CONT TestExpandedCategoriesToMD/multiple_releases_with_different_choices 242s === CONT TestGenerateAD/autodetect_overrides_releases_from_yaml 242s --- PASS: TestGenerateDoc (0.00s) 242s --- PASS: TestGenerateDoc/invalid_definition_file (0.00s) 242s --- PASS: TestGenerateDoc/autodetect_overrides_releases_from_yaml (0.00s) 242s --- PASS: TestGenerateDoc/releases_from_yaml (0.00s) 242s --- PASS: TestGenerateDoc/doc_generation_fails (0.00s) 242s --- PASS: TestGenerateDoc/category_expansion_fails (0.00s) 242s === CONT TestGenerateAD/releases_from_yaml 242s === CONT TestGenerateAD/admx_generation_fails 242s === CONT TestGenerateAD/category_expansion_fails 242s === CONT TestExpandedCategoriesToADMX/long_decimal 242s === CONT TestExpandedCategoriesToMD/no_meta_at_all 242s --- PASS: TestGenerateAD (0.00s) 242s --- PASS: TestGenerateAD/invalid_definition_file (0.00s) 242s --- PASS: TestGenerateAD/releases_from_yaml (0.00s) 242s --- PASS: TestGenerateAD/autodetect_overrides_releases_from_yaml (0.01s) 242s --- PASS: TestGenerateAD/admx_generation_fails (0.00s) 242s --- PASS: TestGenerateAD/category_expansion_fails (0.00s) 242s === CONT TestExpandedCategoriesToMD/choices 242s === CONT TestExpandedCategoriesToMD/decimal_with_range 242s === CONT TestExpandedCategoriesToMD/double 242s === CONT TestExpandedCategoriesToMD/long_decimal 242s === CONT TestExpandedCategoriesToMD/decimal_with_min_only 242s === CONT TestExpandedCategoriesToMD/user_policy 242s === CONT TestExpandedCategoriesToMD/nested_categories 242s === CONT TestExpandedCategoriesToMD/simple 242s === CONT TestExpandedCategoriesToMD/multiple_releases_with_all_widgets_and_different_defaults 242s === CONT TestExpandedCategoriesToMD/choices_with_default 242s === CONT TestExpandedCategoriesToMD/array_of_strings 242s === CONT TestExpandedCategoriesToMD/nested_categories,_classes_and_empty 242s === CONT TestExpandedCategoriesToMD/multiple_releases_with_different_ranges 242s === CONT TestExpandedCategoriesToMD/boolean 242s === CONT TestExpandedCategoriesToMD/decimal 242s === CONT TestExpandedCategoriesToMD/error_on_destination_creation 242s === CONT TestExpandedCategoriesToMD/no_meta_disabled 242s === CONT TestExpandedCategoriesToMD/array_of_integers 242s === CONT TestExpandedCategoriesToMD/decimal_with_max_only 242s === CONT TestExpandedCategoriesToMD/basic_key 242s === CONT TestExpandedCategoriesToMD/multiple_releases_for_one_key 242s === CONT TestExpandedCategoriesToMD/double_with_range 242s === CONT TestExpandedCategoriesToMD/no_meta_enabled 242s === CONT TestExpandedCategoriesToMD/multiple_releases_with_different_widgettype 242s === CONT TestExpandedCategoriesToMD/multiple_categories 242s === CONT TestGenerateExpandedCategories/different_choices 242s --- PASS: TestExpandedCategoriesToMD (0.00s) 242s --- PASS: TestExpandedCategoriesToMD/multiple_releases_with_different_choices (0.00s) 242s --- PASS: TestExpandedCategoriesToMD/no_meta_at_all (0.00s) 242s --- PASS: TestExpandedCategoriesToMD/decimal_with_range (0.00s) 242s --- PASS: TestExpandedCategoriesToMD/double (0.00s) 242s --- PASS: TestExpandedCategoriesToMD/choices (0.00s) 242s --- PASS: TestExpandedCategoriesToMD/decimal_with_min_only (0.00s) 242s --- PASS: TestExpandedCategoriesToMD/long_decimal (0.00s) 242s --- PASS: TestExpandedCategoriesToMD/user_policy (0.00s) 242s --- PASS: TestExpandedCategoriesToMD/simple (0.00s) 242s --- PASS: TestExpandedCategoriesToMD/nested_categories (0.00s) 242s --- PASS: TestExpandedCategoriesToMD/choices_with_default (0.00s) 242s --- PASS: TestExpandedCategoriesToMD/multiple_releases_with_all_widgets_and_different_defaults (0.01s) 242s --- PASS: TestExpandedCategoriesToMD/array_of_strings (0.00s) 242s --- PASS: TestExpandedCategoriesToMD/nested_categories,_classes_and_empty (0.01s) 242s --- PASS: TestExpandedCategoriesToMD/multiple_releases_with_different_ranges (0.01s) 242s --- PASS: TestExpandedCategoriesToMD/boolean (0.00s) 242s --- PASS: TestExpandedCategoriesToMD/error_on_destination_creation (0.00s) 242s --- PASS: TestExpandedCategoriesToMD/no_meta_disabled (0.00s) 242s --- PASS: TestExpandedCategoriesToMD/array_of_integers (0.00s) 242s --- PASS: TestExpandedCategoriesToMD/decimal (0.01s) 242s --- PASS: TestExpandedCategoriesToMD/basic_key (0.00s) 242s --- PASS: TestExpandedCategoriesToMD/decimal_with_max_only (0.00s) 242s --- PASS: TestExpandedCategoriesToMD/double_with_range (0.00s) 242s --- PASS: TestExpandedCategoriesToMD/multiple_releases_for_one_key (0.00s) 242s --- PASS: TestExpandedCategoriesToMD/no_meta_enabled (0.00s) 242s --- PASS: TestExpandedCategoriesToMD/multiple_categories (0.00s) 242s --- PASS: TestExpandedCategoriesToMD/multiple_releases_with_different_widgettype (0.00s) 242s === CONT TestGenerateExpandedCategories/meta_is_overridden_by_disabled_key 242s internal_test.go:112: Serializing object for golden file 242s === CONT TestGenerateExpandedCategories/nested_categories 242s === NAME TestGenerateExpandedCategories/different_choices 242s internal_test.go:112: Serializing object for golden file 242s === NAME TestGenerateExpandedCategories/nested_categories 242s internal_test.go:112: Serializing object for golden file 242s === CONT TestGenerateExpandedCategories/different_range 242s internal_test.go:112: Serializing object for golden file 242s === CONT TestGenerateExpandedCategories/range 242s === CONT TestGenerateExpandedCategories/with_prefix 242s === NAME TestGenerateExpandedCategories/range 242s internal_test.go:112: Serializing object for golden file 242s === NAME TestGenerateExpandedCategories/with_prefix 242s internal_test.go:112: Serializing object for golden file 242s === CONT TestGenerateExpandedCategories/available_on_one_release_only 242s === CONT TestGenerateExpandedCategories/same_policy_used_in_two_categories_but_different_default_class 242s === NAME TestGenerateExpandedCategories/available_on_one_release_only 242s internal_test.go:112: Serializing object for golden file 242s === NAME TestGenerateExpandedCategories/same_policy_used_in_two_categories_but_different_default_class 242s internal_test.go:112: Serializing object for golden file 242s === CONT TestGenerateExpandedCategories/error_on_policy_not_attached_to_any_releases 242s === CONT TestGenerateExpandedCategories/error_on_different_policy_type 242s === CONT TestGenerateExpandedCategories/no_meta_disabled 242s === CONT TestGenerateExpandedCategories/different_meta 242s === NAME TestGenerateExpandedCategories/no_meta_disabled 242s internal_test.go:112: Serializing object for golden file 242s === CONT TestGenerateExpandedCategories/multiple_top_categories 242s === NAME TestGenerateExpandedCategories/different_meta 242s internal_test.go:112: Serializing object for golden file 242s === CONT TestGenerateExpandedCategories/applicable_to_all_releases 242s === NAME TestGenerateExpandedCategories/multiple_top_categories 242s internal_test.go:112: Serializing object for golden file 242s === CONT TestGenerateExpandedCategories/different_defaults 242s === NAME TestGenerateExpandedCategories/applicable_to_all_releases 242s internal_test.go:112: Serializing object for golden file 242s === NAME TestGenerateExpandedCategories/different_defaults 242s internal_test.go:112: Serializing object for golden file 242s === CONT TestGenerateExpandedCategories/error_on_key_independent_of_any_release_key_but_with_one_release_specified 242s === CONT TestGenerateExpandedCategories/error_on_one_policy_not_used 242s === CONT TestGenerateExpandedCategories/different_element_type 242s internal_test.go:112: Serializing object for golden file 242s === CONT TestGenerateExpandedCategories/choices 242s internal_test.go:112: Serializing object for golden file 242s === CONT TestGenerateExpandedCategories/no_note_strategy_append 242s internal_test.go:112: Serializing object for golden file 242s === CONT TestGenerateExpandedCategories/different_display_name 242s internal_test.go:112: Serializing object for golden file 242s === CONT TestGenerateExpandedCategories/basic 242s === CONT TestGenerateExpandedCategories/category_definition_doesn't_exist 242s === NAME TestGenerateExpandedCategories/basic 242s internal_test.go:112: Serializing object for golden file 242s === CONT TestGenerateExpandedCategories/meta_entry_only 242s === CONT TestGenerateExpandedCategories/error_on_missing_release 242s === NAME TestGenerateExpandedCategories/meta_entry_only 242s internal_test.go:112: Serializing object for golden file 242s === CONT TestGenerateExpandedCategories/requires_ubuntu_pro 242s === CONT TestGenerateExpandedCategories/no_note 242s === NAME TestGenerateExpandedCategories/requires_ubuntu_pro 242s internal_test.go:112: Serializing object for golden file 242s === NAME TestGenerateExpandedCategories/no_note 242s internal_test.go:112: Serializing object for golden file 242s === CONT TestGenerateExpandedCategories/same_default 242s === CONT TestGenerateExpandedCategories/use_policy_class_instead_of_category_default 242s internal_test.go:112: Serializing object for golden file 242s === CONT TestGenerateExpandedCategories/two_policies 242s === NAME TestGenerateExpandedCategories/same_default 242s internal_test.go:112: Serializing object for golden file 242s === CONT TestGenerateExpandedCategories/meta_is_overridden_by_enabled_key 242s internal_test.go:112: Serializing object for golden file 242s === CONT TestGenerateExpandedCategories/no_meta_at_all 242s === NAME TestGenerateExpandedCategories/two_policies 242s internal_test.go:112: Serializing object for golden file 242s === NAME TestGenerateExpandedCategories/no_meta_at_all 242s internal_test.go:112: Serializing object for golden file 242s === CONT TestGenerateExpandedCategories/allow_policy_referenced_but_not_available_in_any_releases 242s time="2025-10-31T03:51:37Z" level=warning msg="policy /org/gnome/desktop/policy-doesnotexit referenced in \"Category1 Display Name\" does not exist in any supported releases" 242s internal_test.go:112: Serializing object for golden file 242s === CONT TestGenerateExpandedCategories/policy_directory_doesn't_exist 242s === CONT TestGenerateExpandedCategories/error_on_empty_default_policy_class 242s === CONT TestGenerateExpandedCategories/error_on_invalid_default_policy_class 242s === CONT TestGenerateExpandedCategories/error_on_nested_category 242s === CONT TestGenerateExpandedCategories/error_on_different_class 242s === CONT TestGenerateExpandedCategories/default_policy_class_is_capitalized 242s === CONT TestGenerateExpandedCategories/no_defaults 242s === NAME TestGenerateExpandedCategories/default_policy_class_is_capitalized 242s internal_test.go:112: Serializing object for golden file 242s === CONT TestGenerateExpandedCategories/same_policy_used_in_two_categories 242s internal_test.go:112: Serializing object for golden file 242s === CONT TestGenerateExpandedCategories/different_explain_text 242s internal_test.go:112: Serializing object for golden file 242s === CONT TestGenerateExpandedCategories/simple 242s === NAME TestGenerateExpandedCategories/no_defaults 242s internal_test.go:112: Serializing object for golden file 242s === CONT TestGenerateExpandedCategories/error_on_unexisting_policy_referenced 242s === CONT TestGenerateExpandedCategories/no_meta_enabled 242s internal_test.go:112: Serializing object for golden file 242s === CONT TestExpandedCategoriesToADMX/decimal_with_min_only 242s === NAME TestGenerateExpandedCategories/simple 242s internal_test.go:112: Serializing object for golden file 242s --- PASS: TestGenerateExpandedCategories (0.00s) 242s --- PASS: TestGenerateExpandedCategories/meta_is_overridden_by_disabled_key (0.00s) 242s --- PASS: TestGenerateExpandedCategories/different_choices (0.00s) 242s --- PASS: TestGenerateExpandedCategories/different_range (0.00s) 242s --- PASS: TestGenerateExpandedCategories/nested_categories (0.00s) 242s --- PASS: TestGenerateExpandedCategories/range (0.00s) 242s --- PASS: TestGenerateExpandedCategories/with_prefix (0.00s) 242s --- PASS: TestGenerateExpandedCategories/available_on_one_release_only (0.00s) 242s --- PASS: TestGenerateExpandedCategories/same_policy_used_in_two_categories_but_different_default_class (0.00s) 242s --- PASS: TestGenerateExpandedCategories/error_on_policy_not_attached_to_any_releases (0.00s) 242s --- PASS: TestGenerateExpandedCategories/error_on_different_policy_type (0.00s) 242s --- PASS: TestGenerateExpandedCategories/no_meta_disabled (0.00s) 242s --- PASS: TestGenerateExpandedCategories/different_meta (0.00s) 242s --- PASS: TestGenerateExpandedCategories/multiple_top_categories (0.00s) 242s --- PASS: TestGenerateExpandedCategories/applicable_to_all_releases (0.00s) 242s --- PASS: TestGenerateExpandedCategories/error_on_key_independent_of_any_release_key_but_with_one_release_specified (0.00s) 242s --- PASS: TestGenerateExpandedCategories/error_on_one_policy_not_used (0.00s) 242s --- PASS: TestGenerateExpandedCategories/different_defaults (0.01s) 242s --- PASS: TestGenerateExpandedCategories/choices (0.00s) 242s --- PASS: TestGenerateExpandedCategories/no_note_strategy_append (0.00s) 242s --- PASS: TestGenerateExpandedCategories/different_element_type (0.00s) 242s --- PASS: TestGenerateExpandedCategories/different_display_name (0.00s) 242s --- PASS: TestGenerateExpandedCategories/basic (0.00s) 242s --- PASS: TestGenerateExpandedCategories/category_definition_doesn't_exist (0.00s) 242s --- PASS: TestGenerateExpandedCategories/error_on_missing_release (0.00s) 242s --- PASS: TestGenerateExpandedCategories/meta_entry_only (0.00s) 242s --- PASS: TestGenerateExpandedCategories/no_note (0.00s) 242s --- PASS: TestGenerateExpandedCategories/requires_ubuntu_pro (0.00s) 242s --- PASS: TestGenerateExpandedCategories/use_policy_class_instead_of_category_default (0.00s) 242s --- PASS: TestGenerateExpandedCategories/same_default (0.00s) 242s --- PASS: TestGenerateExpandedCategories/meta_is_overridden_by_enabled_key (0.00s) 242s --- PASS: TestGenerateExpandedCategories/no_meta_at_all (0.00s) 242s --- PASS: TestGenerateExpandedCategories/allow_policy_referenced_but_not_available_in_any_releases (0.00s) 242s --- PASS: TestGenerateExpandedCategories/two_policies (0.00s) 242s --- PASS: TestGenerateExpandedCategories/error_on_empty_default_policy_class (0.00s) 242s --- PASS: TestGenerateExpandedCategories/policy_directory_doesn't_exist (0.00s) 242s --- PASS: TestGenerateExpandedCategories/error_on_invalid_default_policy_class (0.00s) 242s --- PASS: TestGenerateExpandedCategories/error_on_different_class (0.00s) 242s --- PASS: TestGenerateExpandedCategories/error_on_nested_category (0.00s) 242s --- PASS: TestGenerateExpandedCategories/default_policy_class_is_capitalized (0.00s) 242s --- PASS: TestGenerateExpandedCategories/same_policy_used_in_two_categories (0.00s) 242s --- PASS: TestGenerateExpandedCategories/different_explain_text (0.00s) 242s --- PASS: TestGenerateExpandedCategories/no_defaults (0.01s) 242s --- PASS: TestGenerateExpandedCategories/error_on_unexisting_policy_referenced (0.00s) 242s --- PASS: TestGenerateExpandedCategories/no_meta_enabled (0.00s) 242s --- PASS: TestGenerateExpandedCategories/simple (0.00s) 242s === CONT TestExpandedCategoriesToADMX/basic_key 242s === CONT TestExpandedCategoriesToADMX/no_meta_disabled 242s === CONT TestExpandedCategoriesToADMX/multiple_releases_with_different_choices 242s === CONT TestExpandedCategoriesToADMX/multiple_releases_with_different_widgettype 242s === CONT TestExpandedCategoriesToADMX/multiple_releases_for_one_key 242s === CONT TestExpandedCategoriesToADMX/choices_with_default 242s === CONT TestExpandedCategoriesToADMX/decimal_with_max_only 242s === CONT TestExpandedCategoriesToADMX/other_distro 242s === CONT TestExpandedCategoriesToADMX/multiple_categories 242s === CONT TestExpandedCategoriesToADMX/error_on_destination_creation 242s === CONT TestExpandedCategoriesToADMX/no_meta_enabled 242s === CONT TestExpandedCategoriesToADMX/double 242s === CONT TestExpandedCategoriesToADMX/array_of_strings 242s === CONT TestExpandedCategoriesToADMX/nested_categories 242s === CONT TestExpandedCategoriesToADMX/simple 242s === CONT TestExpandedCategoriesToADMX/choices 242s === CONT TestExpandedCategoriesToADMX/array_of_integers 242s === CONT TestExpandedCategoriesToADMX/boolean 242s === CONT TestExpandedCategoriesToADMX/decimal_with_range 242s === CONT TestExpandedCategoriesToADMX/decimal 242s === CONT TestExpandedCategoriesToADMX/no_meta_at_all 242s === CONT TestExpandedCategoriesToADMX/multiple_releases_with_all_widgets_and_different_defaults 242s === CONT TestExpandedCategoriesToADMX/multiple_releases_with_different_ranges 242s === CONT TestExpandedCategoriesToADMX/double_with_range 242s --- PASS: TestExpandedCategoriesToADMX (0.00s) 242s --- PASS: TestExpandedCategoriesToADMX/long_decimal (0.00s) 242s --- PASS: TestExpandedCategoriesToADMX/decimal_with_min_only (0.00s) 242s --- PASS: TestExpandedCategoriesToADMX/no_meta_disabled (0.00s) 242s --- PASS: TestExpandedCategoriesToADMX/basic_key (0.00s) 242s --- PASS: TestExpandedCategoriesToADMX/multiple_releases_with_different_choices (0.00s) 242s --- PASS: TestExpandedCategoriesToADMX/multiple_releases_with_different_widgettype (0.01s) 242s --- PASS: TestExpandedCategoriesToADMX/multiple_releases_for_one_key (0.01s) 242s --- PASS: TestExpandedCategoriesToADMX/decimal_with_max_only (0.00s) 242s --- PASS: TestExpandedCategoriesToADMX/choices_with_default (0.00s) 242s --- PASS: TestExpandedCategoriesToADMX/other_distro (0.00s) 242s --- PASS: TestExpandedCategoriesToADMX/error_on_destination_creation (0.00s) 242s --- PASS: TestExpandedCategoriesToADMX/multiple_categories (0.00s) 242s --- PASS: TestExpandedCategoriesToADMX/no_meta_enabled (0.00s) 242s --- PASS: TestExpandedCategoriesToADMX/double (0.00s) 242s --- PASS: TestExpandedCategoriesToADMX/array_of_strings (0.00s) 242s --- PASS: TestExpandedCategoriesToADMX/simple (0.00s) 242s --- PASS: TestExpandedCategoriesToADMX/nested_categories (0.01s) 242s --- PASS: TestExpandedCategoriesToADMX/array_of_integers (0.00s) 242s --- PASS: TestExpandedCategoriesToADMX/boolean (0.00s) 242s --- PASS: TestExpandedCategoriesToADMX/choices (0.01s) 242s --- PASS: TestExpandedCategoriesToADMX/decimal_with_range (0.01s) 242s --- PASS: TestExpandedCategoriesToADMX/decimal (0.00s) 242s --- PASS: TestExpandedCategoriesToADMX/multiple_releases_with_all_widgets_and_different_defaults (0.00s) 242s --- PASS: TestExpandedCategoriesToADMX/no_meta_at_all (0.00s) 242s --- PASS: TestExpandedCategoriesToADMX/multiple_releases_with_different_ranges (0.00s) 242s --- PASS: TestExpandedCategoriesToADMX/double_with_range (0.00s) 242s PASS 242s ok github.com/ubuntu/adsys/internal/ad/admxgen 0.180s 242s === RUN TestGenerate 242s === PAUSE TestGenerate 242s === CONT TestGenerate 242s === RUN TestGenerate/One_decimal_key_with_range 242s === PAUSE TestGenerate/One_decimal_key_with_range 242s === RUN TestGenerate/One_decimal_key_with_max_only 242s === PAUSE TestGenerate/One_decimal_key_with_max_only 242s === RUN TestGenerate/Long_decimal_key_with_range_min_gt_0 242s === PAUSE TestGenerate/Long_decimal_key_with_range_min_gt_0 242s === RUN TestGenerate/Empty 242s === PAUSE TestGenerate/Empty 242s === RUN TestGenerate/Enum_does_not_exist 242s === PAUSE TestGenerate/Enum_does_not_exist 242s === RUN TestGenerate/Invalid_class 242s === PAUSE TestGenerate/Invalid_class 242s === RUN TestGenerate/Key_with_class 242s === PAUSE TestGenerate/Key_with_class 242s === RUN TestGenerate/Array_of_strings 242s === PAUSE TestGenerate/Array_of_strings 242s === RUN TestGenerate/Override_without_session 242s === PAUSE TestGenerate/Override_without_session 242s === RUN TestGenerate/Override_with_no_matching_session_defaults_to_root_override 242s === PAUSE TestGenerate/Override_with_no_matching_session_defaults_to_root_override 242s === RUN TestGenerate/No_key_on_system 242s === PAUSE TestGenerate/No_key_on_system 242s === RUN TestGenerate/Unsupported_key_type 242s === PAUSE TestGenerate/Unsupported_key_type 242s === RUN TestGenerate/Long_decimal_key 242s === PAUSE TestGenerate/Long_decimal_key 242s === RUN TestGenerate/Invalid_override_files_are_skipped 242s === PAUSE TestGenerate/Invalid_override_files_are_skipped 242s === RUN TestGenerate/Description_starting_with_deprecated_mixed_case_is_ignored 242s === PAUSE TestGenerate/Description_starting_with_deprecated_mixed_case_is_ignored 242s === RUN TestGenerate/Description_starting_with_obsolete_is_ignored 242s === PAUSE TestGenerate/Description_starting_with_obsolete_is_ignored 242s === RUN TestGenerate/Same_key_relocated_twice 242s === PAUSE TestGenerate/Same_key_relocated_twice 242s === RUN TestGenerate/Override_default_to_second_if_first_not_present 242s === PAUSE TestGenerate/Override_default_to_second_if_first_not_present 242s === RUN TestGenerate/Description_containing_deprecated_without_starting_by_it_is_not_ignored 242s === PAUSE TestGenerate/Description_containing_deprecated_without_starting_by_it_is_not_ignored 242s === RUN TestGenerate/NaN_min 242s === PAUSE TestGenerate/NaN_min 242s === RUN TestGenerate/Override_takes_first_session 242s === PAUSE TestGenerate/Override_takes_first_session 242s === RUN TestGenerate/Choices_are_loaded 242s === PAUSE TestGenerate/Choices_are_loaded 242s === RUN TestGenerate/Enums_in_other_files_are_converted_to_choices 242s === PAUSE TestGenerate/Enums_in_other_files_are_converted_to_choices 242s === RUN TestGenerate/Invalid_schema_files 242s === PAUSE TestGenerate/Invalid_schema_files 242s === RUN TestGenerate/Override_without_session_takes_default 242s === PAUSE TestGenerate/Override_without_session_takes_default 242s === RUN TestGenerate/Relocatable_key_overridden 242s === PAUSE TestGenerate/Relocatable_key_overridden 242s === RUN TestGenerate/One_boolean_key 242s === PAUSE TestGenerate/One_boolean_key 242s === RUN TestGenerate/One_decimal_key 242s === PAUSE TestGenerate/One_decimal_key 242s === RUN TestGenerate/One_decimal_key_with_min_only 242s === PAUSE TestGenerate/One_decimal_key_with_min_only 242s === RUN TestGenerate/Long_decimal_key_with_range_min_lt_0 242s === PAUSE TestGenerate/Long_decimal_key_with_range_min_lt_0 242s === RUN TestGenerate/Array_of_integers 242s === PAUSE TestGenerate/Array_of_integers 242s === RUN TestGenerate/Double_key 242s === PAUSE TestGenerate/Double_key 242s === RUN TestGenerate/Inlined_Enums_are_converted_to_choices 242s === PAUSE TestGenerate/Inlined_Enums_are_converted_to_choices 242s === RUN TestGenerate/Invalid_min 242s === PAUSE TestGenerate/Invalid_min 242s === RUN TestGenerate/One_text_key 242s === PAUSE TestGenerate/One_text_key 242s === RUN TestGenerate/Overridden_by_multiple_files,_last_wins 242s === PAUSE TestGenerate/Overridden_by_multiple_files,_last_wins 242s === RUN TestGenerate/Valid_class_should_be_capitalized 242s === PAUSE TestGenerate/Valid_class_should_be_capitalized 242s === RUN TestGenerate/Relocatable_key 242s === PAUSE TestGenerate/Relocatable_key 242s === RUN TestGenerate/Double_key_with_range 242s === PAUSE TestGenerate/Double_key_with_range 242s === RUN TestGenerate/Override_with_session_takes_session_override 242s === PAUSE TestGenerate/Override_with_session_takes_session_override 242s === RUN TestGenerate/Description_starting_with_deprecated_is_ignored 242s === PAUSE TestGenerate/Description_starting_with_deprecated_is_ignored 242s === RUN TestGenerate/Malformed_XML_declaration_is_successfully_parsed 242s === PAUSE TestGenerate/Malformed_XML_declaration_is_successfully_parsed 242s === RUN TestGenerate/Missing_XML_declaration_is_successfully_parsed 242s === PAUSE TestGenerate/Missing_XML_declaration_is_successfully_parsed 242s === CONT TestGenerate/One_decimal_key_with_range 242s === CONT TestGenerate/Enums_in_other_files_are_converted_to_choices 242s dconf_test.go:106: Serializing object for golden file 242s === CONT TestGenerate/Missing_XML_declaration_is_successfully_parsed 242s dconf_test.go:106: Serializing object for golden file 242s === CONT TestGenerate/Malformed_XML_declaration_is_successfully_parsed 242s === NAME TestGenerate/One_decimal_key_with_range 242s dconf_test.go:106: Serializing object for golden file 242s === CONT TestGenerate/Choices_are_loaded 242s === NAME TestGenerate/Malformed_XML_declaration_is_successfully_parsed 242s dconf_test.go:106: Serializing object for golden file 242s === CONT TestGenerate/Description_starting_with_deprecated_is_ignored 242s time="2025-10-31T03:51:38Z" level=warning msg="dconf key \"com.ubuntu.with.deprecated\":\"/com/ubuntu/with-deprecated/deprecated\" is deprecated. Ignoring" 242s dconf_test.go:106: Serializing object for golden file 242s === CONT TestGenerate/Override_takes_first_session 242s === NAME TestGenerate/Choices_are_loaded 242s dconf_test.go:106: Serializing object for golden file 242s === CONT TestGenerate/NaN_min 242s === CONT TestGenerate/Description_containing_deprecated_without_starting_by_it_is_not_ignored 242s dconf_test.go:106: Serializing object for golden file 242s === CONT TestGenerate/Override_default_to_second_if_first_not_present 242s === NAME TestGenerate/Override_takes_first_session 242s dconf_test.go:106: Serializing object for golden file 242s === CONT TestGenerate/Same_key_relocated_twice 242s dconf_test.go:106: Serializing object for golden file 242s === NAME TestGenerate/Override_default_to_second_if_first_not_present 242s dconf_test.go:106: Serializing object for golden file 242s === CONT TestGenerate/Description_starting_with_obsolete_is_ignored 242s time="2025-10-31T03:51:38Z" level=warning msg="dconf key \"com.ubuntu.with.deprecated\":\"/com/ubuntu/with-deprecated/obsolete\" is deprecated. Ignoring" 242s === CONT TestGenerate/Description_starting_with_deprecated_mixed_case_is_ignored 242s === NAME TestGenerate/Description_starting_with_obsolete_is_ignored 242s dconf_test.go:106: Serializing object for golden file 242s === CONT TestGenerate/Invalid_override_files_are_skipped 242s time="2025-10-31T03:51:38Z" level=warning msg="dconf key \"com.ubuntu.with.deprecated\":\"/com/ubuntu/with-deprecated/deprecated-different-cases\" is deprecated. Ignoring" 242s === NAME TestGenerate/Description_starting_with_deprecated_mixed_case_is_ignored 242s dconf_test.go:106: Serializing object for golden file 242s === CONT TestGenerate/Long_decimal_key 242s time="2025-10-31T03:51:38Z" 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" 242s dconf_test.go:106: Serializing object for golden file 242s === CONT TestGenerate/Unsupported_key_type 242s === CONT TestGenerate/No_key_on_system 242s === NAME TestGenerate/Invalid_override_files_are_skipped 242s dconf_test.go:106: Serializing object for golden file 242s === CONT TestGenerate/Override_with_no_matching_session_defaults_to_root_override 242s dconf_test.go:106: Serializing object for golden file 242s === CONT TestGenerate/Override_without_session 242s dconf_test.go:106: Serializing object for golden file 242s === CONT TestGenerate/Array_of_strings 242s time="2025-10-31T03:51:38Z" level=warning msg="dconf entry \"/com/ubuntu/simple/non-existent\" is not available on this machine" 242s === NAME TestGenerate/No_key_on_system 242s dconf_test.go:106: Serializing object for golden file 242s === CONT TestGenerate/Key_with_class 242s dconf_test.go:106: Serializing object for golden file 242s === CONT TestGenerate/Invalid_class 242s === NAME TestGenerate/Array_of_strings 242s dconf_test.go:106: Serializing object for golden file 242s === CONT TestGenerate/Enum_does_not_exist 242s === CONT TestGenerate/Empty 242s === CONT TestGenerate/Long_decimal_key_with_range_min_gt_0 242s === NAME TestGenerate/Empty 242s dconf_test.go:106: Serializing object for golden file 242s === NAME TestGenerate/Long_decimal_key_with_range_min_gt_0 242s dconf_test.go:106: Serializing object for golden file 242s === CONT TestGenerate/One_decimal_key_with_max_only 242s === CONT TestGenerate/Double_key 242s === NAME TestGenerate/One_decimal_key_with_max_only 242s dconf_test.go:106: Serializing object for golden file 242s === CONT TestGenerate/Override_with_session_takes_session_override 242s === NAME TestGenerate/Double_key 242s dconf_test.go:106: Serializing object for golden file 242s === NAME TestGenerate/Override_with_session_takes_session_override 242s dconf_test.go:106: Serializing object for golden file 242s === CONT TestGenerate/Double_key_with_range 242s dconf_test.go:106: Serializing object for golden file 242s === CONT TestGenerate/Relocatable_key 242s === CONT TestGenerate/Valid_class_should_be_capitalized 242s === NAME TestGenerate/Relocatable_key 242s dconf_test.go:106: Serializing object for golden file 242s === NAME TestGenerate/Valid_class_should_be_capitalized 242s dconf_test.go:106: Serializing object for golden file 242s === CONT TestGenerate/Overridden_by_multiple_files,_last_wins 242s === CONT TestGenerate/One_text_key 242s dconf_test.go:106: Serializing object for golden file 242s === NAME TestGenerate/Overridden_by_multiple_files,_last_wins 242s dconf_test.go:106: Serializing object for golden file 242s === CONT TestGenerate/Invalid_min 242s === CONT TestGenerate/Inlined_Enums_are_converted_to_choices 242s dconf_test.go:106: Serializing object for golden file 242s === CONT TestGenerate/One_decimal_key 242s === CONT TestGenerate/Array_of_integers 242s dconf_test.go:106: Serializing object for golden file 242s === CONT TestGenerate/Long_decimal_key_with_range_min_lt_0 242s dconf_test.go:106: Serializing object for golden file 242s === NAME TestGenerate/One_decimal_key 242s dconf_test.go:106: Serializing object for golden file 242s === CONT TestGenerate/One_decimal_key_with_min_only 242s dconf_test.go:106: Serializing object for golden file 242s === CONT TestGenerate/Relocatable_key_overridden 242s dconf_test.go:106: Serializing object for golden file 242s === CONT TestGenerate/One_boolean_key 242s dconf_test.go:106: Serializing object for golden file 242s === CONT TestGenerate/Override_without_session_takes_default 242s === CONT TestGenerate/Invalid_schema_files 242s === NAME TestGenerate/Override_without_session_takes_default 242s dconf_test.go:106: Serializing object for golden file 242s --- PASS: TestGenerate (0.00s) 242s --- PASS: TestGenerate/Enums_in_other_files_are_converted_to_choices (0.00s) 242s --- PASS: TestGenerate/Missing_XML_declaration_is_successfully_parsed (0.00s) 242s --- PASS: TestGenerate/One_decimal_key_with_range (0.00s) 242s --- PASS: TestGenerate/Malformed_XML_declaration_is_successfully_parsed (0.00s) 242s --- PASS: TestGenerate/Description_starting_with_deprecated_is_ignored (0.00s) 242s --- PASS: TestGenerate/Choices_are_loaded (0.00s) 242s --- PASS: TestGenerate/NaN_min (0.00s) 242s --- PASS: TestGenerate/Description_containing_deprecated_without_starting_by_it_is_not_ignored (0.00s) 242s --- PASS: TestGenerate/Override_takes_first_session (0.00s) 242s --- PASS: TestGenerate/Override_default_to_second_if_first_not_present (0.00s) 242s --- PASS: TestGenerate/Same_key_relocated_twice (0.00s) 242s --- PASS: TestGenerate/Description_starting_with_obsolete_is_ignored (0.00s) 242s --- PASS: TestGenerate/Description_starting_with_deprecated_mixed_case_is_ignored (0.00s) 242s --- PASS: TestGenerate/Long_decimal_key (0.00s) 242s --- PASS: TestGenerate/Unsupported_key_type (0.00s) 242s --- PASS: TestGenerate/Invalid_override_files_are_skipped (0.00s) 242s --- PASS: TestGenerate/Override_with_no_matching_session_defaults_to_root_override (0.00s) 242s --- PASS: TestGenerate/Override_without_session (0.00s) 242s --- PASS: TestGenerate/No_key_on_system (0.01s) 242s --- PASS: TestGenerate/Key_with_class (0.00s) 242s --- PASS: TestGenerate/Array_of_strings (0.00s) 242s --- PASS: TestGenerate/Invalid_class (0.00s) 242s --- PASS: TestGenerate/Enum_does_not_exist (0.00s) 242s --- PASS: TestGenerate/Empty (0.00s) 242s --- PASS: TestGenerate/Long_decimal_key_with_range_min_gt_0 (0.00s) 242s --- PASS: TestGenerate/One_decimal_key_with_max_only (0.00s) 242s --- PASS: TestGenerate/Override_with_session_takes_session_override (0.00s) 242s --- PASS: TestGenerate/Double_key_with_range (0.00s) 242s --- PASS: TestGenerate/Double_key (0.00s) 242s --- PASS: TestGenerate/Valid_class_should_be_capitalized (0.00s) 242s --- PASS: TestGenerate/Relocatable_key (0.00s) 242s --- PASS: TestGenerate/Overridden_by_multiple_files,_last_wins (0.00s) 242s --- PASS: TestGenerate/Invalid_min (0.00s) 242s --- PASS: TestGenerate/Inlined_Enums_are_converted_to_choices (0.00s) 242s --- PASS: TestGenerate/One_text_key (0.00s) 242s --- PASS: TestGenerate/Array_of_integers (0.00s) 242s --- PASS: TestGenerate/One_decimal_key (0.00s) 242s --- PASS: TestGenerate/Long_decimal_key_with_range_min_lt_0 (0.00s) 242s --- PASS: TestGenerate/One_decimal_key_with_min_only (0.00s) 242s --- PASS: TestGenerate/Relocatable_key_overridden (0.00s) 242s --- PASS: TestGenerate/One_boolean_key (0.00s) 242s --- PASS: TestGenerate/Invalid_schema_files (0.00s) 242s --- PASS: TestGenerate/Override_without_session_takes_default (0.00s) 242s PASS 242s ok github.com/ubuntu/adsys/internal/ad/admxgen/dconf 0.055s 242s === RUN TestSSSD 242s === PAUSE TestSSSD 242s === CONT TestSSSD 242s === RUN TestSSSD/SSSd_domain_can_not_match_ad_domain 242s === PAUSE TestSSSD/SSSd_domain_can_not_match_ad_domain 242s === RUN TestSSSD/Use_domain_from_section_if_no_ad_domain 242s === PAUSE TestSSSD/Use_domain_from_section_if_no_ad_domain 242s === RUN TestSSSD/Ignore_upper_cases_in_domain_name 242s === PAUSE TestSSSD/Ignore_upper_cases_in_domain_name 242s === RUN TestSSSD/Multiple_domains,_pick_first 242s === PAUSE TestSSSD/Multiple_domains,_pick_first 242s === RUN TestSSSD/Ad_server_defined_in_config_does_not_need_active_server 242s === PAUSE TestSSSD/Ad_server_defined_in_config_does_not_need_active_server 242s === RUN TestSSSD/Ad_server_starting_with_ldap_prefix_does_not_stutter 242s === PAUSE TestSSSD/Ad_server_starting_with_ldap_prefix_does_not_stutter 242s === RUN TestSSSD/Is_not_online 242s === PAUSE TestSSSD/Is_not_online 242s === RUN TestSSSD/Can_handle_special_DNS_domain_characters 242s === PAUSE TestSSSD/Can_handle_special_DNS_domain_characters 242s === RUN TestSSSD/No_sssd_conf_loads_the_default 242s === PAUSE TestSSSD/No_sssd_conf_loads_the_default 242s === RUN TestSSSD/Error_returned_by_ServerFQDN()_when_calls_is_erroring_out 242s === PAUSE TestSSSD/Error_returned_by_ServerFQDN()_when_calls_is_erroring_out 242s === RUN TestSSSD/Error_returned_by_IsOnline()__when_calls_is_erroring_out 242s === PAUSE TestSSSD/Error_returned_by_IsOnline()__when_calls_is_erroring_out 242s === RUN TestSSSD/Error_on_no_domains_field 242s === PAUSE TestSSSD/Error_on_no_domains_field 242s === RUN TestSSSD/Ad_server_defined_in_config_has_priority_over_active_server 242s === PAUSE TestSSSD/Ad_server_defined_in_config_has_priority_over_active_server 242s === RUN TestSSSD/Default_domain_suffix_is_read 242s === PAUSE TestSSSD/Default_domain_suffix_is_read 242s === RUN TestSSSD/Regular_config,_with_cache_dir 242s === PAUSE TestSSSD/Regular_config,_with_cache_dir 242s === RUN TestSSSD/Error_returned_by_ServerFQDN()_on_no_config_nor_active_server_provided 242s === PAUSE TestSSSD/Error_returned_by_ServerFQDN()_on_no_config_nor_active_server_provided 242s === RUN TestSSSD/Error_on_empty_domains_field 242s === PAUSE TestSSSD/Error_on_empty_domains_field 242s === RUN TestSSSD/Regular_config 242s === PAUSE TestSSSD/Regular_config 242s === RUN TestSSSD/ServerFQDN()_does_not_fail_when_we_do_not_need_an_active_server 242s === PAUSE TestSSSD/ServerFQDN()_does_not_fail_when_we_do_not_need_an_active_server 242s === RUN TestSSSD/Error_on_sssd_conf_does_not_exists 242s === PAUSE TestSSSD/Error_on_sssd_conf_does_not_exists 242s === RUN TestSSSD/Error_on_sssd_domain_empty_section 242s === PAUSE TestSSSD/Error_on_sssd_domain_empty_section 242s === RUN TestSSSD/Error_returned_by_ServerFQDN()_and_IsOnline()_when_DBUS_has_no_object 242s === PAUSE TestSSSD/Error_returned_by_ServerFQDN()_and_IsOnline()_when_DBUS_has_no_object 242s === RUN TestSSSD/Error_on_no_sssd_section 242s === PAUSE TestSSSD/Error_on_no_sssd_section 242s === RUN TestSSSD/Error_on_sssd_domain_section_missing 242s === PAUSE TestSSSD/Error_on_sssd_domain_section_missing 242s === CONT TestSSSD/SSSd_domain_can_not_match_ad_domain 242s === CONT TestSSSD/Error_on_sssd_domain_section_missing 242s === CONT TestSSSD/Error_on_no_sssd_section 242s === CONT TestSSSD/Error_returned_by_ServerFQDN()_and_IsOnline()_when_DBUS_has_no_object 242s === CONT TestSSSD/Error_on_sssd_domain_empty_section 242s === CONT TestSSSD/Error_on_sssd_conf_does_not_exists 242s === CONT TestSSSD/ServerFQDN()_does_not_fail_when_we_do_not_need_an_active_server 242s === CONT TestSSSD/Regular_config 242s === CONT TestSSSD/Error_on_empty_domains_field 242s === CONT TestSSSD/Error_returned_by_ServerFQDN()_on_no_config_nor_active_server_provided 242s === CONT TestSSSD/Regular_config,_with_cache_dir 242s === CONT TestSSSD/Default_domain_suffix_is_read 242s === CONT TestSSSD/Ad_server_defined_in_config_has_priority_over_active_server 242s === CONT TestSSSD/Error_on_no_domains_field 242s === CONT TestSSSD/Error_returned_by_IsOnline()__when_calls_is_erroring_out 242s === CONT TestSSSD/Error_returned_by_ServerFQDN()_when_calls_is_erroring_out 242s === CONT TestSSSD/No_sssd_conf_loads_the_default 242s === CONT TestSSSD/Can_handle_special_DNS_domain_characters 242s === CONT TestSSSD/Is_not_online 242s === CONT TestSSSD/Ad_server_starting_with_ldap_prefix_does_not_stutter 242s === CONT TestSSSD/Ad_server_defined_in_config_does_not_need_active_server 242s === CONT TestSSSD/Multiple_domains,_pick_first 242s === CONT TestSSSD/Ignore_upper_cases_in_domain_name 242s === CONT TestSSSD/Use_domain_from_section_if_no_ad_domain 242s --- PASS: TestSSSD (0.00s) 242s --- PASS: TestSSSD/Error_on_sssd_domain_section_missing (0.00s) 242s --- PASS: TestSSSD/Error_on_no_sssd_section (0.00s) 242s --- PASS: TestSSSD/Error_returned_by_ServerFQDN()_and_IsOnline()_when_DBUS_has_no_object (0.00s) 242s --- PASS: TestSSSD/Error_on_sssd_domain_empty_section (0.00s) 242s --- PASS: TestSSSD/Error_on_sssd_conf_does_not_exists (0.00s) 242s --- PASS: TestSSSD/SSSd_domain_can_not_match_ad_domain (0.00s) 242s --- PASS: TestSSSD/ServerFQDN()_does_not_fail_when_we_do_not_need_an_active_server (0.00s) 242s --- PASS: TestSSSD/Error_on_empty_domains_field (0.00s) 242s --- PASS: TestSSSD/Regular_config (0.00s) 242s --- PASS: TestSSSD/Error_returned_by_ServerFQDN()_on_no_config_nor_active_server_provided (0.00s) 242s --- PASS: TestSSSD/Default_domain_suffix_is_read (0.00s) 242s --- PASS: TestSSSD/Regular_config,_with_cache_dir (0.00s) 242s --- PASS: TestSSSD/Ad_server_defined_in_config_has_priority_over_active_server (0.00s) 242s --- PASS: TestSSSD/Error_on_no_domains_field (0.00s) 242s --- PASS: TestSSSD/Error_returned_by_IsOnline()__when_calls_is_erroring_out (0.00s) 242s --- PASS: TestSSSD/Error_returned_by_ServerFQDN()_when_calls_is_erroring_out (0.00s) 242s --- PASS: TestSSSD/No_sssd_conf_loads_the_default (0.00s) 242s --- PASS: TestSSSD/Is_not_online (0.00s) 242s --- PASS: TestSSSD/Can_handle_special_DNS_domain_characters (0.00s) 242s --- PASS: TestSSSD/Ad_server_defined_in_config_does_not_need_active_server (0.00s) 242s --- PASS: TestSSSD/Ad_server_starting_with_ldap_prefix_does_not_stutter (0.00s) 242s --- PASS: TestSSSD/Multiple_domains,_pick_first (0.00s) 242s --- PASS: TestSSSD/Ignore_upper_cases_in_domain_name (0.00s) 242s --- PASS: TestSSSD/Use_domain_from_section_if_no_ad_domain (0.00s) 242s PASS 242s ok github.com/ubuntu/adsys/internal/ad/backends/sss 0.036s 242s === RUN TestWinbind 242s winbind_test.go:25: Running subprocess with [/tmp/go-build2642643390/b584/winbind.test -test.testlogfile=/tmp/go-build2642643390/b584/testlog.txt -test.paniconexit0 -test.timeout=10m0s -test.v=true -test.run=TestWinbind] 242s === RUN TestWinbind 242s === RUN TestWinbind/Lookup_with_overridden_ad_server_with_LDAP_prefix 242s === RUN TestWinbind/Error_when_looking_up_domain 242s === RUN TestWinbind/Error_when_getting_online_status 242s === RUN TestWinbind/Error_when_requesting_krb5cc 242s === RUN TestWinbind/Lookup_with_overridden_ad_domain 242s === RUN TestWinbind/Lookup_with_different_hostname_is_successful 242s === RUN TestWinbind/Lookup_with_overridden_ad_server 242s === RUN TestWinbind/Error_when_looking_up_DC_name 242s === RUN TestWinbind/Error_when_domain_is_offline 242s === RUN TestWinbind/Lookup_is_successful 242s --- PASS: TestWinbind (0.10s) 242s --- PASS: TestWinbind/Lookup_with_overridden_ad_server_with_LDAP_prefix (0.01s) 242s --- PASS: TestWinbind/Error_when_looking_up_domain (0.00s) 242s --- PASS: TestWinbind/Error_when_getting_online_status (0.01s) 242s --- PASS: TestWinbind/Error_when_requesting_krb5cc (0.01s) 242s --- PASS: TestWinbind/Lookup_with_overridden_ad_domain (0.01s) 242s --- PASS: TestWinbind/Lookup_with_different_hostname_is_successful (0.01s) 242s --- PASS: TestWinbind/Lookup_with_overridden_ad_server (0.01s) 242s --- PASS: TestWinbind/Error_when_looking_up_DC_name (0.01s) 242s --- PASS: TestWinbind/Error_when_domain_is_offline (0.01s) 242s --- PASS: TestWinbind/Lookup_is_successful (0.01s) 242s PASS 242s --- PASS: TestWinbind (0.19s) 242s === RUN TestExecuteKinitCommand 242s --- PASS: TestExecuteKinitCommand (0.00s) 242s PASS 242s ok github.com/ubuntu/adsys/internal/ad/backends/winbind 0.200s 242s === RUN TestGetVersionID 242s === PAUSE TestGetVersionID 242s === CONT TestGetVersionID 242s === RUN TestGetVersionID/Read_VERSION_ID 242s === PAUSE TestGetVersionID/Read_VERSION_ID 242s === RUN TestGetVersionID/No_VERSION_ID_in_file 242s === PAUSE TestGetVersionID/No_VERSION_ID_in_file 242s === RUN TestGetVersionID/No_os-release_file 242s === PAUSE TestGetVersionID/No_os-release_file 242s === CONT TestGetVersionID/Read_VERSION_ID 242s === CONT TestGetVersionID/No_os-release_file 242s === CONT TestGetVersionID/No_VERSION_ID_in_file 242s --- PASS: TestGetVersionID (0.00s) 242s --- PASS: TestGetVersionID/Read_VERSION_ID (0.00s) 242s --- PASS: TestGetVersionID/No_os-release_file (0.00s) 242s --- PASS: TestGetVersionID/No_VERSION_ID_in_file (0.00s) 242s PASS 242s ok github.com/ubuntu/adsys/internal/ad/common 0.005s 242s === RUN TestReadPolicy 242s === PAUSE TestReadPolicy 242s === RUN TestDecodePolicy 242s === PAUSE TestDecodePolicy 242s === CONT TestReadPolicy 242s === RUN TestReadPolicy/very_large_gpo 242s === PAUSE TestReadPolicy/very_large_gpo 242s === RUN TestReadPolicy/empty_value 242s === PAUSE TestReadPolicy/empty_value 242s === RUN TestReadPolicy/one_element,_string_value 242s === PAUSE TestReadPolicy/one_element,_string_value 242s === RUN TestReadPolicy/two_elements 242s === PAUSE TestReadPolicy/two_elements 242s === RUN TestReadPolicy/section_separators_in_data 242s === PAUSE TestReadPolicy/section_separators_in_data 242s === RUN TestReadPolicy/exotic_return_type 242s === PAUSE TestReadPolicy/exotic_return_type 242s === RUN TestReadPolicy/empty_file 242s === PAUSE TestReadPolicy/empty_file 242s === RUN TestReadPolicy/section_not_closed 242s === PAUSE TestReadPolicy/section_not_closed 242s === RUN TestReadPolicy/semicolon_in_data 242s === PAUSE TestReadPolicy/semicolon_in_data 242s === RUN TestReadPolicy/no_header 242s === PAUSE TestReadPolicy/no_header 242s === RUN TestReadPolicy/missing_field 242s === PAUSE TestReadPolicy/missing_field 242s === RUN TestReadPolicy/key_is_not_utf16 242s === PAUSE TestReadPolicy/key_is_not_utf16 242s === RUN TestReadPolicy/value_is_not_utf16 242s === PAUSE TestReadPolicy/value_is_not_utf16 242s === RUN TestReadPolicy/one_element,_decimal_value 242s === PAUSE TestReadPolicy/one_element,_decimal_value 242s === RUN TestReadPolicy/invalid_header,_header_doesnt_match 242s === PAUSE TestReadPolicy/invalid_header,_header_doesnt_match 242s === RUN TestReadPolicy/invalid_header,_header_too_short 242s === PAUSE TestReadPolicy/invalid_header,_header_too_short 242s === RUN TestReadPolicy/invalid_header,_file_truncated 242s === PAUSE TestReadPolicy/invalid_header,_file_truncated 242s === RUN TestReadPolicy/header_only 242s === PAUSE TestReadPolicy/header_only 242s === RUN TestReadPolicy/empty_key 242s === PAUSE TestReadPolicy/empty_key 242s === RUN TestReadPolicy/memory_on_multiple_elements_dont_overlap 242s === PAUSE TestReadPolicy/memory_on_multiple_elements_dont_overlap 242s === CONT TestReadPolicy/very_large_gpo 242s === CONT TestDecodePolicy 242s === RUN TestDecodePolicy/invalid_header,_file_truncated 242s === PAUSE TestDecodePolicy/invalid_header,_file_truncated 242s === RUN TestDecodePolicy/key_is_not_utf16 242s === PAUSE TestDecodePolicy/key_is_not_utf16 242s === RUN TestDecodePolicy/basic_type_with_a_DISABLED_marker_keeps_meta_and_strategy 242s === PAUSE TestDecodePolicy/basic_type_with_a_DISABLED_marker_keeps_meta_and_strategy 242s === RUN TestDecodePolicy/container_with_missing_default_element_for_option_values_have_empty_strings 242s === PAUSE TestDecodePolicy/container_with_missing_default_element_for_option_values_have_empty_strings 242s === RUN TestDecodePolicy/container_with_meta_elements_and_default_without_value_on_options 242s === PAUSE TestDecodePolicy/container_with_meta_elements_and_default_without_value_on_options 242s === RUN TestDecodePolicy/empty_data 242s === PAUSE TestDecodePolicy/empty_data 242s === RUN TestDecodePolicy/invalid_container_default_values 242s === PAUSE TestDecodePolicy/invalid_container_default_values 242s === RUN TestDecodePolicy/disabled_container_disables_its_option_values 242s === PAUSE TestDecodePolicy/disabled_container_disables_its_option_values 242s === RUN TestDecodePolicy/exotic_return_type 242s === PAUSE TestDecodePolicy/exotic_return_type 242s === RUN TestDecodePolicy/basic_type_is_ignored_for_meta_of_wrong_type 242s === PAUSE TestDecodePolicy/basic_type_is_ignored_for_meta_of_wrong_type 242s === RUN TestDecodePolicy/invalid_header,_header_too_short 242s === PAUSE TestDecodePolicy/invalid_header,_header_too_short 242s === RUN TestDecodePolicy/basic_type,_disabled 242s === PAUSE TestDecodePolicy/basic_type,_disabled 242s === RUN TestDecodePolicy/container_with_default_elements_override_empty_option_values 242s === PAUSE TestDecodePolicy/container_with_default_elements_override_empty_option_values 242s === RUN TestDecodePolicy/disabled_container_with_values_needs_a_DISABLED_marker 242s === PAUSE TestDecodePolicy/disabled_container_with_values_needs_a_DISABLED_marker 242s === RUN TestDecodePolicy/disabled_container_with_values_still_keep_meta_and_strategy_with_a_DISABLED_marker 242s === PAUSE TestDecodePolicy/disabled_container_with_values_still_keep_meta_and_strategy_with_a_DISABLED_marker 242s === RUN TestDecodePolicy/two_containers_don’t_mix_their_default_values_even_when_second_has_none 242s === PAUSE TestDecodePolicy/two_containers_don’t_mix_their_default_values_even_when_second_has_none 242s === RUN TestDecodePolicy/section_separators_in_data 242s === PAUSE TestDecodePolicy/section_separators_in_data 242s === RUN TestDecodePolicy/header_only 242s === PAUSE TestDecodePolicy/header_only 242s === RUN TestDecodePolicy/one_element,_string_value 242s === PAUSE TestDecodePolicy/one_element,_string_value 242s === RUN TestDecodePolicy/one_element,_disabled 242s === PAUSE TestDecodePolicy/one_element,_disabled 242s === RUN TestDecodePolicy/basic_type,_enabled 242s === PAUSE TestDecodePolicy/basic_type,_enabled 242s === RUN TestDecodePolicy/container_with_default_elements_are_ignored_on_non_empty_option_values 242s === PAUSE TestDecodePolicy/container_with_default_elements_are_ignored_on_non_empty_option_values 242s === RUN TestDecodePolicy/container_with_meta_elements_and_value_on_options 242s === PAUSE TestDecodePolicy/container_with_meta_elements_and_value_on_options 242s === RUN TestDecodePolicy/one_container_with_2_children_don’t_mix_their_default_values 242s === PAUSE TestDecodePolicy/one_container_with_2_children_don’t_mix_their_default_values 242s === RUN TestDecodePolicy/invalid_decimal_value 242s === PAUSE TestDecodePolicy/invalid_decimal_value 242s === RUN TestDecodePolicy/no_header 242s === PAUSE TestDecodePolicy/no_header 242s === RUN TestDecodePolicy/empty_key 242s === PAUSE TestDecodePolicy/empty_key 242s === RUN TestDecodePolicy/one_element,_multitext_value 242s === PAUSE TestDecodePolicy/one_element,_multitext_value 242s === RUN TestDecodePolicy/basic_type_with_default_value_has_value_filed_in 242s === PAUSE TestDecodePolicy/basic_type_with_default_value_has_value_filed_in 242s === RUN TestDecodePolicy/basic_type_with_default_value_needs_a_DISABLED_marker 242s === PAUSE TestDecodePolicy/basic_type_with_default_value_needs_a_DISABLED_marker 242s === RUN TestDecodePolicy/value_is_not_utf16 242s === PAUSE TestDecodePolicy/value_is_not_utf16 242s === RUN TestDecodePolicy/two_elements 242s === PAUSE TestDecodePolicy/two_elements 242s === RUN TestDecodePolicy/basic_type_with_strategy 242s === PAUSE TestDecodePolicy/basic_type_with_strategy 242s === RUN TestDecodePolicy/container_with_default_elements_are_ignored_on_int_option_values_(always_have_values) 242s === PAUSE TestDecodePolicy/container_with_default_elements_are_ignored_on_int_option_values_(always_have_values) 242s === RUN TestDecodePolicy/one_container_with_2_children_don’t_mix_their_meta_values 242s === PAUSE TestDecodePolicy/one_container_with_2_children_don’t_mix_their_meta_values 242s === RUN TestDecodePolicy/null_character_in_data 242s === PAUSE TestDecodePolicy/null_character_in_data 242s === RUN TestDecodePolicy/missing_field 242s === PAUSE TestDecodePolicy/missing_field 242s === RUN TestDecodePolicy/two_containers_don’t_mix_their_default_values_when_redefined 242s === PAUSE TestDecodePolicy/two_containers_don’t_mix_their_default_values_when_redefined 242s === RUN TestDecodePolicy/policy_container_is_ignored_for_meta_of_wrong_type 242s === PAUSE TestDecodePolicy/policy_container_is_ignored_for_meta_of_wrong_type 242s === RUN TestDecodePolicy/invalid_header,_header_doesnt_match 242s === PAUSE TestDecodePolicy/invalid_header,_header_doesnt_match 242s === RUN TestDecodePolicy/empty_file 242s === PAUSE TestDecodePolicy/empty_file 242s === RUN TestDecodePolicy/section_not_closed 242s === PAUSE TestDecodePolicy/section_not_closed 242s === RUN TestDecodePolicy/one_element,_decimal_value 242s === PAUSE TestDecodePolicy/one_element,_decimal_value 242s === RUN TestDecodePolicy/container_strategy_is_reflected_on_child 242s === PAUSE TestDecodePolicy/container_strategy_is_reflected_on_child 242s === RUN TestDecodePolicy/disabled_container_with_disabled_option_values 242s === PAUSE TestDecodePolicy/disabled_container_with_disabled_option_values 242s === RUN TestDecodePolicy/container_without_metavalues 242s === PAUSE TestDecodePolicy/container_without_metavalues 242s === RUN TestDecodePolicy/two_containers_don’t_mix_their_meta_values,_even_if_second_has_none 242s === PAUSE TestDecodePolicy/two_containers_don’t_mix_their_meta_values,_even_if_second_has_none 242s === RUN TestDecodePolicy/semicolon_in_data 242s === PAUSE TestDecodePolicy/semicolon_in_data 242s === RUN TestDecodePolicy/empty_value 242s === PAUSE TestDecodePolicy/empty_value 242s === CONT TestReadPolicy/key_is_not_utf16 242s === CONT TestDecodePolicy/invalid_header,_file_truncated 242s === CONT TestReadPolicy/memory_on_multiple_elements_dont_overlap 242s === CONT TestReadPolicy/empty_key 242s === CONT TestReadPolicy/header_only 242s === CONT TestReadPolicy/invalid_header,_file_truncated 242s === CONT TestReadPolicy/invalid_header,_header_too_short 242s === CONT TestReadPolicy/invalid_header,_header_doesnt_match 242s === CONT TestReadPolicy/one_element,_decimal_value 242s === CONT TestReadPolicy/value_is_not_utf16 242s === CONT TestDecodePolicy/empty_value 242s === CONT TestDecodePolicy/semicolon_in_data 242s === CONT TestDecodePolicy/two_containers_don’t_mix_their_meta_values,_even_if_second_has_none 242s === CONT TestDecodePolicy/container_without_metavalues 242s === CONT TestDecodePolicy/disabled_container_with_disabled_option_values 242s === CONT TestDecodePolicy/container_strategy_is_reflected_on_child 242s === CONT TestDecodePolicy/one_element,_decimal_value 242s === CONT TestDecodePolicy/section_not_closed 242s === CONT TestDecodePolicy/empty_file 242s === CONT TestDecodePolicy/invalid_header,_header_doesnt_match 242s === CONT TestDecodePolicy/policy_container_is_ignored_for_meta_of_wrong_type 242s === CONT TestDecodePolicy/two_containers_don’t_mix_their_default_values_when_redefined 242s === CONT TestDecodePolicy/missing_field 242s === CONT TestDecodePolicy/null_character_in_data 242s === CONT TestDecodePolicy/one_container_with_2_children_don’t_mix_their_meta_values 242s === CONT TestDecodePolicy/container_with_default_elements_are_ignored_on_int_option_values_(always_have_values) 242s === CONT TestDecodePolicy/basic_type_with_strategy 242s === CONT TestDecodePolicy/two_elements 242s === CONT TestDecodePolicy/value_is_not_utf16 242s === CONT TestDecodePolicy/basic_type_with_default_value_needs_a_DISABLED_marker 242s === CONT TestDecodePolicy/basic_type_with_default_value_has_value_filed_in 242s === CONT TestDecodePolicy/one_element,_multitext_value 242s === CONT TestDecodePolicy/empty_key 242s === CONT TestDecodePolicy/no_header 242s === CONT TestDecodePolicy/invalid_decimal_value 242s === CONT TestDecodePolicy/one_container_with_2_children_don’t_mix_their_default_values 242s === CONT TestDecodePolicy/container_with_meta_elements_and_value_on_options 242s === CONT TestDecodePolicy/container_with_default_elements_are_ignored_on_non_empty_option_values 242s === CONT TestDecodePolicy/basic_type,_enabled 242s === CONT TestDecodePolicy/one_element,_disabled 242s === CONT TestDecodePolicy/one_element,_string_value 242s === CONT TestDecodePolicy/header_only 242s === CONT TestDecodePolicy/section_separators_in_data 242s === CONT TestDecodePolicy/two_containers_don’t_mix_their_default_values_even_when_second_has_none 242s === CONT TestDecodePolicy/disabled_container_with_values_still_keep_meta_and_strategy_with_a_DISABLED_marker 242s === CONT TestDecodePolicy/disabled_container_with_values_needs_a_DISABLED_marker 242s === CONT TestDecodePolicy/container_with_default_elements_override_empty_option_values 242s === CONT TestDecodePolicy/basic_type,_disabled 242s === CONT TestDecodePolicy/invalid_header,_header_too_short 242s === CONT TestDecodePolicy/basic_type_is_ignored_for_meta_of_wrong_type 242s === CONT TestDecodePolicy/exotic_return_type 242s === CONT TestDecodePolicy/disabled_container_disables_its_option_values 242s === CONT TestDecodePolicy/invalid_container_default_values 242s === CONT TestDecodePolicy/empty_data 242s === CONT TestDecodePolicy/container_with_meta_elements_and_default_without_value_on_options 242s === CONT TestDecodePolicy/container_with_missing_default_element_for_option_values_have_empty_strings 242s === CONT TestDecodePolicy/basic_type_with_a_DISABLED_marker_keeps_meta_and_strategy 242s === CONT TestDecodePolicy/key_is_not_utf16 242s === CONT TestReadPolicy/empty_file 242s === CONT TestReadPolicy/missing_field 242s --- PASS: TestDecodePolicy (0.00s) 242s --- PASS: TestDecodePolicy/invalid_header,_file_truncated (0.00s) 242s --- PASS: TestDecodePolicy/empty_value (0.00s) 242s --- PASS: TestDecodePolicy/semicolon_in_data (0.00s) 242s --- PASS: TestDecodePolicy/two_containers_don’t_mix_their_meta_values,_even_if_second_has_none (0.00s) 242s --- PASS: TestDecodePolicy/container_without_metavalues (0.00s) 242s --- PASS: TestDecodePolicy/disabled_container_with_disabled_option_values (0.00s) 242s --- PASS: TestDecodePolicy/container_strategy_is_reflected_on_child (0.00s) 242s --- PASS: TestDecodePolicy/one_element,_decimal_value (0.00s) 242s --- PASS: TestDecodePolicy/section_not_closed (0.00s) 242s --- PASS: TestDecodePolicy/empty_file (0.00s) 242s --- PASS: TestDecodePolicy/invalid_header,_header_doesnt_match (0.00s) 242s --- PASS: TestDecodePolicy/policy_container_is_ignored_for_meta_of_wrong_type (0.00s) 242s --- PASS: TestDecodePolicy/two_containers_don’t_mix_their_default_values_when_redefined (0.00s) 242s --- PASS: TestDecodePolicy/missing_field (0.00s) 242s --- PASS: TestDecodePolicy/null_character_in_data (0.00s) 242s --- PASS: TestDecodePolicy/container_with_default_elements_are_ignored_on_int_option_values_(always_have_values) (0.00s) 242s --- PASS: TestDecodePolicy/one_container_with_2_children_don’t_mix_their_meta_values (0.00s) 242s --- PASS: TestDecodePolicy/two_elements (0.00s) 242s --- PASS: TestDecodePolicy/value_is_not_utf16 (0.00s) 242s --- PASS: TestDecodePolicy/basic_type_with_default_value_needs_a_DISABLED_marker (0.00s) 242s --- PASS: TestDecodePolicy/basic_type_with_default_value_has_value_filed_in (0.00s) 242s --- PASS: TestDecodePolicy/one_element,_multitext_value (0.00s) 242s --- PASS: TestDecodePolicy/empty_key (0.00s) 242s --- PASS: TestDecodePolicy/no_header (0.00s) 242s --- PASS: TestDecodePolicy/invalid_decimal_value (0.00s) 242s --- PASS: TestDecodePolicy/one_container_with_2_children_don’t_mix_their_default_values (0.00s) 242s --- PASS: TestDecodePolicy/container_with_meta_elements_and_value_on_options (0.00s) 242s --- PASS: TestDecodePolicy/basic_type_with_strategy (0.00s) 242s --- PASS: TestDecodePolicy/container_with_default_elements_are_ignored_on_non_empty_option_values (0.00s) 242s --- PASS: TestDecodePolicy/basic_type,_enabled (0.00s) 242s --- PASS: TestDecodePolicy/one_element,_disabled (0.00s) 242s --- PASS: TestDecodePolicy/header_only (0.00s) 242s --- PASS: TestDecodePolicy/section_separators_in_data (0.00s) 242s --- PASS: TestDecodePolicy/two_containers_don’t_mix_their_default_values_even_when_second_has_none (0.00s) 242s --- PASS: TestDecodePolicy/disabled_container_with_values_still_keep_meta_and_strategy_with_a_DISABLED_marker (0.00s) 242s --- PASS: TestDecodePolicy/disabled_container_with_values_needs_a_DISABLED_marker (0.00s) 242s --- PASS: TestDecodePolicy/container_with_default_elements_override_empty_option_values (0.00s) 242s --- PASS: TestDecodePolicy/basic_type,_disabled (0.00s) 242s --- PASS: TestDecodePolicy/invalid_header,_header_too_short (0.00s) 242s --- PASS: TestDecodePolicy/one_element,_string_value (0.00s) 242s --- PASS: TestDecodePolicy/exotic_return_type (0.00s) 242s --- PASS: TestDecodePolicy/disabled_container_disables_its_option_values (0.00s) 242s --- PASS: TestDecodePolicy/invalid_container_default_values (0.00s) 242s --- PASS: TestDecodePolicy/basic_type_is_ignored_for_meta_of_wrong_type (0.00s) 242s --- PASS: TestDecodePolicy/empty_data (0.00s) 242s --- PASS: TestDecodePolicy/container_with_meta_elements_and_default_without_value_on_options (0.00s) 242s --- PASS: TestDecodePolicy/container_with_missing_default_element_for_option_values_have_empty_strings (0.00s) 242s --- PASS: TestDecodePolicy/key_is_not_utf16 (0.00s) 242s --- PASS: TestDecodePolicy/basic_type_with_a_DISABLED_marker_keeps_meta_and_strategy (0.00s) 242s === CONT TestReadPolicy/no_header 242s === CONT TestReadPolicy/semicolon_in_data 242s === CONT TestReadPolicy/section_not_closed 242s === CONT TestReadPolicy/two_elements 242s === CONT TestReadPolicy/exotic_return_type 242s === CONT TestReadPolicy/section_separators_in_data 242s === CONT TestReadPolicy/one_element,_string_value 242s === CONT TestReadPolicy/empty_value 242s --- PASS: TestReadPolicy (0.00s) 242s --- PASS: TestReadPolicy/key_is_not_utf16 (0.00s) 242s --- PASS: TestReadPolicy/memory_on_multiple_elements_dont_overlap (0.00s) 242s --- PASS: TestReadPolicy/empty_key (0.00s) 242s --- PASS: TestReadPolicy/header_only (0.00s) 242s --- PASS: TestReadPolicy/invalid_header,_file_truncated (0.00s) 242s --- PASS: TestReadPolicy/invalid_header,_header_too_short (0.00s) 242s --- PASS: TestReadPolicy/invalid_header,_header_doesnt_match (0.00s) 242s --- PASS: TestReadPolicy/one_element,_decimal_value (0.00s) 242s --- PASS: TestReadPolicy/value_is_not_utf16 (0.00s) 242s --- PASS: TestReadPolicy/very_large_gpo (0.01s) 242s --- PASS: TestReadPolicy/empty_file (0.00s) 242s --- PASS: TestReadPolicy/no_header (0.00s) 242s --- PASS: TestReadPolicy/missing_field (0.00s) 242s --- PASS: TestReadPolicy/section_not_closed (0.00s) 242s --- PASS: TestReadPolicy/two_elements (0.00s) 242s --- PASS: TestReadPolicy/exotic_return_type (0.00s) 242s --- PASS: TestReadPolicy/section_separators_in_data (0.00s) 242s --- PASS: TestReadPolicy/one_element,_string_value (0.00s) 242s --- PASS: TestReadPolicy/empty_value (0.00s) 242s --- PASS: TestReadPolicy/semicolon_in_data (0.00s) 242s === RUN FuzzDecodePolicy 242s === RUN FuzzDecodePolicy/seed#0 242s === RUN FuzzDecodePolicy/seed#1 242s === RUN FuzzDecodePolicy/seed#2 242s === RUN FuzzDecodePolicy/seed#3 242s === RUN FuzzDecodePolicy/seed#4 242s === RUN FuzzDecodePolicy/seed#5 242s === RUN FuzzDecodePolicy/seed#6 242s === RUN FuzzDecodePolicy/seed#7 242s === RUN FuzzDecodePolicy/seed#8 242s === RUN FuzzDecodePolicy/seed#9 242s === RUN FuzzDecodePolicy/seed#10 242s === RUN FuzzDecodePolicy/seed#11 242s === RUN FuzzDecodePolicy/seed#12 242s === RUN FuzzDecodePolicy/seed#13 242s === RUN FuzzDecodePolicy/seed#14 242s === RUN FuzzDecodePolicy/seed#15 242s === RUN FuzzDecodePolicy/seed#16 242s === RUN FuzzDecodePolicy/seed#17 242s === RUN FuzzDecodePolicy/seed#18 242s === RUN FuzzDecodePolicy/seed#19 242s === RUN FuzzDecodePolicy/seed#20 242s === RUN FuzzDecodePolicy/seed#21 242s === RUN FuzzDecodePolicy/seed#22 242s === RUN FuzzDecodePolicy/seed#23 242s === RUN FuzzDecodePolicy/seed#24 242s === RUN FuzzDecodePolicy/seed#25 242s === RUN FuzzDecodePolicy/seed#26 242s === RUN FuzzDecodePolicy/seed#27 242s === RUN FuzzDecodePolicy/seed#28 242s === RUN FuzzDecodePolicy/seed#29 242s === RUN FuzzDecodePolicy/seed#30 242s === RUN FuzzDecodePolicy/seed#31 242s === RUN FuzzDecodePolicy/seed#32 242s === RUN FuzzDecodePolicy/seed#33 242s === RUN FuzzDecodePolicy/seed#34 242s === RUN FuzzDecodePolicy/seed#35 242s === RUN FuzzDecodePolicy/seed#36 242s === RUN FuzzDecodePolicy/seed#37 242s === RUN FuzzDecodePolicy/seed#38 242s === RUN FuzzDecodePolicy/seed#39 242s === RUN FuzzDecodePolicy/seed#40 242s === RUN FuzzDecodePolicy/seed#41 242s === RUN FuzzDecodePolicy/seed#42 242s === RUN FuzzDecodePolicy/seed#43 242s === RUN FuzzDecodePolicy/seed#44 242s === RUN FuzzDecodePolicy/seed#45 242s === RUN FuzzDecodePolicy/seed#46 242s === RUN FuzzDecodePolicy/seed#47 242s === RUN FuzzDecodePolicy/seed#48 242s === RUN FuzzDecodePolicy/seed#49 242s === RUN FuzzDecodePolicy/seed#50 242s === RUN FuzzDecodePolicy/seed#51 242s === RUN FuzzDecodePolicy/seed#52 242s === RUN FuzzDecodePolicy/seed#53 242s === RUN FuzzDecodePolicy/0062cd090fe349d2 242s === RUN FuzzDecodePolicy/04b7526092323e1c 242s === RUN FuzzDecodePolicy/0defa8b97933a28f 242s === RUN FuzzDecodePolicy/133d1110defea029 242s === RUN FuzzDecodePolicy/1417961320cddc32 242s === RUN FuzzDecodePolicy/18ca9a9ddd9b04c5 242s === RUN FuzzDecodePolicy/1b6cf53b6668b5b8 242s === RUN FuzzDecodePolicy/1b723f18e7bbd2bd 242s === RUN FuzzDecodePolicy/1fa4e44bc7eaab2b 242s === RUN FuzzDecodePolicy/20bb28e943f3a163 242s === RUN FuzzDecodePolicy/20f9df382d135424 242s === RUN FuzzDecodePolicy/21a02646df37f4a3 242s === RUN FuzzDecodePolicy/222e7dcc7ccf2b94 242s === RUN FuzzDecodePolicy/263b842aaa06d620 242s === RUN FuzzDecodePolicy/28ee70a86ff08ae5 242s === RUN FuzzDecodePolicy/298aa48ef602f955 242s === RUN FuzzDecodePolicy/2cb06d9f4d5ffe78 242s === RUN FuzzDecodePolicy/2e90d7e4f1973efd 242s === RUN FuzzDecodePolicy/2f2f939e0f0a5dfa 242s === RUN FuzzDecodePolicy/2f559466be2bb6db 242s === RUN FuzzDecodePolicy/3183a1d080909e99 242s === RUN FuzzDecodePolicy/31b9c4efbfccaa4b 242s === RUN FuzzDecodePolicy/33661e4c5fce45df 242s === RUN FuzzDecodePolicy/33c1677cf59487f5 242s === RUN FuzzDecodePolicy/3a49e3a9b34e7ca0 242s === RUN FuzzDecodePolicy/3f5a8494482ab97f 242s === RUN FuzzDecodePolicy/40a5045c4171f005 242s === RUN FuzzDecodePolicy/44e971d5bd7f28b3 242s === RUN FuzzDecodePolicy/44ef800113434b04 242s === RUN FuzzDecodePolicy/471661e7b661c53d 242s === RUN FuzzDecodePolicy/476ca3647151c006 242s === RUN FuzzDecodePolicy/4843648786c70b38 242s === RUN FuzzDecodePolicy/48ca8b9fbeccc5a8 242s === RUN FuzzDecodePolicy/4a75b70e3bbd2aee 242s === RUN FuzzDecodePolicy/4ab54fbe4f748f85 242s === RUN FuzzDecodePolicy/4b03a60474b90bbd 242s === RUN FuzzDecodePolicy/4cf871ee411324fb 242s === RUN FuzzDecodePolicy/4f1d38c1e12aef6a 242s === RUN FuzzDecodePolicy/5044e53350040819 242s === RUN FuzzDecodePolicy/504944f54851313c 242s === RUN FuzzDecodePolicy/582528ddfad69eb5 242s === RUN FuzzDecodePolicy/593a3ee315061853 242s === RUN FuzzDecodePolicy/59d23806a24221a5 242s === RUN FuzzDecodePolicy/5a29ff4d9005ba8b 242s === RUN FuzzDecodePolicy/5f0ada98ca1ad1a9 242s === RUN FuzzDecodePolicy/62a8dced0efc9d72 242s === RUN FuzzDecodePolicy/68c1564da597fea0 242s === RUN FuzzDecodePolicy/69603dec84f1482b 242s === RUN FuzzDecodePolicy/6960c361007d8825 242s === RUN FuzzDecodePolicy/699e9d8d0197487d 242s === RUN FuzzDecodePolicy/6ccb1b379873af9f 242s === RUN FuzzDecodePolicy/6d1b1e240f60f6c9 242s === RUN FuzzDecodePolicy/6d3215f003388cf1 242s === RUN FuzzDecodePolicy/6d817b46e0caad15 242s === RUN FuzzDecodePolicy/6dc2686e428754f3 242s === RUN FuzzDecodePolicy/6ddc8b3bed7c0e39 242s === RUN FuzzDecodePolicy/6e0990202f9b9d55 242s === RUN FuzzDecodePolicy/6e1da4d6ea90bc7a 242s === RUN FuzzDecodePolicy/6f0e2fcef25f63cf 242s === RUN FuzzDecodePolicy/72cca4222533d089 242s === RUN FuzzDecodePolicy/731d3b5bde9cc690 242s === RUN FuzzDecodePolicy/7361de35bf70bf17 242s === RUN FuzzDecodePolicy/749f16c9bc3cc87e 242s === RUN FuzzDecodePolicy/74ac7250a3338978 242s === RUN FuzzDecodePolicy/758383ad78d1ddd4 242s === RUN FuzzDecodePolicy/76f1ccb3afa04e6e 242s === RUN FuzzDecodePolicy/795ceb881d4221e3 242s === RUN FuzzDecodePolicy/7b60c5de747214b6 242s === RUN FuzzDecodePolicy/7bc7f7ba36ff22f5 242s === RUN FuzzDecodePolicy/7f3faed21426db2f 242s === RUN FuzzDecodePolicy/82a803231677d0f5 242s === RUN FuzzDecodePolicy/837bc22f260799fd 242s === RUN FuzzDecodePolicy/85315bd4891f6c1e 242s === RUN FuzzDecodePolicy/867b5ab9e5d21aea 242s === RUN FuzzDecodePolicy/888de5c9e80ce3b0 242s === RUN FuzzDecodePolicy/8a61b9487446d726 242s === RUN FuzzDecodePolicy/8b0f0dee6f9a48fd 242s === RUN FuzzDecodePolicy/8e8f4e91b7c5bfd0 242s === RUN FuzzDecodePolicy/8f19b0f96affeba8 242s === RUN FuzzDecodePolicy/9334c46469323973 242s === RUN FuzzDecodePolicy/9604c69b88bc6151 242s === RUN FuzzDecodePolicy/963211680af6bd1a 242s === RUN FuzzDecodePolicy/972db90b4d6a1d5b 242s === RUN FuzzDecodePolicy/985ec3cbf457896a 242s === RUN FuzzDecodePolicy/997536fa86bbbc34 242s === RUN FuzzDecodePolicy/9acd70418e457d18 242s === RUN FuzzDecodePolicy/9b0a4105f1089a20 242s === RUN FuzzDecodePolicy/9d8cdc0719c46928 242s === RUN FuzzDecodePolicy/9e6f333572766a4b 242s === RUN FuzzDecodePolicy/9e943f761adfbbd0 242s === RUN FuzzDecodePolicy/a1698d53f5c4d82d 242s === RUN FuzzDecodePolicy/a1841a4689867471 242s === RUN FuzzDecodePolicy/a26ca284000eeff9 242s === RUN FuzzDecodePolicy/a552164bb872fda4 242s === RUN FuzzDecodePolicy/a9c5e443bf44c80d 242s === RUN FuzzDecodePolicy/ac277569a745611f 242s === RUN FuzzDecodePolicy/ac53c3dce7a4706d 242s === RUN FuzzDecodePolicy/ada28ad70c7345f1 242s === RUN FuzzDecodePolicy/adb9a13c291b7e8c 242s === RUN FuzzDecodePolicy/aeb9d5c55731dae0 242s === RUN FuzzDecodePolicy/af71c7d394bbf535 242s === RUN FuzzDecodePolicy/b0ecd34477c6628e 242s === RUN FuzzDecodePolicy/b1585b9aa01c16b3 242s === RUN FuzzDecodePolicy/b6264d058ed4028a 242s === RUN FuzzDecodePolicy/b6790bea1e752c32 242s === RUN FuzzDecodePolicy/b741e8aa6c8179ba 242s === RUN FuzzDecodePolicy/b9032509681e867b 242s === RUN FuzzDecodePolicy/bb684f658455e982 242s === RUN FuzzDecodePolicy/bc6ddfc82e38438b 242s === RUN FuzzDecodePolicy/bf4f46d3858edb39 242s === RUN FuzzDecodePolicy/bfdd1bd65b5f5c04 242s === RUN FuzzDecodePolicy/c01841582b4cdc2f 242s === RUN FuzzDecodePolicy/c340eca55c3c30e3 242s === RUN FuzzDecodePolicy/c39235a2f77e92fd 242s === RUN FuzzDecodePolicy/c4d9def3916de265 242s === RUN FuzzDecodePolicy/c610d176a1726c39 242s === RUN FuzzDecodePolicy/ca683af05a78b772 242s === RUN FuzzDecodePolicy/cac340cbf4f81f48 242s === RUN FuzzDecodePolicy/ccdaead0f44dc069 242s === RUN FuzzDecodePolicy/ce8467c12ac1478e 242s === RUN FuzzDecodePolicy/cebcbd67b0b51d54 242s === RUN FuzzDecodePolicy/cf318b520a8e55be 242s === RUN FuzzDecodePolicy/cf592b0a6a725d1c 242s === RUN FuzzDecodePolicy/d0b8dc40737b3ff0 242s === RUN FuzzDecodePolicy/d2969c8e25b51895 242s === RUN FuzzDecodePolicy/d4e956bdff66867a 242s === RUN FuzzDecodePolicy/d5b932675c6ca808 242s === RUN FuzzDecodePolicy/dac7bf5435c51dea 242s === RUN FuzzDecodePolicy/dddc8d06ef526aba 242s === RUN FuzzDecodePolicy/e3065cb3ac7c0f78 242s === RUN FuzzDecodePolicy/e4242a66193c4579 242s === RUN FuzzDecodePolicy/e4a4780eb4ee185b 242s === RUN FuzzDecodePolicy/e5b22ed07e48d3fb 242s === RUN FuzzDecodePolicy/e7e4a84593481e49 242s === RUN FuzzDecodePolicy/e8030826b4125cbb 242s === RUN FuzzDecodePolicy/e923261af5ebad81 242s === RUN FuzzDecodePolicy/ea426f6b8bedc4d6 242s === RUN FuzzDecodePolicy/ead723bc16638dcb 242s === RUN FuzzDecodePolicy/f131b8f78f028a54 242s === RUN FuzzDecodePolicy/f1c1d58ecbe0d6dd 242s === RUN FuzzDecodePolicy/f3313a9f40c82a87 242s === RUN FuzzDecodePolicy/f4f490e788a76488 242s === RUN FuzzDecodePolicy/fa7acaf11cff6812 242s === RUN FuzzDecodePolicy/fb991a0182b5fe4d 242s === RUN FuzzDecodePolicy/fc0deb922246d3b7 242s === RUN FuzzDecodePolicy/fccd118f10988218 242s === RUN FuzzDecodePolicy/fe9d2018570dc6c6 242s === RUN FuzzDecodePolicy/ffd2d2b4544a818d 242s === RUN FuzzDecodePolicy/ffd60d90486b3974 242s === RUN FuzzDecodePolicy/regression-test-input-333 242s --- PASS: FuzzDecodePolicy (0.42s) 242s --- PASS: FuzzDecodePolicy/seed#0 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#1 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#2 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#3 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#4 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#5 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#6 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#7 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#8 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#9 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#10 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#11 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#12 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#13 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#14 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#15 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#16 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#17 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#18 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#19 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#20 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#21 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#22 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#23 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#24 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#25 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#26 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#27 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#28 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#29 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#30 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#31 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#32 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#33 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#34 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#35 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#36 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#37 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#38 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#39 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#40 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#41 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#42 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#43 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#44 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#45 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#46 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#47 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#48 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#49 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#50 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#51 (0.00s) 242s --- PASS: FuzzDecodePolicy/seed#52 (0.01s) 242s --- PASS: FuzzDecodePolicy/seed#53 (0.00s) 242s --- PASS: FuzzDecodePolicy/0062cd090fe349d2 (0.00s) 242s --- PASS: FuzzDecodePolicy/04b7526092323e1c (0.00s) 242s --- PASS: FuzzDecodePolicy/0defa8b97933a28f (0.00s) 242s --- PASS: FuzzDecodePolicy/133d1110defea029 (0.00s) 242s --- PASS: FuzzDecodePolicy/1417961320cddc32 (0.00s) 242s --- PASS: FuzzDecodePolicy/18ca9a9ddd9b04c5 (0.00s) 242s --- PASS: FuzzDecodePolicy/1b6cf53b6668b5b8 (0.00s) 242s --- PASS: FuzzDecodePolicy/1b723f18e7bbd2bd (0.00s) 242s --- PASS: FuzzDecodePolicy/1fa4e44bc7eaab2b (0.00s) 242s --- PASS: FuzzDecodePolicy/20bb28e943f3a163 (0.00s) 242s --- PASS: FuzzDecodePolicy/20f9df382d135424 (0.00s) 242s --- PASS: FuzzDecodePolicy/21a02646df37f4a3 (0.00s) 242s --- PASS: FuzzDecodePolicy/222e7dcc7ccf2b94 (0.00s) 242s --- PASS: FuzzDecodePolicy/263b842aaa06d620 (0.00s) 242s --- PASS: FuzzDecodePolicy/28ee70a86ff08ae5 (0.00s) 242s --- PASS: FuzzDecodePolicy/298aa48ef602f955 (0.00s) 242s --- PASS: FuzzDecodePolicy/2cb06d9f4d5ffe78 (0.00s) 242s --- PASS: FuzzDecodePolicy/2e90d7e4f1973efd (0.00s) 242s --- PASS: FuzzDecodePolicy/2f2f939e0f0a5dfa (0.00s) 242s --- PASS: FuzzDecodePolicy/2f559466be2bb6db (0.00s) 242s --- PASS: FuzzDecodePolicy/3183a1d080909e99 (0.00s) 242s --- PASS: FuzzDecodePolicy/31b9c4efbfccaa4b (0.00s) 242s --- PASS: FuzzDecodePolicy/33661e4c5fce45df (0.00s) 242s --- PASS: FuzzDecodePolicy/33c1677cf59487f5 (0.00s) 242s --- PASS: FuzzDecodePolicy/3a49e3a9b34e7ca0 (0.00s) 242s --- PASS: FuzzDecodePolicy/3f5a8494482ab97f (0.00s) 242s --- PASS: FuzzDecodePolicy/40a5045c4171f005 (0.00s) 242s --- PASS: FuzzDecodePolicy/44e971d5bd7f28b3 (0.00s) 242s --- PASS: FuzzDecodePolicy/44ef800113434b04 (0.07s) 242s --- PASS: FuzzDecodePolicy/471661e7b661c53d (0.00s) 242s --- PASS: FuzzDecodePolicy/476ca3647151c006 (0.00s) 242s --- PASS: FuzzDecodePolicy/4843648786c70b38 (0.00s) 242s --- PASS: FuzzDecodePolicy/48ca8b9fbeccc5a8 (0.00s) 242s --- PASS: FuzzDecodePolicy/4a75b70e3bbd2aee (0.00s) 242s --- PASS: FuzzDecodePolicy/4ab54fbe4f748f85 (0.00s) 242s --- PASS: FuzzDecodePolicy/4b03a60474b90bbd (0.00s) 242s --- PASS: FuzzDecodePolicy/4cf871ee411324fb (0.00s) 242s --- PASS: FuzzDecodePolicy/4f1d38c1e12aef6a (0.00s) 242s --- PASS: FuzzDecodePolicy/5044e53350040819 (0.00s) 242s --- PASS: FuzzDecodePolicy/504944f54851313c (0.00s) 242s --- PASS: FuzzDecodePolicy/582528ddfad69eb5 (0.00s) 242s --- PASS: FuzzDecodePolicy/593a3ee315061853 (0.00s) 242s --- PASS: FuzzDecodePolicy/59d23806a24221a5 (0.00s) 242s --- PASS: FuzzDecodePolicy/5a29ff4d9005ba8b (0.00s) 242s --- PASS: FuzzDecodePolicy/5f0ada98ca1ad1a9 (0.00s) 242s --- PASS: FuzzDecodePolicy/62a8dced0efc9d72 (0.02s) 242s --- PASS: FuzzDecodePolicy/68c1564da597fea0 (0.00s) 242s --- PASS: FuzzDecodePolicy/69603dec84f1482b (0.00s) 242s --- PASS: FuzzDecodePolicy/6960c361007d8825 (0.00s) 242s --- PASS: FuzzDecodePolicy/699e9d8d0197487d (0.00s) 242s --- PASS: FuzzDecodePolicy/6ccb1b379873af9f (0.00s) 242s --- PASS: FuzzDecodePolicy/6d1b1e240f60f6c9 (0.00s) 242s --- PASS: FuzzDecodePolicy/6d3215f003388cf1 (0.00s) 242s --- PASS: FuzzDecodePolicy/6d817b46e0caad15 (0.00s) 242s --- PASS: FuzzDecodePolicy/6dc2686e428754f3 (0.00s) 242s --- PASS: FuzzDecodePolicy/6ddc8b3bed7c0e39 (0.00s) 242s --- PASS: FuzzDecodePolicy/6e0990202f9b9d55 (0.00s) 242s --- PASS: FuzzDecodePolicy/6e1da4d6ea90bc7a (0.00s) 242s --- PASS: FuzzDecodePolicy/6f0e2fcef25f63cf (0.00s) 242s --- PASS: FuzzDecodePolicy/72cca4222533d089 (0.00s) 242s --- PASS: FuzzDecodePolicy/731d3b5bde9cc690 (0.00s) 242s --- PASS: FuzzDecodePolicy/7361de35bf70bf17 (0.00s) 242s --- PASS: FuzzDecodePolicy/749f16c9bc3cc87e (0.00s) 242s --- PASS: FuzzDecodePolicy/74ac7250a3338978 (0.00s) 242s --- PASS: FuzzDecodePolicy/758383ad78d1ddd4 (0.00s) 242s --- PASS: FuzzDecodePolicy/76f1ccb3afa04e6e (0.00s) 242s --- PASS: FuzzDecodePolicy/795ceb881d4221e3 (0.00s) 242s --- PASS: FuzzDecodePolicy/7b60c5de747214b6 (0.09s) 242s --- PASS: FuzzDecodePolicy/7bc7f7ba36ff22f5 (0.00s) 242s --- PASS: FuzzDecodePolicy/7f3faed21426db2f (0.00s) 242s --- PASS: FuzzDecodePolicy/82a803231677d0f5 (0.00s) 242s --- PASS: FuzzDecodePolicy/837bc22f260799fd (0.00s) 242s --- PASS: FuzzDecodePolicy/85315bd4891f6c1e (0.00s) 242s --- PASS: FuzzDecodePolicy/867b5ab9e5d21aea (0.00s) 242s --- PASS: FuzzDecodePolicy/888de5c9e80ce3b0 (0.01s) 242s --- PASS: FuzzDecodePolicy/8a61b9487446d726 (0.00s) 242s --- PASS: FuzzDecodePolicy/8b0f0dee6f9a48fd (0.00s) 242s --- PASS: FuzzDecodePolicy/8e8f4e91b7c5bfd0 (0.00s) 242s --- PASS: FuzzDecodePolicy/8f19b0f96affeba8 (0.00s) 242s --- PASS: FuzzDecodePolicy/9334c46469323973 (0.00s) 242s --- PASS: FuzzDecodePolicy/9604c69b88bc6151 (0.00s) 242s --- PASS: FuzzDecodePolicy/963211680af6bd1a (0.00s) 242s --- PASS: FuzzDecodePolicy/972db90b4d6a1d5b (0.00s) 242s --- PASS: FuzzDecodePolicy/985ec3cbf457896a (0.00s) 242s --- PASS: FuzzDecodePolicy/997536fa86bbbc34 (0.00s) 242s --- PASS: FuzzDecodePolicy/9acd70418e457d18 (0.00s) 242s --- PASS: FuzzDecodePolicy/9b0a4105f1089a20 (0.00s) 242s --- PASS: FuzzDecodePolicy/9d8cdc0719c46928 (0.00s) 242s --- PASS: FuzzDecodePolicy/9e6f333572766a4b (0.00s) 242s --- PASS: FuzzDecodePolicy/9e943f761adfbbd0 (0.00s) 242s --- PASS: FuzzDecodePolicy/a1698d53f5c4d82d (0.00s) 242s --- PASS: FuzzDecodePolicy/a1841a4689867471 (0.00s) 242s --- PASS: FuzzDecodePolicy/a26ca284000eeff9 (0.00s) 242s --- PASS: FuzzDecodePolicy/a552164bb872fda4 (0.00s) 242s --- PASS: FuzzDecodePolicy/a9c5e443bf44c80d (0.00s) 242s --- PASS: FuzzDecodePolicy/ac277569a745611f (0.00s) 242s --- PASS: FuzzDecodePolicy/ac53c3dce7a4706d (0.00s) 242s --- PASS: FuzzDecodePolicy/ada28ad70c7345f1 (0.00s) 242s --- PASS: FuzzDecodePolicy/adb9a13c291b7e8c (0.00s) 242s --- PASS: FuzzDecodePolicy/aeb9d5c55731dae0 (0.00s) 242s --- PASS: FuzzDecodePolicy/af71c7d394bbf535 (0.00s) 242s --- PASS: FuzzDecodePolicy/b0ecd34477c6628e (0.00s) 242s --- PASS: FuzzDecodePolicy/b1585b9aa01c16b3 (0.00s) 242s --- PASS: FuzzDecodePolicy/b6264d058ed4028a (0.00s) 242s --- PASS: FuzzDecodePolicy/b6790bea1e752c32 (0.00s) 242s --- PASS: FuzzDecodePolicy/b741e8aa6c8179ba (0.00s) 242s --- PASS: FuzzDecodePolicy/b9032509681e867b (0.00s) 242s --- PASS: FuzzDecodePolicy/bb684f658455e982 (0.00s) 242s --- PASS: FuzzDecodePolicy/bc6ddfc82e38438b (0.00s) 242s --- PASS: FuzzDecodePolicy/bf4f46d3858edb39 (0.00s) 242s --- PASS: FuzzDecodePolicy/bfdd1bd65b5f5c04 (0.00s) 242s --- PASS: FuzzDecodePolicy/c01841582b4cdc2f (0.00s) 242s --- PASS: FuzzDecodePolicy/c340eca55c3c30e3 (0.00s) 242s --- PASS: FuzzDecodePolicy/c39235a2f77e92fd (0.00s) 242s --- PASS: FuzzDecodePolicy/c4d9def3916de265 (0.00s) 242s --- PASS: FuzzDecodePolicy/c610d176a1726c39 (0.00s) 242s --- PASS: FuzzDecodePolicy/ca683af05a78b772 (0.00s) 242s --- PASS: FuzzDecodePolicy/cac340cbf4f81f48 (0.00s) 242s --- PASS: FuzzDecodePolicy/ccdaead0f44dc069 (0.00s) 242s --- PASS: FuzzDecodePolicy/ce8467c12ac1478e (0.00s) 242s --- PASS: FuzzDecodePolicy/cebcbd67b0b51d54 (0.00s) 242s --- PASS: FuzzDecodePolicy/cf318b520a8e55be (0.00s) 242s --- PASS: FuzzDecodePolicy/cf592b0a6a725d1c (0.00s) 242s --- PASS: FuzzDecodePolicy/d0b8dc40737b3ff0 (0.00s) 242s --- PASS: FuzzDecodePolicy/d2969c8e25b51895 (0.00s) 242s --- PASS: FuzzDecodePolicy/d4e956bdff66867a (0.00s) 242s --- PASS: FuzzDecodePolicy/d5b932675c6ca808 (0.00s) 242s --- PASS: FuzzDecodePolicy/dac7bf5435c51dea (0.00s) 242s --- PASS: FuzzDecodePolicy/dddc8d06ef526aba (0.00s) 242s --- PASS: FuzzDecodePolicy/e3065cb3ac7c0f78 (0.00s) 242s --- PASS: FuzzDecodePolicy/e4242a66193c4579 (0.00s) 242s --- PASS: FuzzDecodePolicy/e4a4780eb4ee185b (0.00s) 242s --- PASS: FuzzDecodePolicy/e5b22ed07e48d3fb (0.00s) 242s --- PASS: FuzzDecodePolicy/e7e4a84593481e49 (0.00s) 242s --- PASS: FuzzDecodePolicy/e8030826b4125cbb (0.00s) 242s --- PASS: FuzzDecodePolicy/e923261af5ebad81 (0.00s) 242s --- PASS: FuzzDecodePolicy/ea426f6b8bedc4d6 (0.00s) 242s --- PASS: FuzzDecodePolicy/ead723bc16638dcb (0.00s) 242s --- PASS: FuzzDecodePolicy/f131b8f78f028a54 (0.00s) 242s --- PASS: FuzzDecodePolicy/f1c1d58ecbe0d6dd (0.00s) 242s --- PASS: FuzzDecodePolicy/f3313a9f40c82a87 (0.00s) 242s --- PASS: FuzzDecodePolicy/f4f490e788a76488 (0.00s) 242s --- PASS: FuzzDecodePolicy/fa7acaf11cff6812 (0.00s) 242s --- PASS: FuzzDecodePolicy/fb991a0182b5fe4d (0.00s) 242s --- PASS: FuzzDecodePolicy/fc0deb922246d3b7 (0.00s) 242s --- PASS: FuzzDecodePolicy/fccd118f10988218 (0.00s) 242s --- PASS: FuzzDecodePolicy/fe9d2018570dc6c6 (0.07s) 242s --- PASS: FuzzDecodePolicy/ffd2d2b4544a818d (0.00s) 242s --- PASS: FuzzDecodePolicy/ffd60d90486b3974 (0.00s) 242s --- PASS: FuzzDecodePolicy/regression-test-input-333 (0.00s) 242s PASS 242s ok github.com/ubuntu/adsys/internal/ad/registry 0.475s 242s === RUN TestNew 242s === PAUSE TestNew 242s === CONT TestNew 242s === RUN TestNew/Error_on_ad.New_prevents_adsysservice_creation 242s === PAUSE TestNew/Error_on_ad.New_prevents_adsysservice_creation 242s === RUN TestNew/New_and_Quit_succeeds_and_defaults_to_sssd,_first_run 242s === PAUSE TestNew/New_and_Quit_succeeds_and_defaults_to_sssd,_first_run 242s === RUN TestNew/Unknown_backend_defaults_to_sssd 242s === PAUSE TestNew/Unknown_backend_defaults_to_sssd 242s === RUN TestNew/Select_sssd_backend_explicitly 242s === PAUSE TestNew/Select_sssd_backend_explicitly 242s === RUN TestNew/Select_winbind_backend_explicitly 242s === PAUSE TestNew/Select_winbind_backend_explicitly 242s === RUN TestNew/Error_on_failure_to_create_cache_directory 242s === PAUSE TestNew/Error_on_failure_to_create_cache_directory 242s === RUN TestNew/Adsys_directory_can_already_exists 242s === PAUSE TestNew/Adsys_directory_can_already_exists 242s === RUN TestNew/Error_on_failure_to_create_run_directory 242s === PAUSE TestNew/Error_on_failure_to_create_run_directory 242s === RUN TestNew/Error_on_nonexistent_sssd.conf 242s === PAUSE TestNew/Error_on_nonexistent_sssd.conf 242s === CONT TestNew/Error_on_ad.New_prevents_adsysservice_creation 242s === CONT TestNew/Error_on_failure_to_create_cache_directory 242s === CONT TestNew/Select_winbind_backend_explicitly 242s === CONT TestNew/Select_sssd_backend_explicitly 242s time="2025-10-31T03:51:45Z" level=warning msg="could not get online status for domain \"example.com\": status code 6" 242s === CONT TestNew/Unknown_backend_defaults_to_sssd 242s === CONT TestNew/New_and_Quit_succeeds_and_defaults_to_sssd,_first_run 242s time="2025-10-31T03:51:45Z" level=warning msg="Unknown configured backend \"unknown-backend\". Defaulting to sssd." 242s === CONT TestNew/Error_on_failure_to_create_run_directory 242s === CONT TestNew/Error_on_nonexistent_sssd.conf 242s === CONT TestNew/Adsys_directory_can_already_exists 242s --- PASS: TestNew (0.00s) 242s --- PASS: TestNew/Error_on_failure_to_create_cache_directory (0.00s) 242s --- PASS: TestNew/Error_on_ad.New_prevents_adsysservice_creation (0.00s) 242s --- PASS: TestNew/Select_sssd_backend_explicitly (0.01s) 242s --- PASS: TestNew/Select_winbind_backend_explicitly (0.01s) 242s --- PASS: TestNew/Unknown_backend_defaults_to_sssd (0.01s) 242s --- PASS: TestNew/New_and_Quit_succeeds_and_defaults_to_sssd,_first_run (0.01s) 242s --- PASS: TestNew/Error_on_failure_to_create_run_directory (0.00s) 242s --- PASS: TestNew/Error_on_nonexistent_sssd.conf (0.00s) 242s --- PASS: TestNew/Adsys_directory_can_already_exists (0.01s) 242s PASS 242s ok github.com/ubuntu/adsys/internal/adsysservice 0.084s 242s === RUN TestIsAllowed 242s === PAUSE TestIsAllowed 242s === RUN TestPeerCredsInfoAuthType 242s === PAUSE TestPeerCredsInfoAuthType 242s === RUN TestServerPeerCredsHandshake 242s === PAUSE TestServerPeerCredsHandshake 242s === RUN TestServerPeerCredsInvalidSocket 242s === PAUSE TestServerPeerCredsInvalidSocket 242s === RUN TestIsAllowedFromContext 242s === PAUSE TestIsAllowedFromContext 242s === RUN TestIsAllowedFromContextWithoutPeer 242s === PAUSE TestIsAllowedFromContextWithoutPeer 242s === RUN TestIsAllowedFromContextWithInvalidPeerCreds 242s === PAUSE TestIsAllowedFromContextWithInvalidPeerCreds 242s === RUN TestIsAllowedFromContextWithoutUserKey 242s === PAUSE TestIsAllowedFromContextWithoutUserKey 242s === CONT TestIsAllowed 242s === CONT TestIsAllowedFromContext 242s === RUN TestIsAllowed/Polkit_dbus_call_errors_out 242s === PAUSE TestIsAllowed/Polkit_dbus_call_errors_out 242s === RUN TestIsAllowed/User_Action_for_own_user_translates_to_Self_parameter_as_ID 242s === PAUSE TestIsAllowed/User_Action_for_own_user_translates_to_Self_parameter_as_ID 242s === RUN TestIsAllowed/User_Action_on_other_user_translates_to_Other_parameter_as_ID 242s === PAUSE TestIsAllowed/User_Action_on_other_user_translates_to_Other_parameter_as_ID 242s === RUN TestIsAllowed/Root_is_always_authorized 242s === PAUSE TestIsAllowed/Root_is_always_authorized 242s === RUN TestIsAllowed/Invalid_process_stat_file:_field_isn't_present 242s === PAUSE TestIsAllowed/Invalid_process_stat_file:_field_isn't_present 242s === RUN TestIsAllowed/Process_doesn't_exists 242s === PAUSE TestIsAllowed/Process_doesn't_exists 242s === RUN TestIsAllowed/Invalid_process_stat_file:_missing_) 242s === PAUSE TestIsAllowed/Invalid_process_stat_file:_missing_) 242s === RUN TestIsAllowed/Invalid_process_stat_file:_)_at_the_end 242s === PAUSE TestIsAllowed/Invalid_process_stat_file:_)_at_the_end 242s === RUN TestIsAllowed/Invalid_process_stat_file:_field_isn't_an_int 242s === PAUSE TestIsAllowed/Invalid_process_stat_file:_field_isn't_an_int 242s === RUN TestIsAllowed/ActionAlwaysAllowed_is_always_allowed 242s === PAUSE TestIsAllowed/ActionAlwaysAllowed_is_always_allowed 242s === RUN TestIsAllowed/Valid_process_and_ACK 242s === PAUSE TestIsAllowed/Valid_process_and_ACK 242s === RUN TestIsAllowed/Valid_process_and_NACK 242s === PAUSE TestIsAllowed/Valid_process_and_NACK 242s === CONT TestServerPeerCredsInvalidSocket 242s --- PASS: TestServerPeerCredsInvalidSocket (0.00s) 242s === CONT TestServerPeerCredsHandshake 242s === RUN TestIsAllowedFromContext/Extract_current_user_action_from_request 242s === PAUSE TestIsAllowedFromContext/Extract_current_user_action_from_request 242s === RUN TestIsAllowedFromContext/Extract_other_user_action_from_request 242s === PAUSE TestIsAllowedFromContext/Extract_other_user_action_from_request 242s === RUN TestIsAllowedFromContext/Unauthorizes_when_user_lookup_returns_an_error 242s === PAUSE TestIsAllowedFromContext/Unauthorizes_when_user_lookup_returns_an_error 242s === RUN TestIsAllowedFromContext/Unauthorizes_when_user_has_invalid_uid 242s === PAUSE TestIsAllowedFromContext/Unauthorizes_when_user_has_invalid_uid 242s === RUN TestIsAllowedFromContext/Root_is_always_authorized 242s === PAUSE TestIsAllowedFromContext/Root_is_always_authorized 242s === RUN TestIsAllowedFromContext/Valid_process_and_ACK 242s === PAUSE TestIsAllowedFromContext/Valid_process_and_ACK 242s === RUN TestIsAllowedFromContext/Valid_process_and_NACK 242s === PAUSE TestIsAllowedFromContext/Valid_process_and_NACK 242s === CONT TestPeerCredsInfoAuthType 242s --- PASS: TestPeerCredsInfoAuthType (0.00s) 242s === CONT TestIsAllowedFromContextWithInvalidPeerCreds 242s --- PASS: TestServerPeerCredsHandshake (0.00s) 242s === CONT TestIsAllowedFromContextWithoutUserKey 242s --- PASS: TestIsAllowedFromContextWithInvalidPeerCreds (0.00s) 242s === CONT TestIsAllowedFromContextWithoutPeer 242s --- PASS: TestIsAllowedFromContextWithoutUserKey (0.00s) 242s === CONT TestIsAllowed/Polkit_dbus_call_errors_out 242s === CONT TestIsAllowed/Valid_process_and_NACK 242s === CONT TestIsAllowed/Valid_process_and_ACK 242s === CONT TestIsAllowed/ActionAlwaysAllowed_is_always_allowed 242s === CONT TestIsAllowed/Invalid_process_stat_file:_field_isn't_an_int 242s === CONT TestIsAllowed/Invalid_process_stat_file:_)_at_the_end 242s === CONT TestIsAllowed/Invalid_process_stat_file:_missing_) 242s === CONT TestIsAllowed/Process_doesn't_exists 242s === CONT TestIsAllowed/Invalid_process_stat_file:_field_isn't_present 242s === CONT TestIsAllowed/Root_is_always_authorized 242s === CONT TestIsAllowed/User_Action_on_other_user_translates_to_Other_parameter_as_ID 242s === CONT TestIsAllowed/User_Action_for_own_user_translates_to_Self_parameter_as_ID 242s --- PASS: TestIsAllowedFromContextWithoutPeer (0.00s) 242s === CONT TestIsAllowedFromContext/Valid_process_and_NACK 242s === CONT TestIsAllowedFromContext/Valid_process_and_ACK 242s === CONT TestIsAllowedFromContext/Root_is_always_authorized 242s === CONT TestIsAllowedFromContext/Unauthorizes_when_user_has_invalid_uid 242s === CONT TestIsAllowedFromContext/Unauthorizes_when_user_lookup_returns_an_error 242s === CONT TestIsAllowedFromContext/Extract_other_user_action_from_request 242s === CONT TestIsAllowedFromContext/Extract_current_user_action_from_request 242s --- PASS: TestIsAllowedFromContext (0.00s) 242s --- PASS: TestIsAllowedFromContext/Valid_process_and_NACK (0.00s) 242s --- PASS: TestIsAllowedFromContext/Valid_process_and_ACK (0.00s) 242s --- PASS: TestIsAllowedFromContext/Root_is_always_authorized (0.00s) 242s --- PASS: TestIsAllowedFromContext/Unauthorizes_when_user_has_invalid_uid (0.00s) 242s --- PASS: TestIsAllowedFromContext/Unauthorizes_when_user_lookup_returns_an_error (0.00s) 242s --- PASS: TestIsAllowedFromContext/Extract_current_user_action_from_request (0.00s) 242s --- PASS: TestIsAllowedFromContext/Extract_other_user_action_from_request (0.00s) 242s --- PASS: TestIsAllowed (0.00s) 242s --- PASS: TestIsAllowed/Polkit_dbus_call_errors_out (0.00s) 242s --- PASS: TestIsAllowed/Valid_process_and_NACK (0.00s) 242s --- PASS: TestIsAllowed/Valid_process_and_ACK (0.00s) 242s --- PASS: TestIsAllowed/ActionAlwaysAllowed_is_always_allowed (0.00s) 242s --- PASS: TestIsAllowed/Invalid_process_stat_file:_field_isn't_an_int (0.00s) 242s --- PASS: TestIsAllowed/Invalid_process_stat_file:_)_at_the_end (0.00s) 242s --- PASS: TestIsAllowed/Invalid_process_stat_file:_missing_) (0.00s) 242s --- PASS: TestIsAllowed/Process_doesn't_exists (0.00s) 242s --- PASS: TestIsAllowed/Invalid_process_stat_file:_field_isn't_present (0.00s) 242s --- PASS: TestIsAllowed/Root_is_always_authorized (0.00s) 242s --- PASS: TestIsAllowed/User_Action_on_other_user_translates_to_Other_parameter_as_ID (0.00s) 242s --- PASS: TestIsAllowed/User_Action_for_own_user_translates_to_Self_parameter_as_ID (0.00s) 242s PASS 242s ok github.com/ubuntu/adsys/internal/authorizer 0.025s 242s === RUN TestNoCmd 242s === PAUSE TestNoCmd 242s === RUN TestZeroOrNArgs 242s === PAUSE TestZeroOrNArgs 242s === RUN TestNoValidArgs 242s === PAUSE TestNoValidArgs 242s === RUN TestRegisterAlias 242s === PAUSE TestRegisterAlias 242s === CONT TestNoCmd 242s --- PASS: TestNoCmd (0.00s) 242s === CONT TestRegisterAlias 242s --- PASS: TestRegisterAlias (0.00s) 242s === CONT TestNoValidArgs 242s --- PASS: TestNoValidArgs (0.00s) 242s === CONT TestZeroOrNArgs 242s === RUN TestZeroOrNArgs/Error_with_more_than_N_args 242s === PAUSE TestZeroOrNArgs/Error_with_more_than_N_args 242s === RUN TestZeroOrNArgs/Zero_args 242s === PAUSE TestZeroOrNArgs/Zero_args 242s === RUN TestZeroOrNArgs/Exactly_N_args 242s === PAUSE TestZeroOrNArgs/Exactly_N_args 242s === RUN TestZeroOrNArgs/Error_with_less_than_N_args 242s === PAUSE TestZeroOrNArgs/Error_with_less_than_N_args 242s === CONT TestZeroOrNArgs/Error_with_more_than_N_args 242s === CONT TestZeroOrNArgs/Exactly_N_args 242s === CONT TestZeroOrNArgs/Zero_args 242s === CONT TestZeroOrNArgs/Error_with_less_than_N_args 242s --- PASS: TestZeroOrNArgs (0.00s) 242s --- PASS: TestZeroOrNArgs/Error_with_more_than_N_args (0.00s) 242s --- PASS: TestZeroOrNArgs/Exactly_N_args (0.00s) 242s --- PASS: TestZeroOrNArgs/Zero_args (0.00s) 242s --- PASS: TestZeroOrNArgs/Error_with_less_than_N_args (0.00s) 242s PASS 242s ok github.com/ubuntu/adsys/internal/cmdhandler 0.004s 242s ? github.com/ubuntu/adsys/internal/consts [no test files] 248s ? github.com/ubuntu/adsys/internal/grpc/logstreamer/test [no test files] 253s === RUN TestSetVerboseMode 253s === RUN TestSetVerboseMode/Default_level_is_warning 253s === RUN TestSetVerboseMode/1_is_for_info 253s === RUN TestSetVerboseMode/2_is_for_debug 253s === RUN TestSetVerboseMode/3_is_debug_printing_callers 253s --- PASS: TestSetVerboseMode (0.00s) 253s --- PASS: TestSetVerboseMode/Default_level_is_warning (0.00s) 253s --- PASS: TestSetVerboseMode/1_is_for_info (0.00s) 253s --- PASS: TestSetVerboseMode/2_is_for_debug (0.00s) 253s --- PASS: TestSetVerboseMode/3_is_debug_printing_callers (0.00s) 253s === RUN TestInit 253s === RUN TestInit/Configuration_file_created_after_Init()_is_not_taken_into_account 253s === RUN TestInit/Flag_has_precedence_over_env 253s === RUN TestInit/Env_has_precedence_over_configuration 253s === RUN TestInit/Error_on_no_verbose_flag_set_before_Init_is_call 253s === RUN TestInit/Load_configuration_with_file 253s === RUN TestInit/Load_configuration_from_executable_dir 253s === RUN TestInit/Configuration_flag_on_parent,_not_in_config_dir,_init_on_subcommand 253s === RUN TestInit/Configuration_flag_has_precedence_over_local_file 253s === RUN TestInit/Load_configuration,_no_file,_no_flag,_no_env 253s === RUN TestInit/Configuration_flag,_not_in_config_dir 253s === RUN TestInit/Configuration_flag_on_subcommand,_not_in_config_dir,_init_on_subcommand 253s === RUN TestInit/Environment_is_supported 253s === RUN TestInit/Configuration_changed_directly 253s === RUN TestInit/Callback_in_error_on_refresh_only_prints_warning 253s time="2025-10-31T03:51:56Z" level=warning msg="Error while refreshing configuration: Error from callback" 253s === RUN TestInit/No_config_flag_set_before_Init_is_call_is_ignored 253s === RUN TestInit/Empty_configuration_file_is_supported 253s === RUN TestInit/Error_on_invalid_configuration_file 253s === RUN TestInit/Error_on_callback_returning_error_on_first_call 253s === RUN TestInit/Error_on_config_flag_points_to_unexisting_path 253s === RUN TestInit/Flag_is_supported 253s === RUN TestInit/Configuration_file_overwritten 253s --- PASS: TestInit (10.81s) 253s --- PASS: TestInit/Configuration_file_created_after_Init()_is_not_taken_into_account (4.55s) 253s --- PASS: TestInit/Flag_has_precedence_over_env (0.05s) 253s --- PASS: TestInit/Env_has_precedence_over_configuration (0.01s) 253s --- PASS: TestInit/Error_on_no_verbose_flag_set_before_Init_is_call (0.00s) 253s --- PASS: TestInit/Load_configuration_with_file (0.01s) 253s --- PASS: TestInit/Load_configuration_from_executable_dir (0.01s) 253s --- PASS: TestInit/Configuration_flag_on_parent,_not_in_config_dir,_init_on_subcommand (0.00s) 253s --- PASS: TestInit/Configuration_flag_has_precedence_over_local_file (0.00s) 253s --- PASS: TestInit/Load_configuration,_no_file,_no_flag,_no_env (0.01s) 253s --- PASS: TestInit/Configuration_flag,_not_in_config_dir (0.01s) 253s --- PASS: TestInit/Configuration_flag_on_subcommand,_not_in_config_dir,_init_on_subcommand (0.01s) 253s --- PASS: TestInit/Environment_is_supported (0.01s) 253s --- PASS: TestInit/Configuration_changed_directly (2.04s) 253s --- PASS: TestInit/Callback_in_error_on_refresh_only_prints_warning (2.05s) 253s --- PASS: TestInit/No_config_flag_set_before_Init_is_call_is_ignored (0.01s) 253s --- PASS: TestInit/Empty_configuration_file_is_supported (0.00s) 253s --- PASS: TestInit/Error_on_invalid_configuration_file (0.01s) 253s --- PASS: TestInit/Error_on_callback_returning_error_on_first_call (0.00s) 253s --- PASS: TestInit/Error_on_config_flag_points_to_unexisting_path (0.00s) 253s --- PASS: TestInit/Flag_is_supported (0.00s) 253s --- PASS: TestInit/Configuration_file_overwritten (2.03s) 253s === RUN TestLoadConfig 253s === PAUSE TestLoadConfig 253s === CONT TestLoadConfig 253s === RUN TestLoadConfig/Empty_configuration_is_supported 253s === PAUSE TestLoadConfig/Empty_configuration_is_supported 253s === RUN TestLoadConfig/Load_configuration_deserialize_its 253s === PAUSE TestLoadConfig/Load_configuration_deserialize_its 253s === CONT TestLoadConfig/Empty_configuration_is_supported 253s === CONT TestLoadConfig/Load_configuration_deserialize_its 253s --- PASS: TestLoadConfig (0.00s) 253s --- PASS: TestLoadConfig/Empty_configuration_is_supported (0.00s) 253s --- PASS: TestLoadConfig/Load_configuration_deserialize_its (0.00s) 253s PASS 253s ok github.com/ubuntu/adsys/internal/config 10.819s 253s === RUN TestConfigFileFromArgs 253s === PAUSE TestConfigFileFromArgs 253s === RUN TestDirsFromConfigFile 253s === PAUSE TestDirsFromConfigFile 253s === RUN TestWriteConfig 253s === RUN TestWriteConfig/With_nested_config_path 253s === RUN TestWriteConfig/Error_on_absent_dirs 253s === RUN TestWriteConfig/Error_on_empty_dirs 253s === RUN TestWriteConfig/With_relative_config_path 253s --- PASS: TestWriteConfig (0.00s) 253s --- PASS: TestWriteConfig/With_nested_config_path (0.00s) 253s --- PASS: TestWriteConfig/Error_on_absent_dirs (0.00s) 253s --- PASS: TestWriteConfig/Error_on_empty_dirs (0.00s) 253s --- PASS: TestWriteConfig/With_relative_config_path (0.00s) 253s === CONT TestConfigFileFromArgs 253s === RUN TestConfigFileFromArgs/Short_config_argument_with_quotes 253s === CONT TestDirsFromConfigFile 253s === RUN TestDirsFromConfigFile/No_config_file 253s === PAUSE TestDirsFromConfigFile/No_config_file 253s === PAUSE TestConfigFileFromArgs/Short_config_argument_with_quotes 253s === RUN TestConfigFileFromArgs/Error_on_empty_args 253s === RUN TestDirsFromConfigFile/Empty_config_file 253s === PAUSE TestConfigFileFromArgs/Error_on_empty_args 253s === PAUSE TestDirsFromConfigFile/Empty_config_file 253s === RUN TestConfigFileFromArgs/Error_on_no_config_argument 253s === RUN TestDirsFromConfigFile/No_dirs_in_config_file 253s === PAUSE TestConfigFileFromArgs/Error_on_no_config_argument 253s === PAUSE TestDirsFromConfigFile/No_dirs_in_config_file 253s === RUN TestConfigFileFromArgs/Error_on_config_argument_with_no_value 253s === RUN TestDirsFromConfigFile/Config_dirs_is_not_an_array 253s === PAUSE TestConfigFileFromArgs/Error_on_config_argument_with_no_value 253s === RUN TestConfigFileFromArgs/Short_config_argument 253s === PAUSE TestDirsFromConfigFile/Config_dirs_is_not_an_array 253s === PAUSE TestConfigFileFromArgs/Short_config_argument 253s === CONT TestConfigFileFromArgs/Short_config_argument_with_quotes 253s === RUN TestDirsFromConfigFile/Config_dirs_is_an_array 253s === PAUSE TestDirsFromConfigFile/Config_dirs_is_an_array 253s === CONT TestDirsFromConfigFile/No_config_file 253s === CONT TestConfigFileFromArgs/Short_config_argument 253s === CONT TestDirsFromConfigFile/Config_dirs_is_an_array 253s === CONT TestDirsFromConfigFile/Config_dirs_is_not_an_array 253s === CONT TestDirsFromConfigFile/No_dirs_in_config_file 253s === CONT TestDirsFromConfigFile/Empty_config_file 253s === CONT TestConfigFileFromArgs/Error_on_no_config_argument 253s --- PASS: TestDirsFromConfigFile (0.00s) 253s --- PASS: TestDirsFromConfigFile/No_config_file (0.00s) 253s --- PASS: TestDirsFromConfigFile/Config_dirs_is_an_array (0.00s) 253s --- PASS: TestDirsFromConfigFile/Config_dirs_is_not_an_array (0.00s) 253s --- PASS: TestDirsFromConfigFile/No_dirs_in_config_file (0.00s) 253s --- PASS: TestDirsFromConfigFile/Empty_config_file (0.00s) 253s === CONT TestConfigFileFromArgs/Error_on_config_argument_with_no_value 253s === CONT TestConfigFileFromArgs/Error_on_empty_args 253s --- PASS: TestConfigFileFromArgs (0.00s) 253s --- PASS: TestConfigFileFromArgs/Short_config_argument_with_quotes (0.00s) 253s --- PASS: TestConfigFileFromArgs/Short_config_argument (0.00s) 253s --- PASS: TestConfigFileFromArgs/Error_on_no_config_argument (0.00s) 253s --- PASS: TestConfigFileFromArgs/Error_on_config_argument_with_no_value (0.00s) 253s --- PASS: TestConfigFileFromArgs/Error_on_empty_args (0.00s) 253s PASS 253s ok github.com/ubuntu/adsys/internal/config/watchd 0.012s 253s === RUN TestStartStop 253s === PAUSE TestStartStop 253s === RUN TestStopBeforeServe 253s === PAUSE TestStopBeforeServe 253s === RUN TestChangeSocket 253s === PAUSE TestChangeSocket 253s === RUN TestSocketActivation 253s === PAUSE TestSocketActivation 253s === RUN TestUseSocketIgnoredWithSocketActivation 253s === PAUSE TestUseSocketIgnoredWithSocketActivation 253s === RUN TestSdNotifier 253s === PAUSE TestSdNotifier 253s === RUN TestFailingOption 253s === PAUSE TestFailingOption 253s === RUN TestCannotCreateSocket 253s === PAUSE TestCannotCreateSocket 253s === RUN TestServerStartListenTimeout 253s === PAUSE TestServerStartListenTimeout 253s === RUN TestServerDontTimeoutWithActiveRequest 253s === PAUSE TestServerDontTimeoutWithActiveRequest 253s === RUN TestServerDontTimeoutWithMultipleActiveRequests 253s === PAUSE TestServerDontTimeoutWithMultipleActiveRequests 253s === RUN TestServerChangeTimeout 253s === PAUSE TestServerChangeTimeout 253s === RUN TestServerDoubleQuit 253s === PAUSE TestServerDoubleQuit 253s === CONT TestStartStop 253s === CONT TestCannotCreateSocket 253s --- PASS: TestCannotCreateSocket (0.00s) 253s === CONT TestServerDoubleQuit 253s time="2025-10-31T03:51:49Z" level=info msg="Serving on /tmp/TestStartStop3872908387/001/test.sock" 253s time="2025-10-31T03:51:49Z" level=info msg="Serving on /tmp/TestServerDoubleQuit4164118054/001/test.sock" 253s time="2025-10-31T03:51:49Z" level=info msg="Stopping daemon requested." 253s time="2025-10-31T03:51:49Z" level=info msg="Wait for active requests to close." 253s time="2025-10-31T03:51:49Z" level=info msg="Stopping daemon requested." 253s time="2025-10-31T03:51:49Z" level=info msg="Wait for active requests to close." 253s --- PASS: TestServerDoubleQuit (0.01s) 253s === CONT TestServerChangeTimeout 253s time="2025-10-31T03:51:49Z" level=info msg="Serving on /tmp/TestServerChangeTimeout771121789/001/test.sock" 253s --- PASS: TestStartStop (0.01s) 253s === CONT TestServerDontTimeoutWithMultipleActiveRequests 253s time="2025-10-31T03:51:49Z" level=info msg="Serving on /tmp/TestServerDontTimeoutWithMultipleActiveRequests1119154494/001/test.sock" 253s time="2025-10-31T03:51:49Z" level=info msg="Stopping daemon requested." 253s --- PASS: TestServerChangeTimeout (0.05s) 253s === CONT TestServerDontTimeoutWithActiveRequest 253s time="2025-10-31T03:51:49Z" level=info msg="Serving on /tmp/TestServerDontTimeoutWithActiveRequest1068411683/001/test.sock" 253s time="2025-10-31T03:51:49Z" level=info msg="Stopping daemon requested." 253s --- PASS: TestServerDontTimeoutWithMultipleActiveRequests (0.11s) 253s === CONT TestServerStartListenTimeout 253s time="2025-10-31T03:51:49Z" level=info msg="Serving on /tmp/TestServerStartListenTimeout628146292/001/test.sock" 253s time="2025-10-31T03:51:49Z" level=info msg="Stopping daemon requested." 253s --- PASS: TestServerStartListenTimeout (0.01s) 253s === CONT TestUseSocketIgnoredWithSocketActivation 253s time="2025-10-31T03:51:49Z" level=info msg="Serving on /tmp/TestUseSocketIgnoredWithSocketActivation2858506662/001/socket" 253s time="2025-10-31T03:51:49Z" level=info msg="Stopping daemon requested." 253s time="2025-10-31T03:51:49Z" level=info msg="Wait for active requests to close." 253s --- PASS: TestUseSocketIgnoredWithSocketActivation (0.02s) 253s === CONT TestFailingOption 253s --- PASS: TestFailingOption (0.00s) 253s === CONT TestSdNotifier 253s === RUN TestSdNotifier/Sends_signal 253s === PAUSE TestSdNotifier/Sends_signal 253s === RUN TestSdNotifier/Doesn't_fail_when_not_under_systemd 253s === PAUSE TestSdNotifier/Doesn't_fail_when_not_under_systemd 253s === RUN TestSdNotifier/Error_when_notifier_fails 253s === PAUSE TestSdNotifier/Error_when_notifier_fails 253s === CONT TestChangeSocket 253s time="2025-10-31T03:51:49Z" level=info msg="Serving on /tmp/TestChangeSocket3578043816/001/test.sock" 253s time="2025-10-31T03:51:49Z" level=info msg="Stopping daemon requested." 253s time="2025-10-31T03:51:49Z" level=info msg="Wait for active requests to close." 253s time="2025-10-31T03:51:49Z" level=info msg="Serving on /tmp/TestChangeSocket3578043816/001/test2.sock" 253s time="2025-10-31T03:51:49Z" level=info msg="Stopping daemon requested." 253s --- PASS: TestServerDontTimeoutWithActiveRequest (0.11s) 253s === CONT TestSocketActivation 253s === RUN TestSocketActivation/Error_when_Listeners()_fails 253s === PAUSE TestSocketActivation/Error_when_Listeners()_fails 253s === RUN TestSocketActivation/Success_with_one_socket 253s === PAUSE TestSocketActivation/Success_with_one_socket 253s === RUN TestSocketActivation/Error_when_provided_with_many_sockets 253s === PAUSE TestSocketActivation/Error_when_provided_with_many_sockets 253s === CONT TestStopBeforeServe 253s time="2025-10-31T03:51:49Z" level=info msg="Stopping daemon requested." 253s time="2025-10-31T03:51:49Z" level=info msg="Wait for active requests to close." 253s --- PASS: TestStopBeforeServe (0.00s) 253s === CONT TestSdNotifier/Sends_signal 253s time="2025-10-31T03:51:49Z" level=info msg="Serving on /tmp/TestSdNotifierSends_signal1393758455/001/socket" 253s time="2025-10-31T03:51:49Z" level=info msg="Stopping daemon requested." 253s time="2025-10-31T03:51:49Z" level=info msg="Wait for active requests to close." 253s --- PASS: TestChangeSocket (0.02s) 253s === CONT TestSdNotifier/Error_when_notifier_fails 253s === CONT TestSdNotifier/Doesn't_fail_when_not_under_systemd 253s time="2025-10-31T03:51:49Z" level=info msg="Serving on /tmp/TestSdNotifierDoesnt_fail_when_not_under_systemd3349903831/001/socket" 253s time="2025-10-31T03:51:49Z" level=info msg="Stopping daemon requested." 253s time="2025-10-31T03:51:49Z" level=info msg="Wait for active requests to close." 253s === CONT TestSocketActivation/Error_when_Listeners()_fails 253s === CONT TestSocketActivation/Error_when_provided_with_many_sockets 253s === CONT TestSocketActivation/Success_with_one_socket 253s time="2025-10-31T03:51:49Z" level=info msg="Serving on /tmp/TestSocketActivationSuccess_with_one_socket674106740/001/sock1" 253s time="2025-10-31T03:51:49Z" level=info msg="Stopping daemon requested." 253s time="2025-10-31T03:51:49Z" level=info msg="Wait for active requests to close." 253s time="2025-10-31T03:51:49Z" level=info msg="Stopping daemon requested." 253s time="2025-10-31T03:51:49Z" level=info msg="Wait for active requests to close." 253s --- PASS: TestSdNotifier (0.00s) 253s --- PASS: TestSdNotifier/Error_when_notifier_fails (0.00s) 253s --- PASS: TestSdNotifier/Sends_signal (0.01s) 253s --- PASS: TestSdNotifier/Doesn't_fail_when_not_under_systemd (0.01s) 253s time="2025-10-31T03:51:49Z" level=info msg="Stopping daemon requested." 253s time="2025-10-31T03:51:49Z" level=info msg="Wait for active requests to close." 253s --- PASS: TestSocketActivation (0.00s) 253s --- PASS: TestSocketActivation/Error_when_Listeners()_fails (0.00s) 253s --- PASS: TestSocketActivation/Error_when_provided_with_many_sockets (0.00s) 253s --- PASS: TestSocketActivation/Success_with_one_socket (0.01s) 253s PASS 253s ok github.com/ubuntu/adsys/internal/daemon 0.209s 253s === RUN TestCleanDirectory 253s === PAUSE TestCleanDirectory 253s === RUN TestCleanDirectoryNoDirectoryExists 253s === PAUSE TestCleanDirectoryNoDirectoryExists 253s === RUN TestCleanDirectoryCantRemoveDirectory 253s === PAUSE TestCleanDirectoryCantRemoveDirectory 253s === RUN TestInstallOnlyMode 253s --- PASS: TestInstallOnlyMode (0.00s) 253s === RUN TestDestDirectory 253s --- PASS: TestDestDirectory (0.00s) 253s === CONT TestCleanDirectory 253s === CONT TestCleanDirectoryCantRemoveDirectory 253s --- PASS: TestCleanDirectoryCantRemoveDirectory (0.00s) 253s === CONT TestCleanDirectoryNoDirectoryExists 253s --- PASS: TestCleanDirectory (0.00s) 253s --- PASS: TestCleanDirectoryNoDirectoryExists (0.00s) 253s PASS 253s ok github.com/ubuntu/adsys/internal/generators 0.010s 253s === RUN TestNoNotification 253s === PAUSE TestNoNotification 253s === RUN TestNewConnectionNotification 253s === PAUSE TestNewConnectionNotification 253s === RUN TestDoneConnectionNotification 253s === PAUSE TestDoneConnectionNotification 253s === RUN TestErrorFromHandlerReturned 253s === PAUSE TestErrorFromHandlerReturned 253s === RUN TestErrorOnNilStream 253s === PAUSE TestErrorOnNilStream 253s === CONT TestNoNotification 253s --- PASS: TestNoNotification (0.00s) 253s === CONT TestErrorOnNilStream 253s --- PASS: TestErrorOnNilStream (0.00s) 253s === CONT TestErrorFromHandlerReturned 253s --- PASS: TestErrorFromHandlerReturned (0.00s) 253s === CONT TestNewConnectionNotification 253s === CONT TestDoneConnectionNotification 253s --- PASS: TestNewConnectionNotification (0.00s) 253s --- PASS: TestDoneConnectionNotification (0.00s) 253s PASS 253s ok github.com/ubuntu/adsys/internal/grpc/connectionnotify 0.006s 253s === RUN TestActiveConnection 253s === PAUSE TestActiveConnection 253s === RUN TestTimeoutOnInactiveConnection 253s === PAUSE TestTimeoutOnInactiveConnection 253s === RUN TestCancelOnClientSide 253s === PAUSE TestCancelOnClientSide 253s === RUN TestClientInterceptorFailed 253s === PAUSE TestClientInterceptorFailed 253s === RUN TestRecvMessageError 253s === PAUSE TestRecvMessageError 253s === CONT TestActiveConnection 253s === CONT TestClientInterceptorFailed 253s --- PASS: TestClientInterceptorFailed (0.00s) 253s === CONT TestCancelOnClientSide 253s --- PASS: TestCancelOnClientSide (0.00s) 253s === CONT TestTimeoutOnInactiveConnection 253s --- PASS: TestTimeoutOnInactiveConnection (0.05s) 253s === CONT TestRecvMessageError 253s --- PASS: TestRecvMessageError (0.00s) 253s --- PASS: TestActiveConnection (0.15s) 253s PASS 253s ok github.com/ubuntu/adsys/internal/grpc/contextidler 0.160s 253s === RUN TestFormat 253s === PAUSE TestFormat 253s === CONT TestFormat 253s === RUN TestFormat/Non_GRPC_errors_are_returned_as_is 253s === PAUSE TestFormat/Non_GRPC_errors_are_returned_as_is 253s === RUN TestFormat/GRPC_Unavailable_errors_prints_daemon_name 253s === PAUSE TestFormat/GRPC_Unavailable_errors_prints_daemon_name 253s === RUN TestFormat/GRPC_Deadline_errors_don’t_print_status_nor_daemon_nor_message 253s === PAUSE TestFormat/GRPC_Deadline_errors_don’t_print_status_nor_daemon_nor_message 253s === RUN TestFormat/GRPC_Unknown_errors_don’t_print_status_and_daemon 253s === PAUSE TestFormat/GRPC_Unknown_errors_don’t_print_status_and_daemon 253s === RUN TestFormat/GRPC_Random_errors_prints_status_and_message 253s === PAUSE TestFormat/GRPC_Random_errors_prints_status_and_message 253s === RUN TestFormat/Nil_returns_nil 253s === PAUSE TestFormat/Nil_returns_nil 253s === CONT TestFormat/Non_GRPC_errors_are_returned_as_is 253s === CONT TestFormat/GRPC_Unknown_errors_don’t_print_status_and_daemon 253s === CONT TestFormat/GRPC_Deadline_errors_don’t_print_status_nor_daemon_nor_message 253s === CONT TestFormat/GRPC_Unavailable_errors_prints_daemon_name 253s === CONT TestFormat/Nil_returns_nil 253s === CONT TestFormat/GRPC_Random_errors_prints_status_and_message 253s --- PASS: TestFormat (0.00s) 253s --- PASS: TestFormat/Non_GRPC_errors_are_returned_as_is (0.00s) 253s --- PASS: TestFormat/GRPC_Unknown_errors_don’t_print_status_and_daemon (0.00s) 253s --- PASS: TestFormat/GRPC_Deadline_errors_don’t_print_status_nor_daemon_nor_message (0.00s) 253s --- PASS: TestFormat/Nil_returns_nil (0.00s) 253s --- PASS: TestFormat/GRPC_Unavailable_errors_prints_daemon_name (0.00s) 253s --- PASS: TestFormat/GRPC_Random_errors_prints_status_and_message (0.00s) 253s PASS 253s ok github.com/ubuntu/adsys/internal/grpc/grpcerror 0.008s 253s === RUN TestStreamServer 253s === PAUSE TestStreamServer 253s === RUN TestStreamClient 253s === PAUSE TestStreamClient 253s === CONT TestStreamServer 253s === CONT TestStreamClient 253s --- PASS: TestStreamServer (0.00s) 253s --- PASS: TestStreamClient (0.00s) 253s PASS 253s ok github.com/ubuntu/adsys/internal/grpc/interceptorschain 0.007s 253s === RUN TestChildRecvMsgAndHandlerCalled 253s === PAUSE TestChildRecvMsgAndHandlerCalled 253s === CONT TestChildRecvMsgAndHandlerCalled 253s === RUN TestChildRecvMsgAndHandlerCalled/Handler_and_RecvMsg_are_called 253s === PAUSE TestChildRecvMsgAndHandlerCalled/Handler_and_RecvMsg_are_called 253s === RUN TestChildRecvMsgAndHandlerCalled/Info_being_nil_has_no_impact 253s === PAUSE TestChildRecvMsgAndHandlerCalled/Info_being_nil_has_no_impact 253s === RUN TestChildRecvMsgAndHandlerCalled/Error_when_handler_fails_out 253s === PAUSE TestChildRecvMsgAndHandlerCalled/Error_when_handler_fails_out 253s === RUN TestChildRecvMsgAndHandlerCalled/Error_when_RecvMsg_errors_out 253s === PAUSE TestChildRecvMsgAndHandlerCalled/Error_when_RecvMsg_errors_out 253s === CONT TestChildRecvMsgAndHandlerCalled/Handler_and_RecvMsg_are_called 253s === CONT TestChildRecvMsgAndHandlerCalled/Error_when_handler_fails_out 253s === CONT TestChildRecvMsgAndHandlerCalled/Info_being_nil_has_no_impact 253s === CONT TestChildRecvMsgAndHandlerCalled/Error_when_RecvMsg_errors_out 253s time="2025-10-31T03:51:53Z" level=info msg="Error sent to client: Failing handler" 253s --- PASS: TestChildRecvMsgAndHandlerCalled (0.00s) 253s --- PASS: TestChildRecvMsgAndHandlerCalled/Handler_and_RecvMsg_are_called (0.00s) 253s --- PASS: TestChildRecvMsgAndHandlerCalled/Info_being_nil_has_no_impact (0.00s) 253s --- PASS: TestChildRecvMsgAndHandlerCalled/Error_when_handler_fails_out (0.00s) 253s --- PASS: TestChildRecvMsgAndHandlerCalled/Error_when_RecvMsg_errors_out (0.00s) 253s PASS 253s ok github.com/ubuntu/adsys/internal/grpc/logconnections 0.009s 253s === RUN TestRecvLogMsg 253s === PAUSE TestRecvLogMsg 253s === RUN TestAddStreamToForwardLocalLogs 253s time="2025-10-31T03:51:54Z" level=info msg="New connection from client [[123456:283147]]" 253s time="2025-10-31T03:51:54Z" level=warning msg=something 253s --- PASS: TestAddStreamToForwardLocalLogs (0.00s) 253s === RUN TestAddStreamToForwardOtherStream 253s time="2025-10-31T03:51:54Z" level=info msg="New connection from client [[123456:575296]]" 253s time="2025-10-31T03:51:54Z" level=info msg="New connection from client [[123456:934872]]" 253s --- PASS: TestAddStreamToForwardOtherStream (0.00s) 253s === RUN TestAddStreamToForwardAfterClientIsConnected 253s time="2025-10-31T03:51:54Z" level=info msg="New connection from client [[123456:185557]]" 253s time="2025-10-31T03:51:54Z" level=info msg="New connection from client [[123456:010751]]" 253s --- PASS: TestAddStreamToForwardAfterClientIsConnected (0.00s) 253s === RUN TestAddStreamToForwardDisconnect 253s time="2025-10-31T03:51:54Z" level=info msg="New connection from client [[123456:291581]]" 253s time="2025-10-31T03:51:54Z" level=info msg="New connection from client [[123456:680517]]" 253s --- PASS: TestAddStreamToForwardDisconnect (0.00s) 253s === RUN TestAddStreamToForwardTwoClients 253s time="2025-10-31T03:51:54Z" level=info msg="New connection from client [[123456:421612]]" 253s time="2025-10-31T03:51:54Z" level=info msg="New connection from client [[123456:766921]]" 253s time="2025-10-31T03:51:54Z" level=info msg="New connection from client [[123456:146188]]" 253s --- PASS: TestAddStreamToForwardTwoClients (0.00s) 253s === RUN TestAddStreamToForwardWithListenerCaller 253s time="2025-10-31T03:51:54Z" level=info msg="New connection from client [[123456:966705]]" 253s time="2025-10-31T03:51:54Z" level=info msg="New connection from client [[123456:223168]]" 253s --- PASS: TestAddStreamToForwardWithListenerCaller (0.00s) 253s === RUN TestAddStreamMultipleForwarders 253s time="2025-10-31T03:51:54Z" level=info msg="New connection from client [[123456:065165]]" 253s time="2025-10-31T03:51:54Z" level=info msg="New connection from client [[123456:590247]]" 253s time="2025-10-31T03:51:54Z" level=info msg="New connection from client [[123456:631481]]" 253s --- PASS: TestAddStreamMultipleForwarders (0.00s) 253s === RUN TestAddStreamMultipleForwardersOneWithCaller 253s time="2025-10-31T03:51:54Z" level=info msg="New connection from client [[123456:606767]]" 253s time="2025-10-31T03:51:54Z" level=info msg="New connection from client [[123456:109254]]" 253s time="2025-10-31T03:51:54Z" level=info msg="New connection from client [[123456:892290]]" 253s --- PASS: TestAddStreamMultipleForwardersOneWithCaller (0.00s) 253s === RUN TestAddStreamToForwardFailSend 253s time="2025-10-31T03:51:54Z" level=info msg="New connection from client [[123456:058749]]" 253s time="2025-10-31T03:51:54Z" level=info msg="New connection from client [[123456:326115]]" 253s time="2025-10-31T03:51:54Z" level=warning msg="Couldn't send log to one or more listener: SendMsg failed" 253s --- PASS: TestAddStreamToForwardFailSend (0.00s) 253s === RUN TestRemoveAllStreams 253s time="2025-10-31T03:51:54Z" level=info msg="New connection from client [[123456:596625]]" 253s time="2025-10-31T03:51:54Z" level=info msg="New connection from client [[123456:083250]]" 253s time="2025-10-31T03:51:54Z" level=info msg="New connection from client [[123456:963484]]" 253s time="2025-10-31T03:51:54Z" level=warning msg="[[123456:963484]] else" 253s --- PASS: TestRemoveAllStreams (0.00s) 253s === RUN TestLogWarningOnly 253s === PAUSE TestLogWarningOnly 253s === RUN TestMultipleLogs 253s === PAUSE TestMultipleLogs 253s === RUN TestAllLogLevels 253s === PAUSE TestAllLogLevels 253s === RUN TestDebugSentToRemoteEvenIfLocalIsWarning 253s === PAUSE TestDebugSentToRemoteEvenIfLocalIsWarning 253s === RUN TestLogWarningWithLocalCaller 253s === PAUSE TestLogWarningWithLocalCaller 253s === RUN TestLogWarningWithRemoteCaller 253s === PAUSE TestLogWarningWithRemoteCaller 253s === RUN TestLogWithNoCaller 253s === PAUSE TestLogWithNoCaller 253s === RUN TestSetReportCaller 253s === RUN TestSetReportCaller/Report_caller 253s === RUN TestSetReportCaller/Disable_caller 253s --- PASS: TestSetReportCaller (0.00s) 253s --- PASS: TestSetReportCaller/Report_caller (0.00s) 253s --- PASS: TestSetReportCaller/Disable_caller (0.00s) 253s === RUN TestLogSendingFail 253s === PAUSE TestLogSendingFail 253s === RUN TestLogStreamsAreSeparated 253s === PAUSE TestLogStreamsAreSeparated 253s === RUN TestLogAddHook 253s time="2025-10-31T03:51:54Z" level=info 253s --- PASS: TestLogAddHook (0.00s) 253s === RUN TestStreamServerInterceptor 253s === PAUSE TestStreamServerInterceptor 253s === RUN TestStreamServerInterceptorSendLogsFails 253s === PAUSE TestStreamServerInterceptorSendLogsFails 253s === RUN TestStreamServerInterceptorLoggerInvalidMetadata 253s === PAUSE TestStreamServerInterceptorLoggerInvalidMetadata 253s === CONT TestRecvLogMsg 253s === RUN TestRecvLogMsg/One_message,_no_log 253s === PAUSE TestRecvLogMsg/One_message,_no_log 253s === CONT TestLogWithNoCaller 253s === RUN TestRecvLogMsg/One_log_(and_one_closing_empty_message) 253s === PAUSE TestRecvLogMsg/One_log_(and_one_closing_empty_message) 253s === RUN TestRecvLogMsg/Two_logs_with_different_debug_level 253s === PAUSE TestRecvLogMsg/Two_logs_with_different_debug_level 253s === RUN TestRecvLogMsg/No_caller_on_any_logs 253s === PAUSE TestRecvLogMsg/No_caller_on_any_logs 253s === RUN TestRecvLogMsg/One_message_with_error,_no_log,_error_is_preserved 253s === PAUSE TestRecvLogMsg/One_message_with_error,_no_log,_error_is_preserved 253s === RUN TestRecvLogMsg/Unknown_log_level_triggers_a_client_error_(protocole_issue) 253s === PAUSE TestRecvLogMsg/Unknown_log_level_triggers_a_client_error_(protocole_issue) 253s === RUN TestRecvLogMsg/Invalid_object_passed_to_RecvMsg_is_gracefully_skipped 253s === PAUSE TestRecvLogMsg/Invalid_object_passed_to_RecvMsg_is_gracefully_skipped 253s === RUN TestRecvLogMsg/Log_with_caller 253s === PAUSE TestRecvLogMsg/Log_with_caller 253s === RUN TestRecvLogMsg/No_caller_when_not_requested 253s Failed to fire hook: hook fired 253s === PAUSE TestRecvLogMsg/No_caller_when_not_requested 253s === RUN TestRecvLogMsg/Logs_and_then_message_with_error,_error_is_preserved 253s time="2025-10-31T03:51:54Z" level=info msg="New connection from client [[123456:607439]]" 253s === PAUSE TestRecvLogMsg/Logs_and_then_message_with_error,_error_is_preserved 253s === CONT TestLogWarningWithRemoteCaller 253s --- PASS: TestLogWithNoCaller (0.00s) 253s === CONT TestLogWarningWithLocalCaller 253s Failed to fire hook: hook fired 253s time="2025-10-31T03:51:54Z" level=info msg="New connection from client [[123456:339496]]" 253s --- PASS: TestLogWarningWithRemoteCaller (0.00s) 253s === CONT TestDebugSentToRemoteEvenIfLocalIsWarning 253s Failed to fire hook: hook fired 253s time="2025-10-31T03:51:54Z" level=info msg="New connection from client [[123456:382950]]" 253s --- PASS: TestLogWarningWithLocalCaller (0.00s) 253s === CONT TestAllLogLevels 253s Failed to fire hook: hook fired 253s time="2025-10-31T03:51:54Z" level=info msg="New connection from client [[123456:714978]]" 253s --- PASS: TestDebugSentToRemoteEvenIfLocalIsWarning (0.00s) 253s === CONT TestMultipleLogs 253s Failed to fire hook: hook fired 253s time="2025-10-31T03:51:54Z" level=info msg="New connection from client [[123456:338868]]" 253s Failed to fire hook: hook fired 253s time="2025-10-31T03:51:54Z" level=info msg="New connection from client [[123456:289405]]" 253s --- PASS: TestAllLogLevels (0.00s) 253s === CONT TestLogWarningOnly 253s --- PASS: TestMultipleLogs (0.00s) 253s === CONT TestStreamServerInterceptor 253s Failed to fire hook: hook fired 253s time="2025-10-31T03:51:54Z" level=info msg="New connection from client [[123456:162454]]" 253s --- PASS: TestLogWarningOnly (0.00s) 253s === CONT TestStreamServerInterceptorLoggerInvalidMetadata 253s === RUN TestStreamServerInterceptorLoggerInvalidMetadata/No_meta_sent 253s === PAUSE TestStreamServerInterceptorLoggerInvalidMetadata/No_meta_sent 253s === RUN TestStreamServerInterceptorLoggerInvalidMetadata/Missing_client_ID 253s === PAUSE TestStreamServerInterceptorLoggerInvalidMetadata/Missing_client_ID 253s === RUN TestStreamServerInterceptorLoggerInvalidMetadata/Missing_caller_key 253s === PAUSE TestStreamServerInterceptorLoggerInvalidMetadata/Missing_caller_key 253s === RUN TestStreamServerInterceptorLoggerInvalidMetadata/Caller_key_is_not_a_boolean 253s Failed to fire hook: hook fired 253s === PAUSE TestStreamServerInterceptorLoggerInvalidMetadata/Caller_key_is_not_a_boolean 253s time="2025-10-31T03:51:54Z" level=info msg="New connection from client [[123456:236498]]" 253s === RUN TestStreamServerInterceptorLoggerInvalidMetadata/Multiple_log_metas 253s === PAUSE TestStreamServerInterceptorLoggerInvalidMetadata/Multiple_log_metas 253s --- PASS: TestStreamServerInterceptor (0.00s) 253s === CONT TestLogStreamsAreSeparated 253s === CONT TestStreamServerInterceptorSendLogsFails 253s Failed to fire hook: hook fired 253s time="2025-10-31T03:51:54Z" level=info msg="New connection from client [[123456:543416]]" 253s time="2025-10-31T03:51:54Z" level=warning msg="[[123456:750319]] Couldn't send initial connection log to client" 253s Failed to fire hook: hook fired 253s time="2025-10-31T03:51:54Z" level=info msg="New connection from client [[123456:750319]]" 253s --- PASS: TestStreamServerInterceptorSendLogsFails (0.00s) 253s === CONT TestLogSendingFail 253s Failed to fire hook: hook fired 253s time="2025-10-31T03:51:54Z" level=info msg="New connection from client [[123456:151041]]" 253s --- PASS: TestLogStreamsAreSeparated (0.00s) 253s === CONT TestRecvLogMsg/One_message,_no_log 253s Failed to fire hook: hook fired 253s === CONT TestRecvLogMsg/Unknown_log_level_triggers_a_client_error_(protocole_issue) 253s time="2025-10-31T03:51:54Z" level=info msg="New connection from client [[123456:523510]]" 253s === CONT TestRecvLogMsg/Logs_and_then_message_with_error,_error_is_preserved 253s === CONT TestRecvLogMsg/No_caller_when_not_requested 253s --- PASS: TestLogSendingFail (0.00s) 253s === CONT TestRecvLogMsg/Log_with_caller 253s === CONT TestRecvLogMsg/Invalid_object_passed_to_RecvMsg_is_gracefully_skipped 253s === CONT TestRecvLogMsg/No_caller_on_any_logs 253s === CONT TestRecvLogMsg/One_message_with_error,_no_log,_error_is_preserved 253s === CONT TestRecvLogMsg/Two_logs_with_different_debug_level 253s === CONT TestRecvLogMsg/One_log_(and_one_closing_empty_message) 253s === CONT TestStreamServerInterceptorLoggerInvalidMetadata/No_meta_sent 253s --- PASS: TestRecvLogMsg (0.00s) 253s --- PASS: TestRecvLogMsg/One_message,_no_log (0.00s) 253s --- PASS: TestRecvLogMsg/Unknown_log_level_triggers_a_client_error_(protocole_issue) (0.00s) 253s --- PASS: TestRecvLogMsg/Logs_and_then_message_with_error,_error_is_preserved (0.00s) 253s --- PASS: TestRecvLogMsg/No_caller_when_not_requested (0.00s) 253s --- PASS: TestRecvLogMsg/Invalid_object_passed_to_RecvMsg_is_gracefully_skipped (0.00s) 253s --- PASS: TestRecvLogMsg/Log_with_caller (0.00s) 253s --- PASS: TestRecvLogMsg/One_message_with_error,_no_log,_error_is_preserved (0.00s) 253s --- PASS: TestRecvLogMsg/Two_logs_with_different_debug_level (0.00s) 253s --- PASS: TestRecvLogMsg/No_caller_on_any_logs (0.00s) 253s --- PASS: TestRecvLogMsg/One_log_(and_one_closing_empty_message) (0.00s) 253s === CONT TestStreamServerInterceptorLoggerInvalidMetadata/Multiple_log_metas 253s === CONT TestStreamServerInterceptorLoggerInvalidMetadata/Caller_key_is_not_a_boolean 253s === CONT TestStreamServerInterceptorLoggerInvalidMetadata/Missing_caller_key 253s === CONT TestStreamServerInterceptorLoggerInvalidMetadata/Missing_client_ID 253s --- PASS: TestStreamServerInterceptorLoggerInvalidMetadata (0.00s) 253s --- PASS: TestStreamServerInterceptorLoggerInvalidMetadata/No_meta_sent (0.00s) 253s --- PASS: TestStreamServerInterceptorLoggerInvalidMetadata/Caller_key_is_not_a_boolean (0.00s) 253s --- PASS: TestStreamServerInterceptorLoggerInvalidMetadata/Multiple_log_metas (0.00s) 253s --- PASS: TestStreamServerInterceptorLoggerInvalidMetadata/Missing_client_ID (0.00s) 253s --- PASS: TestStreamServerInterceptorLoggerInvalidMetadata/Missing_caller_key (0.00s) 253s PASS 253s ok github.com/ubuntu/adsys/internal/grpc/logstreamer 0.022s 253s === RUN TestEventLogHook 253s === RUN TestEventLogHook/error_level 253s time="2025-10-31T03:51:55Z" level=error msg="Error msg" 253s === RUN TestEventLogHook/warn_level 253s time="2025-10-31T03:51:55Z" level=warning msg="Warning msg" 253s time="2025-10-31T03:51:55Z" level=error msg="Error msg" 253s === RUN TestEventLogHook/info_level 253s time="2025-10-31T03:51:55Z" level=info msg="Info msg" 253s time="2025-10-31T03:51:55Z" level=warning msg="Warning msg" 253s time="2025-10-31T03:51:55Z" level=error msg="Error msg" 253s === RUN TestEventLogHook/debug_level 253s time="2025-10-31T03:51:55Z" level=debug msg="Debug msg" 253s time="2025-10-31T03:51:55Z" level=info msg="Info msg" 253s time="2025-10-31T03:51:55Z" level=warning msg="Warning msg" 253s time="2025-10-31T03:51:55Z" level=error msg="Error msg" 253s --- PASS: TestEventLogHook (0.00s) 253s --- PASS: TestEventLogHook/error_level (0.00s) 253s --- PASS: TestEventLogHook/warn_level (0.00s) 253s --- PASS: TestEventLogHook/info_level (0.00s) 253s --- PASS: TestEventLogHook/debug_level (0.00s) 253s PASS 253s ok github.com/ubuntu/adsys/internal/loghooks 0.004s 253s === RUN TestFormat 253s === PAUSE TestFormat 253s === RUN TestApplyPolicies 253s === RUN TestApplyPolicies/Second_call_with_no_subscription_don't_remove_scripts_if_session_hasn’t_ended 253s time="2025-10-31T03:51:56Z" level=info msg="Applying policies for hostname (machine: true)" 253s time="2025-10-31T03:51:56Z" 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" 253s time="2025-10-31T03:51:56Z" level=info msg="\"/tmp/TestApplyPoliciesSecond_call_with_no_subscription_dont_remove_scripts_if_session_hasnt_ended972914763/001/run/adsys/machine/scripts/.running\" already exists, a session is already running, ignoring." 253s === RUN TestApplyPolicies/Succeed_if_checking_for_backend_online_status_returns_an_error 253s === RUN TestApplyPolicies/Second_call_with_no_subscription_should_remove_everything_but_dconf_content 253s time="2025-10-31T03:51:56Z" level=info msg="Applying policies for hostname (machine: true)" 253s time="2025-10-31T03:51:56Z" 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" 253s === RUN TestApplyPolicies/Error_when_applying_proxy_policy 253s === RUN TestApplyPolicies/Error_when_applying_certificate_policy 253s === RUN TestApplyPolicies/No_subscription_is_only_dconf_content 253s === RUN TestApplyPolicies/Error_when_applying_scripts_policy 253s === RUN TestApplyPolicies/Error_when_applying_dconf_policy 253s === RUN TestApplyPolicies/Error_when_applying_mount_policy 253s === RUN TestApplyPolicies/Second_call_with_no_rules_deletes_everything 253s time="2025-10-31T03:51:56Z" level=info msg="Unloading policies for hostname (machine: true)" 253s === RUN TestApplyPolicies/Second_call_with_no_rules_don't_remove_scripts_if_session_hasn’t_ended 253s time="2025-10-31T03:51:56Z" level=info msg="Unloading policies for hostname (machine: true)" 253s time="2025-10-31T03:51:56Z" level=info msg="\"/tmp/TestApplyPoliciesSecond_call_with_no_rules_dont_remove_scripts_if_session_hasnt_ended2032033431/001/run/adsys/machine/scripts/.running\" already exists, a session is already running, ignoring." 253s === RUN TestApplyPolicies/Error_when_applying_apparmor_policy 253s === RUN TestApplyPolicies/Succeed 253s === RUN TestApplyPolicies/Error_when_applying_privilege_policy 253s --- PASS: TestApplyPolicies (0.19s) 253s --- PASS: TestApplyPolicies/Second_call_with_no_subscription_don't_remove_scripts_if_session_hasn’t_ended (0.03s) 253s --- PASS: TestApplyPolicies/Succeed_if_checking_for_backend_online_status_returns_an_error (0.02s) 253s --- PASS: TestApplyPolicies/Second_call_with_no_subscription_should_remove_everything_but_dconf_content (0.02s) 253s --- PASS: TestApplyPolicies/Error_when_applying_proxy_policy (0.01s) 253s --- PASS: TestApplyPolicies/Error_when_applying_certificate_policy (0.00s) 253s --- PASS: TestApplyPolicies/No_subscription_is_only_dconf_content (0.01s) 253s --- PASS: TestApplyPolicies/Error_when_applying_scripts_policy (0.01s) 253s --- PASS: TestApplyPolicies/Error_when_applying_dconf_policy (0.01s) 253s --- PASS: TestApplyPolicies/Error_when_applying_mount_policy (0.01s) 253s --- PASS: TestApplyPolicies/Second_call_with_no_rules_deletes_everything (0.02s) 253s --- PASS: TestApplyPolicies/Second_call_with_no_rules_don't_remove_scripts_if_session_hasn’t_ended (0.02s) 253s --- PASS: TestApplyPolicies/Error_when_applying_apparmor_policy (0.01s) 253s --- PASS: TestApplyPolicies/Succeed (0.02s) 253s --- PASS: TestApplyPolicies/Error_when_applying_privilege_policy (0.01s) 253s === RUN TestDumpPolicies 253s === PAUSE TestDumpPolicies 253s === RUN TestLastUpdateFor 253s === PAUSE TestLastUpdateFor 253s === RUN TestGetSubscriptionState 253s === RUN TestGetSubscriptionState/Returns_enablement_status_(enabled) 253s === RUN TestGetSubscriptionState/Returns_enablement_status_(disabled) 253s --- PASS: TestGetSubscriptionState (0.01s) 253s --- PASS: TestGetSubscriptionState/Returns_enablement_status_(enabled) (0.00s) 253s --- PASS: TestGetSubscriptionState/Returns_enablement_status_(disabled) (0.00s) 253s === RUN TestNew 253s === PAUSE TestNew 253s === RUN TestNewFromCache 253s === PAUSE TestNewFromCache 253s === RUN TestSave 253s === PAUSE TestSave 253s === RUN TestCachePolicies 253s === PAUSE TestCachePolicies 253s === RUN TestSaveAssetsTo 253s === PAUSE TestSaveAssetsTo 253s === RUN TestCompressAssets 253s === PAUSE TestCompressAssets 253s === RUN TestGetUniqueRules 253s === PAUSE TestGetUniqueRules 253s === CONT TestFormat 253s === RUN TestFormat/GPO_with_rules 253s === PAUSE TestFormat/GPO_with_rules 253s === RUN TestFormat/GPO_with_rules_and_overrides,_no_rules_processed 253s === PAUSE TestFormat/GPO_with_rules_and_overrides,_no_rules_processed 253s === RUN TestFormat/GPO_with_rules,_appending_to_existing_treated_key 253s === PAUSE TestFormat/GPO_with_rules,_appending_to_existing_treated_key 253s === RUN TestFormat/GPO_with_rules,_override_displayed 253s === PAUSE TestFormat/GPO_with_rules,_override_displayed 253s === RUN TestFormat/GPO_and_assets_with_rules,_append_is_overridden_after_a_topmost_override 253s === PAUSE TestFormat/GPO_and_assets_with_rules,_append_is_overridden_after_a_topmost_override 253s === RUN TestFormat/GPO_summary 253s === PAUSE TestFormat/GPO_summary 253s === RUN TestFormat/GPO_with_rules,_override_hidden 253s === PAUSE TestFormat/GPO_with_rules,_override_hidden 253s === RUN TestFormat/GPO_with_rules,_override_disabled_key 253s === PAUSE TestFormat/GPO_with_rules,_override_disabled_key 253s === RUN TestFormat/GPO_and_assets_with_rules,_appending_to_same_key_do_not_add_to_processed_rules 253s === CONT TestSaveAssetsTo 253s === PAUSE TestFormat/GPO_and_assets_with_rules,_appending_to_same_key_do_not_add_to_processed_rules 253s === CONT TestGetUniqueRules 253s === RUN TestSaveAssetsTo/File 253s === PAUSE TestSaveAssetsTo/File 253s === RUN TestSaveAssetsTo/Error_on_unexisting_relSrc_in_cache 253s === PAUSE TestSaveAssetsTo/Error_on_unexisting_relSrc_in_cache 253s === RUN TestSaveAssetsTo/Error_on_read_only_dest 253s === PAUSE TestSaveAssetsTo/Error_on_read_only_dest 253s === RUN TestGetUniqueRules/Multiple_domains,_same_GPOs 253s === RUN TestSaveAssetsTo/Error_on_file_read_only_existing_in_dest 253s === PAUSE TestSaveAssetsTo/Error_on_file_read_only_existing_in_dest 253s === PAUSE TestGetUniqueRules/Multiple_domains,_same_GPOs 253s === RUN TestGetUniqueRules/Multiple_domains,_different_GPOs 253s === PAUSE TestGetUniqueRules/Multiple_domains,_different_GPOs 253s === RUN TestGetUniqueRules/Two_policies,_with_reversed_overrides 253s === PAUSE TestGetUniqueRules/Two_policies,_with_reversed_overrides 253s === RUN TestGetUniqueRules/Mix_meta_on_GPOs,_closest_policy_entry_is_append,_furthest_override_is_ignored 253s === PAUSE TestGetUniqueRules/Mix_meta_on_GPOs,_closest_policy_entry_is_append,_furthest_override_is_ignored 253s === RUN TestGetUniqueRules/Order_key_ascii 253s === PAUSE TestGetUniqueRules/Order_key_ascii 253s === RUN TestGetUniqueRules/Two_policies,_with_overrides 253s === PAUSE TestGetUniqueRules/Two_policies,_with_overrides 253s === RUN TestGetUniqueRules/Append_policy_entry,_one_GPO 253s === PAUSE TestGetUniqueRules/Append_policy_entry,_one_GPO 253s === RUN TestSaveAssetsTo/Chown_directories_and_files_when_requested 253s === RUN TestGetUniqueRules/Append_policy_entry,_closest_meta_wins 253s === PAUSE TestGetUniqueRules/Append_policy_entry,_closest_meta_wins 253s === PAUSE TestSaveAssetsTo/Chown_directories_and_files_when_requested 253s === RUN TestGetUniqueRules/Append_policy_entry,_multiple_GPOs 253s === RUN TestSaveAssetsTo/All 253s === PAUSE TestGetUniqueRules/Append_policy_entry,_multiple_GPOs 253s === RUN TestGetUniqueRules/Append_policy_entry,_multiple_GPOs,_disabled_key_is_ignored,_second 253s === PAUSE TestGetUniqueRules/Append_policy_entry,_multiple_GPOs,_disabled_key_is_ignored,_second 253s === RUN TestGetUniqueRules/One_GPO 253s === PAUSE TestGetUniqueRules/One_GPO 253s === RUN TestGetUniqueRules/Same_key_in_different_domains_are_kept_separated 253s === PAUSE TestGetUniqueRules/Same_key_in_different_domains_are_kept_separated 253s === RUN TestGetUniqueRules/Two_policies,_no_overrides 253s === PAUSE TestGetUniqueRules/Two_policies,_no_overrides 253s === RUN TestGetUniqueRules/Two_policies,_no_overrides,_reversed 253s === PAUSE TestGetUniqueRules/Two_policies,_no_overrides,_reversed 253s === RUN TestGetUniqueRules/Disabled_value_overrides_non_disabled_one 253s === PAUSE TestSaveAssetsTo/All 253s === PAUSE TestGetUniqueRules/Disabled_value_overrides_non_disabled_one 253s === RUN TestGetUniqueRules/Disabled_value_is_overridden 253s === RUN TestSaveAssetsTo/Sub_directory 253s === PAUSE TestGetUniqueRules/Disabled_value_is_overridden 253s === PAUSE TestSaveAssetsTo/Sub_directory 253s === RUN TestGetUniqueRules/Mix_meta_on_GPOs,_furthest_policy_entry_is_append,_closest_is_override 253s === RUN TestSaveAssetsTo/Sub_directory_ending_with_slash 253s === PAUSE TestGetUniqueRules/Mix_meta_on_GPOs,_furthest_policy_entry_is_append,_closest_is_override 253s === RUN TestGetUniqueRules/More_policies,_with_multiple_overrides 253s === PAUSE TestSaveAssetsTo/Sub_directory_ending_with_slash 253s === PAUSE TestGetUniqueRules/More_policies,_with_multiple_overrides 253s === RUN TestSaveAssetsTo/Error_on_empty_relSrc 253s === PAUSE TestSaveAssetsTo/Error_on_empty_relSrc 253s === RUN TestGetUniqueRules/Append_policy_entry,_one_GPO,_disabled_key_is_ignored 253s === RUN TestSaveAssetsTo/Error_on_no_assets 253s === PAUSE TestGetUniqueRules/Append_policy_entry,_one_GPO,_disabled_key_is_ignored 253s === PAUSE TestSaveAssetsTo/Error_on_no_assets 253s === RUN TestGetUniqueRules/Append_policy_entry,_multiple_GPOs,_disabled_key_is_ignored,_first 253s === RUN TestSaveAssetsTo/Error_on_dest_already_exists 253s === PAUSE TestSaveAssetsTo/Error_on_dest_already_exists 253s === PAUSE TestGetUniqueRules/Append_policy_entry,_multiple_GPOs,_disabled_key_is_ignored,_first 253s === RUN TestSaveAssetsTo/Error_on_can't_chown_to_user 253s === PAUSE TestSaveAssetsTo/Error_on_can't_chown_to_user 253s === CONT TestCompressAssets 253s === RUN TestCompressAssets/No_db 253s === PAUSE TestCompressAssets/No_db 253s === RUN TestCompressAssets/Existing_db 253s === PAUSE TestCompressAssets/Existing_db 253s === RUN TestCompressAssets/Error_on_can’t_remove_existing_db 253s === PAUSE TestCompressAssets/Error_on_can’t_remove_existing_db 253s === CONT TestNew 253s === RUN TestNew/gpos_only 253s === PAUSE TestNew/gpos_only 253s === RUN TestCompressAssets/Error_on_non_existing_directory 253s === PAUSE TestCompressAssets/Error_on_non_existing_directory 253s === RUN TestNew/With_assets 253s === PAUSE TestNew/With_assets 253s === RUN TestNew/No_gpos 253s === PAUSE TestNew/No_gpos 253s === RUN TestNew/Error_on_invalid_assets_db 253s === CONT TestCachePolicies 253s === PAUSE TestNew/Error_on_invalid_assets_db 253s === RUN TestNew/Error_on_assets_db_does_not_exists 253s === PAUSE TestNew/Error_on_assets_db_does_not_exists 253s === CONT TestSave 253s === RUN TestSave/gpos_only 253s === PAUSE TestSave/gpos_only 253s === RUN TestSave/With_assets 253s === PAUSE TestSave/With_assets 253s === RUN TestSave/Existing_assets_cache_is_refreshed 253s === PAUSE TestSave/Existing_assets_cache_is_refreshed 253s === RUN TestSave/Existing_cache_with_assets,_new_cache_with_no_assets 253s === PAUSE TestSave/Existing_cache_with_assets,_new_cache_with_no_assets 253s === RUN TestSave/Destdir_does_not_exists 253s --- PASS: TestCachePolicies (0.00s) 253s === PAUSE TestSave/Destdir_does_not_exists 253s === RUN TestSave/Can_refresh_on_existing_read_only_asset_file 253s === PAUSE TestSave/Can_refresh_on_existing_read_only_asset_file 253s === RUN TestSave/Error_on_can’t_write_to_dest_dir 253s === PAUSE TestSave/Error_on_can’t_write_to_dest_dir 253s === RUN TestSave/Existing_policies_cache_is_refreshed 253s === PAUSE TestSave/Existing_policies_cache_is_refreshed 253s === RUN TestSave/Save_assets_on_existing_opened_file_does_not_segfault 253s === PAUSE TestSave/Save_assets_on_existing_opened_file_does_not_segfault 253s === RUN TestSave/Error_on_can’t_write_to_policies_base_dir 253s === PAUSE TestSave/Error_on_can’t_write_to_policies_base_dir 253s === RUN TestSave/Error_on_can’t_remove_existing_assets 253s === PAUSE TestSave/Error_on_can’t_remove_existing_assets 253s === CONT TestNewFromCache 253s === RUN TestNewFromCache/Error_on_invalid_assets_db 253s === CONT TestDumpPolicies 253s === PAUSE TestNewFromCache/Error_on_invalid_assets_db 253s === RUN TestNewFromCache/Error_on_no_policies_cache 253s === PAUSE TestNewFromCache/Error_on_no_policies_cache 253s === RUN TestNewFromCache/gpos_only 253s === PAUSE TestNewFromCache/gpos_only 253s === RUN TestNewFromCache/With_assets 253s === PAUSE TestNewFromCache/With_assets 253s === RUN TestNewFromCache/Error_on_invalid_policies_cache 253s === PAUSE TestNewFromCache/Error_on_invalid_policies_cache 253s === CONT TestLastUpdateFor 253s === RUN TestLastUpdateFor/Returns_user's_last_update_time 253s === PAUSE TestLastUpdateFor/Returns_user's_last_update_time 253s === RUN TestDumpPolicies/Same_GPO_Machine_and_User_with_rules 253s === PAUSE TestDumpPolicies/Same_GPO_Machine_and_User_with_rules 253s === RUN TestDumpPolicies/Error_on_missing_machine_cache_when_targeting_user 253s === RUN TestLastUpdateFor/Target_is_ignored_for_machine_request 253s === PAUSE TestDumpPolicies/Error_on_missing_machine_cache_when_targeting_user 253s === PAUSE TestLastUpdateFor/Target_is_ignored_for_machine_request 253s === RUN TestDumpPolicies/Machine_only_GPO_with_rules 253s === RUN TestLastUpdateFor/Error_when_target_does_not_exist 253s === PAUSE TestLastUpdateFor/Error_when_target_does_not_exist 253s === PAUSE TestDumpPolicies/Machine_only_GPO_with_rules 253s === RUN TestLastUpdateFor/Returns_machine's_last_update_time 253s === PAUSE TestLastUpdateFor/Returns_machine's_last_update_time 253s === RUN TestDumpPolicies/One_GPO_User 253s === CONT TestFormat/GPO_with_rules 253s === PAUSE TestDumpPolicies/One_GPO_User 253s === RUN TestDumpPolicies/Multiple_GPOs 253s === PAUSE TestDumpPolicies/Multiple_GPOs 253s === RUN TestDumpPolicies/One_GPO_with_rules 253s === PAUSE TestDumpPolicies/One_GPO_with_rules 253s === RUN TestDumpPolicies/Overrides_between_machine_and_user_GPOs,_hidden 253s === PAUSE TestDumpPolicies/Overrides_between_machine_and_user_GPOs,_hidden 253s === RUN TestDumpPolicies/Same_GPO_Machine_and_User 253s === PAUSE TestDumpPolicies/Same_GPO_Machine_and_User 253s === RUN TestDumpPolicies/One_GPO_Machine 253s === PAUSE TestDumpPolicies/One_GPO_Machine 253s === RUN TestDumpPolicies/One_GPO_User_+_Machine 253s === PAUSE TestDumpPolicies/One_GPO_User_+_Machine 253s === RUN TestDumpPolicies/Multiple_GPOs_with_rules,_override_hidden 253s === PAUSE TestDumpPolicies/Multiple_GPOs_with_rules,_override_hidden 253s === RUN TestDumpPolicies/Overrides_between_machine_and_user_GPOs,_shown 253s === PAUSE TestDumpPolicies/Overrides_between_machine_and_user_GPOs,_shown 253s === RUN TestDumpPolicies/Same_GPO_Machine_and_User_with_rules_and_overrides 253s === PAUSE TestDumpPolicies/Same_GPO_Machine_and_User_with_rules_and_overrides 253s === RUN TestDumpPolicies/Error_on_missing_target_cache 253s === PAUSE TestDumpPolicies/Error_on_missing_target_cache 253s === RUN TestDumpPolicies/Multiple_GPOs_with_rules,_no_override 253s === PAUSE TestDumpPolicies/Multiple_GPOs_with_rules,_no_override 253s === RUN TestDumpPolicies/Multiple_GPOs_with_rules,_override,_shown 253s === PAUSE TestDumpPolicies/Multiple_GPOs_with_rules,_override,_shown 253s === CONT TestFormat/GPO_and_assets_with_rules,_appending_to_same_key_do_not_add_to_processed_rules 253s === CONT TestFormat/GPO_with_rules,_override_disabled_key 253s === CONT TestFormat/GPO_with_rules,_override_hidden 253s === CONT TestFormat/GPO_summary 253s === CONT TestFormat/GPO_and_assets_with_rules,_append_is_overridden_after_a_topmost_override 253s === CONT TestFormat/GPO_with_rules,_override_displayed 253s === CONT TestFormat/GPO_with_rules,_appending_to_existing_treated_key 253s === CONT TestFormat/GPO_with_rules_and_overrides,_no_rules_processed 253s === CONT TestGetUniqueRules/Multiple_domains,_same_GPOs 253s === CONT TestGetUniqueRules/Append_policy_entry,_multiple_GPOs,_disabled_key_is_ignored,_first 253s === CONT TestGetUniqueRules/Append_policy_entry,_one_GPO,_disabled_key_is_ignored 253s === CONT TestGetUniqueRules/More_policies,_with_multiple_overrides 253s === CONT TestGetUniqueRules/Mix_meta_on_GPOs,_furthest_policy_entry_is_append,_closest_is_override 253s === CONT TestGetUniqueRules/Disabled_value_is_overridden 253s === CONT TestGetUniqueRules/Disabled_value_overrides_non_disabled_one 253s === CONT TestGetUniqueRules/Two_policies,_no_overrides,_reversed 253s === CONT TestGetUniqueRules/Two_policies,_no_overrides 253s === CONT TestGetUniqueRules/Same_key_in_different_domains_are_kept_separated 253s === CONT TestGetUniqueRules/One_GPO 253s === CONT TestGetUniqueRules/Append_policy_entry,_multiple_GPOs,_disabled_key_is_ignored,_second 253s === CONT TestGetUniqueRules/Append_policy_entry,_multiple_GPOs 253s === CONT TestGetUniqueRules/Append_policy_entry,_closest_meta_wins 253s === CONT TestGetUniqueRules/Append_policy_entry,_one_GPO 253s === CONT TestGetUniqueRules/Two_policies,_with_overrides 253s === CONT TestGetUniqueRules/Order_key_ascii 253s === CONT TestGetUniqueRules/Mix_meta_on_GPOs,_closest_policy_entry_is_append,_furthest_override_is_ignored 253s === CONT TestGetUniqueRules/Two_policies,_with_reversed_overrides 253s --- PASS: TestFormat (0.00s) 253s --- PASS: TestFormat/GPO_with_rules (0.00s) 253s --- PASS: TestFormat/GPO_with_rules,_override_disabled_key (0.00s) 253s --- PASS: TestFormat/GPO_and_assets_with_rules,_appending_to_same_key_do_not_add_to_processed_rules (0.00s) 253s --- PASS: TestFormat/GPO_with_rules,_override_hidden (0.00s) 253s --- PASS: TestFormat/GPO_summary (0.00s) 253s --- PASS: TestFormat/GPO_and_assets_with_rules,_append_is_overridden_after_a_topmost_override (0.00s) 253s --- PASS: TestFormat/GPO_with_rules,_override_displayed (0.00s) 253s --- PASS: TestFormat/GPO_with_rules,_appending_to_existing_treated_key (0.00s) 253s --- PASS: TestFormat/GPO_with_rules_and_overrides,_no_rules_processed (0.00s) 253s === CONT TestGetUniqueRules/Multiple_domains,_different_GPOs 253s === CONT TestSaveAssetsTo/File 253s --- PASS: TestGetUniqueRules (0.00s) 253s --- PASS: TestGetUniqueRules/Multiple_domains,_same_GPOs (0.00s) 253s --- PASS: TestGetUniqueRules/Append_policy_entry,_multiple_GPOs,_disabled_key_is_ignored,_first (0.00s) 253s --- PASS: TestGetUniqueRules/Append_policy_entry,_one_GPO,_disabled_key_is_ignored (0.00s) 253s --- PASS: TestGetUniqueRules/More_policies,_with_multiple_overrides (0.00s) 253s --- PASS: TestGetUniqueRules/Mix_meta_on_GPOs,_furthest_policy_entry_is_append,_closest_is_override (0.00s) 253s --- PASS: TestGetUniqueRules/Disabled_value_is_overridden (0.00s) 253s --- PASS: TestGetUniqueRules/Disabled_value_overrides_non_disabled_one (0.00s) 253s --- PASS: TestGetUniqueRules/Two_policies,_no_overrides,_reversed (0.00s) 253s --- PASS: TestGetUniqueRules/Two_policies,_no_overrides (0.00s) 253s --- PASS: TestGetUniqueRules/Same_key_in_different_domains_are_kept_separated (0.00s) 253s --- PASS: TestGetUniqueRules/One_GPO (0.00s) 253s --- PASS: TestGetUniqueRules/Append_policy_entry,_multiple_GPOs,_disabled_key_is_ignored,_second (0.00s) 253s --- PASS: TestGetUniqueRules/Append_policy_entry,_multiple_GPOs (0.00s) 253s --- PASS: TestGetUniqueRules/Append_policy_entry,_closest_meta_wins (0.00s) 253s --- PASS: TestGetUniqueRules/Append_policy_entry,_one_GPO (0.00s) 253s --- PASS: TestGetUniqueRules/Two_policies,_with_overrides (0.00s) 253s --- PASS: TestGetUniqueRules/Order_key_ascii (0.00s) 253s --- PASS: TestGetUniqueRules/Mix_meta_on_GPOs,_closest_policy_entry_is_append,_furthest_override_is_ignored (0.00s) 253s --- PASS: TestGetUniqueRules/Two_policies,_with_reversed_overrides (0.00s) 253s --- PASS: TestGetUniqueRules/Multiple_domains,_different_GPOs (0.00s) 253s === CONT TestSaveAssetsTo/Sub_directory 253s === CONT TestSaveAssetsTo/Sub_directory_ending_with_slash 253s === CONT TestSaveAssetsTo/All 253s === CONT TestSaveAssetsTo/Chown_directories_and_files_when_requested 253s === CONT TestSaveAssetsTo/Error_on_file_read_only_existing_in_dest 253s === CONT TestSaveAssetsTo/Error_on_read_only_dest 253s === CONT TestSaveAssetsTo/Error_on_unexisting_relSrc_in_cache 253s === CONT TestSaveAssetsTo/Error_on_dest_already_exists 253s === CONT TestSaveAssetsTo/Error_on_can't_chown_to_user 253s === CONT TestSaveAssetsTo/Error_on_no_assets 253s === CONT TestSaveAssetsTo/Error_on_empty_relSrc 253s === CONT TestCompressAssets/No_db 253s --- PASS: TestSaveAssetsTo (0.00s) 253s --- PASS: TestSaveAssetsTo/File (0.00s) 253s --- PASS: TestSaveAssetsTo/Sub_directory (0.00s) 253s --- PASS: TestSaveAssetsTo/Sub_directory_ending_with_slash (0.00s) 253s --- PASS: TestSaveAssetsTo/All (0.01s) 253s --- PASS: TestSaveAssetsTo/Error_on_file_read_only_existing_in_dest (0.00s) 253s --- PASS: TestSaveAssetsTo/Error_on_read_only_dest (0.00s) 253s --- PASS: TestSaveAssetsTo/Chown_directories_and_files_when_requested (0.01s) 253s --- PASS: TestSaveAssetsTo/Error_on_unexisting_relSrc_in_cache (0.00s) 253s --- PASS: TestSaveAssetsTo/Error_on_dest_already_exists (0.00s) 253s --- PASS: TestSaveAssetsTo/Error_on_can't_chown_to_user (0.00s) 253s --- PASS: TestSaveAssetsTo/Error_on_no_assets (0.00s) 253s --- PASS: TestSaveAssetsTo/Error_on_empty_relSrc (0.00s) 253s === CONT TestCompressAssets/Error_on_non_existing_directory 253s === CONT TestCompressAssets/Error_on_can’t_remove_existing_db 253s === CONT TestCompressAssets/Existing_db 253s === CONT TestNew/gpos_only 253s === CONT TestNew/Error_on_invalid_assets_db 253s === CONT TestNew/Error_on_assets_db_does_not_exists 253s === CONT TestNew/No_gpos 253s === CONT TestNew/With_assets 253s --- PASS: TestCompressAssets (0.00s) 253s --- PASS: TestCompressAssets/Error_on_non_existing_directory (0.00s) 253s --- PASS: TestCompressAssets/Error_on_can’t_remove_existing_db (0.00s) 253s --- PASS: TestCompressAssets/No_db (0.01s) 253s --- PASS: TestCompressAssets/Existing_db (0.01s) 253s === CONT TestSave/gpos_only 253s === CONT TestSave/Error_on_can’t_write_to_dest_dir 253s === CONT TestSave/Error_on_can’t_remove_existing_assets 253s === CONT TestSave/Error_on_can’t_write_to_policies_base_dir 253s === CONT TestSave/Save_assets_on_existing_opened_file_does_not_segfault 253s --- PASS: TestNew (0.00s) 253s --- PASS: TestNew/gpos_only (0.00s) 253s --- PASS: TestNew/Error_on_invalid_assets_db (0.00s) 253s --- PASS: TestNew/Error_on_assets_db_does_not_exists (0.00s) 253s --- PASS: TestNew/No_gpos (0.00s) 253s --- PASS: TestNew/With_assets (0.01s) 253s === CONT TestSave/Existing_policies_cache_is_refreshed 253s === CONT TestSave/Existing_cache_with_assets,_new_cache_with_no_assets 253s === CONT TestSave/Can_refresh_on_existing_read_only_asset_file 253s === CONT TestSave/Destdir_does_not_exists 253s === CONT TestSave/Existing_assets_cache_is_refreshed 253s === CONT TestSave/With_assets 253s === CONT TestNewFromCache/Error_on_invalid_assets_db 253s === CONT TestNewFromCache/Error_on_invalid_policies_cache 253s === CONT TestNewFromCache/gpos_only 253s --- PASS: TestSave (0.00s) 253s --- PASS: TestSave/gpos_only (0.00s) 253s --- PASS: TestSave/Error_on_can’t_write_to_dest_dir (0.00s) 253s --- PASS: TestSave/Error_on_can’t_remove_existing_assets (0.00s) 253s --- PASS: TestSave/Error_on_can’t_write_to_policies_base_dir (0.00s) 253s --- PASS: TestSave/Save_assets_on_existing_opened_file_does_not_segfault (0.00s) 253s --- PASS: TestSave/Existing_policies_cache_is_refreshed (0.00s) 253s --- PASS: TestSave/Existing_cache_with_assets,_new_cache_with_no_assets (0.00s) 253s --- PASS: TestSave/Can_refresh_on_existing_read_only_asset_file (0.00s) 253s --- PASS: TestSave/Destdir_does_not_exists (0.00s) 253s --- PASS: TestSave/Existing_assets_cache_is_refreshed (0.00s) 253s --- PASS: TestSave/With_assets (0.00s) 253s === CONT TestNewFromCache/With_assets 253s === CONT TestNewFromCache/Error_on_no_policies_cache 253s === CONT TestLastUpdateFor/Returns_user's_last_update_time 253s --- PASS: TestNewFromCache (0.00s) 253s --- PASS: TestNewFromCache/Error_on_invalid_assets_db (0.00s) 253s --- PASS: TestNewFromCache/Error_on_invalid_policies_cache (0.00s) 253s --- PASS: TestNewFromCache/gpos_only (0.00s) 253s --- PASS: TestNewFromCache/Error_on_no_policies_cache (0.00s) 253s --- PASS: TestNewFromCache/With_assets (0.01s) 253s === CONT TestDumpPolicies/Same_GPO_Machine_and_User_with_rules 253s time="2025-10-31T03:51:56Z" level=info msg="Dumping policies for user" 253s === CONT TestLastUpdateFor/Returns_machine's_last_update_time 253s time="2025-10-31T03:51:56Z" level=info msg="Get policies last update time \"user\" (machine: false)" 253s === CONT TestLastUpdateFor/Error_when_target_does_not_exist 253s time="2025-10-31T03:51:56Z" level=info msg="Get policies last update time \"autopkgtest\" (machine: true)" 253s === CONT TestLastUpdateFor/Target_is_ignored_for_machine_request 253s time="2025-10-31T03:51:56Z" level=info msg="Get policies last update time \"does_not_exit\" (machine: false)" 253s === CONT TestDumpPolicies/One_GPO_Machine 253s time="2025-10-31T03:51:56Z" level=info msg="Dumping policies for autopkgtest" 253s === CONT TestDumpPolicies/Multiple_GPOs_with_rules,_override,_shown 253s time="2025-10-31T03:51:56Z" level=info msg="Dumping policies for user" 253s === CONT TestDumpPolicies/Multiple_GPOs_with_rules,_no_override 253s time="2025-10-31T03:51:56Z" level=info msg="Get policies last update time \"does_not_exit\" (machine: true)" 253s --- PASS: TestLastUpdateFor (0.00s) 253s --- PASS: TestLastUpdateFor/Returns_user's_last_update_time (0.10s) 253s --- PASS: TestLastUpdateFor/Returns_machine's_last_update_time (0.10s) 253s --- PASS: TestLastUpdateFor/Error_when_target_does_not_exist (0.10s) 253s --- PASS: TestLastUpdateFor/Target_is_ignored_for_machine_request (0.10s) 253s === CONT TestDumpPolicies/Error_on_missing_target_cache 253s time="2025-10-31T03:51:56Z" level=info msg="Dumping policies for user" 253s === CONT TestDumpPolicies/Same_GPO_Machine_and_User_with_rules_and_overrides 253s time="2025-10-31T03:51:56Z" level=info msg="Dumping policies for user" 253s time="2025-10-31T03:51:56Z" level=info msg="User \"user\" not found on cache." 253s === CONT TestDumpPolicies/Overrides_between_machine_and_user_GPOs,_shown 253s time="2025-10-31T03:51:56Z" level=info msg="Dumping policies for user" 253s === CONT TestDumpPolicies/Multiple_GPOs_with_rules,_override_hidden 253s time="2025-10-31T03:51:56Z" level=info msg="Dumping policies for user" 253s time="2025-10-31T03:51:56Z" level=info msg="Dumping policies for user" 253s === CONT TestDumpPolicies/One_GPO_User_+_Machine 253s === CONT TestDumpPolicies/Multiple_GPOs 253s time="2025-10-31T03:51:56Z" level=info msg="Dumping policies for user" 253s time="2025-10-31T03:51:56Z" level=info msg="Dumping policies for user" 253s === CONT TestDumpPolicies/Same_GPO_Machine_and_User 253s === CONT TestDumpPolicies/Overrides_between_machine_and_user_GPOs,_hidden 253s time="2025-10-31T03:51:56Z" level=info msg="Dumping policies for user" 253s time="2025-10-31T03:51:56Z" level=info msg="Dumping policies for user" 253s === CONT TestDumpPolicies/One_GPO_with_rules 253s === CONT TestDumpPolicies/Machine_only_GPO_with_rules 253s time="2025-10-31T03:51:56Z" level=info msg="Dumping policies for user" 253s time="2025-10-31T03:51:56Z" level=info msg="Dumping policies for autopkgtest" 253s === CONT TestDumpPolicies/One_GPO_User 253s === CONT TestDumpPolicies/Error_on_missing_machine_cache_when_targeting_user 253s time="2025-10-31T03:51:56Z" level=info msg="Dumping policies for user" 253s time="2025-10-31T03:51:56Z" level=info msg="Dumping policies for user" 253s --- PASS: TestDumpPolicies (0.00s) 253s --- PASS: TestDumpPolicies/Same_GPO_Machine_and_User_with_rules (0.00s) 253s --- PASS: TestDumpPolicies/One_GPO_Machine (0.00s) 253s --- PASS: TestDumpPolicies/Multiple_GPOs_with_rules,_override,_shown (0.00s) 253s --- PASS: TestDumpPolicies/Multiple_GPOs_with_rules,_no_override (0.00s) 253s --- PASS: TestDumpPolicies/Error_on_missing_target_cache (0.00s) 253s --- PASS: TestDumpPolicies/Same_GPO_Machine_and_User_with_rules_and_overrides (0.00s) 253s --- PASS: TestDumpPolicies/Overrides_between_machine_and_user_GPOs,_shown (0.01s) 253s --- PASS: TestDumpPolicies/Multiple_GPOs_with_rules,_override_hidden (0.00s) 253s --- PASS: TestDumpPolicies/One_GPO_User_+_Machine (0.00s) 253s --- PASS: TestDumpPolicies/Multiple_GPOs (0.00s) 253s --- PASS: TestDumpPolicies/Overrides_between_machine_and_user_GPOs,_hidden (0.00s) 253s --- PASS: TestDumpPolicies/Same_GPO_Machine_and_User (0.00s) 253s --- PASS: TestDumpPolicies/Machine_only_GPO_with_rules (0.00s) 253s --- PASS: TestDumpPolicies/One_GPO_with_rules (0.00s) 253s --- PASS: TestDumpPolicies/One_GPO_User (0.00s) 253s --- PASS: TestDumpPolicies/Error_on_missing_machine_cache_when_targeting_user (0.00s) 253s PASS 253s ok github.com/ubuntu/adsys/internal/policies 0.502s 253s === RUN TestApplyPolicy 253s === PAUSE TestApplyPolicy 253s === RUN TestMockApparmorParser 253s --- PASS: TestMockApparmorParser (0.00s) 253s === CONT TestApplyPolicy 253s === RUN TestApplyPolicy/Computer,_one_profile 253s === PAUSE TestApplyPolicy/Computer,_one_profile 253s === RUN TestApplyPolicy/No_profiles,_apparmor_directory_absent 253s === PAUSE TestApplyPolicy/No_profiles,_apparmor_directory_absent 253s === RUN TestApplyPolicy/No_apparmor_parser_and_no_entries 253s === PAUSE TestApplyPolicy/No_apparmor_parser_and_no_entries 253s === RUN TestApplyPolicy/Error_on_file_as_a_directory 253s === PAUSE TestApplyPolicy/Error_on_file_as_a_directory 253s === RUN TestApplyPolicy/Error_on_read-only_.new_directory 253s === PAUSE TestApplyPolicy/Error_on_read-only_.new_directory 253s === RUN TestApplyPolicy/No_apparmor_parser_and_entries 253s === PAUSE TestApplyPolicy/No_apparmor_parser_and_entries 253s === RUN TestApplyPolicy/Error_on_save_assets_dumping_failing 253s === PAUSE TestApplyPolicy/Error_on_save_assets_dumping_failing 253s === RUN TestApplyPolicy/Computer,_multiple_profiles, 253s === PAUSE TestApplyPolicy/Computer,_multiple_profiles, 253s === RUN TestApplyPolicy/Computer,_profiles_with_whitespace 253s === PAUSE TestApplyPolicy/Computer,_profiles_with_whitespace 253s === RUN TestApplyPolicy/User,_no_entries,_existing_user_profile_is_deleted 253s === PAUSE TestApplyPolicy/User,_no_entries,_existing_user_profile_is_deleted 253s === RUN TestApplyPolicy/User,_error_on_multiple_profiles 253s === PAUSE TestApplyPolicy/User,_error_on_multiple_profiles 253s === RUN TestApplyPolicy/Error_on_preprocessing_new_profiles_failing 253s === PAUSE TestApplyPolicy/Error_on_preprocessing_new_profiles_failing 253s === RUN TestApplyPolicy/Computer,_blank_line_profiles 253s === PAUSE TestApplyPolicy/Computer,_blank_line_profiles 253s === RUN TestApplyPolicy/Computer,_whitespace-only_value 253s === PAUSE TestApplyPolicy/Computer,_whitespace-only_value 253s === RUN TestApplyPolicy/Computer,_previous_profiles_are_unloaded 253s === PAUSE TestApplyPolicy/Computer,_previous_profiles_are_unloaded 253s === RUN TestApplyPolicy/Computer,_user_policies_are_unloaded 253s === PAUSE TestApplyPolicy/Computer,_user_policies_are_unloaded 253s === RUN TestApplyPolicy/User,_error_on_invalid_user_profile,_restore_previous 253s === PAUSE TestApplyPolicy/User,_error_on_invalid_user_profile,_restore_previous 253s === RUN TestApplyPolicy/User,_error_on_invalid_user_profile,_delete_previous 253s === PAUSE TestApplyPolicy/User,_error_on_invalid_user_profile,_delete_previous 253s === RUN TestApplyPolicy/Read-only_root_directory_and_no_entries 253s === PAUSE TestApplyPolicy/Read-only_root_directory_and_no_entries 253s === RUN TestApplyPolicy/Error_on_absent_profile 253s === PAUSE TestApplyPolicy/Error_on_absent_profile 253s === RUN TestApplyPolicy/Error_on_loading_profiles_failing 253s === PAUSE TestApplyPolicy/Error_on_loading_profiles_failing 253s === RUN TestApplyPolicy/Error_on_read-only_root_directory_with_entries 253s === PAUSE TestApplyPolicy/Error_on_read-only_root_directory_with_entries 253s === RUN TestApplyPolicy/Existing_.old_directory_is_removed 253s === PAUSE TestApplyPolicy/Existing_.old_directory_is_removed 253s === RUN TestApplyPolicy/User,_valid_mapping 253s === PAUSE TestApplyPolicy/User,_valid_mapping 253s === RUN TestApplyPolicy/User,_error_on_overwriting_profile_contents 253s === PAUSE TestApplyPolicy/User,_error_on_overwriting_profile_contents 253s === RUN TestApplyPolicy/Error_on_preprocessing_old_profiles_failing 253s === PAUSE TestApplyPolicy/Error_on_preprocessing_old_profiles_failing 253s === RUN TestApplyPolicy/Error_on_unloading_all_profiles_failing 253s === PAUSE TestApplyPolicy/Error_on_unloading_all_profiles_failing 253s === RUN TestApplyPolicy/Error_on_absent_loaded_policies_file 253s === PAUSE TestApplyPolicy/Error_on_absent_loaded_policies_file 253s === RUN TestApplyPolicy/Computer,_duplicated_profiles 253s === PAUSE TestApplyPolicy/Computer,_duplicated_profiles 253s === RUN TestApplyPolicy/User,_no_machine_profiles 253s === PAUSE TestApplyPolicy/User,_no_machine_profiles 253s === RUN TestApplyPolicy/User,_no_user_profiles,_machine_profiles_are_unloaded 253s === PAUSE TestApplyPolicy/User,_no_user_profiles,_machine_profiles_are_unloaded 253s === RUN TestApplyPolicy/Error_on_profile_being_a_directory 253s === PAUSE TestApplyPolicy/Error_on_profile_being_a_directory 253s === RUN TestApplyPolicy/Error_on_removing_unused_assets_after_dump 253s === PAUSE TestApplyPolicy/Error_on_removing_unused_assets_after_dump 253s === RUN TestApplyPolicy/Computer,_only_blank_profiles 253s === PAUSE TestApplyPolicy/Computer,_only_blank_profiles 253s === RUN TestApplyPolicy/No_profiles,_existing_rules_are_removed 253s === PAUSE TestApplyPolicy/No_profiles,_existing_rules_are_removed 253s === RUN TestApplyPolicy/Unexpected_entry_key 253s === PAUSE TestApplyPolicy/Unexpected_entry_key 253s === RUN TestApplyPolicy/User,_valid_mapping,_unchanged_content 253s === PAUSE TestApplyPolicy/User,_valid_mapping,_unchanged_content 253s === RUN TestApplyPolicy/User,_error_on_empty_user_profile 253s === PAUSE TestApplyPolicy/User,_error_on_empty_user_profile 253s === RUN TestApplyPolicy/Error_on_read-only_machine_directory,_no_entries 253s === PAUSE TestApplyPolicy/Error_on_read-only_machine_directory,_no_entries 253s === RUN TestApplyPolicy/Error_on_read-only_.old_directory 253s === PAUSE TestApplyPolicy/Error_on_read-only_.old_directory 253s === RUN TestApplyPolicy/Existing_.new_directory_is_removed 253s === PAUSE TestApplyPolicy/Existing_.new_directory_is_removed 253s === RUN TestApplyPolicy/User,_error_on_save_assets_failing 253s === PAUSE TestApplyPolicy/User,_error_on_save_assets_failing 253s === RUN TestApplyPolicy/Error_on_unloading_old_profiles_failing 253s === PAUSE TestApplyPolicy/Error_on_unloading_old_profiles_failing 253s === RUN TestApplyPolicy/Error_on_read-only_machine_directory 253s === PAUSE TestApplyPolicy/Error_on_read-only_machine_directory 253s === CONT TestApplyPolicy/Computer,_one_profile 253s === CONT TestApplyPolicy/Existing_.old_directory_is_removed 253s === CONT TestApplyPolicy/Error_on_read-only_machine_directory 253s === CONT TestApplyPolicy/Error_on_unloading_old_profiles_failing 253s === CONT TestApplyPolicy/User,_error_on_save_assets_failing 253s === CONT TestApplyPolicy/Existing_.new_directory_is_removed 253s === CONT TestApplyPolicy/Error_on_read-only_.old_directory 253s === CONT TestApplyPolicy/Error_on_read-only_machine_directory,_no_entries 253s === CONT TestApplyPolicy/User,_error_on_empty_user_profile 253s === CONT TestApplyPolicy/User,_valid_mapping,_unchanged_content 253s === CONT TestApplyPolicy/Unexpected_entry_key 253s === CONT TestApplyPolicy/No_profiles,_existing_rules_are_removed 253s === CONT TestApplyPolicy/Computer,_only_blank_profiles 253s === CONT TestApplyPolicy/Error_on_removing_unused_assets_after_dump 253s time="2025-10-31T03:51:58Z" level=warning msg="Couldn't remove new apparmor directory: unlinkat /tmp/TestApplyPolicyError_on_removing_unused_assets_after_dump2572921159/001/machine/users/confined_user: permission denied" 253s time="2025-10-31T03:51:58Z" level=warning msg="Couldn't restore previous apparmor directory: rename /tmp/TestApplyPolicyError_on_removing_unused_assets_after_dump2572921159/001/machine.old /tmp/TestApplyPolicyError_on_removing_unused_assets_after_dump2572921159/001/machine: file exists" 253s === CONT TestApplyPolicy/Error_on_profile_being_a_directory 253s === CONT TestApplyPolicy/User,_no_user_profiles,_machine_profiles_are_unloaded 253s === CONT TestApplyPolicy/User,_no_machine_profiles 253s time="2025-10-31T03:51:58Z" level=warning msg="No apparmor machine profiles configured for this machine, skipping reload" 253s === CONT TestApplyPolicy/Computer,_duplicated_profiles 253s === CONT TestApplyPolicy/Error_on_absent_loaded_policies_file 253s === CONT TestApplyPolicy/Error_on_unloading_all_profiles_failing 253s === CONT TestApplyPolicy/Error_on_preprocessing_old_profiles_failing 253s === CONT TestApplyPolicy/User,_error_on_overwriting_profile_contents 253s === CONT TestApplyPolicy/User,_valid_mapping 253s === CONT TestApplyPolicy/Error_on_read-only_root_directory_with_entries 253s === CONT TestApplyPolicy/Error_on_loading_profiles_failing 253s === CONT TestApplyPolicy/Error_on_absent_profile 253s === CONT TestApplyPolicy/Read-only_root_directory_and_no_entries 253s === CONT TestApplyPolicy/User,_error_on_invalid_user_profile,_delete_previous 253s === CONT TestApplyPolicy/User,_error_on_invalid_user_profile,_restore_previous 253s === CONT TestApplyPolicy/Computer,_user_policies_are_unloaded 253s === CONT TestApplyPolicy/Computer,_previous_profiles_are_unloaded 253s === CONT TestApplyPolicy/Computer,_whitespace-only_value 253s === CONT TestApplyPolicy/Computer,_blank_line_profiles 253s === CONT TestApplyPolicy/Error_on_preprocessing_new_profiles_failing 253s === CONT TestApplyPolicy/User,_error_on_multiple_profiles 253s === CONT TestApplyPolicy/User,_no_entries,_existing_user_profile_is_deleted 253s === CONT TestApplyPolicy/Computer,_profiles_with_whitespace 253s === CONT TestApplyPolicy/Computer,_multiple_profiles, 253s === CONT TestApplyPolicy/Error_on_save_assets_dumping_failing 253s === CONT TestApplyPolicy/No_apparmor_parser_and_entries 253s === CONT TestApplyPolicy/Error_on_read-only_.new_directory 253s === CONT TestApplyPolicy/Error_on_file_as_a_directory 253s === CONT TestApplyPolicy/No_apparmor_parser_and_no_entries 253s time="2025-10-31T03:51:58Z" level=warning msg="Apparmor is not available on this system: exec: \"this-definitely-does-not-exist\": executable file not found in $PATH" 253s === CONT TestApplyPolicy/No_profiles,_apparmor_directory_absent 253s --- PASS: TestApplyPolicy (0.00s) 253s --- PASS: TestApplyPolicy/Existing_.old_directory_is_removed (0.02s) 253s --- PASS: TestApplyPolicy/Computer,_one_profile (0.03s) 253s --- PASS: TestApplyPolicy/Error_on_read-only_machine_directory (0.04s) 253s --- PASS: TestApplyPolicy/User,_error_on_save_assets_failing (0.00s) 253s --- PASS: TestApplyPolicy/Error_on_unloading_old_profiles_failing (0.04s) 253s --- PASS: TestApplyPolicy/Error_on_read-only_.old_directory (0.00s) 253s --- PASS: TestApplyPolicy/Error_on_read-only_machine_directory,_no_entries (0.01s) 253s --- PASS: TestApplyPolicy/User,_error_on_empty_user_profile (0.00s) 253s --- PASS: TestApplyPolicy/User,_valid_mapping,_unchanged_content (0.00s) 253s --- PASS: TestApplyPolicy/Unexpected_entry_key (0.00s) 253s --- PASS: TestApplyPolicy/Existing_.new_directory_is_removed (0.02s) 253s --- PASS: TestApplyPolicy/Computer,_only_blank_profiles (0.00s) 253s --- PASS: TestApplyPolicy/Error_on_removing_unused_assets_after_dump (0.00s) 253s --- PASS: TestApplyPolicy/Error_on_profile_being_a_directory (0.00s) 253s --- PASS: TestApplyPolicy/No_profiles,_existing_rules_are_removed (0.02s) 253s --- PASS: TestApplyPolicy/User,_no_machine_profiles (0.00s) 253s --- PASS: TestApplyPolicy/User,_no_user_profiles,_machine_profiles_are_unloaded (0.03s) 253s --- PASS: TestApplyPolicy/Error_on_absent_loaded_policies_file (0.00s) 253s --- PASS: TestApplyPolicy/Computer,_duplicated_profiles (0.02s) 253s --- PASS: TestApplyPolicy/Error_on_preprocessing_old_profiles_failing (0.02s) 253s --- PASS: TestApplyPolicy/User,_error_on_overwriting_profile_contents (0.00s) 253s --- PASS: TestApplyPolicy/Error_on_unloading_all_profiles_failing (0.03s) 253s --- PASS: TestApplyPolicy/Error_on_read-only_root_directory_with_entries (0.00s) 253s --- PASS: TestApplyPolicy/User,_valid_mapping (0.01s) 253s --- PASS: TestApplyPolicy/Error_on_absent_profile (0.00s) 253s --- PASS: TestApplyPolicy/Read-only_root_directory_and_no_entries (0.00s) 253s --- PASS: TestApplyPolicy/User,_error_on_invalid_user_profile,_delete_previous (0.01s) 253s --- PASS: TestApplyPolicy/Error_on_loading_profiles_failing (0.02s) 253s --- PASS: TestApplyPolicy/User,_error_on_invalid_user_profile,_restore_previous (0.01s) 253s --- PASS: TestApplyPolicy/Computer,_user_policies_are_unloaded (0.03s) 253s --- PASS: TestApplyPolicy/Computer,_whitespace-only_value (0.00s) 253s --- PASS: TestApplyPolicy/Computer,_previous_profiles_are_unloaded (0.04s) 253s --- PASS: TestApplyPolicy/Computer,_blank_line_profiles (0.02s) 253s --- PASS: TestApplyPolicy/User,_error_on_multiple_profiles (0.00s) 253s --- PASS: TestApplyPolicy/User,_no_entries,_existing_user_profile_is_deleted (0.00s) 253s --- PASS: TestApplyPolicy/Error_on_preprocessing_new_profiles_failing (0.02s) 253s --- PASS: TestApplyPolicy/Computer,_profiles_with_whitespace (0.02s) 253s --- PASS: TestApplyPolicy/Error_on_save_assets_dumping_failing (0.00s) 253s --- PASS: TestApplyPolicy/No_apparmor_parser_and_entries (0.00s) 253s --- PASS: TestApplyPolicy/Error_on_read-only_.new_directory (0.00s) 253s --- PASS: TestApplyPolicy/Error_on_file_as_a_directory (0.00s) 253s --- PASS: TestApplyPolicy/No_apparmor_parser_and_no_entries (0.00s) 253s --- PASS: TestApplyPolicy/No_profiles,_apparmor_directory_absent (0.00s) 253s --- PASS: TestApplyPolicy/Computer,_multiple_profiles, (0.02s) 253s PASS 253s ok github.com/ubuntu/adsys/internal/policies/apparmor 0.278s 254s ? github.com/ubuntu/adsys/internal/policies/entry [no test files] 255s === RUN TestCertAutoenrollScript 255s === RUN TestCertAutoenrollScript/Error_on_missing_arguments 255s === RUN TestCertAutoenrollScript/Error_on_invalid_flags 255s === RUN TestCertAutoenrollScript/Error_on_invalid_JSON 255s === RUN TestCertAutoenrollScript/Error_on_invalid_JSON_keys 255s === RUN TestCertAutoenrollScript/Enroll_with_empty_advanced_configuration 255s === RUN TestCertAutoenrollScript/Enroll_with_valid_advanced_configuration 255s === RUN TestCertAutoenrollScript/Enroll_with_certmonger_not_installed 255s === RUN TestCertAutoenrollScript/Enroll_with_simple_configuration 255s === RUN TestCertAutoenrollScript/Error_on_enroll_failure 255s === RUN TestCertAutoenrollScript/Enroll_with_cepces_not_installed 255s === RUN TestCertAutoenrollScript/Error_on_read-only_path 255s === RUN TestCertAutoenrollScript/Error_on_unenroll_failure 255s === RUN TestCertAutoenrollScript/Enroll_with_simple_configuration_and_debug_enabled 255s === RUN TestCertAutoenrollScript/Unenroll 255s === RUN TestCertAutoenrollScript/Error_on_invalid_JSON_structure 255s --- PASS: TestCertAutoenrollScript (1.70s) 255s --- PASS: TestCertAutoenrollScript/Error_on_missing_arguments (0.06s) 255s --- PASS: TestCertAutoenrollScript/Error_on_invalid_flags (0.07s) 255s --- PASS: TestCertAutoenrollScript/Error_on_invalid_JSON (0.19s) 255s --- PASS: TestCertAutoenrollScript/Error_on_invalid_JSON_keys (0.15s) 255s --- PASS: TestCertAutoenrollScript/Enroll_with_empty_advanced_configuration (0.07s) 255s --- PASS: TestCertAutoenrollScript/Enroll_with_valid_advanced_configuration (0.07s) 255s --- PASS: TestCertAutoenrollScript/Enroll_with_certmonger_not_installed (0.07s) 255s --- PASS: TestCertAutoenrollScript/Enroll_with_simple_configuration (0.08s) 255s --- PASS: TestCertAutoenrollScript/Error_on_enroll_failure (0.24s) 255s --- PASS: TestCertAutoenrollScript/Enroll_with_cepces_not_installed (0.07s) 255s --- PASS: TestCertAutoenrollScript/Error_on_read-only_path (0.16s) 255s --- PASS: TestCertAutoenrollScript/Error_on_unenroll_failure (0.19s) 255s --- PASS: TestCertAutoenrollScript/Enroll_with_simple_configuration_and_debug_enabled (0.07s) 255s --- PASS: TestCertAutoenrollScript/Unenroll (0.07s) 255s --- PASS: TestCertAutoenrollScript/Error_on_invalid_JSON_structure (0.16s) 255s === RUN TestApplyPolicy 255s === RUN TestApplyPolicy/Computer,_domain_is_offline 255s === RUN TestApplyPolicy/Computer,_configured_to_enroll 255s time="2025-10-31T03:52:01Z" level=info msg="Certificate autoenrollment script ran successfully\n" 255s === RUN TestApplyPolicy/User,_autoenroll_not_supported 255s === RUN TestApplyPolicy/Error_on_invalid_autoenroll_value 255s === RUN TestApplyPolicy/Computer,_no_entries 255s === RUN TestApplyPolicy/Computer,_no_entries,_Samba_cache_present 255s time="2025-10-31T03:52:01Z" level=info msg="Certificate autoenrollment script ran successfully\n" 255s === RUN TestApplyPolicy/Computer,_autoenroll_disabled 255s === RUN TestApplyPolicy/Computer,_configured_to_enroll,_advanced_configuration 255s time="2025-10-31T03:52:01Z" level=info msg="Certificate autoenrollment script ran successfully\n" 255s === RUN TestApplyPolicy/Computer,_configured_to_unenroll 255s time="2025-10-31T03:52:01Z" level=info msg="Certificate autoenrollment script ran successfully\n" 255s === RUN TestApplyPolicy/Error_on_autoenroll_script_failure 255s === RUN TestApplyPolicy/Error_on_invalid_advanced_configuration_value 255s --- PASS: TestApplyPolicy (0.04s) 255s --- PASS: TestApplyPolicy/Computer,_domain_is_offline (0.00s) 255s --- PASS: TestApplyPolicy/Computer,_configured_to_enroll (0.01s) 255s --- PASS: TestApplyPolicy/User,_autoenroll_not_supported (0.00s) 255s --- PASS: TestApplyPolicy/Error_on_invalid_autoenroll_value (0.00s) 255s --- PASS: TestApplyPolicy/Computer,_no_entries (0.00s) 255s --- PASS: TestApplyPolicy/Computer,_no_entries,_Samba_cache_present (0.01s) 255s --- PASS: TestApplyPolicy/Computer,_autoenroll_disabled (0.00s) 255s --- PASS: TestApplyPolicy/Computer,_configured_to_enroll,_advanced_configuration (0.01s) 255s --- PASS: TestApplyPolicy/Computer,_configured_to_unenroll (0.01s) 255s --- PASS: TestApplyPolicy/Error_on_autoenroll_script_failure (0.01s) 255s --- PASS: TestApplyPolicy/Error_on_invalid_advanced_configuration_value (0.00s) 255s === RUN TestMockAutoenrollScript 255s --- PASS: TestMockAutoenrollScript (0.00s) 255s PASS 255s ok github.com/ubuntu/adsys/internal/policies/certificate 1.755s 255s === RUN TestNormalize 255s === PAUSE TestNormalize 255s === RUN TestApplyPolicy 255s === PAUSE TestApplyPolicy 255s === CONT TestNormalize 255s === RUN TestNormalize/simple_unquoted_string 255s === PAUSE TestNormalize/simple_unquoted_string 255s === RUN TestNormalize/simple_quoted_as 255s === PAUSE TestNormalize/simple_quoted_as 255s === RUN TestNormalize/Multi-lines_as_with_spaces_inside 255s === PAUSE TestNormalize/Multi-lines_as_with_spaces_inside 255s === RUN TestNormalize/ai_empty_elements_separated_with_commas_are_kept 255s === PAUSE TestNormalize/ai_empty_elements_separated_with_commas_are_kept 255s === RUN TestNormalize/Multi-lines_ai 255s === PAUSE TestNormalize/Multi-lines_ai 255s === RUN TestNormalize/as_without_leading_[ 255s === CONT TestApplyPolicy 255s === PAUSE TestNormalize/as_without_leading_[ 255s === RUN TestNormalize/as_with_leading_and_ending_spaces_and__[] 255s === RUN TestApplyPolicy/Unquoted_string 255s === PAUSE TestApplyPolicy/Unquoted_string 255s === RUN TestApplyPolicy/Quoted_i 255s === PAUSE TestApplyPolicy/Quoted_i 255s === RUN TestApplyPolicy/No_surrounding_brackets_quoted_multiple_as 255s === PAUSE TestNormalize/as_with_leading_and_ending_spaces_and__[] 255s === PAUSE TestApplyPolicy/No_surrounding_brackets_quoted_multiple_as 255s === RUN TestNormalize/as_partially_quoted_with_comma_can_lead_to_unexpected_result 255s === RUN TestApplyPolicy/Update_existing_profile_without_needed_db_append_them 255s === PAUSE TestNormalize/as_partially_quoted_with_comma_can_lead_to_unexpected_result 255s === PAUSE TestApplyPolicy/Update_existing_profile_without_needed_db_append_them 255s === RUN TestApplyPolicy/Update_user_disabled_key_with_value 255s === RUN TestNormalize/as_with_empty_quoted_can_lead_to_unexpect_result 255s === PAUSE TestApplyPolicy/Update_user_disabled_key_with_value 255s === RUN TestApplyPolicy/Update_machine_disabled_key_with_value 255s === PAUSE TestApplyPolicy/Update_machine_disabled_key_with_value 255s === RUN TestApplyPolicy/Multiple_keys_same_category 255s === PAUSE TestApplyPolicy/Multiple_keys_same_category 255s === PAUSE TestNormalize/as_with_empty_quoted_can_lead_to_unexpect_result 255s === RUN TestNormalize/Multi-lines_as_and_single_line_mix,_unquoted 255s === PAUSE TestNormalize/Multi-lines_as_and_single_line_mix,_unquoted 255s === RUN TestNormalize/Multi-lines_as_with_explicit_empty_element 255s === PAUSE TestNormalize/Multi-lines_as_with_explicit_empty_element 255s === RUN TestNormalize/ai_with_leading_and_ending_spaces_and_no_[] 255s === PAUSE TestNormalize/ai_with_leading_and_ending_spaces_and_no_[] 255s === RUN TestNormalize/Multi-lines_ai_with_empty_lines_strips_empty_element 255s === PAUSE TestNormalize/Multi-lines_ai_with_empty_lines_strips_empty_element 255s === RUN TestNormalize/one_quote 255s === PAUSE TestNormalize/one_quote 255s === RUN TestNormalize/simple_unquoted_as 255s === PAUSE TestNormalize/simple_unquoted_as 255s === RUN TestNormalize/as_simple_quoted_as_with_spaces 255s === PAUSE TestNormalize/as_simple_quoted_as_with_spaces 255s === RUN TestNormalize/ai_with_spaces_inside 255s === PAUSE TestNormalize/ai_with_spaces_inside 255s === RUN TestNormalize/ai_with_leading_and_ending_spaces_and__[] 255s === PAUSE TestNormalize/ai_with_leading_and_ending_spaces_and__[] 255s === RUN TestNormalize/string_with_two_backslashes_don’t_escape_quotes 255s === PAUSE TestNormalize/string_with_two_backslashes_don’t_escape_quotes 255s === RUN TestNormalize/simple_as_with_no_spaces 255s === PAUSE TestNormalize/simple_as_with_no_spaces 255s === RUN TestNormalize/Multi-lines_as_unquoted 255s === PAUSE TestNormalize/Multi-lines_as_unquoted 255s === RUN TestNormalize/Multi-lines_as_with_empty_lines_strips_empty_elements 255s === PAUSE TestNormalize/Multi-lines_as_with_empty_lines_strips_empty_elements 255s === RUN TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_before_[]_are_ignored 255s === PAUSE TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_before_[]_are_ignored 255s === RUN TestNormalize/Multi-lines_ai_with_spaces_inside 255s === PAUSE TestNormalize/Multi-lines_ai_with_spaces_inside 255s === RUN TestNormalize/Multi-lines_ai_with_all_unquoted_','_will_split 255s === PAUSE TestNormalize/Multi-lines_ai_with_all_unquoted_','_will_split 255s === RUN TestNormalize/empty_unquoted_string 255s === PAUSE TestNormalize/empty_unquoted_string 255s === RUN TestNormalize/string_with_escaped_quotes 255s === PAUSE TestNormalize/string_with_escaped_quotes 255s === RUN TestNormalize/simple_boolean_false 255s === PAUSE TestNormalize/simple_boolean_false 255s === RUN TestNormalize/weird_case_false 255s === PAUSE TestNormalize/weird_case_false 255s === RUN TestNormalize/Multi-lines_ai_with_consecutive_empty_lines_strips_empty_element 255s === PAUSE TestNormalize/Multi-lines_ai_with_consecutive_empty_lines_strips_empty_element 255s === RUN TestNormalize/as_partially_quoted_can_lead_to_unexpect_result 255s === PAUSE TestNormalize/as_partially_quoted_can_lead_to_unexpect_result 255s === RUN TestNormalize/simple_ai_with_no_spaces 255s === PAUSE TestNormalize/simple_ai_with_no_spaces 255s === RUN TestNormalize/unmanaged_types_are_returned_as_is 255s === PAUSE TestNormalize/unmanaged_types_are_returned_as_is 255s === RUN TestNormalize/simple_quoted_string 255s === PAUSE TestNormalize/simple_quoted_string 255s === RUN TestNormalize/unquoted_string_with_quotes 255s === PAUSE TestNormalize/unquoted_string_with_quotes 255s === RUN TestNormalize/weird_case_true 255s === PAUSE TestNormalize/weird_case_true 255s === RUN TestNormalize/Multi-lines_as_with_quoted_','_is_supported 255s === PAUSE TestNormalize/Multi-lines_as_with_quoted_','_is_supported 255s === RUN TestNormalize/simple_ai 255s === PAUSE TestNormalize/simple_ai 255s === RUN TestNormalize/empty_quoted_string 255s === PAUSE TestNormalize/empty_quoted_string 255s === RUN TestNormalize/as_partially_quoted_unbalanced_start_can_lead_to_unexpect_result 255s === PAUSE TestNormalize/as_partially_quoted_unbalanced_start_can_lead_to_unexpect_result 255s === RUN TestNormalize/Multi-lines_as_quoted 255s === PAUSE TestNormalize/Multi-lines_as_quoted 255s === RUN TestNormalize/Multi-lines_ai_with_leading_and_trailing_brackets 255s === PAUSE TestNormalize/Multi-lines_ai_with_leading_and_trailing_brackets 255s === RUN TestNormalize/yes_transformed_to_boolean 255s === PAUSE TestNormalize/yes_transformed_to_boolean 255s === RUN TestNormalize/off_transformed_to_boolean 255s === PAUSE TestNormalize/off_transformed_to_boolean 255s === RUN TestNormalize/non_supported_is_reported_as_is 255s === PAUSE TestNormalize/non_supported_is_reported_as_is 255s === RUN TestNormalize/as_with_spaces_inside 255s === PAUSE TestNormalize/as_with_spaces_inside 255s === RUN TestNormalize/ai_without_leading_[ 255s === PAUSE TestNormalize/ai_without_leading_[ 255s === RUN TestApplyPolicy/Machine_updates_existing_value 255s === PAUSE TestApplyPolicy/Machine_updates_existing_value 255s === RUN TestApplyPolicy/Machine_updates_key_is_now_disabled 255s === PAUSE TestApplyPolicy/Machine_updates_key_is_now_disabled 255s === RUN TestApplyPolicy/Do_not_interfere_with_other_user_profile 255s === PAUSE TestApplyPolicy/Do_not_interfere_with_other_user_profile 255s === RUN TestNormalize/ai_without_ending_] 255s === PAUSE TestNormalize/ai_without_ending_] 255s === RUN TestApplyPolicy/Invalid_as_is_too_robust_to_produce_defaulting_values 255s === RUN TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_are_ignored 255s === PAUSE TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_are_ignored 255s === PAUSE TestApplyPolicy/Invalid_as_is_too_robust_to_produce_defaulting_values 255s === RUN TestNormalize/on_transformed_to_boolean 255s === RUN TestApplyPolicy/No_surrounding_brackets_ai 255s === PAUSE TestNormalize/on_transformed_to_boolean 255s === RUN TestNormalize/no_transformed_to_boolean 255s === PAUSE TestNormalize/no_transformed_to_boolean 255s === RUN TestNormalize/as_with_leading_and_ending_spaces_and_no_[] 255s === PAUSE TestNormalize/as_with_leading_and_ending_spaces_and_no_[] 255s === RUN TestNormalize/as_with_weird_composition_inception_will_be_quoted 255s === PAUSE TestNormalize/as_with_weird_composition_inception_will_be_quoted 255s === RUN TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_after_[]_are_ignored 255s === PAUSE TestApplyPolicy/No_surrounding_brackets_ai 255s === PAUSE TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_after_[]_are_ignored 255s === RUN TestNormalize/Multi-lines_as_with_leading_and_trailing_brackets 255s === RUN TestApplyPolicy/Multi-lines_ai_mixed_with_comma 255s === PAUSE TestNormalize/Multi-lines_as_with_leading_and_trailing_brackets 255s === PAUSE TestApplyPolicy/Multi-lines_ai_mixed_with_comma 255s === RUN TestApplyPolicy/No_policy_still_generates_a_valid_db 255s === PAUSE TestApplyPolicy/No_policy_still_generates_a_valid_db 255s === RUN TestApplyPolicy/Update_existing_profile_without_needed_db,_trailine_lines_are_removed 255s === PAUSE TestApplyPolicy/Update_existing_profile_without_needed_db,_trailine_lines_are_removed 255s === RUN TestApplyPolicy/Multiple_sections_with_disabled_keys 255s === PAUSE TestApplyPolicy/Multiple_sections_with_disabled_keys 255s === RUN TestApplyPolicy/Missing_user_compiled_db_for_user 255s === PAUSE TestApplyPolicy/Missing_user_compiled_db_for_user 255s === RUN TestApplyPolicy/Update_existing_correct_profile_stays_unchanged 255s === PAUSE TestApplyPolicy/Update_existing_correct_profile_stays_unchanged 255s === RUN TestApplyPolicy/User_updates_existing_value 255s === PAUSE TestApplyPolicy/User_updates_existing_value 255s === RUN TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_before_[]_are_ignored 255s === RUN TestApplyPolicy/Missing_machine_compiled_db_for_machine 255s === PAUSE TestApplyPolicy/Missing_machine_compiled_db_for_machine 255s === RUN TestApplyPolicy/No_surrounding_brackets_unquoted_as 255s === PAUSE TestApplyPolicy/No_surrounding_brackets_unquoted_as 255s === RUN TestApplyPolicy/Error_on_empty_meta 255s === PAUSE TestApplyPolicy/Error_on_empty_meta 255s === RUN TestApplyPolicy/No_update_when_no_change 255s === PAUSE TestApplyPolicy/No_update_when_no_change 255s === RUN TestApplyPolicy/Multi-lines_ai 255s === PAUSE TestApplyPolicy/Multi-lines_ai 255s === RUN TestApplyPolicy/Error_on_invalid_value_for_unnormalized_type 255s === PAUSE TestApplyPolicy/Error_on_invalid_value_for_unnormalized_type 255s === RUN TestApplyPolicy/Error_on_invalid_type 255s === PAUSE TestApplyPolicy/Error_on_invalid_type 255s === RUN TestApplyPolicy/First_boot 255s === PAUSE TestApplyPolicy/First_boot 255s === RUN TestApplyPolicy/Machine_updates_with_different_value 255s === PAUSE TestApplyPolicy/Machine_updates_with_different_value 255s === RUN TestApplyPolicy/Missing_machine_compiled_db_for_user 255s === PAUSE TestApplyPolicy/Missing_machine_compiled_db_for_user 255s === RUN TestApplyPolicy/Normalized_canonical_form_for_each_supported_key 255s === PAUSE TestApplyPolicy/Normalized_canonical_form_for_each_supported_key 255s === RUN TestApplyPolicy/Update_existing_correct_profile_with_trailing_spaces_are_removed 255s === PAUSE TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_before_[]_are_ignored 255s === PAUSE TestApplyPolicy/Update_existing_correct_profile_with_trailing_spaces_are_removed 255s === RUN TestApplyPolicy/Update_existing_profile_with_wrong_order_appends_them_in_correct_order 255s === PAUSE TestApplyPolicy/Update_existing_profile_with_wrong_order_appends_them_in_correct_order 255s === RUN TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_after_[]_are_ignored 255s === RUN TestApplyPolicy/New_user 255s === PAUSE TestApplyPolicy/New_user 255s === RUN TestApplyPolicy/User_updates_key_is_now_disabled 255s === PAUSE TestApplyPolicy/User_updates_key_is_now_disabled 255s === RUN TestApplyPolicy/Quoted_b 255s === PAUSE TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_after_[]_are_ignored 255s === RUN TestNormalize/one_escaped_quote 255s === PAUSE TestNormalize/one_escaped_quote 255s === PAUSE TestApplyPolicy/Quoted_b 255s === RUN TestApplyPolicy/No_surrounding_brackets_multiple_ai 255s === PAUSE TestApplyPolicy/No_surrounding_brackets_multiple_ai 255s === RUN TestNormalize/quoted_string_with_quotes 255s === PAUSE TestNormalize/quoted_string_with_quotes 255s === RUN TestApplyPolicy/Error_on_invalid_ai 255s === PAUSE TestApplyPolicy/Error_on_invalid_ai 255s === RUN TestApplyPolicy/Error_when_machine_db_does_not_exist 255s === PAUSE TestApplyPolicy/Error_when_machine_db_does_not_exist 255s === RUN TestNormalize/string_with_multiple_backslashes_escaped_quotes 255s === PAUSE TestNormalize/string_with_multiple_backslashes_escaped_quotes 255s === RUN TestNormalize/n_transformed_to_boolean 255s === PAUSE TestNormalize/n_transformed_to_boolean 255s === RUN TestNormalize/Multi-lines_as_and_single_line_mix,_quoted 255s === PAUSE TestNormalize/Multi-lines_as_and_single_line_mix,_quoted 255s === RUN TestNormalize/Multi-lines_as_with_consecutive_empty_lines_strip_empty_elements 255s === PAUSE TestNormalize/Multi-lines_as_with_consecutive_empty_lines_strip_empty_elements 255s === RUN TestNormalize/simple_boolean_true 255s === PAUSE TestNormalize/simple_boolean_true 255s === RUN TestNormalize/with_spaces 255s === PAUSE TestNormalize/with_spaces 255s === RUN TestNormalize/y_transformed_to_boolean 255s === PAUSE TestNormalize/y_transformed_to_boolean 255s === RUN TestNormalize/as_without_ending_] 255s === PAUSE TestNormalize/as_without_ending_] 255s === RUN TestNormalize/as_empty_elements_separated_with_commas_are_kept 255s === PAUSE TestNormalize/as_empty_elements_separated_with_commas_are_kept 255s === RUN TestNormalize/Multi-lines_as_with_all_unquoted_','_will_split 255s === PAUSE TestNormalize/Multi-lines_as_with_all_unquoted_','_will_split 255s === RUN TestNormalize/as_partially_quoted_unbalanced_end_can_lead_to_unexpect_result 255s === PAUSE TestNormalize/as_partially_quoted_unbalanced_end_can_lead_to_unexpect_result 255s === RUN TestNormalize/as_wrongly_quoted_will_consider_comma_as_part_of_the_string 255s === PAUSE TestNormalize/as_wrongly_quoted_will_consider_comma_as_part_of_the_string 255s === RUN TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_are_ignored 255s === PAUSE TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_are_ignored 255s === CONT TestNormalize/simple_unquoted_string 255s === RUN TestApplyPolicy/Update_existing_profile_with_partial_db_append_them_without_repetition 255s === PAUSE TestApplyPolicy/Update_existing_profile_with_partial_db_append_them_without_repetition 255s === RUN TestApplyPolicy/User_updates_with_different_value 255s === PAUSE TestApplyPolicy/User_updates_with_different_value 255s === RUN TestApplyPolicy/Multiple_sections 255s === PAUSE TestApplyPolicy/Multiple_sections 255s === RUN TestApplyPolicy/No_surrounding_brackets_quoted_as 255s === PAUSE TestApplyPolicy/No_surrounding_brackets_quoted_as 255s === CONT TestNormalize/Multi-lines_as_with_quoted_','_is_supported 255s === RUN TestApplyPolicy/Multi-lines_as_mixed_with_comma 255s === PAUSE TestApplyPolicy/Multi-lines_as_mixed_with_comma 255s === RUN TestApplyPolicy/Do_not_update_other_files_from_db 255s === CONT TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_are_ignored 255s === CONT TestNormalize/as_wrongly_quoted_will_consider_comma_as_part_of_the_string 255s === PAUSE TestApplyPolicy/Do_not_update_other_files_from_db 255s === CONT TestNormalize/as_partially_quoted_unbalanced_end_can_lead_to_unexpect_result 255s === CONT TestNormalize/Multi-lines_as_with_all_unquoted_','_will_split 255s === CONT TestNormalize/as_empty_elements_separated_with_commas_are_kept 255s === RUN TestApplyPolicy/Update_existing_profile_eliminates_adsys_DB_repetitions 255s === PAUSE TestApplyPolicy/Update_existing_profile_eliminates_adsys_DB_repetitions 255s === RUN TestApplyPolicy/Mixing_sections_and_keys_still_groups_sections 255s === PAUSE TestApplyPolicy/Mixing_sections_and_keys_still_groups_sections 255s === RUN TestApplyPolicy/No_surrounding_brackets_unquoted_multiple_as 255s === CONT TestNormalize/as_without_ending_] 255s === PAUSE TestApplyPolicy/No_surrounding_brackets_unquoted_multiple_as 255s === RUN TestApplyPolicy/Multi-lines_as 255s === PAUSE TestApplyPolicy/Multi-lines_as 255s === CONT TestNormalize/y_transformed_to_boolean 255s === CONT TestNormalize/simple_boolean_true 255s === CONT TestNormalize/Multi-lines_as_with_consecutive_empty_lines_strip_empty_elements 255s === CONT TestNormalize/Multi-lines_as_and_single_line_mix,_quoted 255s === CONT TestNormalize/with_spaces 255s === CONT TestNormalize/string_with_multiple_backslashes_escaped_quotes 255s === CONT TestNormalize/quoted_string_with_quotes 255s === CONT TestNormalize/one_escaped_quote 255s === CONT TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_after_[]_are_ignored 255s === CONT TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_before_[]_are_ignored 255s === CONT TestNormalize/n_transformed_to_boolean 255s === CONT TestNormalize/Multi-lines_as_with_leading_and_trailing_brackets 255s === CONT TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_after_[]_are_ignored 255s === CONT TestNormalize/as_with_weird_composition_inception_will_be_quoted 255s === CONT TestNormalize/as_with_leading_and_ending_spaces_and_no_[] 255s === CONT TestNormalize/no_transformed_to_boolean 255s === CONT TestNormalize/on_transformed_to_boolean 255s === CONT TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_are_ignored 255s === CONT TestNormalize/ai_without_ending_] 255s === CONT TestNormalize/ai_without_leading_[ 255s === CONT TestNormalize/non_supported_is_reported_as_is 255s === CONT TestNormalize/as_with_spaces_inside 255s === CONT TestNormalize/off_transformed_to_boolean 255s === CONT TestNormalize/Multi-lines_ai_with_leading_and_trailing_brackets 255s === CONT TestNormalize/yes_transformed_to_boolean 255s === CONT TestNormalize/Multi-lines_as_quoted 255s === CONT TestNormalize/as_partially_quoted_unbalanced_start_can_lead_to_unexpect_result 255s === CONT TestNormalize/empty_quoted_string 255s === CONT TestNormalize/simple_ai 255s === CONT TestNormalize/string_with_two_backslashes_don’t_escape_quotes 255s === CONT TestNormalize/weird_case_true 255s === CONT TestNormalize/unquoted_string_with_quotes 255s === CONT TestNormalize/simple_quoted_string 255s === CONT TestNormalize/unmanaged_types_are_returned_as_is 255s === CONT TestNormalize/simple_ai_with_no_spaces 255s === CONT TestNormalize/Multi-lines_ai_with_consecutive_empty_lines_strips_empty_element 255s === CONT TestNormalize/as_partially_quoted_can_lead_to_unexpect_result 255s === CONT TestNormalize/weird_case_false 255s === CONT TestNormalize/simple_boolean_false 255s === CONT TestNormalize/string_with_escaped_quotes 255s === CONT TestNormalize/empty_unquoted_string 255s === CONT TestNormalize/Multi-lines_ai_with_all_unquoted_','_will_split 255s === CONT TestNormalize/Multi-lines_ai_with_spaces_inside 255s === CONT TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_before_[]_are_ignored 255s === CONT TestNormalize/Multi-lines_as_with_empty_lines_strips_empty_elements 255s === CONT TestNormalize/simple_as_with_no_spaces 255s === CONT TestNormalize/Multi-lines_as_and_single_line_mix,_unquoted 255s === CONT TestNormalize/ai_with_leading_and_ending_spaces_and__[] 255s === CONT TestNormalize/ai_with_spaces_inside 255s === CONT TestNormalize/as_simple_quoted_as_with_spaces 255s === CONT TestNormalize/Multi-lines_as_unquoted 255s === CONT TestNormalize/one_quote 255s === CONT TestNormalize/Multi-lines_ai_with_empty_lines_strips_empty_element 255s === CONT TestNormalize/ai_with_leading_and_ending_spaces_and_no_[] 255s === CONT TestNormalize/Multi-lines_as_with_explicit_empty_element 255s === CONT TestNormalize/as_without_leading_[ 255s === CONT TestNormalize/as_with_empty_quoted_can_lead_to_unexpect_result 255s === CONT TestNormalize/as_partially_quoted_with_comma_can_lead_to_unexpected_result 255s === CONT TestNormalize/as_with_leading_and_ending_spaces_and__[] 255s === CONT TestNormalize/ai_empty_elements_separated_with_commas_are_kept 255s === CONT TestNormalize/Multi-lines_ai 255s === CONT TestNormalize/Multi-lines_as_with_spaces_inside 255s === CONT TestNormalize/simple_quoted_as 255s === CONT TestNormalize/simple_unquoted_as 255s --- PASS: TestNormalize (0.00s) 255s --- PASS: TestNormalize/simple_unquoted_string (0.00s) 255s --- PASS: TestNormalize/Multi-lines_as_with_quoted_','_is_supported (0.00s) 255s --- PASS: TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_are_ignored (0.00s) 255s --- PASS: TestNormalize/as_wrongly_quoted_will_consider_comma_as_part_of_the_string (0.00s) 255s --- PASS: TestNormalize/as_partially_quoted_unbalanced_end_can_lead_to_unexpect_result (0.00s) 255s --- PASS: TestNormalize/Multi-lines_as_with_all_unquoted_','_will_split (0.00s) 255s --- PASS: TestNormalize/as_empty_elements_separated_with_commas_are_kept (0.00s) 255s --- PASS: TestNormalize/as_without_ending_] (0.00s) 255s --- PASS: TestNormalize/y_transformed_to_boolean (0.00s) 255s --- PASS: TestNormalize/simple_boolean_true (0.00s) 255s --- PASS: TestNormalize/Multi-lines_as_with_consecutive_empty_lines_strip_empty_elements (0.00s) 255s --- PASS: TestNormalize/Multi-lines_as_and_single_line_mix,_quoted (0.00s) 255s --- PASS: TestNormalize/with_spaces (0.00s) 255s --- PASS: TestNormalize/string_with_multiple_backslashes_escaped_quotes (0.00s) 255s --- PASS: TestNormalize/quoted_string_with_quotes (0.00s) 255s --- PASS: TestNormalize/one_escaped_quote (0.00s) 255s --- PASS: TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_after_[]_are_ignored (0.00s) 255s --- PASS: TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_before_[]_are_ignored (0.00s) 255s --- PASS: TestNormalize/Multi-lines_as_with_leading_and_trailing_brackets (0.00s) 255s --- PASS: TestNormalize/n_transformed_to_boolean (0.00s) 255s --- PASS: TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_after_[]_are_ignored (0.00s) 255s --- PASS: TestNormalize/as_with_weird_composition_inception_will_be_quoted (0.00s) 255s --- PASS: TestNormalize/as_with_leading_and_ending_spaces_and_no_[] (0.00s) 255s --- PASS: TestNormalize/no_transformed_to_boolean (0.00s) 255s --- PASS: TestNormalize/on_transformed_to_boolean (0.00s) 255s --- PASS: TestNormalize/Multi-lines_ai_with_leading_or_trailing_empty_lines_are_ignored (0.00s) 255s --- PASS: TestNormalize/ai_without_ending_] (0.00s) 255s --- PASS: TestNormalize/ai_without_leading_[ (0.00s) 255s --- PASS: TestNormalize/non_supported_is_reported_as_is (0.00s) 255s --- PASS: TestNormalize/as_with_spaces_inside (0.00s) 255s --- PASS: TestNormalize/Multi-lines_ai_with_leading_and_trailing_brackets (0.00s) 255s --- PASS: TestNormalize/off_transformed_to_boolean (0.00s) 255s --- PASS: TestNormalize/yes_transformed_to_boolean (0.00s) 255s --- PASS: TestNormalize/as_partially_quoted_unbalanced_start_can_lead_to_unexpect_result (0.00s) 255s --- PASS: TestNormalize/Multi-lines_as_quoted (0.00s) 255s --- PASS: TestNormalize/empty_quoted_string (0.00s) 255s --- PASS: TestNormalize/simple_ai (0.00s) 255s --- PASS: TestNormalize/string_with_two_backslashes_don’t_escape_quotes (0.00s) 255s --- PASS: TestNormalize/weird_case_true (0.00s) 255s --- PASS: TestNormalize/unquoted_string_with_quotes (0.00s) 255s --- PASS: TestNormalize/simple_quoted_string (0.00s) 255s --- PASS: TestNormalize/unmanaged_types_are_returned_as_is (0.00s) 255s --- PASS: TestNormalize/simple_ai_with_no_spaces (0.00s) 255s --- PASS: TestNormalize/Multi-lines_ai_with_consecutive_empty_lines_strips_empty_element (0.00s) 255s --- PASS: TestNormalize/weird_case_false (0.00s) 255s --- PASS: TestNormalize/as_partially_quoted_can_lead_to_unexpect_result (0.00s) 255s --- PASS: TestNormalize/simple_boolean_false (0.00s) 255s --- PASS: TestNormalize/string_with_escaped_quotes (0.00s) 255s --- PASS: TestNormalize/empty_unquoted_string (0.00s) 255s --- PASS: TestNormalize/Multi-lines_ai_with_spaces_inside (0.00s) 255s --- PASS: TestNormalize/Multi-lines_as_with_leading_or_trailing_empty_lines_before_[]_are_ignored (0.00s) 255s --- PASS: TestNormalize/Multi-lines_as_with_empty_lines_strips_empty_elements (0.00s) 255s --- PASS: TestNormalize/simple_as_with_no_spaces (0.00s) 255s --- PASS: TestNormalize/Multi-lines_as_and_single_line_mix,_unquoted (0.00s) 255s --- PASS: TestNormalize/Multi-lines_ai_with_all_unquoted_','_will_split (0.00s) 255s --- PASS: TestNormalize/ai_with_leading_and_ending_spaces_and__[] (0.00s) 255s --- PASS: TestNormalize/ai_with_spaces_inside (0.00s) 255s --- PASS: TestNormalize/as_simple_quoted_as_with_spaces (0.00s) 255s --- PASS: TestNormalize/Multi-lines_as_unquoted (0.00s) 255s --- PASS: TestNormalize/one_quote (0.00s) 255s --- PASS: TestNormalize/Multi-lines_ai_with_empty_lines_strips_empty_element (0.00s) 255s --- PASS: TestNormalize/ai_with_leading_and_ending_spaces_and_no_[] (0.00s) 255s --- PASS: TestNormalize/Multi-lines_as_with_explicit_empty_element (0.00s) 255s --- PASS: TestNormalize/as_without_leading_[ (0.00s) 255s --- PASS: TestNormalize/as_with_empty_quoted_can_lead_to_unexpect_result (0.00s) 255s --- PASS: TestNormalize/as_partially_quoted_with_comma_can_lead_to_unexpected_result (0.00s) 255s --- PASS: TestNormalize/as_with_leading_and_ending_spaces_and__[] (0.00s) 255s --- PASS: TestNormalize/ai_empty_elements_separated_with_commas_are_kept (0.00s) 255s --- PASS: TestNormalize/Multi-lines_ai (0.00s) 255s --- PASS: TestNormalize/Multi-lines_as_with_spaces_inside (0.00s) 255s --- PASS: TestNormalize/simple_quoted_as (0.00s) 255s --- PASS: TestNormalize/simple_unquoted_as (0.00s) 255s === CONT TestApplyPolicy/Unquoted_string 255s === CONT TestApplyPolicy/Error_on_invalid_value_for_unnormalized_type 255s === CONT TestApplyPolicy/Error_on_invalid_type 255s === CONT TestApplyPolicy/Multi-lines_ai 255s === CONT TestApplyPolicy/No_update_when_no_change 255s === CONT TestApplyPolicy/Error_on_empty_meta 255s === CONT TestApplyPolicy/No_surrounding_brackets_unquoted_as 255s === CONT TestApplyPolicy/Missing_machine_compiled_db_for_machine 255s === CONT TestApplyPolicy/User_updates_existing_value 255s === CONT TestApplyPolicy/Update_existing_correct_profile_stays_unchanged 255s === CONT TestApplyPolicy/Missing_user_compiled_db_for_user 255s === CONT TestApplyPolicy/Multiple_sections_with_disabled_keys 255s === CONT TestApplyPolicy/Update_existing_profile_without_needed_db,_trailine_lines_are_removed 255s === CONT TestApplyPolicy/No_policy_still_generates_a_valid_db 255s === CONT TestApplyPolicy/Multi-lines_ai_mixed_with_comma 255s === CONT TestApplyPolicy/No_surrounding_brackets_ai 255s === CONT TestApplyPolicy/Invalid_as_is_too_robust_to_produce_defaulting_values 255s === CONT TestApplyPolicy/Do_not_interfere_with_other_user_profile 255s === CONT TestApplyPolicy/Machine_updates_key_is_now_disabled 255s === CONT TestApplyPolicy/Machine_updates_existing_value 255s === CONT TestApplyPolicy/Multiple_keys_same_category 255s === CONT TestApplyPolicy/Update_machine_disabled_key_with_value 255s === CONT TestApplyPolicy/Update_user_disabled_key_with_value 255s === CONT TestApplyPolicy/Update_existing_profile_without_needed_db_append_them 255s === CONT TestApplyPolicy/No_surrounding_brackets_quoted_multiple_as 255s === CONT TestApplyPolicy/Quoted_i 255s === CONT TestApplyPolicy/Error_when_machine_db_does_not_exist 255s === CONT TestApplyPolicy/Error_on_invalid_ai 255s === CONT TestApplyPolicy/No_surrounding_brackets_multiple_ai 255s === CONT TestApplyPolicy/Quoted_b 255s === CONT TestApplyPolicy/User_updates_key_is_now_disabled 255s === CONT TestApplyPolicy/New_user 255s === CONT TestApplyPolicy/Update_existing_profile_with_wrong_order_appends_them_in_correct_order 255s === CONT TestApplyPolicy/Update_existing_correct_profile_with_trailing_spaces_are_removed 255s === CONT TestApplyPolicy/Normalized_canonical_form_for_each_supported_key 255s === CONT TestApplyPolicy/Missing_machine_compiled_db_for_user 255s === CONT TestApplyPolicy/Machine_updates_with_different_value 255s === CONT TestApplyPolicy/First_boot 255s === CONT TestApplyPolicy/Do_not_update_other_files_from_db 255s === CONT TestApplyPolicy/Multi-lines_as 255s === CONT TestApplyPolicy/No_surrounding_brackets_unquoted_multiple_as 255s === CONT TestApplyPolicy/Mixing_sections_and_keys_still_groups_sections 255s === CONT TestApplyPolicy/Update_existing_profile_eliminates_adsys_DB_repetitions 255s === CONT TestApplyPolicy/Multiple_sections 255s === CONT TestApplyPolicy/Multi-lines_as_mixed_with_comma 255s === CONT TestApplyPolicy/No_surrounding_brackets_quoted_as 255s === CONT TestApplyPolicy/User_updates_with_different_value 255s === CONT TestApplyPolicy/Update_existing_profile_with_partial_db_append_them_without_repetition 255s --- PASS: TestApplyPolicy (0.00s) 255s --- PASS: TestApplyPolicy/Unquoted_string (0.00s) 255s --- PASS: TestApplyPolicy/Error_on_invalid_value_for_unnormalized_type (0.00s) 255s --- PASS: TestApplyPolicy/Error_on_invalid_type (0.00s) 255s --- PASS: TestApplyPolicy/No_update_when_no_change (0.00s) 255s --- PASS: TestApplyPolicy/Multi-lines_ai (0.00s) 255s --- PASS: TestApplyPolicy/Error_on_empty_meta (0.00s) 255s --- PASS: TestApplyPolicy/Missing_machine_compiled_db_for_machine (0.00s) 255s --- PASS: TestApplyPolicy/No_surrounding_brackets_unquoted_as (0.00s) 255s --- PASS: TestApplyPolicy/User_updates_existing_value (0.00s) 255s --- PASS: TestApplyPolicy/Missing_user_compiled_db_for_user (0.00s) 255s --- PASS: TestApplyPolicy/Update_existing_correct_profile_stays_unchanged (0.01s) 255s --- PASS: TestApplyPolicy/Multiple_sections_with_disabled_keys (0.00s) 255s --- PASS: TestApplyPolicy/No_policy_still_generates_a_valid_db (0.00s) 255s --- PASS: TestApplyPolicy/Update_existing_profile_without_needed_db,_trailine_lines_are_removed (0.01s) 255s --- PASS: TestApplyPolicy/Multi-lines_ai_mixed_with_comma (0.01s) 255s --- PASS: TestApplyPolicy/No_surrounding_brackets_ai (0.01s) 255s --- PASS: TestApplyPolicy/Invalid_as_is_too_robust_to_produce_defaulting_values (0.00s) 255s --- PASS: TestApplyPolicy/Machine_updates_key_is_now_disabled (0.00s) 255s --- PASS: TestApplyPolicy/Do_not_interfere_with_other_user_profile (0.01s) 255s --- PASS: TestApplyPolicy/Machine_updates_existing_value (0.00s) 255s --- PASS: TestApplyPolicy/Update_machine_disabled_key_with_value (0.00s) 255s --- PASS: TestApplyPolicy/Multiple_keys_same_category (0.00s) 255s --- PASS: TestApplyPolicy/Update_user_disabled_key_with_value (0.01s) 255s --- PASS: TestApplyPolicy/Update_existing_profile_without_needed_db_append_them (0.01s) 255s --- PASS: TestApplyPolicy/No_surrounding_brackets_quoted_multiple_as (0.01s) 255s --- PASS: TestApplyPolicy/Quoted_i (0.00s) 255s --- PASS: TestApplyPolicy/Error_when_machine_db_does_not_exist (0.00s) 255s --- PASS: TestApplyPolicy/Error_on_invalid_ai (0.00s) 255s --- PASS: TestApplyPolicy/No_surrounding_brackets_multiple_ai (0.00s) 255s --- PASS: TestApplyPolicy/Quoted_b (0.00s) 255s --- PASS: TestApplyPolicy/User_updates_key_is_now_disabled (0.00s) 255s --- PASS: TestApplyPolicy/New_user (0.00s) 255s --- PASS: TestApplyPolicy/Update_existing_correct_profile_with_trailing_spaces_are_removed (0.00s) 255s --- PASS: TestApplyPolicy/Update_existing_profile_with_wrong_order_appends_them_in_correct_order (0.00s) 255s --- PASS: TestApplyPolicy/Normalized_canonical_form_for_each_supported_key (0.00s) 255s --- PASS: TestApplyPolicy/Missing_machine_compiled_db_for_user (0.00s) 255s --- PASS: TestApplyPolicy/Machine_updates_with_different_value (0.00s) 255s --- PASS: TestApplyPolicy/First_boot (0.00s) 255s --- PASS: TestApplyPolicy/Do_not_update_other_files_from_db (0.00s) 255s --- PASS: TestApplyPolicy/No_surrounding_brackets_unquoted_multiple_as (0.00s) 255s --- PASS: TestApplyPolicy/Multi-lines_as (0.01s) 255s --- PASS: TestApplyPolicy/Mixing_sections_and_keys_still_groups_sections (0.00s) 255s --- PASS: TestApplyPolicy/Update_existing_profile_eliminates_adsys_DB_repetitions (0.00s) 255s --- PASS: TestApplyPolicy/Multiple_sections (0.00s) 255s --- PASS: TestApplyPolicy/No_surrounding_brackets_quoted_as (0.00s) 255s --- PASS: TestApplyPolicy/Multi-lines_as_mixed_with_comma (0.00s) 255s --- PASS: TestApplyPolicy/User_updates_with_different_value (0.00s) 255s --- PASS: TestApplyPolicy/Update_existing_profile_with_partial_db_append_them_without_repetition (0.00s) 255s PASS 255s ok github.com/ubuntu/adsys/internal/policies/dconf 0.106s 255s === RUN TestApplyPolicy 255s === PAUSE TestApplyPolicy 255s === CONT TestApplyPolicy 255s === RUN TestApplyPolicy/dconf_policy 255s === PAUSE TestApplyPolicy/dconf_policy 255s === CONT TestApplyPolicy/dconf_policy 255s --- PASS: TestApplyPolicy (0.00s) 255s --- PASS: TestApplyPolicy/dconf_policy (0.00s) 255s PASS 255s ok github.com/ubuntu/adsys/internal/policies/gdm 0.011s 259s === RUN TestParseEntryValues 259s === PAUSE TestParseEntryValues 259s === RUN TestWriteFileWithUIDGID 259s === PAUSE TestWriteFileWithUIDGID 259s === RUN TestCreateUnits 259s === PAUSE TestCreateUnits 259s === RUN TestNew 259s === PAUSE TestNew 259s === RUN TestApplyPolicy 259s === PAUSE TestApplyPolicy 259s === CONT TestParseEntryValues 259s === RUN TestParseEntryValues/Parse_values_trimming_whitespaces 259s === CONT TestNew 259s === RUN TestNew/Error_when_systemUnitDir_has_invalid_permissions 259s === PAUSE TestNew/Error_when_systemUnitDir_has_invalid_permissions 259s === RUN TestNew/Creates_manager_successfully 259s === PAUSE TestNew/Creates_manager_successfully 259s === RUN TestNew/Error_when_runDir_has_invalid_permissions 259s === PAUSE TestNew/Error_when_runDir_has_invalid_permissions 259s === CONT TestNew/Error_when_systemUnitDir_has_invalid_permissions 259s === CONT TestApplyPolicy 259s === RUN TestApplyPolicy/Error_when_enabling_new_units_fails 259s === PAUSE TestApplyPolicy/Error_when_enabling_new_units_fails 259s === RUN TestApplyPolicy/User,_creates_only_dirs_if_there_are_no_entries 259s === PAUSE TestApplyPolicy/User,_creates_only_dirs_if_there_are_no_entries 259s === RUN TestApplyPolicy/System,_successfully_apply_policy_with_kerberos_tagged_values 259s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_with_kerberos_tagged_values 259s === RUN TestApplyPolicy/System,_successfully_apply_policy_prioritizing_the_first_value_found,_despite_the_tag 259s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_prioritizing_the_first_value_found,_despite_the_tag 259s === RUN TestApplyPolicy/System,_successfully_apply_policy_trimming_sequential_linebreaks 259s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_trimming_sequential_linebreaks 259s === RUN TestApplyPolicy/System,_does_nothing_if_there_are_no_entries 259s === PAUSE TestApplyPolicy/System,_does_nothing_if_there_are_no_entries 259s === RUN TestApplyPolicy/Error_when_users-userDir_has_invalid_permissions 259s === PAUSE TestApplyPolicy/Error_when_users-userDir_has_invalid_permissions 259s === RUN TestApplyPolicy/Error_when_mounts_file_path_already_exists_as_a_directory 259s === PAUSE TestApplyPolicy/Error_when_mounts_file_path_already_exists_as_a_directory 259s === RUN TestApplyPolicy/Creates_only_dirs_when_trying_to_apply_policy_with_no_entries 259s === PAUSE TestApplyPolicy/Creates_only_dirs_when_trying_to_apply_policy_with_no_entries 259s === RUN TestApplyPolicy/Error_when_disabling_units_for_clean_up_fails 259s === PAUSE TestApplyPolicy/Error_when_disabling_units_for_clean_up_fails 259s === RUN TestApplyPolicy/System,_successfully_apply_policy_filtering_out_unsupported_keys 259s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_filtering_out_unsupported_keys 259s === RUN TestApplyPolicy/System,_mount_units_are_added_on_refreshing_policy_with_some_matching_values 259s === PAUSE TestApplyPolicy/System,_mount_units_are_added_on_refreshing_policy_with_some_matching_values 259s === RUN TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_disabled_entry 259s === PAUSE TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_disabled_entry 259s === RUN TestApplyPolicy/Error_when_updating_policy_and_system_mount_unit_to_remove_is_a_dir 259s === PAUSE TestApplyPolicy/Error_when_updating_policy_and_system_mount_unit_to_remove_is_a_dir 259s === RUN TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_one_value 259s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_one_value 259s === RUN TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_multiple_values 259s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_multiple_values 259s === RUN TestApplyPolicy/User,_successfully_apply_policy_prioritizing_the_first_value_found,_despite_the_tag 259s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_prioritizing_the_first_value_found,_despite_the_tag 259s === RUN TestApplyPolicy/User,_successfully_apply_policy_trimming_whitespaces 259s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_trimming_whitespaces 259s === RUN TestApplyPolicy/User,_successfully_apply_policy_filtering_out_unsupported_keys 259s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_filtering_out_unsupported_keys 259s === RUN TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_an_empty_entry 259s === PAUSE TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_an_empty_entry 259s === RUN TestApplyPolicy/System,_mount_units_are_updated_on_refreshing_policy_with_an_entry_with_multiple_values 259s === PAUSE TestApplyPolicy/System,_mount_units_are_updated_on_refreshing_policy_with_an_entry_with_multiple_values 259s === RUN TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_an_empty_entry 259s === PAUSE TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_an_empty_entry 259s === RUN TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_a_disabled_entry 259s === PAUSE TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_a_disabled_entry 259s === RUN TestApplyPolicy/System,_successfully_apply_policy_trimming_whitespaces 259s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_trimming_whitespaces 259s === RUN TestApplyPolicy/Error_when_user_is_not_found 259s === PAUSE TestApplyPolicy/Error_when_user_is_not_found 259s === RUN TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_repeated_tagged_values 259s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_repeated_tagged_values 259s === RUN TestApplyPolicy/User,_successfully_apply_policy_trimming_sequential_linebreaks 259s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_trimming_sequential_linebreaks 259s === RUN TestApplyPolicy/System,_only_emit_a_warning_when_stopping_previous_units_fails 259s === PAUSE TestApplyPolicy/System,_only_emit_a_warning_when_stopping_previous_units_fails 259s === RUN TestApplyPolicy/Error_when_applying_policy_with_entry_containing_badly_formatted_value 259s === PAUSE TestApplyPolicy/Error_when_applying_policy_with_entry_containing_badly_formatted_value 259s === RUN TestApplyPolicy/Error_when_user_has_invalid_gid 259s === PAUSE TestApplyPolicy/Error_when_user_has_invalid_gid 259s === RUN TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_repeated_tagged_values 259s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_repeated_tagged_values 259s === RUN TestApplyPolicy/System,_does_nothing_if_the_entry_is_disabled 259s === PAUSE TestApplyPolicy/System,_does_nothing_if_the_entry_is_disabled 259s === RUN TestApplyPolicy/User,_creates_only_dirs_if_the_entry_is_empty 259s === PAUSE TestApplyPolicy/User,_creates_only_dirs_if_the_entry_is_empty 259s === RUN TestApplyPolicy/Creates_only_dirs_when_trying_to_policy_with_unsupported_key 259s === PAUSE TestApplyPolicy/Creates_only_dirs_when_trying_to_policy_with_unsupported_key 259s === RUN TestApplyPolicy/User,_does_nothing_if_the_entry_is_disabled 259s === PAUSE TestApplyPolicy/User,_does_nothing_if_the_entry_is_disabled 259s === RUN TestApplyPolicy/User,_successfully_apply_policy_with_kerberos_auth_tags 259s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_with_kerberos_auth_tags 259s === RUN TestApplyPolicy/Error_when_applying_policy_and_system_mount_unit_already_exists_as_dir 259s === PAUSE TestApplyPolicy/Error_when_applying_policy_and_system_mount_unit_already_exists_as_dir 259s === RUN TestApplyPolicy/User,_mount_file_is_updated_on_refreshing_policy_with_an_entry_with_multiple_values 259s === PAUSE TestApplyPolicy/User,_mount_file_is_updated_on_refreshing_policy_with_an_entry_with_multiple_values 259s === RUN TestApplyPolicy/System,_only_emit_a_warning_when_starting_new_units_fails 259s === PAUSE TestApplyPolicy/System,_only_emit_a_warning_when_starting_new_units_fails 259s === RUN TestApplyPolicy/Error_when_daemon-reload_fails 259s === PAUSE TestApplyPolicy/Error_when_daemon-reload_fails 259s === RUN TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_repeated_values 259s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_repeated_values 259s === RUN TestApplyPolicy/Error_when_applying_system_policy_and_the_entry_is_errored 259s === PAUSE TestApplyPolicy/Error_when_applying_system_policy_and_the_entry_is_errored 259s === RUN TestApplyPolicy/Error_when_cleaning_up_user_policy_with_invalid_user 259s === PAUSE TestApplyPolicy/Error_when_cleaning_up_user_policy_with_invalid_user 259s === RUN TestApplyPolicy/Error_when_creating_units_with_bad_entry_values 259s === PAUSE TestApplyPolicy/Error_when_creating_units_with_bad_entry_values 259s === RUN TestApplyPolicy/Error_when_trying_to_update_policy_with_badly_formatted_entry 259s === PAUSE TestApplyPolicy/Error_when_trying_to_update_policy_with_badly_formatted_entry 259s === RUN TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_repeated_values 259s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_repeated_values 259s === RUN TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_multiple_values 259s === PAUSE TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_multiple_values 259s === RUN TestApplyPolicy/System,_does_nothing_if_the_entry_is_empty 259s === PAUSE TestApplyPolicy/System,_does_nothing_if_the_entry_is_empty 259s === RUN TestApplyPolicy/Error_when_cleaning_up_user_policy_with_empty_entry_and_path_already_exists_as_a_directory 259s === PAUSE TestApplyPolicy/Error_when_cleaning_up_user_policy_with_empty_entry_and_path_already_exists_as_a_directory 259s === RUN TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_one_value 259s === PAUSE TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_one_value 259s === RUN TestApplyPolicy/Error_when_user_has_invalid_uid 259s === PAUSE TestApplyPolicy/Error_when_user_has_invalid_uid 259s === RUN TestApplyPolicy/Error_when_entry_is_errored 259s === PAUSE TestApplyPolicy/Error_when_entry_is_errored 259s === RUN TestApplyPolicy/Error_when_cleaning_up_user_policy_with_no_entries_and_path_already_exists_as_a_directory 259s === PAUSE TestApplyPolicy/Error_when_cleaning_up_user_policy_with_no_entries_and_path_already_exists_as_a_directory 259s === RUN TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_no_entries 259s === PAUSE TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_no_entries 259s === RUN TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_no_entries 259s === PAUSE TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_no_entries 259s === CONT TestApplyPolicy/Error_when_enabling_new_units_fails 259s === PAUSE TestParseEntryValues/Parse_values_trimming_whitespaces 259s === RUN TestParseEntryValues/Parse_values_trimming_sequential_linebreaks 259s === PAUSE TestParseEntryValues/Parse_values_trimming_sequential_linebreaks 259s === RUN TestParseEntryValues/Parse_values_from_entry_with_kerberos_auth_tags 259s === PAUSE TestParseEntryValues/Parse_values_from_entry_with_kerberos_auth_tags 259s === RUN TestParseEntryValues/Returns_empty_slice_if_the_entry_is_empty 259s === PAUSE TestParseEntryValues/Returns_empty_slice_if_the_entry_is_empty 259s === RUN TestParseEntryValues/Error_when_parsing_entry_with_badly_formatted_values 259s === PAUSE TestParseEntryValues/Error_when_parsing_entry_with_badly_formatted_values 259s === RUN TestParseEntryValues/Parse_values_from_entry_with_one_value 259s === PAUSE TestParseEntryValues/Parse_values_from_entry_with_one_value 259s === RUN TestParseEntryValues/Parse_values_from_entry_with_multiple_values 259s === PAUSE TestParseEntryValues/Parse_values_from_entry_with_multiple_values 259s === RUN TestParseEntryValues/Parse_values_from_entry_with_repeated_values 259s === PAUSE TestParseEntryValues/Parse_values_from_entry_with_repeated_values 259s === CONT TestParseEntryValues/Parse_values_trimming_whitespaces 259s === CONT TestCreateUnits 259s === RUN TestCreateUnits/Write_single_unit 259s === PAUSE TestCreateUnits/Write_single_unit 259s === RUN TestCreateUnits/Write_multiple_units 259s === PAUSE TestCreateUnits/Write_multiple_units 259s === RUN TestCreateUnits/Write_krb5_tagged_unit 259s === PAUSE TestCreateUnits/Write_krb5_tagged_unit 259s === CONT TestCreateUnits/Write_single_unit 259s === CONT TestWriteFileWithUIDGID 259s === RUN TestWriteFileWithUIDGID/Write_file_with_current_user_ownership 259s === PAUSE TestWriteFileWithUIDGID/Write_file_with_current_user_ownership 259s === RUN TestWriteFileWithUIDGID/Error_when_invalid_uid 259s === PAUSE TestWriteFileWithUIDGID/Error_when_invalid_uid 259s === RUN TestWriteFileWithUIDGID/Error_when_invalid_gid 259s === PAUSE TestWriteFileWithUIDGID/Error_when_invalid_gid 259s === RUN TestWriteFileWithUIDGID/Error_when_writing_on_a_dir_with_invalid_permissions 259s === PAUSE TestWriteFileWithUIDGID/Error_when_writing_on_a_dir_with_invalid_permissions 259s === RUN TestWriteFileWithUIDGID/Error_when_path_already_exists_as_a_directory 259s === PAUSE TestWriteFileWithUIDGID/Error_when_path_already_exists_as_a_directory 259s === CONT TestWriteFileWithUIDGID/Write_file_with_current_user_ownership 259s === CONT TestParseEntryValues/Parse_values_from_entry_with_repeated_values 259s === CONT TestParseEntryValues/Parse_values_from_entry_with_multiple_values 259s === CONT TestParseEntryValues/Parse_values_from_entry_with_one_value 259s === CONT TestParseEntryValues/Error_when_parsing_entry_with_badly_formatted_values 259s === CONT TestParseEntryValues/Parse_values_from_entry_with_kerberos_auth_tags 259s === CONT TestParseEntryValues/Parse_values_trimming_sequential_linebreaks 259s === CONT TestCreateUnits/Write_krb5_tagged_unit 259s === CONT TestCreateUnits/Write_multiple_units 259s --- PASS: TestCreateUnits (0.00s) 259s --- PASS: TestCreateUnits/Write_single_unit (0.00s) 259s --- PASS: TestCreateUnits/Write_krb5_tagged_unit (0.00s) 259s --- PASS: TestCreateUnits/Write_multiple_units (0.00s) 259s === CONT TestWriteFileWithUIDGID/Error_when_path_already_exists_as_a_directory 259s === CONT TestParseEntryValues/Returns_empty_slice_if_the_entry_is_empty 259s --- PASS: TestParseEntryValues (0.00s) 259s --- PASS: TestParseEntryValues/Parse_values_trimming_whitespaces (0.00s) 259s --- PASS: TestParseEntryValues/Parse_values_from_entry_with_repeated_values (0.00s) 259s --- PASS: TestParseEntryValues/Parse_values_from_entry_with_multiple_values (0.00s) 259s --- PASS: TestParseEntryValues/Error_when_parsing_entry_with_badly_formatted_values (0.00s) 259s --- PASS: TestParseEntryValues/Parse_values_from_entry_with_kerberos_auth_tags (0.00s) 259s --- PASS: TestParseEntryValues/Parse_values_trimming_sequential_linebreaks (0.00s) 259s --- PASS: TestParseEntryValues/Parse_values_from_entry_with_one_value (0.00s) 259s --- PASS: TestParseEntryValues/Returns_empty_slice_if_the_entry_is_empty (0.00s) 259s === CONT TestWriteFileWithUIDGID/Error_when_writing_on_a_dir_with_invalid_permissions 259s === CONT TestWriteFileWithUIDGID/Error_when_invalid_gid 259s === CONT TestWriteFileWithUIDGID/Error_when_invalid_uid 259s === CONT TestNew/Error_when_runDir_has_invalid_permissions 259s --- PASS: TestWriteFileWithUIDGID (0.00s) 259s --- PASS: TestWriteFileWithUIDGID/Write_file_with_current_user_ownership (0.00s) 259s --- PASS: TestWriteFileWithUIDGID/Error_when_path_already_exists_as_a_directory (0.00s) 259s --- PASS: TestWriteFileWithUIDGID/Error_when_invalid_gid (0.00s) 259s --- PASS: TestWriteFileWithUIDGID/Error_when_writing_on_a_dir_with_invalid_permissions (0.00s) 259s --- PASS: TestWriteFileWithUIDGID/Error_when_invalid_uid (0.00s) 259s === CONT TestNew/Creates_manager_successfully 259s === CONT TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_no_entries 259s --- PASS: TestNew (0.00s) 259s --- PASS: TestNew/Error_when_systemUnitDir_has_invalid_permissions (0.00s) 259s --- PASS: TestNew/Error_when_runDir_has_invalid_permissions (0.00s) 259s --- PASS: TestNew/Creates_manager_successfully (0.00s) 259s === CONT TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_no_entries 259s time="2025-10-31T03:52:05Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 259s === CONT TestApplyPolicy/Error_when_cleaning_up_user_policy_with_no_entries_and_path_already_exists_as_a_directory 259s === CONT TestApplyPolicy/Error_when_entry_is_errored 259s === CONT TestApplyPolicy/Error_when_user_has_invalid_uid 259s === CONT TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_one_value 259s === CONT TestApplyPolicy/Error_when_cleaning_up_user_policy_with_empty_entry_and_path_already_exists_as_a_directory 259s === CONT TestApplyPolicy/System,_does_nothing_if_the_entry_is_empty 259s === CONT TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_multiple_values 259s === CONT TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_repeated_values 259s time="2025-10-31T03:52:05Z" level=warning msg="failed to start unit \"adsys-cifs-otherdomain.com-mount-path.mount\": failed to start unit" 259s time="2025-10-31T03:52:05Z" level=warning msg="failed to start unit \"adsys-nfs-yetanotherdomain.com-mount_path-mount-path.mount\": failed to start unit" 259s time="2025-10-31T03:52:05Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath2.mount\": failed to start unit" 259s === CONT TestApplyPolicy/Error_when_trying_to_update_policy_with_badly_formatted_entry 259s time="2025-10-31T03:52:05Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 259s === CONT TestApplyPolicy/Error_when_creating_units_with_bad_entry_values 259s === CONT TestApplyPolicy/Error_when_cleaning_up_user_policy_with_invalid_user 259s === CONT TestApplyPolicy/Error_when_applying_system_policy_and_the_entry_is_errored 259s === CONT TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_repeated_values 259s === CONT TestApplyPolicy/Error_when_daemon-reload_fails 259s time="2025-10-31T03:52:05Z" level=warning msg="failed to start unit \"adsys-rpt-repeated.com-repeatedmount.mount\": failed to start unit" 259s time="2025-10-31T03:52:05Z" level=warning msg="failed to start unit \"adsys-cifs-single.com-mnt.mount\": failed to start unit" 259s time="2025-10-31T03:52:05Z" level=warning msg="failed to start unit \"adsys-nfs-anotherone.com-mnt.mount\": failed to start unit" 259s === CONT TestApplyPolicy/System,_only_emit_a_warning_when_starting_new_units_fails 259s === CONT TestApplyPolicy/User,_mount_file_is_updated_on_refreshing_policy_with_an_entry_with_multiple_values 259s time="2025-10-31T03:52:05Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 259s === CONT TestApplyPolicy/Error_when_applying_policy_and_system_mount_unit_already_exists_as_dir 259s === CONT TestApplyPolicy/User,_successfully_apply_policy_with_kerberos_auth_tags 259s === CONT TestApplyPolicy/User,_does_nothing_if_the_entry_is_disabled 259s === CONT TestApplyPolicy/Creates_only_dirs_when_trying_to_policy_with_unsupported_key 259s === CONT TestApplyPolicy/User,_creates_only_dirs_if_the_entry_is_empty 259s === CONT TestApplyPolicy/System,_does_nothing_if_the_entry_is_disabled 259s === CONT TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_repeated_tagged_values 259s === CONT TestApplyPolicy/Error_when_user_has_invalid_gid 259s === CONT TestApplyPolicy/Error_when_applying_policy_with_entry_containing_badly_formatted_value 259s === CONT TestApplyPolicy/System,_only_emit_a_warning_when_stopping_previous_units_fails 259s time="2025-10-31T03:52:05Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 259s time="2025-10-31T03:52:05Z" level=warning msg="Failed to stop unit \"adsys-protocol-domain.com-mountpath.mount\": failed to stop unit" 259s === CONT TestApplyPolicy/User,_successfully_apply_policy_trimming_sequential_linebreaks 259s === CONT TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_repeated_tagged_values 259s time="2025-10-31T03:52:05Z" level=warning msg="failed to start unit \"adsys-rpt-repeated.com-repeatedmount.mount\": failed to start unit" 259s time="2025-10-31T03:52:05Z" level=warning msg="failed to start unit \"adsys-cifs-single.com-mnt.mount\": failed to start unit" 259s time="2025-10-31T03:52:05Z" level=warning msg="failed to start unit \"adsys-nfs-anotherone.com-mnt.mount\": failed to start unit" 259s === CONT TestApplyPolicy/Error_when_user_is_not_found 259s === CONT TestApplyPolicy/System,_successfully_apply_policy_trimming_whitespaces 259s === CONT TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_a_disabled_entry 259s time="2025-10-31T03:52:05Z" level=warning msg="failed to start unit \"adsys-cifs-otherdomain.com-mount-path.mount\": failed to start unit" 259s time="2025-10-31T03:52:05Z" level=warning msg="failed to start unit \"adsys-nfs-yetanotherdomain.com-path-mount.mount\": failed to start unit" 259s time="2025-10-31T03:52:05Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 259s === CONT TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_an_empty_entry 259s === CONT TestApplyPolicy/System,_mount_units_are_updated_on_refreshing_policy_with_an_entry_with_multiple_values 259s time="2025-10-31T03:52:05Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 259s === CONT TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_an_empty_entry 259s time="2025-10-31T03:52:05Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath2.mount\": failed to start unit" 259s time="2025-10-31T03:52:05Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 259s time="2025-10-31T03:52:05Z" level=warning msg="failed to start unit \"adsys-cifs-otherdomain.com-mount-path.mount\": failed to start unit" 259s time="2025-10-31T03:52:05Z" level=warning msg="failed to start unit \"adsys-nfs-yetanotherdomain.com-mount_path-mount-path.mount\": failed to start unit" 259s === CONT TestApplyPolicy/User,_successfully_apply_policy_filtering_out_unsupported_keys 259s === CONT TestApplyPolicy/User,_successfully_apply_policy_trimming_whitespaces 259s === CONT TestApplyPolicy/User,_successfully_apply_policy_prioritizing_the_first_value_found,_despite_the_tag 259s time="2025-10-31T03:52:05Z" 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." 259s time="2025-10-31T03:52:05Z" 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." 259s === CONT TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_multiple_values 259s === CONT TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_one_value 259s === CONT TestApplyPolicy/Error_when_updating_policy_and_system_mount_unit_to_remove_is_a_dir 259s time="2025-10-31T03:52:05Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 259s === CONT TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_disabled_entry 259s time="2025-10-31T03:52:05Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 259s === CONT TestApplyPolicy/System,_mount_units_are_added_on_refreshing_policy_with_some_matching_values 259s time="2025-10-31T03:52:05Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath2.mount\": failed to start unit" 259s time="2025-10-31T03:52:05Z" level=warning msg="failed to start unit \"adsys-cifs-otherdomain.com-mount-path.mount\": failed to start unit" 259s time="2025-10-31T03:52:05Z" level=warning msg="failed to start unit \"adsys-nfs-yetanotherdomain.com-mount_path-mount-path.mount\": failed to start unit" 259s === CONT TestApplyPolicy/System,_successfully_apply_policy_filtering_out_unsupported_keys 259s time="2025-10-31T03:52:05Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 259s time="2025-10-31T03:52:05Z" level=warning msg="failed to start unit \"adsys-fuse-completelydifferent.com-different-path.mount\": failed to start unit" 259s === CONT TestApplyPolicy/Error_when_disabling_units_for_clean_up_fails 259s time="2025-10-31T03:52:05Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 259s === CONT TestApplyPolicy/Creates_only_dirs_when_trying_to_apply_policy_with_no_entries 259s === CONT TestApplyPolicy/Error_when_mounts_file_path_already_exists_as_a_directory 259s === CONT TestApplyPolicy/Error_when_users-userDir_has_invalid_permissions 259s === CONT TestApplyPolicy/System,_does_nothing_if_there_are_no_entries 259s === CONT TestApplyPolicy/System,_successfully_apply_policy_trimming_sequential_linebreaks 259s time="2025-10-31T03:52:05Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mounpath.mount\": failed to start unit" 259s === CONT TestApplyPolicy/System,_successfully_apply_policy_prioritizing_the_first_value_found,_despite_the_tag 259s time="2025-10-31T03:52:05Z" level=warning msg="failed to start unit \"adsys-cifs-otherdomain.com-mount-path.mount\": failed to start unit" 259s time="2025-10-31T03:52:05Z" 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." 259s time="2025-10-31T03:52:05Z" 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." 259s time="2025-10-31T03:52:05Z" level=warning msg="failed to start unit \"adsys-nfs-domain-untagged_first.mount\": failed to start unit" 259s time="2025-10-31T03:52:05Z" level=warning msg="failed to start unit \"adsys-nfs-domain-tagged_first.mount\": failed to start unit" 259s === CONT TestApplyPolicy/System,_successfully_apply_policy_with_kerberos_tagged_values 259s === CONT TestApplyPolicy/User,_creates_only_dirs_if_there_are_no_entries 259s time="2025-10-31T03:52:05Z" level=warning msg="failed to start unit \"adsys-cifs-authenticated.com-authenticated-mount.mount\": failed to start unit" 259s time="2025-10-31T03:52:05Z" level=warning msg="failed to start unit \"adsys-nfs-krb_domain.com-mount-krb_path.mount\": failed to start unit" 259s time="2025-10-31T03:52:05Z" level=warning msg="failed to start unit \"adsys-protocol-domain.com-mountpath.mount\": failed to start unit" 259s --- PASS: TestApplyPolicy (0.00s) 259s --- PASS: TestApplyPolicy/Error_when_enabling_new_units_fails (0.00s) 259s --- PASS: TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_no_entries (0.00s) 259s --- PASS: TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_no_entries (0.00s) 259s --- PASS: TestApplyPolicy/Error_when_cleaning_up_user_policy_with_no_entries_and_path_already_exists_as_a_directory (0.00s) 259s --- PASS: TestApplyPolicy/Error_when_entry_is_errored (0.00s) 259s --- PASS: TestApplyPolicy/Error_when_user_has_invalid_uid (0.00s) 259s --- PASS: TestApplyPolicy/Error_when_cleaning_up_user_policy_with_empty_entry_and_path_already_exists_as_a_directory (0.00s) 259s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_one_value (0.01s) 259s --- PASS: TestApplyPolicy/System,_does_nothing_if_the_entry_is_empty (0.00s) 259s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_repeated_values (0.00s) 259s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_multiple_values (0.01s) 259s --- PASS: TestApplyPolicy/Error_when_creating_units_with_bad_entry_values (0.00s) 259s --- PASS: TestApplyPolicy/Error_when_trying_to_update_policy_with_badly_formatted_entry (0.01s) 259s --- PASS: TestApplyPolicy/Error_when_cleaning_up_user_policy_with_invalid_user (0.00s) 259s --- PASS: TestApplyPolicy/Error_when_applying_system_policy_and_the_entry_is_errored (0.00s) 259s --- PASS: TestApplyPolicy/Error_when_daemon-reload_fails (0.00s) 259s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_repeated_values (0.00s) 259s --- PASS: TestApplyPolicy/System,_only_emit_a_warning_when_starting_new_units_fails (0.00s) 259s --- PASS: TestApplyPolicy/Error_when_applying_policy_and_system_mount_unit_already_exists_as_dir (0.00s) 259s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_with_kerberos_auth_tags (0.00s) 259s --- PASS: TestApplyPolicy/User,_does_nothing_if_the_entry_is_disabled (0.00s) 259s --- PASS: TestApplyPolicy/User,_mount_file_is_updated_on_refreshing_policy_with_an_entry_with_multiple_values (0.01s) 259s --- PASS: TestApplyPolicy/Creates_only_dirs_when_trying_to_policy_with_unsupported_key (0.00s) 259s --- PASS: TestApplyPolicy/User,_creates_only_dirs_if_the_entry_is_empty (0.01s) 259s --- PASS: TestApplyPolicy/System,_does_nothing_if_the_entry_is_disabled (0.01s) 259s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_repeated_tagged_values (0.00s) 259s --- PASS: TestApplyPolicy/Error_when_applying_policy_with_entry_containing_badly_formatted_value (0.00s) 259s --- PASS: TestApplyPolicy/Error_when_user_has_invalid_gid (0.00s) 259s --- PASS: TestApplyPolicy/System,_only_emit_a_warning_when_stopping_previous_units_fails (0.00s) 259s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_repeated_tagged_values (0.00s) 259s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_trimming_sequential_linebreaks (0.00s) 259s --- PASS: TestApplyPolicy/Error_when_user_is_not_found (0.00s) 259s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_trimming_whitespaces (0.00s) 259s --- PASS: TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_a_disabled_entry (0.00s) 259s --- PASS: TestApplyPolicy/User,_mount_file_is_removed_on_refreshing_policy_with_an_empty_entry (0.00s) 259s --- PASS: TestApplyPolicy/System,_mount_units_are_updated_on_refreshing_policy_with_an_entry_with_multiple_values (0.00s) 259s --- PASS: TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_an_empty_entry (0.00s) 259s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_filtering_out_unsupported_keys (0.00s) 259s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_prioritizing_the_first_value_found,_despite_the_tag (0.00s) 259s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_trimming_whitespaces (0.00s) 259s --- PASS: TestApplyPolicy/User,_successfully_apply_policy_for_entry_with_multiple_values (0.00s) 259s --- PASS: TestApplyPolicy/Error_when_updating_policy_and_system_mount_unit_to_remove_is_a_dir (0.00s) 259s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_for_entry_with_one_value (0.00s) 259s --- PASS: TestApplyPolicy/System,_mount_units_are_removed_on_refreshing_policy_with_disabled_entry (0.00s) 259s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_filtering_out_unsupported_keys (0.00s) 259s --- PASS: TestApplyPolicy/System,_mount_units_are_added_on_refreshing_policy_with_some_matching_values (0.00s) 259s --- PASS: TestApplyPolicy/Creates_only_dirs_when_trying_to_apply_policy_with_no_entries (0.00s) 259s --- PASS: TestApplyPolicy/Error_when_disabling_units_for_clean_up_fails (0.00s) 259s --- PASS: TestApplyPolicy/Error_when_users-userDir_has_invalid_permissions (0.00s) 259s --- PASS: TestApplyPolicy/Error_when_mounts_file_path_already_exists_as_a_directory (0.00s) 259s --- PASS: TestApplyPolicy/System,_does_nothing_if_there_are_no_entries (0.00s) 259s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_trimming_sequential_linebreaks (0.01s) 259s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_prioritizing_the_first_value_found,_despite_the_tag (0.00s) 259s --- PASS: TestApplyPolicy/User,_creates_only_dirs_if_there_are_no_entries (0.00s) 259s --- PASS: TestApplyPolicy/System,_successfully_apply_policy_with_kerberos_tagged_values (0.00s) 259s PASS 259s ok github.com/ubuntu/adsys/internal/policies/mount 0.113s 259s === RUN TestSplitAndNormalizeUsersAndGroups 259s === PAUSE TestSplitAndNormalizeUsersAndGroups 259s === RUN TestPolkitAdminIdentitiesFromConf 259s === PAUSE TestPolkitAdminIdentitiesFromConf 259s === RUN TestPolkitAdminIdentitiesFromRules 259s === PAUSE TestPolkitAdminIdentitiesFromRules 259s === RUN TestApplyPolicy 259s === PAUSE TestApplyPolicy 259s === CONT TestSplitAndNormalizeUsersAndGroups 259s === CONT TestPolkitAdminIdentitiesFromRules 259s === RUN TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities_from_lower_ascii_file 259s === PAUSE TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities_from_lower_ascii_file 259s === RUN TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities_ignoring_adsys 259s === PAUSE TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities_ignoring_adsys 259s === RUN TestPolkitAdminIdentitiesFromRules/Consider_only_first_returned_value 259s === PAUSE TestPolkitAdminIdentitiesFromRules/Consider_only_first_returned_value 259s === RUN TestPolkitAdminIdentitiesFromRules/Prioritize_first_specified_directory_if_files_have_same_ascii 259s === PAUSE TestPolkitAdminIdentitiesFromRules/Prioritize_first_specified_directory_if_files_have_same_ascii 259s === RUN TestPolkitAdminIdentitiesFromRules/Prioritize_lower_ascii_file_even_if_on_second_directory 259s === PAUSE TestPolkitAdminIdentitiesFromRules/Prioritize_lower_ascii_file_even_if_on_second_directory 259s === RUN TestPolkitAdminIdentitiesFromRules/Directory_instead_of_a_conf_file_is_ignored 259s === PAUSE TestPolkitAdminIdentitiesFromRules/Directory_instead_of_a_conf_file_is_ignored 259s === RUN TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities 259s === PAUSE TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities 259s === RUN TestPolkitAdminIdentitiesFromRules/No_previous_admin_identities_but_regular_directory_structure 259s === PAUSE TestPolkitAdminIdentitiesFromRules/No_previous_admin_identities_but_regular_directory_structure 259s === RUN TestPolkitAdminIdentitiesFromRules/Returns_an_empty_string_if_directory_does_not_exists 259s === PAUSE TestPolkitAdminIdentitiesFromRules/Returns_an_empty_string_if_directory_does_not_exists 259s === CONT TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities_from_lower_ascii_file 259s === CONT TestApplyPolicy 259s === RUN TestApplyPolicy/Empty_client_AD_admins 259s === PAUSE TestApplyPolicy/Empty_client_AD_admins 259s === RUN TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_and_set_client_admins 259s === PAUSE TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_and_set_client_admins 259s === RUN TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_(with_adsys_file)_and_set_client_admins 259s === PAUSE TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_(with_adsys_file)_and_set_client_admins 259s === RUN TestApplyPolicy/Error_on_writing_to_sudoers_file 259s === PAUSE TestApplyPolicy/Error_on_writing_to_sudoers_file 259s === RUN TestApplyPolicy/Error_if_can’t_rename_to_destination_for_sudoers_file 259s === PAUSE TestApplyPolicy/Error_if_can’t_rename_to_destination_for_sudoers_file 259s === RUN TestApplyPolicy/No_rules_and_no_existing_history_means_no_files 259s === PAUSE TestApplyPolicy/No_rules_and_no_existing_history_means_no_files 259s === RUN TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_(simple)_and_set_client_admins 259s === PAUSE TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_(simple)_and_set_client_admins 259s === RUN TestApplyPolicy/Overwrite_existing_polkit_file 259s === PAUSE TestApplyPolicy/Overwrite_existing_polkit_file 259s === RUN TestApplyPolicy/Error_on_writing_to_polkit_subdirectory_creation 259s === PAUSE TestApplyPolicy/Error_on_writing_to_polkit_subdirectory_creation 259s === RUN TestApplyPolicy/Disallow_local_admins_with_previous_local_admin_conf_and_set_client_admins 259s === PAUSE TestApplyPolicy/Disallow_local_admins_with_previous_local_admin_conf_and_set_client_admins 259s === RUN TestApplyPolicy/Allow_local_admins_without_previous_local_admin_conf_and_set_client_admins 259s === PAUSE TestApplyPolicy/Allow_local_admins_without_previous_local_admin_conf_and_set_client_admins 259s === RUN TestApplyPolicy/Don't_overwrite_other_existing_files 259s === PAUSE TestApplyPolicy/Don't_overwrite_other_existing_files 259s === RUN TestApplyPolicy/Create_on_new_polkit_version_and_remove_old_file 259s === PAUSE TestApplyPolicy/Create_on_new_polkit_version_and_remove_old_file 259s === RUN TestApplyPolicy/Assume_old_polkit_if_cant_read_system_reserved_path 259s === PAUSE TestApplyPolicy/Assume_old_polkit_if_cant_read_system_reserved_path 259s === RUN TestApplyPolicy/Error_if_can’t_rename_to_destination_for_polkit_conf_file 259s === PAUSE TestApplyPolicy/Error_if_can’t_rename_to_destination_for_polkit_conf_file 259s === RUN TestApplyPolicy/Disallow_local_admins 259s === PAUSE TestApplyPolicy/Disallow_local_admins 259s === RUN TestApplyPolicy/Set_client_multiple_users_admins 259s === PAUSE TestApplyPolicy/Set_client_multiple_users_admins 259s === RUN TestApplyPolicy/Set_client_mixed_with_users_and_group_admins 259s === PAUSE TestApplyPolicy/Set_client_mixed_with_users_and_group_admins 259s === RUN TestApplyPolicy/Overwrite_existing_sudoers_file 259s === PAUSE TestApplyPolicy/Overwrite_existing_sudoers_file 259s === RUN TestApplyPolicy/Error_on_creating_sudoers_and_polkit_base_directory 259s === PAUSE TestApplyPolicy/Error_on_creating_sudoers_and_polkit_base_directory 259s === RUN TestApplyPolicy/Set_client_group_admins 259s === PAUSE TestApplyPolicy/Set_client_group_admins 259s === RUN TestApplyPolicy/No_client_AD_admins 259s === PAUSE TestApplyPolicy/No_client_AD_admins 259s === RUN TestApplyPolicy/Error_on_writing_to_polkit_conf_file 259s === PAUSE TestApplyPolicy/Error_on_writing_to_polkit_conf_file 259s === RUN TestApplyPolicy/Set_client_user_admins 259s === PAUSE TestApplyPolicy/Set_client_user_admins 259s === RUN TestApplyPolicy/No_rules_still_overwrite_those_files 259s === PAUSE TestApplyPolicy/No_rules_still_overwrite_those_files 259s === RUN TestApplyPolicy/Not_a_computer 259s === PAUSE TestApplyPolicy/Not_a_computer 259s === RUN TestApplyPolicy/Allow_local_admins_with_no_other_rules_is_a_noop 259s === PAUSE TestApplyPolicy/Allow_local_admins_with_no_other_rules_is_a_noop 259s === RUN TestApplyPolicy/Disallow_local_admins_and_set_client_admins 259s === PAUSE TestApplyPolicy/Disallow_local_admins_and_set_client_admins 259s === CONT TestApplyPolicy/Empty_client_AD_admins 259s === RUN TestSplitAndNormalizeUsersAndGroups/Multiple_values_separated_by_EOL 259s === PAUSE TestSplitAndNormalizeUsersAndGroups/Multiple_values_separated_by_EOL 259s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_| 259s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_| 259s === RUN TestSplitAndNormalizeUsersAndGroups/Empty_value_with_EOL 259s === PAUSE TestSplitAndNormalizeUsersAndGroups/Empty_value_with_EOL 259s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_empty_values 259s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_empty_values 259s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_: 259s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_: 259s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_< 259s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_< 259s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_? 259s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_? 259s === RUN TestSplitAndNormalizeUsersAndGroups/Empty_value_with_comma 259s === PAUSE TestSplitAndNormalizeUsersAndGroups/Empty_value_with_comma 259s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_= 259s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_= 259s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_* 259s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_* 259s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_% 259s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_% 259s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_> 259s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_> 259s === RUN TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_a_mix_of_comma_and_EOL 259s === PAUSE TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_a_mix_of_comma_and_EOL 259s === RUN TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_consecutives_comma 259s === PAUSE TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_consecutives_comma 259s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_[ 259s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_[ 259s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_; 259s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_; 259s === RUN TestSplitAndNormalizeUsersAndGroups/Multiple_values_separated_by_comma 259s === PAUSE TestSplitAndNormalizeUsersAndGroups/Multiple_values_separated_by_comma 259s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_] 259s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_] 259s === RUN TestSplitAndNormalizeUsersAndGroups/Don’t_strip_first_%_but_others 259s === PAUSE TestSplitAndNormalizeUsersAndGroups/Don’t_strip_first_%_but_others 259s === RUN TestSplitAndNormalizeUsersAndGroups/Empty_value 259s === PAUSE TestSplitAndNormalizeUsersAndGroups/Empty_value 259s === RUN TestSplitAndNormalizeUsersAndGroups/Multiple_\_only_handling_first_one_and_ignore_others 259s === PAUSE TestSplitAndNormalizeUsersAndGroups/Multiple_\_only_handling_first_one_and_ignore_others 259s === RUN TestSplitAndNormalizeUsersAndGroups/Strip_any_/ 259s === PAUSE TestSplitAndNormalizeUsersAndGroups/Strip_any_/ 259s === RUN TestSplitAndNormalizeUsersAndGroups/Simple_one_value 259s === PAUSE TestSplitAndNormalizeUsersAndGroups/Simple_one_value 259s === RUN TestSplitAndNormalizeUsersAndGroups/Group_one_value 259s === PAUSE TestSplitAndNormalizeUsersAndGroups/Group_one_value 259s === RUN TestSplitAndNormalizeUsersAndGroups/User_name_with_space 259s === PAUSE TestSplitAndNormalizeUsersAndGroups/User_name_with_space 259s === RUN TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_consecutives_EOL 259s === PAUSE TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_consecutives_EOL 259s === RUN TestSplitAndNormalizeUsersAndGroups/Handle_domain\user 259s === PAUSE TestSplitAndNormalizeUsersAndGroups/Handle_domain\user 259s === CONT TestPolkitAdminIdentitiesFromRules/Returns_an_empty_string_if_directory_does_not_exists 259s === CONT TestPolkitAdminIdentitiesFromRules/No_previous_admin_identities_but_regular_directory_structure 259s === CONT TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities 259s === CONT TestPolkitAdminIdentitiesFromRules/Directory_instead_of_a_conf_file_is_ignored 259s === CONT TestPolkitAdminIdentitiesFromRules/Prioritize_lower_ascii_file_even_if_on_second_directory 259s === CONT TestPolkitAdminIdentitiesFromRules/Prioritize_first_specified_directory_if_files_have_same_ascii 259s === CONT TestPolkitAdminIdentitiesFromRules/Consider_only_first_returned_value 259s === CONT TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities_ignoring_adsys 259s === CONT TestApplyPolicy/Disallow_local_admins_and_set_client_admins 259s === CONT TestApplyPolicy/Allow_local_admins_with_no_other_rules_is_a_noop 259s --- PASS: TestPolkitAdminIdentitiesFromRules (0.00s) 259s --- PASS: TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities_from_lower_ascii_file (0.00s) 259s --- PASS: TestPolkitAdminIdentitiesFromRules/No_previous_admin_identities_but_regular_directory_structure (0.00s) 259s --- PASS: TestPolkitAdminIdentitiesFromRules/Directory_instead_of_a_conf_file_is_ignored (0.00s) 259s --- PASS: TestPolkitAdminIdentitiesFromRules/Prioritize_lower_ascii_file_even_if_on_second_directory (0.00s) 259s --- PASS: TestPolkitAdminIdentitiesFromRules/Prioritize_first_specified_directory_if_files_have_same_ascii (0.00s) 259s --- PASS: TestPolkitAdminIdentitiesFromRules/Consider_only_first_returned_value (0.00s) 259s --- PASS: TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities_ignoring_adsys (0.00s) 259s --- PASS: TestPolkitAdminIdentitiesFromRules/Returns_an_empty_string_if_directory_does_not_exists (0.00s) 259s --- PASS: TestPolkitAdminIdentitiesFromRules/Fetch_previous_admin_identities (0.00s) 259s === CONT TestApplyPolicy/Not_a_computer 259s === CONT TestApplyPolicy/No_rules_still_overwrite_those_files 259s === CONT TestApplyPolicy/Set_client_user_admins 259s === CONT TestApplyPolicy/Error_on_writing_to_polkit_conf_file 259s === CONT TestApplyPolicy/No_client_AD_admins 259s === CONT TestApplyPolicy/Set_client_group_admins 259s === CONT TestApplyPolicy/Error_on_creating_sudoers_and_polkit_base_directory 259s === CONT TestApplyPolicy/Overwrite_existing_sudoers_file 259s === CONT TestApplyPolicy/Set_client_mixed_with_users_and_group_admins 259s === CONT TestApplyPolicy/Set_client_multiple_users_admins 259s time="2025-10-31T03:52:05Z" level=warning msg="Changed user or group \"domain\\\\bob\" to \"bob@domain\": Invalid characters or domain\\user format" 259s === CONT TestApplyPolicy/Disallow_local_admins 259s === CONT TestApplyPolicy/Error_if_can’t_rename_to_destination_for_polkit_conf_file 259s === CONT TestApplyPolicy/Assume_old_polkit_if_cant_read_system_reserved_path 259s === CONT TestApplyPolicy/Create_on_new_polkit_version_and_remove_old_file 259s === CONT TestApplyPolicy/Don't_overwrite_other_existing_files 259s === CONT TestApplyPolicy/Allow_local_admins_without_previous_local_admin_conf_and_set_client_admins 259s === CONT TestApplyPolicy/Disallow_local_admins_with_previous_local_admin_conf_and_set_client_admins 259s === CONT TestApplyPolicy/Error_on_writing_to_polkit_subdirectory_creation 259s === CONT TestApplyPolicy/Overwrite_existing_polkit_file 259s === CONT TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_(simple)_and_set_client_admins 259s === CONT TestApplyPolicy/No_rules_and_no_existing_history_means_no_files 259s === CONT TestApplyPolicy/Error_if_can’t_rename_to_destination_for_sudoers_file 259s === CONT TestApplyPolicy/Error_on_writing_to_sudoers_file 259s === CONT TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_(with_adsys_file)_and_set_client_admins 259s === CONT TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_and_set_client_admins 259s === CONT TestPolkitAdminIdentitiesFromConf 259s === RUN TestPolkitAdminIdentitiesFromConf/Directory_instead_of_a_conf_file_is_ignored 259s === PAUSE TestPolkitAdminIdentitiesFromConf/Directory_instead_of_a_conf_file_is_ignored 259s === RUN TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities 259s === PAUSE TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities 259s === RUN TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities_from_highest_ascii_file 259s === PAUSE TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities_from_highest_ascii_file 259s === RUN TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities_ignoring_adsys 259s === PAUSE TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities_ignoring_adsys 259s === RUN TestPolkitAdminIdentitiesFromConf/No_previous_admin_identities_but_regular_directory_structure 259s === PAUSE TestPolkitAdminIdentitiesFromConf/No_previous_admin_identities_but_regular_directory_structure 259s === RUN TestPolkitAdminIdentitiesFromConf/Returns_an_empty_string_if_directory_does_not_exists 259s === PAUSE TestPolkitAdminIdentitiesFromConf/Returns_an_empty_string_if_directory_does_not_exists 259s === CONT TestSplitAndNormalizeUsersAndGroups/Multiple_values_separated_by_EOL 259s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_any_[ 259s time="2025-10-31T03:52:05Z" level=warning msg="Changed user or group \"u[s]er@domain\" to \"user@domain\": Invalid characters or domain\\user format" 259s === CONT TestSplitAndNormalizeUsersAndGroups/Handle_domain\user 259s time="2025-10-31T03:52:05Z" level=warning msg="Changed user or group \"domain\\\\user\" to \"user@domain\": Invalid characters or domain\\user format" 259s === CONT TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_consecutives_EOL 259s === CONT TestSplitAndNormalizeUsersAndGroups/User_name_with_space 259s === CONT TestSplitAndNormalizeUsersAndGroups/Group_one_value 259s === CONT TestSplitAndNormalizeUsersAndGroups/Simple_one_value 259s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_any_/ 259s time="2025-10-31T03:52:05Z" level=warning msg="Changed user or group \"u/s/er@domain\" to \"user@domain\": Invalid characters or domain\\user format" 259s === CONT TestSplitAndNormalizeUsersAndGroups/Multiple_\_only_handling_first_one_and_ignore_others 259s time="2025-10-31T03:52:05Z" level=warning msg="Changed user or group \"domain\\\\user\\\\foo\" to \"userfoo@domain\": Invalid characters or domain\\user format" 259s === CONT TestSplitAndNormalizeUsersAndGroups/Empty_value 259s === CONT TestSplitAndNormalizeUsersAndGroups/Don’t_strip_first_%_but_others 259s time="2025-10-31T03:52:05Z" level=warning msg="Changed user or group \"%g%r%oup@domain\" to \"%group@domain\": Invalid characters or domain\\user format" 259s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_any_] 259s time="2025-10-31T03:52:05Z" level=warning msg="Changed user or group \"u]s]er@domain\" to \"user@domain\": Invalid characters or domain\\user format" 259s === CONT TestSplitAndNormalizeUsersAndGroups/Multiple_values_separated_by_comma 259s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_any_; 259s time="2025-10-31T03:52:05Z" level=warning msg="Changed user or group \"u;s;er@domain\" to \"user@domain\": Invalid characters or domain\\user format" 259s === CONT TestSplitAndNormalizeUsersAndGroups/Empty_value_with_comma 259s === CONT TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_consecutives_comma 259s === CONT TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_a_mix_of_comma_and_EOL 259s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_any_> 259s time="2025-10-31T03:52:05Z" level=warning msg="Changed user or group \"u>s>er@domain\" to \"user@domain\": Invalid characters or domain\\user format" 259s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_any_% 259s time="2025-10-31T03:52:05Z" level=warning msg="Changed user or group \"u%s%er@domain\" to \"user@domain\": Invalid characters or domain\\user format" 259s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_any_* 259s time="2025-10-31T03:52:05Z" level=warning msg="Changed user or group \"u*s*er@domain\" to \"user@domain\": Invalid characters or domain\\user format" 259s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_any_= 259s time="2025-10-31T03:52:05Z" level=warning msg="Changed user or group \"u=s=er@domain\" to \"user@domain\": Invalid characters or domain\\user format" 259s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_any_: 259s time="2025-10-31T03:52:05Z" level=warning msg="Changed user or group \"u:s:er@domain\" to \"user@domain\": Invalid characters or domain\\user format" 259s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_any_? 259s time="2025-10-31T03:52:05Z" level=warning msg="Changed user or group \"u?s?er@domain\" to \"user@domain\": Invalid characters or domain\\user format" 259s === CONT TestSplitAndNormalizeUsersAndGroups/Strip_any_< 259s time="2025-10-31T03:52:05Z" level=warning msg="Changed user or group \"u (0.00s) 259s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_% (0.00s) 259s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_* (0.00s) 259s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_= (0.00s) 259s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_: (0.00s) 259s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_? (0.00s) 259s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_< (0.00s) 259s --- PASS: TestSplitAndNormalizeUsersAndGroups/Empty_value_with_EOL (0.00s) 259s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_empty_values (0.00s) 259s --- PASS: TestSplitAndNormalizeUsersAndGroups/Strip_any_| (0.00s) 259s --- PASS: TestSplitAndNormalizeUsersAndGroups/Multiple_values_with_consecutives_comma (0.00s) 259s === CONT TestPolkitAdminIdentitiesFromConf/No_previous_admin_identities_but_regular_directory_structure 259s === CONT TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities_ignoring_adsys 259s === CONT TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities_from_highest_ascii_file 259s === CONT TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities 259s --- PASS: TestPolkitAdminIdentitiesFromConf (0.00s) 259s --- PASS: TestPolkitAdminIdentitiesFromConf/Directory_instead_of_a_conf_file_is_ignored (0.00s) 259s --- PASS: TestPolkitAdminIdentitiesFromConf/Returns_an_empty_string_if_directory_does_not_exists (0.00s) 259s --- PASS: TestPolkitAdminIdentitiesFromConf/No_previous_admin_identities_but_regular_directory_structure (0.00s) 259s --- PASS: TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities_ignoring_adsys (0.00s) 259s --- PASS: TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities_from_highest_ascii_file (0.00s) 259s --- PASS: TestPolkitAdminIdentitiesFromConf/Fetch_previous_admin_identities (0.00s) 259s --- PASS: TestApplyPolicy (0.00s) 259s --- PASS: TestApplyPolicy/Empty_client_AD_admins (0.00s) 259s --- PASS: TestApplyPolicy/Disallow_local_admins_and_set_client_admins (0.00s) 259s --- PASS: TestApplyPolicy/Allow_local_admins_with_no_other_rules_is_a_noop (0.00s) 259s --- PASS: TestApplyPolicy/No_rules_still_overwrite_those_files (0.00s) 259s --- PASS: TestApplyPolicy/Set_client_user_admins (0.00s) 259s --- PASS: TestApplyPolicy/Not_a_computer (0.01s) 259s --- PASS: TestApplyPolicy/No_client_AD_admins (0.00s) 259s --- PASS: TestApplyPolicy/Error_on_writing_to_polkit_conf_file (0.00s) 259s --- PASS: TestApplyPolicy/Set_client_group_admins (0.00s) 259s --- PASS: TestApplyPolicy/Error_on_creating_sudoers_and_polkit_base_directory (0.00s) 259s --- PASS: TestApplyPolicy/Overwrite_existing_sudoers_file (0.00s) 259s --- PASS: TestApplyPolicy/Set_client_mixed_with_users_and_group_admins (0.00s) 259s --- PASS: TestApplyPolicy/Set_client_multiple_users_admins (0.00s) 259s --- PASS: TestApplyPolicy/Disallow_local_admins (0.00s) 259s --- PASS: TestApplyPolicy/Error_if_can’t_rename_to_destination_for_polkit_conf_file (0.00s) 259s --- PASS: TestApplyPolicy/Assume_old_polkit_if_cant_read_system_reserved_path (0.00s) 259s --- PASS: TestApplyPolicy/Don't_overwrite_other_existing_files (0.00s) 259s --- PASS: TestApplyPolicy/Create_on_new_polkit_version_and_remove_old_file (0.01s) 259s --- PASS: TestApplyPolicy/Allow_local_admins_without_previous_local_admin_conf_and_set_client_admins (0.00s) 259s --- PASS: TestApplyPolicy/Error_on_writing_to_polkit_subdirectory_creation (0.00s) 259s --- PASS: TestApplyPolicy/Disallow_local_admins_with_previous_local_admin_conf_and_set_client_admins (0.01s) 259s --- PASS: TestApplyPolicy/Overwrite_existing_polkit_file (0.01s) 259s --- PASS: TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_(simple)_and_set_client_admins (0.00s) 259s --- PASS: TestApplyPolicy/No_rules_and_no_existing_history_means_no_files (0.00s) 259s --- PASS: TestApplyPolicy/Error_on_writing_to_sudoers_file (0.00s) 259s --- PASS: TestApplyPolicy/Error_if_can’t_rename_to_destination_for_sudoers_file (0.00s) 259s --- PASS: TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_and_set_client_admins (0.00s) 259s --- PASS: TestApplyPolicy/Allow_local_admins_with_previous_local_admin_conf_(with_adsys_file)_and_set_client_admins (0.01s) 259s PASS 259s ok github.com/ubuntu/adsys/internal/policies/privilege 0.074s 259s === RUN TestApplyPolicy 259s === PAUSE TestApplyPolicy 259s === RUN TestWarnOnUnsupportedKeys 259s --- PASS: TestWarnOnUnsupportedKeys (0.00s) 259s === RUN TestWarnOnMissingDBusService 259s --- PASS: TestWarnOnMissingDBusService (0.00s) 259s === CONT TestApplyPolicy 259s === RUN TestApplyPolicy/Computer,_single_disabled_entry 259s === PAUSE TestApplyPolicy/Computer,_single_disabled_entry 259s === RUN TestApplyPolicy/Computer,_all_entries_set 259s === PAUSE TestApplyPolicy/Computer,_all_entries_set 259s === RUN TestApplyPolicy/User,_non-empty_entries 259s === PAUSE TestApplyPolicy/User,_non-empty_entries 259s === RUN TestApplyPolicy/Error_when_D-Bus_call_fails 259s === PAUSE TestApplyPolicy/Error_when_D-Bus_call_fails 259s === RUN TestApplyPolicy/Computer,_no_entries 259s === PAUSE TestApplyPolicy/Computer,_no_entries 259s === RUN TestApplyPolicy/Computer,_no_entries,_D-Bus_call_error 259s === PAUSE TestApplyPolicy/Computer,_no_entries,_D-Bus_call_error 259s === RUN TestApplyPolicy/User,_no_entries 259s === PAUSE TestApplyPolicy/User,_no_entries 259s === RUN TestApplyPolicy/Computer,_single_enabled_entry 259s === PAUSE TestApplyPolicy/Computer,_single_enabled_entry 259s === CONT TestApplyPolicy/Computer,_single_disabled_entry 259s === CONT TestApplyPolicy/Computer,_single_enabled_entry 259s === CONT TestApplyPolicy/User,_no_entries 259s === CONT TestApplyPolicy/Computer,_no_entries,_D-Bus_call_error 259s === CONT TestApplyPolicy/Computer,_no_entries 259s === CONT TestApplyPolicy/Error_when_D-Bus_call_fails 259s === CONT TestApplyPolicy/User,_non-empty_entries 259s === CONT TestApplyPolicy/Computer,_all_entries_set 259s --- PASS: TestApplyPolicy (0.01s) 259s --- PASS: TestApplyPolicy/Computer,_single_disabled_entry (0.00s) 259s --- PASS: TestApplyPolicy/Computer,_single_enabled_entry (0.00s) 259s --- PASS: TestApplyPolicy/User,_no_entries (0.00s) 259s --- PASS: TestApplyPolicy/Computer,_no_entries,_D-Bus_call_error (0.00s) 259s --- PASS: TestApplyPolicy/Computer,_no_entries (0.00s) 259s --- PASS: TestApplyPolicy/Error_when_D-Bus_call_fails (0.00s) 259s --- PASS: TestApplyPolicy/User,_non-empty_entries (0.00s) 259s --- PASS: TestApplyPolicy/Computer,_all_entries_set (0.00s) 259s PASS 259s ok github.com/ubuntu/adsys/internal/policies/proxy 0.016s 260s === RUN TestNew 260s === PAUSE TestNew 260s === RUN TestApplyPolicy 260s === PAUSE TestApplyPolicy 260s === RUN TestRunScripts 260s === PAUSE TestRunScripts 260s === CONT TestNew 260s === RUN TestNew/create_manager 260s === PAUSE TestNew/create_manager 260s === RUN TestNew/error_on_read_only_rundir 260s === PAUSE TestNew/error_on_read_only_rundir 260s === CONT TestNew/create_manager 260s === CONT TestRunScripts 260s === RUN TestRunScripts/multiple_scripts_are_run_in_order 260s === PAUSE TestRunScripts/multiple_scripts_are_run_in_order 260s === RUN TestRunScripts/keeps_running_flag_after_non_user_logoff 260s === PAUSE TestRunScripts/keeps_running_flag_after_non_user_logoff 260s === RUN TestRunScripts/error_on_order_file_not_existing 260s === PAUSE TestRunScripts/error_on_order_file_not_existing 260s === RUN TestRunScripts/one_script 260s === PAUSE TestRunScripts/one_script 260s === RUN TestRunScripts/script_directory_without_logoff_order_has_no_session_running_flag_after_user_logoff 260s === PAUSE TestRunScripts/script_directory_without_logoff_order_has_no_session_running_flag_after_user_logoff 260s === RUN TestRunScripts/script_directory_without_shutdown_order_has_no_session_running_flag_after_machine_shutdown 260s === PAUSE TestRunScripts/script_directory_without_shutdown_order_has_no_session_running_flag_after_machine_shutdown 260s === RUN TestRunScripts/error_on_not_ready_for_execution 260s === PAUSE TestRunScripts/error_on_not_ready_for_execution 260s === RUN TestRunScripts/scripts_not_listed_are_not_run 260s === PAUSE TestRunScripts/scripts_not_listed_are_not_run 260s === RUN TestRunScripts/scripts_referenced_in_subdirectories 260s === PAUSE TestRunScripts/scripts_referenced_in_subdirectories 260s === RUN TestRunScripts/has_no_session_running_flag_after_user_logoff 260s === PAUSE TestRunScripts/has_no_session_running_flag_after_user_logoff 260s === RUN TestRunScripts/still_executes_without_existing_running_flag_on_user_logoff 260s === PAUSE TestRunScripts/still_executes_without_existing_running_flag_on_user_logoff 260s === RUN TestRunScripts/still_executes_without_existing_running_flag_on_machine_shutdown 260s === PAUSE TestRunScripts/still_executes_without_existing_running_flag_on_machine_shutdown 260s === RUN TestRunScripts/keeps_running_flag_after_non_machine_shutdown 260s === PAUSE TestRunScripts/keeps_running_flag_after_non_machine_shutdown 260s === RUN TestRunScripts/error_on_argument_not_a_file 260s === PAUSE TestRunScripts/error_on_argument_not_a_file 260s === RUN TestRunScripts/scripts_that_are_not_executable_are_skipped 260s === PAUSE TestRunScripts/scripts_that_are_not_executable_are_skipped 260s === RUN TestRunScripts/has_no_session_running_flag_after_machine_shutdown 260s === PAUSE TestRunScripts/has_no_session_running_flag_after_machine_shutdown 260s === RUN TestRunScripts/allow_order_file_missing 260s === PAUSE TestRunScripts/allow_order_file_missing 260s === RUN TestRunScripts/spaces_and_empty_lines_are_skipped 260s === PAUSE TestRunScripts/spaces_and_empty_lines_are_skipped 260s === CONT TestRunScripts/multiple_scripts_are_run_in_order 260s === CONT TestRunScripts/still_executes_without_existing_running_flag_on_user_logoff 260s time="2025-10-31T03:52:06Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsmultiple_scripts_are_run_in_order4178689867/001/users/foo/scripts/s\"" 260s time="2025-10-31T03:52:06Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsstill_executes_without_existing_running_flag_on_user_logoff3588785823/001/users/foo/scripts/logoff\"" 260s === CONT TestApplyPolicy 260s === RUN TestApplyPolicy/Subfolder_with_script 260s === PAUSE TestApplyPolicy/Subfolder_with_script 260s === RUN TestApplyPolicy/Startup_script_for_computer_runs_systemctl_(systemctl_success) 260s === PAUSE TestApplyPolicy/Startup_script_for_computer_runs_systemctl_(systemctl_success) 260s === RUN TestApplyPolicy/Destination_is_already_running,_no_change 260s === PAUSE TestApplyPolicy/Destination_is_already_running,_no_change 260s === RUN TestApplyPolicy/Error_on_save_assets_dumping_failing 260s === PAUSE TestApplyPolicy/Error_on_save_assets_dumping_failing 260s === RUN TestApplyPolicy/No_entries_is_an_empty_folder 260s === PAUSE TestApplyPolicy/No_entries_is_an_empty_folder 260s === RUN TestApplyPolicy/One_script 260s === PAUSE TestApplyPolicy/One_script 260s === RUN TestApplyPolicy/One_directory,_multiple_scripts_in_order 260s === PAUSE TestApplyPolicy/One_directory,_multiple_scripts_in_order 260s === RUN TestApplyPolicy/User_lookup_failing_does_not_impact_machine_update 260s === PAUSE TestApplyPolicy/User_lookup_failing_does_not_impact_machine_update 260s === RUN TestApplyPolicy/Error_on_script_does_not_exist 260s === PAUSE TestApplyPolicy/Error_on_script_does_not_exist 260s === RUN TestApplyPolicy/Error_on_user_lookup_failing 260s === PAUSE TestApplyPolicy/Error_on_user_lookup_failing 260s === RUN TestApplyPolicy/Error_on_invalid_GID 260s === PAUSE TestApplyPolicy/Error_on_invalid_GID 260s === RUN TestApplyPolicy/Error_on_running_start_script_that_runs_systemctl_and_systemctl_fails 260s === PAUSE TestApplyPolicy/Error_on_running_start_script_that_runs_systemctl_and_systemctl_fails 260s === RUN TestApplyPolicy/Destination_is_not_ready,_refreshing 260s === PAUSE TestApplyPolicy/Destination_is_not_ready,_refreshing 260s === RUN TestApplyPolicy/Systemctl_failing_does_not_impact_user_scripts_update 260s === PAUSE TestApplyPolicy/Systemctl_failing_does_not_impact_user_scripts_update 260s === RUN TestApplyPolicy/Error_on_subfolder_listed 260s === PAUSE TestApplyPolicy/Error_on_subfolder_listed 260s === RUN TestApplyPolicy/Subfolder_with_same_script_name 260s === PAUSE TestApplyPolicy/Subfolder_with_same_script_name 260s === RUN TestApplyPolicy/Empty_entries_are_discared 260s === PAUSE TestApplyPolicy/Empty_entries_are_discared 260s === RUN TestApplyPolicy/Computer,_no_systemctl_with_other_directory_than_startup 260s === PAUSE TestApplyPolicy/Computer,_no_systemctl_with_other_directory_than_startup 260s === RUN TestApplyPolicy/Destination_is_already_ready_but_not_in_session,_refreshing 260s === PAUSE TestApplyPolicy/Destination_is_already_ready_but_not_in_session,_refreshing 260s === RUN TestApplyPolicy/Error_on_users_run_directory_Read_Only 260s === PAUSE TestApplyPolicy/Error_on_users_run_directory_Read_Only 260s === RUN TestApplyPolicy/No_entries_update_existing_non_ready_folder 260s === PAUSE TestApplyPolicy/No_entries_update_existing_non_ready_folder 260s === RUN TestApplyPolicy/Multiple_directories: 260s === PAUSE TestApplyPolicy/Multiple_directories: 260s === RUN TestApplyPolicy/Same_script_is_used_multiple_times 260s === PAUSE TestApplyPolicy/Same_script_is_used_multiple_times 260s === RUN TestApplyPolicy/Error_on_invalid_UID 260s === PAUSE TestApplyPolicy/Error_on_invalid_UID 260s === CONT TestNew/error_on_read_only_rundir 260s --- PASS: TestNew (0.00s) 260s --- PASS: TestNew/create_manager (0.00s) 260s --- PASS: TestNew/error_on_read_only_rundir (0.00s) 260s === CONT TestRunScripts/spaces_and_empty_lines_are_skipped 260s time="2025-10-31T03:52:06Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsspaces_and_empty_lines_are_skipped1745331555/001/users/foo/scripts/s\"" 260s === CONT TestRunScripts/allow_order_file_missing 260s time="2025-10-31T03:52:06Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsallow_order_file_missing859142584/001/users/foo/scripts/s\"" 260s time="2025-10-31T03:52:06Z" level=info msg="\"/tmp/TestRunScriptsallow_order_file_missing859142584/001/users/foo/scripts/s\" doesn't exist, but allowed to be missing, skipping" 260s === CONT TestRunScripts/has_no_session_running_flag_after_machine_shutdown 260s time="2025-10-31T03:52:06Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptshas_no_session_running_flag_after_machine_shutdown315189904/001/machine/foo/scripts/shutdown\"" 260s === CONT TestRunScripts/scripts_that_are_not_executable_are_skipped 260s time="2025-10-31T03:52:06Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsscripts_that_are_not_executable_are_skipped4067219215/001/users/foo/scripts/s\"" 260s time="2025-10-31T03:52:06Z" level=warning msg="\"/tmp/TestRunScriptsscripts_that_are_not_executable_are_skipped4067219215/001/users/foo/scripts/scripts/notexecutable.sh\" failed to run\nfork/exec /tmp/TestRunScriptsscripts_that_are_not_executable_are_skipped4067219215/001/users/foo/scripts/scripts/notexecutable.sh: permission denied" 260s === CONT TestRunScripts/error_on_argument_not_a_file 260s time="2025-10-31T03:52:06Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptserror_on_argument_not_a_file2871908322/001/users/foo/scripts/s\"" 260s === CONT TestRunScripts/keeps_running_flag_after_non_machine_shutdown 260s time="2025-10-31T03:52:06Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptskeeps_running_flag_after_non_machine_shutdown3764979692/001/users/foo/scripts/shutdown\"" 260s === CONT TestRunScripts/still_executes_without_existing_running_flag_on_machine_shutdown 260s time="2025-10-31T03:52:06Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsstill_executes_without_existing_running_flag_on_machine_shutdown1667689792/001/machine/foo/scripts/shutdown\"" 260s === CONT TestRunScripts/script_directory_without_shutdown_order_has_no_session_running_flag_after_machine_shutdown 260s time="2025-10-31T03:52:06Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsscript_directory_without_shutdown_order_has_no_session_running_flag_after_machine_shutdown1702405820/001/machine/foo/scripts/shutdown\"" 260s time="2025-10-31T03:52:06Z" level=info msg="\"/tmp/TestRunScriptsscript_directory_without_shutdown_order_has_no_session_running_flag_after_machine_shutdown1702405820/001/machine/foo/scripts/shutdown\" doesn't exist, but allowed to be missing, skipping" 260s === CONT TestRunScripts/has_no_session_running_flag_after_user_logoff 260s time="2025-10-31T03:52:06Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptshas_no_session_running_flag_after_user_logoff3814538633/001/users/foo/scripts/logoff\"" 260s === CONT TestRunScripts/scripts_referenced_in_subdirectories 260s time="2025-10-31T03:52:06Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsscripts_referenced_in_subdirectories522178526/001/users/foo/scripts/s\"" 260s === CONT TestRunScripts/scripts_not_listed_are_not_run 260s time="2025-10-31T03:52:06Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsscripts_not_listed_are_not_run2428471652/001/users/foo/scripts/s\"" 260s === CONT TestRunScripts/error_on_not_ready_for_execution 260s time="2025-10-31T03:52:06Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptserror_on_not_ready_for_execution2268530032/001/users/foo/scripts/s\"" 260s === CONT TestRunScripts/one_script 260s time="2025-10-31T03:52:06Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsone_script2214396145/001/users/foo/scripts/s\"" 260s === CONT TestRunScripts/script_directory_without_logoff_order_has_no_session_running_flag_after_user_logoff 260s time="2025-10-31T03:52:06Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptsscript_directory_without_logoff_order_has_no_session_running_flag_after_user_logoff1615301167/001/users/foo/scripts/logoff\"" 260s time="2025-10-31T03:52:06Z" level=info msg="\"/tmp/TestRunScriptsscript_directory_without_logoff_order_has_no_session_running_flag_after_user_logoff1615301167/001/users/foo/scripts/logoff\" doesn't exist, but allowed to be missing, skipping" 260s === CONT TestRunScripts/error_on_order_file_not_existing 260s time="2025-10-31T03:52:06Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptserror_on_order_file_not_existing3341255766/001/users/foo/scripts/s\"" 260s === CONT TestRunScripts/keeps_running_flag_after_non_user_logoff 260s time="2025-10-31T03:52:06Z" level=info msg="Calling RunScripts on \"/tmp/TestRunScriptskeeps_running_flag_after_non_user_logoff2693646516/001/machine/foo/scripts/logoff\"" 260s === CONT TestApplyPolicy/Subfolder_with_script 260s === CONT TestApplyPolicy/Error_on_invalid_UID 260s === CONT TestApplyPolicy/Same_script_is_used_multiple_times 260s === CONT TestApplyPolicy/Multiple_directories: 260s === CONT TestApplyPolicy/No_entries_update_existing_non_ready_folder 260s === CONT TestApplyPolicy/Error_on_users_run_directory_Read_Only 260s === CONT TestApplyPolicy/Destination_is_already_ready_but_not_in_session,_refreshing 260s === CONT TestApplyPolicy/Computer,_no_systemctl_with_other_directory_than_startup 260s === CONT TestApplyPolicy/Empty_entries_are_discared 260s === CONT TestApplyPolicy/Subfolder_with_same_script_name 260s === CONT TestApplyPolicy/Error_on_subfolder_listed 260s === CONT TestApplyPolicy/Systemctl_failing_does_not_impact_user_scripts_update 260s --- PASS: TestRunScripts (0.00s) 260s --- PASS: TestRunScripts/still_executes_without_existing_running_flag_on_user_logoff (0.04s) 260s --- PASS: TestRunScripts/multiple_scripts_are_run_in_order (0.05s) 260s --- PASS: TestRunScripts/allow_order_file_missing (0.00s) 260s --- PASS: TestRunScripts/spaces_and_empty_lines_are_skipped (0.01s) 260s --- PASS: TestRunScripts/scripts_that_are_not_executable_are_skipped (0.03s) 260s --- PASS: TestRunScripts/error_on_argument_not_a_file (0.01s) 260s --- PASS: TestRunScripts/has_no_session_running_flag_after_machine_shutdown (0.05s) 260s --- PASS: TestRunScripts/keeps_running_flag_after_non_machine_shutdown (0.04s) 260s --- PASS: TestRunScripts/still_executes_without_existing_running_flag_on_machine_shutdown (0.04s) 260s --- PASS: TestRunScripts/script_directory_without_shutdown_order_has_no_session_running_flag_after_machine_shutdown (0.01s) 260s --- PASS: TestRunScripts/has_no_session_running_flag_after_user_logoff (0.04s) 260s --- PASS: TestRunScripts/scripts_referenced_in_subdirectories (0.05s) 260s --- PASS: TestRunScripts/error_on_not_ready_for_execution (0.00s) 260s --- PASS: TestRunScripts/scripts_not_listed_are_not_run (0.03s) 260s --- PASS: TestRunScripts/script_directory_without_logoff_order_has_no_session_running_flag_after_user_logoff (0.00s) 260s --- PASS: TestRunScripts/error_on_order_file_not_existing (0.00s) 260s --- PASS: TestRunScripts/one_script (0.02s) 260s --- PASS: TestRunScripts/keeps_running_flag_after_non_user_logoff (0.04s) 260s === CONT TestApplyPolicy/Destination_is_not_ready,_refreshing 260s === CONT TestApplyPolicy/Error_on_running_start_script_that_runs_systemctl_and_systemctl_fails 260s time="2025-10-31T03:52:06Z" level=info msg="Running machine startup scripts" 260s === CONT TestApplyPolicy/Error_on_invalid_GID 260s === CONT TestApplyPolicy/Error_on_user_lookup_failing 260s === CONT TestApplyPolicy/Error_on_script_does_not_exist 260s === CONT TestApplyPolicy/User_lookup_failing_does_not_impact_machine_update 260s === CONT TestApplyPolicy/One_directory,_multiple_scripts_in_order 260s === CONT TestApplyPolicy/One_script 260s === CONT TestApplyPolicy/No_entries_is_an_empty_folder 260s === CONT TestApplyPolicy/Error_on_save_assets_dumping_failing 260s === CONT TestApplyPolicy/Startup_script_for_computer_runs_systemctl_(systemctl_success) 260s === CONT TestApplyPolicy/Destination_is_already_running,_no_change 260s time="2025-10-31T03:52:06Z" level=info msg="Running machine startup scripts" 260s time="2025-10-31T03:52:06Z" level=info msg="\"/tmp/TestApplyPolicyDestination_is_already_running,_no_change2545312109/001/machine/scripts/.running\" already exists, a session is already running, ignoring." 260s --- PASS: TestApplyPolicy (0.00s) 260s --- PASS: TestApplyPolicy/Subfolder_with_script (0.00s) 260s --- PASS: TestApplyPolicy/Error_on_invalid_UID (0.00s) 260s --- PASS: TestApplyPolicy/Same_script_is_used_multiple_times (0.01s) 260s --- PASS: TestApplyPolicy/Multiple_directories: (0.00s) 260s --- PASS: TestApplyPolicy/No_entries_update_existing_non_ready_folder (0.00s) 260s --- PASS: TestApplyPolicy/Error_on_users_run_directory_Read_Only (0.00s) 260s --- PASS: TestApplyPolicy/Destination_is_already_ready_but_not_in_session,_refreshing (0.00s) 260s --- PASS: TestApplyPolicy/Computer,_no_systemctl_with_other_directory_than_startup (0.00s) 260s --- PASS: TestApplyPolicy/Empty_entries_are_discared (0.00s) 260s --- PASS: TestApplyPolicy/Subfolder_with_same_script_name (0.00s) 260s --- PASS: TestApplyPolicy/Error_on_subfolder_listed (0.00s) 260s --- PASS: TestApplyPolicy/Systemctl_failing_does_not_impact_user_scripts_update (0.01s) 260s --- PASS: TestApplyPolicy/Error_on_running_start_script_that_runs_systemctl_and_systemctl_fails (0.00s) 260s --- PASS: TestApplyPolicy/Destination_is_not_ready,_refreshing (0.01s) 260s --- PASS: TestApplyPolicy/Error_on_user_lookup_failing (0.00s) 260s --- PASS: TestApplyPolicy/Error_on_invalid_GID (0.00s) 260s --- PASS: TestApplyPolicy/User_lookup_failing_does_not_impact_machine_update (0.00s) 260s --- PASS: TestApplyPolicy/Error_on_script_does_not_exist (0.01s) 260s --- PASS: TestApplyPolicy/One_script (0.00s) 260s --- PASS: TestApplyPolicy/No_entries_is_an_empty_folder (0.00s) 260s --- PASS: TestApplyPolicy/One_directory,_multiple_scripts_in_order (0.01s) 260s --- PASS: TestApplyPolicy/Error_on_save_assets_dumping_failing (0.00s) 260s --- PASS: TestApplyPolicy/Destination_is_already_running,_no_change (0.00s) 260s --- PASS: TestApplyPolicy/Startup_script_for_computer_runs_systemctl_(systemctl_success) (0.01s) 260s PASS 260s ok github.com/ubuntu/adsys/internal/policies/scripts 0.287s 260s === RUN TestExclusiveLockExec 260s --- PASS: TestExclusiveLockExec (0.01s) 260s === RUN TestExclusiveLockSmb 260s --- PASS: TestExclusiveLockSmb (0.01s) 260s === RUN TestMultipleExecLocksOnlyReleaseOnLast 260s --- PASS: TestMultipleExecLocksOnlyReleaseOnLast (0.01s) 260s === RUN TestMultipleSmbLocksOnlyReleaseOnLast 260s --- PASS: TestMultipleSmbLocksOnlyReleaseOnLast (0.01s) 260s PASS 260s ok github.com/ubuntu/adsys/internal/smbsafe 0.045s 261s === RUN TestAddStdoutForwarder 261s --- PASS: TestAddStdoutForwarder (0.00s) 261s === RUN TestAddStderrForwarder 261s --- PASS: TestAddStderrForwarder (0.00s) 261s === RUN TestAddStdoutForwarderEnsureStderrNoPolluted 261s --- PASS: TestAddStdoutForwarderEnsureStderrNoPolluted (0.00s) 261s === RUN TestAddForwarderAndDisconnect 261s --- PASS: TestAddForwarderAndDisconnect (0.00s) 261s === RUN TestAddForwardersGraduallyAndDisconnect 261s --- PASS: TestAddForwardersGraduallyAndDisconnect (0.01s) 261s === RUN TestAddForwarderDifferentWriterStdoutStderr 261s --- PASS: TestAddForwarderDifferentWriterStdoutStderr (0.00s) 261s === RUN TestAddForwarderSameWriterStdoutStderr 261s --- PASS: TestAddForwarderSameWriterStdoutStderr (0.00s) 261s === RUN TestAddStdoutForwarderWithBlockedStdout 261s time="2025-10-31T03:52:06Z" level=warning msg="Failed to write to regular output: write |1: file already closed" 261s time="2025-10-31T03:52:06Z" level=warning msg="Failed to write to regular output: write |1: file already closed" 261s time="2025-10-31T03:52:06Z" level=warning msg="Failed to write to regular output: write |1: file already closed" 261s --- PASS: TestAddStdoutForwarderWithBlockedStdout (0.01s) 261s === RUN TestAddStderrForwarderWithBlockedStderr 261s time="2025-10-31T03:52:06Z" level=warning msg="Failed to write to regular output: write |1: file already closed" 261s time="2025-10-31T03:52:06Z" level=warning msg="Failed to write to regular output: write |1: file already closed" 261s time="2025-10-31T03:52:06Z" level=warning msg="Failed to write to regular output: write |1: file already closed" 261s --- PASS: TestAddStderrForwarderWithBlockedStderr (0.01s) 261s === RUN TestAddStdoutForwarderOneWithFailingForwarder 261s time="2025-10-31T03:52:06Z" level=warning msg="Failed to forward log: Error from failedWriter" 261s time="2025-10-31T03:52:06Z" level=warning msg="Failed to forward log: Error from failedWriter" 261s time="2025-10-31T03:52:06Z" level=warning msg="Failed to forward log: Error from failedWriter" 261s --- PASS: TestAddStdoutForwarderOneWithFailingForwarder (0.01s) 261s PASS 261s ok github.com/ubuntu/adsys/internal/stdforward 0.055s 261s ? github.com/ubuntu/adsys/internal/testutils [no test files] 261s ? github.com/ubuntu/adsys/internal/watchdservice [no test files] 261s === RUN TestManageUnit 261s === PAUSE TestManageUnit 261s === RUN TestDaemonReload 261s === PAUSE TestDaemonReload 261s === CONT TestManageUnit 261s === CONT TestDaemonReload 261s === RUN TestManageUnit/Error_when_starting_unit_that_doesn't_exist 261s === PAUSE TestManageUnit/Error_when_starting_unit_that_doesn't_exist 261s === RUN TestManageUnit/Error_when_starting_failing_unit 261s === PAUSE TestManageUnit/Error_when_starting_failing_unit 261s === RUN TestManageUnit/Stop_unit_that_exists 261s === PAUSE TestManageUnit/Stop_unit_that_exists 261s === RUN TestManageUnit/Enable_unit_that_exists 261s === PAUSE TestManageUnit/Enable_unit_that_exists 261s === RUN TestManageUnit/Error_when_stopping_unit_that_doesn't_exist 261s === PAUSE TestManageUnit/Error_when_stopping_unit_that_doesn't_exist 261s === RUN TestManageUnit/Error_when_stopping_failing_unit 261s === PAUSE TestManageUnit/Error_when_stopping_failing_unit 261s === RUN TestManageUnit/Error_when_enabling_unit_that_doesn't_exist 261s === PAUSE TestManageUnit/Error_when_enabling_unit_that_doesn't_exist 261s === RUN TestManageUnit/Error_when_disabling_unit_that_doesn't_exist 261s === PAUSE TestManageUnit/Error_when_disabling_unit_that_doesn't_exist 261s === RUN TestManageUnit/Start_unit_that_exists 261s === PAUSE TestManageUnit/Start_unit_that_exists 261s === RUN TestManageUnit/Disable_unit_that_exists 261s === PAUSE TestManageUnit/Disable_unit_that_exists 261s === CONT TestManageUnit/Error_when_starting_unit_that_doesn't_exist 261s --- PASS: TestDaemonReload (0.00s) 261s === CONT TestManageUnit/Error_when_stopping_failing_unit 261s === CONT TestManageUnit/Disable_unit_that_exists 261s === CONT TestManageUnit/Start_unit_that_exists 261s === CONT TestManageUnit/Error_when_disabling_unit_that_doesn't_exist 261s === CONT TestManageUnit/Error_when_enabling_unit_that_doesn't_exist 261s === CONT TestManageUnit/Enable_unit_that_exists 261s === CONT TestManageUnit/Error_when_stopping_unit_that_doesn't_exist 261s === CONT TestManageUnit/Stop_unit_that_exists 261s === CONT TestManageUnit/Error_when_starting_failing_unit 261s --- PASS: TestManageUnit (0.00s) 261s --- PASS: TestManageUnit/Error_when_starting_unit_that_doesn't_exist (0.00s) 261s --- PASS: TestManageUnit/Error_when_stopping_failing_unit (0.00s) 261s --- PASS: TestManageUnit/Disable_unit_that_exists (0.00s) 261s --- PASS: TestManageUnit/Start_unit_that_exists (0.00s) 261s --- PASS: TestManageUnit/Error_when_disabling_unit_that_doesn't_exist (0.00s) 261s --- PASS: TestManageUnit/Error_when_enabling_unit_that_doesn't_exist (0.00s) 261s --- PASS: TestManageUnit/Enable_unit_that_exists (0.00s) 261s --- PASS: TestManageUnit/Error_when_stopping_unit_that_doesn't_exist (0.00s) 261s --- PASS: TestManageUnit/Stop_unit_that_exists (0.00s) 261s --- PASS: TestManageUnit/Error_when_starting_failing_unit (0.00s) 261s PASS 261s ok github.com/ubuntu/adsys/internal/systemd 0.025s 262s === RUN TestInteractiveInput 262s === RUN TestInteractiveInput/Submit_with_directory_as_config_input 262s === RUN TestInteractiveInput/Submit_with_dot_directories_is_normalized 262s === RUN TestInteractiveInput/Config_file_is_absent_and_input_is_relative 262s === RUN TestInteractiveInput/Existing_config_file_is_passed_in_and_contains_directories,_not_all_which_exist_on_the_system 262s === RUN TestInteractiveInput/Found_installed_service,_config_overridden 262s === RUN TestInteractiveInput/Multiple_existing_directories,_can_cycle_between_the_inputs 262s === RUN TestInteractiveInput/No_directories,_focus_on_dir_input 262s === RUN TestInteractiveInput/Submit_with_fresh_config_in_current_directory 262s === RUN TestInteractiveInput/Submit_with_double_dot_directories_is_normalized 262s === RUN TestInteractiveInput/Config_file_exists 262s === RUN TestInteractiveInput/Directory_exists 262s === RUN TestInteractiveInput/Directory_does_not_exist,_block_input 262s === RUN TestInteractiveInput/Submit_with_default_config 262s === RUN TestInteractiveInput/Submit_with_fresh_config_in_nested_directory 262s === RUN TestInteractiveInput/Submit_with_duplicate_directories 262s === RUN TestInteractiveInput/Initial_view 262s === RUN TestInteractiveInput/Dot_and_double_dot_directory_inputs_are_normalized 262s === RUN TestInteractiveInput/Directory_is_a_file,_block_input 262s === RUN TestInteractiveInput/Multiple_existing_directories,_can_delete_them 262s === RUN TestInteractiveInput/Existing_config_file_is_passed_in_and_is_empty_or_has_no_directories 262s === RUN TestInteractiveInput/Config_file_is_absent_and_input_is_absolute 262s === RUN TestInteractiveInput/Config_file_is_absent_and_input_is_a_dir 262s === RUN TestInteractiveInput/Existing_config_file_is_passed_in_and_contains_directories_which_exist_on_the_system 262s === RUN TestInteractiveInput/Found_installed_service,_config_not_overridden 262s === RUN TestInteractiveInput/Other_navigation_tests 262s --- PASS: TestInteractiveInput (0.05s) 262s --- PASS: TestInteractiveInput/Submit_with_directory_as_config_input (0.00s) 262s --- PASS: TestInteractiveInput/Submit_with_dot_directories_is_normalized (0.00s) 262s --- PASS: TestInteractiveInput/Config_file_is_absent_and_input_is_relative (0.00s) 262s --- PASS: TestInteractiveInput/Existing_config_file_is_passed_in_and_contains_directories,_not_all_which_exist_on_the_system (0.00s) 262s --- PASS: TestInteractiveInput/Found_installed_service,_config_overridden (0.00s) 262s --- PASS: TestInteractiveInput/Multiple_existing_directories,_can_cycle_between_the_inputs (0.00s) 262s --- PASS: TestInteractiveInput/No_directories,_focus_on_dir_input (0.00s) 262s --- PASS: TestInteractiveInput/Submit_with_fresh_config_in_current_directory (0.00s) 262s --- PASS: TestInteractiveInput/Submit_with_double_dot_directories_is_normalized (0.00s) 262s --- PASS: TestInteractiveInput/Config_file_exists (0.00s) 262s --- PASS: TestInteractiveInput/Directory_exists (0.00s) 262s --- PASS: TestInteractiveInput/Directory_does_not_exist,_block_input (0.00s) 262s --- PASS: TestInteractiveInput/Submit_with_default_config (0.00s) 262s --- PASS: TestInteractiveInput/Submit_with_fresh_config_in_nested_directory (0.01s) 262s --- PASS: TestInteractiveInput/Submit_with_duplicate_directories (0.00s) 262s --- PASS: TestInteractiveInput/Initial_view (0.00s) 262s --- PASS: TestInteractiveInput/Dot_and_double_dot_directory_inputs_are_normalized (0.00s) 262s --- PASS: TestInteractiveInput/Directory_is_a_file,_block_input (0.00s) 262s --- PASS: TestInteractiveInput/Multiple_existing_directories,_can_delete_them (0.00s) 262s --- PASS: TestInteractiveInput/Existing_config_file_is_passed_in_and_is_empty_or_has_no_directories (0.00s) 262s --- PASS: TestInteractiveInput/Config_file_is_absent_and_input_is_absolute (0.00s) 262s --- PASS: TestInteractiveInput/Config_file_is_absent_and_input_is_a_dir (0.00s) 262s --- PASS: TestInteractiveInput/Existing_config_file_is_passed_in_and_contains_directories_which_exist_on_the_system (0.00s) 262s --- PASS: TestInteractiveInput/Found_installed_service,_config_not_overridden (0.00s) 262s --- PASS: TestInteractiveInput/Other_navigation_tests (0.00s) 262s === RUN TestInteractiveInstall 262s watchdtui_test.go:408: Test has to be run as root, skipping... 262s --- SKIP: TestInteractiveInstall (0.00s) 262s === RUN TestInteractiveUpdate 262s watchdtui_test.go:456: Test has to be run as root, skipping... 262s --- SKIP: TestInteractiveUpdate (0.00s) 262s PASS 262s ok github.com/ubuntu/adsys/internal/watchdtui 0.057s 262s ? github.com/ubuntu/adsys/po [no test files] 262s ? github.com/ubuntu/adsys/policies [no test files] 266s === RUN TestWatchDirectory 266s === PAUSE TestWatchDirectory 266s === RUN TestRefreshGracePeriod 266s === PAUSE TestRefreshGracePeriod 266s === RUN TestUpdateDirs 266s === PAUSE TestUpdateDirs 266s === RUN TestUpdateDirsFailing 266s === PAUSE TestUpdateDirsFailing 266s === RUN TestUpdateDirsWithEmptyDirSlice 266s === PAUSE TestUpdateDirsWithEmptyDirSlice 266s === RUN TestUpdateDirsOnStoppedWatcher 266s === PAUSE TestUpdateDirsOnStoppedWatcher 266s === RUN TestStopWithoutStart 266s === PAUSE TestStopWithoutStart 266s === CONT TestWatchDirectory 266s === RUN TestWatchDirectory/Remove_file 266s === PAUSE TestWatchDirectory/Remove_file 266s === RUN TestWatchDirectory/Existing_file,_subdir 266s === PAUSE TestWatchDirectory/Existing_file,_subdir 266s === RUN TestWatchDirectory/No_update,_no_gpt.ini 266s === PAUSE TestWatchDirectory/No_update,_no_gpt.ini 266s === RUN TestWatchDirectory/Update_with_existing_gpt.ini 266s === CONT TestUpdateDirsWithEmptyDirSlice 266s === PAUSE TestWatchDirectory/Update_with_existing_gpt.ini 266s === RUN TestWatchDirectory/Update_existing_file 266s === PAUSE TestWatchDirectory/Update_existing_file 266s === RUN TestWatchDirectory/Updating_gpt.ini_is_a_no-op 266s === PAUSE TestWatchDirectory/Updating_gpt.ini_is_a_no-op 266s === RUN TestWatchDirectory/New_file,_subdir 266s === PAUSE TestWatchDirectory/New_file,_subdir 266s === RUN TestWatchDirectory/Combined_case 266s === PAUSE TestWatchDirectory/Combined_case 266s === RUN TestWatchDirectory/Error_on_listing_no_directory 266s === PAUSE TestWatchDirectory/Error_on_listing_no_directory 266s === RUN TestWatchDirectory/New_file,_no_gpt.ini 266s === PAUSE TestWatchDirectory/New_file,_no_gpt.ini 266s === RUN TestWatchDirectory/No_update,_existing_gpt.ini 266s === PAUSE TestWatchDirectory/No_update,_existing_gpt.ini 266s === RUN TestWatchDirectory/Rename_file 266s === PAUSE TestWatchDirectory/Rename_file 266s === RUN TestWatchDirectory/Error_on_updating_malformed_GPT.ini 266s === PAUSE TestWatchDirectory/Error_on_updating_malformed_GPT.ini 266s === RUN TestWatchDirectory/Remove_root_directory 266s === PAUSE TestWatchDirectory/Remove_root_directory 266s === RUN TestWatchDirectory/Multiple_nested_subdirectories,_only_update_nested_file 266s === PAUSE TestWatchDirectory/Multiple_nested_subdirectories,_only_update_nested_file 266s === RUN TestWatchDirectory/Multiple_directories,_only_one_is_updated 266s === PAUSE TestWatchDirectory/Multiple_directories,_only_one_is_updated 266s === RUN TestWatchDirectory/Multiple_directories_with_different_versions,_all_updated 266s === PAUSE TestWatchDirectory/Multiple_directories_with_different_versions,_all_updated 266s === RUN TestWatchDirectory/New_subdir_without_file 266s === PAUSE TestWatchDirectory/New_subdir_without_file 266s === RUN TestWatchDirectory/Error_on_non_existing_directory 266s === PAUSE TestWatchDirectory/Error_on_non_existing_directory 266s === RUN TestWatchDirectory/Rename_file_and_update 266s === PAUSE TestWatchDirectory/Rename_file_and_update 266s === RUN TestWatchDirectory/New_subdir 266s === PAUSE TestWatchDirectory/New_subdir 266s === RUN TestWatchDirectory/Nested_new_subdirs 266s === PAUSE TestWatchDirectory/Nested_new_subdirs 266s === RUN TestWatchDirectory/Multiple_nested_subdirectories 266s === PAUSE TestWatchDirectory/Multiple_nested_subdirectories 266s === CONT TestStopWithoutStart 266s --- PASS: TestStopWithoutStart (0.00s) 266s === CONT TestUpdateDirsOnStoppedWatcher 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching /tmp/TestUpdateDirsWithEmptyDirSlice1867607920/001/watchdir and children" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirsWithEmptyDirSlice1867607920/001/watchdir" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirsWithEmptyDirSlice1867607920/001/watchdir/GPT.INI" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirsWithEmptyDirSlice1867607920/001/watchdir/alreadyexists" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirsWithEmptyDirSlice1867607920/001/watchdir/alreadyexistsDir" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirsWithEmptyDirSlice1867607920/001/watchdir/alreadyexistsDir/GPT.INI" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirsWithEmptyDirSlice1867607920/001/watchdir/alreadyexistsDir/alreadyexists" 266s time="2025-10-31T03:52:08Z" level=debug msg="Updating directories to []" 266s time="2025-10-31T03:52:08Z" level=info msg="Watcher stopped" 266s time="2025-10-31T03:52:08Z" level=debug msg="Updating directories to [/tmp/TestUpdateDirsOnStoppedWatcher3370531930/001/curdir]" 266s time="2025-10-31T03:52:08Z" level=warning msg="Error stopping watcher: the service is already stopping or not running" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching /tmp/TestUpdateDirsOnStoppedWatcher3370531930/001/curdir and children" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirsOnStoppedWatcher3370531930/001/curdir" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirsOnStoppedWatcher3370531930/001/curdir/GPT.INI" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirsOnStoppedWatcher3370531930/001/curdir/alreadyexists" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirsOnStoppedWatcher3370531930/001/curdir/alreadyexistsDir" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirsOnStoppedWatcher3370531930/001/curdir/alreadyexistsDir/GPT.INI" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirsOnStoppedWatcher3370531930/001/curdir/alreadyexistsDir/alreadyexists" 266s --- PASS: TestUpdateDirsWithEmptyDirSlice (0.01s) 266s === CONT TestUpdateDirs 266s time="2025-10-31T03:52:08Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsOnStoppedWatcher3370531930/001/curdir/alreadyexists\"" 266s time="2025-10-31T03:52:08Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsOnStoppedWatcher3370531930/001/curdir/alreadyexists\"" 266s time="2025-10-31T03:52:08Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsOnStoppedWatcher3370531930/001/curdir/alreadyexists\"" 266s time="2025-10-31T03:52:08Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsOnStoppedWatcher3370531930/001/curdir/alreadyexists\"" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching /tmp/TestUpdateDirs1524468238/001/remove and children" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirs1524468238/001/remove" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirs1524468238/001/remove/GPT.INI" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirs1524468238/001/remove/alreadyexists" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirs1524468238/001/remove/alreadyexistsDir" 266s time="2025-10-31T03:52:08Z" level=info msg="Watcher stopped" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirs1524468238/001/remove/alreadyexistsDir/GPT.INI" 266s time="2025-10-31T03:52:08Z" level=info msg="Bumping version for /tmp/TestUpdateDirsOnStoppedWatcher3370531930/001/curdir/GPT.INI" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirs1524468238/001/remove/alreadyexistsDir/alreadyexists" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching /tmp/TestUpdateDirs1524468238/001/keep and children" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirs1524468238/001/keep" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirs1524468238/001/keep/GPT.INI" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirs1524468238/001/keep/alreadyexists" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirs1524468238/001/keep/alreadyexistsDir" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirs1524468238/001/keep/alreadyexistsDir/GPT.INI" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirs1524468238/001/keep/alreadyexistsDir/alreadyexists" 266s time="2025-10-31T03:52:08Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs1524468238/001/remove/alreadyexists\"" 266s time="2025-10-31T03:52:08Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs1524468238/001/remove/alreadyexists\"" 266s time="2025-10-31T03:52:08Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs1524468238/001/remove/alreadyexists\"" 266s time="2025-10-31T03:52:08Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs1524468238/001/remove/alreadyexists\"" 266s --- PASS: TestUpdateDirsOnStoppedWatcher (0.35s) 266s === CONT TestUpdateDirsFailing 266s time="2025-10-31T03:52:08Z" level=debug msg="Updating directories to [/tmp/TestUpdateDirs1524468238/001/keep /tmp/TestUpdateDirs1524468238/001/add]" 266s time="2025-10-31T03:52:08Z" level=info msg="Watcher stopped" 266s time="2025-10-31T03:52:08Z" level=info msg="Bumping version for /tmp/TestUpdateDirs1524468238/001/remove/GPT.INI" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching /tmp/TestUpdateDirs1524468238/001/keep and children" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirs1524468238/001/keep" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirs1524468238/001/keep/GPT.INI" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirs1524468238/001/keep/alreadyexists" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirs1524468238/001/keep/alreadyexistsDir" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirs1524468238/001/keep/alreadyexistsDir/GPT.INI" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirs1524468238/001/keep/alreadyexistsDir/alreadyexists" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching /tmp/TestUpdateDirs1524468238/001/add and children" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching /tmp/TestUpdateDirsFailing1660998298/001/remove and children" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing1660998298/001/remove" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirs1524468238/001/add" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing1660998298/001/remove/GPT.INI" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirs1524468238/001/add/GPT.INI" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirs1524468238/001/add/alreadyexists" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirs1524468238/001/add/alreadyexistsDir" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing1660998298/001/remove/alreadyexists" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirs1524468238/001/add/alreadyexistsDir/GPT.INI" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing1660998298/001/remove/alreadyexistsDir" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirs1524468238/001/add/alreadyexistsDir/alreadyexists" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing1660998298/001/remove/alreadyexistsDir/GPT.INI" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing1660998298/001/remove/alreadyexistsDir/alreadyexists" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching /tmp/TestUpdateDirsFailing1660998298/001/keep and children" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing1660998298/001/keep" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing1660998298/001/keep/GPT.INI" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing1660998298/001/keep/alreadyexists" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing1660998298/001/keep/alreadyexistsDir" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing1660998298/001/keep/alreadyexistsDir/GPT.INI" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestUpdateDirsFailing1660998298/001/keep/alreadyexistsDir/alreadyexists" 266s time="2025-10-31T03:52:08Z" level=debug msg="Updating directories to [/tmp/TestUpdateDirsFailing1660998298/001/keep unexisting]" 266s time="2025-10-31T03:52:08Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsFailing1660998298/001/keep/alreadyexists\"" 266s time="2025-10-31T03:52:08Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsFailing1660998298/001/keep/alreadyexists\"" 266s time="2025-10-31T03:52:08Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsFailing1660998298/001/keep/alreadyexists\"" 266s time="2025-10-31T03:52:08Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsFailing1660998298/001/keep/alreadyexists\"" 266s time="2025-10-31T03:52:08Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsFailing1660998298/001/remove/alreadyexists\"" 266s time="2025-10-31T03:52:08Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsFailing1660998298/001/remove/alreadyexists\"" 266s time="2025-10-31T03:52:08Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsFailing1660998298/001/remove/alreadyexists\"" 266s time="2025-10-31T03:52:08Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirsFailing1660998298/001/remove/alreadyexists\"" 266s time="2025-10-31T03:52:08Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs1524468238/001/keep/alreadyexists\"" 266s time="2025-10-31T03:52:08Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs1524468238/001/keep/alreadyexists\"" 266s time="2025-10-31T03:52:08Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs1524468238/001/keep/alreadyexists\"" 266s time="2025-10-31T03:52:08Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs1524468238/001/keep/alreadyexists\"" 266s time="2025-10-31T03:52:08Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs1524468238/001/add/alreadyexists\"" 266s time="2025-10-31T03:52:08Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs1524468238/001/add/alreadyexists\"" 266s time="2025-10-31T03:52:08Z" level=info msg="Watcher stopped" 266s time="2025-10-31T03:52:08Z" level=info msg="Bumping version for /tmp/TestUpdateDirsFailing1660998298/001/keep/GPT.INI" 266s time="2025-10-31T03:52:08Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs1524468238/001/add/alreadyexists\"" 266s time="2025-10-31T03:52:08Z" level=info msg="Bumping version for /tmp/TestUpdateDirsFailing1660998298/001/remove/GPT.INI" 266s time="2025-10-31T03:52:08Z" level=debug msg="Got event: WRITE \"/tmp/TestUpdateDirs1524468238/001/add/alreadyexists\"" 266s time="2025-10-31T03:52:08Z" level=info msg="Watcher stopped" 266s time="2025-10-31T03:52:08Z" level=info msg="Bumping version for /tmp/TestUpdateDirs1524468238/001/keep/GPT.INI" 266s time="2025-10-31T03:52:08Z" level=info msg="Bumping version for /tmp/TestUpdateDirs1524468238/001/add/GPT.INI" 266s --- PASS: TestUpdateDirsFailing (0.22s) 266s === CONT TestRefreshGracePeriod 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching /tmp/TestRefreshGracePeriod3258937857/001/withsubdir and children" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestRefreshGracePeriod3258937857/001/withsubdir" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestRefreshGracePeriod3258937857/001/withsubdir/GPT.INI" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestRefreshGracePeriod3258937857/001/withsubdir/alreadyexists" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestRefreshGracePeriod3258937857/001/withsubdir/alreadyexistsDir" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestRefreshGracePeriod3258937857/001/withsubdir/alreadyexistsDir/GPT.INI" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestRefreshGracePeriod3258937857/001/withsubdir/alreadyexistsDir/alreadyexists" 266s time="2025-10-31T03:52:08Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod3258937857/001/withsubdir/alreadyexists\"" 266s time="2025-10-31T03:52:08Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod3258937857/001/withsubdir/alreadyexists\"" 266s time="2025-10-31T03:52:08Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod3258937857/001/withsubdir/alreadyexists\"" 266s time="2025-10-31T03:52:08Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod3258937857/001/withsubdir/alreadyexists\"" 266s --- PASS: TestUpdateDirs (0.67s) 266s === CONT TestWatchDirectory/Remove_file 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching /tmp/TestWatchDirectoryRemove_file2726648210/001/one_file and children" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRemove_file2726648210/001/one_file" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRemove_file2726648210/001/one_file/GPT.INI" 266s time="2025-10-31T03:52:08Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRemove_file2726648210/001/one_file/alreadyexists" 266s time="2025-10-31T03:52:08Z" level=debug msg="Got event: CHMOD \"/tmp/TestWatchDirectoryRemove_file2726648210/001/one_file/alreadyexists\"" 266s time="2025-10-31T03:52:08Z" level=debug msg="Got event: REMOVE \"/tmp/TestWatchDirectoryRemove_file2726648210/001/one_file/alreadyexists\"" 266s time="2025-10-31T03:52:08Z" level=debug msg="Failed to remove watcher on \"/tmp/TestWatchDirectoryRemove_file2726648210/001/one_file/alreadyexists\": fsnotify: can't remove non-existent watch: /tmp/TestWatchDirectoryRemove_file2726648210/001/one_file/alreadyexists" 266s time="2025-10-31T03:52:08Z" level=debug msg="Got event: REMOVE \"/tmp/TestWatchDirectoryRemove_file2726648210/001/one_file/alreadyexists\"" 266s time="2025-10-31T03:52:08Z" level=debug msg="Failed to remove watcher on \"/tmp/TestWatchDirectoryRemove_file2726648210/001/one_file/alreadyexists\": fsnotify: can't remove non-existent watch: /tmp/TestWatchDirectoryRemove_file2726648210/001/one_file/alreadyexists" 266s time="2025-10-31T03:52:09Z" level=info msg="Watcher stopped" 266s time="2025-10-31T03:52:09Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryRemove_file2726648210/001/one_file/GPT.INI" 266s === CONT TestWatchDirectory/Multiple_nested_subdirectories 266s time="2025-10-31T03:52:09Z" level=debug msg="Watching /tmp/TestWatchDirectoryMultiple_nested_subdirectories664849349/001/withsubdir and children" 266s time="2025-10-31T03:52:09Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories664849349/001/withsubdir" 266s time="2025-10-31T03:52:09Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories664849349/001/withsubdir/GPT.INI" 266s time="2025-10-31T03:52:09Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories664849349/001/withsubdir/alreadyexists" 266s time="2025-10-31T03:52:09Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories664849349/001/withsubdir/alreadyexistsDir" 266s time="2025-10-31T03:52:09Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories664849349/001/withsubdir/alreadyexistsDir/GPT.INI" 266s time="2025-10-31T03:52:09Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories664849349/001/withsubdir/alreadyexistsDir/alreadyexists" 266s time="2025-10-31T03:52:09Z" level=debug msg="Watching /tmp/TestWatchDirectoryMultiple_nested_subdirectories664849349/001/withsubdir/alreadyexistsDir and children" 266s time="2025-10-31T03:52:09Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories664849349/001/withsubdir/alreadyexistsDir" 266s time="2025-10-31T03:52:09Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories664849349/001/withsubdir/alreadyexistsDir/GPT.INI" 266s time="2025-10-31T03:52:09Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories664849349/001/withsubdir/alreadyexistsDir/alreadyexists" 266s time="2025-10-31T03:52:09Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryMultiple_nested_subdirectories664849349/001/withsubdir/new\"" 266s time="2025-10-31T03:52:09Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_nested_subdirectories664849349/001/withsubdir/new\"" 266s time="2025-10-31T03:52:09Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_nested_subdirectories664849349/001/withsubdir/alreadyexistsDir/alreadyexists\"" 266s time="2025-10-31T03:52:09Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_nested_subdirectories664849349/001/withsubdir/alreadyexistsDir/alreadyexists\"" 266s time="2025-10-31T03:52:09Z" level=info msg="Watcher stopped" 266s time="2025-10-31T03:52:09Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryMultiple_nested_subdirectories664849349/001/withsubdir/GPT.INI" 266s time="2025-10-31T03:52:09Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryMultiple_nested_subdirectories664849349/001/withsubdir/alreadyexistsDir/GPT.INI" 266s === CONT TestWatchDirectory/Nested_new_subdirs 266s time="2025-10-31T03:52:09Z" level=debug msg="Watching /tmp/TestWatchDirectoryNested_new_subdirs2443488938/001/withsubdir and children" 266s time="2025-10-31T03:52:09Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs2443488938/001/withsubdir" 266s time="2025-10-31T03:52:09Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs2443488938/001/withsubdir/GPT.INI" 266s time="2025-10-31T03:52:09Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs2443488938/001/withsubdir/alreadyexists" 266s time="2025-10-31T03:52:09Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs2443488938/001/withsubdir/alreadyexistsDir" 266s time="2025-10-31T03:52:09Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs2443488938/001/withsubdir/alreadyexistsDir/GPT.INI" 266s time="2025-10-31T03:52:09Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs2443488938/001/withsubdir/alreadyexistsDir/alreadyexists" 266s time="2025-10-31T03:52:09Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryNested_new_subdirs2443488938/001/withsubdir/otherdir\"" 266s time="2025-10-31T03:52:09Z" level=debug msg="Watching /tmp/TestWatchDirectoryNested_new_subdirs2443488938/001/withsubdir/otherdir and children" 266s time="2025-10-31T03:52:09Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs2443488938/001/withsubdir/otherdir" 266s time="2025-10-31T03:52:09Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs2443488938/001/withsubdir/otherdir/subdir" 266s time="2025-10-31T03:52:09Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNested_new_subdirs2443488938/001/withsubdir/otherdir/subdir/file" 266s time="2025-10-31T03:52:09Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod3258937857/001/withsubdir/alreadyexistsDir/alreadyexists\"" 266s time="2025-10-31T03:52:09Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod3258937857/001/withsubdir/alreadyexistsDir/alreadyexists\"" 266s time="2025-10-31T03:52:09Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod3258937857/001/withsubdir/alreadyexistsDir/alreadyexists\"" 266s time="2025-10-31T03:52:09Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod3258937857/001/withsubdir/alreadyexistsDir/alreadyexists\"" 266s time="2025-10-31T03:52:09Z" level=info msg="Watcher stopped" 266s time="2025-10-31T03:52:09Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryNested_new_subdirs2443488938/001/withsubdir/GPT.INI" 266s === CONT TestWatchDirectory/New_subdir 266s time="2025-10-31T03:52:09Z" level=debug msg="Watching /tmp/TestWatchDirectoryNew_subdir1875344446/001/withsubdir and children" 266s time="2025-10-31T03:52:09Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir1875344446/001/withsubdir" 266s time="2025-10-31T03:52:09Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir1875344446/001/withsubdir/GPT.INI" 266s time="2025-10-31T03:52:09Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir1875344446/001/withsubdir/alreadyexists" 266s time="2025-10-31T03:52:09Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir1875344446/001/withsubdir/alreadyexistsDir" 266s time="2025-10-31T03:52:09Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir1875344446/001/withsubdir/alreadyexistsDir/GPT.INI" 266s time="2025-10-31T03:52:09Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir1875344446/001/withsubdir/alreadyexistsDir/alreadyexists" 266s time="2025-10-31T03:52:09Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryNew_subdir1875344446/001/withsubdir/dir\"" 266s time="2025-10-31T03:52:09Z" level=debug msg="Watching /tmp/TestWatchDirectoryNew_subdir1875344446/001/withsubdir/dir and children" 266s time="2025-10-31T03:52:09Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir1875344446/001/withsubdir/dir" 266s time="2025-10-31T03:52:09Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir1875344446/001/withsubdir/dir/file" 266s time="2025-10-31T03:52:09Z" level=info msg="Watcher stopped" 266s time="2025-10-31T03:52:09Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryNew_subdir1875344446/001/withsubdir/GPT.INI" 266s === CONT TestWatchDirectory/Rename_file_and_update 266s time="2025-10-31T03:52:09Z" level=debug msg="Watching /tmp/TestWatchDirectoryRename_file_and_update3985177460/001/one_file and children" 266s time="2025-10-31T03:52:09Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRename_file_and_update3985177460/001/one_file" 266s time="2025-10-31T03:52:09Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRename_file_and_update3985177460/001/one_file/GPT.INI" 266s time="2025-10-31T03:52:09Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRename_file_and_update3985177460/001/one_file/alreadyexists" 266s time="2025-10-31T03:52:09Z" level=debug msg="Got event: RENAME \"/tmp/TestWatchDirectoryRename_file_and_update3985177460/001/one_file/alreadyexists\"" 266s time="2025-10-31T03:52:09Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryRename_file_and_update3985177460/001/one_file/alreadyexists.bak\"" 266s time="2025-10-31T03:52:09Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryRename_file_and_update3985177460/001/one_file/alreadyexists.bak\"" 266s time="2025-10-31T03:52:09Z" level=info msg="Watcher stopped" 266s time="2025-10-31T03:52:09Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryRename_file_and_update3985177460/001/one_file/GPT.INI" 266s === CONT TestWatchDirectory/Error_on_non_existing_directory 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching /tmp/TestWatchDirectoryError_on_non_existing_directory1114784033/001/doesnotexist and children" 266s === CONT TestWatchDirectory/New_subdir_without_file 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching /tmp/TestWatchDirectoryNew_subdir_without_file650449487/001/withsubdir and children" 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir_without_file650449487/001/withsubdir" 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir_without_file650449487/001/withsubdir/GPT.INI" 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir_without_file650449487/001/withsubdir/alreadyexists" 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir_without_file650449487/001/withsubdir/alreadyexistsDir" 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir_without_file650449487/001/withsubdir/alreadyexistsDir/GPT.INI" 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_subdir_without_file650449487/001/withsubdir/alreadyexistsDir/alreadyexists" 266s time="2025-10-31T03:52:10Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryNew_subdir_without_file650449487/001/withsubdir/newsubdir\"" 266s time="2025-10-31T03:52:10Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryNew_subdir_without_file650449487/001/withsubdir/newsubdir\"" 266s time="2025-10-31T03:52:10Z" level=info msg="Watcher stopped" 266s time="2025-10-31T03:52:10Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryNew_subdir_without_file650449487/001/withsubdir/GPT.INI" 266s === CONT TestWatchDirectory/Multiple_directories_with_different_versions,_all_updated 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,_all_updated3357560999/001/one_file and children" 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,_all_updated3357560999/001/one_file" 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,_all_updated3357560999/001/one_file/GPT.INI" 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,_all_updated3357560999/001/one_file/alreadyexists" 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,_all_updated3357560999/001/withsubdir and children" 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,_all_updated3357560999/001/withsubdir" 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,_all_updated3357560999/001/withsubdir/GPT.INI" 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,_all_updated3357560999/001/withsubdir/alreadyexists" 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,_all_updated3357560999/001/withsubdir/alreadyexistsDir" 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,_all_updated3357560999/001/withsubdir/alreadyexistsDir/GPT.INI" 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,_all_updated3357560999/001/withsubdir/alreadyexistsDir/alreadyexists" 266s time="2025-10-31T03:52:10Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_directories_with_different_versions,_all_updated3357560999/001/one_file/alreadyexists\"" 266s time="2025-10-31T03:52:10Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_directories_with_different_versions,_all_updated3357560999/001/one_file/alreadyexists\"" 266s time="2025-10-31T03:52:10Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_directories_with_different_versions,_all_updated3357560999/001/withsubdir/alreadyexists\"" 266s time="2025-10-31T03:52:10Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_directories_with_different_versions,_all_updated3357560999/001/withsubdir/alreadyexists\"" 266s time="2025-10-31T03:52:10Z" level=info msg="Watcher stopped" 266s time="2025-10-31T03:52:10Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,_all_updated3357560999/001/one_file/GPT.INI" 266s time="2025-10-31T03:52:10Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryMultiple_directories_with_different_versions,_all_updated3357560999/001/withsubdir/GPT.INI" 266s === CONT TestWatchDirectory/Multiple_directories,_only_one_is_updated 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated2232469666/001/one_file and children" 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated2232469666/001/one_file" 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated2232469666/001/one_file/GPT.INI" 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated2232469666/001/one_file/alreadyexists" 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated2232469666/001/withsubdir and children" 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated2232469666/001/withsubdir" 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated2232469666/001/withsubdir/GPT.INI" 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated2232469666/001/withsubdir/alreadyexists" 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated2232469666/001/withsubdir/alreadyexistsDir" 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated2232469666/001/withsubdir/alreadyexistsDir/GPT.INI" 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated2232469666/001/withsubdir/alreadyexistsDir/alreadyexists" 266s time="2025-10-31T03:52:10Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated2232469666/001/withsubdir/alreadyexists\"" 266s time="2025-10-31T03:52:10Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated2232469666/001/withsubdir/alreadyexists\"" 266s time="2025-10-31T03:52:10Z" level=info msg="Bumping version for /tmp/TestRefreshGracePeriod3258937857/001/withsubdir/GPT.INI" 266s time="2025-10-31T03:52:10Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod3258937857/001/withsubdir/GPT.INI\"" 266s time="2025-10-31T03:52:10Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod3258937857/001/withsubdir/GPT.INI\"" 266s time="2025-10-31T03:52:10Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod3258937857/001/withsubdir/GPT.INI\"" 266s time="2025-10-31T03:52:10Z" level=debug msg="Got event: WRITE \"/tmp/TestRefreshGracePeriod3258937857/001/withsubdir/GPT.INI\"" 266s time="2025-10-31T03:52:10Z" level=info msg="Watcher stopped" 266s time="2025-10-31T03:52:10Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryMultiple_directories,_only_one_is_updated2232469666/001/withsubdir/GPT.INI" 266s === CONT TestWatchDirectory/Multiple_nested_subdirectories,_only_update_nested_file 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_nested_file622581601/001/withsubdir/alreadyexistsDir and children" 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_nested_file622581601/001/withsubdir/alreadyexistsDir" 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_nested_file622581601/001/withsubdir/alreadyexistsDir/GPT.INI" 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_nested_file622581601/001/withsubdir/alreadyexistsDir/alreadyexists" 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_nested_file622581601/001/withsubdir and children" 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_nested_file622581601/001/withsubdir" 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_nested_file622581601/001/withsubdir/GPT.INI" 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_nested_file622581601/001/withsubdir/alreadyexists" 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_nested_file622581601/001/withsubdir/alreadyexistsDir" 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_nested_file622581601/001/withsubdir/alreadyexistsDir/GPT.INI" 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching: /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_nested_file622581601/001/withsubdir/alreadyexistsDir/alreadyexists" 266s time="2025-10-31T03:52:10Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_nested_file622581601/001/withsubdir/alreadyexistsDir/alreadyexists\"" 266s time="2025-10-31T03:52:10Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_nested_file622581601/001/withsubdir/alreadyexistsDir/alreadyexists\"" 266s time="2025-10-31T03:52:10Z" level=info msg="Watcher stopped" 266s time="2025-10-31T03:52:10Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryMultiple_nested_subdirectories,_only_update_nested_file622581601/001/withsubdir/alreadyexistsDir/GPT.INI" 266s time="2025-10-31T03:52:10Z" level=info msg="Watcher stopped" 266s --- PASS: TestRefreshGracePeriod (1.96s) 266s === CONT TestWatchDirectory/Remove_root_directory 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching /tmp/TestWatchDirectoryRemove_root_directory1180088389/001/one_file and children" 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRemove_root_directory1180088389/001/one_file" 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRemove_root_directory1180088389/001/one_file/GPT.INI" 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRemove_root_directory1180088389/001/one_file/alreadyexists" 266s time="2025-10-31T03:52:10Z" level=debug msg="Got event: CHMOD \"/tmp/TestWatchDirectoryRemove_root_directory1180088389/001/one_file/GPT.INI\"" 266s time="2025-10-31T03:52:10Z" level=debug msg="Got event: REMOVE \"/tmp/TestWatchDirectoryRemove_root_directory1180088389/001/one_file/GPT.INI\"" 266s time="2025-10-31T03:52:10Z" level=debug msg="Got event: REMOVE \"/tmp/TestWatchDirectoryRemove_root_directory1180088389/001/one_file/GPT.INI\"" 266s time="2025-10-31T03:52:10Z" level=debug msg="Got event: CHMOD \"/tmp/TestWatchDirectoryRemove_root_directory1180088389/001/one_file/alreadyexists\"" 266s time="2025-10-31T03:52:10Z" level=debug msg="Got event: REMOVE \"/tmp/TestWatchDirectoryRemove_root_directory1180088389/001/one_file/alreadyexists\"" 266s time="2025-10-31T03:52:10Z" level=debug msg="Failed to remove watcher on \"/tmp/TestWatchDirectoryRemove_root_directory1180088389/001/one_file/alreadyexists\": fsnotify: can't remove non-existent watch: /tmp/TestWatchDirectoryRemove_root_directory1180088389/001/one_file/alreadyexists" 266s time="2025-10-31T03:52:10Z" level=debug msg="Got event: REMOVE \"/tmp/TestWatchDirectoryRemove_root_directory1180088389/001/one_file/alreadyexists\"" 266s time="2025-10-31T03:52:10Z" level=debug msg="Failed to remove watcher on \"/tmp/TestWatchDirectoryRemove_root_directory1180088389/001/one_file/alreadyexists\": fsnotify: can't remove non-existent watch: /tmp/TestWatchDirectoryRemove_root_directory1180088389/001/one_file/alreadyexists" 266s time="2025-10-31T03:52:10Z" level=debug msg="Got event: REMOVE \"/tmp/TestWatchDirectoryRemove_root_directory1180088389/001/one_file\"" 266s time="2025-10-31T03:52:10Z" level=debug msg="Failed to remove watcher on \"/tmp/TestWatchDirectoryRemove_root_directory1180088389/001/one_file\": fsnotify: can't remove non-existent watch: /tmp/TestWatchDirectoryRemove_root_directory1180088389/001/one_file" 266s === CONT TestWatchDirectory/Error_on_updating_malformed_GPT.ini 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching /tmp/TestWatchDirectoryError_on_updating_malformed_GPT.ini3870174770/001/malformed and children" 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching: /tmp/TestWatchDirectoryError_on_updating_malformed_GPT.ini3870174770/001/malformed" 266s time="2025-10-31T03:52:10Z" level=debug msg="Watching: /tmp/TestWatchDirectoryError_on_updating_malformed_GPT.ini3870174770/001/malformed/GPT.INI" 266s time="2025-10-31T03:52:10Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryError_on_updating_malformed_GPT.ini3870174770/001/malformed/new\"" 266s time="2025-10-31T03:52:10Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryError_on_updating_malformed_GPT.ini3870174770/001/malformed/new\"" 266s time="2025-10-31T03:52:10Z" level=info msg="Watcher stopped" 266s time="2025-10-31T03:52:10Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryRemove_root_directory1180088389/001/one_file/GPT.INI" 266s time="2025-10-31T03:52:10Z" level=info msg="error loading ini contents: open /tmp/TestWatchDirectoryRemove_root_directory1180088389/001/one_file/GPT.INI: no such file or directory, creating a new file" 266s time="2025-10-31T03:52:10Z" level=warning msg="Failed to bump /tmp/TestWatchDirectoryRemove_root_directory1180088389/001/one_file/GPT.INI version: can't bump version for /tmp/TestWatchDirectoryRemove_root_directory1180088389/001/one_file/GPT.INI: open /tmp/TestWatchDirectoryRemove_root_directory1180088389/001/one_file/GPT.INI: no such file or directory" 266s time="2025-10-31T03:52:10Z" level=info msg="Watcher stopped" 266s time="2025-10-31T03:52:10Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryError_on_updating_malformed_GPT.ini3870174770/001/malformed/GPT.INI" 266s time="2025-10-31T03:52:10Z" level=warning msg="Failed to bump /tmp/TestWatchDirectoryError_on_updating_malformed_GPT.ini3870174770/001/malformed/GPT.INI version: can't bump version for /tmp/TestWatchDirectoryError_on_updating_malformed_GPT.ini3870174770/001/malformed/GPT.INI: strconv.ParseInt: parsing \"??\": invalid syntax" 266s === CONT TestWatchDirectory/Rename_file 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching /tmp/TestWatchDirectoryRename_file2313340951/001/one_file and children" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRename_file2313340951/001/one_file" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRename_file2313340951/001/one_file/GPT.INI" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryRename_file2313340951/001/one_file/alreadyexists" 266s time="2025-10-31T03:52:11Z" level=debug msg="Got event: RENAME \"/tmp/TestWatchDirectoryRename_file2313340951/001/one_file/alreadyexists\"" 266s time="2025-10-31T03:52:11Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryRename_file2313340951/001/one_file/alreadyexists.bak\"" 266s === CONT TestWatchDirectory/No_update,_existing_gpt.ini 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching /tmp/TestWatchDirectoryNo_update,_existing_gpt.ini3996245293/001/one_file and children" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNo_update,_existing_gpt.ini3996245293/001/one_file" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNo_update,_existing_gpt.ini3996245293/001/one_file/GPT.INI" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNo_update,_existing_gpt.ini3996245293/001/one_file/alreadyexists" 266s time="2025-10-31T03:52:11Z" level=info msg="Watcher stopped" 266s time="2025-10-31T03:52:11Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryRename_file2313340951/001/one_file/GPT.INI" 266s time="2025-10-31T03:52:11Z" level=info msg="Watcher stopped" 266s === CONT TestWatchDirectory/New_file,_no_gpt.ini 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching /tmp/TestWatchDirectoryNew_file,_no_gpt.ini544089292/001/no_gpt and children" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_file,_no_gpt.ini544089292/001/no_gpt" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_file,_no_gpt.ini544089292/001/no_gpt/testfile" 266s time="2025-10-31T03:52:11Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryNew_file,_no_gpt.ini544089292/001/no_gpt/new\"" 266s time="2025-10-31T03:52:11Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryNew_file,_no_gpt.ini544089292/001/no_gpt/new\"" 266s === CONT TestWatchDirectory/Error_on_listing_no_directory 266s === CONT TestWatchDirectory/Combined_case 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching /tmp/TestWatchDirectoryCombined_case3774944384/001/withsubdir and children" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case3774944384/001/withsubdir" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case3774944384/001/withsubdir/GPT.INI" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case3774944384/001/withsubdir/alreadyexists" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case3774944384/001/withsubdir/alreadyexistsDir" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case3774944384/001/withsubdir/alreadyexistsDir/GPT.INI" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case3774944384/001/withsubdir/alreadyexistsDir/alreadyexists" 266s time="2025-10-31T03:52:11Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryCombined_case3774944384/001/withsubdir/alreadyexists\"" 266s time="2025-10-31T03:52:11Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryCombined_case3774944384/001/withsubdir/alreadyexists\"" 266s time="2025-10-31T03:52:11Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryCombined_case3774944384/001/withsubdir/new\"" 266s time="2025-10-31T03:52:11Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryCombined_case3774944384/001/withsubdir/new\"" 266s time="2025-10-31T03:52:11Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryCombined_case3774944384/001/withsubdir/dir\"" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching /tmp/TestWatchDirectoryCombined_case3774944384/001/withsubdir/dir and children" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case3774944384/001/withsubdir/dir" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case3774944384/001/withsubdir/dir/file" 266s time="2025-10-31T03:52:11Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryCombined_case3774944384/001/withsubdir/alreadyexistsDir/alreadyexists\"" 266s time="2025-10-31T03:52:11Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryCombined_case3774944384/001/withsubdir/alreadyexistsDir/alreadyexists\"" 266s time="2025-10-31T03:52:11Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryCombined_case3774944384/001/withsubdir/alreadyexistsDir/new\"" 266s time="2025-10-31T03:52:11Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryCombined_case3774944384/001/withsubdir/alreadyexistsDir/new\"" 266s time="2025-10-31T03:52:11Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryCombined_case3774944384/001/withsubdir/otherdir\"" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching /tmp/TestWatchDirectoryCombined_case3774944384/001/withsubdir/otherdir and children" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case3774944384/001/withsubdir/otherdir" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case3774944384/001/withsubdir/otherdir/subdir" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryCombined_case3774944384/001/withsubdir/otherdir/subdir/file" 266s time="2025-10-31T03:52:11Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryCombined_case3774944384/001/withsubdir/newdir\"" 266s time="2025-10-31T03:52:11Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryCombined_case3774944384/001/withsubdir/newdir\"" 266s time="2025-10-31T03:52:11Z" level=info msg="Watcher stopped" 266s time="2025-10-31T03:52:11Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryNew_file,_no_gpt.ini544089292/001/no_gpt/GPT.INI" 266s time="2025-10-31T03:52:11Z" level=info msg="error loading ini contents: open /tmp/TestWatchDirectoryNew_file,_no_gpt.ini544089292/001/no_gpt/GPT.INI: no such file or directory, creating a new file" 266s time="2025-10-31T03:52:11Z" level=info msg="Watcher stopped" 266s time="2025-10-31T03:52:11Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryCombined_case3774944384/001/withsubdir/GPT.INI" 266s === CONT TestWatchDirectory/New_file,_subdir 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching /tmp/TestWatchDirectoryNew_file,_subdir2115139990/001/withsubdir and children" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_file,_subdir2115139990/001/withsubdir" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_file,_subdir2115139990/001/withsubdir/GPT.INI" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_file,_subdir2115139990/001/withsubdir/alreadyexists" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_file,_subdir2115139990/001/withsubdir/alreadyexistsDir" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_file,_subdir2115139990/001/withsubdir/alreadyexistsDir/GPT.INI" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNew_file,_subdir2115139990/001/withsubdir/alreadyexistsDir/alreadyexists" 266s time="2025-10-31T03:52:11Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryNew_file,_subdir2115139990/001/withsubdir/alreadyexistsDir/new\"" 266s time="2025-10-31T03:52:11Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryNew_file,_subdir2115139990/001/withsubdir/alreadyexistsDir/new\"" 266s === CONT TestWatchDirectory/Updating_gpt.ini_is_a_no-op 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching /tmp/TestWatchDirectoryUpdating_gpt.ini_is_a_no-op2374515468/001/one_file and children" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdating_gpt.ini_is_a_no-op2374515468/001/one_file" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdating_gpt.ini_is_a_no-op2374515468/001/one_file/GPT.INI" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdating_gpt.ini_is_a_no-op2374515468/001/one_file/alreadyexists" 266s time="2025-10-31T03:52:11Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryUpdating_gpt.ini_is_a_no-op2374515468/001/one_file/GPT.INI\"" 266s time="2025-10-31T03:52:11Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryUpdating_gpt.ini_is_a_no-op2374515468/001/one_file/GPT.INI\"" 266s time="2025-10-31T03:52:11Z" level=info msg="Watcher stopped" 266s time="2025-10-31T03:52:11Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryNew_file,_subdir2115139990/001/withsubdir/GPT.INI" 266s time="2025-10-31T03:52:11Z" level=info msg="Watcher stopped" 266s === CONT TestWatchDirectory/Update_existing_file 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching /tmp/TestWatchDirectoryUpdate_existing_file1104203483/001/one_file and children" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdate_existing_file1104203483/001/one_file" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdate_existing_file1104203483/001/one_file/GPT.INI" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdate_existing_file1104203483/001/one_file/alreadyexists" 266s time="2025-10-31T03:52:11Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryUpdate_existing_file1104203483/001/one_file/alreadyexists\"" 266s time="2025-10-31T03:52:11Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryUpdate_existing_file1104203483/001/one_file/alreadyexists\"" 266s === CONT TestWatchDirectory/Update_with_existing_gpt.ini 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching /tmp/TestWatchDirectoryUpdate_with_existing_gpt.ini1083152352/001/one_file and children" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdate_with_existing_gpt.ini1083152352/001/one_file" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdate_with_existing_gpt.ini1083152352/001/one_file/GPT.INI" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryUpdate_with_existing_gpt.ini1083152352/001/one_file/alreadyexists" 266s time="2025-10-31T03:52:11Z" level=debug msg="Got event: CREATE \"/tmp/TestWatchDirectoryUpdate_with_existing_gpt.ini1083152352/001/one_file/new\"" 266s time="2025-10-31T03:52:11Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryUpdate_with_existing_gpt.ini1083152352/001/one_file/new\"" 266s time="2025-10-31T03:52:11Z" level=info msg="Watcher stopped" 266s time="2025-10-31T03:52:11Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryUpdate_existing_file1104203483/001/one_file/GPT.INI" 266s time="2025-10-31T03:52:11Z" level=info msg="Watcher stopped" 266s time="2025-10-31T03:52:11Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryUpdate_with_existing_gpt.ini1083152352/001/one_file/GPT.INI" 266s === CONT TestWatchDirectory/No_update,_no_gpt.ini 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching /tmp/TestWatchDirectoryNo_update,_no_gpt.ini2259267500/001/no_gpt and children" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNo_update,_no_gpt.ini2259267500/001/no_gpt" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryNo_update,_no_gpt.ini2259267500/001/no_gpt/testfile" 266s === CONT TestWatchDirectory/Existing_file,_subdir 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching /tmp/TestWatchDirectoryExisting_file,_subdir711540123/001/withsubdir and children" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryExisting_file,_subdir711540123/001/withsubdir" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryExisting_file,_subdir711540123/001/withsubdir/GPT.INI" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryExisting_file,_subdir711540123/001/withsubdir/alreadyexists" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryExisting_file,_subdir711540123/001/withsubdir/alreadyexistsDir" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryExisting_file,_subdir711540123/001/withsubdir/alreadyexistsDir/GPT.INI" 266s time="2025-10-31T03:52:11Z" level=debug msg="Watching: /tmp/TestWatchDirectoryExisting_file,_subdir711540123/001/withsubdir/alreadyexistsDir/alreadyexists" 266s time="2025-10-31T03:52:11Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryExisting_file,_subdir711540123/001/withsubdir/alreadyexistsDir/alreadyexists\"" 266s time="2025-10-31T03:52:11Z" level=debug msg="Got event: WRITE \"/tmp/TestWatchDirectoryExisting_file,_subdir711540123/001/withsubdir/alreadyexistsDir/alreadyexists\"" 266s time="2025-10-31T03:52:11Z" level=info msg="Watcher stopped" 266s time="2025-10-31T03:52:12Z" level=info msg="Watcher stopped" 266s time="2025-10-31T03:52:12Z" level=info msg="Bumping version for /tmp/TestWatchDirectoryExisting_file,_subdir711540123/001/withsubdir/GPT.INI" 266s --- PASS: TestWatchDirectory (0.00s) 266s --- PASS: TestWatchDirectory/Remove_file (0.21s) 266s --- PASS: TestWatchDirectory/Multiple_nested_subdirectories (0.21s) 266s --- PASS: TestWatchDirectory/Nested_new_subdirs (0.22s) 266s --- PASS: TestWatchDirectory/New_subdir (0.21s) 266s --- PASS: TestWatchDirectory/Rename_file_and_update (0.21s) 266s --- PASS: TestWatchDirectory/Error_on_non_existing_directory (0.00s) 266s --- PASS: TestWatchDirectory/New_subdir_without_file (0.21s) 266s --- PASS: TestWatchDirectory/Multiple_directories_with_different_versions,_all_updated (0.21s) 266s --- PASS: TestWatchDirectory/Multiple_directories,_only_one_is_updated (0.21s) 266s --- PASS: TestWatchDirectory/Multiple_nested_subdirectories,_only_update_nested_file (0.21s) 266s --- PASS: TestWatchDirectory/Remove_root_directory (0.21s) 266s --- PASS: TestWatchDirectory/Error_on_updating_malformed_GPT.ini (0.21s) 266s --- PASS: TestWatchDirectory/Rename_file (0.21s) 266s --- PASS: TestWatchDirectory/No_update,_existing_gpt.ini (0.21s) 266s --- PASS: TestWatchDirectory/Error_on_listing_no_directory (0.00s) 266s --- PASS: TestWatchDirectory/New_file,_no_gpt.ini (0.21s) 266s --- PASS: TestWatchDirectory/Combined_case (0.21s) 266s --- PASS: TestWatchDirectory/New_file,_subdir (0.21s) 266s --- PASS: TestWatchDirectory/Updating_gpt.ini_is_a_no-op (0.21s) 266s --- PASS: TestWatchDirectory/Update_existing_file (0.21s) 266s --- PASS: TestWatchDirectory/Update_with_existing_gpt.ini (0.21s) 266s --- PASS: TestWatchDirectory/No_update,_no_gpt.ini (0.21s) 266s --- PASS: TestWatchDirectory/Existing_file,_subdir (0.21s) 266s PASS 266s ok github.com/ubuntu/adsys/internal/watcher 3.862s 266s autopkgtest [03:52:12]: test command1: -----------------------] 267s autopkgtest [03:52:13]: test command1: - - - - - - - - - - results - - - - - - - - - - 267s command1 PASS 268s autopkgtest [03:52:14]: test command2: preparing testbed 268s Reading package lists... 268s Building dependency tree... 268s Reading state information... 269s Starting pkgProblemResolver with broken count: 0 269s Starting 2 pkgProblemResolver with broken count: 0 269s Done 269s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 270s autopkgtest [03:52:16]: test command2: ./debian/tests/test sudo 270s autopkgtest [03:52:16]: test command2: [----------------------- 270s Running root tests... 443s === RUN TestRunFailsWhenServiceIsRunning 443s --- PASS: TestRunFailsWhenServiceIsRunning (6.07s) 443s === RUN TestRunWithForceWhenServiceIsRunning 443s time="2025-10-31T03:53:10Z" level=warning msg="another instance of the adwatchd service is already running" 443s --- PASS: TestRunWithForceWhenServiceIsRunning (6.19s) 443s === RUN TestRunWithNoDirs 443s === PAUSE TestRunWithNoDirs 443s === RUN TestRunReactsToConfigUpdates 443s time="2025-10-31T03:53:10Z" level=warning msg="Service binary path does not match executable path\nService binary path: /tmp/go-build1831774120/b397/watchdtui.test\nCurrent executable path: /tmp/go-build1831774120/b001/integration_tests.test" 443s time="2025-10-31T03:53:11Z" level=warning msg="failed to update directories: failed to change directories to watch: can't update directories to watch: need at least one directory to watch" 443s time="2025-10-31T03:53:11Z" level=info msg="/tmp/autopkgtest.i0eWQH/build.8f0/src/internal/watchdservice/watchdservice.go:127 (*WatchdService).UpdateDirs() Updating directories to watch" 443s time="2025-10-31T03:53:11Z" level=debug msg="/tmp/autopkgtest.i0eWQH/build.8f0/src/internal/watcher/watcher.go:170 (*Watcher).UpdateDirs() Updating directories to [non-existent-dir]" 443s time="2025-10-31T03:53:11Z" level=warning msg="/tmp/autopkgtest.i0eWQH/build.8f0/src/cmd/adwatchd/commands/main.go:125 New.func1.1() failed to update directories: failed to change directories to watch: can't update directories to watch: directory \"non-existent-dir\" does not exist" 443s time="2025-10-31T03:53:11Z" level=info msg="/tmp/autopkgtest.i0eWQH/build.8f0/src/internal/watcher/watcher.go:300 (*Watcher).watch() Watcher stopped" 443s --- PASS: TestRunReactsToConfigUpdates (0.41s) 443s === RUN TestServiceStateChange 443s === RUN TestServiceStateChange/start_and_stop 443s === RUN TestServiceStateChange/uninstall_and_stop 443s === RUN TestServiceStateChange/install 443s === RUN TestServiceStateChange/start_multiple_times 443s === RUN TestServiceStateChange/start_and_restart 443s === RUN TestServiceStateChange/start_and_uninstall 443s === RUN TestServiceStateChange/restart 443s === RUN TestServiceStateChange/uninstall 443s === RUN TestServiceStateChange/start 443s === RUN TestServiceStateChange/uninstall_and_start 443s === RUN TestServiceStateChange/uninstall_and_install 443s === RUN TestServiceStateChange/uninstall_and_restart 443s === RUN TestServiceStateChange/stop_multiple_times 443s === RUN TestServiceStateChange/uninstall_multiple_times 443s --- PASS: TestServiceStateChange (104.17s) 443s --- PASS: TestServiceStateChange/start_and_stop (7.08s) 443s --- PASS: TestServiceStateChange/uninstall_and_stop (7.10s) 443s --- PASS: TestServiceStateChange/install (7.02s) 443s --- PASS: TestServiceStateChange/start_multiple_times (7.00s) 443s --- PASS: TestServiceStateChange/start_and_restart (6.98s) 443s --- PASS: TestServiceStateChange/start_and_uninstall (7.01s) 443s --- PASS: TestServiceStateChange/restart (7.07s) 443s --- PASS: TestServiceStateChange/uninstall (7.03s) 443s --- PASS: TestServiceStateChange/start (7.10s) 443s --- PASS: TestServiceStateChange/uninstall_and_start (6.96s) 443s --- PASS: TestServiceStateChange/uninstall_and_install (12.85s) 443s --- PASS: TestServiceStateChange/uninstall_and_restart (7.01s) 443s --- PASS: TestServiceStateChange/stop_multiple_times (6.92s) 443s --- PASS: TestServiceStateChange/uninstall_multiple_times (7.03s) 443s === RUN TestServiceStartWithABadDir 443s adwatchd_service_test.go:94: 443s --- SKIP: TestServiceStartWithABadDir (0.00s) 443s === RUN TestInstall 443s --- PASS: TestInstall (5.91s) 443s === RUN TestCreateAndUpdateGPT 443s === PAUSE TestCreateAndUpdateGPT 443s === RUN TestServiceStatusContainsCorrectDirs 443s adwatchd_service_test.go:202: This test is Windows-only 443s --- SKIP: TestServiceStatusContainsCorrectDirs (0.00s) 443s === RUN TestServiceConfigFlagUsage 443s === RUN TestServiceConfigFlagUsage/uninstall 443s Usage: 443s adwatchd service uninstall [flags] 443s 443s Flags: 443s -h, --help help for uninstall 443s 443s Global Flags: 443s -v, --verbose count issue INFO (-v), DEBUG (-vv) or DEBUG with caller (-vvv) output 443s 443s === RUN TestServiceConfigFlagUsage/status 443s Usage: 443s adwatchd service status [flags] 443s 443s Flags: 443s -h, --help help for status 443s 443s Global Flags: 443s -v, --verbose count issue INFO (-v), DEBUG (-vv) or DEBUG with caller (-vvv) output 443s 443s === RUN TestServiceConfigFlagUsage/install 443s === RUN TestServiceConfigFlagUsage/start 443s Usage: 443s adwatchd service start [flags] 443s 443s Flags: 443s -h, --help help for start 443s 443s Global Flags: 443s -v, --verbose count issue INFO (-v), DEBUG (-vv) or DEBUG with caller (-vvv) output 443s 443s === RUN TestServiceConfigFlagUsage/restart 443s Usage: 443s adwatchd service restart [flags] 443s 443s Flags: 443s -h, --help help for restart 443s 443s Global Flags: 443s -v, --verbose count issue INFO (-v), DEBUG (-vv) or DEBUG with caller (-vvv) output 443s 443s --- PASS: TestServiceConfigFlagUsage (0.01s) 443s --- PASS: TestServiceConfigFlagUsage/uninstall (0.00s) 443s --- PASS: TestServiceConfigFlagUsage/status (0.00s) 443s --- PASS: TestServiceConfigFlagUsage/install (0.00s) 443s --- PASS: TestServiceConfigFlagUsage/start (0.00s) 443s --- PASS: TestServiceConfigFlagUsage/restart (0.00s) 443s === RUN TestServiceWithNoNameFails 443s --- PASS: TestServiceWithNoNameFails (0.00s) 443s === RUN TestNoArgumentsStartsTUI 443s --- PASS: TestNoArgumentsStartsTUI (0.10s) 443s === CONT TestRunWithNoDirs 443s === CONT TestCreateAndUpdateGPT 443s --- PASS: TestRunWithNoDirs (0.00s) 443s --- PASS: TestCreateAndUpdateGPT (7.79s) 443s PASS 443s ok github.com/ubuntu/adsys/cmd/adwatchd/integration_tests 130.651s 443s === RUN TestInteractiveInput 443s === RUN TestInteractiveInput/Submit_with_double_dot_directories_is_normalized 443s === RUN TestInteractiveInput/Existing_config_file_is_passed_in_and_is_empty_or_has_no_directories 443s === RUN TestInteractiveInput/Config_file_exists 443s === RUN TestInteractiveInput/Existing_config_file_is_passed_in_and_contains_directories_which_exist_on_the_system 443s === RUN TestInteractiveInput/Found_installed_service,_config_overridden 443s === RUN TestInteractiveInput/Submit_with_default_config 443s === RUN TestInteractiveInput/Submit_with_duplicate_directories 443s === RUN TestInteractiveInput/Submit_with_dot_directories_is_normalized 443s === RUN TestInteractiveInput/Initial_view 443s === RUN TestInteractiveInput/Existing_config_file_is_passed_in_and_contains_directories,_not_all_which_exist_on_the_system 443s === RUN TestInteractiveInput/No_directories,_focus_on_dir_input 443s === RUN TestInteractiveInput/Submit_with_fresh_config_in_nested_directory 443s === RUN TestInteractiveInput/Submit_with_directory_as_config_input 443s === RUN TestInteractiveInput/Other_navigation_tests 443s === RUN TestInteractiveInput/Config_file_is_absent_and_input_is_a_dir 443s === RUN TestInteractiveInput/Directory_exists 443s === RUN TestInteractiveInput/Directory_does_not_exist,_block_input 443s === RUN TestInteractiveInput/Multiple_existing_directories,_can_cycle_between_the_inputs 443s === RUN TestInteractiveInput/Config_file_is_absent_and_input_is_absolute 443s === RUN TestInteractiveInput/Config_file_is_absent_and_input_is_relative 443s === RUN TestInteractiveInput/Found_installed_service,_config_not_overridden 443s === RUN TestInteractiveInput/Dot_and_double_dot_directory_inputs_are_normalized 443s === RUN TestInteractiveInput/Directory_is_a_file,_block_input 443s === RUN TestInteractiveInput/Multiple_existing_directories,_can_delete_them 443s === RUN TestInteractiveInput/Submit_with_fresh_config_in_current_directory 443s --- PASS: TestInteractiveInput (0.03s) 443s --- PASS: TestInteractiveInput/Submit_with_double_dot_directories_is_normalized (0.00s) 443s --- PASS: TestInteractiveInput/Existing_config_file_is_passed_in_and_is_empty_or_has_no_directories (0.00s) 443s --- PASS: TestInteractiveInput/Config_file_exists (0.00s) 443s --- PASS: TestInteractiveInput/Existing_config_file_is_passed_in_and_contains_directories_which_exist_on_the_system (0.00s) 443s --- PASS: TestInteractiveInput/Found_installed_service,_config_overridden (0.00s) 443s --- PASS: TestInteractiveInput/Submit_with_default_config (0.00s) 443s --- PASS: TestInteractiveInput/Submit_with_duplicate_directories (0.00s) 443s --- PASS: TestInteractiveInput/Submit_with_dot_directories_is_normalized (0.00s) 443s --- PASS: TestInteractiveInput/Initial_view (0.00s) 443s --- PASS: TestInteractiveInput/Existing_config_file_is_passed_in_and_contains_directories,_not_all_which_exist_on_the_system (0.00s) 443s --- PASS: TestInteractiveInput/No_directories,_focus_on_dir_input (0.00s) 443s --- PASS: TestInteractiveInput/Submit_with_fresh_config_in_nested_directory (0.00s) 443s --- PASS: TestInteractiveInput/Submit_with_directory_as_config_input (0.00s) 443s --- PASS: TestInteractiveInput/Other_navigation_tests (0.00s) 443s --- PASS: TestInteractiveInput/Config_file_is_absent_and_input_is_a_dir (0.00s) 443s --- PASS: TestInteractiveInput/Directory_exists (0.00s) 443s --- PASS: TestInteractiveInput/Directory_does_not_exist,_block_input (0.00s) 443s --- PASS: TestInteractiveInput/Multiple_existing_directories,_can_cycle_between_the_inputs (0.00s) 443s --- PASS: TestInteractiveInput/Config_file_is_absent_and_input_is_absolute (0.00s) 443s --- PASS: TestInteractiveInput/Config_file_is_absent_and_input_is_relative (0.00s) 443s --- PASS: TestInteractiveInput/Found_installed_service,_config_not_overridden (0.00s) 443s --- PASS: TestInteractiveInput/Dot_and_double_dot_directory_inputs_are_normalized (0.00s) 443s --- PASS: TestInteractiveInput/Directory_is_a_file,_block_input (0.00s) 443s --- PASS: TestInteractiveInput/Multiple_existing_directories,_can_delete_them (0.00s) 443s --- PASS: TestInteractiveInput/Submit_with_fresh_config_in_current_directory (0.00s) 443s === RUN TestInteractiveInstall 443s time="2025-10-31T03:52:59Z" level=info msg="Installing watcher service" 443s time="2025-10-31T03:53:06Z" level=info msg="Uninstalling watcher service" 443s --- PASS: TestInteractiveInstall (7.03s) 443s === RUN TestInteractiveUpdate 443s === RUN TestInteractiveUpdate/Change_directories,_same_config_file 443s time="2025-10-31T03:53:06Z" level=info msg="Installing watcher service" 443s time="2025-10-31T03:53:14Z" level=info msg="Uninstalling watcher service" 443s === RUN TestInteractiveUpdate/Change_directories,_different_config_file 443s time="2025-10-31T03:53:14Z" level=info msg="Installing watcher service" 443s time="2025-10-31T03:53:21Z" level=info msg="Uninstalling watcher service" 443s time="2025-10-31T03:53:21Z" level=info msg="Installing watcher service" 443s time="2025-10-31T03:53:28Z" level=info msg="Uninstalling watcher service" 443s --- PASS: TestInteractiveUpdate (22.01s) 443s --- PASS: TestInteractiveUpdate/Change_directories,_same_config_file (7.97s) 443s --- PASS: TestInteractiveUpdate/Change_directories,_different_config_file (14.04s) 443s PASS 443s ok github.com/ubuntu/adsys/internal/watchdtui 29.081s 444s autopkgtest [03:55:10]: test command2: -----------------------] 444s autopkgtest [03:55:10]: test command2: - - - - - - - - - - results - - - - - - - - - - 444s command2 PASS 445s autopkgtest [03:55:11]: @@@@@@@@@@@@@@@@@@@@ summary 445s command1 PASS 445s command2 PASS