# HG changeset patch # User Bruno Haible # Date 1316551722 -7200 # Node ID b9ce5dc1f411b3c6dbce815bacce8f425031aa50 # Parent 3f289df7b6a102cfb4856505f2823eac98ddd2f6 renameat tests: EBADF tests. * tests/test-renameat.c (main): Add tests for EBADF. diff --git a/ChangeLog b/ChangeLog --- 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 --- a/tests/test-renameat.c +++ b/tests/test-renameat.c @@ -61,6 +61,29 @@ /* 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);