Last updated October 9, 2011.
PIFR is the code running on testing.drupal.org, which distributes patches among the testing clients and aggregates results back to drupal.org Drupal issue queue.
PIFT sends patches to PIFR and receives the results back for posting in the issue queues.
General development ideas are usually announced and discussed onthe PIFT maintainer's blog before large features are implemented.
PIFR / PIFT 2.0
As of early 2009, boombatower and others had substantially improved improving the Automated Testing System. A brief overview of some of the requirements for these improvements can be found in the PIFR and PIFT issue queues.
For additional reference, the original project thoughts can be found at the following links:
- The Future of Automated Patch Testing
- Testbed design change and development
- Automated Testing System Development Clarification
There are a number of steps that need to be completed before the Drupal community can reap the benefits of the new system.
- Security review of rewritten Project Issue File Test (PIFT) module that integrates with the project module on drupal.org.
Someone familiar with SQLite, possibly one of the D7 maintainers, needs to write a PIFR DB driver to implement the required methods. MySQL and PostgresSQL have already been completed and can be used as examples. The driver is relatively simple, but will require manually connecting to SQLite since PIFR runs in D6 which does not support SQLite.
- Update testing client setup/installation script where necessary.
- Deploy current development system to project.drupal.org and the create a parallel testing client network.
- Freeze the current test client network and extract the test ID map for use in drupal.org upgrade.
- Upgrade and finalize test client network and test server (testing.drupal.org). Possibly move testing.drupal.org under the drupal.org infrastructure.
- Confirm upgraded testing network is functional.
- Plan for approximately 15 minutes of downtime on drupal.org.
- Update PIFT code and run data update using extracted test ID map from #4 on drupal.org during downtime.
- Watch deployed system closely and solicit community feedback and bug reports.
- Request additional hardware to use as community test clients (to allow for future expansion into testing contributed modules).
Since the above was written, automated testing has been expanded to include testing of contributed projects, and, testing.drupal.org has been replaced with qa.drupal.org.