1 /*        $NetBSD: t_errno.c,v 1.2 2020/03/08 22:09:43 mgorny Exp $ */
2 
3 /*-
4  * Copyright (c) 2011 The NetBSD Foundation, Inc.
5  * All rights reserved.
6  *
7  * This code is derived from software contributed to The NetBSD Foundation
8  * by Jukka Ruohonen.
9  *
10  * Redistribution and use in source and binary forms, with or without
11  * modification, are permitted provided that the following conditions
12  * are met:
13  * 1. Redistributions of source code must retain the above copyright
14  *    notice, this list of conditions and the following disclaimer.
15  * 2. Redistributions in binary form must reproduce the above copyright
16  *    notice, this list of conditions and the following disclaimer in the
17  *    documentation and/or other materials provided with the distribution.
18  *
19  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
20  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
23  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29  * POSSIBILITY OF SUCH DAMAGE.
30  */
31 #include <sys/cdefs.h>
32 __RCSID("$NetBSD: t_errno.c,v 1.2 2020/03/08 22:09:43 mgorny Exp $");
33 
34 #include <atf-c.h>
35 #include <errno.h>
36 
37 ATF_TC(errno_constants);
ATF_TC_HEAD(errno_constants,tc)38 ATF_TC_HEAD(errno_constants, tc)
39 {
40           atf_tc_set_md_var(tc, "descr", "Test POSIX constants in <errno.h>");
41 }
42 
ATF_TC_BODY(errno_constants,tc)43 ATF_TC_BODY(errno_constants, tc)
44 {
45           bool fail;
46 
47           /*
48            * The following definitions should be available
49            * according to IEEE Std 1003.1-2008, issue 7.
50            */
51 
52           fail = true;
53 
54 #ifdef E2BIG
55           fail = false;
56 #endif
57           if (fail != false)
58                     atf_tc_fail_nonfatal("E2BIG not defined");
59 
60           fail = true;
61 
62 #ifdef EACCES
63           fail = false;
64 #endif
65           if (fail != false)
66                     atf_tc_fail_nonfatal("EACCES not defined");
67 
68           fail = true;
69 
70 #ifdef EADDRINUSE
71           fail = false;
72 #endif
73           if (fail != false)
74                     atf_tc_fail_nonfatal("EADDRINUSE not defined");
75 
76           fail = true;
77 
78 #ifdef EADDRNOTAVAIL
79           fail = false;
80 #endif
81           if (fail != false)
82                     atf_tc_fail_nonfatal("EADDRNOTAVAIL not defined");
83 
84           fail = true;
85 
86 #ifdef EAFNOSUPPORT
87           fail = false;
88 #endif
89           if (fail != false)
90                     atf_tc_fail_nonfatal("EAFNOSUPPORT not defined");
91 
92           fail = true;
93 
94 #ifdef EAGAIN
95           fail = false;
96 #endif
97           if (fail != false)
98                     atf_tc_fail_nonfatal("EAGAIN not defined");
99 
100           fail = true;
101 
102 #ifdef EALREADY
103           fail = false;
104 #endif
105           if (fail != false)
106                     atf_tc_fail_nonfatal("EALREADY not defined");
107 
108           fail = true;
109 
110 #ifdef EBADF
111           fail = false;
112 #endif
113           if (fail != false)
114                     atf_tc_fail_nonfatal("EBADF not defined");
115 
116           fail = true;
117 
118 #ifdef EBADMSG
119           fail = false;
120 #endif
121           if (fail != false)
122                     atf_tc_fail_nonfatal("EBADMSG not defined");
123 
124           fail = true;
125 
126 #ifdef EBUSY
127           fail = false;
128 #endif
129           if (fail != false)
130                     atf_tc_fail_nonfatal("EBUSY not defined");
131 
132           fail = true;
133 
134 #ifdef ECANCELED
135           fail = false;
136 #endif
137           if (fail != false)
138                     atf_tc_fail_nonfatal("ECANCELED not defined");
139 
140           fail = true;
141 
142 #ifdef ECHILD
143           fail = false;
144 #endif
145           if (fail != false)
146                     atf_tc_fail_nonfatal("ECHILD not defined");
147 
148           fail = true;
149 
150 #ifdef ECONNABORTED
151           fail = false;
152 #endif
153           if (fail != false)
154                     atf_tc_fail_nonfatal("ECONNABORTED not defined");
155 
156           fail = true;
157 
158 #ifdef ECONNREFUSED
159           fail = false;
160 #endif
161           if (fail != false)
162                     atf_tc_fail_nonfatal("ECONNREFUSED not defined");
163 
164           fail = true;
165 
166 #ifdef ECONNRESET
167           fail = false;
168 #endif
169           if (fail != false)
170                     atf_tc_fail_nonfatal("ECONNRESET not defined");
171 
172           fail = true;
173 
174 #ifdef EDEADLK
175           fail = false;
176 #endif
177           if (fail != false)
178                     atf_tc_fail_nonfatal("EDEADLK not defined");
179 
180           fail = true;
181 
182 #ifdef EDESTADDRREQ
183           fail = false;
184 #endif
185           if (fail != false)
186                     atf_tc_fail_nonfatal("EDESTADDRREQ not defined");
187 
188           fail = true;
189 
190 #ifdef EDOM
191           fail = false;
192 #endif
193           if (fail != false)
194                     atf_tc_fail_nonfatal("EDOM not defined");
195 
196           fail = true;
197 
198 #ifdef EDQUOT
199           fail = false;
200 #endif
201           if (fail != false)
202                     atf_tc_fail_nonfatal("EDQUOT not defined");
203 
204           fail = true;
205 
206 #ifdef EEXIST
207           fail = false;
208 #endif
209           if (fail != false)
210                     atf_tc_fail_nonfatal("EEXIST not defined");
211 
212           fail = true;
213 
214 #ifdef EFAULT
215           fail = false;
216 #endif
217           if (fail != false)
218                     atf_tc_fail_nonfatal("EFAULT not defined");
219 
220           fail = true;
221 
222 #ifdef EFBIG
223           fail = false;
224 #endif
225           if (fail != false)
226                     atf_tc_fail_nonfatal("EFBIG not defined");
227 
228           fail = true;
229 
230 #ifdef EHOSTUNREACH
231           fail = false;
232 #endif
233           if (fail != false)
234                     atf_tc_fail_nonfatal("EHOSTUNREACH not defined");
235 
236           fail = true;
237 
238 #ifdef EIDRM
239           fail = false;
240 #endif
241           if (fail != false)
242                     atf_tc_fail_nonfatal("EIDRM not defined");
243 
244           fail = true;
245 
246 #ifdef EILSEQ
247           fail = false;
248 #endif
249 
250           if (fail != false)
251                     atf_tc_fail_nonfatal("EILSEQ not defined");
252 
253           fail = true;
254 
255 #ifdef EINPROGRESS
256           fail = false;
257 #endif
258 
259           if (fail != false)
260                     atf_tc_fail_nonfatal("EINPROGRESS not defined");
261 
262           fail = true;
263 
264 #ifdef EINTR
265           fail = false;
266 #endif
267 
268           if (fail != false)
269                     atf_tc_fail_nonfatal("EINTR not defined");
270 
271           fail = true;
272 
273 #ifdef EINVAL
274           fail = false;
275 #endif
276 
277           if (fail != false)
278                     atf_tc_fail_nonfatal("EINVAL not defined");
279 
280           fail = true;
281 
282 #ifdef EIO
283           fail = false;
284 #endif
285 
286           if (fail != false)
287                     atf_tc_fail_nonfatal("EIO not defined");
288 
289           fail = true;
290 
291 #ifdef EISCONN
292           fail = false;
293 #endif
294 
295           if (fail != false)
296                     atf_tc_fail_nonfatal("EISCONN not defined");
297 
298           fail = true;
299 
300 #ifdef EISDIR
301           fail = false;
302 #endif
303 
304           if (fail != false)
305                     atf_tc_fail_nonfatal("EISDIR not defined");
306 
307           fail = true;
308 
309 #ifdef ELOOP
310           fail = false;
311 #endif
312 
313           if (fail != false)
314                     atf_tc_fail_nonfatal("ELOOP not defined");
315 
316           fail = true;
317 
318 #ifdef EMFILE
319           fail = false;
320 #endif
321 
322           if (fail != false)
323                     atf_tc_fail_nonfatal("EMFILE not defined");
324 
325           fail = true;
326 
327 #ifdef EMLINK
328           fail = false;
329 #endif
330 
331           if (fail != false)
332                     atf_tc_fail_nonfatal("EMLINK not defined");
333 
334           fail = true;
335 
336 #ifdef EMSGSIZE
337           fail = false;
338 #endif
339 
340           if (fail != false)
341                     atf_tc_fail_nonfatal("EMSGSIZE not defined");
342 
343           fail = true;
344 
345 #ifdef EMULTIHOP
346           fail = false;
347 #endif
348 
349           if (fail != false)
350                     atf_tc_fail_nonfatal("EMULTIHOP not defined");
351 
352           fail = true;
353 
354 #ifdef ENAMETOOLONG
355           fail = false;
356 #endif
357 
358           if (fail != false)
359                     atf_tc_fail_nonfatal("ENAMETOOLONG not defined");
360 
361           fail = true;
362 
363 #ifdef ENETDOWN
364           fail = false;
365 #endif
366 
367           if (fail != false)
368                     atf_tc_fail_nonfatal("ENETDOWN not defined");
369 
370           fail = true;
371 
372 #ifdef ENETRESET
373           fail = false;
374 #endif
375 
376           if (fail != false)
377                     atf_tc_fail_nonfatal("ENETRESET not defined");
378 
379           fail = true;
380 
381 #ifdef ENETUNREACH
382           fail = false;
383 #endif
384 
385           if (fail != false)
386                     atf_tc_fail_nonfatal("ENETUNREACH not defined");
387 
388           fail = true;
389 
390 #ifdef ENFILE
391           fail = false;
392 #endif
393 
394           if (fail != false)
395                     atf_tc_fail_nonfatal("ENFILE not defined");
396 
397           fail = true;
398 
399 #ifdef ENOBUFS
400           fail = false;
401 #endif
402 
403           if (fail != false)
404                     atf_tc_fail_nonfatal("ENOBUFS not defined");
405 
406           fail = true;
407 
408 #ifdef ENODATA
409           fail = false;
410 #endif
411 
412           if (fail != false)
413                     atf_tc_fail_nonfatal("ENODATA not defined");
414 
415           fail = true;
416 
417 #ifdef ENODEV
418           fail = false;
419 #endif
420 
421           if (fail != false)
422                     atf_tc_fail_nonfatal("ENODEV not defined");
423 
424           fail = true;
425 
426 #ifdef ENOENT
427           fail = false;
428 #endif
429 
430           if (fail != false)
431                     atf_tc_fail_nonfatal("ENOENT not defined");
432 
433           fail = true;
434 
435 #ifdef ENOEXEC
436           fail = false;
437 #endif
438 
439           if (fail != false)
440                     atf_tc_fail_nonfatal("ENOEXEC not defined");
441 
442           fail = true;
443 
444 #ifdef ENOLCK
445           fail = false;
446 #endif
447 
448           if (fail != false)
449                     atf_tc_fail_nonfatal("ENOLCK not defined");
450 
451           fail = true;
452 
453 #ifdef ENOLINK
454           fail = false;
455 #endif
456 
457           if (fail != false)
458                     atf_tc_fail_nonfatal("ENOLINK not defined");
459 
460           fail = true;
461 
462 #ifdef ENOMEM
463           fail = false;
464 #endif
465 
466           if (fail != false)
467                     atf_tc_fail_nonfatal("ENOMEM not defined");
468 
469           fail = true;
470 
471 #ifdef ENOMSG
472           fail = false;
473 #endif
474 
475           if (fail != false)
476                     atf_tc_fail_nonfatal("ENOMSG not defined");
477 
478           fail = true;
479 
480 #ifdef ENOPROTOOPT
481           fail = false;
482 #endif
483 
484           if (fail != false)
485                     atf_tc_fail_nonfatal("ENOPROTOOPT not defined");
486 
487           fail = true;
488 
489 #ifdef ENOSPC
490           fail = false;
491 #endif
492 
493           if (fail != false)
494                     atf_tc_fail_nonfatal("ENOSPC not defined");
495 
496           fail = true;
497 
498 #ifdef ENOSR
499           fail = false;
500 #endif
501 
502           if (fail != false)
503                     atf_tc_fail_nonfatal("ENOSR not defined");
504 
505           fail = true;
506 
507 #ifdef ENOSTR
508           fail = false;
509 #endif
510 
511           if (fail != false)
512                     atf_tc_fail_nonfatal("ENOSTR not defined");
513 
514           fail = true;
515 
516 #ifdef ENOSYS
517           fail = false;
518 #endif
519 
520           if (fail != false)
521                     atf_tc_fail_nonfatal("ENOSYS not defined");
522 
523           fail = true;
524 
525 #ifdef ENOTCONN
526           fail = false;
527 #endif
528 
529           if (fail != false)
530                     atf_tc_fail_nonfatal("ENOTCONN not defined");
531 
532           fail = true;
533 
534 #ifdef ENOTDIR
535           fail = false;
536 #endif
537 
538           if (fail != false)
539                     atf_tc_fail_nonfatal("ENOTDIR not defined");
540 
541           fail = true;
542 
543 #ifdef ENOTEMPTY
544           fail = false;
545 #endif
546 
547           if (fail != false)
548                     atf_tc_fail_nonfatal("ENOTEMPTY not defined");
549 
550           fail = true;
551 
552 #ifdef ENOTRECOVERABLE
553           fail = false;
554 #endif
555 
556           if (fail != false)
557                     atf_tc_fail_nonfatal("ENOTRECOVERABLE not defined");
558 
559           fail = true;
560 
561 #ifdef ENOTSOCK
562           fail = false;
563 #endif
564 
565           if (fail != false)
566                     atf_tc_fail_nonfatal("ENOTSOCK not defined");
567 
568           fail = true;
569 
570 #ifdef ENOTSUP
571           fail = false;
572 #endif
573 
574           if (fail != false)
575                     atf_tc_fail_nonfatal("ENOTSUP not defined");
576 
577           fail = true;
578 
579 #ifdef ENOTTY
580           fail = false;
581 #endif
582 
583           if (fail != false)
584                     atf_tc_fail_nonfatal("ENOTTY not defined");
585 
586           fail = true;
587 
588 #ifdef ENXIO
589           fail = false;
590 #endif
591 
592           if (fail != false)
593                     atf_tc_fail_nonfatal("ENXIO not defined");
594 
595           fail = true;
596 
597 #ifdef EOPNOTSUPP
598           fail = false;
599 #endif
600 
601           if (fail != false)
602                     atf_tc_fail_nonfatal("EOPNOTSUPP not defined");
603 
604           fail = true;
605 
606 #ifdef EOVERFLOW
607           fail = false;
608 #endif
609 
610           if (fail != false)
611                     atf_tc_fail_nonfatal("EOVERFLOW not defined");
612 
613           fail = true;
614 
615 #ifdef EOWNERDEAD
616           fail = false;
617 #endif
618 
619           if (fail != false)
620                     atf_tc_fail_nonfatal("EOWNERDEAD not defined");
621 
622           fail = true;
623 
624 #ifdef EPERM
625           fail = false;
626 #endif
627 
628           if (fail != false)
629                     atf_tc_fail_nonfatal("EPERM not defined");
630 
631           fail = true;
632 
633 #ifdef EPIPE
634           fail = false;
635 #endif
636 
637           if (fail != false)
638                     atf_tc_fail_nonfatal("EPIPE not defined");
639 
640           fail = true;
641 
642 #ifdef EPROTO
643           fail = false;
644 #endif
645 
646           if (fail != false)
647                     atf_tc_fail_nonfatal("EPROTO not defined");
648 
649           fail = true;
650 
651 #ifdef EPROTONOSUPPORT
652           fail = false;
653 #endif
654 
655           if (fail != false)
656                     atf_tc_fail_nonfatal("EPROTONOSUPPORT not defined");
657 
658           fail = true;
659 
660 #ifdef EPROTOTYPE
661           fail = false;
662 #endif
663 
664           if (fail != false)
665                     atf_tc_fail_nonfatal("EPROTOTYPE not defined");
666 
667           fail = true;
668 
669 #ifdef ERANGE
670           fail = false;
671 #endif
672 
673           if (fail != false)
674                     atf_tc_fail_nonfatal("ERANGE not defined");
675 
676           fail = true;
677 
678 #ifdef EROFS
679           fail = false;
680 #endif
681 
682           if (fail != false)
683                     atf_tc_fail_nonfatal("EROFS not defined");
684 
685           fail = true;
686 
687 #ifdef ESPIPE
688           fail = false;
689 #endif
690 
691           if (fail != false)
692                     atf_tc_fail_nonfatal("ESPIPE not defined");
693 
694           fail = true;
695 
696 #ifdef ESRCH
697           fail = false;
698 #endif
699 
700           if (fail != false)
701                     atf_tc_fail_nonfatal("ESRCH not defined");
702 
703           fail = true;
704 
705 #ifdef ESTALE
706           fail = false;
707 #endif
708 
709           if (fail != false)
710                     atf_tc_fail_nonfatal("ESTALE not defined");
711 
712           fail = true;
713 
714 #ifdef ETIME
715           fail = false;
716 #endif
717 
718           if (fail != false)
719                     atf_tc_fail_nonfatal("ETIME not defined");
720 
721           fail = true;
722 
723 #ifdef ETIMEDOUT
724           fail = false;
725 #endif
726 
727           if (fail != false)
728                     atf_tc_fail_nonfatal("ETIMEDOUT not defined");
729 
730           fail = true;
731 
732 #ifdef ETXTBSY
733           fail = false;
734 #endif
735 
736           if (fail != false)
737                     atf_tc_fail_nonfatal("ETXTBSY not defined");
738 
739           fail = true;
740 
741 #ifdef EWOULDBLOCK
742           fail = false;
743 #endif
744 
745           if (fail != false)
746                     atf_tc_fail_nonfatal("EWOULDBLOCK not defined");
747 
748           fail = true;
749 
750 #ifdef EXDEV
751           fail = false;
752 #endif
753 
754           if (fail != false)
755                     atf_tc_fail_nonfatal("EXDEV not defined");
756 }
757 
ATF_TP_ADD_TCS(tp)758 ATF_TP_ADD_TCS(tp)
759 {
760 
761           ATF_TP_ADD_TC(tp, errno_constants);
762 
763           return atf_no_error();
764 }
765