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

通讯编程

开发平台:

Visual C++

  1. #!/bin/sh
  2. #
  3. # validate -- run all the test scripts
  4. #
  5. # Copyright (c) 1997 University of Southern California.
  6. # All rights reserved.                                            
  7. #                                                                
  8. # Redistribution and use in source and binary forms are permitted
  9. # provided that the above copyright notice and this paragraph are
  10. # duplicated in all such forms and that any documentation, advertising
  11. # materials, and other materials related to such distribution and use
  12. # acknowledge that the software was developed by the University of
  13. # Southern California, Information Sciences Institute.  The name of the
  14. # University may not be used to endorse or promote products derived from
  15. # this software without specific prior written permission.
  16. # THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
  17. # WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
  18. # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  19. #
  20. # $Header: /cvsroot/nsnam/ns-2/validate,v 1.151 2008/02/05 05:31:57 tom_henderson Exp $
  21. try () {
  22.         for excluding in $cygwin_exclude; do
  23.                 if [ "$excluding" = "$1" ]; then
  24.                         echo "*** $1 skipped (Cygwin)";
  25.                         return 0;
  26.                 fi;
  27.         done;
  28. echo "*** $1"
  29. $1 quiet || {
  30. any_failed=true
  31. failed_list="$failed_list $1"
  32. }
  33. return $?
  34. }
  35. any_failed=false
  36. failed_list=""
  37. test_cygwin=`uname | tr [a-z] [A-Z] | sed -e 's|.*CYGWIN.*|true|'`;
  38. if  [ "${test_cygwin}" = "true" ]; then
  39.         echo "Cygwin detected";
  40.         echo "Note: Cygwin validation is still considered EXPERIMENTAL";
  41.         echo "";
  42.         # cygwin_exclude="./test-all-pi";
  43. #echo "$cygwin_exclude will not be run.";
  44.         #echo "";
  45.         #
  46.         # put PI back in the validation - nicolas, 1/15/04
  47.         cygwin_exclude="";
  48. else
  49.         cygwin_exclude="";
  50. fi;
  51. echo "(Validation can take 1-30 hours to run.)"
  52. cd tcl/test
  53. # First run portable tests
  54. #
  55. for i in 
  56. simple tcp testReno newreno sack tcpOptions tcpReset 
  57. simple-full full testReno-full testReno-bayfull sack-full 
  58. tcp-init-win tcpVariants LimTransmit aimd greis rfc793edu rfc2581 rbp 
  59. sctp tcpLinux tcpHighspeed frto  friendly realaudio 
  60. ecn ecn-ack ecn-full quickstart diffusion3 smac 
  61. manual-routing lan 
  62. red adaptive-red red-pd rio vq rem gk pi cbq schedule rr monitor jobs 
  63. intserv diffserv webtraf 
  64. mip links linkstate mpls oddBehaviors 
  65. WLtutorial wireless-infra wireless-infra-mobility 
  66. wireless-shadowing wireless-lan-aodv wireless-gridkeeper 
  67. wireless-diffusion wireless-lan-newnode wireless-lan-newnode-80211Ext 
  68. source-routing 
  69. misc tagged-trace message rng xcp wpan 
  70. energy snoop 
  71. packmime delaybox 
  72. # wireless-lan-gaf
  73. # Validation tests that still use full packet headers:
  74. # wireless-shadowing wireless-lan-aodv wireless-tdma wireless-gridkeeper
  75. # wireless-diffusion wireless-lan-newnode satellite WLtutorial energy
  76. # Deleted (old tests that were for compatibility with ns-1 scripts):
  77. # v1 red-v1 cbq-v1 sack-v1 vegas-v1
  78. do
  79. date
  80. try ./test-all-$i
  81. date
  82. sleep 2
  83. done
  84. #
  85. # Repeat for non-portable test set
  86. #
  87. any_portable_failed=$any_failed
  88. any_failed=false
  89. portable_failed_list=$failed_list
  90. failed_list=""
  91. for i in 
  92. srm smac-multihop hier-routing algo-routing mcast vc session mixmode 
  93. simultaneous webcache mcache plm wireless-tdma satellite 
  94. do
  95. date
  96. try ./test-all-$i
  97. date
  98. sleep 2
  99. done
  100. echo "These messages are NOT errors and can be ignored:"
  101. echo "    warning: using backward compatibility mode"
  102. echo "    This test is not implemented in backward compatibility mode"
  103. echo
  104. if $any_portable_failed
  105. then
  106.      echo
  107. echo "validate overall report: some portable tests failed:"
  108. echo "    $portable_failed_list"
  109.         if $any_failed
  110.         then
  111.     echo "some non-portable tests also failed:"
  112.     echo "    $failed_list"
  113.         fi
  114. echo "to re-run a specific test, cd tcl/test; ./test-all-TEST-NAME"
  115. exit 1
  116. fi
  117.         
  118. if $any_failed
  119. then
  120.      echo
  121. echo "validate overall report: all portable tests passed but"
  122. echo "some non-portable tests failed:"
  123. echo "    $failed_list"
  124. echo "to re-run a specific test, cd tcl/test; ./test-all-TEST-NAME"
  125.         echo ""
  126. echo "Note that the non-portable test list includes files that"
  127.         echo "are known to pass on Linux x86 machines but that are known"
  128.         echo "to have some portability problems to other platforms or"
  129.         echo "operating systems.   Failure of one of these tests does not"
  130.         echo "necessarily mean that one will encounter a problem in your"
  131.         echo "simulations, but that one must be careful of using that"
  132.         echo "specific model on the system on which the validate was run."
  133.         if  [ "${test_cygwin}" = "true" ]; then
  134.                 cmaj=` uname -r | sed -e 's/^([0-9]*).([0-9]*).([0-9]*).*/1/'`;
  135.                 echo $cmaj | grep -v [0-9] >/dev/null 2>&1
  136.                 if [ "$?" -eq "0" ]; then
  137.                         cmaj=0;
  138.                 fi;
  139.                 cmin=` uname -r | sed -e 's/^([0-9]*).([0-9]*).([0-9]*).*/2/'`;
  140.                 echo $cmin | grep -v [0-9] >/dev/null 2>&1
  141.                 if [ "$?" -eq "0" ]; then
  142.                         cmin=0;
  143.                 fi;
  144.                 cpat=` uname -r | sed -e 's/^([0-9]*).([0-9]*).([0-9]*).*/3/'`;
  145.                 echo $cpat | grep -v [0-9] >/dev/null 2>&1
  146.                 if [ "$?" -eq "0" ]; then
  147.                         cpat=0;
  148.                 fi;
  149.                 if ([ "$cmaj" -gt "1" ]) || ([ "$cmaj" -eq "1" ] && [ $cmin -gt "3" ]) || ([ "$cmaj" -eq 1 ] && [ $cmin -eq "3" ] && [ "$cpat" -ge "19" ]); then
  150.                 echo "";
  151.                 echo "Cygwin >= 1.3.19 detected ($cmaj.$cmin.$cpat), all tests should have passed.";
  152.                         echo "Please see <http://www.isi.edu/nsnam/ns/ns-problems.html>";
  153.                         echo "for potential solutions.";
  154.                 else
  155.                         echo "";
  156.                         echo "Cygwin < 1.3.19 detected. ($cmaj.$cmin.$cpat)";
  157.                         echo "";
  158.                         echo "Some tests are EXPECTED to  break. Please see"
  159.                         echo "<http://www.isi.edu/nsnam/ns/ns-problems.html> for a list.";
  160.                         echo "";
  161.                         echo "You may want to upgrade to a more recent version of Cygwin.";
  162.                 fi;
  163.         fi;
  164. exit 1
  165. else
  166.         echo ""
  167. echo "validate overall report: all tests passed"
  168. exit 0
  169. fi