Skip to content

Commit 7d1b09e

Browse files
committed
add --keeptb option to keep testbed after test
Signed-off-by: Guohan Lu <[email protected]>
1 parent 6ee779c commit 7d1b09e

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

tests/conftest.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ def ensure_system(cmd):
2121
def pytest_addoption(parser):
2222
parser.addoption("--dvsname", action="store", default=None,
2323
help="dvs name")
24+
parser.addoption("--keeptb", action="store_true", default=False,
25+
help="keep testbed after test")
2426

2527
class AsicDbValidator(object):
2628
def __init__(self, dvs):
@@ -127,7 +129,7 @@ def runcmd_async(self, cmd):
127129
return subprocess.Popen("ip netns exec %s %s" % (self.nsname, cmd), shell=True)
128130

129131
class DockerVirtualSwitch(object):
130-
def __init__(self, name=None):
132+
def __init__(self, name=None, keeptb=False):
131133
self.basicd = ['redis-server',
132134
'rsyslogd']
133135
self.swssd = ['orchagent',
@@ -147,7 +149,10 @@ def __init__(self, name=None):
147149
self.client = docker.from_env()
148150

149151
self.ctn = None
150-
self.cleanup = True
152+
if keeptb:
153+
self.cleanup = False
154+
else:
155+
self.cleanup = True
151156
if name != None:
152157
# get virtual switch container
153158
for ctn in self.client.containers.list():
@@ -556,7 +561,8 @@ def setReadOnlyAttr(self, obj, attr, val):
556561
@pytest.yield_fixture(scope="module")
557562
def dvs(request):
558563
name = request.config.getoption("--dvsname")
559-
dvs = DockerVirtualSwitch(name)
564+
keeptb = request.config.getoption("--keeptb")
565+
dvs = DockerVirtualSwitch(name, keeptb)
560566
yield dvs
561567
if name == None:
562568
dvs.get_logs(request.module.__name__)

0 commit comments

Comments
 (0)