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

Side by Side Diff: chrome/common/mac/app_mode_chrome_locator_browsertest.mm

Issue 550083002: [Mac] Fix ChromeLocatorTest on official builds. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Revert disabling of tests. Created 6 years, 3 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #import "chrome/common/mac/app_mode_chrome_locator.h" 5 #import "chrome/common/mac/app_mode_chrome_locator.h"
6 6
7 #include <CoreFoundation/CoreFoundation.h> 7 #include <CoreFoundation/CoreFoundation.h>
8 8
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/files/scoped_temp_dir.h" 11 #include "base/files/scoped_temp_dir.h"
12 #include "base/path_service.h" 12 #include "base/path_service.h"
13 #include "chrome/common/chrome_constants.h" 13 #include "chrome/common/chrome_constants.h"
14 #include "chrome/common/chrome_version_info.h" 14 #include "chrome/common/chrome_version_info.h"
15 #include "testing/gtest/include/gtest/gtest.h" 15 #include "testing/gtest/include/gtest/gtest.h"
16 16
17 namespace { 17 namespace {
18 18
19 // This needs to be a browser test because it expects to find a Chrome.app 19 // This needs to be a browser test because it expects to find a Chrome.app
20 // bundle in the output directory. 20 // bundle in the output directory.
21 21
22 // Return the path to the Chrome/Chromium app bundle compiled along with the 22 // Return the path to the Chrome/Chromium app bundle compiled along with the
23 // test executable. 23 // test executable.
24 void GetChromeBundlePath(base::FilePath* chrome_bundle) { 24 void GetChromeBundlePath(base::FilePath* chrome_bundle) {
25 base::FilePath path; 25 base::FilePath path;
26 PathService::Get(base::DIR_MODULE, &path); 26 PathService::Get(base::DIR_MODULE, &path);
27 path = path.Append(chrome::kBrowserProcessExecutableNameChromium); 27 path = path.Append(chrome::kBrowserProcessExecutableName);
28 path = path.ReplaceExtension(base::FilePath::StringType("app")); 28 path = path.ReplaceExtension(base::FilePath::StringType("app"));
29 *chrome_bundle = path; 29 *chrome_bundle = path;
30 } 30 }
31 31
32 } // namespace 32 } // namespace
33 33
34 TEST(ChromeLocatorTest, FindBundle) { 34 TEST(ChromeLocatorTest, FindBundle) {
35 base::FilePath finder_bundle_path; 35 base::FilePath finder_bundle_path;
36 EXPECT_TRUE( 36 EXPECT_TRUE(
37 app_mode::FindBundleById(@"com.apple.finder", &finder_bundle_path)); 37 app_mode::FindBundleById(@"com.apple.finder", &finder_bundle_path));
38 EXPECT_TRUE(base::DirectoryExists(finder_bundle_path)); 38 EXPECT_TRUE(base::DirectoryExists(finder_bundle_path));
39 } 39 }
40 40
41 TEST(ChromeLocatorTest, FindNonExistentBundle) { 41 TEST(ChromeLocatorTest, FindNonExistentBundle) {
42 base::FilePath dummy; 42 base::FilePath dummy;
43 EXPECT_FALSE(app_mode::FindBundleById(@"this.doesnt.exist", &dummy)); 43 EXPECT_FALSE(app_mode::FindBundleById(@"this.doesnt.exist", &dummy));
44 } 44 }
45 45
46 // GetChromeBundlePath doesn't work on official builds. Disable them until it's 46 TEST(ChromeLocatorTest, GetNonExistentBundleInfo) {
47 // fixed. http://crbug.com/409615
48 #if defined(OFFICIAL_BUILD)
49 #define MAYBE_GetNonExistentBundleInfo DISABLED_GetNonExistentBundleInfo
50 #define MAYBE_GetChromeBundleInfo DISABLED_GetChromeBundleInfo
51 #define MAYBE_GetChromeBundleInfoWithLatestVersion \
52 DISABLED_GetChromeBundleInfoWithLatestVersion
53 #define MAYBE_GetChromeBundleInfoWithInvalidVersion \
54 DISABLED_GetChromeBundleInfoWithInvalidVersion
55 #define MAYBE_GetChromeBundleInfoWithPreviousVersion \
56 DISABLED_GetChromeBundleInfoWithPreviousVersion
57 #else
58 #define MAYBE_GetNonExistentBundleInfo GetNonExistentBundleInfo
59 #define MAYBE_GetChromeBundleInfo GetChromeBundleInfo
60 #define MAYBE_GetChromeBundleInfoWithLatestVersion \
61 GetChromeBundleInfoWithLatestVersion
62 #define MAYBE_GetChromeBundleInfoWithInvalidVersion \
63 GetChromeBundleInfoWithInvalidVersion
64 #define MAYBE_GetChromeBundleInfoWithPreviousVersion \
65 GetChromeBundleInfoWithPreviousVersion
66 #endif
67
68 TEST(ChromeLocatorTest, MAYBE_GetNonExistentBundleInfo) {
69 base::ScopedTempDir temp_dir; 47 base::ScopedTempDir temp_dir;
70 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); 48 ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
71 49
72 base::FilePath executable_path; 50 base::FilePath executable_path;
73 base::FilePath version_path; 51 base::FilePath version_path;
74 base::FilePath framework_path; 52 base::FilePath framework_path;
75 EXPECT_FALSE(app_mode::GetChromeBundleInfo(temp_dir.path(), 53 EXPECT_FALSE(app_mode::GetChromeBundleInfo(temp_dir.path(),
76 std::string(), 54 std::string(),
77 &executable_path, 55 &executable_path,
78 &version_path, 56 &version_path,
79 &framework_path)); 57 &framework_path));
80 } 58 }
81 59
82 TEST(ChromeLocatorTest, MAYBE_GetChromeBundleInfo) { 60 TEST(ChromeLocatorTest, GetChromeBundleInfo) {
83 base::FilePath chrome_bundle_path; 61 base::FilePath chrome_bundle_path;
84 GetChromeBundlePath(&chrome_bundle_path); 62 GetChromeBundlePath(&chrome_bundle_path);
85 ASSERT_TRUE(base::DirectoryExists(chrome_bundle_path)); 63 ASSERT_TRUE(base::DirectoryExists(chrome_bundle_path));
86 64
87 base::FilePath executable_path; 65 base::FilePath executable_path;
88 base::FilePath version_path; 66 base::FilePath version_path;
89 base::FilePath framework_path; 67 base::FilePath framework_path;
90 EXPECT_TRUE(app_mode::GetChromeBundleInfo(chrome_bundle_path, 68 EXPECT_TRUE(app_mode::GetChromeBundleInfo(chrome_bundle_path,
91 std::string(), 69 std::string(),
92 &executable_path, 70 &executable_path,
93 &version_path, 71 &version_path,
94 &framework_path)); 72 &framework_path));
95 EXPECT_TRUE(base::PathExists(executable_path)); 73 EXPECT_TRUE(base::PathExists(executable_path));
96 EXPECT_TRUE(base::DirectoryExists(version_path)); 74 EXPECT_TRUE(base::DirectoryExists(version_path));
97 EXPECT_TRUE(base::PathExists(framework_path)); 75 EXPECT_TRUE(base::PathExists(framework_path));
98 } 76 }
99 77
100 TEST(ChromeLocatorTest, MAYBE_GetChromeBundleInfoWithLatestVersion) { 78 TEST(ChromeLocatorTest, GetChromeBundleInfoWithLatestVersion) {
101 base::FilePath chrome_bundle_path; 79 base::FilePath chrome_bundle_path;
102 GetChromeBundlePath(&chrome_bundle_path); 80 GetChromeBundlePath(&chrome_bundle_path);
103 ASSERT_TRUE(base::DirectoryExists(chrome_bundle_path)); 81 ASSERT_TRUE(base::DirectoryExists(chrome_bundle_path));
104 82
105 base::FilePath executable_path; 83 base::FilePath executable_path;
106 base::FilePath version_path; 84 base::FilePath version_path;
107 base::FilePath framework_path; 85 base::FilePath framework_path;
108 EXPECT_TRUE(app_mode::GetChromeBundleInfo(chrome_bundle_path, 86 EXPECT_TRUE(app_mode::GetChromeBundleInfo(chrome_bundle_path,
109 chrome::VersionInfo().Version(), 87 chrome::VersionInfo().Version(),
110 &executable_path, 88 &executable_path,
111 &version_path, 89 &version_path,
112 &framework_path)); 90 &framework_path));
113 EXPECT_TRUE(base::PathExists(executable_path)); 91 EXPECT_TRUE(base::PathExists(executable_path));
114 EXPECT_TRUE(base::DirectoryExists(version_path)); 92 EXPECT_TRUE(base::DirectoryExists(version_path));
115 EXPECT_TRUE(base::PathExists(framework_path)); 93 EXPECT_TRUE(base::PathExists(framework_path));
116 } 94 }
117 95
118 TEST(ChromeLocatorTest, MAYBE_GetChromeBundleInfoWithInvalidVersion) { 96 TEST(ChromeLocatorTest, GetChromeBundleInfoWithInvalidVersion) {
119 base::FilePath chrome_bundle_path; 97 base::FilePath chrome_bundle_path;
120 GetChromeBundlePath(&chrome_bundle_path); 98 GetChromeBundlePath(&chrome_bundle_path);
121 ASSERT_TRUE(base::DirectoryExists(chrome_bundle_path)); 99 ASSERT_TRUE(base::DirectoryExists(chrome_bundle_path));
122 100
123 base::FilePath executable_path; 101 base::FilePath executable_path;
124 base::FilePath version_path; 102 base::FilePath version_path;
125 base::FilePath framework_path; 103 base::FilePath framework_path;
126 // This still passes because it should default to the latest version. 104 // This still passes because it should default to the latest version.
127 EXPECT_TRUE(app_mode::GetChromeBundleInfo(chrome_bundle_path, 105 EXPECT_TRUE(app_mode::GetChromeBundleInfo(chrome_bundle_path,
128 std::string("invalid_version"), 106 std::string("invalid_version"),
129 &executable_path, 107 &executable_path,
130 &version_path, 108 &version_path,
131 &framework_path)); 109 &framework_path));
132 EXPECT_TRUE(base::PathExists(executable_path)); 110 EXPECT_TRUE(base::PathExists(executable_path));
133 EXPECT_TRUE(base::DirectoryExists(version_path)); 111 EXPECT_TRUE(base::DirectoryExists(version_path));
134 EXPECT_TRUE(base::PathExists(framework_path)); 112 EXPECT_TRUE(base::PathExists(framework_path));
135 } 113 }
136 114
137 TEST(ChromeLocatorTest, MAYBE_GetChromeBundleInfoWithPreviousVersion) { 115 TEST(ChromeLocatorTest, GetChromeBundleInfoWithPreviousVersion) {
138 base::FilePath chrome_bundle_path; 116 base::FilePath chrome_bundle_path;
139 GetChromeBundlePath(&chrome_bundle_path); 117 GetChromeBundlePath(&chrome_bundle_path);
140 ASSERT_TRUE(base::DirectoryExists(chrome_bundle_path)); 118 ASSERT_TRUE(base::DirectoryExists(chrome_bundle_path));
141 119
142 // Make a symlink that pretends to be a previous version. 120 // Make a symlink that pretends to be a previous version.
143 base::FilePath fake_version_directory = chrome_bundle_path.Append("Contents") 121 base::FilePath fake_version_directory = chrome_bundle_path.Append("Contents")
144 .Append("Versions") 122 .Append("Versions")
145 .Append("previous_version"); 123 .Append("previous_version");
146 EXPECT_TRUE(base::CreateSymbolicLink( 124 EXPECT_TRUE(base::CreateSymbolicLink(
147 base::FilePath(chrome::VersionInfo().Version()), fake_version_directory)); 125 base::FilePath(chrome::VersionInfo().Version()), fake_version_directory));
148 126
149 base::FilePath executable_path; 127 base::FilePath executable_path;
150 base::FilePath version_path; 128 base::FilePath version_path;
151 base::FilePath framework_path; 129 base::FilePath framework_path;
152 EXPECT_TRUE(app_mode::GetChromeBundleInfo(chrome_bundle_path, 130 EXPECT_TRUE(app_mode::GetChromeBundleInfo(chrome_bundle_path,
153 std::string("previous_version"), 131 std::string("previous_version"),
154 &executable_path, 132 &executable_path,
155 &version_path, 133 &version_path,
156 &framework_path)); 134 &framework_path));
157 EXPECT_TRUE(base::PathExists(executable_path)); 135 EXPECT_TRUE(base::PathExists(executable_path));
158 EXPECT_TRUE(base::DirectoryExists(version_path)); 136 EXPECT_TRUE(base::DirectoryExists(version_path));
159 EXPECT_TRUE(base::PathExists(framework_path)); 137 EXPECT_TRUE(base::PathExists(framework_path));
160 138
161 base::DeleteFile(fake_version_directory, false); 139 base::DeleteFile(fake_version_directory, false);
162 } 140 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698