Update.
* io/test-lfs.c (do_test): Test lseek64 return value, call test_ftello. (test_ftello): New function to test ftello64 and fseeko64.
This commit is contained in:
parent
d9bfd1a510
commit
725c76a6b7
|
@ -1,5 +1,9 @@
|
||||||
2001-02-05 Andreas Jaeger <aj@suse.de>
|
2001-02-05 Andreas Jaeger <aj@suse.de>
|
||||||
|
|
||||||
|
* io/test-lfs.c (do_test): Test lseek64 return value, call
|
||||||
|
test_ftello.
|
||||||
|
(test_ftello): New function to test ftello64 and fseeko64.
|
||||||
|
|
||||||
* signal/signal.h: Move __sigaction from here to...
|
* signal/signal.h: Move __sigaction from here to...
|
||||||
* include/signal.h: ...here.
|
* include/signal.h: ...here.
|
||||||
|
|
||||||
|
|
|
@ -88,6 +88,53 @@ do_prepare (int argc, char *argv[])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
test_ftello (void)
|
||||||
|
{
|
||||||
|
FILE *f;
|
||||||
|
int ret;
|
||||||
|
off64_t pos;
|
||||||
|
|
||||||
|
f = fopen64 (name, "w");
|
||||||
|
|
||||||
|
ret = fseeko64 (f, TWO_GB+100, SEEK_SET);
|
||||||
|
if (ret == -1 && errno == ENOSYS)
|
||||||
|
{
|
||||||
|
error (0, errno, "fseeko64 is not supported");
|
||||||
|
exit (EXIT_SUCCESS);
|
||||||
|
}
|
||||||
|
if (ret == -1 && errno == EINVAL)
|
||||||
|
{
|
||||||
|
error (0, errno, "LFS seems not to be supported ");
|
||||||
|
exit (EXIT_SUCCESS);
|
||||||
|
}
|
||||||
|
if (ret == -1)
|
||||||
|
{
|
||||||
|
error (0, errno, "fseeko64 failed with error: ");
|
||||||
|
exit (EXIT_FAILURE);
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = fwrite ("Hello", 1, 5, f);
|
||||||
|
if (ret == -1 && errno == EINVAL)
|
||||||
|
{
|
||||||
|
error (0, errno, "LFS seems not to be supported.");
|
||||||
|
exit (EXIT_SUCCESS);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ret != 5)
|
||||||
|
error (EXIT_FAILURE, errno, "cannot write test string to large file");
|
||||||
|
|
||||||
|
pos = ftello64 (f);
|
||||||
|
|
||||||
|
if (pos != TWO_GB+105)
|
||||||
|
{
|
||||||
|
error (0, 0, "ftello64 gives wrong result.");
|
||||||
|
exit (EXIT_FAILURE);
|
||||||
|
}
|
||||||
|
|
||||||
|
fclose (f);
|
||||||
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
do_test (int argc, char *argv[])
|
do_test (int argc, char *argv[])
|
||||||
{
|
{
|
||||||
|
@ -105,6 +152,11 @@ do_test (int argc, char *argv[])
|
||||||
error (0, errno, "LFS seems not to be supported ");
|
error (0, errno, "LFS seems not to be supported ");
|
||||||
exit (EXIT_SUCCESS);
|
exit (EXIT_SUCCESS);
|
||||||
}
|
}
|
||||||
|
if (ret == -1)
|
||||||
|
{
|
||||||
|
error (0, errno, "lseek64 failed with error: ");
|
||||||
|
exit (EXIT_FAILURE);
|
||||||
|
}
|
||||||
|
|
||||||
ret = write (fd, "Hello", 5);
|
ret = write (fd, "Hello", 5);
|
||||||
if (ret == -1 && errno == EINVAL)
|
if (ret == -1 && errno == EINVAL)
|
||||||
|
@ -131,5 +183,7 @@ do_test (int argc, char *argv[])
|
||||||
error (EXIT_FAILURE, 0, "stat reported size %lld instead of %lld.",
|
error (EXIT_FAILURE, 0, "stat reported size %lld instead of %lld.",
|
||||||
(long long int) statbuf.st_size, (TWO_GB + 100 + 5));
|
(long long int) statbuf.st_size, (TWO_GB + 100 + 5));
|
||||||
|
|
||||||
|
test_ftello ();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue