From: Thomas Lamprecht <t.lamprecht@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] applied: [PATCH qemu-server] tests: cfg2cmd: check also warnings
Date: Fri, 21 Aug 2020 10:39:40 +0200 [thread overview]
Message-ID: <20200821083940.3048576-1-t.lamprecht@proxmox.com> (raw)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
---
As this would have caught a recent regression from commit
789fe8e8188521d55044d37c055d5d2cabbd5cfd
.../custom-cpu-model-host-phys-bits.conf | 1 +
test/cfg2cmd/custom-cpu-model.conf | 1 +
test/run_config2command_tests.pl | 23 +++++++++++++++++++
3 files changed, 25 insertions(+)
diff --git a/test/cfg2cmd/custom-cpu-model-host-phys-bits.conf b/test/cfg2cmd/custom-cpu-model-host-phys-bits.conf
index a770d93..76abef6 100644
--- a/test/cfg2cmd/custom-cpu-model-host-phys-bits.conf
+++ b/test/cfg2cmd/custom-cpu-model-host-phys-bits.conf
@@ -1,4 +1,5 @@
# TEST: Check if custom CPU models are resolved correctly
+# EXPECT_WARN: warning: CPU flag/setting '-kvm_pv_unhalt' (set by custom CPU model) overwrites '+kvm_pv_unhalt' (set by PVE; to improve Linux guest spinlock performance)
cores: 3
cpu: custom-qemu64,phys-bits=host
name: customcpu
diff --git a/test/cfg2cmd/custom-cpu-model.conf b/test/cfg2cmd/custom-cpu-model.conf
index f1fa6ca..f4df6eb 100644
--- a/test/cfg2cmd/custom-cpu-model.conf
+++ b/test/cfg2cmd/custom-cpu-model.conf
@@ -1,4 +1,5 @@
# TEST: Check if custom CPU models are resolved correctly
+# EXPECT_WARN: warning: CPU flag/setting '-kvm_pv_unhalt' (set by custom CPU model) overwrites '+kvm_pv_unhalt' (set by PVE; to improve Linux guest spinlock performance)
cores: 3
cpu: custom-qemu64,flags=+virt-ssbd
name: customcpu
diff --git a/test/run_config2command_tests.pl b/test/run_config2command_tests.pl
index 7a4c0eb..2ea6f83 100755
--- a/test/run_config2command_tests.pl
+++ b/test/run_config2command_tests.pl
@@ -84,6 +84,8 @@ my $current_test; # = {
# description => 'Test description', # if available
# qemu_version => '2.12',
# host_arch => 'HOST_ARCH',
+# expected_error => 'error message',
+# expected_warning => 'warning message',
# config => { config hash },
# expected => [ expected outcome cmd line array ],
# };
@@ -92,6 +94,7 @@ my $current_test; # = {
# TEST: A single line describing the test, gets outputted
# QEMU_VERSION: \d+\.\d+(\.\d+)? (defaults to current version)
# HOST_ARCH: x86_64 | aarch64 (default to x86_64, to make tests stable)
+# EXPECT_ERROR: <error message> For negative tests
# all fields are optional
sub parse_test($) {
my ($config_fn) = @_;
@@ -120,6 +123,8 @@ sub parse_test($) {
$current_test->{host_arch} = "$1";
} elsif ($line =~ /^EXPECT_ERROR:\s*(.*)\s*$/) {
$current_test->{expect_error} = "$1";
+ } elsif ($line =~ /^EXPECT_WARN(?:ING)?:\s*(.*)\s*$/) {
+ $current_test->{expect_warning} = "$1";
}
}
@@ -306,6 +311,24 @@ sub diff($$) {
die "files differ:\n$diff";
}
+$SIG{__WARN__} = sub {
+ my $warning = shift;
+ chomp $warning;
+ if (my $warn_expect = $current_test->{expect_warning}) {
+ if ($warn_expect ne $warning) {
+ fail($current_test->{testname});
+ note("warning does not match expected error: '$warning' != '$warn_expect'");
+ } else {
+ note("got expected warning '$warning'");
+ return;
+ }
+ }
+
+ #warn "======= WARN ======\n= ". $_[0] . "===================\n";
+ fail($current_test->{testname});
+ note("got unexpected expected warning '$warning'");
+};
+
sub do_test($) {
my ($config_fn) = @_;
--
2.20.1
reply other threads:[~2020-08-21 8:40 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200821083940.3048576-1-t.lamprecht@proxmox.com \
--to=t.lamprecht@proxmox.com \
--cc=pve-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.