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(-)
--
2.17.2
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 <[email protected]>
---
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);
}
}
--
2.17.2
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