diff options
| author | 2016-10-28 10:57:41 +0100 | |
|---|---|---|
| committer | 2016-10-28 11:50:41 +0000 | |
| commit | 56ee489d6e90aa255a91d268c0822fb3553c7f4e (patch) | |
| tree | e57fb4583c8691fd9771bf1523b7439ba64f9766 | |
| parent | 68e4f6b7db83241e0081787f9cdb4fa1465db313 (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.cc | 10 |
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) |