Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 022aa332 authored by Joshua Mccloskey's avatar Joshua Mccloskey Committed by android-build-merger
Browse files

Merge "Modified tests to account for different directories being used based on...

Merge "Modified tests to account for different directories being used based on different first API levels" into pi-dev
am: a6b49b53

Change-Id: Ia917279df835baa0cbe9f38053ddaa2287c72735
parents eb1ca5fe a6b49b53
Loading
Loading
Loading
Loading
+22 −4
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@
#include <VtsHalHidlTargetTestBase.h>
#include <VtsHalHidlTargetTestEnvBase.h>
#include <android-base/logging.h>
#include <android-base/properties.h>
#include <android/hardware/biometrics/fingerprint/2.1/IBiometricsFingerprint.h>
#include <android/hardware/biometrics/fingerprint/2.1/IBiometricsFingerprintClientCallback.h>
#include <hidl/HidlSupport.h>
@@ -28,6 +29,7 @@
#include <future>
#include <utility>

using android::base::GetUintProperty;
using android::Condition;
using android::hardware::biometrics::fingerprint::V2_1::IBiometricsFingerprint;
using android::hardware::biometrics::fingerprint::V2_1::IBiometricsFingerprintClientCallback;
@@ -44,7 +46,7 @@ namespace {
static const uint32_t kTimeout = 3;
static const std::chrono::seconds kTimeoutInSeconds = std::chrono::seconds(kTimeout);
static const uint32_t kGroupId = 99;
static const std::string kTmpDir = "/data/system/users/0/fpdata/";
static std::string kTmpDir = "";
static const uint32_t kIterations = 1000;

// Wait for a callback to occur (signaled by the given future) up to the
@@ -199,9 +201,25 @@ class FingerprintHidlTest : public ::testing::VtsHalHidlTargetTestBase {
        FingerprintHidlEnvironment::Instance()->getServiceName<IBiometricsFingerprint>());
    ASSERT_FALSE(mService == nullptr);

    // Create an active group
    // FP service can only write to /data/system/users/*/fpdata/ due to
    // SELinux Policy and Linux Dir Permissions
    /*
     * Devices shipped from now on will instead store
     * fingerprint data under /data/vendor_de/<user-id>/fpdata.
     * Support for /data/vendor_de and /data/vendor_ce has been added to vold.
     */

    uint64_t api_level = GetUintProperty<uint64_t>("ro.product.first_api_level", 0);
    if (api_level == 0) {
      api_level = GetUintProperty<uint64_t>("ro.build.version.sdk", 0);
    }
    ASSERT_TRUE(api_level != 0);

    // 27 is the API number for O-MR1
    if (api_level <= 27) {
      kTmpDir = "/data/system/users/0/fpdata/";
    } else {
      kTmpDir = "/data/vendor_de/0/fpdata/";
    }

    Return<RequestStatus> res = mService->setActiveGroup(kGroupId, kTmpDir);
    ASSERT_EQ(RequestStatus::SYS_OK, static_cast<RequestStatus>(res));
  }