diff options
Diffstat (limited to 'nixpkgs/nixos/tests')
-rw-r--r-- | nixpkgs/nixos/tests/all-tests.nix | 2 | ||||
-rw-r--r-- | nixpkgs/nixos/tests/colord.nix | 18 | ||||
-rw-r--r-- | nixpkgs/nixos/tests/overlayfs.nix | 57 |
3 files changed, 77 insertions, 0 deletions
diff --git a/nixpkgs/nixos/tests/all-tests.nix b/nixpkgs/nixos/tests/all-tests.nix index de5b8bbb7c06..69510c1420fa 100644 --- a/nixpkgs/nixos/tests/all-tests.nix +++ b/nixpkgs/nixos/tests/all-tests.nix @@ -43,6 +43,7 @@ in clickhouse = handleTest ./clickhouse.nix {}; cloud-init = handleTest ./cloud-init.nix {}; codimd = handleTest ./codimd.nix {}; + colord = handleTest ./colord.nix {}; containers-bridge = handleTest ./containers-bridge.nix {}; containers-extra_veth = handleTest ./containers-extra_veth.nix {}; containers-hosts = handleTest ./containers-hosts.nix {}; @@ -173,6 +174,7 @@ in osquery = handleTest ./osquery.nix {}; osrm-backend = handleTest ./osrm-backend.nix {}; ostree = handleTest ./ostree.nix {}; + overlayfs = handleTest ./overlayfs.nix {}; pam-oath-login = handleTest ./pam-oath-login.nix {}; pam-u2f = handleTest ./pam-u2f.nix {}; pantheon = handleTest ./pantheon.nix {}; diff --git a/nixpkgs/nixos/tests/colord.nix b/nixpkgs/nixos/tests/colord.nix new file mode 100644 index 000000000000..ce38aaca4bf2 --- /dev/null +++ b/nixpkgs/nixos/tests/colord.nix @@ -0,0 +1,18 @@ +# run installed tests +import ./make-test.nix ({ pkgs, ... }: + +{ + name = "colord"; + + meta = { + maintainers = pkgs.colord.meta.maintainers; + }; + + machine = { pkgs, ... }: { + environment.systemPackages = with pkgs; [ gnome-desktop-testing ]; + }; + + testScript = '' + $machine->succeed("gnome-desktop-testing-runner -d '${pkgs.colord.installedTests}/share'"); + ''; +}) diff --git a/nixpkgs/nixos/tests/overlayfs.nix b/nixpkgs/nixos/tests/overlayfs.nix new file mode 100644 index 000000000000..99bb6b0f5531 --- /dev/null +++ b/nixpkgs/nixos/tests/overlayfs.nix @@ -0,0 +1,57 @@ +import ./make-test.nix ({ pkgs, ... }: { + name = "overlayfs"; + meta.maintainers = with pkgs.stdenv.lib.maintainers; [ bachp ]; + + machine = { pkgs, ... }: { + virtualisation.emptyDiskImages = [ 512 ]; + networking.hostId = "deadbeef"; + environment.systemPackages = with pkgs; [ parted ]; + }; + + testScript = '' + $machine->succeed("ls /dev"); + + $machine->succeed("mkdir -p /tmp/mnt"); + + # Test ext4 + overlayfs + $machine->succeed( + + "mkfs.ext4 -F -L overlay-ext4 /dev/vdb", + "mount -t ext4 /dev/vdb /tmp/mnt", + + "mkdir -p /tmp/mnt/upper /tmp/mnt/lower /tmp/mnt/work /tmp/mnt/merged", + + # Setup some existing files + "echo 'Replace' > /tmp/mnt/lower/replace.txt", + "echo 'Append' > /tmp/mnt/lower/append.txt", + "echo 'Overwrite' > /tmp/mnt/lower/overwrite.txt", + + "mount -t overlay overlay -o lowerdir=/tmp/mnt/lower,upperdir=/tmp/mnt/upper,workdir=/tmp/mnt/work /tmp/mnt/merged", + + # Test new + "echo 'New' > /tmp/mnt/merged/new.txt", + "[[ \"\$(cat /tmp/mnt/merged/new.txt)\" == \"New\" ]]", + + # Test replace + "[[ \"\$(cat /tmp/mnt/merged/replace.txt)\" == \"Replace\" ]]", + "echo 'Replaced' > /tmp/mnt/merged/replace-tmp.txt", + "mv /tmp/mnt/merged/replace-tmp.txt /tmp/mnt/merged/replace.txt", + "[[ \"\$(cat /tmp/mnt/merged/replace.txt)\" == \"Replaced\" ]]", + + # Overwrite + "[[ \"\$(cat /tmp/mnt/merged/overwrite.txt)\" == \"Overwrite\" ]]", + "echo 'Overwritten' > /tmp/mnt/merged/overwrite.txt", + "[[ \"\$(cat /tmp/mnt/merged/overwrite.txt)\" == \"Overwritten\" ]]", + + # Test append + "[[ \"\$(cat /tmp/mnt/merged/append.txt)\" == \"Append\" ]]", + "echo 'ed' >> /tmp/mnt/merged/append.txt", + #"cat /tmp/mnt/merged/append.txt && exit 1", + "[[ \"\$(cat /tmp/mnt/merged/append.txt)\" == \"Append\ned\" ]]", + + "umount /tmp/mnt/merged", + "umount /tmp/mnt", + "udevadm settle" + ); + ''; +}) |