--- /dev/null
+# TEST: newer machine verison than QEMU version installed on node
+# QEMU_VERSION: 4.1.1
+# EXPECT_ERROR: Installed QEMU version '4.1.1' is too old to run machine type 'pc-q35-42.9', please upgrade node 'localhost'
+smbios1: uuid=6cf17dc3-8341-4ecc-aebd-7503f2583fb3
+machine: pc-q35-42.9
$current_test->{qemu_version} = "$1";
} elsif ($line =~ /^HOST_ARCH:\s*(.*)\s*$/) {
$current_test->{host_arch} = "$1";
+ } elsif ($line =~ /^EXPECT_ERROR:\s*(.*)\s*$/) {
+ $current_test->{expect_error} = "$1";
}
}
}
my ($vmid, $storecfg) = $base_env->@{qw(vmid storage_config)};
- my $cmdline = PVE::QemuServer::vm_commandline($storecfg, $vmid);
+ my $cmdline = eval { PVE::QemuServer::vm_commandline($storecfg, $vmid) };
+ my $err = $@;
+
+ if (my $err_expect = $current_test->{expect_error}) {
+ if (!$err) {
+ fail("$testname");
+ note("did NOT get any error, but expected error: $err_expect");
+ return;
+ }
+ chomp $err;
+ if ($err !~ /^\s*$err_expect\s*$/) {
+ fail("$testname");
+ note("error does not match expected error: '$err' !~ '$err_expect'");
+ } else {
+ pass("$testname");
+ }
+ return;
+ } elsif ($err) {
+ fail("$testname");
+ note("got unexpected error: $err");
+ return;
+ }
# check if QEMU version set correctly and test version_cmp
(my $qemu_major = get_test_qemu_version()) =~ s/\..*$//;