gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] [gnurl] 48/208: lib1521: add curl_easy_getinfo calls to the


From: gnunet
Subject: [GNUnet-SVN] [gnurl] 48/208: lib1521: add curl_easy_getinfo calls to the test set
Date: Wed, 09 Aug 2017 17:34:05 +0200

This is an automated email from the git hooks/post-receive script.

ng0 pushed a commit to annotated tag gnurl-7.55.0
in repository gnurl.

commit 0bd12d19708208d29308d8df6196f55a7e3f85e5
Author: Daniel Stenberg <address@hidden>
AuthorDate: Mon Jun 19 09:29:41 2017 +0200

    lib1521: add curl_easy_getinfo calls to the test set
    
    Also added return value checks to make sure no unexpected return codes
    are used.
---
 tests/data/test1521         |    2 +-
 tests/libtest/lib1521.c     | 3073 +++++++++++++++++++++++++++++++++----------
 tests/libtest/mk-lib1521.pl |  129 +-
 3 files changed, 2454 insertions(+), 750 deletions(-)

diff --git a/tests/data/test1521 b/tests/data/test1521
index 268c0695c..791a50dc8 100644
--- a/tests/data/test1521
+++ b/tests/data/test1521
@@ -16,7 +16,7 @@ lib1521
 </tool>
 
  <name>
-try ALL curl_easy_setopt options
+Test all curl_easy_setopt and curl_easy_getinfo options
  </name>
  <command>
 unused
