CTS: Add tests with more totem options.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2728 fd59a12c-fef9-0310-b244-a6a79926bd2f
This commit is contained in:
Angus Salkeld 2010-03-24 22:13:45 +00:00
parent b3a2952088
commit 44e7eb5ca0
2 changed files with 82 additions and 6 deletions

View File

@ -131,6 +131,7 @@ class corosync_flatiron(ClusterManager):
r"Shutting down\.",
r"Forcing shutdown\.",
r"core dump",
r"Could not bind AF_UNIX",
),
"LogFileName" : Environment["LogFileName"],
})

View File

@ -55,6 +55,19 @@ class CoroTest(CTSTest):
self.start(n)
return ret
def setup_sec_key(self, node):
localauthkey = '/tmp/authkey'
if not os.path.exists(localauthkey):
self.CM.rsh(node, 'corosync-keygen')
self.CM.rsh.cp("%s:%s" % (node, "/etc/corosync/authkey"), localauthkey)
for n in self.CM.Env["nodes"]:
if n is not node:
#copy key onto other nodes
self.CM.rsh.cp(localauthkey, "%s:%s" % (n, "/etc/corosync/authkey"))
def teardown(self, node):
self.CM.apply_default_config()
return CTSTest.teardown(self, node)
@ -311,10 +324,69 @@ class CpgMsgOrderBasic(CpgMsgOrderBase):
def __call__(self, node):
self.incr("calls")
# o > reconfigure corosync
# o > reconfigure interfaces (mtu)
# o > restart corosync
# o > set node to die after x msgs
self.num_msgs_per_node = 100
self.cpg_msg_blaster()
return self.wait_and_validate_order()
class CpgMsgOrderThreads(CpgMsgOrderBase):
'''
each sends & logs 100 messages
'''
def __init__(self, cm):
CpgMsgOrderBase.__init__(self,cm)
self.name="CpgMsgOrderThreads"
def setup(self, node):
self.CM.new_config['totem/threads'] = 4
return CpgMsgOrderBase.setup(self, node)
def __call__(self, node):
self.incr("calls")
self.num_msgs_per_node = 100
self.cpg_msg_blaster()
return self.wait_and_validate_order()
class CpgMsgOrderSecNss(CpgMsgOrderBase):
'''
each sends & logs 100 messages
'''
def __init__(self, cm):
CpgMsgOrderBase.__init__(self,cm)
self.name="CpgMsgOrderSecNss"
def setup(self, node):
self.setup_sec_key(node)
self.CM.new_config['totem/secauth'] = 'on'
self.CM.new_config['totem/crypto_accept'] = 'new'
self.CM.new_config['totem/crypto_type'] = 'nss'
return CpgMsgOrderBase.setup(self, node)
def __call__(self, node):
self.incr("calls")
self.num_msgs_per_node = 100
self.cpg_msg_blaster()
return self.wait_and_validate_order()
class CpgMsgOrderSecSober(CpgMsgOrderBase):
'''
each sends & logs 100 messages
'''
def __init__(self, cm):
CpgMsgOrderBase.__init__(self,cm)
self.name="CpgMsgOrderSecSober"
def setup(self, node):
self.setup_sec_key(node)
self.CM.new_config['totem/secauth'] = 'on'
self.CM.new_config['totem/crypto_type'] = 'sober'
return CpgMsgOrderBase.setup(self, node)
def __call__(self, node):
self.incr("calls")
self.num_msgs_per_node = 100
self.cpg_msg_blaster()
return self.wait_and_validate_order()
@ -359,14 +431,17 @@ class MemLeakSession(CoroTest):
AllTestClasses = []
AllTestClasses.append(CpgMsgOrderBasic)
AllTestClasses.append(CpgMsgOrderThreads)
AllTestClasses.append(CpgMsgOrderSecNss)
AllTestClasses.append(CpgMsgOrderSecSober)
AllTestClasses.append(MemLeakObject)
AllTestClasses.append(MemLeakSession)
AllTestClasses.append(CpgCfgChgOnExecCrash)
AllTestClasses.append(CpgCfgChgOnGroupLeave)
AllTestClasses.append(CpgCfgChgOnNodeLeave)
AllTestClasses.append(CpgCfgChgOnNodeLeave_v1)
AllTestClasses.append(CpgCfgChgOnNodeLeave_v2)
AllTestClasses.append(CpgCfgChgOnExecCrash)
AllTestClasses.append(CpgMsgOrderBasic)
AllTestClasses.append(FlipTest)
AllTestClasses.append(RestartTest)