blob: e3c3190c0a7e2063f01476c6ba30e64acf725062 [file] [log] [blame]
This scripts contains any and all scripts which will help in testing the make
infrastructure.
A brief description is as follows:
Foundation Build Regression Test Scripts:
- build_test_functions.sh - Generic library functions for all
pull / build / test scenarios.
There are a total of 3 different positive pull / build / test scenarios that
have been identified which should be tested on a regular basis, both prior to
and after commit:
- test_install_in_build_tree.sh - Build in srcdir, install in srcdir.
- test_install_out_of_build_tree.sh - Build in srcdir, install in
rootfs / outside of builddir // srcdir.
- test_out_of_build_tree.sh - Build outside of srcdir, install in
rootfs / outside of builddir // srcdir.
The scenarios are defined in include/mk/env_pre.mk (look for BUILD_TREE_STATE).
These scenarios all fulfill the following requirements:
1. Pull LTP from a predefined SCM (cvs is the only method supported today, but
other SCMs could be added when and if support is properly enabled by the
project admins).
2. Apply a custom -p0'able patch if defined with LTP_PATCH (THIS MUST BE THE
ABSOLUTE PATH TO THE PATCH!!!).
3. Configure (make autotools -> configure).
4. Compile (make all).
5. Install (make install).
6. Test (execltp -v).
If you want to add another scenario, please email the list requesting the
enhancement and we'll see what we can do to accomodate it if the scenario
functionally makes sense.
You can use a variety of variables to control how things operate, such as:
- CLEAN_TEMPFILES - !1 - don't clean up the temporary generated files
after the scenario is complete.
- 1 - clean up the temporary generated files after the
scenario is complete.
- MAKEFLAGS - flags which will be passed directly into make
(please ensure that any and all options passed are
properly escaped beforehand if quoted).
- TMPDIR - base temporary directory for all generated and
pulled files.
About the warning...
If you see:
WARNING: Read the [.../]README before executing this script [...]!
this is by design. I inserted this in the script to intentionally underscore
the fact that folks need to be very careful when executing this script and
exercise the following common sense:
1. Use a chroot, or lower-privileged user (preferrably a test user). If there's
a bug in the make infrastructure, you could end up eating crow after your
build host gets hosed!
2. Properly chmod your files / directories! You shouldn't have 00777 set on
anything that you don't mind parting with, or you are begging for trouble!
set I_HAVE_READ_THE_README_WARNING to 1 in your environment in order to
proceed.
Utilities:
- ltp-missing-install-files.py - A script which does a real basic first cut at
trying to find missing commands or test files.