0s autopkgtest [04:52:48]: starting date and time: 2024-03-20 04:52:48+0000 0s autopkgtest [04:52:48]: git checkout: 4a1cd702 l/adt_testbed: don't blame the testbed for unsolvable build deps 0s autopkgtest [04:52:48]: host juju-7f2275-prod-proposed-migration-environment-3; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work._m6mcdqj/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --setup-commands /home/ubuntu/autopkgtest/setup-commands/setup-testbed --apt-pocket=proposed=src:util-linux,src:readline --apt-upgrade task --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 '--env=ADT_TEST_TRIGGERS=util-linux/2.39.3-9ubuntu2 readline/8.2-3.1' -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-3@lcy02-31.secgroup --name adt-noble-amd64-task-20240320-045248-juju-7f2275-prod-proposed-migration-environment-3 --image adt/ubuntu-noble-amd64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-3 --net-id=net_prod-proposed-migration -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 78s autopkgtest [04:54:06]: testbed dpkg architecture: amd64 78s autopkgtest [04:54:06]: testbed apt version: 2.7.12 78s autopkgtest [04:54:06]: @@@@@@@@@@@@@@@@@@@@ test bed setup 78s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] 78s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [3808 kB] 78s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [497 kB] 78s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [6540 B] 78s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [52.7 kB] 78s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main amd64 Packages [689 kB] 78s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main i386 Packages [443 kB] 78s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/main amd64 c-n-f Metadata [3508 B] 78s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted amd64 Packages [36.6 kB] 78s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/restricted i386 Packages [6700 B] 78s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/restricted amd64 c-n-f Metadata [116 B] 78s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/universe i386 Packages [1355 kB] 78s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/universe amd64 Packages [4301 kB] 78s Get:14 http://ftpmaster.internal/ubuntu noble-proposed/universe amd64 c-n-f Metadata [9396 B] 78s Get:15 http://ftpmaster.internal/ubuntu noble-proposed/multiverse i386 Packages [16.2 kB] 78s Get:16 http://ftpmaster.internal/ubuntu noble-proposed/multiverse amd64 Packages [67.2 kB] 78s Get:17 http://ftpmaster.internal/ubuntu noble-proposed/multiverse amd64 c-n-f Metadata [196 B] 81s Fetched 11.4 MB in 1s (8025 kB/s) 81s Reading package lists... 83s Reading package lists... 83s Building dependency tree... 83s Reading state information... 84s Calculating upgrade... 84s The following packages have been kept back: 84s fdisk 84s The following packages will be upgraded: 84s bsdextrautils bsdutils eject libblkid1 libfdisk1 libmount1 libsmartcols1 84s libuuid1 mount readline-common ubuntu-minimal ubuntu-standard util-linux 84s uuid-runtime 84s 14 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. 84s Need to get 2052 kB of archives. 84s After this operation, 0 B of additional disk space will be used. 84s Get:1 http://ftpmaster.internal/ubuntu noble-proposed/main amd64 bsdutils amd64 1:2.39.3-9ubuntu2 [94.9 kB] 84s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/main amd64 util-linux amd64 2.39.3-9ubuntu2 [1127 kB] 84s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/main amd64 mount amd64 2.39.3-9ubuntu2 [118 kB] 84s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/main amd64 libsmartcols1 amd64 2.39.3-9ubuntu2 [64.4 kB] 84s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/main amd64 libuuid1 amd64 2.39.3-9ubuntu2 [35.0 kB] 84s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main amd64 uuid-runtime amd64 2.39.3-9ubuntu2 [33.0 kB] 84s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main amd64 libblkid1 amd64 2.39.3-9ubuntu2 [122 kB] 84s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/main amd64 libmount1 amd64 2.39.3-9ubuntu2 [134 kB] 84s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/main amd64 eject amd64 2.39.3-9ubuntu2 [26.3 kB] 84s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/main amd64 libfdisk1 amd64 2.39.3-9ubuntu2 [146 kB] 84s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/main amd64 readline-common all 8.2-3.1 [56.4 kB] 84s Get:12 http://ftpmaster.internal/ubuntu noble/main amd64 ubuntu-minimal amd64 1.536build1 [10.7 kB] 84s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/main amd64 bsdextrautils amd64 2.39.3-9ubuntu2 [73.6 kB] 84s Get:14 http://ftpmaster.internal/ubuntu noble/main amd64 ubuntu-standard amd64 1.536build1 [10.7 kB] 84s Fetched 2052 kB in 0s (50.1 MB/s) 85s (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 ... 71803 files and directories currently installed.) 85s Preparing to unpack .../bsdutils_1%3a2.39.3-9ubuntu2_amd64.deb ... 85s Unpacking bsdutils (1:2.39.3-9ubuntu2) over (1:2.39.3-6ubuntu2) ... 85s Setting up bsdutils (1:2.39.3-9ubuntu2) ... 85s (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 ... 71803 files and directories currently installed.) 85s Preparing to unpack .../util-linux_2.39.3-9ubuntu2_amd64.deb ... 85s Unpacking util-linux (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 85s Setting up util-linux (2.39.3-9ubuntu2) ... 86s fstrim.service is a disabled or a static unit not running, not starting it. 86s (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 ... 71803 files and directories currently installed.) 86s Preparing to unpack .../mount_2.39.3-9ubuntu2_amd64.deb ... 86s Unpacking mount (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 86s Preparing to unpack .../libsmartcols1_2.39.3-9ubuntu2_amd64.deb ... 86s Unpacking libsmartcols1:amd64 (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 86s Setting up libsmartcols1:amd64 (2.39.3-9ubuntu2) ... 86s (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 ... 71803 files and directories currently installed.) 86s Preparing to unpack .../libuuid1_2.39.3-9ubuntu2_amd64.deb ... 86s Unpacking libuuid1:amd64 (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 86s Setting up libuuid1:amd64 (2.39.3-9ubuntu2) ... 86s (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 ... 71803 files and directories currently installed.) 86s Preparing to unpack .../uuid-runtime_2.39.3-9ubuntu2_amd64.deb ... 86s Unpacking uuid-runtime (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 86s Preparing to unpack .../libblkid1_2.39.3-9ubuntu2_amd64.deb ... 86s Unpacking libblkid1:amd64 (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 86s Setting up libblkid1:amd64 (2.39.3-9ubuntu2) ... 86s (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 ... 71803 files and directories currently installed.) 86s Preparing to unpack .../libmount1_2.39.3-9ubuntu2_amd64.deb ... 86s Unpacking libmount1:amd64 (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 86s Setting up libmount1:amd64 (2.39.3-9ubuntu2) ... 86s (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 ... 71803 files and directories currently installed.) 86s Preparing to unpack .../0-eject_2.39.3-9ubuntu2_amd64.deb ... 86s Unpacking eject (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 86s Preparing to unpack .../1-libfdisk1_2.39.3-9ubuntu2_amd64.deb ... 86s Unpacking libfdisk1:amd64 (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 86s Preparing to unpack .../2-readline-common_8.2-3.1_all.deb ... 86s Unpacking readline-common (8.2-3.1) over (8.2-3) ... 86s Preparing to unpack .../3-ubuntu-minimal_1.536build1_amd64.deb ... 86s Unpacking ubuntu-minimal (1.536build1) over (1.536) ... 86s Preparing to unpack .../4-bsdextrautils_2.39.3-9ubuntu2_amd64.deb ... 86s Unpacking bsdextrautils (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 86s Preparing to unpack .../5-ubuntu-standard_1.536build1_amd64.deb ... 86s Unpacking ubuntu-standard (1.536build1) over (1.536) ... 86s Setting up bsdextrautils (2.39.3-9ubuntu2) ... 86s Setting up ubuntu-standard (1.536build1) ... 86s Setting up eject (2.39.3-9ubuntu2) ... 86s Setting up libfdisk1:amd64 (2.39.3-9ubuntu2) ... 86s Setting up mount (2.39.3-9ubuntu2) ... 86s Setting up uuid-runtime (2.39.3-9ubuntu2) ... 87s uuidd.service is a disabled or a static unit not running, not starting it. 87s Setting up readline-common (8.2-3.1) ... 87s Setting up ubuntu-minimal (1.536build1) ... 87s Processing triggers for man-db (2.12.0-3) ... 88s Processing triggers for install-info (7.1-3) ... 88s Processing triggers for libc-bin (2.39-0ubuntu2) ... 89s Reading package lists... 89s Building dependency tree... 89s Reading state information... 89s 0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. 90s sh: Attempting to set up Debian/Ubuntu apt sources automatically 90s sh: Distribution appears to be Ubuntu 90s Reading package lists... 91s Building dependency tree... 91s Reading state information... 91s eatmydata is already the newest version (131-1). 91s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 91s Reading package lists... 91s Building dependency tree... 91s Reading state information... 91s dbus is already the newest version (1.14.10-4ubuntu1). 91s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 92s Reading package lists... 92s Building dependency tree... 92s Reading state information... 92s rng-tools-debian is already the newest version (2.4). 92s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 92s Reading package lists... 92s Building dependency tree... 92s Reading state information... 93s The following packages will be REMOVED: 93s cloud-init* python3-configobj* python3-debconf* 93s 0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. 93s After this operation, 3252 kB disk space will be freed. 93s (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 ... 71803 files and directories currently installed.) 93s Removing cloud-init (24.1.1-0ubuntu1) ... 93s Removing python3-configobj (5.0.8-3) ... 93s Removing python3-debconf (1.5.86) ... 94s Processing triggers for man-db (2.12.0-3) ... 94s (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 ... 71414 files and directories currently installed.) 94s Purging configuration files for cloud-init (24.1.1-0ubuntu1) ... 94s dpkg: warning: while removing cloud-init, directory '/etc/cloud/cloud.cfg.d' not empty so not removed 94s Processing triggers for rsyslog (8.2312.0-3ubuntu3) ... 94s invoke-rc.d: policy-rc.d denied execution of try-restart. 95s Reading package lists... 95s Building dependency tree... 95s Reading state information... 95s linux-generic is already the newest version (6.8.0-11.11+1). 95s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 95s Hit:1 http://ftpmaster.internal/ubuntu noble InRelease 96s Hit:2 http://ftpmaster.internal/ubuntu noble-updates InRelease 96s Hit:3 http://ftpmaster.internal/ubuntu noble-security InRelease 98s Reading package lists... 98s Reading package lists... 98s Building dependency tree... 98s Reading state information... 99s Calculating upgrade... 99s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 99s Reading package lists... 99s Building dependency tree... 99s Reading state information... 99s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 99s autopkgtest [04:54:27]: rebooting testbed after setup commands that affected boot 116s autopkgtest [04:54:44]: testbed running kernel: Linux 6.8.0-11-generic #11-Ubuntu SMP PREEMPT_DYNAMIC Wed Feb 14 00:29:05 UTC 2024 117s autopkgtest [04:54:45]: @@@@@@@@@@@@@@@@@@@@ apt-source task 118s Get:1 http://ftpmaster.internal/ubuntu noble/universe task 2.6.2+dfsg-1 (dsc) [2080 B] 118s Get:2 http://ftpmaster.internal/ubuntu noble/universe task 2.6.2+dfsg-1 (tar) [859 kB] 118s Get:3 http://ftpmaster.internal/ubuntu noble/universe task 2.6.2+dfsg-1 (diff) [23.9 kB] 118s gpgv: Signature made Fri Apr 1 18:59:22 2022 UTC 118s gpgv: using RSA key E8FC295C86B8D7C049F97BA7A35DAFFBAD29E8DE 118s gpgv: Can't check signature: No public key 118s dpkg-source: warning: cannot verify inline signature for ./task_2.6.2+dfsg-1.dsc: no acceptable signature found 118s autopkgtest [04:54:46]: testing package task version 2.6.2+dfsg-1 118s autopkgtest [04:54:46]: build not needed 118s autopkgtest [04:54:46]: test taskwarrior: preparing testbed 119s Reading package lists... 119s Building dependency tree... 119s Reading state information... 119s Starting pkgProblemResolver with broken count: 0 119s Starting 2 pkgProblemResolver with broken count: 0 119s Done 120s The following additional packages will be installed: 120s taskwarrior 120s The following NEW packages will be installed: 120s autopkgtest-satdep taskwarrior 120s 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. 120s Need to get 728 kB/729 kB of archives. 120s After this operation, 2256 kB of additional disk space will be used. 120s Get:1 /tmp/autopkgtest.xQ1Ue8/1-autopkgtest-satdep.deb autopkgtest-satdep amd64 0 [716 B] 120s Get:2 http://ftpmaster.internal/ubuntu noble/universe amd64 taskwarrior amd64 2.6.2+dfsg-1 [728 kB] 120s Fetched 728 kB in 0s (21.8 MB/s) 120s Selecting previously unselected package taskwarrior. 120s (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 ... 71359 files and directories currently installed.) 120s Preparing to unpack .../taskwarrior_2.6.2+dfsg-1_amd64.deb ... 120s Unpacking taskwarrior (2.6.2+dfsg-1) ... 120s Selecting previously unselected package autopkgtest-satdep. 120s Preparing to unpack .../1-autopkgtest-satdep.deb ... 120s Unpacking autopkgtest-satdep (0) ... 120s Setting up taskwarrior (2.6.2+dfsg-1) ... 120s Setting up autopkgtest-satdep (0) ... 120s Processing triggers for man-db (2.12.0-3) ... 123s (Reading database ... 71439 files and directories currently installed.) 123s Removing autopkgtest-satdep (0) ... 123s autopkgtest [04:54:51]: test taskwarrior: [----------------------- 128s # tw-1637.t 128s 1..1 128s ok 1 128s # tw-2392.t 128s 1..1 128s ok 1 128s # tw-1804.t 128s 1..1 128s ok 1 128s # tw-2550.t 128s 1..1 128s ok 1 128s # tw-2429.t 128s 1..1 128s ok 1 128s # burndown.t 128s 1..5 128s ok 1 - burndown.t: Ensure burndown.daily generates a chart 128s ok 2 - burndown.t: Ensure burndown.daily with color, generates a chart 128s ok 3 - burndown.t: Ensure burndown.daily in non-cumulative mode generates a chart 128s ok 4 - burndown.t: Ensure burndown.monthly generates a chart 128s ok 5 - burndown.t: Ensure burndown.weekly generates a chart 128s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/simpletap/__init__.py:251: SyntaxWarning: invalid escape sequence '\w' 128s message='Please use assert\w+ instead.') 128s # tw-2451.t 128s 1..1 128s ok 1 128s # tw-1688.t 128s 1..1 128s ok 1 128s # custom.tag_ind.t 128s 1..2 128s ok 1 - custom.tag_ind.t: Verify custom tag indicator (TAG) is shown 128s ok 2 - custom.tag_ind.t: Verify default tag indicator (+) is shown 128s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/custom.tag_ind.t:55: SyntaxWarning: invalid escape sequence '\s' 128s self.assertRegex(out, "1\s+\+") 128s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/custom.tag_ind.t:60: SyntaxWarning: invalid escape sequence '\s' 128s self.assertRegex(out, "1\s+TAG") 128s # tw-2189.t 128s 1..1 128s ok 1 128s # tw-2514.t 128s 1..1 128s ok 1 128s # tw-1715.t 128s 1..1 128s ok 1 128s # debug.t 128s 1..4 128s ok 1 - debug.t: Verify debug hooks mode generates interesting output 128s ok 2 - debug.t: Verify debug mode generates interesting output 128s ok 3 - debug.t: Verify debug parser + eval mode generates interesting output 128s ok 4 - debug.t: Verify debug parser mode generates interesting output 128s # tw-2530.t 128s 1..1 128s ok 1 128s # color.rules.t 128s 1..27 128s ok 1 - color.rules.t: Active color rule. 128s ok 2 - color.rules.t: Blocked color rule. 128s ok 3 - color.rules.t: Blocking color rule. 128s ok 4 - color.rules.t: Debug color. 128s ok 5 - color.rules.t: Error color. 128s ok 6 - color.rules.t: Footnote color. 128s ok 7 - color.rules.t: Header color. 128s ok 8 - color.rules.t: No color on control task. 128s ok 9 - color.rules.t: No color in pipe unless forced. 128s ok 10 - color.rules.t: Overdue color rule from an hour ago. 128s ok 11 - color.rules.t: Due someday color rule. 128s ok 12 - color.rules.t: Due tomorrow color rule. 128s ok 13 - color.rules.t: Overdue color rule. 128s ok 14 - color.rules.t: Keyword color rule. 128s ok 15 - color.rules.t: Priority H color rule. 128s ok 16 - color.rules.t: Priority L color rule. 128s ok 17 - color.rules.t: Priority M color rule. 128s ok 18 - color.rules.t: Project none color rule. 128s ok 19 - color.rules.t: Project x color rule. 128s ok 20 - color.rules.t: Recurring color rule. 128s ok 21 - color.rules.t: Tag none color rule. 128s ok 22 - color.rules.t: Tag x color rule. 128s ok 23 - color.rules.t: Tagged color rule. 128s ok 24 - color.rules.t: UDA color rule. 128s ok 25 - color.rules.t: UDA Value color rule. 128s ok 26 - color.rules.t: Tests whether colors merge 128s ok 27 - color.rules.t: No color merge behaviour with rule.color.merge=no 128s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/color.rules.t:130: SyntaxWarning: invalid escape sequence '\[' 128s self.assertRegex(out, '\x1b\[(38;5;4|34)m') 128s # datesort.t 128s 1..1 128s ok 1 - datesort.t: Verify dates sort properly with a report date format that hides date details 128s # unique.t 128s 1..4 128s ok 1 - unique.t: Verify that unique description values are correctly counted 128s ok 2 - unique.t: Verify that unique id values are correctly counted 128s ok 3 - unique.t: Verify that unique projects are correctly counted 128s ok 4 - unique.t: Verify that unique status values are correctly counted 128s # hooks.on-modify.t 128s 1..8 128s ok 1 - hooks.on-modify.t: on-modify-accept - a well-behaved, successful, on-modify hook. 128s ok 2 - hooks.on-modify.t: on-modify-misbehave2 - does not emit JSON. 128s ok 3 - hooks.on-modify.t: on-modify-misbehave3 - emits additional JSON. 128s ok 4 - hooks.on-modify.t: on-modify-misbehave4 - emits different task JSON. 128s ok 5 - hooks.on-modify.t: on-modify-misbehave5 - emits syntactically wrong JSON. 128s ok 6 - hooks.on-modify.t: on-modify-misbehave6 - emits incomplete JSON. 128s ok 7 - hooks.on-modify.t: on-modify-reject - a well-behaved, failing, on-modify hook. 128s ok 8 - hooks.on-modify.t: on-modify-revert - revert all user modifications. # skip 128s # SKIP: 128s # libfaketime/faketime is not installed 128s # bulk.t 133s 1..11 133s ok 1 - bulk.t: Verify 'all' accepts all bulk changes 133s ok 2 - bulk.t: Verify 'quit' averts all bulk changes 133s ok 3 - bulk.t: bulk delete 3 tasks with confirmation:0 always prompts 133s ok 4 - bulk.t: bulk delete 3 tasks with confirmation:on and input >y >y >y deletes them 133s ok 5 - bulk.t: not bulk delete 2 tasks with confirmation:0 deletes them 133s ok 6 - bulk.t: not bulk delete 2 tasks with confirmation:1 and input >y >y deletes them 133s ok 7 - bulk.t: not bulk delete 1 tasks with confirmation:0 deletes it 133s ok 8 - bulk.t: not bulk delete 1 task with confirmation:1 and input >y deletes it 133s ok 9 - bulk.t: bulk delete >all deletes everything 133s ok 10 - bulk.t: bulk delete >no deletes nothing 133s ok 11 - bulk.t: bulk delete >quit deletes nothing 133s # ids.t 133s 1..15 133s ok 1 - ids.t: Verify that numbers in 'add' are not considered IDs 133s ok 2 - ids.t: Verify that numbers are parsed as IDs 133s ok 3 - ids.t: Test that parsing double digit ID range works 133s ok 4 - ids.t: Test that parsing four digit ID range works 133s ok 5 - ids.t: Test that parsing single digit ID range works 133s ok 6 - ids.t: Test that parsing triple digit ID range works 133s ok 7 - ids.t: _ids +A 133s ok 8 - ids.t: _uuids +A 133s ok 9 - ids.t: _zshids +A 133s ok 10 - ids.t: _zshuuids +A 133s ok 11 - ids.t: ids +A 133s ok 12 - ids.t: ids +A -B 133s ok 13 - ids.t: ids +B 133s ok 14 - ids.t: Verify consecutive IDs are compressed into a range 133s ok 15 - ids.t: uuids +A 133s # tw-2257.t 133s 1..1 133s ok 1 133s # filter.t 133s 1..84 133s ok 1 - filter.t: 1424: Check that due:1824d works 133s ok 2 - filter.t: 1424: Check that due:3648d works 133s ok 3 - filter.t: 1452: Tries to filter task simply by its uuid, using uuid: prefix. 133s ok 4 - filter.t: 1452: Tries to filter task simply by its uuid, without using uuid: prefix. 133s ok 5 - filter.t: 1468: Attribute and implicit search filter (project:home /lawn/) 133s ok 6 - filter.t: 1468: Single attribute filter (project:home) 133s ok 7 - filter.t: 1634: Test that due: matches any task that date. 133s ok 8 - filter.t: 1634: Test that due.not: does not match any task that date. 133s ok 9 - filter.t: 2577: Check that filtering for datetime-like project names works 133s ok 10 - filter.t: Verify start.after:2008-12-01 yields '1' and '2' 133s ok 11 - filter.t: Verify start.after:2009-01-01 yields '2' 133s ok 12 - filter.t: Verify start.after:2009-05-01 yields nothing 133s ok 13 - filter.t: Verify start.before:2009-01-01 yields '1' 133s ok 14 - filter.t: Verify start.before:2009-05-01 yields '1' and '2' 133s ok 15 - filter.t: Verify start.before:2008-12-01 yields nothing 133s ok 16 - filter.t: Verify start dates properly recorded 133s ok 17 - filter.t: filter - status:Completed / status:completed - behave the same 133s ok 18 - filter.t: 1456: Verify that a multi-term quoted filter expression works 133s ok 19 - filter.t: 1521: Verify that 'project.not' works 133s ok 20 - filter.t: 1521: Verify that 'project !=' works 133s ok 21 - filter.t: filter - description contains [] 133s ok 22 - filter.t: filter - description contains + 133s ok 23 - filter.t: filter - description contains ? 133s ok 24 - filter.t: 1609: Test that urgency is filterable 133s ok 25 - filter.t: 1630: Verify that 'due.before:9d' is correctly interpreted 133s ok 26 - filter.t: 1630: Verify that 'due:7d' is correctly interpreted 133s ok 27 - filter.t: default report filter parenthesized 133s not ok 28 - filter.t: 1915: Make sure parser handles complex and-or queries correctly (8) # TODO 133s # EXPECTED_FAILURE: CommandError on file /usr/lib/python3.12/unittest/case.py line 58 in testPartExecutor: 'yield': 133s # Command '['task', 'rc.verbose:nothing', 'status:pending', 'and', '(project:A', 'or', 'project:B)', 'all']' finished with unexpected exit code '2'. 133s # 133s # *** Start STDOUT *** 133s # 133s # *** End STDOUT *** 133s # 133s # *** Start STDERR *** 133s # Mismatched parentheses in expression 133s # 133s # *** End STDERR *** 133s ok 29 - filter.t: 1915: Make sure parser handles complex and-or queries correctly (5) 133s not ok 30 - filter.t: 1915: Make sure parser handles complex and-or queries correctly (4) # TODO 133s # EXPECTED_FAILURE: CommandError on file /usr/lib/python3.12/unittest/case.py line 58 in testPartExecutor: 'yield': 133s # Command '['task', 'rc.verbose:nothing', 'status:pending and ( project:A or project:B )', 'all']' finished with unexpected exit code '1'. 133s # 133s # *** Start STDOUT *** 133s # 133s # *** End STDOUT *** 133s # 133s # *** Start STDERR *** 133s # 133s # *** End STDERR *** 133s ok 31 - filter.t: 1915: Make sure parser handles complex and-or queries correctly (1) 133s ok 32 - filter.t: 1915: Make sure parser handles complex and-or queries correctly (7) 133s ok 33 - filter.t: 1915: Make sure parser handles complex and-or queries correctly (6) 133s not ok 34 - filter.t: 1915: Make sure parser handles complex and-or queries correctly (3) # TODO 133s # EXPECTED_FAILURE: CommandError on file /usr/lib/python3.12/unittest/case.py line 58 in testPartExecutor: 'yield': 133s # Command '['task', 'rc.verbose:nothing', 'status:pending and (project:A or project:B)', 'all']' finished with unexpected exit code '1'. 133s # 133s # *** Start STDOUT *** 133s # 133s # *** End STDOUT *** 133s # 133s # *** Start STDERR *** 133s # 133s # *** End STDERR *** 133s ok 35 - filter.t: 1915: Make sure parser handles complex and-or queries correctly (2) 133s ok 36 - filter.t: filter '@' in tags breaks filters: -@strange 133s ok 37 - filter.t: filter '@' in tags breaks filters: -ordinary 133s ok 38 - filter.t: filter '@' in tags breaks filters: +@strange 133s ok 39 - filter.t: filter '@' in tags breaks filters: +ordinary 133s ok 40 - filter.t: filter '-t1 -t2' doesn't work when '@' characters are involved 133s ok 41 - filter.t: filter '-t1 -t2' doesn't work with '@' characters and punctuation 133s ok 42 - filter.t: filter '-t1 -t2' doesn't work 133s ok 43 - filter.t: filter 'recur:1month' doesn't list monthly tasks 133s ok 44 - filter.t: filter 'recur:monthly' doesn't list monthly tasks 133s ok 45 - filter.t: tags.none: filters tagless tasks 133s ok 46 - filter.t: Verify by-end-of-year includes task due *at* end-of-year 133s ok 47 - filter.t: Verify that by-tomorrow also includes tomorrow itself # skip 133s # SKIP: 133s # libfaketime/faketime is not installed 133s ok 48 - filter.t: Verify that by-yesterday does not include today 133s ok 49 - filter.t: Modify tasks with no filter, and disallowed confirmation. 133s ok 50 - filter.t: Modify tasks with no filter. 133s ok 51 - filter.t: filter - list 133s ok 52 - filter.t: filter - list /foo/ /bar/ 133s ok 53 - filter.t: filter - list -tag 133s ok 54 - filter.t: filter - list +tag 133s ok 55 - filter.t: filter - list +tag -tag 133s ok 56 - filter.t: filter - list -missing 133s ok 57 - filter.t: filter - list priority: 133s ok 58 - filter.t: filter - list priority:H 133s ok 59 - filter.t: filter - list project:A 133s ok 60 - filter.t: filter - list project:A priority: 133s ok 61 - filter.t: filter - list project:A priority:H 133s ok 62 - filter.t: filter - list project:A priority:H /foo/ 133s ok 63 - filter.t: filter - list project:A priority:H /foo/ +tag 133s ok 64 - filter.t: filter - list project:A priority:H /foo/ +tag /baz/ 133s ok 65 - filter.t: filter - list project:A priority:H +tag 133s ok 66 - filter.t: filter - list project:A /foo/ 133s ok 67 - filter.t: filter - list project:A +tag 133s ok 68 - filter.t: filter - list /foo/ 133s ok 69 - filter.t: filter - rc.regex:on list /f../ /b../ 133s ok 70 - filter.t: filter - rc.regex:on list project ~ '[A-Z]' 133s ok 71 - filter.t: filter - rc.regex:on list project~. 133s ok 72 - filter.t: filter - rc.regex:on list /fo{2}/ 133s ok 73 - filter.t: filter - rc.regex:on list /two|five/ 133s ok 74 - filter.t: filter - rc.regex:on list /^s/ 133s ok 75 - filter.t: filter - rc.regex:on list /^.i/ 133s ok 76 - filter.t: due tasks filtered correctly 133s ok 77 - filter.t: No filter shows all tasks. 133s ok 78 - filter.t: Filter on description pattern. 133s ok 79 - filter.t: Filter on project partial match. 133s ok 80 - filter.t: Filter on project name. 133s ok 81 - filter.t: Filter on not project name. 133s ok 82 - filter.t: Filter on project name start. 133s ok 83 - filter.t: Verify the 'has' and 'hasnt' attribute modifiers 133s ok 84 - filter.t: Verify tasks can be selected by dates ranges 135s # commands.t 135s 1..2 135s ok 1 - commands.t: Verify 'add', 'modify', 'list' dna 135s ok 2 - commands.t: Verify 'add', 'modify', 'list' dna 135s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/commands.t:45: SyntaxWarning: invalid escape sequence '\s' 135s self.assertRegex(out, "add\s+operation\s+RW\s+Ctxt\s+Mods\s+Adds a new task") 135s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/commands.t:46: SyntaxWarning: invalid escape sequence '\s' 135s self.assertRegex(out, "list\s+report\s+RO\s+ID\s+GC\s+Ctxt\s+Filt\s+Most details of") 135s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/commands.t:47: SyntaxWarning: invalid escape sequence '\s' 135s self.assertRegex(out, "modify\s+operation\s+RW\s+Filt\s+Mods\s+Modifies the") 135s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/commands.t:52: SyntaxWarning: invalid escape sequence '\s' 135s self.assertRegex(out, "add\s+operation\s+RW\s+Ctxt\s+Mods\s+Adds a new task") 135s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/commands.t:53: SyntaxWarning: invalid escape sequence '\s' 135s self.assertRegex(out, "list\s+report\s+RO\s+ID\s+GC\s+Ctxt\s+Filt\s+Most details of") 135s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/commands.t:54: SyntaxWarning: invalid escape sequence '\s' 135s self.assertRegex(out, "modify\s+operation\s+RW\s+Filt\s+Mods\s+Modifies the") 135s # uda_orphan.t 135s 1..4 135s ok 1 - uda_orphan.t: It should not be possible to create and orphan from the command line 135s ok 2 - uda_orphan.t: Verify that orphans are preserved during various operations 135s ok 3 - uda_orphan.t: Verify that orphans are identified by +ORPHAN tag and udas command 135s ok 4 - uda_orphan.t: Verify importing an orphan succeeds and is visible 135s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/uda_orphan.t:59: SyntaxWarning: invalid escape sequence '\[' 135s self.assertRegex(out, "\[extra\s+foo\]") 135s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/uda_orphan.t:64: SyntaxWarning: invalid escape sequence '\[' 135s self.assertRegex(out, "\[extra\s+foo\]") 135s # stats.t 135s 1..1 135s ok 1 - stats.t: Verify stats records task states 135s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/stats.t:51: SyntaxWarning: invalid escape sequence '\s' 135s self.assertRegex(out, "Pending\s+1\n") 135s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/stats.t:52: SyntaxWarning: invalid escape sequence '\s' 135s self.assertRegex(out, "Completed\s+1\n") 135s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/stats.t:53: SyntaxWarning: invalid escape sequence '\s' 135s self.assertRegex(out, "Deleted\s+1\n") 135s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/stats.t:54: SyntaxWarning: invalid escape sequence '\s' 135s self.assertRegex(out, "Total\s+3\n") 135s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/stats.t:57: SyntaxWarning: invalid escape sequence '\s' 135s self.assertRegex(out, "Pending\s+1\n") 135s # edit.t 135s 1..3 135s ok 1 - edit.t: task edit - exercise all attributes possible 135s ok 2 - edit.t: task edit - parsing entries containing multiline annotations 135s ok 3 - edit.t: task edit - parsing entries containing multiline descriptions 135s # oldest.t 135s 1..4 135s ok 1 - oldest.t: Test newest report + limit:10 135s ok 2 - oldest.t: Test newest report + limit:3 135s ok 3 - oldest.t: Test oldest report + limit:10 135s ok 4 - oldest.t: Test oldest report + limit:3 135s # annotate.t 135s 1..9 135s ok 1 - annotate.t: Testing annotations in reports 135s ok 2 - annotate.t: Testing annotations in reports using dateformat.annotation 135s ok 3 - annotate.t: Verify blank annotations are prevented 135s ok 4 - annotate.t: Verify filterless annotation is trapped, overridden 135s ok 5 - annotate.t: Verify filterless annotation is trapped, declined 135s ok 6 - annotate.t: Test that an error is produced when annotating no tasks 135s ok 7 - annotate.t: Test propagation of annotation to recurring siblings 135s ok 8 - annotate.t: double hyphen mishandled for annotations 135s ok 9 - annotate.t: Add an annotation as well as a due date 137s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/annotate.t:90: SyntaxWarning: invalid escape sequence '\d' 137s self.assertRegex(out, "one\n.+\d{1,2}/\d{1,2}/\d{4}\s+foo1", 137s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/annotate.t:92: SyntaxWarning: invalid escape sequence '\d' 137s self.assertRegex(out, "foo1\n.+\d{1,2}/\d{1,2}/\d{4}\s+foo2", 137s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/annotate.t:94: SyntaxWarning: invalid escape sequence '\d' 137s self.assertRegex(out, "foo2\n.+\d{1,2}/\d{1,2}/\d{4}\s+foo3", 137s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/annotate.t:96: SyntaxWarning: invalid escape sequence '\d' 137s self.assertRegex(out, "two\n.+\d{1,2}/\d{1,2}/\d{4}\s+bar1", 137s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/annotate.t:98: SyntaxWarning: invalid escape sequence '\d' 137s self.assertRegex(out, "bar1\n.+\d{1,2}/\d{1,2}/\d{4}\s+bar2", 137s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/annotate.t:100: SyntaxWarning: invalid escape sequence '\d' 137s self.assertRegex(out, "three\n.+\d{1,2}/\d{1,2}/\d{4}\s+baz1", 137s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/annotate.t:117: SyntaxWarning: invalid escape sequence '\d' 137s self.assertRegex(out, "one\n.+\d{1,6}\s+\d{1,6}\s+foo1", 137s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/annotate.t:119: SyntaxWarning: invalid escape sequence '\d' 137s self.assertRegex(out, "foo1\n.+\d{1,6}\s+\d{1,6}\s+foo2", 137s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/annotate.t:121: SyntaxWarning: invalid escape sequence '\d' 137s self.assertRegex(out, "foo2\n.+\d{1,6}\s+\d{1,6}\s+foo3", 137s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/annotate.t:123: SyntaxWarning: invalid escape sequence '\d' 137s self.assertRegex(out, "two\n.+\d{1,6}\s+\d{1,6}\s+bar1", 137s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/annotate.t:125: SyntaxWarning: invalid escape sequence '\d' 137s self.assertRegex(out, "bar1\n.+\d{1,6}\s+\d{1,6}\s+bar2", 137s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/annotate.t:127: SyntaxWarning: invalid escape sequence '\d' 137s self.assertRegex(out, "three\n.+\d{1,6}\s+\d{1,6}\s+baz1", 137s # diag_color.t 137s 1..4 137s ok 1 - diag_color.t: Task diag detects terminal as color compatible 137s ok 2 - diag_color.t: Task diag detects terminal as color compatible with test-builtin 137s ok 3 - diag_color.t: Task diag respects rc:_forcecolor=on and forces color 137s ok 4 - diag_color.t: Task diag respects rc:color=off and disables color 137s # tw-1895.t 137s 1..1 137s ok 1 137s # hooks.on-add.t 137s 1..8 137s ok 1 - hooks.on-add.t: on-add-accept - a well-behaved, successful, on-add hook. 137s ok 2 - hooks.on-add.t: on-add-misbehave1 - does not consume input. 137s ok 3 - hooks.on-add.t: on-add-misbehave2 - does not emit JSON. 137s ok 4 - hooks.on-add.t: on-add-misbehave3 - emits additional JSON. 137s ok 5 - hooks.on-add.t: on-add-misbehave4 - emits different task JSON. 137s ok 6 - hooks.on-add.t: on-add-misbehave5 - emits syntactically wrong JSON. 137s ok 7 - hooks.on-add.t: on-add-misbehave6 - emits incomplete JSON. 137s ok 8 - hooks.on-add.t: on-add-reject - a well-behaved, failing, on-add hook. 137s # args.t 137s 1..3 137s ok 1 - args.t: Test the -- argument 137s ok 2 - args.t: Test id before and after read command 137s ok 3 - args.t: Test id before write command 137s # prepend.t 137s 1..3 137s ok 1 - prepend.t: verify prepend command 137s ok 2 - prepend.t: verify prepend with no filter is an error 137s ok 3 - prepend.t: verify prepend of nothing is an error 137s # pri_sort.t 137s 1..8 137s ok 1 - pri_sort.t: Verify priority.over:H works 137s ok 2 - pri_sort.t: Verify priority.over:L works 137s ok 3 - pri_sort.t: Verify priority.over:M works 137s ok 4 - pri_sort.t: Verify priority.over: works 137s ok 5 - pri_sort.t: Verify priority.under:H works 137s ok 6 - pri_sort.t: Verify priority.under:L works 137s ok 7 - pri_sort.t: Verify priority.under:M works 137s ok 8 - pri_sort.t: Verify priority.under: works 137s # nag.t 138s 1..9 138s ok 1 - nag.t: Verify that nagging works when tasks are done in the 'wrong' order 138s ok 2 - nag.t: Bug 2163: Verify that nagging does not occur when completing the most urgent active task # skip 138s # SKIP: 138s # libfaketime/faketime is not installed 138s ok 3 - nag.t: Verify that only one nag message occurs when completing multiple tasks # skip 138s # SKIP: 138s # libfaketime/faketime is not installed 138s ok 4 - nag.t: Verify that nagging does not occur when a task has the nonag tag # skip 138s # SKIP: 138s # libfaketime/faketime is not installed 138s ok 5 - nag.t: Verify that nagging occurs even if some tasks in a bulk operation have a nonag tag # skip 138s # SKIP: 138s # libfaketime/faketime is not installed 138s ok 6 - nag.t: Verify that nagging does not occur when there are unREADY tasks of higher urgency 138s ok 7 - nag.t: Verify that nagging occurs when there are READY tasks of higher urgency 138s ok 8 - nag.t: Verify that nagging occurs when there are READY tasks of higher urgency while starting a task # skip 138s # SKIP: 138s # libfaketime/faketime is not installed 138s ok 9 - nag.t: Verify that nagging does not occur when there are no other tasks while starting a task 138s # denotate.t 138s 1..1 138s ok 1 - denotate.t: Test the various forms of denotation 138s # calendar.t 138s 1..35 138s ok 1 - calendar.t: Verify 'calendar 2015 donkey' does fail 138s ok 2 - calendar.t: Verify 'calendar 8 2015' does not fail 138s ok 3 - calendar.t: Verify 'calendar 8 2015 donkey' does fail 138s ok 4 - calendar.t: Verify 'calendar 8' does not fail 138s ok 5 - calendar.t: Verify 'calendar 8 donkey' does fail 138s ok 6 - calendar.t: Verify 'calendar 8 due 2015' does not fail 138s ok 7 - calendar.t: Verify 'calendar 8 due' does not fail 138s ok 8 - calendar.t: Verify 'calendar 8 due donkey' does fail 138s ok 9 - calendar.t: Verify 'calendar rc.weekstart:Monday' does not fail' 138s ok 10 - calendar.t: Verify 'calendar rc._forcecolor:on' does not fail 138s ok 11 - calendar.t: Verify 'calendar rc.calendar.details:full rc.calendar.details.report:list' does not fail 138s ok 12 - calendar.t: Verify 'calendar rc.calendar.details:full rc.calendar.details.report:list rc._forcecolor:on' does not fail 138s ok 13 - calendar.t: Verify 'calendar rc.calendar.holidays:full' does not fail 138s ok 14 - calendar.t: Verify 'calendar rc.holiday.test.name:donkeyday rc.holiday.test.start:[tomorrws date] rc.holiday.test.end:[date a month later] rc.calendar.holidays:full' does not fail 138s ok 15 - calendar.t: Verify 'calendar rc.calendar.offset:on rc.calendar.offset.value:1' does not fail 138s ok 16 - calendar.t: Verify 'calendar rc.holiday.test.name:donkeyday rc.holiday.test.date:[tomorrws date] rc.calendar.holidays:full' does not fail 138s ok 17 - calendar.t: Verify 'calendar donkey' does fail 138s ok 18 - calendar.t: Verify 'calendar due 2015 8' does not fail 138s ok 19 - calendar.t: Verify 'calendar due 2015' does not fail 138s ok 20 - calendar.t: Verify 'calendar due 2015 donkey' does fail 138s ok 21 - calendar.t: Verify 'calendar due' does not fail 138s ok 22 - calendar.t: Verify 'calendar due donkey' does fail 138s ok 23 - calendar.t: Verify 'calendar jan' does not fail 138s ok 24 - calendar.t: Verify 'calendar january' does not fail 138s ok 25 - calendar.t: Verify 'calendar y 2015' does not fail 138s ok 26 - calendar.t: Verify 'calendar y 2015 donkey' does fail 138s ok 27 - calendar.t: Verify 'calendary 8 2015' does not fail 138s ok 28 - calendar.t: Verify 'calendar y 8' does not fail 138s ok 29 - calendar.t: Verify 'calendar y 8 donkey' does fail 138s ok 30 - calendar.t: Verify 'calendar y 8 due' does not fail 138s ok 31 - calendar.t: Verify 'calendar y' does not fail 138s ok 32 - calendar.t: Verify 'calendar y donkey' does fail 138s ok 33 - calendar.t: Verify 'calendar y due 2015' does not fail 138s ok 34 - calendar.t: Verify 'calendar y due' does not fail 138s ok 35 - calendar.t: Verify 'calendar y due donkey' does fail 138s # confirmation.t 138s 1..2 138s ok 1 - confirmation.t: 1438: rc.confirmation=off still prompts while changing recurring tasks 138s ok 2 - confirmation.t: Verify confirmation works, and accepts appropriate responses 138s # configuration.t 143s 1..7 143s ok 1 - configuration.t: 1475: Verify that a config value is not borked by lex/eval 143s ok 2 - configuration.t: 1475: Verify that a config value is not borked by lex/eval - literal 143s ok 3 - configuration.t: verify that the '_config' command generates a full list 143s ok 4 - configuration.t: Verify error handling with no change 143s ok 5 - configuration.t: Verify error handling with no args 143s ok 6 - configuration.t: Verify that by default, the 'show' command has no complaints 143s ok 7 - configuration.t: Verify that the 'show' command detects obsolete configuration 143s # alias.t 143s 1..10 143s ok 1 - alias.t: 1445: Verify multi-word aliases 143s ok 2 - alias.t: 1445: Verify single-word aliases 143s ok 3 - alias.t: Test alias containing filter string with conjuction 143s ok 4 - alias.t: Test alias containing simple filter string 143s ok 5 - alias.t: Access a project via aliases 143s ok 6 - alias.t: Verify that aliases are listed by the _aliases command 143s ok 7 - alias.t: 1031: alias working as expected: 'from' -> 'to' 143s ok 8 - alias.t: 1031: alias working as expected: 'to -- from' -> 'to from' 143s ok 9 - alias.t: 1031: alias working as expected: 'from -- to' -> 'to to' 143s ok 10 - alias.t: 1652: Verify that 'delete' is not lexed further 143s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/alias.t:174: SyntaxWarning: invalid escape sequence '\s' 143s expected = "Description\s+to" 143s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/alias.t:182: SyntaxWarning: invalid escape sequence '\s' 143s expected = "Description\s+to to" 143s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/alias.t:190: SyntaxWarning: invalid escape sequence '\s' 143s expected = "Description\s+to from" 143s # logo.t 143s 1..2 143s ok 1 - logo.t: Check that there are colors. For coverage 143s ok 2 - logo.t: Check that it only works with color. For coverage 143s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/logo.t:46: SyntaxWarning: invalid escape sequence '\[' 143s self.assertRegex(out, ".\[48;5;\d+m .\[0m") 143s # enpassant.t 143s 1..5 143s ok 1 - enpassant.t: Test 'delete' with en-passant changes 143s ok 2 - enpassant.t: Test 'done' with en-passant changes 143s ok 3 - enpassant.t: Test 'start' with en-passant changes 143s ok 4 - enpassant.t: Test 'stop' with en-passant changes 143s ok 5 - enpassant.t: Test enpassant in multiple tasks and with multiple changes at once 143s # dependencies.t 143s 1..24 143s ok 1 - dependencies.t: 1481: Sets dependency on task which has been just completed. 143s ok 2 - dependencies.t: 1481: Sets dependency on task which has been completed 143s ok 3 - dependencies.t: 1481: Sets dependency on two most recent completed tasks. 143s ok 4 - dependencies.t: 1262: dep.contains matches task IDs # skip 143s # SKIP: 143s not ok 5 - dependencies.t: 1262: dep.contains matches characters in the tasks' UUIDs # TODO 143s # EXPECTED_FAILURE: CommandError on file /usr/lib/python3.12/unittest/case.py line 58 in testPartExecutor: 'yield': 143s # Command '['task', 'list', 'dep.contains:0']' finished with unexpected exit code '0'. 143s # 143s # *** Start STDOUT *** 143s # 143s # ID Age D Description Urg 143s # -- --- - --------------------- ---- 143s # 3 - D Make fruit salad! -5 143s # 143s # 1 task 143s # 143s # *** End STDOUT *** 143s # 143s # *** Start STDERR *** 143s # TASKRC override: /tmp/task_ztz42x_x/test.rc 143s # TASKDATA override: /tmp/task_ztz42x_x 143s # 143s # *** End STDERR *** 143s ok 6 - dependencies.t: 1262: dep.contains matches other characters not present in ID nor UUID 143s not ok 7 - dependencies.t: 697: Verify that making a blocking task into a recurring task breaks dependencies # TODO 143s # EXPECTED_FAILURE: CommandError on file /usr/lib/python3.12/unittest/case.py line 58 in testPartExecutor: 'yield': 143s # Command '['task', '_get', '1.tag.BLOCKED']' finished with unexpected exit code '2'. 143s # 143s # *** Start STDOUT *** 143s # 143s # *** End STDOUT *** 143s # 143s # *** Start STDERR *** 143s # '1.tag.BLOCKED' is not a DOM reference. 143s # 143s # *** End STDERR *** 143s ok 8 - dependencies.t: Add a dependency to a missing task 143s ok 9 - dependencies.t: Add a dependency on a missing task 143s ok 10 - dependencies.t: Check blocked/blocking status of two tasks 143s ok 11 - dependencies.t: Check that a broken chain is repaired 143s ok 12 - dependencies.t: Check a task cannot depend on itself 143s ok 13 - dependencies.t: Check circular dependencies are caught, using 2 tasks 143s ok 14 - dependencies.t: Check circular dependencies are caught, using 5 tasks 143s ok 15 - dependencies.t: Check acyclic graph support 143s ok 16 - dependencies.t: 2655: Check that one can bulk undepend a task 143s ok 17 - dependencies.t: Check that completing a task unblocks 143s ok 18 - dependencies.t: Check adding a dep twice is an error 143s ok 19 - dependencies.t: Check that an ID range can be used for deps 143s ok 20 - dependencies.t: Check that IDs and UUIDs are both usable for deps 143s ok 21 - dependencies.t: Check that short UUIDs are usable for deps 143s ok 22 - dependencies.t: Check circular dependencies are caught, using 5 tasks 143s ok 23 - dependencies.t: Remove a dependency that isn't there 143s ok 24 - dependencies.t: 725: Verify that when a task becomes unblocked, feedback is generated 143s # substitute.t 143s 1..5 143s ok 1 - substitute.t: 441: Substitution containing a colon 143s ok 2 - substitute.t: Verify substitution for task description 143s ok 3 - substitute.t: Verify substitution for task annotation 143s ok 4 - substitute.t: Verify substitution of a sequence with a shorter sequence. 143s ok 5 - substitute.t: Verify regex substitution for task description 143s # encoding.t 143s 1..2 143s ok 1 - encoding.t: Correct handling of UTF8 characters 143s not ok 2 - encoding.t: Text alignment in reports with wide utf8 characters 143s # FAIL: AssertionError on file /usr/lib/python3.12/unittest/case.py line 58 in testPartExecutor: 'yield': 143s # Regex didn't match: '\\S\\s{4}abc' not found in ' 143s # ID Project Description 143s # -- --------- ----------- 143s # 1 Bar\\u263a abc 143s # 2 Foo def 143s # 143s # 2 tasks 143s # ' 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/encoding.t:73: SyntaxWarning: invalid escape sequence '\S' 147s expected = re.compile("\S\s{4}abc", re.MULTILINE) 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/encoding.t:75: SyntaxWarning: invalid escape sequence '\S' 147s expected = re.compile("\S\s{5}def", re.MULTILINE) 147s # hyphenate.t 147s 1..3 147s ok 1 - hyphenate.t: Verify hyphenation is controllable 147s ok 2 - hyphenate.t: Verify hyphenation in the absence of white space 147s ok 3 - hyphenate.t: Split on space instead of hyphenating 147s # upgrade.t 147s 1..1 147s ok 1 - upgrade.t: Upgrade a task to recurring 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/upgrade.t:47: SyntaxWarning: invalid escape sequence '\s' 147s self.assertRegex(out, "Status\s+Pending") 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/upgrade.t:53: SyntaxWarning: invalid escape sequence '\s' 147s self.assertRegex(out, "Status\s+Recurring") 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/upgrade.t:54: SyntaxWarning: invalid escape sequence '\s' 147s self.assertRegex(out, "Recurrence\s+weekly") 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/upgrade.t:58: SyntaxWarning: invalid escape sequence '\s' 147s self.assertRegex(out, "Status\s+Pending") 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/upgrade.t:59: SyntaxWarning: invalid escape sequence '\s' 147s self.assertRegex(out, "Recurrence\s+weekly") 147s # unicode.t 147s 1..5 147s ok 1 - unicode.t: Verify that UTF8 can be directly entered 147s ok 2 - unicode.t: Verify U+NNNN unicode sequences 147s ok 3 - unicode.t: Verify \uNNNN unicode sequences 147s ok 4 - unicode.t: Verify that UTF8 can be used in a project name 147s ok 5 - unicode.t: Verify that UTF8 can be used in a tag 147s # feature.recurrence.t 147s 1..2 147s ok 1 - feature.recurrence.t: Removing due from a recurring task causes date wrapping 147s ok 2 - feature.recurrence.t: Ensure 'until' is rendered as date, not epoch 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/feature.recurrence.t:65: SyntaxWarning: invalid escape sequence '\s' 147s self.assertNotRegex(out, "Until\s+\d{10}") 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/feature.recurrence.t:66: SyntaxWarning: invalid escape sequence '\s' 147s self.assertRegex(out, "Until\s+\d+\/\d+\/\d{4}") 147s # list.all.projects.t 147s 1..2 147s ok 1 - list.all.projects.t: Verify that all tasks are shown with rc.list.all.project:yes 147s ok 2 - list.all.projects.t: Verify that only pending tasks are shown by default 147s # append.t 147s 1..3 147s ok 1 - append.t: Add a task and then append more description 147s ok 2 - append.t: Should cause an error when nothing is appended 147s ok 3 - append.t: Simultaneous substitution and append 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/append.t:53: SyntaxWarning: invalid escape sequence '\s' 147s expected = "Description\s+foo\sbar\n" 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/append.t:85: SyntaxWarning: invalid escape sequence '\w' 147s self.assertRegex(out1, "\w+ Appendtext") 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/append.t:88: SyntaxWarning: invalid escape sequence '\w' 147s self.assertRegex(out2, "\w+ Appendtext") 147s # obfuscate.t 147s 1..2 147s ok 1 - obfuscate.t: Verify that obfuscation hides all text in the 'info' command 147s ok 2 - obfuscate.t: Verify that obfuscation hides all text in a report 147s # recurrence.t 147s 1..28 147s ok 1 - recurrence.t: Append and propagate 147s ok 2 - recurrence.t: Prepend and propagate 147s ok 3 - recurrence.t: 360: Allow modifying due date in non recurring task 147s ok 4 - recurrence.t: 360: Cannot remove due date from recurring task 147s ok 5 - recurrence.t: 360: Cannot remove recurrence from recurring task 147s ok 6 - recurrence.t: 360: Modifying a recursive task by adding project: also modifies parent 147s ok 7 - recurrence.t: 649: Verify that recurring tasks cannot be immediately marked completed 147s ok 8 - recurrence.t: 839: Verify that importing a legacy recurrence value is ok 147s ok 9 - recurrence.t: 932: Verify due date modifications propagate 147s ok 10 - recurrence.t: 955: Deleting a child of a recurring task prompts for parent deletion (confirmation:off) 147s ok 11 - recurrence.t: Deleting a child of a recurring task prompts for parent deletion (confirmation:on) 147s ok 12 - recurrence.t: Bug 972: A recurrence period of "7" is interpreted as "7s", not "7d" 147s ok 13 - recurrence.t: Verify 'annual' recurring tasks don't creep 147s ok 14 - recurrence.t: C001: Verify that entering two consecutive recurring tasks increments reported ID 147s ok 15 - recurrence.t: Delete a child with sibling tasks 147s ok 16 - recurrence.t: Delete a parent with child tasks 147s ok 17 - recurrence.t: Look for an error when adding a recurring task with no due date 147s ok 18 - recurrence.t: Verify recurrence period special-case support 147s ok 19 - recurrence.t: Test that recurrent tasks are not being generated when recurrence is 147s ok 20 - recurrence.t: Verify that rc.recurrence.limit is obeyed 147s ok 21 - recurrence.t: Test notification on task creation 147s ok 22 - recurrence.t: Verify sorting by 'recur+' is correct 147s ok 23 - recurrence.t: Verify sorting by 'recur-' is correct 147s ok 24 - recurrence.t: Verify that changes (modify, delete) are propagated correctly 147s ok 25 - recurrence.t: Verify that an 'until' date terminates recurrence # skip 147s # SKIP: 147s # libfaketime/faketime is not installed 147s ok 26 - recurrence.t: Verify that 'recur:weekdays' skips weekends 147s ok 27 - recurrence.t: Attempt an upgrade, but omit the due date 147s ok 28 - recurrence.t: Upgrade task to recurring 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/recurrence.t:61: SyntaxWarning: invalid escape sequence '\s' 147s self.assertRegex(out, "4\s+P1D\s+one\s+6\s+P3D\s+three\s+5\s+P7D\s+two") 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/recurrence.t:66: SyntaxWarning: invalid escape sequence '\s' 147s self.assertRegex(out, "5\s+P7D\s+two\s+6\s+P3D\s+three\s+4\s+P1D\s+one") 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/recurrence.t:181: SyntaxWarning: invalid escape sequence '\s' 147s self.assertRegex(out, "1\s+simple") 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/recurrence.t:182: SyntaxWarning: invalid escape sequence '\s' 147s self.assertRegex(out, "3\s+complex") 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/recurrence.t:183: SyntaxWarning: invalid escape sequence '\s' 147s self.assertRegex(out, "4\s+complex") 147s # history.t 147s 1..4 147s ok 1 - history.t: Verify 'history.annual' correctly categorizes data 147s ok 2 - history.t: Verify 'history.daily' correctly categorizes data 147s ok 3 - history.t: Verify 'history.monthly' correctly categorizes data 147s ok 4 - history.t: Verify 'history.weekly' correctly categorizes data 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/history.t:58: SyntaxWarning: invalid escape sequence '\s' 147s self.assertRegex(out, "7\s+1\s+0\s+6") 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/history.t:59: SyntaxWarning: invalid escape sequence '\s' 147s self.assertRegex(out, "2\s+3\s+3\s+-4") 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/history.t:60: SyntaxWarning: invalid escape sequence '\s' 147s self.assertRegex(out, "4\s+2\s+1\s+1") 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/history.t:63: SyntaxWarning: invalid escape sequence '\s' 147s self.assertRegex(out, "\s7.+\s1.+") 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/history.t:64: SyntaxWarning: invalid escape sequence '\s' 147s self.assertRegex(out, "\s2.+\s3.+\s3.+") 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/history.t:67: SyntaxWarning: invalid escape sequence '\s' 147s self.assertRegex(out, "2015\s+January\s+2\s+\++X+\s") 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/history.t:68: SyntaxWarning: invalid escape sequence '\s' 147s self.assertRegex(out, "\s+February\s+2\s+\++X+\-+") 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/history.t:91: SyntaxWarning: invalid escape sequence '\s' 147s self.assertRegex(out, "7\s+1\s+0\s+6") 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/history.t:92: SyntaxWarning: invalid escape sequence '\s' 147s self.assertRegex(out, "2\s+3\s+3\s+-4") 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/history.t:93: SyntaxWarning: invalid escape sequence '\s' 147s self.assertRegex(out, "4\s+2\s+1\s+1") 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/history.t:96: SyntaxWarning: invalid escape sequence '\s' 147s self.assertRegex(out, "\s7.+\s1.+") 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/history.t:97: SyntaxWarning: invalid escape sequence '\s' 147s self.assertRegex(out, "\s2.+\s3.+\s3.+") 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/history.t:100: SyntaxWarning: invalid escape sequence '\s' 147s self.assertRegex(out, "2014\s+December\s+28\s+\++X+\s") 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/history.t:101: SyntaxWarning: invalid escape sequence '\s' 147s self.assertRegex(out, "2015\s+February\s+1\s+\++X+\-+") 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/history.t:125: SyntaxWarning: invalid escape sequence '\s' 147s self.assertRegex(out, "7\s+1\s+0\s+6") 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/history.t:126: SyntaxWarning: invalid escape sequence '\s' 147s self.assertRegex(out, "2\s+3\s+3\s+-4") 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/history.t:127: SyntaxWarning: invalid escape sequence '\s' 147s self.assertRegex(out, "4\s+2\s+1\s+1") 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/history.t:130: SyntaxWarning: invalid escape sequence '\s' 147s self.assertRegex(out, "\s7.+\s1.+") 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/history.t:131: SyntaxWarning: invalid escape sequence '\s' 147s self.assertRegex(out, "\s2.+\s3.+\s3.+") 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/history.t:134: SyntaxWarning: invalid escape sequence '\s' 147s self.assertRegex(out, "2015\s+January\s+\++X+\s") 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/history.t:135: SyntaxWarning: invalid escape sequence '\s' 147s self.assertRegex(out, "\s+February\s+\++X+\-+") 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/history.t:163: SyntaxWarning: invalid escape sequence '\s' 147s self.assertRegex(out, "7\s+1\s+0\s+6") 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/history.t:164: SyntaxWarning: invalid escape sequence '\s' 147s self.assertRegex(out, "2\s+3\s+3\s+-4") 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/history.t:165: SyntaxWarning: invalid escape sequence '\s' 147s self.assertRegex(out, "4\s+2\s+1\s+1") 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/history.t:168: SyntaxWarning: invalid escape sequence '\s' 147s self.assertRegex(out, "\s7.+\s1.+") 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/history.t:169: SyntaxWarning: invalid escape sequence '\s' 147s self.assertRegex(out, "\s2.+\s3.+\s3.+") 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/history.t:172: SyntaxWarning: invalid escape sequence '\s' 147s self.assertRegex(out, "2014\s+\++X+\s") 147s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/history.t:173: SyntaxWarning: invalid escape sequence '\s' 147s self.assertRegex(out, "2015\s+\++X+\-+") 150s # show.t 150s 1..6 150s ok 1 - show.t: Verify show command lists all with no arg provided 150s ok 2 - show.t: Verify show command errors on multiple args 150s ok 3 - show.t: Verify show command lists all with no arg provided 150s ok 4 - show.t: Verify show command lists all with no arg provided 150s ok 5 - show.t: Verify show command lists one result with an arg provided 150s ok 6 - show.t: Verify _show command lists all with no arg provided 150s # rc.override.t 150s 1..3 150s ok 1 - rc.override.t: Verify override is displayed in 'show' command 150s ok 2 - rc.override.t: rc.hyphenated after 150s ok 3 - rc.override.t: rc.hyphenated before 150s # tw-2386.t 150s 1..1 150s ok 1 150s # project.t 150s 1..29 150s ok 1 - project.t: 1267: Add a task without a project using direct rc change 150s ok 2 - project.t: 1267: Add a task without a project writing to rc file 150s ok 3 - project.t: 1430: Check that filtering works for project names with dots 150s ok 4 - project.t: 1430: Check that filtering works for project names with slashes 150s ok 5 - project.t: 1455: Test project:school) 150s ok 6 - project.t: 1511: Test project:one-two can be added and queried 150s ok 7 - project.t: 1617: Verify search for multi-word project 150s ok 8 - project.t: 1627: Verify that a value of 'mon' is not eval'd to 'monday' for a project 150s ok 9 - project.t: 1900: Project name can contain dashes 150s ok 10 - project.t: 1904: verify correct order under projects command 150s ok 11 - project.t: 299: check project exclusion using project.hasnt: 150s ok 12 - project.t: 299: check project exclusion using project.isnt: 150s ok 13 - project.t: 555: log with a project causes a segfault 150s ok 14 - project.t: 605: Project correctly reports % completion when empty or all tasks completed 150s ok 15 - project.t: 835: Verify filter on project hierarchy, plus parentheses 150s ok 16 - project.t: 856: Test project.none: works 150s ok 17 - project.t: 899: Verify task log behaves correctly when logging into a project 150s ok 18 - project.t: 906: Test project hierarchy filters 150s ok 19 - project.t: Verify _projects helper list projects 150s ok 20 - project.t: check project/subproject indentation in 'task projects' 150s ok 21 - project.t: check project/subproject indentation in 'task summary' 150s ok 22 - project.t: project status/progress is shown and is up-to-date 150s ok 23 - project.t: TW #2386: Filter for project:someday 150s ok 24 - project.t: 'task projects' shouldn't consider deleted tasks in summary. 150s ok 25 - project.t: Verify single character exact 150s ok 26 - project.t: Verify triple character exact 150s ok 27 - project.t: Verify quad character mismatch 150s ok 28 - project.t: Verify single character parent 150s ok 29 - project.t: Verify double character parent 150s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/project.t:42: SyntaxWarning: invalid escape sequence '\.' 150s self.STATUS = ("The project '{0}' has changed\. " 150s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/project.t:43: SyntaxWarning: invalid escape sequence '\(' 150s "Project '{0}' is {1} complete \({2} remaining\)\.") 150s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/project.t:55: SyntaxWarning: invalid escape sequence '\(' 150s expected = "1 project \(1 task\)" 150s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/project.t:418: SyntaxWarning: invalid escape sequence '\(' 150s self.assertRegex(err, " 0% complete \(1 task ") 150s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/project.t:421: SyntaxWarning: invalid escape sequence '\(' 150s self.assertRegex(err, " 0% complete \(2 of 2 ") 150s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/project.t:424: SyntaxWarning: invalid escape sequence '\(' 150s self.assertRegex(err, " 50% complete \(1 of 2 ") 150s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/project.t:427: SyntaxWarning: invalid escape sequence '\(' 150s self.assertRegex(err, " 66% complete \(1 of 3 ") 150s # tw-295.t 150s 1..1 150s ok 1 - tw-295.t: Test substitution containing slashes 150s # helpers.t 152s 1..9 152s ok 1 - helpers.t: samplealias in _aliases 152s ok 2 - helpers.t: samplealias not in _commands 152s ok 3 - helpers.t: samplealias not in _zshcommands 152s ok 4 - helpers.t: 956: Verify 'ids' does not print a header 152s ok 5 - helpers.t: 956: Verify '_ids' does not print a header 152s ok 6 - helpers.t: 956: Verify 'uuids' does not print a header 152s ok 7 - helpers.t: 956: Verify '_uuids' does not print a header 152s ok 8 - helpers.t: Ensure the _zshattributes command returns the expected format 152s ok 9 - helpers.t: test _zshcommands categories 152s # date.iso.t 152s 1..2 152s ok 1 - date.iso.t: Verify adding epoch dates works regardless of rc.dateformat 152s ok 2 - date.iso.t: Verify adding ISO dates works regardless of rc.dateformat 152s # abbreviation.t 152s 1..7 152s ok 1 - abbreviation.t: Test project attribute abbrevations 152s ok 2 - abbreviation.t: Test version command abbrevations 152s ok 3 - abbreviation.t: Test uda attribute abbrevations 152s ok 4 - abbreviation.t: 1006: Check that é in entrée remains untouched 152s ok 5 - abbreviation.t: 1006: Check that the completion works when needed 152s ok 6 - abbreviation.t: 1006: Check that the completion is inactive in task descriptions 152s ok 7 - abbreviation.t: 1687: The named date 'som' should take precedence over 'someday', for an exact match 152s # feature.default.project.t 152s 1..11 152s ok 1 - feature.default.project.t: default.project is not applied to projectless tasks during sync # skip 152s # SKIP: 152s # Taskd binary not available at 'taskd' 152s ok 2 - feature.default.project.t: default.project is not applied when annotating a task 152s ok 3 - feature.default.project.t: no project applied when default.project is overridden 152s ok 4 - feature.default.project.t: default.project is not applied when modifying a task 152s ok 5 - feature.default.project.t: no project is applied on recurring tasks # skip 152s # SKIP: 152s # libfaketime/faketime is not installed 152s ok 6 - feature.default.project.t: default.project is applied on recurring parent tasks # skip 152s # SKIP: 152s # libfaketime/faketime is not installed 152s ok 7 - feature.default.project.t: default.project is not applied to children if parent has a project # skip 152s # SKIP: 152s # libfaketime/faketime is not installed 152s ok 8 - feature.default.project.t: default.project is not applied when start/stop'ing a task 152s ok 9 - feature.default.project.t: default.project not applied when specified nor on attribute removal 152s ok 10 - feature.default.project.t: no project applied when default.project is blank 152s ok 11 - feature.default.project.t: default.project applied when no project is specified 152s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/feature.default.project.t:58: SyntaxWarning: invalid escape sequence '\s' 152s expected = "Project\s+garden" 152s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/feature.default.project.t:67: SyntaxWarning: invalid escape sequence '\s' 152s notexpected = "Project\s+" + self.default_project 152s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/feature.default.project.t:79: SyntaxWarning: invalid escape sequence '\s' 152s expected = "Project\s+" + self.default_project 152s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/feature.default.project.t:127: SyntaxWarning: invalid escape sequence '\s' 152s expected = "Description\s+foobar\n[0-9-: ]+ Hello" 152s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/feature.default.project.t:161: SyntaxWarning: invalid escape sequence '\s' 152s self.assertRegex(out, "Status\s+Recurring") # is a parent task 152s # custom.t 152s 1..5 152s ok 1 - custom.t: test_size_mismatch (TestCustomErrorHandling) 152s ok 2 - custom.t: Verify that color.alternate is used 152s ok 3 - custom.t: Verify custome report filtr is applied 152s ok 4 - custom.t: Verify that custom labels are used in reports 152s ok 5 - custom.t: Verify custom report description is shown in help 152s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/custom.t:51: SyntaxWarning: invalid escape sequence '\s' 152s self.assertRegex(out, "task foo\s+DESC\n") 152s # hooks.on-exit.t 155s 1..4 155s ok 1 - hooks.on-exit.t: on-exit-bad - a well-behaved, failing, on-exit hook. 155s ok 2 - hooks.on-exit.t: on-exit-good - a well-behaved, successful, on-exit hook. 155s ok 3 - hooks.on-exit.t: on-exit-misbehave1 - Does not consume input. 155s ok 4 - hooks.on-exit.t: on-exit-misbehave2 - Emits unexpected JSON. 155s # purge.t 155s 1..5 155s ok 1 - purge.t: Verify that add/delete/purge successfully purges a task 155s ok 2 - purge.t: Purge command removes dependencies on indirectly purged tasks 155s ok 3 - purge.t: Purge aborts if user does not agree with it affecting child tasks 155s ok 4 - purge.t: Purge aborts if task has pending children 155s ok 5 - purge.t: Purge command removes broken dependency references 155s # blocked.t 155s 1..1 155s ok 1 - blocked.t: Blocking report displays tasks that are blocking other tasks 155s # format.t 155s 1..9 155s ok 1 - format.t: 101: Check long description with no annotations 155s ok 2 - format.t: 101: Check long description with annotations 155s ok 3 - format.t: 101: Check long description with double digit amount of annotations 155s ok 4 - format.t: 101: Check short description with no annotations 155s ok 5 - format.t: 101: Check short description with annotations 155s ok 6 - format.t: Verify countdown sorting: descending 155s ok 7 - format.t: Verify countdown sorting: ascending 155s ok 8 - format.t: test_depends_count (TestFormatDepends) 155s ok 9 - format.t: test_depends_default (TestFormatDepends) 155s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/format.t:121: SyntaxWarning: invalid escape sequence '\s' 155s self.assertRegex(out, "one\s+1") 155s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/format.t:126: SyntaxWarning: invalid escape sequence '\s' 155s self.assertRegex(out, "one\s+\[1\]") 155s # tw-2563.t 155s 1..1 155s ok 1 155s # import.t 155s 1..23 155s ok 1 - import.t: 1441: import fails if file doesn't exist 155s ok 2 - import.t: Multiple imports persist data 155s ok 3 - import.t: Import JSON with arbitrary formatting 155s ok 4 - import.t: Import from a file 155s ok 5 - import.t: One dependency is a single array element 155s ok 6 - import.t: Several dependencies are an array 155s ok 7 - import.t: JSON array with newlines after each value 155s ok 8 - import.t: JSON array with whitespace before and after names and values 155s ok 9 - import.t: JSON array without newlines 155s ok 10 - import.t: Several dependencies used to be a comma seperated string 155s ok 11 - import.t: Python's default JSON formatting 155s ok 12 - import.t: Test import same task twice # skip 155s # SKIP: 155s # libfaketime/faketime is not installed 155s ok 13 - import.t: Import from stdin 155s ok 14 - import.t: Import from stdin is default 155s ok 15 - import.t: Update existing tasks 155s ok 16 - import.t: Test importing exported data 155s ok 17 - import.t: Verify empty JSON is caught 155s ok 18 - import.t: Verify invalid status is caught 155s ok 19 - import.t: Verify invalid UUID is caught 155s ok 20 - import.t: Verify invalid UUID is caught, part two 155s ok 21 - import.t: Verify invalid 'annnotations' is caught 155s ok 22 - import.t: test_import_with_iso_disabled (TestImportWithoutISO) 155s ok 23 - import.t: test_import_with_iso_enabled (TestImportWithoutISO) 155s # feedback.t 155s 1..4 155s ok 1 - feedback.t: Verify that debug messages are sent to standard error 155s ok 2 - feedback.t: Verify that errors are sent to standard error 155s ok 3 - feedback.t: Verify that footnotes are sent to standard error 155s ok 4 - feedback.t: Verify that headers are sent to standard error 155s # search.t 158s 1..24 158s ok 1 - search.t: 1418: Can add a task with trailing minus (-) using description:"" 158s ok 2 - search.t: 1418: Can add a task with trailing plus (+) using description:"" 158s ok 3 - search.t: 1418: Can add a task with trailing slash (/) using description:"" 158s ok 4 - search.t: 1418: Check that you can search with a minus (-) 158s ok 5 - search.t: 1418: Check that you can search with a plus (+) 158s ok 6 - search.t: 1418: Check that you can search with a slash (/) 158s ok 7 - search.t: 1418: Can add and search a task with (+) in description 158s ok 8 - search.t: 1469: Explicit search, case insensitive, no regex 158s ok 9 - search.t: 1469: Explicit search, case insensitive, regex 158s ok 10 - search.t: 1469: Explicit search, case sensitive, no regex 158s ok 11 - search.t: 1469: Explicit search, case sensitive, regex 158s ok 12 - search.t: 1469: Implicit search, case insensitive, no regex 158s ok 13 - search.t: 1469: Implicit search, case insensitive, regex 158s ok 14 - search.t: 1469: Implicit search, case sensitive, no regex 158s ok 15 - search.t: 1469: Implicit search, case sensitive, regex 158s ok 16 - search.t: 1472: Verify .endswith works without regexes 158s ok 17 - search.t: 1472: Verify .endswith works with regexes 158s ok 18 - search.t: 1472: Verify .startswith works without regexes 158s ok 19 - search.t: 1472: Verify .startswith works with regexes 158s ok 20 - search.t: 1479: Verify that a description of 'one two' is searchable 158s ok 21 - search.t: 1479: Alternative syntax 158s ok 22 - search.t: Verify plain args are interpreted as search terms 158s ok 23 - search.t: Verify plain args are interpreted as search terms, after the command 158s ok 24 - search.t: Verify that search works in annotations 158s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/search.t:266: SyntaxWarning: invalid escape sequence '\ ' 158s code, out, err = self.t("description:one\ two list") 158s # summary.t 158s 1..3 158s ok 1 - summary.t: 1904: verify correct order under summary command 158s ok 2 - summary.t: Verify percentages on the summary report 158s ok 3 - summary.t: Verify no tasks yields no report 158s # partial.t 158s 1..2 158s ok 1 - partial.t: Exact match for dates: today == now --> false 158s ok 2 - partial.t: Partial match for dates: today = now --> true 158s # uda.t 158s 1..21 158s ok 1 - uda.t: 1447: Verify ability to filter on empty UDA that resembles named date 158s ok 2 - uda.t: 1542: Make sure the numeric UDA value 1187962 does not get converted to 158s ok 3 - uda.t: 1542: Make sure the numeric UDA value 43.21 does not get converted to 158s ok 4 - uda.t: 1063: numeric UDA fields are sortable 158s ok 5 - uda.t: 1622: Verify that a UDA of type 'duration' accepts an expression 158s ok 6 - uda.t: 21: do not match a UDA if not followed by colon 158s ok 7 - uda.t: The 'udas' command should list 'priority' and 'extra' 158s ok 8 - uda.t: The '_udas' helper command should list 'priority' and 'extra' 158s ok 9 - uda.t: The 'udas' command should list 'orphans' 158s ok 10 - uda.t: Add tasks with an invalid UDA date 158s ok 11 - uda.t: Add tasks with and without a UDA date 158s ok 12 - uda.t: Add tasks with default UDA 158s ok 13 - uda.t: Add tasks with non default UDA 158s ok 14 - uda.t: Add tasks without default UDA 158s ok 15 - uda.t: Add tasks with an invalid UDA duration 158s ok 16 - uda.t: Add tasks with and without a UDA duration 158s ok 17 - uda.t: Add tasks with an invalid UDA numeric 158s ok 18 - uda.t: Add tasks with and without a UDA numeric 158s ok 19 - uda.t: Add tasks with and without a UDA string 158s ok 20 - uda.t: Add tasks with invalid UDA value 158s ok 21 - uda.t: Add tasks with valid UDA values 161s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/uda.t:106: SyntaxWarning: invalid escape sequence '\s' 161s self.assertRegex(out, "1\s+[\d\/]+\s+with") 161s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/uda.t:107: SyntaxWarning: invalid escape sequence '\s' 161s self.assertRegex(out, "2\s+without") 161s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/uda.t:137: SyntaxWarning: invalid escape sequence '\s' 161s self.assertRegex(out, "1\s+strong\s+one") 161s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/uda.t:146: SyntaxWarning: invalid escape sequence '\s' 161s self.assertRegex(out, "1\s+weak\s+two") 161s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/uda.t:155: SyntaxWarning: invalid escape sequence '\s' 161s self.assertRegex(out, "1\s+weak\s+10\s+three") 161s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/uda.t:203: SyntaxWarning: invalid escape sequence '\s' 161s self.assertRegex(out, "1\s+\d+\s+with") 161s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/uda.t:204: SyntaxWarning: invalid escape sequence '\s' 161s self.assertRegex(out, "2\s+without") 161s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/uda.t:228: SyntaxWarning: invalid escape sequence '\s' 161s self.assertRegex(out, "1\s+one two\s+with") 161s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/uda.t:229: SyntaxWarning: invalid escape sequence '\s' 161s self.assertRegex(out, "2\s+without") 161s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/uda.t:248: SyntaxWarning: invalid escape sequence '\s' 161s self.assertRegex(out, "1\s+weak\s+one") 161s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/uda.t:249: SyntaxWarning: invalid escape sequence '\s' 161s self.assertRegex(out, "2\s+strong\s+two") 161s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/uda.t:262: SyntaxWarning: invalid escape sequence '\s' 161s self.assertRegex(out, "1\s+strong\s+one") 161s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/uda.t:263: SyntaxWarning: invalid escape sequence '\s' 161s self.assertNotRegex(out, "1\s+toxic\s+two") 161s # add.t 161s 1..14 161s ok 1 - add.t: 1549: The token '1e ' left the lexer in a bad state. 161s ok 2 - add.t: Testing add command 161s ok 3 - add.t: 917: Verify that escaped quotes are preserved 161s ok 4 - add.t: 884: Test that path-like args are preserved 161s ok 5 - add.t: 924: Verify that floating point numbers are unmolested 161s ok 6 - add.t: Test the /// modifier 161s ok 7 - add.t: 819: Test parentheses and spacing is preserved on add 161s ok 8 - add.t: 1642: Test single quote in a terminated multi-word string is preserved 161s ok 9 - add.t: 1359: one-two-three in description triggers Malformed ID error 161s ok 10 - add.t: 1419: Verify that '-two' is not treated as a tag on add 161s ok 11 - add.t: 1527: Extra spaces added around slashes when quoted 161s ok 12 - add.t: 1527: Extra spaces added around slashes when quoted after parser stop 161s ok 13 - add.t: 1612: ensure that extra whitespace does not get added. 161s ok 14 - add.t: 1719: Description cannot contain improper ordinals 161s # completed.t 161s 1..1 161s ok 1 - completed.t: Verify only completed tasks show up on the completed report 161s # reports.t 161s 1..1 161s ok 1 - reports.t: Verify 'reports' command includes known reports 161s # uuid.t 161s 1..14 161s ok 1 - uuid.t: 954: Verify deletion using missing UUID 161s ok 2 - uuid.t: 954: Verify deletion using extant UUID 161s ok 3 - uuid.t: 891: Test that a task is addressable using UUIDs of length 7 - 36 161s ok 4 - uuid.t: Using alphabetic UUID in the short form 161s ok 5 - uuid.t: Using alphabetic UUID 161s ok 6 - uuid.t: Using numerical UUID in the short form 161s ok 7 - uuid.t: Using numerical UUID 161s ok 8 - uuid.t: Modify with UUID + report completed 161s ok 9 - uuid.t: Modify end: with UUID 161s ok 10 - uuid.t: Modify with UUID + report pending 161s ok 11 - uuid.t: Modify start: with UUID 161s ok 12 - uuid.t: Modify start: and end: with UUID 161s ok 13 - uuid.t: Modify status: with UUID 161s ok 14 - uuid.t: Verify that duplicating tasks, and recurring tasks do no create duplicates UUIDs 161s # columns.t 162s 1..45 162s ok 1 - columns.t: verify that using a bogus colum generates an error 162s ok 2 - columns.t: Verify due.age formatting 162s ok 3 - columns.t: Verify due.countdown formatting 162s ok 4 - columns.t: Verify due.epoch formatting 162s ok 5 - columns.t: Verify due.formatted formatting 162s ok 6 - columns.t: Verify due.iso formatting 162s ok 7 - columns.t: Verify due.julian formatting 162s ok 8 - columns.t: Verify due.relative formatting 162s ok 9 - columns.t: Verify due.remaining formatting 162s ok 10 - columns.t: Verify due.donkey formatting fails 162s ok 11 - columns.t: Verify formatting of 'description.combined' column 162s ok 12 - columns.t: Verify formatting of 'description.count' column 162s ok 13 - columns.t: Verify formatting of 'description.desc' column 162s ok 14 - columns.t: Verify descriptionuuid.donkey formatting fails 162s ok 15 - columns.t: Verify formatting of 'description.oneline' column 162s ok 16 - columns.t: Verify formatting of 'description.truncated' column 162s ok 17 - columns.t: Verify formatting of 'description.truncated_count' column 162s ok 18 - columns.t: 1061: Verify 'task columns' works 162s ok 19 - columns.t: 1061: Verify 'task columns rc._forcecolor:1' works 162s ok 20 - columns.t: 1061: Verify 'task columns escr' works 162s ok 21 - columns.t: Verify id.donkey formatting fails 162s ok 22 - columns.t: Verify formatting of 'id.number' column 162s ok 23 - columns.t: Verify project.full formatting 162s ok 24 - columns.t: Verify project.indented formatting 162s ok 25 - columns.t: Verify project.parent formatting 162s ok 26 - columns.t: Verify project.donkey formatting fails 162s ok 27 - columns.t: Verify *.donkey formatting fails 162s ok 28 - columns.t: Verify formatting of assorted long recurrence columns 162s ok 29 - columns.t: Verify formatting of assorted short recurrence columns 162s ok 30 - columns.t: Verify status.donkey formatting fails 162s ok 31 - columns.t: Verify formatting of 'status.long' column 162s ok 32 - columns.t: Verify formatting of 'status.short' column 162s ok 33 - columns.t: Verify tags.count formatting 162s ok 34 - columns.t: Verify tags.indicator formatting 162s ok 35 - columns.t: Verify tags.list formatting 162s ok 36 - columns.t: Verify tags.donkey formatting fails 162s ok 37 - columns.t: Verify priority.default formatting 162s ok 38 - columns.t: Verify priority.indicator formatting 162s ok 39 - columns.t: Verify priority.donkey formatting fails 162s ok 40 - columns.t: Verify uuid.donkey formatting fails 162s ok 41 - columns.t: Verify formatting of 'uuid.long' column 162s ok 42 - columns.t: Verify formatting of 'uuid.short' column 162s ok 43 - columns.t: Verify urgency.donkey formatting fails 162s ok 44 - columns.t: Verify formatting of 'urgency.integer' column 162s ok 45 - columns.t: Verify formatting of 'urgency.real' column 162s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/columns.t:246: SyntaxWarning: invalid escape sequence '\s' 162s self.assertRegex(out, "1\sRecurring\s+\d{4}-\d{2}-\d{2}\s+R\s+-") 162s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/columns.t:247: SyntaxWarning: invalid escape sequence '\s' 162s self.assertRegex(out, "2\sPending\s+\d{4}-\d{2}-\d{2}\s+R\s+0\s+[0-9a-fA-F]{8}") 162s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/columns.t:252: SyntaxWarning: invalid escape sequence '\s' 162s self.assertRegex(out, "1\sRecurring\s+\d{4}-\d{2}-\d{2}\s+P30D\s+-") 162s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/columns.t:253: SyntaxWarning: invalid escape sequence '\s' 162s self.assertRegex(out, "2\sPending\s+\d{4}-\d{2}-\d{2}\s+P30D\s+0\s+[0-9a-fA-F-]{36}") 162s # operators.t 163s 1..38 163s ok 1 - operators.t: operator and + not : 163s ok 2 - operators.t: operator and + not = 163s ok 3 - operators.t: operator : or : 163s ok 4 - operators.t: operator : or = 163s ok 5 - operators.t: operator : or not : 163s ok 6 - operators.t: operator : xor : 163s ok 7 - operators.t: operator : xor = 163s ok 8 - operators.t: operator : xor not : 163s ok 9 - operators.t: operator = or : 163s ok 10 - operators.t: operator = or = 163s ok 11 - operators.t: operator = xor : 163s ok 12 - operators.t: operator = xor = 163s ok 13 - operators.t: operator explicit and : 163s ok 14 - operators.t: operator explicit and = 163s ok 15 - operators.t: operator implicit and : 163s ok 16 - operators.t: operator implicit and = 163s ok 17 - operators.t: operator description > o 163s ok 18 - operators.t: operator description >= o 163s ok 19 - operators.t: operator description < o 163s ok 20 - operators.t: operator description <= o 163s ok 21 - operators.t: operator due.after:today 163s ok 22 - operators.t: operator due.before:today 163s ok 23 - operators.t: operator due > today 163s ok 24 - operators.t: operator due >= today 163s ok 25 - operators.t: operator due < today 163s ok 26 - operators.t: operator due <= today 163s ok 27 - operators.t: operator priority.above:M 163s ok 28 - operators.t: operator priority.below:M 163s ok 29 - operators.t: operator priority > M 163s ok 30 - operators.t: operator priority >= M 163s ok 31 - operators.t: operator priority < M 163s ok 32 - operators.t: operator priority <= M 163s ok 33 - operators.t: operator urgency > 10.0 163s ok 34 - operators.t: operator urgency >= 10.0 163s ok 35 - operators.t: operator urgency.over:10.0 163s ok 36 - operators.t: operator urgency < 10.0 163s ok 37 - operators.t: operator urgency <= 10.0 163s ok 38 - operators.t: operator urgency.under:10.0 163s # dateformat.t 163s 1..5 163s ok 1 - dateformat.t: 1620: Verify that a defined dateformat overrides the ISO interpretation 163s ok 2 - dateformat.t: 886: Test invalid day synonym 163s ok 3 - dateformat.t: 986: Verify rc.dateformat.info takes precedence over rc.dateformat 163s ok 4 - dateformat.t: Verify upper case days and months work 163s ok 5 - dateformat.t: Verify a variety of dateformats elements succeed 163s # info.t 163s 1..3 163s ok 1 - info.t: 425: Make sure parser sees 'in' and not an abbreviated 'info' 163s ok 2 - info.t: Verify info command shows everything in the task 163s ok 3 - info.t: Verify bad filter yields error 164s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/info.t:67: SyntaxWarning: invalid escape sequence '\s' 164s self.assertRegex(out, "ID\s+1") 164s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/info.t:68: SyntaxWarning: invalid escape sequence '\s' 164s self.assertRegex(out, "Description\s+foo") 164s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/info.t:69: SyntaxWarning: invalid escape sequence '\d' 164s self.assertRegex(out, "\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}\s+bar") 164s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/info.t:70: SyntaxWarning: invalid escape sequence '\s' 164s self.assertRegex(out, "Status\s+Recurring") 164s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/info.t:71: SyntaxWarning: invalid escape sequence '\s' 164s self.assertRegex(out, "Project\s+P") 164s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/info.t:72: SyntaxWarning: invalid escape sequence '\s' 164s self.assertRegex(out, "Recurrence\s+P1M") 164s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/info.t:73: SyntaxWarning: invalid escape sequence '\s' 164s self.assertRegex(out, "Entered\s+\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}") 164s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/info.t:74: SyntaxWarning: invalid escape sequence '\s' 164s self.assertRegex(out, "Waiting until\s+\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}") 164s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/info.t:75: SyntaxWarning: invalid escape sequence '\s' 164s self.assertRegex(out, "Scheduled\s+\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}") 164s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/info.t:76: SyntaxWarning: invalid escape sequence '\s' 164s self.assertRegex(out, "Start\s+\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}") 164s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/info.t:77: SyntaxWarning: invalid escape sequence '\s' 164s self.assertRegex(out, "Due\s+\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}") 164s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/info.t:78: SyntaxWarning: invalid escape sequence '\s' 164s self.assertRegex(out, "Until\s+\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}") 164s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/info.t:79: SyntaxWarning: invalid escape sequence '\s' 164s self.assertRegex(out, "Last modified\s+\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}") 164s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/info.t:81: SyntaxWarning: invalid escape sequence '\s' 164s self.assertRegex(out, "Tags\s+tag") 164s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/info.t:92: SyntaxWarning: invalid escape sequence '\s' 164s self.assertRegex(out, "UUID\s+[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}") 164s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/info.t:93: SyntaxWarning: invalid escape sequence '\s' 164s self.assertRegex(out, "Urgency\s+\d+(\.\d+)?") 164s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/info.t:94: SyntaxWarning: invalid escape sequence '\s' 164s self.assertRegex(out, "Priority\s+H") 164s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/info.t:120: SyntaxWarning: invalid escape sequence '\s' 164s self.assertRegex(out, "1\s+Bar in Bar") 164s # delete.t 164s 1..6 164s ok 1 - delete.t: Verify that add/delete/undo yields a Pending task 164s ok 2 - delete.t: Verify that a completed task can be deleted 164s ok 3 - delete.t: Delete prompt with closed STDIN causes infinite loop and floods stdout (bulk) 164s ok 4 - delete.t: Verify that en-passant works with delete 164s ok 5 - delete.t: Delete prompt with closed STDIN causes infinite loop and floods stdout (multiple) 164s ok 6 - delete.t: Delete prompt with closed STDIN causes infinite loop and floods stdout (single) 164s # export.t 164s Traceback (most recent call last): 164s File "/tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/export.t", line 41, in 164s from basetest.compat import STRING_TYPE 164s ModuleNotFoundError: No module named 'basetest.compat' 164s # tw-2581.t 164s 1..1 164s ok 1 164s # tw-46.t 164s 1..1 164s ok 1 - tw-46.t: Circular dependency detection broken by deletion of completed.data 164s # count.t 164s 1..2 164s ok 1 - count.t: test_count_filtered (TestCount) 164s ok 2 - count.t: test_count_unfiltered (TestCount) 164s # diag.t 164s 1..2 164s ok 1 - diag.t: Test that time_t has size of 64 bits 164s ok 2 - diag.t: Task diag output, so we can monitor platforms # skip 164s # SKIP: 164s # Skipping diagnostics test on Ubuntu 16.04, as it lacks full C++17 support 166s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/diag.t:56: SyntaxWarning: invalid escape sequence '\s' 166s self.assertRegex(out, "Compliance:\s+C\+\+17") 166s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/diag.t:57: SyntaxWarning: invalid escape sequence '\s' 166s self.assertRegex(out, "libgnutls:\s+\d+\.\d+\.\d+") 166s # caseless.t 166s 1..4 166s ok 1 - caseless.t: Verify annotation filter with and without case sensitivity 166s ok 2 - caseless.t: Verify annotation substitution with and without case sensitivity 166s ok 3 - caseless.t: Verify description filter with and without case sensitivity 166s ok 4 - caseless.t: Verify description substitution with and without case sensitivity 166s # tw-1938.t 166s 1..1 166s ok 1 166s # sugar.t 166s 1..2 166s ok 1 - sugar.t: Test syntax that mathematicians find sane and expected 166s ok 2 - sugar.t: If I asked the other test whether it passes, what would it answer? 166s # calc.t 166s 1..8 166s ok 1 - calc.t: 1254: calc can multiply negative zero and positive 166s ok 2 - calc.t: 1254: calc can multiply zero and negative numbers 166s ok 3 - calc.t: '15min' is seen as '15', 'min', not '15min' duration # skip 166s # SKIP: 166s # calc binary not available in /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/autopkgtest_tmp/src/calc 166s ok 4 - calc.t: help # skip 166s # SKIP: 166s # calc binary not available in /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/autopkgtest_tmp/src/calc 166s ok 5 - calc.t: regular math with negative numbers # skip 166s # SKIP: 166s # calc binary not available in /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/autopkgtest_tmp/src/calc 166s ok 6 - calc.t: postfix math # skip 166s # SKIP: 166s # calc binary not available in /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/autopkgtest_tmp/src/calc 166s ok 7 - calc.t: regular math # skip 166s # SKIP: 166s # calc binary not available in /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/autopkgtest_tmp/src/calc 166s ok 8 - calc.t: version # skip 166s # SKIP: 166s # calc binary not available in /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/autopkgtest_tmp/src/calc 166s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/calc.t:93: SyntaxWarning: invalid escape sequence '\d' 166s self.assertRegex(out, "calc \d\.\d+\.\d+") 166s # custom.config.t 166s 1..4 166s ok 1 - custom.config.t: task show - warns when non-default values are matched 166s ok 2 - custom.config.t: task show - warns when non-default values are matched 166s ok 3 - custom.config.t: task show - warns when unrecognized values are matched 166s ok 4 - custom.config.t: task show - no warn when no non-default values are matched 166s # hooks.on-launch.t 166s 1..4 166s ok 1 - hooks.on-launch.t: on-launch-bad - a well-behaved, failing, on-launch hook. 166s ok 2 - hooks.on-launch.t: on-launch-good - a well-behaved, successful, on-launch hook. 166s ok 3 - hooks.on-launch.t: on-launch-misbehave1 - Hook kills itself. 166s ok 4 - hooks.on-launch.t: on-launch-misbehave2 - Hook emits unexpected JSON. 166s # backlog.t 166s 1..3 166s ok 1 - backlog.t: 1510: Make sure deleted due attribute does not get into 166s ok 2 - backlog.t: 1510: Make sure empty priority attribute does not get into 166s ok 3 - backlog.t: 1510: Make sure empty project attribute does not get into 166s # quotes.t 166s 1..6 166s ok 1 - quotes.t: 1436: Prove to the reader that backslashes are eaten twice (which means 166s ok 2 - quotes.t: 1436: Task created but not found with ending backslash 166s not ok 3 - quotes.t: 1436: Parser hangs with backslashes # TODO 166s # EXPECTED_FAILURE: AssertionError on file /usr/lib/python3.12/unittest/case.py line 58 in testPartExecutor: 'yield': 166s # 'Cheer everyone up \\o/ 166s # ' != 'Cheer everyone up o/ 166s # ' 166s # - Cheer everyone up \o/ 166s # ? - 166s # + Cheer everyone up o/ 166s ok 4 - quotes.t: escaped backslashes do not work with 'modify' 166s ok 5 - quotes.t: 880: Backslash at end of description/annotation causes problems 166s ok 6 - quotes.t: Quoted arguments should remain unmolested. 166s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/quotes.t:64: SyntaxWarning: invalid escape sequence '\/' 166s self.t('1 modify "/a b/a\/b/"') 166s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/quotes.t:127: SyntaxWarning: invalid escape sequence '\)' 166s """1436: Prove to the reader that backslashes are eaten twice (which means 168s # timesheet.t 168s 1..2 168s ok 1 - timesheet.t: One week of started and completed 168s ok 2 - timesheet.t: Three weeks of started and completed 168s # sequence.t 168s 1..7 168s ok 1 - sequence.t: Test sequences in annotate 168s ok 2 - sequence.t: Test sequences in delete 168s ok 3 - sequence.t: Test sequences in done 168s ok 4 - sequence.t: Test sequences in duplicate 168s ok 5 - sequence.t: Test sequences in info 168s ok 6 - sequence.t: Test sequences in modify 168s ok 7 - sequence.t: Test sequences in start/stop 168s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/sequence.t:61: SyntaxWarning: invalid escape sequence '\d' 168s self.assertRegex(out, "\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2} \d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\n") 168s # feature.print.empty.columns.t 168s 1..1 168s ok 1 - feature.print.empty.columns.t: Verify rc.print.empty.columns:yes shows more nothing than rc.print.empty.columns:no 168s # feature.559.t 168s 1..1 168s ok 1 - feature.559.t: Missing db causes exit when rc.exit.on.missing.db=yes 168s # shell.t 168s 1..2 168s ok 1 - shell.t: Test failed search returns non-zero. 168s ok 2 - shell.t: Test successful search returns zero. 168s # log.t 168s 1..4 168s ok 1 - log.t: 1575: ensure that extra whitespace does not get inserted into a URL. 168s ok 2 - log.t: Test that 'log' creates completed tasks 168s ok 3 - log.t: Verify that you cannot log a recurring task 168s ok 4 - log.t: Verify that you cannot log a waited task 168s # sorting.t 168s 1..99 168s ok 1 - sorting.t: TestBug438 sort:entry- 168s ok 2 - sorting.t: TestBug438 sort:end- 168s ok 3 - sorting.t: TestBug438 sort:end+ 168s ok 4 - sorting.t: TestBug438 sort:start+ 168s ok 5 - sorting.t: TestBug438 sort:entry+ 168s ok 6 - sorting.t: TestBug438 sort:start- 168s ok 7 - sorting.t: Verify that 'sort:none' removes all sorting 168s ok 8 - sorting.t: TestSorting sort:priority- 168s ok 9 - sorting.t: TestSorting sort:priority+ 168s ok 10 - sorting.t: TestSorting sort:priority-,project- 168s ok 11 - sorting.t: TestSorting sort:priority-,project+ 168s ok 12 - sorting.t: TestSorting sort:priority+,project- 168s ok 13 - sorting.t: TestSorting sort:priority+,project+ 168s ok 14 - sorting.t: TestSorting sort:priority-,start- 168s ok 15 - sorting.t: TestSorting sort:priority-,start+ 168s ok 16 - sorting.t: TestSorting sort:priority+,start- 168s ok 17 - sorting.t: TestSorting sort:priority+,start+ 168s ok 18 - sorting.t: TestSorting sort:priority-,due- 168s ok 19 - sorting.t: TestSorting sort:priority-,due+ 168s ok 20 - sorting.t: TestSorting sort:project- 168s ok 21 - sorting.t: TestSorting sort:priority+,due- 168s ok 22 - sorting.t: TestSorting sort:priority+,due+ 168s ok 23 - sorting.t: TestSorting sort:priority-,description- 168s ok 24 - sorting.t: TestSorting sort:priority-,description+ 168s ok 25 - sorting.t: TestSorting sort:priority+,description- 168s ok 26 - sorting.t: TestSorting sort:priority+,description+ 168s ok 27 - sorting.t: TestSorting sort:project-,priority- 168s ok 28 - sorting.t: TestSorting sort:project-,priority+ 168s ok 29 - sorting.t: TestSorting sort:project+,priority- 168s ok 30 - sorting.t: TestSorting sort:project+,priority+ 168s ok 31 - sorting.t: TestSorting sort:project+ 168s ok 32 - sorting.t: TestSorting sort:project-,start- 168s ok 33 - sorting.t: TestSorting sort:project-,start+ 168s ok 34 - sorting.t: TestSorting sort:project+,start- 168s ok 35 - sorting.t: TestSorting sort:project+,start+ 168s ok 36 - sorting.t: TestSorting sort:project-,due- 168s ok 37 - sorting.t: TestSorting sort:project-,due+ 168s ok 38 - sorting.t: TestSorting sort:project+,due- 168s ok 39 - sorting.t: TestSorting sort:project+,due+ 168s ok 40 - sorting.t: TestSorting sort:project-,description- 168s ok 41 - sorting.t: TestSorting sort:project-,description+ 168s ok 42 - sorting.t: TestSorting sort:start- 168s ok 43 - sorting.t: TestSorting sort:project+,description- 168s ok 44 - sorting.t: TestSorting sort:project+,description+ 168s ok 45 - sorting.t: TestSorting sort:start-,priority- 168s ok 46 - sorting.t: TestSorting sort:start-,priority+ 168s ok 47 - sorting.t: TestSorting sort:start+,priority- 168s ok 48 - sorting.t: TestSorting sort:start+,priority+ 168s ok 49 - sorting.t: TestSorting sort:start-,project- 168s ok 50 - sorting.t: TestSorting sort:start-,project+ 168s ok 51 - sorting.t: TestSorting sort:start+,project- 168s ok 52 - sorting.t: TestSorting sort:start+,project+ 168s ok 53 - sorting.t: TestSorting sort:start+ 168s ok 54 - sorting.t: TestSorting sort:start-,due- 168s ok 55 - sorting.t: TestSorting sort:start-,due+ 168s ok 56 - sorting.t: TestSorting sort:start+,due- 168s ok 57 - sorting.t: TestSorting sort:start+,due+ 168s ok 58 - sorting.t: TestSorting sort:start-,description- 168s ok 59 - sorting.t: TestSorting sort:start-,description+ 168s ok 60 - sorting.t: TestSorting sort:start+,description- 168s ok 61 - sorting.t: TestSorting sort:start+,description+ 168s ok 62 - sorting.t: TestSorting sort:due-,priority- 168s ok 63 - sorting.t: TestSorting sort:due-,priority+ 168s ok 64 - sorting.t: TestSorting sort:due- 168s ok 65 - sorting.t: TestSorting sort:due+,priority- 168s ok 66 - sorting.t: TestSorting sort:due+,priority+ 168s ok 67 - sorting.t: TestSorting sort:due-,project- 168s ok 68 - sorting.t: TestSorting sort:due-,project+ 168s ok 69 - sorting.t: TestSorting sort:due+,project- 168s ok 70 - sorting.t: TestSorting sort:due+,project+ 168s ok 71 - sorting.t: TestSorting sort:due-,start- 168s ok 72 - sorting.t: TestSorting sort:due-,start+ 168s ok 73 - sorting.t: TestSorting sort:due+,start- 168s ok 74 - sorting.t: TestSorting sort:due+,start+ 168s ok 75 - sorting.t: TestSorting sort:due+ 168s ok 76 - sorting.t: TestSorting sort:due-,description- 168s ok 77 - sorting.t: TestSorting sort:due-,description+ 168s ok 78 - sorting.t: TestSorting sort:due+,description- 168s ok 79 - sorting.t: TestSorting sort:due+,description+ 168s ok 80 - sorting.t: TestSorting sort:description-,priority- 168s ok 81 - sorting.t: TestSorting sort:description-,priority+ 168s ok 82 - sorting.t: TestSorting sort:description+,priority- 168s ok 83 - sorting.t: TestSorting sort:description+,priority+ 168s ok 84 - sorting.t: TestSorting sort:description-,project- 168s ok 85 - sorting.t: TestSorting sort:description-,project+ 168s ok 86 - sorting.t: TestSorting sort:description- 168s ok 87 - sorting.t: TestSorting sort:description+,project- 168s ok 88 - sorting.t: TestSorting sort:description+,project+ 168s ok 89 - sorting.t: TestSorting sort:description-,start- 168s ok 90 - sorting.t: TestSorting sort:description-,start+ 168s ok 91 - sorting.t: TestSorting sort:description+,start- 168s ok 92 - sorting.t: TestSorting sort:description+,start+ 168s ok 93 - sorting.t: TestSorting sort:description-,due- 168s ok 94 - sorting.t: TestSorting sort:description-,due+ 168s ok 95 - sorting.t: TestSorting sort:description+,due- 168s ok 96 - sorting.t: TestSorting sort:description+,due+ 168s ok 97 - sorting.t: TestSorting sort:description+ 168s ok 98 - sorting.t: TestSorting sort:start+,project+,due+,priority+ 168s ok 99 - sorting.t: TestSorting sort:project+,due+,priority+,start+ 173s # modify.t 173s 1..2 173s ok 1 - modify.t: FILTER before 'add' command upgraded to MODIFICATION 173s ok 2 - modify.t: Removing the due date of a task with no due date modifies the task 173s # duplicate.t 173s 1..5 173s ok 1 - duplicate.t: Verify duplicates are the same 173s ok 2 - duplicate.t: Verify duplicate can show uuid 173s ok 3 - duplicate.t: Verify en-passant changes work with duplication 173s ok 4 - duplicate.t: Verify an empty filter generates an error 173s ok 5 - duplicate.t: Verify that recurring tasks are properly duplicated 173s # verbose.t 173s 1..10 173s ok 1 - verbose.t: Verbosity override is applied regardless of the order of the arguments. 173s ok 2 - verbose.t: Verbosity affected 173s ok 3 - verbose.t: Verbosity blank 173s ok 4 - verbose.t: Verbosity header 173s ok 5 - verbose.t: Verbosity label 173s ok 6 - verbose.t: Verbosity new-id 173s ok 7 - verbose.t: Verbosity new-uuid 173s ok 8 - verbose.t: Verbosity off 173s ok 9 - verbose.t: Verbosity project 173s ok 10 - verbose.t: Verbosity special 173s # taskrc.t 173s 1..1 173s ok 1 - taskrc.t: Verify that a default .taskrc is generated 173s # wait.t 173s 1..5 173s ok 1 - wait.t: 1486: Verify waiting report shows waiting tasks 173s ok 2 - wait.t: 434: completion of waiting tasks 173s ok 3 - wait.t: 2563: Delete should NOT remove the wait attribute 173s ok 4 - wait.t: 2563: Done should NOT remove the wait attribute 173s ok 5 - wait.t: visibility of waiting tasks # skip 173s # SKIP: 173s # libfaketime/faketime is not installed 173s # uda_sort.t 173s 1..6 173s ok 1 - uda_sort.t: 1319: Verify that UDAs are sorted according to defined order 173s ok 2 - uda_sort.t: Ascending custom sort order 173s ok 3 - uda_sort.t: Descending custom sort order 173s ok 4 - uda_sort.t: Ridiculous custom sort order 173s ok 5 - uda_sort.t: Ascending default sort order 173s ok 6 - uda_sort.t: Descending default sort order 173s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/uda_sort.t:150: SyntaxWarning: invalid escape sequence '\s' 173s self.assertRegex(out, "4\s+morning\s+four\s+3\s+noon\s+three\s+2\s+evening\s+two\s+1\s+night\s+one") 173s # start.t 173s 1..9 173s ok 1 - start.t: Completed task set to pending by start 173s ok 2 - start.t: Deleted task set to pending by start 173s ok 3 - start.t: Verify error message when no tasks are specified 173s ok 4 - start.t: Verify error when starting a started task 173s ok 5 - start.t: 608: Done should stop an active task 173s ok 6 - start.t: Verify journal start/stop annotations are used 173s ok 7 - start.t: Verify journal.time tracks state 173s ok 8 - start.t: Verify that starting a task removes end timestamp 173s ok 9 - start.t: Add, start, stop a task 173s # context.t 179s 1..36 179s ok 1 - context.t: Verify 'task context define' with no contexts yields error 179s ok 2 - context.t: Verify 'task context delete' with no contexts yields error 179s ok 3 - context.t: Verify 'task context list' with no contexts yields error 179s ok 4 - context.t: Verify 'task context missing' with no contexts yields error 179s ok 5 - context.t: Verify 'task context one\ two' with no contexts yields error 179s ok 6 - context.t: Verify 'task context show' with no contexts yields correct information 179s ok 7 - context.t: Verify 'task context show' with contexts works 179s ok 8 - context.t: Test the context applied with report list command. 179s ok 9 - context.t: Test swtiching context using the list report. 179s ok 10 - context.t: Test unsetting context with report list command. 179s ok 11 - context.t: Test the context applied with report list command combined with user filters. 179s ok 12 - context.t: Test the context is not applied with report list command if 179s ok 13 - context.t: Test that context is not applied when explicit ID 179s ok 14 - context.t: Test that context is not applied when explicit UUID 179s ok 15 - context.t: Test the _context command. 179s ok 16 - context.t: Test the _context command with some context set. 179s ok 17 - context.t: Test simple context definition. 179s ok 18 - context.t: With confirmation active, prompt if context filter matches no tasks 179s ok 19 - context.t: Test definition of a context that is not a valid write context. 179s ok 20 - context.t: Test definition of a context that is not a valid write context because it uses an OR operator. 179s ok 21 - context.t: Test definition of a context that is not a valid write context because it contains a tag exclusion. 179s ok 22 - context.t: Test simple context deletion. 179s ok 23 - context.t: Test deletion of undefined context. 179s ok 24 - context.t: Test that context is unset if its definition has been removed. 179s ok 25 - context.t: Test that no context is set initially. 179s ok 26 - context.t: Test the 'context list' command. 179s ok 27 - context.t: Test the determination of legacy context definition. 179s ok 28 - context.t: Test re-defining the context with different definition. 179s ok 29 - context.t: Test re-defining the context with the same definition. 179s ok 30 - context.t: Test resetting the same context. 179s ok 31 - context.t: Test simple context setting. 179s ok 32 - context.t: Test changing the context. 179s ok 33 - context.t: Test removing the context. 179s ok 34 - context.t: Test unsetting the context after changing the context around. 179s ok 35 - context.t: Test removing the context when no context is set. 179s ok 36 - context.t: The 'calendar' command should not fail when a context is active 179s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/context.t:207: SyntaxWarning: invalid escape sequence '\y' 179s code, out, err = self.t('context delete work', input='y\n\y\n') 179s # undo.t 179s 1..6 179s ok 1 - undo.t: Undo honors confirmation=off 179s ok 2 - undo.t: 'add' then 'done' then 'undo' 179s ok 3 - undo.t: 'add' then 'undo' 179s ok 4 - undo.t: Verify that en-passant changes during undo are an error 179s ok 5 - undo.t: Test that 'rc.undo.style:diff' generates the right output 179s ok 6 - undo.t: Test that 'rc.undo.style:side' generates the right output 179s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/undo.t:81: SyntaxWarning: invalid escape sequence '\s' 179s self.assertNotRegex(out, "-tags:\s*\n\+tags:\s+tag") 179s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/undo.t:82: SyntaxWarning: invalid escape sequence '\s' 179s self.assertRegex(out, "tags\s+tag\s*") 179s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/undo.t:88: SyntaxWarning: invalid escape sequence '\s' 179s self.assertRegex(out, "-tags:\s*\n\+tags:\s+tag") 179s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/undo.t:89: SyntaxWarning: invalid escape sequence '\s' 179s self.assertNotRegex(out, "tags\s+tag\s*") 179s # math.t 179s 1..8 179s ok 1 - math.t: 851: Test due.after:now+1d 179s ok 2 - math.t: 851: Test due.before:now+1d 179s ok 3 - math.t: compact arg quoted 179s ok 4 - math.t: compact unquoted 179s ok 5 - math.t: compact value quoted 179s ok 6 - math.t: sparse arg quoted 179s ok 7 - math.t: sparse arg quoted literal 179s ok 8 - math.t: sparse value quoted 179s # datetime-negative.t 179s 1..104 179s ok 1 - datetime-negative.t: test_set_incorrect_datetime_day_as_zeros_in_YYYY_DDD (TestIncorrectDate) 179s ok 2 - datetime-negative.t: test_set_incorrect_datetime_day_eight_in_YYYY_WwwD (TestIncorrectDate) 179s ok 3 - datetime-negative.t: test_set_incorrect_datetime_day_two_hundred_in_YYYY_WwwD (TestIncorrectDate) 179s ok 4 - datetime-negative.t: test_set_incorrect_datetime_day_zero_in_YYYY_WwwD (TestIncorrectDate) 179s ok 5 - datetime-negative.t: test_set_incorrect_datetime_huge_overflow_month_in_YYYY_MM (TestIncorrectDate) 179s ok 6 - datetime-negative.t: test_set_incorrect_datetime_huge_overlap_day_in_YYYY_DDD (TestIncorrectDate) 179s ok 7 - datetime-negative.t: test_set_incorrect_datetime_invalid_characters_in_YYYY_MM_DD (TestIncorrectDate) 179s ok 8 - datetime-negative.t: test_set_incorrect_datetime_medium_overlap_day_in_YYYY_DDD (TestIncorrectDate) 179s ok 9 - datetime-negative.t: test_set_incorrect_datetime_missing_day_in_YYYY_MM_DD (TestIncorrectDate) 179s ok 10 - datetime-negative.t: test_set_incorrect_datetime_month_zero_in_YYYY_MM_DD (TestIncorrectDate) 179s ok 11 - datetime-negative.t: test_set_incorrect_datetime_negative_in_YYYY_MM_DD (TestIncorrectDate) 179s ok 12 - datetime-negative.t: test_set_incorrect_datetime_overflow_in_week_in_YYYY_Www (TestIncorrectDate) 179s ok 13 - datetime-negative.t: test_set_incorrect_datetime_overflow_month_in_YYYY_MM (TestIncorrectDate) 179s ok 14 - datetime-negative.t: test_set_incorrect_datetime_overlap_day_in_nonoverlap_year_in_YYYY_DDD (TestIncorrectDate) 179s ok 15 - datetime-negative.t: test_set_incorrect_datetime_randomstring (TestIncorrectDate) 179s ok 16 - datetime-negative.t: test_set_incorrect_datetime_week_with_the_number_zero_in_YYYY_Www (TestIncorrectDate) 179s ok 17 - datetime-negative.t: test_set_incorrect_datetime_hour_overflow_in_hh_mm (TestIncorrectTime) 179s ok 18 - datetime-negative.t: test_set_incorrect_datetime_hour_overflow_in_hh_mmZ (TestIncorrectTime) 179s ok 19 - datetime-negative.t: test_set_incorrect_datetime_hour_overflow_in_hh_mm_minus_hh_mm (TestIncorrectTime) 179s ok 20 - datetime-negative.t: test_set_incorrect_datetime_hour_overflow_in_hh_mm_plus_hh_mm (TestIncorrectTime) 179s ok 21 - datetime-negative.t: test_set_incorrect_datetime_hour_overflow_in_hh_mm_ss (TestIncorrectTime) 179s ok 22 - datetime-negative.t: test_set_incorrect_datetime_hour_overflow_in_hh_mm_ssZ (TestIncorrectTime) 179s ok 23 - datetime-negative.t: test_set_incorrect_datetime_hour_overflow_in_hh_mm_ss_minus_hh_mm (TestIncorrectTime) 179s ok 24 - datetime-negative.t: test_set_incorrect_datetime_hour_overflow_in_hh_mm_ss_plus_hh_mm (TestIncorrectTime) 179s ok 25 - datetime-negative.t: test_set_incorrect_datetime_huge_hour_overflow_in_hh_mm (TestIncorrectTime) 179s ok 26 - datetime-negative.t: test_set_incorrect_datetime_huge_hour_overflow_in_hh_mmZ (TestIncorrectTime) 179s ok 27 - datetime-negative.t: test_set_incorrect_datetime_huge_hour_overflow_in_hh_mm_minus_hh_mm (TestIncorrectTime) 179s ok 28 - datetime-negative.t: test_set_incorrect_datetime_huge_hour_overflow_in_hh_mm_plus_hh_mm (TestIncorrectTime) 179s ok 29 - datetime-negative.t: test_set_incorrect_datetime_huge_hour_overflow_in_hh_mm_ss (TestIncorrectTime) 179s ok 30 - datetime-negative.t: test_set_incorrect_datetime_huge_hour_overflow_in_hh_mm_ssZ (TestIncorrectTime) 179s ok 31 - datetime-negative.t: test_set_incorrect_datetime_huge_hour_overflow_in_hh_mm_ss_minus_hh_mm (TestIncorrectTime) 179s ok 32 - datetime-negative.t: test_set_incorrect_datetime_huge_hour_overflow_in_hh_mm_ss_plus_hh_mm (TestIncorrectTime) 179s ok 33 - datetime-negative.t: test_set_incorrect_datetime_huge_minute_overflow_in_hh_mm (TestIncorrectTime) 179s ok 34 - datetime-negative.t: test_set_incorrect_datetime_huge_minute_overflow_in_hh_mmZ (TestIncorrectTime) 179s ok 35 - datetime-negative.t: test_set_incorrect_datetime_huge_minute_overflow_in_hh_mm_minus_hh_mm (TestIncorrectTime) 179s ok 36 - datetime-negative.t: test_set_incorrect_datetime_huge_minute_overflow_in_hh_mm_plus_hh_mm (TestIncorrectTime) 179s ok 37 - datetime-negative.t: test_set_incorrect_datetime_huge_minute_overflow_in_hh_mm_ss (TestIncorrectTime) 179s ok 38 - datetime-negative.t: test_set_incorrect_datetime_huge_minute_overflow_in_hh_mm_ssZ (TestIncorrectTime) 179s ok 39 - datetime-negative.t: test_set_incorrect_datetime_huge_minute_overflow_in_hh_mm_ss_minus_hh_mm (TestIncorrectTime) 179s ok 40 - datetime-negative.t: test_set_incorrect_datetime_huge_minute_overflow_in_hh_mm_ss_plus_hh_mm (TestIncorrectTime) 179s ok 41 - datetime-negative.t: test_set_incorrect_datetime_huge_second_overflow_in_hh_mm_ss (TestIncorrectTime) 179s ok 42 - datetime-negative.t: test_set_incorrect_datetime_huge_second_overflow_in_hh_mm_ssZ (TestIncorrectTime) 179s ok 43 - datetime-negative.t: test_set_incorrect_datetime_huge_second_overflow_in_hh_mm_ss_minus_hh_mm (TestIncorrectTime) 179s ok 44 - datetime-negative.t: test_set_incorrect_datetime_huge_second_overflow_in_hh_mm_ss_plus_hh_mm (TestIncorrectTime) 179s ok 45 - datetime-negative.t: test_set_incorrect_datetime_invalid_hours_in_hh_mm (TestIncorrectTime) 179s ok 46 - datetime-negative.t: test_set_incorrect_datetime_invalid_hours_in_hh_mmZ (TestIncorrectTime) 179s ok 47 - datetime-negative.t: test_set_incorrect_datetime_invalid_hours_in_hh_mm_minus_hh_mm (TestIncorrectTime) 179s ok 48 - datetime-negative.t: test_set_incorrect_datetime_invalid_hours_in_hh_mm_plus_hh_mm (TestIncorrectTime) 179s ok 49 - datetime-negative.t: test_set_incorrect_datetime_invalid_hours_in_hh_mm_ss (TestIncorrectTime) 179s ok 50 - datetime-negative.t: test_set_incorrect_datetime_invalid_hours_in_hh_mm_ssZ (TestIncorrectTime) 179s ok 51 - datetime-negative.t: test_set_incorrect_datetime_invalid_hours_in_hh_mm_ss_minus_hh_mm (TestIncorrectTime) 179s ok 52 - datetime-negative.t: test_set_incorrect_datetime_invalid_hours_in_hh_mm_ss_plus_hh_mm (TestIncorrectTime) 179s ok 53 - datetime-negative.t: test_set_incorrect_datetime_invalid_minutes_in_hh_mm (TestIncorrectTime) 179s ok 54 - datetime-negative.t: test_set_incorrect_datetime_invalid_minutes_in_hh_mmZ (TestIncorrectTime) 179s ok 55 - datetime-negative.t: test_set_incorrect_datetime_invalid_minutes_in_hh_mm_minus_hh_mm (TestIncorrectTime) 179s ok 56 - datetime-negative.t: test_set_incorrect_datetime_invalid_minutes_in_hh_mm_plus_hh_mm (TestIncorrectTime) 179s ok 57 - datetime-negative.t: test_set_incorrect_datetime_invalid_minutes_in_hh_mm_ss (TestIncorrectTime) 179s ok 58 - datetime-negative.t: test_set_incorrect_datetime_invalid_minutes_in_hh_mm_ssZ (TestIncorrectTime) 179s ok 59 - datetime-negative.t: test_set_incorrect_datetime_invalid_minutes_in_hh_mm_ss_minus_hh_mm (TestIncorrectTime) 179s ok 60 - datetime-negative.t: test_set_incorrect_datetime_invalid_minutes_in_hh_mm_ss_plus_hh_mm (TestIncorrectTime) 179s ok 61 - datetime-negative.t: test_set_incorrect_datetime_invalid_seconds_in_hh_mm_ss (TestIncorrectTime) 179s ok 62 - datetime-negative.t: test_set_incorrect_datetime_invalid_seconds_in_hh_mm_ssZ (TestIncorrectTime) 179s ok 63 - datetime-negative.t: test_set_incorrect_datetime_invalid_seconds_in_hh_mm_ss_minus_hh_mm (TestIncorrectTime) 179s ok 64 - datetime-negative.t: test_set_incorrect_datetime_invalid_seconds_in_hh_mm_ss_plus_hh_mm (TestIncorrectTime) 179s ok 65 - datetime-negative.t: test_set_incorrect_datetime_invalid_time_in_hh_mm (TestIncorrectTime) 179s ok 66 - datetime-negative.t: test_set_incorrect_datetime_invalid_time_in_hh_mmZ (TestIncorrectTime) 179s ok 67 - datetime-negative.t: test_set_incorrect_datetime_invalid_time_in_hh_mm_minus_hh_mm (TestIncorrectTime) 179s ok 68 - datetime-negative.t: test_set_incorrect_datetime_invalid_time_in_hh_mm_plus_hh_mm (TestIncorrectTime) 179s ok 69 - datetime-negative.t: test_set_incorrect_datetime_invalid_time_in_hh_mm_ss (TestIncorrectTime) 179s ok 70 - datetime-negative.t: test_set_incorrect_datetime_invalid_time_in_hh_mm_ssZ (TestIncorrectTime) 179s ok 71 - datetime-negative.t: test_set_incorrect_datetime_invalid_time_in_hh_mm_ss_minus_hh_mm (TestIncorrectTime) 179s ok 72 - datetime-negative.t: test_set_incorrect_datetime_invalid_time_in_hh_mm_ss_plus_hh_mm (TestIncorrectTime) 179s ok 73 - datetime-negative.t: test_set_incorrect_datetime_minute_overflow_in_hh_mm (TestIncorrectTime) 179s ok 74 - datetime-negative.t: test_set_incorrect_datetime_minute_overflow_in_hh_mmZ (TestIncorrectTime) 179s ok 75 - datetime-negative.t: test_set_incorrect_datetime_minute_overflow_in_hh_mm_minus_hh_mm (TestIncorrectTime) 179s ok 76 - datetime-negative.t: test_set_incorrect_datetime_minute_overflow_in_hh_mm_plus_hh_mm (TestIncorrectTime) 179s ok 77 - datetime-negative.t: test_set_incorrect_datetime_minute_overflow_in_hh_mm_ss (TestIncorrectTime) 179s ok 78 - datetime-negative.t: test_set_incorrect_datetime_minute_overflow_in_hh_mm_ssZ (TestIncorrectTime) 179s ok 79 - datetime-negative.t: test_set_incorrect_datetime_minute_overflow_in_hh_mm_ss_minus_hh_mm (TestIncorrectTime) 179s ok 80 - datetime-negative.t: test_set_incorrect_datetime_minute_overflow_in_hh_mm_ss_plus_hh_mm (TestIncorrectTime) 179s ok 81 - datetime-negative.t: test_set_incorrect_datetime_negative_hours_in_hh_mm (TestIncorrectTime) 179s ok 82 - datetime-negative.t: test_set_incorrect_datetime_negative_hours_in_hh_mmZ (TestIncorrectTime) 179s ok 83 - datetime-negative.t: test_set_incorrect_datetime_negative_hours_in_hh_mm_minus_hh_mm (TestIncorrectTime) 179s ok 84 - datetime-negative.t: test_set_incorrect_datetime_negative_hours_in_hh_mm_plus_hh_mm (TestIncorrectTime) 179s ok 85 - datetime-negative.t: test_set_incorrect_datetime_negative_hours_in_hh_mm_ss (TestIncorrectTime) 179s ok 86 - datetime-negative.t: test_set_incorrect_datetime_negative_hours_in_hh_mm_ssZ (TestIncorrectTime) 179s ok 87 - datetime-negative.t: test_set_incorrect_datetime_negative_hours_in_hh_mm_ss_minus_hh_mm (TestIncorrectTime) 179s ok 88 - datetime-negative.t: test_set_incorrect_datetime_negative_hours_in_hh_mm_ss_plus_hh_mm (TestIncorrectTime) 179s ok 89 - datetime-negative.t: test_set_incorrect_datetime_negative_minutes_in_hh_mm (TestIncorrectTime) 179s ok 90 - datetime-negative.t: test_set_incorrect_datetime_negative_minutes_in_hh_mmZ (TestIncorrectTime) 179s ok 91 - datetime-negative.t: test_set_incorrect_datetime_negative_minutes_in_hh_mm_minus_hh_mm (TestIncorrectTime) 179s ok 92 - datetime-negative.t: test_set_incorrect_datetime_negative_minutes_in_hh_mm_plus_hh_mm (TestIncorrectTime) 179s ok 93 - datetime-negative.t: test_set_incorrect_datetime_negative_minutes_in_hh_mm_ss (TestIncorrectTime) 179s ok 94 - datetime-negative.t: test_set_incorrect_datetime_negative_minutes_in_hh_mm_ssZ (TestIncorrectTime) 179s ok 95 - datetime-negative.t: test_set_incorrect_datetime_negative_minutes_in_hh_mm_ss_minus_hh_mm (TestIncorrectTime) 179s ok 96 - datetime-negative.t: test_set_incorrect_datetime_negative_minutes_in_hh_mm_ss_plus_hh_mm (TestIncorrectTime) 179s ok 97 - datetime-negative.t: test_set_incorrect_datetime_negative_seconds_in_hh_mm_ss (TestIncorrectTime) 179s ok 98 - datetime-negative.t: test_set_incorrect_datetime_negative_seconds_in_hh_mm_ssZ (TestIncorrectTime) 179s ok 99 - datetime-negative.t: test_set_incorrect_datetime_negative_seconds_in_hh_mm_ss_minus_hh_mm (TestIncorrectTime) 179s ok 100 - datetime-negative.t: test_set_incorrect_datetime_negative_seconds_in_hh_mm_ss_plus_hh_mm (TestIncorrectTime) 179s ok 101 - datetime-negative.t: test_set_incorrect_datetime_second_overflow_in_hh_mm_ss (TestIncorrectTime) 179s ok 102 - datetime-negative.t: test_set_incorrect_datetime_second_overflow_in_hh_mm_ssZ (TestIncorrectTime) 179s ok 103 - datetime-negative.t: test_set_incorrect_datetime_second_overflow_in_hh_mm_ss_minus_hh_mm (TestIncorrectTime) 179s ok 104 - datetime-negative.t: test_set_incorrect_datetime_second_overflow_in_hh_mm_ss_plus_hh_mm (TestIncorrectTime) 181s # tw-1999.t 181s 1..2 181s ok 1 - tw-1999.t: Ensure correct active time locally # skip 181s # SKIP: 181s # libfaketime/faketime is not installed 181s ok 2 - tw-1999.t: Ensure correct active time across different clients # skip 181s # SKIP: 181s # Taskd binary not available at 'taskd' 181s # exec.t 181s 1..4 181s ok 1 - exec.t: use exec in default.command 181s ok 2 - exec.t: use exec in alias 181s ok 3 - exec.t: use execute 181s ok 4 - exec.t: use execute in alias 181s # dom2.t 181s 1..63 181s ok 1 - dom2.t: 1300: If the DOM does not recognize a reference, it should return '1' 181s ok 2 - dom2.t: 1300: If the DOM recognizes a reference, it should return '0' 181s ok 3 - dom2.t: DOM 1.annotation.count 181s ok 4 - dom2.t: DOM 3.annotation.count 181s ok 5 - dom2.t: DOM 3.annotations.1.description 181s ok 6 - dom2.t: DOM 3.annotations.1.entry 181s ok 7 - dom2.t: DOM 3.annotations.1.entry 181s ok 8 - dom2.t: DOM 1.end (missing) 181s ok 9 - dom2.t: DOM bad reference 181s ok 10 - dom2.t: DOM reference to current command line 181s ok 11 - dom2.t: DOM context.args 181s ok 12 - dom2.t: DOM context.height 181s ok 13 - dom2.t: DOM context.program 181s ok 14 - dom2.t: DOM context.width 181s ok 15 - dom2.t: DOM 3.due.day 181s ok 16 - dom2.t: DOM 3.due.hour 181s ok 17 - dom2.t: DOM 3.due.minute 181s ok 18 - dom2.t: DOM 3.due.month 181s ok 19 - dom2.t: DOM 3.due.second 181s ok 20 - dom2.t: DOM 3.due.week 181s ok 21 - dom2.t: DOM 3.due.weekday 181s ok 22 - dom2.t: DOM 3.due.year 181s ok 23 - dom2.t: DOM lookup of missing item 181s ok 24 - dom2.t: DOM id/uuid roundtrip 181s ok 25 - dom2.t: DOM missing reference 181s ok 26 - dom2.t: DOM rc.missing 181s ok 27 - dom2.t: DOM rc.dateformat 181s ok 28 - dom2.t: DOM system.os 181s ok 29 - dom2.t: DOM system.version 181s ok 30 - dom2.t: DOM 3.tags 181s ok 31 - dom2.t: DOM 3.tags.OVERDUE 181s ok 32 - dom2.t: DOM 3.tags.tag1 181s ok 33 - dom2.t: DOM reference to other task 181s ok 34 - dom2.t: DOM tw.args 181s ok 35 - dom2.t: DOM tw.height 181s ok 36 - dom2.t: DOM tw.program 181s ok 37 - dom2.t: DOM tw.version 181s ok 38 - dom2.t: DOM tw.width 181s ok 39 - dom2.t: DOM 1. 181s ok 40 - dom2.t: DOM 3.due.year 181s ok 41 - dom2.t: DOM 1. 181s ok 42 - dom2.t: DOM 1. 181s ok 43 - dom2.t: DOM 1. 181s ok 44 - dom2.t: DOM reference on date UDA in filter 181s ok 45 - dom2.t: DOM reference on due in filter 181s ok 46 - dom2.t: DOM reference on duration UDA in filter 181s ok 47 - dom2.t: DOM reference on numeric UDA in filter 181s ok 48 - dom2.t: DOM reference on project in filter 181s ok 49 - dom2.t: DOM reference on string UDA in filter 181s ok 50 - dom2.t: DOM reference on string with limited values UDA in filter 181s ok 51 - dom2.t: DOM reference on tags in filter 181s ok 52 - dom2.t: DOM reference on annotation description in add command 181s ok 53 - dom2.t: DOM reference on date UDA in add command 181s ok 54 - dom2.t: DOM reference on due in add command 181s ok 55 - dom2.t: DOM reference on duration UDA in add command 181s ok 56 - dom2.t: DOM reference on numeric UDA in add command 181s ok 57 - dom2.t: DOM reference on project in add command 181s ok 58 - dom2.t: DOM reference on string UDA in add command 181s ok 59 - dom2.t: DOM reference on string with limited values UDA in add command 181s ok 60 - dom2.t: DOM reference on tags in add command 181s ok 61 - dom2.t: DOM reference on specific tag in add command 181s ok 62 - dom2.t: DOM tw.syncneeded --> false 181s ok 63 - dom2.t: DOM tw.syncneeded --> true 181s # default.t 181s 1..8 181s ok 1 - default.t: 1377: Task doesn't accept tags in default.command 181s ok 2 - default.t: default command 181s ok 3 - default.t: info command 181s ok 4 - default.t: Verify all defaults are employed 181s ok 5 - default.t: test_all_specified (TestDefaults) 181s ok 6 - default.t: test_default_command (TestDefaults) 181s ok 7 - default.t: test_priority_specified (TestDefaults) 181s ok 8 - default.t: test_project_specified (TestDefaults) 181s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/default.t:56: SyntaxWarning: invalid escape sequence '\s' 181s self.assertRegex(out, 'Description\s+one') 181s # tw-2124.t 184s 1..1 184s # A test case for TW-2124. 184s # https://github.com/GothenburgBitFactory/taskwarrior/issues/2124 184s # Filtering for description with a dash works 184s # $ task add foo-bar 184s # >>> TASKRC override: taskrc 184s # >>> TASKDATA override: . 184s # >>> Created task 1. 184s # $ task foo-bar list | grep foo-bar 184s # >>> TASKRC override: taskrc 184s # >>> TASKDATA override: . 184s # >>> Recently upgraded to 2.6.0. Please run 'task news' to read highlights about the new release. 184s # >>> 1 - foo-bar 0 184s # Filtering for tag with dash does not work right now 184s # $ export EXPFAIL=true 184s # $ task add test +one-two 184s # >>> TASKRC override: taskrc 184s # >>> TASKDATA override: . 184s # >>> Created task 2. 184s # $ task +one-two list 184s # >>> TASKRC override: taskrc 184s # >>> TASKDATA override: . 184s # >>> Cannot subtract from a Boolean value 184s not ok 1 - task +one-two list # TODO 184s # color.cmd.t 184s 1..5 184s ok 1 - color.cmd.t: Verify 'task colors' shows all colors 184s ok 2 - color.cmd.t: Verify 'task colors legend' shows theme colors 184s ok 3 - color.cmd.t: Verify 'task colors legend' obeys rc overrides 184s ok 4 - color.cmd.t: Verify 'task colors' shows an error with color:off 184s ok 5 - color.cmd.t: Verify 'task colors red' shows a sample 184s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/color.cmd.t:66: SyntaxWarning: invalid escape sequence '\[' 184s self.assertRegex(out, "Your sample:\n\n .\[31mtask color red.\[0m") 184s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/color.cmd.t:71: SyntaxWarning: invalid escape sequence '\s' 184s self.assertRegex(out, "color.debug\s+.\[0m\s.\[38;5;4mcolor4\s+.\[0m") 184s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/color.cmd.t:76: SyntaxWarning: invalid escape sequence '\s' 184s self.assertRegex(out, "color.debug\s+.\[0m\s.\[31mred\s+.\[0m") 184s # uda_report.t 184s 1..2 184s ok 1 - uda_report.t: UDA not shown in report 184s ok 2 - uda_report.t: UDA shown in report 184s # tw-20.t 184s 1..1 184s ok 1 - tw-20.t: edit annotation should not delete then add untouched annotations 184s # tag.t 184s 1..34 184s ok 1 - tag.t: 285: +DUE 184s ok 2 - tag.t: 285: +DUETODAY 184s ok 3 - tag.t: 285: +OVERDUE 184s ok 4 - tag.t: 285: +TODAY 184s ok 5 - tag.t: 285: +TOMORROW 184s ok 6 - tag.t: 285: +YESTERDAY 184s ok 7 - tag.t: 1700: Verify that 'tags:a,b' overwrites existing tags. 184s ok 8 - tag.t: 818: Filtering by tag counter-intuitively uses partial match 184s ok 9 - tag.t: When using the 'tags' attribute directly, make sure it strips duplicates 184s ok 10 - tag.t: Verify the 'tags' command obeys 'rc.list.all.tags' 184s ok 11 - tag.t: 2655: Test bulk removal of tags 184s ok 12 - tag.t: Test addition and removal of tags 184s ok 13 - tag.t: Verify 'ORPHAN' appears when expected 184s ok 14 - tag.t: Verify 'UDA' appears when expected 184s ok 15 - tag.t: Verify 'ACTIVE' appears when expected 184s ok 16 - tag.t: Verify 'ANNOTATED' appears when expected 184s ok 17 - tag.t: Verify 'BLOCKED' appears when expected 184s ok 18 - tag.t: Verify 'BLOCKING' appears when expected 184s ok 19 - tag.t: Verify 'COMPLETED' appears when expected 184s ok 20 - tag.t: Verify 'DELETED' appears when expected 184s ok 21 - tag.t: Verify 'INSTANCE' appears when expected 184s ok 22 - tag.t: Verify 'MONTH' appears when expected 184s ok 23 - tag.t: Verify 'OVERDUE' appears when expected 184s ok 24 - tag.t: Verify 'PENDING' appears when expected 184s ok 25 - tag.t: Verify 'READY' appears when expected 184s ok 26 - tag.t: Verify 'SCHEDULED' appears when expected 184s ok 27 - tag.t: Verify 'TAGGED' appears when expected 184s ok 28 - tag.t: Verify 'TEMPLATE' appears when expected 184s ok 29 - tag.t: Verify 'UNBLOCKED' appears when expected 184s ok 30 - tag.t: Verify 'UNTIL' appears when expected 184s ok 31 - tag.t: Verify 'WAITING' appears when expected 184s ok 32 - tag.t: Verify 'WEEK' appears when expected 184s ok 33 - tag.t: Verify 'YEAR' appears when expected 184s ok 34 - tag.t: Verify '_tags' shows appropriate tags 184s # tw-262.t 187s 1..11 187s ok 1 - tw-262.t: project.isnt works 187s ok 2 - tw-262.t: project.isnt works within parenthesis 187s ok 3 - tw-262.t: project.isnt works within parenthesis after a leading space 187s ok 4 - tw-262.t: project.isnt works within parenthesis after a double leading space 187s ok 5 - tw-262.t: project.isnt works within parenthesis after a trailing space 187s ok 6 - tw-262.t: project.isnt works within parenthesis after a double trailing space 187s ok 7 - tw-262.t: project.isnt works if leading space is present 187s ok 8 - tw-262.t: project.isnt works if trailing space is present 187s ok 9 - tw-262.t: project.isnt works if wrapped in spaces 187s ok 10 - tw-262.t: project.isnt works within parenthesis and spaces 187s ok 11 - tw-262.t: project.isnt works within parenthesis and double spaces 187s # gc.t 187s 1..3 187s ok 1 - gc.t: ID retained when GC off 187s ok 2 - gc.t: mod by ID after done with gc off 187s ok 3 - gc.t: IDs reshuffle after report when GC on 187s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/gc.t:53: SyntaxWarning: invalid escape sequence '\s' 187s self.assertRegex(out, "1\s+one", "should still have ID") 187s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/gc.t:62: SyntaxWarning: invalid escape sequence '\s' 187s self.assertRegex(out, "2\s+two\s+TWO", "modified 'two'") 187s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/gc.t:70: SyntaxWarning: invalid escape sequence '\s' 187s self.assertRegex(out, "1\s+two\s+TWO") 187s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/gc.t:71: SyntaxWarning: invalid escape sequence '\s' 187s self.assertRegex(out, "2\s+three") 187s # hooks.env.t 187s 1..3 187s ok 1 - hooks.env.t: on-launch-env - a well-behaved, successful, on-launch hook that echoes its env. 187s ok 2 - hooks.env.t: Verify that 'debug.hooks' shows hook details 187s ok 3 - hooks.env.t: Verify that 'diagnostics' can see hook details 187s # custom.recur_ind.t 187s 1..1 187s ok 1 - custom.recur_ind.t: Add a recurring and non-recurring task, look for the indicator. 187s # due.t 187s 1..4 187s ok 1 - due.t: Verify that virtual tag +TODAY matches a task due eod 187s ok 2 - due.t: Verify that end of year is not before end of year 187s ok 3 - due.t: due.before:eow bad with dateformat 'MD' 187s ok 4 - due.t: due tasks displayed correctly 187s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/due.t:67: SyntaxWarning: invalid escape sequence '\[' 187s self.assertRegex(out, "\033\[31m.+{0}.+\033\[0m".format(self.just)) 187s /tmp/autopkgtest.xQ1Ue8/autopkgtest_tmp/test/due.t:68: SyntaxWarning: invalid escape sequence '\s' 187s self.assertRegex(out, "\s+{0}\s+".format(self.almost)) 187s # fontunderline.t 187s 1..8 187s ok 1 - fontunderline.t: test_color_force_nounderline (TestUnderline) 187s ok 2 - fontunderline.t: test_color_force_underline (TestUnderline) 187s ok 3 - fontunderline.t: test_color_noforce_nounderline (TestUnderline) 187s ok 4 - fontunderline.t: test_color_noforce_underline (TestUnderline) 187s ok 5 - fontunderline.t: test_nocolor_force_nounderline (TestUnderline) 187s ok 6 - fontunderline.t: test_nocolor_force_underline (TestUnderline) 187s ok 7 - fontunderline.t: test_nocolor_noforce_nounderline (TestUnderline) 187s ok 8 - fontunderline.t: test_nocolor_noforce_underline (TestUnderline) 187s # urgency.t 188s 1..17 188s ok 1 - urgency.t: 837: Verify urgency goes to zero after unblocking 188s ok 2 - urgency.t: Verify urgency calculations involving active tasks 188s ok 3 - urgency.t: Verify all tasks when no filter is specified 188s ok 4 - urgency.t: Verify urgency calculations involving annotations 188s ok 5 - urgency.t: Verify urgency coefficient override 188s ok 6 - urgency.t: Verify urgency calculations involving dependencies 188s ok 7 - urgency.t: Verify urgency calculations involving due dates 188s ok 8 - urgency.t: Verify urgency calculations involving +next 188s ok 9 - urgency.t: Verify no error when no tasks match 188s ok 10 - urgency.t: Verify urgency calculations involving priority 188s ok 11 - urgency.t: Verify urgency calculations involving project 188s ok 12 - urgency.t: Verify urgency calculations involving a scheduled task 188s ok 13 - urgency.t: Verify urgency calculations involving tags 188s ok 14 - urgency.t: Verify urgency calculations involving user project 188s ok 15 - urgency.t: Verify urgency calculations involving user tag 188s ok 16 - urgency.t: Verify _urgency using UUID lookup 188s ok 17 - urgency.t: Verify urgency calculations involving waiting tasks 188s # special.t 188s 1..2 188s ok 1 - special.t: test_nocolor (TestSpecialTags) 188s ok 2 - special.t: test_nonag (TestSpecialTags) 188s # tw-1883.t 188s 1..1 188s ok 1 188s # limit.t 188s 1..1 188s ok 1 - limit.t: Verify limit:N works 188s # urgency_inherit.t 188s 1..2 188s ok 1 - urgency_inherit.t: Biggest urgency is inherited recursively 188s ok 2 - urgency_inherit.t: No urgency inheritance when switched off 188s # overdue.t 188s 1..1 188s ok 1 - overdue.t: Verify 'overdue' report shows due state properly 188s autopkgtest [04:55:56]: test taskwarrior: -----------------------] 189s taskwarrior PASS 189s autopkgtest [04:55:57]: test taskwarrior: - - - - - - - - - - results - - - - - - - - - - 189s autopkgtest [04:55:57]: @@@@@@@@@@@@@@@@@@@@ summary 189s taskwarrior PASS 205s Creating nova instance adt-noble-amd64-task-20240320-045248-juju-7f2275-prod-proposed-migration-environment-3 from image adt/ubuntu-noble-amd64-server-20240319.img (UUID 7b50f403-c8dd-4ed1-a25c-18c4799f5a5b)...