Add test case from a recent glibc bug.
[gnulib.git] / tests / test-unistd-c++.cc
blobe4461588c49f1793b6f33a7ea255500ef02e4cfb
1 /* Test of <unistd.h> substitute in C++ mode.
2 Copyright (C) 2010-2018 Free Software Foundation, Inc.
4 This program is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 3 of the License, or
7 (at your option) any later version.
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with this program. If not, see <https://www.gnu.org/licenses/>. */
17 /* Written by Bruno Haible <bruno@clisp.org>, 2010. */
19 #define GNULIB_NAMESPACE gnulib
20 #include <config.h>
22 #include <unistd.h>
24 #include "signature.h"
27 #if GNULIB_TEST_CHDIR
28 SIGNATURE_CHECK (GNULIB_NAMESPACE::chdir, int, (const char *));
29 #endif
31 #if GNULIB_TEST_CHOWN
32 SIGNATURE_CHECK (GNULIB_NAMESPACE::chown, int, (const char *, uid_t, gid_t));
33 #endif
35 #if GNULIB_TEST_CLOSE
36 SIGNATURE_CHECK (GNULIB_NAMESPACE::close, int, (int));
37 #endif
39 #if GNULIB_TEST_DUP
40 SIGNATURE_CHECK (GNULIB_NAMESPACE::dup, int, (int));
41 #endif
43 #if GNULIB_TEST_DUP2
44 SIGNATURE_CHECK (GNULIB_NAMESPACE::dup2, int, (int, int));
45 #endif
47 #if GNULIB_TEST_DUP3
48 SIGNATURE_CHECK (GNULIB_NAMESPACE::dup3, int, (int, int, int));
49 #endif
51 #if GNULIB_TEST_EUIDACCESS
52 SIGNATURE_CHECK (GNULIB_NAMESPACE::euidaccess, int, (const char *, int));
53 #endif
55 #if GNULIB_TEST_FACCESSAT
56 SIGNATURE_CHECK (GNULIB_NAMESPACE::faccessat, int,
57 (int, char const *, int, int));
58 #endif
60 #if GNULIB_TEST_FCHDIR
61 SIGNATURE_CHECK (GNULIB_NAMESPACE::fchdir, int, (int));
62 #endif
64 #if GNULIB_TEST_FCHOWNAT
65 SIGNATURE_CHECK (GNULIB_NAMESPACE::fchownat, int,
66 (int, char const *, uid_t, gid_t, int));
67 #endif
69 #if GNULIB_TEST_FDATASYNC
70 SIGNATURE_CHECK (GNULIB_NAMESPACE::fdatasync, int, (int));
71 #endif
73 #if GNULIB_TEST_FSYNC
74 SIGNATURE_CHECK (GNULIB_NAMESPACE::fsync, int, (int));
75 #endif
77 #if GNULIB_TEST_FTRUNCATE
78 SIGNATURE_CHECK (GNULIB_NAMESPACE::ftruncate, int, (int, off_t));
79 #endif
81 #if GNULIB_TEST_GETCWD
82 SIGNATURE_CHECK (GNULIB_NAMESPACE::getcwd, char *, (char *, size_t));
83 #endif
85 #if GNULIB_TEST_GETDOMAINNAME
86 SIGNATURE_CHECK (GNULIB_NAMESPACE::getdomainname, int, (char *, size_t));
87 #endif
89 #if GNULIB_TEST_GETDTABLESIZE
90 SIGNATURE_CHECK (GNULIB_NAMESPACE::getdtablesize, int, (void));
91 #endif
93 #if GNULIB_TEST_GETGROUPS
94 SIGNATURE_CHECK (GNULIB_NAMESPACE::getgroups, int, (int, gid_t *));
95 #endif
97 #if GNULIB_TEST_GETHOSTNAME
98 SIGNATURE_CHECK (GNULIB_NAMESPACE::gethostname, int, (char *, size_t));
99 #endif
101 #if GNULIB_TEST_GETLOGIN
102 SIGNATURE_CHECK (GNULIB_NAMESPACE::getlogin, char *, (void));
103 #endif
105 #if GNULIB_TEST_GETLOGIN_R
106 SIGNATURE_CHECK (GNULIB_NAMESPACE::getlogin_r, int, (char *, size_t));
107 #endif
109 #if GNULIB_TEST_GETPAGESIZE
110 SIGNATURE_CHECK (GNULIB_NAMESPACE::getpagesize, int, (void));
111 #endif
113 #if GNULIB_TEST_GETPASS
114 SIGNATURE_CHECK (GNULIB_NAMESPACE::getpass, char *, (const char *));
115 #endif
117 #if GNULIB_TEST_GETUSERSHELL
118 SIGNATURE_CHECK (GNULIB_NAMESPACE::getusershell, char *, (void));
119 #endif
121 #if GNULIB_TEST_GETUSERSHELL
122 SIGNATURE_CHECK (GNULIB_NAMESPACE::setusershell, void, (void));
123 #endif
125 #if GNULIB_TEST_GETUSERSHELL
126 SIGNATURE_CHECK (GNULIB_NAMESPACE::endusershell, void, (void));
127 #endif
129 #if GNULIB_TEST_GROUP_MEMBER
130 SIGNATURE_CHECK (GNULIB_NAMESPACE::group_member, int, (gid_t));
131 #endif
133 #if GNULIB_TEST_ISATTY
134 SIGNATURE_CHECK (GNULIB_NAMESPACE::isatty, int, (int));
135 #endif
137 #if GNULIB_TEST_LCHOWN
138 SIGNATURE_CHECK (GNULIB_NAMESPACE::lchown, int, (char const *, uid_t, gid_t));
139 #endif
141 #if GNULIB_TEST_LINK
142 SIGNATURE_CHECK (GNULIB_NAMESPACE::link, int, (const char *, const char *));
143 #endif
145 #if GNULIB_TEST_LINKAT
146 SIGNATURE_CHECK (GNULIB_NAMESPACE::linkat, int,
147 (int, const char *, int, const char *, int));
148 #endif
150 #if GNULIB_TEST_LSEEK
151 SIGNATURE_CHECK (GNULIB_NAMESPACE::lseek, off_t, (int, off_t, int));
152 #endif
154 #if GNULIB_TEST_PIPE
155 SIGNATURE_CHECK (GNULIB_NAMESPACE::pipe, int, (int[2]));
156 #endif
158 #if GNULIB_TEST_PIPE2
159 SIGNATURE_CHECK (GNULIB_NAMESPACE::pipe2, int, (int[2], int));
160 #endif
162 #if GNULIB_TEST_PREAD
163 SIGNATURE_CHECK (GNULIB_NAMESPACE::pread, ssize_t,
164 (int, void *, size_t, off_t));
165 #endif
167 #if GNULIB_TEST_PWRITE
168 SIGNATURE_CHECK (GNULIB_NAMESPACE::pwrite, ssize_t,
169 (int, const void *, size_t, off_t));
170 #endif
172 #if GNULIB_TEST_READ
173 SIGNATURE_CHECK (GNULIB_NAMESPACE::read, ssize_t, (int, void *, size_t));
174 #endif
176 #if GNULIB_TEST_READLINK
177 SIGNATURE_CHECK (GNULIB_NAMESPACE::readlink, ssize_t,
178 (const char *, char *, size_t));
179 #endif
181 #if GNULIB_TEST_READLINKAT
182 SIGNATURE_CHECK (GNULIB_NAMESPACE::readlinkat, ssize_t,
183 (int, char const *, char *, size_t));
184 #endif
186 #if GNULIB_TEST_RMDIR
187 SIGNATURE_CHECK (GNULIB_NAMESPACE::rmdir, int, (char const *));
188 #endif
190 #if GNULIB_TEST_SETHOSTNAME
191 SIGNATURE_CHECK (GNULIB_NAMESPACE::sethostname, int, (const char *, size_t));
192 #endif
194 #if GNULIB_TEST_SLEEP
195 SIGNATURE_CHECK (GNULIB_NAMESPACE::sleep, unsigned int, (unsigned int));
196 #endif
198 #if GNULIB_TEST_SYMLINK
199 SIGNATURE_CHECK (GNULIB_NAMESPACE::symlink, int, (char const *, char const *));
200 #endif
202 #if GNULIB_TEST_SYMLINKAT
203 SIGNATURE_CHECK (GNULIB_NAMESPACE::symlinkat, int,
204 (char const *, int, char const *));
205 #endif
207 #if GNULIB_TEST_TRUNCATE
208 SIGNATURE_CHECK (GNULIB_NAMESPACE::truncate, int, (const char *, off_t));
209 #endif
211 #if GNULIB_TEST_TTYNAME_R
212 SIGNATURE_CHECK (GNULIB_NAMESPACE::ttyname_r, int,
213 (int fd, char *buf, size_t buflen));
214 #endif
216 #if GNULIB_TEST_UNLINK
217 SIGNATURE_CHECK (GNULIB_NAMESPACE::unlink, int, (char const *));
218 #endif
220 #if GNULIB_TEST_UNLINKAT
221 SIGNATURE_CHECK (GNULIB_NAMESPACE::unlinkat, int, (int, char const *, int));
222 #endif
224 #if GNULIB_TEST_USLEEP
225 SIGNATURE_CHECK (GNULIB_NAMESPACE::usleep, int, (useconds_t));
226 #endif
228 #if GNULIB_TEST_WRITE
229 SIGNATURE_CHECK (GNULIB_NAMESPACE::write, ssize_t,
230 (int, const void *, size_t));
231 #endif
235 main ()