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

Unified Diff: src/platform/update_engine/download_action_unittest.cc

Issue 466036: AU: Beginnings of delta support (Closed)
Patch Set: Created 11 years 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 | « src/platform/update_engine/download_action.cc ('k') | src/platform/update_engine/file_writer.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/platform/update_engine/download_action_unittest.cc
diff --git a/src/platform/update_engine/download_action_unittest.cc b/src/platform/update_engine/download_action_unittest.cc
index 3dfc0058277c3d98fe9b3a06d91bfcd39505c48d..4276dc9d1d3b85987dfa111a16c1a65e58c830c6 100644
--- a/src/platform/update_engine/download_action_unittest.cc
+++ b/src/platform/update_engine/download_action_unittest.cc
@@ -11,6 +11,7 @@
#include "update_engine/mock_http_fetcher.h"
#include "update_engine/omaha_hash_calculator.h"
#include "update_engine/test_utils.h"
+#include "update_engine/utils.h"
namespace chromeos_update_engine {
@@ -30,7 +31,8 @@ class DownloadActionTestProcessorDelegate : public ActionProcessorDelegate {
virtual void ProcessingDone(const ActionProcessor* processor) {
ASSERT_TRUE(loop_);
g_main_loop_quit(loop_);
- vector<char> found_data = ReadFile(path_);
+ vector<char> found_data;
+ ASSERT_TRUE(utils::ReadFile(path_, &found_data));
ASSERT_EQ(expected_data_.size(), found_data.size());
for (unsigned i = 0; i < expected_data_.size(); i++) {
EXPECT_EQ(expected_data_[i], found_data[i]);
@@ -38,8 +40,8 @@ class DownloadActionTestProcessorDelegate : public ActionProcessorDelegate {
processing_done_called_ = true;
}
- virtual void ActionCompleted(const ActionProcessor* processor,
- const AbstractAction* action,
+ virtual void ActionCompleted(ActionProcessor* processor,
+ AbstractAction* action,
bool success) {
// make sure actions always succeed
EXPECT_TRUE(success);
@@ -76,16 +78,22 @@ void TestWithData(const vector<char>& data, bool compress) {
// TODO(adlr): see if we need a different file for build bots
const string path("/tmp/DownloadActionTest");
// takes ownership of passed in HttpFetcher
- DownloadAction download_action("", path, 0,
- OmahaHashCalculator::OmahaHashOfData(use_data),
- compress, new MockHttpFetcher(&use_data[0],
- use_data.size()));
+ InstallPlan install_plan(compress, "",
+ OmahaHashCalculator::OmahaHashOfData(use_data),
+ compress ? "" : path, compress ? path : "");
+ ObjectFeederAction<InstallPlan> feeder_action;
+ feeder_action.set_obj(install_plan);
+ DownloadAction download_action(new MockHttpFetcher(&use_data[0],
+ use_data.size()));
+ BondActions(&feeder_action, &download_action);
+
DownloadActionTestProcessorDelegate delegate;
delegate.loop_ = loop;
delegate.expected_data_ = data;
delegate.path_ = path;
ActionProcessor processor;
processor.set_delegate(&delegate);
+ processor.EnqueueAction(&feeder_action);
processor.EnqueueAction(&download_action);
g_timeout_add(0, &StartProcessorInRunLoop, &processor);
@@ -148,13 +156,17 @@ TEST(DownloadActionTest, TerminateEarlyTest) {
const string path("/tmp/DownloadActionTest");
{
// takes ownership of passed in HttpFetcher
- DownloadAction download_action("", path, 0, "", false,
- new MockHttpFetcher(&data[0], data.size()));
+ ObjectFeederAction<InstallPlan> feeder_action;
+ InstallPlan install_plan(false, "", "", path, "");
+ feeder_action.set_obj(install_plan);
+ DownloadAction download_action(new MockHttpFetcher(&data[0], data.size()));
TerminateEarlyTestProcessorDelegate delegate;
delegate.loop_ = loop;
ActionProcessor processor;
processor.set_delegate(&delegate);
+ processor.EnqueueAction(&feeder_action);
processor.EnqueueAction(&download_action);
+ BondActions(&feeder_action, &download_action);
g_timeout_add(0, &TerminateEarlyTestStarter, &processor);
g_main_loop_run(loop);
@@ -172,27 +184,27 @@ class DownloadActionTestAction;
template<>
class ActionTraits<DownloadActionTestAction> {
public:
- typedef string OutputObjectType;
- typedef string InputObjectType;
+ typedef InstallPlan OutputObjectType;
+ typedef InstallPlan InputObjectType;
};
// This is a simple Action class for testing.
struct DownloadActionTestAction : public Action<DownloadActionTestAction> {
DownloadActionTestAction() : did_run_(false) {}
- typedef string InputObjectType;
- typedef string OutputObjectType;
- ActionPipe<string>* in_pipe() { return in_pipe_.get(); }
- ActionPipe<string>* out_pipe() { return out_pipe_.get(); }
+ typedef InstallPlan InputObjectType;
+ typedef InstallPlan OutputObjectType;
+ ActionPipe<InstallPlan>* in_pipe() { return in_pipe_.get(); }
+ ActionPipe<InstallPlan>* out_pipe() { return out_pipe_.get(); }
ActionProcessor* processor() { return processor_; }
void PerformAction() {
did_run_ = true;
ASSERT_TRUE(HasInputObject());
- EXPECT_EQ(expected_input_object_, GetInputObject());
+ EXPECT_TRUE(expected_input_object_ == GetInputObject());
ASSERT_TRUE(processor());
processor()->ActionComplete(this, true);
}
string Type() const { return "DownloadActionTestAction"; }
- string expected_input_object_;
+ InstallPlan expected_input_object_;
bool did_run_;
};
@@ -222,18 +234,23 @@ TEST(DownloadActionTest, PassObjectOutTest) {
const string path("/tmp/DownloadActionTest");
// takes ownership of passed in HttpFetcher
- DownloadAction download_action("", path, 0,
- OmahaHashCalculator::OmahaHashOfString("x"),
- false, new MockHttpFetcher("x", 1));
+ InstallPlan install_plan(false, "",
+ OmahaHashCalculator::OmahaHashOfString("x"), path,
+ "");
+ ObjectFeederAction<InstallPlan> feeder_action;
+ feeder_action.set_obj(install_plan);
+ DownloadAction download_action(new MockHttpFetcher("x", 1));
DownloadActionTestAction test_action;
- test_action.expected_input_object_ = path;
+ test_action.expected_input_object_ = install_plan;
+ BondActions(&feeder_action, &download_action);
BondActions(&download_action, &test_action);
ActionProcessor processor;
PassObjectOutTestProcessorDelegate delegate;
delegate.loop_ = loop;
processor.set_delegate(&delegate);
+ processor.EnqueueAction(&feeder_action);
processor.EnqueueAction(&download_action);
processor.EnqueueAction(&test_action);
@@ -250,10 +267,14 @@ TEST(DownloadActionTest, BadOutFileTest) {
const string path("/fake/path/that/cant/be/created/because/of/missing/dirs");
// takes ownership of passed in HttpFetcher
- DownloadAction download_action("", path, 0, "", false,
- new MockHttpFetcher("x", 1));
+ InstallPlan install_plan(false, "", "", path, "");
+ ObjectFeederAction<InstallPlan> feeder_action;
+ feeder_action.set_obj(install_plan);
+ DownloadAction download_action(new MockHttpFetcher("x", 1));
+ BondActions(&feeder_action, &download_action);
ActionProcessor processor;
+ processor.EnqueueAction(&feeder_action);
processor.EnqueueAction(&download_action);
processor.StartProcessing();
ASSERT_FALSE(processor.IsRunning());
« no previous file with comments | « src/platform/update_engine/download_action.cc ('k') | src/platform/update_engine/file_writer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698