qemu.tests: Add flag_check test cases
1. boot guest with -cpu model,+extra_flags (extra_flags is optional) a. no defined model_name in cfg file guest_model = host_model b. model_name defined in cfg file guest_model = params.get("cpu_model") 2. get guest flags 3. get expected model flags from dump file a. -cpu host: qemu_model = host_model b. guest_model > host_model --> expected_model = host_model e.g guest_model = Haswell, host_model = Sandybridge expected_model = Sandybridge c. guest_model < host_model --> expected_model = guest_model 4. get extra flags a. add_flags = +flag 1). flag is exposed to guest if it's supported in host 2). flag is not supported to guest if it's unknown in host 3). ignore "check", "enforce" which are params not flag b. del_flags = -flag flag is removed if it's supported in guest c. params check: check lack flag in host include unknow flag 5. compare expected flag with flags in guest a. out_flags: not supported with some conf, this kinds of flag will be displayed in dump file, but not in guest. e.g tsc-dedline is not supported with -M rhel6.3.0 b. option_flags: some flag is generated by kernel which is not defined in dump file. it's acceptable when display in guest. e.g rep_good expected_flags = expected_model_flags + add_flags - del_flags - out_flags miss_flag = expected_flags - guest_flags unexpect_flag = guest_flags - expected_flags - option_flags Change v1: 1). add model_info check 2). improve for loop 3). put sub-func at the top Change from v2: 1). move qemu_binary to function get_all_support_flags() 2). add flags value check Change from v3: Add one more blank line between functions Change from v4: change more_flags to unexpect_flag improve get_extra_flags function Change from V5: 1). remove unused model 2). add try, except for m.groups()[0] 3). result format of -cpu ? are diff between rhel6, and rhel7, set pattern in config file Change from V6: 1). update flag.groups() to flag_list.groups() 2). add blank space between "" and , Signed-off-by: NSuqin Huang <shuang@redhat.com> Acked-by: NXu Tian <xutian@redhat.com> Update the dump_file dir to make it accept local file. And update some flags should in option_flags. Signed-off-by: NYiqiao Pu <ypu@redhat.com>
Showing
qemu/tests/cfg/flag_check.cfg
0 → 100644
qemu/tests/flag_check.py
0 → 100644
想要评论请 注册 或 登录