diff options
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | math/libm-test.inc | 25 | ||||
-rw-r--r-- | posix/tst-gnuglob.c | 17 |
3 files changed, 47 insertions, 5 deletions
@@ -1,5 +1,15 @@ 2001-02-14 Ulrich Drepper <drepper@redhat.com> + * math/libm-test.inc (j0_test): Check whether sincos is available. + (j1_test): Likewise. + (jn_test): Likewise. + (y0_test): Likewise. + (y1_test): Likewise. + (yn_test): Likewise. + + * posix/tst-gnuglob.c: Make a few entries DT_UNKNOWN and teach + fake filesystem routines to handle this. + * time/sys/time.h: Make settimeofday and adjtime available if _BSD_SOURCE. diff --git a/math/libm-test.inc b/math/libm-test.inc index 6bbbff5..89a21d3 100644 --- a/math/libm-test.inc +++ b/math/libm-test.inc @@ -2824,7 +2824,12 @@ isnormal_test (void) static void j0_test (void) { + FLOAT s, c; errno = 0; + FUNC (sincos) (0, &s, &c); + if (errno == ENOSYS) + /* Required function not implemented. */ + return; FUNC(j0) (0); if (errno == ENOSYS) /* Function not implemented. */ @@ -2853,6 +2858,10 @@ static void j1_test (void) { errno = 0; + FUNC (sincos) (0, &s, &c); + if (errno == ENOSYS) + /* Required function not implemented. */ + return; FUNC(j1) (0); if (errno == ENOSYS) /* Function not implemented. */ @@ -2882,6 +2891,10 @@ static void jn_test (void) { errno = 0; + FUNC (sincos) (0, &s, &c); + if (errno == ENOSYS) + /* Required function not implemented. */ + return; FUNC(jn) (1, 1); if (errno == ENOSYS) /* Function not implemented. */ @@ -4002,6 +4015,10 @@ static void y0_test (void) { errno = 0; + FUNC (sincos) (0, &s, &c); + if (errno == ENOSYS) + /* Required function not implemented. */ + return; FUNC(y0) (1); if (errno == ENOSYS) /* Function not implemented. */ @@ -4031,6 +4048,10 @@ static void y1_test (void) { errno = 0; + FUNC (sincos) (0, &s, &c); + if (errno == ENOSYS) + /* Required function not implemented. */ + return; FUNC(y1) (1); if (errno == ENOSYS) /* Function not implemented. */ @@ -4059,6 +4080,10 @@ static void yn_test (void) { errno = 0; + FUNC (sincos) (0, &s, &c); + if (errno == ENOSYS) + /* Required function not implemented. */ + return; FUNC(yn) (1, 1); if (errno == ENOSYS) /* Function not implemented. */ diff --git a/posix/tst-gnuglob.c b/posix/tst-gnuglob.c index d3e6b00..68451da 100644 --- a/posix/tst-gnuglob.c +++ b/posix/tst-gnuglob.c @@ -47,8 +47,8 @@ static struct { ".", 1, DT_DIR }, { "..", 1, DT_DIR }, { "file1lev1", 1, DT_REG }, - { "file2lev1", 1, DT_REG }, - { "dir1lev1", 1, DT_DIR }, + { "file2lev1", 1, DT_UNKNOWN }, + { "dir1lev1", 1, DT_UNKNOWN }, { ".", 2, DT_DIR }, { "..", 2, DT_DIR }, { "file1lev2", 2, DT_REG }, @@ -75,7 +75,7 @@ static struct { "dir2lev1", 1, DT_DIR }, { ".", 2, DT_DIR }, { "..", 2, DT_DIR }, - { "dir1lev2", 2, DT_DIR }, + { "dir1lev2", 2, DT_UNKNOWN }, { ".", 3, DT_DIR }, { "..", 3, DT_DIR }, { ".foo", 3, DT_REG }, @@ -124,7 +124,9 @@ find_file (const char *s) errno = ENOENT; return -1; } - if (filesystem[idx].type != DT_DIR) + if (filesystem[idx].type != DT_DIR + && (idx + 1 >= nfiles + || filesystem[idx].level >= filesystem[idx + 1].level)) { errno = ENOTDIR; return -1; @@ -230,7 +232,12 @@ my_stat (const char *name, struct stat *st) memset (st, '\0', sizeof (*st)); - st->st_mode = DTTOIF (filesystem[idx].type) | 0777; + if (filesystem[idx].type == DT_UNKNOWN) + st->st_mode = DTTOIF (idx + 1 < nfiles + && filesystem[idx].level < filesystem[idx + 1].level + ? DT_DIR : DT_REG) | 0777; + else + st->st_mode = DTTOIF (filesystem[idx].type) | 0777; PRINTF ("my_stat (\"%s\", { st_mode: %o }) = 0\n", name, st->st_mode); |