mirror of
https://github.com/borgbackup/borg.git
synced 2024-12-25 01:06:50 +00:00
testsuite: archiver: fix test_create_paths_from_command on Windows
On Windows, `echo` is a shell builtin and can only output one line at a time. A batch file that outputs the filenames is instead used as the command.
This commit is contained in:
parent
9e9b94615e
commit
e97a966b46
1 changed files with 12 additions and 1 deletions
|
@ -243,9 +243,20 @@ def test_create_paths_from_command(self):
|
|||
self.create_regular_file("file4", size=1024 * 80)
|
||||
|
||||
input_data = "input/file1\ninput/file2\ninput/file3"
|
||||
if is_win32:
|
||||
with open("filenames.cmd", "w") as script:
|
||||
for filename in input_data.splitlines():
|
||||
script.write(f"@echo {filename}\n")
|
||||
self.cmd(
|
||||
f"--repo={self.repository_location}", "create", "--paths-from-command", "test", "--", "echo", input_data
|
||||
f"--repo={self.repository_location}",
|
||||
"create",
|
||||
"--paths-from-command",
|
||||
"test",
|
||||
"--",
|
||||
"filenames.cmd" if is_win32 else "echo",
|
||||
input_data,
|
||||
)
|
||||
|
||||
archive_list = self.cmd(f"--repo={self.repository_location}", "list", "test", "--json-lines")
|
||||
paths = [json.loads(line)["path"] for line in archive_list.split("\n") if line]
|
||||
assert paths == ["input/file1", "input/file2", "input/file3"]
|
||||
|
|
Loading…
Reference in a new issue