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);