From eac642265fb445d028457e9f974dd3ae5f5b9529 Mon Sep 17 00:00:00 2001
Message-Id: <eac642265fb445d028457e9f974dd3ae5f5b9529@dist-git>
From: Andrea Bolognani <abologna@redhat.com>
Date: Fri, 21 Aug 2015 16:36:04 -0700
Subject: [PATCH] tests: Add some compatibility-related cases to the CPU tests
(cherry picked from commit 7dc52241b314adb19ca4f0af156d772e3d5a29a5)
Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1251927
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
---
tests/cputest.c | 14 ++++++++++++++
tests/cputestdata/ppc64-guest-compat-incompatible.xml | 3 +++
tests/cputestdata/ppc64-guest-compat-invalid.xml | 3 +++
tests/cputestdata/ppc64-guest-compat-none.xml | 1 +
tests/cputestdata/ppc64-guest-compat-valid.xml | 3 +++
tests/cputestdata/ppc64-guest-host-model.xml | 3 +++
tests/cputestdata/ppc64-host+guest-compat-incompatible.xml | 3 +++
tests/cputestdata/ppc64-host+guest-compat-invalid.xml | 3 +++
tests/cputestdata/ppc64-host+guest-compat-none.xml | 3 +++
tests/cputestdata/ppc64-host+guest-compat-valid.xml | 3 +++
tests/cputestdata/ppc64-host+guest-host-model.xml | 3 +++
tests/cputestdata/ppc64-host+guest-legacy-incompatible.xml | 3 +++
tests/cputestdata/ppc64-host+guest-legacy-invalid.xml | 3 +++
tests/cputestdata/ppc64-host+guest-legacy.xml | 3 +++
tests/cputestdata/ppc64-host+guest-nofallback.xml | 3 +++
tests/cputestdata/ppc64-host+guest.xml | 3 +++
16 files changed, 57 insertions(+)
create mode 100644 tests/cputestdata/ppc64-guest-compat-incompatible.xml
create mode 100644 tests/cputestdata/ppc64-guest-compat-invalid.xml
create mode 100644 tests/cputestdata/ppc64-guest-compat-none.xml
create mode 100644 tests/cputestdata/ppc64-guest-compat-valid.xml
create mode 100644 tests/cputestdata/ppc64-guest-host-model.xml
create mode 100644 tests/cputestdata/ppc64-host+guest-compat-incompatible.xml
create mode 100644 tests/cputestdata/ppc64-host+guest-compat-invalid.xml
create mode 100644 tests/cputestdata/ppc64-host+guest-compat-none.xml
create mode 100644 tests/cputestdata/ppc64-host+guest-compat-valid.xml
create mode 100644 tests/cputestdata/ppc64-host+guest-host-model.xml
create mode 100644 tests/cputestdata/ppc64-host+guest-legacy-incompatible.xml
create mode 100644 tests/cputestdata/ppc64-host+guest-legacy-invalid.xml
create mode 100644 tests/cputestdata/ppc64-host+guest-legacy.xml
create mode 100644 tests/cputestdata/ppc64-host+guest-nofallback.xml
create mode 100644 tests/cputestdata/ppc64-host+guest.xml
diff --git a/tests/cputest.c b/tests/cputest.c
index 5992dd0..431b587 100644
--- a/tests/cputest.c
+++ b/tests/cputest.c
@@ -607,6 +607,10 @@ mymain(void)
DO_TEST_COMPARE("ppc64", "host", "guest-legacy", VIR_CPU_COMPARE_IDENTICAL);
DO_TEST_COMPARE("ppc64", "host", "guest-legacy-incompatible", VIR_CPU_COMPARE_INCOMPATIBLE);
DO_TEST_COMPARE("ppc64", "host", "guest-legacy-invalid", VIR_CPU_COMPARE_ERROR);
+ DO_TEST_COMPARE("ppc64", "host", "guest-compat-none", VIR_CPU_COMPARE_IDENTICAL);
+ DO_TEST_COMPARE("ppc64", "host", "guest-compat-valid", VIR_CPU_COMPARE_IDENTICAL);
+ DO_TEST_COMPARE("ppc64", "host", "guest-compat-invalid", VIR_CPU_COMPARE_ERROR);
+ DO_TEST_COMPARE("ppc64", "host", "guest-compat-incompatible", VIR_CPU_COMPARE_INCOMPATIBLE);
/* guest updates for migration
* automatically compares host CPU with the result */
@@ -618,6 +622,16 @@ mymain(void)
DO_TEST_UPDATE("x86", "host", "host-passthrough", VIR_CPU_COMPARE_IDENTICAL);
DO_TEST_UPDATE("x86", "host-invtsc", "host-model", VIR_CPU_COMPARE_SUPERSET);
+ DO_TEST_UPDATE("ppc64", "host", "guest", VIR_CPU_COMPARE_IDENTICAL);
+ DO_TEST_UPDATE("ppc64", "host", "guest-nofallback", VIR_CPU_COMPARE_INCOMPATIBLE);
+ DO_TEST_UPDATE("ppc64", "host", "guest-legacy", VIR_CPU_COMPARE_IDENTICAL);
+ DO_TEST_UPDATE("ppc64", "host", "guest-legacy-incompatible", VIR_CPU_COMPARE_INCOMPATIBLE);
+ DO_TEST_UPDATE("ppc64", "host", "guest-legacy-invalid", VIR_CPU_COMPARE_ERROR);
+ DO_TEST_UPDATE("ppc64", "host", "guest-compat-none", VIR_CPU_COMPARE_IDENTICAL);
+ DO_TEST_UPDATE("ppc64", "host", "guest-compat-valid", VIR_CPU_COMPARE_IDENTICAL);
+ DO_TEST_UPDATE("ppc64", "host", "guest-compat-invalid", VIR_CPU_COMPARE_ERROR);
+ DO_TEST_UPDATE("ppc64", "host", "guest-compat-incompatible", VIR_CPU_COMPARE_INCOMPATIBLE);
+
/* computing baseline CPUs */
DO_TEST_BASELINE("x86", "incompatible-vendors", 0, -1);
DO_TEST_BASELINE("x86", "no-vendor", 0, 0);
diff --git a/tests/cputestdata/ppc64-guest-compat-incompatible.xml b/tests/cputestdata/ppc64-guest-compat-incompatible.xml
new file mode 100644
index 0000000..3f130fa
--- /dev/null
+++ b/tests/cputestdata/ppc64-guest-compat-incompatible.xml
@@ -0,0 +1,3 @@
+<cpu mode='host-model'>
+ <model>power8</model>
+</cpu>
diff --git a/tests/cputestdata/ppc64-guest-compat-invalid.xml b/tests/cputestdata/ppc64-guest-compat-invalid.xml
new file mode 100644
index 0000000..f35cb21
--- /dev/null
+++ b/tests/cputestdata/ppc64-guest-compat-invalid.xml
@@ -0,0 +1,3 @@
+<cpu mode='host-model'>
+ <model>power7+</model>
+</cpu>
diff --git a/tests/cputestdata/ppc64-guest-compat-none.xml b/tests/cputestdata/ppc64-guest-compat-none.xml
new file mode 100644
index 0000000..fd50c03
--- /dev/null
+++ b/tests/cputestdata/ppc64-guest-compat-none.xml
@@ -0,0 +1 @@
+<cpu mode='host-model'/>
diff --git a/tests/cputestdata/ppc64-guest-compat-valid.xml b/tests/cputestdata/ppc64-guest-compat-valid.xml
new file mode 100644
index 0000000..bf01e54
--- /dev/null
+++ b/tests/cputestdata/ppc64-guest-compat-valid.xml
@@ -0,0 +1,3 @@
+<cpu mode='host-model'>
+ <model>power6</model>
+</cpu>
diff --git a/tests/cputestdata/ppc64-guest-host-model.xml b/tests/cputestdata/ppc64-guest-host-model.xml
new file mode 100644
index 0000000..188ebeb
--- /dev/null
+++ b/tests/cputestdata/ppc64-guest-host-model.xml
@@ -0,0 +1,3 @@
+<cpu mode='host-model'>
+ <model fallback='allow'/>
+</cpu>
diff --git a/tests/cputestdata/ppc64-host+guest-compat-incompatible.xml b/tests/cputestdata/ppc64-host+guest-compat-incompatible.xml
new file mode 100644
index 0000000..1fab751
--- /dev/null
+++ b/tests/cputestdata/ppc64-host+guest-compat-incompatible.xml
@@ -0,0 +1,3 @@
+<cpu mode='host-model' match='exact'>
+ <model fallback='allow'>power8</model>
+</cpu>
diff --git a/tests/cputestdata/ppc64-host+guest-compat-invalid.xml b/tests/cputestdata/ppc64-host+guest-compat-invalid.xml
new file mode 100644
index 0000000..bc0d829
--- /dev/null
+++ b/tests/cputestdata/ppc64-host+guest-compat-invalid.xml
@@ -0,0 +1,3 @@
+<cpu mode='host-model' match='exact'>
+ <model fallback='allow'>power7+</model>
+</cpu>
diff --git a/tests/cputestdata/ppc64-host+guest-compat-none.xml b/tests/cputestdata/ppc64-host+guest-compat-none.xml
new file mode 100644
index 0000000..188ebeb
--- /dev/null
+++ b/tests/cputestdata/ppc64-host+guest-compat-none.xml
@@ -0,0 +1,3 @@
+<cpu mode='host-model'>
+ <model fallback='allow'/>
+</cpu>
diff --git a/tests/cputestdata/ppc64-host+guest-compat-valid.xml b/tests/cputestdata/ppc64-host+guest-compat-valid.xml
new file mode 100644
index 0000000..da9cc91
--- /dev/null
+++ b/tests/cputestdata/ppc64-host+guest-compat-valid.xml
@@ -0,0 +1,3 @@
+<cpu mode='host-model' match='exact'>
+ <model fallback='allow'>power6</model>
+</cpu>
diff --git a/tests/cputestdata/ppc64-host+guest-host-model.xml b/tests/cputestdata/ppc64-host+guest-host-model.xml
new file mode 100644
index 0000000..188ebeb
--- /dev/null
+++ b/tests/cputestdata/ppc64-host+guest-host-model.xml
@@ -0,0 +1,3 @@
+<cpu mode='host-model'>
+ <model fallback='allow'/>
+</cpu>
diff --git a/tests/cputestdata/ppc64-host+guest-legacy-incompatible.xml b/tests/cputestdata/ppc64-host+guest-legacy-incompatible.xml
new file mode 100644
index 0000000..f5b8384
--- /dev/null
+++ b/tests/cputestdata/ppc64-host+guest-legacy-incompatible.xml
@@ -0,0 +1,3 @@
+<cpu mode='custom' match='exact'>
+ <model fallback='allow'>POWER8_v1.0</model>
+</cpu>
diff --git a/tests/cputestdata/ppc64-host+guest-legacy-invalid.xml b/tests/cputestdata/ppc64-host+guest-legacy-invalid.xml
new file mode 100644
index 0000000..be059c3
--- /dev/null
+++ b/tests/cputestdata/ppc64-host+guest-legacy-invalid.xml
@@ -0,0 +1,3 @@
+<cpu mode='custom' match='exact'>
+ <model fallback='allow'>POWER8E_v1.0</model>
+</cpu>
diff --git a/tests/cputestdata/ppc64-host+guest-legacy.xml b/tests/cputestdata/ppc64-host+guest-legacy.xml
new file mode 100644
index 0000000..36bae52
--- /dev/null
+++ b/tests/cputestdata/ppc64-host+guest-legacy.xml
@@ -0,0 +1,3 @@
+<cpu mode='custom' match='exact'>
+ <model fallback='allow'>POWER7_v2.3</model>
+</cpu>
diff --git a/tests/cputestdata/ppc64-host+guest-nofallback.xml b/tests/cputestdata/ppc64-host+guest-nofallback.xml
new file mode 100644
index 0000000..0223018
--- /dev/null
+++ b/tests/cputestdata/ppc64-host+guest-nofallback.xml
@@ -0,0 +1,3 @@
+<cpu mode='custom' match='exact'>
+ <model fallback='forbid'>POWER8</model>
+</cpu>
diff --git a/tests/cputestdata/ppc64-host+guest.xml b/tests/cputestdata/ppc64-host+guest.xml
new file mode 100644
index 0000000..7fac4b7
--- /dev/null
+++ b/tests/cputestdata/ppc64-host+guest.xml
@@ -0,0 +1,3 @@
+<cpu mode='custom' match='exact'>
+ <model fallback='allow'>POWER7</model>
+</cpu>
--
2.5.0