diff --git a/tests/libtest/lib1521.c b/tests/libtest/lib1521.c
index 186013ac6..de68e7a74 100644
--- a/tests/libtest/lib1521.c
+++ b/tests/libtest/lib1521.c
@@ -36,6 +36,20 @@ struct data {
 #define OFF_HI (curl_off_t) HI
 #define OFF_NO (curl_off_t) 0
 
+/* Unexpected error.
+    CURLE_NOT_BUILT_IN   - means disabled at build
+    CURLE_UNKNOWN_OPTION - means no such option (anymore?)
+    CURLE_SSL_ENGINE_NOTFOUND - set unkown ssl engine
+    CURLE_UNSUPPORTED_PROTOCOL - set bad HTTP version
+    CURLE_BAD_FUNCTION_ARGUMENT - unsupported value
+   */
+#define UNEX(x) ((x) && \
+                 ((x) != CURLE_NOT_BUILT_IN) && \
+                 ((x) != CURLE_UNKNOWN_OPTION) && \
+                 ((x) != CURLE_SSL_ENGINE_NOTFOUND) && \
+                 ((x) != CURLE_UNSUPPORTED_PROTOCOL) && \
+                 ((x) != CURLE_BAD_FUNCTION_ARGUMENT) )
+
 static size_t writecb(char *buffer, size_t size, size_t nitems,
                       void *outstream)
 {
@@ -58,6 +72,20 @@ static size_t readcb(char *buffer,
   return 0;
 }
 
+static int err(const char *name, CURLcode val, int lineno)
+{
+  printf("CURLOPT_%s returned %d, \"%s\" on line %d\n",
+         name, val, curl_easy_strerror(val), lineno);
+  return (int)val;
+}
+
+static int geterr(const char *name, CURLcode val, int lineno)
+{
+  printf("CURLINFO_%s returned %d, \"%s\" on line %d\n",
+         name, val, curl_easy_strerror(val), lineno);
+  return (int)val;
+}
+
 curl_progress_callback progresscb;
 curl_write_callback headercb;
 curl_debug_callback debugcb;
@@ -75,7 +103,6 @@ curl_xferinfo_callback xferinfocb;
 
 int test(char *URL)
 {
-  int res = 0;
   CURL *curl = NULL;
   CURL *dep = NULL;
   CURLSH *share = NULL;
@@ -89,6 +116,13 @@ int test(char *URL)
   struct curl_httppost *httppost=NULL;
   FILE *stream = stderr;
   struct data object;
+  char *charp;
+  long val;
+  double dval;
+  curl_socket_t sockfd;
+  struct curl_certinfo *certinfo;
+  struct curl_tlssessioninfo *tlssession;
+  CURLcode res = CURLE_OK;
   (void)URL; /* not used */
   easy_init(dep);
   easy_init(curl);
@@ -98,752 +132,2345 @@ int test(char *URL)
     goto test_cleanup;
   }
 
-  (void)curl_easy_setopt(curl, CURLOPT_WRITEDATA, &object);
-  (void)curl_easy_setopt(curl, CURLOPT_WRITEDATA, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_URL, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_URL, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_PORT, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_PORT, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_PORT, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_PORT, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_USERPWD, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_USERPWD, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXYUSERPWD, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_PROXYUSERPWD, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_RANGE, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_RANGE, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_READDATA, &object);
-  (void)curl_easy_setopt(curl, CURLOPT_READDATA, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, errorbuffer);
-  (void)curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION,
+  res = curl_easy_setopt(curl, CURLOPT_WRITEDATA, &object);
+  if(UNEX(res)) {
+    err("WRITEDATA", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_WRITEDATA, NULL);
+  if(UNEX(res)) {
+    err("WRITEDATA", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_URL, "string");
+  if(UNEX(res)) {
+    err("URL", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_URL, NULL);
+  if(UNEX(res)) {
+    err("URL", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PORT, 0L);
+  if(UNEX(res)) {
+    err("PORT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PORT, 22L);
+  if(UNEX(res)) {
+    err("PORT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PORT, LO);
+  if(UNEX(res)) {
+    err("PORT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PORT, HI);
+  if(UNEX(res)) {
+    err("PORT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY, "string");
+  if(UNEX(res)) {
+    err("PROXY", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY, NULL);
+  if(UNEX(res)) {
+    err("PROXY", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_USERPWD, "string");
+  if(UNEX(res)) {
+    err("USERPWD", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_USERPWD, NULL);
+  if(UNEX(res)) {
+    err("USERPWD", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXYUSERPWD, "string");
+  if(UNEX(res)) {
+    err("PROXYUSERPWD", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXYUSERPWD, NULL);
+  if(UNEX(res)) {
+    err("PROXYUSERPWD", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_RANGE, "string");
+  if(UNEX(res)) {
+    err("RANGE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_RANGE, NULL);
+  if(UNEX(res)) {
+    err("RANGE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_READDATA, &object);
+  if(UNEX(res)) {
+    err("READDATA", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_READDATA, NULL);
+  if(UNEX(res)) {
+    err("READDATA", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, errorbuffer);
+  if(UNEX(res)) {
+    err("ERRORBUFFER", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, NULL);
+  if(UNEX(res)) {
+    err("ERRORBUFFER", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION,
                          writecb);
-  (void)curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_READFUNCTION,
+  if(UNEX(res)) {
+    err("WRITEFUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, NULL);
+  if(UNEX(res)) {
+    err("WRITEFUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_READFUNCTION,
                          readcb);
-  (void)curl_easy_setopt(curl, CURLOPT_READFUNCTION, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_TIMEOUT, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_TIMEOUT, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_TIMEOUT, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_TIMEOUT, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_INFILESIZE, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_INFILESIZE, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_INFILESIZE, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_INFILESIZE, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_POSTFIELDS, stringpointerextra);
-  (void)curl_easy_setopt(curl, CURLOPT_POSTFIELDS, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_REFERER, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_REFERER, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_FTPPORT, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_FTPPORT, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_USERAGENT, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_USERAGENT, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_LOW_SPEED_LIMIT, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_LOW_SPEED_LIMIT, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_LOW_SPEED_LIMIT, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_LOW_SPEED_LIMIT, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_LOW_SPEED_TIME, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_LOW_SPEED_TIME, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_LOW_SPEED_TIME, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_LOW_SPEED_TIME, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_RESUME_FROM, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_RESUME_FROM, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_RESUME_FROM, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_RESUME_FROM, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_COOKIE, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_COOKIE, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_HTTPHEADER, slist);
-  (void)curl_easy_setopt(curl, CURLOPT_HTTPHEADER, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_HTTPPOST, httppost);
-  (void)curl_easy_setopt(curl, CURLOPT_HTTPPOST, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_SSLCERT, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_SSLCERT, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_KEYPASSWD, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_KEYPASSWD, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_CRLF, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_CRLF, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_CRLF, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_CRLF, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_QUOTE, slist);
-  (void)curl_easy_setopt(curl, CURLOPT_QUOTE, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_HEADERDATA, &object);
-  (void)curl_easy_setopt(curl, CURLOPT_HEADERDATA, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_COOKIEFILE, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_COOKIEFILE, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_SSLVERSION, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_SSLVERSION, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_SSLVERSION, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_SSLVERSION, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_TIMECONDITION, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_TIMECONDITION, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_TIMECONDITION, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_TIMECONDITION, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_TIMEVALUE, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_TIMEVALUE, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_TIMEVALUE, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_TIMEVALUE, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_STDERR, stream);
-  (void)curl_easy_setopt(curl, CURLOPT_STDERR, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_POSTQUOTE, slist);
-  (void)curl_easy_setopt(curl, CURLOPT_POSTQUOTE, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_OBSOLETE40, &object);
-  (void)curl_easy_setopt(curl, CURLOPT_OBSOLETE40, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_VERBOSE, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_VERBOSE, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_VERBOSE, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_VERBOSE, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_HEADER, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_HEADER, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_HEADER, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_HEADER, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_NOPROGRESS, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_NOPROGRESS, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_NOBODY, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_NOBODY, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_NOBODY, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_NOBODY, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_FAILONERROR, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_FAILONERROR, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_FAILONERROR, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_FAILONERROR, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_UPLOAD, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_UPLOAD, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_UPLOAD, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_UPLOAD, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_POST, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_POST, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_POST, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_POST, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_DIRLISTONLY, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_DIRLISTONLY, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_DIRLISTONLY, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_DIRLISTONLY, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_APPEND, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_APPEND, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_APPEND, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_APPEND, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_NETRC, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_NETRC, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_NETRC, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_NETRC, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_TRANSFERTEXT, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_TRANSFERTEXT, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_TRANSFERTEXT, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_TRANSFERTEXT, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_PUT, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_PUT, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_PUT, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_PUT, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_PROGRESSFUNCTION,
+  if(UNEX(res)) {
+    err("READFUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_READFUNCTION, NULL);
+  if(UNEX(res)) {
+    err("READFUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TIMEOUT, 0L);
+  if(UNEX(res)) {
+    err("TIMEOUT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TIMEOUT, 22L);
+  if(UNEX(res)) {
+    err("TIMEOUT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TIMEOUT, LO);
+  if(UNEX(res)) {
+    err("TIMEOUT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TIMEOUT, HI);
+  if(UNEX(res)) {
+    err("TIMEOUT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_INFILESIZE, 0L);
+  if(UNEX(res)) {
+    err("INFILESIZE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_INFILESIZE, 22L);
+  if(UNEX(res)) {
+    err("INFILESIZE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_INFILESIZE, LO);
+  if(UNEX(res)) {
+    err("INFILESIZE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_INFILESIZE, HI);
+  if(UNEX(res)) {
+    err("INFILESIZE", res, __LINE__); goto test_cleanup; }
+  (void)curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, 0);
+  res = curl_easy_setopt(curl, CURLOPT_POSTFIELDS, stringpointerextra);
+  if(UNEX(res)) {
+    err("POSTFIELDS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_POSTFIELDS, NULL);
+  if(UNEX(res)) {
+    err("POSTFIELDS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_REFERER, "string");
+  if(UNEX(res)) {
+    err("REFERER", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_REFERER, NULL);
+  if(UNEX(res)) {
+    err("REFERER", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTPPORT, "string");
+  if(UNEX(res)) {
+    err("FTPPORT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTPPORT, NULL);
+  if(UNEX(res)) {
+    err("FTPPORT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_USERAGENT, "string");
+  if(UNEX(res)) {
+    err("USERAGENT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_USERAGENT, NULL);
+  if(UNEX(res)) {
+    err("USERAGENT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_LOW_SPEED_LIMIT, 0L);
+  if(UNEX(res)) {
+    err("LOW_SPEED_LIMIT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_LOW_SPEED_LIMIT, 22L);
+  if(UNEX(res)) {
+    err("LOW_SPEED_LIMIT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_LOW_SPEED_LIMIT, LO);
+  if(UNEX(res)) {
+    err("LOW_SPEED_LIMIT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_LOW_SPEED_LIMIT, HI);
+  if(UNEX(res)) {
+    err("LOW_SPEED_LIMIT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_LOW_SPEED_TIME, 0L);
+  if(UNEX(res)) {
+    err("LOW_SPEED_TIME", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_LOW_SPEED_TIME, 22L);
+  if(UNEX(res)) {
+    err("LOW_SPEED_TIME", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_LOW_SPEED_TIME, LO);
+  if(UNEX(res)) {
+    err("LOW_SPEED_TIME", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_LOW_SPEED_TIME, HI);
+  if(UNEX(res)) {
+    err("LOW_SPEED_TIME", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_RESUME_FROM, 0L);
+  if(UNEX(res)) {
+    err("RESUME_FROM", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_RESUME_FROM, 22L);
+  if(UNEX(res)) {
+    err("RESUME_FROM", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_RESUME_FROM, LO);
+  if(UNEX(res)) {
+    err("RESUME_FROM", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_RESUME_FROM, HI);
+  if(UNEX(res)) {
+    err("RESUME_FROM", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_COOKIE, "string");
+  if(UNEX(res)) {
+    err("COOKIE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_COOKIE, NULL);
+  if(UNEX(res)) {
+    err("COOKIE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HTTPHEADER, slist);
+  if(UNEX(res)) {
+    err("HTTPHEADER", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HTTPHEADER, NULL);
+  if(UNEX(res)) {
+    err("HTTPHEADER", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HTTPPOST, httppost);
+  if(UNEX(res)) {
+    err("HTTPPOST", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HTTPPOST, NULL);
+  if(UNEX(res)) {
+    err("HTTPPOST", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSLCERT, "string");
+  if(UNEX(res)) {
+    err("SSLCERT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSLCERT, NULL);
+  if(UNEX(res)) {
+    err("SSLCERT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_KEYPASSWD, "string");
+  if(UNEX(res)) {
+    err("KEYPASSWD", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_KEYPASSWD, NULL);
+  if(UNEX(res)) {
+    err("KEYPASSWD", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CRLF, 0L);
+  if(UNEX(res)) {
+    err("CRLF", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CRLF, 22L);
+  if(UNEX(res)) {
+    err("CRLF", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CRLF, LO);
+  if(UNEX(res)) {
+    err("CRLF", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CRLF, HI);
+  if(UNEX(res)) {
+    err("CRLF", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_QUOTE, slist);
+  if(UNEX(res)) {
+    err("QUOTE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_QUOTE, NULL);
+  if(UNEX(res)) {
+    err("QUOTE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HEADERDATA, &object);
+  if(UNEX(res)) {
+    err("HEADERDATA", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HEADERDATA, NULL);
+  if(UNEX(res)) {
+    err("HEADERDATA", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_COOKIEFILE, "string");
+  if(UNEX(res)) {
+    err("COOKIEFILE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_COOKIEFILE, NULL);
+  if(UNEX(res)) {
+    err("COOKIEFILE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSLVERSION, 0L);
+  if(UNEX(res)) {
+    err("SSLVERSION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSLVERSION, 22L);
+  if(UNEX(res)) {
+    err("SSLVERSION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSLVERSION, LO);
+  if(UNEX(res)) {
+    err("SSLVERSION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSLVERSION, HI);
+  if(UNEX(res)) {
+    err("SSLVERSION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TIMECONDITION, 0L);
+  if(UNEX(res)) {
+    err("TIMECONDITION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TIMECONDITION, 22L);
+  if(UNEX(res)) {
+    err("TIMECONDITION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TIMECONDITION, LO);
+  if(UNEX(res)) {
+    err("TIMECONDITION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TIMECONDITION, HI);
+  if(UNEX(res)) {
+    err("TIMECONDITION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TIMEVALUE, 0L);
+  if(UNEX(res)) {
+    err("TIMEVALUE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TIMEVALUE, 22L);
+  if(UNEX(res)) {
+    err("TIMEVALUE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TIMEVALUE, LO);
+  if(UNEX(res)) {
+    err("TIMEVALUE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TIMEVALUE, HI);
+  if(UNEX(res)) {
+    err("TIMEVALUE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "string");
+  if(UNEX(res)) {
+    err("CUSTOMREQUEST", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, NULL);
+  if(UNEX(res)) {
+    err("CUSTOMREQUEST", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_STDERR, stream);
+  if(UNEX(res)) {
+    err("STDERR", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_STDERR, NULL);
+  if(UNEX(res)) {
+    err("STDERR", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_POSTQUOTE, slist);
+  if(UNEX(res)) {
+    err("POSTQUOTE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_POSTQUOTE, NULL);
+  if(UNEX(res)) {
+    err("POSTQUOTE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_OBSOLETE40, &object);
+  if(UNEX(res)) {
+    err("OBSOLETE40", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_OBSOLETE40, NULL);
+  if(UNEX(res)) {
+    err("OBSOLETE40", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_VERBOSE, 0L);
+  if(UNEX(res)) {
+    err("VERBOSE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_VERBOSE, 22L);
+  if(UNEX(res)) {
+    err("VERBOSE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_VERBOSE, LO);
+  if(UNEX(res)) {
+    err("VERBOSE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_VERBOSE, HI);
+  if(UNEX(res)) {
+    err("VERBOSE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HEADER, 0L);
+  if(UNEX(res)) {
+    err("HEADER", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HEADER, 22L);
+  if(UNEX(res)) {
+    err("HEADER", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HEADER, LO);
+  if(UNEX(res)) {
+    err("HEADER", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HEADER, HI);
+  if(UNEX(res)) {
+    err("HEADER", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 0L);
+  if(UNEX(res)) {
+    err("NOPROGRESS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 22L);
+  if(UNEX(res)) {
+    err("NOPROGRESS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_NOPROGRESS, LO);
+  if(UNEX(res)) {
+    err("NOPROGRESS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_NOPROGRESS, HI);
+  if(UNEX(res)) {
+    err("NOPROGRESS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_NOBODY, 0L);
+  if(UNEX(res)) {
+    err("NOBODY", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_NOBODY, 22L);
+  if(UNEX(res)) {
+    err("NOBODY", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_NOBODY, LO);
+  if(UNEX(res)) {
+    err("NOBODY", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_NOBODY, HI);
+  if(UNEX(res)) {
+    err("NOBODY", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FAILONERROR, 0L);
+  if(UNEX(res)) {
+    err("FAILONERROR", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FAILONERROR, 22L);
+  if(UNEX(res)) {
+    err("FAILONERROR", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FAILONERROR, LO);
+  if(UNEX(res)) {
+    err("FAILONERROR", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FAILONERROR, HI);
+  if(UNEX(res)) {
+    err("FAILONERROR", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_UPLOAD, 0L);
+  if(UNEX(res)) {
+    err("UPLOAD", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_UPLOAD, 22L);
+  if(UNEX(res)) {
+    err("UPLOAD", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_UPLOAD, LO);
+  if(UNEX(res)) {
+    err("UPLOAD", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_UPLOAD, HI);
+  if(UNEX(res)) {
+    err("UPLOAD", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_POST, 0L);
+  if(UNEX(res)) {
+    err("POST", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_POST, 22L);
+  if(UNEX(res)) {
+    err("POST", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_POST, LO);
+  if(UNEX(res)) {
+    err("POST", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_POST, HI);
+  if(UNEX(res)) {
+    err("POST", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_DIRLISTONLY, 0L);
+  if(UNEX(res)) {
+    err("DIRLISTONLY", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_DIRLISTONLY, 22L);
+  if(UNEX(res)) {
+    err("DIRLISTONLY", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_DIRLISTONLY, LO);
+  if(UNEX(res)) {
+    err("DIRLISTONLY", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_DIRLISTONLY, HI);
+  if(UNEX(res)) {
+    err("DIRLISTONLY", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_APPEND, 0L);
+  if(UNEX(res)) {
+    err("APPEND", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_APPEND, 22L);
+  if(UNEX(res)) {
+    err("APPEND", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_APPEND, LO);
+  if(UNEX(res)) {
+    err("APPEND", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_APPEND, HI);
+  if(UNEX(res)) {
+    err("APPEND", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_NETRC, 0L);
+  if(UNEX(res)) {
+    err("NETRC", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_NETRC, 22L);
+  if(UNEX(res)) {
+    err("NETRC", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_NETRC, LO);
+  if(UNEX(res)) {
+    err("NETRC", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_NETRC, HI);
+  if(UNEX(res)) {
+    err("NETRC", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 0L);
+  if(UNEX(res)) {
+    err("FOLLOWLOCATION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 22L);
+  if(UNEX(res)) {
+    err("FOLLOWLOCATION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, LO);
+  if(UNEX(res)) {
+    err("FOLLOWLOCATION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, HI);
+  if(UNEX(res)) {
+    err("FOLLOWLOCATION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TRANSFERTEXT, 0L);
+  if(UNEX(res)) {
+    err("TRANSFERTEXT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TRANSFERTEXT, 22L);
+  if(UNEX(res)) {
+    err("TRANSFERTEXT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TRANSFERTEXT, LO);
+  if(UNEX(res)) {
+    err("TRANSFERTEXT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TRANSFERTEXT, HI);
+  if(UNEX(res)) {
+    err("TRANSFERTEXT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PUT, 0L);
+  if(UNEX(res)) {
+    err("PUT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PUT, 22L);
+  if(UNEX(res)) {
+    err("PUT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PUT, LO);
+  if(UNEX(res)) {
+    err("PUT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PUT, HI);
+  if(UNEX(res)) {
+    err("PUT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROGRESSFUNCTION,
                          progresscb);
-  (void)curl_easy_setopt(curl, CURLOPT_PROGRESSFUNCTION, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_PROGRESSDATA, &object);
-  (void)curl_easy_setopt(curl, CURLOPT_PROGRESSDATA, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_AUTOREFERER, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_AUTOREFERER, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_AUTOREFERER, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_AUTOREFERER, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXYPORT, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXYPORT, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXYPORT, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXYPORT, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_HTTPPROXYTUNNEL, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_HTTPPROXYTUNNEL, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_HTTPPROXYTUNNEL, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_HTTPPROXYTUNNEL, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_INTERFACE, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_INTERFACE, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_KRBLEVEL, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_KRBLEVEL, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_CAINFO, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_CAINFO, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_MAXREDIRS, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_MAXREDIRS, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_MAXREDIRS, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_MAXREDIRS, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_FILETIME, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_FILETIME, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_FILETIME, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_FILETIME, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_TELNETOPTIONS, slist);
-  (void)curl_easy_setopt(curl, CURLOPT_TELNETOPTIONS, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_MAXCONNECTS, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_MAXCONNECTS, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_MAXCONNECTS, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_MAXCONNECTS, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_OBSOLETE72, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_OBSOLETE72, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_OBSOLETE72, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_OBSOLETE72, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_FRESH_CONNECT, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_FRESH_CONNECT, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_FRESH_CONNECT, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_FRESH_CONNECT, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_FORBID_REUSE, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_FORBID_REUSE, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_FORBID_REUSE, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_FORBID_REUSE, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_RANDOM_FILE, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_RANDOM_FILE, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_EGDSOCKET, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_EGDSOCKET, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION,
+  if(UNEX(res)) {
+    err("PROGRESSFUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROGRESSFUNCTION, NULL);
+  if(UNEX(res)) {
+    err("PROGRESSFUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROGRESSDATA, &object);
+  if(UNEX(res)) {
+    err("PROGRESSDATA", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROGRESSDATA, NULL);
+  if(UNEX(res)) {
+    err("PROGRESSDATA", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_AUTOREFERER, 0L);
+  if(UNEX(res)) {
+    err("AUTOREFERER", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_AUTOREFERER, 22L);
+  if(UNEX(res)) {
+    err("AUTOREFERER", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_AUTOREFERER, LO);
+  if(UNEX(res)) {
+    err("AUTOREFERER", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_AUTOREFERER, HI);
+  if(UNEX(res)) {
+    err("AUTOREFERER", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXYPORT, 0L);
+  if(UNEX(res)) {
+    err("PROXYPORT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXYPORT, 22L);
+  if(UNEX(res)) {
+    err("PROXYPORT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXYPORT, LO);
+  if(UNEX(res)) {
+    err("PROXYPORT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXYPORT, HI);
+  if(UNEX(res)) {
+    err("PROXYPORT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, 0L);
+  if(UNEX(res)) {
+    err("POSTFIELDSIZE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, 22L);
+  if(UNEX(res)) {
+    err("POSTFIELDSIZE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, LO);
+  if(UNEX(res)) {
+    err("POSTFIELDSIZE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, HI);
+  if(UNEX(res)) {
+    err("POSTFIELDSIZE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HTTPPROXYTUNNEL, 0L);
+  if(UNEX(res)) {
+    err("HTTPPROXYTUNNEL", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HTTPPROXYTUNNEL, 22L);
+  if(UNEX(res)) {
+    err("HTTPPROXYTUNNEL", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HTTPPROXYTUNNEL, LO);
+  if(UNEX(res)) {
+    err("HTTPPROXYTUNNEL", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HTTPPROXYTUNNEL, HI);
+  if(UNEX(res)) {
+    err("HTTPPROXYTUNNEL", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_INTERFACE, "string");
+  if(UNEX(res)) {
+    err("INTERFACE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_INTERFACE, NULL);
+  if(UNEX(res)) {
+    err("INTERFACE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_KRBLEVEL, "string");
+  if(UNEX(res)) {
+    err("KRBLEVEL", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_KRBLEVEL, NULL);
+  if(UNEX(res)) {
+    err("KRBLEVEL", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
+  if(UNEX(res)) {
+    err("SSL_VERIFYPEER", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 22L);
+  if(UNEX(res)) {
+    err("SSL_VERIFYPEER", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, LO);
+  if(UNEX(res)) {
+    err("SSL_VERIFYPEER", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, HI);
+  if(UNEX(res)) {
+    err("SSL_VERIFYPEER", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CAINFO, "string");
+  if(UNEX(res)) {
+    err("CAINFO", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CAINFO, NULL);
+  if(UNEX(res)) {
+    err("CAINFO", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_MAXREDIRS, 0L);
+  if(UNEX(res)) {
+    err("MAXREDIRS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_MAXREDIRS, 22L);
+  if(UNEX(res)) {
+    err("MAXREDIRS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_MAXREDIRS, LO);
+  if(UNEX(res)) {
+    err("MAXREDIRS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_MAXREDIRS, HI);
+  if(UNEX(res)) {
+    err("MAXREDIRS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FILETIME, 0L);
+  if(UNEX(res)) {
+    err("FILETIME", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FILETIME, 22L);
+  if(UNEX(res)) {
+    err("FILETIME", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FILETIME, LO);
+  if(UNEX(res)) {
+    err("FILETIME", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FILETIME, HI);
+  if(UNEX(res)) {
+    err("FILETIME", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TELNETOPTIONS, slist);
+  if(UNEX(res)) {
+    err("TELNETOPTIONS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TELNETOPTIONS, NULL);
+  if(UNEX(res)) {
+    err("TELNETOPTIONS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_MAXCONNECTS, 0L);
+  if(UNEX(res)) {
+    err("MAXCONNECTS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_MAXCONNECTS, 22L);
+  if(UNEX(res)) {
+    err("MAXCONNECTS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_MAXCONNECTS, LO);
+  if(UNEX(res)) {
+    err("MAXCONNECTS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_MAXCONNECTS, HI);
+  if(UNEX(res)) {
+    err("MAXCONNECTS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_OBSOLETE72, 0L);
+  if(UNEX(res)) {
+    err("OBSOLETE72", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_OBSOLETE72, 22L);
+  if(UNEX(res)) {
+    err("OBSOLETE72", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_OBSOLETE72, LO);
+  if(UNEX(res)) {
+    err("OBSOLETE72", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_OBSOLETE72, HI);
+  if(UNEX(res)) {
+    err("OBSOLETE72", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FRESH_CONNECT, 0L);
+  if(UNEX(res)) {
+    err("FRESH_CONNECT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FRESH_CONNECT, 22L);
+  if(UNEX(res)) {
+    err("FRESH_CONNECT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FRESH_CONNECT, LO);
+  if(UNEX(res)) {
+    err("FRESH_CONNECT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FRESH_CONNECT, HI);
+  if(UNEX(res)) {
+    err("FRESH_CONNECT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FORBID_REUSE, 0L);
+  if(UNEX(res)) {
+    err("FORBID_REUSE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FORBID_REUSE, 22L);
+  if(UNEX(res)) {
+    err("FORBID_REUSE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FORBID_REUSE, LO);
+  if(UNEX(res)) {
+    err("FORBID_REUSE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FORBID_REUSE, HI);
+  if(UNEX(res)) {
+    err("FORBID_REUSE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_RANDOM_FILE, "string");
+  if(UNEX(res)) {
+    err("RANDOM_FILE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_RANDOM_FILE, NULL);
+  if(UNEX(res)) {
+    err("RANDOM_FILE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_EGDSOCKET, "string");
+  if(UNEX(res)) {
+    err("EGDSOCKET", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_EGDSOCKET, NULL);
+  if(UNEX(res)) {
+    err("EGDSOCKET", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, 0L);
+  if(UNEX(res)) {
+    err("CONNECTTIMEOUT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, 22L);
+  if(UNEX(res)) {
+    err("CONNECTTIMEOUT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, LO);
+  if(UNEX(res)) {
+    err("CONNECTTIMEOUT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, HI);
+  if(UNEX(res)) {
+    err("CONNECTTIMEOUT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION,
                          headercb);
-  (void)curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_HTTPGET, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_HTTPGET, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_HTTPGET, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_HTTPGET, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_COOKIEJAR, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_COOKIEJAR, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_SSL_CIPHER_LIST, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_SSL_CIPHER_LIST, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_HTTP_VERSION, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_HTTP_VERSION, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_HTTP_VERSION, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_HTTP_VERSION, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_FTP_USE_EPSV, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_FTP_USE_EPSV, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_FTP_USE_EPSV, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_FTP_USE_EPSV, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_SSLCERTTYPE, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_SSLCERTTYPE, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_SSLKEY, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_SSLKEY, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_SSLKEYTYPE, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_SSLKEYTYPE, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_SSLENGINE, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_SSLENGINE, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_SSLENGINE_DEFAULT, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_SSLENGINE_DEFAULT, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_SSLENGINE_DEFAULT, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_SSLENGINE_DEFAULT, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_DNS_USE_GLOBAL_CACHE, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_DNS_USE_GLOBAL_CACHE, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_DNS_USE_GLOBAL_CACHE, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_DNS_USE_GLOBAL_CACHE, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_DNS_CACHE_TIMEOUT, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_DNS_CACHE_TIMEOUT, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_DNS_CACHE_TIMEOUT, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_DNS_CACHE_TIMEOUT, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_PREQUOTE, slist);
-  (void)curl_easy_setopt(curl, CURLOPT_PREQUOTE, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_DEBUGFUNCTION,
+  if(UNEX(res)) {
+    err("HEADERFUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION, NULL);
+  if(UNEX(res)) {
+    err("HEADERFUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HTTPGET, 0L);
+  if(UNEX(res)) {
+    err("HTTPGET", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HTTPGET, 22L);
+  if(UNEX(res)) {
+    err("HTTPGET", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HTTPGET, LO);
+  if(UNEX(res)) {
+    err("HTTPGET", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HTTPGET, HI);
+  if(UNEX(res)) {
+    err("HTTPGET", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);
+  if(UNEX(res)) {
+    err("SSL_VERIFYHOST", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 22L);
+  if(UNEX(res)) {
+    err("SSL_VERIFYHOST", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, LO);
+  if(UNEX(res)) {
+    err("SSL_VERIFYHOST", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, HI);
+  if(UNEX(res)) {
+    err("SSL_VERIFYHOST", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_COOKIEJAR, "string");
+  if(UNEX(res)) {
+    err("COOKIEJAR", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_COOKIEJAR, NULL);
+  if(UNEX(res)) {
+    err("COOKIEJAR", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSL_CIPHER_LIST, "string");
+  if(UNEX(res)) {
+    err("SSL_CIPHER_LIST", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSL_CIPHER_LIST, NULL);
+  if(UNEX(res)) {
+    err("SSL_CIPHER_LIST", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HTTP_VERSION, 0L);
+  if(UNEX(res)) {
+    err("HTTP_VERSION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HTTP_VERSION, 22L);
+  if(UNEX(res)) {
+    err("HTTP_VERSION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HTTP_VERSION, LO);
+  if(UNEX(res)) {
+    err("HTTP_VERSION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HTTP_VERSION, HI);
+  if(UNEX(res)) {
+    err("HTTP_VERSION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTP_USE_EPSV, 0L);
+  if(UNEX(res)) {
+    err("FTP_USE_EPSV", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTP_USE_EPSV, 22L);
+  if(UNEX(res)) {
+    err("FTP_USE_EPSV", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTP_USE_EPSV, LO);
+  if(UNEX(res)) {
+    err("FTP_USE_EPSV", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTP_USE_EPSV, HI);
+  if(UNEX(res)) {
+    err("FTP_USE_EPSV", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSLCERTTYPE, "string");
+  if(UNEX(res)) {
+    err("SSLCERTTYPE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSLCERTTYPE, NULL);
+  if(UNEX(res)) {
+    err("SSLCERTTYPE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSLKEY, "string");
+  if(UNEX(res)) {
+    err("SSLKEY", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSLKEY, NULL);
+  if(UNEX(res)) {
+    err("SSLKEY", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSLKEYTYPE, "string");
+  if(UNEX(res)) {
+    err("SSLKEYTYPE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSLKEYTYPE, NULL);
+  if(UNEX(res)) {
+    err("SSLKEYTYPE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSLENGINE, "string");
+  if(UNEX(res)) {
+    err("SSLENGINE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSLENGINE, NULL);
+  if(UNEX(res)) {
+    err("SSLENGINE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSLENGINE_DEFAULT, 0L);
+  if(UNEX(res)) {
+    err("SSLENGINE_DEFAULT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSLENGINE_DEFAULT, 22L);
+  if(UNEX(res)) {
+    err("SSLENGINE_DEFAULT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSLENGINE_DEFAULT, LO);
+  if(UNEX(res)) {
+    err("SSLENGINE_DEFAULT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSLENGINE_DEFAULT, HI);
+  if(UNEX(res)) {
+    err("SSLENGINE_DEFAULT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_DNS_USE_GLOBAL_CACHE, 0L);
+  if(UNEX(res)) {
+    err("DNS_USE_GLOBAL_CACHE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_DNS_USE_GLOBAL_CACHE, 22L);
+  if(UNEX(res)) {
+    err("DNS_USE_GLOBAL_CACHE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_DNS_USE_GLOBAL_CACHE, LO);
+  if(UNEX(res)) {
+    err("DNS_USE_GLOBAL_CACHE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_DNS_USE_GLOBAL_CACHE, HI);
+  if(UNEX(res)) {
+    err("DNS_USE_GLOBAL_CACHE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_DNS_CACHE_TIMEOUT, 0L);
+  if(UNEX(res)) {
+    err("DNS_CACHE_TIMEOUT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_DNS_CACHE_TIMEOUT, 22L);
+  if(UNEX(res)) {
+    err("DNS_CACHE_TIMEOUT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_DNS_CACHE_TIMEOUT, LO);
+  if(UNEX(res)) {
+    err("DNS_CACHE_TIMEOUT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_DNS_CACHE_TIMEOUT, HI);
+  if(UNEX(res)) {
+    err("DNS_CACHE_TIMEOUT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PREQUOTE, slist);
+  if(UNEX(res)) {
+    err("PREQUOTE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PREQUOTE, NULL);
+  if(UNEX(res)) {
+    err("PREQUOTE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_DEBUGFUNCTION,
                          debugcb);
-  (void)curl_easy_setopt(curl, CURLOPT_DEBUGFUNCTION, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_DEBUGDATA, &object);
-  (void)curl_easy_setopt(curl, CURLOPT_DEBUGDATA, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_COOKIESESSION, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_COOKIESESSION, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_COOKIESESSION, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_COOKIESESSION, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_CAPATH, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_CAPATH, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_BUFFERSIZE, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_BUFFERSIZE, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_BUFFERSIZE, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_BUFFERSIZE, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_NOSIGNAL, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_NOSIGNAL, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_SHARE, share);
-  (void)curl_easy_setopt(curl, CURLOPT_SHARE, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXYTYPE, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXYTYPE, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXYTYPE, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXYTYPE, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_ACCEPT_ENCODING, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_ACCEPT_ENCODING, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_PRIVATE, &object);
-  (void)curl_easy_setopt(curl, CURLOPT_PRIVATE, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_HTTP200ALIASES, slist);
-  (void)curl_easy_setopt(curl, CURLOPT_HTTP200ALIASES, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_UNRESTRICTED_AUTH, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_UNRESTRICTED_AUTH, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_UNRESTRICTED_AUTH, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_UNRESTRICTED_AUTH, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_FTP_USE_EPRT, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_FTP_USE_EPRT, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_FTP_USE_EPRT, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_FTP_USE_EPRT, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_HTTPAUTH, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_HTTPAUTH, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_HTTPAUTH, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_HTTPAUTH, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_SSL_CTX_FUNCTION,
+  if(UNEX(res)) {
+    err("DEBUGFUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_DEBUGFUNCTION, NULL);
+  if(UNEX(res)) {
+    err("DEBUGFUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_DEBUGDATA, &object);
+  if(UNEX(res)) {
+    err("DEBUGDATA", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_DEBUGDATA, NULL);
+  if(UNEX(res)) {
+    err("DEBUGDATA", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_COOKIESESSION, 0L);
+  if(UNEX(res)) {
+    err("COOKIESESSION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_COOKIESESSION, 22L);
+  if(UNEX(res)) {
+    err("COOKIESESSION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_COOKIESESSION, LO);
+  if(UNEX(res)) {
+    err("COOKIESESSION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_COOKIESESSION, HI);
+  if(UNEX(res)) {
+    err("COOKIESESSION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CAPATH, "string");
+  if(UNEX(res)) {
+    err("CAPATH", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CAPATH, NULL);
+  if(UNEX(res)) {
+    err("CAPATH", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_BUFFERSIZE, 0L);
+  if(UNEX(res)) {
+    err("BUFFERSIZE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_BUFFERSIZE, 22L);
+  if(UNEX(res)) {
+    err("BUFFERSIZE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_BUFFERSIZE, LO);
+  if(UNEX(res)) {
+    err("BUFFERSIZE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_BUFFERSIZE, HI);
+  if(UNEX(res)) {
+    err("BUFFERSIZE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 0L);
+  if(UNEX(res)) {
+    err("NOSIGNAL", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 22L);
+  if(UNEX(res)) {
+    err("NOSIGNAL", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_NOSIGNAL, LO);
+  if(UNEX(res)) {
+    err("NOSIGNAL", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_NOSIGNAL, HI);
+  if(UNEX(res)) {
+    err("NOSIGNAL", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SHARE, share);
+  if(UNEX(res)) {
+    err("SHARE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SHARE, NULL);
+  if(UNEX(res)) {
+    err("SHARE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXYTYPE, 0L);
+  if(UNEX(res)) {
+    err("PROXYTYPE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXYTYPE, 22L);
+  if(UNEX(res)) {
+    err("PROXYTYPE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXYTYPE, LO);
+  if(UNEX(res)) {
+    err("PROXYTYPE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXYTYPE, HI);
+  if(UNEX(res)) {
+    err("PROXYTYPE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_ACCEPT_ENCODING, "string");
+  if(UNEX(res)) {
+    err("ACCEPT_ENCODING", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_ACCEPT_ENCODING, NULL);
+  if(UNEX(res)) {
+    err("ACCEPT_ENCODING", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PRIVATE, &object);
+  if(UNEX(res)) {
+    err("PRIVATE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PRIVATE, NULL);
+  if(UNEX(res)) {
+    err("PRIVATE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HTTP200ALIASES, slist);
+  if(UNEX(res)) {
+    err("HTTP200ALIASES", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HTTP200ALIASES, NULL);
+  if(UNEX(res)) {
+    err("HTTP200ALIASES", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_UNRESTRICTED_AUTH, 0L);
+  if(UNEX(res)) {
+    err("UNRESTRICTED_AUTH", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_UNRESTRICTED_AUTH, 22L);
+  if(UNEX(res)) {
+    err("UNRESTRICTED_AUTH", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_UNRESTRICTED_AUTH, LO);
+  if(UNEX(res)) {
+    err("UNRESTRICTED_AUTH", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_UNRESTRICTED_AUTH, HI);
+  if(UNEX(res)) {
+    err("UNRESTRICTED_AUTH", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTP_USE_EPRT, 0L);
+  if(UNEX(res)) {
+    err("FTP_USE_EPRT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTP_USE_EPRT, 22L);
+  if(UNEX(res)) {
+    err("FTP_USE_EPRT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTP_USE_EPRT, LO);
+  if(UNEX(res)) {
+    err("FTP_USE_EPRT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTP_USE_EPRT, HI);
+  if(UNEX(res)) {
+    err("FTP_USE_EPRT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HTTPAUTH, 0L);
+  if(UNEX(res)) {
+    err("HTTPAUTH", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HTTPAUTH, 22L);
+  if(UNEX(res)) {
+    err("HTTPAUTH", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HTTPAUTH, LO);
+  if(UNEX(res)) {
+    err("HTTPAUTH", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HTTPAUTH, HI);
+  if(UNEX(res)) {
+    err("HTTPAUTH", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSL_CTX_FUNCTION,
                          ssl_ctx_cb);
-  (void)curl_easy_setopt(curl, CURLOPT_SSL_CTX_FUNCTION, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_SSL_CTX_DATA, &object);
-  (void)curl_easy_setopt(curl, CURLOPT_SSL_CTX_DATA, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_FTP_CREATE_MISSING_DIRS, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_FTP_CREATE_MISSING_DIRS, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_FTP_CREATE_MISSING_DIRS, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_FTP_CREATE_MISSING_DIRS, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXYAUTH, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXYAUTH, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXYAUTH, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXYAUTH, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_FTP_RESPONSE_TIMEOUT, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_FTP_RESPONSE_TIMEOUT, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_FTP_RESPONSE_TIMEOUT, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_FTP_RESPONSE_TIMEOUT, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_IPRESOLVE, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_IPRESOLVE, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_IPRESOLVE, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_IPRESOLVE, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_MAXFILESIZE, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_MAXFILESIZE, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_MAXFILESIZE, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_MAXFILESIZE, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_INFILESIZE_LARGE, OFF_NO);
-  (void)curl_easy_setopt(curl, CURLOPT_INFILESIZE_LARGE, OFF_VAL);
-  (void)curl_easy_setopt(curl, CURLOPT_INFILESIZE_LARGE, OFF_LO);
-  (void)curl_easy_setopt(curl, CURLOPT_RESUME_FROM_LARGE, OFF_NO);
-  (void)curl_easy_setopt(curl, CURLOPT_RESUME_FROM_LARGE, OFF_VAL);
-  (void)curl_easy_setopt(curl, CURLOPT_RESUME_FROM_LARGE, OFF_LO);
-  (void)curl_easy_setopt(curl, CURLOPT_MAXFILESIZE_LARGE, OFF_NO);
-  (void)curl_easy_setopt(curl, CURLOPT_MAXFILESIZE_LARGE, OFF_VAL);
-  (void)curl_easy_setopt(curl, CURLOPT_MAXFILESIZE_LARGE, OFF_LO);
-  (void)curl_easy_setopt(curl, CURLOPT_NETRC_FILE, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_NETRC_FILE, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_USE_SSL, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_USE_SSL, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_USE_SSL, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_USE_SSL, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE_LARGE, OFF_NO);
-  (void)curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE_LARGE, OFF_VAL);
-  (void)curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE_LARGE, OFF_LO);
-  (void)curl_easy_setopt(curl, CURLOPT_TCP_NODELAY, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_TCP_NODELAY, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_TCP_NODELAY, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_TCP_NODELAY, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_FTPSSLAUTH, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_FTPSSLAUTH, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_FTPSSLAUTH, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_FTPSSLAUTH, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_IOCTLFUNCTION,
+  if(UNEX(res)) {
+    err("SSL_CTX_FUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSL_CTX_FUNCTION, NULL);
+  if(UNEX(res)) {
+    err("SSL_CTX_FUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSL_CTX_DATA, &object);
+  if(UNEX(res)) {
+    err("SSL_CTX_DATA", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSL_CTX_DATA, NULL);
+  if(UNEX(res)) {
+    err("SSL_CTX_DATA", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTP_CREATE_MISSING_DIRS, 0L);
+  if(UNEX(res)) {
+    err("FTP_CREATE_MISSING_DIRS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTP_CREATE_MISSING_DIRS, 22L);
+  if(UNEX(res)) {
+    err("FTP_CREATE_MISSING_DIRS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTP_CREATE_MISSING_DIRS, LO);
+  if(UNEX(res)) {
+    err("FTP_CREATE_MISSING_DIRS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTP_CREATE_MISSING_DIRS, HI);
+  if(UNEX(res)) {
+    err("FTP_CREATE_MISSING_DIRS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXYAUTH, 0L);
+  if(UNEX(res)) {
+    err("PROXYAUTH", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXYAUTH, 22L);
+  if(UNEX(res)) {
+    err("PROXYAUTH", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXYAUTH, LO);
+  if(UNEX(res)) {
+    err("PROXYAUTH", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXYAUTH, HI);
+  if(UNEX(res)) {
+    err("PROXYAUTH", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTP_RESPONSE_TIMEOUT, 0L);
+  if(UNEX(res)) {
+    err("FTP_RESPONSE_TIMEOUT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTP_RESPONSE_TIMEOUT, 22L);
+  if(UNEX(res)) {
+    err("FTP_RESPONSE_TIMEOUT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTP_RESPONSE_TIMEOUT, LO);
+  if(UNEX(res)) {
+    err("FTP_RESPONSE_TIMEOUT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTP_RESPONSE_TIMEOUT, HI);
+  if(UNEX(res)) {
+    err("FTP_RESPONSE_TIMEOUT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_IPRESOLVE, 0L);
+  if(UNEX(res)) {
+    err("IPRESOLVE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_IPRESOLVE, 22L);
+  if(UNEX(res)) {
+    err("IPRESOLVE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_IPRESOLVE, LO);
+  if(UNEX(res)) {
+    err("IPRESOLVE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_IPRESOLVE, HI);
+  if(UNEX(res)) {
+    err("IPRESOLVE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_MAXFILESIZE, 0L);
+  if(UNEX(res)) {
+    err("MAXFILESIZE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_MAXFILESIZE, 22L);
+  if(UNEX(res)) {
+    err("MAXFILESIZE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_MAXFILESIZE, LO);
+  if(UNEX(res)) {
+    err("MAXFILESIZE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_MAXFILESIZE, HI);
+  if(UNEX(res)) {
+    err("MAXFILESIZE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_INFILESIZE_LARGE, OFF_NO);
+  if(UNEX(res)) {
+    err("INFILESIZE_LARGE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_INFILESIZE_LARGE, OFF_VAL);
+  if(UNEX(res)) {
+    err("INFILESIZE_LARGE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_INFILESIZE_LARGE, OFF_LO);
+  if(UNEX(res)) {
+    err("INFILESIZE_LARGE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_RESUME_FROM_LARGE, OFF_NO);
+  if(UNEX(res)) {
+    err("RESUME_FROM_LARGE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_RESUME_FROM_LARGE, OFF_VAL);
+  if(UNEX(res)) {
+    err("RESUME_FROM_LARGE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_RESUME_FROM_LARGE, OFF_LO);
+  if(UNEX(res)) {
+    err("RESUME_FROM_LARGE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_MAXFILESIZE_LARGE, OFF_NO);
+  if(UNEX(res)) {
+    err("MAXFILESIZE_LARGE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_MAXFILESIZE_LARGE, OFF_VAL);
+  if(UNEX(res)) {
+    err("MAXFILESIZE_LARGE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_MAXFILESIZE_LARGE, OFF_LO);
+  if(UNEX(res)) {
+    err("MAXFILESIZE_LARGE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_NETRC_FILE, "string");
+  if(UNEX(res)) {
+    err("NETRC_FILE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_NETRC_FILE, NULL);
+  if(UNEX(res)) {
+    err("NETRC_FILE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_USE_SSL, 0L);
+  if(UNEX(res)) {
+    err("USE_SSL", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_USE_SSL, 22L);
+  if(UNEX(res)) {
+    err("USE_SSL", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_USE_SSL, LO);
+  if(UNEX(res)) {
+    err("USE_SSL", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_USE_SSL, HI);
+  if(UNEX(res)) {
+    err("USE_SSL", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE_LARGE, OFF_NO);
+  if(UNEX(res)) {
+    err("POSTFIELDSIZE_LARGE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE_LARGE, OFF_VAL);
+  if(UNEX(res)) {
+    err("POSTFIELDSIZE_LARGE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE_LARGE, OFF_LO);
+  if(UNEX(res)) {
+    err("POSTFIELDSIZE_LARGE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TCP_NODELAY, 0L);
+  if(UNEX(res)) {
+    err("TCP_NODELAY", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TCP_NODELAY, 22L);
+  if(UNEX(res)) {
+    err("TCP_NODELAY", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TCP_NODELAY, LO);
+  if(UNEX(res)) {
+    err("TCP_NODELAY", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TCP_NODELAY, HI);
+  if(UNEX(res)) {
+    err("TCP_NODELAY", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTPSSLAUTH, 0L);
+  if(UNEX(res)) {
+    err("FTPSSLAUTH", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTPSSLAUTH, 22L);
+  if(UNEX(res)) {
+    err("FTPSSLAUTH", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTPSSLAUTH, LO);
+  if(UNEX(res)) {
+    err("FTPSSLAUTH", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTPSSLAUTH, HI);
+  if(UNEX(res)) {
+    err("FTPSSLAUTH", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_IOCTLFUNCTION,
                          ioctlcb);
-  (void)curl_easy_setopt(curl, CURLOPT_IOCTLFUNCTION, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_IOCTLDATA, &object);
-  (void)curl_easy_setopt(curl, CURLOPT_IOCTLDATA, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_FTP_ACCOUNT, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_FTP_ACCOUNT, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_COOKIELIST, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_COOKIELIST, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_IGNORE_CONTENT_LENGTH, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_IGNORE_CONTENT_LENGTH, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_IGNORE_CONTENT_LENGTH, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_IGNORE_CONTENT_LENGTH, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_FTP_SKIP_PASV_IP, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_FTP_SKIP_PASV_IP, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_FTP_SKIP_PASV_IP, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_FTP_SKIP_PASV_IP, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_FTP_FILEMETHOD, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_FTP_FILEMETHOD, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_FTP_FILEMETHOD, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_FTP_FILEMETHOD, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_LOCALPORT, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_LOCALPORT, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_LOCALPORT, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_LOCALPORT, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_LOCALPORTRANGE, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_LOCALPORTRANGE, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_LOCALPORTRANGE, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_LOCALPORTRANGE, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_CONNECT_ONLY, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_CONNECT_ONLY, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_CONNECT_ONLY, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_CONNECT_ONLY, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_CONV_FROM_NETWORK_FUNCTION,
+  if(UNEX(res)) {
+    err("IOCTLFUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_IOCTLFUNCTION, NULL);
+  if(UNEX(res)) {
+    err("IOCTLFUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_IOCTLDATA, &object);
+  if(UNEX(res)) {
+    err("IOCTLDATA", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_IOCTLDATA, NULL);
+  if(UNEX(res)) {
+    err("IOCTLDATA", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTP_ACCOUNT, "string");
+  if(UNEX(res)) {
+    err("FTP_ACCOUNT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTP_ACCOUNT, NULL);
+  if(UNEX(res)) {
+    err("FTP_ACCOUNT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_COOKIELIST, "string");
+  if(UNEX(res)) {
+    err("COOKIELIST", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_COOKIELIST, NULL);
+  if(UNEX(res)) {
+    err("COOKIELIST", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_IGNORE_CONTENT_LENGTH, 0L);
+  if(UNEX(res)) {
+    err("IGNORE_CONTENT_LENGTH", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_IGNORE_CONTENT_LENGTH, 22L);
+  if(UNEX(res)) {
+    err("IGNORE_CONTENT_LENGTH", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_IGNORE_CONTENT_LENGTH, LO);
+  if(UNEX(res)) {
+    err("IGNORE_CONTENT_LENGTH", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_IGNORE_CONTENT_LENGTH, HI);
+  if(UNEX(res)) {
+    err("IGNORE_CONTENT_LENGTH", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTP_SKIP_PASV_IP, 0L);
+  if(UNEX(res)) {
+    err("FTP_SKIP_PASV_IP", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTP_SKIP_PASV_IP, 22L);
+  if(UNEX(res)) {
+    err("FTP_SKIP_PASV_IP", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTP_SKIP_PASV_IP, LO);
+  if(UNEX(res)) {
+    err("FTP_SKIP_PASV_IP", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTP_SKIP_PASV_IP, HI);
+  if(UNEX(res)) {
+    err("FTP_SKIP_PASV_IP", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTP_FILEMETHOD, 0L);
+  if(UNEX(res)) {
+    err("FTP_FILEMETHOD", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTP_FILEMETHOD, 22L);
+  if(UNEX(res)) {
+    err("FTP_FILEMETHOD", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTP_FILEMETHOD, LO);
+  if(UNEX(res)) {
+    err("FTP_FILEMETHOD", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTP_FILEMETHOD, HI);
+  if(UNEX(res)) {
+    err("FTP_FILEMETHOD", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_LOCALPORT, 0L);
+  if(UNEX(res)) {
+    err("LOCALPORT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_LOCALPORT, 22L);
+  if(UNEX(res)) {
+    err("LOCALPORT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_LOCALPORT, LO);
+  if(UNEX(res)) {
+    err("LOCALPORT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_LOCALPORT, HI);
+  if(UNEX(res)) {
+    err("LOCALPORT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_LOCALPORTRANGE, 0L);
+  if(UNEX(res)) {
+    err("LOCALPORTRANGE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_LOCALPORTRANGE, 22L);
+  if(UNEX(res)) {
+    err("LOCALPORTRANGE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_LOCALPORTRANGE, LO);
+  if(UNEX(res)) {
+    err("LOCALPORTRANGE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_LOCALPORTRANGE, HI);
+  if(UNEX(res)) {
+    err("LOCALPORTRANGE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CONNECT_ONLY, 0L);
+  if(UNEX(res)) {
+    err("CONNECT_ONLY", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CONNECT_ONLY, 22L);
+  if(UNEX(res)) {
+    err("CONNECT_ONLY", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CONNECT_ONLY, LO);
+  if(UNEX(res)) {
+    err("CONNECT_ONLY", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CONNECT_ONLY, HI);
+  if(UNEX(res)) {
+    err("CONNECT_ONLY", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CONV_FROM_NETWORK_FUNCTION,
                          conv_from_network_cb);
-  (void)curl_easy_setopt(curl, CURLOPT_CONV_FROM_NETWORK_FUNCTION, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_CONV_TO_NETWORK_FUNCTION,
+  if(UNEX(res)) {
+    err("CONV_FROM_NETWORK_FUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CONV_FROM_NETWORK_FUNCTION, NULL);
+  if(UNEX(res)) {
+    err("CONV_FROM_NETWORK_FUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CONV_TO_NETWORK_FUNCTION,
                          conv_to_network_cb);
-  (void)curl_easy_setopt(curl, CURLOPT_CONV_TO_NETWORK_FUNCTION, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_CONV_FROM_UTF8_FUNCTION,
+  if(UNEX(res)) {
+    err("CONV_TO_NETWORK_FUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CONV_TO_NETWORK_FUNCTION, NULL);
+  if(UNEX(res)) {
+    err("CONV_TO_NETWORK_FUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CONV_FROM_UTF8_FUNCTION,
                          conv_from_utf8_cb);
-  (void)curl_easy_setopt(curl, CURLOPT_CONV_FROM_UTF8_FUNCTION, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_MAX_SEND_SPEED_LARGE, OFF_NO);
-  (void)curl_easy_setopt(curl, CURLOPT_MAX_SEND_SPEED_LARGE, OFF_VAL);
-  (void)curl_easy_setopt(curl, CURLOPT_MAX_SEND_SPEED_LARGE, OFF_LO);
-  (void)curl_easy_setopt(curl, CURLOPT_MAX_RECV_SPEED_LARGE, OFF_NO);
-  (void)curl_easy_setopt(curl, CURLOPT_MAX_RECV_SPEED_LARGE, OFF_VAL);
-  (void)curl_easy_setopt(curl, CURLOPT_MAX_RECV_SPEED_LARGE, OFF_LO);
-  (void)curl_easy_setopt(curl, CURLOPT_FTP_ALTERNATIVE_TO_USER, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_FTP_ALTERNATIVE_TO_USER, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_SOCKOPTFUNCTION,
+  if(UNEX(res)) {
+    err("CONV_FROM_UTF8_FUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CONV_FROM_UTF8_FUNCTION, NULL);
+  if(UNEX(res)) {
+    err("CONV_FROM_UTF8_FUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_MAX_SEND_SPEED_LARGE, OFF_NO);
+  if(UNEX(res)) {
+    err("MAX_SEND_SPEED_LARGE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_MAX_SEND_SPEED_LARGE, OFF_VAL);
+  if(UNEX(res)) {
+    err("MAX_SEND_SPEED_LARGE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_MAX_SEND_SPEED_LARGE, OFF_LO);
+  if(UNEX(res)) {
+    err("MAX_SEND_SPEED_LARGE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_MAX_RECV_SPEED_LARGE, OFF_NO);
+  if(UNEX(res)) {
+    err("MAX_RECV_SPEED_LARGE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_MAX_RECV_SPEED_LARGE, OFF_VAL);
+  if(UNEX(res)) {
+    err("MAX_RECV_SPEED_LARGE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_MAX_RECV_SPEED_LARGE, OFF_LO);
+  if(UNEX(res)) {
+    err("MAX_RECV_SPEED_LARGE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTP_ALTERNATIVE_TO_USER, "string");
+  if(UNEX(res)) {
+    err("FTP_ALTERNATIVE_TO_USER", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTP_ALTERNATIVE_TO_USER, NULL);
+  if(UNEX(res)) {
+    err("FTP_ALTERNATIVE_TO_USER", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SOCKOPTFUNCTION,
                          sockoptcb);
-  (void)curl_easy_setopt(curl, CURLOPT_SOCKOPTFUNCTION, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_SOCKOPTDATA, &object);
-  (void)curl_easy_setopt(curl, CURLOPT_SOCKOPTDATA, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_SSL_SESSIONID_CACHE, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_SSL_SESSIONID_CACHE, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_SSL_SESSIONID_CACHE, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_SSL_SESSIONID_CACHE, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_SSH_AUTH_TYPES, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_SSH_AUTH_TYPES, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_SSH_AUTH_TYPES, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_SSH_AUTH_TYPES, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_SSH_PUBLIC_KEYFILE, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_SSH_PUBLIC_KEYFILE, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_SSH_PRIVATE_KEYFILE, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_SSH_PRIVATE_KEYFILE, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_FTP_SSL_CCC, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_FTP_SSL_CCC, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_FTP_SSL_CCC, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_FTP_SSL_CCC, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_TIMEOUT_MS, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_TIMEOUT_MS, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_TIMEOUT_MS, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_TIMEOUT_MS, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT_MS, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT_MS, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT_MS, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT_MS, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_HTTP_TRANSFER_DECODING, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_HTTP_TRANSFER_DECODING, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_HTTP_TRANSFER_DECODING, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_HTTP_TRANSFER_DECODING, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_HTTP_CONTENT_DECODING, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_HTTP_CONTENT_DECODING, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_HTTP_CONTENT_DECODING, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_HTTP_CONTENT_DECODING, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_NEW_FILE_PERMS, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_NEW_FILE_PERMS, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_NEW_FILE_PERMS, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_NEW_FILE_PERMS, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_NEW_DIRECTORY_PERMS, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_NEW_DIRECTORY_PERMS, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_NEW_DIRECTORY_PERMS, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_NEW_DIRECTORY_PERMS, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_POSTREDIR, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_POSTREDIR, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_POSTREDIR, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_POSTREDIR, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_SSH_HOST_PUBLIC_KEY_MD5, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_SSH_HOST_PUBLIC_KEY_MD5, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_OPENSOCKETFUNCTION,
+  if(UNEX(res)) {
+    err("SOCKOPTFUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SOCKOPTFUNCTION, NULL);
+  if(UNEX(res)) {
+    err("SOCKOPTFUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SOCKOPTDATA, &object);
+  if(UNEX(res)) {
+    err("SOCKOPTDATA", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SOCKOPTDATA, NULL);
+  if(UNEX(res)) {
+    err("SOCKOPTDATA", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSL_SESSIONID_CACHE, 0L);
+  if(UNEX(res)) {
+    err("SSL_SESSIONID_CACHE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSL_SESSIONID_CACHE, 22L);
+  if(UNEX(res)) {
+    err("SSL_SESSIONID_CACHE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSL_SESSIONID_CACHE, LO);
+  if(UNEX(res)) {
+    err("SSL_SESSIONID_CACHE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSL_SESSIONID_CACHE, HI);
+  if(UNEX(res)) {
+    err("SSL_SESSIONID_CACHE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSH_AUTH_TYPES, 0L);
+  if(UNEX(res)) {
+    err("SSH_AUTH_TYPES", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSH_AUTH_TYPES, 22L);
+  if(UNEX(res)) {
+    err("SSH_AUTH_TYPES", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSH_AUTH_TYPES, LO);
+  if(UNEX(res)) {
+    err("SSH_AUTH_TYPES", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSH_AUTH_TYPES, HI);
+  if(UNEX(res)) {
+    err("SSH_AUTH_TYPES", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSH_PUBLIC_KEYFILE, "string");
+  if(UNEX(res)) {
+    err("SSH_PUBLIC_KEYFILE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSH_PUBLIC_KEYFILE, NULL);
+  if(UNEX(res)) {
+    err("SSH_PUBLIC_KEYFILE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSH_PRIVATE_KEYFILE, "string");
+  if(UNEX(res)) {
+    err("SSH_PRIVATE_KEYFILE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSH_PRIVATE_KEYFILE, NULL);
+  if(UNEX(res)) {
+    err("SSH_PRIVATE_KEYFILE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTP_SSL_CCC, 0L);
+  if(UNEX(res)) {
+    err("FTP_SSL_CCC", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTP_SSL_CCC, 22L);
+  if(UNEX(res)) {
+    err("FTP_SSL_CCC", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTP_SSL_CCC, LO);
+  if(UNEX(res)) {
+    err("FTP_SSL_CCC", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTP_SSL_CCC, HI);
+  if(UNEX(res)) {
+    err("FTP_SSL_CCC", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TIMEOUT_MS, 0L);
+  if(UNEX(res)) {
+    err("TIMEOUT_MS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TIMEOUT_MS, 22L);
+  if(UNEX(res)) {
+    err("TIMEOUT_MS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TIMEOUT_MS, LO);
+  if(UNEX(res)) {
+    err("TIMEOUT_MS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TIMEOUT_MS, HI);
+  if(UNEX(res)) {
+    err("TIMEOUT_MS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT_MS, 0L);
+  if(UNEX(res)) {
+    err("CONNECTTIMEOUT_MS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT_MS, 22L);
+  if(UNEX(res)) {
+    err("CONNECTTIMEOUT_MS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT_MS, LO);
+  if(UNEX(res)) {
+    err("CONNECTTIMEOUT_MS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT_MS, HI);
+  if(UNEX(res)) {
+    err("CONNECTTIMEOUT_MS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HTTP_TRANSFER_DECODING, 0L);
+  if(UNEX(res)) {
+    err("HTTP_TRANSFER_DECODING", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HTTP_TRANSFER_DECODING, 22L);
+  if(UNEX(res)) {
+    err("HTTP_TRANSFER_DECODING", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HTTP_TRANSFER_DECODING, LO);
+  if(UNEX(res)) {
+    err("HTTP_TRANSFER_DECODING", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HTTP_TRANSFER_DECODING, HI);
+  if(UNEX(res)) {
+    err("HTTP_TRANSFER_DECODING", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HTTP_CONTENT_DECODING, 0L);
+  if(UNEX(res)) {
+    err("HTTP_CONTENT_DECODING", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HTTP_CONTENT_DECODING, 22L);
+  if(UNEX(res)) {
+    err("HTTP_CONTENT_DECODING", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HTTP_CONTENT_DECODING, LO);
+  if(UNEX(res)) {
+    err("HTTP_CONTENT_DECODING", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HTTP_CONTENT_DECODING, HI);
+  if(UNEX(res)) {
+    err("HTTP_CONTENT_DECODING", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_NEW_FILE_PERMS, 0L);
+  if(UNEX(res)) {
+    err("NEW_FILE_PERMS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_NEW_FILE_PERMS, 22L);
+  if(UNEX(res)) {
+    err("NEW_FILE_PERMS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_NEW_FILE_PERMS, LO);
+  if(UNEX(res)) {
+    err("NEW_FILE_PERMS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_NEW_FILE_PERMS, HI);
+  if(UNEX(res)) {
+    err("NEW_FILE_PERMS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_NEW_DIRECTORY_PERMS, 0L);
+  if(UNEX(res)) {
+    err("NEW_DIRECTORY_PERMS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_NEW_DIRECTORY_PERMS, 22L);
+  if(UNEX(res)) {
+    err("NEW_DIRECTORY_PERMS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_NEW_DIRECTORY_PERMS, LO);
+  if(UNEX(res)) {
+    err("NEW_DIRECTORY_PERMS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_NEW_DIRECTORY_PERMS, HI);
+  if(UNEX(res)) {
+    err("NEW_DIRECTORY_PERMS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_POSTREDIR, 0L);
+  if(UNEX(res)) {
+    err("POSTREDIR", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_POSTREDIR, 22L);
+  if(UNEX(res)) {
+    err("POSTREDIR", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_POSTREDIR, LO);
+  if(UNEX(res)) {
+    err("POSTREDIR", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_POSTREDIR, HI);
+  if(UNEX(res)) {
+    err("POSTREDIR", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSH_HOST_PUBLIC_KEY_MD5, "string");
+  if(UNEX(res)) {
+    err("SSH_HOST_PUBLIC_KEY_MD5", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSH_HOST_PUBLIC_KEY_MD5, NULL);
+  if(UNEX(res)) {
+    err("SSH_HOST_PUBLIC_KEY_MD5", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_OPENSOCKETFUNCTION,
                          opensocketcb);
-  (void)curl_easy_setopt(curl, CURLOPT_OPENSOCKETFUNCTION, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_OPENSOCKETDATA, &object);
-  (void)curl_easy_setopt(curl, CURLOPT_OPENSOCKETDATA, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_COPYPOSTFIELDS, stringpointerextra);
-  (void)curl_easy_setopt(curl, CURLOPT_COPYPOSTFIELDS, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_TRANSFER_MODE, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_TRANSFER_MODE, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_TRANSFER_MODE, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_TRANSFER_MODE, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_SEEKFUNCTION,
+  if(UNEX(res)) {
+    err("OPENSOCKETFUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_OPENSOCKETFUNCTION, NULL);
+  if(UNEX(res)) {
+    err("OPENSOCKETFUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_OPENSOCKETDATA, &object);
+  if(UNEX(res)) {
+    err("OPENSOCKETDATA", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_OPENSOCKETDATA, NULL);
+  if(UNEX(res)) {
+    err("OPENSOCKETDATA", res, __LINE__); goto test_cleanup; }
+  (void)curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, 0);
+  res = curl_easy_setopt(curl, CURLOPT_COPYPOSTFIELDS, stringpointerextra);
+  if(UNEX(res)) {
+    err("COPYPOSTFIELDS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_COPYPOSTFIELDS, NULL);
+  if(UNEX(res)) {
+    err("COPYPOSTFIELDS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_TRANSFER_MODE, 0L);
+  if(UNEX(res)) {
+    err("PROXY_TRANSFER_MODE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_TRANSFER_MODE, 22L);
+  if(UNEX(res)) {
+    err("PROXY_TRANSFER_MODE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_TRANSFER_MODE, LO);
+  if(UNEX(res)) {
+    err("PROXY_TRANSFER_MODE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_TRANSFER_MODE, HI);
+  if(UNEX(res)) {
+    err("PROXY_TRANSFER_MODE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SEEKFUNCTION,
                          seekcb);
-  (void)curl_easy_setopt(curl, CURLOPT_SEEKFUNCTION, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_SEEKDATA, &object);
-  (void)curl_easy_setopt(curl, CURLOPT_SEEKDATA, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_CRLFILE, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_CRLFILE, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_ISSUERCERT, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_ISSUERCERT, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_ADDRESS_SCOPE, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_ADDRESS_SCOPE, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_ADDRESS_SCOPE, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_ADDRESS_SCOPE, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_CERTINFO, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_CERTINFO, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_CERTINFO, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_CERTINFO, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_USERNAME, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_USERNAME, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_PASSWORD, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_PASSWORD, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXYUSERNAME, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_PROXYUSERNAME, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXYPASSWORD, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_PROXYPASSWORD, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_NOPROXY, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_NOPROXY, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_TFTP_BLKSIZE, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_TFTP_BLKSIZE, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_TFTP_BLKSIZE, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_TFTP_BLKSIZE, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_SOCKS5_GSSAPI_SERVICE, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_SOCKS5_GSSAPI_SERVICE, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_SOCKS5_GSSAPI_NEC, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_SOCKS5_GSSAPI_NEC, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_SOCKS5_GSSAPI_NEC, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_SOCKS5_GSSAPI_NEC, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_PROTOCOLS, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_PROTOCOLS, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_PROTOCOLS, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_PROTOCOLS, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_REDIR_PROTOCOLS, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_REDIR_PROTOCOLS, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_REDIR_PROTOCOLS, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_REDIR_PROTOCOLS, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_SSH_KNOWNHOSTS, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_SSH_KNOWNHOSTS, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_SSH_KEYFUNCTION,
+  if(UNEX(res)) {
+    err("SEEKFUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SEEKFUNCTION, NULL);
+  if(UNEX(res)) {
+    err("SEEKFUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SEEKDATA, &object);
+  if(UNEX(res)) {
+    err("SEEKDATA", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SEEKDATA, NULL);
+  if(UNEX(res)) {
+    err("SEEKDATA", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CRLFILE, "string");
+  if(UNEX(res)) {
+    err("CRLFILE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CRLFILE, NULL);
+  if(UNEX(res)) {
+    err("CRLFILE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_ISSUERCERT, "string");
+  if(UNEX(res)) {
+    err("ISSUERCERT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_ISSUERCERT, NULL);
+  if(UNEX(res)) {
+    err("ISSUERCERT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_ADDRESS_SCOPE, 0L);
+  if(UNEX(res)) {
+    err("ADDRESS_SCOPE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_ADDRESS_SCOPE, 22L);
+  if(UNEX(res)) {
+    err("ADDRESS_SCOPE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_ADDRESS_SCOPE, LO);
+  if(UNEX(res)) {
+    err("ADDRESS_SCOPE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_ADDRESS_SCOPE, HI);
+  if(UNEX(res)) {
+    err("ADDRESS_SCOPE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CERTINFO, 0L);
+  if(UNEX(res)) {
+    err("CERTINFO", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CERTINFO, 22L);
+  if(UNEX(res)) {
+    err("CERTINFO", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CERTINFO, LO);
+  if(UNEX(res)) {
+    err("CERTINFO", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CERTINFO, HI);
+  if(UNEX(res)) {
+    err("CERTINFO", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_USERNAME, "string");
+  if(UNEX(res)) {
+    err("USERNAME", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_USERNAME, NULL);
+  if(UNEX(res)) {
+    err("USERNAME", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PASSWORD, "string");
+  if(UNEX(res)) {
+    err("PASSWORD", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PASSWORD, NULL);
+  if(UNEX(res)) {
+    err("PASSWORD", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXYUSERNAME, "string");
+  if(UNEX(res)) {
+    err("PROXYUSERNAME", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXYUSERNAME, NULL);
+  if(UNEX(res)) {
+    err("PROXYUSERNAME", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXYPASSWORD, "string");
+  if(UNEX(res)) {
+    err("PROXYPASSWORD", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXYPASSWORD, NULL);
+  if(UNEX(res)) {
+    err("PROXYPASSWORD", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_NOPROXY, "string");
+  if(UNEX(res)) {
+    err("NOPROXY", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_NOPROXY, NULL);
+  if(UNEX(res)) {
+    err("NOPROXY", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TFTP_BLKSIZE, 0L);
+  if(UNEX(res)) {
+    err("TFTP_BLKSIZE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TFTP_BLKSIZE, 22L);
+  if(UNEX(res)) {
+    err("TFTP_BLKSIZE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TFTP_BLKSIZE, LO);
+  if(UNEX(res)) {
+    err("TFTP_BLKSIZE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TFTP_BLKSIZE, HI);
+  if(UNEX(res)) {
+    err("TFTP_BLKSIZE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SOCKS5_GSSAPI_SERVICE, "string");
+  if(UNEX(res)) {
+    err("SOCKS5_GSSAPI_SERVICE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SOCKS5_GSSAPI_SERVICE, NULL);
+  if(UNEX(res)) {
+    err("SOCKS5_GSSAPI_SERVICE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SOCKS5_GSSAPI_NEC, 0L);
+  if(UNEX(res)) {
+    err("SOCKS5_GSSAPI_NEC", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SOCKS5_GSSAPI_NEC, 22L);
+  if(UNEX(res)) {
+    err("SOCKS5_GSSAPI_NEC", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SOCKS5_GSSAPI_NEC, LO);
+  if(UNEX(res)) {
+    err("SOCKS5_GSSAPI_NEC", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SOCKS5_GSSAPI_NEC, HI);
+  if(UNEX(res)) {
+    err("SOCKS5_GSSAPI_NEC", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROTOCOLS, 0L);
+  if(UNEX(res)) {
+    err("PROTOCOLS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROTOCOLS, 22L);
+  if(UNEX(res)) {
+    err("PROTOCOLS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROTOCOLS, LO);
+  if(UNEX(res)) {
+    err("PROTOCOLS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROTOCOLS, HI);
+  if(UNEX(res)) {
+    err("PROTOCOLS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_REDIR_PROTOCOLS, 0L);
+  if(UNEX(res)) {
+    err("REDIR_PROTOCOLS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_REDIR_PROTOCOLS, 22L);
+  if(UNEX(res)) {
+    err("REDIR_PROTOCOLS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_REDIR_PROTOCOLS, LO);
+  if(UNEX(res)) {
+    err("REDIR_PROTOCOLS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_REDIR_PROTOCOLS, HI);
+  if(UNEX(res)) {
+    err("REDIR_PROTOCOLS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSH_KNOWNHOSTS, "string");
+  if(UNEX(res)) {
+    err("SSH_KNOWNHOSTS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSH_KNOWNHOSTS, NULL);
+  if(UNEX(res)) {
+    err("SSH_KNOWNHOSTS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSH_KEYFUNCTION,
                          ssh_keycb);
-  (void)curl_easy_setopt(curl, CURLOPT_SSH_KEYFUNCTION, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_SSH_KEYDATA, &object);
-  (void)curl_easy_setopt(curl, CURLOPT_SSH_KEYDATA, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_MAIL_FROM, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_MAIL_FROM, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_MAIL_RCPT, slist);
-  (void)curl_easy_setopt(curl, CURLOPT_MAIL_RCPT, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_FTP_USE_PRET, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_FTP_USE_PRET, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_FTP_USE_PRET, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_FTP_USE_PRET, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_RTSP_REQUEST, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_RTSP_REQUEST, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_RTSP_REQUEST, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_RTSP_REQUEST, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_RTSP_SESSION_ID, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_RTSP_SESSION_ID, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_RTSP_STREAM_URI, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_RTSP_STREAM_URI, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_RTSP_TRANSPORT, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_RTSP_TRANSPORT, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_RTSP_CLIENT_CSEQ, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_RTSP_CLIENT_CSEQ, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_RTSP_CLIENT_CSEQ, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_RTSP_CLIENT_CSEQ, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_RTSP_SERVER_CSEQ, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_RTSP_SERVER_CSEQ, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_RTSP_SERVER_CSEQ, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_RTSP_SERVER_CSEQ, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_INTERLEAVEDATA, &object);
-  (void)curl_easy_setopt(curl, CURLOPT_INTERLEAVEDATA, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_INTERLEAVEFUNCTION,
+  if(UNEX(res)) {
+    err("SSH_KEYFUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSH_KEYFUNCTION, NULL);
+  if(UNEX(res)) {
+    err("SSH_KEYFUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSH_KEYDATA, &object);
+  if(UNEX(res)) {
+    err("SSH_KEYDATA", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSH_KEYDATA, NULL);
+  if(UNEX(res)) {
+    err("SSH_KEYDATA", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_MAIL_FROM, "string");
+  if(UNEX(res)) {
+    err("MAIL_FROM", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_MAIL_FROM, NULL);
+  if(UNEX(res)) {
+    err("MAIL_FROM", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_MAIL_RCPT, slist);
+  if(UNEX(res)) {
+    err("MAIL_RCPT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_MAIL_RCPT, NULL);
+  if(UNEX(res)) {
+    err("MAIL_RCPT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTP_USE_PRET, 0L);
+  if(UNEX(res)) {
+    err("FTP_USE_PRET", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTP_USE_PRET, 22L);
+  if(UNEX(res)) {
+    err("FTP_USE_PRET", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTP_USE_PRET, LO);
+  if(UNEX(res)) {
+    err("FTP_USE_PRET", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FTP_USE_PRET, HI);
+  if(UNEX(res)) {
+    err("FTP_USE_PRET", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_RTSP_REQUEST, 0L);
+  if(UNEX(res)) {
+    err("RTSP_REQUEST", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_RTSP_REQUEST, 22L);
+  if(UNEX(res)) {
+    err("RTSP_REQUEST", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_RTSP_REQUEST, LO);
+  if(UNEX(res)) {
+    err("RTSP_REQUEST", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_RTSP_REQUEST, HI);
+  if(UNEX(res)) {
+    err("RTSP_REQUEST", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_RTSP_SESSION_ID, "string");
+  if(UNEX(res)) {
+    err("RTSP_SESSION_ID", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_RTSP_SESSION_ID, NULL);
+  if(UNEX(res)) {
+    err("RTSP_SESSION_ID", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_RTSP_STREAM_URI, "string");
+  if(UNEX(res)) {
+    err("RTSP_STREAM_URI", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_RTSP_STREAM_URI, NULL);
+  if(UNEX(res)) {
+    err("RTSP_STREAM_URI", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_RTSP_TRANSPORT, "string");
+  if(UNEX(res)) {
+    err("RTSP_TRANSPORT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_RTSP_TRANSPORT, NULL);
+  if(UNEX(res)) {
+    err("RTSP_TRANSPORT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_RTSP_CLIENT_CSEQ, 0L);
+  if(UNEX(res)) {
+    err("RTSP_CLIENT_CSEQ", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_RTSP_CLIENT_CSEQ, 22L);
+  if(UNEX(res)) {
+    err("RTSP_CLIENT_CSEQ", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_RTSP_CLIENT_CSEQ, LO);
+  if(UNEX(res)) {
+    err("RTSP_CLIENT_CSEQ", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_RTSP_CLIENT_CSEQ, HI);
+  if(UNEX(res)) {
+    err("RTSP_CLIENT_CSEQ", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_RTSP_SERVER_CSEQ, 0L);
+  if(UNEX(res)) {
+    err("RTSP_SERVER_CSEQ", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_RTSP_SERVER_CSEQ, 22L);
+  if(UNEX(res)) {
+    err("RTSP_SERVER_CSEQ", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_RTSP_SERVER_CSEQ, LO);
+  if(UNEX(res)) {
+    err("RTSP_SERVER_CSEQ", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_RTSP_SERVER_CSEQ, HI);
+  if(UNEX(res)) {
+    err("RTSP_SERVER_CSEQ", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_INTERLEAVEDATA, &object);
+  if(UNEX(res)) {
+    err("INTERLEAVEDATA", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_INTERLEAVEDATA, NULL);
+  if(UNEX(res)) {
+    err("INTERLEAVEDATA", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_INTERLEAVEFUNCTION,
                          interleavecb);
-  (void)curl_easy_setopt(curl, CURLOPT_INTERLEAVEFUNCTION, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_WILDCARDMATCH, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_WILDCARDMATCH, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_WILDCARDMATCH, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_WILDCARDMATCH, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_CHUNK_BGN_FUNCTION,
+  if(UNEX(res)) {
+    err("INTERLEAVEFUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_INTERLEAVEFUNCTION, NULL);
+  if(UNEX(res)) {
+    err("INTERLEAVEFUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_WILDCARDMATCH, 0L);
+  if(UNEX(res)) {
+    err("WILDCARDMATCH", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_WILDCARDMATCH, 22L);
+  if(UNEX(res)) {
+    err("WILDCARDMATCH", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_WILDCARDMATCH, LO);
+  if(UNEX(res)) {
+    err("WILDCARDMATCH", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_WILDCARDMATCH, HI);
+  if(UNEX(res)) {
+    err("WILDCARDMATCH", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CHUNK_BGN_FUNCTION,
                          chunk_bgn_cb);
-  (void)curl_easy_setopt(curl, CURLOPT_CHUNK_BGN_FUNCTION, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_CHUNK_END_FUNCTION,
+  if(UNEX(res)) {
+    err("CHUNK_BGN_FUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CHUNK_BGN_FUNCTION, NULL);
+  if(UNEX(res)) {
+    err("CHUNK_BGN_FUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CHUNK_END_FUNCTION,
                          chunk_end_cb);
-  (void)curl_easy_setopt(curl, CURLOPT_CHUNK_END_FUNCTION, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_FNMATCH_FUNCTION,
+  if(UNEX(res)) {
+    err("CHUNK_END_FUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CHUNK_END_FUNCTION, NULL);
+  if(UNEX(res)) {
+    err("CHUNK_END_FUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FNMATCH_FUNCTION,
                          fnmatch_cb);
-  (void)curl_easy_setopt(curl, CURLOPT_FNMATCH_FUNCTION, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_CHUNK_DATA, &object);
-  (void)curl_easy_setopt(curl, CURLOPT_CHUNK_DATA, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_FNMATCH_DATA, &object);
-  (void)curl_easy_setopt(curl, CURLOPT_FNMATCH_DATA, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_RESOLVE, slist);
-  (void)curl_easy_setopt(curl, CURLOPT_RESOLVE, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_TLSAUTH_USERNAME, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_TLSAUTH_USERNAME, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_TLSAUTH_PASSWORD, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_TLSAUTH_PASSWORD, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_TLSAUTH_TYPE, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_TLSAUTH_TYPE, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_TRANSFER_ENCODING, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_TRANSFER_ENCODING, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_TRANSFER_ENCODING, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_TRANSFER_ENCODING, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_CLOSESOCKETFUNCTION,
+  if(UNEX(res)) {
+    err("FNMATCH_FUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FNMATCH_FUNCTION, NULL);
+  if(UNEX(res)) {
+    err("FNMATCH_FUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CHUNK_DATA, &object);
+  if(UNEX(res)) {
+    err("CHUNK_DATA", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CHUNK_DATA, NULL);
+  if(UNEX(res)) {
+    err("CHUNK_DATA", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FNMATCH_DATA, &object);
+  if(UNEX(res)) {
+    err("FNMATCH_DATA", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_FNMATCH_DATA, NULL);
+  if(UNEX(res)) {
+    err("FNMATCH_DATA", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_RESOLVE, slist);
+  if(UNEX(res)) {
+    err("RESOLVE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_RESOLVE, NULL);
+  if(UNEX(res)) {
+    err("RESOLVE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TLSAUTH_USERNAME, "string");
+  if(UNEX(res)) {
+    err("TLSAUTH_USERNAME", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TLSAUTH_USERNAME, NULL);
+  if(UNEX(res)) {
+    err("TLSAUTH_USERNAME", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TLSAUTH_PASSWORD, "string");
+  if(UNEX(res)) {
+    err("TLSAUTH_PASSWORD", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TLSAUTH_PASSWORD, NULL);
+  if(UNEX(res)) {
+    err("TLSAUTH_PASSWORD", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TLSAUTH_TYPE, "string");
+  if(UNEX(res)) {
+    err("TLSAUTH_TYPE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TLSAUTH_TYPE, NULL);
+  if(UNEX(res)) {
+    err("TLSAUTH_TYPE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TRANSFER_ENCODING, 0L);
+  if(UNEX(res)) {
+    err("TRANSFER_ENCODING", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TRANSFER_ENCODING, 22L);
+  if(UNEX(res)) {
+    err("TRANSFER_ENCODING", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TRANSFER_ENCODING, LO);
+  if(UNEX(res)) {
+    err("TRANSFER_ENCODING", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TRANSFER_ENCODING, HI);
+  if(UNEX(res)) {
+    err("TRANSFER_ENCODING", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CLOSESOCKETFUNCTION,
                          closesocketcb);
-  (void)curl_easy_setopt(curl, CURLOPT_CLOSESOCKETFUNCTION, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_CLOSESOCKETDATA, &object);
-  (void)curl_easy_setopt(curl, CURLOPT_CLOSESOCKETDATA, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_GSSAPI_DELEGATION, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_GSSAPI_DELEGATION, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_GSSAPI_DELEGATION, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_GSSAPI_DELEGATION, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_DNS_SERVERS, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_DNS_SERVERS, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_ACCEPTTIMEOUT_MS, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_ACCEPTTIMEOUT_MS, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_ACCEPTTIMEOUT_MS, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_ACCEPTTIMEOUT_MS, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_TCP_KEEPALIVE, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_TCP_KEEPALIVE, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_TCP_KEEPALIVE, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_TCP_KEEPALIVE, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_TCP_KEEPIDLE, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_TCP_KEEPIDLE, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_TCP_KEEPIDLE, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_TCP_KEEPIDLE, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_TCP_KEEPINTVL, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_TCP_KEEPINTVL, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_TCP_KEEPINTVL, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_TCP_KEEPINTVL, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_SSL_OPTIONS, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_SSL_OPTIONS, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_SSL_OPTIONS, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_SSL_OPTIONS, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_MAIL_AUTH, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_MAIL_AUTH, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_SASL_IR, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_SASL_IR, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_SASL_IR, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_SASL_IR, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_XFERINFOFUNCTION,
+  if(UNEX(res)) {
+    err("CLOSESOCKETFUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CLOSESOCKETFUNCTION, NULL);
+  if(UNEX(res)) {
+    err("CLOSESOCKETFUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CLOSESOCKETDATA, &object);
+  if(UNEX(res)) {
+    err("CLOSESOCKETDATA", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CLOSESOCKETDATA, NULL);
+  if(UNEX(res)) {
+    err("CLOSESOCKETDATA", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_GSSAPI_DELEGATION, 0L);
+  if(UNEX(res)) {
+    err("GSSAPI_DELEGATION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_GSSAPI_DELEGATION, 22L);
+  if(UNEX(res)) {
+    err("GSSAPI_DELEGATION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_GSSAPI_DELEGATION, LO);
+  if(UNEX(res)) {
+    err("GSSAPI_DELEGATION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_GSSAPI_DELEGATION, HI);
+  if(UNEX(res)) {
+    err("GSSAPI_DELEGATION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_DNS_SERVERS, "string");
+  if(UNEX(res)) {
+    err("DNS_SERVERS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_DNS_SERVERS, NULL);
+  if(UNEX(res)) {
+    err("DNS_SERVERS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_ACCEPTTIMEOUT_MS, 0L);
+  if(UNEX(res)) {
+    err("ACCEPTTIMEOUT_MS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_ACCEPTTIMEOUT_MS, 22L);
+  if(UNEX(res)) {
+    err("ACCEPTTIMEOUT_MS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_ACCEPTTIMEOUT_MS, LO);
+  if(UNEX(res)) {
+    err("ACCEPTTIMEOUT_MS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_ACCEPTTIMEOUT_MS, HI);
+  if(UNEX(res)) {
+    err("ACCEPTTIMEOUT_MS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TCP_KEEPALIVE, 0L);
+  if(UNEX(res)) {
+    err("TCP_KEEPALIVE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TCP_KEEPALIVE, 22L);
+  if(UNEX(res)) {
+    err("TCP_KEEPALIVE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TCP_KEEPALIVE, LO);
+  if(UNEX(res)) {
+    err("TCP_KEEPALIVE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TCP_KEEPALIVE, HI);
+  if(UNEX(res)) {
+    err("TCP_KEEPALIVE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TCP_KEEPIDLE, 0L);
+  if(UNEX(res)) {
+    err("TCP_KEEPIDLE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TCP_KEEPIDLE, 22L);
+  if(UNEX(res)) {
+    err("TCP_KEEPIDLE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TCP_KEEPIDLE, LO);
+  if(UNEX(res)) {
+    err("TCP_KEEPIDLE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TCP_KEEPIDLE, HI);
+  if(UNEX(res)) {
+    err("TCP_KEEPIDLE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TCP_KEEPINTVL, 0L);
+  if(UNEX(res)) {
+    err("TCP_KEEPINTVL", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TCP_KEEPINTVL, 22L);
+  if(UNEX(res)) {
+    err("TCP_KEEPINTVL", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TCP_KEEPINTVL, LO);
+  if(UNEX(res)) {
+    err("TCP_KEEPINTVL", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TCP_KEEPINTVL, HI);
+  if(UNEX(res)) {
+    err("TCP_KEEPINTVL", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSL_OPTIONS, 0L);
+  if(UNEX(res)) {
+    err("SSL_OPTIONS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSL_OPTIONS, 22L);
+  if(UNEX(res)) {
+    err("SSL_OPTIONS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSL_OPTIONS, LO);
+  if(UNEX(res)) {
+    err("SSL_OPTIONS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSL_OPTIONS, HI);
+  if(UNEX(res)) {
+    err("SSL_OPTIONS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_MAIL_AUTH, "string");
+  if(UNEX(res)) {
+    err("MAIL_AUTH", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_MAIL_AUTH, NULL);
+  if(UNEX(res)) {
+    err("MAIL_AUTH", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SASL_IR, 0L);
+  if(UNEX(res)) {
+    err("SASL_IR", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SASL_IR, 22L);
+  if(UNEX(res)) {
+    err("SASL_IR", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SASL_IR, LO);
+  if(UNEX(res)) {
+    err("SASL_IR", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SASL_IR, HI);
+  if(UNEX(res)) {
+    err("SASL_IR", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_XFERINFOFUNCTION,
                          xferinfocb);
-  (void)curl_easy_setopt(curl, CURLOPT_XFERINFOFUNCTION, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_XOAUTH2_BEARER, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_XOAUTH2_BEARER, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_DNS_INTERFACE, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_DNS_INTERFACE, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_DNS_LOCAL_IP4, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_DNS_LOCAL_IP4, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_DNS_LOCAL_IP6, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_DNS_LOCAL_IP6, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_LOGIN_OPTIONS, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_LOGIN_OPTIONS, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_SSL_ENABLE_NPN, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_SSL_ENABLE_NPN, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_SSL_ENABLE_NPN, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_SSL_ENABLE_NPN, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_SSL_ENABLE_ALPN, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_SSL_ENABLE_ALPN, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_SSL_ENABLE_ALPN, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_SSL_ENABLE_ALPN, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_EXPECT_100_TIMEOUT_MS, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_EXPECT_100_TIMEOUT_MS, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_EXPECT_100_TIMEOUT_MS, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_EXPECT_100_TIMEOUT_MS, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXYHEADER, slist);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXYHEADER, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_HEADEROPT, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_HEADEROPT, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_HEADEROPT, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_HEADEROPT, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_PINNEDPUBLICKEY, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_PINNEDPUBLICKEY, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_UNIX_SOCKET_PATH, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_UNIX_SOCKET_PATH, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_SSL_VERIFYSTATUS, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_SSL_VERIFYSTATUS, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_SSL_VERIFYSTATUS, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_SSL_VERIFYSTATUS, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_SSL_FALSESTART, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_SSL_FALSESTART, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_SSL_FALSESTART, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_SSL_FALSESTART, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_PATH_AS_IS, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_PATH_AS_IS, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_PATH_AS_IS, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_PATH_AS_IS, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_SERVICE_NAME, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_SERVICE_NAME, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_SERVICE_NAME, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_SERVICE_NAME, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_PIPEWAIT, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_PIPEWAIT, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_PIPEWAIT, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_PIPEWAIT, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_STREAM_WEIGHT, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_STREAM_WEIGHT, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_STREAM_WEIGHT, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_STREAM_WEIGHT, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_STREAM_DEPENDS, dep);
-  (void)curl_easy_setopt(curl, CURLOPT_STREAM_DEPENDS, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_STREAM_DEPENDS_E, dep);
-  (void)curl_easy_setopt(curl, CURLOPT_STREAM_DEPENDS_E, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_TFTP_NO_OPTIONS, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_TFTP_NO_OPTIONS, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_TFTP_NO_OPTIONS, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_TFTP_NO_OPTIONS, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_CONNECT_TO, &object);
-  (void)curl_easy_setopt(curl, CURLOPT_CONNECT_TO, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_TCP_FASTOPEN, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_TCP_FASTOPEN, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_TCP_FASTOPEN, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_TCP_FASTOPEN, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_KEEP_SENDING_ON_ERROR, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_KEEP_SENDING_ON_ERROR, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_KEEP_SENDING_ON_ERROR, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_KEEP_SENDING_ON_ERROR, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_CAINFO, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_CAINFO, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_CAPATH, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_CAPATH, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_SSL_VERIFYPEER, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_SSL_VERIFYPEER, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_SSL_VERIFYPEER, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_SSL_VERIFYPEER, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_SSL_VERIFYHOST, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_SSL_VERIFYHOST, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_SSL_VERIFYHOST, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_SSL_VERIFYHOST, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_SSLVERSION, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_SSLVERSION, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_SSLVERSION, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_SSLVERSION, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_TLSAUTH_USERNAME, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_TLSAUTH_USERNAME, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_TLSAUTH_PASSWORD, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_TLSAUTH_PASSWORD, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_TLSAUTH_TYPE, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_TLSAUTH_TYPE, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_SSLCERT, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_SSLCERT, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_SSLCERTTYPE, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_SSLCERTTYPE, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_SSLKEY, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_SSLKEY, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_SSLKEYTYPE, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_SSLKEYTYPE, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_KEYPASSWD, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_KEYPASSWD, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_SSL_CIPHER_LIST, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_SSL_CIPHER_LIST, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_CRLFILE, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_CRLFILE, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_SSL_OPTIONS, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_SSL_OPTIONS, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_SSL_OPTIONS, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_SSL_OPTIONS, HI);
-  (void)curl_easy_setopt(curl, CURLOPT_PRE_PROXY, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_PRE_PROXY, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_PINNEDPUBLICKEY, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_PROXY_PINNEDPUBLICKEY, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_ABSTRACT_UNIX_SOCKET, "string");
-  (void)curl_easy_setopt(curl, CURLOPT_ABSTRACT_UNIX_SOCKET, NULL);
-  (void)curl_easy_setopt(curl, CURLOPT_SUPPRESS_CONNECT_HEADERS, 0L);
-  (void)curl_easy_setopt(curl, CURLOPT_SUPPRESS_CONNECT_HEADERS, 22L);
-  (void)curl_easy_setopt(curl, CURLOPT_SUPPRESS_CONNECT_HEADERS, LO);
-  (void)curl_easy_setopt(curl, CURLOPT_SUPPRESS_CONNECT_HEADERS, HI);
+  if(UNEX(res)) {
+    err("XFERINFOFUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_XFERINFOFUNCTION, NULL);
+  if(UNEX(res)) {
+    err("XFERINFOFUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_XOAUTH2_BEARER, "string");
+  if(UNEX(res)) {
+    err("XOAUTH2_BEARER", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_XOAUTH2_BEARER, NULL);
+  if(UNEX(res)) {
+    err("XOAUTH2_BEARER", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_DNS_INTERFACE, "string");
+  if(UNEX(res)) {
+    err("DNS_INTERFACE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_DNS_INTERFACE, NULL);
+  if(UNEX(res)) {
+    err("DNS_INTERFACE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_DNS_LOCAL_IP4, "string");
+  if(UNEX(res)) {
+    err("DNS_LOCAL_IP4", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_DNS_LOCAL_IP4, NULL);
+  if(UNEX(res)) {
+    err("DNS_LOCAL_IP4", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_DNS_LOCAL_IP6, "string");
+  if(UNEX(res)) {
+    err("DNS_LOCAL_IP6", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_DNS_LOCAL_IP6, NULL);
+  if(UNEX(res)) {
+    err("DNS_LOCAL_IP6", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_LOGIN_OPTIONS, "string");
+  if(UNEX(res)) {
+    err("LOGIN_OPTIONS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_LOGIN_OPTIONS, NULL);
+  if(UNEX(res)) {
+    err("LOGIN_OPTIONS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSL_ENABLE_NPN, 0L);
+  if(UNEX(res)) {
+    err("SSL_ENABLE_NPN", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSL_ENABLE_NPN, 22L);
+  if(UNEX(res)) {
+    err("SSL_ENABLE_NPN", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSL_ENABLE_NPN, LO);
+  if(UNEX(res)) {
+    err("SSL_ENABLE_NPN", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSL_ENABLE_NPN, HI);
+  if(UNEX(res)) {
+    err("SSL_ENABLE_NPN", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSL_ENABLE_ALPN, 0L);
+  if(UNEX(res)) {
+    err("SSL_ENABLE_ALPN", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSL_ENABLE_ALPN, 22L);
+  if(UNEX(res)) {
+    err("SSL_ENABLE_ALPN", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSL_ENABLE_ALPN, LO);
+  if(UNEX(res)) {
+    err("SSL_ENABLE_ALPN", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSL_ENABLE_ALPN, HI);
+  if(UNEX(res)) {
+    err("SSL_ENABLE_ALPN", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_EXPECT_100_TIMEOUT_MS, 0L);
+  if(UNEX(res)) {
+    err("EXPECT_100_TIMEOUT_MS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_EXPECT_100_TIMEOUT_MS, 22L);
+  if(UNEX(res)) {
+    err("EXPECT_100_TIMEOUT_MS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_EXPECT_100_TIMEOUT_MS, LO);
+  if(UNEX(res)) {
+    err("EXPECT_100_TIMEOUT_MS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_EXPECT_100_TIMEOUT_MS, HI);
+  if(UNEX(res)) {
+    err("EXPECT_100_TIMEOUT_MS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXYHEADER, slist);
+  if(UNEX(res)) {
+    err("PROXYHEADER", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXYHEADER, NULL);
+  if(UNEX(res)) {
+    err("PROXYHEADER", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HEADEROPT, 0L);
+  if(UNEX(res)) {
+    err("HEADEROPT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HEADEROPT, 22L);
+  if(UNEX(res)) {
+    err("HEADEROPT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HEADEROPT, LO);
+  if(UNEX(res)) {
+    err("HEADEROPT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HEADEROPT, HI);
+  if(UNEX(res)) {
+    err("HEADEROPT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PINNEDPUBLICKEY, "string");
+  if(UNEX(res)) {
+    err("PINNEDPUBLICKEY", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PINNEDPUBLICKEY, NULL);
+  if(UNEX(res)) {
+    err("PINNEDPUBLICKEY", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_UNIX_SOCKET_PATH, "string");
+  if(UNEX(res)) {
+    err("UNIX_SOCKET_PATH", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_UNIX_SOCKET_PATH, NULL);
+  if(UNEX(res)) {
+    err("UNIX_SOCKET_PATH", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSL_VERIFYSTATUS, 0L);
+  if(UNEX(res)) {
+    err("SSL_VERIFYSTATUS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSL_VERIFYSTATUS, 22L);
+  if(UNEX(res)) {
+    err("SSL_VERIFYSTATUS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSL_VERIFYSTATUS, LO);
+  if(UNEX(res)) {
+    err("SSL_VERIFYSTATUS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSL_VERIFYSTATUS, HI);
+  if(UNEX(res)) {
+    err("SSL_VERIFYSTATUS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSL_FALSESTART, 0L);
+  if(UNEX(res)) {
+    err("SSL_FALSESTART", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSL_FALSESTART, 22L);
+  if(UNEX(res)) {
+    err("SSL_FALSESTART", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSL_FALSESTART, LO);
+  if(UNEX(res)) {
+    err("SSL_FALSESTART", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SSL_FALSESTART, HI);
+  if(UNEX(res)) {
+    err("SSL_FALSESTART", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PATH_AS_IS, 0L);
+  if(UNEX(res)) {
+    err("PATH_AS_IS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PATH_AS_IS, 22L);
+  if(UNEX(res)) {
+    err("PATH_AS_IS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PATH_AS_IS, LO);
+  if(UNEX(res)) {
+    err("PATH_AS_IS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PATH_AS_IS, HI);
+  if(UNEX(res)) {
+    err("PATH_AS_IS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_SERVICE_NAME, "string");
+  if(UNEX(res)) {
+    err("PROXY_SERVICE_NAME", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_SERVICE_NAME, NULL);
+  if(UNEX(res)) {
+    err("PROXY_SERVICE_NAME", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SERVICE_NAME, "string");
+  if(UNEX(res)) {
+    err("SERVICE_NAME", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SERVICE_NAME, NULL);
+  if(UNEX(res)) {
+    err("SERVICE_NAME", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PIPEWAIT, 0L);
+  if(UNEX(res)) {
+    err("PIPEWAIT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PIPEWAIT, 22L);
+  if(UNEX(res)) {
+    err("PIPEWAIT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PIPEWAIT, LO);
+  if(UNEX(res)) {
+    err("PIPEWAIT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PIPEWAIT, HI);
+  if(UNEX(res)) {
+    err("PIPEWAIT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "string");
+  if(UNEX(res)) {
+    err("DEFAULT_PROTOCOL", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, NULL);
+  if(UNEX(res)) {
+    err("DEFAULT_PROTOCOL", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_STREAM_WEIGHT, 0L);
+  if(UNEX(res)) {
+    err("STREAM_WEIGHT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_STREAM_WEIGHT, 22L);
+  if(UNEX(res)) {
+    err("STREAM_WEIGHT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_STREAM_WEIGHT, LO);
+  if(UNEX(res)) {
+    err("STREAM_WEIGHT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_STREAM_WEIGHT, HI);
+  if(UNEX(res)) {
+    err("STREAM_WEIGHT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_STREAM_DEPENDS, dep);
+  if(UNEX(res)) {
+    err("STREAM_DEPENDS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_STREAM_DEPENDS, NULL);
+  if(UNEX(res)) {
+    err("STREAM_DEPENDS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_STREAM_DEPENDS_E, dep);
+  if(UNEX(res)) {
+    err("STREAM_DEPENDS_E", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_STREAM_DEPENDS_E, NULL);
+  if(UNEX(res)) {
+    err("STREAM_DEPENDS_E", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TFTP_NO_OPTIONS, 0L);
+  if(UNEX(res)) {
+    err("TFTP_NO_OPTIONS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TFTP_NO_OPTIONS, 22L);
+  if(UNEX(res)) {
+    err("TFTP_NO_OPTIONS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TFTP_NO_OPTIONS, LO);
+  if(UNEX(res)) {
+    err("TFTP_NO_OPTIONS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TFTP_NO_OPTIONS, HI);
+  if(UNEX(res)) {
+    err("TFTP_NO_OPTIONS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CONNECT_TO, &object);
+  if(UNEX(res)) {
+    err("CONNECT_TO", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_CONNECT_TO, NULL);
+  if(UNEX(res)) {
+    err("CONNECT_TO", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TCP_FASTOPEN, 0L);
+  if(UNEX(res)) {
+    err("TCP_FASTOPEN", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TCP_FASTOPEN, 22L);
+  if(UNEX(res)) {
+    err("TCP_FASTOPEN", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TCP_FASTOPEN, LO);
+  if(UNEX(res)) {
+    err("TCP_FASTOPEN", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TCP_FASTOPEN, HI);
+  if(UNEX(res)) {
+    err("TCP_FASTOPEN", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_KEEP_SENDING_ON_ERROR, 0L);
+  if(UNEX(res)) {
+    err("KEEP_SENDING_ON_ERROR", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_KEEP_SENDING_ON_ERROR, 22L);
+  if(UNEX(res)) {
+    err("KEEP_SENDING_ON_ERROR", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_KEEP_SENDING_ON_ERROR, LO);
+  if(UNEX(res)) {
+    err("KEEP_SENDING_ON_ERROR", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_KEEP_SENDING_ON_ERROR, HI);
+  if(UNEX(res)) {
+    err("KEEP_SENDING_ON_ERROR", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_CAINFO, "string");
+  if(UNEX(res)) {
+    err("PROXY_CAINFO", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_CAINFO, NULL);
+  if(UNEX(res)) {
+    err("PROXY_CAINFO", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_CAPATH, "string");
+  if(UNEX(res)) {
+    err("PROXY_CAPATH", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_CAPATH, NULL);
+  if(UNEX(res)) {
+    err("PROXY_CAPATH", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_SSL_VERIFYPEER, 0L);
+  if(UNEX(res)) {
+    err("PROXY_SSL_VERIFYPEER", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_SSL_VERIFYPEER, 22L);
+  if(UNEX(res)) {
+    err("PROXY_SSL_VERIFYPEER", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_SSL_VERIFYPEER, LO);
+  if(UNEX(res)) {
+    err("PROXY_SSL_VERIFYPEER", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_SSL_VERIFYPEER, HI);
+  if(UNEX(res)) {
+    err("PROXY_SSL_VERIFYPEER", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_SSL_VERIFYHOST, 0L);
+  if(UNEX(res)) {
+    err("PROXY_SSL_VERIFYHOST", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_SSL_VERIFYHOST, 22L);
+  if(UNEX(res)) {
+    err("PROXY_SSL_VERIFYHOST", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_SSL_VERIFYHOST, LO);
+  if(UNEX(res)) {
+    err("PROXY_SSL_VERIFYHOST", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_SSL_VERIFYHOST, HI);
+  if(UNEX(res)) {
+    err("PROXY_SSL_VERIFYHOST", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_SSLVERSION, 0L);
+  if(UNEX(res)) {
+    err("PROXY_SSLVERSION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_SSLVERSION, 22L);
+  if(UNEX(res)) {
+    err("PROXY_SSLVERSION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_SSLVERSION, LO);
+  if(UNEX(res)) {
+    err("PROXY_SSLVERSION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_SSLVERSION, HI);
+  if(UNEX(res)) {
+    err("PROXY_SSLVERSION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_TLSAUTH_USERNAME, "string");
+  if(UNEX(res)) {
+    err("PROXY_TLSAUTH_USERNAME", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_TLSAUTH_USERNAME, NULL);
+  if(UNEX(res)) {
+    err("PROXY_TLSAUTH_USERNAME", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_TLSAUTH_PASSWORD, "string");
+  if(UNEX(res)) {
+    err("PROXY_TLSAUTH_PASSWORD", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_TLSAUTH_PASSWORD, NULL);
+  if(UNEX(res)) {
+    err("PROXY_TLSAUTH_PASSWORD", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_TLSAUTH_TYPE, "string");
+  if(UNEX(res)) {
+    err("PROXY_TLSAUTH_TYPE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_TLSAUTH_TYPE, NULL);
+  if(UNEX(res)) {
+    err("PROXY_TLSAUTH_TYPE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_SSLCERT, "string");
+  if(UNEX(res)) {
+    err("PROXY_SSLCERT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_SSLCERT, NULL);
+  if(UNEX(res)) {
+    err("PROXY_SSLCERT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_SSLCERTTYPE, "string");
+  if(UNEX(res)) {
+    err("PROXY_SSLCERTTYPE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_SSLCERTTYPE, NULL);
+  if(UNEX(res)) {
+    err("PROXY_SSLCERTTYPE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_SSLKEY, "string");
+  if(UNEX(res)) {
+    err("PROXY_SSLKEY", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_SSLKEY, NULL);
+  if(UNEX(res)) {
+    err("PROXY_SSLKEY", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_SSLKEYTYPE, "string");
+  if(UNEX(res)) {
+    err("PROXY_SSLKEYTYPE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_SSLKEYTYPE, NULL);
+  if(UNEX(res)) {
+    err("PROXY_SSLKEYTYPE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_KEYPASSWD, "string");
+  if(UNEX(res)) {
+    err("PROXY_KEYPASSWD", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_KEYPASSWD, NULL);
+  if(UNEX(res)) {
+    err("PROXY_KEYPASSWD", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_SSL_CIPHER_LIST, "string");
+  if(UNEX(res)) {
+    err("PROXY_SSL_CIPHER_LIST", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_SSL_CIPHER_LIST, NULL);
+  if(UNEX(res)) {
+    err("PROXY_SSL_CIPHER_LIST", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_CRLFILE, "string");
+  if(UNEX(res)) {
+    err("PROXY_CRLFILE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_CRLFILE, NULL);
+  if(UNEX(res)) {
+    err("PROXY_CRLFILE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_SSL_OPTIONS, 0L);
+  if(UNEX(res)) {
+    err("PROXY_SSL_OPTIONS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_SSL_OPTIONS, 22L);
+  if(UNEX(res)) {
+    err("PROXY_SSL_OPTIONS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_SSL_OPTIONS, LO);
+  if(UNEX(res)) {
+    err("PROXY_SSL_OPTIONS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_SSL_OPTIONS, HI);
+  if(UNEX(res)) {
+    err("PROXY_SSL_OPTIONS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PRE_PROXY, "string");
+  if(UNEX(res)) {
+    err("PRE_PROXY", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PRE_PROXY, NULL);
+  if(UNEX(res)) {
+    err("PRE_PROXY", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_PINNEDPUBLICKEY, "string");
+  if(UNEX(res)) {
+    err("PROXY_PINNEDPUBLICKEY", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_PROXY_PINNEDPUBLICKEY, NULL);
+  if(UNEX(res)) {
+    err("PROXY_PINNEDPUBLICKEY", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_ABSTRACT_UNIX_SOCKET, "string");
+  if(UNEX(res)) {
+    err("ABSTRACT_UNIX_SOCKET", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_ABSTRACT_UNIX_SOCKET, NULL);
+  if(UNEX(res)) {
+    err("ABSTRACT_UNIX_SOCKET", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SUPPRESS_CONNECT_HEADERS, 0L);
+  if(UNEX(res)) {
+    err("SUPPRESS_CONNECT_HEADERS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SUPPRESS_CONNECT_HEADERS, 22L);
+  if(UNEX(res)) {
+    err("SUPPRESS_CONNECT_HEADERS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SUPPRESS_CONNECT_HEADERS, LO);
+  if(UNEX(res)) {
+    err("SUPPRESS_CONNECT_HEADERS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_SUPPRESS_CONNECT_HEADERS, HI);
+  if(UNEX(res)) {
+    err("SUPPRESS_CONNECT_HEADERS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_EFFECTIVE_URL, &charp);
+  if(UNEX(res)) {
+    geterr("EFFECTIVE_URL", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &val);
+  if(UNEX(res)) {
+    geterr("RESPONSE_CODE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_TOTAL_TIME, &dval);
+  if(UNEX(res)) {
+    geterr("TOTAL_TIME", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_NAMELOOKUP_TIME, &dval);
+  if(UNEX(res)) {
+    geterr("NAMELOOKUP_TIME", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_CONNECT_TIME, &dval);
+  if(UNEX(res)) {
+    geterr("CONNECT_TIME", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_PRETRANSFER_TIME, &dval);
+  if(UNEX(res)) {
+    geterr("PRETRANSFER_TIME", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_SIZE_UPLOAD, &dval);
+  if(UNEX(res)) {
+    geterr("SIZE_UPLOAD", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_SIZE_DOWNLOAD, &dval);
+  if(UNEX(res)) {
+    geterr("SIZE_DOWNLOAD", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_SPEED_DOWNLOAD, &dval);
+  if(UNEX(res)) {
+    geterr("SPEED_DOWNLOAD", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_SPEED_UPLOAD, &dval);
+  if(UNEX(res)) {
+    geterr("SPEED_UPLOAD", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_HEADER_SIZE, &val);
+  if(UNEX(res)) {
+    geterr("HEADER_SIZE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_REQUEST_SIZE, &val);
+  if(UNEX(res)) {
+    geterr("REQUEST_SIZE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_SSL_VERIFYRESULT, &val);
+  if(UNEX(res)) {
+    geterr("SSL_VERIFYRESULT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_FILETIME, &val);
+  if(UNEX(res)) {
+    geterr("FILETIME", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_CONTENT_LENGTH_DOWNLOAD, &dval);
+  if(UNEX(res)) {
+    geterr("CONTENT_LENGTH_DOWNLOAD", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_CONTENT_LENGTH_UPLOAD, &dval);
+  if(UNEX(res)) {
+    geterr("CONTENT_LENGTH_UPLOAD", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_STARTTRANSFER_TIME, &dval);
+  if(UNEX(res)) {
+    geterr("STARTTRANSFER_TIME", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_CONTENT_TYPE, &charp);
+  if(UNEX(res)) {
+    geterr("CONTENT_TYPE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_REDIRECT_TIME, &dval);
+  if(UNEX(res)) {
+    geterr("REDIRECT_TIME", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_REDIRECT_COUNT, &val);
+  if(UNEX(res)) {
+    geterr("REDIRECT_COUNT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_PRIVATE, &charp);
+  if(UNEX(res)) {
+    geterr("PRIVATE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_HTTP_CONNECTCODE, &val);
+  if(UNEX(res)) {
+    geterr("HTTP_CONNECTCODE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_HTTPAUTH_AVAIL, &val);
+  if(UNEX(res)) {
+    geterr("HTTPAUTH_AVAIL", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_PROXYAUTH_AVAIL, &val);
+  if(UNEX(res)) {
+    geterr("PROXYAUTH_AVAIL", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_OS_ERRNO, &val);
+  if(UNEX(res)) {
+    geterr("OS_ERRNO", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_NUM_CONNECTS, &val);
+  if(UNEX(res)) {
+    geterr("NUM_CONNECTS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_SSL_ENGINES, &slist);
+  if(UNEX(res)) {
+    geterr("SSL_ENGINES", res, __LINE__); goto test_cleanup; }
+  if(slist)
+    curl_slist_free_all(slist);
+  res = curl_easy_getinfo(curl, CURLINFO_COOKIELIST, &slist);
+  if(UNEX(res)) {
+    geterr("COOKIELIST", res, __LINE__); goto test_cleanup; }
+  if(slist)
+    curl_slist_free_all(slist);
+  res = curl_easy_getinfo(curl, CURLINFO_LASTSOCKET, &val);
+  if(UNEX(res)) {
+    geterr("LASTSOCKET", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_FTP_ENTRY_PATH, &charp);
+  if(UNEX(res)) {
+    geterr("FTP_ENTRY_PATH", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_REDIRECT_URL, &charp);
+  if(UNEX(res)) {
+    geterr("REDIRECT_URL", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_PRIMARY_IP, &charp);
+  if(UNEX(res)) {
+    geterr("PRIMARY_IP", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_APPCONNECT_TIME, &dval);
+  if(UNEX(res)) {
+    geterr("APPCONNECT_TIME", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_CERTINFO, &certinfo);
+  if(UNEX(res)) {
+    geterr("CERTINFO", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_CONDITION_UNMET, &val);
+  if(UNEX(res)) {
+    geterr("CONDITION_UNMET", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_RTSP_SESSION_ID, &charp);
+  if(UNEX(res)) {
+    geterr("RTSP_SESSION_ID", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_RTSP_CLIENT_CSEQ, &val);
+  if(UNEX(res)) {
+    geterr("RTSP_CLIENT_CSEQ", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_RTSP_SERVER_CSEQ, &val);
+  if(UNEX(res)) {
+    geterr("RTSP_SERVER_CSEQ", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_RTSP_CSEQ_RECV, &val);
+  if(UNEX(res)) {
+    geterr("RTSP_CSEQ_RECV", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_PRIMARY_PORT, &val);
+  if(UNEX(res)) {
+    geterr("PRIMARY_PORT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_LOCAL_IP, &charp);
+  if(UNEX(res)) {
+    geterr("LOCAL_IP", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_LOCAL_PORT, &val);
+  if(UNEX(res)) {
+    geterr("LOCAL_PORT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_TLS_SESSION, &tlssession);
+  if(UNEX(res)) {
+    geterr("TLS_SESSION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_ACTIVESOCKET, &sockfd);
+  if(UNEX(res)) {
+    geterr("ACTIVESOCKET", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_TLS_SSL_PTR, &tlssession);
+  if(UNEX(res)) {
+    geterr("TLS_SSL_PTR", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_HTTP_VERSION, &val);
+  if(UNEX(res)) {
+    geterr("HTTP_VERSION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_PROXY_SSL_VERIFYRESULT, &val);
+  if(UNEX(res)) {
+    geterr("PROXY_SSL_VERIFYRESULT", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_PROTOCOL, &val);
+  if(UNEX(res)) {
+    geterr("PROTOCOL", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_SCHEME, &charp);
+  if(UNEX(res)) {
+    geterr("SCHEME", res, __LINE__); goto test_cleanup; }
   curl_easy_setopt(curl, 1, 0);
-
+  res = CURLE_OK;
 test_cleanup:
   curl_easy_cleanup(curl);
   curl_easy_cleanup(dep);
   curl_share_cleanup(share);
 
-  return res;
+  return (int)res;
 }
diff --git a/tests/libtest/mk-lib1521.pl b/tests/libtest/mk-lib1521.pl
index 406a88306..87b2f3092 100644
--- a/tests/libtest/mk-lib1521.pl
+++ b/tests/libtest/mk-lib1521.pl
@@ -67,6 +67,20 @@ struct data {
 #define OFF_HI (curl_off_t) HI
 #define OFF_NO (curl_off_t) 0
 
+/* Unexpected error.
+    CURLE_NOT_BUILT_IN   - means disabled at build
+    CURLE_UNKNOWN_OPTION - means no such option (anymore?)
+    CURLE_SSL_ENGINE_NOTFOUND - set unkown ssl engine
+    CURLE_UNSUPPORTED_PROTOCOL - set bad HTTP version
+    CURLE_BAD_FUNCTION_ARGUMENT - unsupported value
+   */
+#define UNEX(x) ((x) && \\
+                 ((x) != CURLE_NOT_BUILT_IN) && \\
+                 ((x) != CURLE_UNKNOWN_OPTION) && \\
+                 ((x) != CURLE_SSL_ENGINE_NOTFOUND) && \\
+                 ((x) != CURLE_UNSUPPORTED_PROTOCOL) && \\
+                 ((x) != CURLE_BAD_FUNCTION_ARGUMENT) )
+
 static size_t writecb(char *buffer, size_t size, size_t nitems,
                       void *outstream)
 {
@@ -89,6 +103,20 @@ static size_t readcb(char *buffer,
   return 0;
 }
 
+static int err(const char *name, CURLcode val, int lineno)
+{
+  printf("CURLOPT_%s returned %d, \\"%s\\" on line %d\\n",
+         name, val, curl_easy_strerror(val), lineno);
+  return (int)val;
+}
+
+static int geterr(const char *name, CURLcode val, int lineno)
+{
+  printf("CURLINFO_%s returned %d, \\"%s\\" on line %d\\n",
+         name, val, curl_easy_strerror(val), lineno);
+  return (int)val;
+}
+
 curl_progress_callback progresscb;
 curl_write_callback headercb;
 curl_debug_callback debugcb;
@@ -106,7 +134,6 @@ curl_xferinfo_callback xferinfocb;
 
 int test(char *URL)
 {
-  int res = 0;
   CURL *curl = NULL;
   CURL *dep = NULL;
   CURLSH *share = NULL;
@@ -120,6 +147,13 @@ int test(char *URL)
   struct curl_httppost *httppost=NULL;
   FILE *stream = stderr;
   struct data object;
+  char *charp;
+  long val;
+  double dval;
+  curl_socket_t sockfd;
+  struct curl_certinfo *certinfo;
+  struct curl_tlssessioninfo *tlssession;
+  CURLcode res = CURLE_OK;
   (void)URL; /* not used */
   easy_init(dep);
   easy_init(curl);
@@ -136,31 +170,34 @@ while(<STDIN>) {
     if($_ =~ /^  CINIT\(([^ ]*), ([^ ]*), (\d*)\)/) {
         my ($name, $type, $val)=($1, $2, $3);
         my $w="  ";
-        my $pref = "$w(void)curl_easy_setopt(curl, CURLOPT_$name,";
+        my $pref = "${w}res = curl_easy_setopt(curl, CURLOPT_$name,";
         my $i = ' ' x (length($w) + 23);
+        my $check = "  if(UNEX(res)) {\n    err(\"$name\", res, __LINE__); 
goto test_cleanup; }\n";
         if($type eq "STRINGPOINT") {
-            print "${pref} \"string\");\n";
-            print "${pref} NULL);\n";
+            print "${pref} \"string\");\n$check";
+            print "${pref} NULL);\n$check";
         }
         elsif($type eq "LONG") {
-            print "${pref} 0L);\n";
-            print "${pref} 22L);\n";
-            print "${pref} LO);\n";
-            print "${pref} HI);\n";
+            print "${pref} 0L);\n$check";
+            print "${pref} 22L);\n$check";
+            print "${pref} LO);\n$check";
+            print "${pref} HI);\n$check";
         }
         elsif($type eq "OBJECTPOINT") {
             if($name =~ /DEPENDS/) {
-              print "${pref} dep);\n";
+              print "${pref} dep);\n$check";
             }
             elsif($name =~ "SHARE") {
-              print "${pref} share);\n";
+              print "${pref} share);\n$check";
             }
             elsif($name eq "ERRORBUFFER") {
-              print "${pref} errorbuffer);\n";
+              print "${pref} errorbuffer);\n$check";
             }
             elsif(($name eq "POSTFIELDS") ||
                   ($name eq "COPYPOSTFIELDS")) {
-              print "${pref} stringpointerextra);\n";
+              # set size to zero to avoid it being "illegal"
+              print "  (void)curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, 
0);\n";
+              print "${pref} stringpointerextra);\n$check";
             }
             elsif(($name eq "HTTPHEADER") ||
                   ($name eq "POSTQUOTE") ||
@@ -171,51 +208,91 @@ while(<STDIN>) {
                   ($name eq "RESOLVE") ||
                   ($name eq "PROXYHEADER") ||
                   ($name eq "QUOTE")) {
-              print "${pref} slist);\n";
+              print "${pref} slist);\n$check";
             }
             elsif($name eq "HTTPPOST") {
-              print "${pref} httppost);\n";
+              print "${pref} httppost);\n$check";
             }
             elsif($name eq "STDERR") {
-              print "${pref} stream);\n";
+              print "${pref} stream);\n$check";
             }
             else {
-              print "${pref} &object);\n";
+              print "${pref} &object);\n$check";
             }
-            print "${pref} NULL);\n";
+            print "${pref} NULL);\n$check";
         }
         elsif($type eq "FUNCTIONPOINT") {
             if($name =~ /([^ ]*)FUNCTION/) {
               my $l=lc($1);
-              print "${pref}\n$i${l}cb);\n";
+              print "${pref}\n$i${l}cb);\n$check";
             }
             else {
-              print "${pref} &func);\n";
+              print "${pref} &func);\n$check";
             }
-            print "${pref} NULL);\n";
+            print "${pref} NULL);\n$check";
         }
         elsif($type eq "OFF_T") {
             # play conservative to work with 32bit curl_off_t
-            print "${pref} OFF_NO);\n";
-            print "${pref} OFF_VAL);\n";
-            print "${pref} OFF_LO);\n";
+            print "${pref} OFF_NO);\n$check";
+            print "${pref} OFF_VAL);\n$check";
+            print "${pref} OFF_LO);\n$check";
         }
         else {
-            print "\n---- $type\n";
+            print STDERR "\n---- $type\n";
         }
     }
+    elsif($_ =~ /^  CURLINFO_NONE/) {
+       $infomode = 1;
+    }
+    elsif($infomode &&
+          ($_ =~ /^  CURLINFO_([^ ]*) *= *CURLINFO_([^ ]*)/)) {
+       my ($info, $type)=($1, $2);
+       my $c = "  res = curl_easy_getinfo(curl, CURLINFO_$info,";
+       my $check = "  if(UNEX(res)) {\n    geterr(\"$info\", res, __LINE__); 
goto test_cleanup; }\n";
+       if($type eq "STRING") {
+         print "$c &charp);\n$check";
+       }
+       elsif($type eq "LONG") {
+         print "$c &val);\n$check";
+       }
+       elsif($type eq "DOUBLE") {
+         print "$c &dval);\n$check";
+       }
+       elsif($type eq "SLIST") {
+         print "$c &slist);\n$check";
+         print "  if(slist)\n    curl_slist_free_all(slist);\n";
+       }
+       elsif($type eq "SOCKET") {
+         print "$c &sockfd);\n$check";
+       }
+       elsif($type eq "PTR") {
+         if($info eq "CERTINFO") {
+            print "$c &certinfo);\n$check";
+         }
+         elsif(($info eq "TLS_SESSION") ||
+               ($info eq "TLS_SSL_PTR")) {
+            print "$c &tlssession);\n$check";
+         }
+         else {
+            print STDERR "$info/$type is unsupported\n";
+         }
+       }
+       else {
+         print STDERR "$type is unsupported\n";
+       }
+    }
 }
 
 
 print <<FOOTER
   curl_easy_setopt(curl, 1, 0);
-
+  res = CURLE_OK;
 test_cleanup:
   curl_easy_cleanup(curl);
   curl_easy_cleanup(dep);
   curl_share_cleanup(share);
 
-  return res;
+  return (int)res;
 }
 FOOTER
     ;

-- 
To stop receiving notification emails like this one, please contact
address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]