Mercurial > hg > octave-nkf > gnulib-hg
changeset 11464:61a3fa1a741c
Avoid test failure with libiconv-1.13.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Mon, 06 Apr 2009 01:32:32 +0200 |
parents | 9b74d1d0b267 |
children | 618e55f1fba9 |
files | ChangeLog tests/test-striconveh.c |
diffstat | 2 files changed, 21 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2009-04-05 Bruno Haible <bruno@clisp.org> + + Avoid test failure with libiconv-1.13. + * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one + of the expected test results. + 2009-04-05 Bruno Haible <bruno@clisp.org> * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
--- a/tests/test-striconveh.c +++ b/tests/test-striconveh.c @@ -1,5 +1,5 @@ /* Test of character set conversion with error handling. - Copyright (C) 2007-2008 Free Software Foundation, Inc. + Copyright (C) 2007-2009 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -392,15 +392,25 @@ case iconveh_question_mark: case iconveh_escape_sequence: { - static const char expected1[] = "?????"; /* glibc */ - static const char expected2[] = "?2D/YQNhB"; /* libiconv */ + /* glibc result */ + static const char expected1[] = "?????"; + /* libiconv <= 1.12 result */ + static const char expected2[] = "?2D/YQNhB"; + /* libiconv behaviour changed in version 1.13: the result is + '?' U+0FF6 U+1036; this is U+D83F U+D840 U+D841 shifted left + by 6 bits. */ + static const char expected3[] = "?\340\277\266\341\200\266"; ASSERT (retval == 0); - ASSERT (length == strlen (expected1) || length == strlen (expected2)); + ASSERT (length == strlen (expected1) + || length == strlen (expected2) + || length == strlen (expected3)); ASSERT (result != NULL); if (length == strlen (expected1)) ASSERT (memcmp (result, expected1, strlen (expected1)) == 0); + else if (length == strlen (expected2)) + ASSERT (memcmp (result, expected2, strlen (expected2)) == 0); else - ASSERT (memcmp (result, expected2, strlen (expected2)) == 0); + ASSERT (memcmp (result, expected3, strlen (expected3)) == 0); free (result); } break;