mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-03 17:56:17 +01:00
gtestutils: add g_assert_cmpmem()
Add a test macro to compare two buffers (which are not already known to be the same length) for equality. https://bugzilla.gnome.org/show_bug.cgi?id=754283
This commit is contained in:
parent
367f36d630
commit
9f2e3f6b72
@ -3062,6 +3062,7 @@ g_assert_cmpint
|
||||
g_assert_cmpuint
|
||||
g_assert_cmphex
|
||||
g_assert_cmpfloat
|
||||
g_assert_cmpmem
|
||||
g_assert_no_error
|
||||
g_assert_error
|
||||
g_assert_true
|
||||
|
@ -100,15 +100,10 @@ compare_output (SetupData *data)
|
||||
gsize size;
|
||||
gpointer written;
|
||||
|
||||
written = g_memory_output_stream_get_data (G_MEMORY_OUTPUT_STREAM (data->data_stream));
|
||||
size = g_memory_output_stream_get_data_size (G_MEMORY_OUTPUT_STREAM (data->data_stream));
|
||||
|
||||
/* compare the size of the data */
|
||||
g_assert_cmpint (size, ==, data->expected_size);
|
||||
|
||||
written = g_memory_output_stream_get_data (G_MEMORY_OUTPUT_STREAM (data->data_stream));
|
||||
|
||||
/* compare the data itself */
|
||||
g_assert (memcmp (written, data->expected_output, size) == 0);
|
||||
g_assert_cmpmem (written, size, data->expected_output, data->expected_size);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -341,8 +341,7 @@ test_expander (void)
|
||||
total_read += res;
|
||||
}
|
||||
|
||||
g_assert (total_read == n_written);
|
||||
g_assert (memcmp (converted1, converted2, n_written) == 0);
|
||||
g_assert_cmpmem (converted1, n_written, converted2, total_read);
|
||||
|
||||
g_converter_reset (expander);
|
||||
|
||||
@ -371,10 +370,9 @@ test_expander (void)
|
||||
|
||||
g_output_stream_close (cstream_out, NULL, NULL);
|
||||
|
||||
g_assert (g_memory_output_stream_get_data_size (G_MEMORY_OUTPUT_STREAM (mem_out)) == n_written);
|
||||
g_assert (memcmp (g_memory_output_stream_get_data (G_MEMORY_OUTPUT_STREAM (mem_out)),
|
||||
converted1,
|
||||
n_written) == 0);
|
||||
g_assert_cmpmem (g_memory_output_stream_get_data (G_MEMORY_OUTPUT_STREAM (mem_out)),
|
||||
g_memory_output_stream_get_data_size (G_MEMORY_OUTPUT_STREAM (mem_out)),
|
||||
converted1, n_written);
|
||||
|
||||
g_free (converted1);
|
||||
g_free (converted2);
|
||||
@ -433,8 +431,8 @@ test_compressor (void)
|
||||
total_read += res;
|
||||
}
|
||||
|
||||
g_assert (total_read == n_read - 1); /* Last 2 zeros are combined */
|
||||
g_assert (memcmp (converted, unexpanded_data, total_read) == 0);
|
||||
/* "n_read - 1" because last 2 zeros are combined */
|
||||
g_assert_cmpmem (unexpanded_data, n_read - 1, converted, total_read);
|
||||
|
||||
g_object_unref (cstream);
|
||||
|
||||
@ -461,10 +459,11 @@ test_compressor (void)
|
||||
|
||||
g_output_stream_close (cstream_out, NULL, NULL);
|
||||
|
||||
g_assert (g_memory_output_stream_get_data_size (G_MEMORY_OUTPUT_STREAM (mem_out)) == n_read - 1); /* Last 2 zeros are combined */
|
||||
g_assert (memcmp (g_memory_output_stream_get_data (G_MEMORY_OUTPUT_STREAM (mem_out)),
|
||||
/* "n_read - 1" because last 2 zeros are combined */
|
||||
g_assert_cmpmem (g_memory_output_stream_get_data (G_MEMORY_OUTPUT_STREAM (mem_out)),
|
||||
g_memory_output_stream_get_data_size (G_MEMORY_OUTPUT_STREAM (mem_out)),
|
||||
unexpanded_data,
|
||||
g_memory_output_stream_get_data_size (G_MEMORY_OUTPUT_STREAM (mem_out))) == 0);
|
||||
n_read - 1);
|
||||
|
||||
g_object_unref (cstream_out);
|
||||
|
||||
@ -717,8 +716,7 @@ test_converter_leftover (void)
|
||||
total_read += res;
|
||||
}
|
||||
|
||||
g_assert_cmpint (total_read, ==, LEFTOVER_BUFSIZE);
|
||||
g_assert (memcmp (converted, orig, LEFTOVER_BUFSIZE) == 0);
|
||||
g_assert_cmpmem (orig, LEFTOVER_BUFSIZE, converted, total_read);
|
||||
|
||||
g_object_unref (cstream);
|
||||
g_free (orig);
|
||||
@ -795,10 +793,9 @@ test_roundtrip (gconstpointer data)
|
||||
g_output_stream_splice (ostream2, cistream1, 0, NULL, &error);
|
||||
g_assert_no_error (error);
|
||||
|
||||
g_assert_cmpuint (DATA_LENGTH * sizeof (guint32), ==,
|
||||
g_assert_cmpmem (data0, DATA_LENGTH * sizeof (guint32),
|
||||
g_memory_output_stream_get_data (G_MEMORY_OUTPUT_STREAM (ostream2)),
|
||||
g_memory_output_stream_get_data_size (G_MEMORY_OUTPUT_STREAM (ostream2)));
|
||||
g_assert (memcmp (data0, g_memory_output_stream_get_data (
|
||||
G_MEMORY_OUTPUT_STREAM (ostream2)), DATA_LENGTH * sizeof (guint32)) == 0);
|
||||
g_object_unref (istream1);
|
||||
g_converter_reset (decompressor);
|
||||
g_object_get (decompressor, "format", &fmt, NULL);
|
||||
@ -1057,8 +1054,8 @@ test_converter_pollable (void)
|
||||
total_read += res;
|
||||
}
|
||||
|
||||
g_assert (total_read == n_read - 1); /* Last 2 zeros are combined */
|
||||
g_assert (memcmp (converted, unexpanded_data, total_read) == 0);
|
||||
/* "n_read - 1" because last 2 zeros are combined */
|
||||
g_assert_cmpmem (unexpanded_data, n_read - 1, converted, total_read);
|
||||
|
||||
g_object_unref (cstream);
|
||||
g_object_unref (left);
|
||||
@ -1094,10 +1091,11 @@ test_converter_pollable (void)
|
||||
|
||||
g_output_stream_close (cstream_out, NULL, NULL);
|
||||
|
||||
g_assert (g_memory_output_stream_get_data_size (G_MEMORY_OUTPUT_STREAM (mem_out)) == n_read - 1); /* Last 2 zeros are combined */
|
||||
g_assert (memcmp (g_memory_output_stream_get_data (G_MEMORY_OUTPUT_STREAM (mem_out)),
|
||||
/* "n_read - 1" because last 2 zeros are combined */
|
||||
g_assert_cmpmem (g_memory_output_stream_get_data (G_MEMORY_OUTPUT_STREAM (mem_out)),
|
||||
g_memory_output_stream_get_data_size (G_MEMORY_OUTPUT_STREAM (mem_out)),
|
||||
unexpanded_data,
|
||||
g_memory_output_stream_get_data_size (G_MEMORY_OUTPUT_STREAM (mem_out))) == 0);
|
||||
n_read - 1);
|
||||
|
||||
g_object_unref (cstream_out);
|
||||
|
||||
|
@ -835,8 +835,7 @@ test_peer (void)
|
||||
&len2,
|
||||
&error);
|
||||
g_assert_no_error (error);
|
||||
g_assert_cmpint (len, ==, len2);
|
||||
g_assert (memcmp (buf, buf2, len) == 0);
|
||||
g_assert_cmpmem (buf, len, buf2, len2);
|
||||
g_free (buf2);
|
||||
g_free (buf);
|
||||
}
|
||||
|
@ -1761,9 +1761,7 @@ test_strinfo (void)
|
||||
strinfo_builder_append_item (builder, "foo", 1);
|
||||
strinfo_builder_append_item (builder, "bar", 2);
|
||||
g_assert (strinfo_builder_append_alias (builder, "baz", "bar"));
|
||||
g_assert_cmpint (builder->len % 4, ==, 0);
|
||||
g_assert_cmpint (builder->len / 4, ==, length);
|
||||
g_assert (memcmp (builder->str, strinfo, length * 4) == 0);
|
||||
g_assert_cmpmem (builder->str, builder->len, strinfo, length * 4);
|
||||
g_string_free (builder, TRUE);
|
||||
}
|
||||
|
||||
|
@ -331,8 +331,9 @@ test_cat_utf8 (void)
|
||||
|
||||
output_buf = g_memory_output_stream_steal_as_bytes ((GMemoryOutputStream*)output_buf_stream);
|
||||
|
||||
g_assert_cmpint (g_bytes_get_size (output_buf), ==, 13);
|
||||
g_assert_cmpint (memcmp (g_bytes_get_data (output_buf, NULL), "hello, world!", 13), ==, 0);
|
||||
g_assert_cmpmem (g_bytes_get_data (output_buf, NULL),
|
||||
g_bytes_get_size (output_buf),
|
||||
"hello, world!", 13);
|
||||
|
||||
g_bytes_unref (output_buf);
|
||||
g_main_loop_unref (data.loop);
|
||||
@ -611,8 +612,7 @@ on_communicate_complete (GObject *proc,
|
||||
stdout_len = strlen (stdout_str);
|
||||
}
|
||||
|
||||
g_assert_cmpint (stdout_len, ==, 11);
|
||||
g_assert (memcmp (stdout_data, "hello world", 11) == 0);
|
||||
g_assert_cmpmem (stdout_data, stdout_len, "hello world", 11);
|
||||
if (stdout)
|
||||
g_bytes_unref (stdout);
|
||||
g_free (stdout_str);
|
||||
@ -683,8 +683,7 @@ test_communicate (void)
|
||||
g_assert_no_error (error);
|
||||
stdout_data = g_bytes_get_data (stdout, &stdout_len);
|
||||
|
||||
g_assert_cmpint (stdout_len, ==, 11);
|
||||
g_assert (memcmp (stdout_data, "hello world", 11) == 0);
|
||||
g_assert_cmpmem (stdout_data, stdout_len, "hello world", 11);
|
||||
g_bytes_unref (stdout);
|
||||
|
||||
g_bytes_unref (input);
|
||||
|
@ -46,9 +46,7 @@ verify_iostream (GFileIOStream *file_iostream)
|
||||
|
||||
res = g_input_stream_read_all (in, buffer, 20, &n_bytes, NULL, NULL);
|
||||
g_assert (res);
|
||||
g_assert_cmpint ((int)n_bytes, ==, 20);
|
||||
|
||||
g_assert (memcmp (buffer, original_data, 20) == 0);
|
||||
g_assert_cmpmem (buffer, n_bytes, original_data, 20);
|
||||
|
||||
verify_pos (iostream, 20);
|
||||
|
||||
@ -60,8 +58,7 @@ verify_iostream (GFileIOStream *file_iostream)
|
||||
|
||||
res = g_input_stream_read_all (in, buffer, 20, &n_bytes, NULL, NULL);
|
||||
g_assert (res);
|
||||
g_assert_cmpint ((int)n_bytes, ==, 10);
|
||||
g_assert (memcmp (buffer, original_data + strlen (original_data) - 10, 10) == 0);
|
||||
g_assert_cmpmem (buffer, n_bytes, original_data + strlen (original_data) - 10, 10);
|
||||
|
||||
verify_pos (iostream, strlen (original_data));
|
||||
|
||||
@ -118,8 +115,7 @@ verify_iostream (GFileIOStream *file_iostream)
|
||||
|
||||
res = g_input_stream_read_all (in, buffer, 15, &n_bytes, NULL, NULL);
|
||||
g_assert (res);
|
||||
g_assert_cmpint ((int)n_bytes, ==, 15);
|
||||
g_assert (memcmp (buffer, modified_data, 15) == 0);
|
||||
g_assert_cmpmem (buffer, n_bytes, modified_data, 15);
|
||||
|
||||
error = NULL;
|
||||
res = g_output_stream_write_all (out, new_data, strlen (new_data),
|
||||
|
@ -88,11 +88,11 @@
|
||||
* "assertions", which consists of running the test_assertions function.
|
||||
*
|
||||
* In addition to the traditional g_assert(), the test framework provides
|
||||
* an extended set of assertions for string and numerical comparisons:
|
||||
* g_assert_cmpfloat(), g_assert_cmpint(), g_assert_cmpuint(),
|
||||
* g_assert_cmphex(), g_assert_cmpstr(). The advantage of these variants
|
||||
* over plain g_assert() is that the assertion messages can be more
|
||||
* elaborate, and include the values of the compared entities.
|
||||
* an extended set of assertions for comparisons: g_assert_cmpfloat(),
|
||||
* g_assert_cmpint(), g_assert_cmpuint(), g_assert_cmphex(),
|
||||
* g_assert_cmpstr(), and g_assert_cmpmem(). The advantage of these
|
||||
* variants over plain g_assert() is that the assertion messages can be
|
||||
* more elaborate, and include the values of the compared entities.
|
||||
*
|
||||
* GLib ships with two utilities called [gtester][gtester] and
|
||||
* [gtester-report][gtester-report] to facilitate running tests and producing
|
||||
@ -544,6 +544,29 @@
|
||||
* Since: 2.16
|
||||
*/
|
||||
|
||||
/**
|
||||
* g_assert_cmpmem:
|
||||
* @m1: pointer to a buffer
|
||||
* @l1: length of @m1
|
||||
* @m2: pointer to another buffer
|
||||
* @l2: length of @m2
|
||||
*
|
||||
* Debugging macro to compare memory regions. If the comparison fails,
|
||||
* an error message is logged and the application is either terminated
|
||||
* or the testcase marked as failed.
|
||||
*
|
||||
* The effect of `g_assert_cmpmem (m1, l1, m2, l2)` is
|
||||
* the same as `g_assert_true (l1 == l2 && memcmp (m1, m2, l1) == 0)`.
|
||||
* The advantage of this macro is that it can produce a message that
|
||||
* includes the actual values of @l1 and @l2.
|
||||
*
|
||||
* |[<!-- language="C" -->
|
||||
* g_assert_cmpmem (buf->data, buf->len, expected, sizeof (expected));
|
||||
* ]|
|
||||
*
|
||||
* Since: 2.46
|
||||
*/
|
||||
|
||||
/**
|
||||
* g_assert_no_error:
|
||||
* @err: a #GError, possibly %NULL
|
||||
|
@ -68,6 +68,16 @@ typedef void (*GTestFixtureFunc) (gpointer fixture,
|
||||
g_assertion_message_cmpnum (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
|
||||
#n1 " " #cmp " " #n2, __n1, #cmp, __n2, 'f'); \
|
||||
} G_STMT_END
|
||||
#define g_assert_cmpmem(m1, l1, m2, l2) G_STMT_START {\
|
||||
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 ")"); \
|
||||
} G_STMT_END
|
||||
#define g_assert_no_error(err) G_STMT_START { \
|
||||
if (err) \
|
||||
g_assertion_message_error (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
|
||||
|
@ -57,10 +57,7 @@ test_incremental (gboolean line_break,
|
||||
len -= chunk_len;
|
||||
}
|
||||
|
||||
/* Check decoded length */
|
||||
g_assert_cmpint (decoded_len, ==, length);
|
||||
/* Check decoded data */
|
||||
g_assert (memcmp (data, data2, length) == 0);
|
||||
g_assert_cmpmem (data, length, data2, decoded_len);
|
||||
|
||||
g_free (text);
|
||||
g_free (data2);
|
||||
@ -94,10 +91,7 @@ test_full (gconstpointer d)
|
||||
data2 = g_base64_decode (text, &len);
|
||||
g_free (text);
|
||||
|
||||
/* Check decoded length */
|
||||
g_assert_cmpint (len, ==, length);
|
||||
/* Check decoded base64 data */
|
||||
g_assert (memcmp (data, data2, length) == 0);
|
||||
g_assert_cmpmem (data, length, data2, len);
|
||||
|
||||
g_free (data2);
|
||||
}
|
||||
@ -249,13 +243,9 @@ decode_and_compare (const gchar *datap,
|
||||
{
|
||||
guchar *data2;
|
||||
gsize len;
|
||||
int memcmp_decode;
|
||||
|
||||
data2 = g_base64_decode (datap, &len);
|
||||
g_assert_cmpint (len, ==, p->length);
|
||||
/* g_printerr ("length: got %d, expected %d\n",len, length); */
|
||||
memcmp_decode = memcmp (p->data, data2, p->length);
|
||||
g_assert_cmpint (memcmp_decode, ==, 0);
|
||||
g_assert_cmpmem (p->data, p->length, data2, len);
|
||||
g_free (data2);
|
||||
}
|
||||
|
||||
@ -266,14 +256,10 @@ decode_inplace_and_compare (const gchar *datap,
|
||||
gchar *data;
|
||||
guchar *data2;
|
||||
gsize len;
|
||||
int memcmp_decode;
|
||||
|
||||
data = g_strdup (datap);
|
||||
data2 = g_base64_decode_inplace (data, &len);
|
||||
g_assert_cmpint (len, ==, p->length);
|
||||
/* g_printerr ("length: got %d, expected %d\n",len, length); */
|
||||
memcmp_decode = memcmp (p->data, data2, p->length);
|
||||
g_assert_cmpint (memcmp_decode, ==, 0);
|
||||
g_assert_cmpmem (p->data, p->length, data2, len);
|
||||
g_free (data2);
|
||||
}
|
||||
|
||||
@ -361,8 +347,7 @@ test_base64_decode_smallblock (gconstpointer blocksize_p)
|
||||
|
||||
decoded_atonce = g_base64_decode (str, &decoded_atonce_size);
|
||||
|
||||
g_assert_cmpint (decoded_size, ==, decoded_atonce_size);
|
||||
g_assert (memcmp (decoded, decoded_atonce, decoded_size) == 0);
|
||||
g_assert_cmpmem (decoded, decoded_size, decoded_atonce, decoded_atonce_size);
|
||||
|
||||
g_free (decoded);
|
||||
g_free (decoded_atonce);
|
||||
|
@ -33,7 +33,7 @@ test_new (void)
|
||||
g_assert (g_bytes_get_data (bytes, &size) != data);
|
||||
g_assert_cmpuint (size, ==, 4);
|
||||
g_assert_cmpuint (g_bytes_get_size (bytes), ==, 4);
|
||||
g_assert (memcmp (data, g_bytes_get_data (bytes, NULL), g_bytes_get_size (bytes)) == 0);
|
||||
g_assert_cmpmem (data, 4, g_bytes_get_data (bytes, NULL), g_bytes_get_size (bytes));
|
||||
|
||||
g_bytes_unref (bytes);
|
||||
}
|
||||
@ -84,10 +84,9 @@ test_new_from_bytes (void)
|
||||
|
||||
g_assert (sub != NULL);
|
||||
g_assert (g_bytes_get_data (sub, NULL) == ((gchar *)g_bytes_get_data (bytes, NULL)) + 10);
|
||||
g_assert (g_bytes_get_size (sub) == 4);
|
||||
g_bytes_unref (bytes);
|
||||
|
||||
g_assert (memcmp (g_bytes_get_data (sub, NULL), "wave", 4) == 0);
|
||||
g_assert_cmpmem (g_bytes_get_data (sub, NULL), g_bytes_get_size (sub), "wave", 4);
|
||||
g_bytes_unref (sub);
|
||||
}
|
||||
|
||||
@ -212,8 +211,7 @@ test_to_data_transferred (void)
|
||||
memory = g_bytes_get_data (bytes, NULL);
|
||||
data = g_bytes_unref_to_data (bytes, &size);
|
||||
g_assert (data == memory);
|
||||
g_assert_cmpuint (size, ==, N_NYAN);
|
||||
g_assert (memcmp (data, NYAN, N_NYAN) == 0);
|
||||
g_assert_cmpmem (data, size, NYAN, N_NYAN);
|
||||
g_free (data);
|
||||
}
|
||||
|
||||
@ -231,8 +229,7 @@ test_to_data_two_refs (void)
|
||||
memory = g_bytes_get_data (bytes, NULL);
|
||||
data = g_bytes_unref_to_data (bytes, &size);
|
||||
g_assert (data != memory);
|
||||
g_assert_cmpuint (size, ==, N_NYAN);
|
||||
g_assert (memcmp (data, NYAN, N_NYAN) == 0);
|
||||
g_assert_cmpmem (data, size, NYAN, N_NYAN);
|
||||
g_free (data);
|
||||
g_assert (g_bytes_get_data (bytes, &size) == memory);
|
||||
g_assert_cmpuint (size, ==, N_NYAN);
|
||||
@ -252,8 +249,7 @@ test_to_data_non_malloc (void)
|
||||
g_assert (g_bytes_get_data (bytes, NULL) == NYAN);
|
||||
data = g_bytes_unref_to_data (bytes, &size);
|
||||
g_assert (data != (gpointer)NYAN);
|
||||
g_assert_cmpuint (size, ==, N_NYAN);
|
||||
g_assert (memcmp (data, NYAN, N_NYAN) == 0);
|
||||
g_assert_cmpmem (data, size, NYAN, N_NYAN);
|
||||
g_free (data);
|
||||
}
|
||||
|
||||
@ -270,8 +266,7 @@ test_to_array_transferred (void)
|
||||
array = g_bytes_unref_to_array (bytes);
|
||||
g_assert (array != NULL);
|
||||
g_assert (array->data == memory);
|
||||
g_assert_cmpuint (array->len, ==, N_NYAN);
|
||||
g_assert (memcmp (array->data, NYAN, N_NYAN) == 0);
|
||||
g_assert_cmpmem (array->data, array->len, NYAN, N_NYAN);
|
||||
g_byte_array_unref (array);
|
||||
}
|
||||
|
||||
@ -290,8 +285,7 @@ test_to_array_two_refs (void)
|
||||
array = g_bytes_unref_to_array (bytes);
|
||||
g_assert (array != NULL);
|
||||
g_assert (array->data != memory);
|
||||
g_assert_cmpuint (array->len, ==, N_NYAN);
|
||||
g_assert (memcmp (array->data, NYAN, N_NYAN) == 0);
|
||||
g_assert_cmpmem (array->data, array->len, NYAN, N_NYAN);
|
||||
g_byte_array_unref (array);
|
||||
g_assert (g_bytes_get_data (bytes, &size) == memory);
|
||||
g_assert_cmpuint (size, ==, N_NYAN);
|
||||
@ -311,8 +305,7 @@ test_to_array_non_malloc (void)
|
||||
array = g_bytes_unref_to_array (bytes);
|
||||
g_assert (array != NULL);
|
||||
g_assert (array->data != (gpointer)NYAN);
|
||||
g_assert_cmpuint (array->len, ==, N_NYAN);
|
||||
g_assert (memcmp (array->data, NYAN, N_NYAN) == 0);
|
||||
g_assert_cmpmem (array->data, array->len, NYAN, N_NYAN);
|
||||
g_byte_array_unref (array);
|
||||
}
|
||||
|
||||
|
@ -868,8 +868,7 @@ test_checksum_reset (gconstpointer d)
|
||||
g_assert_cmpint (len, ==, len2);
|
||||
digest2 = g_malloc (len2);
|
||||
g_checksum_get_digest (checksum, digest2, &len2);
|
||||
g_assert_cmpint (len, ==, len2);
|
||||
g_assert (memcmp (digest, digest2, len) == 0);
|
||||
g_assert_cmpmem (digest, len, digest2, len);
|
||||
g_free (digest);
|
||||
g_free (digest2);
|
||||
|
||||
|
@ -2224,8 +2224,7 @@ test_byteswap (void)
|
||||
|
||||
g_variant_serialised_byteswap (two);
|
||||
|
||||
g_assert_cmpint (one.size, ==, two.size);
|
||||
g_assert (memcmp (one.data, two.data, one.size) == 0);
|
||||
g_assert_cmpmem (one.data, one.size, two.data, two.size);
|
||||
|
||||
tree_instance_free (tree);
|
||||
g_free (one.data);
|
||||
|
@ -352,8 +352,7 @@ test_hmac (HmacCase *t)
|
||||
g_hmac_update (hmac, t->data, t->data_len);
|
||||
g_hmac_get_digest (hmac, digest, &digest_len);
|
||||
|
||||
g_assert_cmpuint (digest_len, ==, hmac_len);
|
||||
g_assert (memcmp (digest, t->result, digest_len) == 0);
|
||||
g_assert_cmpmem (digest, hmac_len, t->result, digest_len);
|
||||
|
||||
g_free (digest);
|
||||
g_hmac_unref (hmac);
|
||||
|
@ -1262,8 +1262,7 @@ test_bounds (void)
|
||||
tmp = g_strjoinv (".", array);
|
||||
g_strfreev (array);
|
||||
|
||||
g_assert_cmpint (strlen (tmp), ==, 4095);
|
||||
g_assert (memcmp (tmp, string, 4095) == 0);
|
||||
g_assert_cmpmem (tmp, strlen (tmp), string, 4095);
|
||||
g_free (tmp);
|
||||
|
||||
tmp = g_strconcat (string, string, string, NULL);
|
||||
|
@ -423,13 +423,11 @@ test_string_nul_handling (void)
|
||||
g_assert (!g_string_equal (string1, string2));
|
||||
g_assert (string1->len == 8);
|
||||
g_string_append (string1, "yzzy");
|
||||
g_assert (string1->len == 12);
|
||||
g_assert (memcmp (string1->str, "fiddle\0xyzzy", 13) == 0);
|
||||
g_assert_cmpmem (string1->str, string1->len + 1, "fiddle\0xyzzy", 13);
|
||||
g_string_insert (string1, 1, "QED");
|
||||
g_assert (memcmp (string1->str, "fQEDiddle\0xyzzy", 16) == 0);
|
||||
g_assert_cmpmem (string1->str, string1->len + 1, "fQEDiddle\0xyzzy", 16);
|
||||
g_string_printf (string1, "fiddle%cxyzzy", '\0');
|
||||
g_assert (string1->len == 12);
|
||||
g_assert (memcmp (string1->str, "fiddle\0xyzzy", 13) == 0);
|
||||
g_assert_cmpmem (string1->str, string1->len + 1, "fiddle\0xyzzy", 13);
|
||||
|
||||
g_string_free (string1, TRUE);
|
||||
g_string_free (string2, TRUE);
|
||||
@ -490,7 +488,7 @@ test_string_to_bytes (void)
|
||||
|
||||
g_assert_cmpint (byte_len, ==, 7);
|
||||
|
||||
g_assert_cmpint (memcmp (byte_data, "foo-bar", byte_len), ==, 0);
|
||||
g_assert_cmpmem (byte_data, byte_len, "foo-bar", 7);
|
||||
|
||||
g_bytes_unref (bytes);
|
||||
}
|
||||
|
@ -46,6 +46,20 @@ test_assertions_bad_cmpint (void)
|
||||
exit (0);
|
||||
}
|
||||
|
||||
static void
|
||||
test_assertions_bad_cmpmem_len (void)
|
||||
{
|
||||
g_assert_cmpmem ("foo", 3, "foot", 4);
|
||||
exit (0);
|
||||
}
|
||||
|
||||
static void
|
||||
test_assertions_bad_cmpmem_data (void)
|
||||
{
|
||||
g_assert_cmpmem ("foo", 3, "fzz", 3);
|
||||
exit (0);
|
||||
}
|
||||
|
||||
static void
|
||||
test_assertions (void)
|
||||
{
|
||||
@ -66,6 +80,7 @@ test_assertions (void)
|
||||
g_assert_cmpstr ("foo", <, "fzz");
|
||||
g_assert_cmpstr ("fzz", >, "faa");
|
||||
g_assert_cmpstr ("fzz", ==, "fzz");
|
||||
g_assert_cmpmem ("foo", 3, "foot", 3);
|
||||
|
||||
g_test_trap_subprocess ("/misc/assertions/subprocess/bad_cmpstr", 0, 0);
|
||||
g_test_trap_assert_failed ();
|
||||
@ -74,6 +89,15 @@ test_assertions (void)
|
||||
g_test_trap_subprocess ("/misc/assertions/subprocess/bad_cmpint", 0, 0);
|
||||
g_test_trap_assert_failed ();
|
||||
g_test_trap_assert_stderr ("*assertion failed*");
|
||||
|
||||
g_test_trap_subprocess ("/misc/assertions/subprocess/bad_cmpmem_len", 0, 0);
|
||||
g_test_trap_assert_failed ();
|
||||
g_test_trap_assert_stderr ("*assertion failed*len*");
|
||||
|
||||
g_test_trap_subprocess ("/misc/assertions/subprocess/bad_cmpmem_data", 0, 0);
|
||||
g_test_trap_assert_failed ();
|
||||
g_test_trap_assert_stderr ("*assertion failed*");
|
||||
g_test_trap_assert_stderr_unmatched ("*assertion failed*len*");
|
||||
}
|
||||
|
||||
/* test g_test_timer* API */
|
||||
@ -714,6 +738,8 @@ main (int argc,
|
||||
g_test_add_func ("/misc/assertions", test_assertions);
|
||||
g_test_add_func ("/misc/assertions/subprocess/bad_cmpstr", test_assertions_bad_cmpstr);
|
||||
g_test_add_func ("/misc/assertions/subprocess/bad_cmpint", test_assertions_bad_cmpint);
|
||||
g_test_add_func ("/misc/assertions/subprocess/bad_cmpmem_len", test_assertions_bad_cmpmem_len);
|
||||
g_test_add_func ("/misc/assertions/subprocess/bad_cmpmem_data", test_assertions_bad_cmpmem_data);
|
||||
g_test_add_data_func ("/misc/test-data", (void*) 0xc0c0baba, test_data_test);
|
||||
g_test_add ("/misc/primetoul", Fixturetest, (void*) 0xc0cac01a, fixturetest_setup, fixturetest_test, fixturetest_teardown);
|
||||
if (g_test_perf())
|
||||
|
Loading…
Reference in New Issue
Block a user