Roxen.git
/
server
/
etc
/
test
/
tests
/
pike_async_process_test_common.pike
version
»
Context lines:
10
20
40
80
file
none
3
Roxen.git/server/etc/test/tests/pike_async_process_test_common.pike:19:
{ if( stringp( err ) ) return indent(2,err + (strlen(err)?(err[-1] == '\n' ? "": "\n" ):"")); err = (array)err; err[1] = err[1][sizeof(err[1])-3..]; return indent(2, describe_backtrace( err ) ); } string common_wait( mapping m ) {
+
if (!test) {
+
return "Test not started";
+
}
int err = test->wait(); if( err == 100 ) return "Illegal arguments"; if( err == 99 ) return "Timeout"; if( !m[10] && (err == 10) ) return "The external pike script triggered an error"; if( !m[1] && (err == 1) ) return "The external pike script failed to compile"; return err && ( m[ err ] || ("Unknown error "+err) ); } void run_pikescript( string p, string ... args ) { if( !http_url ) foreach( c->query("URLs"), string url ) if( has_prefix( url, "http://" ) )
-
http_url = url;
+
http_url =
(
url
/"#")[0]
;
if( !http_url ) { werror("Cannot run test -- no HTTP port open\n"); return; }
-
test = Process.
create_process
( ({
-
"
pike
",
+
test = Process.
Process
( ({
+
getenv(
"
PIKE
"
)
,
combine_path( __FILE__, "../"+p ), http_url })+args ); } void current_test_done() { #define IND(X) all_tests[ current_test+(X) ] if( !test || test->status() ) { if( function fp = IND("_check") ) if( string fail = fp( ) ) { tests_failed++; if( verbose ) report_debug(" FAILED\n");
-
report_debug(do_describe_error(IND("_desc")+" FAILED\n" ));
+
report_debug(
"################ " +
+
do_describe_error(IND("_desc")+" FAILED\n" ));
report_debug(do_describe_error( fail )); } else if( verbose ) report_debug(" PASS\n"); current_test++; if( function t = IND("") ) { if( verbose )