atagar created this task.
atagar added a project: Pywikibot.
Restricted Application added subscribers: pywikibot-bugs-list, Aklapper.

TASK DESCRIPTION
  Commit 66d88aa 
<https://phabricator.wikimedia.org/rPWBC66d88aa9c91c0e6f5fd96f45e7afca6ff4c89e4c>
 removed our test.wikipedia.org family. I'm unsure why we did that, so I ran 
generate_family_file.py to safely run our scripts against without breaking live 
pages. Unfortunately doing so breaks our tests.
  
  Here's my family config...
  
    % cat pywikibot/families/test_family.py
    """
    This family file was auto-generated by generate_family_file.py script.
    
    Configuration parameters:
      url = https://test.wikipedia.org/
      name = test
    
    Please do not commit this to the Git repository!
    """
    from pywikibot import family
    
    
    class Family(family.Family):  # noqa: D101
    
        name = 'test'
        langs = {
            'en': 'test.wikipedia.org',
        }
    
        def scriptpath(self, code):
            return {
                'en': '/w',
            }[code]
    
        def protocol(self, code):
            return {
                'en': 'https',
            }[code]
  
  And here's the test failures...
  
    % time python -m unittest
    ...
    ======================================================================
    ERROR: test_preload_langlinks_count (tests.site_tests.TestPagePreloading)
    Test preloading continuation works.
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/usr/lib/python3.8/unittest/mock.py", line 1325, in patched
        return func(*newargs, **newkeywargs)
      File "/home/atagar/Desktop/pywikibot/tests/site_tests.py", line 3144, in 
test_preload_langlinks_count
        pages = list(gen)
      File "/home/atagar/Desktop/pywikibot/pywikibot/site/_generators.py", line 
195, in preloadpages
        api.update_page(page, pagedata, rvgen.props)
      File "/home/atagar/Desktop/pywikibot/pywikibot/data/api.py", line 3145, 
in update_page
        _update_langlinks(page, pagedict['langlinks'])
      File "/home/atagar/Desktop/pywikibot/pywikibot/data/api.py", line 3069, 
