Skip to content

Commit cfa6d28

Browse files
author
vshepard
committed
Add port to scp command
1 parent 1e20cdb commit cfa6d28

File tree

2 files changed

+6
-5
lines changed

2 files changed

+6
-5
lines changed

testgres/operations/remote_ops.py

+6-3
Original file line numberDiff line numberDiff line change
@@ -283,8 +283,10 @@ def write(self, filename, data, truncate=False, binary=False, read_and_write=Fal
283283
mode = "r+b" if binary else "r+"
284284

285285
with tempfile.NamedTemporaryFile(mode=mode, delete=False) as tmp_file:
286+
scp_ssh_cmd = ['-P' if x == '-p' else x for x in self.ssh_cmd]
287+
286288
if not truncate:
287-
scp_cmd = ['scp'] + self.ssh_cmd + [f"{self.username}@{self.host}:{filename}", tmp_file.name]
289+
scp_cmd = ['scp'] + scp_ssh_cmd + [f"{self.username}@{self.host}:{filename}", tmp_file.name]
288290
subprocess.run(scp_cmd, check=False) # The file might not exist yet
289291
tmp_file.seek(0, os.SEEK_END)
290292

@@ -300,11 +302,12 @@ def write(self, filename, data, truncate=False, binary=False, read_and_write=Fal
300302
tmp_file.write(data)
301303

302304
tmp_file.flush()
303-
scp_cmd = ['scp'] + self.ssh_cmd + [tmp_file.name, f"{self.username}@{self.host}:{filename}"]
305+
# Because in scp we set up port using -P option
306+
scp_cmd = ['scp'] + scp_ssh_cmd + [tmp_file.name, f"{self.username}@{self.host}:{filename}"]
304307
subprocess.run(scp_cmd, check=True)
305308

306309
remote_directory = os.path.dirname(filename)
307-
mkdir_cmd = ['ssh'] + self.ssh_cmd + [f"{self.username}@{self.host}", f"mkdir -p {remote_directory}"]
310+
mkdir_cmd = ['ssh'] + scp_ssh_cmd + [f"{self.username}@{self.host}", f"mkdir -p {remote_directory}"]
308311
subprocess.run(mkdir_cmd, check=True)
309312

310313
os.remove(tmp_file.name)

testgres/utils.py

-2
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,6 @@ def execute_utility(args, logfile=None, verbose=False):
7474

7575
# write new log entry if possible
7676
if logfile:
77-
if not tconf.os_ops.path_exists(logfile):
78-
tconf.os_ops.touch(logfile)
7977
try:
8078
tconf.os_ops.write(filename=logfile, data=args, truncate=True)
8179
if out:

0 commit comments

Comments
 (0)