2024-06-30 08:12:46 +00:00
|
|
|
{
|
|
|
|
lib,
|
|
|
|
runCommandLocal,
|
2024-05-02 00:46:19 +00:00
|
|
|
# Test targets
|
2024-06-30 08:12:46 +00:00
|
|
|
writeClosure,
|
|
|
|
samples,
|
2024-05-02 00:46:19 +00:00
|
|
|
}:
|
2024-06-30 08:12:46 +00:00
|
|
|
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"
|
|
|
|
''
|