Opened 12 years ago

Closed 12 years ago

#4187 closed Bugs (invalid)

Unit Test framework does things that OS X dislikes 2

Reported by: tegtmeye@… Owned by: Gennadiy Rozental
Milestone: Boost 1.43.0 Component: test
Version: Boost 1.42.0 Severity: Showstopper
Keywords: Mac OS X 10.6 Cc:

Description

Using the attached file, compiled as follows with Boost 1.42, the simple unit test seg faults under Mac OSX 10.6.3.

#define BOOST_TEST_MODULE footest test
#include <boost/test/unit_test.hpp>

BOOST_AUTO_TEST_CASE( test1 ) {

  BOOST_CHECK( true );

}

BOOST_AUTO_TEST_CASE( test2 ) {

  BOOST_CHECK( true );

}

BOOST_AUTO_TEST_CASE( test3 ) {

  BOOST_CHECK( false );

}

BOOST_AUTO_TEST_CASE( test4 ) {

  BOOST_CHECK( true );

}

$ g++ --version i686-apple-darwin10-g++-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5646) (dot 1) $ g++ boost_test.cc /opt/local/lib/libboost_unit_test_framework-mt.a $ file a.out a.out: Mach-O 64-bit executable x86_64 $ ./a.out Running 4 test cases... boost_test.cc:18: error in "test3`0?0?00P??0random:?>??0H0H0?0?0test4?00auto_start_dbgbreak_exec_path

build_infocatch_system_errorsdetect_fp_exceptionsdetect_memory_leaks

report_format log_level

report_level

result_corun_test

use_alt_stack?0`N? save_pattern

0??0< 0--?;help?0PA? 0{0?;?@?

0 0? 0p: 00P?N??N? 0H 0? 00??M 0h 0M?--this help message0=0?98

0`

