about summary refs log blame commit diff
path: root/tests/multiple-outputs.nix
blob: a4cf0caea476c3579ff878afcd35895307a8394d (plain) (tree)
1
2
3
4
5
6
7

                         
     



                                   






                                          


                                  















                                                                      
 
 
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
      '';
  };

}