check_run.sh
上传用户:yhdzpy8989
上传日期:2007-06-13
资源大小:13604k
文件大小:3k
源码类别:

生物技术

开发平台:

C/C++

  1. #! /bin/sh
  2. # $Id: check_run.sh,v 1000.2 2004/06/01 16:51:33 gouriano Exp $
  3. # Author:  Vladimir Ivanov, NCBI 
  4. #
  5. ###########################################################################
  6. #
  7. # Build script file for run tests in the build tree. Using "make".
  8. # Scripts exit code is equival to count of tests, executed with errors.
  9. #
  10. # Usage: (Run only from Makefile.meta)
  11. #    check_run.sh <build_dir> <make_command_line>
  12. #
  13. # Example:
  14. #    check_run.sh ~/c++/Debug/build make check_add_r
  15. #
  16. ###########################################################################
  17. build_dir=$1
  18. top_srcdir=$2
  19. shift
  20. shift
  21. cmd=$*
  22. script_dir=`dirname $0`
  23. script_dir=`(cd "$script_dir"; pwd)`
  24. make_check_script="$script_dir/check_make_unix.sh"
  25. # Define name for the check script file
  26. script_name="check.sh"
  27. CHECK_RUN_FILE="`pwd`/$script_name"
  28. export CHECK_RUN_FILE
  29. CHECK_RUN_LIST="`pwd`/$script_name.list"
  30. export CHECK_RUN_LIST
  31. # Delete all test file list
  32. rm -f "$CHECK_RUN_FILE" > /dev/null
  33. rm -f "$CHECK_RUN_LIST" > /dev/null
  34. # Run make
  35. echo "======================================================================"
  36. $cmd
  37. result=$?
  38. echo "----------------------------------------------------------------------"
  39. # Check tests list build result 
  40. if test $result -ne 0 ; then
  41.    echo "Error in collecting tests."
  42.    exit $result
  43. fi
  44. # Check script build result
  45. if test ! -f "$CHECK_RUN_LIST"; then
  46.    echo "Cannot run tests: none found."
  47.    exit 255
  48. fi
  49. # Build script on base of check-list
  50. echo "Building check script..."
  51. $make_check_script "$CHECK_RUN_LIST" "$build_dir" "$top_srcdir" "" "$CHECK_RUN_FILE"
  52. # Check script build result
  53. if test $? -ne 0 -o 
  54.    `$build_dir/sysdep.sh tl 2 $CHECK_RUN_FILE | grep -c res_log` -ne 0 ; then
  55.    echo "Error in compiling check script."
  56.    exit 255
  57. fi
  58. echo "Done."
  59. echo
  60. # Run tests after build flag (Y - run, N - don't run, other - ask)
  61. run_check=`echo $RUN_CHECK | tr '[a-z]' '[A-Z]' | sed -e 's/^(.).*/1/g'`
  62. case "$run_check" in
  63.   Y )
  64.     answer='Y' ;;
  65.   N )
  66.     answer='N' ;;
  67.   * )
  68.     echo "Do you want to run the tests right now? [y/n]"
  69.     read answer
  70.     echo ;;
  71. esac
  72. case "$answer" in
  73.  n | N )  echo "Run "$CHECK_RUN_FILE run" to launch the tests." ; exit 0 ;;
  74. esac
  75. # Launch the tests
  76. $CHECK_RUN_FILE run
  77. # Exit
  78. exit $?
  79. #  ===========================================================================
  80. #  PRODUCTION $Log: check_run.sh,v $
  81. #  PRODUCTION Revision 1000.2  2004/06/01 16:51:33  gouriano
  82. #  PRODUCTION PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.18
  83. #  PRODUCTION
  84. #  ===========================================================================