|
|
|
@ -3,7 +3,7 @@ |
|
|
|
|
pkgs ? import ../.. { inherit system config; } |
|
|
|
|
}: |
|
|
|
|
|
|
|
|
|
with import ../lib/testing.nix { inherit system pkgs; }; |
|
|
|
|
with import ../lib/testing-python.nix { inherit system pkgs; }; |
|
|
|
|
with pkgs.lib; |
|
|
|
|
|
|
|
|
|
let |
|
|
|
@ -17,11 +17,11 @@ let |
|
|
|
|
]; |
|
|
|
|
}).config.system.build.isoImage; |
|
|
|
|
|
|
|
|
|
perlAttrs = params: "{ ${concatStringsSep ", " (mapAttrsToList (name: param: "${name} => ${builtins.toJSON param}") params)} }"; |
|
|
|
|
pythonDict = params: "\n {\n ${concatStringsSep ",\n " (mapAttrsToList (name: param: "\"${name}\": \"${param}\"") params)},\n }\n"; |
|
|
|
|
|
|
|
|
|
makeBootTest = name: extraConfig: |
|
|
|
|
let |
|
|
|
|
machineConfig = perlAttrs ({ qemuFlags = "-m 768"; } // extraConfig); |
|
|
|
|
machineConfig = pythonDict ({ qemuFlags = "-m 768"; } // extraConfig); |
|
|
|
|
in |
|
|
|
|
makeTest { |
|
|
|
|
inherit iso; |
|
|
|
@ -29,16 +29,16 @@ let |
|
|
|
|
nodes = { }; |
|
|
|
|
testScript = |
|
|
|
|
'' |
|
|
|
|
my $machine = createMachine(${machineConfig}); |
|
|
|
|
$machine->start; |
|
|
|
|
$machine->waitForUnit("multi-user.target"); |
|
|
|
|
$machine->succeed("nix verify -r --no-trust /run/current-system"); |
|
|
|
|
machine = create_machine(${machineConfig}) |
|
|
|
|
machine.start() |
|
|
|
|
machine.wait_for_unit("multi-user.target") |
|
|
|
|
machine.succeed("nix verify -r --no-trust /run/current-system") |
|
|
|
|
|
|
|
|
|
# Test whether the channel got installed correctly. |
|
|
|
|
$machine->succeed("nix-instantiate --dry-run '<nixpkgs>' -A hello"); |
|
|
|
|
$machine->succeed("nix-env --dry-run -iA nixos.procps"); |
|
|
|
|
with subtest("Check whether the channel got installed correctly"): |
|
|
|
|
machine.succeed("nix-instantiate --dry-run '<nixpkgs>' -A hello") |
|
|
|
|
machine.succeed("nix-env --dry-run -iA nixos.procps") |
|
|
|
|
|
|
|
|
|
$machine->shutdown; |
|
|
|
|
machine.shutdown() |
|
|
|
|
''; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
@ -60,7 +60,7 @@ let |
|
|
|
|
config.system.build.netbootIpxeScript |
|
|
|
|
]; |
|
|
|
|
}; |
|
|
|
|
machineConfig = perlAttrs ({ |
|
|
|
|
machineConfig = pythonDict ({ |
|
|
|
|
qemuFlags = "-boot order=n -m 2000"; |
|
|
|
|
netBackendArgs = "tftp=${ipxeBootDir},bootfile=netboot.ipxe"; |
|
|
|
|
} // extraConfig); |
|
|
|
@ -68,12 +68,11 @@ let |
|
|
|
|
makeTest { |
|
|
|
|
name = "boot-netboot-" + name; |
|
|
|
|
nodes = { }; |
|
|
|
|
testScript = |
|
|
|
|
'' |
|
|
|
|
my $machine = createMachine(${machineConfig}); |
|
|
|
|
$machine->start; |
|
|
|
|
$machine->waitForUnit("multi-user.target"); |
|
|
|
|
$machine->shutdown; |
|
|
|
|
testScript = '' |
|
|
|
|
machine = create_machine(${machineConfig}) |
|
|
|
|
machine.start() |
|
|
|
|
machine.wait_for_unit("multi-user.target") |
|
|
|
|
machine.shutdown() |
|
|
|
|
''; |
|
|
|
|
}; |
|
|
|
|
in { |
|
|
|
|