diff options
Diffstat (limited to 'tests/topotests/example-test')
| -rwxr-xr-x | tests/topotests/example-test/__init__.py | 0 | ||||
| -rwxr-xr-x | tests/topotests/example-test/test_example.py | 69 | ||||
| -rw-r--r-- | tests/topotests/example-test/test_template.dot | 51 | ||||
| -rw-r--r-- | tests/topotests/example-test/test_template.jpg | bin | 15470 -> 0 bytes | |||
| -rw-r--r-- | tests/topotests/example-test/test_template.py | 139 |
5 files changed, 0 insertions, 259 deletions
diff --git a/tests/topotests/example-test/__init__.py b/tests/topotests/example-test/__init__.py deleted file mode 100755 index e69de29bb2..0000000000 --- a/tests/topotests/example-test/__init__.py +++ /dev/null diff --git a/tests/topotests/example-test/test_example.py b/tests/topotests/example-test/test_example.py deleted file mode 100755 index 72eceee612..0000000000 --- a/tests/topotests/example-test/test_example.py +++ /dev/null @@ -1,69 +0,0 @@ -#!/usr/bin/env python - -import subprocess -import sys -import os -import time - -import pytest - -fatal_error = "" - - -def setup_module(module): - print("setup_module module:%s" % module.__name__) - - -def teardown_module(module): - print("teardown_module module:%s" % module.__name__) - - -def setup_function(function): - print("setup_function function:%s" % function.__name__) - - -def teardown_function(function): - print("teardown_function function:%s" % function.__name__) - - -def test_numbers_compare(): - a = 12 - print("Dummy Output") - assert a == 12 - - -def test_fail_example(): - assert True, "Some Text with explaination in case of failure" - - -def test_ls_exits_zero(): - "Tests for ls command on invalid file" - - global fatal_error - - proc = subprocess.Popen( - ["ls", "/some/nonexistant/file"], - stdout=subprocess.PIPE, - stderr=subprocess.PIPE, - ) - stdout, stderr = proc.communicate() - - if proc.returncode != 0: - # Mark this as a fatal error which skips some other tests on failure - fatal_error = "test_fail_example failed" - assert proc.returncode == 0, "Return Code is non-Zero:\n%s" % stderr - - -def test_skipped_on_fatalerror(): - global fatal_error - - # Skip if previous fatal error condition is raised - if fatal_error != "": - pytest.skip(fatal_error) - - assert True, "Some Text with explaination in case of failure" - - -if __name__ == "__main__": - retval = pytest.main(["-s"]) - sys.exit(retval) diff --git a/tests/topotests/example-test/test_template.dot b/tests/topotests/example-test/test_template.dot deleted file mode 100644 index b5e12020ce..0000000000 --- a/tests/topotests/example-test/test_template.dot +++ /dev/null @@ -1,51 +0,0 @@ -## Color coding: -######################### -## Main FRR: #f08080 red -## Switches: #d0e0d0 gray -## RIP: #19e3d9 Cyan -## RIPng: #fcb314 dark yellow -## OSPFv2: #32b835 Green -## OSPFv3: #19e3d9 Cyan -## ISIS IPv4 #fcb314 dark yellow -## ISIS IPv6 #9a81ec purple -## BGP IPv4 #eee3d3 beige -## BGP IPv6 #fdff00 yellow -##### Colors (see http://www.color-hex.com/) - -graph template { - label="template"; - - # Routers - r1 [ - shape=doubleoctagon, - label="r1", - fillcolor="#f08080", - style=filled, - ]; - r2 [ - shape=doubleoctagon - label="r2", - fillcolor="#f08080", - style=filled, - ]; - - # Switches - s1 [ - shape=oval, - label="s1\n192.168.0.0/24", - fillcolor="#d0e0d0", - style=filled, - ]; - s2 [ - shape=oval, - label="s2\n192.168.1.0/24", - fillcolor="#d0e0d0", - style=filled, - ]; - - # Connections - r1 -- s1 [label="eth0\n.1"]; - - r1 -- s2 [label="eth1\n.100"]; - r2 -- s2 [label="eth0\n.1"]; -} diff --git a/tests/topotests/example-test/test_template.jpg b/tests/topotests/example-test/test_template.jpg Binary files differdeleted file mode 100644 index b01ef73f5a..0000000000 --- a/tests/topotests/example-test/test_template.jpg +++ /dev/null diff --git a/tests/topotests/example-test/test_template.py b/tests/topotests/example-test/test_template.py deleted file mode 100644 index 0265dbe796..0000000000 --- a/tests/topotests/example-test/test_template.py +++ /dev/null @@ -1,139 +0,0 @@ -#!/usr/bin/env python - -# -# <template>.py -# Part of NetDEF Topology Tests -# -# Copyright (c) 2017 by -# Network Device Education Foundation, Inc. ("NetDEF") -# -# Permission to use, copy, modify, and/or distribute this software -# for any purpose with or without fee is hereby granted, provided -# that the above copyright notice and this permission notice appear -# in all copies. -# -# THE SOFTWARE IS PROVIDED "AS IS" AND NETDEF DISCLAIMS ALL WARRANTIES -# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL NETDEF BE LIABLE FOR -# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY -# DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -# WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS -# ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE -# OF THIS SOFTWARE. -# - -""" -<template>.py: Test <template>. -""" - -import os -import sys -import pytest - -# Save the Current Working Directory to find configuration files. -CWD = os.path.dirname(os.path.realpath(__file__)) -sys.path.append(os.path.join(CWD, "../")) - -# pylint: disable=C0413 -# Import topogen and topotest helpers -from lib import topotest -from lib.topogen import Topogen, TopoRouter, get_topogen -from lib.topolog import logger - -# Required to instantiate the topology builder class. -from mininet.topo import Topo - - -# TODO: select markers based on daemons used during test -# pytest module level markers -""" -pytestmark = pytest.mark.bfdd # single marker -pytestmark = [ - pytest.mark.bgpd, - pytest.mark.ospfd, - pytest.mark.ospf6d -] # multiple markers -""" - - -class TemplateTopo(Topo): - "Test topology builder" - - def build(self, *_args, **_opts): - "Build function" - tgen = get_topogen(self) - - # This function only purpose is to define allocation and relationship - # between routers, switches and hosts. - # - # Example - # - # Create 2 routers - for routern in range(1, 3): - tgen.add_router("r{}".format(routern)) - - # Create a switch with just one router connected to it to simulate a - # empty network. - switch = tgen.add_switch("s1") - switch.add_link(tgen.gears["r1"]) - - # Create a connection between r1 and r2 - switch = tgen.add_switch("s2") - switch.add_link(tgen.gears["r1"]) - switch.add_link(tgen.gears["r2"]) - - -def setup_module(mod): - "Sets up the pytest environment" - # This function initiates the topology build with Topogen... - tgen = Topogen(TemplateTopo, mod.__name__) - # ... and here it calls Mininet initialization functions. - tgen.start_topology() - - # This is a sample of configuration loading. - router_list = tgen.routers() - - # For all registred routers, load the zebra configuration file - for rname, router in router_list.items(): - router.load_config( - TopoRouter.RD_ZEBRA, - # Uncomment next line to load configuration from ./router/zebra.conf - # os.path.join(CWD, '{}/zebra.conf'.format(rname)) - ) - - # After loading the configurations, this function loads configured daemons. - tgen.start_router() - - -def teardown_module(mod): - "Teardown the pytest environment" - tgen = get_topogen() - - # This function tears down the whole topology. - tgen.stop_topology() - - -def test_call_mininet_cli(): - "Dummy test that just calls mininet CLI so we can interact with the build." - tgen = get_topogen() - # Don't run this test if we have any failure. - if tgen.routers_have_failure(): - pytest.skip(tgen.errors) - - logger.info("calling mininet CLI") - tgen.mininet_cli() - - -# Memory leak test template -def test_memory_leak(): - "Run the memory leak test and report results." - tgen = get_topogen() - if not tgen.is_memleak_enabled(): - pytest.skip("Memory leak test/report is disabled") - - tgen.report_memory_leaks() - - -if __name__ == "__main__": - args = ["-s"] + sys.argv[1:] - sys.exit(pytest.main(args)) |
