mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 11:49:12 +00:00 
			
		
		
		
	svn+ssh://pythondev@svn.python.org/python/trunk ........ r61189 | brett.cannon | 2008-03-03 01:38:58 +0100 (Mon, 03 Mar 2008) | 5 lines Refactor test_logging to use unittest. This should finally solve the flakiness issues. Thanks to Antoine Pitrou for the patch. ........ r61190 | jeffrey.yasskin | 2008-03-03 02:27:03 +0100 (Mon, 03 Mar 2008) | 3 lines compile.c always emits END_FINALLY after WITH_CLEANUP, so predict that in ceval.c. This is worth about a .03-.04us speedup on a simple with block. ........ r61192 | brett.cannon | 2008-03-03 03:41:40 +0100 (Mon, 03 Mar 2008) | 4 lines Move test_largefile over to using 'with' statements for open files. Also rename the driver function to test_main() instead of main_test(). ........ r61194 | brett.cannon | 2008-03-03 04:24:48 +0100 (Mon, 03 Mar 2008) | 3 lines Add a note in the main test class' docstring that the order of execution of the tests is important. ........ r61195 | brett.cannon | 2008-03-03 04:26:43 +0100 (Mon, 03 Mar 2008) | 3 lines Add a note in the main test class' docstring that the order of execution of the tests is important. ........ r61198 | brett.cannon | 2008-03-03 05:19:29 +0100 (Mon, 03 Mar 2008) | 4 lines Add test_main() functions to various tests where it was simple to do. Done so that regrtest can execute the test_main() directly instead of relying on import side-effects. ........ r61199 | neal.norwitz | 2008-03-03 05:37:45 +0100 (Mon, 03 Mar 2008) | 1 line Only DECREF if ret != NULL ........
		
			
				
	
	
		
			61 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable file
		
	
	
	
	
#! /usr/bin/env python
 | 
						|
"""Test script for the dbm module
 | 
						|
   Roger E. Masse
 | 
						|
"""
 | 
						|
import os
 | 
						|
import dbm
 | 
						|
from dbm import error
 | 
						|
from test.test_support import verbose, verify, TestSkipped, TESTFN
 | 
						|
 | 
						|
# make filename unique to allow multiple concurrent tests
 | 
						|
# and to minimize the likelihood of a problem from an old file
 | 
						|
filename = TESTFN
 | 
						|
 | 
						|
def cleanup():
 | 
						|
    for suffix in ['', '.pag', '.dir', '.db']:
 | 
						|
        try:
 | 
						|
            os.unlink(filename + suffix)
 | 
						|
        except OSError as e:
 | 
						|
            (errno, strerror) = e.errno, e.strerror
 | 
						|
            # if we can't delete the file because of permissions,
 | 
						|
            # nothing will work, so skip the test
 | 
						|
            if errno == 1:
 | 
						|
                raise TestSkipped('unable to remove: ' + filename + suffix)
 | 
						|
 | 
						|
def test_keys():
 | 
						|
    d = dbm.open(filename, 'c')
 | 
						|
    verify(d.keys() == [])
 | 
						|
    d[b'a'] = b'b'
 | 
						|
    d[b'12345678910'] = b'019237410982340912840198242'
 | 
						|
    d.keys()
 | 
						|
    if b'a' in d:
 | 
						|
        if verbose:
 | 
						|
            print('Test dbm keys: ', d.keys())
 | 
						|
 | 
						|
    d.close()
 | 
						|
 | 
						|
def test_modes():
 | 
						|
    d = dbm.open(filename, 'r')
 | 
						|
    d.close()
 | 
						|
    d = dbm.open(filename, 'rw')
 | 
						|
    d.close()
 | 
						|
    d = dbm.open(filename, 'w')
 | 
						|
    d.close()
 | 
						|
    d = dbm.open(filename, 'n')
 | 
						|
    d.close()
 | 
						|
 | 
						|
def test_main():
 | 
						|
    cleanup()
 | 
						|
    try:
 | 
						|
        test_keys()
 | 
						|
        test_modes()
 | 
						|
    except:
 | 
						|
        cleanup()
 | 
						|
        raise
 | 
						|
 | 
						|
    cleanup()
 | 
						|
 | 
						|
 | 
						|
 | 
						|
if __name__ == '__main__':
 | 
						|
    test_main()
 |