Browse Source

Unit test / AppVeyor: Add printf instrumentation

Try to find a segfault, that only occurs in a unit test on AppVeyor
for debug builds. It does not occur for Linux, and it does not occur
in a local debugger with Visual Studio on windows.
bel2125 7 năm trước cách đây
mục cha
commit
62a547bb10
2 tập tin đã thay đổi với 19 bổ sung1 xóa
  1. 18 0
      test/private.c
  2. 1 1
      test/public_server.c

+ 18 - 0
test/private.c

@@ -493,37 +493,55 @@ START_TEST(test_mg_vsnprintf)
 	char buf[16];
 	char buf[16];
 	int is_trunc;
 	int is_trunc;
 
 
+	printf("test_mg_vsnprintf: %u\n", __LINE__);
+
 	memset(buf, 0, sizeof(buf));
 	memset(buf, 0, sizeof(buf));
 	mark_point();
 	mark_point();
 
 
+	printf("test_mg_vsnprintf: %u\n", __LINE__);
+
 	is_trunc = 777;
 	is_trunc = 777;
 	mg_snprintf(NULL, &is_trunc, buf, 10, "%8i", 123);
 	mg_snprintf(NULL, &is_trunc, buf, 10, "%8i", 123);
 	ck_assert_str_eq(buf, "     123");
 	ck_assert_str_eq(buf, "     123");
 	ck_assert_int_eq(is_trunc, 0);
 	ck_assert_int_eq(is_trunc, 0);
 
 
+	printf("test_mg_vsnprintf: %u\n", __LINE__);
+
 	is_trunc = 777;
 	is_trunc = 777;
 	mg_snprintf(NULL, &is_trunc, buf, 10, "%9i", 123);
 	mg_snprintf(NULL, &is_trunc, buf, 10, "%9i", 123);
 	ck_assert_str_eq(buf, "      123");
 	ck_assert_str_eq(buf, "      123");
 	ck_assert_int_eq(is_trunc, 0);
 	ck_assert_int_eq(is_trunc, 0);
 
 
+	printf("test_mg_vsnprintf: %u\n", __LINE__);
+
 	is_trunc = 777;
 	is_trunc = 777;
 	mg_snprintf(NULL, &is_trunc, buf, 9, "%9i", 123);
 	mg_snprintf(NULL, &is_trunc, buf, 9, "%9i", 123);
 	ck_assert_str_eq(buf, "      12");
 	ck_assert_str_eq(buf, "      12");
 	ck_assert_int_eq(is_trunc, 1);
 	ck_assert_int_eq(is_trunc, 1);
 
 
+	printf("test_mg_vsnprintf: %u\n", __LINE__);
+
 	is_trunc = 777;
 	is_trunc = 777;
 	mg_snprintf(NULL, &is_trunc, buf, 8, "%9i", 123);
 	mg_snprintf(NULL, &is_trunc, buf, 8, "%9i", 123);
 	ck_assert_str_eq(buf, "      1");
 	ck_assert_str_eq(buf, "      1");
 	ck_assert_int_eq(is_trunc, 1);
 	ck_assert_int_eq(is_trunc, 1);
 
 
+	printf("test_mg_vsnprintf: %u\n", __LINE__);
+
 	is_trunc = 777;
 	is_trunc = 777;
 	mg_snprintf(NULL, &is_trunc, buf, 7, "%9i", 123);
 	mg_snprintf(NULL, &is_trunc, buf, 7, "%9i", 123);
 	ck_assert_str_eq(buf, "      ");
 	ck_assert_str_eq(buf, "      ");
 	ck_assert_int_eq(is_trunc, 1);
 	ck_assert_int_eq(is_trunc, 1);
 
 
+	printf("test_mg_vsnprintf: %u\n", __LINE__);
+
+	is_trunc = 777;
 	strcpy(buf, "1234567890");
 	strcpy(buf, "1234567890");
 	mg_snprintf(NULL, &is_trunc, buf, 0, "%i", 543);
 	mg_snprintf(NULL, &is_trunc, buf, 0, "%i", 543);
 	ck_assert_str_eq(buf, "1234567890");
 	ck_assert_str_eq(buf, "1234567890");
+	ck_assert_int_eq(is_trunc, 1);
+
+	printf("test_mg_vsnprintf: %u\n", __LINE__);
 }
 }
 END_TEST
 END_TEST
 
 

+ 1 - 1
test/public_server.c

@@ -4869,7 +4869,7 @@ MAIN_PUBLIC_SERVER(void)
 	test_the_test_environment(0);
 	test_the_test_environment(0);
 	test_threading(0);
 	test_threading(0);
 
 
-	test_minimal_client(0);	
+	test_minimal_client(0);
 
 
 	test_mg_start_stop_http_server(0);
 	test_mg_start_stop_http_server(0);
 	test_mg_start_stop_https_server(0);
 	test_mg_start_stop_https_server(0);