test-all-template1.win
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:4k
源码类别:

通讯编程

开发平台:

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. # @(#) $Header: /cvsroot/nsnam/ns-2/tcl/test/test-all-template1.win,v 1.3 2007/06/17 21:52:06 tom_henderson Exp $
  35. #
  36. # The initial version of this script was written and contributed 
  37. # by Matt Mathis (mathis@psc.edu).
  38. #
  39. file=$1; shift
  40. directory=$1; shift
  41. version=$1; shift
  42. if test "$version" = "v2"; then
  43. tests=`awk '/^Class Test//{ print substr($2,index($2, "/")+1) }' $file`
  44. else
  45. tests=`awk '/^proc test_/{ print substr($2,index($2, "_")+1) }' $file`
  46. fi
  47. quiet=false
  48. new=false
  49. alltests=true
  50. # echo "num=$#, args $@"
  51. while test $# -ge 1
  52. do
  53. case $1 in
  54. quiet|QUIET) quiet=true;;
  55. new|NEW) new=true;;
  56. *) alltests=false; tlist="$tlist $1";;
  57. esac
  58. shift
  59. done
  60. test="$@"
  61. datafile="temp.rands"
  62. NS=${NS:-../../ns}
  63. if $alltests
  64. then
  65. :
  66. else
  67. tests=$tlist
  68. fi
  69. if [ ! -d $directory ]; then
  70. if $new
  71. then
  72. mkdir $directory
  73. else
  74. echo "no saved test output.  do cvs update -d"
  75. echo "or re-run your test with "new" as the last argument."
  76. exit 1
  77. fi
  78. fi
  79. echo Tests: $tests
  80. success="true"
  81. number=0
  82. for t in $tests; do
  83.     # Beware that xgraph is run asynchronously, and if it
  84.     # is slow to launch, you may get an incorrect graph
  85.     if $quiet
  86.     then
  87.         echo $NS $file $t QUIET
  88. if (test "$file" = "test-suite-session.tcl") || (test "$file" = "test-suite-mixmode.tcl")
  89. then
  90.     $NS $file $t > temp.rands
  91. else 
  92.     $NS $file $t QUIET
  93. fi
  94.     else 
  95. echo
  96.         echo Running test $t:
  97. echo $NS $file $t
  98. if (test "$file" = "test-suite-session.tcl") || (test "$file" = "test-suite-mixmode.tcl")
  99. then
  100.     $NS $file $t > temp.rands
  101. else 
  102.    $NS $file $t 
  103. fi
  104.     fi
  105.     if [ -f $datafile ]; then
  106. if [ ! -f $directory/$t.gz ]; then
  107.     echo saving output for future validation
  108.     success="unknown"
  109.     cp $datafile $datafile.bk; gzip $datafile  
  110.     cp $datafile.bk $datafile
  111.     mv $datafile.gz $directory/$t.gz
  112. else
  113.     gzip -dc $directory/$t.gz | perl -ne 'print $_;' | cmp -s - $datafile
  114.     if [ $? = 0 ]; then
  115. echo Test output agrees with reference output
  116.     else
  117. echo Test output differs from reference output
  118. success="false"
  119. cp $datafile $directory/$t.test
  120. gzip -dc $directory/$t.gz > $directory/$t
  121. echo "Diagnose with: diff $directory/$t.test $directory/$t"
  122. echo "Or see URL "http://www.isi.edu/nsnam/ns/ns-problems.html"."
  123.     fi
  124.  fi
  125.     else
  126. success="unknown"
  127.     fi
  128.     if $quiet
  129.     then
  130. :
  131.     else
  132.         echo 'next?'
  133.         read answer
  134.     fi
  135. done
  136. # sucess can be true, false, or unknown
  137. if "$success" = true; then
  138. echo All test output agrees with reference output.
  139. exit 0
  140. else
  141. echo Some test failed.
  142. exit 1
  143. fi