您的位置:首页 > 数据库 > MariaDB

9.MariaDB笔记——cmake使用介绍四安装与测试

2017-10-11 22:44 337 查看
9.MariaDB笔记——cmake使用介绍四安装与测试
继续下一步,增加安装规则和测试。

对上篇中的MathFunctions库,我们安装库和头文件通过在MathFunctions的CMakeLists文件中加入如下两行:

install(TARGETS MathFunctions DESTINATION bin)
install (FILESMathFunctions.h DESTINATION include)
对于整个应用,在顶层的CMakeLists文件中加入如下:

# add the installtargets
install(TARGETS Tutorial DESTINATION bin)
install (FILES"${PROJECT_BINARY_DIR}/TutorialConfig.h"       

         DESTINATION include)
这样的话,输入make install后可以安装头文件,库,可执行文件到系统。

CMake 的变量CMAKE_INSTALL_PREFIX用于控制文件安装的前缀路径。

 

Tests

在CMakeLists文件的最后可以加入一些基本测试来确保应用工作正常。

include(CTest)
# does theapplication run
add_test(TutorialRuns Tutorial 25)
# does it sqrtof 25
add_test(TutorialComp25 Tutorial 25)
set_tests_properties(TutorialComp25

  PROPERTIES PASS_REGULAR_EXPRESSION "25is 5")
# does ithandle negative numbers
add_test(TutorialNegative Tutorial -25)
set_tests_properties(TutorialNegative
  PROPERTIES PASS_REGULAR_EXPRESSION "-25is 0")
# does ithandle small numbers
add_test(TutorialSmall Tutorial 0.0001)
set_tests_properties(TutorialSmall
  PROPERTIES PASS_REGULAR_EXPRESSION"0.0001 is 0.01")
# does theusage message work?
add_test(TutorialUsage Tutorial)
set_tests_properties(TutorialUsage
  PROPERTIES
  PASS_REGULAR_EXPRESSION"Usage:.*number")
编译后,执行make ctest来进行测试。如下:

F:\ cmake_zhizuo>ctest

Test project F:/VS2010_ZHIZUO/cmake_zhizuo

   Start 1: TutorialRuns

1/5 Test #1: TutorialRuns.....................   Passed    0.95 sec

   Start 2: TutorialComp25

2/5 Test #2: TutorialComp25...................***Failed  Requiredregular expre

ssion not found.Regex=[25 is 5

] 0.02 sec

   Start 3: TutorialNegative

3/5 Test #3: TutorialNegative.................***Failed  Requiredregular expre

ssion not found.Regex=[-25 is 0

] 0.03 sec

   Start 4: TutorialSmall

4/5 Test #4: TutorialSmall....................***Failed  Requiredregular expre

ssion not found.Regex=[0.0001 is 0.01

] 0.02 sec

   Start 5: TutorialUsage

5/5 Test #5: TutorialUsage....................   Passed    0.02 sec

 

40% tests passed, 3 tests failed out of 5

 

Total Test time (real) =   1.09 sec

 

The following tests FAILED:

         2 - TutorialComp25 (Failed)

         3 - TutorialNegative (Failed)

         4 - TutorialSmall (Failed)

Errors while running CTest

如果需要增加很多测试,可以增加宏如下:

#define amacro to simplify adding tests, then use it
macro (do_testarg result)
  add_test (TutorialComp${arg} Tutorial ${arg})
  set_tests_properties (TutorialComp${arg}
    PROPERTIES PASS_REGULAR_EXPRESSION${result})
endmacro(do_test)
# do a bunchof result based tests
do_test (25"25 is 5")
do_test (-25"-25 is 0")
 

 

 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: