Another user-noticeable improvement with Phoronix Test Suite 2.0 is to the GTK2 GUI. With Phoronix Test Suite 1.8 "Selbu" we introduced a Phoronix Test Suite GUI for those not wishing to use the feature-rich command-line interface. With Phoronix Test Suite 2.0, this GTK2 interface has been refined and there are several improvements from subtle changes to the addition of new menus and interfaces. The menus have been reorganized, there is now support for logging into Phoronix Global from the GUI, there is now basic system tray icon support, segmentation fault fixes, GNOME notification daemon support, an external dependencies window has been added and more. Additionally, the event reporting to the GTK2 GUI has been reworked entirely and there is support for selecting multiple tests/suites at once from the graphical user interface.
In Phoronix Test Suite 2.0 we have also added a number of new command line options, which include list-installed-suites, list-unsupported-tests, list-installed-dependencies, list-missing-dependencies, extract-from-result-file, finish-run, validate-test-profile, validate-test-suite, estimate-run-time, result-file-to-text, result-file-to-csv, user-config-reset, user-config-get, and user-config-set. The finish-run option can be used for completing remaining test profiles from an incomplete saved results file while the estimate-run-time option can be used for providing a detailed estimate of how much time is required to run the specified test(s) and suite(s) or a saved results file.
The validate-test-profile and validate-test-suite options can be used by test profile writers for validating their XML syntax and to carry out other automated checks to try to catch some common test profile/suite problems. The validation capabilities of the Phoronix Test Suite will continue to be enriched in the coming releases. For those that are not interested in having their test results in an XML file, as a PDF file, on Phoronix Global, or in a text file, the result-file-to-csv option can be used for importing test results into a CSV file for loading into a spreadsheet or other program. For more information on the available command options for the Phoronix Test Suite, view the documentation that ships with this software.
While the mentioned changes are a lot, we are still not done with all of the changes that make up Phoronix Test Suite 2.0. Powering the Phoronix Test Suite at its heart is pts-core, and that has received some significant improvements and other changes beyond what is already mentioned. As we noted in an earlier article, with Phoronix Test Suite 2.0 all of the code we have developed to perform the software and hardware detection and support code has been moved out of pts-core and into a separate library, known as Phodevi. Phodevi, short for the Phoronix Device Interface, provides a clean, stable, platform independent API for accessing software/hardware information from the available video resolution modes to read the video memory capacity to reading the version of the installed compiler, etc whether you are running Linux, OpenSolaris, BSD, or Mac OS X. The introduction of Phodevi also provides a host of other capabilities now and for future releases, which we will detail in due time. Phoronix Test Suite 2.0 / Phodevi also picked up support for NexentaCore OS, OpenSolaris 2009.06, DragonflyBSD, and support for a few other BSD features.
Also added to pts-core in Phoronix Test Suite 2.0 are support for several new environmental variables. When running the Phoronix Test Suite, the OVERRIDE_VIDEO_MODES environmental variable can be set for overriding the video modes that Phodevi provides to the test profiles when requested. The SKIP_TESTS environmental variable can be used for specifying test identifier(s) to skip from testing, say if you want to ignore some tests from within a suite. The TOTAL_LOOP_TIME and TOTAL_LOOP_COUNT variables were added in if you want to loop a number of tests/suites until a certain time or loop count is reached, respectively, if for instance you are interested in stress testing than measuring the quantitative performance.
While a whole lot more has changed in pts-core than what is mentioned in a single article, some of the other work includes adding in an (optional) EnvironmentTestingSize XML tag for test profiles, a OverrideTestOptions tag to allow a test suite to override test profile options, improved detection / handling of when a test failed to install properly, improved detection / handling of when a test failed to run properly, and support for exposing all test extensions through environmental variables when dealing with Cascading Test Profiles. When using the integrated Phoronix Test Suite installer, there is now also a file for bash auto-completion support that is installed. Other objects that tie into pts-core, such as pts_Graph and bilde_renderer, also received various improvements.