Fix remarks unit test on Windows
authorReid Kleckner <rnk@google.com>
Fri, 26 Jul 2019 22:10:44 +0000 (22:10 +0000)
committerReid Kleckner <rnk@google.com>
Fri, 26 Jul 2019 22:10:44 +0000 (22:10 +0000)
"no such file or directory" vs "No such file or directory"

llvm-svn: 367159

llvm/unittests/Remarks/YAMLRemarksParsingTest.cpp

index eb5f24e..d821049 100644 (file)
@@ -63,6 +63,14 @@ bool parseExpectError(const char (&Buf)[N], const char *Error) {
   return StringRef(Stream.str()).contains(Error);
 }
 
+static std::string toLower(StringRef S) {
+  std::string R;
+  R.reserve(S.size());
+  for (char C : S)
+    R += std::tolower(C);
+  return R;
+}
+
 void parseExpectErrorMeta(StringRef Buf, const char *Error) {
   std::string ErrorStr;
   raw_string_ostream Stream(ErrorStr);
@@ -71,7 +79,10 @@ void parseExpectErrorMeta(StringRef Buf, const char *Error) {
       remarks::createRemarkParserFromMeta(remarks::Format::YAML, Buf);
   handleAllErrors(MaybeParser.takeError(),
                   [&](const ErrorInfoBase &EIB) { EIB.log(Stream); });
-  EXPECT_EQ(Stream.str(), Error);
+
+  // Use a case insensitive comparision due to case differences in error strings
+  // for different OSs.
+  EXPECT_EQ(toLower(Stream.str()), toLower(Error));
 }
 
 TEST(YAMLRemarks, ParsingEmpty) {