Files
nixpkgs/nixos/tests/acl.nix
Silvan Mosberger 1bb71bca9f nixos/tests/acl: init
Adds a NixOS test for the package check phase, because they depend on
ACLs and users, which are not available in the sandbox.
2025-12-09 16:00:49 +01:00

34 lines
955 B
Nix

{
vmTools,
perl,
coreutils,
acl,
}:
# Can't run this within a VM because tests require root access
# Can't easily use a standard VM test because we need to have access to intermediate build results
vmTools.runInLinuxVM (
acl.overrideAttrs (old: {
postPatch = old.postPatch or "" + ''
# The runwrapper uses LD_PRELOAD to override available user/groups
substituteInPlace Makefile.in --replace-fail \
'TEST_LOG_COMPILER = $(srcdir)/test/runwrapper' \
'TEST_LOG_COMPILER = $(srcdir)/test/run'
'';
nativeCheckInputs = old.nativeCheckInputs or [ ] ++ [
perl
# By default `ls` would come from bootstrap tools,
# which doesn't support showing ACLs, which the tests rely on
coreutils
];
preCheck = ''
cp test/test.passwd /etc/passwd
cp test/test.group /etc/group
'';
doCheck = true;
outputs = [ "out" ];
installPhase = ''
touch $out
'';
})
)