diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/lang/eval-okay-regex-split.exp | 1 | ||||
-rw-r--r-- | tests/nix-shell.sh | 9 | ||||
-rw-r--r-- | tests/search.sh | 5 | ||||
-rw-r--r-- | tests/shell.nix | 7 | ||||
-rw-r--r-- | tests/shell.shebang.rb | 7 |
5 files changed, 29 insertions, 0 deletions
diff --git a/tests/lang/eval-okay-regex-split.exp b/tests/lang/eval-okay-regex-split.exp new file mode 100644 index 000000000000..27ba77ddaf61 --- /dev/null +++ b/tests/lang/eval-okay-regex-split.exp @@ -0,0 +1 @@ +true diff --git a/tests/nix-shell.sh b/tests/nix-shell.sh index 063e97ce2c75..d25c456cedfb 100644 --- a/tests/nix-shell.sh +++ b/tests/nix-shell.sh @@ -39,3 +39,12 @@ chmod a+rx $TEST_ROOT/shell.shebang.sh output=$($TEST_ROOT/shell.shebang.sh abc def) [ "$output" = "foo bar abc def" ] + +# Test nix-shell shebang mode for ruby +# This uses a fake interpreter that returns the arguments passed +# This, in turn, verifies the `rc` script is valid and the `load()` script (given using `-e`) is as expected. +sed -e "s|@SHELL_PROG@|$(type -p nix-shell)|" shell.shebang.rb > $TEST_ROOT/shell.shebang.rb +chmod a+rx $TEST_ROOT/shell.shebang.rb + +output=$($TEST_ROOT/shell.shebang.rb abc ruby) +[ "$output" = '-e load("'"$TEST_ROOT"'/shell.shebang.rb") -- abc ruby' ] diff --git a/tests/search.sh b/tests/search.sh index d83427247d3e..0b26a125120f 100644 --- a/tests/search.sh +++ b/tests/search.sh @@ -29,6 +29,11 @@ clearCache # Check search that matches nothing (( $(nix search nosuchpackageexists | wc -l) == 0 )) +# Search for multiple arguments +(( $(nix search hello empty | wc -l) == 5 )) + +# Multiple arguments will not exist +(( $(nix search hello broken | wc -l) == 0 )) ## Search expressions diff --git a/tests/shell.nix b/tests/shell.nix index 5845d36fc161..eb39f9039a88 100644 --- a/tests/shell.nix +++ b/tests/shell.nix @@ -45,5 +45,12 @@ let pkgs = rec { bash = shell; + # ruby "interpreter" that outputs "$@" + ruby = runCommand "ruby" {} '' + mkdir -p $out/bin + echo 'printf -- "$*"' > $out/bin/ruby + chmod a+rx $out/bin/ruby + ''; + inherit pkgs; }; in pkgs diff --git a/tests/shell.shebang.rb b/tests/shell.shebang.rb new file mode 100644 index 000000000000..ea67eb09c1c6 --- /dev/null +++ b/tests/shell.shebang.rb @@ -0,0 +1,7 @@ +#! @SHELL_PROG@ +#! ruby +#! nix-shell -I nixpkgs=shell.nix --no-substitute +#! nix-shell --pure -p ruby -i ruby + +# Contents doesn't matter. +abort("This shouldn't be executed.") |