nixosTests.attr: init

Runs the upstream test suite for attr.

See also the comment in nixos/tests/attr.nix for why it's part of the
NixOS tests.
This commit is contained in:
Alexander Bantyev
2026-01-16 12:51:11 +01:00
parent 7fab2dfb39
commit 972ea3d8b7
3 changed files with 32 additions and 0 deletions

View File

@@ -249,6 +249,7 @@ in
atd = runTest ./atd.nix;
atop = import ./atop.nix { inherit pkgs runTest; };
atticd = runTest ./atticd.nix;
attr = pkgs.callPackage ./attr.nix { };
atuin = runTest ./atuin.nix;
audiobookshelf = runTest ./audiobookshelf.nix;
audit = runTest ./audit.nix;

28
nixos/tests/attr.nix Normal file
View File

@@ -0,0 +1,28 @@
# The reason this lives in nixos/tests is because `attr` is a bootstrap package,
# and it's very non-trivial to use `vmTools` in its passthru.
#
# The reason we need vmTools in the first place is because we don't allow
# extended attributes in the sandbox.
{
lib,
vmTools,
attr,
perl,
}:
vmTools.runInLinuxVM (
attr.overrideAttrs (oa: {
nativeCheckInputs = [ perl ];
preCheck = "patchShebangs test";
# FIXME(balsoft): half of the test suite is skipped because the hacky test
# harness doesn't know that we're root even though we are (it's looking for
# /etc/group, which we don't have). Probably best to submit a fix upstream
# rather than patch it ourselves.
doCheck = true;
memSize = 4096;
meta = oa.meta // {
maintainers = oa.meta.maintainers or [ ] ++ [ lib.maintainers.balsoft ];
};
})
)

View File

@@ -37,6 +37,9 @@ stdenv.mkDerivation rec {
done
'';
# See nixos/tests/attr.nix
doCheck = false;
meta = {
homepage = "https://savannah.nongnu.org/projects/attr/";
description = "Library and tools for manipulating extended attributes";