diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-02-29 11:34:53 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-03-03 11:35:11 +0100 |
commit | c4d5a341bd5aad1141be929a5a7e67a59d3730aa (patch) | |
tree | 3a754100b3122bf2ad3b8180856b265e5d731e45 /testsuites/fstests | |
parent | 198c07e5a58413bb2b16c01a15c545875d144ad5 (diff) |
fstests/fsrename: Rename a file twice
Diffstat (limited to 'testsuites/fstests')
-rw-r--r-- | testsuites/fstests/fsrename/test.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/testsuites/fstests/fsrename/test.c b/testsuites/fstests/fsrename/test.c index d5acb7031d..487c60b45c 100644 --- a/testsuites/fstests/fsrename/test.c +++ b/testsuites/fstests/fsrename/test.c @@ -208,6 +208,34 @@ static void symbolic_link_test (void) rtems_test_assert (status == 0); } +static void rename_file_twice_test (void) +{ + const char *name01 = "name01"; + const char *name02 = "name02"; + const char *name03 = "name03"; + mode_t mode; + int fd; + int status; + + puts ("\nRename file twice\n"); + + mode = S_IRWXU | S_IRWXG | S_IRWXO; + fd = creat (name01, mode); + rtems_test_assert (fd >= 0); + status = close (fd); + rtems_test_assert (status == 0); + + EXPECT_EQUAL (0, rename, name01, name02); + EXPECT_EQUAL (0, rename, name02, name03); + + errno = 0; + EXPECT_EQUAL (-1, unlink, name01); + rtems_test_assert (errno == ENOENT); + EXPECT_EQUAL (-1, unlink, name02); + rtems_test_assert (errno == ENOENT); + EXPECT_EQUAL (0, unlink, name03); +} + static void same_file_test (void) { int fd; @@ -1221,6 +1249,7 @@ static void filesystem_test (void) void test (void) { symbolic_link_test (); + rename_file_twice_test (); same_file_test (); directory_test (); arg_test (); |