summaryrefslogtreecommitdiffstats
path: root/biometrics
diff options
context:
space:
mode:
authorjoshmccloskey <joshmccloskey@google.com>2018-05-25 16:43:58 -0700
committerJoshua Mccloskey <joshmccloskey@google.com>2018-05-29 21:44:10 +0000
commit7897d0f57331b6bcb2d3bc8c2fd6d0e862b860e6 (patch)
treea2496e7e0657ecef55e4fa98e861fe9d94226f29 /biometrics
parentde0e5293bd68b5956561c9e2547b9d61a08154ba (diff)
downloadandroid_hardware_interfaces-7897d0f57331b6bcb2d3bc8c2fd6d0e862b860e6.tar.gz
android_hardware_interfaces-7897d0f57331b6bcb2d3bc8c2fd6d0e862b860e6.tar.bz2
android_hardware_interfaces-7897d0f57331b6bcb2d3bc8c2fd6d0e862b860e6.zip
Modified tests to account for different directories being used based on
different first API levels Fixes: 80028983 Test: Ran tests on P17 and P18 Change-Id: I2752c5b8e15dc5e3ee386b0079a75b482a21543f
Diffstat (limited to 'biometrics')
-rw-r--r--biometrics/fingerprint/2.1/vts/functional/VtsHalBiometricsFingerprintV2_1TargetTest.cpp26
1 files changed, 22 insertions, 4 deletions
diff --git a/biometrics/fingerprint/2.1/vts/functional/VtsHalBiometricsFingerprintV2_1TargetTest.cpp b/biometrics/fingerprint/2.1/vts/functional/VtsHalBiometricsFingerprintV2_1TargetTest.cpp
index a7f40319a..9911038ae 100644
--- a/biometrics/fingerprint/2.1/vts/functional/VtsHalBiometricsFingerprintV2_1TargetTest.cpp
+++ b/biometrics/fingerprint/2.1/vts/functional/VtsHalBiometricsFingerprintV2_1TargetTest.cpp
@@ -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));
}