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.
Fascinating stuff Sam.
A trans-implementation compatibility test suite across Python implementations sounds like a great idea to me. As Python goes more and more mainstream, with more and more interesting implementations popping out of the woodwork, the question of when something truly is a Kosher Python implementation is a very important one.
I suspect we will always have a situation where CPython forges ahead. That is great and good but creates an unavoidable feature set hysteresis. For implementations that trail CPython, following but not keeping up with the pace of CPython development, how do we measure their Pythonism?
I think its important that we figure that out otherwise, implementation fragmentation could precipitate an avoidable trough of disillusionment in the adopting masses in Parrot, JVM and .NET land. E.g:
A: This script says it requires Python X.Y or higher.
B: Weird. It does not work on ZZPython which says it is Python X.Y compatible.
A: Weird. It works fine on YYPython which is not X.Y compatible.
Etc.
P.S. The mere thought of having access to CPAN from Python reduces me to a giggling wreck :-)
Sean
Posted by Sean McGrath atDNA
Python growth spawns compatibility testing! Certified Python? Verified Python? Python approved? Python compatible?...Excerpt from OpenDeveloper.org blogs at
Okay... I'm interested in the question of creating some kind of a compatibility test. If that starts going somewhere, drop me an email to let me know and I'll see if I can help contribute some.
-- Michael Chermside
mcherm@mcherm.com
I work as a software tester and I do all my test harness programming in Python, so naturally I'm very interested in contributing to a testing effort that would define/improve/certify Python compatibility. Please let me know how I can help.
Grig
Posted by Grig Gheorghiu at
Sam Ruby: Python on Parrot test status
[link]...Excerpt from del.icio.us/tag/programming at