mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-06-05 21:03:40 +00:00
Adds a NixOS test for the package check phase, because they depend on ACLs and users, which are not available in the sandbox.
34 lines
955 B
Nix
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
|
|
'';
|
|
})
|
|
)
|