notes: 2.3.0 -> 2.3.1 (#352950)
[NixPkgs.git] / nixos / tests / charliecloud.nix
blob28c3e2f2dbf73dd1804f1f9d6180146b53af5300
1 # This test checks charliecloud image construction and run
3 import ./make-test-python.nix ({ pkgs, ...} : let
5   dockerfile = pkgs.writeText "Dockerfile" ''
6     FROM nix
7     RUN mkdir /home /tmp
8     RUN touch /etc/passwd /etc/group
9     CMD ["true"]
10   '';
12 in {
13   name = "charliecloud";
14   meta = with pkgs.lib.maintainers; {
15     maintainers = [ bzizou ];
16   };
18   nodes = {
19     host = { ... }: {
20       environment.systemPackages = [ pkgs.charliecloud ];
21       virtualisation.docker.enable = true;
22       users.users.alice = {
23         isNormalUser = true;
24         extraGroups = [ "docker" ];
25       };
26     };
27   };
29   testScript = ''
30     host.start()
31     host.wait_for_unit("docker.service")
32     host.succeed(
33         'su - alice -c "docker load --input=${pkgs.dockerTools.examples.nix}"'
34     )
35     host.succeed(
36         "cp ${dockerfile} /home/alice/Dockerfile"
37     )
38     host.succeed('su - alice -c "ch-build -t hello ."')
39     host.succeed('su - alice -c "ch-builder2tar hello /var/tmp"')
40     host.succeed('su - alice -c "ch-tar2dir /var/tmp/hello.tar.gz /var/tmp"')
41     host.succeed('su - alice -c "ch-run /var/tmp/hello -- echo Running_From_Container_OK"')
42   '';