Fix #123 [NS3] Upload a local ns-3 sources tar
[nepi.git] / src / nepi / resources / linux / application.py
index 4e9cce7..a1a9f97 100644 (file)
@@ -227,10 +227,13 @@ class LinuxApplication(ResourceManager):
         """
         return self.get("forwardX11") or self._in_foreground
 
+    def trace_filepath(self, filename):
+        return os.path.join(self.run_home, filename)
+
     def trace(self, name, attr = TraceAttr.ALL, block = 512, offset = 0):
         self.info("Retrieving '%s' trace %s " % (name, attr))
 
-        path = os.path.join(self.run_home, name)
+        path = self.trace_filepath(name)
         
         command = "(test -f %s && echo 'success') || echo 'error'" % path
         (out, err), proc = self.node.execute(command)
@@ -355,11 +358,14 @@ class LinuxApplication(ResourceManager):
                     stdout = "deploy_stdout", 
                     stderr = "deploy_stderr")
 
-    def upload_sources(self):
+    def upload_sources(self, src_dir = None):
         sources = self.get("sources")
    
         command = ""
 
+        if not src_dir:
+            src_dir = self.node.src_dir
+
         if sources:
             self.info("Uploading sources ")
 
@@ -376,15 +382,16 @@ class LinuxApplication(ResourceManager):
 
                     command.append( " ( " 
                             # Check if the source already exists
-                            " ls ${SRC}/%(basename)s "
+                            " ls %(src_dir)s/%(basename)s "
                             " || ( "
                             # If source doesn't exist, download it and check
                             # that it it downloaded ok
-                            "   wget -c --directory-prefix=${SRC} %(source)s && "
-                            "   ls ${SRC}/%(basename)s "
+                            "   wget -c --directory-prefix=%(src_dir)s %(source)s && "
+                            "   ls %(src_dir)s/%(basename)s "
                             " ) ) " % {
                                 "basename": os.path.basename(source),
-                                "source": source
+                                "source": source,
+                                "src_dir": src_dir
                                 })
 
             command = " && ".join(command)
@@ -394,7 +401,7 @@ class LinuxApplication(ResourceManager):
        
             if sources:
                 sources = ' '.join(sources)
-                self.node.upload(sources, self.node.src_dir, overwrite = False)
+                self.node.upload(sources, src_dir, overwrite = False)
 
         return command