diff options
author | Shea Levy <shea@shealevy.com> | 2018-03-14T00·43-0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-03-14T00·43-0600 |
commit | 56f2ed00813f49e2834076787f98438a976eebb1 (patch) | |
tree | ea268ddc8d183563ea03d1b9f209f48efbbe5998 /tests | |
parent | 7afdc8d4a100d26cd09f7d63c0fe915b4d6a53c9 (diff) | |
parent | c577186f5916c90193368492f1c4180a1386febc (diff) |
Merge pull request #1906 from dtzWill/fix/nix-search
nix search: tests and fix #1893 and part of #1892
Diffstat (limited to 'tests')
-rw-r--r-- | tests/local.mk | 3 | ||||
-rw-r--r-- | tests/search.nix | 25 | ||||
-rw-r--r-- | tests/search.sh | 38 |
3 files changed, 65 insertions, 1 deletions
diff --git a/tests/local.mk b/tests/local.mk index ec7ebfb0dedc..9df0adf1bfd8 100644 --- a/tests/local.mk +++ b/tests/local.mk @@ -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)) diff --git a/tests/search.nix b/tests/search.nix new file mode 100644 index 000000000000..fea6e7a7a647 --- /dev/null +++ b/tests/search.nix @@ -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"; + }; +} diff --git a/tests/search.sh b/tests/search.sh new file mode 100644 index 000000000000..d83427247d3e --- /dev/null +++ b/tests/search.sh @@ -0,0 +1,38 @@ +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 +nix search|grep -q foo +nix search|grep -q bar +nix search|grep -q hello |