summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2010-11-30 11:54:55 +1100
committerAndrew Tridgell <tridge@samba.org>2010-12-01 11:03:25 +1100
commit1079195a7652e890d6e683f4f29d0454d72141e6 (patch)
treecfab1fef091344c93bdf135e0c4c5422a24aea89
parent47e8cbe3d630bef40e2564963177e08b65102aff (diff)
downloadsamba-1079195a7652e890d6e683f4f29d0454d72141e6.tar.gz
wintest: added --vms option
this allows you to run tests associated with a specified list of VMs
-rwxr-xr-xwintest/test-s4-howto.py21
-rw-r--r--wintest/wintest.py12
2 files changed, 24 insertions, 9 deletions
diff --git a/wintest/test-s4-howto.py b/wintest/test-s4-howto.py
index 8f57553929b..185a86df426 100755
--- a/wintest/test-s4-howto.py
+++ b/wintest/test-s4-howto.py
@@ -668,30 +668,30 @@ def test_howto(t):
if not t.skip("dyndns"):
test_dyndns(t)
- if t.have_var('WINDOWS7_VM') and not t.skip("windows7"):
+ if t.have_vm('WINDOWS7') and not t.skip("windows7"):
run_winjoin(t, "WINDOWS7")
test_winjoin(t, "WINDOWS7")
- if t.have_var('WINXP_VM') and not t.skip("winxp"):
+ if t.have_vm('WINXP') and not t.skip("winxp"):
run_winjoin(t, "WINXP")
test_winjoin(t, "WINXP")
- if t.have_var('W2K8R2C_VM') and not t.skip("dcpromo_rodc"):
+ if t.have_vm('W2K8R2C') and not t.skip("dcpromo_rodc"):
t.info("Testing w2k8r2 RODC dcpromo")
run_dcpromo_rodc(t, "W2K8R2C")
test_dcpromo_rodc(t, "W2K8R2C")
- if t.have_var('W2K8R2B_VM') and not t.skip("dcpromo_w2k8r2"):
+ if t.have_vm('W2K8R2B') and not t.skip("dcpromo_w2k8r2"):
t.info("Testing w2k8r2 dcpromo")
run_dcpromo(t, "W2K8R2B")
test_dcpromo(t, "W2K8R2B")
- if t.have_var('W2K8B_VM') and not t.skip("dcpromo_w2k8"):
+ if t.have_vm('W2K8B') and not t.skip("dcpromo_w2k8"):
t.info("Testing w2k8 dcpromo")
run_dcpromo(t, "W2K8B")
test_dcpromo(t, "W2K8B")
- if t.have_var('W2K3B_VM') and not t.skip("dcpromo_w2k3"):
+ if t.have_vm('W2K3B') and not t.skip("dcpromo_w2k3"):
t.info("Testing w2k3 dcpromo")
t.info("Changing to 2003 functional level")
provision_s4(t, func_level='2003')
@@ -705,21 +705,21 @@ def test_howto(t):
run_dcpromo(t, "W2K3B")
test_dcpromo(t, "W2K3B")
- if t.have_var('W2K8R2A_VM') and not t.skip("join_w2k8r2"):
+ if t.have_vm('W2K8R2A') and not t.skip("join_w2k8r2"):
join_as_dc(t, "W2K8R2A")
create_shares(t)
start_s4(t)
test_dyndns(t)
test_join_as_dc(t, "W2K8R2A")
- if t.have_var('W2K8R2A_VM') and not t.skip("join_rodc"):
+ if t.have_vm('W2K8R2A') and not t.skip("join_rodc"):
join_as_rodc(t, "W2K8R2A")
create_shares(t)
start_s4(t)
test_dyndns(t)
test_join_as_rodc(t, "W2K8R2A")
- if t.have_var('W2K3A_VM') and not t.skip("join_w2k3"):
+ if t.have_vm('W2K3A') and not t.skip("join_w2k3"):
join_as_dc(t, "W2K3A")
create_shares(t)
start_s4(t)
@@ -741,6 +741,7 @@ if __name__ == '__main__':
parser = optparse.OptionParser("test-howto.py")
parser.add_option("--conf", type='string', default='', help='config file')
parser.add_option("--skip", type='string', default='', help='list of steps to skip (comma separated)')
+ parser.add_option("--vms", type='string', default='', help='list of VMs to use (comma separated)')
parser.add_option("--list", action='store_true', default=False, help='list the available steps')
parser.add_option("--rebase", action='store_true', default=False, help='do a git pull --rebase')
parser.add_option("--clean", action='store_true', default=False, help='clean the tree')
@@ -756,7 +757,9 @@ if __name__ == '__main__':
t = wintest.wintest()
t.load_config(opts.conf)
+
t.set_skip(opts.skip)
+ t.set_vms(opts.vms)
if opts.list:
t.list_steps_mode()
diff --git a/wintest/wintest.py b/wintest/wintest.py
index 67af51a313b..c98083f57d2 100644
--- a/wintest/wintest.py
+++ b/wintest/wintest.py
@@ -11,6 +11,7 @@ class wintest():
def __init__(self):
self.vars = {}
self.list_mode = False
+ self.vms = None
os.putenv('PYTHONUNBUFFERED', '1')
def setvar(self, varname, value):
@@ -59,6 +60,10 @@ class wintest():
'''set a list of tests to skip'''
self.skiplist = skiplist.split(',')
+ def set_vms(self, vms):
+ '''set a list of VMs to test'''
+ self.vms = vms.split(',')
+
def skip(self, step):
'''return True if we should skip a step'''
if self.list_mode:
@@ -96,6 +101,13 @@ class wintest():
'''see if a variable has been set'''
return varname in self.vars
+ def have_vm(self, vmname):
+ '''see if a VM should be used'''
+ if not self.have_var(vmname + '_VM'):
+ return False
+ if self.vms is None:
+ return True
+ return vmname in self.vms
def putenv(self, key, value):
'''putenv with substitution'''