aboutsummaryrefslogtreecommitdiff
path: root/tests/nixos/symlink-resolvconf.nix
diff options
context:
space:
mode:
Diffstat (limited to 'tests/nixos/symlink-resolvconf.nix')
-rw-r--r--tests/nixos/symlink-resolvconf.nix28
1 files changed, 28 insertions, 0 deletions
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}')
+ '';
+}