mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 21:51:50 +00:00 
			
		
		
		
	gh-108638: Fix tests when _stat extension is missing (#108689)
Fix test_inspect and test_pydoc when the _stat extension is missing. Skip tests relying on _stat when _stat is missing.
This commit is contained in:
		
							parent
							
								
									d48760b2f1
								
							
						
					
					
						commit
						c6d56135e1
					
				
					 2 changed files with 29 additions and 7 deletions
				
			
		|  | @ -1186,7 +1186,7 @@ def test_getfullargspec_builtin_func_no_signature(self): | |||
| 
 | ||||
|         cls = _testcapi.DocStringNoSignatureTest | ||||
|         obj = _testcapi.DocStringNoSignatureTest() | ||||
|         for builtin, template in [ | ||||
|         tests = [ | ||||
|             (_testcapi.docstring_no_signature_noargs, meth_noargs), | ||||
|             (_testcapi.docstring_no_signature_o, meth_o), | ||||
|             (cls.meth_noargs, meth_self_noargs), | ||||
|  | @ -1201,7 +1201,6 @@ def test_getfullargspec_builtin_func_no_signature(self): | |||
|             (cls.meth_o_coexist, meth_self_o), | ||||
| 
 | ||||
|             (time.time, meth_noargs), | ||||
|             (stat.S_IMODE, meth_o), | ||||
|             (str.lower, meth_self_noargs), | ||||
|             (''.lower, meth_self_noargs), | ||||
|             (set.add, meth_self_o), | ||||
|  | @ -1212,7 +1211,16 @@ def test_getfullargspec_builtin_func_no_signature(self): | |||
|             (datetime.datetime.utcnow, meth_type_noargs), | ||||
|             (dict.__dict__['__class_getitem__'], meth_type_o), | ||||
|             (dict.__class_getitem__, meth_type_o), | ||||
|         ]: | ||||
|         ] | ||||
|         try: | ||||
|             import _stat | ||||
|         except ImportError: | ||||
|             # if the _stat extension is not available, stat.S_IMODE() is | ||||
|             # implemented in Python, not in C | ||||
|             pass | ||||
|         else: | ||||
|             tests.append((stat.S_IMODE, meth_o)) | ||||
|         for builtin, template in tests: | ||||
|             with self.subTest(builtin): | ||||
|                 self.assertEqual(inspect.getfullargspec(builtin), | ||||
|                                  inspect.getfullargspec(template)) | ||||
|  | @ -2934,7 +2942,7 @@ def test_signature_on_builtins_no_signature(self): | |||
| 
 | ||||
|         cls = _testcapi.DocStringNoSignatureTest | ||||
|         obj = _testcapi.DocStringNoSignatureTest() | ||||
|         for builtin, template in [ | ||||
|         tests = [ | ||||
|             (_testcapi.docstring_no_signature_noargs, meth_noargs), | ||||
|             (_testcapi.docstring_no_signature_o, meth_o), | ||||
|             (cls.meth_noargs, meth_self_noargs), | ||||
|  | @ -2949,7 +2957,6 @@ def test_signature_on_builtins_no_signature(self): | |||
|             (cls.meth_o_coexist, meth_self_o), | ||||
| 
 | ||||
|             (time.time, meth_noargs), | ||||
|             (stat.S_IMODE, meth_o), | ||||
|             (str.lower, meth_self_noargs), | ||||
|             (''.lower, meth_noargs), | ||||
|             (set.add, meth_self_o), | ||||
|  | @ -2960,7 +2967,16 @@ def test_signature_on_builtins_no_signature(self): | |||
|             (datetime.datetime.utcnow, meth_noargs), | ||||
|             (dict.__dict__['__class_getitem__'], meth_type_o), | ||||
|             (dict.__class_getitem__, meth_o), | ||||
|         ]: | ||||
|         ] | ||||
|         try: | ||||
|             import _stat | ||||
|         except ImportError: | ||||
|             # if the _stat extension is not available, stat.S_IMODE() is | ||||
|             # implemented in Python, not in C | ||||
|             pass | ||||
|         else: | ||||
|             tests.append((stat.S_IMODE, meth_o)) | ||||
|         for builtin, template in tests: | ||||
|             with self.subTest(builtin): | ||||
|                 self.assertEqual(inspect.signature(builtin), | ||||
|                                  inspect.signature(template)) | ||||
|  |  | |||
|  | @ -1187,7 +1187,13 @@ def test_module_level_callable_noargs(self): | |||
|             "time()") | ||||
| 
 | ||||
|     def test_module_level_callable_o(self): | ||||
|         self.assertEqual(self._get_summary_line(stat.S_IMODE), | ||||
|         try: | ||||
|             import _stat | ||||
|         except ImportError: | ||||
|             # stat.S_IMODE() and _stat.S_IMODE() have a different signature | ||||
|             self.skipTest('_stat extension is missing') | ||||
| 
 | ||||
|         self.assertEqual(self._get_summary_line(_stat.S_IMODE), | ||||
|             "S_IMODE(object, /)") | ||||
| 
 | ||||
|     def test_unbound_builtin_method_noargs(self): | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Victor Stinner
						Victor Stinner