diff --git a/qemu/tests/cfg/enforce_quit.cfg b/qemu/tests/cfg/enforce_quit.cfg index 19edba52e9c89924a57912d4c49cd504edefdc99..ff1845f3060d45d797c9c7b9cc93156ae201b4c8 100644 --- a/qemu/tests/cfg/enforce_quit.cfg +++ b/qemu/tests/cfg/enforce_quit.cfg @@ -3,6 +3,12 @@ start_vm = "no" no Host_RHEL.5 cpu_model_flags = ",enforce" + Host_RHEL.6: + msg_unavailable = "flag restricted to guest:lacks requested flag" + msg_unknow = "not found" + Host_RHEL.7: + msg_unavailable = "host doesn't support requested feature" + msg_unknow = "not found" variants: - intel_model: auto_cpu_model = "no" diff --git a/qemu/tests/enforce_quit.py b/qemu/tests/enforce_quit.py index 25640af3975e75e5afeb4aa90adce541f946c81d..a578edfeb224a247160e07c2065ed313a703acfc 100644 --- a/qemu/tests/enforce_quit.py +++ b/qemu/tests/enforce_quit.py @@ -41,19 +41,23 @@ def run(test, params, env): if "enforce" not in extra_flags: raise error.TestError("pls add 'enforce' params to the cmd line") - msg_res = params.get("msg_restricted", "flag restricted to guest") - msg_lack = params.get("msg_lack", "lacks requested flag") + msg_unavailable = params.get("msg_unavailable", "").split(":") msg_unknow = params.get("msg_unknow", "not found") try: error.context("boot guest with -cpu %s,%s" % (guest_cpumodel, - extra_flags), logging.info) + extra_flags), + logging.info) params["start_vm"] = "yes" env_process.preprocess_vm(test, params, env, params.get("main_vm")) - except Exception, e: - if msg_lack in str(e) or msg_res in str(e) or msg_unknow in str(e): - logging.info("flags lacked in host, guest force quit") + except Exception, err: + tmp_flag = False + for msg in msg_unavailable: + if msg in str(err): + tmp_flag = True + if tmp_flag or msg_unknow in str(err): + logging.info("unavailable host feature, guest force quit") else: - raise error.TestFail("guest quit with error\n%s" % str(e)) + raise error.TestFail("guest quit with error\n%s" % str(err)) vm = env.get_vm(params["main_vm"]) if force_quit: