GSoC/GCI Archive
Google Code-in 2010 Parrot Foundation and The Perl Foundation

Fix Parrot's sha256 implementation.

completed by: Nagato Yuki

mentors: cotto

Task Description

Fix Parrot's sha256 implementation.  Somewhere in runtime/parrot/library/Digest/sha256.pir there's a bug.  For a long time this bug was undetected because the code was untested.  We now have tests to determine whether our implementation is correct.  It's not.  Your job is to find and fix the bug, making the sha-2 tests in t/library/sha.t pass.  A small change may be all that's necessary, but finding it will be the tricky part.

Steps To Complete This Task

Read the Trac ticket here. Create a Trac account and add a comment to the ticket that you are working on it.

  1. Create a fork of parrot.git on
  2. Perform all the necessary code and/or documentation changes
  3. Build parrot and run its test suite (make fulltest) to verify that things still work
  4. You can also submit a smoke report with "make smoke", but that is optional.
  5. Create a Github pull request (button on the upper right of your fork) to have your changes incorporated into the master repository


  1. Knowledge of PIR.
  2. Knowledge of the SHA-2 algorighm (see Additional Links below)

Additional Links