From a711e445cc057ac06160816b848f5752a6b4b753 Mon Sep 17 00:00:00 2001 From: Leon Barrett Date: Sat, 15 Apr 2023 17:27:20 -0700 Subject: [PATCH] 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. --- nixos/tests/common/ec2.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/nixos/tests/common/ec2.nix b/nixos/tests/common/ec2.nix index 6ed420e0aae7..1a64c464039b 100644 --- a/nixos/tests/common/ec2.nix +++ b/nixos/tests/common/ec2.nix @@ -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; };