summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Narayan Kamath <narayan@google.com> 2016-10-28 10:57:41 +0100
committer Narayan Kamath <narayan@google.com> 2016-10-28 11:50:41 +0000
commit56ee489d6e90aa255a91d268c0822fb3553c7f4e (patch)
treee57fb4583c8691fd9771bf1523b7439ba64f9766
parent68e4f6b7db83241e0081787f9cdb4fa1465db313 (diff)
method_verifier_test: Allow soft verifier failures for java/lang/invoke.*
Classes in this package might use experimental opcodes. Bug: 32496585 Bug: 30550796 Test: make test-art-host Change-Id: Ibf1ea78b090fff065b792f00afa143182ef195d4
-rw-r--r--runtime/verifier/method_verifier_test.cc10
1 files changed, 9 insertions, 1 deletions
diff --git a/runtime/verifier/method_verifier_test.cc b/runtime/verifier/method_verifier_test.cc
index 837ee2d396..52be2df06b 100644
--- a/runtime/verifier/method_verifier_test.cc
+++ b/runtime/verifier/method_verifier_test.cc
@@ -23,6 +23,7 @@
#include "common_runtime_test.h"
#include "dex_file.h"
#include "scoped_thread_state_change-inl.h"
+#include "utils.h"
#include "verifier_log_mode.h"
namespace art {
@@ -40,7 +41,14 @@ class MethodVerifierTest : public CommonRuntimeTest {
std::string error_msg;
MethodVerifier::FailureKind failure = MethodVerifier::VerifyClass(
self, klass, nullptr, true, HardFailLogMode::kLogWarning, &error_msg);
- ASSERT_TRUE(failure == MethodVerifier::kNoFailure) << error_msg;
+
+ if (StartsWith(descriptor, "Ljava/lang/invoke")) {
+ ASSERT_TRUE(failure == MethodVerifier::kSoftFailure ||
+ failure == MethodVerifier::kNoFailure) << error_msg;
+
+ } else {
+ ASSERT_TRUE(failure == MethodVerifier::kNoFailure) << error_msg;
+ }
}
void VerifyDexFile(const DexFile& dex)