Re: [PATCH kvm-unit-tests 2/6] x86/*: report skipped tests

Andrew Jones
2015-12-14T22:07:39Z

On Mon, Dec 14, 2015 at 10:24:17PM +0100, Radim Krčmář wrote:
> No care to consistency or exhaustivity was given.
>
> (svm-disabled test should be redone and it's weird that x86/hyperv_synic
> is about the only one that does report_skip when unsupported.)
>
> Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
> ---
> x86/apic.c | 7 +++----
> x86/emulator.c | 2 +-
> x86/hyperv_synic.c | 2 +-
> x86/pku.c | 2 +-
> x86/pmu.c | 2 +-
> x86/smap.c | 2 +-
> x86/svm.c | 2 +-
> x86/tsc.c | 2 +-
> 8 files changed, 10 insertions(+), 11 deletions(-)
>
> diff --git a/x86/apic.c b/x86/apic.c
> index d4eec529e535..57af86de8f8c 100644
> --- a/x86/apic.c
> +++ b/x86/apic.c
> @@ -27,7 +27,7 @@ static void tsc_deadline_timer_isr(isr_regs_t *regs)
> ++tdt_count;
> }
>
> -static void start_tsc_deadline_timer(void)
> +static void __test_tsc_deadline_timer(void)
> {
> handle_irq(TSC_DEADLINE_TIMER_VECTOR, tsc_deadline_timer_isr);
> irq_enable();
> @@ -45,7 +45,6 @@ static int enable_tsc_deadline_timer(void)
> if (cpuid(1).c & (1 << 24)) {
> lvtt = TSC_DEADLINE_TIMER_MODE | TSC_DEADLINE_TIMER_VECTOR;
> apic_write(APIC_LVTT, lvtt);
> - start_tsc_deadline_timer();
> return 1;
> } else {
> return 0;
> @@ -55,9 +54,9 @@ static int enable_tsc_deadline_timer(void)
> static void test_tsc_deadline_timer(void)
> {
> if(enable_tsc_deadline_timer()) {
> - printf("tsc deadline timer enabled\n");
> + __test_tsc_deadline_timer();
> } else {
> - printf("tsc deadline timer not detected\n");
> + report_skip("tsc deadline timer not detected\n");

You probably don't want this '\n' anymore.

> }
> }
>
> diff --git a/x86/emulator.c b/x86/emulator.c
> index e5c1c6b9a2f3..b64a5fe0f3dc 100644
> --- a/x86/emulator.c
> +++ b/x86/emulator.c
> @@ -1062,7 +1062,7 @@ static void illegal_movbe_handler(struct ex_regs *regs)
> static void test_illegal_movbe(void)
> {
> if (!(cpuid(1).c & (1 << 22))) {
> - printf("SKIP: illegal movbe\n");
> + report_skip("illegal movbe");
> return;
> }
>
> diff --git a/x86/hyperv_synic.c b/x86/hyperv_synic.c
> index 18d1295bfb37..602b79392bfd 100644
> --- a/x86/hyperv_synic.c
> +++ b/x86/hyperv_synic.c
> @@ -228,7 +228,7 @@ int main(int ac, char **av)
>
> report("Hyper-V SynIC test", ok);
> } else {
> - report("Hyper-V SynIC is not supported", true);
> + report_skip("Hyper-V SynIC is not supported");
> }
>
> return report_summary();
> diff --git a/x86/pku.c b/x86/pku.c
> index 0e00b9984d70..58971d21ed05 100644
> --- a/x86/pku.c
> +++ b/x86/pku.c
> @@ -91,7 +91,7 @@ int main(int ac, char **av)
>
> if (!(cpuid_indexed(7, 0).c & (1 << X86_FEATURE_PKU))) {
> printf("PKU not enabled, exiting\n");
> - exit(1);
> + return report_summary();
> }
>
> setup_vm();
> diff --git a/x86/pmu.c b/x86/pmu.c
> index 03f80190bb25..c68980044dee 100644
> --- a/x86/pmu.c
> +++ b/x86/pmu.c
> @@ -387,7 +387,7 @@ int main(int ac, char **av)
>
> if (!eax.split.version_id) {
> printf("No pmu is detected!\n");
> - return 1;
> + return report_summary();
> }
> printf("PMU version: %d\n", eax.split.version_id);
> printf("GP counters: %d\n", eax.split.num_counters);
> diff --git a/x86/smap.c b/x86/smap.c
> index d8a7ae82dc00..0aa44054bd48 100644
> --- a/x86/smap.c
> +++ b/x86/smap.c
> @@ -93,7 +93,7 @@ int main(int ac, char **av)
>
> if (!(cpuid_indexed(7, 0).b & (1 << X86_FEATURE_SMAP))) {
> printf("SMAP not enabled, exiting\n");
> - exit(1);
> + return report_summary();
> }
>
> setup_vm();
> diff --git a/x86/svm.c b/x86/svm.c
> index 1046ddf73732..ff1a0f34b4bf 100644
> --- a/x86/svm.c
> +++ b/x86/svm.c
> @@ -1064,7 +1064,7 @@ int main(int ac, char **av)
>
> if (!(cpuid(0x80000001).c & 4)) {
> printf("SVM not availble\n");
> - return 0;
> + return report_summary();
> }
>
> setup_svm();
> diff --git a/x86/tsc.c b/x86/tsc.c
> index c71dc2a7abe0..ee247459fb42 100644
> --- a/x86/tsc.c
> +++ b/x86/tsc.c
> @@ -43,5 +43,5 @@ int main()
> test_rdtscp(0x100);
> } else
> printf("rdtscp not supported\n");
> - return 0;
> + return report_summary();
> }
> --
> 2.6.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html