forked from lix-project/lix
5716345adf
This requires adding `nix` to its own closure which is a bit unfortunate, but as it is optional (the test will be disabled if `OUTER_NIX` is unset) it shouldn't be too much of an issue. (Ideally this should go in another derivation so that we can build Nix and run the test independently, but as the tests are running in the same derivation as the build it's a bit complicated to do so).
36 lines
806 B
Bash
36 lines
806 B
Bash
source common.sh
|
|
|
|
clearStore
|
|
|
|
# Ensure "fake ssh" remote store works just as legacy fake ssh would.
|
|
nix --store ssh-ng://localhost?remote-store=$TEST_ROOT/other-store doctor
|
|
|
|
startDaemon
|
|
|
|
# Test import-from-derivation through the daemon.
|
|
[[ $(nix eval --impure --raw --expr '
|
|
with import ./config.nix;
|
|
import (
|
|
mkDerivation {
|
|
name = "foo";
|
|
bla = import ./dependencies.nix;
|
|
buildCommand = "
|
|
echo \\\"hi\\\" > $out
|
|
";
|
|
}
|
|
)
|
|
') = hi ]]
|
|
|
|
storeCleared=1 NIX_REMOTE_=$NIX_REMOTE $SHELL ./user-envs.sh
|
|
|
|
nix-store --gc --max-freed 1K
|
|
|
|
nix-store --dump-db > $TEST_ROOT/d1
|
|
NIX_REMOTE= nix-store --dump-db > $TEST_ROOT/d2
|
|
cmp $TEST_ROOT/d1 $TEST_ROOT/d2
|
|
|
|
killDaemon
|
|
|
|
user=$(whoami)
|
|
[ -e $NIX_STATE_DIR/gcroots/per-user/$user ]
|
|
[ -e $NIX_STATE_DIR/profiles/per-user/$user ]
|