gnunet-svn
[Top][All Lists]
Advanced

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

[libmicrohttpd] 03/03: test_parse_cookie: split into two tests


From: gnunet
Subject: [libmicrohttpd] 03/03: test_parse_cookie: split into two tests
Date: Sun, 15 May 2022 19:30:58 +0200

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

karlson2k pushed a commit to branch master
in repository libmicrohttpd.

commit a76f989d572ad0c5cea6d7b9e008e4b13b24f364
Author: Evgeny Grin (Karlson2k) <k2k@narod.ru>
AuthorDate: Sun May 15 20:30:10 2022 +0300

    test_parse_cookie: split into two tests
    
    One test with valid cookie, second test with invalid/empty cookies
---
 src/testcurl/Makefile.am          |   4 +
 src/testcurl/test_parse_cookies.c | 231 +++++++++++++++++++++++++++++++-------
 2 files changed, 196 insertions(+), 39 deletions(-)

diff --git a/src/testcurl/Makefile.am b/src/testcurl/Makefile.am
index cc67b87a..58158b18 100644
--- a/src/testcurl/Makefile.am
+++ b/src/testcurl/Makefile.am
@@ -103,6 +103,7 @@ check_PROGRAMS = \
   test_process_headers \
   test_process_arguments \
   test_parse_cookies \
+  test_parse_cookies_invalid \
   test_toolarge_method \
   test_toolarge_url \
   test_toolarge_request_header_name \
@@ -330,6 +331,9 @@ test_process_headers_SOURCES = \
 test_parse_cookies_SOURCES = \
   test_parse_cookies.c mhd_has_in_name.h
 
+test_parse_cookies_invalid_SOURCES = \
+  test_parse_cookies.c mhd_has_in_name.h
+
 test_process_arguments_SOURCES = \
   test_process_arguments.c mhd_has_in_name.h
 
diff --git a/src/testcurl/test_parse_cookies.c 
b/src/testcurl/test_parse_cookies.c
index af86f14f..7de83c32 100644
--- a/src/testcurl/test_parse_cookies.c
+++ b/src/testcurl/test_parse_cookies.c
@@ -40,7 +40,7 @@
 #include <unistd.h>
 #endif
 
