Boost logo

Boost Users :

From: Gennadiy Rozental (gennadiy.rozental_at_[hidden])
Date: 2007-05-02 10:31:14


> "John McMahon" <john_gg_mcmahon_at_[hidden]> wrote in message
> news:f1766r$khc$1_at_sea.gmane.org...
> Hi Grennadiy, thanks for your help so far.
> I might just switch to the no libraries solution and wait for 1.34
> binaries to be built, since I don't have time on my schedule to dig deeper
> into the boost build.
>
> Correct me if I'm wrong - if I chose to use the synchronous exceptions
> version of the libraries now on Boost Consulting website, the core
> libraries ought to
> work fine, it is just that I ought to expect runtime exceptions to
terminate the execution of any code I write using it.

Boost.Test won;t be able to catch system errors, like memory access
violation

> Ie please confirm that there's no reason to > think that boost-test, etc
> might not function with this exception model.

> Just on the no-libraries solution. I can't find anything documented about
> any special compiler settings to get it to work with vc80.

VC 8.0 was not available at the time

> When I set /EHsc, the popped up exception occurs. When I set /EHa, the
> program _appears_ to finish fine, but on closer inspection of the console
> output, I
> discover the access violation message is there in the console. But I
> guess this is not what I should get with my no-libraries test. What am I
> doing wrong here?

I don't see anything wrong with an output below. Memory access violation is
caught and reported by the UTF.

Gennadiy

--
OUTPUT:
$ ./Boost_test_1_withoutSeparateLibrary.exe
Running 1 test case...
d:/john/syncfolder/projects/programming/c++/vc++/projects/boost_test_1/boost_test_1/getstarted.cpp(13): 
error in "free_te
st_function": check 3 == 1 failed
unknown location(0): fatal error in "free_test_function": memory access 
violation
*** 1 failure detected (1 failure expected) in test suite "Unit test example 
1"
---
#include <boost/test/included/unit_test_framework.hpp>
using boost::unit_test::test_suite;
void free_test_function(){
BOOST_CHECK(3 == 1);
int* p = (int*)0;
*p = 0;}
test_suite* init_unit_test_suite( int, char* [] ) {
test_suite* test= BOOST_TEST_SUITE( "Unit test example 1" );
test->add( BOOST_TEST_CASE( &free_test_function ), 1 /* expected one error 
*/ );
return test;}

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net