Add compile time test to c2hal
This new build rule verifies that c2hal can convert simple.h to
a valid .hal format by generating the C++ files and compiling
the ISimple's shared library.
Test: "make c2hal_test" and verify output
Bug: 32608667
Change-Id: I51021e1441c88cae08872c3fdc81642705c8e17e
diff --git a/c2hal/Android.bp b/c2hal/Android.bp
index f901d24..a634ed6 100644
--- a/c2hal/Android.bp
+++ b/c2hal/Android.bp
@@ -12,6 +12,11 @@
// See the License for the specific language governing permissions and
// limitations under the License.
+subdirs = [
+ "test",
+]
+
+
cc_binary_host {
name: "c2hal",
srcs: [
diff --git a/c2hal/test/Android.bp b/c2hal/test/Android.bp
new file mode 100644
index 0000000..5b475c0
--- /dev/null
+++ b/c2hal/test/Android.bp
@@ -0,0 +1,69 @@
+// 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.
+//
+
+genrule {
+ name: "c2hal_test_genc++_headers",
+ tools: [
+ "c2hal",
+ "hidl-gen",
+ ],
+ cmd: "$(location c2hal) -o $(genDir)/c2hal_test/1.0 " +
+ "-p android.hardware.c2hal_test@1.0 $(in) && " +
+ "$(location hidl-gen) -o $(genDir) -Lc++ " +
+ "-r android.hardware:$(genDir) " +
+ "android.hardware.c2hal_test@1.0::ISimple",
+ srcs: [
+ "simple.h",
+ ],
+ out: [
+ "android/hardware/c2hal_test/1.0/BnSimple.h",
+ "android/hardware/c2hal_test/1.0/BpSimple.h",
+ "android/hardware/c2hal_test/1.0/BsSimple.h",
+ "android/hardware/c2hal_test/1.0/IHwSimple.h",
+ "android/hardware/c2hal_test/1.0/ISimple.h",
+ ],
+}
+
+genrule {
+ name: "c2hal_test_genc++",
+ tools: [
+ "c2hal",
+ "hidl-gen",
+ ],
+ cmd: "$(location c2hal) -o $(genDir)/c2hal_test/1.0 " +
+ "-p android.hardware.c2hal_test@1.0 $(in) && " +
+ "$(location hidl-gen) -o $(genDir) -Lc++ " +
+ "-r android.hardware:$(genDir) " +
+ "android.hardware.c2hal_test@1.0::ISimple",
+ srcs: [
+ "simple.h",
+ ],
+ out: [
+ "android/hardware/c2hal_test/1.0/SimpleAll.cpp",
+ ],
+}
+
+cc_library_shared {
+ name: "c2hal_test",
+ generated_headers: ["c2hal_test_genc++_headers"],
+ generated_sources: ["c2hal_test_genc++"],
+ export_generated_headers: ["c2hal_test_genc++_headers"],
+ shared_libs: [
+ "libhidl",
+ "libhwbinder",
+ "libutils",
+ "libcutils",
+ ],
+}