-static int oneone;
+static int use_invalid;
 
 struct CBC
 {
@@ -119,10 +119,10 @@ ahc_echo (void *cls,
       fprintf (stderr, "'name5' cookie decoded incorrectly.\n");
       exit (11);
     }
-    if (4 != MHD_get_connection_values_n (connection, MHD_COOKIE_KIND,
+    if (5 != MHD_get_connection_values_n (connection, MHD_COOKIE_KIND,
                                           NULL, NULL))
     {
-      fprintf (stderr, "The total number of cookie is not four.\n");
+      fprintf (stderr, "The total number of cookie is not five.\n");
       exit (12);
     }
   }
@@ -149,7 +149,7 @@ ahc_echo (void *cls,
 static unsigned int port;
 
 static unsigned int
-testExternalGet (int use_invalid)
+testExternalGet (int test_number)
 {
   struct MHD_Daemon *d;
   CURL *c;
@@ -196,44 +196,192 @@ testExternalGet (int use_invalid)
   curl_easy_setopt (c, CURLOPT_WRITEFUNCTION, &copyBuffer);
   curl_easy_setopt (c, CURLOPT_WRITEDATA, &cbc);
   curl_easy_setopt (c, CURLOPT_FAILONERROR, 1L);
-  if (0 == use_invalid)
+  if (! use_invalid)
   {
-    curl_easy_setopt (c, CURLOPT_COOKIE,
-                      "name1=var1; name2=var2; name3=; " \
-                      "name4=\"var4 with spaces\"; " \
-                      "name5=var_with_=_char" \
-                      " ;   ;; ;");
-  }
-  else if (1 == use_invalid)
-  {
-    curl_easy_setopt (c, CURLOPT_COOKIE,
-                      "var1=value1;=;");
-  }
-  else if (2 == use_invalid)
-  {
-    curl_easy_setopt (c, CURLOPT_COOKIE,
-                      "=");
-  }
-  else if (3 == use_invalid)
-  {
-    curl_easy_setopt (c, CURLOPT_COOKIE,
-                      ";=");
-  }
-  else if (4 == use_invalid)
-  {
-    curl_easy_setopt (c, CURLOPT_COOKIE,
-                      "=;");
+    if (0 == test_number)
+    {
+      curl_easy_setopt (c, CURLOPT_COOKIE,
+                        "name1=var1; name2=var2; name3=; " \
+                        "name4=\"var4 with spaces\"; " \
+                        "name5=var_with_=_char");
+    }
+    else if (1 == test_number)
+    {
+      curl_easy_setopt (c, CURLOPT_COOKIE,
+                        "name1=var1;name2=var2;name3=;" \
+                        "name4=\"var4 with spaces\";" \
+                        "name5=var_with_=_char");
+    }
+    else if (2 == test_number)
+    {
+      curl_easy_setopt (c, CURLOPT_COOKIE,
+                        "name1=var1;  name2=var2;  name3=;  " \
+                        "name4=\"var4 with spaces\";  " \
+                        "name5=var_with_=_char\t \t");
+    }
+    else if (3 == test_number)
+    {
+      curl_easy_setopt (c, CURLOPT_COOKIE,
+                        "name1=var1;;name2=var2;;name3=;;" \
+                        "name4=\"var4 with spaces\";;" \
+                        "name5=var_with_=_char;\t \t");
+    }
+    else if (4 == test_number)
+    {
+      curl_easy_setopt (c, CURLOPT_COOKIE,
+                        "name1=var1 ;name2=var2 ;name3= ;" \
+                        "name4=\"var4 with spaces\" ;" \
+                        "name5=var_with_=_char ;");
+    }
+    else if (5 == test_number)
+    {
+      curl_easy_setopt (c, CURLOPT_COOKIE,
+                        "name3=; name1=var1; name2=var2; " \
+                        "name5=var_with_=_char;" \
+                        "name4=\"var4 with spaces\"");
+    }
+    else if (6 == test_number)
+    {
+      curl_easy_setopt (c, CURLOPT_COOKIE,
+                        "name2=var2; name1=var1; " \
+                        "name5=var_with_=_char; name3=; " \
+                        "name4=\"var4 with spaces\";");
+    }
+    else if (7 == test_number)
+    {
+      curl_easy_setopt (c, CURLOPT_COOKIE,
+                        "name2=var2; name1=var1; " \
+                        "name5=var_with_=_char; " \
+                        "name4=\"var4 with spaces\"; name3=");
+    }
+    else if (8 == test_number)
+    {
+      curl_easy_setopt (c, CURLOPT_COOKIE,
+                        "name2=var2; name1=var1; " \
+                        "name4=\"var4 with spaces\"; " \
+                        "name5=var_with_=_char; name3=;");
+    }
+    else if (9 == test_number)
+    {
+      curl_easy_setopt (c, CURLOPT_COOKIE,
+                        ";;;;;;;;name1=var1; name2=var2; name3=; " \
+                        "name4=\"var4 with spaces\"; " \
+                        "name5=var_with_=_char");
+    }
+    else if (10 == test_number)
+    {
+      curl_easy_setopt (c, CURLOPT_COOKIE,
+                        "name1=var1; name2=var2; name3=; " \
+                        "name4=\"var4 with spaces\"; ; ; ; ; " \
+                        "name5=var_with_=_char");
+    }
+    else if (11 == test_number)
+    {
+      curl_easy_setopt (c, CURLOPT_COOKIE,
+                        "name1=var1; name2=var2; name3=; " \
+                        "name4=\"var4 with spaces\"; " \
+                        "name5=var_with_=_char;;;;;;;;");
+    }
+    else if (12 == test_number)
+    {
+      curl_easy_setopt (c, CURLOPT_COOKIE,
+                        "name1=var1; name2=var2; " \
+                        "name4=\"var4 with spaces\"" \
+                        "name5=var_with_=_char; ; ; ; ; name3=");
+    }
+    else if (13 == test_number)
+    {
+      curl_easy_setopt (c, CURLOPT_COOKIE,
+                        "name5=var_with_=_char ;" \
+                        "name1=var1; name2=var2; name3=; " \
+                        "name4=\"var4 with spaces\" ");
+    }
+    else if (14 == test_number)
+    {
+      curl_easy_setopt (c, CURLOPT_COOKIE,
+                        "name5=var_with_=_char; name4=\"var4 with spaces\";" \
+                        "name1=var1; name2=var2; name3=");
+    }
   }
-  else if (5 == use_invalid)
+  else
   {
-    curl_easy_setopt (c, CURLOPT_COOKIE,
-                      "a=b,d=c");
+    if (0 == test_number)
+    {
+      (void) 0; /* No cookie */
+    }
+    else if (1 == test_number)
+    {
+      curl_easy_setopt (c, CURLOPT_COOKIE,
+                        "");
+    }
+    else if (2 == test_number)
+    {
+      curl_easy_setopt (c, CURLOPT_COOKIE,
+                        "      ");
+    }
+    else if (3 == test_number)
+    {
+      curl_easy_setopt (c, CURLOPT_COOKIE,
+                        "\t");
+    }
+    else if (4 == test_number)
+    {
+      curl_easy_setopt (c, CURLOPT_COOKIE,
+                        "var=,");
+    }
+    else if (5 == test_number)
+    {
+      curl_easy_setopt (c, CURLOPT_COOKIE,
+                        "var=\"\\ \"");
+    }
+    else if (6 == test_number)
+    {
+      curl_easy_setopt (c, CURLOPT_COOKIE,
+                        "var=value  space");
+    }
+    else if (7 == test_number)
+    {
+      curl_easy_setopt (c, CURLOPT_COOKIE,
+                        "var=value\ttab");
+    }
+    else if (8 == test_number)
+    {
+      curl_easy_setopt (c, CURLOPT_COOKIE,
+                        "=");
+    }
+    else if (9 == test_number)
+    {
+      curl_easy_setopt (c, CURLOPT_COOKIE,
+                        "====");
+    }
+    else if (10 == test_number)
+    {
+      curl_easy_setopt (c, CURLOPT_COOKIE,
+                        ";=");
+    }
+    else if (11 == test_number)
+    {
+      curl_easy_setopt (c, CURLOPT_COOKIE,
+                        "var");
+    }
+    else if (12 == test_number)
+    {
+      curl_easy_setopt (c, CURLOPT_COOKIE,
+                        "=;");
+    }
+    else if (13 == test_number)
+    {
+      curl_easy_setopt (c, CURLOPT_COOKIE,
+                        "= ;");
+    }
+    else if (14 == test_number)
+    {
+      curl_easy_setopt (c, CURLOPT_COOKIE,
+                        ";= ;");
+    }
   }
 
-  if (oneone)
-    curl_easy_setopt (c, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
-  else
-    curl_easy_setopt (c, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
+  curl_easy_setopt (c, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
   curl_easy_setopt (c, CURLOPT_TIMEOUT, 150L);
   curl_easy_setopt (c, CURLOPT_CONNECTTIMEOUT, 150L);
   /* NOTE: use of CONNECTTIMEOUT without also
@@ -365,7 +513,7 @@ main (int argc, char *const *argv)
 
   if ((NULL == argv) || (0 == argv[0]))
     return 99;
-  oneone = has_in_name (argv[0], "11");
+  use_invalid = has_in_name (argv[0], "_invalid");
   if (0 != curl_global_init (CURL_GLOBAL_WIN32))
     return 2;
   if (MHD_NO != MHD_is_feature_supported (MHD_FEATURE_AUTODETECT_BIND_PORT))
@@ -373,7 +521,7 @@ main (int argc, char *const *argv)
   else
   {
     port = 1340;
-    if (oneone)
+    if (use_invalid)
       port += 5;
   }
   errorCount += testExternalGet (0);
@@ -383,6 +531,11 @@ main (int argc, char *const *argv)
   errorCount += testExternalGet (4);
   errorCount += testExternalGet (5);
   errorCount += testExternalGet (6);
+  errorCount += testExternalGet (7);
+  errorCount += testExternalGet (8);
+  errorCount += testExternalGet (9);
+  errorCount += testExternalGet (10);
+  errorCount += testExternalGet (11);
   if (errorCount != 0)
     fprintf (stderr, "Error (code: %u)\n", errorCount);
   curl_global_cleanup ();

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

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