test-systemd-tmpfiles: respect $HOME in test for %h expansion

%h is a special specifier because we look at $HOME (unless running suid, but
let's say that this case does not apply to tmpfiles, since the code is
completely unready to be run suid). For all other specifiers we query the user
db and use those values directly. I'm not sure if this exception is good, but
let's just "document" status quo for now. If this is changes, it should be in
a separate PR.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2017-12-04 09:05:05 +01:00
parent df1172fe72
commit 2f813b8aae
1 changed files with 5 additions and 1 deletions

View File

@ -100,7 +100,11 @@ def test_valid_specifiers(*, user):
user = pwd.getpwuid(os.getuid())
test_content('f {} - - - - %u', '{}'.format(user.pw_name), user=user)
test_content('f {} - - - - %h', '{}'.format(user.pw_dir), user=user)
# Note that %h is the only specifier in which we look the environment,
# because we check $HOME. Should we even be doing that?
home = os.path.expanduser("~")
test_content('f {} - - - - %h', '{}'.format(home), user=user)
xdg_runtime_dir = os.getenv('XDG_RUNTIME_DIR')
if xdg_runtime_dir is not None or not user: