Commit Graph

1283 Commits

Author SHA1 Message Date
Bill Hoffman
1c61d240dd CTest: Report lines matched by launchers
Since launchers show the entire stderr/stdout for a command and only
skip it if all of the lines are suppressed, it can be hard to tell if
individual suppressions are working.  Mark up the output reported to
CDash with a prefix for each line indicating whether it was a matched or
suppressed warning.  Lines that are suppressed are prefixed with
`[CTest: warning suppressed]` and lines that match the warning
expression are prefixed with `[CTest: warning matched]`. This should
make it easier for people to add suppressions as they will know what
they need to match and what they have already suppressed. This is an
issue because if there is more than one warning in a single compiler
output you have to suppress all of them before it will go away.
2017-08-07 11:01:49 -04:00
Brad King
7b70023e93 Merge topic 'add_test_processors_prop_to_cdash'
614921b4 Add the test property PROCESSORS to the CDash xml as a NamedMeasurement.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1066
2017-07-21 10:13:36 -04:00
Bill Hoffman
614921b4c9 Add the test property PROCESSORS to the CDash xml as a NamedMeasurement.
This commit forwards the test property PROCESSORS to CDash in the xml
produced by ctest. This is to allow CDash to know how much processor
time was allocated to a test.
2017-07-18 12:18:11 -04:00
Brad King
407c7415f4 Merge topic 'cmake-E-sha'
c4de0a25 Add sha1sum, sha224sum, sha256sum, sha384sum and sha512sum to command mode
c4647d84 Change ComputeFileMD5 to ComputeFileHash
501a4fee Add some unit tests for md5sum

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1021
2017-07-18 11:12:57 -04:00
André Klitzing
c4647d8432 Change ComputeFileMD5 to ComputeFileHash
* Use a parameter to select hash algorithm
* Return a std::string as result or an empty
  string if it fails
* Avoids unnecessary copy of hash value
2017-07-14 08:57:17 +02:00
Brad King
47d9772618 Merge topic 'better-exception-reporting'
0c650f39 CTest: Report more detail about system exceptions in tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1046
2017-07-13 07:51:05 -04:00
Bill Hoffman
0c650f3965 CTest: Report more detail about system exceptions in tests
This passes the system exception string up to CDash and to the command line
instead of just printing "other".
2017-07-12 13:29:21 -04:00
Betsy McPhail
47b3a57c9b Display subproject timing summary
Use the '--no-subproject-summary' option to disable timing summary.
2017-07-10 16:25:18 -04:00
Betsy McPhail
d385962419 Add directory property 'LABELS' and CMAKE_DIRECTORY_LABELS variable
The specified LABELS will be passed down to subdirectories as well as
any targets or tests in the directory.
2017-07-10 16:25:18 -04:00
Betsy McPhail
d08ec4d25a Add CTEST_LABELS_FOR_SUBPROJECTS as a CTest module and script variable
Use this variable to specify a list of labels that will be reported to
CDash as subprojects.
2017-07-10 16:25:18 -04:00
Brad King
5875140c57 Merge topic 'display-ctest-disabled'
f59d729c ctest: Display disabled status when ctest -N is called

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Craig Scott <craig.scott@crascit.com>
Merge-request: !923
2017-06-05 09:41:53 -04:00
Chuck Atkins
f59d729c7c ctest: Display disabled status when ctest -N is called 2017-06-02 12:56:31 -04:00
Pavel Solodovnikov
db2d46e2dd Remove second arg: npos in substr usages 2017-06-01 14:19:52 -04:00
Pavel Solodovnikov
8b6f439ef2 Access string npos without instance 2017-06-01 14:19:51 -04:00
Brad King
9fe4a9e2ae cmParseBlanketJSCoverage: Pass unmodified parameter as const& 2017-06-01 14:18:54 -04:00
Daniel Pfeifer
a1218f59d9 cmCommand: remove unused methods from interface and all implementations 2017-05-11 19:49:06 +02:00
Daniel Pfeifer
c734c8501b CTest: use new methods for builtin commands 2017-05-11 19:49:06 +02:00
Daniel Pfeifer
da8faa8c7e cmState: remove RemoveUnscriptableCommands 2017-05-08 22:58:01 +02:00
Daniel Pfeifer
c36d63cd48 cmake: initialize with Role that controls which commands to register 2017-05-08 22:29:44 +02:00
Brad King
e1ae739e1f Merge topic 'ctest_submit_headers'
1a7d00bd ctest_submit: Add HTTPHEADER option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !793
2017-05-05 09:50:58 -04:00
Zack Galbreath
1a7d00bd12 ctest_submit: Add HTTPHEADER option
Allow CTest script writers to specify additional HTTP headers to be sent
to CDash during submission.

