[RESTRICT AUTOMERGE] HapticGenerator VTS: validate parameter before setting

the newer version of HapticGenerator have range defined

Bug: 368467232
Test: atest VtsHalHapticGeneratorTargetTest
Change-Id: I1e366caf7d3944bc371d3b646733ed873aa111c8
Merged-In: I9da0f6f2573722089efadb78ff96fc265bdad164
This commit is contained in:
Shunkai Yao
2024-09-20 21:45:38 +00:00
parent fe611786f5
commit d994467f38

View File

@@ -121,17 +121,23 @@ class HapticGeneratorParamTest : public ::testing::TestWithParam<HapticGenerator
Parameter::Specific specific;
specific.set<Parameter::Specific::hapticGenerator>(setHg);
expectParam.set<Parameter::specific>(specific);
EXPECT_STATUS(EX_NONE, mEffect->setParameter(expectParam)) << expectParam.toString();
// get parameter
Parameter getParam;
Parameter::Id id;
HapticGenerator::Id hgId;
hgId.set<HapticGenerator::Id::commonTag>(tag);
id.set<Parameter::Id::hapticGeneratorTag>(hgId);
EXPECT_STATUS(EX_NONE, mEffect->getParameter(id, &getParam));
EXPECT_EQ(expectParam, getParam) << expectParam.toString() << "\n"
<< getParam.toString();
const bool valid =
isParameterValid<HapticGenerator, Range::hapticGenerator>(setHg, mDescriptor);
const binder_exception_t expected = valid ? EX_NONE : EX_ILLEGAL_ARGUMENT;
EXPECT_STATUS(expected, mEffect->setParameter(expectParam)) << expectParam.toString();
// only get if parameter in range and set success
if (expected == EX_NONE) {
Parameter getParam;
Parameter::Id id;
HapticGenerator::Id hgId;
hgId.set<HapticGenerator::Id::commonTag>(tag);
id.set<Parameter::Id::hapticGeneratorTag>(hgId);
EXPECT_STATUS(EX_NONE, mEffect->getParameter(id, &getParam));
EXPECT_EQ(expectParam, getParam) << expectParam.toString() << "\n"
<< getParam.toString();
}
}
}