[New-bugs-announce] [issue6201] test_winreg fails

James Abbatiello report at bugs.python.org
Fri Jun 5 08:45:42 CEST 2009


New submission from James Abbatiello <abbeyj at gmail.com>:

test_winreg fails with:
======================================================================
ERROR: testLocalMachineRegistryWorks (test.test_winreg.WinregTests)
----------------------------------------------------------------------
Traceback (most recent call last):
<snip>
  File "C:\Projects\python-trunk\lib\test\test_winreg.py", line 86, in
ReadTestData
    with OpenKey(key, "sub_key") as sub_key:
AttributeError: __exit__

----------------------------------------------------------------------

_winreg.OpenKey() returns a PyHKEY.  This type can no longer be used in
a "with" statement after r72912 introduced the SETUP_WITH opcode.  The
old way used PyObject_GetAttr() to get __enter__ and __exit__ which
works fine with PyHKEY since it has a tp_getattr function.  The new way
uses _PyObject_LookupSpecial() which uses the MRO and the dict of the
object.

I guess the right fix here is to update PyHKEY so it uses the modern
APIs but I don't know how to do this without breaking the special casing
for the "handle" member.  Using T_INT isn't quite correct since it is a
pointer not an int.

----------
components: Tests, Windows
messages: 88926
nosy: abbeyj
severity: normal
status: open
title: test_winreg fails
versions: Python 2.7

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue6201>
_______________________________________


More information about the New-bugs-announce mailing list