Commit 5872cc7c authored by Brad King's avatar Brad King
Browse files

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.
parent d4ada9d0
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()
#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;
}
#ifndef testXMLParser_h
#define testXMLParser_h
#define SOURCE_DIR "@CMAKE_CURRENT_SOURCE_DIR@"
#endif
<?xml version="1.0" encoding="UTF-8"?>
<Document>
<Element attr="1"/>
</Document>
......@@ -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)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment