From: Alina Quereilhac <alina.quereilhac@inria.fr>
Date: Tue, 13 Nov 2012 15:12:14 +0000 (+0100)
Subject: Adding download file test to resources/linux/node.py
X-Git-Tag: nepi-3.0.0~122^2~33
X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=a75b42f050a59cfb382ba56286c811a272d8032d;p=nepi.git

Adding download file test to resources/linux/node.py
---

diff --git a/test/resources/linux/node.py b/test/resources/linux/node.py
index 85123780..d3d94704 100755
--- a/test/resources/linux/node.py
+++ b/test/resources/linux/node.py
@@ -5,6 +5,7 @@ from neco.util.sshfuncs import RUNNING, FINISHED
 
 import os.path
 import time
+import tempfile
 import unittest
 
 
@@ -34,7 +35,7 @@ class LinuxBoxTestCase(unittest.TestCase):
 
         return node
 
-    def t_xterm(self, node, target):
+    def t_xterm(self, node):
         if not node.is_alive():
             print "*** WARNING: Skipping test: Node %s is not alive\n" % (node.host)
             return 
@@ -85,7 +86,7 @@ class LinuxBoxTestCase(unittest.TestCase):
 
         node.rmdir(self.home)
 
-    def t_install(self, node, target):
+    def t_install(self, node):
         if not node.is_alive():
             print "*** WARNING: Skipping test: Node %s is not alive\n" % (node.host)
             return
@@ -101,22 +102,43 @@ main (void)
     return 0;
 }
 """
+        # upload the test program
         dst = os.path.join(self.home, "hello.c")
         node.upload(prog, dst)
 
+        # install gcc
         node.install('gcc')
 
+        # compile the program using gcc
         command = "cd %s; gcc -Wall hello.c -o hello" % self.home
         out = node.execute(command)
 
+        # execute the program and get the output from stout
         command = "%s/hello" % self.home
         out = node.execute(command)
 
+        # execute the program and get the output from a file
+        command = "%s/hello > %s/hello.out" % (self.home, self.home)
+        node.execute(command)
+
+        # retrieve the output file 
+        src = os.path.join(self.home, "hello.out")
+        f = tempfile.NamedTemporaryFile(delete=False)
+        dst = f.name
+        node.download(src, dst)
+        f.close()
+
         node.uninstall('gcc')
         node.rmdir(self.home)
 
         self.assertEquals(out, "Hello, world!\n")
 
+        f = open(dst, "r")
+        out = f.read()
+        f.close()
+        
+        self.assertEquals(out, "Hello, world!\n")
+
     def test_execute_fedora(self):
         self.t_execute(self.node_fedora, self.target)
 
@@ -130,19 +152,19 @@ main (void)
         self.t_run(self.node_ubuntu, self.target)
 
     def test_intall_fedora(self):
-        self.t_install(self.node_fedora, self.target)
+        self.t_install(self.node_fedora)
 
     def test_install_ubuntu(self):
-        self.t_install(self.node_ubuntu, self.target)
+        self.t_install(self.node_ubuntu)
 
     def xtest_xterm_fedora(self):
         """ PlanetLab doesn't currently support X11 forwarding.
         Interactive test. Should not run automatically """
-        self.t_xterm(self.node_fedora, self.target)
+        self.t_xterm(self.node_fedora)
 
     def xtest_xterm_ubuntu(self):
         """ Interactive test. Should not run automatically """
-        self.t_xterm(self.node_ubuntu, self.target)
+        self.t_xterm(self.node_ubuntu)
 
 
 if __name__ == '__main__':