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
|
||||
IF(BUILD_TESTING)
|
||||
ADD_SUBDIRECTORY(CMakeLib)
|
||||
|
||||
# Collect a list of all test build directories.
|
||||
SET(TEST_BUILD_DIRS)
|
||||
|
||||
|
|
Loading…
Reference in New Issue