diff --git a/tests/topotests/bgp-basic-functionality-topo1/test_bgp_basic_functionality.py b/tests/topotests/bgp-basic-functionality-topo1/test_bgp_basic_functionality.py index fd2102dd7c..095ebe3344 100755 --- a/tests/topotests/bgp-basic-functionality-topo1/test_bgp_basic_functionality.py +++ b/tests/topotests/bgp-basic-functionality-topo1/test_bgp_basic_functionality.py @@ -59,7 +59,7 @@ from lib.topogen import Topogen, get_topogen from mininet.topo import Topo from lib.common_config import ( - start_topology, stop_topology, write_test_header, + start_topology, write_test_header, write_test_footer, reset_config_on_routers, create_static_routes, verify_rib, verify_admin_distance_for_static_routes ) @@ -135,7 +135,7 @@ def teardown_module(): tgen = get_topogen() # Stop toplogy and Remove tmp files - stop_topology(tgen) + tgen.stop_topology() logger.info("Testsuite end time: {}". format(time.asctime(time.localtime(time.time())))) diff --git a/tests/topotests/bgp-path-attributes-topo1/test_bgp_path_attributes.py b/tests/topotests/bgp-path-attributes-topo1/test_bgp_path_attributes.py index 7400d9ee54..abd6b396d1 100755 --- a/tests/topotests/bgp-path-attributes-topo1/test_bgp_path_attributes.py +++ b/tests/topotests/bgp-path-attributes-topo1/test_bgp_path_attributes.py @@ -72,7 +72,7 @@ from lib.topogen import Topogen, TopoRouter, get_topogen # Required to instantiate the topology builder class. from lib.common_config import ( - start_topology, stop_topology, write_test_header, + start_topology, write_test_header, write_test_footer, reset_config_on_routers, verify_rib, create_static_routes, create_prefix_lists, verify_prefix_lists, @@ -158,7 +158,7 @@ def teardown_module(): tgen = get_topogen() # Stop toplogy and Remove tmp files - stop_topology(tgen) + tgen.stop_topology() logger.info("Testsuite end time: %s", time.asctime(time.localtime(time.time()))) diff --git a/tests/topotests/bgp-prefix-list-topo1/test_prefix_lists.py b/tests/topotests/bgp-prefix-list-topo1/test_prefix_lists.py index f77fea7702..25a346f20d 100755 --- a/tests/topotests/bgp-prefix-list-topo1/test_prefix_lists.py +++ b/tests/topotests/bgp-prefix-list-topo1/test_prefix_lists.py @@ -60,7 +60,7 @@ from lib.topogen import Topogen, get_topogen # Import topoJson from lib, to create topology and initial configuration from lib.common_config import ( - start_topology, stop_topology, write_test_header, + start_topology, write_test_header, write_test_footer, reset_config_on_routers, verify_rib, create_static_routes, create_prefix_lists, verify_prefix_lists @@ -151,7 +151,7 @@ def teardown_module(mod): tgen = get_topogen() # Stop toplogy and Remove tmp files - stop_topology(tgen) + tgen.stop_topology() logger.info("Testsuite end time: {}". format(time.asctime(time.localtime(time.time())))) diff --git a/tests/topotests/example-topojson-test/test_topo_json_multiple_links/test_example_topojson_multiple_links.py b/tests/topotests/example-topojson-test/test_topo_json_multiple_links/test_example_topojson_multiple_links.py index aff8874f98..8e794b9946 100755 --- a/tests/topotests/example-topojson-test/test_topo_json_multiple_links/test_example_topojson_multiple_links.py +++ b/tests/topotests/example-topojson-test/test_topo_json_multiple_links/test_example_topojson_multiple_links.py @@ -44,7 +44,7 @@ from mininet.topo import Topo # Import topoJson from lib, to create topology and initial configuration from lib.common_config import ( - start_topology, stop_topology, write_test_header, + start_topology, write_test_header, write_test_footer, verify_rib ) from lib.topolog import logger @@ -137,7 +137,7 @@ def teardown_module(mod): tgen = get_topogen() # Stop toplogy and Remove tmp files - stop_topology(tgen) + tgen.stop_topology() def test_bgp_convergence(request): diff --git a/tests/topotests/example-topojson-test/test_topo_json_single_link/test_example_topojson.py b/tests/topotests/example-topojson-test/test_topo_json_single_link/test_example_topojson.py index 592174bae5..315c7b3f2d 100755 --- a/tests/topotests/example-topojson-test/test_topo_json_single_link/test_example_topojson.py +++ b/tests/topotests/example-topojson-test/test_topo_json_single_link/test_example_topojson.py @@ -43,7 +43,7 @@ from mininet.topo import Topo # Import topoJson from lib, to create topology and initial configuration from lib.common_config import ( - start_topology, stop_topology, write_test_header, + start_topology, write_test_header, write_test_footer, verify_rib ) from lib.topolog import logger @@ -134,7 +134,7 @@ def teardown_module(mod): tgen = get_topogen() # Stop toplogy and Remove tmp files - stop_topology(tgen) + tgen.stop_topology() def test_bgp_convergence(request): diff --git a/tests/topotests/example-topojson-test/test_topo_json_single_link_loopback/test_example_topojson.py b/tests/topotests/example-topojson-test/test_topo_json_single_link_loopback/test_example_topojson.py index c5ff7c80eb..b794b96a63 100755 --- a/tests/topotests/example-topojson-test/test_topo_json_single_link_loopback/test_example_topojson.py +++ b/tests/topotests/example-topojson-test/test_topo_json_single_link_loopback/test_example_topojson.py @@ -45,7 +45,7 @@ from mininet.topo import Topo # Import topoJson from lib, to create topology and initial configuration from lib.common_config import ( - start_topology, stop_topology, write_test_header, + start_topology, write_test_header, write_test_footer, verify_rib ) from lib.topolog import logger @@ -139,7 +139,7 @@ def teardown_module(mod): tgen = get_topogen() # Stop toplogy and Remove tmp files - stop_topology(tgen) + tgen.stop_topology() def test_bgp_convergence(request): diff --git a/tests/topotests/lib/common_config.py b/tests/topotests/lib/common_config.py index df0b853dc5..0598a154dd 100644 --- a/tests/topotests/lib/common_config.py +++ b/tests/topotests/lib/common_config.py @@ -340,24 +340,25 @@ def start_topology(tgen): router_list = tgen.routers() TMPDIR = os.path.join(LOGDIR, tgen.modname) - # Deleting temporary created dir if exists - if os.path.exists("{}".format(TMPDIR)): - os.system("rm -rf {}".format(TMPDIR)) - - # Create testsuite named temporary dir to save - # tmp files - os.mkdir("{}".format(TMPDIR)) - for rname, router in router_list.iteritems(): try: os.chdir(TMPDIR) # Creating rouer named dir and empty zebra.conf bgpd.conf files # inside the current directory - os.mkdir("{}".format(rname)) - os.system("chmod -R go+rw {}".format(rname)) - os.chdir("{}/{}".format(TMPDIR, rname)) - os.system("touch zebra.conf bgpd.conf") + + if os.path.isdir('{}'.format(rname)): + os.system("rm -rf {}".format(rname)) + os.mkdir('{}'.format(rname)) + os.system('chmod -R go+rw {}'.format(rname)) + os.chdir('{}/{}'.format(TMPDIR, rname)) + os.system('touch zebra.conf bgpd.conf') + else: + os.mkdir('{}'.format(rname)) + os.system('chmod -R go+rw {}'.format(rname)) + os.chdir('{}/{}'.format(TMPDIR, rname)) + os.system('touch zebra.conf bgpd.conf') + except IOError as (errno, strerror): logger.error("I/O error({0}): {1}".format(errno, strerror)) @@ -365,37 +366,21 @@ def start_topology(tgen): # Loading empty zebra.conf file to router, to start the zebra deamon router.load_config( TopoRouter.RD_ZEBRA, - "{}/{}/zebra.conf".format(TMPDIR, rname) - # os.path.join(TMPDIR, "{}/zebra.conf".format(rname)) + '{}/{}/zebra.conf'.format(TMPDIR, rname) + # os.path.join(tmpdir, '{}/zebra.conf'.format(rname)) ) # Loading empty bgpd.conf file to router, to start the bgp deamon router.load_config( TopoRouter.RD_BGP, - "{}/{}/bgpd.conf".format(TMPDIR, rname) - # os.path.join(TMPDIR, "{}/bgpd.conf".format(rname)) + '{}/{}/bgpd.conf'.format(TMPDIR, rname) + # os.path.join(tmpdir, '{}/bgpd.conf'.format(rname)) ) - # Starting routers + # Starting routers logger.info("Starting all routers once topology is created") tgen.start_router() -def stop_topology(tgen): - """ - It will stop topology and remove temporary dirs and files. - * `tgen` : topogen object - """ - - # This function tears down the whole topology. - tgen.stop_topology() - - # Removing tmp dirs and files, once the topology is deleted - try: - os.system("rm -rf {}".format(TMPDIR)) - except IOError as (errno, strerror): - logger.error("I/O error({0}): {1}".format(errno, strerror)) - - def number_to_row(routerName): """ Returns the number for the router.