File: backports.py

package info (click to toggle)
python-passlib 1.7.4-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 3,920 kB
  • sloc: python: 23,094; makefile: 3
file content (67 lines) | stat: -rw-r--r-- 2,593 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
"""backports of needed unittest2 features"""
#=============================================================================
# imports
#=============================================================================
from __future__ import with_statement
# core
import logging; log = logging.getLogger(__name__)
import re
import sys
##from warnings import warn
# site
# pkg
from passlib.utils.compat import PY26
# local
__all__ = [
    "TestCase",
    "unittest",
    # TODO: deprecate these exports in favor of "unittest.XXX"
    "skip", "skipIf", "skipUnless",
]

#=============================================================================
# import latest unittest module available
#=============================================================================
try:
    import unittest2 as unittest
except ImportError:
    if PY26:
        raise ImportError("Passlib's tests require 'unittest2' under Python 2.6 (as of Passlib 1.7)")
    # python 2.7 and python 3.2 both have unittest2 features (at least, the ones we use)
    import unittest

#=============================================================================
# unittest aliases
#=============================================================================
skip = unittest.skip
skipIf = unittest.skipIf
skipUnless = unittest.skipUnless
SkipTest = unittest.SkipTest

#=============================================================================
# custom test harness
#=============================================================================
class TestCase(unittest.TestCase):
    """backports a number of unittest2 features in TestCase"""

    #===================================================================
    # backport some unittest2 names
    #===================================================================

    #---------------------------------------------------------------
    # backport assertRegex() alias from 3.2 to 2.7
    # was present in 2.7 under an alternate name
    #---------------------------------------------------------------
    if not hasattr(unittest.TestCase, "assertRegex"):
        assertRegex = unittest.TestCase.assertRegexpMatches

    if not hasattr(unittest.TestCase, "assertRaisesRegex"):
        assertRaisesRegex = unittest.TestCase.assertRaisesRegexp

    #===================================================================
    # eoc
    #===================================================================

#=============================================================================
# eof
#=============================================================================