summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md2
-rw-r--r--doc/using/overlays.chapter.md2
-rw-r--r--nixos/doc/manual/development/writing-nixos-tests.section.md6
-rw-r--r--nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml13
-rw-r--r--nixos/doc/manual/from_md/release-notes/rl-2111.section.xml17
-rw-r--r--nixos/doc/manual/release-notes/rl-2111.section.md4
-rw-r--r--nixos/tests/containers-imperative.nix2
-rw-r--r--nixos/tests/croc.nix2
-rw-r--r--nixos/tests/emacs-daemon.nix2
-rw-r--r--nixos/tests/enlightenment.nix2
-rw-r--r--nixos/tests/etesync-dav.nix2
-rw-r--r--nixos/tests/firefox.nix4
-rw-r--r--nixos/tests/ft2-clone.nix2
-rw-r--r--nixos/tests/hibernate.nix2
-rw-r--r--nixos/tests/keepassxc.nix2
-rw-r--r--nixos/tests/kexec.nix2
-rw-r--r--nixos/tests/keymap.nix2
-rw-r--r--nixos/tests/libreswan.nix6
-rw-r--r--nixos/tests/lorri/default.nix2
-rw-r--r--nixos/tests/magic-wormhole-mailbox-server.nix2
-rw-r--r--nixos/tests/minecraft.nix2
-rw-r--r--nixos/tests/mpv.nix2
-rw-r--r--nixos/tests/mumble.nix4
-rw-r--r--nixos/tests/musescore.nix2
-rw-r--r--nixos/tests/nfs/simple.nix2
-rw-r--r--nixos/tests/nginx-etag.nix2
-rw-r--r--nixos/tests/nixops/default.nix2
-rw-r--r--nixos/tests/openarena.nix4
-rw-r--r--nixos/tests/plotinus.nix2
-rw-r--r--nixos/tests/pt2-clone.nix2
-rw-r--r--nixos/tests/shattered-pixel-dungeon.nix2
-rw-r--r--nixos/tests/signal-desktop.nix2
-rw-r--r--nixos/tests/soapui.nix2
-rw-r--r--nixos/tests/tigervnc.nix6
-rw-r--r--nixos/tests/turbovnc-headless-server.nix6
-rw-r--r--nixos/tests/tuxguitar.nix2
-rw-r--r--nixos/tests/virtualbox.nix2
-rw-r--r--nixos/tests/vscodium.nix2
-rw-r--r--nixos/tests/xrdp.nix4
-rw-r--r--nixos/tests/xterm.nix2
-rw-r--r--pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix4
-rw-r--r--pkgs/applications/misc/haxor-news/default.nix1
-rw-r--r--pkgs/applications/office/jabref/default.nix2
-rw-r--r--pkgs/applications/window-managers/eww/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/rocm/llvm/default.nix2
-rw-r--r--pkgs/development/libraries/crc32c/default.nix2
-rw-r--r--pkgs/development/libraries/libplctag/default.nix4
-rw-r--r--pkgs/development/libraries/spdlog/default.nix2
-rw-r--r--pkgs/development/python-modules/mathlibtools/default.nix4
-rw-r--r--pkgs/development/python-modules/openbabel-bindings/default.nix2
-rw-r--r--pkgs/development/python-modules/pytest-sanic/default.nix1
-rw-r--r--pkgs/development/python-modules/sanic-routing/default.nix4
-rw-r--r--pkgs/development/python-modules/sanic/default.nix33
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix6
-rw-r--r--pkgs/development/tools/profiling/EZTrace/default.nix40
-rw-r--r--pkgs/development/tools/rust/cargo-deadlinks/default.nix4
-rw-r--r--pkgs/servers/dns/knot-dns/default.nix4
-rw-r--r--pkgs/tools/games/gamemode/preload-nix-workaround.patch2
-rw-r--r--pkgs/tools/networking/mcrcon/default.nix4
-rw-r--r--pkgs/tools/networking/tox-node/default.nix13
60 files changed, 165 insertions, 103 deletions
diff --git a/README.md b/README.md
index c8aef8515749..a09b7d92e3e5 100644
--- a/README.md
+++ b/README.md
@@ -53,7 +53,7 @@ system, [Hydra](https://hydra.nixos.org/).
Artifacts successfully built with Hydra are published to cache at
https://cache.nixos.org/. When successful build and test criteria are
met, the Nixpkgs expressions are distributed via [Nix
-channels](https://nixos.org/nix/manual/#sec-channels).
+channels](https://nixos.org/manual/nix/stable/package-management/channels.html).
# Contributing
diff --git a/doc/using/overlays.chapter.md b/doc/using/overlays.chapter.md
index d2e3b49a6aa9..df152bc14e7b 100644
--- a/doc/using/overlays.chapter.md
+++ b/doc/using/overlays.chapter.md
@@ -112,7 +112,7 @@ self: super:
This overlay uses Intel's MKL library for both BLAS and LAPACK interfaces. Note that the same can be accomplished at runtime using `LD_LIBRARY_PATH` of `libblas.so.3` and `liblapack.so.3`. For instance:
```ShellSession
-$ LD_LIBRARY_PATH=$(nix-build -A mkl)/lib:$LD_LIBRARY_PATH nix-shell -p octave --run octave
+$ LD_LIBRARY_PATH=$(nix-build -A mkl)/lib${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH nix-shell -p octave --run octave
```
Intel MKL requires an `openmp` implementation when running with multiple processors. By default, `mkl` will use Intel's `iomp` implementation if no other is specified, but this is a runtime-only dependency and binary compatible with the LLVM implementation. To use that one instead, Intel recommends users set it with `LD_PRELOAD`. Note that `mkl` is only available on `x86_64-linux` and `x86_64-darwin`. Moreover, Hydra is not building and distributing pre-compiled binaries using it.
diff --git a/nixos/doc/manual/development/writing-nixos-tests.section.md b/nixos/doc/manual/development/writing-nixos-tests.section.md
index bf80099f1a27..a8c54aa66762 100644
--- a/nixos/doc/manual/development/writing-nixos-tests.section.md
+++ b/nixos/doc/manual/development/writing-nixos-tests.section.md
@@ -159,6 +159,10 @@ The following methods are available on machine objects:
`execute`
: Execute a shell command, returning a list `(status, stdout)`.
+ If the command detaches, it must close stdout, as `execute` will wait
+ for this to consume all output reliably. This can be achieved by
+ redirecting stdout to stderr `>&2`, to `/dev/console`, `/dev/null` or
+ a file.
Takes an optional parameter `check_return` that defaults to `True`.
Setting this parameter to `False` will not check for the return code
and return -1 instead. This can be used for commands that shut down
@@ -179,6 +183,8 @@ The following methods are available on machine objects:
- Dereferencing unset variables fail the command.
+ - It will wait for stdout to be closed. See `execute`.
+
`fail`
: Like `succeed`, but raising an exception if the command returns a zero
diff --git a/nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml b/nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml
index a3b63422433e..e0fd90f2bac2 100644
--- a/nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml
+++ b/nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml
@@ -266,7 +266,12 @@ start_all()
<listitem>
<para>
Execute a shell command, returning a list
- <literal>(status, stdout)</literal>. Takes an optional
+ <literal>(status, stdout)</literal>. If the command detaches,
+ it must close stdout, as <literal>execute</literal> will wait
+ for this to consume all output reliably. This can be achieved
+ by redirecting stdout to stderr <literal>&gt;&amp;2</literal>,
+ to <literal>/dev/console</literal>,
+ <literal>/dev/null</literal> or a file. Takes an optional
parameter <literal>check_return</literal> that defaults to
<literal>True</literal>. Setting this parameter to
<literal>False</literal> will not check for the return code
@@ -306,6 +311,12 @@ start_all()
Dereferencing unset variables fail the command.
</para>
</listitem>
+ <listitem>
+ <para>
+ It will wait for stdout to be closed. See
+ <literal>execute</literal>.
+ </para>
+ </listitem>
</itemizedlist>
</listitem>
</varlistentry>
diff --git a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
index 743384f2ffc3..741d238f6bf8 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
@@ -425,6 +425,23 @@
<itemizedlist>
<listitem>
<para>
+ The NixOS VM test framework,
+ <literal>pkgs.nixosTest</literal>/<literal>make-test-python.nix</literal>,
+ now requires non-terminating commands such as
+ <literal>succeed(&quot;foo &amp;&quot;)</literal> to close
+ stdout. This can be done with a redirect such as
+ <literal>succeed(&quot;foo &gt;&amp;2 &amp;&quot;)</literal>.
+ This breaking change was necessitated by a race condition
+ causing tests to fail or hang. It applies to all methods that
+ invoke commands on the nodes, including
+ <literal>execute</literal>, <literal>succeed</literal>,
+ <literal>fail</literal>,
+ <literal>wait_until_succeeds</literal>,
+ <literal>wait_until_fails</literal>.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
The <literal>services.wakeonlan</literal> option was removed,
and replaced with
<literal>networking.interfaces.&lt;name&gt;.wakeOnLan</literal>.
diff --git a/nixos/doc/manual/release-notes/rl-2111.section.md b/nixos/doc/manual/release-notes/rl-2111.section.md
index 18e61c230c96..5bb72e16ed23 100644
--- a/nixos/doc/manual/release-notes/rl-2111.section.md
+++ b/nixos/doc/manual/release-notes/rl-2111.section.md
@@ -128,6 +128,10 @@ In addition to numerous new and upgraded packages, this release has the followin
## Backward Incompatibilities {#sec-release-21.11-incompatibilities}
+- The NixOS VM test framework, `pkgs.nixosTest`/`make-test-python.nix`, now requires non-terminating commands such as `succeed("foo &")` to close stdout.
+ This can be done with a redirect such as `succeed("foo >&2 &")`. This breaking change was necessitated by a race condition causing tests to fail or hang.
+ It applies to all methods that invoke commands on the nodes, including `execute`, `succeed`, `fail`, `wait_until_succeeds`, `wait_until_fails`.
+
- The `services.wakeonlan` option was removed, and replaced with `networking.interfaces.<name>.wakeOnLan`.
- The `security.wrappers` option now requires to always specify an owner, group and whether the setuid/setgid bit should be set.
diff --git a/nixos/tests/containers-imperative.nix b/nixos/tests/containers-imperative.nix
index 361160b1fdc2..34103ef7586b 100644
--- a/nixos/tests/containers-imperative.nix
+++ b/nixos/tests/containers-imperative.nix
@@ -119,7 +119,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
with subtest("Stop a container early"):
machine.succeed(f"nixos-container stop {id1}")
- machine.succeed(f"nixos-container start {id1} &")
+ machine.succeed(f"nixos-container start {id1} >&2 &")
machine.wait_for_console_text("Stage 2")
machine.succeed(f"nixos-container stop {id1}")
machine.wait_for_console_text(f"Container {id1} exited successfully")
diff --git a/nixos/tests/croc.nix b/nixos/tests/croc.nix
index 75a8fc991d47..5d709eb3d1cb 100644
--- a/nixos/tests/croc.nix
+++ b/nixos/tests/croc.nix
@@ -38,7 +38,7 @@ in {
sender.execute("echo Hello World > testfile01.txt")
sender.execute("echo Hello Earth > testfile02.txt")
sender.execute(
- "croc --pass ${pass} --relay relay send --code topSecret testfile01.txt testfile02.txt &"
+ "croc --pass ${pass} --relay relay send --code topSecret testfile01.txt testfile02.txt >&2 &"
)
# receive the testfiles and check them
diff --git a/nixos/tests/emacs-daemon.nix b/nixos/tests/emacs-daemon.nix
index 58bcd095990a..e12da56021da 100644
--- a/nixos/tests/emacs-daemon.nix
+++ b/nixos/tests/emacs-daemon.nix
@@ -33,7 +33,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
)
# connects to the daemon
- machine.succeed("emacsclient --create-frame $EDITOR &")
+ machine.succeed("emacsclient --create-frame $EDITOR >&2 &")
# checks that Emacs shows the edited filename
machine.wait_for_text("emacseditor")
diff --git a/nixos/tests/enlightenment.nix b/nixos/tests/enlightenment.nix
index 4623574ce92e..c5f0e208906b 100644
--- a/nixos/tests/enlightenment.nix
+++ b/nixos/tests/enlightenment.nix
@@ -88,7 +88,7 @@ import ./make-test-python.nix ({ pkgs, ...} :
machine.screenshot("wizard12")
with subtest("Run Terminology"):
- machine.succeed("terminology &")
+ machine.succeed("terminology >&2 &")
machine.sleep(5)
machine.send_chars("ls --color -alF\n")
machine.sleep(2)
diff --git a/nixos/tests/etesync-dav.nix b/nixos/tests/etesync-dav.nix
index da5c056f5349..6a747e23f76f 100644
--- a/nixos/tests/etesync-dav.nix
+++ b/nixos/tests/etesync-dav.nix
@@ -13,7 +13,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
''
machine.wait_for_unit("multi-user.target")
machine.succeed("etesync-dav --version")
- machine.execute("etesync-dav &")
+ machine.execute("etesync-dav >&2 &")
machine.wait_for_open_port(37358)
with subtest("Check that the web interface is accessible"):
assert "Add User" in machine.succeed("curl -s http://localhost:37358/.web/add/")
diff --git a/nixos/tests/firefox.nix b/nixos/tests/firefox.nix
index dcaf369b62bd..7216ad43b8e9 100644
--- a/nixos/tests/firefox.nix
+++ b/nixos/tests/firefox.nix
@@ -91,7 +91,7 @@ import ./make-test-python.nix ({ pkgs, firefoxPackage, ... }: {
with subtest("Wait until Firefox has finished loading the Valgrind docs page"):
machine.execute(
- "xterm -e 'firefox file://${pkgs.valgrind.doc}/share/doc/valgrind/html/index.html' &"
+ "xterm -e 'firefox file://${pkgs.valgrind.doc}/share/doc/valgrind/html/index.html' >&2 &"
)
machine.wait_for_window("Valgrind")
machine.sleep(40)
@@ -99,7 +99,7 @@ import ./make-test-python.nix ({ pkgs, firefoxPackage, ... }: {
with subtest("Check whether Firefox can play sound"):
with audio_recording(machine):
machine.succeed(
- "firefox file://${pkgs.sound-theme-freedesktop}/share/sounds/freedesktop/stereo/phone-incoming-call.oga &"
+ "firefox file://${pkgs.sound-theme-freedesktop}/share/sounds/freedesktop/stereo/phone-incoming-call.oga >&2 &"
)
wait_for_sound(machine)
machine.copy_from_vm("/tmp/record.wav")
diff --git a/nixos/tests/ft2-clone.nix b/nixos/tests/ft2-clone.nix
index c877054234ec..71eda43e2b24 100644
--- a/nixos/tests/ft2-clone.nix
+++ b/nixos/tests/ft2-clone.nix
@@ -22,7 +22,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
# Add a dummy sound card, or the program won't start
machine.execute("modprobe snd-dummy")
- machine.execute("ft2-clone &")
+ machine.execute("ft2-clone >&2 &")
machine.wait_for_window(r"Fasttracker")
machine.sleep(5)
diff --git a/nixos/tests/hibernate.nix b/nixos/tests/hibernate.nix
index 508e7aa64c0d..4f05b99a5a11 100644
--- a/nixos/tests/hibernate.nix
+++ b/nixos/tests/hibernate.nix
@@ -110,7 +110,7 @@ in makeTest {
)
# Hibernate machine
- hibernate.execute("systemctl hibernate &", check_return=False)
+ hibernate.execute("systemctl hibernate >&2 &", check_return=False)
hibernate.wait_for_shutdown()
# Restore machine from hibernation, validate our ramfs file is there.
diff --git a/nixos/tests/keepassxc.nix b/nixos/tests/keepassxc.nix
index 98902187f6ac..685a200b3187 100644
--- a/nixos/tests/keepassxc.nix
+++ b/nixos/tests/keepassxc.nix
@@ -26,7 +26,7 @@ import ./make-test-python.nix ({ pkgs, ...} :
machine.wait_for_x()
# start KeePassXC window
- machine.execute("su - alice -c keepassxc &")
+ machine.execute("su - alice -c keepassxc >&2 &")
machine.wait_for_text("KeePassXC ${pkgs.keepassxc.version}")
machine.screenshot("KeePassXC")
diff --git a/nixos/tests/kexec.nix b/nixos/tests/kexec.nix
index 9768d6d2108e..010f3da49846 100644
--- a/nixos/tests/kexec.nix
+++ b/nixos/tests/kexec.nix
@@ -13,7 +13,7 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : {
''
machine.wait_for_unit("multi-user.target")
machine.succeed('kexec --load /run/current-system/kernel --initrd /run/current-system/initrd --command-line "$(</proc/cmdline)"')
- machine.execute("systemctl kexec &", check_return=False)
+ machine.execute("systemctl kexec >&2 &", check_return=False)
machine.connected = False
machine.connect()
machine.wait_for_unit("multi-user.target")
diff --git a/nixos/tests/keymap.nix b/nixos/tests/keymap.nix
index a18a05f90c6d..4306a9ae2cf9 100644
--- a/nixos/tests/keymap.nix
+++ b/nixos/tests/keymap.nix
@@ -46,7 +46,7 @@ let
# set up process that expects all the keys to be entered
machine.succeed(
- "{} {} {} {} &".format(
+ "{} {} {} {} >&2 &".format(
cmd,
"${testReader}",
len(inputs),
diff --git a/nixos/tests/libreswan.nix b/nixos/tests/libreswan.nix
index 17ae60af8eed..56ab908aed9a 100644
--- a/nixos/tests/libreswan.nix
+++ b/nixos/tests/libreswan.nix
@@ -89,7 +89,7 @@ in
"""
Sends a message as Alice to Bob
"""
- bob.execute("nc -lu ::0 1234 >/tmp/msg &")
+ bob.execute("nc -lu ::0 1234 >/tmp/msg >&2 &")
alice.sleep(1)
alice.succeed(f"echo '{msg}' | nc -uw 0 bob 1234")
bob.succeed(f"grep '{msg}' /tmp/msg")
@@ -100,7 +100,7 @@ in
Starts eavesdropping on Alice and Bob
"""
match = "src host alice and dst host bob"
- eve.execute(f"tcpdump -i br0 -c 1 -Avv {match} >/tmp/log &")
+ eve.execute(f"tcpdump -i br0 -c 1 -Avv {match} >/tmp/log >&2 &")
start_all()
@@ -120,7 +120,7 @@ in
alice.succeed("ipsec verify 1>&2")
with subtest("Alice and Bob can start the tunnel"):
- alice.execute("ipsec auto --start tunnel &")
+ alice.execute("ipsec auto --start tunnel >&2 &")
bob.succeed("ipsec auto --start tunnel")
# apparently this is needed to "wake" the tunnel
bob.execute("ping -c1 alice")
diff --git a/nixos/tests/lorri/default.nix b/nixos/tests/lorri/default.nix
index c33c7503993d..147ae999fdb1 100644
--- a/nixos/tests/lorri/default.nix
+++ b/nixos/tests/lorri/default.nix
@@ -14,7 +14,7 @@ import ../make-test-python.nix {
)
# Start the daemon and wait until it is ready
- machine.execute("lorri daemon > lorri.stdout 2> lorri.stderr &")
+ machine.execute("lorri daemon > lorri.stdout 2> lorri.stderr >&2 &")
machine.wait_until_succeeds("grep --fixed-strings 'ready' lorri.stdout")
# Ping the daemon
diff --git a/nixos/tests/magic-wormhole-mailbox-server.nix b/nixos/tests/magic-wormhole-mailbox-server.nix
index afdf7124fdc5..54088ac60f28 100644
--- a/nixos/tests/magic-wormhole-mailbox-server.nix
+++ b/nixos/tests/magic-wormhole-mailbox-server.nix
@@ -29,7 +29,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
# Create a secret file and send it to Bob
client_alice.succeed("echo mysecret > secretfile")
- client_alice.succeed("wormhole --relay-url=ws://server:4000/v1 send -0 secretfile &")
+ client_alice.succeed("wormhole --relay-url=ws://server:4000/v1 send -0 secretfile >&2 &")
# Retrieve a secret file from Alice and check its content
client_bob.succeed("wormhole --relay-url=ws://server:4000/v1 receive -0 --accept-file")
diff --git a/nixos/tests/minecraft.nix b/nixos/tests/minecraft.nix
index 3225ebac392a..1c34f04b4df2 100644
--- a/nixos/tests/minecraft.nix
+++ b/nixos/tests/minecraft.nix
@@ -20,7 +20,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
let user = nodes.client.config.users.users.alice;
in ''
client.wait_for_x()
- client.execute("su - alice -c minecraft-launcher &")
+ client.execute("su - alice -c minecraft-launcher >&2 &")
client.wait_for_text("Create a new Microsoft account")
client.sleep(10)
client.screenshot("launcher")
diff --git a/nixos/tests/mpv.nix b/nixos/tests/mpv.nix
index 9e44862cb1b4..a4803f3cb5b5 100644
--- a/nixos/tests/mpv.nix
+++ b/nixos/tests/mpv.nix
@@ -21,7 +21,7 @@ in
};
testScript = ''
- machine.execute("set -m; mpv --script-opts=webui-port=${port} --idle=yes &")
+ machine.execute("set -m; mpv --script-opts=webui-port=${port} --idle=yes >&2 &")
machine.wait_for_open_port(${port})
assert "<title>simple-mpv-webui" in machine.succeed("curl -s localhost:${port}")
'';
diff --git a/nixos/tests/mumble.nix b/nixos/tests/mumble.nix
index 717f3c789288..2b5cc20163bc 100644
--- a/nixos/tests/mumble.nix
+++ b/nixos/tests/mumble.nix
@@ -38,8 +38,8 @@ in
client1.wait_for_x()
client2.wait_for_x()
- client1.execute("mumble mumble://client1:testpassword\@server/test &")
- client2.execute("mumble mumble://client2:testpassword\@server/test &")
+ client1.execute("mumble mumble://client1:testpassword\@server/test >&2 &")
+ client2.execute("mumble mumble://client2:testpassword\@server/test >&2 &")
# cancel client audio configuration
client1.wait_for_window(r"Audio Tuning Wizard")
diff --git a/nixos/tests/musescore.nix b/nixos/tests/musescore.nix
index 96481a9a8bf4..7fd80d70df12 100644
--- a/nixos/tests/musescore.nix
+++ b/nixos/tests/musescore.nix
@@ -44,7 +44,7 @@ in
)
# Start MuseScore window
- machine.execute("DISPLAY=:0.0 mscore &")
+ machine.execute("DISPLAY=:0.0 mscore >&2 &")
# Wait until MuseScore has launched
machine.wait_for_window("MuseScore")
diff --git a/nixos/tests/nfs/simple.nix b/nixos/tests/nfs/simple.nix
index 6a01089c0828..1e319a8eec81 100644
--- a/nixos/tests/nfs/simple.nix
+++ b/nixos/tests/nfs/simple.nix
@@ -66,7 +66,7 @@ in
client2.succeed("time flock -n -s /data/lock true")
with subtest("client 2 fails to acquire lock held by client 1"):
- client1.succeed("flock -x /data/lock -c 'touch locked; sleep 100000' &")
+ client1.succeed("flock -x /data/lock -c 'touch locked; sleep 100000' >&2 &")
client1.wait_for_file("locked")
client2.fail("flock -n -s /data/lock true")
diff --git a/nixos/tests/nginx-etag.nix b/nixos/tests/nginx-etag.nix
index 63ab2e0c6c27..a7bfc0d26958 100644
--- a/nixos/tests/nginx-e