Branch: Tag:

2000-03-07

2000-03-07 08:15:03 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>

no watchdog when running testsuite in GDB

Rev: bin/test_pike.pike:1.37
Rev: src/Makefile.in:1.180

1:   #!/usr/local/bin/pike    - /* $Id: test_pike.pike,v 1.36 2000/03/01 20:30:10 hubbe Exp $ */ + /* $Id: test_pike.pike,v 1.37 2000/03/07 08:14:57 hubbe Exp $ */      import Stdio;   
73:    return ret;   }    -  +    #if constant(thread_create)   #define WATCHDOG -  +  + object watchdog; +    #define WATCHDOG_PIPE -  + object watchdog_pipe;   #else   #if constant(signal) && constant(signum)   #define WATCHDOG
84:   #endif   #endif    +  + #ifdef WATCHDOG + int use_watchdog=1; + #endif +    int main(int argc, string *argv)   {    int e, verbose, successes, errors, t, check;
112:    add_constant("RUNPIKE",Array.map(args,Process.sh_quote)*" ");       foreach(Getopt.find_all_options(argv,aggregate( +  ({"no-watchdog",Getopt.NO_ARG,({"--no-watchdog"})}),    ({"watchdog",Getopt.HAS_ARG,({"--watchdog"})}),    ({"help",Getopt.NO_ARG,({"-h","--help"})}),    ({"verbose",Getopt.NO_ARG,({"-v","--verbose"})}),
131:    {    switch(opt[0])    { +  case "no-watchdog": +  use_watchdog=0; +  break; +     case "watchdog":   #ifdef WATCHDOG    int cnt=0;
252: Inside #if defined(WATCHDOG)
  #ifdef WATCHDOG    int watchdog_time=time();    +  if(use_watchdog) +  {   #ifdef WATCHDOG_PIPE    object watchdog_tmp=Stdio.File(); -  object watchdog_pipe=watchdog_tmp->pipe(Stdio.PROP_IPC); -  object watchdog=Process.create_process( +  watchdog_pipe=watchdog_tmp->pipe(Stdio.PROP_IPC); +  watchdog=Process.create_process(    backtrace()[0][3] + ({ "--watchdog="+getpid() }),    (["stdin":watchdog_tmp ]));    destruct(watchdog_tmp);   #endif      #ifdef WATCHDOG_SIGNAL -  object watchdog=Process.create_process( +  watchdog=Process.create_process(    backtrace()[0][3] + ({ "--watchdog="+getpid() }) );   #endif -  +  }   #endif       argv=Getopt.get_args(argv,1)+testsuites;
299:    for(e=start;e<sizeof(tests);e++)    {   #ifdef WATCHDOG -  if(time() - watchdog_time > 30) +  if(use_watchdog && time() - watchdog_time > 30)    {    watchdog_time=time();   // werror("{WATCHDOG} Ping!\n");
625:    werror("Total tests: %d (%d tests skipped)\n",successes+errors,skipped);      #ifdef WATCHDOG_SIGNAL +  if(use_watchdog)    watchdog->kill(signum("SIGKILL"));   #endif       return errors;   }