bionic-unit-tests: remove dependency on ANDROID_DATA
Replace references to ANDROID_DATA enviroment variable with references
to g_testlib_root.
Bug: http://b/22182538
Test: build and run bionic-unit-tests --gtest_filter=dl*:Dl*
Test: make cts && cts-tradefed run singleCommand cts --skip-preconditions -m CtsBionicTestCases
Change-Id: I5667e991551cec55b9b664f2f0063039671ff34b
diff --git a/tests/gtest_globals.cpp b/tests/gtest_globals.cpp
new file mode 100644
index 0000000..4f2c82e
--- /dev/null
+++ b/tests/gtest_globals.cpp
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "gtest_globals.h"
+
+#include <gtest/gtest.h>
+#include "utils.h"
+
+#include <string>
+
+static std::string get_testlib_root() {
+ std::string out_path;
+ const char* data_dir = getenv("ANDROID_DATA");
+ if (data_dir == nullptr) {
+ out_path = "/data";
+ } else {
+ out_path = data_dir;
+ }
+
+ out_path = out_path + "/nativetest";
+#if defined(__LP64__)
+ out_path += "64";
+#endif
+ out_path += "/bionic-loader-test-libs";
+ std::string real_path;
+ if (!get_realpath(out_path, &real_path)) {
+ abort();
+ }
+
+ return real_path;
+}
+
+const std::string g_testlib_root = get_testlib_root();