render / rpms / libvirt

Forked from rpms/libvirt 10 months ago
Clone
Blob Blame History Raw
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