aboutsummaryrefslogtreecommitdiff
path: root/tests/nixos
diff options
context:
space:
mode:
authorIlya K <me@0upti.me>2024-04-13 12:15:20 +0000
committerGerrit Code Review <gerrit@lix>2024-04-13 12:15:20 +0000
commit8d15e6af4b7446b8f542edfee8da035c97bdbbca (patch)
tree8aabab305442feb70569994791163b58548df334 /tests/nixos
parentded64e282240fc651a9dcbadd270096058cb0373 (diff)
parentb469c6509ba616da6df8a27e4ccb205a877c66c9 (diff)
Merge "libstore/build: just copy the magic /etc files into the sandbox" into main
Diffstat (limited to 'tests/nixos')
-rw-r--r--tests/nixos/default.nix2
-rw-r--r--tests/nixos/symlink-resolvconf.nix28
2 files changed, 30 insertions, 0 deletions
diff --git a/tests/nixos/default.nix b/tests/nixos/default.nix
index 547290188..14fc0da81 100644
--- a/tests/nixos/default.nix
+++ b/tests/nixos/default.nix
@@ -158,4 +158,6 @@ in
ca-fd-leak = runNixOSTestFor "x86_64-linux" ./ca-fd-leak;
fetch-git = runNixOSTestFor "x86_64-linux" ./fetch-git;
+
+ symlinkResolvconf = runNixOSTestFor "x86_64-linux" ./symlink-resolvconf.nix;
}
diff --git a/tests/nixos/symlink-resolvconf.nix b/tests/nixos/symlink-resolvconf.nix
new file mode 100644
index 000000000..47df27524
--- /dev/null
+++ b/tests/nixos/symlink-resolvconf.nix
@@ -0,0 +1,28 @@
+{ pkgs, ... }:
+let
+ checkResolvconfInSandbox = pkgs.runCommand "resolvconf-works-in-sandbox" {
+ # must be an FOD to have a resolv.conf in the first place
+ outputHash = "sha256-47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=";
+ outputHashAlgo = "sha256";
+ outputHashType = "flat";
+ } ''
+ cat /etc/resolv.conf
+ touch $out
+ '';
+in {
+ name = "symlink-resolvconf";
+
+ nodes.machine = {
+ # Enabling resolved makes /etc/resolv.conf a symlink to /etc/static/resolv.conf, which is itself a symlink to /run.
+ # If this works, most other things probably will too.
+ services.resolved.enable = true;
+
+ virtualisation.additionalPaths = [checkResolvconfInSandbox.drvPath];
+ };
+
+ testScript = { nodes }: ''
+ start_all()
+
+ machine.succeed('nix-build --check ${checkResolvconfInSandbox.drvPath}')
+ '';
+}