nixos/tests/virtualbox: Fix @shell@ expansion
This has surfaced since f803270b7e
.
The commit bumped bash to version 4.4, which caused to change the order
of --subst-var flags in substituteAll, which this test was relying on,
because it added a @shell@ to boot.initrd.postMountCommands.
Our substituter is currently working a bit like this:
original.replace('@var1@', 'val1').replace('@var2@', 'val2')...
Unfortunately, this means that if @var2@ occurs within @var1@ it is
replaced by the new value, so the order of the substvars actually
matter. I highly doubt that we want a behaviour like this and I'm
wondering why it didn't occur to me as a problem while writing the
initial implementation of the VirtualBox tests.
Whether to get rid of this and disallowing substitution of substvars
within substvars is another topic which I think needs discussion in a
different place.
As for now, I'm using stdenv.shell, because the closure size of this
should fit within the initrd, so it's fine especially because it's just
a test.
Tested with the net-hostonlyif and systemd-detect-virt tests and they
both succeed with this change.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Reported-by: @globin on IRC
This commit is contained in:
parent
c46600d47b
commit
ee39d4b98a
|
@ -65,7 +65,7 @@ let
|
|||
touch /mnt-root/boot-done
|
||||
hostname "${vmName}"
|
||||
mkdir -p /nix/store
|
||||
unshare -m "@shell@" -c '
|
||||
unshare -m ${escapeShellArg pkgs.stdenv.shell} -c '
|
||||
mount -t vboxsf nixstore /nix/store
|
||||
exec "$stage2Init"
|
||||
'
|
||||
|
|
Loading…
Reference in New Issue