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