trace generation and comparison
authorCraig Dowell <craigdo@ee.washington.edu>
Wed Mar 26 00:30:11 2008 -0700 (22 months ago)
changeset 2847f0aedbbb037b
parent 2846 7689461231ac
child 2848 a1e7347d31cc
trace generation and comparison
regression/regression.py
regression/tests/test_csma_one_subnet.py
     1.1 --- a/regression/regression.py	Tue Mar 25 23:17:24 2008 -0700
     1.2 +++ b/regression/regression.py	Wed Mar 26 00:30:11 2008 -0700
     1.3 @@ -45,9 +45,6 @@
     1.4          if o == '-v': verbose = 1
     1.5          if o == '-g': generate = 1
     1.6  
     1.7 -    if not os.path.exists('./traces'):
     1.8 -        os.mkdir('./traces')
     1.9 -    
    1.10      bad = []
    1.11  
    1.12      if not testdir:
    1.13 @@ -77,7 +74,10 @@
    1.14              print "main(): running test", test
    1.15          result = runtest(test)
    1.16          if result == 0:
    1.17 -            print "PASS ", test
    1.18 +            if generate:
    1.19 +                print "GENERATE ", test
    1.20 +            else:
    1.21 +                print "PASS ", test
    1.22          else:
    1.23              bad.append(test)
    1.24              print "FAIL ", test
    1.25 @@ -114,6 +114,16 @@
    1.26      Arguments:
    1.27      test -- the name of the test
    1.28      """
    1.29 +    if os.path.exists("traces"):
    1.30 +        files = os.listdir("traces")
    1.31 +        for file in files:
    1.32 +            if file == '.' or file == '..':
    1.33 +                continue
    1.34 +            path = "traces" + os.sep + file
    1.35 +            os.remove(path)
    1.36 +    else:
    1.37 +        os.mkdir("traces")
    1.38 +    
    1.39      if verbose:
    1.40          print "runtest(): run ", test
    1.41      mod = __import__(test, globals(), locals(), [])
     2.1 --- a/regression/tests/test_csma_one_subnet.py	Tue Mar 25 23:17:24 2008 -0700
     2.2 +++ b/regression/tests/test_csma_one_subnet.py	Wed Mar 26 00:30:11 2008 -0700
     2.3 @@ -4,7 +4,28 @@
     2.4  
     2.5  import os
     2.6  
     2.7 +def rmdir(dir):
     2.8 +    if os.path.exists(dir):
     2.9 +        files = os.listdir(dir)
    2.10 +        for file in files:
    2.11 +            if file == '.' or file == '..':
    2.12 +                continue
    2.13 +            path = dir + os.sep + file
    2.14 +            os.remove(path)
    2.15 +        os.rmdir(dir)
    2.16 +
    2.17  def run(verbose, generate):
    2.18      """Execute a test."""
    2.19 +
    2.20      os.system("./waf --cwd regression/traces --run csma-one-subnet")
    2.21 -    return 0
    2.22 +
    2.23 +    if generate:
    2.24 +        rmdir("knowns")
    2.25 +        os.rename("traces", "knowns")
    2.26 +        os.system("tar -cjf tests/csma-one-subnet.bz2 knowns/")
    2.27 +        rmdir("knowns")
    2.28 +        return 0
    2.29 +    else:
    2.30 +        rmdir("knowns")
    2.31 +        os.system("tar -xjf tests/csma-one-subnet.bz2 knowns/")
    2.32 +        return os.system("diff knowns traces")