Python on Parrot test status
rubys@rubix:~/pirate$ python PirateTest.py ............................................................. ---------------------------------------------------------------------- Ran 61 tests in 17.008s rubys@rubix:~/parrot/languages/python$ make fulltest cd ../.. ; perl -Ilib t/harness t/dynclass/py*.t t/dynclass/pybuiltin....ok t/dynclass/pyclass......ok t/dynclass/pycomplex....ok t/dynclass/pyfunc.......ok t/dynclass/pyint........ok All tests successful. Files=5, Tests=42, 11 wallclock secs (10.11 cusr + 0.88 csys = 10.99 CPU) perl t/harness t/basic/*.t t/basic/01_hello....ok t/basic/02_expr.....ok t/basic/03_types....ok t/basic/func........ok t/basic/iter........ok t/basic/oo_attr.....ok t/basic/oo_class....ok All tests successful. Files=7, Tests=110, 45 wallclock secs (12.54 cusr + 2.79 csys = 15.33 CPU) perl t/harness t/pie/b*.t t/pie/b1....ok t/pie/b2....ok t/pie/b3....ok t/pie/b5....ok t/pie/b6....ok All tests successful. Files=5, Tests=35, 39 wallclock secs ( 8.27 cusr + 0.88 csys = 9.15 CPU)
What does this mean? Pretty much only that these particular
tests pass, nothing more, nothing less. These tests focus
mostly on breadth (can I iterate over a dictionary?) vs depth (does
dictionary have a keys
method?) As there is no
current test case which requires dict.keys
, this
method is not yet coded. Not that it would be difficult to
add, but it won't be added until there are test cases to back it
up.
Bigger issues include unbound methods, dictionaries with non-string keys, and multiple inheritance. In these areas, I have some "scaffolding" code in place until the real code can be put in place. While some of these may be difficult to design, all the design work is done in Python, what's left is the implementation.
What is does mean is that there is some hope that pie-thon can be revisited at the next PyCon or OSCON. While I'm optimistic that Parrot will be competitive, I believe that the real win won't be in performance, but in providing Python programmers access to CPAN.
Things I'd love to do... work with the Jython, iron-python, and CPython folks to work out the details of a common Python compatibility test suite. And work with the PyPy folks to see if the Parrot work I have done could be leveraged there.
If anybody is interested in helping with any of these things, leave a comment here.