[pypy-dev] about to check in refactored test-framework
hpk at trillke.net
Wed Jun 18 12:26:41 CEST 2003
since yesterday evening i cleaned up the all of our test stuff.
I haven't checked it in, yet. I'd like to know if anybody
has any strong feelings about the way it currently is...
And here is how the refactored test stuff works:
- all the testsupport, testcts, testwice and all the code duplications
that came with it are gone.
- not need to set any PYTHONPATH anymore to start a test or
interpreter/interactive.py or interpreter/main.py
- you can start any test by simply calling it directly via
- you can run all tests by
python test_all.py # in the root directory
- you can run all tests below your current working dir
say e.g. in interpreter/
python ../test_all.py # will start from the current dir
- you can run all tests in one object space via
python test_all.py -S # standard objectspace
python test_all.py -T # trivial objectspace
python test_all.py -ST # first standard, then trivial objectspace
- you can pass some regular expressions
python test_all.py pypy.interpreter # will only run tests whose path
python test_all.py -S "%pypy.(obj|app)space"
# will avoid objspace and appspace tests and otherwise run with
# stdobjspace, the '%' inverts the match, btw
- autopath configuration.
every startable script (the tests among them, but also
interpreter/interactive.py interpreter/main.py) first does a
which configures the python path to include the directory
which contains 'pypy'. moreover autopath provides some
pypydir the 'pypy' directory path itself
this_dir the directory where your "autopath" lives
useful for finding test data
if you run pypy/tool/autopath.py then this will copy itself
over all other 'autopath.py' instances and report "sync" status.
No ugly shell scripting anymore. OTOH autopath.py will hardly
need to be modified anymore because it just does path manipulation.
- every test_*.py usually does
from pypy.tool import test
and derives from test.TestCase or test.AppTestCase and
on __name__=='__main__' invokes
to get to the "cmdline switched" objectspace you call
to get to a specific objectspace you call
test.objspace('std') or test.objspace('trivial')
Some stuff regarding running tests successively in StdObjSpace and
TrivialObjSpace (switch "-ST") is not completly right at the moment. But this
is not so much a thing of the test framework, i think.
As this checkin involves a lot of files i'd like
to do the checkin ASAP to avoid conflicts.
More information about the Pypy-dev