NixOS VM tests: Difference between revisions

Osnyx (talk | contribs)
Remove leftover references to the perl test subsystem
6543 (talk | contribs)
pictures just describe things better sometime
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
WARNING: this page is mostly outdated as https://nixos.org/manual/nixos/stable/#chap-developing-the-test-driver mentions that  <code>pkgs.nixosTest</code>, <code>testing-python.nix</code> and <code>make-test-python.nix</code> are outdated. Beside the documentation, you may also like https://nix.dev/tutorials/nixos/integration-testing-using-virtual-machines.html
The primary documentation for the [https://nixos.org/manual/nixos/stable/index.html#sec-nixos-tests NixOS VM testing framework] is in [https://nixos.org/manual/nixos/stable/index.html#sec-nixos-tests the NixOS manual], and in [https://nixos.org/manual/nixpkgs/unstable/#tester-runNixOSTest the Nixpkgs manual]. A tutorial can be found at [https://nix.dev/tutorials/nixos/integration-testing-using-virtual-machines].
The primary documentation for the [https://nixos.org/manual/nixos/stable/index.html#sec-nixos-tests NixOS VM testing framework] is in [https://nixos.org/manual/nixos/stable/index.html#sec-nixos-tests the NixOS manual], and in [https://nixos.org/manual/nixpkgs/unstable/#tester-runNixOSTest the Nixpkgs manual]. A tutorial can be found at [https://nix.dev/tutorials/nixos/integration-testing-using-virtual-machines].


Line 19: Line 23:
Add this to your test config:
Add this to your test config:


  interactive.nodes.machine = {
  interactive.sshBackdoor.enable = true;
    services.openssh = {
      enable = true;
      settings = {
        PermitRootLogin = "yes";
        PermitEmptyPasswords = "yes";
      };
    };
   
    security.pam.services.sshd.allowNullPassword = true;
   
    virtualisation.forwardPorts = [
      { from = "host"; host.port = 2000; guest.port = 22; }
    ];
};


Now you can connect to this VM via  
Now you can connect to this VM via (on linux):
  ssh root@localhost -p 2000
  ssh -o User=root vsock/3
If you are on MacOS or have multiple VMs look at the shell output that do run the interactive tests:
[[File:Screenshot of interactive test just started.png|none|thumb|444x444px|Screenshot of just started nixos test for meilisearch (interactive)]]


== How to debug tests ? ==
== How to debug tests ? ==