mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-07-23 10:27:51 +02:00
tests: Test the function forms of g_bit_*() APIs too
The tests were previously only checking the macro forms. The function forms should behave identically, but since it’s easy enough to get coverage of them, we might as well. Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
This commit is contained in:
@@ -312,10 +312,18 @@ test_basic_bits (void)
|
||||
{
|
||||
guint naive_bit_storage_i = naive_bit_storage (i);
|
||||
|
||||
/* Test the g_bit_*() implementations against the compiler builtins (if
|
||||
* available), and against a slow-but-correct ‘naive’ implementation.
|
||||
* They should all agree.
|
||||
*
|
||||
* The macro and function versions of the g_bit_*() functions are tested,
|
||||
* hence one call with the function name in brackets (to avoid it being
|
||||
* expanded as a macro). */
|
||||
#if TEST_BUILTINS
|
||||
g_assert_cmpint (naive_bit_storage_i, ==, builtin_bit_storage (i));
|
||||
#endif
|
||||
g_assert_cmpint (naive_bit_storage_i, ==, g_bit_storage (i));
|
||||
g_assert_cmpint (naive_bit_storage_i, ==, (g_bit_storage) (i));
|
||||
|
||||
for (nth_bit = -3; nth_bit <= 2 + GLIB_SIZEOF_LONG * 8; nth_bit++)
|
||||
{
|
||||
@@ -330,6 +338,8 @@ test_basic_bits (void)
|
||||
#endif
|
||||
g_assert_cmpint (naive_bit_nth_lsf_i_nth_bit, ==,
|
||||
g_bit_nth_lsf (i, nth_bit));
|
||||
g_assert_cmpint (naive_bit_nth_lsf_i_nth_bit, ==,
|
||||
(g_bit_nth_lsf) (i, nth_bit));
|
||||
|
||||
#if TEST_BUILTINS
|
||||
g_assert_cmpint (naive_bit_nth_msf_i_nth_bit, ==,
|
||||
@@ -337,6 +347,8 @@ test_basic_bits (void)
|
||||
#endif
|
||||
g_assert_cmpint (naive_bit_nth_msf_i_nth_bit, ==,
|
||||
g_bit_nth_msf (i, nth_bit));
|
||||
g_assert_cmpint (naive_bit_nth_msf_i_nth_bit, ==,
|
||||
(g_bit_nth_msf) (i, nth_bit));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user