Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(550)

Side by Side Diff: chromecast/crash/linux/minidump_writer_unittest.cc

Issue 1484713003: [Chromecast] Use ScopedTemp[File|Dir] in tests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src@master
Patch Set: Style Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <fstream> 5 #include <fstream>
6 6
7 #include "base/base_paths.h" 7 #include "base/base_paths.h"
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/files/file_path.h" 9 #include "base/files/file_path.h"
10 #include "base/files/file_util.h" 10 #include "base/files/file_util.h"
11 #include "base/memory/scoped_ptr.h" 11 #include "base/memory/scoped_ptr.h"
12 #include "base/test/scoped_path_override.h" 12 #include "base/test/scoped_path_override.h"
13 #include "chromecast/base/scoped_temp_file.h"
13 #include "chromecast/crash/linux/crash_testing_utils.h" 14 #include "chromecast/crash/linux/crash_testing_utils.h"
14 #include "chromecast/crash/linux/dump_info.h" 15 #include "chromecast/crash/linux/dump_info.h"
15 #include "chromecast/crash/linux/minidump_generator.h" 16 #include "chromecast/crash/linux/minidump_generator.h"
16 #include "chromecast/crash/linux/minidump_writer.h" 17 #include "chromecast/crash/linux/minidump_writer.h"
17 #include "testing/gtest/include/gtest/gtest.h" 18 #include "testing/gtest/include/gtest/gtest.h"
18 19
19 namespace chromecast { 20 namespace chromecast {
20 namespace { 21 namespace {
21 22
22 const char kDumplogFile[] = "dumplog"; 23 const char kDumplogFile[] = "dumplog";
(...skipping 16 matching lines...) Expand all
39 40
40 } // namespace 41 } // namespace
41 42
42 class MinidumpWriterTest : public testing::Test { 43 class MinidumpWriterTest : public testing::Test {
43 protected: 44 protected:
44 MinidumpWriterTest() {} 45 MinidumpWriterTest() {}
45 ~MinidumpWriterTest() override {} 46 ~MinidumpWriterTest() override {}
46 47
47 void SetUp() override { 48 void SetUp() override {
48 // Set up a temporary directory which will be used as our fake home dir. 49 // Set up a temporary directory which will be used as our fake home dir.
49 base::FilePath fake_home_dir; 50 ASSERT_TRUE(fake_home_dir_.CreateUniqueTempDir());
50 ASSERT_TRUE(base::CreateNewTempDirectory("", &fake_home_dir)); 51 home_.reset(
51 home_.reset(new base::ScopedPathOverride(base::DIR_HOME, fake_home_dir)); 52 new base::ScopedPathOverride(base::DIR_HOME, fake_home_dir_.path()));
52 minidump_dir_ = fake_home_dir.Append(kMinidumpSubdir); 53
54 minidump_dir_ = fake_home_dir_.path().Append(kMinidumpSubdir);
53 dumplog_file_ = minidump_dir_.Append(kDumplogFile); 55 dumplog_file_ = minidump_dir_.Append(kDumplogFile);
54 lockfile_path_ = minidump_dir_.Append(kLockfileName); 56 lockfile_path_ = minidump_dir_.Append(kLockfileName);
55 metadata_path_ = minidump_dir_.Append(kMetadataName); 57 metadata_path_ = minidump_dir_.Append(kMetadataName);
56 58
57 // Create the minidump directory 59 // Create the minidump directory
58 ASSERT_TRUE(base::CreateDirectory(minidump_dir_)); 60 ASSERT_TRUE(base::CreateDirectory(minidump_dir_));
59 61
60 // Lockfile will be automatically created by AppendLockFile 62 // Lockfile will be automatically created by AppendLockFile
61 } 63 }
62 64
63 bool AppendLockFile(const DumpInfo& dump) { 65 bool AppendLockFile(const DumpInfo& dump) {
64 return chromecast::AppendLockFile( 66 return chromecast::AppendLockFile(
65 lockfile_path_.value(), metadata_path_.value(), dump); 67 lockfile_path_.value(), metadata_path_.value(), dump);
66 } 68 }
67 69
68 FakeMinidumpGenerator fake_generator_; 70 FakeMinidumpGenerator fake_generator_;
69 base::FilePath minidump_dir_; 71 base::FilePath minidump_dir_;
70 base::FilePath dumplog_file_; 72 base::FilePath dumplog_file_;
71 base::FilePath lockfile_path_; 73 base::FilePath lockfile_path_;
72 base::FilePath metadata_path_; 74 base::FilePath metadata_path_;
73 75
74 private: 76 private:
77 base::ScopedTempDir fake_home_dir_;
75 scoped_ptr<base::ScopedPathOverride> home_; 78 scoped_ptr<base::ScopedPathOverride> home_;
76 79
77 DISALLOW_COPY_AND_ASSIGN(MinidumpWriterTest); 80 DISALLOW_COPY_AND_ASSIGN(MinidumpWriterTest);
78 }; 81 };
79 82
80 TEST_F(MinidumpWriterTest, Write_FailsWithIncorrectMinidumpPath) { 83 TEST_F(MinidumpWriterTest, Write_FailsWithIncorrectMinidumpPath) {
81 MinidumpWriter writer(&fake_generator_, 84 MinidumpWriter writer(&fake_generator_,
82 "/path/to/wrong/dir", 85 "/path/to/wrong/dir",
83 MinidumpParams(), 86 MinidumpParams(),
84 base::Bind(&FakeDumpState)); 87 base::Bind(&FakeDumpState));
(...skipping 30 matching lines...) Expand all
115 118
116 TEST_F(MinidumpWriterTest, Write_FailsWithSubdirInCorrectPath) { 119 TEST_F(MinidumpWriterTest, Write_FailsWithSubdirInCorrectPath) {
117 MinidumpWriter writer(&fake_generator_, 120 MinidumpWriter writer(&fake_generator_,
118 dumplog_file_.Append("subdir/logfile").value(), 121 dumplog_file_.Append("subdir/logfile").value(),
119 MinidumpParams(), 122 MinidumpParams(),
120 base::Bind(&FakeDumpState)); 123 base::Bind(&FakeDumpState));
121 ASSERT_EQ(-1, writer.Write()); 124 ASSERT_EQ(-1, writer.Write());
122 } 125 }
123 126
124 } // namespace chromecast 127 } // namespace chromecast
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698