[glib: 4/5] fileutils test: use current time instead of zero



commit 357c5a47d5973d59d0c8645177b81252feed058a
Author: Руслан Ижбулатов <lrn1986 gmail com>
Date:   Fri Oct 5 18:36:53 2018 +0000

    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.

 glib/tests/fileutils.c | 9 ++++++---
 1 file 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");


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]