March 2016 Archives

The Grants Committee has received one grant proposal for the March round. Before the Committee members vote, we would like to solicit feedback from the Perl community on the proposal.

Review the proposal below and please comment here by April 9th, 2016. The Committee members will start the voting process following that and the conclusion will be announced by April 16th.

Test2 Manual

  • Name:

    Chad 'Exodist' Granum.

  • Amount Requested:

    USD 2,000


I am proposing to write a Test2 manual. The Test2 distribution already has very complete module documentation. The manual will build off the individual module documentation and provide very valuable integration and usage details.

Benefits to the Perl Community

Test tool development has been held back for a very long time now. Test2 should unblock a lot of areas related to testing, but only if people can figure out how to use it. This manual should make current and future test developments accessible to all perl developers.


  • Test2::Manual

    A brief introduction and table of contents.

  • Test2::Manual::Tooling

    This section will cover writing test tools. This would be a root document with several other page links.

    * The name of the manual page, and the manual layout will need to be finalized.

  • Test2::Manual::Maintenance

    This section will cover maintaining Test2 itself. This will be a root document pointing to pages that explain the internals, and how they work together.

    * The name of the manual page, and the manual layout will need to be finalized.

Project Details

Test2 is intended to be the new core of perl testing tools. Test2 itself is now on cpan, and Test::Builder will be updated to use Test2 under the hood (I have an ongoing grant for this that is near-completion). Something this important needs serious documentation.

This manual will explain how all the bits and pieces work together. The manual will target 3 specific audiences:

  • Test Tool Authors

    This section of the manual will cover people who want to write new tools or that use Test2 under the hood. This is probably the most important audience as it will be necessary if tools are going to be compatible with each other.

  • Test2 Maintainers

    This section of the manual will cover people who wish to participate in Test2 development directly. This is important to reduce the bus factor (which is very close to 1 currently).


For test authors:

  • Migrating from Test::Builder

    Conversion notes and examples for people moving from Test::Builder. This will detail how tools might have changed, what is gone, and introduce some new or replacement concepts.

  • Simple OK tool

    This is the most basic tool you can write, and is valuable for explaining the key concepts universal to all Test2 tools.

  • The Test2 API

    This covers Test2::API, and all the functionality it exposes.

  • The 'Context' object

    Explain what the context object is, why it is important, and how to use it effectively.

  • The 'Hub' object and API

    Explanation of the hub objects and how they work.

  • Custom Hubs

    How to write a hub subclass (essential for Subtest like tools).

  • Custom event types

    How to write an event.

  • Custom output formatters

    How to write an output formatter.

  • Writing IPC drivers

    How to write a custom IPC Driver.

For Test2 maintainers:

  • Component map

    Map of all Test2 components.

  • Basic building blocks

    Explanation of low-level infrastructure such as Test2::Util::HashBase.

  • How the 'Context' works

    Detailed overview of the Context object, and implementation details.

  • The hub stack

    What the hub stack is, and why it is important.

  • The IPC system internals

    How IPC works, and more importantly how it can fail.

  • Utilities

    The utilities library, and important implementation details.

  • Performance Notes

    Key information about where changes can severely impact performance.

Project Schedule

I can start as soon as the grant is approved. The work will be done on free evenings and weekends as time allows.

Completeness Criteria

The manual will be included in a Test2 release on cpan. The manual will have all expected sections, with no significant gaps or TODO sections.


My name is Chad Granum. I am known as Exodist on CPAN. I have spent several years writing Perl for work and for fun. For most of my time in Perl I've specialized in unit testing tools. Fennec is a good example of my previous work.

In January of 2014 Michael Schwern transferred the Test-Simple dist and all of its components to me. He felt I was the best person to carry the project forward. Since then I have reached out to the rest of the community to be sure I was carrying the project forward in the best interests of all.

Dave Mitchell writes:

I spent last month mainly:

  1. looking into some of the CPAN breakage associated with my recent context work that's been merged into blead;
  2. looking at a build failure with solaris, dtrace, shared library and static inline functions


1:00 [perl #127475] Bleadperl breaks Algorithm-Permute
16:01 [perl #127543] dtrace/-DDEBUGGING builds now fail on Solaris
6:07 fix build warnings and smoke failures
3:22 fixup CPAN distributions affected by context changes (Syntax-Feature-Try)
6:11 fixup CPAN distributions affected by context changes (Test-Block)
9:12 fixup CPAN distributions affected by context changes (Want)
3:30 process p5p mailbox

45:23 Total (HH::MM)

As of 2016/02/29: since the beginning of the grant:

124.1 weeks
1687.4 total hours
13.6 average hours per week

There are 312 hours left on the grant.

The Grants Committee is accepting grant proposals all the time. We evaluate them every two months and another evaluation period has come.

If you have an idea for doing some Perl work that will benefit the Perl community, consider sending a grant application. The application deadline for this round is 23:59 March 23rd UTC. We will publish the received applications, get community feedback and conclude acceptance by April 5th.

The format will be the same as the previous rounds in 2014-2016.

To apply, please read How to Write a Proposal. Rules of Operation and Running Grants List will also help you understand how the grant process works. We also got some grant ideas from the community.

We will confirm the receipt of application within 24 hours.

If you have further questions, please comment here or contact me at tpf-grants-secretary at

Since our last report on the grant to revitalise, Amalia writes that Evozon have completed work on the following:

  1. Homepage, accommodating latest blog posts (10, with the ability to load more)
  2. At this point, header is reflecting whether the user is logged in or not
  3. Ability to register to the website (regular registration, oauth & openID to be implemented in the upcoming sprint)
  4. Ability to login to the website, go to admin, see posts (admin not yet customized to match the new BPO design, user is not yet able to publish posts)
  5. Ability to switch between themes (dark or light, depending on user's preferences)
  6. Category listings
  7. Tag listing
  8. Full search functionality (posts, users, tags)
  9. Comment system (ability to comment only if logged in, if blog admin doesn't have
  10. moderation enabled, comment will be automatically displayed; if it's enabled, comment is submitted to user approval)
  11. Author profiles, listing avatars, bios, entries, blogs & pages, and RSS subscription
  12. UTC fixes
  13. UTF-8 fixes
  14. Individual blog posts

If you use the existing site, please look at the new site's staging server and let us know if you encounter problems with any of the completed features. We welcome your comments. Please treat site as an early preview, not a polished version of the final product. Several admin features are still missing & several bugs still need to be fixed.

In their next spring, Evozon plan to work on:

  1. Post formatting
  2. My profile - add functionality (ability to chance avatar, display name, email & reset password)
  3. Ability to publish posts
  4. Image formatting within posts
  5. Fix category issues
  6. Add transactional emails (upon account creation, account confirmation, password reset, comment submission, etc)
  7. Oauth & openID sign-in & registration

About TPF

The Perl Foundation - supporting the Perl community since 2000. Find out more at

About this Archive

This page is an archive of entries from March 2016 listed from newest to oldest.

February 2016 is the previous archive.

April 2016 is the next archive.

Find recent content on the main index or look in the archives to find all content.


OpenID accepted here Learn more about OpenID
Powered by Movable Type 6.2.2