summaryrefslogtreecommitdiffstats
path: root/nixos/tests/oci-containers.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixos/tests/oci-containers.nix')
-rw-r--r--nixos/tests/oci-containers.nix43
1 files changed, 43 insertions, 0 deletions
diff --git a/nixos/tests/oci-containers.nix b/nixos/tests/oci-containers.nix
new file mode 100644
index 000000000000..bb6c019f07c9
--- /dev/null
+++ b/nixos/tests/oci-containers.nix
@@ -0,0 +1,43 @@
+{ system ? builtins.currentSystem
+, config ? {}
+, pkgs ? import ../.. { inherit system config; }
+, lib ? pkgs.lib
+}:
+
+let
+
+ inherit (import ../lib/testing-python.nix { inherit system pkgs; }) makeTest;
+
+ mkOCITest = backend: makeTest {
+ name = "oci-containers-${backend}";
+
+ meta = {
+ maintainers = with lib.maintainers; [ adisbladis benley mkaito ];
+ };
+
+ nodes = {
+ ${backend} = { pkgs, ... }: {
+ virtualisation.oci-containers = {
+ inherit backend;
+ containers.nginx = {
+ image = "nginx-container";
+ imageFile = pkgs.dockerTools.examples.nginx;
+ ports = ["8181:80"];
+ };
+ };
+ };
+ };
+
+ testScript = ''
+ start_all()
+ ${backend}.wait_for_unit("${backend}-nginx.service")
+ ${backend}.wait_for_open_port(8181)
+ ${backend}.wait_until_succeeds("curl http://localhost:8181 | grep Hello")
+ '';
+ };
+
+in
+lib.foldl' (attrs: backend: attrs // { ${backend} = mkOCITest backend; }) {} [
+ "docker"
+ "podman"
+]