<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Oct 21, 2024 at 9:49 AM Luca Vizzarro <<a href="mailto:luca.vizzarro@arm.com">luca.vizzarro@arm.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
+<br>
+    @abstractmethod<br>
+    def remove_remote_file(self, remote_file_path: str | PurePath, force: bool = True) -> None:<br>
+        """Remove remote file, by default remove forcefully.<br>
+<br>
+        Args:<br>
+            remote_file_path: The file path to remove.<br>
+            force: If :data:`True`, ignore all warnings and try to remove at all costs.<br>
+        """<br></blockquote><div><br></div><div><div>This is outside of the scope of this patch, but I figured I would comment that we should use this to clean the dpdk-devbind.py file when we re-add that functionality. I'm glad this method is added. :)</div></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
+<br>
     @abstractmethod<br>
     def remove_remote_dir(<br>
         self,<br>
@@ -213,11 +302,34 @@ def remove_remote_dir(<br>
         """Remove remote directory, by default remove recursively and forcefully.<br>
<br>
         Args:<br>
-            remote_dir_path: The path of the directory to remove.<br>
+            remote_dir_path: The directory path to remove.<br>
             recursive: If :data:`True`, also remove all contents inside the directory.<br>
             force: If :data:`True`, ignore all warnings and try to remove at all costs.<br>
         """<br>
<br>
+    @abstractmethod<br>
+    def create_remote_tarball(<br>
+        self,<br>
+        remote_dir_path: str | PurePath,<br>
+        compress_format: TarCompressionFormat = TarCompressionFormat.none,<br>
+        exclude: str | list[str] | None = None,<br>
+    ) -> PurePosixPath:<br></blockquote><div><br></div><div>Does this have to be a PurePosixPath instead of a PurePath? I know adding Windows support for DTS seems far out, but we should not add in barriers to that now without good reason (though if there is a strong practical reason why we want to do this now, then okay). I believe we will have a PurePosixPath return in testbed_model/posix_session.py and a PureWindowsPath return in testbed_model/windows_session.py (when it exists).</div><div><br></div><div>Otherwise, I know we discussed this at the DTS call on Thurs, but thanks for remaining .gz .xz agnostic.</div><div><br></div><div>Reviewed-by: Patrick Robb <<a href="mailto:probb@iol.unh.edu">probb@iol.unh.edu</a>></div></div></div>