diff options
Diffstat (limited to 'tests/chrysacase.py')
| -rw-r--r-- | tests/chrysacase.py | 48 | 
1 files changed, 48 insertions, 0 deletions
| diff --git a/tests/chrysacase.py b/tests/chrysacase.py new file mode 100644 index 0000000..26625e7 --- /dev/null +++ b/tests/chrysacase.py @@ -0,0 +1,48 @@ +#!/usr/bin/python3-dbg +# -*- coding: utf-8 -*- + + +import unittest +import os +import sys + + +class ChrysalideTestCase(unittest.TestCase): +    """Base class for all Chrysalide test cases.""" + +    @classmethod +    def setUpClass(cls): + +        fullname = sys.modules[ChrysalideTestCase.__module__].__file__ +        filename = os.path.basename(fullname) + +        cls._baselen = len(fullname) - len(filename) + + +    def shortDescription(self): +        """Discard the direct use of __doc__ strings.""" + +        return None + + +    def __str__(self): +        """Display the description of the current tested case.""" + +        fullname = sys.modules[self.__class__.__module__].__file__ + +        origin = fullname[self._baselen:] + +        title = self._testMethodDoc and self._testMethodDoc or self._testMethodName + +        return '[%s] "%s"' % (origin, title) + + +    @classmethod +    def log(cls, msg): +        """Display an information message.""" + +        fullname = sys.modules[cls.__module__].__file__ + +        origin = fullname[cls._baselen:] + +        print('[%s] *** %s ***' % (origin, msg)) | 