The motivating case for this feature is a corresponding change in CDash.
This will allow projects to refuse submissions from any site not bearing
a valid authentication token.
2017-05-04 12:21:21 -04:00
Ben Boeckel
3e027d9def c++: prefer vectors over lists
None of these usages of `std::list` were inserting or removing elements
in the middle of the structure, so there were no benefits to using it.

Other uses were related to C pointers being stable in a list of strings
whereas in a vector of strings, small pointer optimizations could be
moved and become invalid after a modification to the hosting vector.
None of these uses modified the vector after handing out a C string to
an external store.
2017-05-04 11:17:49 -04:00
Craig Scott
c1b2b7c03c Add ctest options for limiting which tests fixtures add
The new options allow the user to restrict the setup and cleanup tests
automatically added for fixtures.
2017-05-02 01:54:13 +10:00
Brad King
06d34c4ae7 Merge topic 'clang-tidy-2'
9a740f1b cmCPackIFWInstaller: fix validation of WizardStyle option
a168b4cc cmServerProtocol: avoid copies in range for
1ef22a26 cmDocumentation: use ofstream local variable
ba8571ff clang-tidy: use operators for string comparison

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !738
2017-04-27 08:57:30 -04:00
Brad King
ef205e04d4 Merge topic 'ctest_test-ignore-skipped-tests'
851b6c15 cmCTestTestHandler: indicate why a test did not run
25a7f14f Help: add release notes
ab8bbef9 cmCTestTestHandler: count skipped tests as disabled
202a44a4 cmCTestRunTest: do not count skipped tests as failed

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Craig Scott <craig.scott@crascit.com>
Merge-request: !741
2017-04-27 08:55:40 -04:00
Daniel Pfeifer
ba8571ff2d clang-tidy: use operators for string comparison 2017-04-26 08:59:56 +02:00
Ben Boeckel
851b6c1595 cmCTestTestHandler: indicate why a test did not run 2017-04-24 15:42:40 -04:00
Ben Boeckel
ab8bbef9c6 cmCTestTestHandler: count skipped tests as disabled
The `Skipped` status is basically a runtime version of the `Disabled`
status (set as a property on the test by the configure step), so treat
them the same.
2017-04-24 15:42:40 -04:00
Brad King
0039ddb6f2 Merge topic 'ctest-minor-fixups'
3d1bd011 cmCTestTestHandler: use pointers to static memory
5969048d cmCTestTestCommand: defer getting the global timeout

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !735
2017-04-24 09:37:02 -04:00
Ben Boeckel
202a44a4ca cmCTestRunTest: do not count skipped tests as failed
Skipped tests are neither passed nor failed tests, but return codes are
based only upon failed tests, so do not count them as such.

Fixes #16822.
2017-04-21 16:39:41 -04:00
Ben Boeckel
3d1bd01114 cmCTestTestHandler: use pointers to static memory
There's no need to reserve 100 bytes for each of these strings.
2017-04-21 13:03:01 -04:00
Ben Boeckel
5969048d1d cmCTestTestCommand: defer getting the global timeout 2017-04-21 13:03:00 -04:00
Daniel Pfeifer
b432e933cb clang-tidy: use .empty() to check emptyness 2017-04-21 10:44:07 +02:00
Daniel Pfeifer
b26577c92a clang-tidy: remove else after break and continue 2017-04-21 10:44:07 +02:00
Daniel Pfeifer
1d829c862c Use quotes for non-system includes
Automate with:

git grep -l '#include <cm_' -- Source \
  | xargs sed -i 's/#include <\(cm_.*\)>/#include "\1"/g'

git grep -l '#include <cmsys/' -- Source \
  | xargs sed -i 's/#include <\(cmsys\/.*\)>/#include "\1"/g'

