[Lldb-commits] [lldb] r297609 - Fix Linux build for the FileSpec changes
Pavel Labath via lldb-commits
lldb-commits at lists.llvm.org
Mon Mar 13 02:46:15 PDT 2017
Author: labath
Date: Mon Mar 13 04:46:15 2017
New Revision: 297609
URL: http://llvm.org/viewvc/llvm-project?rev=297609&view=rev
Log:
Fix Linux build for the FileSpec changes
Propagate changes that were made during review, and fix a couple of
warnings while I'm in there.
Modified:
lldb/trunk/source/Host/common/FileSpec.cpp
lldb/trunk/source/Utility/TildeExpressionResolver.cpp
lldb/trunk/unittests/Interpreter/TestCompletion.cpp
Modified: lldb/trunk/source/Host/common/FileSpec.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Host/common/FileSpec.cpp?rev=297609&r1=297608&r2=297609&view=diff
==============================================================================
--- lldb/trunk/source/Host/common/FileSpec.cpp (original)
+++ lldb/trunk/source/Host/common/FileSpec.cpp Mon Mar 13 04:46:15 2017
@@ -651,11 +651,8 @@ bool FileSpec::ResolvePath() {
if (m_is_resolved)
return true; // We have already resolved this path
- char path_buf[PATH_MAX];
- if (!GetPath(path_buf, PATH_MAX, false))
- return false;
// SetFile(...) will set m_is_resolved correctly if it can resolve the path
- SetFile(path_buf, true);
+ SetFile(GetPath(false), true);
return m_is_resolved;
}
@@ -779,7 +776,7 @@ void FileSpec::EnumerateDirectory(llvm::
for (; Iter != End && !EC; Iter.increment(EC)) {
const auto &Item = *Iter;
fs::file_status Status;
- if (EC = Item.status(Status))
+ if ((EC = Item.status(Status)))
break;
if (!find_files && fs::is_regular_file(Status))
continue;
Modified: lldb/trunk/source/Utility/TildeExpressionResolver.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Utility/TildeExpressionResolver.cpp?rev=297609&r1=297608&r2=297609&view=diff
==============================================================================
--- lldb/trunk/source/Utility/TildeExpressionResolver.cpp (original)
+++ lldb/trunk/source/Utility/TildeExpressionResolver.cpp Mon Mar 13 04:46:15 2017
@@ -62,7 +62,8 @@ bool StandardTildeExpressionResolver::Re
Buffer.resize(1);
Buffer.append(ThisName);
- Buffer.append(path::get_separator()) Output.insert(Buffer);
+ Buffer.append(path::get_separator());
+ Output.insert(Buffer);
}
return true;
Modified: lldb/trunk/unittests/Interpreter/TestCompletion.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/unittests/Interpreter/TestCompletion.cpp?rev=297609&r1=297608&r2=297609&view=diff
==============================================================================
--- lldb/trunk/unittests/Interpreter/TestCompletion.cpp (original)
+++ lldb/trunk/unittests/Interpreter/TestCompletion.cpp Mon Mar 13 04:46:15 2017
@@ -89,7 +89,7 @@ public:
assert(Expr.empty() || Expr[0] == '~');
Expr = Expr.drop_front();
- SmallString<16> QualifiedName = "~";
+ SmallString<16> QualifiedName("~");
for (const auto &User : UserDirectories) {
if (!User.getKey().startswith(Expr))
continue;
@@ -155,7 +155,7 @@ protected:
}
static bool HasEquivalentFile(const Twine &Path, const StringList &Paths) {
- for (int I = 0; I < Paths.GetSize(); ++I) {
+ for (size_t I = 0; I < Paths.GetSize(); ++I) {
if (fs::equivalent(Path, Paths[I]))
return true;
}
@@ -165,7 +165,7 @@ protected:
static bool ContainsExactString(const Twine &Str, const StringList &Paths) {
SmallString<16> Storage;
StringRef Rendered = Str.toStringRef(Storage);
- for (int I = 0; I < Paths.GetSize(); ++I) {
+ for (size_t I = 0; I < Paths.GetSize(); ++I) {
if (Paths[I] == Rendered)
return true;
}
@@ -197,17 +197,20 @@ TEST_F(CompletionTest, DirCompletionAbso
// by asserting an exact result count, and verifying against known
// folders.
+ StandardTildeExpressionResolver Resolver;
StringList Results;
// When a directory is specified that doesn't end in a slash, it searches
// for that directory, not items under it.
- int Count = CommandCompletions::DiskDirectories2(BaseDir, Results);
- ASSERT_EQ(1, Count);
+ size_t Count =
+ CommandCompletions::DiskDirectories(BaseDir, Results, Resolver);
+ ASSERT_EQ(1u, Count);
ASSERT_EQ(Count, Results.GetSize());
EXPECT_TRUE(HasEquivalentFile(BaseDir, Results));
// When the same directory ends with a slash, it finds all children.
- Count = CommandCompletions::DiskDirectories2(Twine(BaseDir) + "/", Results);
- ASSERT_EQ(7, Count);
+ Count = CommandCompletions::DiskDirectories(Twine(BaseDir) + "/", Results,
+ Resolver);
+ ASSERT_EQ(7u, Count);
ASSERT_EQ(Count, Results.GetSize());
EXPECT_TRUE(HasEquivalentFile(DirFoo, Results));
EXPECT_TRUE(HasEquivalentFile(DirFooA, Results));
@@ -219,9 +222,9 @@ TEST_F(CompletionTest, DirCompletionAbso
// When a partial name matches, it returns all matches. If it matches both
// a full name AND some partial names, it returns all of them.
- Count =
- CommandCompletions::DiskDirectories2(Twine(BaseDir) + "/foo", Results);
- ASSERT_EQ(4, Count);
+ Count = CommandCompletions::DiskDirectories(Twine(BaseDir) + "/foo", Results,
+ Resolver);
+ ASSERT_EQ(4u, Count);
ASSERT_EQ(Count, Results.GetSize());
EXPECT_TRUE(HasEquivalentFile(DirFoo, Results));
EXPECT_TRUE(HasEquivalentFile(DirFooA, Results));
@@ -229,8 +232,9 @@ TEST_F(CompletionTest, DirCompletionAbso
EXPECT_TRUE(HasEquivalentFile(DirFooC, Results));
// If it matches only partial names, it still works as expected.
- Count = CommandCompletions::DiskDirectories2(Twine(BaseDir) + "/b", Results);
- ASSERT_EQ(2, Count);
+ Count = CommandCompletions::DiskDirectories(Twine(BaseDir) + "/b", Results,
+ Resolver);
+ ASSERT_EQ(2u, Count);
ASSERT_EQ(Count, Results.GetSize());
EXPECT_TRUE(HasEquivalentFile(DirBar, Results));
EXPECT_TRUE(HasEquivalentFile(DirBaz, Results));
@@ -241,24 +245,28 @@ TEST_F(CompletionTest, FileCompletionAbs
// all check this by asserting an exact result count, and verifying against
// known folders.
+ StandardTildeExpressionResolver Resolver;
StringList Results;
// When an item is specified that doesn't end in a slash but exactly matches
// one item, it returns that item.
- int Count = CommandCompletions::DiskFiles2(Twine(BaseDir) + "/fooa", Results);
- ASSERT_EQ(1, Count);
+ size_t Count = CommandCompletions::DiskFiles(Twine(BaseDir) + "/fooa",
+ Results, Resolver);
+ ASSERT_EQ(1u, Count);
ASSERT_EQ(Count, Results.GetSize());
EXPECT_TRUE(HasEquivalentFile(DirFooA, Results));
// The previous check verified a directory match. But it should work for
// files too.
- Count = CommandCompletions::DiskFiles2(Twine(BaseDir) + "/aa", Results);
- ASSERT_EQ(1, Count);
+ Count =
+ CommandCompletions::DiskFiles(Twine(BaseDir) + "/aa", Results, Resolver);
+ ASSERT_EQ(1u, Count);
ASSERT_EQ(Count, Results.GetSize());
EXPECT_TRUE(HasEquivalentFile(FileAA, Results));
// When it ends with a slash, it should find all files and directories.
- Count = CommandCompletions::DiskFiles2(Twine(BaseDir) + "/", Results);
- ASSERT_EQ(13, Count);
+ Count =
+ CommandCompletions::DiskFiles(Twine(BaseDir) + "/", Results, Resolver);
+ ASSERT_EQ(13u, Count);
ASSERT_EQ(Count, Results.GetSize());
EXPECT_TRUE(HasEquivalentFile(DirFoo, Results));
EXPECT_TRUE(HasEquivalentFile(DirFooA, Results));
@@ -276,8 +284,9 @@ TEST_F(CompletionTest, FileCompletionAbs
EXPECT_TRUE(HasEquivalentFile(FileBaz, Results));
// When a partial name matches, it returns all file & directory matches.
- Count = CommandCompletions::DiskFiles2(Twine(BaseDir) + "/foo", Results);
- ASSERT_EQ(5, Count);
+ Count =
+ CommandCompletions::DiskFiles(Twine(BaseDir) + "/foo", Results, Resolver);
+ ASSERT_EQ(5u, Count);
ASSERT_EQ(Count, Results.GetSize());
EXPECT_TRUE(HasEquivalentFile(DirFoo, Results));
EXPECT_TRUE(HasEquivalentFile(DirFooA, Results));
@@ -296,14 +305,14 @@ TEST_F(CompletionTest, DirCompletionUser
// Just resolving current user's home directory by itself should return the
// directory.
StringList Results;
- int Count = CommandCompletions::DiskDirectories2("~", Results, &Resolver);
- ASSERT_EQ(1, Count);
+ size_t Count = CommandCompletions::DiskDirectories("~", Results, Resolver);
+ ASSERT_EQ(1u, Count);
ASSERT_EQ(Count, Results.GetSize());
EXPECT_TRUE(ContainsExactString(Twine("~") + path::get_separator(), Results));
// With a slash appended, it should return all items in the directory.
- Count = CommandCompletions::DiskDirectories2("~/", Results, &Resolver);
- ASSERT_EQ(7, Count);
+ Count = CommandCompletions::DiskDirectories("~/", Results, Resolver);
+ ASSERT_EQ(7u, Count);
ASSERT_EQ(Count, Results.GetSize());
EXPECT_TRUE(
ContainsExactString(Twine("~/foo") + path::get_separator(), Results));
@@ -324,20 +333,20 @@ TEST_F(CompletionTest, DirCompletionUser
// match.
// It shouldn't translate to the actual directory, it should keep the form the
// user typed.
- Count = CommandCompletions::DiskDirectories2("~Lars", Results, &Resolver);
- ASSERT_EQ(1, Count);
+ Count = CommandCompletions::DiskDirectories("~Lars", Results, Resolver);
+ ASSERT_EQ(1u, Count);
ASSERT_EQ(Count, Results.GetSize());
EXPECT_TRUE(
ContainsExactString(Twine("~Lars") + path::get_separator(), Results));
// But with a username that is not found, no results are returned.
- Count = CommandCompletions::DiskDirectories2("~Dave", Results, &Resolver);
- ASSERT_EQ(0, Count);
+ Count = CommandCompletions::DiskDirectories("~Dave", Results, Resolver);
+ ASSERT_EQ(0u, Count);
ASSERT_EQ(Count, Results.GetSize());
// And if there are multiple matches, it should return all of them.
- Count = CommandCompletions::DiskDirectories2("~La", Results, &Resolver);
- ASSERT_EQ(2, Count);
+ Count = CommandCompletions::DiskDirectories("~La", Results, Resolver);
+ ASSERT_EQ(2u, Count);
ASSERT_EQ(Count, Results.GetSize());
EXPECT_TRUE(
ContainsExactString(Twine("~Lars") + path::get_separator(), Results));
More information about the lldb-commits
mailing list