summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabrice Douchant <Fabrice.Douchant@logilab.fr>2008-10-21 09:50:02 +0200
committerFabrice Douchant <Fabrice.Douchant@logilab.fr>2008-10-21 09:50:02 +0200
commite0d49d01c92fd532363bde94cadf428dc9b91ec3 (patch)
treee2be56785973ef45062750d784ca9a8602d949b0
parentb8bac257593f24fd87bd6a86bceb6e7c0b38873d (diff)
downloadlogilab-common-e0d49d01c92fd532363bde94cadf428dc9b91ec3.tar.gz
removing require_version and require_module. Those decorators have been moved to testlib
-rw-r--r--decorators.py39
-rw-r--r--test/unittest_decorators.py74
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()