\section{Testing the Library}
\index{testing}
\index{test programs}

\subsection{Unit Tests}

BALL provides an extensive suite of test programs to ensure the correctness of
the code on all platforms. This test suite requires a lot of patience since
the compilation takes quite some time. However, we recommend to run these
tests to ensure that the library is fully operational. The test programs are
located in the directory {\tt BALL/source/TEST}. To compile and run the test
suite, use "{\tt make test}". Please make sure that {\tt LD\_LIBRARY\_PATH} is
correctly set, otherwise the execution of the test programs will fail.

Each of the test programs tests one or more classes of BALL. When a test
program (\eg~{\tt Atom\_test}) is run, the program prints either "OK" (if all
tests passed) or "FAILED" if any of the tests failed. "{\tt make test}" runs
all tests and complains if a certain test fails.  


If this happens, please let report a bug through our online bug tracking
system at \URL{http://ball-trac.bioinf.uni-sb.de}.

\noindent
For all bug reports, please include your system configuration, the file
\file{config.log} (which contains the results of tests configure performed),
and the file \file{BALL/include/BALL/config.h} (which contains the compiler
defines used by BALL).

\subsection{Benchmarks}

If you want to know how fast the version of BALL is compared to other systems,
you might want to run the benchmark suite in \directory{BALL/source/BENCHMARKS}.
You can compile the benchmark suite by changing to that directory and running
"{\tt make}". After that, run the benchmarks with "{\tt make bench}".
Depending on your hardware and whether you compiled BALL with or without
optimization, running the benchmarks will take up to several minutes. Upon
termination, it will print an overall number, the BALLStones. This number is a
crude estimate of the performance you can expect for a mix of typical BALL
applications. The benchmark suite currently includes benchmarks for the BALL
kernel data structures, file I/O, the AMBER force field, and the
Poisson-Boltzmann solver. The BALL web site contains a list of benchmark
results for different platforms, please feel free to submit your results for
inclusion.
