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

Side by Side Diff: src/platform/update_engine/test_utils.h

Issue 1718001: AU: Class to perform delta updates. (Closed)
Patch Set: fixes for review Created 10 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
OLDNEW
1 // Copyright (c) 2009 The Chromium OS Authors. All rights reserved. 1 // Copyright (c) 2009 The Chromium OS 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 #ifndef CHROMEOS_PLATFORM_UPDATE_ENGINE_TEST_UTILS_H__ 5 #ifndef CHROMEOS_PLATFORM_UPDATE_ENGINE_TEST_UTILS_H__
6 #define CHROMEOS_PLATFORM_UPDATE_ENGINE_TEST_UTILS_H__ 6 #define CHROMEOS_PLATFORM_UPDATE_ENGINE_TEST_UTILS_H__
7 7
8 #include <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
11 #include <gtest/gtest.h> 11 #include <gtest/gtest.h>
12 #include "update_engine/action.h" 12 #include "update_engine/action.h"
13 #include "update_engine/subprocess.h"
13 14
14 // These are some handy functions for unittests. 15 // These are some handy functions for unittests.
15 16
16 namespace chromeos_update_engine { 17 namespace chromeos_update_engine {
17 18
18 // Writes the data passed to path. The file at path will be overwritten if it 19 // Writes the data passed to path. The file at path will be overwritten if it
19 // exists. Returns true on success, false otherwise. 20 // exists. Returns true on success, false otherwise.
20 bool WriteFileVector(const std::string& path, const std::vector<char>& data); 21 bool WriteFileVector(const std::string& path, const std::vector<char>& data);
21 bool WriteFileString(const std::string& path, const std::string& data); 22 bool WriteFileString(const std::string& path, const std::string& data);
22 23
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 void CreateExtImageAtPath(const std::string& path, 99 void CreateExtImageAtPath(const std::string& path,
99 std::vector<std::string>* out_paths); 100 std::vector<std::string>* out_paths);
100 101
101 // Verifies that for each path in paths, it exists in the filesystem under 102 // Verifies that for each path in paths, it exists in the filesystem under
102 // parent. Also, verifies that no additional paths are present under parent. 103 // parent. Also, verifies that no additional paths are present under parent.
103 // Also tests properties of various files created by CreateExtImageAtPath(). 104 // Also tests properties of various files created by CreateExtImageAtPath().
104 // Intentionally copies expected_paths. 105 // Intentionally copies expected_paths.
105 void VerifyAllPaths(const std::string& parent, 106 void VerifyAllPaths(const std::string& parent,
106 std::set<std::string> expected_paths); 107 std::set<std::string> expected_paths);
107 108
109 class ScopedLoopbackDeviceReleaser {
110 public:
111 explicit ScopedLoopbackDeviceReleaser(const std::string& dev) : dev_(dev) {}
112 ~ScopedLoopbackDeviceReleaser() {
113 std::vector<std::string> args;
114 args.push_back("/sbin/losetup");
115 args.push_back("-d");
116 args.push_back(dev_);
117 int return_code = 0;
118 EXPECT_TRUE(Subprocess::SynchronousExec(args, &return_code));
119 EXPECT_EQ(0, return_code);
120 }
121 private:
122 const std::string dev_;
Daniel Erat 2010/04/23 17:47:25 add DISALLOW_COPY_AND_ASSIGN (especially for RAII-
adlr 2010/04/23 20:50:17 Done.
123 };
124
108 // Useful actions for test 125 // Useful actions for test
109 126
110 class NoneType; 127 class NoneType;
111 128
112 template<typename T> 129 template<typename T>
113 class ObjectFeederAction; 130 class ObjectFeederAction;
114 131
115 template<typename T> 132 template<typename T>
116 class ActionTraits<ObjectFeederAction<T> > { 133 class ActionTraits<ObjectFeederAction<T> > {
117 public: 134 public:
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 static std::string StaticType() { return "ObjectCollectorAction"; } 188 static std::string StaticType() { return "ObjectCollectorAction"; }
172 std::string Type() const { return StaticType(); } 189 std::string Type() const { return StaticType(); }
173 const T& object() const { return object_; } 190 const T& object() const { return object_; }
174 private: 191 private:
175 T object_; 192 T object_;
176 }; 193 };
177 194
178 } // namespace chromeos_update_engine 195 } // namespace chromeos_update_engine
179 196
180 #endif // CHROMEOS_PLATFORM_UPDATE_ENGINE_TEST_UTILS_H__ 197 #endif // CHROMEOS_PLATFORM_UPDATE_ENGINE_TEST_UTILS_H__
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698