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 ...@@ -443,9 +443,9 @@ class FileSystemURLLoaderFactoryTest
} }
} }
FileSystemOperationContext* NewOperationContext() { std::unique_ptr<FileSystemOperationContext> NewOperationContext() {
FileSystemOperationContext* context( auto context = std::make_unique<FileSystemOperationContext>(
new FileSystemOperationContext(file_system_context_.get())); file_system_context_.get());
context->set_allowed_bytes_growth(1024); context->set_allowed_bytes_growth(1024);
return context; return context;
} }
......
...@@ -104,11 +104,10 @@ class FileSystemOperationImplTest : public testing::Test { ...@@ -104,11 +104,10 @@ class FileSystemOperationImplTest : public testing::Test {
MockFileChangeObserver* change_observer() { return &change_observer_; } MockFileChangeObserver* change_observer() { return &change_observer_; }
std::unique_ptr<FileSystemOperationContext> NewContext() { std::unique_ptr<FileSystemOperationContext> NewContext() {
FileSystemOperationContext* context = auto context = sandbox_file_system_.NewOperationContext();
sandbox_file_system_.NewOperationContext();
// Grant enough quota for all test cases. // Grant enough quota for all test cases.
context->set_allowed_bytes_growth(1000000); context->set_allowed_bytes_growth(1000000);
return base::WrapUnique(context); return context;
} }
FileSystemURL URLForPath(const std::string& path) const { FileSystemURL URLForPath(const std::string& path) const {
......
...@@ -54,9 +54,9 @@ class LocalFileUtilTest : public testing::Test { ...@@ -54,9 +54,9 @@ class LocalFileUtilTest : public testing::Test {
} }
protected: protected:
FileSystemOperationContext* NewContext() { std::unique_ptr<FileSystemOperationContext> NewContext() {
FileSystemOperationContext* context = auto context = std::make_unique<FileSystemOperationContext>(
new FileSystemOperationContext(file_system_context_.get()); file_system_context_.get());
context->set_update_observers( context->set_update_observers(
*file_system_context_->GetUpdateObservers(kFileSystemType)); *file_system_context_->GetUpdateObservers(kFileSystemType));
return context; return context;
...@@ -230,7 +230,7 @@ TEST_F(LocalFileUtilTest, Truncate) { ...@@ -230,7 +230,7 @@ TEST_F(LocalFileUtilTest, Truncate) {
std::unique_ptr<FileSystemOperationContext> context; std::unique_ptr<FileSystemOperationContext> context;
context.reset(NewContext()); context = NewContext();
ASSERT_EQ(base::File::FILE_OK, ASSERT_EQ(base::File::FILE_OK,
file_util()->Truncate(context.get(), CreateURL(file_name), 1020)); file_util()->Truncate(context.get(), CreateURL(file_name), 1020));
...@@ -247,7 +247,7 @@ TEST_F(LocalFileUtilTest, CopyFile) { ...@@ -247,7 +247,7 @@ TEST_F(LocalFileUtilTest, CopyFile) {
ASSERT_TRUE(created); ASSERT_TRUE(created);
std::unique_ptr<FileSystemOperationContext> context; std::unique_ptr<FileSystemOperationContext> context;
context.reset(NewContext()); context = NewContext();
ASSERT_EQ(base::File::FILE_OK, ASSERT_EQ(base::File::FILE_OK,
file_util()->Truncate(context.get(), CreateURL(from_file), 1020)); file_util()->Truncate(context.get(), CreateURL(from_file), 1020));
...@@ -259,7 +259,7 @@ TEST_F(LocalFileUtilTest, CopyFile) { ...@@ -259,7 +259,7 @@ TEST_F(LocalFileUtilTest, CopyFile) {
AsyncFileTestHelper::Copy(file_system_context(), CreateURL(from_file), AsyncFileTestHelper::Copy(file_system_context(), CreateURL(from_file),
CreateURL(to_file1))); CreateURL(to_file1)));
context.reset(NewContext()); context = NewContext();
ASSERT_EQ( ASSERT_EQ(
base::File::FILE_OK, base::File::FILE_OK,
AsyncFileTestHelper::Copy(file_system_context(), CreateURL(from_file), AsyncFileTestHelper::Copy(file_system_context(), CreateURL(from_file),
...@@ -281,14 +281,14 @@ TEST_F(LocalFileUtilTest, CopyDirectory) { ...@@ -281,14 +281,14 @@ TEST_F(LocalFileUtilTest, CopyDirectory) {
bool created; bool created;
std::unique_ptr<FileSystemOperationContext> context; std::unique_ptr<FileSystemOperationContext> context;
context.reset(NewContext()); context = NewContext();
ASSERT_EQ(base::File::FILE_OK, ASSERT_EQ(base::File::FILE_OK,
file_util()->CreateDirectory(context.get(), CreateURL(from_dir), file_util()->CreateDirectory(context.get(), CreateURL(from_dir),
false, false)); false, false));
ASSERT_EQ(base::File::FILE_OK, EnsureFileExists(from_file, &created)); ASSERT_EQ(base::File::FILE_OK, EnsureFileExists(from_file, &created));
ASSERT_TRUE(created); ASSERT_TRUE(created);
context.reset(NewContext()); context = NewContext();
ASSERT_EQ(base::File::FILE_OK, ASSERT_EQ(base::File::FILE_OK,
file_util()->Truncate(context.get(), CreateURL(from_file), 1020)); file_util()->Truncate(context.get(), CreateURL(from_file), 1020));
...@@ -297,7 +297,7 @@ TEST_F(LocalFileUtilTest, CopyDirectory) { ...@@ -297,7 +297,7 @@ TEST_F(LocalFileUtilTest, CopyDirectory) {
EXPECT_EQ(1020, GetSize(from_file)); EXPECT_EQ(1020, GetSize(from_file));
EXPECT_FALSE(DirectoryExists(to_dir)); EXPECT_FALSE(DirectoryExists(to_dir));
context.reset(NewContext()); context = NewContext();
ASSERT_EQ(base::File::FILE_OK, ASSERT_EQ(base::File::FILE_OK,
AsyncFileTestHelper::Copy(file_system_context(), AsyncFileTestHelper::Copy(file_system_context(),
CreateURL(from_dir), CreateURL(to_dir))); CreateURL(from_dir), CreateURL(to_dir)));
...@@ -318,14 +318,14 @@ TEST_F(LocalFileUtilTest, MoveFile) { ...@@ -318,14 +318,14 @@ TEST_F(LocalFileUtilTest, MoveFile) {
ASSERT_TRUE(created); ASSERT_TRUE(created);
std::unique_ptr<FileSystemOperationContext> context; std::unique_ptr<FileSystemOperationContext> context;
context.reset(NewContext()); context = NewContext();
ASSERT_EQ(base::File::FILE_OK, ASSERT_EQ(base::File::FILE_OK,
file_util()->Truncate(context.get(), CreateURL(from_file), 1020)); file_util()->Truncate(context.get(), CreateURL(from_file), 1020));
EXPECT_TRUE(FileExists(from_file)); EXPECT_TRUE(FileExists(from_file));
EXPECT_EQ(1020, GetSize(from_file)); EXPECT_EQ(1020, GetSize(from_file));
context.reset(NewContext()); context = NewContext();
ASSERT_EQ(base::File::FILE_OK, AsyncFileTestHelper::Move( ASSERT_EQ(base::File::FILE_OK, AsyncFileTestHelper::Move(
file_system_context(), file_system_context(),
CreateURL(from_file), CreateURL(to_file))); CreateURL(from_file), CreateURL(to_file)));
...@@ -343,14 +343,14 @@ TEST_F(LocalFileUtilTest, MoveDirectory) { ...@@ -343,14 +343,14 @@ TEST_F(LocalFileUtilTest, MoveDirectory) {
bool created; bool created;
std::unique_ptr<FileSystemOperationContext> context; std::unique_ptr<FileSystemOperationContext> context;
context.reset(NewContext()); context = NewContext();
ASSERT_EQ(base::File::FILE_OK, ASSERT_EQ(base::File::FILE_OK,
file_util()->CreateDirectory(context.get(), CreateURL(from_dir), file_util()->CreateDirectory(context.get(), CreateURL(from_dir),
false, false)); false, false));
ASSERT_EQ(base::File::FILE_OK, EnsureFileExists(from_file, &created)); ASSERT_EQ(base::File::FILE_OK, EnsureFileExists(from_file, &created));
ASSERT_TRUE(created); ASSERT_TRUE(created);
context.reset(NewContext()); context = NewContext();
ASSERT_EQ(base::File::FILE_OK, ASSERT_EQ(base::File::FILE_OK,
file_util()->Truncate(context.get(), CreateURL(from_file), 1020)); file_util()->Truncate(context.get(), CreateURL(from_file), 1020));
...@@ -359,7 +359,7 @@ TEST_F(LocalFileUtilTest, MoveDirectory) { ...@@ -359,7 +359,7 @@ TEST_F(LocalFileUtilTest, MoveDirectory) {
EXPECT_EQ(1020, GetSize(from_file)); EXPECT_EQ(1020, GetSize(from_file));
EXPECT_FALSE(DirectoryExists(to_dir)); EXPECT_FALSE(DirectoryExists(to_dir));
context.reset(NewContext()); context = NewContext();
ASSERT_EQ(base::File::FILE_OK, ASSERT_EQ(base::File::FILE_OK,
AsyncFileTestHelper::Move(file_system_context(), AsyncFileTestHelper::Move(file_system_context(),
CreateURL(from_dir), CreateURL(to_dir))); CreateURL(from_dir), CreateURL(to_dir)));
......
...@@ -148,11 +148,10 @@ class RecursiveOperationDelegateTest : public testing::Test { ...@@ -148,11 +148,10 @@ class RecursiveOperationDelegateTest : public testing::Test {
void TearDown() override { sandbox_file_system_.TearDown(); } void TearDown() override { sandbox_file_system_.TearDown(); }
std::unique_ptr<FileSystemOperationContext> NewContext() { std::unique_ptr<FileSystemOperationContext> NewContext() {
FileSystemOperationContext* context = auto context = sandbox_file_system_.NewOperationContext();
sandbox_file_system_.NewOperationContext();
// Grant enough quota for all test cases. // Grant enough quota for all test cases.
context->set_allowed_bytes_growth(1000000); context->set_allowed_bytes_growth(1000000);
return base::WrapUnique(context); return context;
} }
FileSystemFileUtil* file_util() { return sandbox_file_system_.file_util(); } FileSystemFileUtil* file_util() { return sandbox_file_system_.file_util(); }
......
...@@ -116,10 +116,11 @@ FileSystemOperationRunner* SandboxFileSystemTestHelper::operation_runner() { ...@@ -116,10 +116,11 @@ FileSystemOperationRunner* SandboxFileSystemTestHelper::operation_runner() {
return file_system_context_->operation_runner(); return file_system_context_->operation_runner();
} }
FileSystemOperationContext* SandboxFileSystemTestHelper::NewOperationContext() { std::unique_ptr<FileSystemOperationContext>
SandboxFileSystemTestHelper::NewOperationContext() {
DCHECK(file_system_context_.get()); DCHECK(file_system_context_.get());
FileSystemOperationContext* context = auto context =
new FileSystemOperationContext(file_system_context_.get()); std::make_unique<FileSystemOperationContext>(file_system_context_.get());
context->set_update_observers( context->set_update_observers(
*file_system_context_->GetUpdateObservers(type_)); *file_system_context_->GetUpdateObservers(type_));
return context; return context;
......
...@@ -77,7 +77,7 @@ class SandboxFileSystemTestHelper { ...@@ -77,7 +77,7 @@ class SandboxFileSystemTestHelper {
int64_t ComputeCurrentDirectoryDatabaseUsage(); int64_t ComputeCurrentDirectoryDatabaseUsage();
FileSystemOperationRunner* operation_runner(); FileSystemOperationRunner* operation_runner();
FileSystemOperationContext* NewOperationContext(); std::unique_ptr<FileSystemOperationContext> NewOperationContext();
void AddFileChangeObserver(FileChangeObserver* observer); void AddFileChangeObserver(FileChangeObserver* observer);
void AddFileUpdateObserver(FileUpdateObserver* 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