git grep -l '#include <cm[A-Z]' -- Source \
  | xargs sed -i 's/#include <\(cm[A-Z].*\)>/#include "\1"/g'
2017-04-11 22:35:21 +02:00
Betsy McPhail
b070947dff Add 'DISABLED' test property
When this property is set, the test is skipped and its status is
automatically set to 'Not Run'.  A disabled test will not be counted in
the total number of tests and its completion status will be 'Disabled'.
2017-03-29 10:29:57 -04:00
Betsy McPhail
42c68aadf8 CTest: Improve 'Completion Status' reported to CDash for 'Not Run' tests
Previously, the completion status of not run tests was always set to
"Not Run".  Make it more descriptive.  This value is written to
`Test.xml` and then displayed as 'Test Details' in CDash.
2017-03-27 14:21:21 -04:00
Daniel Pfeifer
e9fc7ff505 Add self-sufficient wrapper for <sys/stat.h> 2017-03-24 22:58:25 +01:00
Ben Boeckel
aba92ffd92 cmWorkingDirectory: use the new class
These functions just need to change the directory for a block of code
and then go back to the caller's expected location. Use
cmWorkingDirectory to ensure that all return paths are handled.
2017-03-06 10:38:58 -05:00
Ben Boeckel
89891bcb9e cmCTest, cmCTestCoverageHandler: remove cwd dance
The working directory changes here didn't really accomplish anything.
2017-03-06 10:38:00 -05:00
Brad King
f10b2f72f6 ctest_update: Capture failure of svn to load revisions and local mods
Issue: #16646
2017-02-16 13:19:26 -05:00
Brad King
ef399f9bc6 ctest_update: Refactor internal APIs to support more failure cases
Thread failure of VC tool commands through more APIs so that we can
detect when they fail.  Defer updating of the individual VC tool usage
the future and just return true from them for now.
2017-02-16 13:19:26 -05:00
Brad King
aa18d5befe Merge topic 'fix-ctest_update-svn'
51849bba ctest_update: Fix svn log and external loading
2017-02-16 13:15:42 -05:00
Brad King
51849bbab8 ctest_update: Fix svn log and external loading
Since commit v3.7.0-rc1~132^2 (CTestSVN: Fix segfault when
CTEST_UPDATE_VERSION_ONLY is enabled, 2016-09-12) we do not properly
extract svn log or externals.  After updating we erase the information
that was loaded before updating and can no longer log the changes
between revisions to extract authors.

Fix this by only loading the repository information once, whether needed
by `NoteOldRevision`, `NoteNewRevision`, or both.

Fixes: #12630, #16646
2017-02-15 14:44:37 -05:00
Daniel Pfeifer
615e2a17e4 cmCommand: Don't prefix error message with command name
Instead, prefix the error message at the two places where the errors are
handled: cmMakefile and cmCTestHandlerCommand.
2017-02-13 20:49:20 +01:00
Jamie Snape
e116f2a5de ctest_memcheck: Fix sanitizers when MemoryCheckSanitizerOptions is empty 2017-01-23 10:50:38 -05:00
Brad King
22d240184c Merge topic 'cdash_upload_retry'
05ed82b1 ctest_submit: Update documentation for CDash upload retries
0ce7643a ctest_submit: improve handling of QUIET option
5614a5cd ctest_submit: Allow RETRY_COUNT for CDASH_UPLOAD
2017-01-20 11:54:28 -05:00
Zack Galbreath
0ce7643a84 ctest_submit: improve handling of QUIET option
Teach the CDASH_UPLOAD signature of ctest_submit() to more thoroughly
respect the QUIET option.
2017-01-20 11:37:27 -05:00
Zack Galbreath
5614a5cd1f ctest_submit: Allow RETRY_COUNT for CDASH_UPLOAD
Teach the CDASH_UPLOAD signature of ctest_submit() to honor the
RETRY_COUNT and RETRY_DELAY options.

Also teach HttpRequest() to honor the default 120 second timeout
for curl connections.
2017-01-20 11:37:27 -05:00
Brad King
cab8f26211 Merge topic 'cmCTestBuildHandler-fix-warning'
f3864452 cmCTestBuildHandler: Fix warning in FragmentCompare signature
2017-01-17 09:05:08 -05:00