Update.
authorUlrich Drepper <drepper@redhat.com>
Tue, 15 Jul 2003 08:59:35 +0000 (08:59 +0000)
committerUlrich Drepper <drepper@redhat.com>
Tue, 15 Jul 2003 08:59:35 +0000 (08:59 +0000)
2003-07-15  Ulrich Drepper  <drepper@redhat.com>

* io/test-utime.c (main): Make test yet more robust.

ChangeLog
io/test-utime.c
localedata/ChangeLog
localedata/collate-test.c
localedata/xfrm-test.c

index bdbbf4b..291dbc2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2003-07-15  Ulrich Drepper  <drepper@redhat.com>
+
+       * io/test-utime.c (main): Make test yet more robust.
+
 2003-07-14  Ulrich Drepper  <drepper@redhat.com>
 
        More cancellation handling fixups.
index 24c2871..2f8aa57 100644 (file)
@@ -76,6 +76,12 @@ main (int argc, char *argv[])
       return 1;
     }
 
+  /* The clocks used to set the modification time and that used in the
+     time() call need not be the same.  They need not have the same
+     precision.  Therefore we delay the following operation by one
+     second which makes sure we can compare with second precision.  */
+  sleep (1);
+
   if (utime (file, NULL))
     {
       perror ("utime NULL");
@@ -83,6 +89,8 @@ main (int argc, char *argv[])
       return 1;
     }
 
+  sleep (1);
+
   now2 = time (NULL);
   if (now2 == (time_t)-1)
     {
@@ -112,12 +120,7 @@ main (int argc, char *argv[])
       return 1;
     }
 
-#ifdef _STATBUF_ST_NSEC
-# define CORR (stnow.st_mtim.tv_nsec == 0 ? 0 : 1)
-#else
-# define CORR 0
-#endif
-  if (stnow.st_mtime + CORR < now1 || stnow.st_mtime > now2)
+  if (stnow.st_mtime < now1 || stnow.st_mtime > now2)
     {
       printf ("modtime %ld <%ld >%ld\n", stnow.st_mtime, now1, now2);
       return 1;
index fe67746..f59607c 100644 (file)
@@ -1,3 +1,10 @@
+2003-07-13  Petter Reinholdtsen  <pere@hungry.com>
+
+       * collate-test.c (main): Correct handling of files with more then
+       100 lines.  Print error message if argument is missing, instead of
+       segfaulting.
+       * xfrm-test.c: Likewise.
+
 2003-07-02  Ulrich Drepper  <drepper@redhat.com>
 
        * locales/lo_LA: Update collation info for U0EAF and U0EC6.
index 3aa873a..21a06d8 100644 (file)
@@ -1,5 +1,5 @@
 /* Test collation function using real data.
-   Copyright (C) 1997, 1999, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1999, 2000, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -27,8 +27,8 @@
 
 struct lines
 {
-  const char *key;
-  const char *line;
+  char *key;
+  char *line;
 };
 
 static int xstrcoll (const void *, const void *);
@@ -43,6 +43,9 @@ main (int argc, char *argv[])
   size_t len = 0;
   size_t n;
 
+  if (argc < 2)
+    error (1, 0, "usage: %s <random seed>", argv[0]);
+
   setlocale (LC_ALL, "");
 
   nstrings_max = 100;
@@ -63,8 +66,8 @@ main (int argc, char *argv[])
       if (nstrings == nstrings_max)
        {
          strings = (struct lines *) realloc (strings,
-                                             (nstrings_max *= 2
-                                              * sizeof (*strings)));
+                                             (nstrings_max *= 2)
+                                              * sizeof (*strings));
          if (strings == NULL)
            {
              perror (argv[0]);
@@ -78,6 +81,7 @@ main (int argc, char *argv[])
       strings[nstrings].key = strndup (line, l);
       ++nstrings;
     }
+  free (line);
 
   /* First shuffle.  */
   srandom (atoi (argv[1]));
@@ -105,7 +109,12 @@ main (int argc, char *argv[])
 
   /* Print the result.  */
   for (n = 0; n < nstrings; ++n)
-    fputs (strings[n].line, stdout);
+    {
+      fputs (strings[n].line, stdout);
+      free (strings[n].line);
+      free (strings[n].key);
+    }
+  free (strings);
 
   return result;
 }
index 4ebef13..5fe517a 100644 (file)
@@ -1,5 +1,5 @@
 /* Test collation function via transformation using real data.
-   Copyright (C) 1997, 1998, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1998, 2000, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -27,8 +27,8 @@
 
 struct lines
 {
-  const char *xfrm;
-  const char *line;
+  char *xfrm;
+  char *line;
 };
 
 static int xstrcmp (const void *, const void *);
@@ -43,6 +43,9 @@ main (int argc, char *argv[])
   size_t len = 0;
   size_t n;
 
+  if (argc < 2)
+    error (1, 0, "usage: %s <random seed>", argv[0]);
+
   setlocale (LC_ALL, "");
 
   nstrings_max = 100;
@@ -65,8 +68,8 @@ main (int argc, char *argv[])
       if (nstrings == nstrings_max)
        {
          strings = (struct lines *) realloc (strings,
-                                             (nstrings_max *= 2
-                                              * sizeof (*strings)));
+                                             (nstrings_max *= 2)
+                                              * sizeof (*strings));
          if (strings == NULL)
            {
              perror (argv[0]);
@@ -87,6 +90,7 @@ main (int argc, char *argv[])
       line[l] = saved;
       ++nstrings;
     }
+  free (line);
 
   /* First shuffle.  */
   srandom (atoi (argv[1]));
@@ -116,7 +120,12 @@ main (int argc, char *argv[])
 
   /* Print the result.  */
   for (n = 0; n < nstrings; ++n)
-    fputs (strings[n].line, stdout);
+    {
+      fputs (strings[n].line, stdout);
+      free (strings[n].line);
+      free (strings[n].xfrm);
+    }
+  free (strings);
 
   return result;
 }