In order to ensure efficient development and dissemination of quality software tools, a farm of platforms is made available for debugging and testing purposes.
This facility is open to all developers within ETSF.
ETSF software offer consists of several large-scale products. Their development involves frequent updates by teams of programmers. In order to ensure that high levels of quality are attained, the portability and reliability of the applications are regularly checked on a diversity of environments by means of standardized procedures. They are performed on a farm of platforms running software builders detailed hereunder.
Users interested by the concepts behind a test farm may download this document presented during the CECAM tutorial in Zaragoza
The setup consists of several computers selected for their diverse characteristics controlled by a client/server software environment named Buildbot.
Buildbot is a system designed to automate the configure - compile - test routine commonly exercised by software development projects in order to validate code changes as described on this utility homepage. It relies on a client/server paradigm:

Buildbot operations rely on several computers hosted at ETSF central node (Louvain-la-Neuve, Belgium). The build slaves offer a wide variety of configurations - a mixture of little endian and big endian (multi)processors systems representative of both desktop computers and large scale computing facilities.
A diversity of open source and proprietary operating systems, compilers and parallel processing libraries is provided. The following table summarizes the available hardware and its characteristics - number of CPU's, on board memory, software environment and build slave capacity for parallel processing. This facility is properly scaled in order to sustain a daily testing round from the different applications developed within ETSF.
| Builder | Brand | CPU | Procs | RAM | OS | bots |
|---|---|---|---|---|---|---|
| testf | Bull R423-E2 | Intel Xeon | 2x Quad | 12GB | CentOS 5.3 | 2 |
| chum | Sun X4200M2 | AMD Opteron | 2x Dual | 32GB | CentOS 5.3 | 1 |
| green-bb | Dell PowerEdge | Intel Xeon | 2x Quad | 16GB | SLinux 5.3 | 2 |
| bigmac | Apple Mac Pro | Intel Xeon | 2x Quad | 6GB | OSX 10.5 | 2 |
| chpit | HP rx4640 | Intel Itanium2 | 4 | 8GB | Debian 5.0.1 | 1 | buda | Transtec | Intel Xeon + GPUs | 2x Quad | 12GB | CentOS 5.5 | 2 |
| inca | HP DC7900 | Intel Core2 | 1x Quad | 4GB | CentOS 5.5 | 1 |
| shiva | HP Z400 | Intel Xeon | 1x Hexa | 12GB | CentOS 5.5 | 1 |
| fock | IBM OpenPower 720 | IBM Power5 | 2x Dual | 32GB | Suse 9.1 | 1 |
| ibm6 | IBM OpenPower 510 | IBM Power6 | 2x Dual | 8GB | AIX 6.1 | 1 | max | Apple XServe | IBM PowerPC G5 | 18x Dual | 18x 4GB | OSX 10.4 | 1 |
| coba2 | HP Z400 | Intel Xeon | 1x Quad | 3GB | CentOS 5.3 | 1 |
| littlebuda | Asus P55 | Intel Core2 + GPU | 1x Quad | 4GB | CentOS 5.5 | 1 |
| woopy | HP DC8100 | Intel Corei7 | 1x Quad | 4GB | Windows XP64 | 1 |
| ktulu | HP DC8000 | Intel Corei7 | 1x Quad | 8GB | Ubuntu 10.04 | 1 |
| toum | HP Z400 | Intel Core2 | 1x Quad | 8GB | Scientific Linux 6.0 | 1 |
The following table displays the configured compilers and libraries on each slave. Considering that the ETSF software distribution mainly consists of applications written in Fortran 90/95 language, this family of compiler is reported hereunder.
The philosophy behind the diversity of compiler environments is
| Builder | g95 | Gfortran | ifort | Open64 | PGI | PathScale | SunStudio | XLF | MPI |
|---|---|---|---|---|---|---|---|---|---|
| testf | 4.4 | 11.1 | openMPI 1.3, 1.4 | ||||||
| chum | 0.9 | 4.2, 4.3 | 9.1, 10.1 | 7.3 | 3.2 | 12 | openMPI 1.2, 1.3 | ||
| green-bb | 0.9 | 4.2 | 10.1 | openMPI 1.3 | |||||
| bigmac | 4.3, 4.4 | openMPI 1.3, 1.4 | |||||||
| chpit | 4.4 | 11.1 | openMPI 1.3 | ||||||
| buda | 4.3, 4.4 | 11.1 | openMPI 1.3 | ||||||
| inca | 4.4 | mpich2 1.2.1 | |||||||
| shiva | 4.4, 4.5 | openMPI 1.4 | |||||||
| fock | 9.1 | mpich2 1.0.8 | |||||||
| ibm6 | 12.1 | POE | |||||||
| max | 0.9 | openMPI 1.3 | |||||||
| coba2 | 4.4 | 11.1 | openMPI 1.4 | ||||||
| littlebuda | 4.5 | mpich2 1.3.1 | |||||||
| woopy | x86_64_mingw32 | mpich2 1.3.1 | |||||||
| ktulu | 4.4 | openMPI 1.4 | |||||||
| toum | 4.4, 4.6 | openMPI 1.4 |
In order to run efficiently on this automatic build facility, candidate applications are expected to follow several design rules
During the build cycles, relevant status information is saved by the slaves and forwarded to the build master. The latter dynamically feeds a webpage.
The results are sorted through build slaves, revision numbers and contributor names. Color codes allows to pinpoint offending build steps and to locate the corresponding code revision and slave. Links from the status grid provide statistics and further information for debugging

The test farm facility and its management software are accessible to contributors to all ETSF funded applications. Interested parties are invited to use this form to request details and assistance. A support is provided to adapt the system to specific requirements.
Login accounts for users who wish to interactively use the development tools can be arranged on most of the platforms.