It’s just data

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.


Sam Ruby: Python on Parrot test status

[link]...

Excerpt from del.icio.us/tag/programming at

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 at

DNA

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

Posted by Michael Chermside at

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

Add your comment