|
|
|
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
|
|
|
file Copyright.txt or https://cmake.org/licensing for details. */
|
|
|
|
#ifndef cmParseBlanketJSCoverage_h
|
|
|
|
#define cmParseBlanketJSCoverage_h
|
|
|
|
|
|
|
|
#include "cmConfigure.h" // IWYU pragma: keep
|
|
|
|
|
|
|
|
#include <string>
|
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
class cmCTest;
|
|
|
|
class cmCTestCoverageHandlerContainer;
|
|
|
|
|
|
|
|
/** \class cmParseBlanketJSCoverage
|
|
|
|
* \brief Parse BlanketJS coverage information
|
|
|
|
*
|
|
|
|
* This class is used to parse BlanketJS(Pascal) coverage information
|
|
|
|
* generated by the Blanket.js library when used in conjunction with the
|
|
|
|
* test runner mocha.js, which is used to write out the JSON format.
|
|
|
|
*
|
|
|
|
* Blanket.js:
|
|
|
|
* http://blanketjs.org/
|
|
|
|
*
|
|
|
|
* Mocha.js
|
|
|
|
* http://visionmedia.github.io/mocha/
|
|
|
|
*/
|
|
|
|
class cmParseBlanketJSCoverage
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
cmParseBlanketJSCoverage(cmCTestCoverageHandlerContainer& cont,
|
|
|
|
cmCTest* ctest);
|
|
|
|
bool LoadCoverageData(std::vector<std::string> const& files);
|
|
|
|
// Read the JSON output
|
|
|
|
bool ReadJSONFile(std::string const& file);
|
|
|
|
|
|
|
|
protected:
|
|
|
|
class JSONParser;
|
|
|
|
|
|
|
|
cmCTestCoverageHandlerContainer& Coverage;
|
|
|
|
cmCTest* CTest;
|
|
|
|
};
|
|
|
|
#endif
|