aboutsummaryrefslogtreecommitdiff
path: root/cmake/ProjTest.cmake
blob: ad64d0ba20928d3d029973c965256b1d5cc5de2f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#
# add test with sh script
#

function(proj_add_test_script_sh SH_NAME BIN_USE)
  if(UNIX)
    get_filename_component(testname ${SH_NAME} NAME_WE)

    set(TEST_OK 1)
    if(ARGV2)
      set(TEST_OK 0)
      set(GRID_FULLNAME ${PROJECT_SOURCE_DIR}/data/${ARGV2})
      if(EXISTS ${GRID_FULLNAME})
        set(TEST_OK 1)
      endif()
    endif()

    if(CMAKE_VERSION VERSION_LESS 2.8.4)
      set(TEST_OK 0)
      message(STATUS "test with bash script need a cmake version >= 2.8.4")
    endif()

    if(${TEST_OK})
      add_test(NAME "${testname}"
        WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/data
        COMMAND ${PROJECT_SOURCE_DIR}/test/cli/${SH_NAME}
        ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${${BIN_USE}}
      )
    set_tests_properties( ${testname}
        PROPERTIES ENVIRONMENT "PROJ_LIB=${PROJECT_BINARY_DIR}/data")
    endif()

  endif()
endfunction()


function(proj_add_gie_test TESTNAME TESTCASE)

    set(GIE_BIN $<TARGET_FILE_NAME:gie>)
    set(TESTFILE ${CMAKE_SOURCE_DIR}/test/${TESTCASE})
    add_test(NAME ${TESTNAME}
      WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/test
      COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${GIE_BIN}
      ${TESTFILE}
    )
    set_tests_properties( ${TESTNAME}
        PROPERTIES ENVIRONMENT "PROJ_LIB=${PROJECT_BINARY_DIR}/data")


endfunction()