# HG changeset patch # User Eric Blake # Date 1250831960 21600 # Node ID f455bec0d65fa1b19e3ae077c8006debd26ad174 # Parent c41f4ce30e3696cd9ecf6dd5ffae1b43459e739a test-fopen-safer: split from test-fopen * tests/test-fopen.c (main): Move... * tests/test-fopen.h: ...into new file. * tests/test-fopen-safer.c: New file. * modules/fopen-tests (Files): Add test-fopen.h. * modules/fopen-safer-tests: New file. Suggested by Bruno Haible. Signed-off-by: Eric Blake diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2009-08-21 Eric Blake + + test-fopen-safer: split from test-fopen + * tests/test-fopen.c (main): Move... + * tests/test-fopen.h: ...into new file. + * tests/test-fopen-safer.c: New file. + * modules/fopen-tests (Files): Add test-fopen.h. + * modules/fopen-safer-tests: New file. + Suggested by Bruno Haible. + 2009-08-21 Paolo Bonzini popen-safer: test O_CLOEXEC at run-time. diff --git a/modules/fopen-safer-tests b/modules/fopen-safer-tests new file mode 100644 --- /dev/null +++ b/modules/fopen-safer-tests @@ -0,0 +1,11 @@ +Files: +tests/test-fopen.h +tests/test-fopen-safer.c + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-fopen-safer +check_PROGRAMS += test-fopen-safer diff --git a/modules/fopen-tests b/modules/fopen-tests --- a/modules/fopen-tests +++ b/modules/fopen-tests @@ -1,4 +1,5 @@ Files: +tests/test-fopen.h tests/test-fopen.c Depends-on: diff --git a/tests/test-fopen-safer.c b/tests/test-fopen-safer.c new file mode 100644 --- /dev/null +++ b/tests/test-fopen-safer.c @@ -0,0 +1,23 @@ +/* Test of opening a file stream. + Copyright (C) 2007-2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +#include + +#include "stdio--.h" + +#include "test-fopen.h" diff --git a/tests/test-fopen.c b/tests/test-fopen.c --- a/tests/test-fopen.c +++ b/tests/test-fopen.c @@ -19,31 +19,5 @@ #include #include -#include -#if GNULIB_FOPEN_SAFER -# include "stdio--.h" -#endif - -#define ASSERT(expr) \ - do \ - { \ - if (!(expr)) \ - { \ - fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ - fflush (stderr); \ - abort (); \ - } \ - } \ - while (0) - -int -main () -{ - ASSERT (fopen ("nonexist.ent/", "w") == NULL); - ASSERT (fopen ("/dev/null/", "r") == NULL); - - ASSERT (fopen ("/dev/null", "r") != NULL); - - return 0; -} +#include "test-fopen.h" diff --git a/tests/test-fopen.h b/tests/test-fopen.h new file mode 100644 --- /dev/null +++ b/tests/test-fopen.h @@ -0,0 +1,44 @@ +/* Test of opening a file stream. + Copyright (C) 2007-2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +/* Include and a form of first. */ + +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + ASSERT (fopen ("nonexist.ent/", "w") == NULL); + ASSERT (fopen ("/dev/null/", "r") == NULL); + + ASSERT (fopen ("/dev/null", "r") != NULL); + + return 0; +}