bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

unistr, unictype: more unit tests


From: Bruno Haible
Subject: unistr, unictype: more unit tests
Date: Mon, 11 Jan 2010 00:06:18 +0100
User-agent: KMail/1.9.9

The LCOV coverage tests of libunistring showed lack of test suite coverage of
most of unistr/* and some of unictype/*. I'm therefore adding some new unit
tests, to increase the test suite coverage.

The new tests have uncovered minor bugs in some functions: u16_to_u32,
u16_to_u8, u8_to_u32, u8_to_u16, u8_mbsnlen, u8_stpncpy, u16_stpncpy,
u32_stpncpy, u8_strcoll, u16_strcoll, u32_strcoll.

Bruno


2010-01-10  Bruno Haible  <address@hidden>

        Tests for module 'unistr/u32-strdup'.
        * modules/unistr/u32-strdup-tests: New file.
        * tests/unistr/test-u32-strdup.c: New file.

        Tests for module 'unistr/u16-strdup'.
        * modules/unistr/u16-strdup-tests: New file.
        * tests/unistr/test-u16-strdup.c: New file.

        Tests for module 'unistr/u8-strdup'.
        * modules/unistr/u8-strdup-tests: New file.
        * tests/unistr/test-u8-strdup.c: New file.
        * tests/unistr/test-strdup.h: New file.

        Tests for module 'unistr/u32-strncmp'.
        * modules/unistr/u32-strncmp-tests: New file.
        * tests/unistr/test-u32-strncmp.c: New file.

        Tests for module 'unistr/u16-strncmp'.
        * modules/unistr/u16-strncmp-tests: New file.
        * tests/unistr/test-u16-strncmp.c: New file.

        Tests for module 'unistr/u8-strncmp'.
        * modules/unistr/u8-strncmp-tests: New file.
        * tests/unistr/test-u8-strncmp.c: New file.
        * tests/unistr/test-strncmp.h: New file.

        Tests for module 'unistr/u32-strcoll'.
        * modules/unistr/u32-strcoll-tests: New file.
        * tests/unistr/test-u32-strcoll.c: New file.

        Tests for module 'unistr/u16-strcoll'.
        * modules/unistr/u16-strcoll-tests: New file.
        * tests/unistr/test-u16-strcoll.c: New file.

        Tests for module 'unistr/u8-strcoll'.
        * modules/unistr/u8-strcoll-tests: New file.
        * tests/unistr/test-u8-strcoll.c: New file.

        Tests for module 'unistr/u32-strcmp'.
        * modules/unistr/u32-strcmp-tests: New file.
        * tests/unistr/test-u32-strcmp.c: New file.
        * tests/unistr/test-u32-strcmp.h: New file.

        Tests for module 'unistr/u16-strcmp'.
        * modules/unistr/u16-strcmp-tests: New file.
        * tests/unistr/test-u16-strcmp.c: New file.
        * tests/unistr/test-u16-strcmp.h: New file.

        Tests for module 'unistr/u8-strcmp'.
        * modules/unistr/u8-strcmp-tests: New file.
        * tests/unistr/test-u8-strcmp.c: New file.
        * tests/unistr/test-u8-strcmp.h: New file.
        * tests/unistr/test-strcmp.h: New file.

        Tests for module 'unistr/u32-strncat'.
        * modules/unistr/u32-strncat-tests: New file.
        * tests/unistr/test-u32-strncat.c: New file.

        Tests for module 'unistr/u16-strncat'.
        * modules/unistr/u16-strncat-tests: New file.
        * tests/unistr/test-u16-strncat.c: New file.

        Tests for module 'unistr/u8-strncat'.
        * modules/unistr/u8-strncat-tests: New file.
        * tests/unistr/test-u8-strncat.c: New file.
        * tests/unistr/test-strncat.h: New file.

        Tests for module 'unistr/u32-strcat'.
        * modules/unistr/u32-strcat-tests: New file.
        * tests/unistr/test-u32-strcat.c: New file.

        Tests for module 'unistr/u16-strcat'.
        * modules/unistr/u16-strcat-tests: New file.
        * tests/unistr/test-u16-strcat.c: New file.

        Tests for module 'unistr/u8-strcat'.
        * modules/unistr/u8-strcat-tests: New file.
        * tests/unistr/test-u8-strcat.c: New file.
        * tests/unistr/test-strcat.h: New file.

        Tests for module 'unistr/u32-stpncpy'.
        * modules/unistr/u32-stpncpy-tests: New file.
        * tests/unistr/test-u32-stpncpy.c: New file.

        Tests for module 'unistr/u16-stpncpy'.
        * modules/unistr/u16-stpncpy-tests: New file.
        * tests/unistr/test-u16-stpncpy.c: New file.

        Tests for module 'unistr/u8-stpncpy'.
        * modules/unistr/u8-stpncpy-tests: New file.
        * tests/unistr/test-u8-stpncpy.c: New file.
        * tests/unistr/test-stpncpy.h: New file.

        Tests for module 'unistr/u32-strncpy'.
        * modules/unistr/u32-strncpy-tests: New file.
        * tests/unistr/test-u32-strncpy.c: New file.

        Tests for module 'unistr/u16-strncpy'.
        * modules/unistr/u16-strncpy-tests: New file.
        * tests/unistr/test-u16-strncpy.c: New file.

        Tests for module 'unistr/u8-strncpy'.
        * modules/unistr/u8-strncpy-tests: New file.
        * tests/unistr/test-u8-strncpy.c: New file.
        * tests/unistr/test-strncpy.h: New file.

        Tests for module 'unistr/u32-stpcpy'.
        * modules/unistr/u32-stpcpy-tests: New file.
        * tests/unistr/test-u32-stpcpy.c: New file.

        Tests for module 'unistr/u16-stpcpy'.
        * modules/unistr/u16-stpcpy-tests: New file.
        * tests/unistr/test-u16-stpcpy.c: New file.

        Tests for module 'unistr/u8-stpcpy'.
        * modules/unistr/u8-stpcpy-tests: New file.
        * tests/unistr/test-u8-stpcpy.c: New file.
        * tests/unistr/test-stpcpy.h: New file.

        Tests for module 'unistr/u32-strcpy'.
        * modules/unistr/u32-strcpy-tests: New file.
        * tests/unistr/test-u32-strcpy.c: New file.

        Tests for module 'unistr/u16-strcpy'.
        * modules/unistr/u16-strcpy-tests: New file.
        * tests/unistr/test-u16-strcpy.c: New file.

        Tests for module 'unistr/u8-strcpy'.
        * modules/unistr/u8-strcpy-tests: New file.
        * tests/unistr/test-u8-strcpy.c: New file.
        * tests/unistr/test-strcpy.h: New file.

        Tests for module 'unistr/u32-strnlen'.
        * modules/unistr/u32-strnlen-tests: New file.
        * tests/unistr/test-u32-strnlen.c: New file.

        Tests for module 'unistr/u16-strnlen'.
        * modules/unistr/u16-strnlen-tests: New file.
        * tests/unistr/test-u16-strnlen.c: New file.

        Tests for module 'unistr/u8-strnlen'.
        * modules/unistr/u8-strnlen-tests: New file.
        * tests/unistr/test-u8-strnlen.c: New file.
        * tests/unistr/test-strnlen.h: New file.

        Tests for module 'unistr/u32-strlen'.
        * modules/unistr/u32-strlen-tests: New file.
        * tests/unistr/test-u32-strlen.c: New file.

        Tests for module 'unistr/u16-strlen'.
        * modules/unistr/u16-strlen-tests: New file.
        * tests/unistr/test-u16-strlen.c: New file.

        Tests for module 'unistr/u8-strlen'.
        * modules/unistr/u8-strlen-tests: New file.
        * tests/unistr/test-u8-strlen.c: New file.

        Tests for module 'unistr/u32-prev'.
        * modules/unistr/u32-prev-tests: New file.
        * tests/unistr/test-u32-prev.c: New file.

        Tests for module 'unistr/u16-prev'.
        * modules/unistr/u16-prev-tests: New file.
        * tests/unistr/test-u16-prev.c: New file.

        Tests for module 'unistr/u8-prev'.
        * modules/unistr/u8-prev-tests: New file.
        * tests/unistr/test-u8-prev.c: New file.

        Tests for module 'unistr/u32-next'.
        * modules/unistr/u32-next-tests: New file.
        * tests/unistr/test-u32-next.c: New file.

        Tests for module 'unistr/u16-next'.
        * modules/unistr/u16-next-tests: New file.
        * tests/unistr/test-u16-next.c: New file.

        Tests for module 'unistr/u8-next'.
        * modules/unistr/u8-next-tests: New file.
        * tests/unistr/test-u8-next.c: New file.

        Tests for module 'unistr/u32-strmbtouc'.
        * modules/unistr/u32-strmbtouc-tests: New file.
        * tests/unistr/test-u32-strmbtouc.c: New file.

        Tests for module 'unistr/u16-strmbtouc'.
        * modules/unistr/u16-strmbtouc-tests: New file.
        * tests/unistr/test-u16-strmbtouc.c: New file.

        Tests for module 'unistr/u8-strmbtouc'.
        * modules/unistr/u8-strmbtouc-tests: New file.
        * tests/unistr/test-u8-strmbtouc.c: New file.

        Tests for module 'unistr/u32-strmblen'.
        * modules/unistr/u32-strmblen-tests: New file.
        * tests/unistr/test-u32-strmblen.c: New file.

        Tests for module 'unistr/u16-strmblen'.
        * modules/unistr/u16-strmblen-tests: New file.
        * tests/unistr/test-u16-strmblen.c: New file.

        Tests for module 'unistr/u8-strmblen'.
        * modules/unistr/u8-strmblen-tests: New file.
        * tests/unistr/test-u8-strmblen.c: New file.

        Tests for module 'unistr/u32-cpy-alloc'.
        * modules/unistr/u32-cpy-alloc-tests: New file.
        * tests/unistr/test-u32-cpy-alloc.c: New file.

        Tests for module 'unistr/u16-cpy-alloc'.
        * modules/unistr/u16-cpy-alloc-tests: New file.
        * tests/unistr/test-u16-cpy-alloc.c: New file.

        Tests for module 'unistr/u8-cpy-alloc'.
        * modules/unistr/u8-cpy-alloc-tests: New file.
        * tests/unistr/test-u8-cpy-alloc.c: New file.
        * tests/unistr/test-cpy-alloc.h: New file.

        Tests for module 'unistr/u32-mbsnlen'.
        * modules/unistr/u32-mbsnlen-tests: New file.
        * tests/unistr/test-u32-mbsnlen.c: New file.

        Tests for module 'unistr/u16-mbsnlen'.
        * modules/unistr/u16-mbsnlen-tests: New file.
        * tests/unistr/test-u16-mbsnlen.c: New file.

        Tests for module 'unistr/u8-mbsnlen'.
        * modules/unistr/u8-mbsnlen-tests: New file.
        * tests/unistr/test-u8-mbsnlen.c: New file.

        Tests for module 'unistr/u32-chr'.
        * modules/unistr/u32-chr-tests: New file.
        * tests/unistr/test-u32-chr.c: New file.

        Tests for module 'unistr/u16-chr'.
        * modules/unistr/u16-chr-tests: New file.
        * tests/unistr/test-u16-chr.c: New file.

        Tests for module 'unistr/u8-chr'.
        * modules/unistr/u8-chr-tests: New file.
        * tests/unistr/test-u8-chr.c: New file.
        * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.

        Tests for module 'unistr/u32-cmp2'.
        * modules/unistr/u32-cmp2-tests: New file.
        * tests/unistr/test-u32-cmp2.c: New file.

        Tests for module 'unistr/u16-cmp2'.
        * modules/unistr/u16-cmp2-tests: New file.
        * tests/unistr/test-u16-cmp2.c: New file.

        Tests for module 'unistr/u8-cmp2'.
        * modules/unistr/u8-cmp2-tests: New file.
        * tests/unistr/test-u8-cmp2.c: New file.
        * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.

        Tests for module 'unistr/u32-cmp'.
        * modules/unistr/u32-cmp-tests: New file.
        * tests/unistr/test-u32-cmp.c: New file.

        Tests for module 'unistr/u16-cmp'.
        * modules/unistr/u16-cmp-tests: New file.
        * tests/unistr/test-u16-cmp.c: New file.

        Tests for module 'unistr/u8-cmp'.
        * modules/unistr/u8-cmp-tests: New file.
        * tests/unistr/test-u8-cmp.c: New file.
        * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.

        Tests for module 'unistr/u32-set'.
        * modules/unistr/u32-set-tests: New file.
        * tests/unistr/test-u32-set.c: New file.

        Tests for module 'unistr/u16-set'.
        * modules/unistr/u16-set-tests: New file.
        * tests/unistr/test-u16-set.c: New file.

        Tests for module 'unistr/u8-set'.
        * modules/unistr/u8-set-tests: New file.
        * tests/unistr/test-u8-set.c: New file.
        * tests/unistr/test-set.h: New file.

        Tests for module 'unistr/u32-move'.
        * modules/unistr/u32-move-tests: New file.
        * tests/unistr/test-u32-move.c: New file.

        Tests for module 'unistr/u16-move'.
        * modules/unistr/u16-move-tests: New file.
        * tests/unistr/test-u16-move.c: New file.

        Tests for module 'unistr/u8-move'.
        * modules/unistr/u8-move-tests: New file.
        * tests/unistr/test-u8-move.c: New file.
        * tests/unistr/test-move.h: New file.

        Tests for module 'unistr/u32-cpy'.
        * modules/unistr/u32-cpy-tests: New file.
        * tests/unistr/test-u32-cpy.c: New file.

        Tests for module 'unistr/u16-cpy'.
        * modules/unistr/u16-cpy-tests: New file.
        * tests/unistr/test-u16-cpy.c: New file.

        Tests for module 'unistr/u8-cpy'.
        * modules/unistr/u8-cpy-tests: New file.
        * tests/unistr/test-u8-cpy.c: New file.
        * tests/unistr/test-cpy.h: New file.

2010-01-09  Bruno Haible  <address@hidden>

        Tests for module 'unistr/u32-uctomb'.
        * modules/unistr/u32-uctomb-tests: New file.
        * tests/unistr/test-u32-uctomb.c: New file.

        Tests for module 'unistr/u16-uctomb'.
        * modules/unistr/u16-uctomb-tests: New file.
        * tests/unistr/test-u16-uctomb.c: New file.

        Tests for module 'unistr/u8-uctomb'.
        * modules/unistr/u8-uctomb-tests: New file.
        * tests/unistr/test-u8-uctomb.c: New file.

        Tests for module 'unistr/u32-mbtoucr'.
        * modules/unistr/u32-mbtoucr-tests: New file.
        * tests/unistr/test-u32-mbtoucr.c: New file.

        Tests for module 'unistr/u16-mbtoucr'.
        * modules/unistr/u16-mbtoucr-tests: New file.
        * tests/unistr/test-u16-mbtoucr.c: New file.

        Tests for module 'unistr/u8-mbtoucr'.
        * modules/unistr/u8-mbtoucr-tests: New file.
        * tests/unistr/test-u8-mbtoucr.c: New file.

        Tests for module 'unistr/u32-mbtouc'.
        * modules/unistr/u32-mbtouc-tests: New file.
        * tests/unistr/test-u32-mbtouc.c: New file.

        Tests for module 'unistr/u16-mbtouc'.
        * modules/unistr/u16-mbtouc-tests: New file.
        * tests/unistr/test-u16-mbtouc.c: New file.

        Tests for module 'unistr/u8-mbtouc'.
        * modules/unistr/u8-mbtouc-tests: New file.
        * tests/unistr/test-u8-mbtouc.c: New file.

        Tests for module 'unistr/u32-mbtouc-unsafe'.
        * modules/unistr/u32-mbtouc-unsafe-tests: New file.
        * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
        * tests/unistr/test-u32-mbtouc.h: New file.

        Tests for module 'unistr/u16-mbtouc-unsafe'.
        * modules/unistr/u16-mbtouc-unsafe-tests: New file.
        * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
        * tests/unistr/test-u16-mbtouc.h: New file.

        Tests for module 'unistr/u8-mbtouc-unsafe'.
        * modules/unistr/u8-mbtouc-unsafe-tests: New file.
        * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
        * tests/unistr/test-u8-mbtouc.h: New file.

        Tests for module 'unistr/u32-mblen'.
        * modules/unistr/u32-mblen-tests: New file.
        * tests/unistr/test-u32-mblen.c: New file.

        Tests for module 'unistr/u16-mblen'.
        * modules/unistr/u16-mblen-tests: New file.
        * tests/unistr/test-u16-mblen.c: New file.

        Tests for module 'unistr/u8-mblen'.
        * modules/unistr/u8-mblen-tests: New file.
        * tests/unistr/test-u8-mblen.c: New file.

        Tests for module 'unistr/u32-to-u16'.
        * modules/unistr/u32-to-u16-tests: New file.
        * tests/unistr/test-u32-to-u16.c: New file.

        Tests for module 'unistr/u32-to-u8'.
        * modules/unistr/u32-to-u8-tests: New file.
        * tests/unistr/test-u32-to-u8.c: New file.

        Tests for module 'unistr/u16-to-u32'.
        * modules/unistr/u16-to-u32-tests: New file.
        * tests/unistr/test-u16-to-u32.c: New file.

        Tests for module 'unistr/u16-to-u8'.
        * modules/unistr/u16-to-u8-tests: New file.
        * tests/unistr/test-u16-to-u8.c: New file.

        Tests for module 'unistr/u8-to-u32'.
        * modules/unistr/u8-to-u32-tests: New file.
        * tests/unistr/test-u8-to-u32.c: New file.

        Tests for module 'unistr/u8-to-u16'.
        * modules/unistr/u8-to-u16-tests: New file.
        * tests/unistr/test-u8-to-u16.c: New file.

        Tests for module 'unistr/u32-check'.
        * modules/unistr/u32-check-tests: New file.
        * tests/unistr/test-u32-check.c: New file.

        Tests for module 'unistr/u16-check'.
        * modules/unistr/u16-check-tests: New file.
        * tests/unistr/test-u16-check.c: New file.

        Tests for module 'unistr/u8-check'.
        * modules/unistr/u8-check-tests: New file.
        * tests/unistr/test-u8-check.c: New file.

        * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
        (category_equals): New function.
        (main): Add more tests.
        * modules/unictype/category-byname-tests (Depends-on): Add stdbool.

        * tests/unictype/test-bidi_byname.c (main): Add more tests.

2010-01-10  Bruno Haible  <address@hidden>

        unistr/u*-strcoll: Try harder to distinguish different strings.
        * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
        compare s1 and s2 to see if they are different.

2010-01-10  Bruno Haible  <address@hidden>

        unistr/u*-stpncpy: Fix the return value.
        * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
        description of the return value consistent with stpncpy in glibc.
        * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
        written non-NUL unit.

2010-01-10  Bruno Haible  <address@hidden>

        unistr/u*-next: Add missing dependencies.
        * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
        * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
        * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.

2010-01-10  Bruno Haible  <address@hidden>

        unistr/u8-mbsnlen: Fix return value for incomplete character.
        * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
        u8_mblen.
        * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
        Remove unistr/u8-mblen.
        * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
        u16_mblen.
        * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
        Remove unistr/u16-mblen.

2010-01-09  Bruno Haible  <address@hidden>

        unistr/u16-to-u32: Reject invalid input.
        * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
        u16_mbtouc.
        * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
        Remove unistr/u16-mbtouc.

        unistr/u16-to-u8: Reject invalid input.
        * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
        u16_mbtouc.
        * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
        Remove unistr/u16-mbtouc.

        unistr/u8-to-u32: Reject invalid input.
        * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
        u8_mbtouc.
        * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
        Remove unistr/u8-mbtouc.

        unistr/u8-to-u16: Reject invalid input.
        * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
        u8_mbtouc.
        * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
        Remove unistr/u8-mbtouc.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]