mirror of
https://github.com/rembo10/headphones.git
synced 2026-07-20 16:03:59 +01:00
Merge remote-tracking branch 'maxkoryukov/fix/unittestcompat' into develop
This commit is contained in:
@@ -1,20 +1,27 @@
|
|||||||
import sys
|
import sys
|
||||||
from unittest import TestCase as TC
|
if sys.version_info < (2, 7):
|
||||||
|
import unittest2 as unittest
|
||||||
|
from unittest2 import TestCase as TC
|
||||||
|
else:
|
||||||
|
import unittest
|
||||||
|
from unittest import TestCase as TC
|
||||||
|
|
||||||
def _is26():
|
skip = unittest.skip
|
||||||
if sys.version_info[0] == 2 and sys.version_info[1] == 6:
|
|
||||||
return True
|
|
||||||
return False
|
|
||||||
|
|
||||||
_dummy = _is26()
|
_dummy = False
|
||||||
|
|
||||||
|
# less than 2.6 ...
|
||||||
|
if sys.version_info[0] == 2 and sys.version_info[1] <= 6:
|
||||||
|
_dummy = True
|
||||||
|
|
||||||
def _d(f):
|
def _d(f):
|
||||||
def decorate(self, *args, **kw):
|
def decorate(self, *args, **kw):
|
||||||
if _dummy:
|
if not _dummy:
|
||||||
return self.assertTrue(True)
|
return f(self, *args, **kw)
|
||||||
return f(self, *args, **kw)
|
return self.assertTrue(True)
|
||||||
return decorate
|
return decorate
|
||||||
|
|
||||||
|
|
||||||
class TestCase(TC):
|
class TestCase(TC):
|
||||||
"""
|
"""
|
||||||
Wrapper for python 2.6 stubs
|
Wrapper for python 2.6 stubs
|
||||||
@@ -38,6 +45,9 @@ class TestCase(TC):
|
|||||||
def assertRegexpMatches(self, *args, **kw):
|
def assertRegexpMatches(self, *args, **kw):
|
||||||
return super(TestCase, self).assertRegexpMatches(*args, **kw)
|
return super(TestCase, self).assertRegexpMatches(*args, **kw)
|
||||||
|
|
||||||
|
# -----------------------------------------------------------
|
||||||
|
# NOT DUMMY ASSERTIONS
|
||||||
|
# -----------------------------------------------------------
|
||||||
def assertIsNone(self, val, msg=None):
|
def assertIsNone(self, val, msg=None):
|
||||||
if not _dummy:
|
if not _dummy:
|
||||||
return super(TestCase, self).assertIsNone(val, msg)
|
return super(TestCase, self).assertIsNone(val, msg)
|
||||||
@@ -50,24 +60,37 @@ class TestCase(TC):
|
|||||||
tst = val is not None
|
tst = val is not None
|
||||||
return super(TestCase, self).assertTrue(tst, msg)
|
return super(TestCase, self).assertTrue(tst, msg)
|
||||||
|
|
||||||
|
def assertRaises(self, exc, msg=None):
|
||||||
|
if not _dummy:
|
||||||
|
return super(TestCase, self).assertRaises(exc, msg)
|
||||||
|
return TestCase._TestCaseRaiseStub(self, exc, msg=msg)
|
||||||
|
|
||||||
|
def assertRaisesRegexp(self, exc, regex, msg=None):
|
||||||
|
if not _dummy:
|
||||||
|
return super(TestCase, self).assertRaises(exc, msg)
|
||||||
|
return TestCase._TestCaseRaiseStub(self, exc, regex=regex, msg=msg)
|
||||||
|
|
||||||
class _TestCaseRaiseStub:
|
class _TestCaseRaiseStub:
|
||||||
def __init__(self, exc, tc):
|
""" Internal stuff for stubbing `assertRaises*` """
|
||||||
|
|
||||||
|
def __init__(self, test_case, exc, regex=None, msg=None):
|
||||||
self.exc = exc
|
self.exc = exc
|
||||||
self.tc = tc
|
self.test_case = test_case
|
||||||
|
self.regex = regex
|
||||||
|
self.msg = msg
|
||||||
|
|
||||||
def __enter__(self):
|
def __enter__(self):
|
||||||
return self
|
return self
|
||||||
|
|
||||||
def __exit__(self, tp, value, traceback):
|
def __exit__(self, tp, value, traceback):
|
||||||
tst = tp is self.exc
|
tst = tp is self.exc
|
||||||
self.tc.assertTrue(tst)
|
self.test_case.assertTrue(tst, msg=self.msg)
|
||||||
self.exception = value
|
self.exception = value
|
||||||
return True
|
|
||||||
|
|
||||||
def assertRaises(self, exc, msg=None):
|
# TODO: implement self.regex checking
|
||||||
if not _dummy:
|
|
||||||
return super(TestCase, self).assertRaises(exc, msg)
|
# True indicates, that exception is handled
|
||||||
return TestCase._TestCaseRaiseStub(exc, self)
|
return True
|
||||||
|
|
||||||
def TestArgs(*parameters):
|
def TestArgs(*parameters):
|
||||||
def tuplify(x):
|
def tuplify(x):
|
||||||
|
|||||||
Reference in New Issue
Block a user