|
|
|
@ -9,34 +9,36 @@ Copyright (C) 2011 George Danchev, Thomas Schmitt
|
|
|
|
|
Provided under GPL version 2 or later. |
|
|
|
|
------------------------------------------------------------------------------ |
|
|
|
|
|
|
|
|
|
The impatient tester will build libisoburn according to ./README and then do |
|
|
|
|
The impatient tester will build libisoburn according to its README and then do |
|
|
|
|
|
|
|
|
|
cd ./releng |
|
|
|
|
./run_all_auto -x ../xorriso/xorriso |
|
|
|
|
|
|
|
|
|
More patient testers will first read the following description. |
|
|
|
|
|
|
|
|
|
Those who simply lack the interpreter /bin/bash, may do |
|
|
|
|
./change_shell_to_use |
|
|
|
|
and then retry. |
|
|
|
|
|
|
|
|
|
The test suite |
|
|
|
|
|
|
|
|
|
+++ introduce the test suite, |
|
|
|
|
The test suite |
|
|
|
|
|
|
|
|
|
Directory ./releng of libisoburn contains a collection of test scripts and |
|
|
|
|
auxiliary data. They exercise some typical use cases of building libisoburn |
|
|
|
|
applications and running the ISO 9660 filesystem manipulation and CD/DVD/BD |
|
|
|
|
burn program xorriso. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+++ inform about resource needs, |
|
|
|
|
|
|
|
|
|
It is assumed that libburn and libisofs are installed, so that libisoburn |
|
|
|
|
can be configured and built. It is not mandatory that libisoburn is already |
|
|
|
|
installed. The tests may use an installed xorriso program as well as a |
|
|
|
|
freshly built one. |
|
|
|
|
|
|
|
|
|
>>> Do we really need to be glued to bash ? |
|
|
|
|
|
|
|
|
|
The test scripts explicitely demand /bin/bash as interpreter, although they |
|
|
|
|
would run on certain other shells too. If you get an error message like |
|
|
|
|
./run_all_auto: not found |
|
|
|
|
then consider to install /bin/bash. |
|
|
|
|
If you decide against that, see below "Alternative Shells". |
|
|
|
|
|
|
|
|
|
+++ auto and manual tests |
|
|
|
|
|
|
|
|
|
There are two groups of test scripts: |
|
|
|
|
|
|
|
|
@ -51,8 +53,6 @@ There are two groups of test scripts:
|
|
|
|
|
and operate the mechanics of a CD drive. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+++ tell how to run the tests, |
|
|
|
|
|
|
|
|
|
Running automated tests |
|
|
|
|
|
|
|
|
|
The test scripts expect to get run while the working directory is |
|
|
|
@ -75,10 +75,6 @@ or if you want to use an installed xorriso program:
|
|
|
|
|
resp. |
|
|
|
|
./run_all_auto -x $(type -p xorriso) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+++ General options -x , -k, -f, -c, -h, -- |
|
|
|
|
+++ + All scripts support -h |
|
|
|
|
|
|
|
|
|
There are several options which work with run_all_auto and any single test. |
|
|
|
|
-x absolute or relative path to xorriso binary to be run. |
|
|
|
|
-k keep self-generated data. |
|
|
|
@ -92,8 +88,6 @@ particular manually executable test scripts.
|
|
|
|
|
|
|
|
|
|
Manually executable tests |
|
|
|
|
|
|
|
|
|
+++ list of manual tests |
|
|
|
|
|
|
|
|
|
Currently there are the following tests which should have the attention of |
|
|
|
|
the user or require sysadmin considerations before they are run: |
|
|
|
|
|
|
|
|
@ -137,24 +131,29 @@ the user or require sysadmin considerations before they are run:
|
|
|
|
|
as one single argument. On Solaris use: --priv_cmd pfexec |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
>>> ./run_all_manual |
|
|
|
|
|
|
|
|
|
>>> + Any auto_* script can be run on its own, regardless. |
|
|
|
|
>>> List auto tests |
|
|
|
|
Any auto_* script can be run on its own. Some of them demand option -x. |
|
|
|
|
All general options are accepted. |
|
|
|
|
|
|
|
|
|
./auto_cxx |
|
|
|
|
Exercises inclusion of xorriso/xorriso.h and libisoburn/libisoburn.h |
|
|
|
|
in C++ programs and linking of the libraries. It might be necessary |
|
|
|
|
to set compiler options by shell variable CFLAGS before running the test. |
|
|
|
|
E.g. if the include headers libisofs.h and libburn.h are not found: |
|
|
|
|
E.g. if on FreeBSD the include headers libisofs.h , libburn.h are not found: |
|
|
|
|
export CFLAGS="-I/usr/local/include" |
|
|
|
|
|
|
|
|
|
>>> ./auto_isocontent |
|
|
|
|
./auto_isocontent -x ../xorriso/xorriso |
|
|
|
|
Tests whether xorriso is able to record and restore two familes of |
|
|
|
|
hard links. |
|
|
|
|
|
|
|
|
|
./auto_printsize -x ../xorriso/xorriso |
|
|
|
|
Tests how long xorriso needs to compose a medium sized directory tree. |
|
|
|
|
If programs mkisofs and/or genisomage are availaible, then the same test |
|
|
|
|
is done with them. |
|
|
|
|
|
|
|
|
|
>>> ./auto_printsize |
|
|
|
|
|
|
|
|
|
---------------------------------------------------------------------------- |
|
|
|
|
|
|
|
|
|
+++ give hints what to do with FAIL results. |
|
|
|
|
What to do with FAIL results |
|
|
|
|
|
|
|
|
|
The text output of the automatic tests is recorded in file |
|
|
|
|
releng_generated_data/log.run_all_auto |
|
|
|
@ -169,11 +168,29 @@ please contact mailing list libburn-hackers@pykix.org .
|
|
|
|
|
|
|
|
|
|
---------------------------------------------------------------------------- |
|
|
|
|
|
|
|
|
|
Creating a new test script |
|
|
|
|
Alternative Shells |
|
|
|
|
|
|
|
|
|
If you decided against installing /bin/bash, you may try to use your |
|
|
|
|
current $SHELL by running |
|
|
|
|
./change_shell_to_use |
|
|
|
|
which will modify the test scripts named run_all_auto , auto_* ,manual_*. |
|
|
|
|
|
|
|
|
|
Known to be suitable are the following shells |
|
|
|
|
GNU/Linux: /bin/bash |
|
|
|
|
FreeBSD 8: /bin/sh |
|
|
|
|
Solaris: /bin/bash , /bin/i86/ksh93 |
|
|
|
|
|
|
|
|
|
The script does not choose an interpreter explicitely and is safe to be run |
|
|
|
|
inline: |
|
|
|
|
. ./change_shell_to_use |
|
|
|
|
One may set any interpreter path by runnung a sub shell and changing its |
|
|
|
|
variable SHELL. E.g. by: |
|
|
|
|
( SHELL=/bin/my_shell" ; . ./change_shell_to_use ) |
|
|
|
|
|
|
|
|
|
+++ * DELIVERING A NEW TEST SCRIPT |
|
|
|
|
+++ + Start a new test script over the top of template_new_releng |
|
|
|
|
+++ + Each completed script starts with auto_ or manual_ prefix |
|
|
|
|
|
|
|
|
|
---------------------------------------------------------------------------- |
|
|
|
|
|
|
|
|
|
Creating a new test script |
|
|
|
|
|
|
|
|
|
If you want to provide an own test, manual or auto, then first invent a name |
|
|
|
|
for it |
|
|
|
@ -185,19 +202,12 @@ Edit $test_name and process any line that begins by "# === TEMPLATE:".
|
|
|
|
|
Do what the line prescribes and then remove it from the script. You are |
|
|
|
|
not done as long as such a line remains. |
|
|
|
|
|
|
|
|
|
+++ + Each script' self-generated data are to be stored in |
|
|
|
|
+++ ./releng_generated_data/scriptname/ directory |
|
|
|
|
|
|
|
|
|
Your test must not start if no file |
|
|
|
|
./inc/releng_getopts.inc |
|
|
|
|
exists, i.e. if the current working direcoty is not ./releng. |
|
|
|
|
If your test creates own files on disk, then it must do this underneath |
|
|
|
|
directory ./releng_generated_data/$test_name (resp. $GEN_DATA_DIR, see below). |
|
|
|
|
|
|
|
|
|
+++ + Throw FAIL string to stdout if any failure is detected |
|
|
|
|
+++ + Return exit code 0 on success, non-zero on failure |
|
|
|
|
+++ + Use different exit codes for any failure (range 0-31) |
|
|
|
|
|
|
|
|
|
In case of failure, issue a line to stdout that begins by the word "FAIL", |
|
|
|
|
followed by " : " and the name of the test (e.g. $SELF, see below). |
|
|
|
|
Make sure that the test script finally returns a non-zero exit value. |
|
|
|
@ -211,9 +221,7 @@ Predefined are:
|
|
|
|
|
When exiting prematurely, make sure to call function cleanup. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
General options, variables, and functions |
|
|
|
|
|
|
|
|
|
+++ inc/releng_getopts.inc variables, functions, initializations |
|
|
|
|
Variables, general options, helper functions |
|
|
|
|
|
|
|
|
|
The code piece inc/releng_getopts.inc should get executed inline at the |
|
|
|
|
start of a test script. |
|
|
|
@ -256,9 +264,7 @@ for use by the single tests:
|
|
|
|
|
unboldify Reset terminal mode to normal style of writing. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Specific options |
|
|
|
|
|
|
|
|
|
+++ + Keep the newly added script options in sync with other scripts |
|
|
|
|
Specific options |
|
|
|
|
|
|
|
|
|
Options which are specific to the test should begin with a double dash. |
|
|
|
|
They may have further arguments. |
|
|
|
@ -275,16 +281,13 @@ please re-use the name of that existing option.
|
|
|
|
|
TODO: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Delete debian-testing-i386-businesscard.iso with ./run_all_auto -c |
|
|
|
|
* ??? Delete debian-testing-i386-businesscard.iso with ./run_all_auto -c |
|
|
|
|
|
|
|
|
|
* Have a script ./run_all_manual |
|
|
|
|
* ??? Have a script ./run_all_manual |
|
|
|
|
|
|
|
|
|
* derive a GNU xorriso test suite from libisoburn test suite |
|
|
|
|
|
|
|
|
|
* auto_ tests should know whether they work underneath run_all_auto |
|
|
|
|
or whether they run standalone |
|
|
|
|
|
|
|
|
|
* Port releng to FreeBSD. |
|
|
|
|
- Make it run with /bin/sh . Remove all bashisms and GNU gimmicks. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|