From 204966e4dadc046098cb5deea7031e307028ad7f Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Tue, 20 Sep 2011 22:43:43 +0200 Subject: [PATCH] linkat tests: EBADF tests. * tests/test-linkat.c (main): Add tests for EBADF. --- ChangeLog | 3 +++ tests/test-linkat.c | 23 +++++++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/ChangeLog b/ChangeLog index 38469e496..1c3727072 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2011-09-20 Bruno Haible + linkat tests: EBADF tests. + * tests/test-linkat.c (main): Add tests for EBADF. + Tests for module 'faccessat'. * modules/faccessat-tests: New file. * tests/test-faccessat.c: New file. diff --git a/tests/test-linkat.c b/tests/test-linkat.c index 2aea565d9..40b837147 100644 --- a/tests/test-linkat.c +++ b/tests/test-linkat.c @@ -95,6 +95,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 (linkat (-1, "foo", AT_FDCWD, "bar", 0) == -1); + ASSERT (errno == EBADF); + } + { + errno = 0; + ASSERT (linkat (99, "foo", AT_FDCWD, "bar", 0) == -1); + ASSERT (errno == EBADF); + } + ASSERT (close (creat (BASE "oo", 0600)) == 0); + { + errno = 0; + ASSERT (linkat (AT_FDCWD, BASE "oo", -1, "bar", 0) == -1); + ASSERT (errno == EBADF); + } + { + errno = 0; + ASSERT (linkat (AT_FDCWD, BASE "oo", 99, "bar", 0) == -1); + ASSERT (errno == EBADF); + } + /* Test basic link functionality, without mentioning symlinks. */ result = test_link (do_link, true); dfd1 = open (".", O_RDONLY); -- 2.11.0