diff options
author | Fabrice Douchant <Fabrice.Douchant@logilab.fr> | 2008-10-21 09:50:02 +0200 |
---|---|---|
committer | Fabrice Douchant <Fabrice.Douchant@logilab.fr> | 2008-10-21 09:50:02 +0200 |
commit | e0d49d01c92fd532363bde94cadf428dc9b91ec3 (patch) | |
tree | e2be56785973ef45062750d784ca9a8602d949b0 | |
parent | b8bac257593f24fd87bd6a86bceb6e7c0b38873d (diff) | |
download | logilab-common-e0d49d01c92fd532363bde94cadf428dc9b91ec3.tar.gz |
removing require_version and require_module. Those decorators have been moved to testlib
-rw-r--r-- | decorators.py | 39 | ||||
-rw-r--r-- | test/unittest_decorators.py | 74 |
2 files changed, 0 insertions, 113 deletions
diff --git a/decorators.py b/decorators.py index 64b5e08..7f1ff29 100644 --- a/decorators.py +++ b/decorators.py @@ -143,42 +143,3 @@ def locked(acquire, release): release(self) return wrapper return decorator - -def require_version(version): - """ Compare version of python interpretor to the given one. Skip the test - if older. - """ - def check_require_version(f): - version_elements = version.split('.') - try: - compare = tuple([int(v) for v in version_elements]) - except ValueError: - raise ValueError('%s is not a correct version : should be X.Y[.Z].' % version) - current = sys.version_info[:3] - #print 'comp', current, compare - if current < compare: - #print 'version too old' - def new_f(self, *args, **kwargs): - self.skip('Need at least %s version of python. Current version is %s.' % (version, '.'.join([str(element) for element in current]))) - new_f.__name__ = f.__name__ - return new_f - else: - #print 'version young enough' - return f - return check_require_version - -def require_module(module): - """ Check if the given module is loaded. Skip the test if not. - """ - def check_require_module(f): - try: - __import__(module) - #print module, 'imported' - return f - except ImportError: - #print module, 'can not be imported' - def new_f(self, *args, **kwargs): - self.skip('%s can not be imported.' % module) - new_f.__name__ = f.__name__ - return new_f - return check_require_module diff --git a/test/unittest_decorators.py b/test/unittest_decorators.py deleted file mode 100644 index 855f242..0000000 --- a/test/unittest_decorators.py +++ /dev/null @@ -1,74 +0,0 @@ -import sys -from logilab.common.testlib import TestCase, unittest_main, TestSuite -from logilab.common.decorators import require_version, require_module - -class DecoratorsTC(TestCase): - def test_require_version_good(self): - """ should return the same function - """ - def func() : - pass - sys.version_info = (2, 5, 5, 'final', 4) - current = sys.version_info[:3] - compare = ('2.4', '2.5', '2.5.4', '2.5.5') - for version in compare: - decorator = require_version(version) - self.assertEquals(func, decorator(func), '%s =< %s : function \ - return by the decorator should be the same.' % (version, - '.'.join([str(element) for element in current]))) - - def test_require_version_bad(self): - """ should return a different function : skipping test - """ - def func() : - pass - sys.version_info = (2, 5, 5, 'final', 4) - current = sys.version_info[:3] - compare = ('2.5.6', '2.6', '2.6.5') - for version in compare: - decorator = require_version(version) - self.assertNotEquals(func, decorator(func), '%s >= %s : function \ - return by the decorator should NOT be the same.' - % ('.'.join([str(element) for element in current]), version)) - - def test_require_version_exception(self): - """ should throw a ValueError exception - """ - def func() : - pass - compare = ('2.5.a', '2.a', 'azerty') - for version in compare: - decorator = require_version(version) - self.assertRaises(ValueError, decorator, func) - - def test_require_module_good(self): - """ should return the same function - """ - def func() : - pass - module = 'sys' - decorator = require_module(module) - self.assertEquals(func, decorator(func), 'module %s exists : function \ - return by the decorator should be the same.' % module) - - def test_require_module_bad(self): - """ should return a different function : skipping test - """ - def func() : - pass - modules = ('bla', 'blo', 'bli') - for module in modules: - try: - __import__(module) - pass - except ImportError: - decorator = require_module(module) - self.assertNotEquals(func, decorator(func), 'module %s does \ - not exist : function return by the decorator should \ - NOT be the same.' % module) - return - print 'all modules in %s exist. Could not test %s' % (', '.join(modules), - sys._getframe().f_code.co_name) - -if __name__ == '__main__': - unittest_main() |