| 
									
										
										
										
											1992-01-27 17:00:37 +00:00
										 |  |  | # Python test set -- supporting definitions. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TestFailed = 'test_support -- test failed'	# Exception | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1996-12-20 02:58:22 +00:00
										 |  |  | verbose = 1				# Flag set to 0 by regrtest.py | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1992-01-27 17:00:37 +00:00
										 |  |  | def unload(name): | 
					
						
							|  |  |  | 	import sys | 
					
						
							|  |  |  | 	try: | 
					
						
							|  |  |  | 		del sys.modules[name] | 
					
						
							|  |  |  | 	except KeyError: | 
					
						
							|  |  |  | 		pass | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | def forget(modname): | 
					
						
							|  |  |  | 	unload(modname) | 
					
						
							|  |  |  | 	import sys, os | 
					
						
							|  |  |  | 	for dirname in sys.path: | 
					
						
							|  |  |  | 		try: | 
					
						
							|  |  |  | 			os.unlink(os.path.join(dirname, modname + '.pyc')) | 
					
						
							|  |  |  | 		except os.error: | 
					
						
							|  |  |  | 			pass | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1993-01-26 13:04:43 +00:00
										 |  |  | FUZZ = 1e-6 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | def fcmp(x, y): # fuzzy comparison function | 
					
						
							|  |  |  | 	if type(x) == type(0.0) or type(y) == type(0.0): | 
					
						
							|  |  |  | 		try: | 
					
						
							|  |  |  | 			x, y = coerce(x, y) | 
					
						
							|  |  |  | 			fuzz = (abs(x) + abs(y)) * FUZZ | 
					
						
							|  |  |  | 			if abs(x-y) <= fuzz: | 
					
						
							|  |  |  | 				return 0 | 
					
						
							|  |  |  | 		except: | 
					
						
							|  |  |  | 			pass | 
					
						
							|  |  |  | 	elif type(x) == type(y) and type(x) in (type(()), type([])): | 
					
						
							|  |  |  | 		for i in range(min(len(x), len(y))): | 
					
						
							|  |  |  | 			outcome = fcmp(x[i], y[i]) | 
					
						
							|  |  |  | 			if outcome <> 0: | 
					
						
							|  |  |  | 				return outcome | 
					
						
							|  |  |  | 		return cmp(len(x), len(y)) | 
					
						
							|  |  |  | 	return cmp(x, y) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1992-01-27 17:00:37 +00:00
										 |  |  | TESTFN = '@test' # Filename used for testing | 
					
						
							|  |  |  | from os import unlink | 
					
						
							| 
									
										
										
										
											1998-04-23 20:13:30 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | def findfile(file, here=__file__): | 
					
						
							|  |  |  | 	import os | 
					
						
							| 
									
										
										
										
											1998-06-09 19:20:12 +00:00
										 |  |  | 	if os.path.isabs(file): | 
					
						
							| 
									
										
										
										
											1998-04-23 20:13:30 +00:00
										 |  |  | 		return file | 
					
						
							| 
									
										
										
										
											1998-06-09 19:20:12 +00:00
										 |  |  | 	import sys | 
					
						
							|  |  |  | 	path = sys.path | 
					
						
							| 
									
										
										
										
											1998-04-23 20:13:30 +00:00
										 |  |  | 	path = [os.path.dirname(here)] + path | 
					
						
							| 
									
										
										
										
											1998-06-09 19:20:12 +00:00
										 |  |  | 	for dn in path: | 
					
						
							|  |  |  | 		fn = os.path.join(dn, file) | 
					
						
							|  |  |  | 		if os.path.exists(fn): return fn | 
					
						
							|  |  |  | 	return file |