Introduction The Regression Result Tool (RRT) is a Perl based tool that displays regression results via a web page. It takes as input a directory/list of test log files. It parses each for pass/fail information and any other information the user would like to have reported. It will generate an HTML report that contains links to each of the tests allowing for quick navigation. Finally, it automatically updates a master/home page where links to each of the reports resides. Features o Specify a directory, a list of files, list of directories, etc for parsing o Parsing of test results and report displaying is controlled via a configuration file o Supports multiple configuration files o Generates HTML reports with highlighted pass/fail information o Generates a text only report o Web Links to individual test result log files o Tabulation of Pass/Fail data o Email notification support via sendmail, smtp, or qmail o Archiving of old results and maintaining of such on separate web page o Deletion of old results o Options to limit size of stored log files (runaway tests) Requirements o Perl 5.6.1 or Later o A Unix based OS. This includes Cygwin o Web browser o During setup, an individual with a basic knowledge of Perl regular expressions o Tar o Gzip o Sendmail, qmail, or smtp server (For the Email notification feature) o Each test log file needs to have a unique name (Only, if not using the recursive mode) o The log files that are to be parsed must have the following which can be uniquely identified with a Perl regular expression 1. Test Name 2. Pass/Fail Info Quick Start The first thing is to get the latest distribution of the RRT archive. The current released version of the RRT tool is stored as a compressed tar file on the SourceForge web site ([1]http://sourceforge.net/projects/pw-rrt). Download and copy this file to your home area or other test area and run the following commands which are based on the distribution of this documents release: >> gzip -d rrt-1_12_0.tar.gz >> tar -xvf rrt-1_12_0.tar >> rrt-1_12_0/bin/rrt -r -n rrt-1_12_0/test_logs RRT is distributed with the default of the distribution's rrt-1_12_0/public_html as the location of log file storage. The above commands will parse and display the test log files to STDOUT. In order to post the log files to the web pages one would just re-execute without the "-n" switch. >> rrt-1_12_0/bin/rrt -r rrt-1_12_0/test_logs Using a web browser open the file rrt-1_12_0/public_html/rrt_home.htm. One should see a single link line with the time and date the regression results were parsed. The links exist. Feel free to explore. For example: >> firefox file://${PWD}/rrt-1_12_0/public_html/rrt_home.htm For more options to test, please see the online help screen: >> rrt-1_12_0/bin/rrt -help The above steps are meant to provide one with a quick way to get RRT up and running in order to see how it works. For the formal installation instructions please see the next section. References Visible links 1. http://sourceforge.net/projects/pw-rrt/ Installation The RRT tool is written in Perl and is distributed as an archived tarball. All one needs to do to install it is to select the desired location and execute the following: >> gzip -d rrt-1_12_0.tar.gz >> tar -xvf rrt-1_12_0.tar Perform the following steps to set-up basic functionality: 1. Copy the public_html directory to the desired location where one wants the reports and test log files to be stored. One can rename this directory to something else. 2. Copy the rrt.cfg file to a new name: >> cp rrt-1_12_0/lib/rrt.cfg my_rrt.cfg 3. Edit my_rrt.cfg. o Update the "master_web_dir" parameter to point to the location one copied the public_html directory in step 1. o Ask an IT admin to set-up a web link to the location that one copied the public_html directory to. This is needed if one wants to use HTTP. If one is going to use file links, then one can skip this. o Set the parameter master_web_link to the HTTP or file link. 4. Add the rrt-1_12_0/bin location to ones path 5. Execute the following to test your set-up: >> rrt -config my_rrt.cfg -rec -no 6. Verify that the test information is what one desires. If it is not, then modify my_rrt.cfg and re-execute step 5 until the needed results are achieved. 7. Once the desired information is captured, one can execute the following to store the information into the public_html area that was set-up in step 1. >> rrt -config my_rrt.cfg -rec Release Notes o Release 1.12.0 + Added new RRT_HOME env variable that is set at execution time to the directory that RRT was executed from. + Added ability to expand environment variables in the RRT configuration file (rrt.cfg). + Added in the Perl Mail package in order to expand RRT email capabilities to include qmail and smtp. Previously, only sendmail was supported. + First official SourceForge Release. o Release 1.11.1 + Fixed issue where the log_file_extensions could match anywhere in the filename. Now, they match from the end of the filename only + Fixed issue where the first line of the first file loaded was not being parsed. This could cause issues if the log file had the testname on the first line. This problem was introduced in release 1.11.0 with the parsing performance enhancement. + Under the right conditions, the column overloading used in the regression report for the PASSED/FAILED/ERROR strings could result in multiple result columns being displayed in the same report. This has been fixed. o Release 1.11.0 + Added -delete_reports option functionality. Now the web reports can be kept even if the archived tar.gz files are to be removed. Previously, the -delete_archives option removed both. + Changed the way the date of the files is determined. Previously, the system time-stamp of the file was used. This was not robust enough because if a user copied or moved the location of the files, the dates could be messed up resulting in non-deterministic behavior. Now, the date-stamp in the filename is used to determine if the file should be archived/removed. + Modified the way parsing of the log files is performed. This should be a performance enhancement. Preliminary testing shows at least a 30% speed boost. + New rrt_max_file_size parameter has been added that limits the maximum size that a file can be for parsing and storage. If a file exceeds this size, then RRT will only parse and store the upper and lower rrt_max_file_size/2 portions of the file. + Added support for log files that have been compressed using the tool gzip. These files will be parsed using the gzip -dc command. They will be stored uncompressed for web access. + Added two new parameters rrt_num_to_not_archive and rrt_reports_to_keep. These allow one to set a minimum number of reports to be maintained on the main web page and the archive web page regardless of their date-stamp. This will prevent a cron process or user from removing all of the history information for a project even if a project becomes idle and the date-stamp thresholds are met. + Updated documentation o Release 1.10.1 + Updated the documentation and release notes. o Release 1.10.0 + Added the Apache 2 license. The Regression Report Tool is now available as open source. + Previously the passed/fail string that was displayed in the user report was whatever was captured via the regular expression. Now, the fixed strings of PASSED/FAILED will be used regardless of what the user's pass/fail string is in the log file.