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