mirror of
https://gitlab.nic.cz/labs/bird.git
synced 2024-12-22 17:51:53 +00:00
Flock tests: Adding necessary cleanup routines
This commit is contained in:
parent
d84d2d64cd
commit
db8d849756
@ -83,8 +83,9 @@ async def main():
|
|||||||
]))
|
]))
|
||||||
|
|
||||||
await asyncio.sleep(5)
|
await asyncio.sleep(5)
|
||||||
|
await t.cleanup()
|
||||||
for q in (t.dest, t.src):
|
for q in (t.dest, t.src):
|
||||||
for f in ("bird", "birdc", "bird.conf", "bird.log"):
|
for f in ("bird.conf", "bird.log"):
|
||||||
(q.workdir / f).unlink()
|
(q.workdir / f).unlink()
|
||||||
|
|
||||||
await h.control_socket.send_cmd("stop", True)
|
await h.control_socket.send_cmd("stop", True)
|
||||||
|
@ -58,6 +58,10 @@ class BIRDBinDir:
|
|||||||
b.write(v)
|
b.write(v)
|
||||||
(target / bn).chmod(self.mod[bn])
|
(target / bn).chmod(self.mod[bn])
|
||||||
|
|
||||||
|
def cleanup(self, target):
|
||||||
|
for bn in self.files:
|
||||||
|
(target / bn).unlink()
|
||||||
|
|
||||||
default_bindir = BIRDBinDir.get("..")
|
default_bindir = BIRDBinDir.get("..")
|
||||||
|
|
||||||
class BIRDInstance(CLI):
|
class BIRDInstance(CLI):
|
||||||
@ -75,6 +79,9 @@ class BIRDInstance(CLI):
|
|||||||
|
|
||||||
self.bindir.copy(self.workdir)
|
self.bindir.copy(self.workdir)
|
||||||
|
|
||||||
|
async def cleanup(self):
|
||||||
|
self.bindir.cleanup(self.workdir)
|
||||||
|
|
||||||
class Test:
|
class Test:
|
||||||
ipv6_prefix = ipaddress.ip_network("2001:db8::/32")
|
ipv6_prefix = ipaddress.ip_network("2001:db8::/32")
|
||||||
ipv4_prefix = ipaddress.ip_network("192.0.2.0/24")
|
ipv4_prefix = ipaddress.ip_network("192.0.2.0/24")
|
||||||
@ -87,6 +94,7 @@ class Test:
|
|||||||
def __init__(self, name):
|
def __init__(self, name):
|
||||||
self.name = name
|
self.name = name
|
||||||
self.hypervisor = Hypervisor(name)
|
self.hypervisor = Hypervisor(name)
|
||||||
|
self.machine_index = {}
|
||||||
self._started = asyncio.Future()
|
self._started = asyncio.Future()
|
||||||
self._starting = False
|
self._starting = False
|
||||||
|
|
||||||
@ -111,12 +119,16 @@ class Test:
|
|||||||
return await self.hypervisor.control_socket.send_cmd_early(*args)
|
return await self.hypervisor.control_socket.send_cmd_early(*args)
|
||||||
|
|
||||||
async def machines(self, *names, t: type):
|
async def machines(self, *names, t: type):
|
||||||
|
for n in names:
|
||||||
|
if n in self.machine_index:
|
||||||
|
raise Exception(f"Machine {n} duplicate")
|
||||||
|
|
||||||
info = await asyncio.gather(*[
|
info = await asyncio.gather(*[
|
||||||
self.hcom("machine", name, { "type": "minimalist" })
|
self.hcom("machine", name, { "type": "minimalist" })
|
||||||
for name in names
|
for name in names
|
||||||
])
|
])
|
||||||
|
|
||||||
return [
|
inst = [
|
||||||
t(mach=Machine.new(
|
t(mach=Machine.new(
|
||||||
name=n,
|
name=n,
|
||||||
hypervisor=self.hypervisor,
|
hypervisor=self.hypervisor,
|
||||||
@ -124,6 +136,11 @@ class Test:
|
|||||||
)) for n,i in zip(names, info)
|
)) for n,i in zip(names, info)
|
||||||
]
|
]
|
||||||
|
|
||||||
|
for n,i in zip(names, inst):
|
||||||
|
self.machine_index[n] = i
|
||||||
|
|
||||||
|
return inst
|
||||||
|
|
||||||
async def link(self, name, *machines):
|
async def link(self, name, *machines):
|
||||||
match len(machines):
|
match len(machines):
|
||||||
case 0:
|
case 0:
|
||||||
@ -144,3 +161,6 @@ class Test:
|
|||||||
|
|
||||||
case _:
|
case _:
|
||||||
raise NotImplementedError("virtual bridge")
|
raise NotImplementedError("virtual bridge")
|
||||||
|
|
||||||
|
async def cleanup(self):
|
||||||
|
await asyncio.gather(*[ v.cleanup() for v in self.machine_index.values() ])
|
||||||
|
Loading…
Reference in New Issue
Block a user