|
|
@@ -1,10 +1,14 @@
|
|
|
import os
|
|
|
import subprocess
|
|
|
+import sys
|
|
|
import time
|
|
|
|
|
|
+import pytest
|
|
|
+
|
|
|
from ...constants import * # NOQA
|
|
|
from . import cmd, generate_archiver_tests, RK_ENCRYPTION
|
|
|
from ...helpers import CommandError
|
|
|
+from ...platformflags import is_haiku
|
|
|
|
|
|
pytest_generate_tests = lambda metafunc: generate_archiver_tests(metafunc, kinds="local,remote,binary") # NOQA
|
|
|
|
|
|
@@ -15,10 +19,15 @@ def test_break_lock(archivers, request):
|
|
|
cmd(archiver, "break-lock")
|
|
|
|
|
|
|
|
|
+@pytest.mark.skipif(is_haiku, reason="does not find borg python module on Haiku OS")
|
|
|
def test_with_lock(tmp_path):
|
|
|
repo_path = tmp_path / "repo"
|
|
|
env = os.environ.copy()
|
|
|
env["BORG_REPO"] = "file://" + str(repo_path)
|
|
|
+ # test debug output:
|
|
|
+ print("sys.path: %r" % sys.path)
|
|
|
+ print("PYTHONPATH: %s" % env.get("PYTHONPATH", ""))
|
|
|
+ print("PATH: %s" % env.get("PATH", ""))
|
|
|
command0 = "python3", "-m", "borg", "repo-create", "--encryption=none"
|
|
|
# Timings must be adjusted so that command1 keeps running while command2 tries to get the lock,
|
|
|
# so that lock acquisition for command2 fails as the test expects it.
|
|
|
@@ -28,11 +37,6 @@ def test_with_lock(tmp_path):
|
|
|
command2 = "python3", "-c", 'print("second command - should never get executed")'
|
|
|
borgwl = "python3", "-m", "borg", "with-lock", f"--lock-wait={lock_wait}"
|
|
|
popen_options = dict(stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, env=env)
|
|
|
- import sys
|
|
|
-
|
|
|
- print("sys.path: %r" % sys.path)
|
|
|
- print("PYTHONPATH: %s" % env.get("PYTHONPATH", ""))
|
|
|
- print("PATH: %s" % env.get("PATH", ""))
|
|
|
subprocess.run(command0, env=env, check=True, text=True, capture_output=True)
|
|
|
assert repo_path.exists()
|
|
|
with subprocess.Popen([*borgwl, *command1], **popen_options) as p1:
|