summaryrefslogtreecommitdiff
path: root/payload_generator/extent_ranges_unittest.cc
AgeCommit message (Collapse)Author
2020-10-11update engine: clang formattingVyshu
Fix clang formatting issues for all .cc, .h, and .proto files in update engine. ~/trunk/src/chromium/src/buildtools/linux64/clang-format -i \ -style=file $(find update_engine -name '*.h' -o -name '*.cc' \ -o -name '*.cpp' -o -name '*.c') BUG=b:169679497 TEST=CQ pass Change-Id: I4fde01d3e734dbffaa2c7e7b667503d310abccae Reviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/2462840 Reviewed-by: Amin Hassani <ahassani@chromium.org> Reviewed-by: Jae Hoon Kim <kimjae@chromium.org> Tested-by: Vyshu Khota <vyshu@google.com> Commit-Queue: Vyshu Khota <vyshu@google.com>
2020-04-04update_engine: changes for libchrome r680000 uprevhscham
Changes applied include: Replace arraysize by base::size. Replace base::MessageLoop::current()->task_runner by base::ThreadTaskRunnerHandle::Get, and base::MessageLoopForIO::current by base::MessageLoopCurrent::IsSet. Remove use of base::ContainsKey. Replace base::Int{,64}ToString by base::NumberTostring. The changes are all compatible with current libchrome r576279. BUG=chromium:1054279 TEST=unittest Change-Id: Ibb6027a5070e0e2d4554a6684350168542fedf5e Reviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/2065691 Reviewed-by: Amin Hassani <ahassani@chromium.org> Tested-by: Qijiang Fan <fqj@google.com> Commit-Queue: Qijiang Fan <fqj@google.com>
2019-01-16update_engine: Run clang-format on payload_generator/Amin Hassani
BUG=none TEST=unittest Change-Id: I00cafb1fc709d8f02119cb0058cfcb0b573ef25d Reviewed-on: https://chromium-review.googlesource.com/1409927 Commit-Ready: Amin Hassani <ahassani@chromium.org> Tested-by: Amin Hassani <ahassani@chromium.org> Reviewed-by: Sen Jiang <senj@chromium.org>
2018-04-04Correct some spellings.Sen Jiang
Test: mma Change-Id: Icc49a4ee76f12d302ed18982d334f2f70b7263a8
2016-02-17Build unittests in Brillo.Alex Deymo
Many unittests do not pass for simple reasons that will be addressed later. This CL includes all the changes to make the unittests build. In particular, the generated DBus mocks, required to build several unittests are now included here. The dbus-constants.h files were moved to the system_api repo, so they can be removed from here. The unittest build is only enabled for Brillo targets, since non-Brillo targets don't even build DBus. Bug: 26955860 TEST=`mmma` on edison-eng (and aosp_arm-eng). Change-Id: Ib38241f0a6eb99b1d60d72db6bcfd125d38e3fad
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
2015-07-16update_engine: Handle moved and zero blocks in payload generation.Alex Deymo
Delta generation uses only the file name to detect when files changed. Therefore, renaming a file doesn't get detected and the new name is assumed to be a new file. On the other hand, free-space blocks are often just zeros so they can be easilly encoded independently from the rest. This patch detects blocks that moved and blocks with zeros and handles those blocks beforehand regardless of where are they in the filesystem (file data, metadata, free space, etc). For blocks that moved, SOURCE_COPY or MOVE operations are created as needed. For blocks with zeros we use REPLACE_BZ operations. Blocks processed in this way will be excluded from other files, metadata or free space processing done. This solves perfomance issues when trying to process with bsdiff files with very long runs of zeros. CQ-DEPEND=CL:283643 BUG=chromium:504445 TEST=Unittest added. Run delta_generator between cid canary 7195 and 7201 and it doesn't take forever to finish. Change-Id: I892fe7456608e83a2946133da335eb4fbd19a645 Reviewed-on: https://chromium-review.googlesource.com/283172 Commit-Queue: Alex Deymo <deymo@chromium.org> Trybot-Ready: Alex Deymo <deymo@chromium.org> Tested-by: Alex Deymo <deymo@chromium.org> Reviewed-by: Alex Deymo <deymo@chromium.org> Reviewed-by: Gilad Arnold <garnold@chromium.org>
2015-06-12update_engine: Remove unused IsIdempotentOperation().Alex Deymo
All the minor-version=2 are idempotent, so since we switched to minor version 2, this function becomes trivial now. This patch removes this function from the code and moves the ExtentRanges class to the payload_generator/ directory since now it is only used there. BUG=None TEST=Unittest still pass. Change-Id: Ib9dbbdded0ca2ef2128bb6c470de7a00720c4038 Reviewed-on: https://chromium-review.googlesource.com/275806 Reviewed-by: Alex Deymo <deymo@chromium.org> Tested-by: Alex Deymo <deymo@chromium.org> Commit-Queue: Alex Deymo <deymo@chromium.org>