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

Commit d5c8069c 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
am: 022aa332

Change-Id: I07496791dc9a65418ad045585ee545a7baac11bd
parents 7768e8d2 022aa332
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));
  }