From 7ecf6b245113ada9d1c572b059e61db2b61e23cd Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Tue, 30 Nov 2010 11:55:32 +1100 Subject: wintest Add a function to shut down all the managed VMs at the start This helps ensure that old virtual machines don't interfer with a new test run. Andrew Bartlett --- wintest/test-s4-howto.py | 9 +++++++++ wintest/wintest.py | 8 ++++++++ 2 files changed, 17 insertions(+) (limited to 'wintest') diff --git a/wintest/test-s4-howto.py b/wintest/test-s4-howto.py index 48634da7bb..800f22eb5d 100755 --- a/wintest/test-s4-howto.py +++ b/wintest/test-s4-howto.py @@ -63,6 +63,13 @@ def start_s4(t): '--option', 'panic action=gnome-terminal -e "gdb --pid %PID%"']) t.port_wait("${INTERFACE_IP}", 139) +def stop_vms(t): + '''Shut down any existing alive VMs, so they don't collide with what we are doing''' + t.info('Shutting down any of our VMs already running') + vms = t.get_vms() + for v in vms: + t.vm_poweroff(v, checkfail=False) + def test_smbclient(t): '''test smbclient''' t.info('Testing smbclient') @@ -717,6 +724,8 @@ def test_howto(t): if not t.skip("starts4"): start_s4(t) + if not t.skip("stop_vms"): + stop_vms(t) if not t.skip("smbclient"): test_smbclient(t) if not t.skip("startbind"): diff --git a/wintest/wintest.py b/wintest/wintest.py index e295c52f9f..dce2ac874a 100644 --- a/wintest/wintest.py +++ b/wintest/wintest.py @@ -518,3 +518,11 @@ class wintest(): self.vm_reset("${WIN_VM}") self.info("retrying reboot (retries=%u)" % retries) raise RuntimeError(self.substitute("VM ${WIN_VM} failed to reboot")) + + def get_vms(self): + '''return a dictionary of all the configured VM names''' + ret = [] + for v in self.vars: + if v[-3:] == "_VM": + ret.append(self.vars[v]) + return ret -- cgit