diff options
| author | Brad King <brad.king@kitware.com> | 2021-04-27 17:49:58 (GMT) |
|---|---|---|
| committer | Kitware Robot <kwrobot@kitware.com> | 2021-04-27 17:50:09 (GMT) |
| commit | 893a5108c58593de362736947147e50228edf88a (patch) | |
| tree | 9bbe9aa646b48144550370f54fc0ffdc3c762772 /Tests/RunCMake/GenerateExportHeader/exportheader_test.cpp | |
| parent | 0eb42defc222372b660983ac46ea1266543af7e0 (diff) | |
| parent | 231df230d5894649dc7e85d0204226e9e87973c2 (diff) | |
| download | CMake-893a5108c58593de362736947147e50228edf88a.zip CMake-893a5108c58593de362736947147e50228edf88a.tar.gz CMake-893a5108c58593de362736947147e50228edf88a.tar.bz2 | |
Merge topic 'msys-simple'
231df230d5 Help: Add release note for MSYS runtime support
ddcd1469e8 MSYS: Add support for running under MSYS runtime environment
b3ca4f9ad1 cm/filesystem: Work around crash when compiled for CYGWIN/MSYS runtime
c9aec3d4a9 FindCurses: Do not assume ncurses is installed on CYGWIN
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5969
Diffstat (limited to 'Tests/RunCMake/GenerateExportHeader/exportheader_test.cpp')
| -rw-r--r-- | Tests/RunCMake/GenerateExportHeader/exportheader_test.cpp | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/Tests/RunCMake/GenerateExportHeader/exportheader_test.cpp b/Tests/RunCMake/GenerateExportHeader/exportheader_test.cpp index dcaa4f2..ed8c35e 100644 --- a/Tests/RunCMake/GenerateExportHeader/exportheader_test.cpp +++ b/Tests/RunCMake/GenerateExportHeader/exportheader_test.cpp @@ -8,6 +8,14 @@ #include "libshared.h" #include "libstatic.h" +static void rtrim(std::string& str, char byte) +{ + const std::size_t size = str.size(); + if (size && str[size - 1] == byte) { + str.resize(size - 1); + } +} + void compare(const char* refName, const char* testName) { std::ifstream ref; @@ -31,16 +39,14 @@ void compare(const char* refName, const char* testName) // Some very old Borland runtimes (C++ Builder 5 WITHOUT Update 1) add a // trailing null to the string that we need to strip before testing for a // trailing space. - if (refLine.size() && refLine[refLine.size() - 1] == 0) { - refLine.resize(refLine.size() - 1); - } - if (testLine.size() && testLine[testLine.size() - 1] == 0) { - testLine.resize(testLine.size() - 1); - } + rtrim(refLine, 0); + rtrim(testLine, 0); // The reference files never have trailing spaces: - if (testLine.size() && testLine[testLine.size() - 1] == ' ') { - testLine.resize(testLine.size() - 1); - } + rtrim(testLine, ' '); + // Strip trailing CR. LF is not returned by getline, but CR is returned + // on some platforms. + rtrim(refLine, '\r'); + rtrim(testLine, '\r'); if (refLine != testLine) { std::cout << "Ref and test are not the same:\n Ref: \"" << refLine << "\"\n Test: \"" << testLine << "\"\n"; |
