From d3027a30a73315cd901a935e0ffcb8fe82eaefa0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20H=C3=BCbinette=20=28Hubbe=29?= <hubbe@hubbe.net> Date: Tue, 7 Mar 2000 00:15:03 -0800 Subject: [PATCH] no watchdog when running testsuite in GDB Rev: bin/test_pike.pike:1.37 Rev: src/Makefile.in:1.180 --- bin/test_pike.pike | 44 ++++++++++++++++++++++++++++++-------------- src/Makefile.in | 4 ++-- 2 files changed, 32 insertions(+), 16 deletions(-) diff --git a/bin/test_pike.pike b/bin/test_pike.pike index 5da02d956d..43d76fc72e 100755 --- a/bin/test_pike.pike +++ b/bin/test_pike.pike @@ -1,6 +1,6 @@ #!/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,10 +73,13 @@ array find_testsuites(string dir) 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,6 +87,11 @@ array find_testsuites(string dir) #endif #endif + +#ifdef WATCHDOG +int use_watchdog=1; +#endif + int main(int argc, string *argv) { int e, verbose, successes, errors, t, check; @@ -112,6 +120,7 @@ int main(int argc, string *argv) 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,6 +140,10 @@ int main(int argc, string *argv) { switch(opt[0]) { + case "no-watchdog": + use_watchdog=0; + break; + case "watchdog": #ifdef WATCHDOG int cnt=0; @@ -252,20 +265,22 @@ int main(int argc, string *argv) #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( - backtrace()[0][3] + ({ "--watchdog="+getpid() }), - (["stdin":watchdog_tmp ])); - destruct(watchdog_tmp); + object watchdog_tmp=Stdio.File(); + 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( - backtrace()[0][3] + ({ "--watchdog="+getpid() }) ); + watchdog=Process.create_process( + backtrace()[0][3] + ({ "--watchdog="+getpid() }) ); #endif - + } #endif argv=Getopt.get_args(argv,1)+testsuites; @@ -299,7 +314,7 @@ int main(int argc, string *argv) 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,7 +640,8 @@ int main(int argc, string *argv) werror("Total tests: %d (%d tests skipped)\n",successes+errors,skipped); #ifdef WATCHDOG_SIGNAL - watchdog->kill(signum("SIGKILL")); + if(use_watchdog) + watchdog->kill(signum("SIGKILL")); #endif return errors; diff --git a/src/Makefile.in b/src/Makefile.in index 9b03edf9de..bc02700e86 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -1,5 +1,5 @@ # -# $Id: Makefile.in,v 1.179 2000/02/26 03:08:49 hubbe Exp $ +# $Id: Makefile.in,v 1.180 2000/03/07 08:15:03 hubbe Exp $ # # This line is needed on some machines. @@ -370,7 +370,7 @@ gdb_verify: module_testsuites testsuite master.pike @echo >>.gdbinit handle SIGUSR2 nostop noprint pass @echo >>.gdbinit handle SIGLWP nostop noprint pass @echo >>.gdbinit break debug_fatal - @echo >>.gdbinit run -m$(TMP_BUILDDIR)/master.pike $(PIKEOPTS) $(TMP_BINDIR)/test_pike.pike -v -v -f $(TESTARGS) + @echo >>.gdbinit run -m$(TMP_BUILDDIR)/master.pike $(PIKEOPTS) $(TMP_BINDIR)/test_pike.pike --no-watchdog -v -v -f $(TESTARGS) gdb ./pike @rm .gdbinit -- GitLab