Isolate database credentials for agent tests

This commit is contained in:
2026-08-27 18:17:39 +02:00
parent 2df37b671b
commit efce42b967
8 changed files with 110 additions and 3 deletions

View File

@@ -5,6 +5,7 @@ import pwd
import shlex
import shutil
import subprocess
from collections.abc import Mapping
from dataclasses import dataclass
from pathlib import Path
from urllib.parse import urlparse
@@ -46,8 +47,9 @@ class GitWorkspace:
command: str,
check: bool = True,
username: str | None = None,
extra_environment: Mapping[str, str] | None = None,
) -> subprocess.CompletedProcess[str]:
environment = None
environment = dict(os.environ)
drop_privileges = None
if username:
account = pwd.getpwnam(username)
@@ -61,6 +63,8 @@ class GitWorkspace:
os.setgid(account.pw_gid)
os.setuid(account.pw_uid)
environment.update(extra_environment or {})
return subprocess.run(
shlex.split(command),
cwd=self.path,