in reply to How can I write Test::Finished?
You can do the test in a child process. Then you will have SIGCHLD to tell you when the child goes away. Since you may need a pipe to return the result of the test code, you can also have SIGPIPE to play with. If you set a timeout with alarm, you can check that the child is still running with kill 0, $cpid.
That ought to make a pretty flexible bag of tricks for testing really suspect code. Mostly useful on POSIX systems.
I'm not sure how useful the system exit status will be, but it can be collected by the signal handlers. Somebody who would exit from a module method is likely as not to exit(0).
After Compline,
Zaxo
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: How can I write Test::Finished?
by samtregar (Abbot) on Jun 21, 2004 at 19:11 UTC | |
by merlyn (Sage) on Jun 21, 2004 at 19:25 UTC | |
by tye (Sage) on Jun 21, 2004 at 20:02 UTC | |
by adrianh (Chancellor) on Jun 21, 2004 at 21:40 UTC | |
by Zaxo (Archbishop) on Jun 21, 2004 at 19:26 UTC |