smoke_libclient.sh 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. #!/bin/sh
  2. #for CONFARGS in "--with-debug" "--with-debug --disable-id64" "--with-debug --with-unixodbc";
  3. CONFARGS="--with-debug"
  4. RT=""
  5. RESFILE="result.zip"
  6. while getopts "c:t:o:" option; do
  7. case $option in
  8. c) CONFARGS="--with-debug --"$OPTARG ;;
  9. t) RT="--"$OPTARG ;;
  10. o) RESFILE=$OPTARG ;;
  11. esac
  12. done
  13. # remove the options from the positional parameters
  14. shift $(( OPTIND - 1 ))
  15. jobs=$(grep -c processor /proc/cpuinfo)
  16. [ "z$FAILLOG" = "z" ] && FAILLOG="/tmp/faillog"
  17. LINE="-------------------------------\n"
  18. if [ q"1" = q"$jobs" ] ; then
  19. jobs=""
  20. else
  21. jobs="-j$jobs"
  22. fi
  23. echo "configure '"$CONFARGS"'"
  24. echo "jobs '"$jobs"'"
  25. echo "test '"$RT"'"
  26. echo "result '"$RESFILE"'"
  27. die()
  28. {
  29. cat $FAILLOG
  30. echo $LINE
  31. [ ! "z$2" = "z" ] && { eval $2; echo "$LINE"; }
  32. echo "$1"
  33. [ -e "$FAILLOG" ] && rm $FAILLOG
  34. exit 1
  35. }
  36. cp -R /search_src/* /search/
  37. cd /search/
  38. until nc -z -w30 db 3306
  39. do
  40. printf "."
  41. # wait for 5 seconds before check again
  42. sleep 1
  43. done
  44. echo "\t mysql ready"
  45. cat >/root/.sphinx <<EOL
  46. (
  47. "db-host"=>"db",
  48. "db-user"=>"test",
  49. "db-password"=>"$MYSQL_PASSWORD",
  50. "data"=>"data",
  51. "lemmatizer_base"=>"/aot",
  52. 'odbc_driver'=>'MyODBC'
  53. )
  54. EOL
  55. mysql -h db -utest -p"$MYSQL_PASSWORD" test < example.sql
  56. ./configure $CONFARGS
  57. make clean
  58. make $jobs
  59. cd ./api/libsphinxclient
  60. ./smoke_test.sh
  61. exit_code=$?
  62. cd /search/
  63. zip -q /search_src/$RESFILE ./api/libsphinxclient/smoke_diff.txt
  64. exit $exit_code