]> xenbits.xensource.com Git - people/iwj/osstest.git/commitdiff
TestSupport: Provide target_getfile_root_stash
authorIan Jackson <ian.jackson@eu.citrix.com>
Fri, 30 Nov 2018 16:44:36 +0000 (16:44 +0000)
committerIan Jackson <ian.jackson@eu.citrix.com>
Wed, 10 Apr 2019 14:14:15 +0000 (15:14 +0100)
This convenient function selects a local filename based on a target
filename, and copies the target file to the selected stash file.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Osstest/TestSupport.pm

index a5870e4d748ec2c7df4385cfe0507cf6e47d857d..ec867e4f36d4c22df2b8d956b9b99c0547df1be9 100644 (file)
@@ -61,6 +61,7 @@ BEGIN {
                       target_cmd_inputfh_root sshuho
                       target_getfile target_getfile_root
                       target_putfile target_putfile_root
+                     target_getfile_root_stash
                       target_putfilecontents_stash
                      target_putfilecontents_root_stash
                       target_put_guest_image target_editfile
@@ -553,6 +554,14 @@ sub target_getfile_root ($$$$) {
     my ($ho,$timeout, $rsrc,$ldst) = @_;
     tgetfileex('root', @_);
 }
+sub target_getfile_root_stash ($$$;$) {
+    my ($ho,$timeout,$rsrc, $lleaf) = @_; # => full path of local file
+    target_somefile_leaf(\$lleaf, $rsrc, $ho);
+    open_unique_stashfile(\$lleaf); # discard filehandle, leave file
+    my $lfile = "$stash/$lleaf";
+    target_getfile_root($ho,$timeout,$rsrc,$lfile);
+    return $lfile;
+}
 
 sub tputfileex {
     my ($ruser, $ho,$timeout, $lsrc,$rdst, $rsync) = @_;