keep wifi-ap from spewing all over std_out during tests
This commit is contained in:
@@ -32,53 +32,73 @@
|
||||
|
||||
using namespace ns3;
|
||||
|
||||
static bool g_verbose = true;
|
||||
|
||||
void
|
||||
DevTxTrace (std::string context, Ptr<const Packet> p)
|
||||
{
|
||||
std::cout << " TX p: " << *p << std::endl;
|
||||
if (g_verbose)
|
||||
{
|
||||
std::cout << " TX p: " << *p << std::endl;
|
||||
}
|
||||
}
|
||||
void
|
||||
DevRxTrace (std::string context, Ptr<const Packet> p)
|
||||
{
|
||||
std::cout << " RX p: " << *p << std::endl;
|
||||
if (g_verbose)
|
||||
{
|
||||
std::cout << " RX p: " << *p << std::endl;
|
||||
}
|
||||
}
|
||||
void
|
||||
PhyRxOkTrace (std::string context, Ptr<const Packet> packet, double snr, WifiMode mode, enum WifiPreamble preamble)
|
||||
{
|
||||
std::cout << "PHYRXOK mode=" << mode << " snr=" << snr << " " << *packet << std::endl;
|
||||
if (g_verbose)
|
||||
{
|
||||
std::cout << "PHYRXOK mode=" << mode << " snr=" << snr << " " << *packet << std::endl;
|
||||
}
|
||||
}
|
||||
void
|
||||
PhyRxErrorTrace (std::string context, Ptr<const Packet> packet, double snr)
|
||||
{
|
||||
std::cout << "PHYRXERROR snr=" << snr << " " << *packet << std::endl;
|
||||
if (g_verbose)
|
||||
{
|
||||
std::cout << "PHYRXERROR snr=" << snr << " " << *packet << std::endl;
|
||||
}
|
||||
}
|
||||
void
|
||||
PhyTxTrace (std::string context, Ptr<const Packet> packet, WifiMode mode, WifiPreamble preamble, uint8_t txPower)
|
||||
{
|
||||
std::cout << "PHYTX mode=" << mode << " " << *packet << std::endl;
|
||||
if (g_verbose)
|
||||
{
|
||||
std::cout << "PHYTX mode=" << mode << " " << *packet << std::endl;
|
||||
}
|
||||
}
|
||||
void
|
||||
PhyStateTrace (std::string context, Time start, Time duration, enum WifiPhy::State state)
|
||||
{
|
||||
std::cout << " state=";
|
||||
switch (state) {
|
||||
case WifiPhy::SWITCHING:
|
||||
std::cout << "switchng";
|
||||
break;
|
||||
case WifiPhy::TX:
|
||||
std::cout << "tx ";
|
||||
break;
|
||||
case WifiPhy::SYNC:
|
||||
std::cout << "sync ";
|
||||
break;
|
||||
case WifiPhy::CCA_BUSY:
|
||||
std::cout << "cca-busy";
|
||||
break;
|
||||
case WifiPhy::IDLE:
|
||||
std::cout << "idle ";
|
||||
break;
|
||||
}
|
||||
std::cout << " start="<<start<<" duration="<<duration<<std::endl;
|
||||
if (g_verbose)
|
||||
{
|
||||
std::cout << " state=";
|
||||
switch (state) {
|
||||
case WifiPhy::SWITCHING:
|
||||
std::cout << "switchng";
|
||||
break;
|
||||
case WifiPhy::TX:
|
||||
std::cout << "tx ";
|
||||
break;
|
||||
case WifiPhy::SYNC:
|
||||
std::cout << "sync ";
|
||||
break;
|
||||
case WifiPhy::CCA_BUSY:
|
||||
std::cout << "cca-busy";
|
||||
break;
|
||||
case WifiPhy::IDLE:
|
||||
std::cout << "idle ";
|
||||
break;
|
||||
}
|
||||
std::cout << " start="<<start<<" duration="<<duration<<std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -105,17 +125,20 @@ AdvancePosition (Ptr<Node> node)
|
||||
return;
|
||||
}
|
||||
SetPosition (node, pos);
|
||||
//std::cout << "x="<<pos.x << std::endl;
|
||||
|
||||
if (g_verbose)
|
||||
{
|
||||
//std::cout << "x="<<pos.x << std::endl;
|
||||
}
|
||||
Simulator::Schedule (Seconds (1.0), &AdvancePosition, node);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
int main (int argc, char *argv[])
|
||||
{
|
||||
CommandLine cmd;
|
||||
cmd.Parse (argc, argv);
|
||||
cmd.AddValue ("verbose", "Print trace information if true", g_verbose);
|
||||
|
||||
cmd.Parse (argc, argv);
|
||||
|
||||
Packet::EnablePrinting ();
|
||||
|
||||
|
||||
29
test.py
29
test.py
@@ -100,7 +100,7 @@ example_tests = [
|
||||
("udp-echo", "True"),
|
||||
("virtual-net-device", "True"),
|
||||
("wifi-adhoc", "False"), # takes forever to run
|
||||
("wifi-ap", "True"),
|
||||
("wifi-ap --verbose=0", "True"), # don't let it spew
|
||||
("wifi-wired-bridging", "True"),
|
||||
]
|
||||
|
||||
@@ -509,8 +509,8 @@ def run_job_synchronously(shell_command, directory):
|
||||
if options.verbose:
|
||||
print "Synchronously execute %s" % cmd
|
||||
proc = subprocess.Popen(cmd, shell=True, cwd=directory, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||
stdout_results = proc.communicate()[0]
|
||||
return (proc.returncode, stdout_results)
|
||||
stdout_results, stderr_results = proc.communicate()
|
||||
return (proc.returncode, stdout_results, stderr_results)
|
||||
|
||||
#
|
||||
# This class defines a unit of testing work. It will typically refer to
|
||||
@@ -641,18 +641,22 @@ class worker_thread(threading.Thread):
|
||||
# If we have an example, the shell command is all we need to
|
||||
# know. It will be something like "examples/udp-echo"
|
||||
#
|
||||
(job.returncode, standard_out) = run_job_synchronously(job.shell_command, job.cwd)
|
||||
(job.returncode, standard_out, standard_err) = run_job_synchronously(job.shell_command, job.cwd)
|
||||
else:
|
||||
#
|
||||
# If we're a test suite, we need to provide a little more info
|
||||
# to the test runner, specifically the base directory and temp
|
||||
# file name
|
||||
#
|
||||
(job.returncode, standard_out) = run_job_synchronously(job.shell_command + " --basedir=%s --out=%s" %
|
||||
(job.basedir, job.tmp_file_name), job.cwd)
|
||||
(job.returncode, standard_out, standard_err) = run_job_synchronously(job.shell_command +
|
||||
" --basedir=%s --out=%s" % (job.basedir, job.tmp_file_name), job.cwd)
|
||||
|
||||
if options.verbose:
|
||||
print "---------- beign standard out ----------"
|
||||
print standard_out
|
||||
print "---------- begin standard err ----------"
|
||||
print standard_err
|
||||
print "---------- end standard err ----------"
|
||||
|
||||
self.output_queue.put(job)
|
||||
|
||||
@@ -685,11 +689,11 @@ def run_tests():
|
||||
# handle them without doing all of the hard work.
|
||||
#
|
||||
if options.kinds:
|
||||
(rc, standard_out) = run_job_synchronously("utils/test-runner --kinds", os.getcwd())
|
||||
(rc, standard_out, standard_err) = run_job_synchronously("utils/test-runner --kinds", os.getcwd())
|
||||
print standard_out
|
||||
|
||||
if options.list:
|
||||
(rc, standard_out) = run_job_synchronously("utils/test-runner --list", os.getcwd())
|
||||
(rc, standard_out, standard_err) = run_job_synchronously("utils/test-runner --list", os.getcwd())
|
||||
print standard_out
|
||||
|
||||
if options.kinds or options.list:
|
||||
@@ -755,9 +759,10 @@ def run_tests():
|
||||
suites = options.suite + "\n"
|
||||
elif len(options.example) == 0:
|
||||
if len(options.constrain):
|
||||
(rc, suites) = run_job_synchronously("utils/test-runner --list --constrain=%s" % options.constrain, os.getcwd())
|
||||
(rc, suites, standard_err) = run_job_synchronously("utils/test-runner --list --constrain=%s" %
|
||||
options.constrain, os.getcwd())
|
||||
else:
|
||||
(rc, suites) = run_job_synchronously("utils/test-runner --list", os.getcwd())
|
||||
(rc, suites, standard_err) = run_job_synchronously("utils/test-runner --list", os.getcwd())
|
||||
else:
|
||||
suites = ""
|
||||
|
||||
@@ -1055,9 +1060,9 @@ def run_tests():
|
||||
shutil.copyfile(xml_results_file, options.xml)
|
||||
|
||||
if passed_tests == total_tests:
|
||||
return 0
|
||||
return 0 # success
|
||||
else:
|
||||
return -1
|
||||
return 1 # catchall for general errors
|
||||
|
||||
def main(argv):
|
||||
random.seed()
|
||||
|
||||
Reference in New Issue
Block a user