diff options
| author | 2018-04-08 07:21:37 +0000 | |
|---|---|---|
| committer | 2018-04-08 07:21:37 +0000 | |
| commit | 4b86ef5422e36e5b852a8208f59ac93c169f7ecb (patch) | |
| tree | 6debc967f7886e7e25905bc9e04d153ed12584a4 /runtime/hidden_api_test.cc | |
| parent | 406cfc2782cd6ba93a4162c066a0d13cbf4967a2 (diff) | |
| parent | c3dbfcc312774563c28f70c5c83c8bca5c894a9a (diff) | |
Snap for 4706961 from c3dbfcc312774563c28f70c5c83c8bca5c894a9a to pi-release
Change-Id: I7ad2b8bfacd5035ad9d01ae3601c431c21102feb
Diffstat (limited to 'runtime/hidden_api_test.cc')
| -rw-r--r-- | runtime/hidden_api_test.cc | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/runtime/hidden_api_test.cc b/runtime/hidden_api_test.cc index 5a31dd4972..65d6363bfd 100644 --- a/runtime/hidden_api_test.cc +++ b/runtime/hidden_api_test.cc @@ -22,6 +22,7 @@ namespace art { using hiddenapi::detail::MemberSignature; +using hiddenapi::GetActionFromAccessFlags; class HiddenApiTest : public CommonRuntimeTest { protected: @@ -84,6 +85,39 @@ class HiddenApiTest : public CommonRuntimeTest { ArtMethod* class3_method1_i_; }; +TEST_F(HiddenApiTest, CheckGetActionFromRuntimeFlags) { + uint32_t whitelist = HiddenApiAccessFlags::EncodeForRuntime(0, HiddenApiAccessFlags::kWhitelist); + uint32_t lightgreylist = + HiddenApiAccessFlags::EncodeForRuntime(0, HiddenApiAccessFlags::kLightGreylist); + uint32_t darkgreylist = + HiddenApiAccessFlags::EncodeForRuntime(0, HiddenApiAccessFlags::kDarkGreylist); + uint32_t blacklist = HiddenApiAccessFlags::EncodeForRuntime(0, HiddenApiAccessFlags::kBlacklist); + + runtime_->SetHiddenApiEnforcementPolicy(hiddenapi::EnforcementPolicy::kNoChecks); + ASSERT_EQ(GetActionFromAccessFlags(whitelist), hiddenapi::kAllow); + ASSERT_EQ(GetActionFromAccessFlags(lightgreylist), hiddenapi::kAllow); + ASSERT_EQ(GetActionFromAccessFlags(darkgreylist), hiddenapi::kAllow); + ASSERT_EQ(GetActionFromAccessFlags(blacklist), hiddenapi::kAllow); + + runtime_->SetHiddenApiEnforcementPolicy(hiddenapi::EnforcementPolicy::kJustWarn); + ASSERT_EQ(GetActionFromAccessFlags(whitelist), hiddenapi::kAllow); + ASSERT_EQ(GetActionFromAccessFlags(lightgreylist), hiddenapi::kAllowButWarn); + ASSERT_EQ(GetActionFromAccessFlags(darkgreylist), hiddenapi::kAllowButWarn); + ASSERT_EQ(GetActionFromAccessFlags(blacklist), hiddenapi::kAllowButWarn); + + runtime_->SetHiddenApiEnforcementPolicy(hiddenapi::EnforcementPolicy::kDarkGreyAndBlackList); + ASSERT_EQ(GetActionFromAccessFlags(whitelist), hiddenapi::kAllow); + ASSERT_EQ(GetActionFromAccessFlags(lightgreylist), hiddenapi::kAllowButWarn); + ASSERT_EQ(GetActionFromAccessFlags(darkgreylist), hiddenapi::kDeny); + ASSERT_EQ(GetActionFromAccessFlags(blacklist), hiddenapi::kDeny); + + runtime_->SetHiddenApiEnforcementPolicy(hiddenapi::EnforcementPolicy::kBlacklistOnly); + ASSERT_EQ(GetActionFromAccessFlags(whitelist), hiddenapi::kAllow); + ASSERT_EQ(GetActionFromAccessFlags(lightgreylist), hiddenapi::kAllowButWarn); + ASSERT_EQ(GetActionFromAccessFlags(darkgreylist), hiddenapi::kAllowButWarnAndToast); + ASSERT_EQ(GetActionFromAccessFlags(blacklist), hiddenapi::kDeny); +} + TEST_F(HiddenApiTest, CheckMembersRead) { ASSERT_NE(nullptr, class1_field1_); ASSERT_NE(nullptr, class1_field12_); |