annotate tests/test-faccessat.c @ 17460:d11431703671

autoupdate
author Karl Berry <karl@freefriends.org>
date Fri, 09 Aug 2013 08:03:30 -0700
parents 3a09cc104f4c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15702
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
1 /* Test checking user's permissions for a file.
17249
e542fd46ad6f maint: update all copyright year number ranges
Eric Blake <eblake@redhat.com>
parents: 16201
diff changeset
2 Copyright (C) 2011-2013 Free Software Foundation, Inc.
15702
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
3
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
4 This program is free software: you can redistribute it and/or modify
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
5 it under the terms of the GNU General Public License as published by
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
6 the Free Software Foundation; either version 3 of the License, or
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
7 (at your option) any later version.
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
8
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
9 This program is distributed in the hope that it will be useful,
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
12 GNU General Public License for more details.
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
13
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
14 You should have received a copy of the GNU General Public License
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
15 along with this program. If not, see <http://www.gnu.org/licenses/>. */
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
16
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
17 #include <config.h>
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
18
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
19 #include <unistd.h>
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
20
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
21 #include "signature.h"
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
22 SIGNATURE_CHECK (faccessat, int, (int, const char *, int, int));
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
23
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
24 #include <errno.h>
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
25 #include <fcntl.h>
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
26
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
27 #include "macros.h"
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
28
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
29 int
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
30 main (void)
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
31 {
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
32 /* Test behaviour for invalid file descriptors. */
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
33 {
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
34 errno = 0;
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
35 ASSERT (faccessat (-1, "foo", F_OK, 0) == -1);
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
36 ASSERT (errno == EBADF);
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
37 }
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
38 {
17295
3a09cc104f4c tests: don't assume fd 99 is closed
Paul Eggert <eggert@cs.ucla.edu>
parents: 17249
diff changeset
39 close (99);
15702
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
40 errno = 0;
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
41 ASSERT (faccessat (99, "foo", F_OK, 0) == -1);
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
42 ASSERT (errno == EBADF);
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
43 }
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
44
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
45 return 0;
e52fd8710d18 Tests for module 'faccessat'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
46 }