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.
This commit is contained in:
Brad King 2009-12-08 11:44:50 -05:00
parent d4ada9d0d5
commit 5872cc7c1f
5 changed files with 49 additions and 0 deletions

View File

@ -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()

View File

@ -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;
}

View File

@ -0,0 +1,6 @@
#ifndef testXMLParser_h
#define testXMLParser_h
#define SOURCE_DIR "@CMAKE_CURRENT_SOURCE_DIR@"
#endif

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<Document>
<Element attr="1"/>
</Document>

View File

@ -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)