2003-07-15  Ulrich Drepper  <drepper@redhat.com>

	* io/test-utime.c (main): Make test yet more robust.
This commit is contained in:
Ulrich Drepper 2003-07-15 08:59:35 +00:00
parent 7329994338
commit dade1ade05
5 changed files with 50 additions and 18 deletions

View File

@ -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> 2003-07-14 Ulrich Drepper <drepper@redhat.com>
More cancellation handling fixups. More cancellation handling fixups.

View File

@ -76,6 +76,12 @@ main (int argc, char *argv[])
return 1; 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)) if (utime (file, NULL))
{ {
perror ("utime NULL"); perror ("utime NULL");
@ -83,6 +89,8 @@ main (int argc, char *argv[])
return 1; return 1;
} }
sleep (1);
now2 = time (NULL); now2 = time (NULL);
if (now2 == (time_t)-1) if (now2 == (time_t)-1)
{ {
@ -112,12 +120,7 @@ main (int argc, char *argv[])
return 1; return 1;
} }
#ifdef _STATBUF_ST_NSEC if (stnow.st_mtime < now1 || stnow.st_mtime > now2)
# 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)
{ {
printf ("modtime %ld <%ld >%ld\n", stnow.st_mtime, now1, now2); printf ("modtime %ld <%ld >%ld\n", stnow.st_mtime, now1, now2);
return 1; return 1;

View 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> 2003-07-02 Ulrich Drepper <drepper@redhat.com>
* locales/lo_LA: Update collation info for U0EAF and U0EC6. * locales/lo_LA: Update collation info for U0EAF and U0EC6.

View File

@ -1,5 +1,5 @@
/* Test collation function using real data. /* 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. This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -27,8 +27,8 @@
struct lines struct lines
{ {
const char *key; char *key;
const char *line; char *line;
}; };
static int xstrcoll (const void *, const void *); static int xstrcoll (const void *, const void *);
@ -43,6 +43,9 @@ main (int argc, char *argv[])
size_t len = 0; size_t len = 0;
size_t n; size_t n;
if (argc < 2)
error (1, 0, "usage: %s <random seed>", argv[0]);
setlocale (LC_ALL, ""); setlocale (LC_ALL, "");
nstrings_max = 100; nstrings_max = 100;
@ -63,8 +66,8 @@ main (int argc, char *argv[])
if (nstrings == nstrings_max) if (nstrings == nstrings_max)
{ {
strings = (struct lines *) realloc (strings, strings = (struct lines *) realloc (strings,
(nstrings_max *= 2 (nstrings_max *= 2)
* sizeof (*strings))); * sizeof (*strings));
if (strings == NULL) if (strings == NULL)
{ {
perror (argv[0]); perror (argv[0]);
@ -78,6 +81,7 @@ main (int argc, char *argv[])
strings[nstrings].key = strndup (line, l); strings[nstrings].key = strndup (line, l);
++nstrings; ++nstrings;
} }
free (line);
/* First shuffle. */ /* First shuffle. */
srandom (atoi (argv[1])); srandom (atoi (argv[1]));
@ -105,7 +109,12 @@ main (int argc, char *argv[])
/* Print the result. */ /* Print the result. */
for (n = 0; n < nstrings; ++n) 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; return result;
} }

View File

@ -1,5 +1,5 @@
/* Test collation function via transformation using real data. /* 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. This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -27,8 +27,8 @@
struct lines struct lines
{ {
const char *xfrm; char *xfrm;
const char *line; char *line;
}; };
static int xstrcmp (const void *, const void *); static int xstrcmp (const void *, const void *);
@ -43,6 +43,9 @@ main (int argc, char *argv[])
size_t len = 0; size_t len = 0;
size_t n; size_t n;
if (argc < 2)
error (1, 0, "usage: %s <random seed>", argv[0]);
setlocale (LC_ALL, ""); setlocale (LC_ALL, "");
nstrings_max = 100; nstrings_max = 100;
@ -65,8 +68,8 @@ main (int argc, char *argv[])
if (nstrings == nstrings_max) if (nstrings == nstrings_max)
{ {
strings = (struct lines *) realloc (strings, strings = (struct lines *) realloc (strings,
(nstrings_max *= 2 (nstrings_max *= 2)
* sizeof (*strings))); * sizeof (*strings));
if (strings == NULL) if (strings == NULL)
{ {
perror (argv[0]); perror (argv[0]);
@ -87,6 +90,7 @@ main (int argc, char *argv[])
line[l] = saved; line[l] = saved;
++nstrings; ++nstrings;
} }
free (line);
/* First shuffle. */ /* First shuffle. */
srandom (atoi (argv[1])); srandom (atoi (argv[1]));
@ -116,7 +120,12 @@ main (int argc, char *argv[])
/* Print the result. */ /* Print the result. */
for (n = 0; n < nstrings; ++n) 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; return result;
} }