* [PATCH] KVM: selftests: Drop newline from __TEST_REQUIRE
@ 2023-11-30 18:28 Andrew Jones
2023-11-30 19:16 ` Sean Christopherson
0 siblings, 1 reply; 5+ messages in thread
From: Andrew Jones @ 2023-11-30 18:28 UTC (permalink / raw)
To: kvm, kvmarm; +Cc: seanjc, pbonzini, maz, oliver.upton
A few __TEST_REQUIRE callers are appending their own newline, resulting
in an extra one being output. Rather than remove the newlines from
those callers, remove it from __TEST_REQUIRE and add newlines to all
the other callers, as __TEST_REQUIRE was the only output function
appending newlines and consistency is a good thing.
Signed-off-by: Andrew Jones <ajones@ventanamicro.com>
---
Applies to kvm-x86/selftests (I chose that branch to ensure I got the
MAGIC_TOKEN change)
tools/testing/selftests/kvm/aarch64/arch_timer.c | 4 ++--
tools/testing/selftests/kvm/aarch64/debug-exceptions.c | 4 ++--
tools/testing/selftests/kvm/aarch64/vgic_irq.c | 2 +-
tools/testing/selftests/kvm/aarch64/vpmu_counter_access.c | 2 +-
tools/testing/selftests/kvm/access_tracking_perf_test.c | 4 ++--
tools/testing/selftests/kvm/include/test_util.h | 4 ++--
tools/testing/selftests/kvm/lib/kvm_util.c | 2 +-
tools/testing/selftests/kvm/lib/x86_64/processor.c | 4 ++--
tools/testing/selftests/kvm/rseq_test.c | 2 +-
tools/testing/selftests/kvm/system_counter_offset_test.c | 2 +-
tools/testing/selftests/kvm/x86_64/nx_huge_pages_test.c | 2 +-
11 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/tools/testing/selftests/kvm/aarch64/arch_timer.c b/tools/testing/selftests/kvm/aarch64/arch_timer.c
index 274b8465b42a..89b93e342654 100644
--- a/tools/testing/selftests/kvm/aarch64/arch_timer.c
+++ b/tools/testing/selftests/kvm/aarch64/arch_timer.c
@@ -392,7 +392,7 @@ static struct kvm_vm *test_vm_create(void)
test_init_timer_irq(vm);
gic_fd = vgic_v3_setup(vm, nr_vcpus, 64, GICD_BASE_GPA, GICR_BASE_GPA);
- __TEST_REQUIRE(gic_fd >= 0, "Failed to create vgic-v3");
+ __TEST_REQUIRE(gic_fd >= 0, "Failed to create vgic-v3\n");
/* Make all the test's cmdline args visible to the guest */
sync_global_to_guest(vm, test_args);
@@ -470,7 +470,7 @@ int main(int argc, char *argv[])
exit(KSFT_SKIP);
__TEST_REQUIRE(!test_args.migration_freq_ms || get_nprocs() >= 2,
- "At least two physical CPUs needed for vCPU migration");
+ "At least two physical CPUs needed for vCPU migration\n");
vm = test_vm_create();
test_run(vm);
diff --git a/tools/testing/selftests/kvm/aarch64/debug-exceptions.c b/tools/testing/selftests/kvm/aarch64/debug-exceptions.c
index 866002917441..19088a971b1f 100644
--- a/tools/testing/selftests/kvm/aarch64/debug-exceptions.c
+++ b/tools/testing/selftests/kvm/aarch64/debug-exceptions.c
@@ -540,7 +540,7 @@ void test_guest_debug_exceptions_all(uint64_t aa64dfr0)
/* Number of breakpoints */
brp_num = FIELD_GET(ARM64_FEATURE_MASK(ID_AA64DFR0_EL1_BRPs), aa64dfr0) + 1;
- __TEST_REQUIRE(brp_num >= 2, "At least two breakpoints are required");
+ __TEST_REQUIRE(brp_num >= 2, "At least two breakpoints are required\n");
/* Number of watchpoints */
wrp_num = FIELD_GET(ARM64_FEATURE_MASK(ID_AA64DFR0_EL1_WRPs), aa64dfr0) + 1;
@@ -585,7 +585,7 @@ int main(int argc, char *argv[])
vm = vm_create_with_one_vcpu(&vcpu, guest_code);
vcpu_get_reg(vcpu, KVM_ARM64_SYS_REG(SYS_ID_AA64DFR0_EL1), &aa64dfr0);
__TEST_REQUIRE(debug_version(aa64dfr0) >= 6,
- "Armv8 debug architecture not supported.");
+ "Armv8 debug architecture not supported.\n");
kvm_vm_free(vm);
while ((opt = getopt(argc, argv, "i:")) != -1) {
diff --git a/tools/testing/selftests/kvm/aarch64/vgic_irq.c b/tools/testing/selftests/kvm/aarch64/vgic_irq.c
index 2e64b4856e38..e4452c4b60c2 100644
--- a/tools/testing/selftests/kvm/aarch64/vgic_irq.c
+++ b/tools/testing/selftests/kvm/aarch64/vgic_irq.c
@@ -766,7 +766,7 @@ static void test_vgic(uint32_t nr_irqs, bool level_sensitive, bool eoi_split)
gic_fd = vgic_v3_setup(vm, 1, nr_irqs,
GICD_BASE_GPA, GICR_BASE_GPA);
- __TEST_REQUIRE(gic_fd >= 0, "Failed to create vgic-v3, skipping");
+ __TEST_REQUIRE(gic_fd >= 0, "Failed to create vgic-v3, skipping\n");
vm_install_exception_handler(vm, VECTOR_IRQ_CURRENT,
guest_irq_handlers[args.eoi_split][args.level_sensitive]);
diff --git a/tools/testing/selftests/kvm/aarch64/vpmu_counter_access.c b/tools/testing/selftests/kvm/aarch64/vpmu_counter_access.c
index 5ea78986e665..3c5b83e0e776 100644
--- a/tools/testing/selftests/kvm/aarch64/vpmu_counter_access.c
+++ b/tools/testing/selftests/kvm/aarch64/vpmu_counter_access.c
@@ -458,7 +458,7 @@ static void create_vpmu_vm(void *guest_code)
vpmu_vm.gic_fd = vgic_v3_setup(vpmu_vm.vm, 1, 64,
GICD_BASE_GPA, GICR_BASE_GPA);
__TEST_REQUIRE(vpmu_vm.gic_fd >= 0,
- "Failed to create vgic-v3, skipping");
+ "Failed to create vgic-v3, skipping\n");
/* Make sure that PMUv3 support is indicated in the ID register */
vcpu_get_reg(vpmu_vm.vcpu,
diff --git a/tools/testing/selftests/kvm/access_tracking_perf_test.c b/tools/testing/selftests/kvm/access_tracking_perf_test.c
index 3c7defd34f56..65efec6f4f90 100644
--- a/tools/testing/selftests/kvm/access_tracking_perf_test.c
+++ b/tools/testing/selftests/kvm/access_tracking_perf_test.c
@@ -103,7 +103,7 @@ static uint64_t lookup_pfn(int pagemap_fd, struct kvm_vm *vm, uint64_t gva)
return 0;
pfn = entry & PAGEMAP_PFN_MASK;
- __TEST_REQUIRE(pfn, "Looking up PFNs requires CAP_SYS_ADMIN");
+ __TEST_REQUIRE(pfn, "Looking up PFNs requires CAP_SYS_ADMIN\n");
return pfn;
}
@@ -385,7 +385,7 @@ int main(int argc, char *argv[])
page_idle_fd = open("/sys/kernel/mm/page_idle/bitmap", O_RDWR);
__TEST_REQUIRE(page_idle_fd >= 0,
- "CONFIG_IDLE_PAGE_TRACKING is not enabled");
+ "CONFIG_IDLE_PAGE_TRACKING is not enabled\n");
close(page_idle_fd);
for_each_guest_mode(run_test, ¶ms);
diff --git a/tools/testing/selftests/kvm/include/test_util.h b/tools/testing/selftests/kvm/include/test_util.h
index a0c7dd3a5b30..88763f0e1b78 100644
--- a/tools/testing/selftests/kvm/include/test_util.h
+++ b/tools/testing/selftests/kvm/include/test_util.h
@@ -37,10 +37,10 @@ void __printf(1, 2) print_skip(const char *fmt, ...);
#define __TEST_REQUIRE(f, fmt, ...) \
do { \
if (!(f)) \
- ksft_exit_skip("- " fmt "\n", ##__VA_ARGS__); \
+ ksft_exit_skip("- " fmt, ##__VA_ARGS__); \
} while (0)
-#define TEST_REQUIRE(f) __TEST_REQUIRE(f, "Requirement not met: %s", #f)
+#define TEST_REQUIRE(f) __TEST_REQUIRE(f, "Requirement not met: %s\n", #f)
ssize_t test_write(int fd, const void *buf, size_t count);
ssize_t test_read(int fd, void *buf, size_t count);
diff --git a/tools/testing/selftests/kvm/lib/kvm_util.c b/tools/testing/selftests/kvm/lib/kvm_util.c
index 17a978b8a2c4..7b40990d9b08 100644
--- a/tools/testing/selftests/kvm/lib/kvm_util.c
+++ b/tools/testing/selftests/kvm/lib/kvm_util.c
@@ -27,7 +27,7 @@ int open_path_or_exit(const char *path, int flags)
int fd;
fd = open(path, flags);
- __TEST_REQUIRE(fd >= 0, "%s not available (errno: %d)", path, errno);
+ __TEST_REQUIRE(fd >= 0, "%s not available (errno: %d)\n", path, errno);
return fd;
}
diff --git a/tools/testing/selftests/kvm/lib/x86_64/processor.c b/tools/testing/selftests/kvm/lib/x86_64/processor.c
index d8288374078e..abd19059b236 100644
--- a/tools/testing/selftests/kvm/lib/x86_64/processor.c
+++ b/tools/testing/selftests/kvm/lib/x86_64/processor.c
@@ -719,12 +719,12 @@ void __vm_xsave_require_permission(uint64_t xfeature, const char *name)
close(kvm_fd);
if (rc == -1 && (errno == ENXIO || errno == EINVAL))
- __TEST_REQUIRE(0, "KVM_X86_XCOMP_GUEST_SUPP not supported");
+ __TEST_REQUIRE(0, "KVM_X86_XCOMP_GUEST_SUPP not supported\n");
TEST_ASSERT(rc == 0, "KVM_GET_DEVICE_ATTR(0, KVM_X86_XCOMP_GUEST_SUPP) error: %ld", rc);
__TEST_REQUIRE(bitmask & xfeature,
- "Required XSAVE feature '%s' not supported", name);
+ "Required XSAVE feature '%s' not supported\n", name);
TEST_REQUIRE(!syscall(SYS_arch_prctl, ARCH_REQ_XCOMP_GUEST_PERM, ilog2(xfeature)));
diff --git a/tools/testing/selftests/kvm/rseq_test.c b/tools/testing/selftests/kvm/rseq_test.c
index f74e76d03b7e..e825fe6807fa 100644
--- a/tools/testing/selftests/kvm/rseq_test.c
+++ b/tools/testing/selftests/kvm/rseq_test.c
@@ -183,7 +183,7 @@ static void calc_min_max_cpu(void)
}
__TEST_REQUIRE(cnt >= 2,
- "Only one usable CPU, task migration not possible");
+ "Only one usable CPU, task migration not possible\n");
}
int main(int argc, char *argv[])
diff --git a/tools/testing/selftests/kvm/system_counter_offset_test.c b/tools/testing/selftests/kvm/system_counter_offset_test.c
index 7f5b330b6a1b..46e4ca694e6d 100644
--- a/tools/testing/selftests/kvm/system_counter_offset_test.c
+++ b/tools/testing/selftests/kvm/system_counter_offset_test.c
@@ -30,7 +30,7 @@ static void check_preconditions(struct kvm_vcpu *vcpu)
{
__TEST_REQUIRE(!__vcpu_has_device_attr(vcpu, KVM_VCPU_TSC_CTRL,
KVM_VCPU_TSC_OFFSET),
- "KVM_VCPU_TSC_OFFSET not supported; skipping test");
+ "KVM_VCPU_TSC_OFFSET not supported; skipping test\n");
}
static void setup_system_counter(struct kvm_vcpu *vcpu, struct test_case *test)
diff --git a/tools/testing/selftests/kvm/x86_64/nx_huge_pages_test.c b/tools/testing/selftests/kvm/x86_64/nx_huge_pages_test.c
index 83e25bccc139..a3f4edbd9add 100644
--- a/tools/testing/selftests/kvm/x86_64/nx_huge_pages_test.c
+++ b/tools/testing/selftests/kvm/x86_64/nx_huge_pages_test.c
@@ -259,7 +259,7 @@ int main(int argc, char **argv)
__TEST_REQUIRE(token == MAGIC_TOKEN,
"This test must be run with the magic token %d.\n"
"This is done by nx_huge_pages_test.sh, which\n"
- "also handles environment setup for the test.", MAGIC_TOKEN);
+ "also handles environment setup for the test.\n", MAGIC_TOKEN);
run_test(reclaim_period_ms, false, reboot_permissions);
run_test(reclaim_period_ms, true, reboot_permissions);
--
2.43.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] KVM: selftests: Drop newline from __TEST_REQUIRE
2023-11-30 18:28 [PATCH] KVM: selftests: Drop newline from __TEST_REQUIRE Andrew Jones
@ 2023-11-30 19:16 ` Sean Christopherson
2023-12-01 9:26 ` Andrew Jones
2023-12-01 16:08 ` Sean Christopherson
0 siblings, 2 replies; 5+ messages in thread
From: Sean Christopherson @ 2023-11-30 19:16 UTC (permalink / raw)
To: Andrew Jones; +Cc: kvm, kvmarm, pbonzini, maz, oliver.upton
On Thu, Nov 30, 2023, Andrew Jones wrote:
> A few __TEST_REQUIRE callers are appending their own newline, resulting
> in an extra one being output. Rather than remove the newlines from
> those callers, remove it from __TEST_REQUIRE and add newlines to all
> the other callers, as __TEST_REQUIRE was the only output function
> appending newlines and consistency is a good thing.
>
> Signed-off-by: Andrew Jones <ajones@ventanamicro.com>
> ---
>
> Applies to kvm-x86/selftests (I chose that branch to ensure I got the
> MAGIC_TOKEN change)
Heh, and then I went and created a conflict anyways :-)
https://lore.kernel.org/all/20231129224042.530798-1-seanjc@google.com
If there are no objections, I'll grab this in kvm-x86/selftests and sort out the
MAGIC_TOKEN conflict.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] KVM: selftests: Drop newline from __TEST_REQUIRE
2023-11-30 19:16 ` Sean Christopherson
@ 2023-12-01 9:26 ` Andrew Jones
2023-12-01 16:08 ` Sean Christopherson
1 sibling, 0 replies; 5+ messages in thread
From: Andrew Jones @ 2023-12-01 9:26 UTC (permalink / raw)
To: Sean Christopherson; +Cc: kvm, kvmarm, pbonzini, maz, oliver.upton
On Thu, Nov 30, 2023 at 07:16:28PM +0000, Sean Christopherson wrote:
> On Thu, Nov 30, 2023, Andrew Jones wrote:
> > A few __TEST_REQUIRE callers are appending their own newline, resulting
> > in an extra one being output. Rather than remove the newlines from
> > those callers, remove it from __TEST_REQUIRE and add newlines to all
> > the other callers, as __TEST_REQUIRE was the only output function
> > appending newlines and consistency is a good thing.
> >
> > Signed-off-by: Andrew Jones <ajones@ventanamicro.com>
> > ---
> >
> > Applies to kvm-x86/selftests (I chose that branch to ensure I got the
> > MAGIC_TOKEN change)
>
> Heh, and then I went and created a conflict anyways :-)
>
> https://lore.kernel.org/all/20231129224042.530798-1-seanjc@google.com
>
> If there are no objections, I'll grab this in kvm-x86/selftests and sort out the
> MAGIC_TOKEN conflict.
No objections from me.
Thanks,
drew
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] KVM: selftests: Drop newline from __TEST_REQUIRE
2023-11-30 19:16 ` Sean Christopherson
2023-12-01 9:26 ` Andrew Jones
@ 2023-12-01 16:08 ` Sean Christopherson
2023-12-02 8:12 ` Andrew Jones
1 sibling, 1 reply; 5+ messages in thread
From: Sean Christopherson @ 2023-12-01 16:08 UTC (permalink / raw)
To: Andrew Jones; +Cc: kvm, kvmarm, pbonzini, maz, oliver.upton
On Thu, Nov 30, 2023, Sean Christopherson wrote:
> On Thu, Nov 30, 2023, Andrew Jones wrote:
> > A few __TEST_REQUIRE callers are appending their own newline, resulting
> > in an extra one being output. Rather than remove the newlines from
> > those callers, remove it from __TEST_REQUIRE and add newlines to all
> > the other callers, as __TEST_REQUIRE was the only output function
> > appending newlines and consistency is a good thing.
> >
> > Signed-off-by: Andrew Jones <ajones@ventanamicro.com>
> > ---
> >
> > Applies to kvm-x86/selftests (I chose that branch to ensure I got the
> > MAGIC_TOKEN change)
>
> Heh, and then I went and created a conflict anyways :-)
>
> https://lore.kernel.org/all/20231129224042.530798-1-seanjc@google.com
>
> If there are no objections, I'll grab this in kvm-x86/selftests and sort out the
> MAGIC_TOKEN conflict.
Actually, I misread the patch. I thought you were removing newlines, not adding
them. My thinking for TEST_REQUIRE() is that it should look and behave like
TEST_ASSERT(), not like a raw printf(). I.e. the caller provides the raw message,
and the framework handles formatting the final output.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] KVM: selftests: Drop newline from __TEST_REQUIRE
2023-12-01 16:08 ` Sean Christopherson
@ 2023-12-02 8:12 ` Andrew Jones
0 siblings, 0 replies; 5+ messages in thread
From: Andrew Jones @ 2023-12-02 8:12 UTC (permalink / raw)
To: Sean Christopherson; +Cc: kvm, kvmarm, pbonzini, maz, oliver.upton
On Fri, Dec 01, 2023 at 08:08:31AM -0800, Sean Christopherson wrote:
> On Thu, Nov 30, 2023, Sean Christopherson wrote:
> > On Thu, Nov 30, 2023, Andrew Jones wrote:
> > > A few __TEST_REQUIRE callers are appending their own newline, resulting
> > > in an extra one being output. Rather than remove the newlines from
> > > those callers, remove it from __TEST_REQUIRE and add newlines to all
> > > the other callers, as __TEST_REQUIRE was the only output function
> > > appending newlines and consistency is a good thing.
> > >
> > > Signed-off-by: Andrew Jones <ajones@ventanamicro.com>
> > > ---
> > >
> > > Applies to kvm-x86/selftests (I chose that branch to ensure I got the
> > > MAGIC_TOKEN change)
> >
> > Heh, and then I went and created a conflict anyways :-)
> >
> > https://lore.kernel.org/all/20231129224042.530798-1-seanjc@google.com
> >
> > If there are no objections, I'll grab this in kvm-x86/selftests and sort out the
> > MAGIC_TOKEN conflict.
>
> Actually, I misread the patch. I thought you were removing newlines, not adding
> them. My thinking for TEST_REQUIRE() is that it should look and behave like
> TEST_ASSERT(), not like a raw printf(). I.e. the caller provides the raw message,
> and the framework handles formatting the final output.
Darn. I'm not sure how I forgot about the other TEST_* functions. We
indeed want them to be consistent. I'll reverse the patch. Also, it
looks like when errno == EACCES, test_assert() will be missing a newline.
I'll do a quick audit of TEST_* functions and their callers this time
around.
Thanks,
drew
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-12-02 8:12 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-30 18:28 [PATCH] KVM: selftests: Drop newline from __TEST_REQUIRE Andrew Jones
2023-11-30 19:16 ` Sean Christopherson
2023-12-01 9:26 ` Andrew Jones
2023-12-01 16:08 ` Sean Christopherson
2023-12-02 8:12 ` Andrew Jones
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox