${1} is now the filter args and is inappropriate as a unique name for
the test (and causes some FATE issues because of the ':' in them).
${filter} is not used either to replace the ${1} because ${outfile}
already contains a unique name for the test.
Some of the filters tests use globbing characters, especially
brackets for filter pad labels. While most of these strings
are way too complicated to ever match an existing file name
and are therefore kept unchanged in the command line (an old
misfeature of the shell language that happens to be convenient
here), at least one use is simple enough to match random files
lying in the current directory. If that happens, the string,
that was meant to be kept verbatim, is replaced by the file
name, and that causes the test to fail (or worse).
Some shells, e.g. minix3, have a broken 'test' builtin which fails
if the first operand of a binary operator looks like a unary operator.
Prefixing the values with 'x' prevents this from happening.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Each fate-seek test depends now only on the corresponding fate-acodec,
fate-vsynth2 or fate-lavf test which creates the file seek-tests
operates on. The tests and references are renamed to match the test they
depend on.
The special-case behavior may complicate parsing when the
-show_format_entry option is used programmatically in a script.
The option default=nk=1 achieves the same purpose, if the objective is to
skip printing the single field key.
diff -w is not a standard option. This fixes the reference files
to match what the tests actually output and switches to using the
standard diff -b which is sufficient to handle different line ending
styles.
Signed-off-by: Mans Rullgard <mans@mansr.com>
This will allow decoding to md5 and doing a diff comparison to a reference
checksum instead of a fuzzy stddev or oneoff comparison.
Signed-off-by: Mans Rullgard <mans@mansr.com>
The output format is not always the same as the file extension,
which is sometimes required for correct probing. We can avoid
probing by specifying the format since it is already known.
This allows for testing floating-point audio encoders across different
platforms where exact comparisons are unreliable due to float rounding
differences.
Setting CMP=null uses stdout from the test as the diff record in
the report without further inspection. This can be useful when
the exit status of the test itself determines success while the
output is informative.
Signed-off-by: Mans Rullgard <mans@mansr.com>
All tests are run through the fate-run.sh script which already
sets up redirections. Using the outputs set there simplifies
things somewhat.
Signed-off-by: Mans Rullgard <mans@mansr.com>