mirror of
https://github.com/NixOS/nix.git
synced 2024-11-22 14:52:55 +00:00
30dcc19d1f
I think it is bad for these reasons when `tests/` contains a mix of
functional and integration tests
- Concepts is harder to understand, the documentation makes a good
unit vs functional vs integration distinction, but when the
integration tests are just two subdirs within `tests/` this is not
clear.
- Source filtering in the `flake.nix` is more complex. We need to
filter out some of the dirs from `tests/`, rather than simply pick
the dirs we want and take all of them. This is a good sign the
structure of what we are trying to do is not matching the structure
of the files.
With this change we have a clean:
```shell-session
$ git show 'HEAD:tests'
tree HEAD:tests
functional/
installer/
nixos/
```
(cherry picked from commit 68c81c7375
)
33 lines
1.3 KiB
Bash
33 lines
1.3 KiB
Bash
source common.sh
|
|
|
|
# Tests miscellaneous commands.
|
|
|
|
# Do all commands have help?
|
|
#nix-env --help | grepQuiet install
|
|
#nix-store --help | grepQuiet realise
|
|
#nix-instantiate --help | grepQuiet eval
|
|
#nix-hash --help | grepQuiet base32
|
|
|
|
# Can we ask for the version number?
|
|
nix-env --version | grep "$version"
|
|
|
|
# Usage errors.
|
|
expect 1 nix-env --foo 2>&1 | grep "no operation"
|
|
expect 1 nix-env -q --foo 2>&1 | grep "unknown flag"
|
|
|
|
# Eval Errors.
|
|
eval_arg_res=$(nix-instantiate --eval -E 'let a = {} // a; in a.foo' 2>&1 || true)
|
|
echo $eval_arg_res | grep "at «string»:1:15:"
|
|
echo $eval_arg_res | grep "infinite recursion encountered"
|
|
|
|
eval_stdin_res=$(echo 'let a = {} // a; in a.foo' | nix-instantiate --eval -E - 2>&1 || true)
|
|
echo $eval_stdin_res | grep "at «stdin»:1:15:"
|
|
echo $eval_stdin_res | grep "infinite recursion encountered"
|
|
|
|
# Attribute path errors
|
|
expectStderr 1 nix-instantiate --eval -E '{}' -A '"x' | grepQuiet "missing closing quote in selection path"
|
|
expectStderr 1 nix-instantiate --eval -E '[]' -A 'x' | grepQuiet "should be a set"
|
|
expectStderr 1 nix-instantiate --eval -E '{}' -A '1' | grepQuiet "should be a list"
|
|
expectStderr 1 nix-instantiate --eval -E '{}' -A '.' | grepQuiet "empty attribute name"
|
|
expectStderr 1 nix-instantiate --eval -E '[]' -A '1' | grepQuiet "out of range"
|