test_grabbag.sh
上传用户:wstnjxml
上传日期:2014-04-03
资源大小:7248k
文件大小:3k
源码类别:

Windows CE

开发平台:

C/C++

  1. #!/bin/sh
  2. #  FLAC - Free Lossless Audio Codec
  3. #  Copyright (C) 2001,2002,2003,2004,2005  Josh Coalson
  4. #
  5. #  This file is part the FLAC project.  FLAC is comprised of several
  6. #  components distributed under difference licenses.  The codec libraries
  7. #  are distributed under Xiph.Org's BSD-like license (see the file
  8. #  COPYING.Xiph in this distribution).  All other programs, libraries, and
  9. #  plugins are distributed under the GPL (see COPYING.GPL).  The documentation
  10. #  is distributed under the Gnu FDL (see COPYING.FDL).  Each file in the
  11. #  FLAC distribution contains at the top the terms under which it may be
  12. #  distributed.
  13. #
  14. #  Since this particular file is relevant to all components of FLAC,
  15. #  it may be distributed under the Xiph.Org license, which is the least
  16. #  restrictive of those mentioned above.  See the file COPYING.Xiph in this
  17. #  distribution.
  18. die ()
  19. {
  20. echo $* 1>&2
  21. exit 1
  22. }
  23. if [ x = x"$1" ] ; then 
  24. BUILD=debug
  25. else
  26. BUILD="$1"
  27. fi
  28. LD_LIBRARY_PATH=../src/libFLAC/.libs:$LD_LIBRARY_PATH
  29. LD_LIBRARY_PATH=../src/share/grabbag/.libs:$LD_LIBRARY_PATH
  30. LD_LIBRARY_PATH=../src/share/replaygain_analysis/.libs:$LD_LIBRARY_PATH
  31. LD_LIBRARY_PATH=../obj/$BUILD/lib:$LD_LIBRARY_PATH
  32. export LD_LIBRARY_PATH
  33. PATH=../src/test_grabbag/cuesheet:$PATH
  34. PATH=../obj/$BUILD/bin:$PATH
  35. test_cuesheet -h 1>/dev/null 2>/dev/null || die "ERROR can't find test_cuesheet executable"
  36. run_test_cuesheet ()
  37. {
  38. if [ x"$FLAC__VALGRIND" = xyes ] ; then
  39. valgrind --leak-check=yes --show-reachable=yes --num-callers=100 --logfile-fd=4 test_cuesheet $* 4>>test_grabbag.valgrind.log
  40. else
  41. test_cuesheet $*
  42. fi
  43. }
  44. ########################################################################
  45. #
  46. # test_cuesheet
  47. #
  48. ########################################################################
  49. log=cuesheet.log
  50. bad_cuesheets=cuesheets/bad.*.cue
  51. good_cuesheets=cuesheets/good.*.cue
  52. good_leadout=`expr 80 * 60 * 44100`
  53. bad_leadout=`expr $good_leadout + 1`
  54. rm -f $log
  55. #
  56. # negative tests
  57. #
  58. for cuesheet in $bad_cuesheets ; do
  59. echo "NEGATIVE $cuesheet" >> $log 2>&1
  60. run_test_cuesheet $cuesheet $good_leadout cdda >> $log 2>&1
  61. exit_code=$?
  62. if [ "$exit_code" = 255 ] ; then
  63. die "Error: test script is broken"
  64. fi
  65. cuesheet_pass1=${cuesheet}.1
  66. cuesheet_pass2=${cuesheet}.2
  67. rm -f $cuesheet_pass1 $cuesheet_pass2
  68. done
  69. #
  70. # positve tests
  71. #
  72. for cuesheet in $good_cuesheets ; do
  73. echo "POSITIVE $cuesheet" >> $log 2>&1
  74. run_test_cuesheet $cuesheet $good_leadout cdda >> $log 2>&1
  75. exit_code=$?
  76. if [ "$exit_code" = 255 ] ; then
  77. die "Error: test script is broken"
  78. elif [ "$exit_code" != 0 ] ; then
  79. die "Error: good cuesheet is broken"
  80. fi
  81. cuesheet_pass1=${cuesheet}.1
  82. cuesheet_pass2=${cuesheet}.2
  83. diff $cuesheet_pass1 $cuesheet_pass2 >> $log 2>&1 || die "Error: pass1 and pass2 output differ"
  84. rm -f $cuesheet_pass1 $cuesheet_pass2
  85. done
  86. diff cuesheet.ok $log > cuesheet.diff || die "Error: .log file does not match .ok file, see cuesheet.diff"
  87. echo "PASSED (results are in $log)"