Hashar has uploaded a new change for review.
https://gerrit.wikimedia.org/r/173830
Change subject: tests: factor out code to find defined project
......................................................................
tests: factor out code to find defined project
Extract from test_mw_repos_have_composer_validate_job the logic used to
find projects defined in the Zuul layout configuration file.
Changed the regex filter to use re.search instead of re.match and
adjusted existing regex in consequence.
Change-Id: Id655763439b92fefef09163efbdb0a3f9a79e828
---
M tests/test_zuul_layout.py
1 file changed, 19 insertions(+), 11 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/integration/config
refs/changes/30/173830/1
diff --git a/tests/test_zuul_layout.py b/tests/test_zuul_layout.py
index 3871192..972dd9d 100644
--- a/tests/test_zuul_layout.py
+++ b/tests/test_zuul_layout.py
@@ -74,6 +74,19 @@
"""Returns name of projects for a given pipeline"""
return [p.name for p in self.getPipeline(pipeline_name).getProjects()]
+ def getProjectsNames(self, search=None):
+ """Returns names of all defined projects
+
+ search: a regular expression to match project names against (using
+ re.search). Default: None, do not filter.
+ """
+ projects = set()
+ for pipeline in self.getPipelines():
+ projects |= set(
+ [p for p in self.getPipelineProjectsNames(pipeline.name)
+ if search is None or re.search(search, p)])
+ return sorted(projects)
+
def getProjectDef(self, project):
"""Returns pipelines and their jobs for a given project"""
ret = {}
@@ -91,20 +104,15 @@
def test_mw_repos_have_composer_validate_job(self):
mw_repos = (
- 'mediawiki/core$',
- 'mediawiki/extensions/\w+$',
- 'mediawiki/skins/',
- 'mediawiki/vendor$',
+ '^mediawiki/core$',
+ '^mediawiki/extensions/\w+$',
+ '^mediawiki/skins/',
+ '^mediawiki/vendor$',
)
re_mw = '(' + '|'.join(mw_repos) + ')'
+ mw_projects = self.getProjectsNames(search=re_mw)
- # Mediawiki projects defined in any pipeline
- mw_projects = set()
- for pipeline in self.getPipelines():
- mw_projects |= set(
- [p for p in self.getPipelineProjectsNames(pipeline.name)
- if re.match(re_mw, p)])
- mw_projects = sorted(mw_projects)
+ self.assertIn('mediawiki/core', mw_projects)
for mw_project in mw_projects:
project_def = self.getProjectDef(mw_project)
--
To view, visit https://gerrit.wikimedia.org/r/173830
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Id655763439b92fefef09163efbdb0a3f9a79e828
Gerrit-PatchSet: 1
Gerrit-Project: integration/config
Gerrit-Branch: master
Gerrit-Owner: Hashar <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits