ソースを参照

Adapt unit test for the new parameter of parse_port_string

bel 8 年 前
コミット
be17586511
1 ファイル変更15 行追加2 行削除
  1. 15 2
      test/private.c

+ 15 - 2
test/private.c

@@ -413,24 +413,36 @@ START_TEST(test_parse_port_string)
 	  "[::1]:123",
 	  "[::1]:123",
 	  "[::]:80",
 	  "[::]:80",
 	  "[3ffe:2a00:100:7031::1]:900",
 	  "[3ffe:2a00:100:7031::1]:900",
+	  "+80",
 #endif
 #endif
 	  NULL };
 	  NULL };
 	static const char *invalid[] = {
 	static const char *invalid[] = {
 	    "99999", "1k", "1.2.3", "1.2.3.4:", "1.2.3.4:2p", NULL};
 	    "99999", "1k", "1.2.3", "1.2.3.4:", "1.2.3.4:2p", NULL};
 	struct socket so;
 	struct socket so;
 	struct vec vec;
 	struct vec vec;
+	int ip_family;
 	int i;
 	int i;
 
 
 	for (i = 0; valid[i] != NULL; i++) {
 	for (i = 0; valid[i] != NULL; i++) {
 		vec.ptr = valid[i];
 		vec.ptr = valid[i];
 		vec.len = strlen(vec.ptr);
 		vec.len = strlen(vec.ptr);
-		ck_assert(parse_port_string(&vec, &so) != 0);
+		ip_family = 123;
+		ck_assert_int_ne(parse_port_string(&vec, &so, &ip_family), 0);
+		if (i < 7) {
+			ck_assert_int_eq(ip_family, 4);
+		} else if (i < 7) {
+			ck_assert_int_eq(ip_family, 6);
+		} else {
+			ck_assert_int_eq(ip_family, 4 + 6);
+		}
 	}
 	}
 
 
 	for (i = 0; invalid[i] != NULL; i++) {
 	for (i = 0; invalid[i] != NULL; i++) {
 		vec.ptr = invalid[i];
 		vec.ptr = invalid[i];
 		vec.len = strlen(vec.ptr);
 		vec.len = strlen(vec.ptr);
-		ck_assert(parse_port_string(&vec, &so) == 0);
+		ip_family = 123;
+		ck_assert_int_eq(parse_port_string(&vec, &so, &ip_family), 0);
+		ck_assert_int_eq(ip_family, 0);
 	}
 	}
 }
 }
 END_TEST
 END_TEST
@@ -712,6 +724,7 @@ MAIN_PRIVATE(void)
 	test_mg_vsnprintf(0);
 	test_mg_vsnprintf(0);
 	test_remove_double_dots_and_double_slashes(0);
 	test_remove_double_dots_and_double_slashes(0);
 	test_parse_date_string(0);
 	test_parse_date_string(0);
+	test_parse_port_string(0);
 	test_parse_http_message(0);
 	test_parse_http_message(0);
 }
 }