[glib] convert: Improve test coverage
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib] convert: Improve test coverage
- Date: Sun, 8 Apr 2012 14:24:52 +0000 (UTC)
commit cbeecdc4ae5e25e94e694f0503e42386572c5a25
Author: Matthias Clasen <mclasen redhat com>
Date: Sat Apr 7 11:23:47 2012 -0400
convert: Improve test coverage
Add a test that excercises the 'no conversion' code path.
This uncovered that we don't treat errno properly in this path,
and as a consequence, the returned error code is unreliable.
glib/tests/convert.c | 17 +++++++++++++++++
1 files changed, 17 insertions(+), 0 deletions(-)
---
diff --git a/glib/tests/convert.c b/glib/tests/convert.c
index 603142f..df87244 100644
--- a/glib/tests/convert.c
+++ b/glib/tests/convert.c
@@ -685,11 +685,28 @@ test_filename_display (void)
g_free (display);
}
+static void
+test_no_conv (void)
+{
+ gchar *in = "";
+ gchar *out G_GNUC_UNUSED;
+ gsize bytes_read = 0;
+ gsize bytes_written = 0;
+ GError *error = NULL;
+
+ out = g_convert (in, -1, "XXX", "UVZ",
+ &bytes_read, &bytes_written, &error);
+
+ /* error code is unreliable, since we mishandle errno there */
+ g_assert (error && error->domain == G_CONVERT_ERROR);
+}
+
int
main (int argc, char *argv[])
{
g_test_init (&argc, &argv, NULL);
+ g_test_add_func ("/conversion/no-conv", test_no_conv);
g_test_add_func ("/conversion/iconv-state", test_iconv_state);
g_test_add_func ("/conversion/illegal-sequence", test_one_half);
g_test_add_func ("/conversion/byte-order", test_byte_order);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]