[Lldb-commits] [lldb] r333074 - Fix PathMappingList tests on windows
Pavel Labath via lldb-commits
lldb-commits at lists.llvm.org
Wed May 23 03:32:05 PDT 2018
Author: labath
Date: Wed May 23 03:32:05 2018
New Revision: 333074
URL: http://llvm.org/viewvc/llvm-project?rev=333074&view=rev
Log:
Fix PathMappingList tests on windows
The tests added in r332842 don't work on windows, because they do path
comparisons on strings, and on windows, the paths coming out of the
mappings had backslashes in them.
This switches comparisons to FileSpecs, so the results come out right.
Modified:
lldb/trunk/unittests/Target/PathMappingListTest.cpp
Modified: lldb/trunk/unittests/Target/PathMappingListTest.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/unittests/Target/PathMappingListTest.cpp?rev=333074&r1=333073&r2=333074&view=diff
==============================================================================
--- lldb/trunk/unittests/Target/PathMappingListTest.cpp (original)
+++ lldb/trunk/unittests/Target/PathMappingListTest.cpp Wed May 23 03:32:05 2018
@@ -16,31 +16,30 @@
using namespace lldb_private;
namespace {
- struct Matches {
- ConstString original;
- ConstString remapped;
- Matches(const char *o, const char *r) : original(o),
- remapped(r) {}
- };
-
- void TestPathMappings(const PathMappingList &map,
- llvm::ArrayRef<Matches> matches,
- llvm::ArrayRef<ConstString> fails) {
- ConstString actual_remapped;
- for (const auto &fail: fails) {
- EXPECT_FALSE(map.RemapPath(fail, actual_remapped));
- }
- for (const auto &match: matches) {
- FileSpec orig_spec(match.original.GetStringRef(), false);
- std::string orig_normalized = orig_spec.GetPath();
- EXPECT_TRUE(map.RemapPath(match.original, actual_remapped));
- EXPECT_EQ(actual_remapped, match.remapped);
- FileSpec remapped_spec(match.remapped.GetStringRef(), false);
- FileSpec unmapped_spec;
- EXPECT_TRUE(map.ReverseRemapPath(remapped_spec, unmapped_spec));
- std::string unmapped_path = unmapped_spec.GetPath();
- EXPECT_EQ(unmapped_path, orig_normalized);
- }
+struct Matches {
+ FileSpec original;
+ FileSpec remapped;
+ Matches(const char *o, const char *r)
+ : original(o, false), remapped(r, false) {}
+};
+} // namespace
+
+static void TestPathMappings(const PathMappingList &map,
+ llvm::ArrayRef<Matches> matches,
+ llvm::ArrayRef<ConstString> fails) {
+ ConstString actual_remapped;
+ for (const auto &fail : fails) {
+ EXPECT_FALSE(map.RemapPath(fail, actual_remapped));
+ }
+ for (const auto &match : matches) {
+ std::string orig_normalized = match.original.GetPath();
+ EXPECT_TRUE(
+ map.RemapPath(ConstString(match.original.GetPath()), actual_remapped));
+ EXPECT_EQ(FileSpec(actual_remapped.GetStringRef(), false), match.remapped);
+ FileSpec unmapped_spec;
+ EXPECT_TRUE(map.ReverseRemapPath(match.remapped, unmapped_spec));
+ std::string unmapped_path = unmapped_spec.GetPath();
+ EXPECT_EQ(unmapped_path, orig_normalized);
}
}
More information about the lldb-commits
mailing list