pirate: a python compiler for parrot

Parrot is a virtual machine for running programming langagues.
Pirate is a Python compiler that targets parrot..

results.txt

PIRATE TEST RESULTS
last run: Wed Jul 30 08:10:06 EDT 2008
this file is generated daily from the latest versions of pirate and parrot.


EEEEEEEEEFEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEFFEEEEEEEEEEEEE.EEE
======================================================================
ERROR: test_PARROT_INLINE
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_arg_order
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_assignment
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_augmented_assignment
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_bitwise
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_break
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_class
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_clear_eh (__main__.PirateTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 154, in test_clear_eh
    res = self.pirate_invoke(
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_compare
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_continue
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_del_attr (__main__.PirateTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 70, in test_del_attr
    res = self.pirate_invoke(
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_del_key (__main__.PirateTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 81, in test_del_key
    res = self.pirate_invoke(
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_del_name (__main__.PirateTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 61, in test_del_name
    res = self.pirate_invoke(
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_dict
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_discard_listcomp
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_euclid (__main__.PirateTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 94, in test_euclid
    res = pirate.invoke(open("benchmarks/euclid.py").read())
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_except_called_raise
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_for
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_for_else
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_generator
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_global
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_if
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_if_expr
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_instance
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_int
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1772, in invoke
    print >> i, code
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_lambda
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_lambda_anonymous
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_lexical_scope
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_list
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_listcomp
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_listcomp_item
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_logic
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_math
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_methods
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_microthreads
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_microthreads_more
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_minimal_function
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_multi_return
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_nested_subscripts
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_no_return
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_raise (__main__.PirateTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 124, in test_raise
    res = self.pirate_invoke(
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_range
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_recursion
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_return_tuple
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_shift
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_simple_listcomp
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_simplemath
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_string
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_try_except
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_try_finally (__main__.PirateTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 135, in test_try_finally
    res = self.pirate_invoke(
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_tuple
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_unary
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_unpack_list
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_varargs
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1772, in invoke
    print >> i, code
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_while
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
ERROR: test_while_else
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 40, in runTest
    res = self.pirate_invoke(open(file).read()).strip()
  File "PirateTest.py", line 24, in pirate_invoke
    return pirate.invoke(trim(code))
  File "pirate.py", line 1774, in invoke
    i.close()
IOError: [Errno 32] Broken pipe

======================================================================
FAIL: test_concat
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 41, in runTest
    self.assertEquals(res, open(outfile).read().strip())
  File "/usr/lib/python2.2/unittest.py", line 286, in failUnlessEqual
    raise self.failureException, \
AssertionError: '/bin/sh: line 1: parrot: command not found' != 'foobar'

======================================================================
FAIL: test_def
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 41, in runTest
    self.assertEquals(res, open(outfile).read().strip())
  File "/usr/lib/python2.2/unittest.py", line 286, in failUnlessEqual
    raise self.failureException, \
AssertionError: '/bin/sh: line 1: parrot: command not found' != '1'

======================================================================
FAIL: test_nested_call
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 41, in runTest
    self.assertEquals(res, open(outfile).read().strip())
  File "/usr/lib/python2.2/unittest.py", line 286, in failUnlessEqual
    raise self.failureException, \
AssertionError: '/bin/sh: line 1: parrot: command not found' != '0'

======================================================================
FAIL: test_pass
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 41, in runTest
    self.assertEquals(res, open(outfile).read().strip())
  File "/usr/lib/python2.2/unittest.py", line 286, in failUnlessEqual
    raise self.failureException, \
AssertionError: '/bin/sh: line 1: parrot: command not found' != ''

======================================================================
FAIL: test_print
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PirateTest.py", line 179, in 
    testFunc = lambda self, test=test: self.runTest(test)
  File "PirateTest.py", line 41, in runTest
    self.assertEquals(res, open(outfile).read().strip())
  File "/usr/lib/python2.2/unittest.py", line 286, in failUnlessEqual
    raise self.failureException, \
AssertionError: '/bin/sh: line 1: parrot: command not found' != 'hello, world!'

----------------------------------------------------------------------
Ran 62 tests in 3.700s

FAILED (failures=5, errors=56)

atom.xml

Tuesday, July 11, 2006

progress on pirate!

After another dry spell, pirate is once again showing signs of life. Parrot has changed out from under us again, but newcomer Tyler Coumbes has been bringing the code up to date. His changes involve patches both to pirate and to the PMC's. He's working on getting the PMC code into the parrot repository, but in the meantime, you can get his PMC changes from cvs.

Thanks, Tyler!

Thursday, August 04, 2005

Sam's talk at OSCON

Hello to everyone coming here from Sam Ruby's talk!

Well, we had the test cases working last night and suddenly today they all fail because the entire python_group got disabled in the parrot source tree. Sigh :/

Anyway, if you weren't there, you can still read Sam's slides over at his site!

Wednesday, July 27, 2005

hello

if this works, we have a blog.

quick history

I (Michal Wallace) launched the pirate project back in August of 2003 as a way to run python programs on the parrot virtual machine. The code was based on Andrew Kuchling's work, and made heavy use of python's standard compiler package. Thanks to many helpful people, pirate quickly grew to handle a significant subset of the python language.

When I announced pirate to the parrot list, people quickly pointed out that pirate was also the name of Klaas-Jan Stol's Lua to Parrot compiler. As the two compilers were very similar, we tossed around the idea for a generic compiler, but didn't get too far with the idea at the time.

The python-on-parrot project ran out of steam after a few weeks because parrot didn't yet have a working object system. Parrot's objects eventually matured, but I didn't have time to do anything but basic maintenance (keeping the tests running) and so pirate development stayed mostly dormant.

In late 2004, Sam Ruby brought pirate up to date by implementing a set of python PMCs (parrot built-in types) and incorporating work from pie-thon, a separate python-on-parrot implementation by the parrot team.

pirate today

As of summer of 2005, pirate is once again in active development. Thanks to the perl foundation and Google's summer of code program, Univeristy of Arizona student Curtis Hall (who plans to develop an Icon compiler for parrot) was awarded a grant to decouple the parrot code emitter from the python compiler.

There is now a pirate mailing list for discussion of the generic compiler system.

Several compiler writers are already participating on the list, and we are starting to work with the pugs team to see whether pirate can be unified with the work they're doing for compiling perl 6.

dutchman

With pirate becoming language-neutral, the python-specific code will be moving to a subproject. The python compiler is tentatively named "dutchman" after both The Flying Dutchman and python creator Guido van Rossum.

We are currently exploring how dutchman can best leverage the work being done with pypy.

what it can do

(note: this part may be out of date)

Right now, pirate supports a good deal of python. The two biggest things that are still missing are classes (because parrot classes aren't quite done yet) and exec/eval/import (because those things require a compiler -- and without classes, pirate can't compile itself). None of the builtin functions exist, either, and the types are borrowed from perl. :)

BUT: there's still a lot you can do! For example, parrot is able to run this generator-based microtheads demo and correctly run over 50 small test cases covering much of the language.

As a special bonus, it currently runs dog slow! The microthreads example runs about 8-9 times slower on pirate than on regular python. But that's not parrot's fault: the generated code is completely unoptimized.

getting pirate

(under construction, but current as of july 13, 2005. Note: some of the tests are not passing at the moment, as parrot has changed)

First, you need to download and compile parrot.

Then you need a recent version of python. Pirate should work with any python >= v2.2 (there are reports that it breaks on 2.4+ at the moment)

To get the pirate source code:

  % cvs -d:pserver:anonymous@pirate.versionhost.com:/cvs/pirate login
  Logging in to :pserver:anonymous@pirate.versionhost.com:2401/cvs/pirate
  CVS password: [just hit enter]

  % cvs -d:pserver:anonymous@pirate.versionhost.com:/cvs/pirate co pirate

Now, read the GUIDE and run the tests. Then you're set!

more info / get involved

Questions? Comments? Want to help? Join the pirate list!


More stuff coming soon. :)