summaryrefslogtreecommitdiffstats
path: root/testsuites/fstests/fsfseeko01
diff options
context:
space:
mode:
Diffstat (limited to 'testsuites/fstests/fsfseeko01')
-rw-r--r--testsuites/fstests/fsfseeko01/init.c30
1 files changed, 26 insertions, 4 deletions
diff --git a/testsuites/fstests/fsfseeko01/init.c b/testsuites/fstests/fsfseeko01/init.c
index 20797b5840..2c3d7985d6 100644
--- a/testsuites/fstests/fsfseeko01/init.c
+++ b/testsuites/fstests/fsfseeko01/init.c
@@ -32,26 +32,48 @@ static void test(void)
? INT64_MAX
: (sizeof(off_t) == sizeof(int32_t) ? INT32_MAX : 1);
off_t actual_off;
+ const long long_off = LONG_MAX;
+ long actual_long_off;
errno = 0;
file = fopen("file", "w+");
- perror("fopen");
rtems_test_assert(file != NULL);
+ rtems_test_assert(errno == 0);
+
+ errno = 0;
+ rv = fseek(file, long_off, SEEK_SET);
+ rtems_test_assert(rv == 0);
+ rtems_test_assert(errno == 0);
+
+ errno = 0;
+ actual_long_off = ftell(file);
+ rtems_test_assert(actual_long_off == long_off);
+ rtems_test_assert(errno == 0);
+
+ errno = 0;
+ actual_off = ftello(file);
+ rtems_test_assert(actual_off == long_off);
+ rtems_test_assert(errno == 0);
errno = 0;
rv = fseeko(file, off, SEEK_SET);
- perror("fseeko");
rtems_test_assert(rv == 0);
+ rtems_test_assert(errno == 0);
+
+ errno = 0;
+ actual_long_off = ftell(file);
+ rtems_test_assert(actual_long_off == -1L);
+ rtems_test_assert(errno == EOVERFLOW);
errno = 0;
actual_off = ftello(file);
- perror("ftello");
rtems_test_assert(actual_off == off);
+ rtems_test_assert(errno == 0);
errno = 0;
rv = fclose(file);
- perror("fclose");
rtems_test_assert(rv == 0);
+ rtems_test_assert(errno == 0);
}
static void Init(rtems_task_argument arg)