diff mbox

[kvm-unit-tests,2/2] x86/vmx: report failure if tests don't progress as expected

Message ID 20170703175853.1939-3-rkrcmar@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Radim Krčmář July 3, 2017, 5:58 p.m. UTC
The test could have reported PASS even though it unexpectedly ended.
Make sure they FAIL.

Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
---
 x86/vmx_tests.c | 40 ++++++++++++++++++++--------------------
 1 file changed, 20 insertions(+), 20 deletions(-)
diff mbox

Patch

diff --git a/x86/vmx_tests.c b/x86/vmx_tests.c
index 25e91aa81477..f353f234f39b 100644
--- a/x86/vmx_tests.c
+++ b/x86/vmx_tests.c
@@ -167,7 +167,7 @@  int preemption_timer_exit_handler()
 			       saved_rip == guest_rip);
 			break;
 		default:
-			printf("Invalid stage.\n");
+			report("Invalid stage.", false);
 			print_vmexit_info();
 			break;
 		}
@@ -208,14 +208,14 @@  int preemption_timer_exit_handler()
 			break;
 		default:
 			// Should not reach here
-			printf("ERROR : unexpected stage, %d\n",
+			report("unexpected stage, %d", false,
 			       vmx_get_test_stage());
 			print_vmexit_info();
 			return VMX_TEST_VMEXIT;
 		}
 		break;
 	default:
-		printf("Unknown exit reason, %ld\n", reason);
+		report("Unknown exit reason, %ld", false, reason);
 		print_vmexit_info();
 	}
 	vmcs_write(PIN_CONTROLS, vmcs_read(PIN_CONTROLS) & ~PIN_PREEMPT);
@@ -512,7 +512,7 @@  static int cr_shadowing_exit_handler()
 			break;
 		default:
 			// Should not reach here
