Mercurial > public > mercurial-scm > hg-stable
comparison tests/test-demandimport.py @ 50951:d718eddf01d9
safehasattr: drop usage in favor of hasattr
The two functions should now be equivalent at least in their usage in core.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Thu, 31 Aug 2023 23:56:15 +0200 |
parents | 1bd33932713d |
children | 37f693975cbc be227c60a3e0 |
comparison
equal
deleted
inserted
replaced
50950:7a8ea1397816 | 50951:d718eddf01d9 |
---|---|
177 except ImportError as inst: | 177 except ImportError as inst: |
178 assert rsub(r"'", '', str(inst)).startswith( | 178 assert rsub(r"'", '', str(inst)).startswith( |
179 'cannot import name unknownattr' | 179 'cannot import name unknownattr' |
180 ) | 180 ) |
181 | 181 |
182 from mercurial import util | |
183 | |
184 # Unlike the import statement, __import__() function should not raise | 182 # Unlike the import statement, __import__() function should not raise |
185 # ImportError even if fromlist has an unknown item | 183 # ImportError even if fromlist has an unknown item |
186 # (see Python/import.c:import_module_level() and ensure_fromlist()) | 184 # (see Python/import.c:import_module_level() and ensure_fromlist()) |
187 assert 'ftplib' not in sys.modules | 185 assert 'ftplib' not in sys.modules |
188 zipfileimp = __import__('ftplib', globals(), locals(), ['unknownattr']) | 186 zipfileimp = __import__('ftplib', globals(), locals(), ['unknownattr']) |
189 assert f(zipfileimp) == "<module 'ftplib' from '?'>", f(zipfileimp) | 187 assert f(zipfileimp) == "<module 'ftplib' from '?'>", f(zipfileimp) |
190 assert not util.safehasattr(zipfileimp, 'unknownattr') | 188 assert not hasattr(zipfileimp, 'unknownattr') |
191 | 189 |
192 | 190 |
193 # test deactivation for issue6725 | 191 # test deactivation for issue6725 |
194 del sys.modules['telnetlib'] | 192 del sys.modules['telnetlib'] |
195 with demandimport.deactivated(): | 193 with demandimport.deactivated(): |