#!/bin/sh
# Compare our cd-paranoia with known good results.
if test ! -d "$abs_top_builddir" ; then
abs_top_builddir=@abs_top_builddir@
fi
if test ! -d "$abs_top_srcdir" ; then
abs_top_srcdir=@abs_top_srcdir@
fi
cue_file=$abs_top_srcdir/test/data/cdda.cue
cue_file2=$abs_top_srcdir/test/data/cdda2.cue
if test "@CMP@" != no ; then
cd_paranoia=$abs_top_builddir/src/cd-paranoia@EXEEXT@
$cd_paranoia -d $cue_file -v -r -- "1-"
if test $? -ne 0 ; then
exit 6
fi
cdda1_file=$abs_top_builddir/test/cdda-1.raw
cdda2_file=$abs_top_builddir/test/cdda-2.raw
dd bs=16 if=$abs_top_builddir/test/cdda.raw of=$cdda1_file
dd bs=16 if=$abs_top_srcdir/test/data/cdda.bin of=$cdda2_file
if @CMP@ $cdda1_file $cdda2_file ; then
echo "** Raw cdda.bin extraction okay"
else
echo "** Raw cdda.bin extraction differ"
exit 3
fi
mv cdda.raw cdda-good.raw
$cd_paranoia -d $cue_file -x 64 -v -r -- "1-"
mv cdda.raw cdda-underrun.raw
$cd_paranoia -d $cue_file -r -- "1-"
if test $? -ne 0 ; then
exit 6
fi
if @CMP@ cdda-underrun.raw cdda-good.raw ; then
echo "** Under-run correction okay"
else
echo "** Under-run correction problem"
exit 3
fi
# Start out with small jitter
$cd_paranoia -l ./cd-paranoia.log -d $cue_file -x 5 -v -r -- "1-"
if test $? -ne 0 ; then
exit 6
fi
mv cdda.raw cdda-jitter.raw
if @CMP@ cdda-jitter.raw cdda-good.raw ; then
echo "** Small jitter correction okay"
else
echo "** Small jitter correction problem"
exit 3
fi
tail -3 ./cd-paranoia.log | sed -e's/\[.*\]/\[\]/' > ./cd-paranoia-filtered.log
if @CMP@ $abs_top_srcdir/test/cd-paranoia-log.right ./cd-paranoia-filtered.log ; then
echo "** --log option okay"
rm ./cd-paranoia.log ./cd-paranoia-filtered.log
else
echo "** --log option problem"
exit 4
fi
# A more massive set of failures: underrun + small jitter
$cd_paranoia -d $cue_file -x 69 -v -r -- "1-"
if test $? -ne 0 ; then
exit 6
fi
mv cdda.raw cdda-jitter.raw
if @CMP@ cdda-jitter.raw cdda-good.raw ; then
echo "** under-run + jitter correction okay"
else
echo "** under-run + jitter correction problem"
exit 3
fi
if test -f $abs_top_builddir/test/data/cdda2.bin ; then
$cd_paranoia -d $cue_file2 -v -r -- "1-"
if test $? -ne 0 ; then
exit 6
fi
mv cdda.raw cdda-matches.raw
if @CMP@ cdda-matches.raw $abs_top_builddir/test/data/cdda2.bin ; then
echo "** multiple matches okay"
else
echo "** multiple matches problem"
exit 3
fi
else
echo "** multiple matches skipped (data file not present)"
fi
### FIXME: medium jitter is known to fail. Investigate.
### FIXME: large jitter is known to fail. Investigate.
exit 0
else
if test "@CMP@" != no ; then
echo "Don't see 'cmp' program. Test skipped."
else
echo "Don't see libcdio 'cd-paranoia' program. Test skipped."
fi
exit 77
fi
fi
#;;; Local Variables: ***
#;;; mode:shell-script ***
#;;; eval: (sh-set-shell "bash") ***
#;;; End: ***