tests: Fix a test which specifies expiration date.
authorNIIBE Yutaka <gniibe@fsij.org>
Fri, 8 Sep 2017 05:21:29 +0000 (14:21 +0900)
committerWerner Koch <wk@gnupg.org>
Mon, 11 Sep 2017 09:39:17 +0000 (11:39 +0200)
* tests/openpgp/quick-key-manipulation.scm: Fix expiration time
comparison.

--

This is a bug fix for Amelia Earhart who is probably in UTC-12.

When expiration date is specified, GnuPG interprets it as noon of the
date in local time.

Before this fix, the test compared the value by 2145916800 which is
2038-01-01 00:00:00 in UTC with allowance of 1 day.  When the test
was ran in UTC-12 timezone, it failed because of noon in the timezone
is midnight of the next day in UTC.

GnuPG-bug-id: 3393
Reported-by: Daniel Kahn Gillmor
Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
tests/openpgp/quick-key-manipulation.scm

index c21abfe..2023f17 100755 (executable)
   (lambda (subkey)
     (assert (= 1 (:alg subkey)))
     (assert (string-contains? (:cap subkey) "s"))
-    (assert (time-matches? 2145916800    ;; 2038-01-01
-                          ;; 4260207600 ;; 2105-01-01
+    (assert (time-matches? 2145960000    ;; UTC 2038-01-01 12:00:00
+                          ;; 4260254400 ;; UTC 2105-01-01 12:00:00
                           (string->number (:expire subkey))
-                          ;; This is off by 12h, but I guess it just
-                          ;; choses the middle of the day.
+                          ;; GnuPG choses the middle of the day (local time)
+                          ;; when no hh:mm:ss is specified
                           (days->seconds 1))))
   (lambda (subkey)
     (assert (= 1 (:alg subkey)))