mirror of
				https://github.com/python/cpython.git
				synced 2025-10-28 12:15:13 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			28 lines
		
	
	
	
		
			587 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
	
		
			587 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| from test_support import vereq
 | |
| 
 | |
| import time
 | |
| 
 | |
| t = time.gmtime()
 | |
| astuple = tuple(t)
 | |
| vereq(len(t), len(astuple))
 | |
| vereq(t, astuple)
 | |
| 
 | |
| # Check that slicing works the same way; at one point, slicing t[i:j] with
 | |
| # 0 < i < j could produce NULLs in the result.
 | |
| for i in range(-len(t), len(t)):
 | |
|     for j in range(-len(t), len(t)):
 | |
|         vereq(t[i:j], astuple[i:j])
 | |
| 
 | |
| # Devious code could crash structseqs' contructors
 | |
| class C:
 | |
|     def __getitem__(self, i):
 | |
|         raise IndexError
 | |
|     def __len__(self):
 | |
|         return 9
 | |
| 
 | |
| try:
 | |
|     repr(time.struct_time(C()))
 | |
| except:
 | |
|     pass
 | |
| 
 | |
| # XXX more needed
 | 
