Commit Graph

1304 Commits

Author SHA1 Message Date
Matthias Maennich
79b8c3802a Improve several occurrences of vector::push_back in loops
Fix issues diagnosed by clang-tidy by pre-allocating the vector capacity
before the loop [performance-inefficient-vector-operation].

Signed-off-by: Matthias Maennich <matthias@maennich.net>
2017-09-28 07:23:41 -04:00
Matthias Maennich
f0489856e3 Retire std::auto_ptr and its macro CM_AUTO_PTR
Signed-off-by: Matthias Maennich <matthias@maennich.net>
2017-09-26 00:07:19 +02:00
Pavel Solodovnikov
37d9387be3 Replace empty-string comparisons with checking against empty(). 2017-09-21 11:23:19 +03:00
Brad King
95df03a1d4 Merge topic 'CTest-cov-string'
062776e7 CTest: pass std::string to cmCTestCoverageHandler::ShouldIDoCoverage()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1290
2017-09-20 13:21:58 -04:00
Brad King
4f971e700a Merge topic 'CTest-crash-missing-glob'
6db63012 CTest: fix crash if source file for coverage cannot be found

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1289
2017-09-20 07:46:09 -04:00
Rolf Eike Beer
062776e75b CTest: pass std::string to cmCTestCoverageHandler::ShouldIDoCoverage()
Avoid needless conversion back and forth.
2017-09-19 17:41:41 +02:00
Rolf Eike Beer
6db6301205 CTest: fix crash if source file for coverage cannot be found
The opened XML elements were not closed, so an assert was triggered when the
file was finally closed. If CMake is built with assertions disabled then an
invalid XML file will be produced.
2017-09-19 17:37:29 +02:00
Brad King
7c28081c14 Merge topic 'string-clear'
5db3aac1 Meta: replace empty-string assignments with `clear()`.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1276
2017-09-19 08:27:00 -04:00
Brad King
a1cdf537ff Merge topic 'ctest-runcommand'
67529aab Doc: document that CoverageExtraFlags will come first
69fac3c3 pass arguments as vector to cmCTest::RunCommand()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1261
2017-09-18 10:16:08 -04:00
Pavel Solodovnikov
5db3aac111 Meta: replace empty-string assignments with clear(). 2017-09-16 02:26:49 +03:00
Rolf Eike Beer
69fac3c3d5 pass arguments as vector to cmCTest::RunCommand()
The only 2 callers took care to construct a properly escaped string, but not
using the documented way, and that string was passed only to be immediately
split into tokens again. Start with a vector and join it only for logging,
avoiding needless quotes during that.
2017-09-15 17:50:56 +02:00
Brad King
0b33aee48b Use C++11 override instead of CM_OVERRIDE
We now require C++11 support including `override`.  Drop use of
the old compatibility macro.  Convert references as follows:

    git grep -l CM_OVERRIDE -- '*.h' '*.hxx' '*.cxx' |
      xargs sed -i 's/CM_OVERRIDE/override/g'
2017-09-15 10:06:41 -04:00
Pavel Solodovnikov
63f6fd144e Meta: modernize old-fashioned loops to range-based for (CTest).
Changes done via `clang-tidy` with some manual fine-tuning
for the variable naming and `auto` type deduction
where appropriate.
2017-09-14 16:11:58 +03:00
Bill Hoffman
5b829c89b8 CTest: Weight reported test times by PROCESSORS in summaries
This commit changes the times reported by labels and subprojects to be
weighted by the PROCESSORS property. It is reported with `sec*proc`
instead of just `sec`.
2017-09-08 10:03:01 -04:00
Bill Hoffman
a6e32eb0c2 CTest: Split out labels and subproject labels in summary output
This commit splits out the reporting of labels and labels used for sub
projects. If a label is a sub project label it will not be included in
the label summary.  To implement this the commit creates
PrintLabelOrSubprojectSummary which is able to do the work of both
PrintLabelSummary and PrintSubprojectSummary avoiding code duplication.
2017-09-08 10:02:39 -04:00
Rolf Eike Beer
353ec23737 use static_cast<> for casts from void* 2017-09-01 20:50:00 +02:00
Daniel Pfeifer
2b4c32c95f clang-format: format all code as Cpp11 2017-08-30 11:07:05 -04:00
Daniel Pfeifer
7ddd43183d Merge topic 'cstyle-casts'
190e3825 Replace C-style casts

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1176
2017-08-30 06:38:00 -04:00
Daniel Pfeifer
190e3825d4 Replace C-style casts 2017-08-27 09:58:46 +02:00
Daniel Pfeifer
ca2233e31f IWYU: Mark cmConfigure.h with pragma: keep
Also remove `#include "cmConfigure.h"` from most source files.
2017-08-26 07:41:04 +02:00
Daniel Pfeifer
5962db4389 Use C++11 nullptr 2017-08-24 23:39:47 +02:00
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