Skip to content

Commit d8dde12

Browse files
committed
Complete winreg
1 parent 517987c commit d8dde12

File tree

2 files changed

+611
-377
lines changed

2 files changed

+611
-377
lines changed

Lib/test/test_winreg.py

Lines changed: 1 addition & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -212,14 +212,10 @@ def _test_named_args(self, key, sub_key):
212212

213213
class LocalWinregTests(BaseWinregTests):
214214

215-
# TODO: RUSTPYTHON
216-
@unittest.expectedFailure
217215
def test_registry_works(self):
218216
self._test_all(HKEY_CURRENT_USER)
219217
self._test_all(HKEY_CURRENT_USER, "日本-subkey")
220218

221-
# TODO: RUSTPYTHON
222-
@unittest.expectedFailure
223219
def test_registry_works_extended_functions(self):
224220
# Substitute the regular CreateKey and OpenKey calls with their
225221
# extended counterparts.
@@ -232,8 +228,6 @@ def test_registry_works_extended_functions(self):
232228

233229
self._delete_test_data(HKEY_CURRENT_USER)
234230

235-
# TODO: RUSTPYTHON
236-
@unittest.expectedFailure
237231
def test_named_arguments(self):
238232
self._test_named_args(HKEY_CURRENT_USER, test_key_name)
239233
# Use the regular DeleteKey to clean up
@@ -251,8 +245,6 @@ def test_nonexistent_remote_registry(self):
251245
connect = lambda: ConnectRegistry("abcdefghijkl", HKEY_CURRENT_USER)
252246
self.assertRaises(OSError, connect)
253247

254-
# TODO: RUSTPYTHON
255-
@unittest.skip("flaky")
256248
def testExpandEnvironmentStrings(self):
257249
r = ExpandEnvironmentStrings("%windir%\\test")
258250
self.assertEqual(type(r), str)
@@ -299,8 +291,6 @@ def run(self):
299291
DeleteKey(HKEY_CURRENT_USER, test_key_name+'\\changing_value')
300292
DeleteKey(HKEY_CURRENT_USER, test_key_name)
301293

302-
# TODO: RUSTPYTHON
303-
@unittest.expectedFailure
304294
def test_long_key(self):
305295
# Issue2810, in 2.6 and 3.1 when the key name was exactly 256
306296
# characters, EnumKey raised "WindowsError: More data is
@@ -315,8 +305,6 @@ def test_long_key(self):
315305
DeleteKey(HKEY_CURRENT_USER, '\\'.join((test_key_name, name)))
316306
DeleteKey(HKEY_CURRENT_USER, test_key_name)
317307

318-
# TODO: RUSTPYTHON
319-
@unittest.expectedFailure
320308
def test_dynamic_key(self):
321309
# Issue2810, when the value is dynamically generated, these
322310
# raise "WindowsError: More data is available" in 2.6 and 3.1
@@ -351,8 +339,6 @@ def test_reflection_unsupported(self):
351339
finally:
352340
DeleteKey(HKEY_CURRENT_USER, test_key_name)
353341

354-
# TODO: RUSTPYTHON
355-
@unittest.expectedFailure
356342
def test_setvalueex_value_range(self):
357343
# Test for Issue #14420, accept proper ranges for SetValueEx.
358344
# Py2Reg, which gets called by SetValueEx, was using PyLong_AsLong,
@@ -365,8 +351,6 @@ def test_setvalueex_value_range(self):
365351
finally:
366352
DeleteKey(HKEY_CURRENT_USER, test_key_name)
367353

368-
# TODO: RUSTPYTHON
369-
@unittest.expectedFailure
370354
def test_setvalueex_negative_one_check(self):
371355
# Test for Issue #43984, check -1 was not set by SetValueEx.
372356
# Py2Reg, which gets called by SetValueEx, wasn't checking return
@@ -384,8 +368,6 @@ def test_setvalueex_negative_one_check(self):
384368
finally:
385369
DeleteKey(HKEY_CURRENT_USER, test_key_name)
386370

387-
# TODO: RUSTPYTHON
388-
@unittest.expectedFailure
389371
def test_queryvalueex_return_value(self):
390372
# Test for Issue #16759, return unsigned int from QueryValueEx.
391373
# Reg2Py, which gets called by QueryValueEx, was returning a value
@@ -402,8 +384,6 @@ def test_queryvalueex_return_value(self):
402384
finally:
403385
DeleteKey(HKEY_CURRENT_USER, test_key_name)
404386

405-
# TODO: RUSTPYTHON
406-
@unittest.expectedFailure
407387
def test_setvalueex_crash_with_none_arg(self):
408388
# Test for Issue #21151, segfault when None is passed to SetValueEx
409389
try:
@@ -417,8 +397,6 @@ def test_setvalueex_crash_with_none_arg(self):
417397
finally:
418398
DeleteKey(HKEY_CURRENT_USER, test_key_name)
419399

420-
# TODO: RUSTPYTHON
421-
@unittest.expectedFailure
422400
def test_read_string_containing_null(self):
423401
# Test for issue 25778: REG_SZ should not contain null characters
424402
try:
@@ -443,16 +421,13 @@ def test_remote_registry_works(self):
443421

444422
@unittest.skipUnless(WIN64_MACHINE, "x64 specific registry tests")
445423
class Win64WinregTests(BaseWinregTests):
446-
# TODO: RUSTPYTHON
447-
@unittest.expectedFailure
424+
448425
def test_named_arguments(self):
449426
self._test_named_args(HKEY_CURRENT_USER, test_key_name)
450427
# Clean up and also exercise the named arguments
451428
DeleteKeyEx(key=HKEY_CURRENT_USER, sub_key=test_key_name,
452429
access=KEY_ALL_ACCESS, reserved=0)
453430

454-
# TODO: RUSTPYTHON
455-
@unittest.expectedFailure
456431
@unittest.skipIf(win32_edition() in ('WindowsCoreHeadless', 'IoTEdgeOS'), "APIs not available on WindowsCoreHeadless")
457432
def test_reflection_functions(self):
458433
# Test that we can call the query, enable, and disable functions
@@ -538,8 +513,6 @@ def test_disable_reflection(self):
538513
DeleteKeyEx(HKEY_CURRENT_USER, test_reflect_key_name,
539514
KEY_WOW64_32KEY, 0)
540515

541-
# TODO: RUSTPYTHON
542-
@unittest.expectedFailure
543516
def test_exception_numbers(self):
544517
with self.assertRaises(FileNotFoundError) as ctx:
545518
QueryValue(HKEY_CLASSES_ROOT, 'some_value_that_does_not_exist')

0 commit comments

Comments
 (0)