From: Eric Blake <ebb9@byu.net> Date: Fri, 21 Aug 2009 13:18:10 +0000 (-0600) Subject: test-fcntl-safer: split from test-open X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=45b8409ffe3828d32d20281f1038816573e753df;p=pspp test-fcntl-safer: split from test-open * tests/test-open.c (main): Move... * tests/test-open.h: ...into new file. * tests/test-fcntl-safer.c: New file. * modules/open-tests (Files): Add test-open.h. * modules/fcntl-safer-tests: New file. Suggested by Bruno Haible. Signed-off-by: Eric Blake <ebb9@byu.net> --- diff --git a/ChangeLog b/ChangeLog index 1530f828b6..7b9bb01eef 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,13 @@ 2009-08-21 Eric Blake <ebb9@byu.net> + test-fcntl-safer: split from test-open + * tests/test-open.c (main): Move... + * tests/test-open.h: ...into new file. + * tests/test-fcntl-safer.c: New file. + * modules/open-tests (Files): Add test-open.h. + * modules/fcntl-safer-tests: New file. + Suggested by Bruno Haible. + test-fopen-safer: split from test-fopen * tests/test-fopen.c (main): Move... * tests/test-fopen.h: ...into new file. diff --git a/modules/fcntl-safer-tests b/modules/fcntl-safer-tests new file mode 100644 index 0000000000..622914268b --- /dev/null +++ b/modules/fcntl-safer-tests @@ -0,0 +1,11 @@ +Files: +tests/test-open.h +tests/test-fcntl-safer.c + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-fcntl-safer +check_PROGRAMS += test-fcntl-safer diff --git a/modules/open-tests b/modules/open-tests index 43366cf1f0..42aa93c02d 100644 --- a/modules/open-tests +++ b/modules/open-tests @@ -1,4 +1,5 @@ Files: +tests/test-open.h tests/test-open.c Depends-on: diff --git a/tests/test-fcntl-safer.c b/tests/test-fcntl-safer.c new file mode 100644 index 0000000000..3b3ff75139 --- /dev/null +++ b/tests/test-fcntl-safer.c @@ -0,0 +1,23 @@ +/* Test of opening a file descriptor. + 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 <http://www.gnu.org/licenses/>. */ + +/* Written by Bruno Haible <bruno@clisp.org>, 2007. */ + +#include <config.h> + +#include "fcntl--.h" + +#include "test-open.h" diff --git a/tests/test-open.c b/tests/test-open.c index c9f3641c35..df7e36fd83 100644 --- a/tests/test-open.c +++ b/tests/test-open.c @@ -20,32 +20,4 @@ #include <fcntl.h> -#include <stdio.h> -#include <stdlib.h> - -#if GNULIB_FCNTL_SAFER -# include "fcntl--.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 (open ("nonexist.ent/", O_CREAT | O_RDONLY, 0600) < 0); - ASSERT (open ("/dev/null/", O_RDONLY) < 0); - - ASSERT (open ("/dev/null", O_RDONLY) >= 0); - - return 0; -} +#include "test-open.h" diff --git a/tests/test-open.h b/tests/test-open.h new file mode 100644 index 0000000000..466cab3d0e --- /dev/null +++ b/tests/test-open.h @@ -0,0 +1,45 @@ +/* Test of opening a file descriptor. + 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 <http://www.gnu.org/licenses/>. */ + +/* Written by Bruno Haible <bruno@clisp.org>, 2007. */ + +/* Include <config.h> and a form of <fcntl.h> first. */ + +#include <stdio.h> +#include <stdlib.h> + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + ASSERT (open ("nonexist.ent/", O_CREAT | O_RDONLY, 0600) < 0); + ASSERT (open ("/dev/null/", O_RDONLY) < 0); + + ASSERT (open ("/dev/null", O_RDONLY) >= 0); + + return 0; +}