mirror of https://github.com/borgbackup/borg.git
cleanup create_cmd
This commit is contained in:
parent
b2d8210e5d
commit
73c178d628
|
@ -56,20 +56,25 @@ def test_basic_functionality(archivers, request):
|
|||
pytest.skip("test_basic_functionality seems incompatible with fakeroot and/or the binary.")
|
||||
repo_location, input_path = archiver.repository_location, archiver.input_path
|
||||
have_root = create_test_files(input_path)
|
||||
|
||||
# fork required to test show-rc output
|
||||
output = cmd(
|
||||
archiver, f"--repo={repo_location}", "rcreate", RK_ENCRYPTION, "--show-version", "--show-rc", fork=True
|
||||
)
|
||||
assert "borgbackup version" in output
|
||||
assert "terminating with success status, rc 0" in output
|
||||
|
||||
cmd(archiver, f"--repo={repo_location}", "create", "--exclude-nodump", "test", "input")
|
||||
output = cmd(archiver, f"--repo={repo_location}", "create", "--exclude-nodump", "--stats", "test.2", "input")
|
||||
assert "Archive name: test.2" in output
|
||||
|
||||
with changedir("output"):
|
||||
cmd(archiver, f"--repo={repo_location}", "extract", "test")
|
||||
|
||||
list_output = cmd(archiver, f"--repo={repo_location}", "rlist", "--short")
|
||||
assert "test" in list_output
|
||||
assert "test.2" in list_output
|
||||
|
||||
expected = [
|
||||
"input",
|
||||
"input/bdev",
|
||||
|
@ -94,10 +99,12 @@ def test_basic_functionality(archivers, request):
|
|||
# remove the file we did not back up, so input and output become equal
|
||||
expected.remove("input/flagfile") # this file is UF_NODUMP
|
||||
os.remove(os.path.join("input", "flagfile"))
|
||||
|
||||
list_output = cmd(archiver, f"--repo={repo_location}", "list", "test", "--short")
|
||||
for name in expected:
|
||||
assert name in list_output
|
||||
assert_dirs_equal("input", "output/input")
|
||||
|
||||
info_output = cmd(archiver, f"--repo={repo_location}", "info", "-a", "test")
|
||||
item_count = 5 if has_lchflags else 6 # one file is UF_NODUMP
|
||||
assert "Number of files: %d" % item_count in info_output
|
||||
|
@ -121,6 +128,7 @@ def test_basic_functionality(archivers, request):
|
|||
def test_archived_paths(archivers, request):
|
||||
archiver = request.getfixturevalue(archivers)
|
||||
repo_location = archiver.repository_location
|
||||
|
||||
# As borg comes from the POSIX (Linux, UNIX) world, a lot of stuff assumes path separators
|
||||
# to be slashes "/", e.g.: in archived items, for pattern matching.
|
||||
# To make our lives easier and to support cross-platform extraction we always use slashes.
|
||||
|
@ -138,9 +146,11 @@ def test_archived_paths(archivers, request):
|
|||
# "input" directory is recursed into, "input/test" is discovered and joined by borg's recursion.
|
||||
# posix_path was directly given as a cli argument and should end up as archive_path in the borg archive.
|
||||
expected_paths = sorted(["input", "input/test", archived_path])
|
||||
|
||||
# check path in archived items:
|
||||
archive_list = cmd(archiver, f"--repo={repo_location}", "list", "test", "--short")
|
||||
assert expected_paths == sorted([path for path in archive_list.splitlines() if path])
|
||||
|
||||
# check path in archived items (json):
|
||||
archive_list = cmd(archiver, f"--repo={repo_location}", "list", "test", "--json-lines")
|
||||
assert expected_paths == sorted([json.loads(line)["path"] for line in archive_list.splitlines() if line])
|
||||
|
@ -175,7 +185,7 @@ def test_unix_socket(archivers, request, monkeypatch):
|
|||
|
||||
cmd(archiver, f"--repo={repo_location}", "rcreate", RK_ENCRYPTION)
|
||||
try:
|
||||
with tempfile.TemporaryDirectory(prefix="input") as temp_dir:
|
||||
with tempfile.TemporaryDirectory() as temp_dir:
|
||||
sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
|
||||
sock.bind(os.path.join(temp_dir, "unix-socket"))
|
||||
except PermissionError as err:
|
||||
|
@ -187,13 +197,12 @@ def test_unix_socket(archivers, request, monkeypatch):
|
|||
sock.close()
|
||||
with changedir("output"):
|
||||
cmd(archiver, f"--repo={repo_location}", "extract", "test")
|
||||
assert not os.path.exists("input/unix-socket")
|
||||
print(f"{temp_dir}/unix-socket")
|
||||
assert not os.path.exists(f"{temp_dir}/unix-socket")
|
||||
|
||||
|
||||
@pytest.mark.skipif(not is_utime_fully_supported(), reason="cannot properly setup and execute test without utime")
|
||||
@pytest.mark.skipif(
|
||||
not is_birthtime_fully_supported(), reason="cannot properly setup and execute test without birth time"
|
||||
)
|
||||
@pytest.mark.skipif(not is_utime_fully_supported(), reason="cannot setup and execute test without utime")
|
||||
@pytest.mark.skipif(not is_birthtime_fully_supported(), reason="cannot setup and execute test without birth time")
|
||||
def test_nobirthtime(archivers, request):
|
||||
archiver = request.getfixturevalue(archivers)
|
||||
repo_location, input_path = archiver.repository_location, archiver.input_path
|
||||
|
@ -201,6 +210,7 @@ def test_nobirthtime(archivers, request):
|
|||
birthtime, mtime, atime = 946598400, 946684800, 946771200
|
||||
os.utime("input/file1", (atime, birthtime))
|
||||
os.utime("input/file1", (atime, mtime))
|
||||
|
||||
cmd(archiver, f"--repo={repo_location}", "rcreate", RK_ENCRYPTION)
|
||||
cmd(archiver, f"--repo={repo_location}", "create", "test", "input", "--nobirthtime")
|
||||
with changedir("output"):
|
||||
|
|
Loading…
Reference in New Issue