dex_cache_test.cc revision 1caa2c205e51dda670207828f25451fb7623cea6
12faa5f1271587cda765f26bcf2951065300a01ffElliott Hughes// Copyright 2011 Google Inc. All Rights Reserved. 22faa5f1271587cda765f26bcf2951065300a01ffElliott Hughes 32faa5f1271587cda765f26bcf2951065300a01ffElliott Hughes#include "class_linker.h" 42faa5f1271587cda765f26bcf2951065300a01ffElliott Hughes#include "common_test.h" 52faa5f1271587cda765f26bcf2951065300a01ffElliott Hughes#include "dex_cache.h" 62faa5f1271587cda765f26bcf2951065300a01ffElliott Hughes#include "heap.h" 72faa5f1271587cda765f26bcf2951065300a01ffElliott Hughes#include "object.h" 82faa5f1271587cda765f26bcf2951065300a01ffElliott Hughes#include "scoped_ptr.h" 92faa5f1271587cda765f26bcf2951065300a01ffElliott Hughes 102faa5f1271587cda765f26bcf2951065300a01ffElliott Hughes#include <stdio.h> 112faa5f1271587cda765f26bcf2951065300a01ffElliott Hughes#include "gtest/gtest.h" 122faa5f1271587cda765f26bcf2951065300a01ffElliott Hughes 132faa5f1271587cda765f26bcf2951065300a01ffElliott Hughesnamespace art { 142faa5f1271587cda765f26bcf2951065300a01ffElliott Hughes 152faa5f1271587cda765f26bcf2951065300a01ffElliott Hughesclass DexCacheTest : public CommonTest {}; 1678128a63b2615744760b7f8ab83df9764a5d4a95Brian Carlstrom 1778128a63b2615744760b7f8ab83df9764a5d4a95Brian CarlstromTEST_F(DexCacheTest, Open) { 1878128a63b2615744760b7f8ab83df9764a5d4a95Brian Carlstrom 1978128a63b2615744760b7f8ab83df9764a5d4a95Brian Carlstrom DexCache* dex_cache = class_linker_->AllocDexCache(*java_lang_dex_file_.get()); 2027ec961a1da540ba7f16c07a682585ab167317adBrian Carlstrom ASSERT_TRUE(dex_cache != NULL); 2127ec961a1da540ba7f16c07a682585ab167317adBrian Carlstrom 2278128a63b2615744760b7f8ab83df9764a5d4a95Brian Carlstrom EXPECT_EQ(java_lang_dex_file_->NumStringIds(), dex_cache->NumStrings()); 2378128a63b2615744760b7f8ab83df9764a5d4a95Brian Carlstrom EXPECT_EQ(java_lang_dex_file_->NumTypeIds(), dex_cache->NumResolvedTypes()); 2478128a63b2615744760b7f8ab83df9764a5d4a95Brian Carlstrom EXPECT_EQ(java_lang_dex_file_->NumMethodIds(), dex_cache->NumResolvedMethods()); 2578128a63b2615744760b7f8ab83df9764a5d4a95Brian Carlstrom EXPECT_EQ(java_lang_dex_file_->NumFieldIds(), dex_cache->NumResolvedFields()); 26e3c845cdb5884e770287a5c0c65c8bb64733c388Elliott Hughes EXPECT_EQ(java_lang_dex_file_->NumMethodIds(), dex_cache->NumCodeAndDirectMethods()); 273a5c1ce3f11805a3382046f699c8fb1410a602b3Ian Rogers EXPECT_EQ(java_lang_dex_file_->NumTypeIds(), dex_cache->NumInitializedStaticStorage()); 28916e74e45b60902af342a71bdbfb806ff29c6c2bBrian Carlstrom 2978128a63b2615744760b7f8ab83df9764a5d4a95Brian Carlstrom EXPECT_LE(0, dex_cache->GetStrings()->GetLength()); 3057b86d47b66322693a070185fadfb43cb9c12eabIan Rogers EXPECT_LE(0, dex_cache->GetResolvedTypes()->GetLength()); 316d4d9fcb4f01e287ee29e81cd1c941ee5d11d379Ian Rogers EXPECT_LE(0, dex_cache->GetResolvedMethods()->GetLength()); 32e5448b5a12003b405b22cde3b94f962ab4888a87Elliott Hughes EXPECT_LE(0, dex_cache->GetResolvedFields()->GetLength()); 3378128a63b2615744760b7f8ab83df9764a5d4a95Brian Carlstrom EXPECT_LE(0, dex_cache->GetCodeAndDirectMethods()->GetLength()); 34a0e180632411f7fe0edf454e571c42209ee7b540Elliott Hughes EXPECT_LE(0, dex_cache->GetInitializedStaticStorage()->GetLength()); 3500f7d0eaa6bd93d33bf0c1429bf4ba0b3f28abacIan Rogers 3678128a63b2615744760b7f8ab83df9764a5d4a95Brian Carlstrom EXPECT_EQ(java_lang_dex_file_->NumStringIds(), 3778128a63b2615744760b7f8ab83df9764a5d4a95Brian Carlstrom static_cast<uint32_t>(dex_cache->GetStrings()->GetLength())); 38776ac1fa61237db645adb4370a4aab888530caf4Ian Rogers EXPECT_EQ(java_lang_dex_file_->NumTypeIds(), 3978128a63b2615744760b7f8ab83df9764a5d4a95Brian Carlstrom static_cast<uint32_t>(dex_cache->GetResolvedTypes()->GetLength())); 4078128a63b2615744760b7f8ab83df9764a5d4a95Brian Carlstrom EXPECT_EQ(java_lang_dex_file_->NumMethodIds(), 4178128a63b2615744760b7f8ab83df9764a5d4a95Brian Carlstrom static_cast<uint32_t>(dex_cache->GetResolvedMethods()->GetLength())); 4278128a63b2615744760b7f8ab83df9764a5d4a95Brian Carlstrom EXPECT_EQ(java_lang_dex_file_->NumFieldIds(), 4378128a63b2615744760b7f8ab83df9764a5d4a95Brian Carlstrom static_cast<uint32_t>(dex_cache->GetResolvedFields()->GetLength())); 4478128a63b2615744760b7f8ab83df9764a5d4a95Brian Carlstrom EXPECT_EQ(java_lang_dex_file_->NumMethodIds(), 4529e7ac74a3f9aec192099fec381baadaa55730adBrian Carlstrom static_cast<uint32_t>(dex_cache->GetCodeAndDirectMethods()->NumCodeAndDirectMethods())); 4629e7ac74a3f9aec192099fec381baadaa55730adBrian Carlstrom EXPECT_EQ(java_lang_dex_file_->NumTypeIds(), 4778128a63b2615744760b7f8ab83df9764a5d4a95Brian Carlstrom static_cast<uint32_t>(dex_cache->GetInitializedStaticStorage()->GetLength())); 4878128a63b2615744760b7f8ab83df9764a5d4a95Brian Carlstrom} 49a6cc893c4b142cd410fc956963b6f5a014e983adBrian Carlstrom 5029e7ac74a3f9aec192099fec381baadaa55730adBrian Carlstrom} // namespace art 51aded5f7ab991f3c1132851599d3bc60ff6707eedBrian Carlstrom