From a31a41e52c0310445c29216c64920e85f91f3879 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Tue, 20 Sep 2011 22:48:42 +0200 Subject: [PATCH] renameat tests: EBADF tests. * tests/test-renameat.c (main): Add tests for EBADF. --- ChangeLog | 3 +++ tests/test-renameat.c | 23 +++++++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/ChangeLog b/ChangeLog index a0a9464df..ce46a6e9d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2011-09-20 Bruno Haible + renameat tests: EBADF tests. + * tests/test-renameat.c (main): Add tests for EBADF. + mkfifoat tests: EBADF tests. * tests/test-mkfifoat.c (main): Add tests for EBADF. diff --git a/tests/test-renameat.c b/tests/test-renameat.c index eba8e161f..9ca178765 100644 --- a/tests/test-renameat.c +++ b/tests/test-renameat.c @@ -61,6 +61,29 @@ main (void) /* Clean up any trash from prior testsuite runs. */ ignore_value (system ("rm -rf " BASE "*")); + /* Test behaviour for invalid file descriptors. */ + { + errno = 0; + ASSERT (renameat (-1, "foo", AT_FDCWD, "bar") == -1); + ASSERT (errno == EBADF); + } + { + errno = 0; + ASSERT (renameat (99, "foo", AT_FDCWD, "bar") == -1); + ASSERT (errno == EBADF); + } + ASSERT (close (creat (BASE "oo", 0600)) == 0); + { + errno = 0; + ASSERT (renameat (AT_FDCWD, BASE "oo", -1, "bar") == -1); + ASSERT (errno == EBADF); + } + { + errno = 0; + ASSERT (renameat (AT_FDCWD, BASE "oo", 99, "bar") == -1); + ASSERT (errno == EBADF); + } + /* Test basic rename functionality, using current directory. */ result = test_rename (do_rename, false); dfd1 = open (".", O_RDONLY); -- 2.11.0