parent
46f277b3f2
commit
1601ff7dd4
@ -0,0 +1,43 @@ |
||||
# This test checks charliecloud image construction and run |
||||
|
||||
import ./make-test-python.nix ({ pkgs, ...} : let |
||||
|
||||
dockerfile = pkgs.writeText "Dockerfile" '' |
||||
FROM nix |
||||
RUN mkdir /home /tmp |
||||
RUN touch /etc/passwd /etc/group |
||||
CMD ["true"] |
||||
''; |
||||
|
||||
in { |
||||
name = "charliecloud"; |
||||
meta = with pkgs.stdenv.lib.maintainers; { |
||||
maintainers = [ bzizou ]; |
||||
}; |
||||
|
||||
nodes = { |
||||
host = { ... }: { |
||||
environment.systemPackages = [ pkgs.charliecloud ]; |
||||
virtualisation.docker.enable = true; |
||||
users.users.alice = { |
||||
isNormalUser = true; |
||||
extraGroups = [ "docker" ]; |
||||
}; |
||||
}; |
||||
}; |
||||
|
||||
testScript = '' |
||||
host.start() |
||||
host.wait_for_unit("docker.service") |
||||
host.succeed( |
||||
'su - alice -c "docker load --input=${pkgs.dockerTools.examples.nix}"' |
||||
) |
||||
host.succeed( |
||||
"cp ${dockerfile} /home/alice/Dockerfile" |
||||
) |
||||
host.succeed('su - alice -c "ch-build -t hello ."') |
||||
host.succeed('su - alice -c "ch-builder2tar hello /var/tmp"') |
||||
host.succeed('su - alice -c "ch-tar2dir /var/tmp/hello.tar.gz /var/tmp"') |
||||
host.succeed('su - alice -c "ch-run /var/tmp/hello -- echo Running_From_Container_OK"') |
||||
''; |
||||
}) |
Loading…
Reference in new issue