aboutsummaryrefslogtreecommitdiff
path: root/image_utils_unittest.cc
AgeCommit message (Collapse)Author
2021-07-25Remove/replace unnecessary logging.h includes in .cc files (components)Hans Wennborg
CHECK, CHECK_EQ etc., and NOTREACHED/NOTIMPLEMENTED have moved to the much smaller headers check.h, check_op.h, and notreached.h, respectively. This CL updates .cc files to use those headers instead when possible, with the purpose of saving compile time. (Split out from https://crrev.com/c/2164525 which also has notes on how the change was generated.) Bug: 1031540 Change-Id: I1c0c8450be6320577ebebe39a2cb1abc692fe8b0 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2164613 Commit-Queue: Hans Wennborg <hans@chromium.org> Auto-Submit: Hans Wennborg <hans@chromium.org> Reviewed-by: Ted Choc <tedchoc@chromium.org> Reviewed-by: Mike West <mkwst@chromium.org> Cr-Commit-Position: refs/heads/master@{#763287} NOKEYCHECK=True GitOrigin-RevId: df87046cb8ae4dbd62cda6e56d317016a6fa02c7
2021-07-23[Zucchini] Introduce Imposed Ensemble Matcher.Samuel Huang
Previously Zucchini-gen uses built-in heuristics to perform element matching for ensemble patch generation. This CL adds an option (accessible via the -impose parameter) to specify elements in "old" and "new", and how they match. This allows the default heuristics to be overridden, and enables external applications (who perhaps have better ideas of element matching, e.g., have access to archiving programs) to better use Zucchini to patch archives. Zucchini-match is updated to prints the -impose command line to repeat its results. Also, ElementMatch::ToString() is added. Change-Id: I541b64722904c2fcd19ed75246d87e0268fbf86c Reviewed-on: https://chromium-review.googlesource.com/1027191 Reviewed-by: Samuel Huang <huangs@chromium.org> Reviewed-by: Greg Thompson <grt@chromium.org> Commit-Queue: Samuel Huang <huangs@chromium.org> Cr-Commit-Position: refs/heads/master@{#554909} NOKEYCHECK=True GitOrigin-RevId: 73a64ffde3f3b64df576aa1f2b5baebf7ec964ba
2021-07-23[Zucchini] Update ExecutableType values.Calder Kitagawa
This change has some pros and some cons: Pros: - Human readable ExecType in patch/hex dumps as the ASCII is meaningful. - Can be done at next to no cost at compile time. - Assigning new values regardless of order of appearance in the enum is more flexible. No more concern over invalidating old patches as values will be more or less permanent once this change goes in. Cons: - Checking if an ExecutableType is valid requires O(n) time where n is the number of supported Exec types using a cast. Alternatively, we could maintain a sorted list of these types in memory to check against in O(log(n)) or could use a set but this is more memory. Overall not a huge deal since we only support ~9 types but it is worth understanding the tradeoffs. - Enums don't enforce value reuse so it is possible although highly unlikely we introduce a repeated value. However, given the use of the switch case casting requiring unique values this is very unlikely. Bug: 834932 Change-Id: I7bc14ea7b4434e60bb0dafa47178fb2c2c12dc7f Reviewed-on: https://chromium-review.googlesource.com/1020446 Commit-Queue: Calder Kitagawa <ckitagawa@google.com> Reviewed-by: Samuel Huang <huangs@chromium.org> Cr-Commit-Position: refs/heads/master@{#553083} NOKEYCHECK=True GitOrigin-RevId: da4335f0d27c7fa14f6897ffeb0833d424860f7e
2021-07-23[Zucchini] Remove Marking LogicCalder Kitagawa
With recent refactoring by etiennep@ marking high bits is no longer required. This removes checks for existing high bits which were previously filtered out to avoid conflicts with the marking system used. Change-Id: Iab929b19ade5c9faaf7c6be073136352170c794a Reviewed-on: https://chromium-review.googlesource.com/1002862 Commit-Queue: Calder Kitagawa <ckitagawa@google.com> Reviewed-by: Samuel Huang <huangs@chromium.org> Cr-Commit-Position: refs/heads/master@{#549620} NOKEYCHECK=True GitOrigin-RevId: 79c5e3545912bb2ec527fbe61b2aafe66c6e5bc2
2021-07-23[Zucchini] Move Zucchini from /chrome/installer/ to /components/.Samuel Huang
(Use "git log --follow" to see older revisions of files). /components/ is the most logical place to put Zucchini, which only depends on /base and /testing/gtest. This move also enables Zucchini to be used by the Component Updater. Details: - Move all files; run the following to change deps and guards: sed 's/chrome\/installer/components/' *.cc *.h -i sed 's/CHROME_INSTALLER/COMPONENTS/' *.cc *.h -i - Sorting works out pretty well! - Change all 'chrome/installer/zucchini' to 'components/zucchini' throughout other parts of the repo; sort if necessary. - Fix 6 'git cl lint' errors. - Change 1 Bind() usage to BindRepeated(). - Update OWNER. Bug: 729154 Change-Id: I50c5a7d411ea85f707b5994ab319dfb2a1acccf7 Reviewed-on: https://chromium-review.googlesource.com/954923 Reviewed-by: Greg Thompson <grt@chromium.org> Reviewed-by: Jochen Eisinger <jochen@chromium.org> Reviewed-by: Samuel Huang <huangs@chromium.org> Commit-Queue: Samuel Huang <huangs@chromium.org> Cr-Commit-Position: refs/heads/master@{#542857} NOKEYCHECK=True GitOrigin-RevId: 577ef6c435e8d43be6e3e60ccbcbd1881780f4ec