Skip to content

Commit

Permalink
Updated logbook to use unittest2 module for unittesting (if python < …
Browse files Browse the repository at this point in the history
…2.7)
  • Loading branch information
shanx committed Dec 8, 2011
1 parent b4a9c7b commit 2312e63
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 48 deletions.
22 changes: 4 additions & 18 deletions logbook/testsuite/__init__.py
Expand Up @@ -9,7 +9,7 @@
:license: BSD, see LICENSE for more details.
"""
import sys
import unittest
import unittest2
import logbook


Expand All @@ -19,19 +19,19 @@
_func_none = lambda f: None


class LogbookTestSuite(unittest.TestSuite):
class LogbookTestSuite(unittest2.TestSuite):

def run(self, result):
try:
return unittest.TestSuite.run(self, result)
return unittest2.TestSuite.run(self, result)
finally:
sys.stderr.write('\n')
for mod in _skipped_modules:
msg = '*** Failed to import %s, tests skipped.\n' % mod
sys.stderr.write(msg)


class LogbookTestCase(unittest.TestCase):
class LogbookTestCase(unittest2.TestCase):

def setUp(self):
self.log = logbook.Logger('testlogger')
Expand Down Expand Up @@ -86,17 +86,3 @@ def wrapper(*args, **kwargs):
sys.modules[name] = old
return wrapper
return decorate


def suite():
loader = unittest.TestLoader()
suite = LogbookTestSuite()
suite.addTests(loader.loadTestsFromName('logbook.testsuite.test_regular'))
if sys.version_info >= (2, 5):
suite.addTests(loader.loadTestsFromName
('logbook.testsuite.test_contextmanager'))
return suite


if __name__ == '__main__':
unittest.main(defaultTest='suite')
6 changes: 1 addition & 5 deletions logbook/testsuite/test_contextmanager.py
Expand Up @@ -15,7 +15,7 @@
import sys
import pickle
import shutil
import unittest
import unittest2
import tempfile
import socket
from datetime import datetime, timedelta
Expand Down Expand Up @@ -827,7 +827,3 @@ def test_tagged(self):
self.assert_('info message' not in stringio)
self.assert_('all message' in stringio)
self.assert_('cmd message' in stringio)


if __name__ == '__main__':
unittest.main()
21 changes: 2 additions & 19 deletions logbook/testsuite/test_regular.py
Expand Up @@ -17,7 +17,7 @@
import thread
import pickle
import shutil
import unittest
import unittest2
import tempfile
import socket
from datetime import datetime, timedelta
Expand Down Expand Up @@ -1483,7 +1483,7 @@ def test_basic_ticketing(self):
self.assert_('1 / 0' in record.formatted_exception)


class HelperTestCase(unittest.TestCase):
class HelperTestCase(unittest2.TestCase):

def test_jsonhelper(self):
from logbook.helpers import to_safe_json
Expand Down Expand Up @@ -1519,20 +1519,3 @@ def test_datehelpers(self):
self.assertEqual(v.hour, 11)
v = parse_iso8601('2000-01-01T12:00:00-01:00')
self.assertEqual(v.hour, 13)


def suite():
loader = unittest.TestLoader()
suite = LogbookTestSuite()
suite.addTests(loader.loadTestsFromName(__name__))
try:
suite.addTests(loader.loadTestsFromName
('logbook.testsuite.test_contextmanager'))
except SyntaxError:
# Python 2.4 does not support the 'with' statement
pass
return suite


if __name__ == '__main__':
unittest.main(defaultTest='suite')
26 changes: 20 additions & 6 deletions tox.ini
@@ -1,26 +1,40 @@
[tox]
envlist=py24,py25,py26,py27,py31,docs
envlist=py25,py26,py27,py31,docs

[testenv]
commands=unit2 discover []

[testenv:py24]
deps=
SQLAlchemy
pysqlite
simplejson
multiprocessing
execnet
Jinja2
unittest2==0.5.1

[testenv:py25]
deps=
SQLAlchemy
simplejson
multiprocessing
pyzmq
execnet
Jinja2
commands=python -c __import__('unittest').main('logbook.testsuite','suite')
changedir={toxworkdir}
unittest2==0.5.1

[testenv:py24]
[testenv:py26]
deps=
SQLAlchemy
pysqlite
simplejson
multiprocessing
pyzmq
execnet
Jinja2
unittest2==0.5.1

[testenv:py25]
[testenv:py27]
deps=
SQLAlchemy
simplejson
Expand Down

0 comments on commit 2312e63

Please sign in to comment.