blob: a01647a36ac2714d6ea44f4d11db3ca420e2604a [file] [log] [blame]
Brian Carlstrom7e49dca2011-07-22 18:07:34 -07001// Copyright 2011 Google Inc. All Rights Reserved.
2
3#include "class_linker.h"
4#include "common_test.h"
5#include "dex_cache.h"
6#include "heap.h"
7#include "object.h"
Brian Carlstrom7e49dca2011-07-22 18:07:34 -07008
9#include <stdio.h>
Brian Carlstrom7e49dca2011-07-22 18:07:34 -070010
11namespace art {
12
Brian Carlstromf734cf52011-08-17 16:28:14 -070013class DexCacheTest : public CommonTest {};
Brian Carlstrom7e49dca2011-07-22 18:07:34 -070014
15TEST_F(DexCacheTest, Open) {
16
Brian Carlstrom9ea1cb12011-08-24 23:18:18 -070017 DexCache* dex_cache = class_linker_->AllocDexCache(*java_lang_dex_file_.get());
Brian Carlstrom7e49dca2011-07-22 18:07:34 -070018 ASSERT_TRUE(dex_cache != NULL);
Brian Carlstromc4fa2c02011-08-21 03:00:12 -070019
Brian Carlstroma663ea52011-08-19 23:33:41 -070020 EXPECT_EQ(java_lang_dex_file_->NumStringIds(), dex_cache->NumStrings());
Brian Carlstrom1caa2c22011-08-28 13:02:33 -070021 EXPECT_EQ(java_lang_dex_file_->NumTypeIds(), dex_cache->NumResolvedTypes());
22 EXPECT_EQ(java_lang_dex_file_->NumMethodIds(), dex_cache->NumResolvedMethods());
23 EXPECT_EQ(java_lang_dex_file_->NumFieldIds(), dex_cache->NumResolvedFields());
24 EXPECT_EQ(java_lang_dex_file_->NumMethodIds(), dex_cache->NumCodeAndDirectMethods());
25 EXPECT_EQ(java_lang_dex_file_->NumTypeIds(), dex_cache->NumInitializedStaticStorage());
Brian Carlstromc4fa2c02011-08-21 03:00:12 -070026
27 EXPECT_LE(0, dex_cache->GetStrings()->GetLength());
Brian Carlstrom1caa2c22011-08-28 13:02:33 -070028 EXPECT_LE(0, dex_cache->GetResolvedTypes()->GetLength());
29 EXPECT_LE(0, dex_cache->GetResolvedMethods()->GetLength());
30 EXPECT_LE(0, dex_cache->GetResolvedFields()->GetLength());
31 EXPECT_LE(0, dex_cache->GetCodeAndDirectMethods()->GetLength());
32 EXPECT_LE(0, dex_cache->GetInitializedStaticStorage()->GetLength());
Brian Carlstromc4fa2c02011-08-21 03:00:12 -070033
34 EXPECT_EQ(java_lang_dex_file_->NumStringIds(),
35 static_cast<uint32_t>(dex_cache->GetStrings()->GetLength()));
36 EXPECT_EQ(java_lang_dex_file_->NumTypeIds(),
Brian Carlstrom1caa2c22011-08-28 13:02:33 -070037 static_cast<uint32_t>(dex_cache->GetResolvedTypes()->GetLength()));
Brian Carlstromc4fa2c02011-08-21 03:00:12 -070038 EXPECT_EQ(java_lang_dex_file_->NumMethodIds(),
Brian Carlstrom1caa2c22011-08-28 13:02:33 -070039 static_cast<uint32_t>(dex_cache->GetResolvedMethods()->GetLength()));
Brian Carlstromc4fa2c02011-08-21 03:00:12 -070040 EXPECT_EQ(java_lang_dex_file_->NumFieldIds(),
Brian Carlstrom1caa2c22011-08-28 13:02:33 -070041 static_cast<uint32_t>(dex_cache->GetResolvedFields()->GetLength()));
42 EXPECT_EQ(java_lang_dex_file_->NumMethodIds(),
43 static_cast<uint32_t>(dex_cache->GetCodeAndDirectMethods()->NumCodeAndDirectMethods()));
44 EXPECT_EQ(java_lang_dex_file_->NumTypeIds(),
45 static_cast<uint32_t>(dex_cache->GetInitializedStaticStorage()->GetLength()));
Brian Carlstrom7e49dca2011-07-22 18:07:34 -070046}
47
48} // namespace art