cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: test1112 fails on a slow machine

From: Yang Tse <yangsita_at_gmail.com>
Date: Thu, 25 Feb 2010 02:09:31 +0100

2010/2/24, Kamil Dudka wrote:

> we were facing problems with the test1112. There is a hard-wired timeout
> inside, causing the test-case to fail on slower machines. It has been
> preventing Fedora ppc/pcc64 buildhosts from successful build of curl
> packages. So that I am disabling the test-case in Fedora packages now, not
> sure if there exists and easy and generic enough fix for this...
>
> originally reported at https://bugzilla.redhat.com/565305

From that bug report it seems that in order to make that test pass on
the build machine it was necessary to apply the patch that I'm copying
below...

diff --git a/tests/data/test1112 b/tests/data/test1112
index 9307d93..a4ff265 100644
--- a/tests/data/test1112
+++ b/tests/data/test1112
@@ -89,7 +89,7 @@ ftps
 FTPS download with strict timeout and slow data transfer
  </name>
  <command timeout="1">
--k --ftp-ssl-control ftps://%HOSTIP:%FTPSPORT/1112 -m 7
+-k --ftp-ssl-control ftps://%HOSTIP:%FTPSPORT/1112 -m 16
 </command>
 </client>

It is normal that if the test machine is very slow or very busy it
would become necessary to add an additional second or maybe a couple
of them to current 7 seconds timeout in the 1112 test definition.

Part of the timeout specification in this test includes time that will
be spent performing SSL handshake. In order to make the test succeed
the SSL handshake must have completed before the whole timeout is
reached, otherwise the test will fail.

This means that on very slow or very busy machines it might be
necessary to add an additional second, or maybe two, to current 7
seconds default timeout in test case 1112 to make it succeed.

Current 7 seconds default was the smallest value that allowed this
test to pass on all of libcurl's daily builds. There is no more magic
behind this value.

If increasing it to 8 or 9 makes it also pass on RedHat's build farm I
see no problem in making the required value the new default for test
case 1112.

OTOH, if the test does not pass until a 16 second timeout is specified
then something fishy, most probably related with the SSL handshake, is
going on and should probably be further investigated.

Could you verify which is the minimum timeout that makes the test pass
on that busy system?

-- 
-=[Yang]=-
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette:  http://curl.haxx.se/mail/etiquette.html
Received on 2010-02-25