Commit 1523ef81 authored by Reilly Grant's avatar Reilly Grant Committed by Chromium LUCI CQ

Assert that RenderViewHostTestHarness::TearDown() is called

If a test inherits from RenderViewHostTestHarness but provides its own
implementation of TearDown() it may forget to call the version from its
parent class. This DCHECK provides a better error message to alert the
developer to their error.

Bug: 1163761
Change-Id: Ia2341253e511a28dd6a6bad695a9bccc5abafed8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2616963
Commit-Queue: Reilly Grant <reillyg@chromium.org>
Reviewed-by: default avatarScott Violet <sky@chromium.org>
Auto-Submit: Reilly Grant <reillyg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#841764}
parent 55c5edfb
......@@ -76,7 +76,10 @@ class AddressAccessoryControllerTest : public ChromeRenderViewHostTestHarness {
web_contents(), mock_manual_filling_controller_.AsWeakPtr());
}
void TearDown() override { personal_data_manager()->ClearProfiles(); }
void TearDown() override {
personal_data_manager()->ClearProfiles();
ChromeRenderViewHostTestHarness::TearDown();
}
AddressAccessoryController* controller() {
return AddressAccessoryControllerImpl::FromWebContents(web_contents());
......
......@@ -124,12 +124,13 @@ class CreditCardAccessoryControllerTest
CreditCardAccessoryControllerImpl::CreateForWebContentsForTesting(
web_contents(), mock_mf_controller_.AsWeakPtr(), &data_manager_,
&af_manager_, &mock_af_driver_);
data_manager_.SetPrefService(profile_.GetPrefs());
data_manager_.SetPrefService(profile()->GetPrefs());
}
void TearDown() override {
data_manager_.SetPrefService(nullptr);
data_manager_.ClearCreditCards();
ChromeRenderViewHostTestHarness::TearDown();
}
CreditCardAccessoryController* controller() {
......@@ -152,7 +153,6 @@ class CreditCardAccessoryControllerTest
MockAutocompleteHistoryManager history_;
testing::NiceMock<MockManualFillingController> mock_mf_controller_;
TestAutofillManager af_manager_;
TestingProfile profile_;
};
TEST_F(CreditCardAccessoryControllerTest, RefreshSuggestions) {
......
......@@ -217,6 +217,7 @@ class PasswordAccessoryControllerTest : public ChromeRenderViewHostTestHarness {
void TearDown() override {
if (mock_password_store_)
mock_password_store_->ShutdownOnUIThread();
ChromeRenderViewHostTestHarness::TearDown();
}
void CreateSheetController(
......@@ -869,9 +870,9 @@ class PasswordAccessoryControllerWithTestStoreTest
}
void TearDown() override {
PasswordAccessoryControllerTest::TearDown();
test_store_->ShutdownOnUIThread();
task_environment()->RunUntilIdle();
PasswordAccessoryControllerTest::TearDown();
}
void DisableFeature() {
......@@ -882,14 +883,13 @@ class PasswordAccessoryControllerWithTestStoreTest
protected:
PasswordStore* CreateInternalPasswordStore() override {
test_store_ = CreateAndUseTestPasswordStore(profile());
return test_store_.get();
}
private:
base::test::ScopedFeatureList scoped_feature_list_;
TestingProfile profile_;
scoped_refptr<TestPasswordStore> test_store_ =
CreateAndUseTestPasswordStore(&profile_);
scoped_refptr<TestPasswordStore> test_store_;
};
TEST_F(PasswordAccessoryControllerWithTestStoreTest, AddsShowOtherPasswords) {
......
......@@ -143,7 +143,10 @@ class ControllerTest : public content::RenderViewHostTestHarness {
controller_->AddObserver(&mock_observer_);
}
void TearDown() override { controller_->RemoveObserver(&mock_observer_); }
void TearDown() override {
controller_->RemoveObserver(&mock_observer_);
RenderViewHostTestHarness::TearDown();
}
protected:
static SupportedScriptProto* AddRunnableScript(
......
......@@ -87,7 +87,10 @@ class TriggerScriptCoordinatorTest : public content::RenderViewHostTestHarness {
SimulateNavigateToUrl(GURL(kFakeDeepLink));
}
void TearDown() override { coordinator_->RemoveObserver(&mock_observer_); }
void TearDown() override {
coordinator_->RemoveObserver(&mock_observer_);
RenderViewHostTestHarness::TearDown();
}
void SimulateWebContentsVisibilityChanged(content::Visibility visibility) {
coordinator_->OnVisibilityChanged(visibility);
......
......@@ -103,6 +103,7 @@ class WebsiteLoginManagerImplTest : public content::RenderViewHostTestHarness {
protected:
void SetUp() override {
RenderViewHostTestHarness::SetUp();
profile_store_ = new password_manager::MockPasswordStore;
ON_CALL(*profile_store_, IsAccountStore()).WillByDefault(Return(false));
ASSERT_TRUE(profile_store_->Init(/*prefs=*/nullptr));
......@@ -129,6 +130,7 @@ class WebsiteLoginManagerImplTest : public content::RenderViewHostTestHarness {
account_store_->ShutdownOnUIThread();
}
profile_store_->ShutdownOnUIThread();
RenderViewHostTestHarness::TearDown();
}
WebsiteLoginManagerImpl* manager() { return manager_.get(); }
......
......@@ -169,6 +169,7 @@ RenderViewHostTestEnabler::~RenderViewHostTestEnabler() {
// RenderViewHostTestHarness --------------------------------------------------
RenderViewHostTestHarness::~RenderViewHostTestHarness() {
DCHECK(!task_environment_) << "TearDown() was not called.";
}
NavigationController& RenderViewHostTestHarness::controller() {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment