Commit 401c9fdd authored by Olivier Li's avatar Olivier Li Committed by Commit Bot

Set browser state builder dir to avoid file leaks in ios tests in /ios/chrome/browser/ui/settings

This cl is generated with 'git cl split'

This CL was uploaded by git cl split.

R=sczs@chromium.org

Bug: 546640
Change-Id: I4d5d350ef28adaf572af0b94024ca4f6549a4548
Fixed: 1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1993141
Commit-Queue: Oliver Li <olivierli@chromium.org>
Auto-Submit: Oliver Li <olivierli@chromium.org>
Reviewed-by: default avatarSergio Collazos <sczs@chromium.org>
Cr-Commit-Position: refs/heads/master@{#730018}
parent f08500ae
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
#include <memory> #include <memory>
#include "base/compiler_specific.h" #include "base/compiler_specific.h"
#include "base/files/scoped_temp_dir.h"
#include "base/mac/foundation_util.h" #include "base/mac/foundation_util.h"
#include "base/strings/sys_string_conversions.h" #include "base/strings/sys_string_conversions.h"
#include "base/strings/utf_string_conversions.h" #include "base/strings/utf_string_conversions.h"
...@@ -64,6 +65,10 @@ class SearchEngineTableViewControllerTest ...@@ -64,6 +65,10 @@ class SearchEngineTableViewControllerTest
void SetUp() override { void SetUp() override {
ChromeTableViewControllerTest::SetUp(); ChromeTableViewControllerTest::SetUp();
TestChromeBrowserState::Builder test_cbs_builder; TestChromeBrowserState::Builder test_cbs_builder;
ASSERT_TRUE(state_dir_.CreateUniqueTempDir());
test_cbs_builder.SetPath(state_dir_.GetPath());
test_cbs_builder.AddTestingFactory( test_cbs_builder.AddTestingFactory(
ios::TemplateURLServiceFactory::GetInstance(), ios::TemplateURLServiceFactory::GetInstance(),
ios::TemplateURLServiceFactory::GetDefaultFactory()); ios::TemplateURLServiceFactory::GetDefaultFactory());
...@@ -223,6 +228,11 @@ class SearchEngineTableViewControllerTest ...@@ -223,6 +228,11 @@ class SearchEngineTableViewControllerTest
base::test::ios::kWaitForUIElementTimeout, condition); base::test::ios::kWaitForUIElementTimeout, condition);
} }
// A state directory that outlives |task_environment_| is needed because
// CreateHistoryService/CreateBookmarkModel use the directory to host
// databases. See https://crbug.com/546640 for more details.
base::ScopedTempDir state_dir_;
web::WebTaskEnvironment task_environment_; web::WebTaskEnvironment task_environment_;
std::unique_ptr<TestChromeBrowserState> chrome_browser_state_; std::unique_ptr<TestChromeBrowserState> chrome_browser_state_;
base::HistogramTester histogram_tester_; base::HistogramTester histogram_tester_;
......
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