summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--adb/Android.bp51
-rw-r--r--adb/Android.mk5
-rw-r--r--init/property_service.cpp34
-rw-r--r--libcutils/fs_config.cpp15
-rw-r--r--libion/Android.bp1
-rw-r--r--liblog/tests/log_read_test.cpp10
-rw-r--r--libmemunreachable/Android.bp1
-rw-r--r--libmetricslogger/Android.bp1
-rw-r--r--libnetutils/Android.bp1
-rw-r--r--libprocinfo/Android.bp1
-rw-r--r--libsuspend/Android.bp2
-rw-r--r--libsysutils/Android.bp2
-rw-r--r--libziparchive/Android.bp2
13 files changed, 106 insertions, 20 deletions
diff --git a/adb/Android.bp b/adb/Android.bp
new file mode 100644
index 000000000..41f7b8952
--- /dev/null
+++ b/adb/Android.bp
@@ -0,0 +1,51 @@
+// Copyright (C) 2017 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.
+
+python_binary_host {
+ name: "adb_integration_test_adb",
+ main: "test_adb.py",
+ srcs: [
+ "test_adb.py",
+ ],
+ libs: [
+ "adb_py",
+ ],
+ version: {
+ py2: {
+ enabled: true,
+ },
+ py3: {
+ enabled: false,
+ },
+ },
+}
+
+python_binary_host {
+ name: "adb_integration_test_device",
+ main: "test_device.py",
+ srcs: [
+ "test_device.py",
+ ],
+ libs: [
+ "adb_py",
+ ],
+ version: {
+ py2: {
+ enabled: true,
+ },
+ py3: {
+ enabled: false,
+ },
+ },
+}
diff --git a/adb/Android.mk b/adb/Android.mk
index 382c8cb78..1f6f19434 100644
--- a/adb/Android.mk
+++ b/adb/Android.mk
@@ -387,4 +387,9 @@ LOCAL_STATIC_LIBRARIES := \
include $(BUILD_EXECUTABLE)
+# adb integration test
+# =========================================================
+$(call dist-for-goals,sdk,$(ALL_MODULES.adb_integration_test_adb.BUILT))
+$(call dist-for-goals,sdk,$(ALL_MODULES.adb_integration_test_device.BUILT))
+
include $(call first-makefiles-under,$(LOCAL_PATH))
diff --git a/init/property_service.cpp b/init/property_service.cpp
index 18e47e3df..7fa37c8a9 100644
--- a/init/property_service.cpp
+++ b/init/property_service.cpp
@@ -443,7 +443,7 @@ static void handle_property_set_fd() {
}
}
-static void load_properties_from_file(const char *, const char *);
+static bool load_properties_from_file(const char *, const char *);
/*
* Filter is used to decide which properties to load: NULL loads all keys,
@@ -507,17 +507,18 @@ static void load_properties(char *data, const char *filter)
// Filter is used to decide which properties to load: NULL loads all keys,
// "ro.foo.*" is a prefix match, and "ro.foo.bar" is an exact match.
-static void load_properties_from_file(const char* filename, const char* filter) {
+static bool load_properties_from_file(const char* filename, const char* filter) {
Timer t;
std::string data;
std::string err;
if (!ReadFile(filename, &data, &err)) {
- PLOG(WARNING) << "Couldn't load property file: " << err;
- return;
+ PLOG(WARNING) << "Couldn't load property file: " << filename << ": " << err;
+ return false;
}
data.push_back('\n');
load_properties(&data[0], filter);
LOG(VERBOSE) << "(Loading properties from " << filename << " took " << t << ".)";
+ return true;
}
static void load_persistent_properties() {
@@ -592,16 +593,21 @@ static void update_sys_usb_config() {
}
void property_load_boot_defaults() {
- load_properties_from_file("/default.prop", NULL);
- load_properties_from_file("/odm/default.prop", NULL);
- load_properties_from_file("/vendor/default.prop", NULL);
+ if (!load_properties_from_file("/system/etc/prop.default", nullptr)) {
+ // for legacy devices
+ if (!load_properties_from_file("/default.prop", nullptr)) {
+ PLOG(ERROR) << "Failed to load default prop";
+ }
+ }
+ load_properties_from_file("/odm/etc/prop.default", nullptr);
+ load_properties_from_file("/vendor/etc/prop.default", nullptr);
update_sys_usb_config();
}
static void load_override_properties() {
if (ALLOW_LOCAL_PROP_OVERRIDE) {
- load_properties_from_file("/data/local.prop", NULL);
+ load_properties_from_file("/data/local.prop", nullptr);
}
}
@@ -649,9 +655,15 @@ void load_recovery_id_prop() {
}
void load_system_props() {
- load_properties_from_file("/system/build.prop", NULL);
- load_properties_from_file("/odm/build.prop", NULL);
- load_properties_from_file("/vendor/build.prop", NULL);
+ if (!load_properties_from_file("/system/etc/prop.build", nullptr)) {
+ // for legacy devices
+ load_properties_from_file("/system/build.prop", nullptr);
+ }
+ load_properties_from_file("/odm/etc/prop.build", nullptr);
+ if (!load_properties_from_file("/vendor/etc/prop.build", nullptr)) {
+ // for legacy devices
+ load_properties_from_file("/vendor/build.prop", nullptr);
+ }
load_properties_from_file("/factory/factory.prop", "ro.*");
load_recovery_id_prop();
}
diff --git a/libcutils/fs_config.cpp b/libcutils/fs_config.cpp
index 919b65bc3..dd1ad3a38 100644
--- a/libcutils/fs_config.cpp
+++ b/libcutils/fs_config.cpp
@@ -134,9 +134,10 @@ static const struct fs_path_config android_files[] = {
{ 00640, AID_ROOT, AID_SHELL, 0, "data/nativetest64/tests.txt" },
{ 00750, AID_ROOT, AID_SHELL, 0, "data/nativetest/*" },
{ 00750, AID_ROOT, AID_SHELL, 0, "data/nativetest64/*" },
- { 00600, AID_ROOT, AID_ROOT, 0, "default.prop" },
- { 00600, AID_ROOT, AID_ROOT, 0, "odm/build.prop" },
- { 00600, AID_ROOT, AID_ROOT, 0, "odm/default.prop" },
+ { 00600, AID_ROOT, AID_ROOT, 0, "default.prop" }, // legacy
+ { 00600, AID_ROOT, AID_ROOT, 0, "system/etc/prop.default" },
+ { 00600, AID_ROOT, AID_ROOT, 0, "odm/etc/prop.build" },
+ { 00600, AID_ROOT, AID_ROOT, 0, "odm/etc/prop.default" },
{ 00444, AID_ROOT, AID_ROOT, 0, odm_conf_dir + 1 },
{ 00444, AID_ROOT, AID_ROOT, 0, odm_conf_file + 1 },
{ 00444, AID_ROOT, AID_ROOT, 0, oem_conf_dir + 1 },
@@ -148,7 +149,8 @@ static const struct fs_path_config android_files[] = {
{ 00750, AID_ROOT, AID_ROOT, 0, "system/bin/install-recovery.sh" },
{ 00700, AID_ROOT, AID_ROOT, 0, "system/bin/secilc" },
{ 00750, AID_ROOT, AID_ROOT, 0, "system/bin/uncrypt" },
- { 00600, AID_ROOT, AID_ROOT, 0, "system/build.prop" },
+ { 00600, AID_ROOT, AID_ROOT, 0, "system/build.prop" }, // legacy
+ { 00600, AID_ROOT, AID_ROOT, 0, "system/etc/prop.build" },
{ 00444, AID_ROOT, AID_ROOT, 0, sys_conf_dir + 1 },
{ 00444, AID_ROOT, AID_ROOT, 0, sys_conf_file + 1 },
{ 00440, AID_ROOT, AID_SHELL, 0, "system/etc/init.goldfish.rc" },
@@ -157,8 +159,9 @@ static const struct fs_path_config android_files[] = {
{ 00555, AID_ROOT, AID_ROOT, 0, "system/etc/ppp/*" },
{ 00555, AID_ROOT, AID_ROOT, 0, "system/etc/rc.*" },
{ 00440, AID_ROOT, AID_ROOT, 0, "system/etc/recovery.img" },
- { 00600, AID_ROOT, AID_ROOT, 0, "vendor/build.prop" },
- { 00600, AID_ROOT, AID_ROOT, 0, "vendor/default.prop" },
+ { 00600, AID_ROOT, AID_ROOT, 0, "vendor/build.prop" }, // legacy
+ { 00600, AID_ROOT, AID_ROOT, 0, "vendor/etc/prop.build" },
+ { 00600, AID_ROOT, AID_ROOT, 0, "vendor/etc/prop.default" },
{ 00444, AID_ROOT, AID_ROOT, 0, ven_conf_dir + 1 },
{ 00444, AID_ROOT, AID_ROOT, 0, ven_conf_file + 1 },
diff --git a/libion/Android.bp b/libion/Android.bp
index da98111fc..6f267e4c7 100644
--- a/libion/Android.bp
+++ b/libion/Android.bp
@@ -1,6 +1,7 @@
cc_library {
name: "libion",
+ vendor_available: true,
srcs: ["ion.c"],
shared_libs: ["liblog"],
local_include_dirs: [
diff --git a/liblog/tests/log_read_test.cpp b/liblog/tests/log_read_test.cpp
index a63ab8e88..6ed568aa4 100644
--- a/liblog/tests/log_read_test.cpp
+++ b/liblog/tests/log_read_test.cpp
@@ -23,6 +23,7 @@
#include <android-base/stringprintf.h>
#include <android/log.h> // minimal logging API
#include <gtest/gtest.h>
+#include <log/log_properties.h>
// Test the APIs in this standalone include file
#include <log/log_read.h>
// Do not use anything in log/log_time.h despite side effects of the above.
@@ -97,9 +98,12 @@ TEST(liblog, android_logger_get_) {
/* security buffer is allowed to be denied */
if (strcmp("security", name)) {
EXPECT_LT(0, get_log_size);
- /* crash buffer is allowed to be empty, that is actually healthy! */
- EXPECT_LE((strcmp("crash", name)) != 0,
- android_logger_get_log_readable_size(logger));
+ // crash buffer is allowed to be empty, that is actually healthy!
+ // kernel buffer is allowed to be empty on "user" builds
+ EXPECT_LE( // boolean 1 or 0 depending on expected content or empty
+ !!((strcmp("crash", name) != 0) &&
+ ((strcmp("kernel", name) != 0) || __android_log_is_debuggable())),
+ android_logger_get_log_readable_size(logger));
} else {
EXPECT_NE(0, get_log_size);
if (get_log_size < 0) {
diff --git a/libmemunreachable/Android.bp b/libmemunreachable/Android.bp
index cdac76bab..4269eaa0a 100644
--- a/libmemunreachable/Android.bp
+++ b/libmemunreachable/Android.bp
@@ -23,6 +23,7 @@ cc_defaults {
cc_library_shared {
name: "libmemunreachable",
+ vendor_available: true,
defaults: ["libmemunreachable_defaults"],
srcs: [
"Allocator.cpp",
diff --git a/libmetricslogger/Android.bp b/libmetricslogger/Android.bp
index 26a041abd..38859d18e 100644
--- a/libmetricslogger/Android.bp
+++ b/libmetricslogger/Android.bp
@@ -31,6 +31,7 @@ cc_defaults {
// -----------------------------------------------------------------------------
cc_library_shared {
name: "libmetricslogger",
+ vendor_available: true,
srcs: metricslogger_lib_src_files,
defaults: ["metricslogger_defaults"],
}
diff --git a/libnetutils/Android.bp b/libnetutils/Android.bp
index 0caf14535..9967ef886 100644
--- a/libnetutils/Android.bp
+++ b/libnetutils/Android.bp
@@ -1,5 +1,6 @@
cc_library_shared {
name: "libnetutils",
+ vendor_available: true,
srcs: [
"dhcpclient.c",
diff --git a/libprocinfo/Android.bp b/libprocinfo/Android.bp
index c13ffe9d3..aedaa3867 100644
--- a/libprocinfo/Android.bp
+++ b/libprocinfo/Android.bp
@@ -22,6 +22,7 @@ libprocinfo_cppflags = [
cc_library {
name: "libprocinfo",
+ vendor_available: true,
host_supported: true,
srcs: [
"process.cpp",
diff --git a/libsuspend/Android.bp b/libsuspend/Android.bp
index d27ceea68..78831510a 100644
--- a/libsuspend/Android.bp
+++ b/libsuspend/Android.bp
@@ -2,6 +2,8 @@
cc_library {
name: "libsuspend",
+ vendor_available: true,
+
srcs: [
"autosuspend.c",
"autosuspend_autosleep.c",
diff --git a/libsysutils/Android.bp b/libsysutils/Android.bp
index 296bd26d5..550ef4233 100644
--- a/libsysutils/Android.bp
+++ b/libsysutils/Android.bp
@@ -1,5 +1,7 @@
cc_library_shared {
name: "libsysutils",
+ vendor_available: true,
+
srcs: [
"src/SocketListener.cpp",
"src/FrameworkListener.cpp",
diff --git a/libziparchive/Android.bp b/libziparchive/Android.bp
index 44daf3610..0a4f08891 100644
--- a/libziparchive/Android.bp
+++ b/libziparchive/Android.bp
@@ -56,6 +56,8 @@ cc_defaults {
cc_library {
name: "libziparchive",
host_supported: true,
+ vendor_available:true,
+
defaults: ["libziparchive_defaults", "libziparchive_flags"],
shared_libs: ["liblog", "libbase"],
target: {