diff options
author | Eelco Dolstra <edolstra@gmail.com> | 2022-03-07 19:47:45 +0100 |
---|---|---|
committer | Eelco Dolstra <edolstra@gmail.com> | 2022-03-07 19:47:45 +0100 |
commit | 30ddd37873a7ce0e6a8c884e03c6ebc52ea816a6 (patch) | |
tree | 28bd8f3fe7ef3d17d5cb38a9c0c64ac1b81891d0 /tests | |
parent | 60a68a4fee05f0dd510afcd393463e847e3c4488 (diff) | |
parent | dcf4f77fac8bc214afd4851b367ce386f0a34658 (diff) |
Merge branch 'cli-suggestions' of https://github.com/thufschmitt/nix
Diffstat (limited to 'tests')
-rw-r--r-- | tests/local.mk | 5 | ||||
-rw-r--r-- | tests/suggestions.sh | 36 |
2 files changed, 39 insertions, 2 deletions
diff --git a/tests/local.mk b/tests/local.mk index c3a6aa1fc..8032fc38a 100644 --- a/tests/local.mk +++ b/tests/local.mk @@ -92,8 +92,9 @@ nix_tests = \ bash-profile.sh \ pass-as-file.sh \ describe-stores.sh \ - store-ping.sh \ - nix-profile.sh + nix-profile.sh \ + suggestions.sh \ + store-ping.sh ifeq ($(HAVE_LIBCPUID), 1) nix_tests += compute-levels.sh diff --git a/tests/suggestions.sh b/tests/suggestions.sh new file mode 100644 index 000000000..16a5a7004 --- /dev/null +++ b/tests/suggestions.sh @@ -0,0 +1,36 @@ +source common.sh + +clearStore + +cd "$TEST_HOME" + +cat <<EOF > flake.nix +{ + outputs = a: { + packages.$system = { + foo = 1; + fo1 = 1; + fo2 = 1; + fooo = 1; + foooo = 1; + fooooo = 1; + fooooo1 = 1; + fooooo2 = 1; + fooooo3 = 1; + fooooo4 = 1; + fooooo5 = 1; + fooooo6 = 1; + }; + }; +} +EOF + +# Probable typo in the requested attribute path. Suggest some close possibilities +NIX_BUILD_STDERR_WITH_SUGGESTIONS=$(! nix build .\#fob 2>&1 1>/dev/null) +[[ "$NIX_BUILD_STDERR_WITH_SUGGESTIONS" =~ "Did you mean one of fo1, fo2, foo or fooo?" ]] || \ + fail "The nix build stderr should suggest the three closest possiblities" + +# None of the possible attributes is close to `bar`, so shouldn’t suggest anything +NIX_BUILD_STDERR_WITH_NO_CLOSE_SUGGESTION=$(! nix build .\#bar 2>&1 1>/dev/null) +[[ ! "$NIX_BUILD_STDERR_WITH_NO_CLOSE_SUGGESTION" =~ "Did you mean" ]] || \ + fail "The nix build stderr shouldn’t suggest anything if there’s nothing relevant to suggest" |