LCOV - GNU Libidn - gltests/test-fdopen.c

LCOV - code coverage report
Current view: top level - gltests - test-fdopen.c (source / functions) Hit Total Coverage
Test: GNU Libidn Lines: 5 7 71.4 %
Date: 2020年07月22日 17:53:13 Functions: 1 1 100.0 %
Legend: Lines: hit not hit

 Line data Source code
 1  : /* Test opening a stream with a file descriptor.
 2  : Copyright (C) 2011-2020 Free Software Foundation, Inc.
 3  : 
 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.
 8  : 
 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.
 13  : 
 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/>. */
 16  : 
 17  : #include <config.h>
 18  : 
 19  : #include <stdio.h>
 20  : 
 21  : #include "signature.h"
 22  : SIGNATURE_CHECK (fdopen, FILE *, (int, const char *));
 23  : 
 24  : #include <errno.h>
 25  : #include <unistd.h>
 26  : 
 27  : #include "macros.h"
 28  : 
 29  : int
 30  1 : main (void)
 31  : {
 32  : /* Test behavior on failure. POSIX makes it hard to check for
 33  : failure, since the behavior is not well-defined on invalid file
 34  : descriptors, so try fdopen 1000 times and if that's not enough to
 35  : fail due to EMFILE, so be it. */
 36  : 
 37  : int i;
 38  1001 : for (i = 0; i < 1000; i++)
 39  : {
 40  1000 : errno = 0;
 41  1000 : if (! fdopen (STDOUT_FILENO, "w"))
 42  : {
 43  0 : ASSERT (errno != 0);
 44  0 : break;
 45  : }
 46  : }
 47  : 
 48  1 : return 0;
 49  : }

Generated by: LCOV version 1.13

AltStyle によって変換されたページ (->オリジナル) /