summaryrefslogtreecommitdiffstats
path: root/Source/cmCTest.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Revise C++ coding style using clang-formatKitware Robot2016-05-161-1546/+1084
| | | | | | | | | | | | | 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-79/+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-17/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* cmState: Initialize default definitions immediately.Stephen Kelly2015-10-131-0/+1
| | | | Don't leave this as cmMakefile responsibility.
* CTest: Remove needless cmLocalGenerator creation.Stephen Kelly2015-10-051-2/+0
|
* CTest: Add options to limit output of passed and failed testsRoman Wüger2015-09-181-1/+40
| | | | | | | | | | Add ctest command-line options: --test-output-size-passed <n> --test-output-size-failed <n> to set the amount of test output to store in Test.xml as a command-line dashboard client.
* Merge topic 'fix-ctest-xml-double-encoding'Brad King2015-08-311-4/+1
|\ | | | | | | | | | | | | ab2524d6 CTest: Fix XML double-encoding cases dee84dc7 cmCTest{BZR,GIT,P4}: Remove unused cmXMLSafe includes b3372db5 cmExtra{Kate,SublimeText}Generator: Remove unused cmXMLSafe includes
| * CTest: Fix XML double-encoding casesDaniel Pfeifer2015-08-281-4/+1
| | | | | | | | | | | | | | Remove use of cmXMLSafe from CTest when generating content that is later handled by cmXMLWriter. This was broken by refactoring in the topic merged by commit v3.3.0-rc1~22 (Merge topic 'ctest-xml-refactor', 2015-05-28).
* | cmLocalGenerator: Create from already-constructed cmMakefile.Stephen Kelly2015-08-281-4/+4
| | | | | | | | Don't manage the lifetime of the cmMakefile with cmLocalGenerator.
* | cmGlobalGenerator: Remove MakeLocalGenerator method.Stephen Kelly2015-08-281-1/+1
| | | | | | | | Inline implementation to callers.
* | cmGlobalGenerator: Require a snapshot to create a local generator.Stephen Kelly2015-08-281-1/+2
| |
* | CTest: Report to CDash the compiler version used to build the projectDaniel Pfeifer2015-08-111-3/+2
| | | | | | | | | | | | | | | | The compiler version reported since commit v2.8.2~1018 (CTest-side support for compiler name and compiler version, 2009-10-12) only reported the version of the compiler used to build CMake, and only if it defined "_COMPILER_VERSION". Instead use the version of the compiler used to build the project CTest is testing.
* | CTest: Optionally add a ChangeId attribute on XML Site tagsZack Galbreath2015-07-171-0/+7
| | | | | | | | | | | | | | Add variable CTEST_CHANGE_ID to configure the setting. This allows CTest clients to give CDash information about what change is being tested so that CDash can take actions to report the results (e.g. to a pull request page).
* | CTest: hide progress ticks in verbose outputDaniel Pfeifer2015-07-061-4/+10
| | | | | | | | | | | | | | | | | | | | The progress ticks and information about the length of the output are useful when the actual output is not visible. When the output is printed, the progress ticks * add no useful information, * do not look pretty, and * make the output hard to parse for tools.
* | ctest: Optionally avoid starting tests that may exceed a given CPU loadBetsy McPhail2015-06-301-0/+35
|/ | | | | | | | | | | | | | Add a TestLoad setting to CTest that can be set via a new --test-load command-line option, CTEST_TEST_LOAD variable, or TEST_LOAD option to the ctest_test command. Teach cmCTestMultiProcessHandler to measure the CPU load and avoid starting tests that may take more than the spare load currently available. The expression <current_load> + <test_processors> <= <max-load> must be true to start a new test. Co-Author: Zack Galbreath <zack.galbreath@kitware.com>
* Merge topic 'ctest-xml-refactor'Brad King2015-05-281-70/+77
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | de2ef305 cmCTest: Drop unused method overloads b04500a7 cmCTest{Test,MemCheck}Handler: Port to cmXMLWriter 8fbc509a cmCTestCoverageHandler: Port to cmXMLWriter 82455a9d cmCTestBuildHandler: Port to cmXMLWriter 1dbd86fd cmCTestLaunch: Port to cmXMLWriter a53bd63e cmCTest: Port GenerateNotesFile to cmXMLWriter 9c0bb7d8 cmCTestConfigureHandler: Port to cmXMLWriter 6cf5cc71 cmCTestUploadHandler: Port to cmXMLWriter ed42c203 cmCTestUpdateHandler: Port to cmXMLWriter 18825baf cmCTest: Port to cmXMLWriter f6413400 Add cmXMLWriter class to consolidate XML generation
| * cmCTest: Drop unused method overloadsDaniel Pfeifer2015-05-261-112/+0
| | | | | | | | | | | | The StartXML, EndXML, and AddSiteProperties overloads that take a stream directly are no longer called anywhere. All clients hvae been ported to cmXMLWriter. Drop the old overloads.
| * cmCTest: Port GenerateNotesFile to cmXMLWriterDaniel Pfeifer2015-05-261-24/+26
| |
| * cmCTest: Port to cmXMLWriterDaniel Pfeifer2015-05-261-0/+117
| | | | | | | | | | Re-implement StartXML, EndXML, and AddSiteProperties using cmXMLWriter. Leave the old overloads behind for use by CTest/* until they are ported.
* | cmGlobalGenerator: Require a cmake instance in ctor.Stephen Kelly2015-05-271-2/+1
|/ | | | It is required anyway, so this makes it explicit.
* Merge topic 'refactor-cmLocalGenerator'Brad King2015-05-191-0/+2
|\ | | | | | | | | | | | | | | | | fa9eb814 cmLocalGenerator: Remove redundant path access. 1933f3d1 cmLocalGenerator: Remove redundant path conversions. 9e4b6cc2 cmState: Store computed relative paths to to current directories. 991f5e49 cmState::Snapshot: Store components for current directories. 57bdc1a2 cmState: Compute and store directory components.
| * cmState: Compute and store directory components.Stephen Kelly2015-05-161-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | There is no need to duplicate these in all cmLocalGenerators. Rename the symbols according to current conventions. Add explicit calls to Set{Source,Binary}Directory with empty strings in order to trigger the population of the components containers with the current working directory in cmLocalGenerator. Having directories set to empty is a special case in CMake, which is relied on for the `if(CMAKE_BINARY_DIR)` condition at the end of CMakeDetermineSystem.cmake.
* | cmGlobalGenerator: Add NVI wrapper to create local generator.Stephen Kelly2015-05-161-1/+1
|/
* ctest: Treat ENV{CTEST_OUTPUT_ON_FAILURE} as a booleanBrad King2015-04-221-2/+2
| | | | | Having this variable in the environment should not be enough to activate the behavior. It must also not be set to a false value (or empty value).
* cmMakefile: Remove always-null first parameter to ReadListFile.Stephen Kelly2015-04-181-2/+2
|
* cmMakefile: Add wrapper for reading listfiles which have an origin.Stephen Kelly2015-04-181-2/+1
| | | | | | Such files are delegates from other files, and so they set the CMAKE_PARENT_LIST_FILE to the originator. They also may set a policy scope.
* Port Global property interaction to cmState.Stephen Kelly2015-04-151-3/+6
|
* cmake: Remove the happy global property scope pattern.Stephen Kelly2015-04-151-3/+3
| | | | | | | | | Global properties are already global in scope, so remove the overload for specifying it and port users of the API. The call from cmMakefile::GetProperty can be simplified because the scope is only used during chaining, and there is no further chaining after processing global properties.
* cmState: Move CacheEntryType enum from cmCacheManager.Stephen Kelly2015-04-131-1/+1
|
* Add API for cache loading, deleting and saving to the cmake class.Stephen Kelly2015-04-071-1/+1
| | | | | Migrate existing users of the CacheManager API to use the new API. The CacheManager will be going away soon.
* Revert topic 'refactor-cache-api'Brad King2015-04-071-1/+1
| | | | | | This topic was never tested without some follow-up commits. The GetCacheEntryValue API returns a pointer to memory freed on return. It will have to be revised along with the rest of the original topic.
* Add API for cache loading, deleting and saving to the cmake class.Stephen Kelly2015-04-061-1/+1
| | | | | Migrate existing users of the CacheManager API to use the new API. The CacheManager will be going away soon.
* Fix warnings from clang scanbuild.Bill Hoffman2015-03-251-8/+19
|
* Merge topic 'ctest-repeat-until-fail'Brad King2015-03-231-4/+33
|\ | | | | | | | | | | 6bce0276 Help: Add notes for topic 'ctest-repeat-until-fail' fde70a1b ctest: Add a new --repeat-until-fail option
| * ctest: Add a new --repeat-until-fail optionBill Hoffman2015-03-231-4/+33
| | | | | | | | | | This option tells ctest to run each test N times until the test fails or the N times have run. This is useful for finding random failing tests.
* | Include cmAlgorithms where it is used.Stephen Kelly2015-03-101-0/+1
|/
* Merge topic 'ctest-output-options'Brad King2015-02-241-43/+57
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | ff1ddd2a ctest_upload: Add QUIET option 0b87b2a3 ctest_memcheck: Add QUIET option fc58bdb9 ctest_coverage: Add QUIET option 876a680d ctest_test: Add QUIET option 49ba4545 ctest_build: Add QUIET option f999dc0b ctest_configure: Add QUIET option 645ad117 ctest_update: Add QUIET option 19d1a559 ctest_start: Add QUIET option 1643b905 ctest_submit: Add QUIET option 12db1139 CTest: Add cmCTestOptionalLog macro
| * ctest_start: Add QUIET optionZack Galbreath2015-02-231-34/+42
| | | | | | | | | | This suppresses all non-error messages that would have otherwise been printed by this function.
| * CTest: Add cmCTestOptionalLog macroZack Galbreath2015-02-231-9/+15
| | | | | | | | | | | | | | | | | | cmCTestOptionalLog takes a boolean argument that indicates whether or not the message should be suppressed. Note that error messages will still be printed, even if suppression is requested. This macro will allow us to provide more fine-grained control over what messages CTest prints to the console.
* | cmCTest: Convert loop to member insert.Stephen Kelly2015-02-181-4/+3
|/
* cmake: Use a default CA path when not using system curlBrad King2015-01-231-1/+2
| | | | | | | | | | | | | | | | | | | | When using system curl, we trust it to be configured with desired CA certs. When using our own build of curl, we use os-configured CA certs on Windows and OS X. On other systems, try to achieve this by searching for common CA cert locations. According to a brief investigation, the curl packages on popular Linux distros are currently configured as: * Arch: /etc/ssl/certs/ca-certificates.crt * Debian with OpenSSL: /etc/ssl/certs * Debian with GNU TLS: /etc/ssl/certs/ca-certificates.crt * Debian with NSS: /etc/ssl/certs/ca-certificates.crt * Fedora: /etc/pki/tls/certs/ca-bundle.crt * Gentoo with OpenSSL: /etc/ssl/certs * Gentoo without OpenSSL: /etc/ssl/certs/ca-certificates.crt Teach CMake and CTest to look for these paths and use them as a CA path or bundle when no other os-configured or user-specified CAs are available.
* 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-4/+4
|
* Replace 'foo.size() > 0' pattern with !foo.empty().Stephen Kelly2015-01-181-5/+5
|
* Use the cmDeleteAll algorithm instead of trivial raw loops.Stephen Kelly2015-01-131-7/+1
|
* Merge topic 'add-xz-support'Brad King2015-01-121-1/+2
|\ | | | | | | | | | | | | | | 4035ef78 cmake -E tar: error out on multiple compression formats d811d238 cmSystemTools: use an enumeration for compression formats df16dcfb cmake -E tar: add support for .xz files with 'J' b0a5d393 cmake -E tar: clean up flag documentation
| * cmSystemTools: use an enumeration for compression formatsBen Boeckel2015-01-121-1/+1
| | | | | | | | Juggling 3 booleans was unwieldy.
| * cmake -E tar: add support for .xz files with 'J'Ben Boeckel2015-01-091-1/+2
| |
* | Port all cmOStringStream to std::ostringstream.Stephen Kelly2015-01-111-3/+3
| | | | | | | | All compilers hosting CMake support the std class.