pike.git / src / testsuite.in

version» Context lines:

pike.git/src/testsuite.in:1: - test_true([["$Id: testsuite.in,v 1.659 2003/06/15 21:28:20 mast Exp $"]]); + test_true([["$Id: testsuite.in,v 1.660 2003/07/02 12:49:04 grubba Exp $"]]);      // This triggered a bug only if run sufficiently early.   test_compile_any([[#pike 7.2]])   test_compile_any([[#pike 7.4]])   test_compile_any([[#pike 7.0]])   test_compile_any([[#pike 0.6]])      cond([[all_constants()->_verify_internals]],   [[    test_do(_verify_internals())
pike.git/src/testsuite.in:9644:   cond([[ file_stat("/bin/sleep") && __builtin->TraceProcess && (cpp("__NT__")/"\n")[1]=="__NT__" ]],   [[   test_any([[    // Check that tracing works...    // Use a spawned pike to make sure the process doesn't exit    // prematurely due to EINTR.    Process.TraceProcess proc =    Process.TraceProcess(RUNPIKE_ARRAY + ({ "-e", "sleep(99999)" }));       int initial_sleep = 5; +  int count;    int state;    int code; -  while ((code = proc->wait()) == -2) { +  while (((code = proc->wait()) == -2) && (count++ < 20)) {    int sig = proc->last_signal();    switch(sig) {    case signum("TRAP"):    if (state) {    // NB: OSF/1 issues two SIGTRAPS before the program starts executing.    werror("Unexpected SIGTRAP in state %d.\n", state);    }    state = ((state <= 1) ? 1 : state);    proc->cont();   
pike.git/src/testsuite.in:9695:    if (proc->kill(signum("KILL"))) {    return sprintf("Process didn't die of cont(%d).", signum("KILL"));    }    break;    default:    proc->kill(signum("KILL"));    return sprintf("Unexpected signal:%d in state %d.", sig, state);    }    }    +  if (code == -2) { +  proc->kill(signum("KILL")); +  return sprintf("Looping trace. (Looped %d times).", count-1); +  } +     if (code != -1) {    proc->kill(signum("KILL")); -  return sprintf("Bad termination returncode from wait():%d (expected -1)", +  return sprintf("Bad termination returncode from wait():%d (expected -1).",    code);    }    int sig = proc->last_signal();    if (sig != signum("KILL")) {    proc->kill(signum("KILL")); -  return sprintf("Unexpected termination signal:%d (expected %d)", +  return sprintf("Unexpected termination signal:%d (expected %d).",    sig, signum("KILL"));    }    // Test ok.    return 0; ]], 0)   ]])      test_do([[    string s;    for(s="foobar";strlen(s)<78;s+=s)    {