ignore _CompatProperty when parsing fixtures
this avoid triggering the warnings when parsing the session node as session plugin
This commit is contained in:
		
							parent
							
								
									e6e40db9c7
								
							
						
					
					
						commit
						da04ff52e4
					
				|  | @ -0,0 +1 @@ | ||||||
|  | avoid "RemovedInPytest4Warning: usage of Session... is deprecated, please use pytest... instead" warnings.:w | ||||||
|  | @ -1193,6 +1193,7 @@ class FixtureManager(object): | ||||||
|                 nodeid = p.dirpath().relto(self.config.rootdir) |                 nodeid = p.dirpath().relto(self.config.rootdir) | ||||||
|                 if p.sep != nodes.SEP: |                 if p.sep != nodes.SEP: | ||||||
|                     nodeid = nodeid.replace(p.sep, nodes.SEP) |                     nodeid = nodeid.replace(p.sep, nodes.SEP) | ||||||
|  | 
 | ||||||
|         self.parsefactories(plugin, nodeid) |         self.parsefactories(plugin, nodeid) | ||||||
| 
 | 
 | ||||||
|     def _getautousenames(self, nodeid): |     def _getautousenames(self, nodeid): | ||||||
|  | @ -1297,11 +1298,18 @@ class FixtureManager(object): | ||||||
|             nodeid = node_or_obj.nodeid |             nodeid = node_or_obj.nodeid | ||||||
|         if holderobj in self._holderobjseen: |         if holderobj in self._holderobjseen: | ||||||
|             return |             return | ||||||
|  | 
 | ||||||
|  |         from _pytest.nodes import _CompatProperty | ||||||
|  | 
 | ||||||
|         self._holderobjseen.add(holderobj) |         self._holderobjseen.add(holderobj) | ||||||
|         autousenames = [] |         autousenames = [] | ||||||
|         for name in dir(holderobj): |         for name in dir(holderobj): | ||||||
|             # The attribute can be an arbitrary descriptor, so the attribute |             # The attribute can be an arbitrary descriptor, so the attribute | ||||||
|             # access below can raise. safe_getatt() ignores such exceptions. |             # access below can raise. safe_getatt() ignores such exceptions. | ||||||
|  |             maybe_property = safe_getattr(type(holderobj), name, None) | ||||||
|  |             if isinstance(maybe_property, _CompatProperty): | ||||||
|  |                 # deprecated | ||||||
|  |                 continue | ||||||
|             obj = safe_getattr(holderobj, name, None) |             obj = safe_getattr(holderobj, name, None) | ||||||
|             marker = getfixturemarker(obj) |             marker = getfixturemarker(obj) | ||||||
|             # fixture functions have a pytest_funcarg__ prefix (pre-2.3 style) |             # fixture functions have a pytest_funcarg__ prefix (pre-2.3 style) | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue