def create_node(hostname, username = None, identity = None):
ec = DummyEC()
node = LinuxNode(ec, 1)
+
node.set("hostname", hostname)
+
if username:
node.set("username", username)
+
if identity:
node.set("identity", identity)
def skipIfNotAlive(func):
name = func.__name__
def wrapped(*args, **kwargs):
- host = args[1]
- if host != "localhost":
- user = None
+ hostname = args[1]
+ if hostname != "localhost":
+ username = None
identity = None
if len(args) >= 3:
- user = args[2]
+ username = args[2]
if len(args) >= 4:
identity = args[3]
- node, ec = create_node(host, user, identity)
+ node, ec = create_node(hostname, username, identity)
if not node.is_alive():
print "*** WARNING: Skipping test %s: Node %s is not alive\n" % (
def wrapped(*args, **kwargs):
argss = list(args)
argss.pop(0)
+
for i in xrange(len(argss)/2):
username = argss[i*2]
hostname = argss[i*2+1]
return wrapped
+def skipIfAnyNotAliveWithIdentity(func):
+ name = func.__name__
+ def wrapped(*args, **kwargs):
+ argss = list(args)
+ argss.pop(0)
+ for i in xrange(len(argss)/3):
+ username = argss[i*3]
+ hostname = argss[i*3+1]
+ identity = argss[i*3+2]
+
+ node, ec = create_node(hostname, username, identity)
+
+ if not node.is_alive():
+ print "*** WARNING: Skipping test %s: Node %s is not alive\n" % (
+ name, node.get("hostname"))
+ return
+
+ return func(*args, **kwargs)
+
+ return wrapped
+
+
def skipInteractive(func):
name = func.__name__
def wrapped(*args, **kwargs):
return func(*args, **kwargs)
return wrapped
+
+def skipIf(cond, text):
+ def wrapped(func, text):
+ name = func.__name__
+
+ def banner(*args, **kwargs):
+ sys.stderr.write("*** WARNING: Skipping test %s: `%s'\n" %
+ (name, text))
+ return None
+ return banner
+
+ return (lambda func: wrapped(func, text)) if cond else lambda func: func
+
+
+