in _update_langlinks
        links = [pywikibot.Link.langlinkUnsafe(link['lang'], link['*'],
      File "/home/atagar/Desktop/pywikibot/pywikibot/data/api.py", line 3069, 
in <listcomp>
        links = [pywikibot.Link.langlinkUnsafe(link['lang'], link['*'],
      File "/home/atagar/Desktop/pywikibot/pywikibot/page/__init__.py", line 
5610, in langlinkUnsafe
        link._site = pywikibot.Site(lang, source.family.name)
      File "/home/atagar/Desktop/pywikibot/pywikibot/tools/_deprecate.py", line 
404, in wrapper
        return obj(*__args, **__kw)
      File "/home/atagar/Desktop/pywikibot/pywikibot/__init__.py", line 1207, 
in Site
        _sites[key] = interface(code=code, fam=fam, user=user)
      File "/home/atagar/Desktop/pywikibot/pywikibot/tools/_deprecate.py", line 
487, in wrapper
        return obj(*new_args, **new_kwargs)
      File "/home/atagar/Desktop/pywikibot/pywikibot/site/_apisite.py", line 
115, in __init__
        super().__init__(code, fam, user)
      File "/home/atagar/Desktop/pywikibot/pywikibot/tools/_deprecate.py", line 
487, in wrapper
        return obj(*new_args, **new_kwargs)
      File "/home/atagar/Desktop/pywikibot/pywikibot/site/_basesite.py", line 
90, in __init__
        raise UnknownSiteError(error_msg)
    pywikibot.exceptions.UnknownSiteError: Language 'af' does not exist in 
family test
    
    ======================================================================
    ERROR: test_preload_langlinks_normal (tests.site_tests.TestPagePreloading)
    Test preloading langlinks works.
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/home/atagar/Desktop/pywikibot/tests/site_tests.py", line 3123, in 
test_preload_langlinks_normal
        for count, page in enumerate(gen):
      File "/home/atagar/Desktop/pywikibot/pywikibot/site/_generators.py", line 
195, in preloadpages
        api.update_page(page, pagedata, rvgen.props)
      File "/home/atagar/Desktop/pywikibot/pywikibot/data/api.py", line 3145, 
in update_page
        _update_langlinks(page, pagedict['langlinks'])
      File "/home/atagar/Desktop/pywikibot/pywikibot/data/api.py", line 3069, 
in _update_langlinks
        links = [pywikibot.Link.langlinkUnsafe(link['lang'], link['*'],
      File "/home/atagar/Desktop/pywikibot/pywikibot/data/api.py", line 3069, 
in <listcomp>
        links = [pywikibot.Link.langlinkUnsafe(link['lang'], link['*'],
      File "/home/atagar/Desktop/pywikibot/pywikibot/page/__init__.py", line 
5610, in langlinkUnsafe
        link._site = pywikibot.Site(lang, source.family.name)
      File "/home/atagar/Desktop/pywikibot/pywikibot/tools/_deprecate.py", line 
404, in wrapper
        return obj(*__args, **__kw)
      File "/home/atagar/Desktop/pywikibot/pywikibot/__init__.py", line 1207, 
in Site
        _sites[key] = interface(code=code, fam=fam, user=user)
      File "/home/atagar/Desktop/pywikibot/pywikibot/tools/_deprecate.py", line 
487, in wrapper
        return obj(*new_args, **new_kwargs)
      File "/home/atagar/Desktop/pywikibot/pywikibot/site/_apisite.py", line 
115, in __init__
        super().__init__(code, fam, user)
      File "/home/atagar/Desktop/pywikibot/pywikibot/tools/_deprecate.py", line 
487, in wrapper
        return obj(*new_args, **new_kwargs)
      File "/home/atagar/Desktop/pywikibot/pywikibot/site/_basesite.py", line 
90, in __init__
        raise UnknownSiteError(error_msg)
    pywikibot.exceptions.UnknownSiteError: Language 'af' does not exist in 
family test
    
    ======================================================================
    ERROR: test_allpages_langlinks_enabled (tests.site_tests.TestSiteGenerators)
    Test allpages with langlinks enabled.
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/home/atagar/Desktop/pywikibot/tests/site_tests.py", line 517, in 
test_allpages_langlinks_enabled
        self.assertNotEqual(page.langlinks(), [])
      File "/home/atagar/Desktop/pywikibot/pywikibot/page/__init__.py", line 
1448, in langlinks
        self._langlinks = list(self.iterlanglinks(include_obsolete=True))
      File "/home/atagar/Desktop/pywikibot/pywikibot/site/_generators.py", line 
759, in pagelanglinks
        link = pywikibot.Link.langlinkUnsafe(linkdata['lang'],
      File "/home/atagar/Desktop/pywikibot/pywikibot/page/__init__.py", line 
5610, in langlinkUnsafe
        link._site = pywikibot.Site(lang, source.family.name)
      File "/home/atagar/Desktop/pywikibot/pywikibot/tools/_deprecate.py", line 
404, in wrapper
        return obj(*__args, **__kw)
      File "/home/atagar/Desktop/pywikibot/pywikibot/__init__.py", line 1207, 
in Site
        _sites[key] = interface(code=code, fam=fam, user=user)
      File "/home/atagar/Desktop/pywikibot/pywikibot/tools/_deprecate.py", line 
487, in wrapper
        return obj(*new_args, **new_kwargs)
      File "/home/atagar/Desktop/pywikibot/pywikibot/site/_apisite.py", line 
115, in __init__
        super().__init__(code, fam, user)
      File "/home/atagar/Desktop/pywikibot/pywikibot/tools/_deprecate.py", line 
487, in wrapper
        return obj(*new_args, **new_kwargs)
      File "/home/atagar/Desktop/pywikibot/pywikibot/site/_basesite.py", line 
90, in __init__
        raise UnknownSiteError(error_msg)
    pywikibot.exceptions.UnknownSiteError: Language 'af' does not exist in 
family test
    
    ======================================================================
    ERROR: test_pagelanglinks (tests.site_tests.TestSiteGenerators)
    Test Site.pagelanglinks.
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/home/atagar/Desktop/pywikibot/tests/site_tests.py", line 427, in 
test_pagelanglinks
        for ll in self.site.pagelanglinks(self.mainpage):
      File "/home/atagar/Desktop/pywikibot/pywikibot/site/_generators.py", line 
759, in pagelanglinks
        link = pywikibot.Link.langlinkUnsafe(linkdata['lang'],
      File "/home/atagar/Desktop/pywikibot/pywikibot/page/__init__.py", line 
5610, in langlinkUnsafe
        link._site = pywikibot.Site(lang, source.family.name)
      File "/home/atagar/Desktop/pywikibot/pywikibot/tools/_deprecate.py", line 
404, in wrapper
        return obj(*__args, **__kw)
      File "/home/atagar/Desktop/pywikibot/pywikibot/__init__.py", line 1207, 
in Site
        _sites[key] = interface(code=code, fam=fam, user=user)
      File "/home/atagar/Desktop/pywikibot/pywikibot/tools/_deprecate.py", line 
487, in wrapper
        return obj(*new_args, **new_kwargs)
      File "/home/atagar/Desktop/pywikibot/pywikibot/site/_apisite.py", line 
115, in __init__
        super().__init__(code, fam, user)
      File "/home/atagar/Desktop/pywikibot/pywikibot/tools/_deprecate.py", line 
487, in wrapper
        return obj(*new_args, **new_kwargs)
      File "/home/atagar/Desktop/pywikibot/pywikibot/site/_basesite.py", line 
90, in __init__
        raise UnknownSiteError(error_msg)
    pywikibot.exceptions.UnknownSiteError: Language 'af' does not exist in 
family test
    
    ======================================================================
    ERROR: testLinks (tests.page_tests.TestPageObject)
    Test the different types of links from a page.
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/home/atagar/Desktop/pywikibot/tests/page_tests.py", line 541, in 
testLinks
        for p in mainpage.langlinks():
      File "/home/atagar/Desktop/pywikibot/pywikibot/page/__init__.py", line 
1448, in langlinks
        self._langlinks = list(self.iterlanglinks(include_obsolete=True))
      File "/home/atagar/Desktop/pywikibot/pywikibot/site/_generators.py", line 
759, in pagelanglinks
        link = pywikibot.Link.langlinkUnsafe(linkdata['lang'],
      File "/home/atagar/Desktop/pywikibot/pywikibot/page/__init__.py", line 
5610, in langlinkUnsafe
        link._site = pywikibot.Site(lang, source.family.name)
      File "/home/atagar/Desktop/pywikibot/pywikibot/tools/_deprecate.py", line 
404, in wrapper
        return obj(*__args, **__kw)
      File "/home/atagar/Desktop/pywikibot/pywikibot/__init__.py", line 1207, 
in Site
        _sites[key] = interface(code=code, fam=fam, user=user)
      File "/home/atagar/Desktop/pywikibot/pywikibot/tools/_deprecate.py", line 
487, in wrapper
        return obj(*new_args, **new_kwargs)
      File "/home/atagar/Desktop/pywikibot/pywikibot/site/_apisite.py", line 
115, in __init__
        super().__init__(code, fam, user)
      File "/home/atagar/Desktop/pywikibot/pywikibot/tools/_deprecate.py", line 
487, in wrapper
        return obj(*new_args, **new_kwargs)
      File "/home/atagar/Desktop/pywikibot/pywikibot/site/_basesite.py", line 
90, in __init__
        raise UnknownSiteError(error_msg)
    pywikibot.exceptions.UnknownSiteError: Language 'af' does not exist in 
family test
    
    ======================================================================
    FAIL: test_search_where_title (tests.site_tests.SearchTestCase)
    Test site.search() method with 'where' parameter set to title.
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/home/atagar/Desktop/pywikibot/pywikibot/tools/__init__.py", line 
196, in suppressed_func
        return func(*args, **kwargs)
      File "/home/atagar/Desktop/pywikibot/tests/site_tests.py", line 1459, in 
test_search_where_title
        self.assertEqual(search_gen.request._params, expected_params)
    AssertionError: {'gsrsearch': ['wiki'], 'gsrwhat': ['title'[280 chars] [0]} 
!= {'prop': ['info', 'imageinfo', 'categoryinf[285 chars]one]}
      {'action': ['query'],
       'continue': [True],
       'generator': ['search'],
       'gsrnamespace': [0],
    -  'gsrsearch': ['wiki'],
    +  'gsrsearch': ['intitle:wiki'],
    ?                 ++++++++
    
    -  'gsrwhat': ['title'],
    ?              ^^^^^ -
    
    +  'gsrwhat': [None],
    ?              ^^^
    
       'iilimit': ['max'],
       'iiprop': ['timestamp', 'user', 'comment', 'url', 'size', 'sha1', 
'metadata'],
       'indexpageids': [True],
       'inprop': ['protection'],
       'prop': ['info', 'imageinfo', 'categoryinfo']}
    
    ======================================================================
    FAIL: test_basic (tests.site_tests.TestAlldeletedrevisionsAsUser)
    Test the site.alldeletedrevisions() method.
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/home/atagar/Desktop/pywikibot/tests/site_tests.py", line 1616, in 
test_basic
        self.assertTrue(all('revisions' in data
    AssertionError: False is not true
    
    ======================================================================
    FAIL: test_constructors (tests.site_tests.TestSiteObject) 
(dbname='testwiki')
    Test cases for site constructors.
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/home/atagar/Desktop/pywikibot/tests/site_tests.py", line 128, in 
test_constructors
        self.assertIs(
    AssertionError: APISite("en", "test") is not APISite("test", "wikipedia")
    
    ======================================================================
    FAIL: test_each_family (tests.family_tests.TestFamilyUrlRegex) 
(family='test')
    Test each family builds a working regex.
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/home/atagar/Desktop/pywikibot/tests/family_tests.py", line 235, in 
test_each_family
        self.assertEqual(family.from_url(url), code)
      File "/home/atagar/Desktop/pywikibot/pywikibot/family.py", line 864, in 
from_url
        site = pywikibot.Site(code, self.name)
      File "/home/atagar/Desktop/pywikibot/tests/family_tests.py", line 161, in 
Site
        self.assertEqual(fam, 'wikipedia')
    AssertionError: 'test' != 'wikipedia'
    - test
    + wikipedia
    
    
    ======================================================================
    FAIL: test_fully_qualified_NS0_family 
(tests.link_tests.TestFullyQualifiedNoLangFamilyExplicitLinkParser)
    Test ':wikidata:testwiki:Q6' on enwp is namespace 0.
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/home/atagar/Desktop/pywikibot/tests/link_tests.py", line 540, in 
test_fully_qualified_NS0_family
        self.assertEqual(link.site, self.get_site('test.wp'))
    AssertionError: APISite("en", "test") != APISite("test", "wikipedia")
    
    ======================================================================
    FAIL: test_fully_qualified_NS1_family 
(tests.link_tests.TestFullyQualifiedNoLangFamilyExplicitLinkParser)
    Test ':wikidata:testwiki:Talk:Q6' on enwp is namespace 1.
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/home/atagar/Desktop/pywikibot/tests/link_tests.py", line 548, in 
test_fully_qualified_NS1_family
        self.assertEqual(link.site, self.get_site('test.wp'))
    AssertionError: APISite("en", "test") != APISite("test", "wikipedia")
    
    ======================================================================
    FAIL: test_fully_qualified_NS0 
(tests.link_tests.TestFullyQualifiedNoLangFamilyImplicitLinkParser) 
(pattern='wikidata:testwiki')
    Test prefixed links with 'Q6' on enwp is namespace 0.
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/home/atagar/Desktop/pywikibot/tests/link_tests.py", line 804, in 
test_fully_qualified_NS0
        self.assertEqual(link.site, pywikibot.Site(sitetitle))
    AssertionError: APISite("en", "test") != APISite("test", "wikipedia")
    
    ======================================================================
    FAIL: test_fully_qualified_NS1 
(tests.link_tests.TestFullyQualifiedNoLangFamilyImplicitLinkParser) 
(pattern='wikidata:testwiki')
    Test prefixed links with 'Talk:Q6' on enwp is namespace 1.
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/home/atagar/Desktop/pywikibot/tests/link_tests.py", line 816, in 
test_fully_qualified_NS1
        self.assertEqual(link.site, pywikibot.Site(sitetitle))
    AssertionError: APISite("en", "test") != APISite("test", "wikipedia")
    
    ----------------------------------------------------------------------
    Ran 1771 tests in 630.414s
    
    FAILED (failures=8, errors=5, skipped=107, expected failures=10, unexpected 
successes=1)
    
    real        10m31.700s
    user        2m20.211s
    sys 0m12.341s
  
  Tests should not rely on the user's local configuration. I have fixes for a 
few of these but quite yet for all of 'em.

TASK DETAIL
  https://phabricator.wikimedia.org/T287332

EMAIL PREFERENCES
  https://phabricator.wikimedia.org/settings/panel/emailpreferences/

To: atagar
Cc: Aklapper, pywikibot-bugs-list, atagar, Jyoo1011, JohnsonLee01, SHEKH, 
Dijkstra, Khutuck, Zkhalido, Viztor, Wenyi, Tbscho, MayS, Mdupont, JJMC89, 
Dvorapa, Altostratus, Avicennasis, mys_721tx, jayvdb, Masti, Alchimista
_______________________________________________
pywikibot-bugs mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to