xref: /netbsd-src/tests/include/t_netdb.c (revision 5845e996925acddf669d00fcfd8958e0eeea9007)
1*5845e996Snjoly /*	$NetBSD: t_netdb.c,v 1.2 2011/04/25 20:51:14 njoly Exp $ */
2ba5cac78Sjruoho 
3ba5cac78Sjruoho /*-
4ba5cac78Sjruoho  * Copyright (c) 2011 The NetBSD Foundation, Inc.
5ba5cac78Sjruoho  * All rights reserved.
6ba5cac78Sjruoho  *
7ba5cac78Sjruoho  * This code is derived from software contributed to The NetBSD Foundation
8ba5cac78Sjruoho  * by Jukka Ruohonen.
9ba5cac78Sjruoho  *
10ba5cac78Sjruoho  * Redistribution and use in source and binary forms, with or without
11ba5cac78Sjruoho  * modification, are permitted provided that the following conditions
12ba5cac78Sjruoho  * are met:
13ba5cac78Sjruoho  * 1. Redistributions of source code must retain the above copyright
14ba5cac78Sjruoho  *    notice, this list of conditions and the following disclaimer.
15ba5cac78Sjruoho  * 2. Redistributions in binary form must reproduce the above copyright
16ba5cac78Sjruoho  *    notice, this list of conditions and the following disclaimer in the
17ba5cac78Sjruoho  *    documentation and/or other materials provided with the distribution.
18ba5cac78Sjruoho  *
19ba5cac78Sjruoho  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
20ba5cac78Sjruoho  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21ba5cac78Sjruoho  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22ba5cac78Sjruoho  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
23ba5cac78Sjruoho  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24ba5cac78Sjruoho  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25ba5cac78Sjruoho  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26ba5cac78Sjruoho  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27ba5cac78Sjruoho  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28ba5cac78Sjruoho  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29ba5cac78Sjruoho  * POSSIBILITY OF SUCH DAMAGE.
30ba5cac78Sjruoho  */
31ba5cac78Sjruoho #include <sys/cdefs.h>
32*5845e996Snjoly __RCSID("$NetBSD: t_netdb.c,v 1.2 2011/04/25 20:51:14 njoly Exp $");
33ba5cac78Sjruoho 
34ba5cac78Sjruoho #include <atf-c.h>
35ba5cac78Sjruoho #include <netdb.h>
36ba5cac78Sjruoho 
37ba5cac78Sjruoho ATF_TC(netdb_constants);
ATF_TC_HEAD(netdb_constants,tc)38ba5cac78Sjruoho ATF_TC_HEAD(netdb_constants, tc)
39ba5cac78Sjruoho {
40ba5cac78Sjruoho 	atf_tc_set_md_var(tc, "descr", "Test constants in <netdb.h>");
41ba5cac78Sjruoho }
42ba5cac78Sjruoho 
ATF_TC_BODY(netdb_constants,tc)43ba5cac78Sjruoho ATF_TC_BODY(netdb_constants, tc)
44ba5cac78Sjruoho {
45ba5cac78Sjruoho 	bool fail;
46ba5cac78Sjruoho 
47ba5cac78Sjruoho 	/*
48ba5cac78Sjruoho 	 * The following definitions should be available
49ba5cac78Sjruoho 	 * according to IEEE Std 1003.1-2008, issue 7.
50ba5cac78Sjruoho 	 */
51ba5cac78Sjruoho 	atf_tc_expect_fail("PR standards/44777");
52ba5cac78Sjruoho 
53ba5cac78Sjruoho 	fail = true;
54ba5cac78Sjruoho 
55ba5cac78Sjruoho #ifdef AI_PASSIVE
56ba5cac78Sjruoho 	fail = false;
57ba5cac78Sjruoho #endif
58ba5cac78Sjruoho 	if (fail != false)
59*5845e996Snjoly 		atf_tc_fail_nonfatal("AI_PASSIVE not defined");
60ba5cac78Sjruoho 
61ba5cac78Sjruoho 	fail = true;
62ba5cac78Sjruoho 
63ba5cac78Sjruoho #ifdef AI_CANONNAME
64ba5cac78Sjruoho 	fail = false;
65ba5cac78Sjruoho #endif
66ba5cac78Sjruoho 	if (fail != false)
67*5845e996Snjoly 		atf_tc_fail_nonfatal("AI_CANONNAME not defined");
68ba5cac78Sjruoho 
69ba5cac78Sjruoho 	fail = true;
70ba5cac78Sjruoho 
71ba5cac78Sjruoho #ifdef AI_NUMERICHOST
72ba5cac78Sjruoho 	fail = false;
73ba5cac78Sjruoho #endif
74ba5cac78Sjruoho 	if (fail != false)
75*5845e996Snjoly 		atf_tc_fail_nonfatal("AI_NUMERICHOST not defined");
76ba5cac78Sjruoho 
77ba5cac78Sjruoho 	fail = true;
78ba5cac78Sjruoho 
79ba5cac78Sjruoho #ifdef AI_NUMERICSERV
80ba5cac78Sjruoho 	fail = false;
81ba5cac78Sjruoho #endif
82ba5cac78Sjruoho 	if (fail != false)
83*5845e996Snjoly 		atf_tc_fail_nonfatal("AI_NUMERICSERV not defined");
84ba5cac78Sjruoho 
85ba5cac78Sjruoho 	fail = true;
86ba5cac78Sjruoho 
87ba5cac78Sjruoho #ifdef AI_V4MAPPED
88ba5cac78Sjruoho 	fail = false;
89ba5cac78Sjruoho #endif
90ba5cac78Sjruoho 	if (fail != false)
91*5845e996Snjoly 		atf_tc_fail_nonfatal("AI_V4MAPPED not defined");
92ba5cac78Sjruoho 
93ba5cac78Sjruoho 	fail = true;
94ba5cac78Sjruoho 
95ba5cac78Sjruoho #ifdef AI_ALL
96ba5cac78Sjruoho 	fail = false;
97ba5cac78Sjruoho #endif
98ba5cac78Sjruoho 	if (fail != false)
99*5845e996Snjoly 		atf_tc_fail_nonfatal("AI_ALL not defined");
100ba5cac78Sjruoho 
101ba5cac78Sjruoho 	fail = true;
102ba5cac78Sjruoho 
103ba5cac78Sjruoho #ifdef AI_ADDRCONFIG
104ba5cac78Sjruoho 	fail = false;
105ba5cac78Sjruoho #endif
106ba5cac78Sjruoho 	if (fail != false)
107*5845e996Snjoly 		atf_tc_fail_nonfatal("AI_ADDRCONFIG not defined");
108ba5cac78Sjruoho 
109ba5cac78Sjruoho 	fail = true;
110ba5cac78Sjruoho 
111ba5cac78Sjruoho #ifdef NI_NOFQDN
112ba5cac78Sjruoho 	fail = false;
113ba5cac78Sjruoho #endif
114ba5cac78Sjruoho 	if (fail != false)
115*5845e996Snjoly 		atf_tc_fail_nonfatal("NI_NOFQDN not defined");
116ba5cac78Sjruoho 
117ba5cac78Sjruoho 	fail = true;
118ba5cac78Sjruoho 
119ba5cac78Sjruoho #ifdef NI_NUMERICHOST
120ba5cac78Sjruoho 	fail = false;
121ba5cac78Sjruoho #endif
122ba5cac78Sjruoho 	if (fail != false)
123*5845e996Snjoly 		atf_tc_fail_nonfatal("NI_NUMERICHOST not defined");
124ba5cac78Sjruoho 
125ba5cac78Sjruoho 	fail = true;
126ba5cac78Sjruoho 
127ba5cac78Sjruoho #ifdef NI_NAMEREQD
128ba5cac78Sjruoho 	fail = false;
129ba5cac78Sjruoho #endif
130ba5cac78Sjruoho 	if (fail != false)
131*5845e996Snjoly 		atf_tc_fail_nonfatal("NI_NAMEREQD not defined");
132ba5cac78Sjruoho 
133ba5cac78Sjruoho 	fail = true;
134ba5cac78Sjruoho 
135ba5cac78Sjruoho #ifdef NI_NUMERICSERV
136ba5cac78Sjruoho 	fail = false;
137ba5cac78Sjruoho #endif
138ba5cac78Sjruoho 	if (fail != false)
139*5845e996Snjoly 		atf_tc_fail_nonfatal("NI_NUMERICSERV not defined");
140ba5cac78Sjruoho 
141ba5cac78Sjruoho 	fail = true;
142ba5cac78Sjruoho 
143ba5cac78Sjruoho #ifdef NI_NUMERICSCOPE
144ba5cac78Sjruoho 	fail = false;
145ba5cac78Sjruoho #endif
146ba5cac78Sjruoho 	if (fail != false)
147*5845e996Snjoly 		atf_tc_fail_nonfatal("NI_NUMERICSCOPE not defined");
148ba5cac78Sjruoho 
149ba5cac78Sjruoho 	fail = true;
150ba5cac78Sjruoho 
151ba5cac78Sjruoho #ifdef NI_DGRAM
152ba5cac78Sjruoho 	fail = false;
153ba5cac78Sjruoho #endif
154ba5cac78Sjruoho 	if (fail != false)
155*5845e996Snjoly 		atf_tc_fail_nonfatal("NI_DGRAM not defined");
156ba5cac78Sjruoho 
157ba5cac78Sjruoho 	fail = true;
158ba5cac78Sjruoho 
159ba5cac78Sjruoho #ifdef EAI_AGAIN
160ba5cac78Sjruoho 	fail = false;
161ba5cac78Sjruoho #endif
162ba5cac78Sjruoho 	if (fail != false)
163*5845e996Snjoly 		atf_tc_fail_nonfatal("EAI_AGAIN not defined");
164ba5cac78Sjruoho 
165ba5cac78Sjruoho 	fail = true;
166ba5cac78Sjruoho 
167ba5cac78Sjruoho #ifdef EAI_BADFLAGS
168ba5cac78Sjruoho 	fail = false;
169ba5cac78Sjruoho #endif
170ba5cac78Sjruoho 	if (fail != false)
171*5845e996Snjoly 		atf_tc_fail_nonfatal("EAI_BADFLAGS not defined");
172ba5cac78Sjruoho 
173ba5cac78Sjruoho 	fail = true;
174ba5cac78Sjruoho 
175ba5cac78Sjruoho #ifdef EAI_FAIL
176ba5cac78Sjruoho 	fail = false;
177ba5cac78Sjruoho #endif
178ba5cac78Sjruoho 	if (fail != false)
179*5845e996Snjoly 		atf_tc_fail_nonfatal("EAI_FAIL not defined");
180ba5cac78Sjruoho 
181ba5cac78Sjruoho 	fail = true;
182ba5cac78Sjruoho 
183ba5cac78Sjruoho #ifdef EAI_FAMILY
184ba5cac78Sjruoho 	fail = false;
185ba5cac78Sjruoho #endif
186ba5cac78Sjruoho 	if (fail != false)
187*5845e996Snjoly 		atf_tc_fail_nonfatal("EAI_FAMILY not defined");
188ba5cac78Sjruoho 
189ba5cac78Sjruoho 	fail = true;
190ba5cac78Sjruoho 
191ba5cac78Sjruoho #ifdef EAI_MEMORY
192ba5cac78Sjruoho 	fail = false;
193ba5cac78Sjruoho #endif
194ba5cac78Sjruoho 	if (fail != false)
195*5845e996Snjoly 		atf_tc_fail_nonfatal("EAI_MEMORY not defined");
196ba5cac78Sjruoho 
197ba5cac78Sjruoho 	fail = true;
198ba5cac78Sjruoho 
199ba5cac78Sjruoho #ifdef EAI_NONAME
200ba5cac78Sjruoho 	fail = false;
201ba5cac78Sjruoho #endif
202ba5cac78Sjruoho 	if (fail != false)
203*5845e996Snjoly 		atf_tc_fail_nonfatal("EAI_NONAME not defined");
204ba5cac78Sjruoho 
205ba5cac78Sjruoho 	fail = true;
206ba5cac78Sjruoho 
207ba5cac78Sjruoho #ifdef EAI_SERVICE
208ba5cac78Sjruoho 	fail = false;
209ba5cac78Sjruoho #endif
210ba5cac78Sjruoho 	if (fail != false)
211*5845e996Snjoly 		atf_tc_fail_nonfatal("EAI_SERVICE not defined");
212ba5cac78Sjruoho 
213ba5cac78Sjruoho 	fail = true;
214ba5cac78Sjruoho 
215ba5cac78Sjruoho #ifdef EAI_SOCKTYPE
216ba5cac78Sjruoho 	fail = false;
217ba5cac78Sjruoho #endif
218ba5cac78Sjruoho 	if (fail != false)
219*5845e996Snjoly 		atf_tc_fail_nonfatal("EAI_SOCKTYPE not defined");
220ba5cac78Sjruoho 
221ba5cac78Sjruoho 	fail = true;
222ba5cac78Sjruoho 
223ba5cac78Sjruoho #ifdef EAI_SYSTEM
224ba5cac78Sjruoho 	fail = false;
225ba5cac78Sjruoho #endif
226ba5cac78Sjruoho 	if (fail != false)
227*5845e996Snjoly 		atf_tc_fail_nonfatal("EAI_SYSTEM not defined");
228ba5cac78Sjruoho 
229ba5cac78Sjruoho 	fail = true;
230ba5cac78Sjruoho 
231ba5cac78Sjruoho #ifdef EAI_OVERFLOW
232ba5cac78Sjruoho 	fail = false;
233ba5cac78Sjruoho #endif
234ba5cac78Sjruoho 	if (fail != false)
235*5845e996Snjoly 		atf_tc_fail_nonfatal("EAI_OVERFLOW not defined");
236ba5cac78Sjruoho }
237ba5cac78Sjruoho 
ATF_TP_ADD_TCS(tp)238ba5cac78Sjruoho ATF_TP_ADD_TCS(tp)
239ba5cac78Sjruoho {
240ba5cac78Sjruoho 
241ba5cac78Sjruoho 	ATF_TP_ADD_TC(tp, netdb_constants);
242ba5cac78Sjruoho 
243ba5cac78Sjruoho 	return atf_no_error();
244ba5cac78Sjruoho }
245