While working on it, I said, we also have a problem of mapping error_log errors to the tests that caused them. So I've added logic to extract only the relevant (added since the last successful test) part of error_log and access_log and print it out, in addition to the output of the client.
This mode also turns the tracing level to -trace=debug, so if the test fails and there were any debug printings in the handlers they will be run as well.
This should make bug reports much more useful. However it comes at a price of running much slower than the normal 'make test' would do, until Test::Harness::Straps won't provide the callbacks to be run after each test, eventually we might fold it back to 'make test'. but for now if your 'make test' fails, run 't/SMOKE -bug_report'.
Of course the normal t/SMOKE run now reports core files as well, as soon as they happen.
You will need to update the current modperl-2.0 cvs to get this functionality. Please report any problems that you may have noticed.
So here is how the new log will look:
/home/stas/apache.org/portland3> t/SMOKE -bug_mode running t/TEST in the bug report mode apache/add_config............ok apache/cgihandler............ok apache/conftree..............ok apache/constants.............ok apache/cookie................FAILED ------------------------------------------------------------ *** run log *** *** setting ulimit to allow core files ulimit -c unlimited; ./TEST -verbose -run 'apache/cookie.t' apache/cookie....1..2 # Running under perl version 5.008001 for linux # Current time local: Thu Sep 11 18:45:28 2003 # Current time GMT: Fri Sep 12 01:45:28 2003 # Using Test.pm version 1.24 request has failed (the response code was: 500) see t/logs/error_log for more details dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 1-2 Failed 2/2 tests, 0.00% okay Failed Test Stat Wstat Total Fail Failed List of Failed
------------------------------------------------------------------------------- apache/cookie.t 255 65280 2 4 200.00% 1-2 !!! error running tests (please examine t/logs/error_log)
*** /home/stas/apache.org/portland3/t/logs/error_log ***
[Thu Sep 11 18:45:28 2003] [error] [client 127.0.0.1] I shouldn't get the cookie at /home/stas/apache.org/portland3/t/response/TestApache/cookie.pm line 16.
*** /home/stas/apache.org/portland3/t/logs/access_log ***
127.0.0.1 - - [11/Sep/2003:18:45:28 -0700] "GET /TestApache__cookie?header HTTP/1.0" 500 536
------------------------------------------------------------
apache/cookie2...............ok
apache/post..................ok
apache/read..................FAILED
------------------------------------------------------------
*** run log ***
*** setting ulimit to allow core files
ulimit -c unlimited; ./TEST -verbose -run 'apache/read.t'
apache/read....Bareword "asdfag" not allowed while "strict subs" in use at apache/read.t line 18.
Execution of apache/read.t aborted due to compilation errors.
dubious
Test returned status 255 (wstat 65280, 0xff00)
!!! error running tests (please examine t/logs/error_log)
------------------------------------------------------------
apache/scanhdrs..............ok
apache/scanhdrs2.............ok
apache/send_cgi_header.......ok
apache/subprocess............ok
apache/write.................FAILED
------------------------------------------------------------
*** run log ***
*** setting ulimit to allow core files
ulimit -c unlimited; ./TEST -verbose -run 'apache/write.t'
apache/write....request has failed (the response code was: 500)
see t/logs/error_log for more details
dubious
Test returned status 255 (wstat 65280, 0xff00)
!!! error running tests (please examine t/logs/error_log)
!!! oh nuts, server dumped core
!!! for stacktrace, run: gdb /home/stas/httpd/prefork/bin/httpd -core /home/stas/apache.org/portland3/t/core.7604
*** /home/stas/apache.org/portland3/t/logs/error_log ***
[Thu Sep 11 18:46:03 2003] [notice] child pid 7604 exit signal Aborted (6), possible coredump in /home/stas/apache.org/portland3/t
------------------------------------------------------------ api/access...................ok api/aplog....................ok api/conn_rec.................ok api/lookup_uri...............ok api/lookup_uri2..............ok api/module...................ok api/r_subclass...............ok api/request_rec..............ok api/response.................ok api/rflush...................ok api/rutil....................ok api/sendfile.................ok api/server_rec...............ok api/server_util..............ok api/slurp_filename...........ok api/uri......................ok apr-ext/perlio...............ok apr-ext/table................ok apr-ext/uuid.................ok apr/base64...................ok apr/constants................ok apr/date.....................ok apr/netlib...................ok apr/os.......................ok apr/perlio...................ok apr/pool.....................ok apr/socket...................ok apr/string...................ok apr/table....................ok apr/threadmutex..............ok apr/util.....................ok apr/uuid.....................ok compat/apache................ok compat/apache_file...........ok compat/apache_table..........ok compat/apache_uri............ok compat/apache_util...........ok compat/conn_authen...........ok compat/request...............ok compat/request_body..........ok compat/send_fd...............ok directive/env................ok directive/perl...............ok directive/perldo.............ok directive/perlloadmodule.....ok directive/perlloadmodule2....ok directive/perlloadmodule3....ok directive/perlloadmodule4....ok directive/perlloadmodule5....ok directive/perlloadmodule6....ok directive/perlmodule.........ok directive/perlrequire........ok directive/pod................ok directive/setupenv...........ok error/api....................ok error/push_handlers..........ok error/runtime................ok error/syntax.................ok filter/both_str_con_add......ok filter/both_str_req_add......ok filter/both_str_req_mix......ok filter/in_bbs_body...........ok filter/in_bbs_consume........ok filter/in_bbs_msg............ok filter/in_bbs_underrun.......ok filter/in_init_basic.........ok filter/in_str_consume........ok filter/in_str_declined.......ok filter/in_str_lc.............ok filter/in_str_msg............ok filter/in_str_sandwich.......ok filter/out_bbs_basic.........ok filter/out_bbs_ctx...........ok filter/out_init_basic........ok filter/out_str_api...........ok filter/out_str_ctx...........ok filter/out_str_declined......ok filter/out_str_lc............ok filter/out_str_remove........ok filter/out_str_req_eos.......ok filter/out_str_req_mix.......ok filter/out_str_reverse.......ok hooks/access.................ok hooks/authen.................ok hooks/authz..................ok hooks/cleanup................ok hooks/cleanup2...............ok hooks/fixup..................ok hooks/headerparser...........ok hooks/init...................ok hooks/push_handlers..........ok hooks/stacked_handlers.......ok hooks/stacked_handlers2......ok hooks/trans..................ok modperl/current_callback.....ok modperl/dir_config...........ok modperl/endav................ok modperl/env..................ok modperl/exit.................ok modperl/getc.................ok modperl/method...............ok modperl/methodname...........ok modperl/methodobj............ok modperl/perl.................ok modperl/pnotes...............ok modperl/post_utf8............ok modperl/print................ok modperl/print_utf8...........ok modperl/print_utf8_2.........ok modperl/printf...............ok modperl/readline.............ok modperl/request_rec_tie_api..ok modperl/sameinterp...........ok modperl/setauth..............ok modperl/subenv...............ok modperl/taint................ok modules/cgi..................ok modules/cgiupload............ok modules/include..............ok modules/include2.............ok modules/proxy................ok perl/ithreads................ok perl/ithreads2...............ok preconnection/note...........ok protocol/echo................ok protocol/echo_filter.........ok protocol/eliza...............ok ------------------------------------------------------------ error running 3 tests out of 140
__________________________________________________________________ Stas Bekman JAm_pH ------> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com