diff options
author | Brad King <brad.king@kitware.com> | 2009-12-08 16:44:50 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2009-12-08 16:44:50 (GMT) |
commit | 5872cc7c1f0b41e7b9cfe7060ef88bc69daf8219 (patch) | |
tree | 91688b017d4431e5ed43352d086738b935fc9cd8 /Tests | |
parent | d4ada9d0d540ab2dc2a9747315c5afda5887950f (diff) | |
download | CMake-5872cc7c1f0b41e7b9cfe7060ef88bc69daf8219.zip CMake-5872cc7c1f0b41e7b9cfe7060ef88bc69daf8219.tar.gz CMake-5872cc7c1f0b41e7b9cfe7060ef88bc69daf8219.tar.bz2 |
Create CMakeLib test driver and test cmXMLParser
We create a new CMakeLibTests driver executable in which to writes unit
tests for CMakeLib. Our first test is a smoke-test of cmXMLParser.
Diffstat (limited to 'Tests')
-rw-r--r-- | Tests/CMakeLib/CMakeLists.txt | 20 | ||||
-rw-r--r-- | Tests/CMakeLib/testXMLParser.cxx | 17 | ||||
-rw-r--r-- | Tests/CMakeLib/testXMLParser.h.in | 6 | ||||
-rw-r--r-- | Tests/CMakeLib/testXMLParser.xml | 4 | ||||
-rw-r--r-- | Tests/CMakeLists.txt | 2 |
5 files changed, 49 insertions, 0 deletions
diff --git a/Tests/CMakeLib/CMakeLists.txt b/Tests/CMakeLib/CMakeLists.txt new file mode 100644 index 0000000..37bc09f --- /dev/null +++ b/Tests/CMakeLib/CMakeLists.txt @@ -0,0 +1,20 @@ +include_directories( + ${CMAKE_CURRENT_BINARY_DIR} + ${CMake_BINARY_DIR}/Source + ${CMake_SOURCE_DIR}/Source + ) + +set(CMakeLib_TESTS + testXMLParser + ) + +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/testXMLParser.h.in + ${CMAKE_CURRENT_BINARY_DIR}/testXMLParser.h @ONLY) + +create_test_sourcelist(CMakeLib_TEST_SRCS CMakeLibTests.cxx ${CMakeLib_TESTS}) +add_executable(CMakeLibTests ${CMakeLib_TEST_SRCS}) +target_link_libraries(CMakeLibTests CMakeLib) + +foreach(test ${CMakeLib_TESTS}) + add_test(CMakeLib.${test} CMakeLibTests ${test}) +endforeach() diff --git a/Tests/CMakeLib/testXMLParser.cxx b/Tests/CMakeLib/testXMLParser.cxx new file mode 100644 index 0000000..54ed5dc --- /dev/null +++ b/Tests/CMakeLib/testXMLParser.cxx @@ -0,0 +1,17 @@ +#include "testXMLParser.h" + +#include "cmXMLParser.h" + +#include <cmsys/ios/iostream> + +int testXMLParser(int, char*[]) +{ + // TODO: Derive from parser and check attributes. + cmXMLParser parser; + if(!parser.ParseFile(SOURCE_DIR "/testXMLParser.xml")) + { + cmsys_ios::cerr << "cmXMLParser failed!" << cmsys_ios::endl; + return 1; + } + return 0; +} diff --git a/Tests/CMakeLib/testXMLParser.h.in b/Tests/CMakeLib/testXMLParser.h.in new file mode 100644 index 0000000..da0b275 --- /dev/null +++ b/Tests/CMakeLib/testXMLParser.h.in @@ -0,0 +1,6 @@ +#ifndef testXMLParser_h +#define testXMLParser_h + +#define SOURCE_DIR "@CMAKE_CURRENT_SOURCE_DIR@" + +#endif diff --git a/Tests/CMakeLib/testXMLParser.xml b/Tests/CMakeLib/testXMLParser.xml new file mode 100644 index 0000000..5a13f07 --- /dev/null +++ b/Tests/CMakeLib/testXMLParser.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Document> + <Element attr="1"/> +</Document> diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index f47dccb..2a31989 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -37,6 +37,8 @@ SET_DIRECTORY_PROPERTIES(PROPERTIES # Testing IF(BUILD_TESTING) + ADD_SUBDIRECTORY(CMakeLib) + # Collect a list of all test build directories. SET(TEST_BUILD_DIRS) |