summaryrefslogtreecommitdiffstats
path: root/chrome/test/mini_installer_test/installer_path_provider.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/test/mini_installer_test/installer_path_provider.h')
-rw-r--r--chrome/test/mini_installer_test/installer_path_provider.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/chrome/test/mini_installer_test/installer_path_provider.h b/chrome/test/mini_installer_test/installer_path_provider.h
new file mode 100644
index 0000000..e7eb60f
--- /dev/null
+++ b/chrome/test/mini_installer_test/installer_path_provider.h
@@ -0,0 +1,50 @@
+// Copyright (c) 2011 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.
+
+#ifndef CHROME_TEST_MINI_INSTALLER_TEST_INSTALLER_PATH_PROVIDER_H_
+#define CHROME_TEST_MINI_INSTALLER_TEST_INSTALLER_PATH_PROVIDER_H_
+#pragma once
+
+#include "base/basictypes.h"
+#include "base/file_path.h"
+
+namespace installer_test {
+
+// Locate and provides path for installers.
+// Search for latest installer binaries in the filer directory defined by
+// mini_installer_constants::kChromeInstallersLocation.
+class InstallerPathProvider {
+ public:
+ // Search for latest installer binaries in filer.
+ InstallerPathProvider();
+
+ explicit InstallerPathProvider(const std::string& build_under_test);
+ ~InstallerPathProvider();
+
+ bool GetFullInstaller(FilePath* path);
+ bool GetDiffInstaller(FilePath* path);
+ bool GetMiniInstaller(FilePath* path);
+ bool GetPreviousInstaller(FilePath* path);
+ bool GetStandaloneInstaller(FilePath* path);
+ bool GetSignedStandaloneInstaller(FilePath* path);
+
+ std::string GetCurrentBuild();
+ std::string GetPreviousBuild();
+
+ private:
+ // Returns the local file path for the given file |name|.
+ // Assumes file is located in the current working directory.
+ FilePath PathFromExeDir(const FilePath::StringType& name);
+
+ bool GetInstaller(const std::string& pattern, FilePath* path);
+
+ // Build numbers.
+ std::string current_build_, previous_build_;
+
+ DISALLOW_COPY_AND_ASSIGN(InstallerPathProvider);
+};
+
+} // namespace
+
+#endif // CHROME_TEST_MINI_INSTALLER_TEST_INSTALLER_PATH_PROVIDER_H_