Explorar el Código

Système D for checking why HTTPS does not run on travis and appveyor

bel hace 10 años
padre
commit
b1924ecd99

+ 11 - 4
VS2012/unit_test/unit_test.vcxproj

@@ -10,6 +10,16 @@
       <Platform>Win32</Platform>
     </ProjectConfiguration>
   </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\include\civetweb.h" />
+    <ClInclude Include="..\..\test\civetweb_check.h" />
+    <ClInclude Include="..\..\test\private.h" />
+    <ClInclude Include="..\..\test\public.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\src\civetweb.c" />
+    <ClCompile Include="..\..\test\public.c" />
+  </ItemGroup>
   <PropertyGroup Label="Globals">
     <ProjectGuid>{1AC4A7A6-0100-4287-97F4-B95807BE5607}</ProjectGuid>
     <Keyword>Win32Proj</Keyword>
@@ -52,7 +62,7 @@
       </PrecompiledHeader>
       <WarningLevel>Level3</WarningLevel>
       <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>MEMORY_DEBUGGING;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>REPLACE_CHECK_FOR_LOCAL_DEBUGGING;USE_IPV6;MEMORY_DEBUGGING;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <AdditionalIncludeDirectories>$(ProjectDir)..\..\src;$(ProjectDir)..\..\include;$(ProjectDir)..\..\src\third_party\lua-5.2.4\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     <Link>
@@ -78,9 +88,6 @@
       <OptimizeReferences>true</OptimizeReferences>
     </Link>
   </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\test\unit_test.c" />
-  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>

+ 18 - 1
VS2012/unit_test/unit_test.vcxproj.filters

@@ -15,7 +15,24 @@
     </Filter>
   </ItemGroup>
   <ItemGroup>
-    <ClCompile Include="..\..\test\unit_test.c">
+    <ClInclude Include="..\..\test\civetweb_check.h">
+      <Filter>Quelldateien</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\test\public.h">
+      <Filter>Quelldateien</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\test\private.h">
+      <Filter>Quelldateien</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\civetweb.h">
+      <Filter>Headerdateien</Filter>
+    </ClInclude>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\test\public.c">
+      <Filter>Quelldateien</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\src\civetweb.c">
       <Filter>Quelldateien</Filter>
     </ClCompile>
   </ItemGroup>

+ 34 - 2
test/public.c

@@ -395,6 +395,22 @@ START_TEST(test_mg_url_decode)
 END_TEST
 
 
+static int log_msg_func(const struct mg_connection *conn, const char *message)
+{
+	struct mg_context *ctx;
+	char *ud;
+
+	ck_assert(conn != NULL);
+	ctx = mg_get_context(conn);
+	ck_assert(ctx != NULL);
+	ud = (char *)mg_get_user_data(ctx);
+
+	strncpy(ud, message, 255);
+	ud[255] = 0;
+	return 1;
+}
+
+
 START_TEST(test_mg_start_stop_http_server)
 {
 	struct mg_context *ctx;
@@ -404,11 +420,19 @@ START_TEST(test_mg_start_stop_http_server)
 	size_t ports_cnt;
 	int ports[16];
 	int ssl[16];
+	struct mg_callbacks callbacks;
+	char errmsg[256];
 
 	memset(ports, 0, sizeof(ports));
 	memset(ssl, 0, sizeof(ssl));
+	memset(&callbacks, 0, sizeof(callbacks));
+	memset(errmsg, 0, sizeof(errmsg));
+
+	callbacks.log_message = log_msg_func;
 
-	ctx = mg_start(NULL, NULL, OPTIONS);
+	ctx = mg_start(&callbacks, (void *)errmsg, OPTIONS);
+    mg_Sleep(1);
+    ck_assert_str_eq(errmsg, "");
 	ck_assert(ctx != NULL);
 
 	ports_cnt = mg_get_ports(ctx, 16, ports, ssl);
@@ -440,11 +464,19 @@ START_TEST(test_mg_start_stop_https_server)
 	size_t ports_cnt;
 	int ports[16];
 	int ssl[16];
+	struct mg_callbacks callbacks;
+	char errmsg[256];
 
 	memset(ports, 0, sizeof(ports));
 	memset(ssl, 0, sizeof(ssl));
+	memset(&callbacks, 0, sizeof(callbacks));
+	memset(errmsg, 0, sizeof(errmsg));
+
+	callbacks.log_message = log_msg_func;
 
-	ctx = mg_start(NULL, NULL, OPTIONS);
+	ctx = mg_start(&callbacks, (void *)errmsg, OPTIONS);
+    mg_Sleep(1);
+    ck_assert_str_eq(errmsg, "");
 	ck_assert(ctx != NULL);
 
 	ports_cnt = mg_get_ports(ctx, 16, ports, ssl);

+ 2 - 2
testutils/testclient/testclient.c

@@ -20,8 +20,8 @@ static const char * METHODLIST[] = {
 
 static int CLIENTCOUNT = 0; // 20;
 static int TESTCYCLES = 1;
-static int RESOURCEINDEX = 2;
-static int METHODINDEX = 2;
+static int RESOURCEINDEX = 1;
+static int METHODINDEX = 0;
 
 
 int sockvprintf(SOCKET soc, const char * fmt, va_list vl) {