From 1ba3f7927f9a8a982994ff6bdf1adc3949812128 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Fri, 13 Aug 2021 17:35:30 +0200 Subject: [PATCH] nixos/testing: only create `nixos-run-vms` for `nixos-build-vms(8)` This is the case when the test-script is empty. `nixos-build-vms(8)` is primarily supposed to be used as tool to test changes or to reproduce bugs (IMHO) where "just spinning up a few VMs" is the primary use-case. In the ongoing discussion about these changes[1] it was suggested to only expose it when needed (i.e. in the case I described above) to keep the API surface as slim as possible. [1] https://github.com/NixOS/nixpkgs/pull/133675#discussion_r688112485 --- nixos/lib/testing-python.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/nixos/lib/testing-python.nix b/nixos/lib/testing-python.nix index 070a3a7ddc2..e95ebe16eca 100644 --- a/nixos/lib/testing-python.nix +++ b/nixos/lib/testing-python.nix @@ -187,11 +187,13 @@ rec { --set testScript "$out/test-script" \ --set vlans '${toString vlans}' - ln -s ${testDriver}/bin/nixos-test-driver $out/bin/nixos-run-vms - wrapProgram $out/bin/nixos-run-vms \ - --set startScripts "''${vmStartScripts[*]}" \ - --set testScript "${pkgs.writeText "start-all" "start_all(); join_all();"}" \ - --set vlans '${toString vlans}' + ${lib.optionalString (testScript == "") '' + ln -s ${testDriver}/bin/nixos-test-driver $out/bin/nixos-run-vms + wrapProgram $out/bin/nixos-run-vms \ + --set startScripts "''${vmStartScripts[*]}" \ + --set testScript "${pkgs.writeText "start-all" "start_all(); join_all();"}" \ + --set vlans '${toString vlans}' + ''} ''); # Make a full-blown test