Commit 2d9577e0 authored by Austin Sullivan's avatar Austin Sullivan Committed by Chromium LUCI CQ

Make NewContext return a std::unique_ptr

This fixes a leak in a obfuscated_file_util_unittest, allowing us to
enable LSAN on this test.

Bug: 961068
Change-Id: I798bc4e0e2c5b344d29d3588102eb9a598801381
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2627359
Auto-Submit: Austin Sullivan <asully@chromium.org>
Commit-Queue: Marijn Kruisselbrink <mek@chromium.org>
Reviewed-by: default avatarMarijn Kruisselbrink <mek@chromium.org>
Cr-Commit-Position: refs/heads/master@{#843203}
parent 6edbfd84
......@@ -443,9 +443,9 @@ class FileSystemURLLoaderFactoryTest
}
}
FileSystemOperationContext* NewOperationContext() {
FileSystemOperationContext* context(
new FileSystemOperationContext(file_system_context_.get()));
std::unique_ptr<FileSystemOperationContext> NewOperationContext() {
auto context = std::make_unique<FileSystemOperationContext>(
file_system_context_.get());
context->set_allowed_bytes_growth(1024);
return context;
}
......
......@@ -104,11 +104,10 @@ class FileSystemOperationImplTest : public testing::Test {
MockFileChangeObserver* change_observer() { return &change_observer_; }
std::unique_ptr<FileSystemOperationContext> NewContext() {
FileSystemOperationContext* context =
sandbox_file_system_.NewOperationContext();
auto context = sandbox_file_system_.NewOperationContext();
// Grant enough quota for all test cases.
context->set_allowed_bytes_growth(1000000);
return base::WrapUnique(context);
return context;
}
FileSystemURL URLForPath(const std::string& path) const {
......
......@@ -54,9 +54,9 @@ class LocalFileUtilTest : public testing::Test {
}
protected:
FileSystemOperationContext* NewContext() {
FileSystemOperationContext* context =
new FileSystemOperationContext(file_system_context_.get());
std::unique_ptr<FileSystemOperationContext> NewContext() {
auto context = std::make_unique<FileSystemOperationContext>(
file_system_context_.get());
context->set_update_observers(
*file_system_context_->GetUpdateObservers(kFileSystemType));
return context;
......@@ -230,7 +230,7 @@ TEST_F(LocalFileUtilTest, Truncate) {
std::unique_ptr<FileSystemOperationContext> context;
context.reset(NewContext());
context = NewContext();
ASSERT_EQ(base::File::FILE_OK,
file_util()->Truncate(context.get(), CreateURL(file_name), 1020));
......@@ -247,7 +247,7 @@ TEST_F(LocalFileUtilTest, CopyFile) {
ASSERT_TRUE(created);
std::unique_ptr<FileSystemOperationContext> context;
context.reset(NewContext());
context = NewContext();
ASSERT_EQ(base::File::FILE_OK,
file_util()->Truncate(context.get(), CreateURL(from_file), 1020));
......@@ -259,7 +259,7 @@ TEST_F(LocalFileUtilTest, CopyFile) {
AsyncFileTestHelper::Copy(file_system_context(), CreateURL(from_file),
CreateURL(to_file1)));
context.reset(NewContext());
context = NewContext();
ASSERT_EQ(
base::File::FILE_OK,
AsyncFileTestHelper::Copy(file_system_context(), CreateURL(from_file),
......@@ -281,14 +281,14 @@ TEST_F(LocalFileUtilTest, CopyDirectory) {
bool created;
std::unique_ptr<FileSystemOperationContext> context;
context.reset(NewContext());
context = NewContext();
ASSERT_EQ(base::File::FILE_OK,
file_util()->CreateDirectory(context.get(), CreateURL(from_dir),
false, false));
ASSERT_EQ(base::File::FILE_OK, EnsureFileExists(from_file, &created));
ASSERT_TRUE(created);
context.reset(NewContext());
context = NewContext();
ASSERT_EQ(base::File::FILE_OK,
file_util()->Truncate(context.get(), CreateURL(from_file), 1020));
......@@ -297,7 +297,7 @@ TEST_F(LocalFileUtilTest, CopyDirectory) {
EXPECT_EQ(1020, GetSize(from_file));
EXPECT_FALSE(DirectoryExists(to_dir));
context.reset(NewContext());
context = NewContext();
ASSERT_EQ(base::File::FILE_OK,
AsyncFileTestHelper::Copy(file_system_context(),
CreateURL(from_dir), CreateURL(to_dir)));
......@@ -318,14 +318,14 @@ TEST_F(LocalFileUtilTest, MoveFile) {
ASSERT_TRUE(created);
std::unique_ptr<FileSystemOperationContext> context;
context.reset(NewContext());
context = NewContext();
ASSERT_EQ(base::File::FILE_OK,
file_util()->Truncate(context.get(), CreateURL(from_file), 1020));
EXPECT_TRUE(FileExists(from_file));
EXPECT_EQ(1020, GetSize(from_file));
context.reset(NewContext());
context = NewContext();
ASSERT_EQ(base::File::FILE_OK, AsyncFileTestHelper::Move(
file_system_context(),
CreateURL(from_file), CreateURL(to_file)));
......@@ -343,14 +343,14 @@ TEST_F(LocalFileUtilTest, MoveDirectory) {
bool created;
std::unique_ptr<FileSystemOperationContext> context;
context.reset(NewContext());
context = NewContext();
ASSERT_EQ(base::File::FILE_OK,
file_util()->CreateDirectory(context.get(), CreateURL(from_dir),
false, false));
ASSERT_EQ(base::File::FILE_OK, EnsureFileExists(from_file, &created));
ASSERT_TRUE(created);
context.reset(NewContext());
context = NewContext();
ASSERT_EQ(base::File::FILE_OK,
file_util()->Truncate(context.get(), CreateURL(from_file), 1020));
......@@ -359,7 +359,7 @@ TEST_F(LocalFileUtilTest, MoveDirectory) {
EXPECT_EQ(1020, GetSize(from_file));
EXPECT_FALSE(DirectoryExists(to_dir));
context.reset(NewContext());
context = NewContext();
ASSERT_EQ(base::File::FILE_OK,
AsyncFileTestHelper::Move(file_system_context(),
CreateURL(from_dir), CreateURL(to_dir)));
......
......@@ -148,11 +148,10 @@ class RecursiveOperationDelegateTest : public testing::Test {
void TearDown() override { sandbox_file_system_.TearDown(); }
std::unique_ptr<FileSystemOperationContext> NewContext() {
FileSystemOperationContext* context =
sandbox_file_system_.NewOperationContext();
auto context = sandbox_file_system_.NewOperationContext();
// Grant enough quota for all test cases.
context->set_allowed_bytes_growth(1000000);
return base::WrapUnique(context);
return context;
}
FileSystemFileUtil* file_util() { return sandbox_file_system_.file_util(); }
......
......@@ -116,10 +116,11 @@ FileSystemOperationRunner* SandboxFileSystemTestHelper::operation_runner() {
return file_system_context_->operation_runner();
}
FileSystemOperationContext* SandboxFileSystemTestHelper::NewOperationContext() {
std::unique_ptr<FileSystemOperationContext>
SandboxFileSystemTestHelper::NewOperationContext() {
DCHECK(file_system_context_.get());
FileSystemOperationContext* context =
new FileSystemOperationContext(file_system_context_.get());
auto context =
std::make_unique<FileSystemOperationContext>(file_system_context_.get());
context->set_update_observers(
*file_system_context_->GetUpdateObservers(type_));
return context;
......
......@@ -77,7 +77,7 @@ class SandboxFileSystemTestHelper {
int64_t ComputeCurrentDirectoryDatabaseUsage();
FileSystemOperationRunner* operation_runner();
FileSystemOperationContext* NewOperationContext();
std::unique_ptr<FileSystemOperationContext> NewOperationContext();
void AddFileChangeObserver(FileChangeObserver* observer);
void AddFileUpdateObserver(FileUpdateObserver* observer);
......
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