The following patch's commit message is self-explanatory about this proposal.
I adjusted to use TEST_FAIL only a few source files, in reality it will need to change all the ones listed below. I will proceed with the adjustments if this new macro idea is accepted.
$ find . -type f -name "*.c" -exec grep -l "TEST_ASSERT(false" {} ; ./lib/kvm_util.c ./lib/io.c ./lib/x86_64/processor.c ./lib/aarch64/ucall.c ./lib/aarch64/processor.c ./x86_64/vmx_dirty_log_test.c ./x86_64/state_test.c ./x86_64/vmx_tsc_adjust_test.c ./x86_64/svm_vmcall_test.c ./x86_64/evmcs_test.c ./x86_64/vmx_close_while_nested_test.c
Wainer dos Santos Moschetta (1): kvm: selftests: Add TEST_FAIL macro
tools/testing/selftests/kvm/dirty_log_test.c | 7 +++---- tools/testing/selftests/kvm/include/test_util.h | 3 +++ tools/testing/selftests/kvm/x86_64/cr4_cpuid_sync_test.c | 4 ++-- 3 files changed, 8 insertions(+), 6 deletions(-)
Some tests/utilities use the TEST_ASSERT(false, ...) pattern to indicate a failure and stop execution.
This change introduces the TEST_FAIL macro which is a wrap around TEST_ASSERT(false, ...) and so provides a direct alternative for failing a test.
Signed-off-by: Wainer dos Santos Moschetta wainersm@redhat.com --- tools/testing/selftests/kvm/dirty_log_test.c | 7 +++---- tools/testing/selftests/kvm/include/test_util.h | 3 +++ tools/testing/selftests/kvm/x86_64/cr4_cpuid_sync_test.c | 4 ++-- 3 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/tools/testing/selftests/kvm/dirty_log_test.c b/tools/testing/selftests/kvm/dirty_log_test.c index 5614222a6628..137c1cfec2cc 100644 --- a/tools/testing/selftests/kvm/dirty_log_test.c +++ b/tools/testing/selftests/kvm/dirty_log_test.c @@ -166,10 +166,9 @@ static void *vcpu_worker(void *data) pages_count += TEST_PAGES_PER_LOOP; generate_random_array(guest_array, TEST_PAGES_PER_LOOP); } else { - TEST_ASSERT(false, - "Invalid guest sync status: " - "exit_reason=%s\n", - exit_reason_str(run->exit_reason)); + TEST_FAIL("Invalid guest sync status: " + "exit_reason=%s\n", + exit_reason_str(run->exit_reason)); } }
diff --git a/tools/testing/selftests/kvm/include/test_util.h b/tools/testing/selftests/kvm/include/test_util.h index a41db6fb7e24..336b16500b0f 100644 --- a/tools/testing/selftests/kvm/include/test_util.h +++ b/tools/testing/selftests/kvm/include/test_util.h @@ -39,4 +39,7 @@ void test_assert(bool exp, const char *exp_str, #a, #b, #a, (unsigned long) __a, #b, (unsigned long) __b); \ } while (0)
+#define TEST_FAIL(fmt, ...) \ + TEST_ASSERT(false, fmt, ##__VA_ARGS__) + #endif /* SELFTEST_KVM_TEST_UTIL_H */ diff --git a/tools/testing/selftests/kvm/x86_64/cr4_cpuid_sync_test.c b/tools/testing/selftests/kvm/x86_64/cr4_cpuid_sync_test.c index 63cc9c3f5ab6..501d6217b9ed 100644 --- a/tools/testing/selftests/kvm/x86_64/cr4_cpuid_sync_test.c +++ b/tools/testing/selftests/kvm/x86_64/cr4_cpuid_sync_test.c @@ -101,12 +101,12 @@ int main(int argc, char *argv[]) vcpu_sregs_set(vm, VCPU_ID, &sregs); break; case UCALL_ABORT: - TEST_ASSERT(false, "Guest CR4 bit (OSXSAVE) unsynchronized with CPUID bit."); + TEST_FAIL("Guest CR4 bit (OSXSAVE) unsynchronized with CPUID bit."); break; case UCALL_DONE: goto done; default: - TEST_ASSERT(false, "Unknown ucall 0x%x.", uc.cmd); + TEST_FAIL("Unknown ucall 0x%x.", uc.cmd); } }
On 05/03/20 18:25, Wainer dos Santos Moschetta wrote:
The following patch's commit message is self-explanatory about this proposal.
I adjusted to use TEST_FAIL only a few source files, in reality it will need to change all the ones listed below. I will proceed with the adjustments if this new macro idea is accepted.
$ find . -type f -name "*.c" -exec grep -l "TEST_ASSERT(false" {} ; ./lib/kvm_util.c ./lib/io.c ./lib/x86_64/processor.c ./lib/aarch64/ucall.c ./lib/aarch64/processor.c ./x86_64/vmx_dirty_log_test.c ./x86_64/state_test.c ./x86_64/vmx_tsc_adjust_test.c ./x86_64/svm_vmcall_test.c ./x86_64/evmcs_test.c ./x86_64/vmx_close_while_nested_test.c
Wainer dos Santos Moschetta (1): kvm: selftests: Add TEST_FAIL macro
tools/testing/selftests/kvm/dirty_log_test.c | 7 +++---- tools/testing/selftests/kvm/include/test_util.h | 3 +++ tools/testing/selftests/kvm/x86_64/cr4_cpuid_sync_test.c | 4 ++-- 3 files changed, 8 insertions(+), 6 deletions(-)
Yes, why not.
Paolo
linux-kselftest-mirror@lists.linaro.org