diff options
author | Mattias Andrée <maandree@kth.se> | 2018-08-25 23:01:22 +0200 |
---|---|---|
committer | Mattias Andrée <maandree@kth.se> | 2018-08-25 23:01:22 +0200 |
commit | 6912e596b839e658aa83538731a91c726e5973f5 (patch) | |
tree | eca9ef0baa1454172d1a40775ba115629de63eb3 /libsimple.c | |
parent | Add more tests (diff) | |
download | libsimple-6912e596b839e658aa83538731a91c726e5973f5.tar.gz libsimple-6912e596b839e658aa83538731a91c726e5973f5.tar.bz2 libsimple-6912e596b839e658aa83538731a91c726e5973f5.tar.xz |
Some fixes and more tests
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to 'libsimple.c')
-rw-r--r-- | libsimple.c | 75 |
1 files changed, 73 insertions, 2 deletions
diff --git a/libsimple.c b/libsimple.c index 03d7611..f9657c2 100644 --- a/libsimple.c +++ b/libsimple.c @@ -12,7 +12,8 @@ int libsimple_default_failure_exit = 1; int main(void) { - char buf[1024]; + const char *cs; + char buf[1024], *s; int intarray[10]; size_t i, n; @@ -202,7 +203,7 @@ main(void) stpcpy(buf, "abcxyz"); assert(libsimple_mempcpy(buf, "123", 3) == &buf[3]); - /* assert(strcmpnul(buf, "123xyz")); FIXME */ + assert(!strcmpnul(buf, "123xyz")); assert(libsimple_streq("abc", "abc") == 1); assert(libsimple_streq("abc", "ab") == 0); @@ -558,6 +559,76 @@ main(void) assert(libsimple_strncasecmpnul("Aa", "AA", 0) == 0); assert(libsimple_strncasecmpnul("AA", "AA", 0) == 0); +#ifdef libsimple_strdupa + cs = ""; + s = libsimple_strdupa(cs); + assert(s); + assert(s != cs); + assert(!strcmp(s, cs)); + + cs = "xyz"; + s = libsimple_strdupa(cs); + assert(s); + assert(s != cs); + assert(!strcmp(s, cs)); +#else + fprintf(stderr, "warning: libsimple_strdupa missing\n"); +#endif + +#ifdef libsimple_strndupa + cs = ""; + s = libsimple_strndupa(cs, 5); + assert(s); + assert(s != cs); + assert(!strcmp(s, "")); + + cs = "xyz"; + + s = libsimple_strndupa(cs, 5); + assert(s); + assert(s != cs); + assert(!strcmp(s, "xyz")); + + s = libsimple_strndupa(cs, 4); + assert(s); + assert(s != cs); + assert(!strcmp(s, "xyz")); + + s = libsimple_strndupa(cs, 3); + assert(s); + assert(s != cs); + assert(!strcmp(s, "xyz")); + + s = libsimple_strndupa(cs, 2); + assert(s); + assert(s != cs); + assert(!strcmp(s, "xy")); + + s = libsimple_strndupa(cs, 1); + assert(s); + assert(s != cs); + assert(!strcmp(s, "x")); + + s = libsimple_strndupa(cs, 0); + assert(s); + assert(s != cs); + assert(!strcmp(s, "")); +#else + fprintf(stderr, "warning: libsimple_strndupa missing\n"); +#endif + +#ifdef libsimple_memdupa + cs = "xyz"; + for (n = 1; n < 4; n++) { + s = libsimple_memdupa(cs, n); + assert(s); + assert(s != cs); + assert(!memcmp(s, cs, n)); + } +#else + fprintf(stderr, "warning: libsimple_memdupa missing\n"); +#endif + return 0; } |