From 4004be01b47284e84aa0533a290c4d1a6908312e Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Mon, 8 Mar 2010 02:42:34 +0100 Subject: [PATCH] Tests of module 'spawn' in C++ mode. --- ChangeLog | 8 +++ m4/spawn_h.m4 | 4 +- modules/spawn-tests | 9 ++++ tests/test-spawn-c++.cc | 139 ++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 159 insertions(+), 1 deletion(-) create mode 100644 tests/test-spawn-c++.cc diff --git a/ChangeLog b/ChangeLog index a4bda624c..204deea76 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,13 @@ 2010-03-07 Bruno Haible + Tests of module 'spawn' in C++ mode. + * tests/test-spawn-c++.cc: New file. + * modules/spawn-tests (Files): Add it and tests/signature.h. + (Depends-on): Add ansi-c++-opt. + (Makefile.am): Arrange to compile and run test-spawn-c++. + * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke + gl_MODULE_INDICATOR. + Tests of module 'signal' in C++ mode. * tests/test-signal-c++.cc: New file. * modules/signal-tests (Files): Add it and tests/signature.h. diff --git a/m4/spawn_h.m4 b/m4/spawn_h.m4 index a9bd16141..fb789f01e 100644 --- a/m4/spawn_h.m4 +++ b/m4/spawn_h.m4 @@ -1,4 +1,4 @@ -# spawn_h.m4 serial 6 +# spawn_h.m4 serial 7 dnl Copyright (C) 2008-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -62,6 +62,8 @@ AC_DEFUN([gl_SPAWN_MODULE_INDICATOR], dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_SPAWN_H_DEFAULTS]) GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 + dnl Define it also as a C macro, for the benefit of the unit tests. + gl_MODULE_INDICATOR([$1]) ]) AC_DEFUN([gl_SPAWN_H_DEFAULTS], diff --git a/modules/spawn-tests b/modules/spawn-tests index c576fdd3a..f416226dc 100644 --- a/modules/spawn-tests +++ b/modules/spawn-tests @@ -1,10 +1,19 @@ Files: tests/test-spawn.c +tests/test-spawn-c++.cc +tests/signature.h Depends-on: +ansi-c++-opt configure.ac: Makefile.am: TESTS += test-spawn check_PROGRAMS += test-spawn +if ANSICXX +TESTS += test-spawn-c++ +check_PROGRAMS += test-spawn-c++ +test_spawn_c___SOURCES = test-spawn-c++.cc +test_spawn_c___LDADD = $(LDADD) $(LIBINTL) +endif diff --git a/tests/test-spawn-c++.cc b/tests/test-spawn-c++.cc new file mode 100644 index 000000000..11d4766f7 --- /dev/null +++ b/tests/test-spawn-c++.cc @@ -0,0 +1,139 @@ +/* Test of substitute in C++ mode. + Copyright (C) 2010 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 , 2010. */ + +#define GNULIB_NAMESPACE gnulib +#include + +#include + +#include "signature.h" + + +#if GNULIB_POSIX_SPAWN +SIGNATURE_CHECK (GNULIB_NAMESPACE::posix_spawn, int, + (pid_t *, const char *, const posix_spawn_file_actions_t *, + const posix_spawnattr_t *, char *const[], char *const[])); +#endif + +#if GNULIB_POSIX_SPAWNP +SIGNATURE_CHECK (GNULIB_NAMESPACE::posix_spawnp, int, + (pid_t *, const char *, const posix_spawn_file_actions_t *, + const posix_spawnattr_t *, char *const[], char *const[])); +#endif + +#if GNULIB_POSIX_SPAWNATTR_INIT +SIGNATURE_CHECK (GNULIB_NAMESPACE::posix_spawnattr_init, int, + (posix_spawnattr_t *)); +#endif + +#if GNULIB_POSIX_SPAWNATTR_DESTROY +SIGNATURE_CHECK (GNULIB_NAMESPACE::posix_spawnattr_destroy, int, + (posix_spawnattr_t *)); +#endif + +#if GNULIB_POSIX_SPAWNATTR_GETSIGDEFAULT +SIGNATURE_CHECK (GNULIB_NAMESPACE::posix_spawnattr_getsigdefault, int, + (const posix_spawnattr_t *, sigset_t *)); +#endif + +#if GNULIB_POSIX_SPAWNATTR_SETSIGDEFAULT +SIGNATURE_CHECK (GNULIB_NAMESPACE::posix_spawnattr_setsigdefault, int, + (posix_spawnattr_t *, const sigset_t *)); +#endif + +#if GNULIB_POSIX_SPAWNATTR_GETSIGMASK +SIGNATURE_CHECK (GNULIB_NAMESPACE::posix_spawnattr_getsigmask, int, + (const posix_spawnattr_t *, sigset_t *)); +#endif + +#if GNULIB_POSIX_SPAWNATTR_SETSIGMASK +SIGNATURE_CHECK (GNULIB_NAMESPACE::posix_spawnattr_setsigmask, int, + (posix_spawnattr_t *, const sigset_t *)); +#endif + +#if GNULIB_POSIX_SPAWNATTR_GETFLAGS +SIGNATURE_CHECK (GNULIB_NAMESPACE::posix_spawnattr_getflags, int, + (const posix_spawnattr_t *, short int *)); +#endif + +#if GNULIB_POSIX_SPAWNATTR_SETFLAGS +SIGNATURE_CHECK (GNULIB_NAMESPACE::posix_spawnattr_setflags, int, + (posix_spawnattr_t *, short int)); +#endif + +#if GNULIB_POSIX_SPAWNATTR_GETPGROUP +SIGNATURE_CHECK (GNULIB_NAMESPACE::posix_spawnattr_getpgroup, int, + (const posix_spawnattr_t *, pid_t *)); +#endif + +#if GNULIB_POSIX_SPAWNATTR_SETPGROUP +SIGNATURE_CHECK (GNULIB_NAMESPACE::posix_spawnattr_setpgroup, int, + (posix_spawnattr_t *, pid_t)); +#endif + +#if GNULIB_POSIX_SPAWNATTR_GETSCHEDPOLICY +SIGNATURE_CHECK (GNULIB_NAMESPACE::posix_spawnattr_getschedpolicy, int, + (const posix_spawnattr_t *, int *)); +#endif + +#if GNULIB_POSIX_SPAWNATTR_SETSCHEDPOLICY +SIGNATURE_CHECK (GNULIB_NAMESPACE::posix_spawnattr_setschedpolicy, int, + (posix_spawnattr_t *, int)); +#endif + +#if GNULIB_POSIX_SPAWNATTR_GETSCHEDPARAM +SIGNATURE_CHECK (GNULIB_NAMESPACE::posix_spawnattr_getschedparam, int, + (const posix_spawnattr_t *, struct sched_param *)); +#endif + +#if GNULIB_POSIX_SPAWNATTR_SETSCHEDPARAM +SIGNATURE_CHECK (GNULIB_NAMESPACE::posix_spawnattr_setschedparam, int, + (posix_spawnattr_t *, const struct sched_param *)); +#endif + +#if GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT +SIGNATURE_CHECK (GNULIB_NAMESPACE::posix_spawn_file_actions_init, int, + (posix_spawn_file_actions_t *)); +#endif + +#if GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY +SIGNATURE_CHECK (GNULIB_NAMESPACE::posix_spawn_file_actions_destroy, int, + (posix_spawn_file_actions_t *)); +#endif + +#if GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN +SIGNATURE_CHECK (GNULIB_NAMESPACE::posix_spawn_file_actions_addopen, int, + (posix_spawn_file_actions_t *, int, const char *, int, + mode_t)); +#endif + +#if GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE +SIGNATURE_CHECK (GNULIB_NAMESPACE::posix_spawn_file_actions_addclose, int, + (posix_spawn_file_actions_t *, int)); +#endif + +#if GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2 +SIGNATURE_CHECK (GNULIB_NAMESPACE::posix_spawn_file_actions_adddup2, int, + (posix_spawn_file_actions_t *, int, int)); +#endif + + +int +main () +{ +} -- 2.11.0