Browse Source

More CI tests

bel 10 years ago
parent
commit
793ef45a10
2 changed files with 56 additions and 0 deletions
  1. 3 0
      test/CMakeLists.txt
  2. 53 0
      test/public.c

+ 3 - 0
test/CMakeLists.txt

@@ -97,8 +97,11 @@ civetweb_add_test(Private "HTTP Message")
 civetweb_add_test(Private "URL Parsing")
 
 # Public API tests
+civetweb_add_test(Public "Version")
+civetweb_add_test(Public "Cookies")
 civetweb_add_test(Public "URL encoding decoding")
 civetweb_add_test(Public "Cookies")
+civetweb_add_test(Public "MD5")
 civetweb_add_test(Public "Start Stop HTTP Server")
 #civetweb_add_test(Public "Start Stop HTTPS Server")
 

+ 53 - 0
test/public.c

@@ -38,6 +38,25 @@
  * http://check.sourceforge.net/doc/check_html/index.html
  */
 
+START_TEST (test_mg_version)
+{
+  const char *ver = mg_version();
+  unsigned major=0, minor=0;
+  int ret;
+
+  ck_assert(ver != NULL);
+  ck_assert_str_eq(ver, CIVETWEB_VERSION);
+
+  /* check structure of version string */
+  ret = sscanf(ver, "%u.%u", &major, &minor);
+  ck_assert_int_eq(ret, 2);
+  ck_assert_uint_ge(major, 1);
+
+}
+END_TEST
+
+
+
 START_TEST (test_mg_get_cookie)
 {
   char buf[20];
@@ -57,6 +76,32 @@ START_TEST (test_mg_get_cookie)
 END_TEST
 
 
+START_TEST (test_mg_md5)
+{
+  char buf[33];
+  char *ret;
+
+  memset(buf, 77, sizeof(buf));
+  ret = mg_md5(buf, NULL);
+  ck_assert_str_eq(buf, "d41d8cd98f00b204e9800998ecf8427e");
+  ck_assert_str_eq(ret, "d41d8cd98f00b204e9800998ecf8427e");
+  ck_assert_ptr_eq(ret, buf);
+
+  memset(buf, 77, sizeof(buf));
+  ret = mg_md5(buf, "The quick brown fox jumps over the lazy dog.", NULL);
+  ck_assert_str_eq(buf, "e4d909c290d0fb1ca068ffaddf22cbd0");
+  ck_assert_str_eq(ret, "e4d909c290d0fb1ca068ffaddf22cbd0");
+  ck_assert_ptr_eq(ret, buf);
+
+  memset(buf, 77, sizeof(buf));
+  ret = mg_md5(buf, "", "The qu", "ick bro", "", "wn fox ju", "m", "ps over the la", "", "", "zy dog.", "", NULL);
+  ck_assert_str_eq(buf, "e4d909c290d0fb1ca068ffaddf22cbd0");
+  ck_assert_str_eq(ret, "e4d909c290d0fb1ca068ffaddf22cbd0");
+  ck_assert_ptr_eq(ret, buf);
+}
+END_TEST
+
+
 START_TEST (test_mg_url_encode)
 {
   char buf[20];
@@ -146,11 +191,16 @@ Suite * make_public_suite (void) {
 
   Suite * const suite = suite_create("Public");
 
+  TCase * const version = tcase_create("Version");
   TCase * const urlencodingdecoding = tcase_create("URL encoding decoding");
   TCase * const cookies = tcase_create("Cookies");
+  TCase * const md5 = tcase_create("MD5");
   TCase * const startstophttp = tcase_create("Start Stop HTTP Server");
   TCase * const startstophttps = tcase_create("Start Stop HTTPS Server");
 
+  tcase_add_test(version, test_mg_version);
+  suite_add_tcase(suite, version);
+
   tcase_add_test(urlencodingdecoding, test_mg_url_encode);
   tcase_add_test(urlencodingdecoding, test_mg_url_decode);
   suite_add_tcase(suite, urlencodingdecoding);
@@ -158,6 +208,9 @@ Suite * make_public_suite (void) {
   tcase_add_test(cookies, test_mg_get_cookie);
   suite_add_tcase(suite, cookies);
 
+  tcase_add_test(md5, test_mg_md5);
+  suite_add_tcase(suite, md5);
+
   tcase_add_test(startstophttp, test_mg_start_stop_http_server);
   suite_add_tcase(suite, startstophttp);