You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					68 lines
				
				2.5 KiB
			
		
		
			
		
	
	
					68 lines
				
				2.5 KiB
			| 
								 
											3 years ago
										 
									 | 
							
								"""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
							 | 
						||
| 
								 | 
							
								#=============================================================================
							 |