Mineo has uploaded a new change for review.
https://gerrit.wikimedia.org/r/86436
Change subject: tests: Use unittest2 on python 2.6
......................................................................
tests: Use unittest2 on python 2.6
unittest2 is a backport of python 2.7s unittest features to 2.6.
Use it when running the tests that already use those features.
Change-Id: I5332e9e0815475d4bb4147bb5c1ef0d0ddc5c3bd
---
M setup.py
M tests/api_tests.py
M tests/dry_api_tests.py
M tests/dry_site_tests.py
M tests/i18n_tests.py
M tests/page_tests.py
M tests/pwb_tests.py
M tests/site_tests.py
M tests/textlib_tests.py
M tests/ui_tests.py
M tests/utils.py
M tests/wikibase_tests.py
12 files changed, 42 insertions(+), 28 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/pywikibot/core
refs/changes/36/86436/1
diff --git a/setup.py b/setup.py
index a38cfe8..ba9376d 100644
--- a/setup.py
+++ b/setup.py
@@ -17,10 +17,14 @@
from setuptools import setup, find_packages
from setuptools.command import install
+test_deps = []
+
if sys.version_info[0] != 2:
raise RuntimeError("ERROR: Pywikipediabot only runs under Python 2")
elif sys.version_info[1] < 6:
raise RuntimeError("ERROR: Pywikipediabot only runs under Python 2.6 or
higher")
+elif sys.version_info[1] == 6:
+ test_deps = ['unittest2']
class pwb_install(install.install):
@@ -48,6 +52,7 @@
'https://git.wikimedia.org/zip/?r=pywikibot/externals/httplib2.git&format=gz#egg=httplib2-0.8-pywikibot1'
],
test_suite="tests",
+ tests_require=test_deps,
classifiers=[
'License :: OSI Approved :: MIT License',
'Development Status :: 4 - Beta'
diff --git a/tests/api_tests.py b/tests/api_tests.py
index 7c21ff0..4437036 100644
--- a/tests/api_tests.py
+++ b/tests/api_tests.py
@@ -9,8 +9,7 @@
import datetime
import pywikibot
import pywikibot.data.api as api
-import unittest
-from utils import PywikibotTestCase
+from utils import PywikibotTestCase, unittest
mysite = pywikibot.Site('en', 'wikipedia')
diff --git a/tests/dry_api_tests.py b/tests/dry_api_tests.py
index cc18083..7348677 100644
--- a/tests/dry_api_tests.py
+++ b/tests/dry_api_tests.py
@@ -1,11 +1,10 @@
-import datetime
-import pywikibot
-from pywikibot.data.api import CachedRequest
-import unittest
-
-
-class DryAPITests(unittest.TestCase):
-
+import datetime
+import pywikibot
+from pywikibot.data.api import CachedRequest
+from utils import unittest
+
+class DryAPITests(unittest.TestCase):
+
def setUp(self):
self.parms = {'site': pywikibot.Site('en'),
'action': 'query',
diff --git a/tests/dry_site_tests.py b/tests/dry_site_tests.py
index 8847345..61b6452 100644
--- a/tests/dry_site_tests.py
+++ b/tests/dry_site_tests.py
@@ -1,8 +1,9 @@
-import pywikibot
-import unittest
-
-
-class DrySite(pywikibot.site.APISite):
+import pywikibot
+
+from utils import unittest
+
+
+class DrySite(pywikibot.site.APISite):
@property
def userinfo(self):
return self._userinfo
diff --git a/tests/i18n_tests.py b/tests/i18n_tests.py
index 8bef1e6..104f308 100644
--- a/tests/i18n_tests.py
+++ b/tests/i18n_tests.py
@@ -6,11 +6,12 @@
#
__version__ = '$Id$'
-import unittest
import os
from pywikibot import i18n
import shutil
+from utils import unittest
+
class TestTranslate(unittest.TestCase):
def setUp(self):
diff --git a/tests/page_tests.py b/tests/page_tests.py
index 5a60678..d764f68 100644
--- a/tests/page_tests.py
+++ b/tests/page_tests.py
@@ -10,11 +10,10 @@
__version__ = '$Id$'
-import unittest
import pywikibot
import pywikibot.page
-from utils import PywikibotTestCase
+from utils import PywikibotTestCase, unittest
site = pywikibot.Site('en', 'wikipedia')
mainpage = pywikibot.Page(pywikibot.page.Link("Main Page", site))
diff --git a/tests/pwb_tests.py b/tests/pwb_tests.py
index bd30b33..fe55e43 100644
--- a/tests/pwb_tests.py
+++ b/tests/pwb_tests.py
@@ -9,11 +9,10 @@
import os
import sys
import subprocess
-
-import unittest
-
import pywikibot
+from utils import unittest
+
pypath = sys.executable
basepath = os.path.split(os.path.split(__file__)[0])[0]
pwbpath = os.path.join(basepath, 'pwb.py')
diff --git a/tests/site_tests.py b/tests/site_tests.py
index 3958601..2fbcc01 100644
--- a/tests/site_tests.py
+++ b/tests/site_tests.py
@@ -10,11 +10,10 @@
__version__ = '$Id$'
-import unittest
import pywikibot
import warnings
from tests import patch_request, unpatch_request
-from utils import PywikibotTestCase
+from utils import PywikibotTestCase, unittest
mysite = None
mainpage = None
diff --git a/tests/textlib_tests.py b/tests/textlib_tests.py
index 3f504c0..52aa8e2 100644
--- a/tests/textlib_tests.py
+++ b/tests/textlib_tests.py
@@ -10,13 +10,14 @@
import mwparserfromhell
except ImportError:
mwparserfromhell = False
-import unittest
import codecs
import os
import pywikibot
import pywikibot.textlib as textlib
+from utils import unittest
+
files = {}
dirname = os.path.join(os.path.dirname(__file__), "pages")
diff --git a/tests/ui_tests.py b/tests/ui_tests.py
index d4ba066..2f01410 100644
--- a/tests/ui_tests.py
+++ b/tests/ui_tests.py
@@ -9,13 +9,14 @@
#
__version__ = '$Id$'
-import unittest
import cStringIO
import StringIO
import logging
import os
import sys
+from utils import unittest
+
if os.name == "nt":
from multiprocessing.managers import BaseManager
import threading
diff --git a/tests/utils.py b/tests/utils.py
index adb31b7..4349552 100644
--- a/tests/utils.py
+++ b/tests/utils.py
@@ -1,4 +1,15 @@
-import unittest
+try:
+ # Unittest2 is a backport of python 2.7s unittest module to python 2.6
+ # Trying to import unittest2 has to happen first because 2.6 does have a
+ # unittest module in the standard library but that doesn't support all the
+ # features of the one found in python 2.7, so importing unittest first and
+ # then trying to figure out if it supports the features used would mean
+ # checking the module contents etc. Just catching an ImportError once is
+ # much easier.
+ import unittest2 as unittest
+except ImportError:
+ import unittest
+
from tests import patch_request, unpatch_request
diff --git a/tests/wikibase_tests.py b/tests/wikibase_tests.py
index ef39990..eb653d8 100644
--- a/tests/wikibase_tests.py
+++ b/tests/wikibase_tests.py
@@ -10,11 +10,10 @@
__version__ = '$Id$'
import os
-import unittest
import pywikibot
import json
-from utils import PywikibotTestCase
+from utils import PywikibotTestCase, unittest
site = pywikibot.Site('en', 'wikipedia')
mainpage = pywikibot.Page(pywikibot.page.Link("Main Page", site))
--
To view, visit https://gerrit.wikimedia.org/r/86436
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I5332e9e0815475d4bb4147bb5c1ef0d0ddc5c3bd
Gerrit-PatchSet: 1
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: Mineo <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits