
Executing flexHammer-tests automatically
========================================


It is possible to execute almost al the flexHammer-tests
automatically. The procedure contains three steps:
- increase the number of tabels     (flexHammer -c number)
- increase the number of threads    (flexHammer -t number)
- increase the number of records    (flexHammer -r number)
- increase the number of tabels and threads alternately

Each of these steps are performed by the scripts test1.sh,
test2.sh, test3.sh and test4.sh. Each test will start Ndb,
execute the test and close Ndb again in order to execute
each test in a 'clean' Ndb-environment. So make sure that
there is no Ndb running when you start the test.


1. Setup

To perform the tests automatically, the following issues
have to be taken care of:

- be sure that you have a directory bin in your home-directory.
  In this directory, you need to have a link 'runndb' to the
  ndb executable. You can do this by executing a shell-command like:
  ln -s ndb/Emulator/Main/ndb runndb 
  The script is not yet so far that it performs checks, so if
  you forget about this, things will get messy.
- In this directory you need a Ndb.cfg for a server-configuration. 


2. Command

I assume you have Ndb and the API compiled or you use the
'released' version. Compile flexHammer as usual with 'make'.
Now you can start the tests by typing 'make test'. The
execution of the test will take a while.


3. Results

The scripts will write their results in the file report.txt.
The scripts will start with a short summary on the test. Then
it will add 1 line documenting each run of flexHammer that is
ececuted. Finally, it will print highest 'score'. The file
report.txt is probably good enough to check in directly as
testprotocol in ndb/test/docs/testprotocols.


4. Log files.

To make it possible to investigate errors, the output from
the flexScan-run where the error occurred is stored in
test1.log, test2.log, test3.log or test4.log respectively.
They are overwritten each time you start 'make test'.


HINT

The number of iterations in each test-script is not directly
limited by the number of attributes or the size of the
attributes but by the number of tables that you are allowed
to create. Probably this will be the error that occurs if
you execute the test. You migh adjust the begin-values and
the step-size in the individual scripts if you want.
