test test
authorCraig Dowell <craigdo@ee.washington.edu>
Mon Mar 31 18:14:47 2008 -0700 (22 months ago)
changeset 286118930dcd33e0
parent 2860 9105a5cf6535
child 2862 b6ef2bfe89da
test test
examples/simple-alternate-routing.cc
examples/simple-error-model.cc
examples/simple-global-routing.cc
regression/regression.py
regression/tests/test-simple-error-model.py
regression/tests/test-simple-global-routing.py
     1.1 --- a/examples/simple-alternate-routing.cc	Mon Mar 31 17:48:21 2008 -0700
     1.2 +++ b/examples/simple-alternate-routing.cc	Mon Mar 31 18:14:47 2008 -0700
     1.3 @@ -54,32 +54,12 @@
     1.4  #if 0 
     1.5    LogComponentEnable("GlobalRouteManager", LOG_LOGIC);
     1.6    LogComponentEnable("GlobalRouter", LOG_LOGIC);
     1.7 -  LogComponentEnable("Object", LOG_LEVEL_ALL);
     1.8 -  LogComponentEnable("Queue", LOG_LEVEL_ALL);
     1.9 -  LogComponentEnable("DropTailQueue", LOG_LEVEL_ALL);
    1.10 -  LogComponentEnable("Channel", LOG_LEVEL_ALL);
    1.11 -  LogComponentEnable("CsmaChannel", LOG_LEVEL_ALL);
    1.12 -  LogComponentEnable("NetDevice", LOG_LEVEL_ALL);
    1.13 -  LogComponentEnable("CsmaNetDevice", LOG_LEVEL_ALL);
    1.14 -  LogComponentEnable("Ipv4L3Protocol", LOG_LEVEL_ALL);
    1.15 -  LogComponentEnable("PacketSocket", LOG_LEVEL_ALL);
    1.16 -  LogComponentEnable("Socket", LOG_LEVEL_ALL);
    1.17 -  LogComponentEnable("UdpSocket", LOG_LEVEL_ALL);
    1.18 -  LogComponentEnable("UdpL4Protocol", LOG_LEVEL_ALL);
    1.19 -  LogComponentEnable("Ipv4L3Protocol", LOG_LEVEL_ALL);
    1.20 -  LogComponentEnable("Ipv4StaticRouting", LOG_LEVEL_ALL);
    1.21 -  LogComponentEnable("Ipv4Interface", LOG_LEVEL_ALL);
    1.22 -  LogComponentEnable("ArpIpv4Interface", LOG_LEVEL_ALL);
    1.23 -  LogComponentEnable("Ipv4LoopbackInterface", LOG_LEVEL_ALL);
    1.24 -  LogComponentEnable("OnOffApplication", LOG_LEVEL_ALL);
    1.25 -  LogComponentEnable("PacketSinkApplication", LOG_LEVEL_ALL);
    1.26 -  LogComponentEnable("UdpEchoClientApplication", LOG_LEVEL_ALL);
    1.27 -  LogComponentEnable("UdpEchoServerApplication", LOG_LEVEL_ALL);
    1.28  #endif
    1.29 -  // Set up some default values for the simulation.  Use the 
    1.30 -  // DefaultValue::Bind () technique to tell the system what subclass of 
    1.31 -  // Queue to use, and what the queue limit is
    1.32  
    1.33 +  //
    1.34 +  // Make the random number generators generate reproducible results.
    1.35 +  //
    1.36 +  RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
    1.37  
    1.38    Config::SetDefault ("ns3::OnOffApplication::PacketSize", Uinteger (210));
    1.39    Config::SetDefault ("ns3::OnOffApplication::DataRate", DataRate ("300b/s"));
     2.1 --- a/examples/simple-error-model.cc	Mon Mar 31 17:48:21 2008 -0700
     2.2 +++ b/examples/simple-error-model.cc	Mon Mar 31 18:14:47 2008 -0700
     2.3 @@ -58,6 +58,11 @@
     2.4    LogComponentEnable ("SimplePointToPointExample", LOG_LEVEL_INFO);
     2.5  #endif
     2.6  
     2.7 +  //
     2.8 +  // Make the random number generators generate reproducible results.
     2.9 +  //
    2.10 +  RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
    2.11 +
    2.12    // Set a few parameters
    2.13    Config::SetDefault ("ns3::RateErrorModel::ErrorRate", Double (0.01));
    2.14    Config::SetDefault ("ns3::RateErrorModel::ErrorUnit", String ("EU_PKT"));
     3.1 --- a/examples/simple-global-routing.cc	Mon Mar 31 17:48:21 2008 -0700
     3.2 +++ b/examples/simple-global-routing.cc	Mon Mar 31 18:14:47 2008 -0700
     3.3 @@ -58,31 +58,14 @@
     3.4    // for selected modules; the below lines suggest how to do this
     3.5  #if 0 
     3.6    LogComponentEnable ("SimpleGlobalRoutingExample", LOG_LEVEL_INFO);
     3.7 +#endif
     3.8  
     3.9 -  LogComponentEnable("Object", LOG_LEVEL_ALL);
    3.10 -  LogComponentEnable("Queue", LOG_LEVEL_ALL);
    3.11 -  LogComponentEnable("DropTailQueue", LOG_LEVEL_ALL);
    3.12 -  LogComponentEnable("Channel", LOG_LEVEL_ALL);
    3.13 -  LogComponentEnable("CsmaChannel", LOG_LEVEL_ALL);
    3.14 -  LogComponentEnable("NetDevice", LOG_LEVEL_ALL);
    3.15 -  LogComponentEnable("CsmaNetDevice", LOG_LEVEL_ALL);
    3.16 -  LogComponentEnable("Ipv4L3Protocol", LOG_LEVEL_ALL);
    3.17 -  LogComponentEnable("PacketSocket", LOG_LEVEL_ALL);
    3.18 -  LogComponentEnable("Socket", LOG_LEVEL_ALL);
    3.19 -  LogComponentEnable("UdpSocket", LOG_LEVEL_ALL);
    3.20 -  LogComponentEnable("UdpL4Protocol", LOG_LEVEL_ALL);
    3.21 -  LogComponentEnable("Ipv4L3Protocol", LOG_LEVEL_ALL);
    3.22 -  LogComponentEnable("Ipv4StaticRouting", LOG_LEVEL_ALL);
    3.23 -  LogComponentEnable("Ipv4Interface", LOG_LEVEL_ALL);
    3.24 -  LogComponentEnable("ArpIpv4Interface", LOG_LEVEL_ALL);
    3.25 -  LogComponentEnable("Ipv4LoopbackInterface", LOG_LEVEL_ALL);
    3.26 -  LogComponentEnable("OnOffApplication", LOG_LEVEL_ALL);
    3.27 -  LogComponentEnable("PacketSinkApplication", LOG_LEVEL_ALL);
    3.28 -  LogComponentEnable("UdpEchoClientApplication", LOG_LEVEL_ALL);
    3.29 -  LogComponentEnable("UdpEchoServerApplication", LOG_LEVEL_ALL);
    3.30 -#endif
    3.31 +  //
    3.32 +  // Make the random number generators generate reproducible results.
    3.33 +  //
    3.34 +  RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
    3.35 +
    3.36    // Set up some default values for the simulation.  Use the 
    3.37 -
    3.38    Config::SetDefault ("ns3::OnOffApplication::PacketSize", Uinteger (210));
    3.39    Config::SetDefault ("ns3::OnOffApplication::DataRate", DataRate ("448kb/s"));
    3.40  
     4.1 --- a/regression/regression.py	Mon Mar 31 17:48:21 2008 -0700
     4.2 +++ b/regression/regression.py	Mon Mar 31 18:14:47 2008 -0700
     4.3 @@ -48,6 +48,8 @@
     4.4      userName = "craigdo/"
     4.5      repoName = "ns-3-ref-traces/"
     4.6  
     4.7 +    print "Synchronizing reference traces."
     4.8 +    
     4.9      if not os.path.exists(repoName):
    4.10          cloneCmd = "hg clone http://code.nsnam.org/" + userName + repoName + " >& /dev/null"
    4.11          os.system(cloneCmd)
    4.12 @@ -57,6 +59,8 @@
    4.13          os.system(pullCmd)
    4.14          os.chdir("..")
    4.15  
    4.16 +    print "Done."
    4.17 +
    4.18      bad = []
    4.19  
    4.20      if not testdir:
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/regression/tests/test-simple-error-model.py	Mon Mar 31 18:14:47 2008 -0700
     5.3 @@ -0,0 +1,41 @@
     5.4 +#! /usr/bin/env python
     5.5 +
     5.6 +"""Generic trace-comparison-type regression test."""
     5.7 +
     5.8 +import os
     5.9 +import shutil
    5.10 +
    5.11 +def run(verbose, generate):
    5.12 +    """Execute a test."""
    5.13 +
    5.14 +    testName = "simple-error-model"
    5.15 +    repoName = "ns-3-ref-traces/"
    5.16 +    refDirName = testName + ".ref"
    5.17 +
    5.18 +    if not os.path.exists(repoName):
    5.19 +        print"No reference trace repository"
    5.20 +        return 1
    5.21 +
    5.22 +    if generate:
    5.23 +        if not os.path.exists(repoName + refDirName):
    5.24 +            print "creating new " + repoName + refDirName
    5.25 +            os.mkdir(repoName + refDirName)
    5.26 +
    5.27 +        os.system("./waf --cwd regression/" + repoName + refDirName +
    5.28 +            " --run " + testName + " >& /dev/null")
    5.29 +
    5.30 +        print "Remember to commit " + repoName + refDirName
    5.31 +        return 0
    5.32 +    else:
    5.33 +        if not os.path.exists(repoName + refDirName):
    5.34 +            print "Cannot locate reference traces"
    5.35 +            return 1
    5.36 +
    5.37 +        shutil.rmtree("traces");
    5.38 +        os.mkdir("traces")
    5.39 +        
    5.40 +        os.system("./waf --cwd regression/traces --run " +
    5.41 +          testName + " >& /dev/null")
    5.42 +        
    5.43 +        return os.system("diff -q traces " + repoName + refDirName +
    5.44 +         " >& /dev/null")
     6.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.2 +++ b/regression/tests/test-simple-global-routing.py	Mon Mar 31 18:14:47 2008 -0700
     6.3 @@ -0,0 +1,41 @@
     6.4 +#! /usr/bin/env python
     6.5 +
     6.6 +"""Generic trace-comparison-type regression test."""
     6.7 +
     6.8 +import os
     6.9 +import shutil
    6.10 +
    6.11 +def run(verbose, generate):
    6.12 +    """Execute a test."""
    6.13 +
    6.14 +    testName = "simple-global-routing"
    6.15 +    repoName = "ns-3-ref-traces/"
    6.16 +    refDirName = testName + ".ref"
    6.17 +
    6.18 +    if not os.path.exists(repoName):
    6.19 +        print"No reference trace repository"
    6.20 +        return 1
    6.21 +
    6.22 +    if generate:
    6.23 +        if not os.path.exists(repoName + refDirName):
    6.24 +            print "creating new " + repoName + refDirName
    6.25 +            os.mkdir(repoName + refDirName)
    6.26 +
    6.27 +        os.system("./waf --cwd regression/" + repoName + refDirName +
    6.28 +            " --run " + testName + " >& /dev/null")
    6.29 +
    6.30 +        print "Remember to commit " + repoName + refDirName
    6.31 +        return 0
    6.32 +    else:
    6.33 +        if not os.path.exists(repoName + refDirName):
    6.34 +            print "Cannot locate reference traces"
    6.35 +            return 1
    6.36 +
    6.37 +        shutil.rmtree("traces");
    6.38 +        os.mkdir("traces")
    6.39 +        
    6.40 +        os.system("./waf --cwd regression/traces --run " +
    6.41 +          testName + " >& /dev/null")
    6.42 +        
    6.43 +        return os.system("diff -q traces " + repoName + refDirName +
    6.44 +         " >& /dev/null")