lix-releng-staging/tests/multiple-outputs.nix

36 lines
930 B
Nix
Raw Normal View History

with import ./config.nix;
rec {
a = mkDerivation {
name = "multiple-outputs-a";
outputs = [ "first" "second" ];
builder = builtins.toFile "builder.sh"
''
mkdir $first $second
test -z $all
echo "second" > $first/file
echo "first" > $second/file
'';
helloString = "Hello, world!";
};
b = mkDerivation {
defaultOutput = assert a.second.helloString == "Hello, world!"; a;
firstOutput = a.first.first;
secondOutput = a.second.first.first.second.second.first.second;
allOutputs = a.all;
name = "multiple-outputs-b";
builder = builtins.toFile "builder.sh"
''
mkdir $out
test "$firstOutput $secondOutput" = "$allOutputs"
test "$defaultOutput" = "$firstOutput"
test "$(cat $firstOutput/file)" = "second"
test "$(cat $secondOutput/file)" = "first"
echo "success" > $out/file
'';
};
}