summaryrefslogtreecommitdiff
path: root/glib/tests/fileutils.c
diff options
context:
space:
mode:
authorРуслан Ижбулатов <lrn1986@gmail.com>2018-10-05 18:36:53 +0000
committerРуслан Ижбулатов <lrn1986@gmail.com>2018-10-10 19:19:19 +0000
commit357c5a47d5973d59d0c8645177b81252feed058a (patch)
treefae91335ac2b5ae4e2c917401b717ee5925ddf78 /glib/tests/fileutils.c
parent62d387151dfd7c3f807370844d9a936d6d42699c (diff)
downloadglib-357c5a47d5973d59d0c8645177b81252feed058a.tar.gz
fileutils test: use current time instead of zero
This works around weird issues MS C runtime has when dealing with timestamps close to zero, where timezone adjustment could result in a negative timestamp.
Diffstat (limited to 'glib/tests/fileutils.c')
-rw-r--r--glib/tests/fileutils.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/glib/tests/fileutils.c b/glib/tests/fileutils.c
index adc735d79..6e3966fde 100644
--- a/glib/tests/fileutils.c
+++ b/glib/tests/fileutils.c
@@ -888,6 +888,7 @@ test_stdio_wrappers (void)
struct utimbuf ut;
GError *error = NULL;
GStatBuf path_statbuf, cwd_statbuf;
+ time_t now;
/* The permissions tests here don’t work when running as root. */
#ifdef G_OS_UNIX
@@ -957,14 +958,16 @@ test_stdio_wrappers (void)
g_assert_cmpint (ret, ==, 0);
#endif
- ut.actime = ut.modtime = (time_t)0;
+ now = time (NULL);
+
+ ut.actime = ut.modtime = now;
ret = g_utime ("test-create", &ut);
g_assert_cmpint (ret, ==, 0);
ret = g_lstat ("test-create", &buf);
g_assert_cmpint (ret, ==, 0);
- g_assert_cmpint (buf.st_atime, ==, (time_t)0);
- g_assert_cmpint (buf.st_mtime, ==, (time_t)0);
+ g_assert_cmpint (buf.st_atime, ==, now);
+ g_assert_cmpint (buf.st_mtime, ==, now);
g_chdir ("..");
g_remove ("mkdir-test/test-create");