nixos/tests/ec2: Fix test tooling

This change fixes two problems with the qemu testing code:
1. Previously, the qemu-img command was missing a disk image format
   argument.
2. Previously, if a test assertion failed, the test hung because the VM
   was not torn down.
This commit is contained in:
Leon Barrett 2023-04-15 17:27:20 -07:00
parent b9f6082ee1
commit a711e445cc

View File

@ -17,6 +17,7 @@ with pkgs.lib;
ln -s ${pkgs.writeText "sshPublicKey" sshPublicKey} $out/1.0/meta-data/public-keys/0/openssh-key
'';
};
indentLines = str: concatLines (map (s: " " + s) (splitString "\n" str));
in makeTest {
name = "ec2-" + name;
nodes = {};
@ -36,6 +37,8 @@ with pkgs.lib;
"create",
"-f",
"qcow2",
"-F",
"qcow2",
"-o",
"backing_file=${image}",
disk_image,
@ -59,7 +62,11 @@ with pkgs.lib;
)
machine = create_machine({"startCommand": start_command})
'' + script;
try:
'' + indentLines script + ''
finally:
machine.shutdown()
'';
inherit meta;
};