diff options
author | Janne Heß <janne@hess.ooo> | 2023-08-20 11:05:46 +0200 |
---|---|---|
committer | Janne Heß <janne@hess.ooo> | 2023-08-21 09:07:14 +0200 |
commit | eb831f759bc2c98ef84a0a97c60e5ab0b73f309c (patch) | |
tree | 898bfbe0598458b9aca84c4ce9154a60b86bd595 /nixos/tests/switch-test.nix | |
parent | 37b82444129052fe44919310c9b23398f0a44888 (diff) | |
download | nixpkgs-eb831f759bc2c98ef84a0a97c60e5ab0b73f309c.tar nixpkgs-eb831f759bc2c98ef84a0a97c60e5ab0b73f309c.tar.gz nixpkgs-eb831f759bc2c98ef84a0a97c60e5ab0b73f309c.tar.bz2 nixpkgs-eb831f759bc2c98ef84a0a97c60e5ab0b73f309c.tar.lz nixpkgs-eb831f759bc2c98ef84a0a97c60e5ab0b73f309c.tar.xz nixpkgs-eb831f759bc2c98ef84a0a97c60e5ab0b73f309c.tar.zst nixpkgs-eb831f759bc2c98ef84a0a97c60e5ab0b73f309c.zip |
nixos/stc: Improve mount unit handling
We should sometimes restart the units rather than reloading them so the changes are actually applied. / and /nix are explicitly excluded because there was some very old issue where these were unmounted. I don't think this will affect many people since most people use fstab mounts instead but I plan to adapt this behavior for fstab mounts as well in the future (once I wrote a test for the fstab thingies).
Diffstat (limited to 'nixos/tests/switch-test.nix')
-rw-r--r-- | nixos/tests/switch-test.nix | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/nixos/tests/switch-test.nix b/nixos/tests/switch-test.nix index 53595ae7d3e..529a2086420 100644 --- a/nixos/tests/switch-test.nix +++ b/nixos/tests/switch-test.nix @@ -450,7 +450,7 @@ in { ]; }; - mountModified.configuration = { + mountOptionsModified.configuration = { systemd.mounts = [ { description = "Testmount"; @@ -463,6 +463,19 @@ in { ]; }; + mountModified.configuration = { + systemd.mounts = [ + { + description = "Testmount"; + what = "ramfs"; + type = "ramfs"; + where = "/testmount"; + options = "size=10M"; + wantedBy = [ "local-fs.target" ]; + } + ]; + }; + timer.configuration = { systemd.timers.test-timer = { wantedBy = [ "timers.target" ]; @@ -1137,7 +1150,8 @@ in { switch_to_specialisation("${machine}", "mount") out = machine.succeed("mount | grep 'on /testmount'") assert_contains(out, "size=1024k") - out = switch_to_specialisation("${machine}", "mountModified") + # Changing options reloads the unit + out = switch_to_specialisation("${machine}", "mountOptionsModified") assert_lacks(out, "stopping the following units:") assert_lacks(out, "NOT restarting the following changed units:") assert_contains(out, "reloading the following units: testmount.mount\n") @@ -1147,6 +1161,17 @@ in { # It changed out = machine.succeed("mount | grep 'on /testmount'") assert_contains(out, "size=10240k") + # Changing anything but `Options=` restarts the unit + out = switch_to_specialisation("${machine}", "mountModified") + assert_lacks(out, "stopping the following units:") + assert_lacks(out, "NOT restarting the following changed units:") + assert_lacks(out, "reloading the following units:") + assert_contains(out, "\nrestarting the following units: testmount.mount\n") + assert_lacks(out, "\nstarting the following units:") + assert_lacks(out, "the following new units were started:") + # It changed + out = machine.succeed("mount | grep 'on /testmount'") + assert_contains(out, "ramfs") with subtest("timers"): switch_to_specialisation("${machine}", "timer") |