summaryrefslogtreecommitdiff
path: root/action_processor_unittest.cc
AgeCommit message (Collapse)Author
2015-11-12Split payload application code into a subdirectory.Alex Deymo
This patch splits from the main libupdate_engine code the part that is strictly used to download and apply a payload into a new static library, moving the code to subdirectories. The new library is divided in two subdirectories: common/ and payload_consumer/, and should not depend on other update_engine files outside those two subdirectories. The main difference between those two is that the common/ tools are more generic and not tied to the payload consumer process, but otherwise they are both compiled together. There are still dependencies from the new libpayload_consumer library into the main directory files and DBus generated files. Those will be addressed in follow up CLs. Bug: 25197634 Test: FEATURES=test emerge-link update_engine; `mm` on Brillo. Change-Id: Id8d0204ea573627e6e26ca9ea17b9592ca95bc23
2015-08-19Re-license update_engine to Apache2Alex Deymo
This patch automatically replaced the license on all text files from Chromium OS (BSD style) to AOSP (Apache2), keeping the original year as a reference. The license header was added to .gyp and .gypi files, the NOTICE was replaced with a copy of the Apache2 license and MODULE_LICENSE_* file was updated. BUG=b/23084294 TEST=grep 'Chromium OS Authors' doesn't find anything. Change-Id: Ie5083750755f5180a8a785b24fe67dbf9195cd10
2014-11-12Include the implemented header first in all projects.Alex Deymo
The Google C++ style guide dictates that foo.cc and foo_unittest.cc should include foo.h in the first place, so missing headers in foo.h are detected with a compile error of the module implementing them and not when another module uses them. This CL sweeps across all the .cc file in platform2 enforcing this. BUG=None TEST=cbuildbot amd64-generic Change-Id: I41835835caba13f54c3c844ecf552eb0e47efa9d Reviewed-on: https://chromium-review.googlesource.com/228894 Tested-by: Alex Deymo <deymo@chromium.org> Reviewed-by: Alex Deymo <deymo@chromium.org> Commit-Queue: Alex Vakulenko <avakulenko@chromium.org>
2014-09-01update_engine: Replace NULL with nullptrAlex Vakulenko
Replaced the usage of NULL with nullptr. This also makes it possible to use standard gtest macros to compare pointers in Update Manager's unit tests. So, there is no need in custom UMTEST_... macros which are replaced with the gtest macros (see change in update_engine/update_manager/umtest_utils.h): UMTEST_ASSERT_NULL(p) => ASSERT_EQ(nullptr, p) UMTEST_ASSERT_NOT_NULL(p) => ASSERT_NE(nullptr, p) UMTEST_EXPECT_NULL(p) => EXPECT_EQ(nullptr, p) UMTEST_EXPECT_NOT_NULL(p) => EXPECT_NE(nullptr, p) BUG=None TEST=FEATURES=test emerge-link update_engine USE="clang asan" FEATURES=test emerge-link update_engine Change-Id: I77a42a1e9ce992bb2f9f263db5cf75fe6110a4ec Reviewed-on: https://chromium-review.googlesource.com/215136 Tested-by: Alex Vakulenko <avakulenko@chromium.org> Reviewed-by: Alex Deymo <deymo@chromium.org> Commit-Queue: Alex Vakulenko <avakulenko@chromium.org>
2014-06-18update_engine: fixed warnings from cpplintAlex Vakulenko
Fixed all the cpplint warnings in update engine. BUG=None TEST=Unit tests still pass. Change-Id: I285ae858eec8abe0b26ff203b99a42a200ceb71c Reviewed-on: https://chromium-review.googlesource.com/204027 Reviewed-by: Alex Vakulenko <avakulenko@chromium.org> Tested-by: Alex Vakulenko <avakulenko@chromium.org> Commit-Queue: Alex Vakulenko <avakulenko@chromium.org>
2014-06-13Change ErrorCode into an enum class.Gilad Arnold
This change is needed in order for us to be able to import ErrorCode symbols from chromeos_update_engine into chromeos_update_manager. Unfortunately, shifting from plain 'enum' into an 'enum class' means that the compiler treats the new class as a distinct type from int, which in turn means that plenty of seamless arithmetic/bitwise operations we used for manipulating error code values throughout the code needed to be retrofitted with static_cast operators. In the future, we should consider imposing a proper abstraction on update engine error codes that'll prevent mingling with value encoding directly and prevent such nastiness. It'll also make things more coherent (types, semantics) and safer. BUG=chromium:358329 TEST=Unit tests. Change-Id: Ie55fa566b764cdab6c4785d995fb6daee4cb32d3 Reviewed-on: https://chromium-review.googlesource.com/203209 Tested-by: Gilad Arnold <garnold@chromium.org> Reviewed-by: Alex Deymo <deymo@chromium.org> Commit-Queue: Gilad Arnold <garnold@chromium.org>
2013-04-30Rename ActionExitCode to ErrorCodeDavid Zeuthen
Nowadays ActionExitCode is used throughout the codebase so use a more generic name to reflect this. BUG=chromium:216507 TEST=unit tests pass Change-Id: I23d1d7e2676443251dbc42ed137fd018aadfa8a3 Reviewed-on: https://gerrit.chromium.org/gerrit/49512 Reviewed-by: Don Garrett <dgarrett@chromium.org> Commit-Queue: David Zeuthen <zeuthen@chromium.org> Tested-by: David Zeuthen <zeuthen@chromium.org>
2013-04-09Fix the confict of declaration and definition between struct and classYunlian Jiang
This fixes the error when compiling with clang syntax checking The error message was: /update_engine/test_utils.h:188:1: error: 'ObjectFeederAction' defined as a struct template here but previously declared as a class template [-Werror,-Wmismatched-tags] BUG=chromium:218781 TEST=USE="chrome_internal" CXXFLAGS="-clang -print-cmdline" CFLAGS="-clang -print-cmdline" emerge-x86-alex update_engine Change-Id: Ieac9981c84c4e5779cbf876650f21a5d1b2acd72 Reviewed-on: https://gerrit.chromium.org/gerrit/47476 Reviewed-by: Jay Srinivasan <jaysri@chromium.org> Tested-by: Yunlian Jiang <yunlian@chromium.org> Commit-Queue: Yunlian Jiang <yunlian@chromium.org>
2010-07-19For actions, switch bool success into an exit code.Darin Petkov
This way we can signal specific error conditions and then send appropriate events to Omaha from the UpdateAttempter. BUG=560 TEST=unit tests, gmerged and looked at logs Review URL: http://codereview.chromium.org/3022008
2010-07-15AU: Changes for deltas on traditional bios machines.Andrew de los Reyes
BUG=None TEST=Attached unittests/tested on image - Fix uninitialized variable err in action processor unittest - Let Omaha dictate if an update is a delta or full update - Bug fix in delta generator for differently-sized images - More logging when applying delta updates - Fix infinite loop in http fetcher unittest - log each HTTP connection to know when a dropped connection is reestablished. - Detect when speed goes below a threshold and reestablish HTTP connection (currently < 10bytes/sec for 90 contiguous seconds). - Fix stack overflow in libcurl http fetcher. - optimize out a lot of needless CPU usage in libcurl http fetcher (turns out adding a glib main loop source uses a lot of CPU). - subprocess: pass PATH, log stdout/stderr - postinstall runner: support for ext3 and ext4 target filesystems. Review URL: http://codereview.chromium.org/2805027
2009-12-10AU: Try delta updates first, then full updatesAndrew de los Reyes
Also, some bug fixes. Review URL: http://codereview.chromium.org/492008
2009-12-04AU: Beginnings of delta supportadlr@google.com
- proto file for delta files; still needs hardlink support - code to generate a delta update from two directory trees (old, new). - code to parse delta update - Actions: postinst-runner, install, bootable flag setter, filesystem copier, Omaha response handler, Omaha request preparer, - misc utility functions, like StringHasSuffix(), templatized Action classes to feed/collect an object from another action. - FilesystemIterator: iterates a directory tree with optional exclusion path. Tolerates deleting of files during iteration. - Subprocess class: support for synchronously or asynchronously running an external command. Doesn't pass any env variables. - Integration test that strings many Actions together and tests using actual Omaha/Lorry. Currently only tests full updates. - New simple HTTP server for unittest that supports fake flaky connections. - Some refactoring. Review URL: http://codereview.chromium.org/466036 git-svn-id: svn://chrome-svn/chromeos/trunk@334 06c00378-0e64-4dae-be16-12b19f9950a1
2009-10-10Almost there...rspangler@google.com
git-svn-id: svn://chrome-svn/chromeos/trunk@24 06c00378-0e64-4dae-be16-12b19f9950a1