From 24776cb5bdb3d4c14a05609e76ca7e8bc9a9c2a2 Mon Sep 17 00:00:00 2001 From: Philip Withnall Date: Tue, 14 Nov 2023 10:36:06 +0000 Subject: [PATCH 1/2] tests: Use g_assert_*() rather than g_assert() in girepository tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It won’t get compiled out with `G_DISABLE_ASSERT`. Signed-off-by: Philip Withnall --- girepository/cmph-bdz-test.c | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/girepository/cmph-bdz-test.c b/girepository/cmph-bdz-test.c index cf74f1a52..64e664688 100644 --- a/girepository/cmph-bdz-test.c +++ b/girepository/cmph-bdz-test.c @@ -40,7 +40,7 @@ build (void) c = cmph_new (config); size = cmph_size (c); - g_assert (size == g_strv_length (strings)); + g_assert_cmpuint (size, ==, g_strv_length (strings)); return c; } @@ -57,7 +57,7 @@ assert_hashes_unique (guint n_hashes, for (j = 0; j < n_hashes; j++) { if (j != i) - g_assert (hashes[i] != hashes[j]); + g_assert_cmpuint (hashes[i], !=, hashes[j]); } } } @@ -75,15 +75,18 @@ test_search (void) i = 0; hash = cmph_search (c, "foo", 3); - g_assert (hash >= 0 && hash < size); + g_assert_cmpuint (hash, >=, 0); + g_assert_cmpuint (hash, <, size); hashes[i++] = hash; hash = cmph_search (c, "bar", 3); - g_assert (hash >= 0 && hash < size); + g_assert_cmpuint (hash, >=, 0); + g_assert_cmpuint (hash, <, size); hashes[i++] = hash; hash = cmph_search (c, "baz", 3); - g_assert (hash >= 0 && hash < size); + g_assert_cmpuint (hash, >=, 0); + g_assert_cmpuint (hash, <, size); hashes[i++] = hash; assert_hashes_unique (G_N_ELEMENTS (hashes), &hashes[0]); @@ -111,15 +114,18 @@ test_search_packed (void) i = 0; hash = cmph_search_packed (buf, "foo", 3); - g_assert (hash >= 0 && hash < size); + g_assert_cmpuint (hash, >=, 0); + g_assert_cmpuint (hash, <, size); hashes[i++] = hash; hash = cmph_search_packed (buf, "bar", 3); - g_assert (hash >= 0 && hash < size); + g_assert_cmpuint (hash, >=, 0); + g_assert_cmpuint (hash, <, size); hashes[i++] = hash; hash = cmph_search_packed (buf, "baz", 3); - g_assert (hash >= 0 && hash < size); + g_assert_cmpuint (hash, >=, 0); + g_assert_cmpuint (hash, <, size); hashes[i++] = hash; assert_hashes_unique (G_N_ELEMENTS (hashes), &hashes[0]); From d00bbf94a6d859817bbadd20e98276d0a32f28d3 Mon Sep 17 00:00:00 2001 From: Philip Withnall Date: Tue, 14 Nov 2023 10:36:51 +0000 Subject: [PATCH 2/2] girepository: Ignore set-but-not-used warnings with G_DISABLE_ASSERT This fixes some compiler warnings when building with `-Dglib_assert=false`. See https://gitlab.gnome.org/GNOME/glib/-/jobs/3294022 Signed-off-by: Philip Withnall --- girepository/girepository.c | 3 +++ girepository/gitypelib.c | 2 ++ girepository/gthash.c | 4 ++++ 3 files changed, 9 insertions(+) diff --git a/girepository/girepository.c b/girepository/girepository.c index bf7127ed8..95b693c4c 100644 --- a/girepository/girepository.c +++ b/girepository/girepository.c @@ -1314,6 +1314,9 @@ compare_version (const char *v1, success = parse_version (v2, &v2_major, &v2_minor); g_assert (success); + /* Avoid a compiler warning about `success` being unused with G_DISABLE_ASSERT */ + (void) success; + if (v1_major > v2_major) return 1; else if (v2_major > v1_major) diff --git a/girepository/gitypelib.c b/girepository/gitypelib.c index f5dee7909..550e9b0ef 100644 --- a/girepository/gitypelib.c +++ b/girepository/gitypelib.c @@ -413,6 +413,7 @@ gi_typelib_get_dir_entry_by_error_domain (GITypelib *typelib, void gi_typelib_check_sanity (void) { +#ifndef G_DISABLE_ASSERT /* Check that struct layout is as we expect */ gboolean size_check_ok = TRUE; @@ -461,6 +462,7 @@ gi_typelib_check_sanity (void) #undef CHECK_SIZE g_assert (size_check_ok); +#endif /* !G_DISABLE_ASSERT */ } diff --git a/girepository/gthash.c b/girepository/gthash.c index 023a92f82..4a23e4ace 100644 --- a/girepository/gthash.c +++ b/girepository/gthash.c @@ -152,7 +152,9 @@ gi_typelib_hash_builder_pack (GITypelibHashBuilder *builder, guint8* mem, guint3 guint16 *table; GHashTableIter hashiter; gpointer key, value; +#ifndef G_DISABLE_ASSERT guint32 num_elts; +#endif guint8 *packed_mem; g_return_if_fail (builder != NULL); @@ -170,7 +172,9 @@ gi_typelib_hash_builder_pack (GITypelibHashBuilder *builder, guint8* mem, guint3 table = (guint16*) (mem + builder->dirmap_offset); +#ifndef G_DISABLE_ASSERT num_elts = g_hash_table_size (builder->strings); +#endif g_hash_table_iter_init (&hashiter, builder->strings); while (g_hash_table_iter_next (&hashiter, &key, &value)) {