Functional Test for builtins.storeDir and builtins.currentSystem

These were under-tested. This tests the status quo and especially
previous commit of this PR better.
This commit is contained in:
John Ericson 2023-12-14 19:47:10 -05:00
parent bcbdb09ccf
commit 70f50cbb2a
2 changed files with 36 additions and 0 deletions

View File

@ -0,0 +1,35 @@
source common.sh
export REMOTE_STORE="dummy://"
simpleTest () {
local expr=$1; shift
local result=$1; shift
# rest, extra args
[[ "$(nix eval --impure --raw "$@" --expr "$expr")" == "$result" ]]
}
# `builtins.storeDir`
## Store dir follows `store` store setting
simpleTest 'builtins.storeDir' '/foo' --store "$REMOTE_STORE?store=/foo"
simpleTest 'builtins.storeDir' '/bar' --store "$REMOTE_STORE?store=/bar"
# `builtins.currentSystem`
## `system` alone affects by default
simpleTest 'builtins.currentSystem' 'foo' --system 'foo'
simpleTest 'builtins.currentSystem' 'bar' --system 'bar'
## `system` affects if `eval-system` is an empty string
simpleTest 'builtins.currentSystem' 'foo' --system 'foo' --eval-system ''
simpleTest 'builtins.currentSystem' 'bar' --system 'bar' --eval-system ''
## `eval-system` alone affects
simpleTest 'builtins.currentSystem' 'foo' --eval-system 'foo'
simpleTest 'builtins.currentSystem' 'bar' --eval-system 'bar'
## `eval-system` overrides `system`
simpleTest 'builtins.currentSystem' 'bar' --system 'foo' --eval-system 'bar'
simpleTest 'builtins.currentSystem' 'baz' --system 'foo' --eval-system 'baz'

View File

@ -71,6 +71,7 @@ nix_tests = \
build-remote-trustless-should-fail-0.sh \ build-remote-trustless-should-fail-0.sh \
build-remote-with-mounted-ssh-ng.sh \ build-remote-with-mounted-ssh-ng.sh \
nar-access.sh \ nar-access.sh \
impure-eval.sh \
pure-eval.sh \ pure-eval.sh \
eval.sh \ eval.sh \
repl.sh \ repl.sh \