代码拉取完成,页面将自动刷新
同步操作将从 src-openEuler/libevhtp 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
From c5845d807bd88118bb5974ce08c469cfe6c6d258 Mon Sep 17 00:00:00 2001
From: songbuhuang <544824346@qq.com>
Date: Thu, 10 Nov 2022 16:17:53 +0800
Subject: [PATCH] libevhtp add gcov compile options
Signed-off-by: songbuhuang <544824346@qq.com>
---
CMakeLists.txt | 12 ++++++++++++
examples/example_basic.c | 7 +++++--
examples/example_chunked.c | 9 +++++----
examples/example_pause.c | 4 ++++
examples/example_request_fini.c | 4 ++++
examples/example_vhost.c | 4 ++++
examples/https/example_https_server.c | 7 +++++--
7 files changed, 39 insertions(+), 8 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5bc89d5..d4596f6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -64,6 +64,17 @@ set(evhtp_dir_headers
"include/evhtp/parser.h"
"include/evhtp/log.h")
+if(ENABLE_GCOV)
+ MESSAGE(STATUS "Enable coverage compile option")
+ set(COVERAGE_C_OPTION "${COVERAGE_OPTION} -fprofile-arcs -ftest-coverage -fkeep-static-functions -fkeep-inline-functions")
+ set(COVERAGE_CXX_OPTION "${COVERAGE_OPTION} -fprofile-arcs -ftest-coverage")
+endif(ENABLE_GCOV)
+
+if(CMAKE_BUILD_TYPE STREQUAL Debug)
+ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${COVERAGE_C_OPTION}")
+ SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${COVERAGE_CXX_OPTION}")
+endif()
+
if(NOT EVHTP_DISABLE_SSL)
find_package(OpenSSL)
if(OPENSSL_FOUND)
@@ -334,6 +345,7 @@ message(STATUS "${Blue}CMAKE_SYSTEM_VERSION${ColourReset} : " ${CMAKE_SYSTEM
message(STATUS "${Blue}CMAKE_C_COMPILER${ColourReset} : " ${CMAKE_C_COMPILER})
message(STATUS "${Blue}CMAKE_AR${ColourReset} : " ${CMAKE_AR})
message(STATUS "${Blue}CMAKE_RANLIB${ColourReset} : " ${CMAKE_RANLIB})
+message(STATUS "${Blue}COVERAGE_C_OPTION${ColourReset} : " ${COVERAGE_C_OPTION})
message(STATUS "${Blue}CFLAGS${ColourReset} : ${CMAKE_C_FLAGS}")
if(CMAKE_BUILD_TYPE MATCHES Debug)
diff --git a/examples/example_basic.c b/examples/example_basic.c
index 9948152..a2f0c18 100644
--- a/examples/example_basic.c
+++ b/examples/example_basic.c
@@ -43,6 +43,9 @@ main(int argc, char ** argv)
log_info("Basic server, run: curl http://127.0.0.1:%d/",
bind__sock_port0_(htp));
- event_base_loop(evbase, 0);
- return 0;
+ struct timeval ten_sec;
+ ten_sec.tv_sec = 10;
+ ten_sec.tv_usec = 0;
+ event_base_loopexit(evbase, &ten_sec);
+ return event_base_loop(evbase, 0);
}
diff --git a/examples/example_chunked.c b/examples/example_chunked.c
index cfab23d..6289286 100644
--- a/examples/example_chunked.c
+++ b/examples/example_chunked.c
@@ -157,8 +157,9 @@ main(int argc, char ** argv)
log_info("curl http://127.0.0.1:%d/", bind__sock_port0_(htp));
- event_base_loop(evbase, 0);
-
-
- return 0;
+ struct timeval ten_sec;
+ ten_sec.tv_sec = 10;
+ ten_sec.tv_usec = 0;
+ event_base_loopexit(evbase, &ten_sec);
+ return event_base_loop(evbase, 0);
}
diff --git a/examples/example_pause.c b/examples/example_pause.c
index 0cccac2..8293e0e 100644
--- a/examples/example_pause.c
+++ b/examples/example_pause.c
@@ -106,5 +106,9 @@ main(int argc, char ** argv) {
log_info("response delayed for 10s: "
"curl http://127.0.0.1:%d/", bind__sock_port0_(htp));
+ struct timeval sec;
+ sec.tv_sec = 15;
+ sec.tv_usec = 0;
+ event_base_loopexit(evbase, &sec);
return event_base_loop(evbase, 0);
}
diff --git a/examples/example_request_fini.c b/examples/example_request_fini.c
index d4d6da6..46a1fce 100644
--- a/examples/example_request_fini.c
+++ b/examples/example_request_fini.c
@@ -59,5 +59,9 @@ main(int argc, char ** argv) {
GENCHAR(), GENCHAR(), GENCHAR());
+ struct timeval ten_sec;
+ ten_sec.tv_sec = 10;
+ ten_sec.tv_usec = 0;
+ event_base_loopexit(evbase, &ten_sec);
return event_base_loop(evbase, 0);
}
diff --git a/examples/example_vhost.c b/examples/example_vhost.c
index 3b6881c..76116e8 100644
--- a/examples/example_vhost.c
+++ b/examples/example_vhost.c
@@ -112,5 +112,9 @@ main(int argc, char ** argv) {
log_info("curl -H'Host: gmail.google.com' http://127.0.0.1:%d/vhost", port);
}
+ struct timeval ten_sec;
+ ten_sec.tv_sec = 10;
+ ten_sec.tv_usec = 0;
+ event_base_loopexit(evbase, &ten_sec);
return event_base_loop(evbase, 0);
} /* main */
diff --git a/examples/https/example_https_server.c b/examples/https/example_https_server.c
index 3e020b2..0dc5afd 100644
--- a/examples/https/example_https_server.c
+++ b/examples/https/example_https_server.c
@@ -252,8 +252,11 @@ main(int argc, char ** argv) {
log_info("curl https://127.0.0.1:4443/");
- event_base_loop(evbase, 0);
- return 0;
+ struct timeval ten_sec;
+ ten_sec.tv_sec = 10;
+ ten_sec.tv_usec = 0;
+ event_base_loopexit(evbase, &ten_sec);
+ return event_base_loop(evbase, 0);
#else
log_error("Not compiled with SSL support, go away");
return EXIT_FAILURE;
--
2.25.1
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。