aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorBrandon Casey <drafnel@gmail.com>2014-08-29 23:48:03 +0200
committerDaniel Stenberg <daniel@haxx.se>2014-09-07 23:23:12 +0200
commit6beb0eeea17cd6cc71cb69737ac63861a8f18d4e (patch)
treea3845f28b7cbf165d5340c045ec71bf0763b0bef /tests
parent8acbb074f8816156c250cd39c9ea53cbba670302 (diff)
Ensure progress.size_dl/progress.size_ul are always >= 0
Historically the default "unknown" value for progress.size_dl and progress.size_ul has been zero, since these values are initialized implicitly by the calloc that allocates the curl handle that these variables are a part of. Users of curl that install progress callbacks may expect these values to always be >= 0. Currently it is possible for progress.size_dl and progress.size_ul to by set to a value of -1, if Curl_pgrsSetDownloadSize() or Curl_pgrsSetUploadSize() are passed a "size" of -1 (which a few places currently do, and a following patch will add more). So lets update Curl_pgrsSetDownloadSize() and Curl_pgrsSetUploadSize() so they make sure that these variables always contain a value that is >= 0. Updates test579 and test599. Signed-off-by: Brandon Casey <drafnel@gmail.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/data/test57911
-rw-r--r--tests/data/test5996
-rw-r--r--tests/libtest/lib599.c12
3 files changed, 21 insertions, 8 deletions
diff --git a/tests/data/test579 b/tests/data/test579
index adbb3dd22..e352e3d60 100644
--- a/tests/data/test579
+++ b/tests/data/test579
@@ -77,12 +77,11 @@ http://%HOSTIP:%HTTPPORT/579 log/ip579
<verify>
<file name="log/ip579">
Progress callback called with UL 0 out of 0
-Progress callback called with UL 0 out of -1
-Progress callback called with UL 8 out of -1
-Progress callback called with UL 16 out of -1
-Progress callback called with UL 26 out of -1
-Progress callback called with UL 61 out of -1
-Progress callback called with UL 66 out of -1
+Progress callback called with UL 8 out of 0
+Progress callback called with UL 16 out of 0
+Progress callback called with UL 26 out of 0
+Progress callback called with UL 61 out of 0
+Progress callback called with UL 66 out of 0
</file>
</verify>
</testcase>
diff --git a/tests/data/test599 b/tests/data/test599
index c57fe5c91..9ce8b234c 100644
--- a/tests/data/test599
+++ b/tests/data/test599
@@ -71,13 +71,15 @@ lib599
HTTP GET with progress callback and redirects changing content sizes
</name>
<command>
-http://%HOSTIP:%HTTPPORT/599
+http://%HOSTIP:%HTTPPORT/599 log/ip599
</command>
</client>
#
# Verify data after the test has been "shot"
<verify>
-
+<file name="log/ip599">
+CL: -1
+</file>
</verify>
</testcase>
diff --git a/tests/libtest/lib599.c b/tests/libtest/lib599.c
index 6b092677a..08c536c72 100644
--- a/tests/libtest/lib599.c
+++ b/tests/libtest/lib599.c
@@ -43,6 +43,7 @@ int test(char *URL)
{
CURL *curl;
CURLcode res=CURLE_OK;
+ double content_length = 0.0;
if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
fprintf(stderr, "curl_global_init() failed\n");
@@ -74,6 +75,17 @@ int test(char *URL)
/* Perform the request, res will get the return code */
res = curl_easy_perform(curl);
+ if (!res) {
+ FILE *moo;
+ res = curl_easy_getinfo(curl, CURLINFO_CONTENT_LENGTH_DOWNLOAD,
+ &content_length);
+ moo = fopen(libtest_arg2, "wb");
+ if (moo) {
+ fprintf(moo, "CL: %.0f\n", content_length);
+ fclose(moo);
+ }
+ }
+
test_cleanup:
/* always cleanup */