提交 8a6e4e29 编写于 作者: E Eduardo Habkost 提交者: Lucas Meneghel Rodrigues

qemu_cpu.cfg: create per-CPU-model variants

This will allow us to more easily filter and combine CPU models with the
multiple test cases we have. We can easily introduce new tests that will
automatically be run once for each known CPU model.

Test cases that don't need to be re-run for each CPU model can use the
"cpu.unset" variant that doesn't set any specific cpu_model option.

This also introduces "kvm" and "nokvm" variants, to allow test cases to
be run with KVM disabled and enabled, if necessary.

This way the test output will now look like this:

    (1/94) qemu_cpu.check_models.kvm.cpu.intel.486.qemu13: PASS (0.42 s)
    (2/94) qemu_cpu.check_models.kvm.cpu.intel.core2duo.qemu13: PASS (0.44 s)
    [...]
    (49/94) qemu_cpu.cpuid.default.vendor.nokvm.cpu.intel.core2duo.qemu13: PASS (20.63 s)
    (50/94) qemu_cpu.cpuid.default.vendor.nokvm.cpu.intel.kvm32.qemu13: PASS (21.66 s)
    [...]
    (62/94) qemu_cpu.cpuid.default.vendor.nokvm.cpu.intel.SandyBridge.qemu13: PASS (20.58 s)
    (63/94) qemu_cpu.cpuid.default.vendor.nokvm.cpu.intel.Haswell.qemu13: PASS (20.52 s)
    (64/94) qemu_cpu.cpuid.default.vendor.nokvm.cpu.amd.qemu64.qemu13: PASS (21.51 s)
    (65/94) qemu_cpu.cpuid.default.vendor.nokvm.cpu.amd.phenom.qemu13: PASS (20.53 s)
    [...]
    (71/94) qemu_cpu.cpuid.default.vendor.nokvm.cpu.amd.Opteron_G5.qemu13: PASS (21.59 s)
    (72/94) qemu_cpu.cpuid.custom.vendor.normal.kvm.cpu.unset.qemu13: PASS (20.53 s)
    (73/94) qemu_cpu.cpuid.custom.vendor.tooshort.kvm.cpu.unset.qemu13: PASS (0.87 s)
    (74/94) qemu_cpu.cpuid.custom.vendor.empty.kvm.cpu.unset.qemu13: PASS (0.81 s)
    (75/94) qemu_cpu.cpuid.custom.level.level5.kvm.cpu.unset.qemu13: PASS (20.60 s)
    [...]
Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
上级 6639e17a
......@@ -18,59 +18,116 @@
#only rhel64
#only qemu13
# CPU model lists:
variants:
- cpu.unset:
# this variant will not force cpu_model to any value
- cpu.intel:
variants:
- 486:
cpu_model = "486"
- core2duo:
cpu_model = "core2duo"
- kvm32:
cpu_model = "kvm32"
- kvm64:
cpu_model = "kvm64"
- qemu32:
cpu_model = "qemu32"
- coreduo:
cpu_model = "coreduo"
- pentium:
cpu_model = "pentium"
- pentium2:
cpu_model = "pentium2"
- pentium3:
cpu_model = "pentium3"
- n270:
cpu_model = "n270"
- Conroe:
cpu_model = "Conroe"
- Penryn:
cpu_model = "Penryn"
- Nehalem:
cpu_model = "Nehalem"
- Westmere:
cpu_model = "Westmere"
- SandyBridge:
cpu_model = "SandyBridge"
- Haswell:
cpu_model = "Haswell"
- cpu.amd:
variants:
- qemu64:
cpu_model = "qemu64"
- phenom:
cpu_model = "phenom"
- athlon:
cpu_model = "athlon"
- Opteron_G1:
cpu_model = "Opteron_G1"
- Opteron_G2:
cpu_model = "Opteron_G2"
- Opteron_G3:
cpu_model = "Opteron_G3"
- Opteron_G4:
cpu_model = "Opteron_G4"
- Opteron_G5:
cpu_model = "Opteron_G5"
- cpu64_rhel6:
only rhel64
cpu_model = "cpu64-rhel6"
- cpu64_rhel4:
only rhel64
cpu_model = "cpu64-rhel5"
variants:
- kvm:
- nokvm:
enable_kvm = "no"
disable_kvm = "yes"
variants:
- check_models:
test_type = "test_qemu_cpu_models_list"
no cpu.unset
# no need to check this with both kvm enabled and disabled:
only nokvm
# we don't know if all models will be available if QEMU
# version is unknown:
no unknown_qemu
cpu_models = "qemu64 phenom core2duo kvm64 qemu32"
cpu_models += " coreduo 486 pentium pentium2"
cpu_models += " pentium3 athlon n270 Conroe Penryn"
cpu_models += " Nehalem Westmere SandyBridge Haswell"
cpu_models += " Opteron_G1 Opteron_G2 Opteron_G3"
cpu_models += " Opteron_G4 Opteron_G5"
rhel64:
cpu_models += " cpu64-rhel6 cpu64-rhel5"
qemu13:
cpu_models += " kvm32"
# CPUID data tests:
- cpuid:
# 486 is excluded due to not supporting cpuid
no 486
variants:
- default.vendor:
test_type = "default_vendor"
variants:
- kvm:
# when KVM is enabled, all CPU models have vendor set
# to match host, by default
cpu_models = "*"
# 486 is excluded due to not supporting cpuid
ignore_cpu_models = "486"
# if 'vendor' is missing then host's vendor value is used
# kvm by default overides vendor with host's value
- nokvm:
disable_kvm = "yes"
# we don't know if all models will be available if QEMU
# version is unknown:
no unknown_qemu
variants:
- intel:
vendor = "GenuineIntel"
cpu_models = "core2duo kvm64 qemu32"
cpu_models += " coreduo pentium pentium2"
cpu_models += " pentium3 n270 Conroe Penryn"
cpu_models += " Nehalem Westmere"
cpu_models += " SandyBridge Haswell"
- amd:
vendor = "AuthenticAMD"
cpu_models = "qemu64 phenom athlon"
cpu_models += " Opteron_G1 Opteron_G2"
cpu_models += " Opteron_G3 Opteron_G4"
cpu_models += " Opteron_G5"
rhel64:
cpu_models += " cpu64-rhel6 cpu64-rhel5"
kvm:
# when KVM is enabled, all CPU models have vendor set
# to match host, by default
vendor = "host"
# instead of running one test case per CPU model,
# run only one test that checks every single model,
# even the ones not listed in the "cpu.*" variants above
only cpu.unset
cpu_models = "*"
nokvm:
# we don't know if all models will be available if QEMU
# version is unknown:
no unknown_qemu
only cpu.intel cpu.amd
cpu.intel:
vendor = "GenuineIntel"
cpu.amd:
vendor = "AuthenticAMD"
- custom:
disable_kvm = yes
# run these tests only with kvm disabled:
only nokvm
# the checks below will be run without setting the CPU model
# explicitly. they can be repeated for each known CPU model
# if removing the following line:
only cpu.unset
variants:
- vendor:
test_type = "custom_vendor"
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册