summaryrefslogtreecommitdiff
path: root/doc/fate.texi
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2011-12-10 01:25:15 +0100
committerMichael Niedermayer <michaelni@gmx.at>2011-12-10 02:01:03 +0100
commitc59b80c8d3e46f176172d582f27c14d772e306fc (patch)
tree8457ccf4abee25effcc243b22764b969127493d7 /doc/fate.texi
parent5b98ea1b7309fd43694b92e990439636630f408a (diff)
parent4c386333529dd773e673e1366d1f6243d2c5af92 (diff)
Merge remote-tracking branch 'qatar/master'
* qatar/master: isom: sort and pretty-print codec_movaudio_tags[] isom: remove pointless comments in codec_movaudio_tags[] isom: remove commented-out tag for vorbis movenc: write 'chan' tag for AC-3 in MOV mov: add support for reading and writing the 'chan' tag audioconvert: add some additional channel and channel layout macros audioconvert: change 7.1 "wide" layout to use side surround channels movenc: simplify handling of pcm vs. adpcm vs. other compressed codecs doc: update documentation to use avconv doc: update demuxers section doc: extend external library coverage doc: split platform specific information doc: port the git-howto to texinfo doc: provide fallback css and customize @float doc: document fate in a texinfo doxy: change hue value to match our green Conflicts: doc/fate.txt doc/ffserver.texi doc/general.texi doc/muxers.texi doc/protocols.texi doc/t2h.init libavformat/isom.c libavformat/mov.c libavutil/avutil.h tests/ref/acodec/pcm_s16be tests/ref/acodec/pcm_s24be tests/ref/acodec/pcm_s32be tests/ref/acodec/pcm_s8 tests/ref/lavf/mov Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'doc/fate.texi')
-rw-r--r--doc/fate.texi135
1 files changed, 135 insertions, 0 deletions
diff --git a/doc/fate.texi b/doc/fate.texi
new file mode 100644
index 0000000000..297c0e2ec4
--- /dev/null
+++ b/doc/fate.texi
@@ -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 FFmpeg build system.
+It can be run locally and optionally configured to send reports to a web
+aggregator and viewer @url{http://fate.ffmpeg.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.ffmpeg.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 FFmpeg, runs the regression tests and prepares a
+report that can be sent to @url{fate.ffmpeg.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 FFmpeg building and reporting process
+can be passed.
+
+@example
+slot= # some unique identifier
+repo=git://source.ffmpeg.org/ffmpeg.git # the source repository
+samples=/path/to/fate/samples
+workdir= # directory in which to do all the work
+fate_recv="ssh -T fate@fate.ffmpeg.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 the fate server administrator.
+The current server fingerprint is @var{b1:31:c8:79:3f:04:1d:f8:f2:23:26:5a:fd:55:fa:92}
+