[kvm-unit-tests PATCH] report: introduce report_info

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Test writers sometimes want to output informational messages, but
they don't want to use printf because they want the prefixes as
well. Rather than creating "fake" tests that always pass, with
report(fmt, true, ...), provide report_info(fmt, ...). This
generates 'INFO: prefixes...: message'

While touching report code also add the lock to report_abort to
ensure its output line integrity.

Signed-off-by: Andrew Jones <drjones@xxxxxxxxxx>
---
 lib/libcflat.h |  1 +
 lib/report.c   | 16 ++++++++++++++++
 2 files changed, 17 insertions(+)

diff --git a/lib/libcflat.h b/lib/libcflat.h
index 72b1bf9668ef..c622198677c1 100644
--- a/lib/libcflat.h
+++ b/lib/libcflat.h
@@ -82,6 +82,7 @@ extern void report(const char *msg_fmt, bool pass, ...);
 extern void report_xfail(const char *msg_fmt, bool xfail, bool pass, ...);
 extern void report_abort(const char *msg_fmt, ...);
 extern void report_skip(const char *msg_fmt, ...);
+extern void report_info(const char *msg_fmt, ...);
 extern int report_summary(void);
 
 extern void dump_stack(void);
diff --git a/lib/report.c b/lib/report.c
index 4cd75534f978..fc0ef494f412 100644
--- a/lib/report.c
+++ b/lib/report.c
@@ -91,6 +91,20 @@ void report_skip(const char *msg_fmt, ...)
 	va_end(va);
 }
 
+void report_info(const char *msg_fmt, ...)
+{
+	va_list va;
+
+	spin_lock(&lock);
+	puts("INFO: ");
+	puts(prefixes);
+	va_start(va, msg_fmt);
+	vprintf(msg_fmt, va);
+	va_end(va);
+	puts("\n");
+	spin_unlock(&lock);
+}
+
 int report_summary(void)
 {
 	spin_lock(&lock);
@@ -118,12 +132,14 @@ void report_abort(const char *msg_fmt, ...)
 {
 	va_list va;
 
+	spin_lock(&lock);
 	puts("ABORT: ");
 	puts(prefixes);
 	va_start(va, msg_fmt);
 	vprintf(msg_fmt, va);
 	va_end(va);
 	puts("\n");
+	spin_unlock(&lock);
 	report_summary();
 	abort();
 }
-- 
2.7.4

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux