test-template
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:3k
源码类别:

通讯编程

开发平台:

Visual C++

  1. #! /bin/sh
  2. #
  3. # Copyright (c) 1995 The Regents of the University of California.
  4. # All rights reserved.
  5. #
  6. # Redistribution and use in source and binary forms, with or without
  7. # modification, are permitted provided that the following conditions
  8. # are met:
  9. # 1. Redistributions of source code must retain the above copyright
  10. #    notice, this list of conditions and the following disclaimer.
  11. # 2. Redistributions in binary form must reproduce the above copyright
  12. #    notice, this list of conditions and the following disclaimer in the
  13. #    documentation and/or other materials provided with the distribution.
  14. # 3. All advertising materials mentioning features or use of this software
  15. #    must display the following acknowledgement:
  16. # This product includes software developed by the Network Research
  17. # Group at Lawrence Berkeley National Laboratory.
  18. # 4. Neither the name of the University nor of the Laboratory may be used
  19. #    to endorse or promote products derived from this software without
  20. #    specific prior written permission.
  21. #
  22. # THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  23. # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  24. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  25. # ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  26. # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  27. # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  28. # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  29. # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  30. # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  31. # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  32. # SUCH DAMAGE.
  33. #
  34. file=$1; shift
  35. directory=$1; shift
  36. if [ -f testview ]; then
  37.    rm -r testview
  38. fi
  39. new=false
  40. alltests=true
  41. while test $# -ge 1
  42. do
  43. case $1 in
  44. new|NEW) new=true;;
  45. *) alltests=false; tlist="$tlist $1";;
  46. esac
  47. shift
  48. done
  49. datafile="testview"
  50. NAM=${NAM:-../../nam}
  51. if $alltests
  52. then
  53. :
  54. else
  55. tests=$tlist
  56. fi
  57. if [ ! -d $directory ]; then
  58. if $new
  59. then
  60. mkdir $directory
  61. else
  62. echo "no saved test output.  do cvs update -d"
  63. echo "or re-run your test with "new" as the last argument."
  64. exit 1
  65. fi
  66. fi
  67. success="true"
  68. echo $NAM -z $file 
  69. $NAM -z $file
  70. if [ -f $datafile ]; then
  71.  if [ ! -f $directory/$file.Z ]; then
  72.  echo saving output for future validation
  73.  success="unknown"
  74.  cp $datafile $datafile.bk; compress $datafile  
  75.  mv $datafile.bk $directory/$file.test
  76.  mv $datafile.Z $directory/$file.Z
  77.  else
  78.  gzip -dc $directory/$file.Z | cmp -s - $datafile
  79.  if [ $? != 0 ]; then
  80.   success="false"
  81.   mv $datafile $directory/$file.test
  82.   gzip -dc $directory/$file.Z > $directory/$file.org
  83.   echo "Diagnose with: diff $directory/$file.test $directory/$file.org"
  84.  fi
  85.  fi
  86. else
  87. success="unknown"
  88. fi
  89. # sucess can be true, false, or unknown
  90. if "$success" = true; then
  91. echo test output agrees with reference output.
  92. exit 0
  93. else
  94. echo test failed.
  95. exit 1
  96. fi