diff options
author | Bill Hoffman <bill.hoffman@kitware.com> | 2010-05-25 13:23:25 (GMT) |
---|---|---|
committer | Bill Hoffman <bill.hoffman@kitware.com> | 2010-05-25 13:23:25 (GMT) |
commit | 1d4e121d9cdb0b250c49a9d0d8d5f726ed7c69d4 (patch) | |
tree | d0e540c8b2cce79c91b3684e173a9d85c9bd2014 /Source/CTest/cmParsePHPCoverage.h | |
parent | 3d784cc7528672b68e07e65c7287d4db1a12b79f (diff) | |
download | CMake-1d4e121d9cdb0b250c49a9d0d8d5f726ed7c69d4.zip CMake-1d4e121d9cdb0b250c49a9d0d8d5f726ed7c69d4.tar.gz CMake-1d4e121d9cdb0b250c49a9d0d8d5f726ed7c69d4.tar.bz2 |
Add php coverage to ctest.
Diffstat (limited to 'Source/CTest/cmParsePHPCoverage.h')
-rw-r--r-- | Source/CTest/cmParsePHPCoverage.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/Source/CTest/cmParsePHPCoverage.h b/Source/CTest/cmParsePHPCoverage.h new file mode 100644 index 0000000..ce5741d --- /dev/null +++ b/Source/CTest/cmParsePHPCoverage.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 cmParsePHPCoverage_h +#define cmParsePHPCoverage_h + +#include "cmStandardIncludes.h" +#include "cmCTestCoverageHandler.h" + +/** \class cmParsePHPCoverage + * \brief Parse xdebug PHP coverage information + * + * This class is used to parse php coverage information produced + * by xdebug. The data is stored as a php dump of the array + * return by xdebug coverage. It is an array of arrays. + */ +class cmParsePHPCoverage +{ +public: + cmParsePHPCoverage(cmCTestCoverageHandlerContainer& cont, + cmCTest* ctest); + bool ReadPHPCoverageDirectory(const char* dir); + void PrintCoverage(); +private: + bool ReadPHPData(const char* file); + bool ReadArraySize(std::ifstream& in, int& size); + bool ReadFileInformation(std::ifstream& in); + bool ReadInt(std::ifstream& in, int& v); + bool ReadCoverageArray(std::ifstream& in, cmStdString const&); + bool ReadUntil(std::ifstream& in, char until); + typedef std::map<int, int> FileLineCoverage; + std::map<cmStdString, FileLineCoverage> FileToCoverage; + std::map<int, int> FileCoverage; + cmCTestCoverageHandlerContainer& Coverage; + cmCTest* CTest; +}; + + +#endif |