Пример #1
0
def simulation_main(args, simulation, help):
    """Wraps a simulation function with command-line support."""
    usage = """Usage: %%prog [OPTIONS] NETINFO

    %s""" % help
    parser = optparse.OptionParser(usage)
    parser.add_option('-v',
                      '--verbose',
                      dest='vlevel',
                      action="count",
                      default=0,
                      help='Increase verbose level)')
    parser.add_option('-r',
                      '--report',
                      dest='report',
                      default=None,
                      help='Use a Radio Mobile report file')
    options, args0 = parser.parse_args(args)
    set_logging_level(options.vlevel)

    if options.report:
        network = wwnetwork.create_network_from_report_file(options.report)
    elif len(args0) == 1:
        filename, = args0
        network = wwnetwork.create_network_from_yaml_file(filename)
    else:
        parser.print_help()
        return 2
    return simulation(network)
Пример #2
0
    def test_create_network_from_report_file(self):
        path = self._get_report_file()
        network = wwnetwork.create_network_from_report_file(path)
        josjo2 = network.nodes["Josjojauarina 2"]
        self.assertEqual(josjo2.name, "Josjojauarina 2")
        self.assert_(isinstance(josjo2.ns3_node, ns3.Node))         
        self.assertEqual(josjo2.location, [21728, 5837])
        
        self.assertEqual(set(josjo2.devices.keys()), 
            set(["Josjo1-Josjo2-wifi2", "Josjo2-wimax1"]))
        wifi2 = josjo2.devices["Josjo1-Josjo2-wifi2"]
        self.assert_(isinstance(wifi2.ns3_device, ns3.WifiNetDevice))
        self.assert_(isinstance(wifi2.helper, ns3.WifiHelper))
        self.assert_(isinstance(wifi2.phy_helper, ns3.WifiPhyHelper))
        self.assertEqual(len(wifi2.interfaces), 1)
        self.assert_(isinstance(wifi2.interfaces[0].address, ns3.Ipv4Address))

        wimax1 = josjo2.devices["Josjo2-wimax1"]
        self.assert_(isinstance(wimax1.ns3_device, ns3.BaseStationNetDevice))
        self.assert_(isinstance(wimax1.helper, ns3.WimaxHelper))
        self.assertEqual(len(wimax1.interfaces), 1)
        self.assert_(isinstance(wimax1.interfaces[0].address, ns3.Ipv4Address))
Пример #3
0
def simulation_main(args, simulation, help):
    """Wraps a simulation function with command-line support."""
    usage = """Usage: %%prog [OPTIONS] NETINFO

    %s""" % help 
    parser = optparse.OptionParser(usage)
    parser.add_option('-v', '--verbose', dest='vlevel', action="count",
      default=0, help='Increase verbose level)')
    parser.add_option('-r', '--report', dest='report', 
      default=None, help='Use a Radio Mobile report file')
    options, args0 = parser.parse_args(args)
    set_logging_level(options.vlevel)

    if options.report:
        network = wwnetwork.create_network_from_report_file(options.report)    
    elif len(args0) == 1:
        filename, = args0
        network = wwnetwork.create_network_from_yaml_file(filename)
    else:
        parser.print_help()
        return 2                
    return simulation(network)