MCPcopy Index your code
hub / github.com/RustPython/RustPython / test_disable_reflection

Method test_disable_reflection

Lib/test/test_winreg.py:519–546  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

517
518 @unittest.skipUnless(HAS_REFLECTION, "OS doesn't support reflection")
519 def test_disable_reflection(self):
520 # Make use of a key which gets redirected and reflected
521 try:
522 with CreateKeyEx(HKEY_CURRENT_USER, test_reflect_key_name, 0,
523 KEY_ALL_ACCESS | KEY_WOW64_32KEY) as created_key:
524 # QueryReflectionKey returns whether or not the key is disabled
525 disabled = QueryReflectionKey(created_key)
526 self.assertEqual(type(disabled), bool)
527 # HKCU\Software\Classes is reflected by default
528 self.assertFalse(disabled)
529
530 DisableReflectionKey(created_key)
531 self.assertTrue(QueryReflectionKey(created_key))
532
533 # The key is now closed and would normally be reflected to the
534 # 64-bit area, but let's make sure that didn't happen.
535 open_fail = lambda: OpenKeyEx(HKEY_CURRENT_USER,
536 test_reflect_key_name, 0,
537 KEY_READ | KEY_WOW64_64KEY)
538 self.assertRaises(OSError, open_fail)
539
540 # Make sure the 32-bit key is actually there
541 with OpenKeyEx(HKEY_CURRENT_USER, test_reflect_key_name, 0,
542 KEY_READ | KEY_WOW64_32KEY) as key:
543 self.assertNotEqual(key.handle, 0)
544 finally:
545 DeleteKeyEx(HKEY_CURRENT_USER, test_reflect_key_name,
546 KEY_WOW64_32KEY, 0)
547
548 def test_exception_numbers(self):
549 with self.assertRaises(FileNotFoundError) as ctx:

Callers

nothing calls this directly

Calls 9

CreateKeyExFunction · 0.85
QueryReflectionKeyFunction · 0.85
DisableReflectionKeyFunction · 0.85
DeleteKeyExFunction · 0.85
assertFalseMethod · 0.80
assertTrueMethod · 0.80
assertNotEqualMethod · 0.80
assertEqualMethod · 0.45
assertRaisesMethod · 0.45

Tested by

no test coverage detected