~ubuntu-branches/ubuntu/lucid/cmake/lucid

« back to all changes in this revision

Viewing changes to Tests/CMakeTests/CheckCMakeTest.cmake

  • Committer: Bazaar Package Importer
  • Author(s): Artur Rona
  • Date: 2009-12-16 11:11:54 UTC
  • mfrom: (3.1.9 sid)
  • Revision ID: james.westby@ubuntu.com-20091216111154-6accvv6yq86h2hkc
Tags: 2.8.0-5ubuntu1
* Merge from debian testing (LP: #497349). Remaining changes:
  - Keep the Replaces: on cmake-data to cover the Kubuntu version from
    Jaunty in case someone decides to do an (unsupported) Jaunty->Lucid
    upgrade.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
get_filename_component(CMakeTests_SRC_DIR ${CMAKE_CURRENT_LIST_FILE} PATH)
 
2
function(check_cmake_test prefix)
 
3
  get_filename_component(CMakeTests_BIN_DIR ${CMAKE_CURRENT_LIST_FILE} PATH)
 
4
  foreach(test ${ARGN})
 
5
    message(STATUS "Test ${prefix}-${test}...")
 
6
    execute_process(
 
7
      COMMAND ${CMAKE_COMMAND} -P "${CMakeTests_SRC_DIR}/${prefix}-${test}.cmake"
 
8
      WORKING_DIRECTORY "${CMakeTests_BIN_DIR}"
 
9
      OUTPUT_VARIABLE stdout
 
10
      ERROR_VARIABLE stderr
 
11
      RESULT_VARIABLE result
 
12
      )
 
13
    string(REGEX REPLACE "\n" "\n out> " out " out> ${stdout}")
 
14
    string(REGEX REPLACE "\n" "\n err> " err " err> ${stderr}")
 
15
    if(NOT "${result}" STREQUAL ${${test}-RESULT})
 
16
      message(FATAL_ERROR
 
17
        "Test ${test} result is [${result}], not [${${test}-RESULT}].\n"
 
18
        "Test ${test} output:\n"
 
19
        "${out}\n"
 
20
        "${err}")
 
21
    endif()
 
22
    if(${test}-STDERR AND NOT "${err}" MATCHES "${${test}-STDERR}")
 
23
      message(FATAL_ERROR
 
24
        "Test ${test} stderr does not match\n  ${${test}-STDERR}\n"
 
25
        "Test ${test} output:\n"
 
26
        "${out}\n"
 
27
        "${err}")
 
28
    endif()
 
29
  endforeach()
 
30
endfunction()