Testing the BCCD

From BCCD 3.0

Jump to: navigation, search

Contents

Automatic test suite

The first version of the BCCD test suite is now present in recent revisions of the BCCD. It resides in the bccd user home directory under tests.

Automatically Testing the BCCD

  1. Start up whatever setup you wish to test
  2. Log in as bccd and cd to tests
  3. Make sure there's a control directory. see the following section: "Generating a Control Directory" if you don't see one.
  4. Run startx
  5. Run bccd_test_suite.pl --mailto (your email)
  6. You should shortly receive a message in your email inbox declaring success or describing what tests had errors and how many.
    • In the latter case, the details of the test will be included as an attachment.

Generating a Control Directory

The BCCD Test Suite utilizes comparative testing. It runs its tests and compares them against the results they had in a distribution / environment already known to work. These known good results are referred to as the "control." If you do not have a directory "control" with the control results of the tests in your ~bccd/tests folder, (if you're an end user you should) you can generate one on a known good machine with the -c predicate:

  1. Start up a network of at least two machines with the latest ISO
    • If you mean to test in a single-node setting, boot up only one machine.
  2. Log in as bccd and cd into tests
  3. Run startx
  4. In either terminal, run perl bccd_test_suite.pl -c --mail --mailto you@yourdomain.com
  5. Presuming that your machine is connected to the network, eventually you'll receive an email with the control tarball.
  6. Check it for errors before using it. A test isn't much good if the control set is wrong.

Adding new tests

See a list of tests to be added to the test_suite.

Adding new tests has never been simpler.

  1. Write a script in your favorite language
    • Make sure it knows what parser to use when executed (get to know #! ("shebang" if you want to Google it) if you're not already acquainted)
    • Take a look to see if a similar test already exists to avoid duplicated effort (see Note)
  2. Save it in ~bccd/tests/scripts
  3. If your script is not a test, but a diagnostic for relevant system data, drop it in the "system" subdirectory
    • "system" tests are not included in control generation, and are always included in reports, even reports of success

Note: There is a hidden subdirectory in the scripts directory .sharedcode. It is in this directory that you should put the code shared by multiple tests. For instance, the MPI tests all use the same general format and therefore are mostly handled by the perlshared.pm module file in the .sharedcode directory.

Scripts and Software combinations

Test Script Notes Test Results
Gromacs gromacs.pl TestGromacsNotes GromacsTestLog
R r.pl TestRNotes RTestLog
GalaxSee mpitest.sh TestGalNotes GalaxeeTestLog
Life mpitest.sh TestLifeNotes LifeTestLog
Param Space mpitest.sh TestPSNotes ParamSpaceTestLog
PSC_DX NA TestPSCDX PSC_DXTestLog

MPI/Compiler Binding Matrix

Application OpenMPI + GCC OpenMPI + ICC MPICH2 + GCC MPICH2 + ICC
GalaxSee Yes (as of r2297) Unknown Yes (as of r2297) Unknown
Life Yes (as of r2297) Unknown Yes (as of r2297) Unknown
Param Space Yes (as of r2297) Unknown Yes (as of r2297) Unknown

Run states

Live CD

Either

Liberated

  1. Liberate: perl /root/liberate.pl --libdev=/dev/dev
  2. Reboot.
  3. Start with DHCP services: linux startdhcp startnfs allowpxe
  4. Boot other cluster nodes after boot up.


  1. As root, add a new user
  2. Do the necessary setup for that user
  3. Attempt to run the parallel software as listed above.

Troubleshooting

  1. If zlib compression failures swamp the console when you try to liberate, this probably means you're using a scratched livecd disc.
  2. Wipe the disc clean and try again.
Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox