mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	check that exception messages are not empty (#22379)
Patch by Yongzhi Pan.
This commit is contained in:
		
							parent
							
								
									623ae29469
								
							
						
					
					
						commit
						c31f12d196
					
				
					 4 changed files with 13 additions and 15 deletions
				
			
		|  | @ -1,5 +1,5 @@ | ||||||
| """ | """ | ||||||
| Common tests shared by test_str, test_unicode, test_userstring and test_string. | Common tests shared by test_unicode, test_userstring and test_string. | ||||||
| """ | """ | ||||||
| 
 | 
 | ||||||
| import unittest, string, sys, struct | import unittest, string, sys, struct | ||||||
|  | @ -79,11 +79,9 @@ class subtype(self.__class__.type2test): | ||||||
|     def checkraises(self, exc, obj, methodname, *args): |     def checkraises(self, exc, obj, methodname, *args): | ||||||
|         obj = self.fixtype(obj) |         obj = self.fixtype(obj) | ||||||
|         args = self.fixtype(args) |         args = self.fixtype(args) | ||||||
|         self.assertRaises( |         with self.assertRaises(exc) as cm: | ||||||
|             exc, |             getattr(obj, methodname)(*args) | ||||||
|             getattr(obj, methodname), |         self.assertNotEqual(str(cm.exception), '') | ||||||
|             *args |  | ||||||
|         ) |  | ||||||
| 
 | 
 | ||||||
|     # call obj.method(*args) without any checks |     # call obj.method(*args) without any checks | ||||||
|     def checkcall(self, obj, methodname, *args): |     def checkcall(self, obj, methodname, *args): | ||||||
|  | @ -1119,8 +1117,7 @@ def test_mul(self): | ||||||
|     def test_join(self): |     def test_join(self): | ||||||
|         # join now works with any sequence type |         # join now works with any sequence type | ||||||
|         # moved here, because the argument order is |         # moved here, because the argument order is | ||||||
|         # different in string.join (see the test in |         # different in string.join | ||||||
|         # test.test_string.StringTest.test_join) |  | ||||||
|         self.checkequal('a b c d', ' ', 'join', ['a', 'b', 'c', 'd']) |         self.checkequal('a b c d', ' ', 'join', ['a', 'b', 'c', 'd']) | ||||||
|         self.checkequal('abcd', '', 'join', ('a', 'b', 'c', 'd')) |         self.checkequal('abcd', '', 'join', ('a', 'b', 'c', 'd')) | ||||||
|         self.checkequal('bd', '', 'join', ('', 'b', '', 'd')) |         self.checkequal('bd', '', 'join', ('', 'b', '', 'd')) | ||||||
|  | @ -1140,6 +1137,7 @@ def test_join(self): | ||||||
|         self.checkequal('a b c', ' ', 'join', BadSeq2()) |         self.checkequal('a b c', ' ', 'join', BadSeq2()) | ||||||
| 
 | 
 | ||||||
|         self.checkraises(TypeError, ' ', 'join') |         self.checkraises(TypeError, ' ', 'join') | ||||||
|  |         self.checkraises(TypeError, ' ', 'join', None) | ||||||
|         self.checkraises(TypeError, ' ', 'join', 7) |         self.checkraises(TypeError, ' ', 'join', 7) | ||||||
|         self.checkraises(TypeError, ' ', 'join', [1, 2, bytes()]) |         self.checkraises(TypeError, ' ', 'join', [1, 2, bytes()]) | ||||||
|         try: |         try: | ||||||
|  |  | ||||||
|  | @ -298,6 +298,7 @@ def test_join(self): | ||||||
|         seq = [b"abc"] * 1000 |         seq = [b"abc"] * 1000 | ||||||
|         expected = b"abc" + b".:abc" * 999 |         expected = b"abc" + b".:abc" * 999 | ||||||
|         self.assertEqual(dot_join(seq), expected) |         self.assertEqual(dot_join(seq), expected) | ||||||
|  |         self.assertRaises(TypeError, self.type2test(b" ").join, None) | ||||||
|         # Error handling and cleanup when some item in the middle of the |         # Error handling and cleanup when some item in the middle of the | ||||||
|         # sequence has the wrong type. |         # sequence has the wrong type. | ||||||
|         with self.assertRaises(TypeError): |         with self.assertRaises(TypeError): | ||||||
|  |  | ||||||
|  | @ -28,14 +28,12 @@ def checkequal(self, result, object, methodname, *args, **kwargs): | ||||||
|             realresult |             realresult | ||||||
|         ) |         ) | ||||||
| 
 | 
 | ||||||
|     def checkraises(self, exc, object, methodname, *args): |     def checkraises(self, exc, obj, methodname, *args): | ||||||
|         object = self.fixtype(object) |         obj = self.fixtype(obj) | ||||||
|         # we don't fix the arguments, because UserString can't cope with it |         # we don't fix the arguments, because UserString can't cope with it | ||||||
|         self.assertRaises( |         with self.assertRaises(exc) as cm: | ||||||
|             exc, |             getattr(obj, methodname)(*args) | ||||||
|             getattr(object, methodname), |         self.assertNotEqual(str(cm.exception), '') | ||||||
|             *args |  | ||||||
|         ) |  | ||||||
| 
 | 
 | ||||||
|     def checkcall(self, object, methodname, *args): |     def checkcall(self, object, methodname, *args): | ||||||
|         object = self.fixtype(object) |         object = self.fixtype(object) | ||||||
|  |  | ||||||
|  | @ -1010,6 +1010,7 @@ Mike Pall | ||||||
| Todd R. Palmer | Todd R. Palmer | ||||||
| Juan David Ibáñez Palomar | Juan David Ibáñez Palomar | ||||||
| Jan Palus | Jan Palus | ||||||
|  | Yongzhi Pan | ||||||
| Martin Panter | Martin Panter | ||||||
| Mathias Panzenböck | Mathias Panzenböck | ||||||
| M. Papillon | M. Papillon | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Benjamin Peterson
						Benjamin Peterson