Add a test for ‘nix-env --set-flag active ...’
This commit is contained in:
		
							parent
							
								
									5ad89398d1
								
							
						
					
					
						commit
						2d5e8e267b
					
				
					 3 changed files with 11 additions and 3 deletions
				
			
		|  | @ -13,7 +13,7 @@ derivation { | ||||||
|   # !!! grmbl, need structured data for passing this in a clean way. |   # !!! grmbl, need structured data for passing this in a clean way. | ||||||
|   derivations = |   derivations = | ||||||
|     map (d: |     map (d: | ||||||
|       [ (if d.meta.active or true then "1" else "0") |       [ (d.meta.active or "true") | ||||||
|         (d.meta.priority or 5) |         (d.meta.priority or 5) | ||||||
|         (builtins.length d.outputs) |         (builtins.length d.outputs) | ||||||
|       ] ++ map (output: builtins.getAttr output d) d.outputs) |       ] ++ map (output: builtins.getAttr output d) d.outputs) | ||||||
|  |  | ||||||
|  | @ -134,7 +134,7 @@ while (scalar @derivations) { | ||||||
|     for (my $n = 0; $n < $outputs; $n++) { |     for (my $n = 0; $n < $outputs; $n++) { | ||||||
|         my $path = shift @derivations; |         my $path = shift @derivations; | ||||||
|         $pkgs{$path} = |         $pkgs{$path} = | ||||||
|             { active => int($active) |             { active => $active ne "false" | ||||||
|             , priority => int($priority) }; |             , priority => int($priority) }; | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -22,6 +22,14 @@ test "$(nix-env -p $profiles/test -q '*' | wc -l)" -eq 1 | ||||||
| nix-env -p $profiles/test -q '*' | grep -q foo-1.0 | nix-env -p $profiles/test -q '*' | grep -q foo-1.0 | ||||||
| test "$($profiles/test/bin/foo)" = "foo-1.0" | test "$($profiles/test/bin/foo)" = "foo-1.0" | ||||||
| 
 | 
 | ||||||
|  | # Disable foo. | ||||||
|  | nix-env -p $profiles/test --set-flag active false foo | ||||||
|  | ! [ -e "$profiles/test/bin/foo" ] | ||||||
|  | 
 | ||||||
|  | # Enable foo. | ||||||
|  | nix-env -p $profiles/test --set-flag active true foo | ||||||
|  | [ -e "$profiles/test/bin/foo" ] | ||||||
|  | 
 | ||||||
| # Store the path of foo-1.0. | # Store the path of foo-1.0. | ||||||
| outPath10=$(nix-env -p $profiles/test -q --out-path --no-name '*' | grep foo-1.0) | outPath10=$(nix-env -p $profiles/test -q --out-path --no-name '*' | grep foo-1.0) | ||||||
| echo "foo-1.0 = $outPath10" | echo "foo-1.0 = $outPath10" | ||||||
|  | @ -67,7 +75,7 @@ if nix-env -p $profiles/test -q '*' | grep -q bar; then false; fi | ||||||
| 
 | 
 | ||||||
| # Count generations. | # Count generations. | ||||||
| nix-env -p $profiles/test --list-generations | nix-env -p $profiles/test --list-generations | ||||||
| test "$(nix-env -p $profiles/test --list-generations | wc -l)" -eq 5 | test "$(nix-env -p $profiles/test --list-generations | wc -l)" -eq 7 | ||||||
| 
 | 
 | ||||||
| # Install foo-1.0, now using its store path. | # Install foo-1.0, now using its store path. | ||||||
| echo $outPath10 | echo $outPath10 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue