From 1545f9062e3252b3001bdb04eaf48d46eb53d041 Mon Sep 17 00:00:00 2001 From: Profpatsch Date: Wed, 14 Feb 2018 06:20:16 +0100 Subject: [PATCH] nixos/tests: add simple dockerTools test --- nixos/release.nix | 1 + nixos/tests/docker-tools.nix | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 nixos/tests/docker-tools.nix diff --git a/nixos/release.nix b/nixos/release.nix index b778258da63d..e473a0804244 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -244,6 +244,7 @@ in rec { tests.containers-macvlans = callTest tests/containers-macvlans.nix {}; tests.couchdb = callTest tests/couchdb.nix {}; tests.docker = callTestOnTheseSystems ["x86_64-linux"] tests/docker.nix {}; + tests.docker-tools = callTestOnTheseSystems ["x86_64-linux"] tests/docker-tools.nix {}; tests.docker-edge = callTestOnTheseSystems ["x86_64-linux"] tests/docker-edge.nix {}; tests.dovecot = callTest tests/dovecot.nix {}; tests.dnscrypt-proxy = callTestOnTheseSystems ["x86_64-linux"] tests/dnscrypt-proxy.nix {}; diff --git a/nixos/tests/docker-tools.nix b/nixos/tests/docker-tools.nix new file mode 100644 index 000000000000..e7f2588f681b --- /dev/null +++ b/nixos/tests/docker-tools.nix @@ -0,0 +1,36 @@ +# this test creates a simple GNU image with docker tools and sees if it executes + +import ./make-test.nix ({ pkgs, ... }: { + name = "docker-tools"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ ]; + }; + + nodes = { + docker = + { config, pkgs, ... }: { + virtualisation.docker.enable = true; + }; + }; + + testScript = + let + dockerImage = pkgs.dockerTools.buildImage { + name = "hello-docker"; + contents = [ pkgs.hello ]; + tag = "sometag"; + + # TODO: create another test checking whether runAsRoot works as intended. + + config = { + Cmd = [ "hello" ]; + }; + }; + + in '' + $docker->waitForUnit("sockets.target"); + $docker->succeed("docker load --input='${dockerImage}'"); + $docker->succeed("docker run hello-docker:sometag"); + ''; + +})