# SPDX-License-Identifier: GPL-3.0-or-later """Post-install checks: dotfiles stowed for the user. Parity port of validate_dotfiles from validation.sh: .zshrc must be a symlink into the ~/.dotfiles stow tree, not broken, and readable by the user (not just root). """ import pytest @pytest.mark.attribution("archsetup") def test_zshrc_stowed_and_readable(host, target_user): zshrc = host.file("/home/%s/.zshrc" % target_user) assert zshrc.is_symlink, ".zshrc should be a stow symlink" assert ".dotfiles/" in zshrc.linked_to, "symlink should point into ~/.dotfiles" assert zshrc.exists, "symlink target must exist (not broken)" # Readable by the user, not only root. assert host.run("sudo -u %s test -r %s" % (target_user, zshrc.path)).rc == 0