diff options
author | Yousuke Kimoto <yousuke.kimoto@gmail.com> | 2014-09-25 16:25:52 +0200 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2014-09-25 16:28:17 +0200 |
commit | b10a838a7add072b88ab87c203361d655caa077b (patch) | |
tree | fe71432db97ab054b9a350ad0f2e10d1bb99b977 /tests/libtest/lib506.c | |
parent | 9ee8efc63bbc6c699f7294b4100dea542ab04444 (diff) |
CURLOPT_COOKIELIST: Added "RELOAD" command
Diffstat (limited to 'tests/libtest/lib506.c')
-rw-r--r-- | tests/libtest/lib506.c | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/tests/libtest/lib506.c b/tests/libtest/lib506.c index 4a3ec5aed..9bb4ff27e 100644 --- a/tests/libtest/lib506.c +++ b/tests/libtest/lib506.c @@ -175,11 +175,13 @@ int test(char *URL) { int res; CURLSHcode scode = CURLSHE_OK; + CURLcode code = CURLE_OK; char *url = NULL; struct Tdata tdata; CURL *curl; CURLSH *share; struct curl_slist *headers = NULL; + struct curl_slist *cookies = NULL; int i; struct userdata user; @@ -296,6 +298,54 @@ int test(char *URL) printf( "PERFORM\n" ); curl_easy_perform( curl ); + printf( "CLEANUP\n" ); + curl_easy_cleanup( curl ); + + /* load cookies */ + if ((curl = curl_easy_init()) == NULL) { + fprintf(stderr, "curl_easy_init() failed\n"); + curl_share_cleanup(share); + curl_global_cleanup(); + return TEST_ERR_MAJOR_BAD; + } + url = suburl( URL, i ); + headers = sethost( NULL ); + test_setopt( curl, CURLOPT_HTTPHEADER, headers ); + test_setopt( curl, CURLOPT_URL, url ); + printf( "CURLOPT_SHARE\n" ); + test_setopt( curl, CURLOPT_SHARE, share ); + printf( "CURLOPT_COOKIELIST ALL\n" ); + test_setopt( curl, CURLOPT_COOKIELIST, "ALL" ); + printf( "CURLOPT_COOKIEJAR\n" ); + test_setopt( curl, CURLOPT_COOKIEFILE, JAR ); + printf( "CURLOPT_COOKIELIST RELOAD\n" ); + test_setopt( curl, CURLOPT_COOKIELIST, "RELOAD" ); + + code = curl_easy_getinfo(curl, CURLINFO_COOKIELIST, &cookies); + if ( code != CURLE_OK ) + { + fprintf(stderr, "curl_easy_getinfo() failed\n"); + curl_share_cleanup(share); + curl_global_cleanup(); + return TEST_ERR_MAJOR_BAD; + } + printf("loaded cookies:\n"); + if ( !cookies ) + { + fprintf(stderr, " reloading cookies from '%s' failed\n", JAR); + curl_share_cleanup(share); + curl_global_cleanup(); + return TEST_ERR_MAJOR_BAD; + } + printf("-----------------\n"); + while ( cookies ) + { + printf( " %s\n", cookies->data ); + cookies = cookies->next; + } + printf("-----------------\n"); + curl_slist_free_all( cookies ); + /* try to free share, expect to fail because share is in use*/ printf( "try SHARE_CLEANUP...\n" ); scode = curl_share_cleanup( share ); |