From a26ea56dfdb80c1b07d9821bee22732822142690 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 11 May 2012 13:19:14 +0200 Subject: fstests/fsrdwr: Add truncate to zero test case --- testsuites/fstests/fsrdwr/init.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/testsuites/fstests/fsrdwr/init.c b/testsuites/fstests/fsrdwr/init.c index b6e033b8ee..ae7ed7e615 100644 --- a/testsuites/fstests/fsrdwr/init.c +++ b/testsuites/fstests/fsrdwr/init.c @@ -518,10 +518,42 @@ lseek_test (void) test_case_leave (); } +static void +truncate_to_zero (void) +{ + int fd; + ssize_t n; + int status; + off_t pos; + + test_case_enter (__func__); + + fd = creat ("file", mode); + rtems_test_assert (fd >= 0); + + n = write (fd, databuf, len); + rtems_test_assert (n == (ssize_t) len); + + pos = lseek (fd, 0, SEEK_END); + rtems_test_assert (pos == len); + + status = ftruncate (fd, 0); + rtems_test_assert (status == 0); + + pos = lseek (fd, 0, SEEK_END); + rtems_test_assert (pos == 0); + + status = close (fd); + rtems_test_assert (status == 0); + + test_case_leave (); +} + void test (void) { read_write_test (); lseek_test (); truncate_test03 (); + truncate_to_zero (); } -- cgit v1.2.3