0s autopkgtest [00:55:39]: starting date and time: 2026-01-23 00:55:39+0000 0s autopkgtest [00:55:39]: git checkout: 508d4a25 a-v-ssh wait_for_ssh: demote "ssh connection failed" to a debug message 0s autopkgtest [00:55:39]: host juju-7f2275-prod-proposed-migration-environment-9; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.rys1j8ah/out --timeout-copy=6000 --setup-commands 'ln -s /dev/null /etc/systemd/system/bluetooth.service; printf "http_proxy=http://squid.internal:3128\nhttps_proxy=http://squid.internal:3128\nno_proxy=127.0.0.1,127.0.1.1,localhost,localdomain,internal,login.ubuntu.com,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com,radosgw.ps5.canonical.com\n" >> /etc/environment' --apt-pocket=proposed=src:python3-defaults --apt-upgrade timew --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=python3-defaults/3.14.2-1 -- lxd -r lxd-armhf-10.145.243.230 lxd-armhf-10.145.243.230:autopkgtest/ubuntu/resolute/armhf 21s autopkgtest [00:56:00]: testbed dpkg architecture: armhf 23s autopkgtest [00:56:02]: testbed apt version: 3.1.12 28s autopkgtest [00:56:07]: @@@@@@@@@@@@@@@@@@@@ test bed setup 29s autopkgtest [00:56:08]: testbed release detected to be: None 37s autopkgtest [00:56:16]: updating testbed package index (apt update) 40s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [124 kB] 41s Get:2 http://ftpmaster.internal/ubuntu resolute InRelease [124 kB] 41s Get:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease [124 kB] 41s Get:4 http://ftpmaster.internal/ubuntu resolute-security InRelease [124 kB] 41s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [2820 B] 41s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [87.5 kB] 41s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [23.5 kB] 41s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [1020 kB] 41s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf Packages [99.1 kB] 41s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/universe armhf Packages [689 kB] 41s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse armhf Packages [4896 B] 41s Get:12 http://ftpmaster.internal/ubuntu resolute/universe Sources [21.4 MB] 43s Get:13 http://ftpmaster.internal/ubuntu resolute/main Sources [1398 kB] 43s Get:14 http://ftpmaster.internal/ubuntu resolute/multiverse Sources [310 kB] 43s Get:15 http://ftpmaster.internal/ubuntu resolute/main armhf Packages [1371 kB] 43s Get:16 http://ftpmaster.internal/ubuntu resolute/universe armhf Packages [15.0 MB] 44s Get:17 http://ftpmaster.internal/ubuntu resolute/multiverse armhf Packages [175 kB] 47s Fetched 42.0 MB in 6s (6521 kB/s) 48s Reading package lists... 54s autopkgtest [00:56:33]: upgrading testbed (apt dist-upgrade and autopurge) 56s Reading package lists... 56s Building dependency tree... 56s Reading state information... 57s Calculating upgrade... 57s The following packages were automatically installed and are no longer required: 57s libpython3.13-minimal libpython3.13-stdlib python3.13 python3.13-minimal 57s Use 'apt autoremove' to remove them. 57s The following NEW packages will be installed: 57s libpython3.14-minimal libpython3.14-stdlib python3.14 python3.14-minimal 57s The following packages will be upgraded: 57s apt libapt-pkg7.0 libplymouth5 libpython3-stdlib plymouth 57s plymouth-theme-ubuntu-text python3 python3-gdbm python3-minimal 58s 9 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. 58s Need to get 9130 kB of archives. 58s After this operation, 22.6 MB of additional disk space will be used. 58s Get:1 http://ftpmaster.internal/ubuntu resolute/main armhf libapt-pkg7.0 armhf 3.1.13 [1161 kB] 59s Get:2 http://ftpmaster.internal/ubuntu resolute/main armhf apt armhf 3.1.13 [1444 kB] 59s Get:3 http://ftpmaster.internal/ubuntu resolute/main armhf libpython3.14-minimal armhf 3.14.2-1 [905 kB] 59s Get:4 http://ftpmaster.internal/ubuntu resolute/main armhf python3.14-minimal armhf 3.14.2-1 [2155 kB] 59s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf python3-gdbm armhf 3.14.2-1 [11.1 kB] 59s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf python3-minimal armhf 3.14.2-1 [28.2 kB] 59s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf python3 armhf 3.14.2-1 [22.9 kB] 59s Get:8 http://ftpmaster.internal/ubuntu resolute/main armhf libpython3.14-stdlib armhf 3.14.2-1 [2270 kB] 60s Get:9 http://ftpmaster.internal/ubuntu resolute/main armhf python3.14 armhf 3.14.2-1 [816 kB] 60s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf libpython3-stdlib armhf 3.14.2-1 [10.9 kB] 60s Get:11 http://ftpmaster.internal/ubuntu resolute/main armhf libplymouth5 armhf 24.004.60+git20250831.4a3c171d-0ubuntu4 [147 kB] 60s Get:12 http://ftpmaster.internal/ubuntu resolute/main armhf plymouth-theme-ubuntu-text armhf 24.004.60+git20250831.4a3c171d-0ubuntu4 [10.0 kB] 60s Get:13 http://ftpmaster.internal/ubuntu resolute/main armhf plymouth armhf 24.004.60+git20250831.4a3c171d-0ubuntu4 [150 kB] 60s Fetched 9130 kB in 2s (3978 kB/s) 60s (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 ... 66485 files and directories currently installed.) 60s Preparing to unpack .../libapt-pkg7.0_3.1.13_armhf.deb ... 60s Unpacking libapt-pkg7.0:armhf (3.1.13) over (3.1.12) ... 61s Setting up libapt-pkg7.0:armhf (3.1.13) ... 61s (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 ... 66485 files and directories currently installed.) 61s Preparing to unpack .../archives/apt_3.1.13_armhf.deb ... 61s Unpacking apt (3.1.13) over (3.1.12) ... 61s Setting up apt (3.1.13) ... 62s Selecting previously unselected package libpython3.14-minimal:armhf. 62s (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 ... 66485 files and directories currently installed.) 62s Preparing to unpack .../libpython3.14-minimal_3.14.2-1_armhf.deb ... 62s Unpacking libpython3.14-minimal:armhf (3.14.2-1) ... 62s Selecting previously unselected package python3.14-minimal. 62s Preparing to unpack .../python3.14-minimal_3.14.2-1_armhf.deb ... 62s Unpacking python3.14-minimal (3.14.2-1) ... 62s Preparing to unpack .../python3-gdbm_3.14.2-1_armhf.deb ... 62s Unpacking python3-gdbm (3.14.2-1) over (3.13.9-1) ... 62s Setting up libpython3.14-minimal:armhf (3.14.2-1) ... 62s Setting up python3.14-minimal (3.14.2-1) ... 64s (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 ... 66827 files and directories currently installed.) 64s Preparing to unpack .../python3-minimal_3.14.2-1_armhf.deb ... 64s Unpacking python3-minimal (3.14.2-1) over (3.13.7-1) ... 64s Setting up python3-minimal (3.14.2-1) ... 64s (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 ... 66827 files and directories currently installed.) 64s Preparing to unpack .../0-python3_3.14.2-1_armhf.deb ... 64s Unpacking python3 (3.14.2-1) over (3.13.7-1) ... 64s Selecting previously unselected package libpython3.14-stdlib:armhf. 64s Preparing to unpack .../1-libpython3.14-stdlib_3.14.2-1_armhf.deb ... 64s Unpacking libpython3.14-stdlib:armhf (3.14.2-1) ... 64s Selecting previously unselected package python3.14. 64s Preparing to unpack .../2-python3.14_3.14.2-1_armhf.deb ... 64s Unpacking python3.14 (3.14.2-1) ... 64s Preparing to unpack .../3-libpython3-stdlib_3.14.2-1_armhf.deb ... 64s Unpacking libpython3-stdlib:armhf (3.14.2-1) over (3.13.7-1) ... 64s Preparing to unpack .../4-libplymouth5_24.004.60+git20250831.4a3c171d-0ubuntu4_armhf.deb ... 64s Unpacking libplymouth5:armhf (24.004.60+git20250831.4a3c171d-0ubuntu4) over (24.004.60+git20250831.4a3c171d-0ubuntu3) ... 64s Preparing to unpack .../5-plymouth-theme-ubuntu-text_24.004.60+git20250831.4a3c171d-0ubuntu4_armhf.deb ... 64s Unpacking plymouth-theme-ubuntu-text (24.004.60+git20250831.4a3c171d-0ubuntu4) over (24.004.60+git20250831.4a3c171d-0ubuntu3) ... 64s Preparing to unpack .../6-plymouth_24.004.60+git20250831.4a3c171d-0ubuntu4_armhf.deb ... 65s Unpacking plymouth (24.004.60+git20250831.4a3c171d-0ubuntu4) over (24.004.60+git20250831.4a3c171d-0ubuntu3) ... 65s Setting up libpython3.14-stdlib:armhf (3.14.2-1) ... 65s Setting up libplymouth5:armhf (24.004.60+git20250831.4a3c171d-0ubuntu4) ... 65s Setting up python3.14 (3.14.2-1) ... 66s Setting up libpython3-stdlib:armhf (3.14.2-1) ... 66s Setting up python3-gdbm (3.14.2-1) ... 66s Setting up plymouth (24.004.60+git20250831.4a3c171d-0ubuntu4) ... 66s update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults 66s update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults 67s Setting up python3 (3.14.2-1) ... 67s Processing triggers for libc-bin (2.42-2ubuntu4) ... 67s Processing triggers for systemd (259-1ubuntu2) ... 67s Processing triggers for man-db (2.13.1-1) ... 69s Processing triggers for initramfs-tools (0.150ubuntu7) ... 69s Setting up plymouth-theme-ubuntu-text (24.004.60+git20250831.4a3c171d-0ubuntu4) ... 69s Processing triggers for initramfs-tools (0.150ubuntu7) ... 72s Reading package lists... 72s Building dependency tree... 72s Reading state information... 73s Solving dependencies... 73s The following packages will be REMOVED: 73s libpython3.13-minimal* libpython3.13-stdlib* python3.13* python3.13-minimal* 74s 0 upgraded, 0 newly installed, 4 to remove and 0 not upgraded. 74s After this operation, 21.3 MB disk space will be freed. 74s (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 ... 67257 files and directories currently installed.) 74s Removing python3.13 (3.13.11-1) ... 74s Removing libpython3.13-stdlib:armhf (3.13.11-1) ... 74s Removing python3.13-minimal (3.13.11-1) ... 75s Removing libpython3.13-minimal:armhf (3.13.11-1) ... 75s Processing triggers for man-db (2.13.1-1) ... 76s Processing triggers for systemd (259-1ubuntu2) ... 76s (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 ... 66518 files and directories currently installed.) 76s Purging configuration files for libpython3.13-minimal:armhf (3.13.11-1) ... 76s Purging configuration files for python3.13-minimal (3.13.11-1) ... 78s autopkgtest [00:56:57]: rebooting testbed after setup commands that affected boot 121s autopkgtest [00:57:40]: testbed running kernel: Linux 6.8.0-87-generic #88~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Oct 14 14:00:09 UTC 2 147s autopkgtest [00:58:06]: @@@@@@@@@@@@@@@@@@@@ apt-source timew 158s Get:1 http://ftpmaster.internal/ubuntu resolute/universe timew 1.9.1+ds.1-1 (dsc) [2082 B] 158s Get:2 http://ftpmaster.internal/ubuntu resolute/universe timew 1.9.1+ds.1-1 (tar) [260 kB] 158s Get:3 http://ftpmaster.internal/ubuntu resolute/universe timew 1.9.1+ds.1-1 (diff) [7232 B] 158s gpgv: Signature made Sun Nov 2 20:51:22 2025 UTC 158s gpgv: using RSA key E8FC295C86B8D7C049F97BA7A35DAFFBAD29E8DE 158s gpgv: Can't check signature: No public key 158s dpkg-source: warning: cannot verify inline signature for ./timew_1.9.1+ds.1-1.dsc: no acceptable signature found 159s autopkgtest [00:58:18]: testing package timew version 1.9.1+ds.1-1 161s autopkgtest [00:58:20]: build not needed 164s autopkgtest [00:58:23]: test timewarrior: preparing testbed 165s Reading package lists... 166s Building dependency tree... 166s Reading state information... 166s Solving dependencies... 167s The following NEW packages will be installed: 167s timewarrior 167s 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 167s Need to get 393 kB of archives. 167s After this operation, 862 kB of additional disk space will be used. 167s Get:1 http://ftpmaster.internal/ubuntu resolute/universe armhf timewarrior armhf 1.9.1+ds.1-1 [393 kB] 168s Fetched 393 kB in 0s (890 kB/s) 168s Selecting previously unselected package timewarrior. 168s (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 ... 66518 files and directories currently installed.) 168s Preparing to unpack .../timewarrior_1.9.1+ds.1-1_armhf.deb ... 168s Unpacking timewarrior (1.9.1+ds.1-1) ... 168s Setting up timewarrior (1.9.1+ds.1-1) ... 168s Processing triggers for man-db (2.13.1-1) ... 176s autopkgtest [00:58:35]: test timewarrior: [----------------------- 178s 0 man subdirectories contained newer manual pages. 178s 0 manual pages were added. 178s 0 stray cats were added. 178s 0 old database entries were purged. 207s # annotate.t 207s 1..12 207s ok 1 - annotate.t: Add an annotation to a closed interval 207s ok 2 - annotate.t: Add an annotation to multiple intervals 207s ok 3 - annotate.t: Add an annotation to an open interval 207s ok 4 - annotate.t: timew annotate should be able to work on both synthetic and non-synthetic intervals in the same invocation 207s ok 5 - annotate.t: Annotate a synthetic interval. 207s ok 6 - annotate.t: Call 'annotate' with embedded quotes 207s ok 7 - annotate.t: Call 'annotate' with identical ids 207s ok 8 - annotate.t: Calling annotate with a non-existent interval reference is an error 207s ok 9 - annotate.t: Calling 'annotate' without annotation removes annotation 207s ok 10 - annotate.t: Adding annotation with missing id on empty database is an error 207s ok 11 - annotate.t: Adding annotation with missing id on inactive time tracking is an error 207s ok 12 - annotate.t: Use open interval when adding annotation with missing id and active time tracking 207s /tmp/autopkgtest.dWIWYb/autopkgtest_tmp/test/simpletap/__init__.py:246: SyntaxWarning: "\w" is an invalid escape sequence. Such sequences will not work in the future. Did you mean "\\w"? A raw string is also an option. 207s message='Please use assert\w+ instead.') 207s # cancel.t 207s 1..2 207s ok 1 - cancel.t: Verify cancelling active time tracking 207s ok 2 - cancel.t: Verify cancelling inactive time tracking 207s # chart.t 207s 1..14 207s ok 1 - chart.t: test_chart_day_with_interval_over_day_border (TestChart) 207s ok 2 - chart.t: test_chart_day_with_interval_over_whole_day (TestChart) 207s ok 3 - chart.t: Chart should report error on invalid value for 'reports.day.cell' 207s ok 4 - chart.t: Chart should report error on invalid value for 'reports.day.lines' 207s ok 5 - chart.t: test_chart_day_with_less_than_one_hour_interval (TestChart) 207s ok 6 - chart.t: test_chart_day_with_less_than_one_hour_interval_at_day_start (TestChart) 207s ok 7 - chart.t: test_chart_day_with_less_than_one_minute_interval (TestChart) 207s ok 8 - chart.t: test_chart_day_with_less_than_one_minute_interval_at_day_start (TestChart) 207s ok 9 - chart.t: Chart should report error on invalid value for 'reports.month.cell' 207s ok 10 - chart.t: Chart should report error on invalid value for 'reports.month.lines' 207s ok 11 - chart.t: Chart should report error on invalid value for 'reports.week.cell' 207s ok 12 - chart.t: Chart should report error on invalid value for 'reports.week.lines' 207s ok 13 - chart.t: Chart should print warning if no data in range 207s ok 14 - chart.t: Chart should print warning if no data in range and exclusions and time specified 207s # cli.t 207s 1..5 207s ok 1 - cli.t: Call a non-existing TimeWarrior command should be an error 207s ok 2 - cli.t: Call 'timew' with active time tracking 207s ok 3 - cli.t: Call 'timew' without active time tracking 207s ok 4 - cli.t: Verify that calling 'timew' the first time returns exit code 0 207s ok 5 - cli.t: Verify that calling 'timew' recreates tag database 207s # clock.t 207s 1..5 207s ok 1 - clock.t: Verify that 'start' closes an open interval and starts a new one 207s ok 2 - clock.t: Verify that 'start' creates an open interval 207s ok 3 - clock.t: Verify that start/stop creates and closes an interval 207s ok 4 - clock.t: Verify that starting multiple tags and stopping one leaves an open interval 207s ok 5 - clock.t: Verify that stopping an unstarted interval does nothing 207s # config.t 207s 1..21 207s ok 1 - config.t: Test that an integer remains an integer 207s ok 2 - config.t: Test resetting a known hierarchical name 207s ok 3 - config.t: Test setting a known name 207s ok 4 - config.t: Test setting a known hierarchical name, new value 207s ok 5 - config.t: Test setting a known hierarchical name, blank value 207s ok 6 - config.t: Test setting a known hierarchical name, same value 207s ok 7 - config.t: Test setting a known name, new value 207s ok 8 - config.t: Test setting a known name, blank value 207s ok 9 - config.t: Test setting a known name, same value 207s ok 10 - config.t: Test setting a new hierarchical name, blank value 207s ok 11 - config.t: Test setting a new hierarchical name, new value 207s ok 12 - config.t: Test setting a new hierarchical name, same value 207s ok 13 - config.t: Test setting a new name, blank value 207s ok 14 - config.t: Test setting a new name, new value 207s ok 15 - config.t: Test setting a new name, new value internal 207s ok 16 - config.t: Test setting a new name, same value 207s ok 17 - config.t: Test trivial config - should only show defaults 207s ok 18 - config.t: Test unsetting a known hierarchical name 207s ok 19 - config.t: Test unsetting a known name 207s ok 20 - config.t: Test unsetting a new hierarchical name, no value 207s ok 21 - config.t: Test unsetting a new name, no value 207s # delete.t 207s 1..6 207s ok 1 - delete.t: Delete a single closed interval 207s ok 2 - delete.t: Delete an interval which encloses a month border 207s ok 3 - delete.t: Delete a mix of open/closed intervals 207s ok 4 - delete.t: Delete a single open interval 207s ok 5 - delete.t: Delete an open interval that spans over an exclusion 207s ok 6 - delete.t: Calling delete with a non-existent interval reference is an error 207s # dom.t 207s 1..81 207s ok 1 - dom.t: Test 'dom.active' with an active interval 207s ok 2 - dom.t: Test 'dom.active.duration' with active track 207s ok 3 - dom.t: Test 'dom.active.duration' with no active track 207s ok 4 - dom.t: Test 'dom.active' without an active interval 207s ok 5 - dom.t: Test 'dom.active.json' with an active interval 207s ok 6 - dom.t: Test 'dom.active.json' without an active interval 207s ok 7 - dom.t: Test 'dom.active.start' with active track 207s ok 8 - dom.t: Test 'dom.active.start' with no active track 207s ok 9 - dom.t: Test 'dom.active.tag.N' with no active track 207s ok 10 - dom.t: Test 'dom.active.tag.N' with two tags 207s ok 11 - dom.t: Test 'dom.active.tag.N' with zero tags 207s ok 12 - dom.t: Test 'dom.active.tag.count' with no active track 207s ok 13 - dom.t: Test 'dom.active.tag.count' with two tags 207s ok 14 - dom.t: Test 'dom.active.tag.count' with zero tags 207s ok 15 - dom.t: Test 'dom.active.tags.N' without an active interval 207s ok 16 - dom.t: Test 'dom.active.tags.N' with invalid index 207s ok 17 - dom.t: Test 'dom.active.tags.N' with one tag 207s ok 18 - dom.t: Test 'dom.active.tags.N' with two tags 207s ok 19 - dom.t: Test 'dom.active.tags.N' with zero tags 207s ok 20 - dom.t: Test 'dom.active.tags.count' without an active interval 207s ok 21 - dom.t: Test 'dom.active.tags.count' with one tag 207s ok 22 - dom.t: Test 'dom.active.tags.count' with two tags 207s ok 23 - dom.t: Test 'dom.active.tags.count' with zero tags 207s ok 24 - dom.t: Test 'dom.active.tags' without an active interval 207s ok 25 - dom.t: Test 'dom.active.tags' with one tag 207s ok 26 - dom.t: Test 'dom.active.tags' with two tags 207s ok 27 - dom.t: Test 'dom.active.tags' with a tag containing spaces 207s ok 28 - dom.t: Test 'dom.active.tags' with zero tags 207s ok 29 - dom.t: Test 'dom.tag.N' with no data 207s ok 30 - dom.t: Test 'dom.tag.N' with two tags 207s ok 31 - dom.t: Test 'dom.tag.count' with two tags 207s ok 32 - dom.t: Test 'dom.tag.count' with zero tags 207s ok 33 - dom.t: Test 'dom.tags.N' with no data 207s ok 34 - dom.t: Test 'dom.tags.N' with two tags 207s ok 35 - dom.t: Test 'dom.tags.count' with two tags 207s ok 36 - dom.t: Test 'dom.tags.count' with zero tags 207s ok 37 - dom.t: Test 'dom.active' without an active interval 207s ok 38 - dom.t: Test 'dom.NOPE' which is unrecognized 207s ok 39 - dom.t: Test 'dom.rc.missing' with no value 207s ok 40 - dom.t: Test 'dom.rc.debug' 207s ok 41 - dom.t: Test 'dom.tracked.N.duration' with open track 207s ok 42 - dom.t: Test 'dom.tracked.N.duration' of closed track 207s ok 43 - dom.t: Test 'dom.tracked.N.end' with active track 207s ok 44 - dom.t: Test 'dom.tracked.N.end' with active track 207s ok 45 - dom.t: Test 'dom.tracked.N.end' with no active track 207s ok 46 - dom.t: Test 'dom.tracked.N.json' of open track 207s ok 47 - dom.t: Test 'dom.tracked.N.json' of closed track 207s ok 48 - dom.t: Test 'dom.tracked.N.start' with active track 207s ok 49 - dom.t: Test 'dom.tracked.N.start' with no active track 207s ok 50 - dom.t: Test 'dom.tracked.N.tag.N' with no data 207s ok 51 - dom.t: Test 'dom.tracked.N.tag.N' with two tags 207s ok 52 - dom.t: Test 'dom.tracked.N.tag.count' with two tags 207s ok 53 - dom.t: Test 'dom.tracked.N.tag.count' with zero tags 207s ok 54 - dom.t: Test 'dom.tracked.N.tags.M' with invalid index 207s ok 55 - dom.t: Test 'dom.tracked.N.tags.M' with no data 207s ok 56 - dom.t: Test 'dom.tracked.N.tags.M' with one tag 207s ok 57 - dom.t: Test 'dom.tracked.N.tags.M' with two tags 207s ok 58 - dom.t: Test 'dom.tracked.N.tags.M' with zero tags 207s ok 59 - dom.t: Test 'dom.tracked.N.tags' with active interval (first in list) 207s ok 60 - dom.t: Test 'dom.tracked.N.tags.count' with no data 207s ok 61 - dom.t: Test 'dom.tracked.N.tags.count' with one tag 207s ok 62 - dom.t: Test 'dom.tracked.N.tags.count' with two tags 207s ok 63 - dom.t: Test 'dom.tracked.N.tags.count' with zero tags 207s ok 64 - dom.t: Test 'dom.tracked.N.tags' with no data 207s ok 65 - dom.t: Test 'dom.tracked.N.tags' with one tag 207s ok 66 - dom.t: Test 'dom.tracked.N.tags' with two tags 207s ok 67 - dom.t: Test 'dom.tracked.N.tags' with a tag containing spaces 207s ok 68 - dom.t: Test 'dom.tracked.N.tags' with zero tags 207s ok 69 - dom.t: Test 'dom.tracked.count' with an active interval 207s ok 70 - dom.t: Test 'dom.tracked.ids' 207s ok 71 - dom.t: Test 'dom.tracked.ids' filtered by tag 207s ok 72 - dom.t: Test 'dom.tracked.ids' filtered by time 207s ok 73 - dom.t: Test 'dom.tracked.ids' with empty database 207s ok 74 - dom.t: Test 'dom.tracked.tags.count' with no tags 207s ok 75 - dom.t: Test 'dom.tracked.tags.count' with tags 207s ok 76 - dom.t: Test 'dom.tracked.tags' with tags filtered by tag 207s ok 77 - dom.t: Test 'dom.tracked.tags' with tags filtered by time 207s ok 78 - dom.t: Test 'dom.tracked.tags' with empty database 207s ok 79 - dom.t: Test 'dom.tracked.tags' with no tags 207s ok 80 - dom.t: Test 'dom.tracked.tags' with a tag with quotes 207s ok 81 - dom.t: Test 'dom.tracked.tags' with tags 207s # extensions.t 207s 1..3 207s ok 1 - extensions.t: test_cli (TestExtensions) 207s ok 2 - extensions.t: Default range is applied when no range is given on the command line 207s ok 3 - extensions.t: Default range is overridden when range is given on the command line 207s # fill.t 207s 1..4 207s ok 1 - fill.t: Expand first interval to fill gaps 207s ok 2 - fill.t: Expand interval to fill gaps 207s ok 3 - fill.t: Expand latest interval to fill gaps 207s ok 4 - fill.t: Expand open interval to fill gaps 207s # gaps.t 207s 1..3 207s ok 1 - gaps.t: Add one interval and export it as-is 207s ok 2 - gaps.t: Add one interval, with exclusions 207s ok 3 - gaps.t: Test trivial gaps 207s # ids.t 207s 1..3 207s ok 1 - ids.t: test_ids_in_output (TestIds) 207s ok 2 - ids.t: Count IDs when the last interval is empty 207s ok 3 - ids.t: test_should_fail_on_zero_id (TestIds) 207s # join.t 207s 1..3 207s ok 1 - join.t: Join closed and open interval 207s ok 2 - join.t: Join two closed intervals 207s ok 3 - join.t: Calling join with a non-existent interval reference is an error 207s # modify.t 207s 1..22 207s ok 1 - modify.t: Attempt to modify end of an open interval 207s ok 2 - modify.t: Call modify end with :fill hint to fill end to adjacent interval 207s ok 3 - modify.t: Call modify end with :fill hint when there is no next interval 207s ok 4 - modify.t: Modify with invalid subcommand 207s ok 5 - modify.t: `timew modify` should handle moving start times within an exclusion. 207s ok 6 - modify.t: `timew modify` should be able to move start of non-synthetic interval in presence of synthetic intervals. 207s ok 7 - modify.t: `timew modify` should be able to move start of synthetic interval in presence of non-synthetic intervals. 207s ok 8 - modify.t: Move start time to overlap with preceeding interval. 207s ok 9 - modify.t: Move end time to overlap with following interval. 207s ok 10 - modify.t: Modify without a time to stop at 207s ok 11 - modify.t: Call modify with range subcommand 207s ok 12 - modify.t: Call modify range with :fill hint to expand interval to fill gaps 207s ok 13 - modify.t: Call modify range with :fill hint when there are no adjacent intervals 207s ok 14 - modify.t: Call modify range with a point in time is an error 207s ok 15 - modify.t: Modify should not move end before start. 207s ok 16 - modify.t: Shorten the interval by one hour. 207s ok 17 - modify.t: Modify start of open interval 207s ok 18 - modify.t: Modify should not move start beyond end. 207s ok 19 - modify.t: Call modify start with :fill hint to backfill start to adjacent interval 207s ok 20 - modify.t: Call modify start with :fill hint when there is no previous interval 207s ok 21 - modify.t: Increase start time within interval. 207s ok 22 - modify.t: Calling modify with a non-existent interval reference is an error 207s # quiet.t 207s 1..2 207s ok 1 - quiet.t: Default command should obey :quiet hint 207s ok 2 - quiet.t: Stop command should error on no active tracking 207s # resize.t 207s 1..5 207s ok 1 - resize.t: Calling resize with a non-existent interval reference is an error 207s ok 2 - resize.t: Resize a closed interval 207s ok 3 - resize.t: Resize an interval to cover a full month 207s ok 4 - resize.t: Resize an interval to enclose a month border 207s ok 5 - resize.t: Resize an open interval 207s # retag.t 207s 1..21 207s ok 1 - retag.t: Calling retag with a non-existent interval reference is an error 207s ok 2 - retag.t: Retag multiple intervals with multiple tags 207s ok 3 - retag.t: Retag multiple intervals with a single tag 207s ok 4 - retag.t: Retag a synthetic interval. 207s ok 5 - retag.t: Retag a tagged, closed interval with multiple tag 207s ok 6 - retag.t: Retag a tagged, closed interval with a single tag 207s ok 7 - retag.t: Retag a tagged, open interval with a single tag 207s ok 8 - retag.t: Retag a tagged, open interval with a single tag 207s ok 9 - retag.t: Retag a tagless, closed interval with multiple tags 207s ok 10 - retag.t: Retag a tagless, closed interval with a single tag 207s ok 11 - retag.t: Retag a tagless, open interval with multiple tags 207s ok 12 - retag.t: Retag a tagless, open interval with a single tag 207s ok 13 - retag.t: Call 'retag' with an embedded double quote sign 207s ok 14 - retag.t: Call 'retag' with identical ids 207s ok 15 - retag.t: Call 'retag' with new tag 207s ok 16 - retag.t: Call 'retag' with an embedded percent sign 207s ok 17 - retag.t: Call 'retag' with previous tag 207s ok 18 - retag.t: Retagging interval with missing id on empty database is an error 207s ok 19 - retag.t: Retagging with missing id on inactive time tracking is an error 207s ok 20 - retag.t: Calling command 'retag' without tags is an error 207s ok 21 - retag.t: Use open interval when retagging with missing id and active time tracking 207s # split.t 207s 1..3 207s ok 1 - split.t: Calling split with a non-existent interval reference is an error 207s ok 2 - split.t: Split a closed interval 207s ok 3 - split.t: Split an open interval 207s # start.t 207s 1..22 207s ok 1 - start.t: Add an open interval with fill 207s ok 2 - start.t: Add one interval that encloses an exclusion with day change 207s ok 3 - start.t: Add one interval that encloses an exclusion, and is therefore flattened 207s ok 4 - start.t: Add one interval that ends within an exclusion and encloses an exclusion 207s ok 5 - start.t: Add one interval that starts within an exclusion and encloses an exclusion 207s ok 6 - start.t: Start tracking after an interval which encloses a month border 207s ok 7 - start.t: Start will return an error when passed the :all hint 207s ok 8 - start.t: Start will not silently fail when tags are the same and time is earlier 207s ok 9 - start.t: Test 'start' with fewer tags than current tracking should start new tracking 207s ok 10 - start.t: Test 'start' with more tags than current tracking should start new tracking 207s ok 11 - start.t: Call 'start' with new tag 207s ok 12 - start.t: Start will allow tags encased in quotes 207s ok 13 - start.t: Test start with already open interval, which should be auto-stopped 207s ok 14 - start.t: Test timed start with already open interval, which should be auto-stopped at given datetime 207s ok 15 - start.t: Call 'start' with previous tag 207s ok 16 - start.t: Test 'start' with same tags as current tracking should not start new tracking 207s ok 17 - start.t: Test start with start date earlier than closed interval 207s ok 18 - start.t: Start will honor the :adjust hint when overlapping an open interval 207s ok 19 - start.t: Test start with start date earlier than open interval 207s ok 20 - start.t: Test timed start future 207s ok 21 - start.t: Test timed start past 207s ok 22 - start.t: Test trivial start 207s # stop.t 207s 1..14 207s ok 1 - stop.t: Add one interval that encloses an exclusion with day change 207s ok 2 - stop.t: Add one interval that encloses an exclusion, and is therefore flattened 207s ok 3 - stop.t: Add one interval that ends within an exclusion and encloses an exclusion 207s ok 4 - stop.t: Add one interval that starts within an exclusion and encloses an exclusion 207s ok 5 - stop.t: Start three tags, stop 207s ok 6 - stop.t: Start three tags, stop fourth 207s ok 7 - stop.t: Start empty, stop with tag 207s ok 8 - stop.t: Start three tags, stop three 207s ok 9 - stop.t: Stop tracking of an interval which encloses a month border 207s ok 10 - stop.t: Start three tags, stop two 207s ok 11 - stop.t: Verify stop with :all hint is an error 207s ok 12 - stop.t: Verify stop date before start date is an error 207s ok 13 - stop.t: Stop does not work with ids, suggest modify command instead 207s ok 14 - stop.t: Test timed stop 207s # test_totals.t 207s 1..17 207s ok 1 - test_totals.t: Test format_seconds with 1 hour 207s ok 2 - test_totals.t: Test format_seconds with 1 minute 207s ok 3 - test_totals.t: Test format_seconds with less than 1 minute 207s ok 4 - test_totals.t: Test format_seconds with more than 1 hour 207s ok 5 - test_totals.t: totals extension should report error on empty database (colored) 207s ok 6 - test_totals.t: totals extension should report error on emtpy range (colored) 207s ok 7 - test_totals.t: totals extension should print report for filled database (colored) 207s ok 8 - test_totals.t: totals extension should handle interval with empty tag list (colored) 207s ok 9 - test_totals.t: totals extension should handle interval without tags (colored) 207s ok 10 - test_totals.t: totals extension should handle open interval (colored) 207s ok 11 - test_totals.t: totals extension should report error on empty database 207s ok 12 - test_totals.t: totals extension should report error on emtpy range 207s ok 13 - test_totals.t: totals extension should print report for filled database 207s ok 14 - test_totals.t: totals extension should handle interval with empty tag list 207s ok 15 - test_totals.t: totals extension should handle interval without tags 207s ok 16 - test_totals.t: totals extension should handle open interval 207s ok 17 - test_totals.t: totals extension should print report for time delta larger than 24 hours 207s # track.t 207s 1..15 207s ok 1 - track.t: Add closed interval into a gap with fill 207s ok 2 - track.t: Add closed interval into a gap without fill 207s ok 3 - track.t: Test adding an overlapping interval fails 207s ok 4 - track.t: Add one interval that encloses an exclusion, and is therefore flattened 207s ok 5 - track.t: Add one interval that extends at either end into exclusions 207s ok 6 - track.t: Add one interval and export it as-is 207s ok 7 - track.t: Test adding time in the past, using only times 207s ok 8 - track.t: Track an interval which encloses a month border 207s ok 9 - track.t: Command track with adjust should overwrite enclosed interval with same end 207s ok 10 - track.t: Command track with adjust should overwrite enclosed interval with same start 207s ok 11 - track.t: Command track with adjust should overwrite identical interval 207s ok 12 - track.t: Test track with future interval is not an error 207s ok 13 - track.t: Call 'track' with new tag 207s ok 14 - track.t: Call 'track' with previous tag 207s ok 15 - track.t: Test trivial track 207s # undo.t 207s 1..29 207s ok 1 - undo.t: Test undo of command 'annotate' 207s ok 2 - undo.t: Test undo of command 'annotate' with embedded quotes 207s ok 3 - undo.t: Test undo of command 'cancel' 207s ok 4 - undo.t: Test undo of command 'config' (add name) 207s ok 5 - undo.t: Test undo of command 'config' (remove name) 207s ok 6 - undo.t: Test undo of command 'config' (remove value) 207s ok 7 - undo.t: Test undo of command 'config' (set value) 207s ok 8 - undo.t: Test undo of consecutive commands 'start' 207s ok 9 - undo.t: Test undo of command 'continue' 207s ok 10 - undo.t: Test undo of command 'delete' 207s ok 11 - undo.t: Test undo of command 'join' 207s ok 12 - undo.t: Test undo only stores the last entry when journal.size == 1 207s ok 13 - undo.t: Test undo only stores two entries when journal.size == 2 207s ok 14 - undo.t: Test undo does not save any entries when journal.size == 0 207s ok 15 - undo.t: Test undo handles more than two entries when journal.size == -1 207s ok 16 - undo.t: Test undo of command 'lengthen' 207s ok 17 - undo.t: Test undo of command 'move' 207s ok 18 - undo.t: Test that disabling the journal clears it. 207s ok 19 - undo.t: Test undo of command 'resize' 207s ok 20 - undo.t: Test undo of command 'shorten' 207s ok 21 - undo.t: Test undo of command 'split' 207s ok 22 - undo.t: Test undo of command 'start' 207s ok 23 - undo.t: Test undo of 'start' with embedded quotes in tag 207s ok 24 - undo.t: Test undo of 'start' with tag enclosed in backslashes 207s ok 25 - undo.t: Test undo of command 'stop' 207s ok 26 - undo.t: Test undo of command 'tag' 207s ok 27 - undo.t: Test undo of command 'track' 207s ok 28 - undo.t: Test undo of command 'track' with adjust hint 207s ok 29 - undo.t: Test undo of command 'untag' 207s # untag.t 207s 1..14 207s ok 1 - untag.t: Calling untag with a non-existent interval reference is an error 207s ok 2 - untag.t: Remove a tag from a closed interval 207s ok 3 - untag.t: Remove a tag from multiple intervals 207s ok 4 - untag.t: Remove a tag from an open interval 207s ok 5 - untag.t: Remove tags from a closed interval 207s ok 6 - untag.t: Remove tags from multiple intervals 207s ok 7 - untag.t: Remove tags from an open interval 207s ok 8 - untag.t: Removing tag with missing id on empty database is an error 207s ok 9 - untag.t: Removing tag with missing id on inactive time tracking is an error 207s ok 10 - untag.t: Calling command 'untag' without tags is an error 207s ok 11 - untag.t: Use open interval when removing tags with missing id and active time tracking 207s ok 12 - untag.t: Untag a synthetic interval. 207s ok 13 - untag.t: Call 'untag' with identical ids 207s ok 14 - untag.t: Call 'untag' with identical tags 207s # version.t 207s 1..1 207s ok 1 - version.t: Verify that 'timew --version' returns something valid 207s # write-failure.t 207s 1..1 207s ok 1 - write-failure.t: write failures shall not corrupt the database # skip 207s # SKIP: 207s # fiu-run is not installed 207s # continue.t 207s 1..22 207s ok 1 - continue.t: Verify that continuing a closed interval works # skip 207s # SKIP: 207s # Time-of-day sensitive 207s ok 2 - continue.t: Verify that continuing an empty db is an error # skip 207s # SKIP: 207s # Time-of-day sensitive 207s ok 3 - continue.t: Verify that continuing an open interval is an error # skip 207s # SKIP: 207s # Time-of-day sensitive 207s ok 4 - continue.t: Verify that continuing with the :adjust hint works # skip 207s # SKIP: 207s # Time-of-day sensitive 207s ok 5 - continue.t: Verify that continue fails with time in the future # skip 207s # SKIP: 207s # Time-of-day sensitive 207s ok 6 - continue.t: Verify that continuing a specified interval with date continues at given date # skip 207s # SKIP: 207s # Time-of-day sensitive 207s ok 7 - continue.t: Verify that continue with a range adds a copy with same tags # skip 207s # SKIP: 207s # Time-of-day sensitive 207s ok 8 - continue.t: Verify that continuing with id is idempotent # skip 207s # SKIP: 207s # Time-of-day sensitive 207s ok 9 - continue.t: Verify that continuing a specified interval stops active tracking # skip 207s # SKIP: 207s # Time-of-day sensitive 207s ok 10 - continue.t: Verify that continuing a specified interval works # skip 207s # SKIP: 207s # Time-of-day sensitive 207s ok 11 - continue.t: Verify that 'continue' with invalid id is an error # skip 207s # SKIP: 207s # Time-of-day sensitive 207s ok 12 - continue.t: Verify that 'continue' with invalid tag is an error # skip 207s # SKIP: 207s # Time-of-day sensitive 207s ok 13 - continue.t: Verify that 'continue' with multiple ids is an error # skip 207s # SKIP: 207s # Time-of-day sensitive 207s ok 14 - continue.t: Verify that 'continue' with multiple tags works # skip 207s # SKIP: 207s # Time-of-day sensitive 207s ok 15 - continue.t: Verify that continuing an interval specified by tag with date continues at given date # skip 207s # SKIP: 207s # Time-of-day sensitive 207s ok 16 - continue.t: Verify that continuing an interval by specifying id and tags is an error # skip 207s # SKIP: 207s # Time-of-day sensitive 207s ok 17 - continue.t: Verify that continue an interval specified by tag with a range adds a copy with same tags at given range # skip 207s # SKIP: 207s # Time-of-day sensitive 207s ok 18 - continue.t: Verify that continuing with id is idempotent # skip 207s # SKIP: 207s # Time-of-day sensitive 207s ok 19 - continue.t: Verify that continuing a specified interval stops active tracking # skip 207s # SKIP: 207s # Time-of-day sensitive 207s ok 20 - continue.t: Verify that continuing a specified interval works # skip 207s # SKIP: 207s # Time-of-day sensitive 207s ok 21 - continue.t: Verify that continuing without the :adjust hint fails to overwrite # skip 207s # SKIP: 207s # Time-of-day sensitive 207s ok 22 - continue.t: Calling continue with a non-existent interval reference is an error # skip 207s # SKIP: 207s # Time-of-day sensitive 207s # export.t 207s 1..9 207s ok 1 - export.t: Changing exclusions does change open interval 207s ok 2 - export.t: Changing exclusions does not change flattened intervals # skip 207s # SKIP: 207s # flaky 207s ok 3 - export.t: Export with filter that is contained by interval 207s ok 4 - export.t: Interval with tag with quote 207s ok 5 - export.t: Interval with tag with spaces 207s ok 6 - export.t: Give specific IDs on CLI 207s ok 7 - export.t: Export with tag filter 207s ok 8 - export.t: Single unobstructed interval 207s ok 9 - export.t: Test trivial export 207s # lengthen.t 207s 1..5 207s ok 1 - lengthen.t: Lengthen an interval to enclose a month border 207s ok 2 - lengthen.t: Lengthen a closed interval 207s ok 3 - lengthen.t: Lengthen an open interval 207s ok 4 - lengthen.t: Lengthen a synthetic interval. # skip 207s # SKIP: 207s # time sensitive 207s ok 5 - lengthen.t: Calling lengthen with a non-existent interval reference is an error 207s # move.t 207s 1..10 207s ok 1 - move.t: Move a closed interval backwards in time 207s ok 2 - move.t: Move a closed interval forwards in time 207s ok 3 - move.t: Move an interval over another with :adjust 207s ok 4 - move.t: Move an interval to enclose a month border 207s ok 5 - move.t: Move an open interval backwards in time 207s ok 6 - move.t: Move an open interval backwards to specific time. 207s ok 7 - move.t: Move an open interval forwards in time 207s ok 8 - move.t: Move a synthetic interval away from exclusion # skip 207s # SKIP: 207s # time sensitive 207s ok 9 - move.t: timew move should work with both synthetic and non-synethic intervals in database 207s ok 10 - move.t: Calling move with a non-existent interval reference is an error 207s /tmp/autopkgtest.dWIWYb/autopkgtest_tmp/test/move.t:134: SyntaxWarning: "\d" is an invalid escape sequence. Such sequences will not work in the future. Did you mean "\\d"? A raw string is also an option. 207s self.assertRegex(out, 'Moved @1 to 2017-03-01T\d\d:\d\d:\d\d\n') 207s # shorten.t 207s 1..8 207s ok 1 - shorten.t: Over-shorten interval is an error 207s ok 2 - shorten.t: Calling shorten with a non-existent interval reference is an error 207s ok 3 - shorten.t: Shorten an interval which encloses a month border 207s ok 4 - shorten.t: Shorten a closed interval 207s ok 5 - shorten.t: Shorten interval to zero 207s ok 6 - shorten.t: Shorten an interval moved to span an exclusion. 207s ok 7 - shorten.t: Shorten an open interval 207s ok 8 - shorten.t: Shorten a synthetic interval. # skip 207s # SKIP: 207s # time sensitive 207s # summary.t 207s 1..19 207s ok 1 - summary.t: Summary should print warning if no data in range 207s not ok 2 - summary.t: Summary should be printed if data is available 207s # FAIL: AssertionError on file /tmp/autopkgtest.dWIWYb/autopkgtest_tmp/test/summary.t line 60 in test_filled: 'self.assertRegex(out, r"""': 207s # Regex didn't match: ' 207s # Wk ?Date Day ID Tags Annotation ?Start ?End Time Total 207s # [ -]+ 207s # W\\d{1,2} \\d{4}-\\d{2}-\\d{2} .{3} @1 ?\\d{1,2}:\\d{2}:\\d{2} \\d{1,2}:\\d{2}:\\d{2} \\d{1,2}:\\d{2}:\\d{2} \\d{1,2}:\\d{2}:\\d{2}( 207s # W\\d{1,2} \\d{4}-\\d{2}-\\d{2} .{3} @1 ?\\d{1,2}:\\d{2}:\\d{2} \\d{1,2}:\\d{2}:\\d{2} \\d{1,2}:\\d{2}:\\d{2} \\d{1,2}:\\d{2}:\\d{2})? 207s # 207s # [ ]+1:00:0[01] 207s # ' not found in ' 207s # Wk Date Day ID Tags Annotation Start End Time Total 207s # -- ---------- --- -- ---- ---------- -------- ------- ------- ------- 207s # W4 2026-01-22 Thu @1 23:59:01 0:00:00 0:00:59 0:00:59 207s # W4 2026-01-23 Fri @1 0:00:00 0:59:01 0:59:01 0:59:01 207s # 207s # 1:00:00 207s # 207s # ' 207s ok 3 - summary.t: Summary correctly wraps long annotation containing multibyte characters 207s ok 4 - summary.t: Summary should print data filtered by tag when tags are non-contiguous 207s ok 5 - summary.t: Summary should work with :all hint # skip 207s # SKIP: 207s # fails w1-9 207s ok 6 - summary.t: Summary should handle :all hint with first interval that starts later in day than the latest interval 207s ok 7 - summary.t: Summary should print closed interval with :all hint 207s ok 8 - summary.t: Summary should print data filtered by date 207s ok 9 - summary.t: Summary should skip days with no data 207s ok 10 - summary.t: Summary should display empty intervals at midnight 207s ok 11 - summary.t: Summary should print data filtered by id 207s ok 12 - summary.t: Summary should work with 'today' # skip 207s # SKIP: 207s # fails w1-9 207s ok 13 - summary.t: Summary should work with 'yesterday' # skip 207s # SKIP: 207s # fails w1-9 207s not ok 14 - summary.t: Summary should print open interval 207s # FAIL: AssertionError on file /tmp/autopkgtest.dWIWYb/autopkgtest_tmp/test/summary.t line 98 in test_with_open_interval: 'self.assertRegex(out, r"""': 207s # Regex didn't match: ' 207s # Wk ?Date Day ID Tags Annotation ?Start End Time Total 207s # [ -]+ 207s # W\\d{1,2} \\d{4}-\\d{2}-\\d{2} .{3} @1 ?\\d{1,2}:\\d{2}:\\d{2}[ ]+- \\d{1,2}:\\d{2}:\\d{2} \\d{1,2}:\\d{2}:\\d{2}( 207s # W\\d{1,2} \\d{4}-\\d{2}-\\d{2} .{3} @1 ?\\d{1,2}:\\d{2}:\\d{2}[ ]+- \\d{1,2}:\\d{2}:\\d{2} \\d{1,2}:\\d{2}:\\d{2})? 207s # 207s # [ ]+1:00:0[01] 207s # ' not found in ' 207s # Wk Date Day ID Tags Annotation Start End Time Total 207s # -- ---------- --- -- ---- ---------- -------- --- ------- ------- 207s # W4 2026-01-22 Thu @1 23:59:02 - 0:00:58 0:00:58 207s # W4 2026-01-23 Fri @1 0:00:00 - 0:59:02 0:59:02 207s # 207s # 1:00:00 207s # 207s # ' 207s not ok 15 - summary.t: Summary should print open interval with :all hint 207s # FAIL: AssertionError on file /tmp/autopkgtest.dWIWYb/autopkgtest_tmp/test/summary.t line 117 in test_with_open_interval_and_all_hint: 'self.assertRegex(out, r"""': 207s # Regex didn't match: ' 207s # Wk ?Date Day ID Tags Annotation ?Start End Time Total 207s # [ -]+ 207s # W\\d{1,2} \\d{4}-\\d{2}-\\d{2} .{3} @1 ?\\d{1,2}:\\d{2}:\\d{2}[ ]+- \\d{1,2}:\\d{2}:\\d{2} \\d{1,2}:\\d{2}:\\d{2}( 207s # W\\d{1,2} \\d{4}-\\d{2}-\\d{2} .{3} @1 ?\\d{1,2}:\\d{2}:\\d{2}[ ]+- \\d{1,2}:\\d{2}:\\d{2} \\d{1,2}:\\d{2}:\\d{2})? 207s # 207s # [ ]+1:00:0[01] 207s # ' not found in ' 207s # Wk Date Day ID Tags Annotation Start End Time Total 207s # -- ---------- --- -- ---- ---------- -------- --- ------- ------- 207s # W4 2026-01-22 Thu @1 23:59:02 - 0:00:58 0:00:58 207s # W4 2026-01-23 Fri @1 0:00:00 - 0:59:02 0:59:02 207s # 207s # 1:00:00 207s # 207s # ' 207s ok 16 - summary.t: Summary should print data filtered by date range 207s ok 17 - summary.t: Summary should display daily total 207s ok 18 - summary.t: Summary should print data filtered by tag 207s ok 19 - summary.t: Summary should display week change 207s # tag.t 207s 1..18 207s ok 1 - tag.t: Add a tag to a closed interval 207s ok 2 - tag.t: Add a tag to multiple intervals 207s ok 3 - tag.t: Add a tag to an open interval 207s ok 4 - tag.t: Add tags to a closed interval 207s ok 5 - tag.t: Add tags to multiple intervals 207s ok 6 - tag.t: Add tags to an open interval 207s ok 7 - tag.t: Calling tag with a non-existent interval reference is an error 207s ok 8 - tag.t: Adding tag with missing id on empty database is an error 207s ok 9 - tag.t: Adding tag with missing id on inactive time tracking is an error 207s ok 10 - tag.t: Calling command 'tag' without tags is an error 207s ok 11 - tag.t: Use open interval when adding tags with missing id and active time tracking 207s ok 12 - tag.t: Tag a synthetic interval. # skip 207s # SKIP: 207s # time sensitive 207s ok 13 - tag.t: Call 'tag' with an embedded double quote sign 207s ok 14 - tag.t: Call 'tag' with identical ids 207s ok 15 - tag.t: Call 'tag' with identical tags 207s ok 16 - tag.t: Call 'tag' with new tag 207s ok 17 - tag.t: Call 'tag' with an embedded percent sign 207s ok 18 - tag.t: Call 'tag' with previous tag 207s # tags.t 207s 1..7 207s ok 1 - tags.t: Test quiet feedback for new tag 207s ok 2 - tags.t: Test quiet feedback for repeat tag 207s ok 3 - tags.t: Test verbose feedback for new tag 207s ok 4 - tags.t: Test verbose feedback for repeat tag 207s ok 5 - tags.t: Test that tags command filtering excludes tags that are outside the filter range # skip 207s # SKIP: 207s # time sensitive 207s ok 6 - tags.t: Test the two tags used are both listed 207s ok 7 - tags.t: Test trivial tags 207s Passed: 391 207s Failed: 3 207s Unexpected successes: 0 207s Skipped: 32 207s Expected failures: 0 207s Runtime: 28.50 seconds 207s autopkgtest [00:59:06]: test timewarrior: -----------------------] 212s autopkgtest [00:59:11]: test timewarrior: - - - - - - - - - - results - - - - - - - - - - 212s timewarrior FAIL non-zero exit status 1 216s autopkgtest [00:59:15]: @@@@@@@@@@@@@@@@@@@@ summary 216s timewarrior FAIL non-zero exit status 1