Convert fingerprint hal test to use VtsHalHidlTargetTestEnvBase

Bug: 64203181
Test: make vts
      vts-tradefed run vts -m VtsHalBiometricsFingerprintV2_0Target

Change-Id: Ia5be72669a8abae64009c659b6c991a0e64c2d0d
This commit is contained in:
Zhuoyao Zhang
2018-02-08 12:48:48 -08:00
parent 8f7ff5730b
commit e95d49ac44

View File

@@ -16,12 +16,13 @@
#define LOG_TAG "fingerprint_hidl_hal_test" #define LOG_TAG "fingerprint_hidl_hal_test"
#include <VtsHalHidlTargetTestBase.h>
#include <VtsHalHidlTargetTestEnvBase.h>
#include <android-base/logging.h> #include <android-base/logging.h>
#include <android/hardware/biometrics/fingerprint/2.1/IBiometricsFingerprint.h> #include <android/hardware/biometrics/fingerprint/2.1/IBiometricsFingerprint.h>
#include <android/hardware/biometrics/fingerprint/2.1/IBiometricsFingerprintClientCallback.h> #include <android/hardware/biometrics/fingerprint/2.1/IBiometricsFingerprintClientCallback.h>
#include <hidl/HidlSupport.h> #include <hidl/HidlSupport.h>
#include <hidl/HidlTransportSupport.h> #include <hidl/HidlTransportSupport.h>
#include <VtsHalHidlTargetTestBase.h>
#include <cinttypes> #include <cinttypes>
#include <future> #include <future>
@@ -179,10 +180,23 @@ class RemoveCallback : public FingerprintCallbackBase {
std::promise<void> promise; std::promise<void> promise;
}; };
// Test environment for Fingerprint HIDL HAL.
class FingerprintHidlEnvironment : public ::testing::VtsHalHidlTargetTestEnvBase {
public:
// get the test environment singleton
static FingerprintHidlEnvironment* Instance() {
static FingerprintHidlEnvironment* instance = new FingerprintHidlEnvironment;
return instance;
}
virtual void registerTestServices() override { registerTestService<IBiometricsFingerprint>(); }
};
class FingerprintHidlTest : public ::testing::VtsHalHidlTargetTestBase { class FingerprintHidlTest : public ::testing::VtsHalHidlTargetTestBase {
public: public:
virtual void SetUp() override { virtual void SetUp() override {
mService = ::testing::VtsHalHidlTargetTestBase::getService<IBiometricsFingerprint>(); mService = ::testing::VtsHalHidlTargetTestBase::getService<IBiometricsFingerprint>(
FingerprintHidlEnvironment::Instance()->getServiceName<IBiometricsFingerprint>());
ASSERT_FALSE(mService == nullptr); ASSERT_FALSE(mService == nullptr);
// Create an active group // Create an active group
@@ -454,7 +468,9 @@ TEST_F(FingerprintHidlTest, CancelRemoveAllTest) {
} // anonymous namespace } // anonymous namespace
int main(int argc, char **argv) { int main(int argc, char **argv) {
::testing::AddGlobalTestEnvironment(FingerprintHidlEnvironment::Instance());
::testing::InitGoogleTest(&argc, argv); ::testing::InitGoogleTest(&argc, argv);
FingerprintHidlEnvironment::Instance()->init(&argc, argv);
int status = RUN_ALL_TESTS(); int status = RUN_ALL_TESTS();
LOG(INFO) << "Test result = " << status; LOG(INFO) << "Test result = " << status;
return status; return status;