summaryrefslogtreecommitdiffstats
path: root/Source/CTest/cmCTestCoverageHandler.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Remove c_str() calls from stream arguments.Daniel Pfeifer2016-06-061-2/+2
| | | | | | Mostly automated: git grep -l '.c_str() <<' | xargs sed -i 's|\.c_str() <<| <<|g'
* Simplify boolean expressionsDaniel Pfeifer2016-06-021-12/+4
| | | | | | Use clang-tidy's readability-simplify-boolean-expr checker. After applying the fix-its, revise all changes *very* carefully. Be aware of false positives and invalid changes.
* Merge topic 'remove-needless-copies'Brad King2016-05-271-2/+1
|\ | | | | | | | | | | 27ead963 Remove unnecessary local copies. 618fb23f Pass arguments that are not modified as const&.
| * Remove unnecessary local copies.Daniel Pfeifer2016-05-261-1/+0
| | | | | | | | | | | | | | Use clang-tidy's performance-unnecessary-copy-initialization checker. After applying the fix-its (which turns the copies into const&), revise the changes and see whether the copies can be removed entirely by using the original instead.
| * Pass arguments that are not modified as const&.Daniel Pfeifer2016-05-261-1/+1
| | | | | | | | | | | | | | Use clang-tidy's performance-unnecessary-value-param checker to find value parameter declarations of expensive to copy types that are not modified inside the function. Ignore findings in kwsys. After applying the fix-its, manually change `const T&` to `T const&`.
* | Remove redundant c_str() calls.Daniel Pfeifer2016-05-261-1/+1
|/ | | | | Run clang-tidy's readability-redundant-string-cstr checker. Ignore findings in kwsys.
* Improve string find: prefer character overloads.Daniel Pfeifer2016-05-241-2/+2
| | | | | Apply fix-its from clang-tidy's performance-faster-string-find checker. Ignore findings in kwsys.
* Revise C++ coding style using clang-formatKitware Robot2016-05-161-1236/+962
| | | | | | | | | | | | | Run the `Utilities/Scripts/clang-format.bash` script to update all our C++ code to a new style defined by `.clang-format`. Use `clang-format` version 3.8. * If you reached this commit for a line in `git blame`, re-run the blame operation starting at the parent of this commit to see older history for the content. * See the parent commit for instructions to rebase a change across this style transition commit.
* Remove `//------...` horizontal separator commentsBrad King2016-05-091-37/+0
| | | | | | | | | | | | | | | | | | | | | | | | Modern editors provide plenty of ways to visually separate functions. Drop the explicit comments that previously served this purpose. Use the following command to automate the change: $ git ls-files -z -- \ "*.c" "*.cc" "*.cpp" "*.cxx" "*.h" "*.hh" "*.hpp" "*.hxx" | egrep -z -v "^Source/cmCommandArgumentLexer\." | egrep -z -v "^Source/cmCommandArgumentParser(\.y|\.cxx|Tokens\.h)" | egrep -z -v "^Source/cmDependsJavaLexer\." | egrep -z -v "^Source/cmDependsJavaParser(\.y|\.cxx|Tokens\.h)" | egrep -z -v "^Source/cmExprLexer\." | egrep -z -v "^Source/cmExprParser(\.y|\.cxx|Tokens\.h)" | egrep -z -v "^Source/cmFortranLexer\." | egrep -z -v "^Source/cmFortranParser(\.y|\.cxx|Tokens\.h)" | egrep -z -v "^Source/cmListFileLexer\." | egrep -z -v "^Source/cm_sha2" | egrep -z -v "^Source/(kwsys|CursesDialog/form)/" | egrep -z -v "^Utilities/(KW|cm).*/" | xargs -0 sed -i '/^\(\/\/---*\|\/\*---*\*\/\)$/ {d;}' This avoids modifying third-party sources and generated sources.
* Format include directive blocks and ordering with clang-formatBrad King2016-04-291-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sort include directives within each block (separated by a blank line) in lexicographic order (except to prioritize `sys/types.h` first). First run `clang-format` with the config file: --- SortIncludes: false ... Commit the result temporarily. Then run `clang-format` again with: --- SortIncludes: true IncludeCategories: - Regex: 'sys/types.h' Priority: -1 ... Commit the result temporarily. Start a new branch and cherry-pick the second commit. Manually resolve conflicts to preserve indentation of re-ordered includes. This cleans up the include ordering without changing any other style. Use the following command to run `clang-format`: $ git ls-files -z -- \ '*.c' '*.cc' '*.cpp' '*.cxx' '*.h' '*.hh' '*.hpp' '*.hxx' | egrep -z -v '(Lexer|Parser|ParserHelper)\.' | egrep -z -v '^Source/cm_sha2' | egrep -z -v '^Source/(kwsys|CursesDialog/form)/' | egrep -z -v '^Utilities/(KW|cm).*/' | egrep -z -v '^Tests/Module/GenerateExportHeader' | egrep -z -v '^Tests/RunCMake/CommandLine/cmake_depends/test_UTF-16LE.h' | xargs -0 clang-format -i This selects source files that do not come from a third-party. Inspired-by: Daniel Pfeifer <daniel@pfeifer-mail.de>
* Source: Stabilize include orderBrad King2016-04-291-0/+1
| | | | | Each source file has a logical first include file. Include it in an isolated block so that tools that sort includes do not move them.
* CTest: Make coverage file selection more specific.Joseph Snyder2016-02-251-2/+18
| | | | | | | When performing some other testing, the globs for Blanket.js and Delphi code coverage are picking up unintended files. Change the query for the Delphi coverage to follow the naming convention, and check the second line of the found JSON files for certain text before parsing them as coverage files.
* CTest: Expand directories for Cobertura searchJoseph Snyder2015-11-231-3/+18
| | | | | | | | | | Change the Cobertura handler to look for an environment variable called "COBERTURADIR" which contains the directory where the coverage.xml file is found. If that variable doesn't exist, continue to use the default of the binary directory. Update the test to use an appropriate value in the environment variables.
* Merge topic 'jacoco_out_of_source'Brad King2015-11-161-4/+21
|\ | | | | | | | | 1db32ffe ctest_coverage: Search for Jacoco files in the binary directory
| * ctest_coverage: Search for Jacoco files in the binary directoryZack Galbreath2015-11-161-4/+21
| | | | | | | | | | Search for Jacoco coverage files in both the source directory and the binary directory.
* | Fix trivial clang -Wdouble-promotion warningsSean McBride2015-11-111-1/+1
|/
* Remove use of include <cmsys/stl/*> and cmsys_stl::*Brad King2015-08-201-2/+0
| | | | We no longer need this compatibility layer for the compilers we support.
* cmCTestCoverageHandle: Improve error handling.James Johnston2015-08-081-6/+27
|
* ctest_coverage: Always do coverage for CTEST_EXTRA_COVERAGE_GLOBZack Galbreath2015-07-131-1/+1
| | | | | | | | Do not ignore a coverage request if CTEST_EXTRA_COVERAGE_GLOB was specified. Prior to this change, if no lines of code were covered by any tests then CTest would neglect to generate a Coverage.xml file. This change allows us to report uncovered files for a project with no tests.
* cmCTestCoverageHandler: Port to cmXMLWriterDaniel Pfeifer2015-05-261-157/+148
|
* ctest_coverage: Add QUIET optionZack Galbreath2015-02-231-181/+191
|
* Remove use of cmsys_stl.Stephen Kelly2015-02-051-2/+2
| | | | It is not needed.
* Replace foo.size() pattern with !foo.empty().Stephen Kelly2015-01-181-6/+6
|
* Replace !foo.size() pattern with foo.empty().Stephen Kelly2015-01-181-3/+3
|
* Replace 'foo.size() == 0' pattern with foo.empty().Stephen Kelly2015-01-181-6/+6
|
* Replace 'foo.size() > 0' pattern with !foo.empty().Stephen Kelly2015-01-181-4/+4
|
* Merge topic 'drop-ancient-workarounds'Brad King2015-01-121-4/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0f7bdd61 Remove VS 6 special case. 5e92c826 Remove some obsolete stuff. 15e42bb2 cmStandardIncludes: Remove obsolete cmOStringStream. 931e055d Port all cmOStringStream to std::ostringstream. f194a009 Remove unused cmIStringStream class. 3ec1bb15 cmStandardIncludes: Remove std namespace hack. bb3bce70 cmStandardIncludes: Remove ANSI_FOR_SCOPE hack. 28fa4923 cmStandardIncludes: Remove iostreams workaround for obsolete Compaq compiler. 837a8a63 cmStandardIncludes: Drop Comeau-related workaround. 4030ddfd Remove Borland-related undef. 17d6a6fd cmStandardIncludes: Remove comment about Borland. 26fb5011 Drop SGI as a CMake host compiler.
| * Port all cmOStringStream to std::ostringstream.Stephen Kelly2015-01-111-4/+4
| | | | | | | | All compilers hosting CMake support the std class.
* | Use two-iterator std::set::insert where appropriate.Stephen Kelly2015-01-111-5/+1
|/
* ctest_coverage: Fix error message to report the file nameVladislav Vinogradov2014-12-221-1/+1
| | | | | Print file name instead of line content for "Looks like there are more lines in the file:" error message.
* Remove some unneeded c_str calls.Stephen Kelly2014-11-231-8/+8
|
* CTest: Add Javascript coverage parserJoseph Snyder2014-10-291-0/+40
| | | | | | | Add a coverage parser for the Blanket.js library using the JSON output of the mocha.js test runner. Add a test for the new parser.
* Merge topic 'remove-redundant-c_str'Brad King2014-10-211-21/+21
|\ | | | | | | | | cc1139cc strings: Remove redundant calls to std::string::c_str()
| * strings: Remove redundant calls to std::string::c_str()Nils Gladitz2014-10-151-21/+21
| | | | | | | | | | Replacements were detected and performed by the clang tool remove-cstr-calls on a linux build.
* | CTest: Add code coverage parser for Pascal/DelphiJoseph Snyder2014-10-211-0/+36
|/ | | | | | | | Add a class to parse the HTML output of the Delphi-code-coverage tool http://code.google.com/p/delphi-code-coverage/ Add a test for the new parser.
* CTest: Add Jacoco Coverage functionalityJoseph Snyder2014-06-121-0/+40
| | | | | | | | Add the ability to parse the XML output of the Jacoco tool. Jacoco (www.eclemma.org/jacoco) is a Java coverage tool. Add and integrate a class for the parser and include a test which utilizes the new parser.
* CTest: Rename coverage implementation for "Python" to "Cobertura"Joseph Snyder2014-06-041-6/+6
| | | | | | The coverage.py tool writes out an XML that conforms to the Cobertura Coverage tool standard. Rename the cmParsePythonCoverage files to instead be cmParseCoberturaCoverage.
* CTest: Add support for Intel coverage filesVolkan Gezer2014-03-131-0/+305
| | | | | | | | | | | | | | | | | | By default, Intel compiler coverage tools generate HTML files as reports, but the option -txtlcov can be given to codecov to output a coverage file with LCov format. To use Intel coverage: * build the project with coverage flags * run the application * run profmerge * run codecov The output file will be "build_dir/CodeCoverage/SRCFILEDIR.LCOV". Ask users to compile with -prof-dir${BUILD_DIR} instead of searching the entire build tree recursively to find coverage files.
* Remove c_str calls when using stream APIs.Stephen Kelly2014-03-111-44/+44
| | | | | Use an ad-hoc clang tool for matching the calls which should be ported.
* Remove some c_str() calls.Stephen Kelly2014-03-111-6/+6
| | | | | | Use the clang RemoveCStrCalls tool to automatically migrate the code. This was only run on linux, so does not have any positive or negative effect on other platforms.
* strings: Remove cmStdString referencesBen Boeckel2014-03-081-12/+12
| | | | | | | | | | | Casts from std::string -> cmStdString were high on the list of things taking up time. Avoid such implicit casts across function calls by just using std::string everywhere. The comment that the symbol name is too long is no longer relevant since modern debuggers alias the templates anyways and the size is a non-issue since the underlying methods are generated since it's inherited.
* CTest: notify user if gcov cannot be foundZack Galbreath2014-02-281-0/+6
| | | | | Emit an error message when we're performing coverage using gcov and the gcov executable cannot be found.
* Use cmsys::[io]fstream instead of cmsys_ios::[io]fstream.Clinton Stimpson2014-01-071-9/+10
| | | | | Also use SystemTools::Fopen() instead of fopen(). This is to eventually support utf-8 filenames.
* CTest: clean TargetDirs between unrelated coverage runs (issue 13143)Nils Gladitz2013-10-291-0/+1
|
* Adding support for the Python coverage.py tool.Patrick Reynolds2013-10-081-0/+34
| | | | | | 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.
* CTest: Coverage handler: expect certain output lines from gcov 4.7 (#13657)David Cole2012-12-101-4/+11
| | | | And do not report them as errors.
* Remove trailing whitespace from most CMake and C/C++ codeKitware Robot2012-08-131-39/+39
| | | | | | | | | | | | | | | | | Our Git commit hooks disallow modification or addition of lines with trailing whitespace. Wipe out all remnants of trailing whitespace everywhere except third-party code. Run the following shell code: git ls-files -z -- \ bootstrap doxygen.config '*.readme' \ '*.c' '*.cmake' '*.cpp' '*.cxx' \ '*.el' '*.f' '*.f90' '*.h' '*.in' '*.in.l' '*.java' \ '*.mm' '*.pike' '*.py' '*.txt' '*.vim' | egrep -z -v '^(Utilities/cm|Source/(kwsys|CursesDialog/form)/)' | egrep -z -v '^(Modules/CPack\..*\.in)' | xargs -0 sed -i 's/ \+$//'
* Merge topic 'mumps_coverage'David Cole2012-05-171-1/+51
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c806b23 CDash now supports lots of files in coverage. So, show all files. 761d931 Do not try to run bullseye coverage if COVFILE env is empty. 5b69ce4 Update test data to match new coverage format. 1b418f1 Change GT.M Coverage Parser global b0c07a1 Disable bullseye coverage for mumps coverage test. 0a169e6 Remove uncovered files from cache coverage data. a7abf5e Add ability to specify more than one package directory or coverage directory. 220afca Use <TARGET_FILE> expression to run ctest so it works with Xcode and VS IDE. 62f6bce Use a script to run the test because WORKING_DIRECTORY is not in 2.8.2. f5c5db0 Fix some warnings and a bug where it went past the length of a vector. 7955e99 Add support for Cache coverage. a86cd33 Add virutal destructor to silence warning. 319eeb0 Add test for mumps coverage. Also refactor code to prepare for cache coverage. 72210c2 Fix line length. dd07161 Fix warning about char* instead of const char*. e6412e0 Add support to ctest for GTM mumps coverage.
| * CDash now supports lots of files in coverage. So, show all files.Bill Hoffman2012-05-111-0/+3
| | | | | | | | | | | | Prior to this commit the mumps coverage only showed files that had at least one line of coverage. Now 0% covered files are shown as well.
| * Do not try to run bullseye coverage if COVFILE env is empty.Bill Hoffman2012-05-081-1/+1
| |