From bb4d3527cf8a17d6b8e57c608033cf065ce67078 Mon Sep 17 00:00:00 2001 From: Benjamin Peterson Date: Sun, 29 Jun 2014 13:02:12 -0700 Subject: add a test for access errors from OpenKey (closes #21871) Patch from Vladimir Iofik. --- Lib/test/test_mimetypes.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/Lib/test/test_mimetypes.py b/Lib/test/test_mimetypes.py index 8de4258..e9a7216 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 -- cgit v0.12