[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL v2 41/50] glib-compat: add 2.38/2.40/2.46 asserts
From: |
marcandre . lureau |
Subject: |
[Qemu-devel] [PULL v2 41/50] glib-compat: add 2.38/2.40/2.46 asserts |
Date: |
Mon, 12 Oct 2015 18:41:35 +0200 |
From: Marc-André Lureau <address@hidden>
Those are mostly useful for writing tests.
Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Claudio Fontana <address@hidden>
---
include/glib-compat.h | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 61 insertions(+)
diff --git a/include/glib-compat.h b/include/glib-compat.h
index 318e000..fb25f43 100644
--- a/include/glib-compat.h
+++ b/include/glib-compat.h
@@ -165,4 +165,65 @@ static inline GThread *g_thread_new(const char *name,
#define CompatGCond GCond
#endif /* glib 2.31 */
+#ifndef g_assert_true
+#define g_assert_true(expr)
\
+ do {
\
+ if (G_LIKELY(expr)) {
\
+ } else {
\
+ g_assertion_message(G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC,
\
+ "'" #expr "' should be TRUE");
\
+ }
\
+ } while (0)
+#endif
+
+#ifndef g_assert_false
+#define g_assert_false(expr)
\
+ do {
\
+ if (G_LIKELY(!(expr))) {
\
+ } else {
\
+ g_assertion_message(G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC,
\
+ "'" #expr "' should be FALSE");
\
+ }
\
+ } while (0)
+#endif
+
+#ifndef g_assert_null
+#define g_assert_null(expr)
\
+ do {
\
+ if (G_LIKELY((expr) == NULL)) {
\
+ } else {
\
+ g_assertion_message(G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC,
\
+ "'" #expr "' should be NULL");
\
+ }
\
+ } while (0)
+#endif
+
+#ifndef g_assert_nonnull
+#define g_assert_nonnull(expr)
\
+ do {
\
+ if (G_LIKELY((expr) != NULL)) {
\
+ } else {
\
+ g_assertion_message(G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC,
\
+ "'" #expr "' should not be NULL");
\
+ }
\
+ } while (0)
+#endif
+
+#ifndef g_assert_cmpmem
+#define g_assert_cmpmem(m1, l1, m2, l2)
\
+ do {
\
+ gconstpointer __m1 = m1, __m2 = m2;
\
+ int __l1 = l1, __l2 = l2;
\
+ if (__l1 != __l2) {
\
+ g_assertion_message_cmpnum(
\
+ G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC,
\
+ #l1 " (len(" #m1 ")) == " #l2 " (len(" #m2 "))", __l1, "==",
\
+ __l2, 'i');
\
+ } else if (memcmp(__m1, __m2, __l1) != 0) {
\
+ g_assertion_message(G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC,
\
+ "assertion failed (" #m1 " == " #m2 ")");
\
+ }
\
+ } while (0)
+#endif
+
#endif
--
2.4.3
- [Qemu-devel] [PULL v2 23/50] ivshmem: use common is_power_of_2(), (continued)
- [Qemu-devel] [PULL v2 23/50] ivshmem: use common is_power_of_2(), marcandre . lureau, 2015/10/12
- [Qemu-devel] [PULL v2 26/50] ivshmem: check shm isn't already initialized, marcandre . lureau, 2015/10/12
- [Qemu-devel] [PULL v2 29/50] ivshmem: replace 'guest' for 'peer' appropriately, marcandre . lureau, 2015/10/12
- [Qemu-devel] [PULL v2 31/50] ivshmem: reset mask on device reset, marcandre . lureau, 2015/10/12
- [Qemu-devel] [PULL v2 33/50] ivshmem-client: check the number of vectors, marcandre . lureau, 2015/10/12
- [Qemu-devel] [PULL v2 32/50] contrib: add ivshmem client and server, marcandre . lureau, 2015/10/12
- [Qemu-devel] [PULL v2 34/50] ivshmem-server: use a uint16 for client ID, marcandre . lureau, 2015/10/12
- [Qemu-devel] [PULL v2 37/50] ivshmem: add check on protocol version in QEMU, marcandre . lureau, 2015/10/12
- [Qemu-devel] [PULL v2 38/50] contrib: remove unnecessary strdup(), marcandre . lureau, 2015/10/12
- [Qemu-devel] [PULL v2 40/50] qtest: add qtest_add_abrt_handler(), marcandre . lureau, 2015/10/12
- [Qemu-devel] [PULL v2 41/50] glib-compat: add 2.38/2.40/2.46 asserts,
marcandre . lureau <=
- [Qemu-devel] [PULL v2 42/50] tests: add ivshmem qtest, marcandre . lureau, 2015/10/12
- [Qemu-devel] [PULL v2 44/50] ivshmem: use qemu_strtosz(), marcandre . lureau, 2015/10/12
- [Qemu-devel] [PULL v2 47/50] ivshmem: rename MSI eventfd_table, marcandre . lureau, 2015/10/12
- [Qemu-devel] [PULL v2 48/50] ivshmem: use kvm irqfd for msi notifications, marcandre . lureau, 2015/10/12
- [Qemu-devel] [PULL v2 49/50] ivshmem: use little-endian int64_t for the protocol, marcandre . lureau, 2015/10/12
- [Qemu-devel] [PULL v2 50/50] doc: document ivshmem & hugepages, marcandre . lureau, 2015/10/12
- [Qemu-devel] [PULL v2 39/50] msix: implement pba write (but read-only), marcandre . lureau, 2015/10/12
- Re: [Qemu-devel] [PULL v2 00/50] Ivshmem patches, Peter Maydell, 2015/10/13