Snap for 5688376 from 270b0d76dfe3ace90d6d5ab26de3af61cf4043fb to qt-release

Change-Id: Ib9417287ad8872fbe8cf2f8acafea07095c4dcea
diff --git a/bufferhub/1.0/vts/functional/Android.bp b/bufferhub/1.0/vts/functional/Android.bp
index 19631f9..22b16d6 100644
--- a/bufferhub/1.0/vts/functional/Android.bp
+++ b/bufferhub/1.0/vts/functional/Android.bp
@@ -16,6 +16,9 @@
 
 cc_test {
     name: "VtsHalBufferHubV1_0TargetTest",
+    defaults: [
+        "VtsHalTargetTestDefaults"
+    ],
     header_libs: [
         // TODO(b/118893702): remove dependency once ui/BufferHubDefs.h moved
         // off dvr_api.h
@@ -34,10 +37,6 @@
         "libui",
         "libutils",
     ],
-    static_libs: [
-        "VtsHalHidlTargetTestBase",
-        "libarect",
-    ],
     cflags: [
         "-Wall",
         "-Werror",
diff --git a/bufferhub/1.0/vts/functional/VtsHalBufferHubV1_0TargetTest.cpp b/bufferhub/1.0/vts/functional/VtsHalBufferHubV1_0TargetTest.cpp
index 13d4869..224eeba 100644
--- a/bufferhub/1.0/vts/functional/VtsHalBufferHubV1_0TargetTest.cpp
+++ b/bufferhub/1.0/vts/functional/VtsHalBufferHubV1_0TargetTest.cpp
@@ -17,6 +17,7 @@
 #define LOG_TAG "VtsHalBufferHubV1_0TargetTest"
 
 #include <VtsHalHidlTargetTestBase.h>
+#include <android-base/logging.h>
 #include <android/frameworks/bufferhub/1.0/IBufferClient.h>
 #include <android/frameworks/bufferhub/1.0/IBufferHub.h>
 #include <android/hardware_buffer.h>
@@ -32,6 +33,9 @@
 using ::android::hardware::graphics::common::V1_2::HardwareBufferDescription;
 
 namespace android {
+namespace frameworks {
+namespace bufferhub {
+namespace vts {
 
 // Stride is an output that unknown before allocation.
 const AHardwareBuffer_Desc kDesc = {
@@ -41,6 +45,21 @@
     /*rfu0=*/0UL,    /*rfu1=*/0ULL};
 const size_t kUserMetadataSize = 1;
 
+// Test environment for BufferHub HIDL HAL.
+class BufferHubHidlEnv : public ::testing::VtsHalHidlTargetTestEnvBase {
+   public:
+    // get the test environment singleton
+    static BufferHubHidlEnv* Instance() {
+        static BufferHubHidlEnv* instance = new BufferHubHidlEnv;
+        return instance;
+    }
+
+    void registerTestServices() override { registerTestService<IBufferHub>(); }
+
+   private:
+    BufferHubHidlEnv() {}
+};
+
 class HalBufferHubVts : public ::testing::VtsHalHidlTargetTestBase {
    protected:
     void SetUp() override {
@@ -318,4 +337,17 @@
     EXPECT_FALSE(isValidTraits(bufferTraits2));
 }
 
+}  // namespace vts
+}  // namespace bufferhub
+}  // namespace frameworks
 }  // namespace android
+
+int main(int argc, char** argv) {
+    ::testing::AddGlobalTestEnvironment(
+        android::frameworks::bufferhub::vts::BufferHubHidlEnv::Instance());
+    ::testing::InitGoogleTest(&argc, argv);
+    android::frameworks::bufferhub::vts::BufferHubHidlEnv::Instance()->init(&argc, argv);
+    int status = RUN_ALL_TESTS();
+    LOG(INFO) << "Test result = " << status;
+    return status;
+}