Page MenuHomePhabricator

generate_family_file_test fails for wowwiki
Open, LowPublicBUG REPORT

Description

List of steps to reproduce (step by step, including full links if applicable):
C:\pwb\GIT\core>pwb -site:wowwiki:uk generate_family_file_tests

What happens?:

tests: max_retries reduced from 15 to 1
Generating family file from https://warcraft.fandom.com

==================================
API url: https://wowpedia.fandom.com/api.php
MediaWiki version: 1.33.3
==================================

Determining other sites...
Loading wikis...
  * en... in cache
.
======================================================================
ERROR: test_attributes_after_run (__main__.TestGenerateFamilyFiles) (url='https://wowpedia.fandom.com/wiki/$1')
Test FamilyFileGenerator attributes after run().
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\pwb\GIT\core\pywikibot\data\api.py", line 1523, in _json_loads
    result = response.json()
  File "C:\Python310\lib\site-packages\requests\models.py", line 910, in json
    return complexjson.loads(self.text, **kwargs)
  File "C:\Python310\lib\json\__init__.py", line 346, in loads
    return _default_decoder.decode(s)
  File "C:\Python310\lib\json\decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "C:\Python310\lib\json\decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File ".\tests\generate_family_file_tests.py", line 88, in test_attributes_after_run
    self.assertEqual(site.lang, lang,
  File "C:\pwb\GIT\core\pywikibot\site\_apisite.py", line 980, in lang
    return self.siteinfo['lang']
  File "C:\pwb\GIT\core\pywikibot\site\_siteinfo.py", line 248, in __getitem__
    return self.get(key, False)  # caches and doesn't force it
  File "C:\pwb\GIT\core\pywikibot\site\_siteinfo.py", line 296, in get
    preloaded = self._get_general(key, expiry)
  File "C:\pwb\GIT\core\pywikibot\site\_siteinfo.py", line 237, in _get_general
    default_info = self._get_siteinfo(props, expiry)
  File "C:\pwb\GIT\core\pywikibot\site\_siteinfo.py", line 162, in _get_siteinfo
    data = request.submit()
  File "C:\pwb\GIT\core\pywikibot\data\api.py", line 2022, in submit
    self._data = super().submit()
  File "C:\pwb\GIT\core\pywikibot\data\api.py", line 1762, in submit
    result = self._json_loads(response)
  File "C:\pwb\GIT\core\pywikibot\data\api.py", line 1543, in _json_loads
    raise SiteDefinitionError('Invalid AutoFamily({!r})'
pywikibot.exceptions.SiteDefinitionError: Invalid AutoFamily('wowpedia.fandom.com')

======================================================================
FAIL: test_attributes_after_run (__main__.TestGenerateFamilyFiles) (test='Test whether default is loaded')
Test FamilyFileGenerator attributes after run().
----------------------------------------------------------------------
Traceback (most recent call last):
  File ".\tests\generate_family_file_tests.py", line 60, in test_attributes_after_run
    self.assertIn(self.site.lang, gen.wikis)
AssertionError: 'uk' not found in {'en': MWSite("https://wowpedia.fandom.com/wiki/Wowpedia")}

======================================================================
FAIL: test_attributes_after_run (__main__.TestGenerateFamilyFiles) (test='Test element counts')
Test FamilyFileGenerator attributes after run().
----------------------------------------------------------------------
Traceback (most recent call last):
  File ".\tests\generate_family_file_tests.py", line 67, in test_attributes_after_run
    self.assertCountEqual(gen.prefixes, gen.wikis)
AssertionError: Element counts were not equal:
First has 1, Second has 0:  'uk'

----------------------------------------------------------------------
Ran 2 tests in 1.990s

FAILED (failures=2, errors=1)

C:\pwb\GIT\core>

https://github.com/wikimedia/pywikibot/runs/4415020315?check_suite_focus=true

Check for wowwiki:en:

C:\pwb\GIT\core>pwb -site:wowwiki:en generate_family_file_tests
tests: max_retries reduced from 15 to 1
Generating family file from https://wowwiki.fandom.com

==================================
API url: https://wowwiki-archive.fandom.com/api.php
MediaWiki version: 1.33.3
==================================

Determining other sites...ar cs da de el en es et fa fi fr he hu is it ja ko lt lv nl nn no pl pt pt-br ru sk sv uk zh zh-tw
Loading wikis...
  * pt-br... downloaded
  * sv... HTTPSConnectionPool(host='sv.wow.wikia.com', port=443): Max retries exceeded with url: /wiki/ (Caused by SSLError(CertificateError("hostname 'sv.wow.wikia.com' doesn't match either of '*.wikia-services.com', '*.avrae.io', '*.cortexroleplaying.com', '*.cortexrpg.com', '*.cursecdn.com', '*.dndbeyond.com', '*.externaltest.fandom.com', '*.externaltest.gamepedia.com', '*.fandom-dev.pl', '*.fandom-dev.us', '*.fandom.com', '*.fandom.wikia.com', '*.gamepedia.com', '*.gamepedia.io', '*.gamepedia.wiki', '*.legendsofgrayskull.com', '*.legendsofgreyskull.com', '*.minecraftwiki.net', '*.muthead.com', '*.nocookie.net', '*.preview.gamepedia.com', '*.sandbox-adeng02.fandom.com', '*.sandbox-adeng08.fandom.com', '*.showcase.fandom.com', '*.showcase.gamepedia.com', '*.strawpoll.me', '*.talesofxadia.com', '*.verify.gamepedia.com', '*.wikia-dev.com', '*.wikia-dev.pl', '*.wikia-dev.us', '*.wikia-inc.com', '*.wikia-staging.com', '*.wikia.com', '*.wikia.nocookie.net', '*.wikia.org', '*.wikiafanstudio.com', 'avrae.io', 'cortexroleplaying.com', 'cortexrpg.com', 'cursecdn.com', 'dndbeyond.com', 'dndbeyond.dev', 'fandom-dev.pl', 'fandom-dev.us', 'fandom.com', 'gamepedia.com', 'gamepedia.io', 'legendsofgrayskull.com', 'legendsofgreyskull.com', 'minecraftwiki.net', 'muthead.com', 'sandbox-adeng02.fandom.com', 'sandbox-adeng08.fandom.com', 'strawpoll.me', 'talesofxadia.com', 'wikia-dev.com', 'wikia-dev.pl', 'wikia-dev.us', 'wikia-inc.com', 'wikia-staging.com', 'wikia.com', 'wikia.org', 'wikiafanstudio.com', 'wikia-services.com'")))
  * it... downloaded
  * fi... downloaded
  * lv... downloaded
  * pl... downloaded
  * cs... downloaded
  * ar... downloaded
  * he... downloaded
  * uk... downloaded
 36.924s sss.
======================================================================
ERROR: test_attributes_after_run (__main__.TestGenerateFamilyFiles) (url='https://wowwiki.fandom.com/ar/wiki/$1')
Test FamilyFileGenerator attributes after run().
----------------------------------------------------------------------
Traceback (most recent call last):
  File ".\tests\generate_family_file_tests.py", line 85, in test_attributes_after_run
    site = Site(url=url)
  File "C:\pwb\GIT\core\pywikibot\__init__.py", line 1184, in Site
    code, fam = _code_fam_from_url(url, fam)
  File "C:\pwb\GIT\core\pywikibot\__init__.py", line 1097, in _code_fam_from_url
    code = family.from_url(url)
  File "C:\pwb\GIT\core\pywikibot\family.py", line 877, in from_url
    for iw_url in site._interwiki_urls():
  File "C:\pwb\GIT\core\pywikibot\site\_basesite.py", line 239, in _interwiki_urls
    yield self.article_path
  File "C:\pwb\GIT\core\pywikibot\site\_apisite.py", line 630, in article_path
    assert self.siteinfo['general']['articlepath'].endswith('/$1'), \
  File "C:\pwb\GIT\core\pywikibot\site\_siteinfo.py", line 248, in __getitem__
    return self.get(key, False)  # caches and doesn't force it
  File "C:\pwb\GIT\core\pywikibot\site\_siteinfo.py", line 296, in get
    preloaded = self._get_general(key, expiry)
  File "C:\pwb\GIT\core\pywikibot\site\_siteinfo.py", line 237, in _get_general
    default_info = self._get_siteinfo(props, expiry)
  File "C:\pwb\GIT\core\pywikibot\site\_siteinfo.py", line 162, in _get_siteinfo
    data = request.submit()
  File "C:\pwb\GIT\core\pywikibot\data\api.py", line 2022, in submit
    self._data = super().submit()
  File "C:\pwb\GIT\core\pywikibot\data\api.py", line 1762, in submit
    result = self._json_loads(response)
  File "C:\pwb\GIT\core\pywikibot\data\api.py", line 1559, in _json_loads
    self.wait()
  File "C:\pwb\GIT\core\pywikibot\data\api.py", line 1883, in wait
    raise TimeoutError('Maximum retries attempted without success.')
pywikibot.exceptions.TimeoutError: Maximum retries attempted without success.

======================================================================
ERROR: test_attributes_after_run (__main__.TestGenerateFamilyFiles) (url='https://wowwiki.fandom.com/cs/wiki/$1')
Test FamilyFileGenerator attributes after run().
----------------------------------------------------------------------
Traceback (most recent call last):
  File ".\tests\generate_family_file_tests.py", line 85, in test_attributes_after_run
    site = Site(url=url)
  File "C:\pwb\GIT\core\pywikibot\__init__.py", line 1184, in Site
    code, fam = _code_fam_from_url(url, fam)
  File "C:\pwb\GIT\core\pywikibot\__init__.py", line 1097, in _code_fam_from_url
    code = family.from_url(url)
  File "C:\pwb\GIT\core\pywikibot\family.py", line 877, in from_url
    for iw_url in site._interwiki_urls():
  File "C:\pwb\GIT\core\pywikibot\site\_basesite.py", line 239, in _interwiki_urls
    yield self.article_path
  File "C:\pwb\GIT\core\pywikibot\site\_apisite.py", line 630, in article_path
    assert self.siteinfo['general']['articlepath'].endswith('/$1'), \
  File "C:\pwb\GIT\core\pywikibot\site\_siteinfo.py", line 248, in __getitem__
    return self.get(key, False)  # caches and doesn't force it
  File "C:\pwb\GIT\core\pywikibot\site\_siteinfo.py", line 296, in get
    preloaded = self._get_general(key, expiry)
  File "C:\pwb\GIT\core\pywikibot\site\_siteinfo.py", line 237, in _get_general
    default_info = self._get_siteinfo(props, expiry)
  File "C:\pwb\GIT\core\pywikibot\site\_siteinfo.py", line 162, in _get_siteinfo
    data = request.submit()
  File "C:\pwb\GIT\core\pywikibot\data\api.py", line 2022, in submit
    self._data = super().submit()
  File "C:\pwb\GIT\core\pywikibot\data\api.py", line 1762, in submit
    result = self._json_loads(response)
  File "C:\pwb\GIT\core\pywikibot\data\api.py", line 1559, in _json_loads
    self.wait()
  File "C:\pwb\GIT\core\pywikibot\data\api.py", line 1883, in wait
    raise TimeoutError('Maximum retries attempted without success.')
pywikibot.exceptions.TimeoutError: Maximum retries attempted without success.

======================================================================
ERROR: test_attributes_after_run (__main__.TestGenerateFamilyFiles) (url='https://wowwiki.fandom.com/fi/wiki/$1')
Test FamilyFileGenerator attributes after run().
----------------------------------------------------------------------
Traceback (most recent call last):
  File ".\tests\generate_family_file_tests.py", line 85, in test_attributes_after_run
    site = Site(url=url)
  File "C:\pwb\GIT\core\pywikibot\__init__.py", line 1184, in Site
    code, fam = _code_fam_from_url(url, fam)
  File "C:\pwb\GIT\core\pywikibot\__init__.py", line 1097, in _code_fam_from_url
    code = family.from_url(url)
  File "C:\pwb\GIT\core\pywikibot\family.py", line 877, in from_url
    for iw_url in site._interwiki_urls():
  File "C:\pwb\GIT\core\pywikibot\site\_basesite.py", line 239, in _interwiki_urls
    yield self.article_path
  File "C:\pwb\GIT\core\pywikibot\site\_apisite.py", line 630, in article_path
    assert self.siteinfo['general']['articlepath'].endswith('/$1'), \
  File "C:\pwb\GIT\core\pywikibot\site\_siteinfo.py", line 248, in __getitem__
    return self.get(key, False)  # caches and doesn't force it
  File "C:\pwb\GIT\core\pywikibot\site\_siteinfo.py", line 296, in get
    preloaded = self._get_general(key, expiry)
  File "C:\pwb\GIT\core\pywikibot\site\_siteinfo.py", line 237, in _get_general
    default_info = self._get_siteinfo(props, expiry)
  File "C:\pwb\GIT\core\pywikibot\site\_siteinfo.py", line 162, in _get_siteinfo
    data = request.submit()
  File "C:\pwb\GIT\core\pywikibot\data\api.py", line 2022, in submit
    self._data = super().submit()
  File "C:\pwb\GIT\core\pywikibot\data\api.py", line 1762, in submit
    result = self._json_loads(response)
  File "C:\pwb\GIT\core\pywikibot\data\api.py", line 1559, in _json_loads
    self.wait()
  File "C:\pwb\GIT\core\pywikibot\data\api.py", line 1883, in wait
    raise TimeoutError('Maximum retries attempted without success.')
pywikibot.exceptions.TimeoutError: Maximum retries attempted without success.

======================================================================
ERROR: test_attributes_after_run (__main__.TestGenerateFamilyFiles) (url='https://wowwiki.fandom.com/he/wiki/$1')
Test FamilyFileGenerator attributes after run().
----------------------------------------------------------------------
Traceback (most recent call last):
  File ".\tests\generate_family_file_tests.py", line 85, in test_attributes_after_run
    site = Site(url=url)
  File "C:\pwb\GIT\core\pywikibot\__init__.py", line 1184, in Site
    code, fam = _code_fam_from_url(url, fam)
  File "C:\pwb\GIT\core\pywikibot\__init__.py", line 1097, in _code_fam_from_url
    code = family.from_url(url)
  File "C:\pwb\GIT\core\pywikibot\family.py", line 877, in from_url
    for iw_url in site._interwiki_urls():
  File "C:\pwb\GIT\core\pywikibot\site\_basesite.py", line 239, in _interwiki_urls
    yield self.article_path
  File "C:\pwb\GIT\core\pywikibot\site\_apisite.py", line 630, in article_path
    assert self.siteinfo['general']['articlepath'].endswith('/$1'), \
  File "C:\pwb\GIT\core\pywikibot\site\_siteinfo.py", line 248, in __getitem__
    return self.get(key, False)  # caches and doesn't force it
  File "C:\pwb\GIT\core\pywikibot\site\_siteinfo.py", line 296, in get
    preloaded = self._get_general(key, expiry)
  File "C:\pwb\GIT\core\pywikibot\site\_siteinfo.py", line 237, in _get_general
    default_info = self._get_siteinfo(props, expiry)
  File "C:\pwb\GIT\core\pywikibot\site\_siteinfo.py", line 162, in _get_siteinfo
    data = request.submit()
  File "C:\pwb\GIT\core\pywikibot\data\api.py", line 2022, in submit
    self._data = super().submit()
  File "C:\pwb\GIT\core\pywikibot\data\api.py", line 1762, in submit
    result = self._json_loads(response)
  File "C:\pwb\GIT\core\pywikibot\data\api.py", line 1559, in _json_loads
    self.wait()
  File "C:\pwb\GIT\core\pywikibot\data\api.py", line 1883, in wait
    raise TimeoutError('Maximum retries attempted without success.')
pywikibot.exceptions.TimeoutError: Maximum retries attempted without success.

======================================================================
ERROR: test_attributes_after_run (__main__.TestGenerateFamilyFiles) (url='https://wowwiki.fandom.com/pl/wiki/$1')
Test FamilyFileGenerator attributes after run().
----------------------------------------------------------------------
Traceback (most recent call last):
  File ".\tests\generate_family_file_tests.py", line 85, in test_attributes_after_run
    site = Site(url=url)
  File "C:\pwb\GIT\core\pywikibot\__init__.py", line 1184, in Site
    code, fam = _code_fam_from_url(url, fam)
  File "C:\pwb\GIT\core\pywikibot\__init__.py", line 1097, in _code_fam_from_url
    code = family.from_url(url)
  File "C:\pwb\GIT\core\pywikibot\family.py", line 877, in from_url
    for iw_url in site._interwiki_urls():
  File "C:\pwb\GIT\core\pywikibot\site\_basesite.py", line 239, in _interwiki_urls
    yield self.article_path
  File "C:\pwb\GIT\core\pywikibot\site\_apisite.py", line 630, in article_path
    assert self.siteinfo['general']['articlepath'].endswith('/$1'), \
  File "C:\pwb\GIT\core\pywikibot\site\_siteinfo.py", line 248, in __getitem__
    return self.get(key, False)  # caches and doesn't force it
  File "C:\pwb\GIT\core\pywikibot\site\_siteinfo.py", line 296, in get
    preloaded = self._get_general(key, expiry)
  File "C:\pwb\GIT\core\pywikibot\site\_siteinfo.py", line 237, in _get_general
    default_info = self._get_siteinfo(props, expiry)
  File "C:\pwb\GIT\core\pywikibot\site\_siteinfo.py", line 162, in _get_siteinfo
    data = request.submit()
  File "C:\pwb\GIT\core\pywikibot\data\api.py", line 2022, in submit
    self._data = super().submit()
  File "C:\pwb\GIT\core\pywikibot\data\api.py", line 1762, in submit
    result = self._json_loads(response)
  File "C:\pwb\GIT\core\pywikibot\data\api.py", line 1559, in _json_loads
    self.wait()
  File "C:\pwb\GIT\core\pywikibot\data\api.py", line 1883, in wait
    raise TimeoutError('Maximum retries attempted without success.')
pywikibot.exceptions.TimeoutError: Maximum retries attempted without success.

======================================================================
ERROR: test_attributes_after_run (__main__.TestGenerateFamilyFiles) (url='https://wowwiki.fandom.com/pt-br/wiki/$1')
Test FamilyFileGenerator attributes after run().
----------------------------------------------------------------------
Traceback (most recent call last):
  File ".\tests\generate_family_file_tests.py", line 85, in test_attributes_after_run
    site = Site(url=url)
  File "C:\pwb\GIT\core\pywikibot\__init__.py", line 1184, in Site
    code, fam = _code_fam_from_url(url, fam)
  File "C:\pwb\GIT\core\pywikibot\__init__.py", line 1097, in _code_fam_from_url
    code = family.from_url(url)
  File "C:\pwb\GIT\core\pywikibot\family.py", line 877, in from_url
    for iw_url in site._interwiki_urls():
  File "C:\pwb\GIT\core\pywikibot\site\_basesite.py", line 239, in _interwiki_urls
    yield self.article_path
  File "C:\pwb\GIT\core\pywikibot\site\_apisite.py", line 630, in article_path
    assert self.siteinfo['general']['articlepath'].endswith('/$1'), \
  File "C:\pwb\GIT\core\pywikibot\site\_siteinfo.py", line 248, in __getitem__
    return self.get(key, False)  # caches and doesn't force it
  File "C:\pwb\GIT\core\pywikibot\site\_siteinfo.py", line 296, in get
    preloaded = self._get_general(key, expiry)
  File "C:\pwb\GIT\core\pywikibot\site\_siteinfo.py", line 237, in _get_general
    default_info = self._get_siteinfo(props, expiry)
  File "C:\pwb\GIT\core\pywikibot\site\_siteinfo.py", line 162, in _get_siteinfo
    data = request.submit()
  File "C:\pwb\GIT\core\pywikibot\data\api.py", line 2022, in submit
    self._data = super().submit()
  File "C:\pwb\GIT\core\pywikibot\data\api.py", line 1762, in submit
    result = self._json_loads(response)
  File "C:\pwb\GIT\core\pywikibot\data\api.py", line 1559, in _json_loads
    self.wait()
  File "C:\pwb\GIT\core\pywikibot\data\api.py", line 1883, in wait
    raise TimeoutError('Maximum retries attempted without success.')
pywikibot.exceptions.TimeoutError: Maximum retries attempted without success.

======================================================================
ERROR: test_attributes_after_run (__main__.TestGenerateFamilyFiles) (url='https://wowwiki-archive.fandom.com/wiki/$1')
Test FamilyFileGenerator attributes after run().
----------------------------------------------------------------------
Traceback (most recent call last):
  File ".\tests\generate_family_file_tests.py", line 85, in test_attributes_after_run
    site = Site(url=url)
  File "C:\pwb\GIT\core\pywikibot\__init__.py", line 1184, in Site
    code, fam = _code_fam_from_url(url, fam)
  File "C:\pwb\GIT\core\pywikibot\__init__.py", line 1097, in _code_fam_from_url
    code = family.from_url(url)
  File "C:\pwb\GIT\core\pywikibot\family.py", line 888, in from_url
    raise RuntimeError(
RuntimeError: Found multiple matches for URL "https://wowwiki-archive.fandom.com/wiki/$1": wow:lv, wow:en, wow:is

======================================================================
FAIL: test_attributes_after_run (__main__.TestGenerateFamilyFiles) (test='Test element counts')
Test FamilyFileGenerator attributes after run().
----------------------------------------------------------------------
Traceback (most recent call last):
  File ".\tests\generate_family_file_tests.py", line 67, in test_attributes_after_run
    self.assertCountEqual(gen.prefixes, gen.wikis)
AssertionError: Element counts were not equal:
First has 1, Second has 0:  'sv'

----------------------------------------------------------------------
Ran 2 tests in 37.706s

FAILED (failures=1, errors=7, skipped=3)

C:\pwb\GIT\core>

Software version (if not a Wikimedia wiki), browser information, screenshots, other information, etc:
Pywikibot 7.0.0.dev0 and below

Event Timeline

Xqt triaged this task as High priority.Dec 4 2021, 7:58 AM
Xqt added a project: Pywikibot.

Change 743552 had a related patch set uploaded (by Xqt; author: Xqt):

[pywikibot/core@master] [tests] Skip generate_family_file_tests.py for wowwiki

https://gerrit.wikimedia.org/r/743552

Xqt lowered the priority of this task from High to Low.Dec 4 2021, 9:00 AM

Change 743552 merged by jenkins-bot:

[pywikibot/core@master] [tests] Skip generate_family_file_tests.py for wowwiki

https://gerrit.wikimedia.org/r/743552