tests: test nix search behavior
This commit is contained in:
parent
9432f3fb7d
commit
8282c60d74
3 changed files with 69 additions and 1 deletions
|
@ -24,7 +24,8 @@ nix_tests = \
|
|||
brotli.sh \
|
||||
pure-eval.sh \
|
||||
check.sh \
|
||||
plugins.sh
|
||||
plugins.sh \
|
||||
search.sh
|
||||
# parallel.sh
|
||||
|
||||
install-tests += $(foreach x, $(nix_tests), tests/$(x))
|
||||
|
|
25
tests/search.nix
Normal file
25
tests/search.nix
Normal file
|
@ -0,0 +1,25 @@
|
|||
with import ./config.nix;
|
||||
|
||||
{
|
||||
hello = mkDerivation rec {
|
||||
name = "hello-${version}";
|
||||
version = "0.1";
|
||||
buildCommand = "touch $out";
|
||||
meta.description = "Empty file";
|
||||
};
|
||||
foo = mkDerivation rec {
|
||||
name = "foo-5";
|
||||
buildCommand = ''
|
||||
mkdir -p $out
|
||||
echo ${name} > $out/${name}
|
||||
'';
|
||||
};
|
||||
bar = mkDerivation rec {
|
||||
name = "bar-3";
|
||||
buildCommand = ''
|
||||
echo "Does not build successfully"
|
||||
exit 1
|
||||
'';
|
||||
meta.description = "broken bar";
|
||||
};
|
||||
}
|
42
tests/search.sh
Normal file
42
tests/search.sh
Normal file
|
@ -0,0 +1,42 @@
|
|||
source common.sh
|
||||
|
||||
clearStore
|
||||
clearCache
|
||||
|
||||
# No packages
|
||||
(( $(NIX_PATH= nix search -u|wc -l) == 0 ))
|
||||
|
||||
# Haven't updated cache, still nothing
|
||||
(( $(nix search -f search.nix hello|wc -l) == 0 ))
|
||||
(( $(nix search -f search.nix |wc -l) == 0 ))
|
||||
|
||||
# Update cache, search should work
|
||||
(( $(nix search -f search.nix -u hello|wc -l) > 0 ))
|
||||
|
||||
# Use cache
|
||||
(( $(nix search -f search.nix foo|wc -l) > 0 ))
|
||||
(( $(nix search foo|wc -l) > 0 ))
|
||||
|
||||
# Test --no-cache works
|
||||
# No results from cache
|
||||
(( $(nix search --no-cache foo |wc -l) == 0 ))
|
||||
# Does find results from file pointed at
|
||||
(( $(nix search -f search.nix --no-cache foo |wc -l) > 0 ))
|
||||
|
||||
# Check descriptions are searched
|
||||
(( $(nix search broken | wc -l) > 0 ))
|
||||
|
||||
# Check search that matches nothing
|
||||
(( $(nix search nosuchpackageexists | wc -l) == 0 ))
|
||||
|
||||
|
||||
## Search expressions
|
||||
|
||||
# Check that empty search string matches all
|
||||
EMPTY=$(nix search)
|
||||
BOL=$(nix search "^")
|
||||
ALL=$(nix search ".*")
|
||||
|
||||
diff <(printf "%s" $EMPTY) <(printf "%s" $BOL)
|
||||
# "ALL" highlights differently, not sure preferred behavior
|
||||
# diff <(printf "%s" $EMPTY) <(printf "%s" $ALL)
|
Loading…
Reference in a new issue