Skip to content

Commit 4f7ee06

Browse files
committed
Diagnose gh action isssue
1 parent e4f5dd0 commit 4f7ee06

1 file changed

Lines changed: 18 additions & 5 deletions

File tree

tests/conftest.py

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,29 @@ def _run(cmd):
1515
"""Run a command, capturing output and raising with details on failure."""
1616
result = subprocess.run(cmd, capture_output=True, text=True)
1717
if result.returncode != 0:
18-
raise RuntimeError(
19-
f"Command {cmd!r} failed (rc={result.returncode})\n"
20-
f"stdout: {result.stdout}\nstderr: {result.stderr}"
21-
)
18+
diag = f"Command {cmd!r} failed (rc={result.returncode})\n"
19+
diag += f"stdout: {result.stdout}\nstderr: {result.stderr}\n"
20+
# Gather extra diagnostics for service failures
21+
for diag_cmd in [
22+
["sudo", "systemctl", "status", "urbackupsrv", "--no-pager"],
23+
["sudo", "journalctl", "-xeu", "urbackupsrv", "--no-pager", "-n", "100"],
24+
["ls", "-la", "/var/urbackup/"],
25+
["id", "urbackup"],
26+
]:
27+
try:
28+
d = subprocess.run(diag_cmd, capture_output=True, text=True)
29+
diag += f"\n=== {' '.join(diag_cmd)} (rc={d.returncode}) ===\n"
30+
diag += d.stdout + d.stderr
31+
except Exception as e:
32+
diag += f"\n=== {' '.join(diag_cmd)} FAILED: {e} ===\n"
33+
raise RuntimeError(diag)
2234
return result
2335

2436

2537
def _restart_clean_server():
2638
"""Stop urbackupsrv, wipe /var/urbackup/, start fresh."""
27-
_run(["sudo", "systemctl", "stop", "urbackupsrv"])
39+
subprocess.run(["sudo", "systemctl", "stop", "urbackupsrv"],
40+
capture_output=True) # ignore errors on stop
2841
_run(["sudo", "rm", "-rf", "/var/urbackup/"])
2942
_run(["sudo", "mkdir", "-p", "/var/urbackup/"])
3043
_run(["sudo", "chown", "urbackup:urbackup", "/var/urbackup/"])

0 commit comments

Comments
 (0)