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

Side by Side Diff: chrome/installer/util/lzma_util_unittest.cc

Issue 6793008: Replacing base::DIR_TEMP with ScopedTempDir when appropriate. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Paweł's comments on Round 2. Created 9 years, 8 months 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 <windows.h> 5 #include <windows.h>
6 6
7 #include "base/file_util.h" 7 #include "base/file_util.h"
8 #include "base/path_service.h" 8 #include "base/path_service.h"
9 #include "base/process_util.h" 9 #include "base/process_util.h"
10 #include "base/memory/scoped_temp_dir.h"
10 #include "chrome/common/chrome_paths.h" 11 #include "chrome/common/chrome_paths.h"
11 #include "chrome/installer/util/lzma_util.h" 12 #include "chrome/installer/util/lzma_util.h"
12 #include "testing/gtest/include/gtest/gtest.h" 13 #include "testing/gtest/include/gtest/gtest.h"
13 14
14 namespace { 15 namespace {
15 class LzmaUtilTest : public testing::Test { 16 class LzmaUtilTest : public testing::Test {
16 protected: 17 protected:
17 virtual void SetUp() { 18 virtual void SetUp() {
18 ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &data_dir_)); 19 ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &data_dir_));
19 data_dir_ = data_dir_.AppendASCII("installer"); 20 data_dir_ = data_dir_.AppendASCII("installer");
20 ASSERT_TRUE(file_util::PathExists(data_dir_)); 21 ASSERT_TRUE(file_util::PathExists(data_dir_));
21 22
22 // Name a subdirectory of the user temp directory. 23 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
23 ASSERT_TRUE(PathService::Get(base::DIR_TEMP, &test_dir_));
24 test_dir_ = test_dir_.AppendASCII("LzmaUtilTest");
25
26 // Create a fresh, empty copy of this test directory.
27 file_util::Delete(test_dir_, true);
28 file_util::CreateDirectoryW(test_dir_);
29 ASSERT_TRUE(file_util::PathExists(test_dir_));
30 } 24 }
31 25
32 virtual void TearDown() { 26 ScopedTempDir temp_dir_;
33 // Clean up test directory
34 ASSERT_TRUE(file_util::Delete(test_dir_, true));
35 ASSERT_FALSE(file_util::PathExists(test_dir_));
36 }
37
38 // The path to temporary directory used to contain the test operations.
39 FilePath test_dir_;
40 27
41 // The path to input data used in tests. 28 // The path to input data used in tests.
42 FilePath data_dir_; 29 FilePath data_dir_;
43 }; 30 };
44 }; 31 };
45 32
46 // Test that we can open archives successfully. 33 // Test that we can open archives successfully.
47 TEST_F(LzmaUtilTest, OpenArchiveTest) { 34 TEST_F(LzmaUtilTest, OpenArchiveTest) {
48 FilePath archive = data_dir_.AppendASCII("archive1.7z"); 35 FilePath archive = data_dir_.AppendASCII("archive1.7z");
49 LzmaUtil lzma_util; 36 LzmaUtil lzma_util;
50 EXPECT_EQ(lzma_util.OpenArchive(archive.value()), NO_ERROR); 37 EXPECT_EQ(lzma_util.OpenArchive(archive.value()), NO_ERROR);
51 38
52 // We allow opening another archive (which will automatically close the first 39 // We allow opening another archive (which will automatically close the first
53 // archive). 40 // archive).
54 archive = data_dir_.AppendASCII("archive2.7z"); 41 archive = data_dir_.AppendASCII("archive2.7z");
55 EXPECT_EQ(lzma_util.OpenArchive(archive.value()), NO_ERROR); 42 EXPECT_EQ(lzma_util.OpenArchive(archive.value()), NO_ERROR);
56 43
57 // Explicitly close and open the first archive again. 44 // Explicitly close and open the first archive again.
58 lzma_util.CloseArchive(); 45 lzma_util.CloseArchive();
59 archive = data_dir_.AppendASCII("archive1.7z"); 46 archive = data_dir_.AppendASCII("archive1.7z");
60 EXPECT_EQ(lzma_util.OpenArchive(archive.value()), NO_ERROR); 47 EXPECT_EQ(lzma_util.OpenArchive(archive.value()), NO_ERROR);
61 48
62 // Make sure non-existent archive returns error. 49 // Make sure non-existent archive returns error.
63 archive = data_dir_.AppendASCII("archive.non_existent.7z"); 50 archive = data_dir_.AppendASCII("archive.non_existent.7z");
64 EXPECT_EQ(lzma_util.OpenArchive(archive.value()), ERROR_FILE_NOT_FOUND); 51 EXPECT_EQ(lzma_util.OpenArchive(archive.value()), ERROR_FILE_NOT_FOUND);
65 } 52 }
66 53
67 // Test that we can extract archives successfully. 54 // Test that we can extract archives successfully.
68 TEST_F(LzmaUtilTest, UnPackTest) { 55 TEST_F(LzmaUtilTest, UnPackTest) {
69 FilePath extract_dir(test_dir_); 56 FilePath extract_dir(temp_dir_.path());
70 extract_dir = extract_dir.AppendASCII("UnPackTest"); 57 extract_dir = extract_dir.AppendASCII("UnPackTest");
71 ASSERT_FALSE(file_util::PathExists(extract_dir)); 58 ASSERT_FALSE(file_util::PathExists(extract_dir));
72 EXPECT_TRUE(file_util::CreateDirectory(extract_dir)); 59 EXPECT_TRUE(file_util::CreateDirectory(extract_dir));
73 ASSERT_TRUE(file_util::PathExists(extract_dir)); 60 ASSERT_TRUE(file_util::PathExists(extract_dir));
74 61
75 FilePath archive = data_dir_.AppendASCII("archive1.7z"); 62 FilePath archive = data_dir_.AppendASCII("archive1.7z");
76 LzmaUtil lzma_util; 63 LzmaUtil lzma_util;
77 EXPECT_EQ(lzma_util.OpenArchive(archive.value()), NO_ERROR); 64 EXPECT_EQ(lzma_util.OpenArchive(archive.value()), NO_ERROR);
78 std::wstring unpacked_file; 65 std::wstring unpacked_file;
79 EXPECT_EQ(lzma_util.UnPack(extract_dir.value(), &unpacked_file), 66 EXPECT_EQ(lzma_util.UnPack(extract_dir.value(), &unpacked_file),
(...skipping 20 matching lines...) Expand all
100 EXPECT_EQ(lzma_util.OpenArchive(archive.value()), NO_ERROR); 87 EXPECT_EQ(lzma_util.OpenArchive(archive.value()), NO_ERROR);
101 EXPECT_EQ(lzma_util.UnPack(extract_dir.value(), &unpacked_file), 88 EXPECT_EQ(lzma_util.UnPack(extract_dir.value(), &unpacked_file),
102 NO_ERROR); 89 NO_ERROR);
103 EXPECT_TRUE(file_util::PathExists(extract_dir.AppendASCII("archive\\a.exe"))); 90 EXPECT_TRUE(file_util::PathExists(extract_dir.AppendASCII("archive\\a.exe")));
104 EXPECT_TRUE(file_util::PathExists( 91 EXPECT_TRUE(file_util::PathExists(
105 extract_dir.AppendASCII("archive\\sub_dir\\text.txt"))); 92 extract_dir.AppendASCII("archive\\sub_dir\\text.txt")));
106 } 93 }
107 94
108 // Test the static method that can be used to unpack archives. 95 // Test the static method that can be used to unpack archives.
109 TEST_F(LzmaUtilTest, UnPackArchiveTest) { 96 TEST_F(LzmaUtilTest, UnPackArchiveTest) {
110 FilePath extract_dir(test_dir_); 97 FilePath extract_dir(temp_dir_.path());
111 extract_dir = extract_dir.AppendASCII("UnPackArchiveTest"); 98 extract_dir = extract_dir.AppendASCII("UnPackArchiveTest");
112 ASSERT_FALSE(file_util::PathExists(extract_dir)); 99 ASSERT_FALSE(file_util::PathExists(extract_dir));
113 EXPECT_TRUE(file_util::CreateDirectory(extract_dir)); 100 EXPECT_TRUE(file_util::CreateDirectory(extract_dir));
114 ASSERT_TRUE(file_util::PathExists(extract_dir)); 101 ASSERT_TRUE(file_util::PathExists(extract_dir));
115 102
116 FilePath archive = data_dir_.AppendASCII("archive1.7z"); 103 FilePath archive = data_dir_.AppendASCII("archive1.7z");
117 std::wstring unpacked_file; 104 std::wstring unpacked_file;
118 EXPECT_EQ(LzmaUtil::UnPackArchive(archive.value(), extract_dir.value(), 105 EXPECT_EQ(LzmaUtil::UnPackArchive(archive.value(), extract_dir.value(),
119 &unpacked_file), NO_ERROR); 106 &unpacked_file), NO_ERROR);
120 EXPECT_TRUE(file_util::PathExists(extract_dir.AppendASCII("a.exe"))); 107 EXPECT_TRUE(file_util::PathExists(extract_dir.AppendASCII("a.exe")));
121 EXPECT_TRUE(unpacked_file == extract_dir.AppendASCII("a.exe").value()); 108 EXPECT_TRUE(unpacked_file == extract_dir.AppendASCII("a.exe").value());
122 109
123 archive = data_dir_.AppendASCII("archive2.7z"); 110 archive = data_dir_.AppendASCII("archive2.7z");
124 EXPECT_EQ(LzmaUtil::UnPackArchive(archive.value(), extract_dir.value(), 111 EXPECT_EQ(LzmaUtil::UnPackArchive(archive.value(), extract_dir.value(),
125 &unpacked_file), NO_ERROR); 112 &unpacked_file), NO_ERROR);
126 EXPECT_TRUE(file_util::PathExists(extract_dir.AppendASCII("b.exe"))); 113 EXPECT_TRUE(file_util::PathExists(extract_dir.AppendASCII("b.exe")));
127 EXPECT_TRUE(unpacked_file == extract_dir.AppendASCII("b.exe").value()); 114 EXPECT_TRUE(unpacked_file == extract_dir.AppendASCII("b.exe").value());
128 115
129 archive = data_dir_.AppendASCII("invalid_archive.7z"); 116 archive = data_dir_.AppendASCII("invalid_archive.7z");
130 EXPECT_NE(LzmaUtil::UnPackArchive(archive.value(), extract_dir.value(), 117 EXPECT_NE(LzmaUtil::UnPackArchive(archive.value(), extract_dir.value(),
131 &unpacked_file), NO_ERROR); 118 &unpacked_file), NO_ERROR);
132 } 119 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698