From 3cafe0e80b6f57115bc059e26f11c5d613112984 Mon Sep 17 00:00:00 2001 From: Stewart Smith Date: Wed, 24 Jun 2015 15:02:49 +1000 Subject: add tests for libc isdigit, isprint, isspace, isxdigit Signed-off-by: Stewart Smith --- libc/test/run-ctype-test.c | 24 ++++++++++++++++ libc/test/run-ctype.c | 69 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 93 insertions(+) diff --git a/libc/test/run-ctype-test.c b/libc/test/run-ctype-test.c index 5ba76f1c..999292b0 100644 --- a/libc/test/run-ctype-test.c +++ b/libc/test/run-ctype-test.c @@ -31,3 +31,27 @@ #include "../ctype/tolower.c" #include "../ctype/toupper.c" +int skiboot_isdigit(int ch); +int skiboot_isprint(int ch); +int skiboot_isspace(int ch); +int skiboot_isxdigit(int ch); + +int skiboot_isdigit(int ch) +{ + return isdigit(ch); +} + +int skiboot_isprint(int ch) +{ + return isprint(ch); +} + +int skiboot_isspace(int ch) +{ + return isspace(ch); +} + +int skiboot_isxdigit(int ch) +{ + return isxdigit(ch); +} diff --git a/libc/test/run-ctype.c b/libc/test/run-ctype.c index 15ec9bd5..eac04ec3 100644 --- a/libc/test/run-ctype.c +++ b/libc/test/run-ctype.c @@ -20,8 +20,77 @@ #include #include #include +#include +#include + +int skiboot_isdigit(int ch); +int skiboot_isprint(int ch); +int skiboot_isspace(int ch); +int skiboot_isxdigit(int ch); int main(void) { + int i; + int r1, r2; + + for(i = '0'; i <= '9'; i++) + assert(skiboot_isdigit(i)); + assert(skiboot_isdigit('a') == 0); + assert(skiboot_isdigit('Z') == 0); + + for (i = 0; i < 257; i++) { + r1 = skiboot_isdigit(i); + r2 = isdigit(i); + if (r1) + assert(r2); + if (!r1) + assert(!r2); + } + + for(i = '0'; i <= '9'; i++) + assert(skiboot_isprint(i)); + assert(skiboot_isprint('\0') == 0); + assert(skiboot_isprint(4) == 0); + + for (i = 0; i < 257; i++) { + r1 = skiboot_isprint(i); + r2 = isprint(i); + if (r1) + assert(r2); + if (!r1) + assert(!r2); + } + + for(i = '0'; i <= '9'; i++) + assert(skiboot_isspace(i) == 0); + assert(skiboot_isspace('\f')); + assert(skiboot_isspace('\n')); + assert(skiboot_isspace(' ')); + + for (i = 0; i < 257; i++) { + r1 = skiboot_isspace(i); + r2 = isspace(i); + if (r1) + assert(r2); + if (!r1) + assert(!r2); + } + + for(i = '0'; i <= '9'; i++) + assert(skiboot_isxdigit(i)); + assert(skiboot_isxdigit('a')); + assert(skiboot_isxdigit('A')); + assert(skiboot_isxdigit('F')); + assert(skiboot_isxdigit('Z') == 0); + + for (i = 0; i < 257; i++) { + r1 = skiboot_isxdigit(i); + r2 = isxdigit(i); + if (r1) + assert(r2); + if (!r1) + assert(!r2); + } + return 0; } -- cgit v1.2.1