Blame test/check_paranoia.sh

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