From ea1ea21af5153ef84ac00dee8a1eaa54662b0aa2 Mon Sep 17 00:00:00 2001 From: Mark Mitchell <mark@codesourcery.com> Date: Mon, 12 Jan 2004 08:11:08 +0000 Subject: [PATCH] testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it. * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it. * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define it. * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo and remove Cygwin XFAIL. * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise. * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise. * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise. * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Likewise. * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise. * testsuite/27_io/objects/char/7.cc: Likewise. * testsuite/27_io/objects/char/9661-1.cc: Likewise. * testsuite/27_io/objects/wchar_t/7.cc: Likewise. * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise. From-SVN: r75706 --- libstdc++-v3/ChangeLog | 18 ++++++++++++++++++ .../27_io/basic_filebuf/close/char/4879.cc | 7 +++---- .../27_io/basic_filebuf/close/char/9964.cc | 6 ++---- .../27_io/basic_filebuf/imbue/char/13171-2.cc | 3 ++- .../27_io/basic_filebuf/open/char/9507.cc | 6 ++---- .../basic_filebuf/showmanyc/char/9533-1.cc | 6 ++---- .../basic_filebuf/underflow/char/10097.cc | 6 ++---- libstdc++-v3/testsuite/27_io/objects/char/7.cc | 6 ++---- .../testsuite/27_io/objects/char/9661-1.cc | 6 ++---- .../testsuite/27_io/objects/wchar_t/7.cc | 3 ++- .../testsuite/27_io/objects/wchar_t/9661-1.cc | 3 ++- libstdc++-v3/testsuite/testsuite_hooks.cc | 11 +++++++++++ libstdc++-v3/testsuite/testsuite_hooks.h | 5 +++++ 13 files changed, 55 insertions(+), 31 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 982288702061..e59eb5afd011 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,21 @@ +2004-01-12 Mark Mitchell <mark@codesourcery.com> + + * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it. + * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define + it. + * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo + and remove Cygwin XFAIL. + * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise. + * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise. + * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise. + * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: + Likewise. + * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise. + * testsuite/27_io/objects/char/7.cc: Likewise. + * testsuite/27_io/objects/char/9661-1.cc: Likewise. + * testsuite/27_io/objects/wchar_t/7.cc: Likewise. + * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise. + 2004-01-11 Gabriel Dos Reis <gdr@integrable-solutions.net> * include/std/std_complex.h (std::complex<>::real): Return a diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/4879.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/4879.cc index 90107cd72a90..bd585443be1b 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/4879.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/4879.cc @@ -23,9 +23,6 @@ // various tests for filebuf::open() and filebuf::close() including // the non-portable functionality in the libstdc++-v3 IO library -// XXX cygwin does not support mkfifo -// { dg-do run { xfail *-*-cygwin* } } - #include <fstream> #include <iostream> #include <unistd.h> @@ -40,12 +37,14 @@ void test_04() { + using namespace __gnu_test; + bool test __attribute__((unused)) = true; const char* name = "tmp_fifo1"; signal(SIGPIPE, SIG_IGN); unlink(name); - if (0 != mkfifo(name, S_IRWXU)) + if (0 != try_mkfifo(name, S_IRWXU)) { std::cerr << "failed to create fifo" << std::endl; exit(-1); diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/9964.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/9964.cc index 895c0956e234..d51a5b1167bb 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/9964.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/9964.cc @@ -23,9 +23,6 @@ // various tests for filebuf::open() and filebuf::close() including // the non-portable functionality in the libstdc++-v3 IO library -// XXX cygwin does not support mkfifo -// { dg-do run { xfail *-*-cygwin* } } - #include <fstream> #include <unistd.h> #include <signal.h> @@ -38,6 +35,7 @@ void test_07() { using namespace std; + using namespace __gnu_test; bool test __attribute__((unused)) = true; const char* name = "tmp_fifo3"; @@ -45,7 +43,7 @@ void test_07() signal(SIGPIPE, SIG_IGN); unlink(name); - mkfifo(name, S_IRWXU); + try_mkfifo(name, S_IRWXU); int child = fork(); VERIFY( child != -1 ); diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc index 74aa1fc0dfa6..367017a3bfef 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc @@ -31,13 +31,14 @@ void test01() { bool test __attribute__((unused)) = true; using namespace std; + using namespace __gnu_test; locale loc_fr(__gnu_test::try_named_locale("fr_FR")); locale loc_en(__gnu_test::try_named_locale("en_US")); const char* name = "tmp_fifo_13171-2"; unlink(name); - mkfifo(name, S_IRWXU); + try_mkfifo(name, S_IRWXU); int child = fork(); if (child == 0) diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/9507.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/9507.cc index 85eeededdd21..601e570ae25e 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/9507.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/9507.cc @@ -23,9 +23,6 @@ // various tests for filebuf::open() and filebuf::close() including // the non-portable functionality in the libstdc++-v3 IO library -// XXX cygwin does not support mkfifo -// { dg-do run { xfail *-*-cygwin* } } - #include <fstream> #include <unistd.h> #include <signal.h> @@ -37,13 +34,14 @@ // libstdc++/9507 void test_06() { + using namespace __gnu_test; bool test __attribute__((unused)) = true; const char* name = "tmp_fifo2"; signal(SIGPIPE, SIG_IGN); unlink(name); - mkfifo(name, S_IRWXU); + try_mkfifo(name, S_IRWXU); if (!fork()) { diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc index 057f72de32cf..2839e2f722c8 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc @@ -18,9 +18,6 @@ // 27.8.1.4 Overridden virtual functions -// XXX cygwin does not support mkfifo -// { dg-do run { xfail *-*-cygwin* } } - #include <unistd.h> #include <signal.h> #include <fcntl.h> @@ -33,6 +30,7 @@ void test_01() { using namespace std; + using namespace __gnu_test; bool test __attribute__((unused)) = true; const char* name = "tmp_fifo1"; @@ -41,7 +39,7 @@ void test_01() signal(SIGPIPE, SIG_IGN); unlink(name); - if (0 != mkfifo(name, S_IRWXU)) + if (0 != try_mkfifo(name, S_IRWXU)) { VERIFY( false ); } diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/10097.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/10097.cc index 156421092dd0..c3c3cf19048e 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/10097.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/10097.cc @@ -20,9 +20,6 @@ // 27.8.1.4 Overridden virtual functions -// XXX cygwin does not support mkfifo -// { dg-do run { xfail *-*-cygwin* } } - #include <fstream> #include <unistd.h> #include <signal.h> @@ -48,6 +45,7 @@ public: void test16() { using namespace std; + using namespace __gnu_test; bool test __attribute__((unused)) = true; const char* name = "tmp_fifo1"; @@ -55,7 +53,7 @@ void test16() signal(SIGPIPE, SIG_IGN); unlink(name); - if (0 != mkfifo(name, S_IRWXU)) + if (0 != try_mkfifo(name, S_IRWXU)) { VERIFY( false ); } diff --git a/libstdc++-v3/testsuite/27_io/objects/char/7.cc b/libstdc++-v3/testsuite/27_io/objects/char/7.cc index 21a7b49c4796..06983d9fb7a7 100644 --- a/libstdc++-v3/testsuite/27_io/objects/char/7.cc +++ b/libstdc++-v3/testsuite/27_io/objects/char/7.cc @@ -20,9 +20,6 @@ // 27.3 Standard iostream objects -// XXX cygwin does not support mkfifo -// { dg-do run { xfail *-*-cygwin* } } - #include <fstream> #include <iostream> #include <unistd.h> @@ -36,6 +33,7 @@ void test07() { using namespace std; + using namespace __gnu_test; bool test __attribute__((unused)) = true; const char* name = "tmp_fifo4"; @@ -43,7 +41,7 @@ void test07() signal(SIGPIPE, SIG_IGN); unlink(name); - mkfifo(name, S_IRWXU); + try_mkfifo(name, S_IRWXU); int child = fork(); VERIFY( child != -1 ); diff --git a/libstdc++-v3/testsuite/27_io/objects/char/9661-1.cc b/libstdc++-v3/testsuite/27_io/objects/char/9661-1.cc index 61855064277b..5b1780e1f0d8 100644 --- a/libstdc++-v3/testsuite/27_io/objects/char/9661-1.cc +++ b/libstdc++-v3/testsuite/27_io/objects/char/9661-1.cc @@ -18,9 +18,6 @@ // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, // USA. -// XXX cygwin does not support mkfifo -// { dg-do run { xfail *-*-cygwin* } } - #include <testsuite_hooks.h> #include <cstdio> #include <iostream> @@ -36,6 +33,7 @@ void test01() { using namespace std; + using namespace __gnu_test; bool test __attribute__((unused)) = true; @@ -44,7 +42,7 @@ void test01() signal(SIGPIPE, SIG_IGN); unlink(name); - mkfifo(name, S_IRWXU); + try_mkfifo(name, S_IRWXU); int child = fork(); VERIFY( child != -1 ); diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/7.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/7.cc index 004687af01f9..a1c97670038a 100644 --- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/7.cc +++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/7.cc @@ -33,6 +33,7 @@ void test07() { using namespace std; + using namespace __gnu_test; bool test __attribute__((unused)) = true; const char* name = "tmp_fifo4"; @@ -40,7 +41,7 @@ void test07() signal(SIGPIPE, SIG_IGN); unlink(name); - mkfifo(name, S_IRWXU); + try_mkfifo(name, S_IRWXU); int child = fork(); VERIFY( child != -1 ); diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/9661-1.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/9661-1.cc index 9c9d082546d5..38b832049b87 100644 --- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/9661-1.cc +++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/9661-1.cc @@ -33,6 +33,7 @@ void test01() { using namespace std; + using namespace __gnu_test; bool test __attribute__((unused)) = true; @@ -41,7 +42,7 @@ void test01() signal(SIGPIPE, SIG_IGN); unlink(name); - mkfifo(name, S_IRWXU); + try_mkfifo(name, S_IRWXU); int child = fork(); VERIFY( child != -1 ); diff --git a/libstdc++-v3/testsuite/testsuite_hooks.cc b/libstdc++-v3/testsuite/testsuite_hooks.cc index 2f4add63f433..21c0c0c77e70 100644 --- a/libstdc++-v3/testsuite/testsuite_hooks.cc +++ b/libstdc++-v3/testsuite/testsuite_hooks.cc @@ -208,6 +208,17 @@ namespace __gnu_test } } + int + try_mkfifo (const char* filename, mode_t mode) + { +#ifdef _NEWLIB_VERSION + /* Newlib does not have mkfifo. */ + exit(0); +#else + return mkfifo(filename, mode); +#endif + } + counter::size_type counter::count = 0; unsigned int copy_constructor::count_ = 0; unsigned int copy_constructor::throw_on_ = 0; diff --git a/libstdc++-v3/testsuite/testsuite_hooks.h b/libstdc++-v3/testsuite/testsuite_hooks.h index d3755c66f6e1..efe0f85eaa10 100644 --- a/libstdc++-v3/testsuite/testsuite_hooks.h +++ b/libstdc++-v3/testsuite/testsuite_hooks.h @@ -63,6 +63,9 @@ #include <cstddef> #include <locale> #include <ext/pod_char_traits.h> +#ifdef _GLIBCXX_HAVE_SYS_STAT_H +#include <sys/stat.h> +#endif #ifdef _GLIBCXX_ASSERT # include <cassert> @@ -141,6 +144,8 @@ namespace __gnu_test std::locale try_named_locale(const char* name); + int + try_mkfifo (const char* filename, mode_t mode); // Test data types. struct pod_char -- GitLab