fix: hide host paths in probe logs and errors

MAME logs the folder above the content's ("Parent path"), which no
place named, and a pack probe kept core_probe's traceback with the
checkout spelled out. The first is written <content>/.., the second
<repo>, <dest> and <work>, replaced before the error is cut.
This commit is contained in:
Abdessamad Derraz committed 2026-11-11 14:40:17 +01:00
1 parent 0b36d77071
commit 9d37c46bb3
3 files changed
+29 -2

No files matched your search

+5 -1
View File
@@ -965,7 +965,11 @@ def run_once(args: argparse.Namespace, system_dir: Path, scratch: Path, state_ou
result["exit"] = exit_description(proc.returncode)
places = [(str(system_dir.resolve()), "<system>"), (str(save_dir.resolve()), "<save>")]
if args.content:
places.append((str(Path(args.content).resolve().parent), "<content>"))
folder = Path(args.content).resolve().parent
# MAME prints the folder above the content's too ("Parent path").
places.append((str(folder), "<content>"))
if folder.parent != folder.parent.parent:
places.append((str(folder.parent), "<content>/.."))
places.append((str(ROOT), "<repo>"))
for line in result.get("logs", []):
line["text"] = host_paths_hidden(line["text"], places)
+7 -1
View File
@@ -508,7 +508,13 @@ def core_probe(argv: list[str], staged: set[str], layout: Layout, work: Path) ->
record = json.loads(proc.stdout)
except ValueError:
record = None
return proc.returncode, record, proc.stderr.strip()[-1500:]
# A traceback spells the checkout and the scratch folders: a record read
# on another machine names them by role.
places = [(str(work), "<work>"), (str(layout.root), "<dest>"), (str(ROOT), "<repo>")]
error = proc.stderr.strip()
for prefix, name in sorted(places, key=lambda place: -len(place[0])):
error = error.replace(prefix, name)
return proc.returncode, record, error[-1500:]
def probe_argv(core: dict, choice: CoreChoice, content: campaign.Content, load: Path,