[pypy-dev] App-space tests
Rocco Moretti
roccomoretti at netscape.net
Tue Jun 17 05:01:14 MEST 2003
Michael Hudson <mwh at python.net> wrote:
>Michael Hudson <mwh at python.net> writes:
>
>> roccomoretti at netscape.net (Rocco Moretti) writes:
>>
>>> Before I realized that metaclasses were involved, I first thought of
>>> using a special subclass of TestCase - probably by overloading
>>> TestCase.__call__() to appropriately wrap the function before it is
>>> run.
>>
>> Yes, that would probably work.
>
>And it does, after a fashion. Well, it works fine as far as I can
>tell, it's just that running the assertFoo methods in app-space *too*
>(what the attached does) isn't ideal. OTOH, the fact that doing so
>*works* is something we can be proud of.
Glad to hear it works!
Re: running method in appspace - I hoped that was something that
was "fixed" with the addition of the PyByteCode Object. I'm assuming (as I
wasn't at the sprint and haven't heard about it otherwise) that a regular
bytecode object gets run on the CPython interpreter, and a PyByteCode
object gets run on the PyPy interpreter.
Although that's what I assume, I haven't been able to confirm this in the
code, as I loose track of the control flow after calling ObjSpace.call().
(I started tracking from the CALL_FUNCTION opcode in opcode.py)
>The only decision to be made is: do we distinguish between app-space
>tests by a naming convention (as attached: any test starting test_app_
>runs in app space) or by inheriting from a different TestCase
>subclass? I can't make my mind up which I prefer.
I'd vote for seperate TestCases. App space should be suitably separated
from interpreter level such that we avoid confusion. This also allows setup
() and teardown() methods to work semi-sanely. It will also give a
consistent interface to the assert*() methods (whether they are being
called from interpreter level or app. level.)
>In either case, I want to check something like this in, soon. The
>implementation can be made more elegant/faster in due course.
I'm +1 on checkin - as you say, it doesn't break anything, and we can
always improve it later.
-Rocco
__________________________________________________________________
McAfee VirusScan Online from the Netscape Network.
Comprehensive protection for your entire computer. Get your free trial today!
http://channels.netscape.com/ns/computing/mcafee/index.jsp?promo=393397
Get AOL Instant Messenger 5.1 free of charge. Download Now!
http://aim.aol.com/aimnew/Aim/register.adp?promo=380455
More information about the pypy-dev
mailing list