mirror of
https://github.com/NixOS/nix
synced 2025-07-07 14:21:48 +02:00
tests: Add simple tests for nix-shell
nix-shell -A, -p and -i are lightly tested.
This commit is contained in:
parent
018f884ffd
commit
b501bea25f
4 changed files with 72 additions and 1 deletions
46
tests/shell.nix
Normal file
46
tests/shell.nix
Normal file
|
@ -0,0 +1,46 @@
|
|||
{ }:
|
||||
|
||||
with import ./config.nix;
|
||||
|
||||
rec {
|
||||
setupSh = builtins.toFile "setup" ''
|
||||
export VAR_FROM_STDENV_SETUP=foo
|
||||
for pkg in $buildInputs; do
|
||||
export PATH=$PATH:$pkg/bin
|
||||
done
|
||||
'';
|
||||
|
||||
stdenv = mkDerivation {
|
||||
name = "stdenv";
|
||||
buildCommand = ''
|
||||
mkdir -p $out
|
||||
ln -s ${setupSh} $out/setup
|
||||
'';
|
||||
};
|
||||
|
||||
shellDrv = mkDerivation {
|
||||
name = "shellDrv";
|
||||
builder = "/does/not/exist";
|
||||
VAR_FROM_NIX = "bar";
|
||||
inherit stdenv;
|
||||
};
|
||||
|
||||
# Used by nix-shell -p
|
||||
runCommand = name: args: buildCommand: mkDerivation (args // {
|
||||
inherit name buildCommand stdenv;
|
||||
});
|
||||
|
||||
foo = runCommand "foo" {} ''
|
||||
mkdir -p $out/bin
|
||||
echo 'echo foo' > $out/bin/foo
|
||||
chmod a+rx $out/bin/foo
|
||||
'';
|
||||
|
||||
bar = runCommand "bar" {} ''
|
||||
mkdir -p $out/bin
|
||||
echo 'echo bar' > $out/bin/bar
|
||||
chmod a+rx $out/bin/bar
|
||||
'';
|
||||
|
||||
bash = shell;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue