changeset 407:1b4056ee7b48

Unittests for importing timestamps. Check to handle erroneous input lines also. A real-world example used for testing.
author Franz Glasner <fzglas.hg@dom66.de>
date Sun, 26 Jan 2020 14:38:30 +0100
parents 90bdc5eff028
children 379050873141
files tests/lib-test-timestamps.sh tests/test-timestamps.t
diffstat 2 files changed, 220 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/tests/lib-test-timestamps.sh	Sun Jan 26 14:02:46 2020 +0100
+++ b/tests/lib-test-timestamps.sh	Sun Jan 26 14:38:30 2020 +0100
@@ -161,3 +161,15 @@
     fi
     cd ..
 }
+
+
+#
+# Prepare a bare repo
+#
+# prepare_bare_repo REPO SHOW_OUTPUT
+#
+prepare_bare_repo() {
+    _check_environment || return 1
+    SHOW_OUTPUT="$2"
+    hg init "$1"
+}
--- a/tests/test-timestamps.t	Sun Jan 26 14:02:46 2020 +0100
+++ b/tests/test-timestamps.t	Sun Jan 26 14:38:30 2020 +0100
@@ -440,7 +440,7 @@
   M files/test1.txt
   M files/test2.txt
   $ "$TSPY" "$TESTDIR/lib-stat.py" --differs=2017-12-01T02:03:04Z files/test1.txt
-  $ "$TSPY" "$TESTDIR/lib-stat.py" --differs=2017-12-01T08:09:10Z files/test2.txt  
+  $ "$TSPY" "$TESTDIR/lib-stat.py" --differs=2017-12-01T08:09:10Z files/test2.txt
   $ cd ..
 
 
@@ -457,3 +457,210 @@
   $ "$TSPY" "$TESTDIR/lib-stat.py" --check=2017-12-01T02:03:04Z files/test1.txt
   $ "$TSPY" "$TESTDIR/lib-stat.py" --differs=2017-12-01T08:09:10Z files/test2.txt
   $ cd ..
+
+
+8. Test importing from old timestamp module (.hgtimestamp database)
+===================================================================
+
+  $ prepare_bare_repo "ts10"
+  $ cd ts10
+
+This is a real work example.
+Note: 2019/Liederzettel/2019-04-20_Osternacht_Irfersdorf.txt has no timestamp
+associated
+
+  $ cat >.hgtimestamp <<EOF
+  > 2015/Liederzettel/2015_Osternacht_Gelbelsee.txt,1499239398.0
+  > 2015/Liederzettel/2015-01-20_Sebastifest_Buch.txt,1492631612.0
+  > 2015/Liederzettel/2015-02-01_Taufe_Goebel_Irlahuell.txt,1495709724.0
+  > 2016/Liederzettel/2016_Karfreitag_Irlahuell.txt,1499170826.0
+  > 2016/Liederzettel/2016_Fronleichnam_Gelbelsee.txt,1497528022.0
+  > 2016/Liederzettel/2016-11-01_Allerheiligen.txt,1509407458.0
+  > 2016/Liederzettel/2016-11-06_Leonhardsfest_Irlahuell.txt,1509953705.0
+  > 2017/Liederzettel/2017-01-20_Sebastifest_Buch.txt,1492631711.0
+  > 2017/Liederzettel/2017-04-09_Palmsonntag_Gelbelsee_Irfersdorf.txt,1492627604.0
+  > 2017/Liederzettel/2017-04-15_Osternacht_Gelbelsee.txt,1499239406.0
+  > 2017/Liederzettel/2017-04-16_Ostersonntag_Doerndorf.txt,1492627624.0
+  > 2017/Liederzettel/2017-04-16_Ostersonntag_Irfersdorf.txt,1492627638.0
+  > 2017/Liederzettel/2017-04-29_Bettbrunn.txt,1493857154.0
+  > 2017/Liederzettel/2017-05-07_Taufe_Biedermann.txt,1494269641.0
+  > 2017/Liederzettel/2017-05-14_Buch_Wallfahrt_Mai.txt,1494791234.0
+  > 2017/Liederzettel/2017-06-04_Pfingstsonntag_Irlahuell.txt,1496683305.0
+  > 2017/Liederzettel/2017-06-15_Fronleichnam_Bitz.txt,1497529451.0
+  > 2017/Liederzettel/2017-06-18_Fronleichnam_Irfersdorf.txt,1497798808.0
+  > 2017/Liederzettel/2017-07-02_Fest_Irlahuell.txt,1499013939.0
+  > 2017/Liederzettel/2017-09-30_Hochzeit_Dremel.txt,1499094197.0
+  > 2017/Liederzettel/2017-11-01_Allerheiligen.txt,1509563796.0
+  > 2017/Liederzettel/2017-11-05_Leonhardsfest_Irlahuell.txt,1509953165.0
+  > 2017/Liedvorschlaege/9._April_-_Palmsonntag_-_Liedvorschlaege.pdf,1492500465.0
+  > 2017/Liedvorschlaege/14._April_-_Karfreitag_-_Liedvorschlaege.pdf,1492500453.0
+  > 2017/Liedvorschlaege/15._April_-_Feier_der_Osternacht_-_Liedvorschlaege.pdf,1492500432.0
+  > 2017/Liedvorschlaege/16._April_-_Ostern-am_Tag_-_Liedvorschlaege.pdf,1492500420.0
+  > 2017/Liedvorschlaege/17._April_-_Ostermontag_-_Liedvorschlaege.pdf,1492500386.0
+  > 2017/Liedvorschlaege/1._November_-_Allerheiligen_-_Liedvorschlaege.pdf,1508697540.0
+  > 2017/Liedvorschlaege/31._Sonntag_im_Jahreskreis_-_Lesejahr_A_-_Liedvorschlaege.pdf,1508696573.0
+  > 2017/Liederzettel/2017-12-10_Taufe.txt,1514306458.0
+  > 2017/Liederzettel/2017-12-24_Irfersdorf_Advent.txt,1514307321.0
+  > 2017/Liederzettel/2017-12-24_Christmette_Gelbelsee.txt,1514308076.0
+  > 2017/Liederzettel/2017-12-25_Doerndorf.txt,1514308487.0
+  > 2017/Liederzettel/2017-12-25_Irfersdorf.txt,1514308647.0
+  > 2017/Liederzettel/2017-12-26_Irlahuell.txt,1514309256.0
+  > 2017/Liederzettel/2017-12-26_Bitz.txt,1514309699.0
+  > 2017/Liederzettel/2017-12-31_Gelbelsee.txt,1514814558.0
+  > 2017/Liederzettel/2017-12-31_Irfersdorf.txt,1514814553.0
+  > 2018/Liederzettel/2018-01-06_Dreikoenig_Gelbelsee_Irlahuell.txt,1516607230.0
+  > 2018/Liederzettel/2018-01-20_Sebastifest_Buch.txt,1547926149.0
+  > 2018/Liederzettel/2018-01-21_Taufe_Bauer.txt,1516608043.0
+  > 2018/Liederzettel/2018-02-01_Bischofsvisite.txt,1522500759.0
+  > 2018/Liederzettel/2018-02-04_Taufe_Gensberger_Schelldorf.txt,1522500999.0
+  > 2018/Liederzettel/2018-03-25_Palmsonntag_Irfersdorf.txt,1522501545.0
+  > 2018/Liederzettel/2018_Karfreitag_Irlahuell.txt,1522501686.0
+  > 2018/Liederzettel/2018-04-01_Osternacht_Irfersdorf.txt,1522693792.0
+  > 2018/Liederzettel/2018-04-01_Ostersonntag_Gelbelsee.txt,1522694246.0
+  > 2018/Liederzettel/2018-04-02_Ostermontag_Gelbelsee.txt,1522694508.0
+  > 2018/Liederzettel/2018-04-28_Bettbrunn.txt,1527876471.0
+  > 2018/Liederzettel/2018-04-28_Dankgottesdienst-Zinner.txt,1527878754.0
+  > 2018/Liederzettel/2018-05-13_Buch_Wallfahrt_Mai.txt,1527878121.0
+  > 2018/Liederzettel/2018-05-20_Pfingstsonntag_Irlahuell.txt,1527878817.0
+  > 2018/Liederzettel/2018-05-31_Fronleichnam_Irlahuell.txt,1527879801.0
+  > 2018/Liederzettel/2018-05-31_Fronleichnam_Gelbelsee.txt,1527880374.0
+  > 2018/Liederzettel/2018-06-09_Priesterjubilaeum_Krawietz.txt,1535958573.0
+  > 2018/Liederzettel/2018-07-01_Fest_Irlahuell.txt,1541869111.0
+  > 2018/Liederzettel/2018-09-02_Sonntag.txt,1535956476.0
+  > 2018/Liederzettel/2018-09-02_Irlahuell_Taufe.txt,1535956777.0
+  > 2018/Liederzettel/2018-10-07_Erntedank_Irlahuell.txt,1541867521.0
+  > 2018/Liederzettel/2018-11-01_Allerheiligen.txt,1541866842.0
+  > 2018/Liederzettel/2018-11-11_Leonhardsfest_Irlahuell.txt,1541962642.0
+  > 2018/Liederzettel/2018-11-25_Irlahuell_Taufe_Krieglmeier.txt,1543177634.0
+  > 2018/Liederzettel/2018-12-24_Christmette_Gelbelsee.txt,1546287708.0
+  > 2018/Liederzettel/2018-12-24_Christmette_Irfersdorf.txt,1546287715.0
+  > 2018/Liederzettel/2018-12-25_Gelbelsee.txt,1546295273.0
+  > 2018/Liederzettel/2018-12-26_Irlahuell.txt,1546296420.0
+  > 2018/Liederzettel/2018-12-26_Irfersdorf.txt,1546296908.0
+  > 2018/Liederzettel/2018-12-31_Jahresschluss_Irfersdorf.txt,1546297389.0
+  > 2018/Liederzettel/2018-12-31_Jahresschluss_Gelbelsee.txt,1546297604.0
+  > 2019/Liederzettel/2019-01-13_Taufe_Milchmeier_Groesdorf.txt,1554155927.61
+  > 2019/Liederzettel/2019-01-20_Sebastifest_Buch.txt,1548057178.0
+  > 2019/Liederzettel/2019-02-02_Walting.txt,1554155363.32
+  > 2019/Liederzettel/2019-03-24_Irlahuell.txt,1554154631.5
+  > 2019/Liederzettel/2019-03-31_Taufe_KlaraDremel.txt,1554155868.46
+  > 2019/Liederzettel/2019-04-19_Karfreitag_Irlahuell.txt,1555694244.97
+  > 2019/Liederzettel/2019-04-20_Osternacht_Irfersdorf.txt
+  > 2019/Liederzettel/2019-04-22_Ostermontag_Irlahuell_Erstkommunion.txt,1556716765.37
+  > 2019/Liederzettel/2019-05-04_Bettbrunn.txt,1557048005.78
+  > 2019/Liederzettel/2019-06-02_Buch_Wallfahrt_Juni.txt,1559474630.78
+  > 2019/Liederzettel/2019-06-09_Pfingstsonntag.txt,1560192084.76
+  > 2019/Liederzettel/2019-06-10_Pfingstmontag_Irlahuell.txt,1560193692.3
+  > 2019/Liederzettel/2019-06-10_Pfingstmontag_Gelbelsee.txt,1560193973.7
+  > 2019/Liederzettel/2019-06-23_Fronleichnam_Irfersdorf.txt,1561297522.71
+  > 2019/Liederzettel/2019-06-30_Fest_Irlahuell.txt,1561903494.97
+  > 2019/Liederzettel/2019-07-20_Walting.txt,1563692311.39
+  > 2019/Liederzettel/2019-08-25_Irlahuell.txt,1566938139.93
+  > 2019/Liederzettel/2019-10_06_Erntedank_Irlahuell.txt,1577186546.31
+  > 2019/Liederzettel/2019-11-01_Allerheiligen.txt,1577187072.94
+  > 2019/Liederzettel/2019-11-10_Leonhardsfest_Irlahuell.txt,1577187489.06
+  > EOF
+  $ hg -q add .hgtimestamp
+  $ hg -q commit -m 'Import old .hgtimestamp database'
+  $ touch .hgtimestamps
+  $ cat >>$LOCAL_HGRCPATH <<EOF
+  > [extensions]
+  > timestamps=$LOCAL_TESTDIR/../extensions/timestamps.py
+  > EOF
+  $ hg -q add .hgtimestamps
+  $ hg -q commit -m 'Activate new timestamps module'
+  $ hg timestamps --import
+  timestamps: line skipped because of wrong format: 2019/Liederzettel/2019-04-20_Osternacht_Irfersdorf.txt
+   (?)
+  $ cat .hgtimestamps.db
+  version=1
+  encoding=binary
+  2015/Liederzettel/2015_Osternacht_Gelbelsee.txt,2017-07-05T07:23:18Z
+  2015/Liederzettel/2015-01-20_Sebastifest_Buch.txt,2017-04-19T19:53:32Z
+  2015/Liederzettel/2015-02-01_Taufe_Goebel_Irlahuell.txt,2017-05-25T10:55:24Z
+  2016/Liederzettel/2016_Karfreitag_Irlahuell.txt,2017-07-04T12:20:26Z
+  2016/Liederzettel/2016_Fronleichnam_Gelbelsee.txt,2017-06-15T12:00:22Z
+  2016/Liederzettel/2016-11-01_Allerheiligen.txt,2017-10-30T23:50:58Z
+  2016/Liederzettel/2016-11-06_Leonhardsfest_Irlahuell.txt,2017-11-06T07:35:05Z
+  2017/Liederzettel/2017-01-20_Sebastifest_Buch.txt,2017-04-19T19:55:11Z
+  2017/Liederzettel/2017-04-09_Palmsonntag_Gelbelsee_Irfersdorf.txt,2017-04-19T18:46:44Z
+  2017/Liederzettel/2017-04-15_Osternacht_Gelbelsee.txt,2017-07-05T07:23:26Z
+  2017/Liederzettel/2017-04-16_Ostersonntag_Doerndorf.txt,2017-04-19T18:47:04Z
+  2017/Liederzettel/2017-04-16_Ostersonntag_Irfersdorf.txt,2017-04-19T18:47:18Z
+  2017/Liederzettel/2017-04-29_Bettbrunn.txt,2017-05-04T00:19:14Z
+  2017/Liederzettel/2017-05-07_Taufe_Biedermann.txt,2017-05-08T18:54:01Z
+  2017/Liederzettel/2017-05-14_Buch_Wallfahrt_Mai.txt,2017-05-14T19:47:14Z
+  2017/Liederzettel/2017-06-04_Pfingstsonntag_Irlahuell.txt,2017-06-05T17:21:45Z
+  2017/Liederzettel/2017-06-15_Fronleichnam_Bitz.txt,2017-06-15T12:24:11Z
+  2017/Liederzettel/2017-06-18_Fronleichnam_Irfersdorf.txt,2017-06-18T15:13:28Z
+  2017/Liederzettel/2017-07-02_Fest_Irlahuell.txt,2017-07-02T16:45:39Z
+  2017/Liederzettel/2017-09-30_Hochzeit_Dremel.txt,2017-07-03T15:03:17Z
+  2017/Liederzettel/2017-11-01_Allerheiligen.txt,2017-11-01T19:16:36Z
+  2017/Liederzettel/2017-11-05_Leonhardsfest_Irlahuell.txt,2017-11-06T07:26:05Z
+  2017/Liedvorschlaege/9._April_-_Palmsonntag_-_Liedvorschlaege.pdf,2017-04-18T07:27:45Z
+  2017/Liedvorschlaege/14._April_-_Karfreitag_-_Liedvorschlaege.pdf,2017-04-18T07:27:33Z
+  2017/Liedvorschlaege/15._April_-_Feier_der_Osternacht_-_Liedvorschlaege.pdf,2017-04-18T07:27:12Z
+  2017/Liedvorschlaege/16._April_-_Ostern-am_Tag_-_Liedvorschlaege.pdf,2017-04-18T07:27:00Z
+  2017/Liedvorschlaege/17._April_-_Ostermontag_-_Liedvorschlaege.pdf,2017-04-18T07:26:26Z
+  2017/Liedvorschlaege/1._November_-_Allerheiligen_-_Liedvorschlaege.pdf,2017-10-22T18:39:00Z
+  2017/Liedvorschlaege/31._Sonntag_im_Jahreskreis_-_Lesejahr_A_-_Liedvorschlaege.pdf,2017-10-22T18:22:53Z
+  2017/Liederzettel/2017-12-10_Taufe.txt,2017-12-26T16:40:58Z
+  2017/Liederzettel/2017-12-24_Irfersdorf_Advent.txt,2017-12-26T16:55:21Z
+  2017/Liederzettel/2017-12-24_Christmette_Gelbelsee.txt,2017-12-26T17:07:56Z
+  2017/Liederzettel/2017-12-25_Doerndorf.txt,2017-12-26T17:14:47Z
+  2017/Liederzettel/2017-12-25_Irfersdorf.txt,2017-12-26T17:17:27Z
+  2017/Liederzettel/2017-12-26_Irlahuell.txt,2017-12-26T17:27:36Z
+  2017/Liederzettel/2017-12-26_Bitz.txt,2017-12-26T17:34:59Z
+  2017/Liederzettel/2017-12-31_Gelbelsee.txt,2018-01-01T13:49:18Z
+  2017/Liederzettel/2017-12-31_Irfersdorf.txt,2018-01-01T13:49:13Z
+  2018/Liederzettel/2018-01-06_Dreikoenig_Gelbelsee_Irlahuell.txt,2018-01-22T07:47:10Z
+  2018/Liederzettel/2018-01-20_Sebastifest_Buch.txt,2019-01-19T19:29:09Z
+  2018/Liederzettel/2018-01-21_Taufe_Bauer.txt,2018-01-22T08:00:43Z
+  2018/Liederzettel/2018-02-01_Bischofsvisite.txt,2018-03-31T12:52:39Z
+  2018/Liederzettel/2018-02-04_Taufe_Gensberger_Schelldorf.txt,2018-03-31T12:56:39Z
+  2018/Liederzettel/2018-03-25_Palmsonntag_Irfersdorf.txt,2018-03-31T13:05:45Z
+  2018/Liederzettel/2018_Karfreitag_Irlahuell.txt,2018-03-31T13:08:06Z
+  2018/Liederzettel/2018-04-01_Osternacht_Irfersdorf.txt,2018-04-02T18:29:52Z
+  2018/Liederzettel/2018-04-01_Ostersonntag_Gelbelsee.txt,2018-04-02T18:37:26Z
+  2018/Liederzettel/2018-04-02_Ostermontag_Gelbelsee.txt,2018-04-02T18:41:48Z
+  2018/Liederzettel/2018-04-28_Bettbrunn.txt,2018-06-01T18:07:51Z
+  2018/Liederzettel/2018-04-28_Dankgottesdienst-Zinner.txt,2018-06-01T18:45:54Z
+  2018/Liederzettel/2018-05-13_Buch_Wallfahrt_Mai.txt,2018-06-01T18:35:21Z
+  2018/Liederzettel/2018-05-20_Pfingstsonntag_Irlahuell.txt,2018-06-01T18:46:57Z
+  2018/Liederzettel/2018-05-31_Fronleichnam_Irlahuell.txt,2018-06-01T19:03:21Z
+  2018/Liederzettel/2018-05-31_Fronleichnam_Gelbelsee.txt,2018-06-01T19:12:54Z
+  2018/Liederzettel/2018-06-09_Priesterjubilaeum_Krawietz.txt,2018-09-03T07:09:33Z
+  2018/Liederzettel/2018-07-01_Fest_Irlahuell.txt,2018-11-10T16:58:31Z
+  2018/Liederzettel/2018-09-02_Sonntag.txt,2018-09-03T06:34:36Z
+  2018/Liederzettel/2018-09-02_Irlahuell_Taufe.txt,2018-09-03T06:39:37Z
+  2018/Liederzettel/2018-10-07_Erntedank_Irlahuell.txt,2018-11-10T16:32:01Z
+  2018/Liederzettel/2018-11-01_Allerheiligen.txt,2018-11-10T16:20:42Z
+  2018/Liederzettel/2018-11-11_Leonhardsfest_Irlahuell.txt,2018-11-11T18:57:22Z
+  2018/Liederzettel/2018-11-25_Irlahuell_Taufe_Krieglmeier.txt,2018-11-25T20:27:14Z
+  2018/Liederzettel/2018-12-24_Christmette_Gelbelsee.txt,2018-12-31T20:21:48Z
+  2018/Liederzettel/2018-12-24_Christmette_Irfersdorf.txt,2018-12-31T20:21:55Z
+  2018/Liederzettel/2018-12-25_Gelbelsee.txt,2018-12-31T22:27:53Z
+  2018/Liederzettel/2018-12-26_Irlahuell.txt,2018-12-31T22:47:00Z
+  2018/Liederzettel/2018-12-26_Irfersdorf.txt,2018-12-31T22:55:08Z
+  2018/Liederzettel/2018-12-31_Jahresschluss_Irfersdorf.txt,2018-12-31T23:03:09Z
+  2018/Liederzettel/2018-12-31_Jahresschluss_Gelbelsee.txt,2018-12-31T23:06:44Z
+  2019/Liederzettel/2019-01-13_Taufe_Milchmeier_Groesdorf.txt,2019-04-01T21:58:47.610000Z
+  2019/Liederzettel/2019-01-20_Sebastifest_Buch.txt,2019-01-21T07:52:58Z
+  2019/Liederzettel/2019-02-02_Walting.txt,2019-04-01T21:49:23.320000Z
+  2019/Liederzettel/2019-03-24_Irlahuell.txt,2019-04-01T21:37:11.500000Z
+  2019/Liederzettel/2019-03-31_Taufe_KlaraDremel.txt,2019-04-01T21:57:48.460000Z
+  2019/Liederzettel/2019-04-19_Karfreitag_Irlahuell.txt,2019-04-19T17:17:24.970000Z
+  2019/Liederzettel/2019-04-22_Ostermontag_Irlahuell_Erstkommunion.txt,2019-05-01T13:19:25.370000Z
+  2019/Liederzettel/2019-05-04_Bettbrunn.txt,2019-05-05T09:20:05.780000Z
+  2019/Liederzettel/2019-06-02_Buch_Wallfahrt_Juni.txt,2019-06-02T11:23:50.780000Z
+  2019/Liederzettel/2019-06-09_Pfingstsonntag.txt,2019-06-10T18:41:24.760000Z
+  2019/Liederzettel/2019-06-10_Pfingstmontag_Irlahuell.txt,2019-06-10T19:08:12.300000Z
+  2019/Liederzettel/2019-06-10_Pfingstmontag_Gelbelsee.txt,2019-06-10T19:12:53.700000Z
+  2019/Liederzettel/2019-06-23_Fronleichnam_Irfersdorf.txt,2019-06-23T13:45:22.710000Z
+  2019/Liederzettel/2019-06-30_Fest_Irlahuell.txt,2019-06-30T14:04:54.970000Z
+  2019/Liederzettel/2019-07-20_Walting.txt,2019-07-21T06:58:31.390000Z
+  2019/Liederzettel/2019-08-25_Irlahuell.txt,2019-08-27T20:35:39.930000Z
+  2019/Liederzettel/2019-10_06_Erntedank_Irlahuell.txt,2019-12-24T11:22:26.310000Z
+  2019/Liederzettel/2019-11-01_Allerheiligen.txt,2019-12-24T11:31:12.940000Z
+  2019/Liederzettel/2019-11-10_Leonhardsfest_Irlahuell.txt,2019-12-24T11:38:09.060000Z
+  $ cd ..