Mercurial > gnulib
changeset 39494:5fa3073ecc73
glob-h: Add tests.
* tests/test-glob-h.c: New file, partially based on tests/test-glob.c.
* tests/test-glob.c: Reorder #includes. Remove tests that are moved to
tests/test-glob-h.c.
* modules/glob-h-tests: New file.
* tests/test-glob-h-c++.cc: Renamed from tests/test-glob-c++.cc. Add
conditions.
* modules/glob-h-c++-tests: Renamed from modules/glob-c++-tests.
* modules/glob-tests (Depends-on): Remove glob-c++-tests.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Tue, 07 Aug 2018 10:54:41 +0200 |
parents | 00e4da354b07 |
children | 000739ee1056 |
files | ChangeLog modules/glob-c++-tests modules/glob-h-c++-tests modules/glob-h-tests modules/glob-tests tests/test-glob-c++.cc tests/test-glob-h-c++.cc tests/test-glob-h.c tests/test-glob.c |
diffstat | 9 files changed, 146 insertions(+), 66 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Tue Aug 07 10:43:06 2018 +0200 +++ b/ChangeLog Tue Aug 07 10:54:41 2018 +0200 @@ -1,3 +1,15 @@ +2018-08-07 Bruno Haible <bruno@clisp.org> + + glob-h: Add tests. + * tests/test-glob-h.c: New file, partially based on tests/test-glob.c. + * tests/test-glob.c: Reorder #includes. Remove tests that are moved to + tests/test-glob-h.c. + * modules/glob-h-tests: New file. + * tests/test-glob-h-c++.cc: Renamed from tests/test-glob-c++.cc. Add + conditions. + * modules/glob-h-c++-tests: Renamed from modules/glob-c++-tests. + * modules/glob-tests (Depends-on): Remove glob-c++-tests. + 2018-08-07 Bruno Haible <bruno@clisp.org> glob-h: New module.
--- a/modules/glob-c++-tests Tue Aug 07 10:43:06 2018 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,19 +0,0 @@ -Files: -tests/test-glob-c++.cc -tests/signature.h - -Status: -c++-test - -Depends-on: -ansi-c++-opt - -configure.ac: - -Makefile.am: -if ANSICXX -TESTS += test-glob-c++ -check_PROGRAMS += test-glob-c++ -test_glob_c___SOURCES = test-glob-c++.cc -test_glob_c___LDADD = $(LDADD) $(LIBINTL) $(LIB_CLOCK_GETTIME) -endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/modules/glob-h-c++-tests Tue Aug 07 10:54:41 2018 +0200 @@ -0,0 +1,19 @@ +Files: +tests/test-glob-h-c++.cc +tests/signature.h + +Status: +c++-test + +Depends-on: +ansi-c++-opt + +configure.ac: + +Makefile.am: +if ANSICXX +TESTS += test-glob-h-c++ +check_PROGRAMS += test-glob-h-c++ +test_glob_h_c___SOURCES = test-glob-h-c++.cc +test_glob_h_c___LDADD = $(LDADD) $(LIBINTL) $(LIB_CLOCK_GETTIME) +endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/modules/glob-h-tests Tue Aug 07 10:54:41 2018 +0200 @@ -0,0 +1,12 @@ +Files: +tests/test-glob-h.c +tests/macros.h + +Depends-on: +glob-h-c++-tests + +configure.ac: + +Makefile.am: +TESTS += test-glob-h +check_PROGRAMS += test-glob-h
--- a/modules/glob-tests Tue Aug 07 10:43:06 2018 +0200 +++ b/modules/glob-tests Tue Aug 07 10:54:41 2018 +0200 @@ -4,7 +4,6 @@ tests/macros.h Depends-on: -glob-c++-tests symlink configure.ac:
--- a/tests/test-glob-c++.cc Tue Aug 07 10:43:06 2018 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,38 +0,0 @@ -/* Test of glob/globfree functions in C++ mode. - Copyright (C) 2010-2018 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 <https://www.gnu.org/licenses/>. */ - -/* Written by Bruno Haible <bruno@clisp.org>, 2010. */ - -#define GNULIB_NAMESPACE gnulib -#include <config.h> - -#include <glob.h> - -#include "signature.h" - - -SIGNATURE_CHECK (GNULIB_NAMESPACE::glob, int, - (const char *, int, _gl_glob_errfunc_fn, glob_t *)); - -SIGNATURE_CHECK (GNULIB_NAMESPACE::globfree, void, (glob_t *)); - -//SIGNATURE_CHECK (GNULIB_NAMESPACE::glob_pattern_p, int, (const char *, int)); - - -int -main () -{ -}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-glob-h-c++.cc Tue Aug 07 10:54:41 2018 +0200 @@ -0,0 +1,44 @@ +/* Test of glob/globfree functions in C++ mode. + Copyright (C) 2010-2018 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 <https://www.gnu.org/licenses/>. */ + +/* Written by Bruno Haible <bruno@clisp.org>, 2010. */ + +#define GNULIB_NAMESPACE gnulib +#include <config.h> + +#include <glob.h> + +#include "signature.h" + + +#if GNULIB_TEST_GLOB +SIGNATURE_CHECK (GNULIB_NAMESPACE::glob, int, + (const char *, int, _gl_glob_errfunc_fn, glob_t *)); +#endif + +#if GNULIB_TEST_GLOB +SIGNATURE_CHECK (GNULIB_NAMESPACE::globfree, void, (glob_t *)); +#endif + +#if GNULIB_TEST_GLOB +SIGNATURE_CHECK (GNULIB_NAMESPACE::glob_pattern_p, int, (const char *, int)); +#endif + + +int +main () +{ +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-glob-h.c Tue Aug 07 10:54:41 2018 +0200 @@ -0,0 +1,57 @@ +/* Test of <glob.h> substitute. + Copyright (C) 2009-2018 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 <https://www.gnu.org/licenses/>. */ + +/* Written by Simon Josefsson <simon@josefsson.org>, 2009. */ + +#include <config.h> + +#include <glob.h> + +#include "macros.h" + +/* Check that size_t is defined. */ +size_t a; + +/* Check that the various GLOB_* macros are defined. */ +int flags[] = + { + GLOB_APPEND, + GLOB_DOOFFS, + GLOB_ERR, + GLOB_MARK, + GLOB_NOCHECK, + GLOB_NOESCAPE, + GLOB_NOSORT + }; +int ret[] = + { + GLOB_ABORTED, + GLOB_NOMATCH, + GLOB_NOSPACE + }; + +int +main () +{ + glob_t g; + + /* Make sure glob_t struct members exists. */ + ASSERT (sizeof (g.gl_pathc)); + ASSERT (sizeof (g.gl_pathv)); + ASSERT (sizeof (g.gl_offs)); + + return 0; +}
--- a/tests/test-glob.c Tue Aug 07 10:43:06 2018 +0200 +++ b/tests/test-glob.c Tue Aug 07 10:54:41 2018 +0200 @@ -20,15 +20,14 @@ #include <glob.h> -#include <errno.h> -#include <unistd.h> - #include "signature.h" SIGNATURE_CHECK (glob, int, (char const *, int, int (*) (char const *, int), glob_t *)); SIGNATURE_CHECK (globfree, void, (glob_t *)); +#include <errno.h> #include <string.h> +#include <unistd.h> #include "macros.h" @@ -41,11 +40,6 @@ int res; glob_t g; - /* Make sure glob_t struct members exists. */ - ASSERT (sizeof (g.gl_pathc)); - ASSERT (sizeof (g.gl_pathv)); - ASSERT (sizeof (g.gl_offs)); - res = glob (".", 0, NULL, &g); ASSERT (res == 0 && g.gl_pathc == 1); globfree (&g);