41 lines
845 B
Nix
41 lines
845 B
Nix
|
{ writeScriptBin, assertEq, it, runTestsuite, getBins }:
|
|||
|
|
|||
|
let
|
|||
|
drv = writeScriptBin "hello" "it’s me";
|
|||
|
drv2 = writeScriptBin "goodbye" "tschau";
|
|||
|
|
|||
|
bins = getBins drv [
|
|||
|
"hello"
|
|||
|
{ use = "hello"; as = "also-hello"; }
|
|||
|
]
|
|||
|
// getBins drv2 [ "goodbye" ]
|
|||
|
;
|
|||
|
|
|||
|
simple = it "path is equal to the executable name" [
|
|||
|
(assertEq "path"
|
|||
|
bins.hello
|
|||
|
"${drv}/bin/hello")
|
|||
|
(assertEq "content"
|
|||
|
(builtins.readFile bins.hello)
|
|||
|
"it’s me")
|
|||
|
];
|
|||
|
|
|||
|
useAs = it "use/as can be used to rename attributes" [
|
|||
|
(assertEq "path"
|
|||
|
bins.also-hello
|
|||
|
"${drv}/bin/hello")
|
|||
|
];
|
|||
|
|
|||
|
secondDrv = it "by merging attrsets you can build up bins" [
|
|||
|
(assertEq "path"
|
|||
|
bins.goodbye
|
|||
|
"${drv2}/bin/goodbye")
|
|||
|
];
|
|||
|
|
|||
|
in
|
|||
|
runTestsuite "getBins" [
|
|||
|
simple
|
|||
|
useAs
|
|||
|
secondDrv
|
|||
|
]
|