diff options
author | Daniel Stenberg <daniel@haxx.se> | 2012-08-31 23:23:40 +0200 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2012-08-31 23:23:40 +0200 |
commit | 7735141e73a56810daf4b0727fb932f69386ce45 (patch) | |
tree | 8b1e439c70a074f9989f6e3f3a3df92228693280 | |
parent | 5ede86ae51b8f71be35152584815f80dbd5a327a (diff) |
test2032: bail out after last transfer
The test would hang and get aborted with a "ABORTING TEST, since it
seems that it would have run forever." until I prevented that from
happening.
I also fixed the data file which got broken CRLF line endings when I
sucked down the path from Joe's repo == my fault.
Removed #37 from KNOWN_BUGS as this fix and test case verifies exactly
this.
-rw-r--r-- | docs/KNOWN_BUGS | 7 | ||||
-rw-r--r-- | tests/data/test2032 | 40 | ||||
-rw-r--r-- | tests/libtest/libntlmconnect.c | 10 |
3 files changed, 30 insertions, 27 deletions
diff --git a/docs/KNOWN_BUGS b/docs/KNOWN_BUGS index 6e207789c..4601d48da 100644 --- a/docs/KNOWN_BUGS +++ b/docs/KNOWN_BUGS @@ -134,13 +134,6 @@ may have been fixed since this was written! 38. Kumar Swamy Bhatt's problem in ftp/ssl "LIST" operation: http://curl.haxx.se/mail/lib-2007-01/0103.html -37. Having more than one connection to the same host when doing NTLM - authentication (with performs multiple "passes" and authenticates a - connection rather than a HTTP request), and particularly when using the - multi interface, there's a risk that libcurl will re-use a wrong connection - when doing the different passes in the NTLM negotiation and thus fail to - negotiate (in seemingly mysterious ways). - 35. Both SOCKS5 and SOCKS4 proxy connections are done blocking, which is very bad when used with the multi interface. diff --git a/tests/data/test2032 b/tests/data/test2032 index 4e1f230d9..5a9e4a2fd 100644 --- a/tests/data/test2032 +++ b/tests/data/test2032 @@ -118,26 +118,26 @@ chkhostname curlhost ^User-Agent:.* </strip> <protocol> -GET /20320100 HTTP/1.1 -Authorization: Basic dGVzdHVzZXI6dGVzdHBhc3M= -Host: 127.0.0.1:8990 -Accept: */* - -GET /20320100 HTTP/1.1 -Authorization: Basic dGVzdHVzZXI6dGVzdHBhc3M= -Host: 127.0.0.1:8990 -Accept: */* - -GET /20320200 HTTP/1.1 -Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= -Host: 127.0.0.1:8990 -Accept: */* - -GET /20320200 HTTP/1.1 -Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAABoIBAI+/Fp9IERAQ74OsdNPbBpg7o8CVwLSO4DtFyIcZHUMKVktWIu92s2892OVpd2JzqnRlc3R1c2VyY3VybGhvc3Q= -Host: 127.0.0.1:8990 -Accept: */* - +GET /20320100 HTTP/1.1
+Authorization: Basic dGVzdHVzZXI6dGVzdHBhc3M=
+Host: 127.0.0.1:8990
+Accept: */*
+
+GET /20320100 HTTP/1.1
+Authorization: Basic dGVzdHVzZXI6dGVzdHBhc3M=
+Host: 127.0.0.1:8990
+Accept: */*
+
+GET /20320200 HTTP/1.1
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+Host: 127.0.0.1:8990
+Accept: */*
+
+GET /20320200 HTTP/1.1
+Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAABoIBAI+/Fp9IERAQ74OsdNPbBpg7o8CVwLSO4DtFyIcZHUMKVktWIu92s2892OVpd2JzqnRlc3R1c2VyY3VybGhvc3Q=
+Host: 127.0.0.1:8990
+Accept: */*
+
</protocol> </verify> </testcase> diff --git a/tests/libtest/libntlmconnect.c b/tests/libtest/libntlmconnect.c index 8486f3c31..0ef8fc03f 100644 --- a/tests/libtest/libntlmconnect.c +++ b/tests/libtest/libntlmconnect.c @@ -207,6 +207,9 @@ int test(char *url) /* At this point, timeout is guaranteed to be greater or equal than -1. */ + fprintf(stderr, "%s:%d num_handles %d timeout %ld\n", + __FILE__, __LINE__, num_handles, timeout); + if(timeout != -1L) { interval.tv_sec = timeout/1000; interval.tv_usec = (timeout%1000)*1000; @@ -214,6 +217,13 @@ int test(char *url) else { interval.tv_sec = TEST_HANG_TIMEOUT/1000+1; interval.tv_usec = 0; + + /* if there's no timeout and we get here on the last handle, we may + already have read the last part of the stream so waiting makes no + sense */ + if(num_handles == 3) { + break; + } } select_test(maxfd+1, &fdread, &fdwrite, &fdexcep, &interval); |