LTP + Infrastructure Snapshot
-----------------------------

Manifest:
README:			This file.
src/:			Sources to the latest ltp and sandbox packages.
  ltp-current.tar.bz2:	Symlink to latest ltp sources
  ltp-full-20101031.bz2:Latest LTP source release
  ltp.patch:		Patches to enable UCLINUX builds to function.
  sandbox-src.tar.bz2:	Sandbox LTP wrapper for use with testdriver
  testdrier-src.tar.bz2:Runs LTP testcases over a telnet or serial connection.
  setup-ltp:		Helper script for testdriver/sandbox
  setup-ltp-chroot:	Helper script for testdriver/sandbox
  fs*:			Helper script for extra testdriver testing.
bin/:			Executables for building and running LTP
  prep-space:		Script to unpackage and prepare LTP sources.
  prebuild:		"Fixes" the LTP source tree for use with TI C compiler.
  testdriver:		Runs LTP tests on network-connected device.
  setup-ltp:		Testdriver support script.
  setup-ltp-chroot:	Testdriver support sciprt.
  compare_results.pl:	Use to compare two testdriver runs.
  summarise.pl:		Use to summarize the results of a testdriver run.
  fsmk:			Makes an iso for iso9660, ext2, ext3, vfat testing.
config/:		Configuration files for building and running LTP
  sourceme.cfg.example:	Copy, edit, source prior to using prep-space
  testlist:		Tests to run for LE, including command line parameters.
  testlist.be:		Tests to run for BE, including command line parameters.
  phase1:		Reference files from phase1
  old-configs:		Reference files for CIFS LTP testing, etc
  ti64??-?-*.cfg:	Testdriver configs used by Red Hat for release testing.


Getting Started
---------------

Begin by copying sourceme.cfg.example to sourceme.cfg. Edit sourceme.cfg
and define approprite values for FMT (coff or elf) PFX (bin directory
for gnu wrappers), and INSTPFX (Where compiled LTP testcases are to
be installed).  When you are done editing, source this file (EG, "source
sourceme-custom.cfg") then run "prep-space" with a directory name to
install to (This is relative to the current directory).  The prep-space
script will create the named directory, install the LTP sources,
run the prebuild script and create some helper scripts and binaries.
Define GCC if you want to use the real gcc instead of the TI wrappers.
When prep-space is done it will tell you the directory the LTP sources
are in and what commands to run.


Building
--------

The prep-space command generates scripts for configuring, building, and
installing the LTP test cases.  Using the scripts instead of issuing the
commands directly ensures that flags from the sourceme.cfg file will
be used (The most important one being UCLINUX=1.  Without this flag
many LTP test cases will be attempted that have no hope of building).
Use the scripts in the following order:

1. configure.cmd: Run this to run or rerun configure.

2. make.cmd: Run this to build the test cases.

3. install.cmd: Run this to install the test cases.

Note that userspace is identical between all boards of the same endian.
The installation command line in install.cmd can be duplicated to install
into multiple trees.  A white-space seperated list of directories
in the INSTPFX definition will achieve this end.

Once install.cmd is complete the test cases are built, installed and
ready to run.  Also, the testdriver, sandbox, setup-ltp, test iso and fs*
scripts will be in place.


Sandbox Execution Wrapper
-------------------------

An execution wrapper is used to run test cases on the embedded device.
The 'sandbox' source contains this wrapper.  The prep-space script will
build this program automatically, and the install.cmd script will install
the executable in $INSTPFX/bin.  No additional action should be necessary
to build or install sandbox.


Test driver
-----------

Standard LTP shell scripts are unable to function in a UCLINUX
environment, due in part to sh-compatible shells not supporting required
functionality such as functions definitions, globbing, etc.  The
testdriver program is built for and resides on a separate Linux system,
but executes test cases on the uCLinux host by means of a serial or
network console.  If testdriver isn't in your bin directory when doing
a prep-space, prep-space will automatically build and install testdriver
in the bin directory.  You can also build with 'make."  Complete
documentation for the testdriver is the source tree in the README file.

The config directory contains the configuration files used by the
testdriver program to run all LTP and extended tests.

ti64*net*.cfg: State files for use with the board configuration included
in the name.  This configuration assumes the board has been booted by
some means and is accepting logins via telnetd.

The ".cfg" files will need to be updated to include the hostname
or IP address the board can be reached at, the path to the test list,
and the directory where the LTP test cases reside.

Further note that the testlists used by the cfg files may need some
customization.  As an example, the fstst-cifs script needs to know
a CIFS server, path, and domain that it can connect to in order to
operate correctly.

Once the state file is configured, run the test cases with the
following command:

# ./testdriver statefile.cfg

(IE, ./testdriver ti-c6x/ti6455-1-elf-le-net-ext2.cfg)

Logs will be placed in the 'testruns' directory per the statefile
configuration.  Log pairs from the annotated tests are provided for
reference in the 'final' directory.


Analyzing Results
-----------------

Anotations for the results were provided with the release.  Some useful
tools are included in the testdriver sources to facilitate analysis.  The
summarise.pl script will give a test summary while the compare_results.pl
script will provide a comparison of two test logs noting any changes.

