summaryrefslogtreecommitdiffstats
path: root/Tests/CMakeLib
Commit message (Collapse)AuthorAgeFilesLines
* Refactoring: Third-parties public headers are under cm3p prefixMarc Chevrier2020-05-073-4/+3
| | | | Fixes: #20666
* Merge topic 'stl-support'Brad King2020-05-012-4/+2
|\ | | | | | | | | | | | | 8d4a9ee398 Refactoring: rename "cm_static_string_view.hxx" as <cmext/string_view> Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4689
| * Refactoring: rename "cm_static_string_view.hxx" as <cmext/string_view>Marc Chevrier2020-04-302-4/+2
| |
* | IWYU: mark <cstddef> as neededBen Boeckel2020-04-291-1/+1
| | | | | | | | Newer IWYU is not seeing this as necessary for `_GLIBCXX_USE_CXX11_ABI`.
* | IWYU: mark <cstddef> as neededBen Boeckel2020-04-292-2/+2
|/ | | | Newer IWYU is not seeing them as needed for `size_t`.
* Merge topic 'automoc-using-depfiles'Brad King2020-01-308-0/+198
|\ | | | | | | | | | | | | | | | | | | aebfbcaa46 AutoGen: Use depfiles for the XXX_autogen ninja targets f765fdea03 AutoGen: Use moc's feature to output dependencies f8c505d4b3 Add a parser for GCC-style depfiles Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Jan Niklas Hasse <jhasse@bixense.com> Merge-request: !4221
| * Add a parser for GCC-style depfilesJoerg Bornemann2020-01-288-0/+198
| | | | | | | | | | | | | | | | | | | | | | Introduce the function cmReadGccDepfile that parses a GCC-style depfile and returns its content. The implementation uses a lexer that is modeled after the re2c implementation in Ninja. The sample files of the autotest have been created with gcc 8.3.0. This depfile reader is to be used by the Autogen facility to make use of the depfiles that are generated by Qt's meta object compiler.
* | Merge topic 'cmsting-stl-compatibility'Brad King2020-01-281-5/+5
|\ \ | |/ |/| | | | | | | | | 8f839d02e3 cm::String: enhance compatibility with STL Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4281
| * cm::String: enhance compatibility with STLMarc Chevrier2020-01-251-5/+5
| |
* | Stl support: cm::append now supports any sequential containerMarc Chevrier2020-01-241-0/+1
|/
* Merge topic 'ctest-resource-allocation-spec-message'Craig Scott2019-12-291-52/+70
|\ | | | | | | | | | | | | b393b32b4b CTest: Improve error handling when reading resource spec file Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4162
| * CTest: Improve error handling when reading resource spec fileKyle Edwards2019-12-271-52/+70
| | | | | | | | Fixes: #20079
* | Merge topic 'test-resource-spec-init-lists'Brad King2019-12-191-37/+36
|\ \ | |/ | | | | | | | | | | | | e8dbe4bba1 Tests: Fix testCTestResourceSpec struct initialization for some compilers Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Michael Dickens <michael.dickens@ettus.com> Merge-request: !4141
| * Tests: Fix testCTestResourceSpec struct initialization for some compilersMichael Dickens2019-12-181-37/+36
| | | | | | | | | | | | | | | | Some compilers do not like the nested `{{{}}}` member initialization syntax, so use just `{}`. GCC 4.8 warns about the latter, so add a suppression. Fixes: #20097
* | Refactoring: introduce header cmext/algorithm with append functionsMarc Chevrier2019-12-172-0/+118
| |
* | Merge topic 'cmext-memory'Brad King2019-12-042-0/+66
|\ \ | | | | | | | | | | | | | | | | | | fc3b4caa2e Memory management: cast functions for managed pointers Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4064
| * | Memory management: cast functions for managed pointersMarc Chevrier2019-11-272-0/+66
| | |
* | | Merge topic 'ctest-spec-file-version-test'Kyle Edwards2019-11-282-0/+5
|\ \ \ | |/ / |/| / | |/ | | | | | | 59df85194e CTest Resource Allocation: Add test for spec file with no version Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4092
| * CTest Resource Allocation: Add test for spec file with no versionKyle Edwards2019-11-262-0/+5
| |
* | Merge topic 'ctest-resource-fixes'Brad King2019-11-2635-0/+188
|\ \ | |/ | | | | | | | | | | | | | | a033bafbe0 Help: Clarify how tests are run if no resource spec file is specified a64ba0235f CTest: Clarify that resource requirements can be split f9f294f5fa CTest: Add version field to resource spec file Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4080
| * CTest: Clarify that resource requirements can be splitKyle Edwards2019-11-251-0/+3
| | | | | | | | | | | | | | Add a note to the documentation to clarify this, and add test cases to ensure it. Fixes: #19987
| * CTest: Add version field to resource spec fileKyle Edwards2019-11-2534-0/+185
| | | | | | | | Fixes: #20007
* | Merge topic 'fix-optional-test'Brad King2019-11-151-36/+48
|\ \ | |/ | | | | | | | | | | | | e8bd920df1 Tests: Fix reliance on undefined behavior of cm::optional Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Ben Boeckel <ben.boeckel@kitware.com> Merge-request: !4049
| * Tests: Fix reliance on undefined behavior of cm::optionalKyle Edwards2019-11-131-36/+48
| | | | | | | | | | | | | | | | | | | | | | The test for cm::optional assumed that *opt would return a reference to a non-constructed object if opt.has_value() is false. However, on certain systems that build CMake with flags to harden the build, this condition aborts rather than returning the invalid reference. Fix this by getting the reference only when the cm::optional is known to actually have a value. Fixes: #19964
* | Merge branch 'backport-ctest-resource-groups'Brad King2019-11-0523-59/+60
|\ \ | |/
| * CTest: Rename hardware -> resources for source codeCraig Scott2019-11-0522-53/+53
| |
| * CTest: Rename PROCESSES test property to RESOURCE_GROUPSBrad King2019-11-052-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | The `PROCESSES` test property name added for CMake 3.16 is too close to the existing `PROCESSORS` test property. Furthermore, the property in principle specifies groups of resources organized in a way that is meaningful to a particular test. The groups may often correspond to processes but they could have other meanings. Since the property name `PROCESSES` has not been in a final 3.16 release yet, simply rename it to `RESOURCE_GROUPS`. Fixes: #19914
* | Tests: Suppress clang scan-build warning in UTF8 testBrad King2019-10-291-0/+2
|/ | | | | | | | | | | | Clang scan-build 7 reports: ``` Tests/CMakeLib/testUTF8.cxx:12:3: warning: 4th function call argument is an uninitialized value printf("[0x%02X,0x%02X,0x%02X,0x%02X]", static_cast<int>(d[0]), ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``` Manual tracing of all call sites shows that all values are initialized.
* CTest: Add bin-packing algorithmKyle Edwards2019-10-022-0/+301
| | | | | | | This algorithm is used to determine whether or not a test can execute with the available resources. It uses a recursive largest- first algorithm to try to place the tests into their respective slots.
* CTest: Add cmCTestHardwareAllocator classKyle Edwards2019-10-022-0/+427
|
* CTest: Add parser for hardware spec fileKyle Edwards2019-10-0220-0/+230
|
* CTest: Add lexer for PROCESSES propertyKyle Edwards2019-10-022-1/+140
|
* Revise include order using clang-format-6.0Kitware Robot2019-10-0119-59/+62
| | | | | Run the `clang-format.bash` script to update our C and C++ code to a new include order `.clang-format`. Use `clang-format` version 6.0.
* cmstd: Modernize CMake system headersMarc Chevrier2019-09-205-7/+7
| | | | | | | | | | | | | | Provide a standardized way to handle the C++ "standard" headers customized to be used with current CMake C++ standard constraints. Offer under directory `cm` headers which can be used as direct replacements of the standard ones. For example: #include <cm/string_view> can be used safely for CMake development in place of the `<string_view>` standard header. Fixes: #19491
* clang-tidy: modernize-deprecated-headersRegina Pfeifer2019-09-161-1/+1
|
* clang-tidy: modernize-use-autoRegina Pfeifer2019-09-101-1/+1
| | | | | | Set the MinTypeNameLength option to an impossibly high value in order to limit the diagnostics to iterators. Leave new expressions and cast expressions for later.
* clang-tidy: Fix bugprone-exception-escape diagnostic in test codeBrad King2019-09-091-1/+2
|
* clang-tidy: Replace typedef with usingRegina Pfeifer2019-09-031-1/+1
|
* IWYU: Add missing cstddef includes for size_t and nullptr_tBrad King2019-09-031-0/+1
| | | | The IWYU tool we use for CI now diagnoses these.
* Source: Add cm::optionalKyle Edwards2019-08-232-0/+691
|
* Merge topic 'cmStringAlgorithms_ulong'Kyle Edwards2019-08-162-16/+35
|\ | | | | | | | | | | | | 935fbe0b04 cmStringAlgorithms: Add cmStrToLong and cmStrToULong Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3681
| * cmStringAlgorithms: Add cmStrToLong and cmStrToULongSebastian Holtermann2019-08-102-16/+35
| | | | | | | | | | | | | | | | This adds the following functions to cmStringAlgorithms: - `cmStrToLong`: moved from `cmSystemTools::StringToLong` - `cmStrToULong`: moved from `cmSystemTools::StringToULong` Overloads of the given functions for `std::string` are added as well.
* | cmStringAlgorithms: Add cmRemoveQuotesSebastian Holtermann2019-08-091-0/+23
|/ | | | | - Add `cmRemoveQuotes` function to cmStringAlgorithms - Remove unused removeQuotes inline functions
* Tests: testStringAlgorithms: Add cmTrimWhitespace, cmEscapeQuotes, cmTokenizeSebastian Holtermann2019-08-051-0/+37
| | | | | Extend the testStringAlgorithms test with tests for `cmTrimWhitespace`, `cmEscapeQuotes` and `cmTokenize`.
* Tests: Add CMakeLib.testStringAlgorithms testSebastian Holtermann2019-08-012-0/+135
|
* modernize: manage cmCommand instances using unique_ptr.Marc Chevrier2019-07-141-1/+0
|
* Introduce memory management helper: cm_memory.hxxMarc Chevrier2019-07-141-1/+2
|
* IWYU: Fix handling of <memory> standard headerBrad King2019-07-101-0/+1
| | | | | | | | An old workaround for `std::allocator_traits<>::value_type` lints from IWYU on `std::vector<>` usage breaks IWYU's handling of `<memory>`. Convert the workaround to use the same approach we already use for a workaround of `std::__decay_and_strip<>::::__type` lints. Then update the `<memory>` inclusions to follow the now-correct IWYU lints.
* cmUVProcessChain: Add cmUVProcessChainKyle Edwards2019-05-073-0/+411
| | | | | | | | | This class is ultimately intended as a replacement for cmsys::Process. It spawns a series of processes using libuv, piping the output of each command into the next. Note: input support has not yet been implemented because write support has not yet been implemented on cmUVStreambuf.
* cmUVStreambuf: Add std::streambuf implementation for uv_stream_tKyle Edwards2019-04-252-1/+460
| | | | | This will allow std::istream/std::ostream-based interaction with processes spawned by libuv.