Re: Build failure for C++ tests with VC2008 and Boost 1.38

2009-03-17 Thread Ján Sáreník
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

2009-03-16 Thread Vincent Seavello (Interop Systems Inc)
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

2009-03-16 Thread Ján Sáreník
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

2009-03-15 Thread James Mansion

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