at 23.11-pre 1.2 kB view raw
1# This test checks charliecloud image construction and run 2 3import ./make-test-python.nix ({ pkgs, ...} : let 4 5 dockerfile = pkgs.writeText "Dockerfile" '' 6 FROM nix 7 RUN mkdir /home /tmp 8 RUN touch /etc/passwd /etc/group 9 CMD ["true"] 10 ''; 11 12in { 13 name = "charliecloud"; 14 meta = with pkgs.lib.maintainers; { 15 maintainers = [ bzizou ]; 16 }; 17 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 }; 28 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 ''; 43})