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…
Reference in a new issue