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
diff --git a/runtime/class_loader_context_test.cc b/runtime/class_loader_context_test.cc
index 930160f..ddbb73b 100644
--- a/runtime/class_loader_context_test.cc
+++ b/runtime/class_loader_context_test.cc
@@ -338,10 +338,13 @@
}
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) {