mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-11-28 08:36:15 +02:00
32 lines
1.4 KiB
Bash
32 lines
1.4 KiB
Bash
|
#!/usr/bin/env bash
|
||
|
|
||
|
source ./common.sh
|
||
|
|
||
|
requireGit
|
||
|
|
||
|
repoDir="$TEST_ROOT/repo"
|
||
|
createGitRepo "$repoDir"
|
||
|
createSimpleGitFlake "$repoDir"
|
||
|
|
||
|
# Check that a flakeref without a query is accepted correctly.
|
||
|
expectStderr 0 nix --offline build --dry-run "git+file://$repoDir#foo"
|
||
|
|
||
|
# Check that a flakeref with a good query is accepted correctly.
|
||
|
expectStderr 0 nix --offline build --dry-run "git+file://$repoDir?foo=bar#foo"
|
||
|
|
||
|
# Check that we get the dubious query warning, when passing in a query without an equal sign.
|
||
|
expectStderr 0 nix --offline build --dry-run "git+file://$repoDir?bar#foo" \
|
||
|
| grepQuiet "warning: dubious URI query 'bar' is missing equal sign '=', ignoring"
|
||
|
|
||
|
# Check that the anchor (#) is taken as a whole, not split, and throws an error.
|
||
|
expectStderr 1 nix --offline build --dry-run "git+file://$repoDir#foo?bar" \
|
||
|
| grepQuiet "error: flake 'git+file://$repoDir' does not provide attribute 'packages.$system.foo?bar', 'legacyPackages.$system.foo?bar' or 'foo?bar'"
|
||
|
|
||
|
# Check that a literal `?` in the query doesn't print dubious query warning.
|
||
|
expectStderr 0 nix --offline build --dry-run "git+file://$repoDir?#foo" \
|
||
|
| grepInverse "warning: dubious URI query "
|
||
|
|
||
|
# Check that a literal `?=` in the query doesn't print dubious query warning.
|
||
|
expectStderr 0 nix --offline build --dry-run "git+file://$repoDir?=#foo" \
|
||
|
| grepInverse "warning: dubious URI query "
|