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

生物技术

开发平台:

C/C++

  1. #! /bin/sh
  2. # $Id: test_lang_query.sh,v 1000.1 2004/04/01 21:01:55 gouriano Exp $
  3. driver_list="ctlib dblib ftds"
  4. server_list="MS_DEV2 STRAUSS MOZART"
  5. server_mssql="MS_DEV2"
  6. res_file="/tmp/$0.$$"
  7. trap 'rm -f $res_file' 1 2 15
  8. n_ok=0
  9. n_err=0
  10. sum_list=""
  11. # Run one test (RunTest sql_command reg_expression) 
  12. RunTest()
  13. {
  14.   sql="$1"
  15.   reg_exp="$2"
  16.   echo
  17.   $CHECK_EXEC $cmd "$sql" > $res_file 2>&1
  18.   if test $? -eq 0 ; then
  19.     if grep "$reg_exp" $res_file > /dev/null 2>&1 ; then
  20.       echo "OK:"
  21.       grep "$reg_exp" $res_file
  22.       n_ok=`expr $n_ok + 1`
  23.       sum_list="$sum_list XXX_SEPARATOR +  $cmd '$sql'"
  24.       return
  25.     fi
  26.   fi
  27.   # error occurred
  28.   n_err=`expr $n_err + 1`
  29.   sum_list="$sum_list XXX_SEPARATOR -  $cmd '$sql'"
  30.   cat $res_file
  31. }
  32. # Check existence of the "dbapi_driver_check"
  33. $CHECK_EXEC dbapi_driver_check
  34. if test $? -ne 99 ; then
  35.   echo "The DBAPI driver existence check application not found."
  36.   echo
  37.   exit 1
  38. fi
  39. # Loop through all combinations of {driver, server, test}
  40. for driver in $driver_list ; do
  41.   cat <<EOF
  42. ******************* DRIVER:  $driver ************************
  43. EOF
  44.   if $CHECK_EXEC dbapi_driver_check $driver ; then
  45.     for server in $server_list ; do
  46.       if test $driver = "ctlib"  -a  $server = $server_mssql ; then
  47.          continue
  48.       fi
  49.       if test ( $driver = "ftds"  -o  $driver = "ftds7" )  -a 
  50.                  $server != $server_mssql ; then
  51.          continue
  52.       fi
  53.       cat <<EOF
  54. ~~~~~~ SERVER:  $server ~~~~~~~~~~~~~~~~~~~~~~~~
  55. EOF
  56.       cmd="lang_query -d $driver -S $server -Q"
  57.       RunTest 'select qq = 57.55 + 0.0033' '<ROW><qq>57.5533<'
  58.       RunTest 'select qq = 57 + 33' '<ROW><qq>90<'
  59.       RunTest 'select qq = GETDATE()' '<ROW><qq>../../.... ..:..:..<'
  60.       RunTest 'select name, type from sysobjects' '<ROW><name>'
  61.     done
  62.   else
  63.     cat <<EOF
  64. Driver not found.
  65. EOF
  66.   fi
  67. done
  68. rm -f $res_file
  69. # Print summary
  70. cat <<EOF
  71. *******************************************************
  72. SUCCEEDED:  $n_ok
  73. FAILED:     $n_err
  74. EOF
  75. echo "$sum_list" | sed 's/XXX_SEPARATOR/
  76. /g'
  77. # Exit
  78. exit $n_err
  79. #  ===========================================================================
  80. #  PRODUCTION $Log: test_lang_query.sh,v $
  81. #  PRODUCTION Revision 1000.1  2004/04/01 21:01:55  gouriano
  82. #  PRODUCTION PRODUCTION: UPGRADED [CORE_002] Dev-tree R1.14
  83. #  PRODUCTION
  84. #  ===========================================================================