cvetriager: modified access to remote branches of stable repos
Changed access to remote branches in order to for do_pull in common.py
to execute properly.
BUG=chromium:1093363
TEST=python setup.py test
Change-Id: I3c33229f8ab93c54eec4e347613009a793f09be3
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/dev-util/+/2304696
Commit-Queue: Wanda Mora <morawand@chromium.org>
Tested-by: Wanda Mora <morawand@chromium.org>
Reviewed-by: Zubin Mithra <zsm@chromium.org>
diff --git a/contrib/cvetriager/cvelib/common.py b/contrib/cvetriager/cvelib/common.py
index 4a2d067..96277fb 100644
--- a/contrib/cvetriager/cvelib/common.py
+++ b/contrib/cvetriager/cvelib/common.py
@@ -13,10 +13,13 @@
"""Exception raised from common."""
-def get_stable_branch(kernel):
+def get_stable_branch(kernel, is_rc=False):
"""Returns stable branch name."""
branch = kernel[1:]
- return f'linux-{branch}.y'
+ remote = f'linux-{branch}.y'
+ if is_rc:
+ return kernel, remote
+ return remote, remote
def get_cros_branch(kernel):
diff --git a/contrib/cvetriager/cvelib/contextgenerator.py b/contrib/cvetriager/cvelib/contextgenerator.py
index be57da6..c6293c2 100644
--- a/contrib/cvetriager/cvelib/contextgenerator.py
+++ b/contrib/cvetriager/cvelib/contextgenerator.py
@@ -83,21 +83,20 @@
self.kernels = valid_kernels
- def filter_based_on_stable(self, linux_sha, environment):
+ def filter_based_on_stable(self, linux_sha, env_var):
"""Filters out stable or stable-rc kernels with linux commit."""
valid_kernels = []
+ environment = os.getenv(env_var)
+ is_rc = bool(env_var == 'STABLE_RC')
subject = self.get_subject_line(linux_sha)
- # Records whether the function is checking linux-stable or linux-stable-rc.
- stable = os.path.basename(environment)
-
for kernel in self.kernels:
- self.logger.debug(f'Checking if {kernel} on {stable} contains {linux_sha}')
+ self.logger.debug(f'Checking if {kernel} on {env_var} contains {linux_sha}')
- branch = common.get_stable_branch(kernel)
+ branch, remote = common.get_stable_branch(kernel, is_rc)
- common.checkout_branch(kernel, branch, 'origin', branch, environment)
+ common.checkout_branch(kernel, branch, 'origin', remote, environment)
if self.is_in_kernel(environment, subject, False):
valid_kernels.append(kernel)
@@ -166,9 +165,9 @@
self.find_kernels_with_fixes_subj(linux_sha)
- self.filter_based_on_stable(linux_sha, os.getenv('STABLE'))
+ self.filter_based_on_stable(linux_sha, 'STABLE')
- self.filter_based_on_stable(linux_sha, os.getenv('STABLE_RC'))
+ self.filter_based_on_stable(linux_sha, 'STABLE_RC')
if self.check_rel_commits:
self.detect_relevant_commits(linux_sha)
diff --git a/contrib/cvetriager/tests/contextgenerator_test.py b/contrib/cvetriager/tests/contextgenerator_test.py
index 42cfbaa..9294998 100644
--- a/contrib/cvetriager/tests/contextgenerator_test.py
+++ b/contrib/cvetriager/tests/contextgenerator_test.py
@@ -79,9 +79,9 @@
subprocess.check_call(['git', 'init'], stdout=subprocess.DEVNULL,
stderr=subprocess.DEVNULL, cwd=self.stable_rc_temp)
- create_branch_and_commit_file(self.stable_rc_temp, 'linux-1.0.y', 'file', 'random subject')
+ create_branch_and_commit_file(self.stable_rc_temp, 'v1.0', 'file', 'random subject')
- create_branch_and_commit_file(self.stable_rc_temp, 'linux-2.0.y', 'file2',
+ create_branch_and_commit_file(self.stable_rc_temp, 'v2.0', 'file2',
TestContextGenerator.LINUX_SUBJECT)
def tearDown(self):
@@ -171,13 +171,13 @@
# Tests with $STABLE.
cg = contextgenerator.ContextGenerator(['v1.0', 'v2.0'])
- cg.filter_based_on_stable(TestContextGenerator.LINUX_SHA, os.getenv('STABLE'))
+ cg.filter_based_on_stable(TestContextGenerator.LINUX_SHA, 'STABLE')
self.assertIn('v1.0', cg.kernels)
self.assertNotIn('v2.0', cg.kernels)
# Tests with $STABLE_RC.
- cg.filter_based_on_stable(TestContextGenerator.LINUX_SHA, os.getenv('STABLE_RC'))
+ cg.filter_based_on_stable(TestContextGenerator.LINUX_SHA, 'STABLE_RC')
self.assertIn('v1.0', cg.kernels)
self.assertNotIn('v2.0', cg.kernels)