GLAST Nightly Package Build and Code Release System Tests

GLAST is a pair conversion telescope due to be launched into low earth orbit in late 2006. As with all complex software, ongoing assessment of the performance of the GLAST detector simulation and reconstruction software presents a tremendous challenge. Testing to detect basic software errors and problems like memory leaks as well as physics errors are important. A system for generating a set of easily modified, automated tests which generate web viewable  results is presented here. At the heart of the test suite are GAUDI job options files, specifying the configuration for a set of tests, and ROOT scripts which generate histograms from the output of the tests. In addition, test and performance meta-data, such as histogram KS tests, CPU time and memory usage for the tests, is entered in an Oracle database via the Perl and shell scripts that run the tests. A set of CARROT scripts create Web pages for viewing and comparing histograms and meta-data between tests results for different versions of the simulation software. A flexible database has been created to allow configuration for different tasks and clients. These system tests are applied to each major tag of the software. A nightly build system has been created as a proactive measure examining the daily status of the packages comprising the system. All are built, linked and their unit tests run. Results are recorded in the database; package owners are alerted to any failures. This system is intended to reduce the integration load at release time by doing a running check that incoming code is likely to work in the system.


R.Dubois Last Modified: 2002-12-19 15:07:31 -0800