2000-03-07
2000-03-07 08:15:03 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>
-
d3027a30a73315cd901a935e0ffcb8fe82eaefa0
(45 lines)
(+31/-14)
[
Show
| Annotate
]
Branch: 7.9
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;
}