jenkins-bot has submitted this change and it was merged.
Change subject: [WIP] test connectionError
......................................................................
[WIP] test connectionError
Change-Id: I343de43a35d6b1562072ba837f5a970b3c3e2a76
---
M pywikibot/site_detect.py
M tests/site_detect_tests.py
M tox.ini
3 files changed, 6 insertions(+), 99 deletions(-)
Approvals:
Xqt: Looks good to me, approved
jenkins-bot: Verified
diff --git a/pywikibot/site_detect.py b/pywikibot/site_detect.py
index 444b80b..a6a3003 100644
--- a/pywikibot/site_detect.py
+++ b/pywikibot/site_detect.py
@@ -54,8 +54,6 @@
r = fetch(fromurl)
if r.status == 503:
raise ServerError('Service Unavailable')
- if r.status == 104:
- raise ServerError('Connection reset by peer')
if fromurl != r.data.url:
pywikibot.log('{0} redirected to {1}'.format(fromurl, r.data.url))
diff --git a/tests/site_detect_tests.py b/tests/site_detect_tests.py
index 51e7904..5829bfe 100644
--- a/tests/site_detect_tests.py
+++ b/tests/site_detect_tests.py
@@ -11,6 +11,7 @@
from requests.exceptions import Timeout
+import pywikibot
from pywikibot.exceptions import ServerError
from pywikibot.site_detect import MWSite
from pywikibot.tools import MediaWikiVersion
@@ -86,9 +87,11 @@
try:
site = MWSite(url)
except (ServerError, Timeout) as e:
+ pywikibot.exception()
self.skips[url] = e
return
except Exception as e:
+ pywikibot.exception()
print('failure {0} on {1}: {2}'.format(
url, type(e), e))
self.errors[url] = e
@@ -100,6 +103,7 @@
self.assertIsInstance(site, result)
self.passes[url] = site
except AssertionError as error:
+ pywikibot.exception()
self.failures[url] = error
def assertSite(self, url):
@@ -169,102 +173,7 @@
def test_detect_site(self):
"""Test detection of MediaWiki sites."""
-
self.assertSite('http://www.hrwiki.org/index.php/$1') # v 1.15
self.assertSite('http://www.proofwiki.org/wiki/$1')
- self.assertSite(
- 'http://www.ck-wissen.de/ckwiki/index.php?title=$1')
-
self.assertSite('http://en.citizendium.org/wiki/$1')
- self.assertSite(
- 'http://www.lojban.org/tiki/tiki-index.php?page=$1')
-
self.assertSite('http://www.wikichristian.org/index.php?title=$1')
-
self.assertSite('https://en.wikifur.com/wiki/$1')
-
self.assertSite('http://bluwiki.com/go/$1')
-
self.assertSite('http://kino.skripov.com/index.php/$1')
- self.assertAllPass()
-
- def test_wikisophia(self):
- """Test
wikisophia.org which has redirect
problems."""
- # /index.php?title=$1 reports 404, however a wiki exists there,
- # but the API is also hidden.
-
self.assertNoSite('http://wikisophia.org/index.php?title=$1')
- self.assertAllError()
-
- def test_pre_114_sites(self):
- """Test pre 1.14 sites which should be detected as
unsupported."""
- # v1.12
- self.assertNoSite('http://www.livepedia.gr/index.php?title=$1')
- # v1.11
-
self.assertNoSite('http://www.wikifon.org/$1')
-
self.assertNoSite('http://glossary.reuters.com/index.php?title=$1')
- # v1.11, with no query module
-
self.assertNoSite('http://wikitree.org/index.php?title=$1')
- # v1.9
-
self.assertNoSite('http://www.wikinvest.com/$1')
- self.assertAllError()
-
- def test_non_standard_version_sites(self):
- """Test non-standard version string sites."""
-
self.assertSite('https://wiki.gentoo.org/wiki/$1')
-
self.assertSite('http://wiki.arabeyes.org/$1')
-
self.assertSite('http://tfwiki.net/wiki/$1')
- self.assertAllPass()
-
- @unittest.expectedFailure # Test no longer valid
- def test_detect_failure(self):
- """Test detection failure for MediaWiki sites with an
API."""
- # SSL certificate verification fails
-
self.assertNoSite('http://hackerspaces.org/wiki/$1')
- self.assertAllError()
-
- @unittest.expectedFailure
- def test_api_hidden(self):
- """Test MediaWiki sites with a hidden enabled
API."""
- # api.php is not available
-
self.assertNoSite('http://wiki.animutationportal.com/index.php/$1')
- # HTML looks like it has an API, but redirect rules prevent access
-
self.assertNoSite('http://www.EcoReality.org/wiki/$1')
- self.assertAllError()
-
- def test_api_disabled(self):
- """Test MediaWiki sites without an enabled API."""
-
self.assertNoSite('http://wiki.linuxquestions.org/wiki/$1')
- self.assertAllError()
-
- def test_offline_sites(self):
- """Test offline sites."""
-
self.assertNoSite('http://seattlewiki.org/wiki/$1')
- self.assertAllError()
-
- def test_pre_api_sites(self):
- """Test detection of MediaWiki sites prior to the
API."""
-
self.assertNoSite('http://www.wikif1.org/$1')
-
self.assertNoSite('http://www.thelemapedia.org/index.php/$1')
- self.assertNoSite('http://esperanto.blahus.cz/cxej/vikio/index.php/$1')
-
self.assertNoSite('http://www.werelate.org/wiki/$1')
- self.assertNoSite('http://www.otterstedt.de/wiki/index.php/$1')
-
self.assertNoSite('http://kb.mozillazine.org/$1')
- self.assertAllError()
-
- def test_detect_nosite(self):
- """Test detection of non-wiki sites."""
-
self.assertNoSite('http://www.imdb.com/name/nm$1/')
-
self.assertNoSite('http://www.ecyrd.com/JSPWiki/Wiki.jsp?page=$1')
- self.assertNoSite('http://operawiki.info/$1')
- self.assertNoSite(
- 'http://www.tvtropes.org/pmwiki/pmwiki.php/Main/$1')
-
self.assertNoSite('http://c2.com/cgi/wiki?$1')
-
self.assertNoSite('https://phabricator.wikimedia.org/$1')
- self.assertNoSite(
-
'http://www.merriam-webster.com/cgi-bin/dictionary?book=Dictionary&va=$1')
-
self.assertNoSite('http://arxiv.org/abs/$1')
- self.assertAllError()
-
- def test_musicbrainz_doc(self):
- """Test
http://musicbrainz.org/doc/ which has a page
'api.php'."""
- # Possible false positive caused by the existance of a page
- # called
http://musicbrainz.org/doc/api.php
-
self.assertNoSite('http://musicbrainz.org/doc/$1')
- self.assertAllError()
if __name__ == '__main__':
diff --git a/tox.ini b/tox.ini
index 1fad75b..5c42ad3 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,12 +1,12 @@
[tox]
minversion = 1.6
skipsdist = True
-envlist = flake8,flake8-py3,doctest-{py27,py34},py26,py27,py34
+envlist = flake8,doctest-{py27,py34},py27
[tox:jenkins]
# Override default for WM Jenkins
# Others are run in their own individual jobs on WM Jenkins
-envlist = flake8,flake8-py3
+envlist = flake8
[params]
doctest_skip = --ignore-files=(gui\.py|botirc\.py|rcstream\.py)
--
To view, visit
https://gerrit.wikimedia.org/r/285162
To unsubscribe, visit
https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I343de43a35d6b1562072ba837f5a970b3c3e2a76
Gerrit-PatchSet: 2
Gerrit-Project: pywikibot/core
Gerrit-Branch: nexqt
Gerrit-Owner: Xqt <info(a)gno.de>
Gerrit-Reviewer: John Vandenberg <jayvdb(a)gmail.com>
Gerrit-Reviewer: Xqt <info(a)gno.de>
Gerrit-Reviewer: jenkins-bot <>