|
@@ -232,6 +232,7 @@ START_TEST(test_threading)
|
|
}
|
|
}
|
|
END_TEST
|
|
END_TEST
|
|
|
|
|
|
|
|
+static const char *lastMessage = NULL;
|
|
|
|
|
|
static int
|
|
static int
|
|
log_msg_func(const struct mg_connection *conn, const char *message)
|
|
log_msg_func(const struct mg_connection *conn, const char *message)
|
|
@@ -250,6 +251,7 @@ log_msg_func(const struct mg_connection *conn, const char *message)
|
|
|
|
|
|
printf("LOG_MSG_FUNC: %s\n", message);
|
|
printf("LOG_MSG_FUNC: %s\n", message);
|
|
mark_point();
|
|
mark_point();
|
|
|
|
+ lastMessage = message;
|
|
|
|
|
|
return 1; /* Return 1 means "already handled" */
|
|
return 1; /* Return 1 means "already handled" */
|
|
}
|
|
}
|
|
@@ -262,6 +264,7 @@ test_log_message(const struct mg_connection *conn, const char *message)
|
|
|
|
|
|
printf("LOG_MESSAGE: %s\n", message);
|
|
printf("LOG_MESSAGE: %s\n", message);
|
|
mark_point();
|
|
mark_point();
|
|
|
|
+ lastMessage = message;
|
|
|
|
|
|
return 0; /* Return 0 means "not yet handled" */
|
|
return 0; /* Return 0 means "not yet handled" */
|
|
}
|
|
}
|
|
@@ -270,7 +273,8 @@ test_log_message(const struct mg_connection *conn, const char *message)
|
|
static struct mg_context *
|
|
static struct mg_context *
|
|
test_mg_start(const struct mg_callbacks *callbacks,
|
|
test_mg_start(const struct mg_callbacks *callbacks,
|
|
void *user_data,
|
|
void *user_data,
|
|
- const char **configuration_options)
|
|
|
|
|
|
+ const char **configuration_options,
|
|
|
|
+ unsigned line)
|
|
{
|
|
{
|
|
struct mg_context *ctx;
|
|
struct mg_context *ctx;
|
|
struct mg_callbacks cb;
|
|
struct mg_callbacks cb;
|
|
@@ -291,9 +295,15 @@ test_mg_start(const struct mg_callbacks *callbacks,
|
|
ctx = mg_start(&cb, user_data, configuration_options);
|
|
ctx = mg_start(&cb, user_data, configuration_options);
|
|
mark_point();
|
|
mark_point();
|
|
if (ctx) {
|
|
if (ctx) {
|
|
- /* Give the server some time to start in the test VM */
|
|
|
|
- /* Don't need to do this if mg_start failed */
|
|
|
|
|
|
+ /* Give the server some time to start in the test VM. */
|
|
|
|
+ /* Don't need to do this if mg_start failed. */
|
|
test_sleep(SLEEP_AFTER_MG_START);
|
|
test_sleep(SLEEP_AFTER_MG_START);
|
|
|
|
+ } else if (line>0) {
|
|
|
|
+ /* mg_start is not supposed to fail anywhere, except for
|
|
|
|
+ * special tests (for them, line is 0). */
|
|
|
|
+ ck_abort_msg("mg_start failed in line %u, message %s",
|
|
|
|
+ line,
|
|
|
|
+ (lastMessage ? lastMessage : "<NULL>"));
|
|
}
|
|
}
|
|
mark_point();
|
|
mark_point();
|
|
|
|
|
|
@@ -302,10 +312,11 @@ test_mg_start(const struct mg_callbacks *callbacks,
|
|
|
|
|
|
|
|
|
|
static void
|
|
static void
|
|
-test_mg_stop(struct mg_context *ctx)
|
|
|
|
|
|
+test_mg_stop(struct mg_context *ctx, unsigned line)
|
|
{
|
|
{
|
|
|
|
+ (void)line;
|
|
#ifdef __MACH__
|
|
#ifdef __MACH__
|
|
- /* For unknown reasons, there are sporadic hands
|
|
|
|
|
|
+ /* For unknown reasons, there are sporadic hangs
|
|
* for OSX if mark_point is called here */
|
|
* for OSX if mark_point is called here */
|
|
test_sleep(SLEEP_BEFORE_MG_STOP);
|
|
test_sleep(SLEEP_BEFORE_MG_STOP);
|
|
mg_stop(ctx);
|
|
mg_stop(ctx);
|
|
@@ -376,7 +387,7 @@ test_mg_start_stop_http_server_impl(int ipv6, int bound)
|
|
|
|
|
|
callbacks.log_message = log_msg_func;
|
|
callbacks.log_message = log_msg_func;
|
|
|
|
|
|
- ctx = test_mg_start(&callbacks, (void *)errmsg, OPTIONS);
|
|
|
|
|
|
+ ctx = test_mg_start(&callbacks, (void *)errmsg, OPTIONS, __LINE__);
|
|
|
|
|
|
ck_assert_str_eq(errmsg, "");
|
|
ck_assert_str_eq(errmsg, "");
|
|
ck_assert(ctx != NULL);
|
|
ck_assert(ctx != NULL);
|
|
@@ -532,7 +543,7 @@ test_mg_start_stop_http_server_impl(int ipv6, int bound)
|
|
test_sleep(1);
|
|
test_sleep(1);
|
|
|
|
|
|
/* End test */
|
|
/* End test */
|
|
- test_mg_stop(ctx);
|
|
|
|
|
|
+ test_mg_stop(ctx, __LINE__);
|
|
mark_point();
|
|
mark_point();
|
|
}
|
|
}
|
|
|
|
|
|
@@ -611,7 +622,7 @@ START_TEST(test_mg_start_stop_https_server)
|
|
|
|
|
|
callbacks.log_message = log_msg_func;
|
|
callbacks.log_message = log_msg_func;
|
|
|
|
|
|
- ctx = test_mg_start(&callbacks, (void *)errmsg, OPTIONS);
|
|
|
|
|
|
+ ctx = test_mg_start(&callbacks, (void *)errmsg, OPTIONS, __LINE__);
|
|
|
|
|
|
ck_assert_str_eq(errmsg, "");
|
|
ck_assert_str_eq(errmsg, "");
|
|
ck_assert(ctx != NULL);
|
|
ck_assert(ctx != NULL);
|
|
@@ -683,7 +694,7 @@ START_TEST(test_mg_start_stop_https_server)
|
|
|
|
|
|
test_sleep(1);
|
|
test_sleep(1);
|
|
|
|
|
|
- test_mg_stop(ctx);
|
|
|
|
|
|
+ test_mg_stop(ctx, __LINE__);
|
|
mark_point();
|
|
mark_point();
|
|
#endif
|
|
#endif
|
|
}
|
|
}
|
|
@@ -748,7 +759,7 @@ START_TEST(test_mg_server_and_client_tls)
|
|
|
|
|
|
callbacks.log_message = log_msg_func;
|
|
callbacks.log_message = log_msg_func;
|
|
|
|
|
|
- ctx = test_mg_start(&callbacks, (void *)errmsg, OPTIONS);
|
|
|
|
|
|
+ ctx = test_mg_start(&callbacks, (void *)errmsg, OPTIONS, __LINE__);
|
|
|
|
|
|
ck_assert_str_eq(errmsg, "");
|
|
ck_assert_str_eq(errmsg, "");
|
|
ck_assert(ctx != NULL);
|
|
ck_assert(ctx != NULL);
|
|
@@ -814,7 +825,7 @@ START_TEST(test_mg_server_and_client_tls)
|
|
|
|
|
|
test_sleep(1);
|
|
test_sleep(1);
|
|
|
|
|
|
- test_mg_stop(ctx);
|
|
|
|
|
|
+ test_mg_stop(ctx, __LINE__);
|
|
#endif
|
|
#endif
|
|
mark_point();
|
|
mark_point();
|
|
}
|
|
}
|
|
@@ -1254,7 +1265,7 @@ START_TEST(test_request_handlers)
|
|
ck_assert(OPTIONS[sizeof(OPTIONS) / sizeof(OPTIONS[0]) - 1] == NULL);
|
|
ck_assert(OPTIONS[sizeof(OPTIONS) / sizeof(OPTIONS[0]) - 1] == NULL);
|
|
ck_assert(OPTIONS[sizeof(OPTIONS) / sizeof(OPTIONS[0]) - 2] == NULL);
|
|
ck_assert(OPTIONS[sizeof(OPTIONS) / sizeof(OPTIONS[0]) - 2] == NULL);
|
|
|
|
|
|
- ctx = test_mg_start(NULL, &g_ctx, OPTIONS);
|
|
|
|
|
|
+ ctx = test_mg_start(NULL, &g_ctx, OPTIONS, __LINE__);
|
|
|
|
|
|
ck_assert(ctx != NULL);
|
|
ck_assert(ctx != NULL);
|
|
g_ctx = ctx;
|
|
g_ctx = ctx;
|
|
@@ -1488,6 +1499,7 @@ START_TEST(test_request_handlers)
|
|
|
|
|
|
#ifdef _WIN32
|
|
#ifdef _WIN32
|
|
f = fopen("test.cgi", "wb");
|
|
f = fopen("test.cgi", "wb");
|
|
|
|
+ ck_assert(f != NULL);
|
|
cgi_script_content = "#!test.cgi.cmd\r\n";
|
|
cgi_script_content = "#!test.cgi.cmd\r\n";
|
|
fwrite(cgi_script_content, strlen(cgi_script_content), 1, f);
|
|
fwrite(cgi_script_content, strlen(cgi_script_content), 1, f);
|
|
fclose(f);
|
|
fclose(f);
|
|
@@ -1502,6 +1514,7 @@ START_TEST(test_request_handlers)
|
|
fclose(f);
|
|
fclose(f);
|
|
#else
|
|
#else
|
|
f = fopen("test.cgi", "w");
|
|
f = fopen("test.cgi", "w");
|
|
|
|
+ ck_assert(f != NULL);
|
|
cgi_script_content = "#!/bin/sh\n\n"
|
|
cgi_script_content = "#!/bin/sh\n\n"
|
|
"printf \"Connection: close\\r\\n\"\n"
|
|
"printf \"Connection: close\\r\\n\"\n"
|
|
"printf \"Content-Type: text/plain\\r\\n\"\n"
|
|
"printf \"Content-Type: text/plain\\r\\n\"\n"
|
|
@@ -2186,7 +2199,7 @@ START_TEST(test_request_handlers)
|
|
|
|
|
|
/* Close the server */
|
|
/* Close the server */
|
|
g_ctx = NULL;
|
|
g_ctx = NULL;
|
|
- test_mg_stop(ctx);
|
|
|
|
|
|
+ test_mg_stop(ctx, __LINE__);
|
|
mark_point();
|
|
mark_point();
|
|
|
|
|
|
#ifdef USE_WEBSOCKET
|
|
#ifdef USE_WEBSOCKET
|
|
@@ -2595,7 +2608,7 @@ START_TEST(test_handle_form)
|
|
ck_assert(OPTIONS[sizeof(OPTIONS) / sizeof(OPTIONS[0]) - 1] == NULL);
|
|
ck_assert(OPTIONS[sizeof(OPTIONS) / sizeof(OPTIONS[0]) - 1] == NULL);
|
|
ck_assert(OPTIONS[sizeof(OPTIONS) / sizeof(OPTIONS[0]) - 2] == NULL);
|
|
ck_assert(OPTIONS[sizeof(OPTIONS) / sizeof(OPTIONS[0]) - 2] == NULL);
|
|
|
|
|
|
- ctx = test_mg_start(NULL, &g_ctx, OPTIONS);
|
|
|
|
|
|
+ ctx = test_mg_start(NULL, &g_ctx, OPTIONS, __LINE__);
|
|
|
|
|
|
ck_assert(ctx != NULL);
|
|
ck_assert(ctx != NULL);
|
|
g_ctx = ctx;
|
|
g_ctx = ctx;
|
|
@@ -3119,7 +3132,7 @@ START_TEST(test_handle_form)
|
|
|
|
|
|
/* Close the server */
|
|
/* Close the server */
|
|
g_ctx = NULL;
|
|
g_ctx = NULL;
|
|
- test_mg_stop(ctx);
|
|
|
|
|
|
+ test_mg_stop(ctx, __LINE__);
|
|
mark_point();
|
|
mark_point();
|
|
}
|
|
}
|
|
END_TEST
|
|
END_TEST
|
|
@@ -3166,7 +3179,7 @@ START_TEST(test_http_auth)
|
|
mark_point();
|
|
mark_point();
|
|
|
|
|
|
/* Start with default options */
|
|
/* Start with default options */
|
|
- ctx = test_mg_start(NULL, NULL, OPTIONS);
|
|
|
|
|
|
+ ctx = test_mg_start(NULL, NULL, OPTIONS, __LINE__);
|
|
|
|
|
|
ck_assert(ctx != NULL);
|
|
ck_assert(ctx != NULL);
|
|
domain = mg_get_option(ctx, "authentication_domain");
|
|
domain = mg_get_option(ctx, "authentication_domain");
|
|
@@ -3456,7 +3469,7 @@ START_TEST(test_http_auth)
|
|
|
|
|
|
|
|
|
|
/* Stop the server and clean up */
|
|
/* Stop the server and clean up */
|
|
- test_mg_stop(ctx);
|
|
|
|
|
|
+ test_mg_stop(ctx, __LINE__);
|
|
(void)remove(test_file);
|
|
(void)remove(test_file);
|
|
(void)remove(passwd_file);
|
|
(void)remove(passwd_file);
|
|
(void)remove("put_delete_auth_file.csv");
|
|
(void)remove("put_delete_auth_file.csv");
|
|
@@ -3493,7 +3506,7 @@ START_TEST(test_keep_alive)
|
|
|
|
|
|
mark_point();
|
|
mark_point();
|
|
|
|
|
|
- ctx = test_mg_start(NULL, NULL, OPTIONS);
|
|
|
|
|
|
+ ctx = test_mg_start(NULL, NULL, OPTIONS, __LINE__);
|
|
|
|
|
|
ck_assert(ctx != NULL);
|
|
ck_assert(ctx != NULL);
|
|
|
|
|
|
@@ -3540,7 +3553,7 @@ START_TEST(test_keep_alive)
|
|
* (will only work if NO_FILES is not set). */
|
|
* (will only work if NO_FILES is not set). */
|
|
|
|
|
|
/* Stop the server and clean up */
|
|
/* Stop the server and clean up */
|
|
- test_mg_stop(ctx);
|
|
|
|
|
|
+ test_mg_stop(ctx, __LINE__);
|
|
|
|
|
|
mark_point();
|
|
mark_point();
|
|
}
|
|
}
|
|
@@ -3587,7 +3600,7 @@ START_TEST(test_error_handling)
|
|
|
|
|
|
/* test with unknown option */
|
|
/* test with unknown option */
|
|
memset(errmsg, 0, sizeof(errmsg));
|
|
memset(errmsg, 0, sizeof(errmsg));
|
|
- ctx = test_mg_start(&callbacks, (void *)errmsg, OPTIONS);
|
|
|
|
|
|
+ ctx = test_mg_start(&callbacks, (void *)errmsg, OPTIONS, 0);
|
|
|
|
|
|
/* Details of errmsg may vary, but it may not be empty */
|
|
/* Details of errmsg may vary, but it may not be empty */
|
|
ck_assert_str_ne(errmsg, "");
|
|
ck_assert_str_ne(errmsg, "");
|
|
@@ -3603,7 +3616,7 @@ START_TEST(test_error_handling)
|
|
|
|
|
|
/* Test with bad num_thread option */
|
|
/* Test with bad num_thread option */
|
|
memset(errmsg, 0, sizeof(errmsg));
|
|
memset(errmsg, 0, sizeof(errmsg));
|
|
- ctx = test_mg_start(&callbacks, (void *)errmsg, OPTIONS);
|
|
|
|
|
|
+ ctx = test_mg_start(&callbacks, (void *)errmsg, OPTIONS, 0);
|
|
|
|
|
|
/* Details of errmsg may vary, but it may not be empty */
|
|
/* Details of errmsg may vary, but it may not be empty */
|
|
ck_assert_str_ne(errmsg, "");
|
|
ck_assert_str_ne(errmsg, "");
|
|
@@ -3619,7 +3632,7 @@ START_TEST(test_error_handling)
|
|
|
|
|
|
/* Test with bad num_thread option */
|
|
/* Test with bad num_thread option */
|
|
memset(errmsg, 0, sizeof(errmsg));
|
|
memset(errmsg, 0, sizeof(errmsg));
|
|
- ctx = test_mg_start(&callbacks, (void *)errmsg, OPTIONS);
|
|
|
|
|
|
+ ctx = test_mg_start(&callbacks, (void *)errmsg, OPTIONS, 0);
|
|
|
|
|
|
/* Details of errmsg may vary, but it may not be empty */
|
|
/* Details of errmsg may vary, but it may not be empty */
|
|
ck_assert_str_ne(errmsg, "");
|
|
ck_assert_str_ne(errmsg, "");
|
|
@@ -3642,7 +3655,7 @@ START_TEST(test_error_handling)
|
|
/* This time start the server with a valid configuration */
|
|
/* This time start the server with a valid configuration */
|
|
sprintf(bad_thread_num, "%i", 1);
|
|
sprintf(bad_thread_num, "%i", 1);
|
|
memset(errmsg, 0, sizeof(errmsg));
|
|
memset(errmsg, 0, sizeof(errmsg));
|
|
- ctx = test_mg_start(&callbacks, (void *)errmsg, OPTIONS);
|
|
|
|
|
|
+ ctx = test_mg_start(&callbacks, (void *)errmsg, OPTIONS, __LINE__);
|
|
|
|
|
|
ck_assert_str_eq(errmsg, "");
|
|
ck_assert_str_eq(errmsg, "");
|
|
ck_assert(ctx != NULL);
|
|
ck_assert(ctx != NULL);
|
|
@@ -3807,7 +3820,7 @@ START_TEST(test_error_handling)
|
|
|
|
|
|
|
|
|
|
/* Stop the server */
|
|
/* Stop the server */
|
|
- test_mg_stop(ctx);
|
|
|
|
|
|
+ test_mg_stop(ctx, __LINE__);
|
|
|
|
|
|
|
|
|
|
/* HTTP 1.1 GET request - must not work, since server is already stopped */
|
|
/* HTTP 1.1 GET request - must not work, since server is already stopped */
|
|
@@ -3858,7 +3871,7 @@ START_TEST(test_error_log_file)
|
|
#endif
|
|
#endif
|
|
OPTIONS[opt_cnt] = NULL;
|
|
OPTIONS[opt_cnt] = NULL;
|
|
|
|
|
|
- ctx = test_mg_start(NULL, 0, OPTIONS);
|
|
|
|
|
|
+ ctx = test_mg_start(NULL, 0, OPTIONS, __LINE__);
|
|
ck_assert(ctx != NULL);
|
|
ck_assert(ctx != NULL);
|
|
|
|
|
|
/* Remove log files (they may exist from previous incomplete runs of
|
|
/* Remove log files (they may exist from previous incomplete runs of
|
|
@@ -3894,7 +3907,7 @@ START_TEST(test_error_log_file)
|
|
mg_close_connection(client);
|
|
mg_close_connection(client);
|
|
|
|
|
|
/* Stop the server */
|
|
/* Stop the server */
|
|
- test_mg_stop(ctx);
|
|
|
|
|
|
+ test_mg_stop(ctx, __LINE__);
|
|
|
|
|
|
|
|
|
|
/* Check access.log */
|
|
/* Check access.log */
|
|
@@ -3930,7 +3943,7 @@ START_TEST(test_error_log_file)
|
|
ck_assert_str_eq(OPTIONS[0], "listening_ports");
|
|
ck_assert_str_eq(OPTIONS[0], "listening_ports");
|
|
OPTIONS[1] = "bad !"; /* no r or s in string */
|
|
OPTIONS[1] = "bad !"; /* no r or s in string */
|
|
|
|
|
|
- ctx = test_mg_start(NULL, 0, OPTIONS);
|
|
|
|
|
|
+ ctx = test_mg_start(NULL, 0, OPTIONS, 0);
|
|
ck_assert_msg(
|
|
ck_assert_msg(
|
|
ctx == NULL,
|
|
ctx == NULL,
|
|
"Should not be able to start server with bad port configuration");
|
|
"Should not be able to start server with bad port configuration");
|
|
@@ -4066,7 +4079,7 @@ START_TEST(test_throttle)
|
|
callbacks.begin_request = test_throttle_begin_request;
|
|
callbacks.begin_request = test_throttle_begin_request;
|
|
callbacks.end_request = test_throttle_end_request;
|
|
callbacks.end_request = test_throttle_end_request;
|
|
|
|
|
|
- ctx = test_mg_start(&callbacks, 0, OPTIONS);
|
|
|
|
|
|
+ ctx = test_mg_start(&callbacks, 0, OPTIONS, __LINE__);
|
|
ck_assert(ctx != NULL);
|
|
ck_assert(ctx != NULL);
|
|
|
|
|
|
/* connect client */
|
|
/* connect client */
|
|
@@ -4122,7 +4135,7 @@ START_TEST(test_throttle)
|
|
mg_close_connection(client);
|
|
mg_close_connection(client);
|
|
|
|
|
|
/* Stop the server */
|
|
/* Stop the server */
|
|
- test_mg_stop(ctx);
|
|
|
|
|
|
+ test_mg_stop(ctx, __LINE__);
|
|
|
|
|
|
mark_point();
|
|
mark_point();
|
|
}
|
|
}
|
|
@@ -4236,7 +4249,7 @@ START_TEST(test_large_file)
|
|
callbacks.begin_request = test_large_file_begin_request;
|
|
callbacks.begin_request = test_large_file_begin_request;
|
|
callbacks.log_message = log_msg_func;
|
|
callbacks.log_message = log_msg_func;
|
|
|
|
|
|
- ctx = test_mg_start(&callbacks, (void *)errmsg, OPTIONS);
|
|
|
|
|
|
+ ctx = test_mg_start(&callbacks, (void *)errmsg, OPTIONS, __LINE__);
|
|
ck_assert_str_eq(errmsg, "");
|
|
ck_assert_str_eq(errmsg, "");
|
|
ck_assert(ctx != NULL);
|
|
ck_assert(ctx != NULL);
|
|
|
|
|
|
@@ -4306,7 +4319,7 @@ START_TEST(test_large_file)
|
|
#endif
|
|
#endif
|
|
|
|
|
|
/* Stop the server */
|
|
/* Stop the server */
|
|
- test_mg_stop(ctx);
|
|
|
|
|
|
+ test_mg_stop(ctx, __LINE__);
|
|
|
|
|
|
mark_point();
|
|
mark_point();
|
|
}
|
|
}
|
|
@@ -4480,7 +4493,7 @@ START_TEST(test_mg_store_body)
|
|
test_sleep(5);
|
|
test_sleep(5);
|
|
|
|
|
|
/* Stop the server */
|
|
/* Stop the server */
|
|
- test_mg_stop(ctx);
|
|
|
|
|
|
+ test_mg_stop(ctx, __LINE__);
|
|
|
|
|
|
/* Un-initialize the library */
|
|
/* Un-initialize the library */
|
|
mg_exit_library();
|
|
mg_exit_library();
|
|
@@ -4558,7 +4571,7 @@ START_TEST(test_file_in_memory)
|
|
memset(&callbacks, 0, sizeof(callbacks));
|
|
memset(&callbacks, 0, sizeof(callbacks));
|
|
callbacks.open_file = test_file_in_memory_open_file;
|
|
callbacks.open_file = test_file_in_memory_open_file;
|
|
|
|
|
|
- ctx = test_mg_start(&callbacks, 0, OPTIONS);
|
|
|
|
|
|
+ ctx = test_mg_start(&callbacks, 0, OPTIONS, __LINE__);
|
|
ck_assert(ctx != NULL);
|
|
ck_assert(ctx != NULL);
|
|
|
|
|
|
/* connect client */
|
|
/* connect client */
|
|
@@ -4608,7 +4621,7 @@ START_TEST(test_file_in_memory)
|
|
mg_close_connection(client);
|
|
mg_close_connection(client);
|
|
|
|
|
|
/* Stop the server */
|
|
/* Stop the server */
|
|
- test_mg_stop(ctx);
|
|
|
|
|
|
+ test_mg_stop(ctx, __LINE__);
|
|
|
|
|
|
/* Free test data */
|
|
/* Free test data */
|
|
free(file_in_mem_data);
|
|
free(file_in_mem_data);
|
|
@@ -4810,7 +4823,7 @@ START_TEST(test_minimal_http_server_callback)
|
|
mg_init_library(0);
|
|
mg_init_library(0);
|
|
|
|
|
|
/* Start the server */
|
|
/* Start the server */
|
|
- ctx = test_mg_start(NULL, 0, NULL);
|
|
|
|
|
|
+ ctx = test_mg_start(NULL, 0, NULL, __LINE__);
|
|
ck_assert(ctx != NULL);
|
|
ck_assert(ctx != NULL);
|
|
|
|
|
|
/* Add some handler */
|
|
/* Add some handler */
|
|
@@ -4834,7 +4847,7 @@ START_TEST(test_minimal_http_server_callback)
|
|
|
|
|
|
|
|
|
|
/* Stop the server */
|
|
/* Stop the server */
|
|
- test_mg_stop(ctx);
|
|
|
|
|
|
+ test_mg_stop(ctx, __LINE__);
|
|
|
|
|
|
/* Un-initialize the library */
|
|
/* Un-initialize the library */
|
|
mg_exit_library();
|
|
mg_exit_library();
|
|
@@ -4903,7 +4916,7 @@ START_TEST(test_minimal_https_server_callback)
|
|
|
|
|
|
|
|
|
|
/* Start the server */
|
|
/* Start the server */
|
|
- ctx = test_mg_start(NULL, 0, OPTIONS);
|
|
|
|
|
|
+ ctx = test_mg_start(NULL, 0, OPTIONS, __LINE__);
|
|
ck_assert(ctx != NULL);
|
|
ck_assert(ctx != NULL);
|
|
|
|
|
|
/* Add some handler */
|
|
/* Add some handler */
|
|
@@ -4927,7 +4940,7 @@ START_TEST(test_minimal_https_server_callback)
|
|
|
|
|
|
|
|
|
|
/* Stop the server */
|
|
/* Stop the server */
|
|
- test_mg_stop(ctx);
|
|
|
|
|
|
+ test_mg_stop(ctx, __LINE__);
|
|
|
|
|
|
/* Un-initialize the library */
|
|
/* Un-initialize the library */
|
|
mg_exit_library();
|
|
mg_exit_library();
|