fstests/fsfseeko01: Add test cases

This commit is contained in:
Sebastian Huber
2012-11-22 14:09:03 +01:00
parent fe0f24ea39
commit 0268adb3dd

View File

@@ -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 = fseeko(file, off, SEEK_SET);
perror("fseeko");
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);
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)