2012-03-02 12:38:22 +00:00
|
|
|
{ system ? builtins.currentSystem
|
2018-11-11 17:41:11 +09:00
|
|
|
, config ? {}
|
2010-10-21 22:50:12 +00:00
|
|
|
, networkExpr
|
|
|
|
}:
|
|
|
|
|
2020-04-13 17:43:44 +02:00
|
|
|
let
|
|
|
|
nodes = builtins.mapAttrs (vm: module: {
|
|
|
|
_file = "${networkExpr}@node-${vm}";
|
2020-10-25 00:59:59 +02:00
|
|
|
imports = [ module ];
|
2020-04-13 17:43:44 +02:00
|
|
|
}) (import networkExpr);
|
2021-06-12 17:47:25 -05:00
|
|
|
|
2021-08-20 11:48:15 +02:00
|
|
|
pkgs = import ../../../../.. { inherit system config; };
|
|
|
|
|
2021-06-12 17:47:25 -05:00
|
|
|
testing = import ../../../../lib/testing-python.nix {
|
2021-08-20 11:48:15 +02:00
|
|
|
inherit system pkgs;
|
2021-06-12 17:47:25 -05:00
|
|
|
};
|
|
|
|
|
2022-10-01 20:34:01 +02:00
|
|
|
interactiveDriver = (testing.makeTest { inherit nodes; name = "network"; testScript = "start_all(); join_all();"; }).test.driverInteractive;
|
2020-04-13 17:43:44 +02:00
|
|
|
in
|
2011-04-27 13:01:42 +00:00
|
|
|
|
2022-12-26 21:05:35 +03:00
|
|
|
|
|
|
|
pkgs.runCommand "nixos-build-vms" { nativeBuildInputs = [ pkgs.makeWrapper ]; } ''
|
2021-06-12 17:47:25 -05:00
|
|
|
mkdir -p $out/bin
|
|
|
|
ln -s ${interactiveDriver}/bin/nixos-test-driver $out/bin/nixos-test-driver
|
|
|
|
ln -s ${interactiveDriver}/bin/nixos-test-driver $out/bin/nixos-run-vms
|
|
|
|
wrapProgram $out/bin/nixos-test-driver \
|
|
|
|
--add-flags "--interactive"
|
2022-02-19 19:35:40 +01:00
|
|
|
wrapProgram $out/bin/nixos-run-vms \
|
|
|
|
--set testScript "${pkgs.writeText "start-all" "start_all(); join_all();"}" \
|
|
|
|
--add-flags "--no-interactive"
|
2021-06-12 17:47:25 -05:00
|
|
|
''
|