summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/GenerateExportHeader/exportheader_test.cpp
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2021-04-27 17:49:58 (GMT)
committerKitware Robot <kwrobot@kitware.com>2021-04-27 17:50:09 (GMT)
commit893a5108c58593de362736947147e50228edf88a (patch)
tree9bbe9aa646b48144550370f54fc0ffdc3c762772 /Tests/RunCMake/GenerateExportHeader/exportheader_test.cpp
parent0eb42defc222372b660983ac46ea1266543af7e0 (diff)
parent231df230d5894649dc7e85d0204226e9e87973c2 (diff)
downloadCMake-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.cpp24
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";