doc: document fate in a texinfo
Summarize the information provided in the wiki and the one provided in fate.txt
This commit is contained in:
parent
b73a01eaf1
commit
1ebbdda1d2
@ -3,6 +3,7 @@ PODPAGES = $(PROGS-yes:%=doc/%.pod)
|
|||||||
HTMLPAGES = $(PROGS-yes:%=doc/%.html) \
|
HTMLPAGES = $(PROGS-yes:%=doc/%.html) \
|
||||||
doc/developer.html \
|
doc/developer.html \
|
||||||
doc/faq.html \
|
doc/faq.html \
|
||||||
|
doc/fate.html \
|
||||||
doc/general.html \
|
doc/general.html \
|
||||||
doc/libavfilter.html \
|
doc/libavfilter.html \
|
||||||
|
|
||||||
|
135
doc/fate.texi
Normal file
135
doc/fate.texi
Normal file
@ -0,0 +1,135 @@
|
|||||||
|
\input texinfo @c -*- texinfo -*-
|
||||||
|
|
||||||
|
@settitle FATE Automated Testing Environment
|
||||||
|
@titlepage
|
||||||
|
@center @titlefont{FATE Automated Testing Environment}
|
||||||
|
@end titlepage
|
||||||
|
|
||||||
|
@top
|
||||||
|
|
||||||
|
@contents
|
||||||
|
|
||||||
|
@chapter Introduction
|
||||||
|
|
||||||
|
FATE provides a regression testsuite embedded within the Libav build system.
|
||||||
|
It can be run locally and optionally configured to send reports to a web
|
||||||
|
aggregator and viewer @url{http://fate.libav.org}.
|
||||||
|
|
||||||
|
It is advised to run FATE before submitting patches to the current codebase
|
||||||
|
and provide new tests when submitting patches to add additional features.
|
||||||
|
|
||||||
|
@chapter Running FATE
|
||||||
|
|
||||||
|
@section Samples and References
|
||||||
|
In order to run, FATE needs a large amount of data (samples and references)
|
||||||
|
that is provided separately from the actual source distribution.
|
||||||
|
|
||||||
|
To inform the build system about the testsuite location, pass
|
||||||
|
@option{--samples=<path to the samples>} to @command{configure} or set the
|
||||||
|
@var{SAMPLES} Make variable or the @var{FATE_SAMPLES} environment variable
|
||||||
|
to a suitable value.
|
||||||
|
|
||||||
|
The dataset is available through @command{rsync}, is possible to fetch
|
||||||
|
the current sample using the straight rsync command or through a specific
|
||||||
|
@ref{Makefile target}.
|
||||||
|
|
||||||
|
@example
|
||||||
|
# rsync -aL rsync://fate-suite.libav.org/fate-suite/ fate-suite
|
||||||
|
@end example
|
||||||
|
|
||||||
|
@example
|
||||||
|
# make fate-rsync SAMPLES=fate-suite
|
||||||
|
@end example
|
||||||
|
|
||||||
|
|
||||||
|
@chapter Manual Run
|
||||||
|
FATE regression test can be run through @command{make}.
|
||||||
|
Specific Makefile targets and Makefile variables are available:
|
||||||
|
|
||||||
|
@anchor{Makefile target}
|
||||||
|
@section FATE Makefile targets
|
||||||
|
@table @option
|
||||||
|
@item fate-list
|
||||||
|
List all fate/regression test targets.
|
||||||
|
@item fate-rsync
|
||||||
|
Shortcut to download the fate test samples to the specified testsuite location.
|
||||||
|
@item fate
|
||||||
|
Run the FATE test suite (requires the fate-suite dataset).
|
||||||
|
@end table
|
||||||
|
|
||||||
|
@section Fate Makefile variables
|
||||||
|
@table @option
|
||||||
|
@item V
|
||||||
|
Verbosity level, can be set to 0, 1 or 2.
|
||||||
|
@table @option
|
||||||
|
@item 0
|
||||||
|
show just the test arguments
|
||||||
|
@item 1
|
||||||
|
show just the command used in the test
|
||||||
|
@item 2
|
||||||
|
show everything
|
||||||
|
@end table
|
||||||
|
@item SAMPLES
|
||||||
|
Specify or override the path to the FATE samples at make time, it has a
|
||||||
|
meaning only while running the regression tests.
|
||||||
|
@item THREADS
|
||||||
|
Specify how many threads to use while running regression tests, it is
|
||||||
|
quite useful to detect thread-related regressions.
|
||||||
|
@end table
|
||||||
|
|
||||||
|
@example
|
||||||
|
make V=1 SAMPLES=/var/fate/samples THREADS=2 fate
|
||||||
|
@end example
|
||||||
|
|
||||||
|
@chapter Automated Tests
|
||||||
|
In order to automatically testing specific configurations, e.g. multiple
|
||||||
|
compilers, @command{tests/fate.sh} is provided.
|
||||||
|
|
||||||
|
This shell script builds Libav, runs the regression tests and prepares a
|
||||||
|
report that can be sent to @url{fate.libav.org} or directly examined locally.
|
||||||
|
|
||||||
|
@section Testing Profiles
|
||||||
|
The configuration file passed to @command{fate.sh} is shell scripts as well.
|
||||||
|
|
||||||
|
It must provide at least a @var{slot} identifier, the @var{repo} from
|
||||||
|
which fetch the sources, the @var{samples} directory, a @var{workdir} with
|
||||||
|
enough space to build and run all the tests.
|
||||||
|
Optional submit command @var{fate_recv} and a @var{comment} to describe
|
||||||
|
the testing profile are available.
|
||||||
|
|
||||||
|
Additional optional parameter to tune the Libav building and reporting process
|
||||||
|
can be passed.
|
||||||
|
|
||||||
|
@example
|
||||||
|
slot= # some unique identifier
|
||||||
|
repo=git://git.libav.org/libav.git # the source repository
|
||||||
|
samples=/path/to/fate/samples
|
||||||
|
workdir= # directory in which to do all the work
|
||||||
|
fate_recv="ssh -T fate@@fate.libav.org" # command to submit report
|
||||||
|
comment= # optional description
|
||||||
|
|
||||||
|
# the following are optional and map to configure options
|
||||||
|
arch=
|
||||||
|
cpu=
|
||||||
|
cross_prefix=
|
||||||
|
cc=
|
||||||
|
target_os=
|
||||||
|
sysroot=
|
||||||
|
target_exec=
|
||||||
|
target_path=
|
||||||
|
extra_cflags=
|
||||||
|
extra_ldflags=
|
||||||
|
extra_libs=
|
||||||
|
extra_conf= # extra configure options not covered above
|
||||||
|
|
||||||
|
#make= # name of GNU make if not 'make'
|
||||||
|
makeopts= # extra options passed to 'make'
|
||||||
|
#tar= # command to create a tar archive from its arguments on
|
||||||
|
# stdout, defaults to 'tar c'
|
||||||
|
@end example
|
||||||
|
|
||||||
|
@section Submitting Reports
|
||||||
|
In order to send reports you need to create an @command{ssh} key and send it
|
||||||
|
to @email{root@@libav.org}.
|
||||||
|
The current server fingerprint is @var{a4:99:d7:d3:1c:92:0d:56:d6:d5:61:be:01:ae:7d:e6}
|
||||||
|
|
45
doc/fate.txt
45
doc/fate.txt
@ -1,45 +0,0 @@
|
|||||||
FATE Automated Testing Environment
|
|
||||||
|
|
||||||
FATE provides a regression testsuite that can be run locally or configured
|
|
||||||
to send reports to fate.libav.org.
|
|
||||||
In order to run, it needs a large amount of data (samples and references)
|
|
||||||
that is provided separately from the actual source distribution.
|
|
||||||
|
|
||||||
Use the following command to get the fate test samples
|
|
||||||
|
|
||||||
# rsync -aL rsync://fate-suite.libav.org:/fate-suite/ fate-suite
|
|
||||||
|
|
||||||
To inform the build system about the testsuite location, pass
|
|
||||||
`--samples=<path to the samples>` to configure or set the SAMPLES Make
|
|
||||||
variable or the FATE_SAMPLES environment variable to a suitable value.
|
|
||||||
|
|
||||||
For information on how to set up FATE to send results to the official Libav
|
|
||||||
testing framework, please refer to the following wiki page:
|
|
||||||
http://wiki.multimedia.cx/index.php?title=FATE
|
|
||||||
|
|
||||||
FATE Makefile targets:
|
|
||||||
|
|
||||||
fate-list
|
|
||||||
Will list all fate/regression test targets.
|
|
||||||
|
|
||||||
fate
|
|
||||||
Run the FATE test suite (requires the fate-suite dataset).
|
|
||||||
|
|
||||||
Fate Makefile variables:
|
|
||||||
|
|
||||||
V
|
|
||||||
Verbosity level, can be set to 0, 1 or 2.
|
|
||||||
* 0: show just the test arguments
|
|
||||||
* 1: show just the command used in the test
|
|
||||||
* 2: show everything
|
|
||||||
|
|
||||||
SAMPLES
|
|
||||||
Specify or override the path to the FATE samples at make time, it has a
|
|
||||||
meaning only while running the regression tests.
|
|
||||||
|
|
||||||
THREADS
|
|
||||||
Specify how many threads to use while running regression tests, it is
|
|
||||||
quite useful to detect thread-related regressions.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
make V=1 SAMPLES=/var/fate/samples THREADS=2 fate
|
|
Loading…
Reference in New Issue
Block a user