From: Benjamin Peterson Date: Sun, 29 Jun 2014 20:02:12 +0000 (-0700) Subject: add a test for access errors from OpenKey (closes #21871) X-Git-Tag: v2.7.8~2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=bb4d3527cf8a17d6b8e57c608033cf065ce67078;p=python add a test for access errors from OpenKey (closes #21871) Patch from Vladimir Iofik. --- diff --git a/Lib/test/test_mimetypes.py b/Lib/test/test_mimetypes.py index 8de42588f6..e9a7216d1c 100644 --- a/Lib/test/test_mimetypes.py +++ b/Lib/test/test_mimetypes.py @@ -144,6 +144,23 @@ class Win32MimeTypesTestCase(unittest.TestCase): finally: mimetypes._winreg = _winreg + def test_registry_read_error(self): + import _winreg + + class MockWinreg(object): + def OpenKey(self, key, name): + if key != _winreg.HKEY_CLASSES_ROOT: + raise WindowsError(5, "Access is denied") + return _winreg.OpenKey(key, name) + def __getattr__(self, name): + return getattr(_winreg, name) + + mimetypes._winreg = MockWinreg() + try: + mimetypes.init() + finally: + mimetypes._winreg = _winreg + def test_main(): test_support.run_unittest(MimeTypesTestCase, Win32MimeTypesTestCase