-			printf("ERROR : unexpected stage, %d\n",
+			report("unexpected stage, %d", false,
 			       vmx_get_test_stage());
 			print_vmexit_info();
 			return VMX_TEST_VMEXIT;
@@ -551,7 +551,7 @@  static int cr_shadowing_exit_handler()
 			break;
 		default:
 			// Should not reach here
-			printf("ERROR : unexpected stage, %d\n",
+			report("unexpected stage, %d", false,
 			       vmx_get_test_stage());
 			print_vmexit_info();
 			return VMX_TEST_VMEXIT;
@@ -559,7 +559,7 @@  static int cr_shadowing_exit_handler()
 		vmcs_write(GUEST_RIP, guest_rip + insn_len);
 		return VMX_TEST_RESUME;
 	default:
-		printf("Unknown exit reason, %ld\n", reason);
+		report("Unknown exit reason, %ld", false, reason);
 		print_vmexit_info();
 	}
 	return VMX_TEST_VMEXIT;
@@ -690,7 +690,7 @@  static int iobmp_exit_handler()
 			break;
 		default:
 			// Should not reach here
-			printf("ERROR : unexpected stage, %d\n",
+			report("unexpected stage, %d", false,
 			       vmx_get_test_stage());
 			print_vmexit_info();
 			return VMX_TEST_VMEXIT;
@@ -711,7 +711,7 @@  static int iobmp_exit_handler()
 			break;
 		default:
 			// Should not reach here
-			printf("ERROR : unexpected stage, %d\n",
+			report("unexpected stage, %d", false,
 			       vmx_get_test_stage());
 			print_vmexit_info();
 			return VMX_TEST_VMEXIT;
@@ -1141,7 +1141,7 @@  static int pml_exit_handler(void)
 			clear_ept_ad(pml4, guest_cr3, (unsigned long)data_page2);
 			break;
 		default:
-			printf("ERROR - unexpected stage, %d.\n",
+			report("unexpected stage, %d.", false,
 			       vmx_get_test_stage());
 			print_vmexit_info();
 			return VMX_TEST_VMEXIT;
@@ -1153,7 +1153,7 @@  static int pml_exit_handler(void)
 		vmcs_write(GUEST_PML_INDEX, PML_INDEX - 1);
 		return VMX_TEST_RESUME;
 	default:
-		printf("Unknown exit reason, %ld\n", reason);
+		report("Unknown exit reason, %ld", false, reason);
 		print_vmexit_info();
 	}
 	return VMX_TEST_VMEXIT;
@@ -1234,7 +1234,7 @@  static int ept_exit_handler_common(bool have_ad)
 			break;
 		// Should not reach here
 		default:
-			printf("ERROR - unexpected stage, %d.\n",
+			report("ERROR - unexpected stage, %d.", false,
 			       vmx_get_test_stage());
 			print_vmexit_info();
 			return VMX_TEST_VMEXIT;
@@ -1253,7 +1253,7 @@  static int ept_exit_handler_common(bool have_ad)
 			break;
 		// Should not reach here
 		default:
-			printf("ERROR - unexpected stage, %d.\n",
+			report("ERROR - unexpected stage, %d.", false,
 			       vmx_get_test_stage());
 			print_vmexit_info();
 			return VMX_TEST_VMEXIT;
@@ -1286,14 +1286,14 @@  static int ept_exit_handler_common(bool have_ad)
 			break;
 		default:
 			// Should not reach here
-			printf("ERROR : unexpected stage, %d\n",
+			report("ERROR : unexpected stage, %d", false,
 			       vmx_get_test_stage());
 			print_vmexit_info();
 			return VMX_TEST_VMEXIT;
 		}
 		return VMX_TEST_RESUME;
 	default:
-		printf("Unknown exit reason, %ld\n", reason);
+		report("Unknown exit reason, %ld", false, reason);
 		print_vmexit_info();
 	}
 	return VMX_TEST_VMEXIT;
@@ -1445,7 +1445,7 @@  static int vpid_exit_handler()
 				vmx_inc_test_stage();
 			break;
 		default:
-			printf("ERROR: unexpected stage, %d\n",
+			report("ERROR: unexpected stage, %d", false,
 					vmx_get_test_stage());
 			print_vmexit_info();
 			return VMX_TEST_VMEXIT;
@@ -1453,7 +1453,7 @@  static int vpid_exit_handler()
 		vmcs_write(GUEST_RIP, guest_rip + insn_len);
 		return VMX_TEST_RESUME;
 	default:
-		printf("Unknown exit reason, %ld\n", reason);
+		report("Unknown exit reason, %ld", false, reason);
 		print_vmexit_info();
 	}
 	return VMX_TEST_VMEXIT;
@@ -1610,7 +1610,7 @@  static int interrupt_exit_handler(void)
 			vmcs_write(GUEST_ACTV_STATE, ACTV_ACTIVE);
 		return VMX_TEST_RESUME;
 	default:
-		printf("Unknown exit reason, %ld\n", reason);
+		report("Unknown exit reason, %ld", false, reason);
 		print_vmexit_info();
 	}
 
@@ -1723,7 +1723,7 @@  static int dbgctls_exit_handler(void)
 		vmcs_write(GUEST_RIP, guest_rip + insn_len);
 		return VMX_TEST_RESUME;
 	default:
-		printf("Unknown exit reason, %d\n", reason);
+		report("Unknown exit reason, %d", false, reason);
 		print_vmexit_info();
 	}
 	return VMX_TEST_VMEXIT;
@@ -1845,7 +1845,7 @@  static int vmmcall_exit_handler()
 		       (vmcs_read(EXI_INTR_INFO) & 0xff) == UD_VECTOR);
 		break;
 	default:
-		printf("Unknown exit reason, %ld\n", reason);
+		report("Unknown exit reason, %ld", false, reason);
 		print_vmexit_info();
 	}
 
@@ -1917,7 +1917,7 @@  static int disable_rdtscp_exit_handler(void)
 		break;
 
 	default:
-		printf("Unknown exit reason, %d\n", reason);
+		report("Unknown exit reason, %d", false, reason);
 		print_vmexit_info();
 	}
 	return VMX_TEST_VMEXIT;