]> granicus.if.org Git - python/commitdiff
add a test for access errors from OpenKey (closes #21871)
authorBenjamin Peterson <benjamin@python.org>
Sun, 29 Jun 2014 20:02:12 +0000 (13:02 -0700)
committerBenjamin Peterson <benjamin@python.org>
Sun, 29 Jun 2014 20:02:12 +0000 (13:02 -0700)
Patch from Vladimir Iofik.

Lib/test/test_mimetypes.py

index 8de42588f60411f057e133839219086ad441707e..e9a7216d1c6c214c159853111e8be31e65fa740a 100644 (file)
@@ -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