moved future core server and handler code to act as the default core-daemon, updated future examples and tests to leverage new api

This commit is contained in:
Blake J. Harnden 2018-04-25 16:33:58 -07:00
parent f431895357
commit 8644e9d61e
24 changed files with 618 additions and 2728 deletions

View file

@ -4,16 +4,13 @@ Unit tests for testing CORE EMANE networks.
import pytest
from conftest import EMANE_SERVICES
from core.data import ConfigData
from conftest import ping
from core.emane.bypass import EmaneBypassModel
from core.emane.commeffect import EmaneCommEffectModel
from core.emane.ieee80211abg import EmaneIeee80211abgModel
from core.emane.nodes import EmaneNode
from core.emane.rfpipe import EmaneRfPipeModel
from core.emane.tdma import EmaneTdmaModel
from core.future.futuredata import NodeOptions
_EMANE_MODELS = [
EmaneIeee80211abgModel,
@ -26,36 +23,37 @@ _EMANE_MODELS = [
class TestEmane:
@pytest.mark.parametrize("model", _EMANE_MODELS)
def test_models(self, core, model):
def test_models(self, session, model, ip_prefixes):
"""
Test emane models within a basic network.
:param conftest.Core core: core fixture to test with
:param core.future.coreemu.FutureSession session: session for test
:param model: emane model to test
:param func setup: setup function to configure emane node
:param ip_prefixes: generates ip addresses for nodes
"""
# create emane node for networking the core nodes
emane_node = core.session.add_object(name="emane", cls=EmaneNode)
emane_node.setposition(x=80, y=50)
# set the emane model
core.set_emane_model(emane_node, model)
emane_network = session.create_emane_network(
model,
geo_reference=(47.57917, -122.13232, 2.00000)
)
emane_network.setposition(x=80, y=50)
# create nodes
core.create_node("n1", objid=1, position=(150, 150), services=EMANE_SERVICES, model="mdr")
core.create_node("n2", objid=2, position=(300, 150), services=EMANE_SERVICES, model="mdr")
node_options = NodeOptions()
node_options.set_position(150, 150)
node_one = session.create_wireless_node(node_options=node_options)
node_options.set_position(300, 150)
node_two = session.create_wireless_node(node_options=node_options)
# add interfaces to nodes
core.add_interface(emane_node, "n1")
core.add_interface(emane_node, "n2")
for i, node in enumerate([node_one, node_two]):
node.setposition(x=150 * (i + 1), y=150)
interface = ip_prefixes.create_interface(node)
session.add_link(node.objid, emane_network.objid, interface_one=interface)
# instantiate session
core.session.instantiate()
# assert node directories created
core.assert_nodes()
session.instantiate()
# ping n2 from n1 and assert success
status = core.ping("n1", "n2")
status = ping(node_one, node_two, ip_prefixes, count=5)
assert not status