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:
parent
d4ada9d0d5
commit
5872cc7c1f
|
@ -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()
|
|
@ -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;
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
#ifndef testXMLParser_h
|
||||||
|
#define testXMLParser_h
|
||||||
|
|
||||||
|
#define SOURCE_DIR "@CMAKE_CURRENT_SOURCE_DIR@"
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,4 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Document>
|
||||||
|
<Element attr="1"/>
|
||||||
|
</Document>
|
|
@ -37,6 +37,8 @@ SET_DIRECTORY_PROPERTIES(PROPERTIES
|
||||||
|
|
||||||
# Testing
|
# Testing
|
||||||
IF(BUILD_TESTING)
|
IF(BUILD_TESTING)
|
||||||
|
ADD_SUBDIRECTORY(CMakeLib)
|
||||||
|
|
||||||
# Collect a list of all test build directories.
|
# Collect a list of all test build directories.
|
||||||
SET(TEST_BUILD_DIRS)
|
SET(TEST_BUILD_DIRS)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue