[jira] [Commented] (AVRO-2213) C++ tests fail with boost 1.67+

2018-10-02 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/AVRO-2213?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16635736#comment-16635736
 ] 

ASF GitHub Bot commented on AVRO-2213:
--

thiru-apache closed pull request #327: AVRO-2213 C++ tests fail with boost 1.67+
URL: https://github.com/apache/avro/pull/327
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/lang/c++/test/CodecTests.cc b/lang/c++/test/CodecTests.cc
index f8bbe84d0..064351b3e 100644
--- a/lang/c++/test/CodecTests.cc
+++ b/lang/c++/test/CodecTests.cc
@@ -1363,9 +1363,17 @@ static const TestData4 data4BinaryOnly[] = {
 #define COUNTOF(x)  sizeof(x) / sizeof(x[0])
 #define ENDOF(x)(x) + COUNTOF(x)
 
-#define ADD_TESTS(testSuite, Factory, testFunc, data)   \
-testSuite.add(BOOST_PARAM_TEST_CASE(, \
-data, data + COUNTOF(data)))
+// Boost 1.67 and later expects test cases to have unique names. This dummy
+// helper functions leads to names which compose 'testFunc', 'Factory', and
+// 'data'.
+template 
+Test testWithData(const Test , const Data ) {
+boost::ignore_unused(data);
+return test;
+}
+#define ADD_TESTS(testSuite, Factory, testFunc, data) \
+testSuite.add(BOOST_PARAM_TEST_CASE(  \
+testWithData(, data), data, data + COUNTOF(data)))
 
 struct BinaryEncoderFactory {
 static EncoderPtr newEncoder(const ValidSchema& schema) {
diff --git a/lang/c++/test/DataFileTests.cc b/lang/c++/test/DataFileTests.cc
index 27a7ce9ca..1b1687af5 100644
--- a/lang/c++/test/DataFileTests.cc
+++ b/lang/c++/test/DataFileTests.cc
@@ -498,40 +498,67 @@ void addReaderTests(test_suite* ts, const 
shared_ptr& t)
 test_suite*
 init_unit_test_suite( int argc, char* argv[] )
 {
-test_suite* ts= BOOST_TEST_SUITE("DataFile tests");
-shared_ptr t1(new DataFileTest("test1.df", sch, isch));
-ts->add(BOOST_CLASS_TEST_CASE(::testWrite, t1));
-addReaderTests(ts, t1);
-
-shared_ptr t2(new DataFileTest("test2.df", sch, isch));
-ts->add(BOOST_CLASS_TEST_CASE(::testWriteGeneric, t2));
-addReaderTests(ts, t2);
-
-shared_ptr t3(new DataFileTest("test3.df", dsch, dblsch));
-ts->add(BOOST_CLASS_TEST_CASE(::testWriteDouble, t3));
-ts->add(BOOST_CLASS_TEST_CASE(::testReadDouble, t3));
-ts->add(BOOST_CLASS_TEST_CASE(::testReadDoubleTwoStep, t3));
-ts->add(BOOST_CLASS_TEST_CASE(::testReadDoubleTwoStepProject,
-t3));
-ts->add(BOOST_CLASS_TEST_CASE(::testCleanup, t3));
-
-shared_ptr t4(new DataFileTest("test4.df", dsch, dblsch));
-ts->add(BOOST_CLASS_TEST_CASE(::testTruncate, t4));
-ts->add(BOOST_CLASS_TEST_CASE(::testCleanup, t4));
-
-shared_ptr t5(new DataFileTest("test5.df", sch, isch));
-ts->add(BOOST_CLASS_TEST_CASE(::testWriteGenericByName, t5));
-addReaderTests(ts, t5);
-
-shared_ptr t6(new DataFileTest("test6.df", dsch, dblsch));
-ts->add(BOOST_CLASS_TEST_CASE(::testZip, t6));
-shared_ptr t8(new DataFileTest("test8.df", dsch, dblsch));
+{
+test_suite *ts = BOOST_TEST_SUITE("DataFile tests: test1.df");
+shared_ptr t1(new DataFileTest("test1.df", sch, isch));
+ts->add(BOOST_CLASS_TEST_CASE(::testWrite, t1));
+addReaderTests(ts, t1);
+boost::unit_test::framework::master_test_suite().add(ts);
+}
+{
+test_suite *ts = BOOST_TEST_SUITE("DataFile tests: test2.df");
+shared_ptr t2(new DataFileTest("test2.df", sch, isch));
+ts->add(BOOST_CLASS_TEST_CASE(::testWriteGeneric, t2));
+addReaderTests(ts, t2);
+boost::unit_test::framework::master_test_suite().add(ts);
+}
+{
+test_suite *ts = BOOST_TEST_SUITE("DataFile tests: test3.df");
+shared_ptr t3(new DataFileTest("test3.df", dsch, 
dblsch));
+ts->add(BOOST_CLASS_TEST_CASE(::testWriteDouble, t3));
+ts->add(BOOST_CLASS_TEST_CASE(::testReadDouble, t3));
+ts->add(
+BOOST_CLASS_TEST_CASE(::testReadDoubleTwoStep, t3));
+ts->add(BOOST_CLASS_TEST_CASE(
+::testReadDoubleTwoStepProject, t3));
+ts->add(BOOST_CLASS_TEST_CASE(::testCleanup, t3));
+boost::unit_test::framework::master_test_suite().add(ts);
+}
+{
+test_suite *ts = BOOST_TEST_SUITE("DataFile tests: test4.df");
+shared_ptr t4(new DataFileTest("test4.df", dsch, 
dblsch));
+ts->add(BOOST_CLASS_TEST_CASE(::testTruncate, t4));
+ts->add(BOOST_CLASS_TEST_CASE(::testCleanup, t4));
+boost::unit_test::framework::master_test_suite().add(ts);
+}
+{
+test_suite *ts = BOOST_TEST_SUITE("DataFile tests: test5.df");
+shared_ptr t5(new DataFileTest("test5.df", sch, isch));
+ts->add(
+

[jira] [Commented] (AVRO-2213) C++ tests fail with boost 1.67+

2018-08-20 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/AVRO-2213?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16585476#comment-16585476
 ] 

ASF GitHub Bot commented on AVRO-2213:
--

wmatthews-google opened a new pull request #327: AVRO-2213 C++ tests fail with 
boost 1.67+
URL: https://github.com/apache/avro/pull/327
 
 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> C++ tests fail with boost 1.67+
> ---
>
> Key: AVRO-2213
> URL: https://issues.apache.org/jira/browse/AVRO-2213
> Project: Avro
>  Issue Type: Bug
>  Components: c++
>Affects Versions: 1.8.2
>Reporter: William Matthews
>Priority: Minor
>
> Boost 1.67 and later now returns an error when multiple tests are added with 
> the same name 
> ([https://www.boost.org/doc/libs/1_67_0/libs/test/doc/html/boost_test/change_log.html).]
> This fails for 3 tests:
> CodecTests.cc:
> Test setup error: boost::unit_test::framework::setup_error: test unit with 
> name 'testCodecResolving2_0' registered 
> multiple times
> DataFileTests.cc:
> Test setup error: boost::unit_test::framework::setup_error: test unit with 
> name 'DataFileTest__testReadFull' registered multiple times
> unittest.cc:
> Test setup error: boost::unit_test::framework::setup_error: test unit with 
> name 'T__test' registered multiple times
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)