diff options
author | Patrick Reynolds <patrick.reynolds@kitware.com> | 2013-09-27 14:42:39 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2013-10-08 13:20:30 (GMT) |
commit | d0ec3a01a61f259768d31fc20791780807e1788e (patch) | |
tree | d5dfba622c1739ddedadfe7190eda5c7959a27f5 /Source/CTest/cmParsePythonCoverage.h | |
parent | 6ed8504ea5633932e5db3a5a70853a763df7af50 (diff) | |
download | CMake-d0ec3a01a61f259768d31fc20791780807e1788e.zip CMake-d0ec3a01a61f259768d31fc20791780807e1788e.tar.gz CMake-d0ec3a01a61f259768d31fc20791780807e1788e.tar.bz2 |
Adding support for the Python coverage.py tool.
This assumes that coverage.py has been run in such a way to produce its
standard XML output. This uses the Cobertura schema and should be somewhat
generalizable.
Diffstat (limited to 'Source/CTest/cmParsePythonCoverage.h')
-rw-r--r-- | Source/CTest/cmParsePythonCoverage.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/Source/CTest/cmParsePythonCoverage.h b/Source/CTest/cmParsePythonCoverage.h new file mode 100644 index 0000000..668c7f9 --- /dev/null +++ b/Source/CTest/cmParsePythonCoverage.h @@ -0,0 +1,48 @@ +/*============================================================================ + CMake - Cross Platform Makefile Generator + Copyright 2000-2009 Kitware, Inc. + + Distributed under the OSI-approved BSD License (the "License"); + see accompanying file Copyright.txt for details. + + This software is distributed WITHOUT ANY WARRANTY; without even the + implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the License for more information. +============================================================================*/ + +#ifndef cmParsePythonCoverage_h +#define cmParsePythonCoverage_h + +#include "cmStandardIncludes.h" +#include "cmCTestCoverageHandler.h" + +/** \class cmParsePythonCoverage + * \brief Parse coverage.py Python coverage information + * + * This class is used to parse the output of the coverage.py tool that + * is currently maintained by Ned Batchelder. That tool has a command + * that produces xml output in the format typically output by the common + * Java-based Cobertura coverage application. This helper class parses + * that XML file to fill the coverage-handler container. + */ +class cmParsePythonCoverage +{ +public: + + //! Create the coverage parser by passing in the coverage handler + //! container and the cmCTest object + cmParsePythonCoverage(cmCTestCoverageHandlerContainer& cont, + cmCTest* ctest); + + //! Read the XML produced by running `coverage xml` + bool ReadCoverageXML(const char* xmlFile); + +private: + + class XMLParser; + cmCTestCoverageHandlerContainer& Coverage; + cmCTest* CTest; + std::string CurFileName; +}; + +#endif |