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