#!/usr/bin/env python
-from neco.execution.ec import ExperimentController
-from neco.execution.resource import ResourceState, ResourceAction
-from neco.execution.trace import TraceAttr
-from neco.resources.linux.node import LinuxNode
-from neco.resources.linux.application import LinuxApplication
+from nepi.execution.ec import ExperimentController
+from nepi.execution.resource import ResourceState, ResourceAction
+from nepi.execution.trace import TraceAttr
+from nepi.resources.linux.node import LinuxNode
+from nepi.resources.linux.application import LinuxApplication
from test_utils import skipIfNotAlive
@skipIfNotAlive
def t_stdout(self, host, user):
- from neco.execution.resource import ResourceFactory
+ from nepi.execution.resource import ResourceFactory
ResourceFactory.register_type(LinuxNode)
ResourceFactory.register_type(LinuxApplication)
@skipIfNotAlive
def t_ping(self, host, user):
- from neco.execution.resource import ResourceFactory
+ from nepi.execution.resource import ResourceFactory
ResourceFactory.register_type(LinuxNode)
ResourceFactory.register_type(LinuxApplication)
@skipIfNotAlive
def t_concurrency(self, host, user):
- from neco.execution.resource import ResourceFactory
+ from nepi.execution.resource import ResourceFactory
ResourceFactory.register_type(LinuxNode)
ResourceFactory.register_type(LinuxApplication)
@skipIfNotAlive
def t_condition(self, host, user, depends):
- from neco.execution.resource import ResourceFactory
+ from nepi.execution.resource import ResourceFactory
ResourceFactory.register_type(LinuxNode)
ResourceFactory.register_type(LinuxApplication)
ec.shutdown()
+ @skipIfNotAlive
+ def t_http_sources(self, host, user):
+ from nepi.execution.resource import ResourceFactory
+
+ ResourceFactory.register_type(LinuxNode)
+ ResourceFactory.register_type(LinuxApplication)
+
+ ec = ExperimentController()
+
+ node = ec.register_resource("LinuxNode")
+ ec.set(node, "hostname", host)
+ ec.set(node, "username", user)
+ ec.set(node, "cleanHome", True)
+ ec.set(node, "cleanProcesses", True)
+
+ sources = "http://nepi.inria.fr/attachment/wiki/WikiStart/pybindgen-r794.tar.gz " \
+ "http://nepi.inria.fr/attachment/wiki/WikiStart/nepi_integration_framework.pdf"
+
+ app = ec.register_resource("LinuxApplication")
+ ec.set(app, "sources", sources)
+
+ ec.register_connection(app, node)
+
+ ec.deploy()
+
+ ec.wait_finished([app])
+
+ self.assertTrue(ec.state(node) == ResourceState.STARTED)
+ self.assertTrue(ec.state(app) == ResourceState.FINISHED)
+
+ err = ec.trace(app, 'http_sources_err')
+ self.assertTrue(err == "")
+
+ out = ec.trace(app, 'http_sources_out')
+ self.assertTrue(out.find("pybindgen-r794.tar.gz") > -1)
+ self.assertTrue(out.find("nepi_integration_framework.pdf") > -1)
+
+ ec.shutdown()
+
def test_stdout_fedora(self):
self.t_stdout(self.fedora_host, self.fedora_user)
def test_condition_ubuntu(self):
self.t_condition(self.ubuntu_host, self.ubuntu_user, "netcat")
+ def test_http_sources_fedora(self):
+ self.t_http_sources(self.fedora_host, self.fedora_user)
+
+ def test_http_sources_ubuntu(self):
+ self.t_http_sources(self.ubuntu_host, self.ubuntu_user)
+
+
# TODO: test compilation, sources, dependencies, etc!!!
if __name__ == '__main__':