summaryrefslogtreecommitdiff
path: root/tests/ftp.pm
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2005-04-28 21:04:08 +0000
committerDaniel Stenberg <daniel@haxx.se>2005-04-28 21:04:08 +0000
commit913c370c2504fca720bc3b32bd7cd373499c31e0 (patch)
tree7b5945a00203acbcd21177d29b8e88ae11c697b9 /tests/ftp.pm
parente5472bbd2177b1f95917199284d311a633eda35c (diff)
downloadcurl-913c370c2504fca720bc3b32bd7cd373499c31e0.tar.gz
moved in functions from runtests.pl to enable the ftpserver to use the
killslaves function
Diffstat (limited to 'tests/ftp.pm')
-rw-r--r--tests/ftp.pm36
1 files changed, 35 insertions, 1 deletions
diff --git a/tests/ftp.pm b/tests/ftp.pm
index 078dc61f2..25d7df745 100644
--- a/tests/ftp.pm
+++ b/tests/ftp.pm
@@ -1,4 +1,38 @@
-# make sure no leftovers are still running
+#######################################################################
+# Return the pid of the server as found in the given pid file
+#
+sub serverpid {
+ my $PIDFILE = $_[0];
+ open(PFILE, "<$PIDFILE");
+ my $PID=0+<PFILE>;
+ close(PFILE);
+ return $PID;
+}
+
+#######################################################################
+# Check the given test server if it is still alive.
+#
+sub checkserver {
+ my ($pidfile)=@_;
+ my $pid=0;
+
+ # check for pidfile
+ if ( -f $pidfile ) {
+ $pid=serverpid($pidfile);
+ if ($pid ne "" && kill(0, $pid)) {
+ return $pid;
+ }
+ else {
+ return -$pid; # negative means dead process
+ }
+ }
+ return 0;
+}
+
+#############################################################################
+# Make sure no FTP leftovers are still running. Kill all slave processes.
+# This uses pidfiles since it might be used by other processes.
+#
sub ftpkillslaves {
my ($versbose) = @_;
for $ext (("", "ipv6")) {