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

Unified Diff: chrome/installer/util/helper_unittest.cc

Issue 6288009: More installer refactoring in the interest of fixing some bugs and cleaning t... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/installer/util/helper.cc ('k') | chrome/installer/util/install_util.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/installer/util/helper_unittest.cc
===================================================================
--- chrome/installer/util/helper_unittest.cc (revision 72487)
+++ chrome/installer/util/helper_unittest.cc (working copy)
@@ -1,204 +0,0 @@
-// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include <windows.h>
-
-#include <fstream>
-
-#include "base/base_paths.h"
-#include "base/file_util.h"
-#include "base/path_service.h"
-#include "base/process_util.h"
-#include "base/string_util.h"
-#include "base/version.h"
-#include "chrome/installer/util/helper.h"
-#include "chrome/installer/util/package.h"
-#include "chrome/installer/util/package_properties.h"
-#include "chrome/installer/util/work_item.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-using installer::ChromePackageProperties;
-using installer::Package;
-
-namespace {
- class SetupHelperTest : public testing::Test {
- protected:
- virtual void SetUp() {
- // Name a subdirectory of the user temp directory.
- ASSERT_TRUE(PathService::Get(base::DIR_TEMP, &test_dir_));
- test_dir_ = test_dir_.AppendASCII("SetupHelperTest");
-
- // Create a fresh, empty copy of this test directory.
- file_util::Delete(test_dir_, true);
- file_util::CreateDirectoryW(test_dir_);
- ASSERT_TRUE(file_util::PathExists(test_dir_));
- }
-
- virtual void TearDown() {
- logging::CloseLogFile();
- // Clean up test directory
- ASSERT_TRUE(file_util::Delete(test_dir_, true));
- ASSERT_FALSE(file_util::PathExists(test_dir_));
- }
-
- // the path to temporary directory used to contain the test operations
- FilePath test_dir_;
- };
-
- // Simple function to dump some text into a new file.
- void CreateTextFile(const std::wstring& filename,
- const std::wstring& contents) {
- std::ofstream file;
- file.open(filename.c_str());
- ASSERT_TRUE(file.is_open());
- file << contents;
- file.close();
- }
-
- wchar_t text_content_1[] = L"delete me";
- wchar_t text_content_2[] = L"delete me as well";
-};
-
-// Delete version directories. Everything lower than the given version
-// should be deleted.
-TEST_F(SetupHelperTest, Delete) {
- // Create a Chrome dir
- FilePath chrome_dir(test_dir_);
- chrome_dir = chrome_dir.AppendASCII("chrome");
- file_util::CreateDirectory(chrome_dir);
- ASSERT_TRUE(file_util::PathExists(chrome_dir));
-
- FilePath chrome_dir_1(chrome_dir);
- chrome_dir_1 = chrome_dir_1.AppendASCII("1.0.1.0");
- file_util::CreateDirectory(chrome_dir_1);
- ASSERT_TRUE(file_util::PathExists(chrome_dir_1));
-
- FilePath chrome_dir_2(chrome_dir);
- chrome_dir_2 = chrome_dir_2.AppendASCII("1.0.2.0");
- file_util::CreateDirectory(chrome_dir_2);
- ASSERT_TRUE(file_util::PathExists(chrome_dir_2));
-
- FilePath chrome_dir_3(chrome_dir);
- chrome_dir_3 = chrome_dir_3.AppendASCII("1.0.3.0");
- file_util::CreateDirectory(chrome_dir_3);
- ASSERT_TRUE(file_util::PathExists(chrome_dir_3));
-
- FilePath chrome_dir_4(chrome_dir);
- chrome_dir_4 = chrome_dir_4.AppendASCII("1.0.4.0");
- file_util::CreateDirectory(chrome_dir_4);
- ASSERT_TRUE(file_util::PathExists(chrome_dir_4));
-
- FilePath chrome_dll_1(chrome_dir_1);
- chrome_dll_1 = chrome_dll_1.AppendASCII("chrome.dll");
- CreateTextFile(chrome_dll_1.value(), text_content_1);
- ASSERT_TRUE(file_util::PathExists(chrome_dll_1));
-
- FilePath chrome_dll_2(chrome_dir_2);
- chrome_dll_2 = chrome_dll_2.AppendASCII("chrome.dll");
- CreateTextFile(chrome_dll_2.value(), text_content_1);
- ASSERT_TRUE(file_util::PathExists(chrome_dll_2));
-
- FilePath chrome_dll_3(chrome_dir_3);
- chrome_dll_3 = chrome_dll_3.AppendASCII("chrome.dll");
- CreateTextFile(chrome_dll_3.value(), text_content_1);
- ASSERT_TRUE(file_util::PathExists(chrome_dll_3));
-
- FilePath chrome_dll_4(chrome_dir_4);
- chrome_dll_4 = chrome_dll_4.AppendASCII("chrome.dll");
- CreateTextFile(chrome_dll_4.value(), text_content_1);
- ASSERT_TRUE(file_util::PathExists(chrome_dll_4));
-
- scoped_ptr<Version> latest_version(Version::GetVersionFromString("1.0.4.0"));
- ChromePackageProperties properties;
- scoped_refptr<Package> package(new Package(false, true, chrome_dir,
- &properties));
- package->RemoveOldVersionDirectories(*latest_version.get());
-
- // old versions should be gone
- EXPECT_FALSE(file_util::PathExists(chrome_dir_1));
- EXPECT_FALSE(file_util::PathExists(chrome_dir_2));
- EXPECT_FALSE(file_util::PathExists(chrome_dir_3));
- // the latest version should stay
- EXPECT_TRUE(file_util::PathExists(chrome_dll_4));
-}
-
-// Delete older version directories, keeping the one in used intact.
-TEST_F(SetupHelperTest, DeleteInUsed) {
- // Create a Chrome dir
- FilePath chrome_dir(test_dir_);
- chrome_dir = chrome_dir.AppendASCII("chrome");
- file_util::CreateDirectory(chrome_dir);
- ASSERT_TRUE(file_util::PathExists(chrome_dir));
-
- FilePath chrome_dir_1(chrome_dir);
- chrome_dir_1 = chrome_dir_1.AppendASCII("1.0.1.0");
- file_util::CreateDirectory(chrome_dir_1);
- ASSERT_TRUE(file_util::PathExists(chrome_dir_1));
-
- FilePath chrome_dir_2(chrome_dir);
- chrome_dir_2 = chrome_dir_2.AppendASCII("1.0.2.0");
- file_util::CreateDirectory(chrome_dir_2);
- ASSERT_TRUE(file_util::PathExists(chrome_dir_2));
-
- FilePath chrome_dir_3(chrome_dir);
- chrome_dir_3 = chrome_dir_3.AppendASCII("1.0.3.0");
- file_util::CreateDirectory(chrome_dir_3);
- ASSERT_TRUE(file_util::PathExists(chrome_dir_3));
-
- FilePath chrome_dir_4(chrome_dir);
- chrome_dir_4 = chrome_dir_4.AppendASCII("1.0.4.0");
- file_util::CreateDirectory(chrome_dir_4);
- ASSERT_TRUE(file_util::PathExists(chrome_dir_4));
-
- FilePath chrome_dll_1(chrome_dir_1);
- chrome_dll_1 = chrome_dll_1.AppendASCII("chrome.dll");
- CreateTextFile(chrome_dll_1.value(), text_content_1);
- ASSERT_TRUE(file_util::PathExists(chrome_dll_1));
-
- FilePath chrome_dll_2(chrome_dir_2);
- chrome_dll_2 = chrome_dll_2.AppendASCII("chrome.dll");
- CreateTextFile(chrome_dll_2.value(), text_content_1);
- ASSERT_TRUE(file_util::PathExists(chrome_dll_2));
-
- // Open the file to make it in use.
- std::ofstream file;
- file.open(chrome_dll_2.value().c_str());
-
- FilePath chrome_othera_2(chrome_dir_2);
- chrome_othera_2 = chrome_othera_2.AppendASCII("othera.dll");
- CreateTextFile(chrome_othera_2.value(), text_content_2);
- ASSERT_TRUE(file_util::PathExists(chrome_othera_2));
-
- FilePath chrome_otherb_2(chrome_dir_2);
- chrome_otherb_2 = chrome_otherb_2.AppendASCII("otherb.dll");
- CreateTextFile(chrome_otherb_2.value(), text_content_2);
- ASSERT_TRUE(file_util::PathExists(chrome_otherb_2));
-
- FilePath chrome_dll_3(chrome_dir_3);
- chrome_dll_3 = chrome_dll_3.AppendASCII("chrome.dll");
- CreateTextFile(chrome_dll_3.value(), text_content_1);
- ASSERT_TRUE(file_util::PathExists(chrome_dll_3));
-
- FilePath chrome_dll_4(chrome_dir_4);
- chrome_dll_4 = chrome_dll_4.AppendASCII("chrome.dll");
- CreateTextFile(chrome_dll_4.value(), text_content_1);
- ASSERT_TRUE(file_util::PathExists(chrome_dll_4));
-
- scoped_ptr<Version> latest_version(Version::GetVersionFromString("1.0.4.0"));
- ChromePackageProperties properties;
- scoped_refptr<Package> install_path(new Package(false, true, chrome_dir,
- &properties));
- install_path->RemoveOldVersionDirectories(*latest_version.get());
-
- // old versions not in used should be gone
- EXPECT_FALSE(file_util::PathExists(chrome_dir_1));
- EXPECT_FALSE(file_util::PathExists(chrome_dir_3));
- // every thing under in used version should stay
- EXPECT_TRUE(file_util::PathExists(chrome_dir_2));
- EXPECT_TRUE(file_util::PathExists(chrome_dll_2));
- EXPECT_TRUE(file_util::PathExists(chrome_othera_2));
- EXPECT_TRUE(file_util::PathExists(chrome_otherb_2));
- // the latest version should stay
- EXPECT_TRUE(file_util::PathExists(chrome_dll_4));
-}
« no previous file with comments | « chrome/installer/util/helper.cc ('k') | chrome/installer/util/install_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698