Fix test suite

+ Install VPCS and dynamips from GNS3 PPA
 + Drop netifaces-py3 from requirements.txt
 + Fix/update tests to use installed VPCS and dynamips
pull/27/head
Daniel Lintott 10 years ago
parent 578bb5741d
commit 7cbce0f81b

@ -4,9 +4,14 @@ python:
- "3.3" - "3.3"
- "3.4" - "3.4"
before_install:
- "sudo add-apt-repository ppa:gns3/ppa -y"
- "sudo apt-get update -q"
install: install:
- "pip install -r requirements.txt --use-mirrors" - "pip install -r requirements.txt --use-mirrors"
- "pip install tox" - "pip install tox"
- "sudo apt-get install vpcs dynamips"
script: "python setup.py test" script: "python setup.py test"

@ -1,5 +1,4 @@
netifaces netifaces
tornado tornado
pyzmq pyzmq
netifaces-py3
jsonschema jsonschema

@ -6,10 +6,9 @@ import os
@pytest.fixture(scope="module") @pytest.fixture(scope="module")
def hypervisor(request): def hypervisor(request):
cwd = os.path.dirname(os.path.abspath(__file__)) dynamips_path = '/usr/bin/dynamips'
dynamips_path = os.path.join(cwd, "dynamips.stable")
print("\nStarting Dynamips Hypervisor: {}".format(dynamips_path)) print("\nStarting Dynamips Hypervisor: {}".format(dynamips_path))
manager = HypervisorManager(dynamips_path, "/tmp", "127.0.0.1", 9000) manager = HypervisorManager(dynamips_path, "/tmp", "127.0.0.1")
hypervisor = manager.start_new_hypervisor() hypervisor = manager.start_new_hypervisor()
def stop(): def stop():

@ -29,9 +29,9 @@ def test_router_exists(router_c7200):
def test_npe(router_c7200): def test_npe(router_c7200):
assert router_c7200.npe == "npe-400" # default value assert router_c7200.npe == "npe-200" # default value
router_c7200.npe = "npe-200" router_c7200.npe = "npe-400"
assert router_c7200.npe == "npe-200" assert router_c7200.npe == "npe-400"
def test_midplane(router_c7200): def test_midplane(router_c7200):

@ -10,7 +10,7 @@ def test_is_started(hypervisor):
def test_port(hypervisor): def test_port(hypervisor):
assert hypervisor.port == 9000 assert hypervisor.port == 7200
def test_host(hypervisor): def test_host(hypervisor):
@ -25,8 +25,7 @@ def test_working_dir(hypervisor):
def test_path(hypervisor): def test_path(hypervisor):
cwd = os.path.dirname(os.path.abspath(__file__)) dynamips_path = '/usr/bin/dynamips'
dynamips_path = os.path.join(cwd, "dynamips.stable")
assert hypervisor.path == dynamips_path assert hypervisor.path == dynamips_path

@ -7,10 +7,9 @@ import os
@pytest.fixture(scope="module") @pytest.fixture(scope="module")
def hypervisor_manager(request): def hypervisor_manager(request):
cwd = os.path.dirname(os.path.abspath(__file__)) dynamips_path = '/usr/bin/dynamips'
dynamips_path = os.path.join(cwd, "dynamips.stable")
print("\nStarting Dynamips Hypervisor: {}".format(dynamips_path)) print("\nStarting Dynamips Hypervisor: {}".format(dynamips_path))
manager = HypervisorManager(dynamips_path, "/tmp", "127.0.0.1", 9000) manager = HypervisorManager(dynamips_path, "/tmp", "127.0.0.1")
#manager.start_new_hypervisor() #manager.start_new_hypervisor()

@ -9,7 +9,7 @@ import base64
@pytest.fixture @pytest.fixture
def router(request, hypervisor): def router(request, hypervisor):
router = Router(hypervisor, "router", "c3725") router = Router(hypervisor, "router", platform="c3725")
request.addfinalizer(router.delete) request.addfinalizer(router.delete)
return router return router
@ -127,9 +127,9 @@ def test_idlepc(router):
def test_idlemax(router): def test_idlemax(router):
assert router.idlemax == 1500 # default value assert router.idlemax == 500 # default value
router.idlemax = 500 router.idlemax = 1500
assert router.idlemax == 500 assert router.idlemax == 1500
def test_idlesleep(router): def test_idlesleep(router):
@ -172,7 +172,7 @@ def test_confreg(router):
def test_console(router): def test_console(router):
assert router.console == router.hypervisor.baseconsole + router.id assert router.console == 2001
new_console_port = router.console + 100 new_console_port = router.console + 100
router.console = new_console_port router.console = new_console_port
assert router.console == new_console_port assert router.console == new_console_port
@ -180,7 +180,7 @@ def test_console(router):
def test_aux(router): def test_aux(router):
assert router.aux == router.hypervisor.baseaux + router.id assert router.aux == 2501
new_aux_port = router.aux + 100 new_aux_port = router.aux + 100
router.aux = new_aux_port router.aux = new_aux_port
assert router.aux == new_aux_port assert router.aux == new_aux_port

@ -8,12 +8,14 @@ def iou(request):
cwd = os.path.dirname(os.path.abspath(__file__)) cwd = os.path.dirname(os.path.abspath(__file__))
iou_path = os.path.join(cwd, "i86bi_linux-ipbase-ms-12.4.bin") iou_path = os.path.join(cwd, "i86bi_linux-ipbase-ms-12.4.bin")
iou_device = IOUDevice(iou_path, "/tmp") iou_device = IOUDevice("IOU1", iou_path, "/tmp")
iou_device.start() iou_device.start()
request.addfinalizer(iou_device.delete) request.addfinalizer(iou_device.delete)
return iou_device return iou_device
@pytest.mark.skipif(os.environ["TRAVIS"] == "TRUE",
reason="IOU Image not available on Travis")
def test_iou_is_started(iou): def test_iou_is_started(iou):
print(iou.command()) print(iou.command())
@ -21,6 +23,8 @@ def test_iou_is_started(iou):
assert iou.is_running() assert iou.is_running()
@pytest.mark.skipif(os.environ["TRAVIS"] == "TRUE",
reason="IOU Image not available on Travis")
def test_iou_restart(iou): def test_iou_restart(iou):
iou.stop() iou.stop()

@ -6,9 +6,13 @@ import pytest
@pytest.fixture(scope="session") @pytest.fixture(scope="session")
def vpcs(request): def vpcs(request):
cwd = os.path.dirname(os.path.abspath(__file__)) if os.path.isfile("/usr/bin/vpcs"):
vpcs_path = os.path.join(cwd, "vpcs") vpcs_path = "/usr/bin/vpcs"
vpcs_device = VPCSDevice(vpcs_path, "/tmp") else:
cwd = os.path.dirname(os.path.abspath(__file__))
vpcs_path = os.path.join(cwd, "vpcs")
vpcs_device = VPCSDevice("VPCS1", vpcs_path, "/tmp")
vpcs_device.port_add_nio_binding(0, 'nio_tap:tap0')
vpcs_device.start() vpcs_device.start()
request.addfinalizer(vpcs_device.delete) request.addfinalizer(vpcs_device.delete)
return vpcs_device return vpcs_device

Loading…
Cancel
Save