Skip to content
Snippets Groups Projects
Commit 7291772b authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

added test case 513

parent 8e287210
No related branches found
No related tags found
No related merge requests found
......@@ -24,7 +24,8 @@ EXTRA_DIST = test1 test108 test117 test127 test20 test27 test34 test46 \
test150 test151 test152 test153 test154 test155 test156 test157 \
test158 test159 test511 test160 test161 test162 test163 test164 \
test512 test165 test166 test167 test168 test169 test170 test171 \
test172 test204 test205 test173 test174 test175 test176 test177
test172 test204 test205 test173 test174 test175 test176 test177 \
test513
# The following tests have been removed from the dist since they no longer
# work. We need to fix the test suite's FTPS server first, then bring them
......
#
# Server-side
<reply>
</reply>
# Client-side
<client>
<server>
http
</server>
# tool is what to use instead of 'curl'
<tool>
lib513
</tool>
<name>
send HTTP POST using read callback that returns CURL_READFUNC_ABORT
</name>
<command>
http://%HOSTIP:%HOSTPORT/513
</command>
</client>
#
# Verify data after the test has been "shot"
<verify>
<protocol>
POST /513 HTTP/1.1
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
Content-Length: 1
Content-Type: application/x-www-form-urlencoded
</protocol>
# 42 - aborted by callback
<errorcode>
42
</errorcode>
</verify>
......@@ -39,7 +39,7 @@ SUPPORTFILES = first.c test.h
# These are all libcurl test programs
noinst_PROGRAMS = lib500 lib501 lib502 lib503 lib504 lib505 lib506 lib507 \
lib508 lib509 lib510 lib511 lib512
lib508 lib509 lib510 lib511 lib512 lib513
lib500_SOURCES = lib500.c $(SUPPORTFILES)
lib500_LDADD = $(LIBDIR)/libcurl.la
......@@ -92,3 +92,7 @@ lib511_DEPENDENCIES = $(LIBDIR)/libcurl.la
lib512_SOURCES = lib512.c $(SUPPORTFILES)
lib512_LDADD = $(LIBDIR)/libcurl.la
lib512_DEPENDENCIES = $(LIBDIR)/libcurl.la
lib513_SOURCES = lib513.c $(SUPPORTFILES)
lib513_LDADD = $(LIBDIR)/libcurl.la
lib513_DEPENDENCIES = $(LIBDIR)/libcurl.la
#include "test.h"
static size_t read_callback(void *ptr, size_t size, size_t nmemb, void *userp)
{
(void)ptr;
(void)size;
(void)nmemb;
(void)userp;
return CURL_READFUNC_ABORT;
}
int test(char *URL)
{
CURL *curl;
CURLcode res=CURLE_OK;
curl = curl_easy_init();
if(curl) {
/* First set the URL that is about to receive our POST. */
curl_easy_setopt(curl, CURLOPT_URL, URL);
/* Now specify we want to POST data */
curl_easy_setopt(curl, CURLOPT_POST, TRUE);
/* Set the expected POST size */
curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, 1);
/* we want to use our own read function */
curl_easy_setopt(curl, CURLOPT_READFUNCTION, read_callback);
/* pointer to pass to our read function */
curl_easy_setopt(curl, CURLOPT_INFILE, NULL);
/* get verbose debug output please */
curl_easy_setopt(curl, CURLOPT_VERBOSE, 1);
/* include headers in the output */
curl_easy_setopt(curl, CURLOPT_HEADER, TRUE);
/* Perform the request, res will get the return code */
res = curl_easy_perform(curl);
/* always cleanup */
curl_easy_cleanup(curl);
}
return (int)res;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment