tests: tweak lock file handling and timers

- when server are killed by a test case, do not wait for the server lock
  file to go away. These tests are mostly about client timeouts and the
  server will hang until killed.
- when killing a server successfully, check for a remaining lock file,
  log its existence and remove it.
- lower the delay timings on SLOWDOWN by half
- add SLOWDOWNDATA server command to only slow down the FTP data bytes,
  not the control ones.
- lower some timeout values

Closes #14835
This commit is contained in:
Stefan Eissing 2024-09-09 13:52:44 +02:00 committed by Daniel Stenberg
parent 8ca6030839
commit e70c22b622
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2
10 changed files with 126 additions and 42 deletions

View file

@ -1066,8 +1066,6 @@ sub singletest_clean {
}
}
waitlockunlock($serverlogslocktimeout);
# Test harness ssh server does not have this synchronization mechanism,
# this implies that some ssh server based tests might need a small delay
# once that the client command has run to avoid false test failures.
@ -1085,12 +1083,6 @@ sub singletest_clean {
portable_sleep($postcommanddelay) if($postcommanddelay);
# timestamp removal of server logs advisor read lock
$$testtimings{"timesrvrlog"} = Time::HiRes::time();
# test definition might instruct to stop some servers
# stop also all servers relative to the given one
my @killtestservers = getpart("client", "killserver");
if(@killtestservers) {
foreach my $server (@killtestservers) {
@ -1101,6 +1093,16 @@ sub singletest_clean {
}
}
}
# wait for any servers left running to release their locks
waitlockunlock($serverlogslocktimeout);
# timestamp removal of server logs advisor read lock
$$testtimings{"timesrvrlog"} = Time::HiRes::time();
# test definition might instruct to stop some servers
# stop also all servers relative to the given one
return 0;
}