Here is the full output from my program:
$ ./decision.test.suite
terminate called after throwing an instance of 'std::logic_error'
what(): basic_string::_S_construct NULL not valid
Aborted (core dumped)
Now, all the code in this program is focussed on number crunching, so none
of it involves strings. I am guessing that I missed something in setting up
a test suite.
After including the headers for the function objects being tested (some of
which are template classes) as well as headers for several boost libraries,
I have the following:
#define BOOST_TEST_MAIN decision_tests
#include
#include
BOOST_AUTO_TEST_SUITE( test_decisions )
BOOST_AUTO_TEST_CASE( test_dist_moments ) {
And I have a series of test cases that start the same way.
After setting up the required data for each test, I use something like:
BOOST_CHECK_CLOSE( Sm, 0.00000000000, 0.0001 );
or something like:
BOOST_CHECK(ibll(x1,i) == true);
Of course each test case ends with a closing '}' and the whole program ends
with:
BOOST_AUTO_TEST_SUITE_END()
Now, I know I can write a suite of unit tests without using Boost::Test, but
I was hoping I'd just missed something obvious. I don't even know where to
look for the cause of this exception since none of the code I actually wrote
that is involved in these tests makes any use at all of any strings.
My guess is that I must have missed some macro required by the unit test
framework that is required in order to ensure whatever string object is
involved in this exception doesn't get a NULL value. Or maybe I missed a
header. I really have no idea where to look for the cause of this problem.
Any guidance on what to look for or what I may have missed, would be greatly
appreciated.
Cheers
Ted