liminix

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

test.nix (997B)


      1 let
      2   lmx = (
      3     import <liminix> {
      4       device = import <liminix/devices/qemu>;
      5       liminix-config = ./configuration.nix;
      6     }
      7   );
      8   myPkg = lmx.pkgs.rsyncSmall;
      9   img = lmx.outputs.vmroot;
     10   pkgs = import <nixpkgs> { overlays = [ (import ../../overlay.nix <nixpkgs>) ]; };
     11 in
     12 pkgs.runCommand "check"
     13   {
     14     nativeBuildInputs = with pkgs; [
     15       expect
     16       socat
     17       min-copy-closure
     18       myPkg
     19     ];
     20   }
     21   ''
     22     . ${../test-helpers.sh}
     23 
     24     (
     25     mkdir vm
     26     ${img}/run.sh --lan user,hostfwd=tcp::2022-:22  --background ./vm
     27     expect ${./wait-until-ready.expect}
     28     echo ready to go
     29     export SSH_COMMAND="ssh -o StrictHostKeyChecking=no -p 2022 -i ${./id}"
     30     $SSH_COMMAND root@localhost echo ready
     31     IN_NIX_BUILD=true min-copy-closure --quiet root@localhost ${myPkg}
     32     $SSH_COMMAND root@localhost ls -ld ${myPkg}
     33     IN_NIX_BUILD=true min-copy-closure --root /run root@localhost ${myPkg}
     34     $SSH_COMMAND root@localhost ls -ld /run/${myPkg}
     35     ) 2>&1 | tee $out
     36   ''