Mark Dickinson <dicki...@gmail.com> added the comment:

> Somewhere along the way native_table is used instead of lilendian_table,
> so np_bool is called.

Hmm.  This doesn't alleviate my confusion. :)

The relevant part of test_struct looks like:

    for prefix in tuple("<>!=")+('',):
        # other tests
        try:
            struct.pack(prefix + '?', ExplodingBool())
        except IOError:
            pass
        else:
            self.fail("Expected IOError: struct.pack(%r, "
                      "ExplodingBool())" % (prefix + '?'))

So the '<?' test should happen directly before the '>?' test.  But the '<?' 
test was apparently passing, while the '>?' one was failing.  I don't see how 
native_table is relevant here, but am probably missing something.

On the other hand, with the pre-patch code, we end up with a method that sets a 
Python error but then returns a return value that indicates no error happened, 
and all sorts of unpredictable things can happen at that point...

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue9277>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to