mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-22 05:33:23 +00:00
46 lines
1.1 KiB
Nix
46 lines
1.1 KiB
Nix
{ linkFarm, hello, writeTextFile, runCommand }:
|
|
let
|
|
foo = writeTextFile {
|
|
name = "foo";
|
|
text = "foo";
|
|
};
|
|
|
|
linkFarmFromList = linkFarm "linkFarmFromList" [
|
|
{ name = "foo"; path = foo; }
|
|
{ name = "hello"; path = hello; }
|
|
];
|
|
|
|
linkFarmWithRepeats = linkFarm "linkFarmWithRepeats" [
|
|
{ name = "foo"; path = foo; }
|
|
{ name = "hello"; path = hello; }
|
|
{ name = "foo"; path = hello; }
|
|
];
|
|
|
|
linkFarmFromAttrs = linkFarm "linkFarmFromAttrs" {
|
|
inherit foo hello;
|
|
};
|
|
in
|
|
runCommand "test-linkFarm" { } ''
|
|
function assertPathEquals() {
|
|
local a b;
|
|
a="$(realpath "$1")"
|
|
b="$(realpath "$2")"
|
|
if [ "$a" != "$b" ]; then
|
|
echo "path mismatch!"
|
|
echo "a: $1 -> $a"
|
|
echo "b: $2 -> $b"
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
assertPathEquals "${linkFarmFromList}/foo" "${foo}"
|
|
assertPathEquals "${linkFarmFromList}/hello" "${hello}"
|
|
|
|
assertPathEquals "${linkFarmWithRepeats}/foo" "${hello}"
|
|
assertPathEquals "${linkFarmWithRepeats}/hello" "${hello}"
|
|
|
|
assertPathEquals "${linkFarmFromAttrs}/foo" "${foo}"
|
|
assertPathEquals "${linkFarmFromAttrs}/hello" "${hello}"
|
|
touch $out
|
|
''
|