From ba9f6c4c23f3a714d83ab20267226946509e1ed9 Mon Sep 17 00:00:00 2001 From: Chunting Gu Date: Wed, 17 Apr 2019 17:05:29 +0800 Subject: [PATCH] Rename test to autotest --- CMakeLists.txt | 10 +++++----- {test => autotest}/CMakeLists.txt | 12 +++++++++--- {test => autotest}/test_http_client.cc | 0 doc/screenshots/vs_cmd_prompts.png | Bin 0 -> 22384 bytes unittest/CMakeLists.txt | 1 + 5 files changed, 15 insertions(+), 8 deletions(-) rename {test => autotest}/CMakeLists.txt (68%) rename {test => autotest}/test_http_client.cc (100%) create mode 100644 doc/screenshots/vs_cmd_prompts.png diff --git a/CMakeLists.txt b/CMakeLists.txt index b09820a..8cbc60e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,9 +8,9 @@ endif() project(webcc) -option(WEBCC_ENABLE_TEST "Build test?" ON) -option(WEBCC_ENABLE_UNITTEST "Build unit test?" ON) -option(WEBCC_ENABLE_EXAMPLES "Build examples?" ON) +option(WEBCC_ENABLE_AUTOTEST "Build automation test?" OFF) +option(WEBCC_ENABLE_UNITTEST "Build unit test?" OFF) +option(WEBCC_ENABLE_EXAMPLES "Build examples?" OFF) if(WIN32) option(WEBCC_ENABLE_VLD "Enable VLD (Visual Leak Detector)?" OFF) @@ -139,8 +139,8 @@ if(WEBCC_ENABLE_EXAMPLES) add_subdirectory(examples) endif() -if(WEBCC_ENABLE_TEST) - add_subdirectory(test) +if(WEBCC_ENABLE_AUTOTEST) + add_subdirectory(autotest) endif() if(WEBCC_ENABLE_UNITTEST) diff --git a/test/CMakeLists.txt b/autotest/CMakeLists.txt similarity index 68% rename from test/CMakeLists.txt rename to autotest/CMakeLists.txt index 6623ea1..e3771ac 100644 --- a/test/CMakeLists.txt +++ b/autotest/CMakeLists.txt @@ -1,4 +1,10 @@ -# Tests +# Auto test + +set(AT_SRCS + test_http_client.cc + ) + +set(AT_TARGET_NAME webcc_autotest) # Common libraries to link. set(TEST_LIBS webcc ${Boost_LIBRARIES} "${CMAKE_THREAD_LIBS_INIT}") @@ -18,5 +24,5 @@ if(UNIX) set(TEST_LIBS ${TEST_LIBS} ${CMAKE_DL_LIBS}) endif() -add_executable(test_http_client test_http_client.cc) -target_link_libraries(test_http_client gtest jsoncpp ${TEST_LIBS}) +add_executable(${AT_TARGET_NAME} ${AT_SRCS}) +target_link_libraries(${AT_TARGET_NAME} webcc gtest ${TEST_LIBS}) diff --git a/test/test_http_client.cc b/autotest/test_http_client.cc similarity index 100% rename from test/test_http_client.cc rename to autotest/test_http_client.cc diff --git a/doc/screenshots/vs_cmd_prompts.png b/doc/screenshots/vs_cmd_prompts.png new file mode 100644 index 0000000000000000000000000000000000000000..28fc3d193298e32414439e70e0fc6a18a71b0e36 GIT binary patch literal 22384 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