Added Linux Application
[nepi.git] / test / resources / linux / test_utils.py
1 from neco.resources.linux.node import LinuxNode
2
3 import os
4
5 class DummyEC(object):
6     @property
7     def exp_id(self):
8         return "nepi-1"
9
10 def create_node(hostname, username):
11     ec = DummyEC()
12     node = LinuxNode(ec, 1)
13     node.set("hostname", hostname)
14     node.set("username", username)
15
16     # If we don't return the reference to the EC
17     # it will be released by the garbage collector since 
18     # the resources only save a weak refernce to it.
19     return node, ec
20
21 def skipIfNotAlive(func):
22     name = func.__name__
23     def wrapped(*args, **kwargs):
24         node, ec = create_node(args[1], args[2])
25
26         if not node.is_alive():
27             print "*** WARNING: Skipping test %s: Node %s is not alive\n" % (
28                 name, node.get("hostname"))
29             return
30
31         return func(*args, **kwargs)
32     
33     return wrapped
34
35 def skipInteractive(func):
36     name = func.__name__
37     def wrapped(*args, **kwargs):
38         mode = os.environ.get("NEPI_INTERACTIVE", False) in ['True', 'true', 'yes', 'YES']
39         if not mode:
40             print "*** WARNING: Skipping test %s: Interactive mode off \n" % name
41             return
42
43         return func(*args, **kwargs)
44     
45     return wrapped
46
47