See https://travis-ci.org/wikimedia/pywikibot/jobs/514032926
see also: https://api.travis-ci.org/v3/job/517082653/log.txt
=================================== FAILURES =================================== _______________ TestFactoryGenerator.test_recentchanges_default ________________ self = <tests.pagegenerators_tests.TestFactoryGenerator testMethod=test_recentchanges_default> def test_recentchanges_default(self): """Test recentchanges generator with default setting.""" gf = pagegenerators.GeneratorFactory(site=self.site) gf.handleArg('-recentchanges:60') gen = gf.getCombinedGenerator() self.assertIsNotNone(gen) > self.assertPagesInNamespacesAll(gen, {0, 1, 2}, skip=True) tests/pagegenerators_tests.py:1014: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/aspects.py:252: in assertPagesInNamespacesAll page_namespaces = [page.namespace() for page in gen] tests/aspects.py:252: in <listcomp> page_namespaces = [page.namespace() for page in gen] pywikibot/tools/__init__.py:1161: in filter_unique if (key(item) if key else item) not in container: pywikibot/pagegenerators.py:422: in <lambda> filter_unique, key=lambda page: '{}:{}:{}'.format(*page._cmpkey())) pywikibot/page.py:413: in _cmpkey return (self.site, self.namespace(), self.title()) pywikibot/page.py:220: in site return self._link.site pywikibot/page.py:5755: in site self.parse() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[InvalidTitle("'User:#11' has no title.") raised in repr()] Link object at 0x7f601f32b278> def parse(self): """ Parse wikitext of the link. Called internally when accessing attributes. """ self._site = self._source self._namespace = self._defaultns self._is_interwiki = False ns_prefix = False old_position = int(self._text.startswith(':')) colon_position = self._text.find(':', old_position) first_other_site = None while colon_position >= 0: prefix = self._text[old_position:colon_position].lower() # All spaces after a prefix are discarded colon_position += 1 while (len(self._text) > colon_position and self._text[colon_position] == ' '): colon_position += 1 ns = self._site.namespaces.lookup_name(prefix) if ns: if len(self._text) <= colon_position: raise pywikibot.InvalidTitle( "'{0}' has no title.".format(self._text)) self._namespace = ns ns_prefix = True old_position = colon_position break try: newsite = self._site.interwiki(prefix) except KeyError: break # text before : doesn't match any known prefix except SiteDefinitionError as e: raise SiteDefinitionError( '{0} is not a local page on {1}, and the interwiki ' 'prefix {2} is not supported by Pywikibot!\n{3}' .format(self._text, self._site, prefix, e)) else: if first_other_site: if not self._site.local_interwiki(prefix): raise pywikibot.InvalidTitle( '{0} links to a non local site {1} via an ' 'interwiki link to {2}.'.format( self._text, newsite, first_other_site)) elif newsite != self._source: first_other_site = newsite self._site = newsite self._is_interwiki = True old_position = colon_position colon_position = self._text.find(':', old_position) # Remove any namespaces/interwiki prefixes t = self._text[old_position:] if '#' in t: t, sec = t.split('#', 1) t, self._section = t.rstrip(), sec.lstrip() else: self._section = None if ns_prefix: # 'namespace:' is not a valid title if not t: raise pywikibot.InvalidTitle( > "'{0}' has no title.".format(self._text)) E pywikibot.exceptions.InvalidTitle: 'User:#11' has no title. pywikibot/page.py:5694: InvalidTitle ______________ TestFactoryGenerator.test_recentchanges_ns_default ______________ self = <tests.pagegenerators_tests.TestFactoryGenerator testMethod=test_recentchanges_ns_default> def test_recentchanges_ns_default(self): """Test recentchanges generator.""" gf = pagegenerators.GeneratorFactory(site=self.site) gf.handleArg('-recentchanges:50') gen = gf.getCombinedGenerator() self.assertIsNotNone(gen) > self.assertPagesInNamespacesAll(gen, {0, 1, 2}, skip=True) tests/pagegenerators_tests.py:1030: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/aspects.py:252: in assertPagesInNamespacesAll page_namespaces = [page.namespace() for page in gen] tests/aspects.py:252: in <listcomp> page_namespaces = [page.namespace() for page in gen] pywikibot/tools/__init__.py:1161: in filter_unique if (key(item) if key else item) not in container: pywikibot/pagegenerators.py:422: in <lambda> filter_unique, key=lambda page: '{}:{}:{}'.format(*page._cmpkey())) pywikibot/page.py:413: in _cmpkey return (self.site, self.namespace(), self.title()) pywikibot/page.py:220: in site return self._link.site pywikibot/page.py:5755: in site self.parse() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[InvalidTitle("'User:#11' has no title.") raised in repr()] Link object at 0x7f601f1e3d30> def parse(self): """ Parse wikitext of the link. Called internally when accessing attributes. """ self._site = self._source self._namespace = self._defaultns self._is_interwiki = False ns_prefix = False old_position = int(self._text.startswith(':')) colon_position = self._text.find(':', old_position) first_other_site = None while colon_position >= 0: prefix = self._text[old_position:colon_position].lower() # All spaces after a prefix are discarded colon_position += 1 while (len(self._text) > colon_position and self._text[colon_position] == ' '): colon_position += 1 ns = self._site.namespaces.lookup_name(prefix) if ns: if len(self._text) <= colon_position: raise pywikibot.InvalidTitle( "'{0}' has no title.".format(self._text)) self._namespace = ns ns_prefix = True old_position = colon_position break try: newsite = self._site.interwiki(prefix) except KeyError: break # text before : doesn't match any known prefix except SiteDefinitionError as e: raise SiteDefinitionError( '{0} is not a local page on {1}, and the interwiki ' 'prefix {2} is not supported by Pywikibot!\n{3}' .format(self._text, self._site, prefix, e)) else: if first_other_site: if not self._site.local_interwiki(prefix): raise pywikibot.InvalidTitle( '{0} links to a non local site {1} via an ' 'interwiki link to {2}.'.format( self._text, newsite, first_other_site)) elif newsite != self._source: first_other_site = newsite self._site = newsite self._is_interwiki = True old_position = colon_position colon_position = self._text.find(':', old_position) # Remove any namespaces/interwiki prefixes t = self._text[old_position:] if '#' in t: t, sec = t.split('#', 1) t, self._section = t.rstrip(), sec.lstrip() else: self._section = None if ns_prefix: # 'namespace:' is not a valid title if not t: raise pywikibot.InvalidTitle( > "'{0}' has no title.".format(self._text)) E pywikibot.exceptions.InvalidTitle: 'User:#11' has no title. pywikibot/page.py:5694: InvalidTitle
See also T195730