From c4be2c83907494acc0470647cd1eabed69b95739 Mon Sep 17 00:00:00 2001 From: Nicolas Geoffray Date: Tue, 5 Sep 2017 12:40:06 +0100 Subject: Handle the case cwd has a trailing slash. Fixes class_loader_context_test.cc on target. Test: test-art-target-class_loader_context_text Change-Id: I54252c909075e09678bc389cb1f210cb0d55f2d9 --- runtime/class_loader_context_test.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'runtime/class_loader_context_test.cc') diff --git a/runtime/class_loader_context_test.cc b/runtime/class_loader_context_test.cc index 930160f2b4b..ddbb73b5b24 100644 --- a/runtime/class_loader_context_test.cc +++ b/runtime/class_loader_context_test.cc @@ -338,10 +338,13 @@ TEST_F(ClassLoaderContextTest, OpenValidDexFilesSymLink) { } static std::string CreateRelativeString(const std::string& in, const char* cwd) { - if (!android::base::StartsWith(in, cwd)) { + int cwd_len = strlen(cwd); + if (!android::base::StartsWith(in, cwd) || (cwd_len < 1)) { LOG(FATAL) << in << " " << cwd; } - return in.substr(strlen(cwd) + 1); + bool contains_trailing_slash = (cwd[cwd_len - 1] == '/'); + int start_position = cwd_len + (contains_trailing_slash ? 0 : 1); + return in.substr(start_position); } TEST_F(ClassLoaderContextTest, OpenValidDexFilesRelative) { -- cgit v1.2.3