Commit d9eaf19e authored by Andrew Jones's avatar Andrew Jones Committed by Paolo Bonzini

KVM: selftests: Enable printf format warnings for TEST_ASSERT

Use the format attribute to enable printf format warnings, and
then fix them all.
Signed-off-by: default avatarAndrew Jones <drjones@redhat.com>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent 6a46fcf9
...@@ -384,7 +384,7 @@ static void run_test(enum vm_guest_mode mode, bool use_uffd, ...@@ -384,7 +384,7 @@ static void run_test(enum vm_guest_mode mode, bool use_uffd,
*/ */
TEST_ASSERT(guest_num_pages < vm_get_max_gfn(vm), TEST_ASSERT(guest_num_pages < vm_get_max_gfn(vm),
"Requested more guest memory than address space allows.\n" "Requested more guest memory than address space allows.\n"
" guest pages: %lx max gfn: %lx vcpus: %d wss: %lx]\n", " guest pages: %lx max gfn: %x vcpus: %d wss: %lx]\n",
guest_num_pages, vm_get_max_gfn(vm), vcpus, guest_num_pages, vm_get_max_gfn(vm), vcpus,
vcpu_memory_bytes); vcpu_memory_bytes);
......
...@@ -37,7 +37,8 @@ ssize_t test_read(int fd, void *buf, size_t count); ...@@ -37,7 +37,8 @@ ssize_t test_read(int fd, void *buf, size_t count);
int test_seq_read(const char *path, char **bufp, size_t *sizep); int test_seq_read(const char *path, char **bufp, size_t *sizep);
void test_assert(bool exp, const char *exp_str, void test_assert(bool exp, const char *exp_str,
const char *file, unsigned int line, const char *fmt, ...); const char *file, unsigned int line, const char *fmt, ...)
__attribute__((format(printf, 5, 6)));
#define TEST_ASSERT(e, fmt, ...) \ #define TEST_ASSERT(e, fmt, ...) \
test_assert((e), #e, __FILE__, __LINE__, fmt, ##__VA_ARGS__) test_assert((e), #e, __FILE__, __LINE__, fmt, ##__VA_ARGS__)
......
...@@ -265,7 +265,7 @@ void kvm_vm_restart(struct kvm_vm *vmp, int perm) ...@@ -265,7 +265,7 @@ void kvm_vm_restart(struct kvm_vm *vmp, int perm)
TEST_ASSERT(ret == 0, "KVM_SET_USER_MEMORY_REGION IOCTL failed,\n" TEST_ASSERT(ret == 0, "KVM_SET_USER_MEMORY_REGION IOCTL failed,\n"
" rc: %i errno: %i\n" " rc: %i errno: %i\n"
" slot: %u flags: 0x%x\n" " slot: %u flags: 0x%x\n"
" guest_phys_addr: 0x%lx size: 0x%lx", " guest_phys_addr: 0x%llx size: 0x%llx",
ret, errno, region->region.slot, ret, errno, region->region.slot,
region->region.flags, region->region.flags,
region->region.guest_phys_addr, region->region.guest_phys_addr,
...@@ -280,7 +280,7 @@ void kvm_vm_get_dirty_log(struct kvm_vm *vm, int slot, void *log) ...@@ -280,7 +280,7 @@ void kvm_vm_get_dirty_log(struct kvm_vm *vm, int slot, void *log)
ret = ioctl(vm->fd, KVM_GET_DIRTY_LOG, &args); ret = ioctl(vm->fd, KVM_GET_DIRTY_LOG, &args);
TEST_ASSERT(ret == 0, "%s: KVM_GET_DIRTY_LOG failed: %s", TEST_ASSERT(ret == 0, "%s: KVM_GET_DIRTY_LOG failed: %s",
strerror(-ret)); __func__, strerror(-ret));
} }
void kvm_vm_clear_dirty_log(struct kvm_vm *vm, int slot, void *log, void kvm_vm_clear_dirty_log(struct kvm_vm *vm, int slot, void *log,
...@@ -293,7 +293,7 @@ void kvm_vm_clear_dirty_log(struct kvm_vm *vm, int slot, void *log, ...@@ -293,7 +293,7 @@ void kvm_vm_clear_dirty_log(struct kvm_vm *vm, int slot, void *log,
ret = ioctl(vm->fd, KVM_CLEAR_DIRTY_LOG, &args); ret = ioctl(vm->fd, KVM_CLEAR_DIRTY_LOG, &args);
TEST_ASSERT(ret == 0, "%s: KVM_CLEAR_DIRTY_LOG failed: %s", TEST_ASSERT(ret == 0, "%s: KVM_CLEAR_DIRTY_LOG failed: %s",
strerror(-ret)); __func__, strerror(-ret));
} }
/* /*
...@@ -785,7 +785,7 @@ void vm_mem_region_move(struct kvm_vm *vm, uint32_t slot, uint64_t new_gpa) ...@@ -785,7 +785,7 @@ void vm_mem_region_move(struct kvm_vm *vm, uint32_t slot, uint64_t new_gpa)
ret = ioctl(vm->fd, KVM_SET_USER_MEMORY_REGION, &region->region); ret = ioctl(vm->fd, KVM_SET_USER_MEMORY_REGION, &region->region);
TEST_ASSERT(!ret, "KVM_SET_USER_MEMORY_REGION failed\n" TEST_ASSERT(!ret, "KVM_SET_USER_MEMORY_REGION failed\n"
"ret: %i errno: %i slot: %u flags: 0x%x", "ret: %i errno: %i slot: %u flags: 0x%lx",
ret, errno, slot, new_gpa); ret, errno, slot, new_gpa);
} }
......
...@@ -109,7 +109,7 @@ int main(int argc, char *argv[]) ...@@ -109,7 +109,7 @@ int main(int argc, char *argv[])
switch (get_ucall(vm, VCPU_ID, &uc)) { switch (get_ucall(vm, VCPU_ID, &uc)) {
case UCALL_ABORT: case UCALL_ABORT:
TEST_ASSERT(false, "%s at %s:%d", (const char *)uc.args[0], TEST_ASSERT(false, "%s at %s:%ld", (const char *)uc.args[0],
__FILE__, uc.args[1]); __FILE__, uc.args[1]);
/* NOT REACHED */ /* NOT REACHED */
case UCALL_SYNC: case UCALL_SYNC:
...@@ -122,7 +122,7 @@ int main(int argc, char *argv[]) ...@@ -122,7 +122,7 @@ int main(int argc, char *argv[])
/* UCALL_SYNC is handled here. */ /* UCALL_SYNC is handled here. */
TEST_ASSERT(!strcmp((const char *)uc.args[0], "hello") && TEST_ASSERT(!strcmp((const char *)uc.args[0], "hello") &&
uc.args[1] == stage, "Unexpected register values vmexit #%lx, got %lx", uc.args[1] == stage, "Stage %d: Unexpected register values vmexit, got %lx",
stage, (ulong)uc.args[1]); stage, (ulong)uc.args[1]);
state = vcpu_save_state(vm, VCPU_ID); state = vcpu_save_state(vm, VCPU_ID);
......
...@@ -66,7 +66,7 @@ static void test_hv_cpuid(struct kvm_cpuid2 *hv_cpuid_entries, ...@@ -66,7 +66,7 @@ static void test_hv_cpuid(struct kvm_cpuid2 *hv_cpuid_entries,
TEST_ASSERT((entry->function >= 0x40000000) && TEST_ASSERT((entry->function >= 0x40000000) &&
(entry->function <= 0x4000000A), (entry->function <= 0x4000000A),
"function %lx is our of supported range", "function %x is our of supported range",
entry->function); entry->function);
TEST_ASSERT(entry->index == 0, TEST_ASSERT(entry->index == 0,
......
...@@ -61,8 +61,7 @@ static void *vcpu_worker(void *data) ...@@ -61,8 +61,7 @@ static void *vcpu_worker(void *data)
"Unexpected exit reason = %d", run->exit_reason); "Unexpected exit reason = %d", run->exit_reason);
cmd = get_ucall(vm, VCPU_ID, &uc); cmd = get_ucall(vm, VCPU_ID, &uc);
TEST_ASSERT(cmd == UCALL_DONE, "Unexpected val in guest = %llu", TEST_ASSERT(cmd == UCALL_DONE, "Unexpected val in guest = %lu", uc.args[0]);
uc.args[0]);
return NULL; return NULL;
} }
......
...@@ -152,7 +152,7 @@ int main(int argc, char *argv[]) ...@@ -152,7 +152,7 @@ int main(int argc, char *argv[])
switch (get_ucall(vm, VCPU_ID, &uc)) { switch (get_ucall(vm, VCPU_ID, &uc)) {
case UCALL_ABORT: case UCALL_ABORT:
TEST_ASSERT(false, "%s at %s:%d", (const char *)uc.args[0], TEST_ASSERT(false, "%s at %s:%ld", (const char *)uc.args[0],
__FILE__, uc.args[1]); __FILE__, uc.args[1]);
/* NOT REACHED */ /* NOT REACHED */
case UCALL_SYNC: case UCALL_SYNC:
...@@ -165,7 +165,7 @@ int main(int argc, char *argv[]) ...@@ -165,7 +165,7 @@ int main(int argc, char *argv[])
/* UCALL_SYNC is handled here. */ /* UCALL_SYNC is handled here. */
TEST_ASSERT(!strcmp((const char *)uc.args[0], "hello") && TEST_ASSERT(!strcmp((const char *)uc.args[0], "hello") &&
uc.args[1] == stage, "Unexpected register values vmexit #%lx, got %lx", uc.args[1] == stage, "Stage %d: Unexpected register values vmexit, got %lx",
stage, (ulong)uc.args[1]); stage, (ulong)uc.args[1]);
state = vcpu_save_state(vm, VCPU_ID); state = vcpu_save_state(vm, VCPU_ID);
......
...@@ -69,8 +69,7 @@ int main(int argc, char *argv[]) ...@@ -69,8 +69,7 @@ int main(int argc, char *argv[])
case UCALL_DONE: case UCALL_DONE:
goto done; goto done;
default: default:
TEST_ASSERT(false, TEST_ASSERT(false, "Unknown ucall 0x%lx.", uc.cmd);
"Unknown ucall 0x%x.", uc.cmd);
} }
} }
done: done:
......
...@@ -126,7 +126,7 @@ int main(int argc, char *argv[]) ...@@ -126,7 +126,7 @@ int main(int argc, char *argv[])
switch (get_ucall(vm, VCPU_ID, &uc)) { switch (get_ucall(vm, VCPU_ID, &uc)) {
case UCALL_ABORT: case UCALL_ABORT:
TEST_ASSERT(false, "%s at %s:%d", (const char *)uc.args[0], TEST_ASSERT(false, "%s at %s:%ld", (const char *)uc.args[0],
__FILE__, uc.args[1]); __FILE__, uc.args[1]);
/* NOT REACHED */ /* NOT REACHED */
case UCALL_SYNC: case UCALL_SYNC:
......
...@@ -212,7 +212,7 @@ void test_vmx_nested_state(struct kvm_vm *vm) ...@@ -212,7 +212,7 @@ void test_vmx_nested_state(struct kvm_vm *vm)
test_nested_state(vm, state); test_nested_state(vm, state);
vcpu_nested_state_get(vm, VCPU_ID, state); vcpu_nested_state_get(vm, VCPU_ID, state);
TEST_ASSERT(state->size >= sizeof(*state) && state->size <= state_sz, TEST_ASSERT(state->size >= sizeof(*state) && state->size <= state_sz,
"Size must be between %d and %d. The size returned was %d.", "Size must be between %ld and %d. The size returned was %d.",
sizeof(*state), state_sz, state->size); sizeof(*state), state_sz, state->size);
TEST_ASSERT(state->hdr.vmx.vmxon_pa == -1ull, "vmxon_pa must be -1ull."); TEST_ASSERT(state->hdr.vmx.vmxon_pa == -1ull, "vmxon_pa must be -1ull.");
TEST_ASSERT(state->hdr.vmx.vmcs12_pa == -1ull, "vmcs_pa must be -1ull."); TEST_ASSERT(state->hdr.vmx.vmcs12_pa == -1ull, "vmcs_pa must be -1ull.");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment