tests: test nix search behavior
This commit is contained in:
parent
9432f3fb7d
commit
8282c60d74
|
@ -24,7 +24,8 @@ nix_tests = \
|
||||||
brotli.sh \
|
brotli.sh \
|
||||||
pure-eval.sh \
|
pure-eval.sh \
|
||||||
check.sh \
|
check.sh \
|
||||||
plugins.sh
|
plugins.sh \
|
||||||
|
search.sh
|
||||||
# parallel.sh
|
# parallel.sh
|
||||||
|
|
||||||
install-tests += $(foreach x, $(nix_tests), tests/$(x))
|
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