From b83a962dce2d5525e84346797f6387c14dea55e0 Mon Sep 17 00:00:00 2001 From: Alan Conway Date: Wed, 23 Apr 2008 18:43:05 +0000 Subject: src/tests/ClientSessionTest.cpp: uncommented tests for session resume as EXPECTED_FAILURES tests. src/tests/unit_test.h: workarounds for broken EXPECTED_FAILURES tests in boost <= 1.34 git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@650997 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/tests/ClientSessionTest.cpp | 23 ++++++++-------- cpp/src/tests/unit_test.h | 54 ++++++++++++++++++++++++++++++------- 2 files changed, 56 insertions(+), 21 deletions(-) (limited to 'cpp/src') diff --git a/cpp/src/tests/ClientSessionTest.cpp b/cpp/src/tests/ClientSessionTest.cpp index a5f7b9d803..f53de5688e 100644 --- a/cpp/src/tests/ClientSessionTest.cpp +++ b/cpp/src/tests/ClientSessionTest.cpp @@ -144,7 +144,8 @@ QPID_AUTO_TEST_CASE(testDispatcher) BOOST_CHECK_EQUAL(lexical_cast(i), listener.messages[i].getData()); } -/* FIXME aconway 2008-01-28: hangs +// FIXME aconway 2008-04-23: hangs +#if 0 BOOST_FIXTURE_TEST_CASE(testDispatcherThread, ClientSessionFixture) { session =connection.newSession(ASYNC); @@ -161,11 +162,10 @@ BOOST_FIXTURE_TEST_CASE(testDispatcherThread, ClientSessionFixture) for (size_t i = 0; i < count; ++i) BOOST_CHECK_EQUAL(lexical_cast(i), listener.messages[i].getData()); } -*/ +#endif -/* - * GS (18-APR-2008): disabled resume tests until resumption for 0-10 final spec is implemented -QPID_AUTO_TEST_CASE(_FIXTURE) + +QPID_AUTO_TEST_CASE_EXPECTED_FAILURES(testSuspend0Timeout, 1) { ClientSessionFixture fix; fix.session =fix.connection.newSession(ASYNC, 0); @@ -176,7 +176,7 @@ QPID_AUTO_TEST_CASE(_FIXTURE) } catch(const InternalErrorException&) {} } -QPID_AUTO_TEST_CASE(testUseSuspendedError) +QPID_AUTO_TEST_CASE_EXPECTED_FAILURES(testUseSuspendedError, 1) { ClientSessionFixture fix; fix.session =fix.connection.newSession(ASYNC, 60); @@ -187,7 +187,7 @@ QPID_AUTO_TEST_CASE(testUseSuspendedError) } catch(const CommandInvalidException&) {} } -QPID_AUTO_TEST_CASE(testSuspendResume) +QPID_AUTO_TEST_CASE_EXPECTED_FAILURES(testSuspendResume, 1) { ClientSessionFixture fix; fix.session =fix.connection.newSession(ASYNC, 60); @@ -199,10 +199,9 @@ QPID_AUTO_TEST_CASE(testSuspendResume) FrameSet::shared_ptr msg = fix.session.get(); BOOST_CHECK_EQUAL(string("my-message"), msg->getContent()); } -*/ -/** - * Currently broken due to a deadlock in SessionCore - * + +// FIXME aconway 2008-04-23: broken due to a deadlock in SessionCore +#if 0 BOOST_FIXTURE_TEST_CASE(testSendToSelf, SessionFixture) { // Deadlock if SubscriptionManager run() concurrent with session ack. SimpleListener mylistener; @@ -224,7 +223,7 @@ BOOST_FIXTURE_TEST_CASE(testSendToSelf, SessionFixture) { BOOST_CHECK_EQUAL(mylistener.messages[j].getData(), data); } } -*/ +#endif QPID_AUTO_TEST_SUITE_END() diff --git a/cpp/src/tests/unit_test.h b/cpp/src/tests/unit_test.h index 098545cbd8..e757961616 100644 --- a/cpp/src/tests/unit_test.h +++ b/cpp/src/tests/unit_test.h @@ -28,9 +28,17 @@ #include #include // Must be inclued beofre boost/test headers. -#if (BOOST_VERSION < 103300) - +// #include the correct header file. +// +#if (BOOST_VERSION < 103400) # include +#else +# include +#endif // BOOST_VERSION + +// Workarounds for BOOST_AUTO_TEST_CASE|SUITE|SUITE_END +// +#if (BOOST_VERSION < 103300) # define QPID_AUTO_TEST_SUITE(name) # define QPID_AUTO_TEST_CASE(name) BOOST_AUTO_UNIT_TEST(name) @@ -38,19 +46,47 @@ #elif (BOOST_VERSION < 103400) -# include - # define QPID_AUTO_TEST_SUITE(name) BOOST_AUTO_TEST_SUITE(name); -# define QPID_AUTO_TEST_CASE(name) BOOST_AUTO_TEST_CASE(name) # define QPID_AUTO_TEST_SUITE_END() BOOST_AUTO_TEST_SUITE_END(); -#else +#elif (BOOST_VERSION < 103400) # define QPID_AUTO_TEST_SUITE(name) BOOST_AUTO_TEST_SUITE(name) -# define QPID_AUTO_TEST_CASE(name) BOOST_AUTO_TEST_CASE(name) # define QPID_AUTO_TEST_SUITE_END() BOOST_AUTO_TEST_SUITE_END() -# include +#endif // Workarounds for BOOST_AUTO_TEST_CASE|SUITE|SUITE_END + + +// Workaround for BOOST_AUTO_TEST_SUITE_EXPECTED_FAILURES +// +#if (BOOST_VERSION < 103500) + +// Keep the test function for compilation but do not not register it. +// TODO aconway 2008-04-23: better workaround for expected failures. +# define QPID_AUTO_TEST_CASE_EXPECTED_FAILURES(test_name,n) \ + namespace { struct test_name { void test_method(); }; } \ + void test_name::test_method() + +#endif // Workaround for BOOST_AUTO_TEST_SUITE_EXPECTED_FAILURES + +// +// Default definitions for latest version of boost. +// + +#ifndef QPID_AUTO_TEST_SUITE +# define QPID_AUTO_TEST_SUITE(name) BOOST_AUTO_TEST_SUITE(name) +#endif + +#ifndef QPID_AUTO_TEST_CASE +# define QPID_AUTO_TEST_CASE(name) BOOST_AUTO_TEST_CASE(name) +#endif + +#ifndef QPID_AUTO_TEST_CASE_EXPECTED_FAILURES +# define QPID_AUTO_TEST_CASE_EXPECTED_FAILURES(name,n) BOOST_AUTO_TEST_SUITE_EXPECTED_FAILURES(name,n) +#endif + +#ifndef QPID_AUTO_TEST_SUITE_END +# define QPID_AUTO_TEST_SUITE_END() BOOST_AUTO_TEST_SUITE_END() #endif -#endif /*!QPIPD_TEST_UNIT_TEST_H_*/ +#endif // !QPIPD_TEST_UNIT_TEST_H_ -- cgit v1.2.1