Re: Build failure for C++ tests with VC2008 and Boost 1.38
Hello! On Sun, Mar 15, 2009 at 03:00:12PM +, James Mansion wrote: > I'm using VS2008 with Boost 1.38, QPID_AUTO_TEST_CASE_EXPECTED_FAILURES > expands to BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES, but that doesn't seem > to expand to something that ends with the start of a function definition. On Mon, Mar 16, 2009 at 09:28:31AM +0100, Ján Sáreník wrote: > Yes, IMHO it is a boost change. I am including a patch that helps me > to make it compile and run. The change is already upstream in trunk, see https://issues.apache.org/jira/browse/QPID-1741 for more info. Best regards, Jasan -- Red Hat Czech, MRG Quality Assurance Associate """ Looking to carve out IT costs? www.europe.redhat.com/promo/carveoutcosts/ """ - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
RE: Build failure for C++ tests with VC2008 and Boost 1.38
I'm not sure, but this could be due to one of the test header files not being aware of boost greater than 1.35. This change may do the trick. I used it when building with 1.36. You'd have to modify the change to handle 1.38. cpp/src/tests/unit_test.h 56c56 < #if (BOOST_VERSION < 103600) --- > #if (BOOST_VERSION <= 103600) I couldn't tell you if there are significant boost changes between 1.35 and 1.38 that need closer scrutiny for other reasons. Otherwise, I found previous versions of boost at: http://www.boostpro.com/boost_1_35_0_setup.exe http://www.boostpro.com/boost_1_36_0_setup.exe Vince Seavello -Original Message- From: James Mansion [mailto:ja...@mansionfamily.plus.com] Sent: Sunday, March 15, 2009 8:00 AM To: dev@qpid.apache.org Subject: Build failure for C++ tests with VC2008 and Boost 1.38 Where to Jira? I see: ClientSessionTest.cpp .\ClientSessionTest.cpp(149) : error C2447: '{' : missing function header (old-style formal list?) .\ClientSessionTest.cpp(170) : error C2447: '{' : missing function header (old-style formal list?) I'm using VS2008 with Boost 1.38, QPID_AUTO_TEST_CASE_EXPECTED_FAILURES expands to BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES, but that doesn't seem to expand to something that ends with the start of a function definition. Rather it expands to: struct testSuspend0Timeout_id; static struct testSuspend0Timeout_exp_fail_num_spec : boost::unit_test::ut_detail:: auto_tc_exp_fail { testSuspend0Timeout_exp_fail_num_spec() : boost::unit_test::ut_detail:: auto_tc_exp_fail( 1 ) {} } testSuspend0Timeout_exp_fail_num_spec_inst; { ClientSessionFixture fix; fix.session.suspend(); I don't have older boost versions installed - is this a boost change? James - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
Re: Build failure for C++ tests with VC2008 and Boost 1.38
Hi James! On Sun, Mar 15, 2009 at 03:00:12PM +, James Mansion wrote: > I don't have older boost versions installed - is this a boost change? Yes, IMHO it is a boost change. I am including a patch that helps me to make it compile and run. Best regards, Jasan -- Red Hat Czech, MRG Quality Assurance Associate """ Looking to carve out IT costs? www.europe.redhat.com/promo/carveoutcosts/ """ >From 10f37eddc6158dd5f726e93f19e7fa946091b7f4 Mon Sep 17 00:00:00 2001 From: Jan Sarenik Date: Thu, 12 Mar 2009 15:30:23 +0100 Subject: [PATCH] Boost test API exception API has changed, this patch handles it for newer versions of Boost. --- cpp/src/tests/unit_test.h |9 - 1 files changed, 8 insertions(+), 1 deletions(-) diff --git a/cpp/src/tests/unit_test.h b/cpp/src/tests/unit_test.h index df3ebfb..fc542e6 100644 --- a/cpp/src/tests/unit_test.h +++ b/cpp/src/tests/unit_test.h @@ -61,7 +61,14 @@ namespace { struct test_name { void test_method(); }; }\ void test_name::test_method() -#endif // Workaround for BOOST_AUTO_TEST_SUITE_EXPECTED_FAILURES +#endif // Workaround for BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES + +// Correct syntax for boost > 1.36 +#if (BOOST_VERSION > 103500) +# define QPID_AUTO_TEST_CASE_EXPECTED_FAILURES(name,n) \ +BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(name,n) \ +BOOST_AUTO_TEST_CASE(name) +#endif // Correct syntax for boost > 1.36 // // Default definitions for latest version of boost. -- 1.6.0.1.196.g01914 - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
Build failure for C++ tests with VC2008 and Boost 1.38
Where to Jira? I see: ClientSessionTest.cpp .\ClientSessionTest.cpp(149) : error C2447: '{' : missing function header (old-style formal list?) .\ClientSessionTest.cpp(170) : error C2447: '{' : missing function header (old-style formal list?) I'm using VS2008 with Boost 1.38, QPID_AUTO_TEST_CASE_EXPECTED_FAILURES expands to BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES, but that doesn't seem to expand to something that ends with the start of a function definition. Rather it expands to: struct testSuspend0Timeout_id; static struct testSuspend0Timeout_exp_fail_num_spec : boost::unit_test::ut_detail:: auto_tc_exp_fail { testSuspend0Timeout_exp_fail_num_spec() : boost::unit_test::ut_detail:: auto_tc_exp_fail( 1 ) {} } testSuspend0Timeout_exp_fail_num_spec_inst; { ClientSessionFixture fix; fix.session.suspend(); I don't have older boost versions installed - is this a boost change? James - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org