From 3e580bc9b248586fa5d87db2098fa5c5abb7afc1 Mon Sep 17 00:00:00 2001 From: Richard Uhler Date: Tue, 8 Nov 2016 16:23:07 +0000 Subject: [PATCH] Remove OatFileAssistant IsOutOfDate, IsUpToDate, and NeedsRelocation. Relatively recent design changes made these functions equivalent to the Status function. Prefer to use the Status function instead to simplify the OatFileAssistant API, especially in preparation for expanding the number of possible Status results. Bug: 30937355 Test: oat_file_assistant_test Change-Id: Idfd594729210257f693f03ca823a8d54e74034c5 --- runtime/oat_file_assistant.cc | 77 ++++++---------------- runtime/oat_file_assistant.h | 9 --- runtime/oat_file_assistant_test.cc | 132 +++++++++++-------------------------- 3 files changed, 58 insertions(+), 160 deletions(-) diff --git a/runtime/oat_file_assistant.cc b/runtime/oat_file_assistant.cc index bb52c752f..b92e05036 100644 --- a/runtime/oat_file_assistant.cc +++ b/runtime/oat_file_assistant.cc @@ -137,7 +137,7 @@ bool OatFileAssistant::Lock(std::string* error_msg) { OatFileAssistant::DexOptNeeded OatFileAssistant::GetDexOptNeeded(CompilerFilter::Filter target, bool profile_changed) { - if (!oat_.IsOutOfDate()) { + if (oat_.Status() != kOatOutOfDate) { DexOptNeeded dexopt_needed = oat_.GetDexOptNeeded(target, profile_changed); if (dexopt_needed == kPatchOatNeeded) { dexopt_needed = kSelfPatchOatNeeded; @@ -170,7 +170,7 @@ static bool GetRuntimeCompilerFilterOption(CompilerFilter::Filter* filter, } bool OatFileAssistant::IsUpToDate() { - return OatFileIsUpToDate() || OdexFileIsUpToDate(); + return oat_.Status() == kOatUpToDate || odex_.Status() == kOatUpToDate; } OatFileAssistant::ResultOfAttemptToUpdate @@ -190,7 +190,7 @@ OatFileAssistant::MakeUpToDate(bool profile_changed, std::string* error_msg) { } std::unique_ptr OatFileAssistant::GetBestOatFile() { - if (!oat_.IsOutOfDate()) { + if (oat_.Status() != kOatOutOfDate) { return oat_.ReleaseFileForUse(); } return odex_.ReleaseFileForUse(); @@ -255,18 +255,6 @@ OatFileAssistant::OatStatus OatFileAssistant::OdexFileStatus() { return odex_.Status(); } -bool OatFileAssistant::OdexFileIsOutOfDate() { - return odex_.IsOutOfDate(); -} - -bool OatFileAssistant::OdexFileNeedsRelocation() { - return odex_.NeedsRelocation(); -} - -bool OatFileAssistant::OdexFileIsUpToDate() { - return odex_.IsUpToDate(); -} - CompilerFilter::Filter OatFileAssistant::OdexFileCompilerFilter() { return odex_.CompilerFilter(); } @@ -283,18 +271,6 @@ OatFileAssistant::OatStatus OatFileAssistant::OatFileStatus() { return oat_.Status(); } -bool OatFileAssistant::OatFileIsOutOfDate() { - return oat_.IsOutOfDate(); -} - -bool OatFileAssistant::OatFileNeedsRelocation() { - return oat_.NeedsRelocation(); -} - -bool OatFileAssistant::OatFileIsUpToDate() { - return oat_.IsUpToDate(); -} - CompilerFilter::Filter OatFileAssistant::OatFileCompilerFilter() { return oat_.CompilerFilter(); } @@ -810,18 +786,6 @@ OatFileAssistant::OatStatus OatFileAssistant::OatFileInfo::Status() { return status_; } -bool OatFileAssistant::OatFileInfo::IsOutOfDate() { - return Status() == kOatOutOfDate; -} - -bool OatFileAssistant::OatFileInfo::NeedsRelocation() { - return Status() == kOatNeedsRelocation; -} - -bool OatFileAssistant::OatFileInfo::IsUpToDate() { - return Status() == kOatUpToDate; -} - CompilerFilter::Filter OatFileAssistant::OatFileInfo::CompilerFilter() { const OatFile* file = GetFile(); CHECK(file != nullptr); @@ -832,25 +796,26 @@ OatFileAssistant::DexOptNeeded OatFileAssistant::OatFileInfo::GetDexOptNeeded( CompilerFilter::Filter target, bool profile_changed) { bool compilation_desired = CompilerFilter::IsBytecodeCompilationEnabled(target); - // See if the oat file is in good shape as is. - bool okay = CompilerFilterIsOkay(target, profile_changed); - if (okay) { - if (compilation_desired) { - if (IsUpToDate()) { + if (CompilerFilterIsOkay(target, profile_changed)) { + if (Status() == kOatUpToDate) { + // The oat file is in good shape as is. + return kNoDexOptNeeded; + } + + if (Status() == kOatNeedsRelocation) { + if (!compilation_desired) { + // If no compilation is desired, then it doesn't matter if the oat + // file needs relocation. It's in good shape as is. return kNoDexOptNeeded; } - } else { - if (!IsOutOfDate()) { - return kNoDexOptNeeded; + + if (compilation_desired && HasPatchInfo()) { + // Relocate if we can. + return kPatchOatNeeded; } } } - // See if we can get an up-to-date file by running patchoat. - if (compilation_desired && okay && NeedsRelocation() && HasPatchInfo()) { - return kPatchOatNeeded; - } - // We can only run dex2oat if there are original dex files. return oat_file_assistant_->HasOriginalDexFiles() ? kDex2OatNeeded : kNoDexOptNeeded; } @@ -921,25 +886,25 @@ std::unique_ptr OatFileAssistant::OatFileInfo::ReleaseFile() { } std::unique_ptr OatFileAssistant::OatFileInfo::ReleaseFileForUse() { - if (IsUpToDate()) { + if (Status() == kOatUpToDate) { return ReleaseFile(); } VLOG(oat) << "Oat File Assistant: No relocated oat file found," << " attempting to fall back to interpreting oat file instead."; - if (!IsOutOfDate() && !IsExecutable()) { + if (Status() == kOatNeedsRelocation && !IsExecutable()) { return ReleaseFile(); } - if (!IsOutOfDate()) { + if (Status() == kOatNeedsRelocation) { // We are loading an oat file for runtime use that needs relocation. // Reload the file non-executable to ensure that we interpret out of the // dex code in the oat file rather than trying to execute the unrelocated // compiled code. oat_file_assistant_->load_executable_ = false; Reset(); - if (!IsOutOfDate()) { + if (Status() != kOatOutOfDate) { CHECK(!IsExecutable()); return ReleaseFile(); } diff --git a/runtime/oat_file_assistant.h b/runtime/oat_file_assistant.h index e74e8131c..825a16c71 100644 --- a/runtime/oat_file_assistant.h +++ b/runtime/oat_file_assistant.h @@ -213,9 +213,6 @@ class OatFileAssistant { const std::string* OdexFileName(); bool OdexFileExists(); OatStatus OdexFileStatus(); - bool OdexFileIsOutOfDate(); - bool OdexFileNeedsRelocation(); - bool OdexFileIsUpToDate(); // Must only be called if the associated odex file exists, i.e, if // |OdexFileExists() == true|. CompilerFilter::Filter OdexFileCompilerFilter(); @@ -232,9 +229,6 @@ class OatFileAssistant { const std::string* OatFileName(); bool OatFileExists(); OatStatus OatFileStatus(); - bool OatFileIsOutOfDate(); - bool OatFileNeedsRelocation(); - bool OatFileIsUpToDate(); // Must only be called if the associated oat file exists, i.e, if // |OatFileExists() == true|. CompilerFilter::Filter OatFileCompilerFilter(); @@ -316,9 +310,6 @@ class OatFileAssistant { const std::string* Filename(); bool Exists(); OatStatus Status(); - bool IsOutOfDate(); - bool NeedsRelocation(); - bool IsUpToDate(); // Must only be called if the associated file exists, i.e, if // |Exists() == true|. CompilerFilter::Filter CompilerFilter(); diff --git a/runtime/oat_file_assistant_test.cc b/runtime/oat_file_assistant_test.cc index 303676a74..abd3b963c 100644 --- a/runtime/oat_file_assistant_test.cc +++ b/runtime/oat_file_assistant_test.cc @@ -260,14 +260,8 @@ TEST_F(OatFileAssistantTest, DexNoOat) { EXPECT_FALSE(oat_file_assistant.IsInBootClassPath()); EXPECT_FALSE(oat_file_assistant.OdexFileExists()); - EXPECT_TRUE(oat_file_assistant.OdexFileIsOutOfDate()); - EXPECT_FALSE(oat_file_assistant.OdexFileNeedsRelocation()); - EXPECT_FALSE(oat_file_assistant.OdexFileIsUpToDate()); EXPECT_EQ(OatFileAssistant::kOatOutOfDate, oat_file_assistant.OdexFileStatus()); EXPECT_FALSE(oat_file_assistant.OatFileExists()); - EXPECT_TRUE(oat_file_assistant.OatFileIsOutOfDate()); - EXPECT_FALSE(oat_file_assistant.OatFileNeedsRelocation()); - EXPECT_FALSE(oat_file_assistant.OatFileIsUpToDate()); EXPECT_EQ(OatFileAssistant::kOatOutOfDate, oat_file_assistant.OatFileStatus()); EXPECT_TRUE(oat_file_assistant.HasOriginalDexFiles()); } @@ -312,12 +306,8 @@ TEST_F(OatFileAssistantTest, OatUpToDate) { EXPECT_FALSE(oat_file_assistant.IsInBootClassPath()); EXPECT_FALSE(oat_file_assistant.OdexFileExists()); - EXPECT_TRUE(oat_file_assistant.OdexFileIsOutOfDate()); - EXPECT_FALSE(oat_file_assistant.OdexFileIsUpToDate()); + EXPECT_EQ(OatFileAssistant::kOatOutOfDate, oat_file_assistant.OdexFileStatus()); EXPECT_TRUE(oat_file_assistant.OatFileExists()); - EXPECT_FALSE(oat_file_assistant.OatFileIsOutOfDate()); - EXPECT_FALSE(oat_file_assistant.OatFileNeedsRelocation()); - EXPECT_TRUE(oat_file_assistant.OatFileIsUpToDate()); EXPECT_EQ(OatFileAssistant::kOatUpToDate, oat_file_assistant.OatFileStatus()); EXPECT_TRUE(oat_file_assistant.HasOriginalDexFiles()); } @@ -342,12 +332,9 @@ TEST_F(OatFileAssistantTest, OatForDifferentDex) { EXPECT_FALSE(oat_file_assistant.IsInBootClassPath()); EXPECT_TRUE(oat_file_assistant.OdexFileExists()); - EXPECT_TRUE(oat_file_assistant.OdexFileIsOutOfDate()); - EXPECT_FALSE(oat_file_assistant.OdexFileIsUpToDate()); + EXPECT_EQ(OatFileAssistant::kOatOutOfDate, oat_file_assistant.OdexFileStatus()); EXPECT_FALSE(oat_file_assistant.OatFileExists()); - EXPECT_TRUE(oat_file_assistant.OatFileIsOutOfDate()); - EXPECT_FALSE(oat_file_assistant.OatFileNeedsRelocation()); - EXPECT_FALSE(oat_file_assistant.OatFileIsUpToDate()); + EXPECT_EQ(OatFileAssistant::kOatOutOfDate, oat_file_assistant.OatFileStatus()); } // Case: We have a DEX file and speed-profile OAT file for it. @@ -371,12 +358,8 @@ TEST_F(OatFileAssistantTest, ProfileOatUpToDate) { EXPECT_FALSE(oat_file_assistant.IsInBootClassPath()); EXPECT_FALSE(oat_file_assistant.OdexFileExists()); - EXPECT_TRUE(oat_file_assistant.OdexFileIsOutOfDate()); - EXPECT_FALSE(oat_file_assistant.OdexFileIsUpToDate()); + EXPECT_EQ(OatFileAssistant::kOatOutOfDate, oat_file_assistant.OdexFileStatus()); EXPECT_TRUE(oat_file_assistant.OatFileExists()); - EXPECT_FALSE(oat_file_assistant.OatFileIsOutOfDate()); - EXPECT_FALSE(oat_file_assistant.OatFileNeedsRelocation()); - EXPECT_TRUE(oat_file_assistant.OatFileIsUpToDate()); EXPECT_EQ(OatFileAssistant::kOatUpToDate, oat_file_assistant.OatFileStatus()); EXPECT_TRUE(oat_file_assistant.HasOriginalDexFiles()); } @@ -472,11 +455,9 @@ TEST_F(OatFileAssistantTest, OatOutOfDate) { EXPECT_FALSE(oat_file_assistant.IsInBootClassPath()); EXPECT_FALSE(oat_file_assistant.OdexFileExists()); - EXPECT_TRUE(oat_file_assistant.OdexFileIsOutOfDate()); - EXPECT_FALSE(oat_file_assistant.OdexFileIsUpToDate()); + EXPECT_EQ(OatFileAssistant::kOatOutOfDate, oat_file_assistant.OdexFileStatus()); EXPECT_TRUE(oat_file_assistant.OatFileExists()); - EXPECT_TRUE(oat_file_assistant.OatFileIsOutOfDate()); - EXPECT_FALSE(oat_file_assistant.OatFileIsUpToDate()); + EXPECT_EQ(OatFileAssistant::kOatOutOfDate, oat_file_assistant.OatFileStatus()); EXPECT_TRUE(oat_file_assistant.HasOriginalDexFiles()); } @@ -500,12 +481,9 @@ TEST_F(OatFileAssistantTest, DexOdexNoOat) { EXPECT_FALSE(oat_file_assistant.IsInBootClassPath()); EXPECT_TRUE(oat_file_assistant.OdexFileExists()); - EXPECT_FALSE(oat_file_assistant.OdexFileIsOutOfDate()); - EXPECT_FALSE(oat_file_assistant.OdexFileIsUpToDate()); - EXPECT_TRUE(oat_file_assistant.OdexFileNeedsRelocation()); + EXPECT_EQ(OatFileAssistant::kOatNeedsRelocation, oat_file_assistant.OdexFileStatus()); EXPECT_FALSE(oat_file_assistant.OatFileExists()); - EXPECT_TRUE(oat_file_assistant.OatFileIsOutOfDate()); - EXPECT_FALSE(oat_file_assistant.OatFileIsUpToDate()); + EXPECT_EQ(OatFileAssistant::kOatOutOfDate, oat_file_assistant.OatFileStatus()); EXPECT_TRUE(oat_file_assistant.HasOriginalDexFiles()); // We should still be able to get the non-executable odex file to run from. @@ -534,11 +512,9 @@ TEST_F(OatFileAssistantTest, StrippedDexOdexNoOat) { EXPECT_FALSE(oat_file_assistant.IsInBootClassPath()); EXPECT_TRUE(oat_file_assistant.OdexFileExists()); - EXPECT_FALSE(oat_file_assistant.OdexFileIsOutOfDate()); - EXPECT_FALSE(oat_file_assistant.OdexFileIsUpToDate()); + EXPECT_EQ(OatFileAssistant::kOatNeedsRelocation, oat_file_assistant.OdexFileStatus()); EXPECT_FALSE(oat_file_assistant.OatFileExists()); - EXPECT_TRUE(oat_file_assistant.OatFileIsOutOfDate()); - EXPECT_FALSE(oat_file_assistant.OatFileIsUpToDate()); + EXPECT_EQ(OatFileAssistant::kOatOutOfDate, oat_file_assistant.OatFileStatus()); EXPECT_FALSE(oat_file_assistant.HasOriginalDexFiles()); // Make the oat file up to date. @@ -552,11 +528,9 @@ TEST_F(OatFileAssistantTest, StrippedDexOdexNoOat) { EXPECT_FALSE(oat_file_assistant.IsInBootClassPath()); EXPECT_TRUE(oat_file_assistant.OdexFileExists()); - EXPECT_FALSE(oat_file_assistant.OdexFileIsOutOfDate()); - EXPECT_FALSE(oat_file_assistant.OdexFileIsUpToDate()); + EXPECT_EQ(OatFileAssistant::kOatNeedsRelocation, oat_file_assistant.OdexFileStatus()); EXPECT_TRUE(oat_file_assistant.OatFileExists()); - EXPECT_FALSE(oat_file_assistant.OatFileIsOutOfDate()); - EXPECT_TRUE(oat_file_assistant.OatFileIsUpToDate()); + EXPECT_EQ(OatFileAssistant::kOatUpToDate, oat_file_assistant.OatFileStatus()); EXPECT_FALSE(oat_file_assistant.HasOriginalDexFiles()); // Verify we can load the dex files from it. @@ -597,12 +571,9 @@ TEST_F(OatFileAssistantTest, StrippedDexOdexOat) { EXPECT_FALSE(oat_file_assistant.IsInBootClassPath()); EXPECT_TRUE(oat_file_assistant.OdexFileExists()); - EXPECT_FALSE(oat_file_assistant.OdexFileIsOutOfDate()); - EXPECT_TRUE(oat_file_assistant.OdexFileNeedsRelocation()); - EXPECT_FALSE(oat_file_assistant.OdexFileIsUpToDate()); + EXPECT_EQ(OatFileAssistant::kOatNeedsRelocation, oat_file_assistant.OdexFileStatus()); EXPECT_TRUE(oat_file_assistant.OatFileExists()); - EXPECT_TRUE(oat_file_assistant.OatFileIsOutOfDate()); - EXPECT_FALSE(oat_file_assistant.OatFileIsUpToDate()); + EXPECT_EQ(OatFileAssistant::kOatOutOfDate, oat_file_assistant.OatFileStatus()); EXPECT_FALSE(oat_file_assistant.HasOriginalDexFiles()); // Make the oat file up to date. @@ -618,13 +589,10 @@ TEST_F(OatFileAssistantTest, StrippedDexOdexOat) { EXPECT_FALSE(oat_file_assistant.IsInBootClassPath()); EXPECT_TRUE(oat_file_assistant.OdexFileExists()); - EXPECT_FALSE(oat_file_assistant.OdexFileIsOutOfDate()); - EXPECT_TRUE(oat_file_assistant.OdexFileNeedsRelocation()); - EXPECT_FALSE(oat_file_assistant.OdexFileIsUpToDate()); + EXPECT_EQ(OatFileAssistant::kOatNeedsRelocation, oat_file_assistant.OdexFileStatus()); + EXPECT_TRUE(oat_file_assistant.OatFileExists()); - EXPECT_FALSE(oat_file_assistant.OatFileIsOutOfDate()); - EXPECT_FALSE(oat_file_assistant.OatFileNeedsRelocation()); - EXPECT_TRUE(oat_file_assistant.OatFileIsUpToDate()); + EXPECT_EQ(OatFileAssistant::kOatUpToDate, oat_file_assistant.OatFileStatus()); EXPECT_FALSE(oat_file_assistant.HasOriginalDexFiles()); // Verify we can load the dex files from it. @@ -655,12 +623,9 @@ TEST_F(OatFileAssistantTest, ResourceOnlyDex) { EXPECT_FALSE(oat_file_assistant.IsInBootClassPath()); EXPECT_FALSE(oat_file_assistant.OdexFileExists()); - EXPECT_TRUE(oat_file_assistant.OdexFileIsOutOfDate()); - EXPECT_FALSE(oat_file_assistant.OdexFileNeedsRelocation()); - EXPECT_FALSE(oat_file_assistant.OdexFileIsUpToDate()); + EXPECT_EQ(OatFileAssistant::kOatOutOfDate, oat_file_assistant.OdexFileStatus()); EXPECT_FALSE(oat_file_assistant.OatFileExists()); - EXPECT_TRUE(oat_file_assistant.OatFileIsOutOfDate()); - EXPECT_FALSE(oat_file_assistant.OatFileIsUpToDate()); + EXPECT_EQ(OatFileAssistant::kOatOutOfDate, oat_file_assistant.OatFileStatus()); EXPECT_FALSE(oat_file_assistant.HasOriginalDexFiles()); // Make the oat file up to date. This should have no effect. @@ -674,12 +639,9 @@ TEST_F(OatFileAssistantTest, ResourceOnlyDex) { EXPECT_FALSE(oat_file_assistant.IsInBootClassPath()); EXPECT_FALSE(oat_file_assistant.OdexFileExists()); - EXPECT_TRUE(oat_file_assistant.OdexFileIsOutOfDate()); - EXPECT_FALSE(oat_file_assistant.OdexFileNeedsRelocation()); - EXPECT_FALSE(oat_file_assistant.OdexFileIsUpToDate()); + EXPECT_EQ(OatFileAssistant::kOatOutOfDate, oat_file_assistant.OdexFileStatus()); EXPECT_FALSE(oat_file_assistant.OatFileExists()); - EXPECT_TRUE(oat_file_assistant.OatFileIsOutOfDate()); - EXPECT_FALSE(oat_file_assistant.OatFileIsUpToDate()); + EXPECT_EQ(OatFileAssistant::kOatOutOfDate, oat_file_assistant.OatFileStatus()); EXPECT_FALSE(oat_file_assistant.HasOriginalDexFiles()); } @@ -706,13 +668,9 @@ TEST_F(OatFileAssistantTest, SelfRelocation) { EXPECT_FALSE(oat_file_assistant.IsInBootClassPath()); EXPECT_FALSE(oat_file_assistant.OdexFileExists()); - EXPECT_TRUE(oat_file_assistant.OdexFileIsOutOfDate()); - EXPECT_FALSE(oat_file_assistant.OdexFileNeedsRelocation()); - EXPECT_FALSE(oat_file_assistant.OdexFileIsUpToDate()); + EXPECT_EQ(OatFileAssistant::kOatOutOfDate, oat_file_assistant.OdexFileStatus()); EXPECT_TRUE(oat_file_assistant.OatFileExists()); - EXPECT_TRUE(oat_file_assistant.OatFileNeedsRelocation()); - EXPECT_FALSE(oat_file_assistant.OatFileIsOutOfDate()); - EXPECT_FALSE(oat_file_assistant.OatFileIsUpToDate()); + EXPECT_EQ(OatFileAssistant::kOatNeedsRelocation, oat_file_assistant.OatFileStatus()); EXPECT_TRUE(oat_file_assistant.HasOriginalDexFiles()); // Make the oat file up to date. @@ -726,13 +684,9 @@ TEST_F(OatFileAssistantTest, SelfRelocation) { EXPECT_FALSE(oat_file_assistant.IsInBootClassPath()); EXPECT_FALSE(oat_file_assistant.OdexFileExists()); - EXPECT_TRUE(oat_file_assistant.OdexFileIsOutOfDate()); - EXPECT_FALSE(oat_file_assistant.OdexFileNeedsRelocation()); - EXPECT_FALSE(oat_file_assistant.OdexFileIsUpToDate()); + EXPECT_EQ(OatFileAssistant::kOatOutOfDate, oat_file_assistant.OdexFileStatus()); EXPECT_TRUE(oat_file_assistant.OatFileExists()); - EXPECT_FALSE(oat_file_assistant.OatFileIsOutOfDate()); - EXPECT_FALSE(oat_file_assistant.OatFileNeedsRelocation()); - EXPECT_TRUE(oat_file_assistant.OatFileIsUpToDate()); + EXPECT_EQ(OatFileAssistant::kOatUpToDate, oat_file_assistant.OatFileStatus()); EXPECT_TRUE(oat_file_assistant.HasOriginalDexFiles()); std::unique_ptr oat_file = oat_file_assistant.GetBestOatFile(); @@ -804,11 +758,9 @@ TEST_F(OatFileAssistantTest, OdexOatOverlap) { EXPECT_FALSE(oat_file_assistant.IsInBootClassPath()); EXPECT_TRUE(oat_file_assistant.OdexFileExists()); - EXPECT_FALSE(oat_file_assistant.OdexFileIsOutOfDate()); - EXPECT_FALSE(oat_file_assistant.OdexFileIsUpToDate()); + EXPECT_EQ(OatFileAssistant::kOatNeedsRelocation, oat_file_assistant.OdexFileStatus()); EXPECT_TRUE(oat_file_assistant.OatFileExists()); - EXPECT_FALSE(oat_file_assistant.OatFileIsOutOfDate()); - EXPECT_FALSE(oat_file_assistant.OatFileIsUpToDate()); + EXPECT_EQ(OatFileAssistant::kOatNeedsRelocation, oat_file_assistant.OatFileStatus()); EXPECT_TRUE(oat_file_assistant.HasOriginalDexFiles()); // Things aren't relocated, so it should fall back to interpreted. @@ -841,11 +793,9 @@ TEST_F(OatFileAssistantTest, DexPicOdexNoOat) { EXPECT_FALSE(oat_file_assistant.IsInBootClassPath()); EXPECT_TRUE(oat_file_assistant.OdexFileExists()); - EXPECT_FALSE(oat_file_assistant.OdexFileIsOutOfDate()); - EXPECT_TRUE(oat_file_assistant.OdexFileIsUpToDate()); + EXPECT_EQ(OatFileAssistant::kOatUpToDate, oat_file_assistant.OdexFileStatus()); EXPECT_FALSE(oat_file_assistant.OatFileExists()); - EXPECT_TRUE(oat_file_assistant.OatFileIsOutOfDate()); - EXPECT_FALSE(oat_file_assistant.OatFileIsUpToDate()); + EXPECT_EQ(OatFileAssistant::kOatOutOfDate, oat_file_assistant.OatFileStatus()); EXPECT_TRUE(oat_file_assistant.HasOriginalDexFiles()); } @@ -869,11 +819,9 @@ TEST_F(OatFileAssistantTest, DexVerifyAtRuntimeOdexNoOat) { EXPECT_FALSE(oat_file_assistant.IsInBootClassPath()); EXPECT_TRUE(oat_file_assistant.OdexFileExists()); - EXPECT_FALSE(oat_file_assistant.OdexFileIsOutOfDate()); - EXPECT_TRUE(oat_file_assistant.OdexFileIsUpToDate()); + EXPECT_EQ(OatFileAssistant::kOatUpToDate, oat_file_assistant.OdexFileStatus()); EXPECT_FALSE(oat_file_assistant.OatFileExists()); - EXPECT_TRUE(oat_file_assistant.OatFileIsOutOfDate()); - EXPECT_FALSE(oat_file_assistant.OatFileIsUpToDate()); + EXPECT_EQ(OatFileAssistant::kOatOutOfDate, oat_file_assistant.OatFileStatus()); EXPECT_TRUE(oat_file_assistant.HasOriginalDexFiles()); } @@ -1049,11 +997,9 @@ TEST_F(OatFileAssistantTest, NonAbsoluteDexLocation) { EXPECT_EQ(OatFileAssistant::kDex2OatNeeded, oat_file_assistant.GetDexOptNeeded(CompilerFilter::kSpeed)); EXPECT_FALSE(oat_file_assistant.OdexFileExists()); + EXPECT_EQ(OatFileAssistant::kOatOutOfDate, oat_file_assistant.OdexFileStatus()); EXPECT_FALSE(oat_file_assistant.OatFileExists()); - EXPECT_TRUE(oat_file_assistant.OdexFileIsOutOfDate()); - EXPECT_FALSE(oat_file_assistant.OdexFileIsUpToDate()); - EXPECT_TRUE(oat_file_assistant.OatFileIsOutOfDate()); - EXPECT_FALSE(oat_file_assistant.OatFileIsUpToDate()); + EXPECT_EQ(OatFileAssistant::kOatOutOfDate, oat_file_assistant.OatFileStatus()); } // Case: Very short, non-existent Dex location. @@ -1067,11 +1013,9 @@ TEST_F(OatFileAssistantTest, ShortDexLocation) { EXPECT_EQ(OatFileAssistant::kNoDexOptNeeded, oat_file_assistant.GetDexOptNeeded(CompilerFilter::kSpeed)); EXPECT_FALSE(oat_file_assistant.OdexFileExists()); + EXPECT_EQ(OatFileAssistant::kOatOutOfDate, oat_file_assistant.OdexFileStatus()); EXPECT_FALSE(oat_file_assistant.OatFileExists()); - EXPECT_TRUE(oat_file_assistant.OdexFileIsOutOfDate()); - EXPECT_FALSE(oat_file_assistant.OdexFileIsUpToDate()); - EXPECT_TRUE(oat_file_assistant.OatFileIsOutOfDate()); - EXPECT_FALSE(oat_file_assistant.OatFileIsUpToDate()); + EXPECT_EQ(OatFileAssistant::kOatOutOfDate, oat_file_assistant.OatFileStatus()); EXPECT_FALSE(oat_file_assistant.HasOriginalDexFiles()); // Trying to make it up to date should have no effect. @@ -1095,11 +1039,9 @@ TEST_F(OatFileAssistantTest, LongDexExtension) { EXPECT_FALSE(oat_file_assistant.IsInBootClassPath()); EXPECT_FALSE(oat_file_assistant.OdexFileExists()); - EXPECT_TRUE(oat_file_assistant.OdexFileIsOutOfDate()); - EXPECT_FALSE(oat_file_assistant.OdexFileIsUpToDate()); + EXPECT_EQ(OatFileAssistant::kOatOutOfDate, oat_file_assistant.OdexFileStatus()); EXPECT_FALSE(oat_file_assistant.OatFileExists()); - EXPECT_TRUE(oat_file_assistant.OatFileIsOutOfDate()); - EXPECT_FALSE(oat_file_assistant.OatFileIsUpToDate()); + EXPECT_EQ(OatFileAssistant::kOatOutOfDate, oat_file_assistant.OatFileStatus()); } // A task to generate a dex location. Used by the RaceToGenerate test. -- 2.11.0