Add a test for ‘nix-env --set-flag active ...’

This commit is contained in:
Eelco Dolstra 2012-12-04 14:30:34 +01:00
parent 5ad89398d1
commit 2d5e8e267b
3 changed files with 11 additions and 3 deletions

View File

@ -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)

View File

@ -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) };
} }
} }

View File

@ -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