diff options
author | paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-05-19 23:56:12 +0000 |
---|---|---|
committer | paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-05-19 23:56:12 +0000 |
commit | dfd22e84ef60ecc34cd504f9b975320282ead1e3 (patch) | |
tree | 9f50082ad9eef099320e0353073f66c05b6a7c02 /libstdc++-v3 | |
parent | 3e6933a8abd39affc8c7ea9030052d76ff51e294 (diff) | |
download | gcc-dfd22e84ef60ecc34cd504f9b975320282ead1e3.tar.gz |
2006-05-19 Paolo Carlini <pcarlini@suse.de>
* testsuite/27_io/objects/wchar_t/9661-1.cc: Avoid leaking the
semaphores if a VERIFY fails.
* testsuite/27_io/objects/wchar_t/7.cc: Likewise.
* testsuite/27_io/objects/char/9661-1.cc: Likewise.
* testsuite/27_io/objects/char/7.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/char/26777.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
* testsuite/27_io/basic_filebuf/close/char/4879.cc: Likewise.
* testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
* testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113916 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3')
11 files changed, 121 insertions, 63 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index eeea743d59e..dc26e705130 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,17 @@ +2006-05-19 Paolo Carlini <pcarlini@suse.de> + + * testsuite/27_io/objects/wchar_t/9661-1.cc: Avoid leaking the + semaphores if a VERIFY fails. + * testsuite/27_io/objects/wchar_t/7.cc: Likewise. + * testsuite/27_io/objects/char/9661-1.cc: Likewise. + * testsuite/27_io/objects/char/7.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekoff/char/26777.cc: Likewise. + * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise. + * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise. + * testsuite/27_io/basic_filebuf/close/char/4879.cc: Likewise. + * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise. + * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise. + 2006-05-17 Paolo Carlini <pcarlini@suse.de> * include/tr1/hashtable (hashtable<>::m_find): Remove; update callers. 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 cfbfc44adce..e976c370f8d 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 @@ -1,7 +1,8 @@ // { dg-require-fork "" } // { dg-require-mkfifo "" } -// Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 +// Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -33,11 +34,15 @@ #include <fcntl.h> #include <sys/types.h> #include <sys/stat.h> + +// No asserts, avoid leaking the semaphores if a VERIFY fails. +#undef _GLIBCXX_ASSERT + #include <testsuite_hooks.h> // libstdc++/2913, libstdc++/4879 // John Fardo <jfardo@laurelnetworks.com>, Brad Garcia <garsh@attbi.com> -void +bool test_04() { using namespace __gnu_test; @@ -60,20 +65,20 @@ test_04() { std::cerr << "failed to fork" << std::endl; unlink(name); - exit(-1); + return false; } else if (fval == 0) { std::ifstream ifs(name); - s1.wait (); + s1.wait(); ifs.close(); - s2.signal (); + s2.signal(); exit(0); } std::ofstream ofs(name); - s1.signal (); - s2.wait (); + s1.signal(); + s2.wait(); ofs.put('t'); /* @@ -89,18 +94,15 @@ test_04() { test = false; VERIFY( test ); - unlink(name); - exit(-1); } unlink(name); + + return test; } int main() { - test_04(); - return 0; + return !test_04(); } - - 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 21d7ae66aac..1b9c3ff90ec 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 @@ -1,7 +1,8 @@ // { dg-require-fork "" } // { dg-require-mkfifo "" } -// Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 +// Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -32,10 +33,14 @@ #include <fcntl.h> #include <sys/types.h> #include <sys/stat.h> + +// No asserts, avoid leaking the semaphores if a VERIFY fails. +#undef _GLIBCXX_ASSERT + #include <testsuite_hooks.h> // libstdc++/9964 -void test_07() +bool test_07() { using namespace std; using namespace __gnu_test; @@ -56,9 +61,9 @@ void test_07() { filebuf fbin; fbin.open(name, ios_base::in); - s1.wait (); + s1.wait(); fbin.close(); - s2.signal (); + s2.signal(); exit(0); } @@ -66,18 +71,19 @@ void test_07() filebuf* ret = fb.open(name, ios_base::in | ios_base::out); VERIFY( ret != NULL ); VERIFY( fb.is_open() ); - s1.signal (); - s2.wait (); + s1.signal(); + s2.wait(); fb.sputc('a'); ret = fb.close(); VERIFY( ret != NULL ); VERIFY( !fb.is_open() ); + + return test; } int main() { - test_07(); - return 0; + return !test_07(); } 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 53998859a8c..f1649580fec 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 @@ -2,7 +2,7 @@ // { dg-require-fork "" } // { dg-require-mkfifo "" } -// Copyright (C) 2003, 2005 Free Software Foundation, Inc. +// Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -28,10 +28,13 @@ #include <sys/types.h> #include <sys/stat.h> +// No asserts, avoid leaking the semaphores if a VERIFY fails. +#undef _GLIBCXX_ASSERT + #include <testsuite_hooks.h> // libstdc++/13171 -void test01() +bool test01() { bool test __attribute__((unused)) = true; using namespace std; @@ -52,8 +55,8 @@ void test01() fb.open(name, ios_base::out); fb.sputc('S'); fb.pubsync(); - s1.signal (); - s2.wait (); + s1.signal(); + s2.wait(); fb.close(); exit(0); } @@ -61,17 +64,18 @@ void test01() filebuf fb; fb.pubimbue(loc_fr); fb.open(name, ios_base::in); - s1.wait (); + s1.wait(); VERIFY( fb.is_open() ); fb.pubimbue(loc_en); filebuf::int_type c = fb.sgetc(); fb.close(); VERIFY( c == 'S' ); - s2.signal (); + s2.signal(); + + return test; } int main() { - test01(); - return 0; + return !test01(); } diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc index 586cdfe5d1f..14cfde77fbd 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc @@ -4,7 +4,7 @@ // 2004-04-16 Petur Runolfsson <peturr02@ru.is> -// Copyright (C) 2004, 2005 Free Software Foundation, Inc. +// Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -29,10 +29,14 @@ #include <fcntl.h> #include <sys/types.h> #include <sys/stat.h> + +// No asserts, avoid leaking the semaphore if a VERIFY fails. +#undef _GLIBCXX_ASSERT + #include <testsuite_hooks.h> // libstdc++/14975 -void test01() +bool test01() { using namespace std; using namespace __gnu_test; @@ -57,7 +61,7 @@ void test01() filebuf fbin; fbin.open(name, ios_base::in); } - s1.signal (); + s1.signal(); exit(0); } @@ -67,7 +71,7 @@ void test01() VERIFY( ret != NULL ); VERIFY( fb.is_open() ); - s1.wait (); + s1.wait(); try { @@ -80,10 +84,11 @@ void test01() catch (std::exception&) { } + + return test; } int main() { - test01(); - return 0; + return !test01(); } diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/26777.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/26777.cc index 7312ce2639f..9cc973315a5 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/26777.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/26777.cc @@ -21,6 +21,9 @@ // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, // USA. +// No asserts, avoid leaking the semaphores if a VERIFY fails. +#undef _GLIBCXX_ASSERT + #include <testsuite_hooks.h> #include <fstream> #include <sstream> @@ -31,7 +34,7 @@ #include <sys/stat.h> // libstdc++/26777 -void test01() +bool test01() { using namespace std; using namespace __gnu_test; @@ -77,10 +80,11 @@ void test01() fbin.close(); VERIFY( oss.str() == "Whatever" ); + + return test; } int main() { - test01(); - return 0; + return !test01(); } 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 345a6642556..ffc36a3fc07 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 @@ -30,6 +30,10 @@ #include <fcntl.h> #include <sys/types.h> #include <sys/stat.h> + +// No asserts, avoid leaking the semaphores if a VERIFY fails. +#undef _GLIBCXX_ASSERT + #include <testsuite_hooks.h> class UnderBuf : public std::filebuf @@ -46,7 +50,7 @@ public: // libstdc++/10097 // filebuf::underflow drops characters. -void test16() +bool test16() { using namespace std; using namespace __gnu_test; @@ -84,7 +88,7 @@ void test16() UnderBuf fb; fb.open(name, ios_base::in); - + fb.sgetc(); streamsize n = fb.pub_showmanyc(); @@ -101,10 +105,11 @@ void test16() fb.close(); s1.signal(); s2.wait(); + + return test; } int main() { - test16(); - return 0; + return !test16(); } diff --git a/libstdc++-v3/testsuite/27_io/objects/char/7.cc b/libstdc++-v3/testsuite/27_io/objects/char/7.cc index 646ac666401..a90fa03a5b5 100644 --- a/libstdc++-v3/testsuite/27_io/objects/char/7.cc +++ b/libstdc++-v3/testsuite/27_io/objects/char/7.cc @@ -3,7 +3,7 @@ // 2003-04-26 Petur Runolfsson <peturr02@ru.is> -// Copyright (C) 2003, 2005 Free Software Foundation, Inc. +// Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -30,10 +30,14 @@ #include <fcntl.h> #include <sys/types.h> #include <sys/stat.h> + +// No asserts, avoid leaking the semaphore if a VERIFY fails. +#undef _GLIBCXX_ASSERT + #include <testsuite_hooks.h> // Check that cout.flush() is called when last ios_base::Init is destroyed. -void test07() +bool test07() { using namespace std; using namespace __gnu_test; @@ -54,8 +58,8 @@ void test07() { filebuf fbout; fbout.open(name, ios_base::in|ios_base::out); - s1.wait (); - VERIFY ( fbout.is_open() ); + VERIFY( fbout.is_open() ); + s1.wait(); cout.rdbuf(&fbout); fbout.sputc('a'); // NB: fbout is *not* destroyed here! @@ -64,17 +68,18 @@ void test07() filebuf fbin; fbin.open(name, ios_base::in); - s1.signal (); + s1.signal(); filebuf::int_type c = fbin.sbumpc(); VERIFY( c != filebuf::traits_type::eof() ); VERIFY( c == filebuf::traits_type::to_int_type('a') ); fbin.close(); + + return test; } int main() { - test07(); - return 0; + return !test07(); } 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 6497f62a03a..47232826503 100644 --- a/libstdc++-v3/testsuite/27_io/objects/char/9661-1.cc +++ b/libstdc++-v3/testsuite/27_io/objects/char/9661-1.cc @@ -21,6 +21,9 @@ // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, // USA. +// No asserts, avoid leaking the semaphores if a VERIFY fails. +#undef _GLIBCXX_ASSERT + #include <testsuite_hooks.h> #include <cstdio> #include <iostream> @@ -33,7 +36,7 @@ // Check that cin.rdbuf()->sputbackc() puts characters back to stdin. // If cin.rdbuf() is a filebuf, this succeeds when stdin is a regular // file, but fails otherwise, hence the named fifo. -void test01() +bool test01() { using namespace std; using namespace __gnu_test; @@ -54,7 +57,7 @@ void test01() if (child == 0) { FILE* file = fopen(name, "r+"); - VERIFY (file != NULL); + VERIFY( file != NULL ); fputs("Whatever\n", file); fflush(file); s1.signal(); @@ -85,10 +88,11 @@ void test01() VERIFY( c5 == c4 ); s2.signal(); s1.wait(); + + return test; } int main() { - test01(); - return 0; + return !test01(); } 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 f1078cb7fa7..1e962d7eda4 100644 --- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/7.cc +++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/7.cc @@ -3,7 +3,7 @@ // 2003-05-01 Petur Runolfsson <peturr02@ru.is> -// Copyright (C) 2003, 2005 Free Software Foundation, Inc. +// Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -30,10 +30,14 @@ #include <fcntl.h> #include <sys/types.h> #include <sys/stat.h> + +// No asserts, avoid leaking the semaphore if a VERIFY fails. +#undef _GLIBCXX_ASSERT + #include <testsuite_hooks.h> // Check that wcout.flush() is called when last ios_base::Init is destroyed. -void test07() +bool test07() { using namespace std; using namespace __gnu_test; @@ -46,7 +50,7 @@ void test07() unlink(name); mkfifo(name, S_IRWXU); semaphore s1; - + int child = fork(); VERIFY( child != -1 ); @@ -63,17 +67,18 @@ void test07() wfilebuf fbin; fbin.open(name, ios_base::in); - s1.signal (); + s1.signal(); wfilebuf::int_type c = fbin.sbumpc(); VERIFY( c != wfilebuf::traits_type::eof() ); VERIFY( c == wfilebuf::traits_type::to_int_type(L'a') ); fbin.close(); + + return test; } int main() { - test07(); - return 0; + return !test07(); } 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 5b3c231e2e5..beee4046a21 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 @@ -21,6 +21,9 @@ // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, // USA. +// No asserts, avoid leaking the semaphores if a VERIFY fails. +#undef _GLIBCXX_ASSERT + #include <testsuite_hooks.h> #include <cstdio> #include <iostream> @@ -33,7 +36,7 @@ // Check that wcin.rdbuf()->sputbackc() puts characters back to stdin. // If wcin.rdbuf() is a filebuf, this succeeds when stdin is a regular // file, but fails otherwise, hence the named fifo. -void test01() +bool test01() { using namespace std; using namespace __gnu_test; @@ -83,11 +86,12 @@ void test01() VERIFY( c5 != WEOF ); VERIFY( c5 == c4 ); s2.signal(); - s1.wait(); + s1.wait(); + + return test; } int main() { - test01(); - return 0; + return !test01(); } |