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>
More cancellation handling fixups.

View 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;

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>
* locales/lo_LA: Update collation info for U0EAF and U0EC6.

View 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;
}

View 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;
}