Add more targets for android branch parsing
Also added better test coverage for 64-bit target only.
BUG=chromium:1087154
TEST=`./run_tests`
Change-Id: I20f08e3d613e1254ad5a1b8cf4dbb7141d096f76
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/2217715
Commit-Queue: Morg <morg@chromium.org>
Tested-by: Morg <morg@chromium.org>
Auto-Submit: Morg <morg@chromium.org>
Reviewed-by: Junichi Uekawa <uekawa@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Satoshi Niwa <niwa@chromium.org>
diff --git a/service/packages.py b/service/packages.py
index d8ada13..c4b4115 100644
--- a/service/packages.py
+++ b/service/packages.py
@@ -753,9 +753,11 @@
return None
ebuild_path = portage_util.FindEbuildForBoardPackage(android_package, board)
# We assume all targets pull from the same branch and that we always
- # have an ARM_TARGET, ARM_USERDEBUG_TARGET, or an X86_64_USERDEBUG_TARGET.
+ # have at least one of the following targets.
# TODO(crbug.com/1087167): Ensure this condition in PFQ to avoid CQ breakage.
- targets = ['ARM_TARGET', 'ARM_USERDEBUG_TARGET', 'X86_64_USERDEBUG_TARGET']
+ targets = ['ARM_TARGET', 'ARM_USERDEBUG_TARGET', 'X86_USERDEBUG_TARGET',
+ 'ARM64_TARGET', 'ARM64_USERDEBUG_TARGET', 'X86_64_TARGET',
+ 'X86_64_USERDEBUG_TARGET']
ebuild_content = osutils.SourceEnvironment(ebuild_path, targets)
for target in targets:
if target in ebuild_content:
diff --git a/service/packages_unittest.py b/service/packages_unittest.py
index fdfbcca..8a8be67 100644
--- a/service/packages_unittest.py
+++ b/service/packages_unittest.py
@@ -492,7 +492,7 @@
self.PatchObject(portage_util, 'FindEbuildForBoardPackage',
return_value='chromeos-base/android-container-nyc')
FakeEnvironment = {
- 'ARM_TARGET': '3-linux-target'
+ 'ARM_TARGET': '3-linux-target',
}
self.PatchObject(osutils, 'SourceEnvironment',
return_value=FakeEnvironment)
@@ -515,6 +515,13 @@
branch = packages.determine_android_branch(self.board)
self.assertEqual(branch, '3')
+ def test_determine_android_branch_64bit_targets(self):
+ """Tests that a valid android branch is returned with only 64bit targets."""
+ self.PatchObject(osutils, 'SourceEnvironment',
+ return_value={'ARM64_TARGET': '3-linux-target'})
+ branch = packages.determine_android_branch(self.board)
+ self.assertEqual(branch, '3')
+
def test_determine_android_branch_when_not_present(self):
"""Tests that a None is returned for branch when android is not present."""
package_result = ['chromeos-base/update_engine-0.0.3-r3408']