X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=test%2Fresources%2Flinux%2Fapplication.py;h=0a76dcce28165605a3b0d8a36778ada50d86d5df;hb=6096716dbc88a1d9e6a1be8cac477006225d890e;hp=8d8fe21543a6d7f8deb3d1b8fb73d5fcb0dd34b3;hpb=c01150e19e8d2609c944222ac1534f6bbf0d2efa;p=nepi.git diff --git a/test/resources/linux/application.py b/test/resources/linux/application.py index 8d8fe215..0a76dcce 100755 --- a/test/resources/linux/application.py +++ b/test/resources/linux/application.py @@ -25,6 +25,7 @@ from nepi.execution.trace import TraceAttr from test_utils import skipIfNotAlive, skipInteractive import os +import shutil import time import tempfile import unittest @@ -35,7 +36,7 @@ class LinuxApplicationTestCase(unittest.TestCase): self.fedora_user = "inria_nepi" self.ubuntu_host = "roseval.pl.sophia.inria.fr" - self.ubuntu_user = "alina" + self.ubuntu_user = "inria_nepi" self.target = "nepi5.pl.sophia.inria.fr" @@ -238,14 +239,18 @@ main (void) ec.set(node, "cleanHome", True) ec.set(node, "cleanProcesses", True) - sources = "http://yans.pl.sophia.inria.fr/code/nef/archive/tip.tar.gz " \ - " http://yans.pl.sophia.inria.fr/code/nef/raw-file/8ace577d4079/src/nef/images/menu/connect.png" + sources = "http://yans.pl.sophia.inria.fr/code/nef/archive/tip.tar.gz;" \ + "http://yans.pl.sophia.inria.fr/code/nef/raw-file/8ace577d4079/src/nef/images/menu/connect.png" app = ec.register_resource("LinuxApplication") ec.set(app, "sources", sources) + command = "ls ${SRC}" + ec.set(app, "command", command) + ec.register_connection(app, node) + ec.deploy() ec.wait_finished([app]) @@ -260,6 +265,10 @@ main (void) self.assertTrue(out.find("tip.tar.gz") > -1) self.assertTrue(out.find("connect.png") > -1) + stdout = ec.trace(app, "stdout") + self.assertTrue(stdout.find("tip.tar.gz") > -1) + self.assertTrue(stdout.find("connect.png") > -1) + ec.shutdown() @skipIfNotAlive @@ -288,6 +297,44 @@ main (void) ec.shutdown() + @skipIfNotAlive + def t_copy_files(self, host, user): + # create some temp files and directories to copy + dirpath = tempfile.mkdtemp() + f = tempfile.NamedTemporaryFile(dir=dirpath, delete=False) + f.close() + + f1 = tempfile.NamedTemporaryFile(delete=False) + f1.close() + f1.name + + ec = ExperimentController(exp_id="test-copyfile") + + 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) + + app = ec.register_resource("LinuxApplication") + ec.set(app, "command", "ls ${SRC}") + ec.set(app, "sources", "%s;%s" % (dirpath, f1.name)) + ec.register_connection(app, node) + + ec.deploy() + + ec.wait_finished([app]) + + stdout = ec.trace(app, "stdout") + + self.assertTrue(stdout.find(os.path.basename(dirpath)) > -1) + self.assertTrue(stdout.find(os.path.basename(f1.name)) > -1) + + ec.shutdown() + + os.remove(f1.name) + shutil.rmtree(dirpath) + def test_stdout_fedora(self): self.t_stdout(self.fedora_host, self.fedora_user) @@ -329,6 +376,11 @@ main (void) """ Interactive test. Should not run automatically """ self.t_xterm(self.ubuntu_host, self.ubuntu_user) + def test_copy_files_fedora(self): + self.t_copy_files(self.fedora_host, self.fedora_user) + + def test_copy_files_ubuntu(self): + self.t_copy_files(self.ubuntu_host, self.ubuntu_user) if __name__ == '__main__': unittest.main()