From cf50a32e57140b29d65e370cf0808ad91978d969 Mon Sep 17 00:00:00 2001 From: Zhuoyao Zhang Date: Tue, 13 Feb 2018 15:24:25 -0800 Subject: Convert drm hal test to use VtsHalHidlTargetTestEnvBase * The testEnvBase template is only used to register the testing hal. * The service name is specifically determined by the test logic, so disable the feature for vts to run the test against all service instance (by setting HalServiceCombMode::NO_COMBINATION) Bug: 64203181 Test: make vts vts-tradefed run vts -m VtsHalDrmV1_0Target vts-tradefed run vts -m VtsHalDrmV1_1Target Change-Id: Ib2e005e8ccbc815067f0e9455fcd3e6c5ec151fb --- drm/1.0/vts/functional/drm_hal_vendor_test.cpp | 27 +++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) (limited to 'drm/1.0') diff --git a/drm/1.0/vts/functional/drm_hal_vendor_test.cpp b/drm/1.0/vts/functional/drm_hal_vendor_test.cpp index 47c6950cd..d03b2af37 100644 --- a/drm/1.0/vts/functional/drm_hal_vendor_test.cpp +++ b/drm/1.0/vts/functional/drm_hal_vendor_test.cpp @@ -97,6 +97,27 @@ static const uint8_t kInvalidUUID[16] = { static drm_vts::VendorModules* gVendorModules = nullptr; +// Test environment for drm +class DrmHidlEnvironment : public ::testing::VtsHalHidlTargetTestEnvBase { + public: + // get the test environment singleton + static DrmHidlEnvironment* Instance() { + static DrmHidlEnvironment* instance = new DrmHidlEnvironment; + return instance; + } + + void registerTestServices() override { + registerTestService(); + registerTestService(); + setServiceCombMode(::testing::HalServiceCombMode::NO_COMBINATION); + } + + private: + DrmHidlEnvironment() {} + + GTEST_DISALLOW_COPY_AND_ASSIGN_(DrmHidlEnvironment); +}; + class DrmHalVendorFactoryTest : public testing::TestWithParam { public: DrmHalVendorFactoryTest() @@ -1598,6 +1619,10 @@ int main(int argc, char** argv) { std::cerr << "WARNING: No vendor modules found in " << kModulePath << ", all vendor tests will be skipped" << std::endl; } + ::testing::AddGlobalTestEnvironment(DrmHidlEnvironment::Instance()); ::testing::InitGoogleTest(&argc, argv); - return RUN_ALL_TESTS(); + DrmHidlEnvironment::Instance()->init(&argc, argv); + int status = RUN_ALL_TESTS(); + ALOGI("Test result = %d", status); + return status; } -- cgit v1.2.3