regression/tests/test-tcp-nsc-lfn.py
author Craig Dowell <craigdo@ee.washington.edu>
Wed, 17 Sep 2008 20:04:26 -0700
changeset 3703 71d93292bc49
child 3872 8e757a83fb36
permissions -rw-r--r--
Apply Sam's nsc regression patch
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3703
71d93292bc49 Apply Sam's nsc regression patch
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
     1
#! /usr/bin/env python
71d93292bc49 Apply Sam's nsc regression patch
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
     2
71d93292bc49 Apply Sam's nsc regression patch
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
     3
"""Trace-comparison-type regression test for the Network Simulation Cradle."""
71d93292bc49 Apply Sam's nsc regression patch
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
     4
71d93292bc49 Apply Sam's nsc regression patch
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
     5
import os
71d93292bc49 Apply Sam's nsc regression patch
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
     6
import shutil
71d93292bc49 Apply Sam's nsc regression patch
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
     7
import sys
71d93292bc49 Apply Sam's nsc regression patch
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
     8
import tracediff
71d93292bc49 Apply Sam's nsc regression patch
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
     9
import platform
71d93292bc49 Apply Sam's nsc regression patch
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    10
71d93292bc49 Apply Sam's nsc regression patch
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    11
71d93292bc49 Apply Sam's nsc regression patch
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    12
def run(verbose, generate, refDirName):
71d93292bc49 Apply Sam's nsc regression patch
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    13
    """Run a Network Simulation Cradle test involving two TCP streams."""
71d93292bc49 Apply Sam's nsc regression patch
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    14
71d93292bc49 Apply Sam's nsc regression patch
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    15
    if not tracediff.env['ENABLE_NSC']:
71d93292bc49 Apply Sam's nsc regression patch
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    16
        print >>sys.stderr, "Skipping tcp-nsc-lfn: NSC not available."
71d93292bc49 Apply Sam's nsc regression patch
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    17
        raise NotImplementedError
71d93292bc49 Apply Sam's nsc regression patch
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    18
71d93292bc49 Apply Sam's nsc regression patch
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    19
    testName = "tcp-nsc-lfn"
71d93292bc49 Apply Sam's nsc regression patch
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    20
    arguments = ["--ns3::OnOffApplication::DataRate=40000", "--runtime=20"]
71d93292bc49 Apply Sam's nsc regression patch
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    21
    platform_bits = platform.architecture()[0]
71d93292bc49 Apply Sam's nsc regression patch
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    22
    
71d93292bc49 Apply Sam's nsc regression patch
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    23
    if platform_bits == "64bit":
71d93292bc49 Apply Sam's nsc regression patch
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    24
        traceDirName = testName + "_64bit.ref"
71d93292bc49 Apply Sam's nsc regression patch
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    25
    elif platform_bits == "32bit":
71d93292bc49 Apply Sam's nsc regression patch
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    26
        traceDirName = testName + "_32bit.ref"
71d93292bc49 Apply Sam's nsc regression patch
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    27
    else:
71d93292bc49 Apply Sam's nsc regression patch
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    28
        # Something unexpected. How should we signal an error here? Rasing a
71d93292bc49 Apply Sam's nsc regression patch
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    29
        # string might not be the best idea?
71d93292bc49 Apply Sam's nsc regression patch
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    30
        raise "Unknown architecture, not 64 or 32 bit?"
71d93292bc49 Apply Sam's nsc regression patch
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    31
71d93292bc49 Apply Sam's nsc regression patch
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    32
    return tracediff.run_test(verbose, generate, refDirName,
71d93292bc49 Apply Sam's nsc regression patch
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    33
        testName, arguments=arguments, refTestName=traceDirName)