diff options
author | Francesco Gazzetta <fgaz@fgaz.me> | 2020-12-20 21:18:54 +0100 |
---|---|---|
committer | Francesco Gazzetta <fgaz@fgaz.me> | 2020-12-20 21:24:50 +0100 |
commit | 8e5219372161d4d1d122cc86b9ac0c52dbf7daf8 (patch) | |
tree | 586c2c71ec86564d39e1a97e079f57d5610dd26b /nixos/tests/image-contents.nix | |
parent | 6f21ae7a626cee022f5c20eacaaf934281e806c0 (diff) |
nixosTests.image-contents: init
Diffstat (limited to 'nixos/tests/image-contents.nix')
-rw-r--r-- | nixos/tests/image-contents.nix | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/nixos/tests/image-contents.nix b/nixos/tests/image-contents.nix new file mode 100644 index 0000000000000..90908968a7e27 --- /dev/null +++ b/nixos/tests/image-contents.nix @@ -0,0 +1,51 @@ +# Tests the contents attribute of nixos/lib/make-disk-image.nix +# including its user, group, and mode attributes. +{ system ? builtins.currentSystem, + config ? {}, + pkgs ? import ../.. { inherit system config; } +}: + +with import ../lib/testing-python.nix { inherit system pkgs; }; +with pkgs.lib; + +with import common/ec2.nix { inherit makeTest pkgs; }; + +let + config = (import ../lib/eval-config.nix { + inherit system; + modules = [ + ../modules/testing/test-instrumentation.nix + ../modules/profiles/qemu-guest.nix + { + fileSystems."/".device = "/dev/disk/by-label/nixos"; + boot.loader.grub.device = "/dev/vda"; + boot.loader.timeout = 0; + } + ]; + }).config; + image = (import ../lib/make-disk-image.nix { + inherit pkgs config; + lib = pkgs.lib; + format = "qcow2"; + contents = [{ + source = pkgs.writeText "testFile" "contents"; + target = "/testFile"; + user = "1234"; + group = "5678"; + mode = "755"; + }]; + }) + "/nixos.qcow2"; + +in makeEc2Test { + name = "image-contents"; + inherit image; + userData = null; + script = '' + machine.start() + assert "content" in machine.succeed("cat /testFile") + fileDetails = machine.succeed("ls -l /testFile") + assert "1234" in fileDetails + assert "5678" in fileDetails + assert "rwxr-xr-x" in fileDetails + ''; +} |