core/pkgs/build-support/trivial-builders/test/writeClosure-union.nix
2024-06-30 09:12:46 +01:00

25 lines
646 B
Nix

{
lib,
runCommandLocal,
# Test targets
writeClosure,
samples,
}:
runCommandLocal "test-trivial-builders-writeClosure-union"
{
__structuredAttrs = true;
closures = lib.mapAttrs (n: v: writeClosure [ v ]) samples;
collectiveClosure = writeClosure (lib.attrValues samples);
inherit samples;
meta.maintainers = with lib.maintainers; [ ShamrockLee ];
}
''
set -eu -o pipefail
echo >&2 Testing mixed closures...
echo >&2 Checking all samples "(''${samples[*]})" "$collectiveClosure"
diff -U3 \
<(sort <"$collectiveClosure") \
<(cat "''${closures[@]}" | sort | uniq)
touch "$out"
''