Add 'third_party/nix/' from commit 'be66c7a6b24e3c3c6157fd37b86c7203d14acf10'
git-subtree-dir: third_party/nix
git-subtree-mainline: cf8cd640c1
git-subtree-split: be66c7a6b24e3c3c6157fd37b86c7203d14acf10
			
			
This commit is contained in:
		
						commit
						7994fd1d54
					
				
					 737 changed files with 105390 additions and 0 deletions
				
			
		
							
								
								
									
										68
									
								
								third_party/nix/tests/multiple-outputs.nix
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										68
									
								
								third_party/nix/tests/multiple-outputs.nix
									
										
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,68 @@ | |||
| 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 "first" > $first/file | ||||
|         echo "second" > $second/file | ||||
|         ln -s $first $second/link | ||||
|       ''; | ||||
|     helloString = "Hello, world!"; | ||||
|   }; | ||||
| 
 | ||||
|   b = mkDerivation { | ||||
|     defaultOutput = assert a.second.helloString == "Hello, world!"; a; | ||||
|     firstOutput = assert a.outputName == "first"; a.first.first; | ||||
|     secondOutput = assert a.second.outputName == "second"; 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)" = "first" | ||||
|         test "$(cat $secondOutput/file)" = "second" | ||||
|         echo "success" > $out/file | ||||
|       ''; | ||||
|   }; | ||||
| 
 | ||||
|   c = mkDerivation { | ||||
|     name = "multiple-outputs-c"; | ||||
|     drv = b.drvPath; | ||||
|     builder = builtins.toFile "builder.sh" | ||||
|       '' | ||||
|         mkdir $out | ||||
|         ln -s $drv $out/drv | ||||
|       ''; | ||||
|   }; | ||||
| 
 | ||||
|   d = mkDerivation { | ||||
|     name = "multiple-outputs-d"; | ||||
|     drv = builtins.unsafeDiscardOutputDependency b.drvPath; | ||||
|     builder = builtins.toFile "builder.sh" | ||||
|       '' | ||||
|         mkdir $out | ||||
|         echo $drv > $out/drv | ||||
|       ''; | ||||
|   }; | ||||
| 
 | ||||
|   cyclic = (mkDerivation { | ||||
|     name = "cyclic-outputs"; | ||||
|     outputs = [ "a" "b" "c" ]; | ||||
|     builder = builtins.toFile "builder.sh" | ||||
|       '' | ||||
|         mkdir $a $b $c | ||||
|         echo $a > $b/foo | ||||
|         echo $b > $c/bar | ||||
|         echo $c > $a/baz | ||||
|       ''; | ||||
|   }).a; | ||||
| 
 | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue