Running regression tests

Hi all, I've been trying to run some regression tests today using regression.py. After a few false starts, bjam ran to the end, but now process_jam_logs won't run --- every time it runs it thinks for a few seconds, and then quits with the message: **** exception(205): std::out_of_range: invalid string position ******** errors detected; see standard output for details ******** Any thoughts? Anthony -- Anthony Williams Software Developer Just Software Solutions Ltd http://www.justsoftwaresolutions.co.uk

Anthony Williams writes:
I've been trying to run some regression tests today using regression.py. After a few false starts, bjam ran to the end, but now process_jam_logs won't run --- every time it runs it thinks for a few seconds, and then quits with the message:
**** exception(205): std::out_of_range: invalid string position ******** errors detected; see standard output for details ********
Any thoughts?
Seems like it's being fed an unexpected input. Unfortunately, process_jam_log doesn't have a logging option, and the easiest way to see what exactly it chockes on would be to run it under debugger, with the command line extracted from the regression.py's log. -- Aleksey Gurtovoy MetaCommunications Engineering

Aleksey Gurtovoy <agurtovoy@meta-comm.com> writes:
Anthony Williams writes:
I've been trying to run some regression tests today using regression.py. After a few false starts, bjam ran to the end, but now process_jam_logs won't run --- every time it runs it thinks for a few seconds, and then quits with the message:
**** exception(205): std::out_of_range: invalid string position ******** errors detected; see standard output for details ********
Any thoughts?
Seems like it's being fed an unexpected input. Unfortunately, process_jam_log doesn't have a logging option, and the easiest way to see what exactly it chockes on would be to run it under debugger, with the command line extracted from the regression.py's log.
The error is in parse_skipped_msg_aux, trying to parse the message ...skipped <@boost!libs!parameter!test\python-parameter-test.test\gcc\debug>python-parameter-test.run for lack of <CYGWIN_EXE@>python2.4.exe... The CYGWIN_EXE@ bit is causing confusion on line 232 (CVS HEAD version) --- there is no path separator in "CYGWIN@", so the insert is failing (with an out_of_range exception), as the call to dir.find is returning std::string::npos. Changing line 232 to two lines: string::size_type path_sep_pos=dir.find( '/', start_pos + 1); dir.insert( (path_sep_pos==string::npos)?dir.size():path_sep_pos,"/bin" ); allows it to run to completion --- I have now run collect_and_upload_logs, so the results should be available soon. Maybe I should set PYTHON_ROOT (my python installation lives in c:\local\python24), but it should work without it set. Anthony -- Anthony Williams Software Developer Just Software Solutions Ltd http://www.justsoftwaresolutions.co.uk

Anthony Williams writes:
The error is in parse_skipped_msg_aux, trying to parse the message
...skipped <@boost!libs!parameter!test\python-parameter-test.test\gcc\debug>python-parameter-test.run for lack of <CYGWIN_EXE@>python2.4.exe...
The CYGWIN_EXE@ bit is causing confusion on line 232 (CVS HEAD version) --- there is no path separator in "CYGWIN@", so the insert is failing (with an out_of_range exception), as the call to dir.find is returning std::string::npos.
Changing line 232 to two lines:
string::size_type path_sep_pos=dir.find( '/', start_pos + 1); dir.insert( (path_sep_pos==string::npos)?dir.size():path_sep_pos,"/bin" );
allows it to run to completion --- I have now run collect_and_upload_logs, so the results should be available soon.
I've committed a slightly modified fix both to HEAD and RC_1_34_0. Thanks for tracking this down!
Maybe I should set PYTHON_ROOT (my python installation lives in c:\local\python24), but it should work without it set.
Yep. Thanks again, -- Aleksey Gurtovoy MetaCommunications Engineering
participants (2)
-
Aleksey Gurtovoy
-
Anthony Williams