mirror of
https://github.com/jezhiggins/arabica
synced 2024-11-15 19:48:00 +01:00
More test harnesses
Builds sax, dom, utils, taggle, xpath, and xslt tests in both narrow and wide character modes. By default the test apps are off, but can be enabled using BUILD_ARABICA_TESTS=ON
This commit is contained in:
parent
2fbdbfdb70
commit
39b493e2e9
5 changed files with 116 additions and 148 deletions
103
.bzrignore
103
.bzrignore
|
@ -1,103 +0,0 @@
|
||||||
*.o
|
|
||||||
*~
|
|
||||||
*.tar.gz
|
|
||||||
*.tar.bz2
|
|
||||||
*.zip
|
|
||||||
*.ilk
|
|
||||||
*.pdb
|
|
||||||
*.exp
|
|
||||||
*.lib
|
|
||||||
*.bsc
|
|
||||||
*.exe
|
|
||||||
*.lo
|
|
||||||
*.la
|
|
||||||
*.ncb
|
|
||||||
*.suo
|
|
||||||
*.lnk
|
|
||||||
*.dll
|
|
||||||
*.log
|
|
||||||
*.trs
|
|
||||||
*.sdf
|
|
||||||
*.opensdf
|
|
||||||
*.DS_Store*
|
|
||||||
|
|
||||||
lib
|
|
||||||
doc/html
|
|
||||||
|
|
||||||
.libs
|
|
||||||
.deps
|
|
||||||
.dirstamp
|
|
||||||
arabica.pc
|
|
||||||
|
|
||||||
include/SAX/ArabicaConfig.hpp
|
|
||||||
include/SAX/stamp-h1
|
|
||||||
tests/XSLT/test_path.hpp
|
|
||||||
|
|
||||||
*/Debug*
|
|
||||||
*/Release*
|
|
||||||
|
|
||||||
# IDE files
|
|
||||||
vs9/mangle.sln
|
|
||||||
vs9/*.user
|
|
||||||
vs10/mangle.sln
|
|
||||||
*.vcxproj.filters
|
|
||||||
*.vcxproj.user
|
|
||||||
|
|
||||||
.idea
|
|
||||||
|
|
||||||
# Examples
|
|
||||||
examples/DOM/dom2pyx
|
|
||||||
examples/DOM/domwriter
|
|
||||||
examples/SAX/pyx
|
|
||||||
examples/SAX/simple_handler
|
|
||||||
examples/SAX/writer
|
|
||||||
examples/SAX/xmlbase
|
|
||||||
examples/Taggle/taggle
|
|
||||||
examples/Utils/transcode
|
|
||||||
examples/XPath/xgrep
|
|
||||||
examples/XSLT/mangle
|
|
||||||
fractal*.html
|
|
||||||
tests/SAX/filter_test*
|
|
||||||
tests/DOM/dom_test*
|
|
||||||
tests/XPath/xpath_test*
|
|
||||||
tests/Taggle/taggle_test
|
|
||||||
tests/Utils/utils_test*
|
|
||||||
tests/XSLT/xslt_test*
|
|
||||||
bin/mandelbrot-*.html
|
|
||||||
|
|
||||||
# Autoconf
|
|
||||||
m4/lt~obsolete.m4
|
|
||||||
m4/ltversion.m4
|
|
||||||
m4/ltsugar.m4
|
|
||||||
m4/ltoptions.m4
|
|
||||||
m4/libtool.m4
|
|
||||||
test-driver
|
|
||||||
libtool
|
|
||||||
ltmain.sh
|
|
||||||
config.log
|
|
||||||
config.status
|
|
||||||
config.cache
|
|
||||||
configure
|
|
||||||
compile
|
|
||||||
autom4te.cache
|
|
||||||
missing
|
|
||||||
Makefile
|
|
||||||
Makefile.in
|
|
||||||
aclocal.m4
|
|
||||||
|
|
||||||
# CMake
|
|
||||||
CMakeCache.txt
|
|
||||||
CMakeFiles
|
|
||||||
CMakeFiles/*
|
|
||||||
cmake_install.cmake
|
|
||||||
|
|
||||||
build/*
|
|
||||||
cmake-build-debug/
|
|
||||||
|
|
||||||
# Misc
|
|
||||||
*.stackdump
|
|
||||||
|
|
||||||
spec
|
|
||||||
gmon.out
|
|
||||||
ipch
|
|
||||||
test_path.hpp
|
|
144
CMakeLists.txt
144
CMakeLists.txt
|
@ -51,6 +51,8 @@ option(BUILD_SHARED_LIBS "Build as shared libaries" OFF)
|
||||||
option(BUILD_ARABICA_EXAMPLES "Build all arabica examples" ON)
|
option(BUILD_ARABICA_EXAMPLES "Build all arabica examples" ON)
|
||||||
|
|
||||||
|
|
||||||
|
option(BUILD_ARABICA_TESTS "Build tests" OFF)
|
||||||
|
|
||||||
#
|
#
|
||||||
# Enable/Disable Boost
|
# Enable/Disable Boost
|
||||||
#
|
#
|
||||||
|
@ -488,37 +490,121 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/include/SAX/ArabicaConfig.hpp
|
||||||
|
|
||||||
#
|
#
|
||||||
# tests
|
# tests
|
||||||
include(CTest)
|
if(BUILD_ARABICA_TESTS)
|
||||||
|
message(STATUS "Building tests with ${ARABICA_XML_BACKEND} compile flag")
|
||||||
|
|
||||||
set(CPP_UNIT_SOURCES
|
include(CTest)
|
||||||
tests/CppUnit/TestRunner.hpp
|
|
||||||
tests/CppUnit/framework/CppUnitException.h
|
|
||||||
tests/CppUnit/framework/estring.h
|
|
||||||
tests/CppUnit/framework/Guards.h
|
|
||||||
tests/CppUnit/framework/Test.h
|
|
||||||
tests/CppUnit/framework/TestCaller.h
|
|
||||||
tests/CppUnit/framework/TestCase.h
|
|
||||||
tests/CppUnit/framework/TestFailure.h
|
|
||||||
tests/CppUnit/framework/TestResult.h
|
|
||||||
tests/CppUnit/framework/TestSuite.h
|
|
||||||
tests/CppUnit/textui/TextTestResult.h
|
|
||||||
tests/CppUnit/textui/TableTestResult.hpp
|
|
||||||
tests/CppUnit/textui/XmlTestResult.hpp
|
|
||||||
tests/CppUnit/framework/TestCase.cpp
|
|
||||||
tests/CppUnit/framework/TestFailure.cpp
|
|
||||||
tests/CppUnit/framework/TestResult.cpp
|
|
||||||
tests/CppUnit/framework/TestSuite.cpp
|
|
||||||
tests/CppUnit/TestRunner.cpp
|
|
||||||
tests/CppUnit/textui/TextTestResult.cpp
|
|
||||||
tests/CppUnit/textui/TableTestResult.cpp
|
|
||||||
tests/CppUnit/textui/XmlTestResult.cpp
|
|
||||||
)
|
|
||||||
add_library(cppunit STATIC
|
|
||||||
${CPP_UNIT_SOURCES})
|
|
||||||
|
|
||||||
add_executable(test_sax_filter tests/SAX/filter_test.cpp)
|
set(CPP_UNIT_SOURCES
|
||||||
target_link_libraries(test_sax_filter arabica cppunit)
|
tests/CppUnit/TestRunner.hpp
|
||||||
add_test(sax_filter test_sax_filter)
|
tests/CppUnit/framework/CppUnitException.h
|
||||||
|
tests/CppUnit/framework/estring.h
|
||||||
|
tests/CppUnit/framework/Guards.h
|
||||||
|
tests/CppUnit/framework/Test.h
|
||||||
|
tests/CppUnit/framework/TestCaller.h
|
||||||
|
tests/CppUnit/framework/TestCase.h
|
||||||
|
tests/CppUnit/framework/TestFailure.h
|
||||||
|
tests/CppUnit/framework/TestResult.h
|
||||||
|
tests/CppUnit/framework/TestSuite.h
|
||||||
|
tests/CppUnit/textui/TextTestResult.h
|
||||||
|
tests/CppUnit/textui/TableTestResult.hpp
|
||||||
|
tests/CppUnit/textui/XmlTestResult.hpp
|
||||||
|
tests/CppUnit/framework/TestCase.cpp
|
||||||
|
tests/CppUnit/framework/TestFailure.cpp
|
||||||
|
tests/CppUnit/framework/TestResult.cpp
|
||||||
|
tests/CppUnit/framework/TestSuite.cpp
|
||||||
|
tests/CppUnit/TestRunner.cpp
|
||||||
|
tests/CppUnit/textui/TextTestResult.cpp
|
||||||
|
tests/CppUnit/textui/TableTestResult.cpp
|
||||||
|
tests/CppUnit/textui/XmlTestResult.cpp
|
||||||
|
)
|
||||||
|
add_library(cppunit STATIC
|
||||||
|
${CPP_UNIT_SOURCES})
|
||||||
|
|
||||||
|
add_executable(test_sax_filter tests/SAX/filter_test.cpp)
|
||||||
|
target_link_libraries(test_sax_filter arabica cppunit)
|
||||||
|
add_executable(test_sax_filter_wide tests/SAX/filter_test_wide.cpp)
|
||||||
|
target_link_libraries(test_sax_filter_wide arabica cppunit)
|
||||||
|
add_test(sax_filter test_sax_filter -v)
|
||||||
|
add_test(sax_filter_wide test_sax_filter_wide -v)
|
||||||
|
|
||||||
|
set(DOM_TEST_SOURCES
|
||||||
|
tests/DOM/dom_test_suite.hpp
|
||||||
|
tests/DOM/dom_conf_test.hpp
|
||||||
|
tests/DOM/test_Attribute.hpp
|
||||||
|
tests/DOM/test_CDATA.hpp
|
||||||
|
tests/DOM/test_CharacterData.hpp
|
||||||
|
tests/DOM/test_DOMImplementation.hpp
|
||||||
|
tests/DOM/test_Document.hpp
|
||||||
|
tests/DOM/test_DocumentFragment.hpp
|
||||||
|
tests/DOM/test_DocumentType.hpp
|
||||||
|
tests/DOM/test_Element.hpp
|
||||||
|
tests/DOM/test_NamedNodeMap.hpp
|
||||||
|
tests/DOM/test_ProcessingInstruction.hpp
|
||||||
|
tests/DOM/test_Siblings.hpp
|
||||||
|
tests/DOM/test_Text.hpp
|
||||||
|
tests/DOM/test_SAX2DOM.hpp
|
||||||
|
tests/DOM/test_TreeWalker.hpp
|
||||||
|
tests/DOM/test_Stream.hpp
|
||||||
|
)
|
||||||
|
add_executable(test_dom tests/DOM/main.cpp ${DOM_TEST_SOURCES})
|
||||||
|
include_directories(test_dom tests/DOM)
|
||||||
|
target_link_libraries(test_dom arabica cppunit)
|
||||||
|
add_executable(test_dom_wide tests/DOM/main_wide.cpp ${DOM_TEST_SOURCES})
|
||||||
|
include_directories(test_dom_wide tests/DOM)
|
||||||
|
target_link_libraries(test_dom_wide arabica cppunit)
|
||||||
|
add_test(dom test_dom -v)
|
||||||
|
add_test(dom_wide test_dom_wide -v)
|
||||||
|
|
||||||
|
add_executable(test_taggle tests/Taggle/taggle_test.cpp tests/Taggle/test_Taggle.hpp)
|
||||||
|
target_link_libraries(test_taggle arabica cppunit)
|
||||||
|
add_test(taggle test_taggle -v)
|
||||||
|
|
||||||
|
set(UTIL_TEST_SOURCES
|
||||||
|
tests/Utils/test_base64.hpp
|
||||||
|
tests/Utils/test_normalize_whitespace.hpp
|
||||||
|
tests/Utils/test_qname.hpp
|
||||||
|
tests/Utils/test_uri.hpp
|
||||||
|
tests/Utils/test_xml_strings.hpp
|
||||||
|
tests/Utils/util_test_suite.hpp
|
||||||
|
)
|
||||||
|
add_executable(test_util tests/Utils/utils_test.cpp ${UTIL_TEST_SOURCES})
|
||||||
|
target_link_libraries(test_util arabica cppunit)
|
||||||
|
add_executable(test_util_wide tests/Utils/utils_test_wide.cpp ${UTIL_TEST_SOURCES})
|
||||||
|
target_link_libraries(test_util_wide arabica cppunit)
|
||||||
|
add_test(util test_util -v)
|
||||||
|
add_test(util_wide test_util_wide -v)
|
||||||
|
|
||||||
|
set(XPATH_TEST_SOURCES
|
||||||
|
tests/XPath/arithmetic_test.hpp
|
||||||
|
tests/XPath/attr_value_test.hpp
|
||||||
|
tests/XPath/axis_enumerator_test.hpp
|
||||||
|
tests/XPath/execute_test.hpp
|
||||||
|
tests/XPath/expression_test.hpp
|
||||||
|
tests/XPath/logical_test.hpp
|
||||||
|
tests/XPath/match_test.hpp
|
||||||
|
tests/XPath/node_test_test.hpp
|
||||||
|
tests/XPath/parse_test.hpp
|
||||||
|
tests/XPath/relational_test.hpp
|
||||||
|
tests/XPath/step_test.hpp
|
||||||
|
tests/XPath/text_node_test.hpp
|
||||||
|
tests/XPath/value_test.hpp
|
||||||
|
tests/XPath/xpath_test_suite.hpp
|
||||||
|
)
|
||||||
|
add_executable(test_xpath tests/XPath/main.cpp ${XPATH_TEST_SOURCES})
|
||||||
|
target_link_libraries(test_xpath arabica cppunit)
|
||||||
|
add_executable(test_xpath_wide tests/XPath/main_wide.cpp ${XPATH_TEST_SOURCES})
|
||||||
|
target_link_libraries(test_xpath_wide arabica cppunit)
|
||||||
|
add_test(xpath test_xpath -v)
|
||||||
|
add_test(xpath_wide test_xpath_wide -v)
|
||||||
|
|
||||||
|
add_executable(test_xslt tests/XSLT/main.cpp tests/XSLT/xslt_test.hpp)
|
||||||
|
target_link_libraries(test_xslt arabica cppunit)
|
||||||
|
add_executable(test_xslt_wide tests/XSLT/main_wide.cpp tests/XSLT/xslt_test.hpp)
|
||||||
|
target_link_libraries(test_xslt_wide arabica cppunit)
|
||||||
|
add_test(xslt test_xslt -v)
|
||||||
|
add_test(xslt_wide test_xslt_wide -v)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(BUILD_ARABICA_EXAMPLES)
|
if(BUILD_ARABICA_EXAMPLES)
|
||||||
|
|
||||||
|
|
|
@ -7,13 +7,7 @@
|
||||||
|
|
||||||
#include <DOM/Simple/DOMImplementation.hpp>
|
#include <DOM/Simple/DOMImplementation.hpp>
|
||||||
|
|
||||||
|
|
||||||
#ifdef ARABICA_WINDOWS
|
|
||||||
const std::string PATH_PREFIX="../tests/DOM/conformance/files/";
|
const std::string PATH_PREFIX="../tests/DOM/conformance/files/";
|
||||||
#else
|
|
||||||
#include "test_path.hpp"
|
|
||||||
const std::string PATH_PREFIX=test_path;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
template<class string_type, class string_adaptor>
|
template<class string_type, class string_adaptor>
|
||||||
class DOMTestCase : public TestCase
|
class DOMTestCase : public TestCase
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
|
|
||||||
const char* test_path = "@top_srcdir@/tests/DOM/conformance/files/";
|
|
||||||
|
|
|
@ -48,15 +48,9 @@ private:
|
||||||
TestSuite* suite(const std::string& path, const std::string& catalog_filename);
|
TestSuite* suite(const std::string& path, const std::string& catalog_filename);
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef ARABICA_WINDOWS
|
|
||||||
const std::string PATH_PREFIX="../tests/XSLT/testsuite/TESTS/";
|
const std::string PATH_PREFIX="../tests/XSLT/testsuite/TESTS/";
|
||||||
const std::string SEPERATOR = "/";
|
const std::string SEPERATOR = "/";
|
||||||
#else
|
|
||||||
#include "test_path.hpp"
|
|
||||||
const std::string PATH_PREFIX=test_path;
|
|
||||||
const std::string SEPERATOR = "/";
|
|
||||||
#endif
|
|
||||||
|
|
||||||
template<class string_type, class string_adaptor>
|
template<class string_type, class string_adaptor>
|
||||||
Arabica::DOM::Document<string_type, string_adaptor> buildDOM(const std::string& filename)
|
Arabica::DOM::Document<string_type, string_adaptor> buildDOM(const std::string& filename)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue