am de889741: Merge "Fix dl* tests to run-on-host"
				
					
				
			* commit 'de889741201faa338e01babdfd10bbd597769e60': Fix dl* tests to run-on-host
This commit is contained in:
		@@ -134,6 +134,10 @@ TEST_F(DlExtTest, ExtInfoUseFdWithOffset) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
TEST_F(DlExtTest, ExtInfoUseFdWithInvalidOffset) {
 | 
					TEST_F(DlExtTest, ExtInfoUseFdWithInvalidOffset) {
 | 
				
			||||||
  const std::string lib_path = std::string(getenv("ANDROID_DATA")) + LIBZIPPATH;
 | 
					  const std::string lib_path = std::string(getenv("ANDROID_DATA")) + LIBZIPPATH;
 | 
				
			||||||
 | 
					  // lib_path is relative when $ANDROID_DATA is relative
 | 
				
			||||||
 | 
					  char lib_realpath_buf[PATH_MAX];
 | 
				
			||||||
 | 
					  ASSERT_TRUE(realpath(lib_path.c_str(), lib_realpath_buf) == lib_realpath_buf);
 | 
				
			||||||
 | 
					  const std::string lib_realpath = std::string(lib_realpath_buf);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  android_dlextinfo extinfo;
 | 
					  android_dlextinfo extinfo;
 | 
				
			||||||
  extinfo.flags = ANDROID_DLEXT_USE_LIBRARY_FD | ANDROID_DLEXT_USE_LIBRARY_FD_OFFSET;
 | 
					  extinfo.flags = ANDROID_DLEXT_USE_LIBRARY_FD | ANDROID_DLEXT_USE_LIBRARY_FD_OFFSET;
 | 
				
			||||||
@@ -158,7 +162,7 @@ TEST_F(DlExtTest, ExtInfoUseFdWithInvalidOffset) {
 | 
				
			|||||||
  extinfo.library_fd_offset = PAGE_SIZE;
 | 
					  extinfo.library_fd_offset = PAGE_SIZE;
 | 
				
			||||||
  handle_ = android_dlopen_ext("libname_ignored", RTLD_NOW, &extinfo);
 | 
					  handle_ = android_dlopen_ext("libname_ignored", RTLD_NOW, &extinfo);
 | 
				
			||||||
  ASSERT_TRUE(handle_ == nullptr);
 | 
					  ASSERT_TRUE(handle_ == nullptr);
 | 
				
			||||||
  ASSERT_EQ("dlopen failed: \"" + lib_path + "\" has bad ELF magic", dlerror());
 | 
					  ASSERT_EQ("dlopen failed: \"" + lib_realpath + "\" has bad ELF magic", dlerror());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  close(extinfo.library_fd);
 | 
					  close(extinfo.library_fd);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -764,7 +764,11 @@ TEST(dlfcn, dladdr_libc) {
 | 
				
			|||||||
  void* addr = reinterpret_cast<void*>(puts); // well-known libc function
 | 
					  void* addr = reinterpret_cast<void*>(puts); // well-known libc function
 | 
				
			||||||
  ASSERT_TRUE(dladdr(addr, &info) != 0);
 | 
					  ASSERT_TRUE(dladdr(addr, &info) != 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  ASSERT_STREQ(BIONIC_PATH_TO_LIBC, info.dli_fname);
 | 
					  // /system/lib is symlink when this test is executed on host.
 | 
				
			||||||
 | 
					  char libc_realpath[PATH_MAX];
 | 
				
			||||||
 | 
					  ASSERT_TRUE(realpath(BIONIC_PATH_TO_LIBC, libc_realpath) == libc_realpath);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ASSERT_STREQ(libc_realpath, info.dli_fname);
 | 
				
			||||||
  // TODO: add check for dfi_fbase
 | 
					  // TODO: add check for dfi_fbase
 | 
				
			||||||
  ASSERT_STREQ("puts", info.dli_sname);
 | 
					  ASSERT_STREQ("puts", info.dli_sname);
 | 
				
			||||||
  ASSERT_EQ(addr, info.dli_saddr);
 | 
					  ASSERT_EQ(addr, info.dli_saddr);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user