We're in the middle of the development cycle right now for Phoronix Test Suite 1.2 "Malvik", but we expect to wrap up this first major post-1.0 release in September. Phoronix Test Suite 1.2 -- which is licensed under the GNU GPLv3 -- will ship with full support for a module/plug-in architecture, advanced analytical features, enhanced hardware/software detection support, and support for other UNIX operating systems. In this article we will be sharing some of the features for this new release, which has been codenamed Malvik.
Work on the modules support for the Phoronix Test Suite had started almost immediately after Phoronix Test Suite 1.0 "Trondheim" had shipped. The premise behind this feature is to provide a way that third-parties can extend the functionality of the Phoronix Test Suite without having to dive into the inner-workings of the Phoronix Test Suite (known as pts-core) thereby lowering the entry level and time required. The PTS modules support also provides some other features for the Phoronix Test Suite that are needed but don't necessarily belong within pts-core. For example, the screensaver toggling support has been moved into a module as well as the entire sensor monitoring support. Modules are easy to build by either writing a simple PHP class or a shell (SH) script.
The modules framework has also been engineered to support multi-threading processes. This will be hugely beneficial in areas such as with the sensor monitoring module, so that sensors can be polled on a set interval even while tests are running or the pts-core performing other tasks. In addition, this framework provides a number of other functions for making it very easy for independent users and companies to write their own modules to serve their own purposes. For those interested in writing their own modules with Phoronix Test Suite 1.2, a good area to start is by looking at the dummy_module and dummy_script_module files as well as the other modules that will ship with the Phoronix Test Suite.
In addition to the system_monitor module for sensor monitoring and toggle_screensaver for controlling the automatic enabling/disabling of the screensaver, there is also a email_results module that will automatically email the test results to a specified email address as well as graphics_override for forcing new anti-aliasing and anisotropic filtering levels for the ATI and NVIDIA binary drivers. The FORCE_AA amd FORCE_AF environmental variables can be set, and then this graphics_override module will read the new values and communicate them to the respective ATI/NVIDIA binary driver. Once the tests are then completed, their previous over-ride state will be restored (or turning off AA/AF if that's what was set before). We expect many other modules will also be developed in the near future. To see which modules are available, run phoronix-test-suite list-modules and there is now a module-info argument for obtaining information on a specific module (i.e. phoronix-test-suite module-info system_monitor).