jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/538421 )
Change subject: site_tests.py: fix test_preload_templates_and_langlinks ......................................................................
site_tests.py: fix test_preload_templates_and_langlinks
Test is failing because not all pages might have both templates and langlinks.
Filter pages before test and preload only pages with both.
Skip test if no valid pages are available.
Change-Id: Ic0145b51dc82e7b06b0d86db0acdaa9903b58527 --- M tests/site_tests.py 1 file changed, 16 insertions(+), 9 deletions(-)
Approvals: Xqt: Looks good to me, approved jenkins-bot: Verified
diff --git a/tests/site_tests.py b/tests/site_tests.py index 73b2da3..fbc85d5 100644 --- a/tests/site_tests.py +++ b/tests/site_tests.py @@ -3255,7 +3255,6 @@ if count >= 6: break
- @allowed_failure def test_preload_templates_and_langlinks(self): """Test preloading templates and langlinks works.""" mysite = self.get_site() @@ -3263,15 +3262,23 @@ count = 0 # Use backlinks, as any backlink has at least one link links = mysite.pagebacklinks(mainpage, total=10) + # Screen pages before test; + # it is not guaranteed that all pages will have both. + links = [l for l in links if (l.langlinks() and l.templates())] + # Skip test if no valid pages are found. + if not links: + self.SkipTest('No valid pages found to carry out test.') + for page in mysite.preloadpages(links, langlinks=True, templates=True): - self.assertIsInstance(page, pywikibot.Page) - self.assertIsInstance(page.exists(), bool) - if page.exists(): - self.assertLength(page._revisions, 1) - self.assertIsNotNone(page._revisions[page._revid].text) - self.assertFalse(hasattr(page, '_pageprops')) - self.assertTrue(hasattr(page, '_templates')) - self.assertTrue(hasattr(page, '_langlinks')) + with self.subTest(page=page): + self.assertIsInstance(page, pywikibot.Page) + self.assertIsInstance(page.exists(), bool) + if page.exists(): + self.assertLength(page._revisions, 1) + self.assertIsNotNone(page._revisions[page._revid].text) + self.assertFalse(hasattr(page, '_pageprops')) + self.assertTrue(hasattr(page, '_templates')) + self.assertTrue(hasattr(page, '_langlinks')) count += 1 if count >= 6: break
pywikibot-commits@lists.wikimedia.org