diff options
author | Werner Koch <wk@gnupg.org> | 2014-06-25 14:33:34 +0200 |
---|---|---|
committer | Werner Koch <wk@gnupg.org> | 2014-07-03 11:04:23 +0200 |
commit | 3533860ee316918dd47501c53e910bfd0032b39d (patch) | |
tree | 7eef08982a264738e1be09a959d5f93cd6580f86 /common/t-timestuff.c | |
parent | gpg: Spelling error (diff) | |
download | gnupg2-3533860ee316918dd47501c53e910bfd0032b39d.tar.xz gnupg2-3533860ee316918dd47501c53e910bfd0032b39d.zip |
tests: Fix end-of-all-ticks test for Western locales.
* common/t-timestuff.c (test_timegm): Use timegm if available.
(main): Set TX to UTC if timegm is not available.
--
On OpenBSD 5.3 i386 that test failed due to the use of mktime.
Reported-by: Claus Assmann
Diffstat (limited to 'common/t-timestuff.c')
-rw-r--r-- | common/t-timestuff.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/common/t-timestuff.c b/common/t-timestuff.c index ec55687c6..f39e3089d 100644 --- a/common/t-timestuff.c +++ b/common/t-timestuff.c @@ -112,7 +112,11 @@ test_timegm (void) tbuf.tm_hour = tvalues[tidx].hour; tbuf.tm_min = tvalues[tidx].min; tbuf.tm_sec = tvalues[tidx].sec; +#ifdef HAVE_TIMEGM + now = timegm (&tbuf); +#else now = mktime (&tbuf); +#endif } if (now == (time_t)(-1)) fail (tidx); @@ -122,7 +126,11 @@ test_timegm (void) fail (tidx); tbuf = *tp; tbuf2 = tbuf; +#ifdef HAVE_TIMEGM atime = timegm (&tbuf); +#else + atime = mktime (&tbuf); +#endif if (atime == (time_t)(-1)) fail (tidx); if (atime != now) @@ -146,6 +154,14 @@ main (int argc, char **argv) (void)argc; (void)argv; + /* If we do not have timegm, we use mktime. However, we need to use + UTC in this case so that the 20380118T235959 test does not fail + for other timezones. */ +#ifndef HAVE_TIMEGM + setenv ("TZ", "UTC", 1); + tzset (); +#endif + test_timegm (); return 0; |