Snap for 4448085 from cbf13894010f3d6346fc06b4c09d6644ffb06704 to oc-m3-release
Change-Id: I1017f8a41086c1cf429cc7e33a87738d952723f0
diff --git a/main.cpp b/main.cpp
index 4b23bdf..1b43e1e 100644
--- a/main.cpp
+++ b/main.cpp
@@ -54,6 +54,8 @@
GenerationFunction generate;
};
+static bool generateForTest = false;
+
static status_t generateSourcesForFile(
const FQName &fqName,
const char *,
@@ -752,13 +754,15 @@
out << "vendor: true,\n";
} else {
out << "vendor_available: true,\n";
- out << "vndk: ";
- out.block([&]() {
- out << "enabled: true,\n";
- if (isSystemProcessSupportedPackage(packageFQName)) {
- out << "support_system_process: true,\n";
- }
- }) << ",\n";
+ if (!generateForTest) {
+ out << "vndk: ";
+ out.block([&]() {
+ out << "enabled: true,\n";
+ if (isSystemProcessSupportedPackage(packageFQName)) {
+ out << "support_system_process: true,\n";
+ }
+ }) << ",\n";
+ }
}
out << "shared_libs: [\n";
@@ -1308,7 +1312,8 @@
static void usage(const char *me) {
fprintf(stderr,
- "usage: %s [-p <root path>] -o <output path> -L <language> (-r <interface root>)+ fqname+\n",
+ "usage: %s [-p <root path>] -o <output path> -L <language> (-r <interface root>)+ [-t] "
+ "fqname+\n",
me);
fprintf(stderr, " -h: Prints this menu.\n");
@@ -1319,6 +1324,7 @@
fprintf(stderr, " -o <output path>: Location to output files.\n");
fprintf(stderr, " -p <root path>: Android build root, defaults to $ANDROID_BUILD_TOP or pwd.\n");
fprintf(stderr, " -r <package:path root>: E.g., android.hardware:hardware/interfaces.\n");
+ fprintf(stderr, " -t: generate build scripts (Android.bp) for tests.\n");
}
// hidl is intentionally leaky. Turn off LeakSanitizer by default.
@@ -1341,7 +1347,7 @@
}
int res;
- while ((res = getopt(argc, argv, "hp:o:r:L:")) >= 0) {
+ while ((res = getopt(argc, argv, "hp:o:r:L:t")) >= 0) {
switch (res) {
case 'p':
{
@@ -1394,6 +1400,11 @@
break;
}
+ case 't': {
+ generateForTest = true;
+ break;
+ }
+
case '?':
case 'h':
default:
@@ -1411,6 +1422,11 @@
exit(1);
}
+ if (generateForTest && outputFormat->name() != "androidbp") {
+ fprintf(stderr, "ERROR: -t option is for -Landroidbp only.\n");
+ exit(1);
+ }
+
argc -= optind;
argv += optind;
diff --git a/test/AndroidTest.xml b/test/AndroidTest.xml
index 91ba891..7c2260b 100644
--- a/test/AndroidTest.xml
+++ b/test/AndroidTest.xml
@@ -41,6 +41,8 @@
<option name="push" value="DATA/lib64/android.hardware.tests.pointer@1.0.so->/data/local/tmp/system/lib64/android.hardware.tests.pointer@1.0.so" />
<option name="push" value="DATA/lib/android.hardware.tests.memory@1.0.so->/data/local/tmp/system/lib/android.hardware.tests.memory@1.0.so" />
<option name="push" value="DATA/lib64/android.hardware.tests.memory@1.0.so->/data/local/tmp/system/lib64/android.hardware.tests.memory@1.0.so" />
+ <option name="push" value="DATA/lib/android.hardware.tests.multithread@1.0.so->/data/local/tmp/system/lib/android.hardware.tests.multithread@1.0.so" />
+ <option name="push" value="DATA/lib64/android.hardware.tests.multithread@1.0.so->/data/local/tmp/system/lib64/android.hardware.tests.multithread@1.0.so" />
<option name="push" value="DATA/lib/hw/android.hardware.tests.foo@1.0-impl.so->/data/local/tmp/system/lib/hw/android.hardware.tests.foo@1.0-impl.so" />
<option name="push" value="DATA/lib64/hw/android.hardware.tests.foo@1.0-impl.so->/data/local/tmp/system/lib64/hw/android.hardware.tests.foo@1.0-impl.so" />
<option name="push" value="DATA/lib/hw/android.hardware.tests.bar@1.0-impl.so->/data/local/tmp/system/lib/hw/android.hardware.tests.bar@1.0-impl.so" />
@@ -55,6 +57,8 @@
<option name="push" value="DATA/lib64/hw/android.hardware.tests.pointer@1.0-impl.so->/data/local/tmp/system/lib64/hw/android.hardware.tests.pointer@1.0-impl.so" />
<option name="push" value="DATA/lib/hw/android.hardware.tests.memory@1.0-impl.so->/data/local/tmp/system/lib/hw/android.hardware.tests.memory@1.0-impl.so" />
<option name="push" value="DATA/lib64/hw/android.hardware.tests.memory@1.0-impl.so->/data/local/tmp/system/lib64/hw/android.hardware.tests.memory@1.0-impl.so" />
+ <option name="push" value="DATA/lib/hw/android.hardware.tests.multithread@1.0-impl.so->/data/local/tmp/system/lib/hw/android.hardware.tests.multithread@1.0-impl.so" />
+ <option name="push" value="DATA/lib64/hw/android.hardware.tests.multithread@1.0-impl.so->/data/local/tmp/system/lib64/hw/android.hardware.tests.multithread@1.0-impl.so" />
</target_preparer>
<target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
<test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
diff --git a/test/CleanSpec.mk b/test/CleanSpec.mk
index a804b91..368c826 100644
--- a/test/CleanSpec.mk
+++ b/test/CleanSpec.mk
@@ -45,3 +45,5 @@
#$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*)
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/nativetest64/hidl_test*)
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/nativetest/hidl_test*)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib/tests.vendor*)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib/vndk/tests.vendor*)
diff --git a/test/vendor/1.0/Android.bp b/test/vendor/1.0/Android.bp
index 3a5ad65..f640216 100644
--- a/test/vendor/1.0/Android.bp
+++ b/test/vendor/1.0/Android.bp
@@ -46,9 +46,6 @@
generated_headers: ["tests.vendor@1.0_genc++_headers"],
export_generated_headers: ["tests.vendor@1.0_genc++_headers"],
vendor_available: true,
- vndk: {
- enabled: true,
- },
shared_libs: [
"libhidlbase",
"libhidltransport",
diff --git a/test/vendor/1.1/Android.bp b/test/vendor/1.1/Android.bp
index cc39a62..6d41300 100644
--- a/test/vendor/1.1/Android.bp
+++ b/test/vendor/1.1/Android.bp
@@ -42,9 +42,6 @@
generated_headers: ["tests.vendor@1.1_genc++_headers"],
export_generated_headers: ["tests.vendor@1.1_genc++_headers"],
vendor_available: true,
- vndk: {
- enabled: true,
- },
shared_libs: [
"libhidlbase",
"libhidltransport",
diff --git a/test/vendor/update-makefile.sh b/test/vendor/update-makefile.sh
index 093671e..87e7340 100755
--- a/test/vendor/update-makefile.sh
+++ b/test/vendor/update-makefile.sh
@@ -5,6 +5,6 @@
-r android.hardware:hardware/interfaces"
hidl-gen -Lmakefile $options tests.vendor@1.0;
-hidl-gen -Landroidbp $options tests.vendor@1.0;
+hidl-gen -Landroidbp $options -t tests.vendor@1.0;
hidl-gen -Lmakefile $options tests.vendor@1.1;
-hidl-gen -Landroidbp $options tests.vendor@1.1;
+hidl-gen -Landroidbp $options -t tests.vendor@1.1;
diff --git a/update-makefiles-helper.sh b/update-makefiles-helper.sh
index d5ee07f..904c4ed 100755
--- a/update-makefiles-helper.sh
+++ b/update-makefiles-helper.sh
@@ -65,6 +65,15 @@
}
##
+# Returns directory path for a package
+# Usage: get_package_dir package_root_dir package_prefix package
+function get_package_dir() {
+ local package_dir=`echo $3 | cut -f1 -d@ | sed "s/$2\.//" | sed "s/\./\//g"`
+ local package_version=`echo $3 | cut -f2 -d@`
+ echo $1/$package_dir/$package_version
+}
+
+##
# Helps manage the package root of a HAL directory.
# Should be called from the android root directory.
#
@@ -86,9 +95,11 @@
for p in $packages; do
echo "Updating $p";
+ local additional_options=
+ if [[ -f $(get_package_dir $current_dir $current_package $p)/.hidl_for_test ]]; then additional_options="-t"; fi
hidl-gen -Lmakefile $root_arguments $p;
rc=$?; if [[ $rc != 0 ]]; then return $rc; fi
- hidl-gen -Landroidbp $root_arguments $p;
+ hidl-gen -Landroidbp $root_arguments $additional_options $p;
rc=$?; if [[ $rc != 0 ]]; then return $rc; fi
done