author | Craig Dowell <craigdo@ee.washington.edu> |
Mon, 31 Mar 2008 17:48:21 -0700 | |
changeset 2860 | 9105a5cf6535 |
child 2863 | 0bcad16fc46b |
permissions | -rw-r--r-- |
2860
9105a5cf6535
use global seed in examples, new regression tests
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
1 |
#! /usr/bin/env python |
9105a5cf6535
use global seed in examples, new regression tests
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
2 |
|
9105a5cf6535
use global seed in examples, new regression tests
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
3 |
"""Generic trace-comparison-type regression test.""" |
9105a5cf6535
use global seed in examples, new regression tests
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
4 |
|
9105a5cf6535
use global seed in examples, new regression tests
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
5 |
import os |
9105a5cf6535
use global seed in examples, new regression tests
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
6 |
import shutil |
9105a5cf6535
use global seed in examples, new regression tests
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
7 |
|
9105a5cf6535
use global seed in examples, new regression tests
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
8 |
def run(verbose, generate): |
9105a5cf6535
use global seed in examples, new regression tests
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
9 |
"""Execute a test.""" |
9105a5cf6535
use global seed in examples, new regression tests
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
10 |
|
9105a5cf6535
use global seed in examples, new regression tests
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
11 |
testName = "csma-multicast" |
9105a5cf6535
use global seed in examples, new regression tests
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
12 |
repoName = "ns-3-ref-traces/" |
9105a5cf6535
use global seed in examples, new regression tests
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
13 |
refDirName = testName + ".ref" |
9105a5cf6535
use global seed in examples, new regression tests
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
14 |
|
9105a5cf6535
use global seed in examples, new regression tests
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
15 |
if not os.path.exists(repoName): |
9105a5cf6535
use global seed in examples, new regression tests
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
16 |
print"No reference trace repository" |
9105a5cf6535
use global seed in examples, new regression tests
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
17 |
return 1 |
9105a5cf6535
use global seed in examples, new regression tests
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
18 |
|
9105a5cf6535
use global seed in examples, new regression tests
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
19 |
if generate: |
9105a5cf6535
use global seed in examples, new regression tests
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
20 |
if not os.path.exists(repoName + refDirName): |
9105a5cf6535
use global seed in examples, new regression tests
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
21 |
print "creating new " + repoName + refDirName |
9105a5cf6535
use global seed in examples, new regression tests
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
22 |
os.mkdir(repoName + refDirName) |
9105a5cf6535
use global seed in examples, new regression tests
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
23 |
|
9105a5cf6535
use global seed in examples, new regression tests
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
24 |
os.system("./waf --cwd regression/" + repoName + refDirName + |
9105a5cf6535
use global seed in examples, new regression tests
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
25 |
" --run " + testName + " >& /dev/null") |
9105a5cf6535
use global seed in examples, new regression tests
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
26 |
|
9105a5cf6535
use global seed in examples, new regression tests
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
27 |
print "Remember to commit " + repoName + refDirName |
9105a5cf6535
use global seed in examples, new regression tests
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
28 |
return 0 |
9105a5cf6535
use global seed in examples, new regression tests
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
29 |
else: |
9105a5cf6535
use global seed in examples, new regression tests
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
30 |
if not os.path.exists(repoName + refDirName): |
9105a5cf6535
use global seed in examples, new regression tests
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
31 |
print "Cannot locate reference traces" |
9105a5cf6535
use global seed in examples, new regression tests
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
32 |
return 1 |
9105a5cf6535
use global seed in examples, new regression tests
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
33 |
|
9105a5cf6535
use global seed in examples, new regression tests
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
34 |
shutil.rmtree("traces"); |
9105a5cf6535
use global seed in examples, new regression tests
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
35 |
os.mkdir("traces") |
9105a5cf6535
use global seed in examples, new regression tests
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
36 |
|
9105a5cf6535
use global seed in examples, new regression tests
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
37 |
os.system("./waf --cwd regression/traces --run " + |
9105a5cf6535
use global seed in examples, new regression tests
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
38 |
testName + " >& /dev/null") |
9105a5cf6535
use global seed in examples, new regression tests
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
39 |
|
9105a5cf6535
use global seed in examples, new regression tests
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
40 |
return os.system("diff -q traces " + repoName + refDirName + |
9105a5cf6535
use global seed in examples, new regression tests
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
41 |
" >& /dev/null") |