0(

0p:? 0?

0??N?

0?

0?

00=00<? 0use_alt_stack??P??

0??>>Turns on/off usage of an alternative stack for signal handlingS?--BOOST_TESshow_progresspPA??0P

0Turns on progress display= ?9x0?0X0p:?0?0??N?0(0?0=?;0<?0

save_patternP? 0FFAllows to switch between saving and matching against test pattern file--a.outtp?0?0H0?P0?0P?N??NH0x080??M(0?0X0?P0---run_testt?0((Allows to filter which test units to run= p0result_c?0?@h00?0p:?0p0P?N??N?0?0?0??M?0(0?00<?0----?;

result_codecPA?077Allows to disable test modules's result code generation= BOOST_TEST_OUTPUT_FORMAT?0?0X0?00P?N??NX0?0(0??M80?0H0?0----

report_levelr? 0Specifies report level= BOOST_TEST_LOG_LEVEL?p0p,h00?0P-?0p0P?N??N?0?0?0??M?0(0?0?/?0-report_formatm?2?0Specifies report format= ?"008 0random|a?"0?00 ?0`(!00?P?N??N(0X0h0??0x0?0?"00----0"randoma?%?0??Allows to switch between sequential and random order of test units execution.

Optionally allows to specify concrete seed for random number generator=[Dp?p/0+0output_formato?2?0--Specifies output format (both log and report)= BOOST_TEST_LOG_FORMATP&("0? 0? 00'?!00!0P?N??N?!0?!0X"0??Mh!0?!0x"0?(?!0----P( log_levell,P 0Specifies log level= +0?0?0log_form?0p,?$0 #0?"0P-?#0?#0P?N??N?#0$0?$0??M?#0H$0?$0?/?#0----/

log_formatf?2?"0Specifies log format= P38&0P%0%0P4?%0?%0??N?&0?%0?%0=p56?%0detect_memory_leaks09?$0;;Allows to switch between catching and ignoring memory leaks--?9?'0'0?&0p:'0p'0??Nh(0?'0X'0=?;0<'0detect_fp_exceptionsP??&0HHAllows to switch between catching and ignoring floating point exceptions--BOOST_TEST_REPORT_LEVELp??"0?@?*0 )0?(0p:?)0?)0P?N??N?)0*0?*0??M?)0H*+00<?)0----?;catch_system_errorssPA?(0FFAllows to switch between catching and ignoring system errors (signals)= ?0?"0h0build_in???"0?@-0?+0x+0p:?,0 ,0P?N??Nx,0?,0X-0??MX,0?,0x-00<?,0----?;

build_infoiPA@+0Shows library build information= ???.0?-0?-0?@.0P.0??NH/0?.08.0=??@.0break_exec_pathP@?-0KKFor the exception safety testing allows to break at specific execution path--(\Dp? 80?0x70?@h1000?/0p:?00p00P?N??N?00?00?10??M?00(10?100<?00----?;auto_start_dbgdPA?/0CCAutomatically starts debugger if system level error (signal) occurs= 20?V?/0010020?10?-0?.0P2020@+0?,0p20020?(0P*0?20P20?&0?'0?20p20?$0&0?20?20?"0P$0?20?20P 0?!030?20?0p0030?20?0?0P3030?000p30030 0?0?30P30?000?30p300?0?30?30 0@0?30?30?

0?040?30?

0

0?V?30? 0p 0?40?

0?

00?

0?

0N90?708 0M 008 0M 0M?70?60040?000?00M90?:0h?????boost_test.cc?40?(0?(00?(0?(0M@S070L70?LBOOST_TEST_SHOW_PROGRESS?40?4080x70?700x70?70M?80p/0880BOOST_TEST_DETECT_MEMORY_LEAK?70?<00<0880U800880U80Mp9080?80BOOST_TESTS_TO_RUN?40?90P50?80

900?80 90M:0?80?90BOOST_TEST_RANDOM90?90?900?90?90M@:0:<00=0 :0?<0 :0p90?:0BOOST_TEST_BUILD_INFOP50?:0?:00?:0?:0M?;0?_??S;0?>0?_?BOOST_TEST_CATCH_SYSTEM_ERRORS80P<0&<0<0&<0MBOOST_TEST_AUTO_START_DBG80?=0?<0?<00?<0?<0M?=0@:0h=0BOOST_TEST_USE_ALT_STACK?<0h=0?=00h=0?=0M`N0=0(>0BOOST_TEST_DETECT_FP_EXCEPTIONS0<0(>0G>00(>0G>0M????boost_test.cc??+P+P ?e ?e?R???R??$I?$$I?$IR?IR??*?*EPEPME?ME?RP?RP?j*Tj*T?j*?Rj*T?T???T-?T-?R?R??Z?*Z?*??B??B%??%??R

??

?????TSQTSQ?????j*??j*?????????

? unknown location:0: fatal error in "test3`0?0?00P??0random:?>??0H0H0?0?0test4?00auto_start_dbgbreak_exec_path

build_infocatch_system_errorsdetect_fp_exceptionsdetect_memory_leaks

report_format log_level

report_level

result_corun_test

use_alt_stack?0`N? save_pattern

0??0< 0--?;help?0PA? 0{0?;?@?

0 0? 0p: 00P?N??N? 0H 0? 00??M 0h 0M?--this help message0=0?98

0`

0(

0p:? 0?

0??N?

0?

0?

00=00<? 0use_alt_stack??P??

0??>>Turns on/off usage of an alternative stack for signal handlingS?--BOOST_TESshow_progresspPA??0P

0Turns on progress display= ?9x0?0X0p:?0?0??N?0(0?0=?;0<?0

save_patternP? 0FFAllows to switch between saving and matching against test pattern file--a.outtp?0?0H0?P0?0P?N??NH0x080??M(0?0X0?P0---run_testt?0((Allows to filter which test units to run= p0result_c?0?@h00?0p:?0p0P?N??N?0?0?0??M?0(0?00<?0----?;

result_codecPA?077Allows to disable test modules's result code generation= BOOST_TEST_OUTPUT_FORMAT?0?0X0?00P?N??NX0?0(0??M80?0H0?0----

report_levelr? 0Specifies report level= BOOST_TEST_LOG_LEVEL?0p,h00?0P-?0p0P?N??N?0?0?0??M?0(0?0?/?0--report_formatm?2?0Specifies report format= ?"008 0random|a?0?00 ?0`(!00?P?N??N(0X0h0??0x0?0?"00----0"randoma?%?0??Allows to switch between sequential and random order of test units execution.

Optionally allows to specify concrete seed for random number generator=[Dp?p/0+0output_formato?2?0--Specifies output format (both log and report)= BOOST_TEST_LOG_FORMATP&("0? 0? 00'?!00!0P?N??N?!0?!0X"0??Mh!0?!0x"0?(?!0----P( log_levell,P 0Specifies log level= +0?0?0log_form`@0p,?$0 #0?"0P-?#0?#0P?N??N?#0$0?$0??M?#0H$0?$0?/?#0----/

log_formatf?2?"0Specifies log format= P38&0P%0%0P4?%0?%0??N?&0?%0?%0=p56?%0detect_memory_leaks09?$0;;Allows to switch between catching and ignoring memory leaks--?9?'0'0?&0p:'0p'0??Nh(0?'0X'0=?;0<'0detect_fp_exceptionsP??&0HHAllows to switch between catching and ignoring floating point exceptions--BOOST_TEST_REPORT_LEVELp??"0?@?*0 )0?(0p:?)0?)0P?N??N?)0*0?*0??M?)0H*+00<?)0----?;catch_system_errorssPA?(0FFAllows to switch between catching and ignoring system errors (signals)= ?0?"0h0build_in???"0?@-0?+0x+0p:?,0 ,0P?N??Nx,0?,0X-0??MX,0?,0x-00<?,0----?;

build_infoiPA@+0Shows library build information= ???.0?-0?-0?@.0P.0??NH/0?.08.0=??@.0break_exec_pathP@?-0KKFor the exception safety testing allows to break at specific execution path--(\Dp? 80?0x70?@h1000?/0p:?00p00P?N??N?00?00?10??M?00(10?100<?00----?;auto_start_dbgdPA?/0CCAutomatically starts debugger if system level error (signal) occurs= 20?V?/0010020?10?-0?.0P2020@+0?,0p20020?(0P*0?20P20?&0?'0?20p20?$0&0?20?20?"0P$0?20?20P 0?!030?20?0p0030?20?0?0P3030?000p30030 0?0?30P30?000?30p300?0?30?30 0@0?30?30?

0?040?30?

0

0?V?30? 0p 0?40?

0?

00?

0?

0N90?708 0M 008 0M 0M?70?60040?000?00M90?:0h?????boost_test.cc?40?(0?(00?(0?(0M@S070L70?LBOOST_TEST_SHOW_PROGRESS?40?4080x70?700x70?70M?80p/0880BOOST_TEST_DETECT_MEMORY_LEAK?70?<00<0880U800880U80Mp9080?80BOOST_TESTS_TO_RUN?40?90P50?80

900?80 90M:0?80?90BOOST_TEST_RANDOM90?90?900?90?90M@:0:<00=0 :0?<0 :0p90?:0BOOST_TEST_BUILD_INFOP50?:0?:00?:0?:0M?;0?_??S;0?>0?_?BOOST_TEST_CATCH_SYSTEM_ERRORS80P<0&<0<0&<0MBOOST_TEST_AUTO_START_DBG80?=0?<0?<00?<0?<0M?=0@:0h=0BOOST_TEST_USE_ALT_STACK?<0h=0?=00h=0?=0MN0=0(>0BOOST_TEST_DETECT_FP_EXCEPTIONS0<0(>0G>00(>0G>0M0?;0@?0?_??>0?_?????unknown locatio(??jd(??=>?<??P@0++CCUNG?K(??@ٿ_???)H?@?K(??jd(???vhv3?@0++CCUNG?K(??ٿ_??`P?P @+P+P ?e ?e?R???R??$I?$$I?$IR?IR??*?*EPEPME?ME??T-?T-?R?R?T?j*T?j*T?T?T*?j*?j*??*??Z?*Z?*??B??B%??%??R

??

?????TSQTSQ?????j*??j*?????????

? Segmentation fault

Change History (2)

comment:1 by tegtmeye@…, 12 years ago

Summary: Unit Test framework does things that OS X's malloc dislikes 2Unit Test framework does things that OS X dislikes 2

comment:2 by tegtmeye@…, 12 years ago

Resolution: invalid
Status: newclosed

Disregard. When trying to debug, boost.m4 was pulling previous unit_test_library. Sorry for the distraction.

Note: See TracTickets for help on using tickets.