mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 18:28:49 +00:00 
			
		
		
		
	 e7629c85bc
			
		
	
	
		e7629c85bc
		
	
	
	
	
		
			
			Cleanup (remove) the file(s) after we are done with the test. (Fixes problem on snake farm)
		
			
				
	
	
		
			55 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable file
		
	
	
	
	
| #! /usr/bin/env python
 | |
| """Test script for the dbm module
 | |
|    Roger E. Masse
 | |
| """
 | |
| import os
 | |
| import random
 | |
| import dbm
 | |
| from dbm import error
 | |
| from test.test_support import verbose, verify, TestSkipped
 | |
| 
 | |
| # make filename unique to allow multiple concurrent tests
 | |
| # and to minimize the likelihood of a problem from an old file
 | |
| filename = '/tmp/delete_me_' + str(random.random())[-6:]
 | |
| 
 | |
| def cleanup():
 | |
|     for suffix in ['', '.pag', '.dir', '.db']:
 | |
|         try:
 | |
|             os.unlink(filename + suffix)
 | |
|         except OSError, (errno, 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['a'] = 'b'
 | |
|     d['12345678910'] = '019237410982340912840198242'
 | |
|     d.keys()
 | |
|     if d.has_key('a'):
 | |
|         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()
 | |
| 
 | |
| cleanup()
 | |
| try:
 | |
|     test_keys()
 | |
|     test_modes()
 | |
| except:
 | |
|     cleanup()
 | |
|     raise
 | |
| 
 | |
| cleanup()
 |