From 94c5b430a1a635ffcbc99962de04df537dd62802 Mon Sep 17 00:00:00 2001 From: Jeff Johnston Date: Fri, 18 Oct 2002 18:18:49 +0000 Subject: [PATCH] 2002-10-18 Jeff Johnston * testsuite/include/check.h: New header file to use with test cases. * testsuite/lib/newlib.exp: Add testsuite/include directory to list of header files to use. * testsuite/newlib.wctype/twctype.c: New test case for iswctype fns. * testsuite/newlib.wctype/wctype.exp: New file. --- newlib/ChangeLog | 9 ++++ newlib/testsuite/include/check.h | 7 +++ newlib/testsuite/lib/newlib.exp | 3 ++ newlib/testsuite/newlib.wctype/twctype.c | 64 +++++++++++++++++++++++ newlib/testsuite/newlib.wctype/wctype.exp | 12 +++++ 5 files changed, 95 insertions(+) create mode 100644 newlib/testsuite/include/check.h create mode 100644 newlib/testsuite/newlib.wctype/twctype.c create mode 100644 newlib/testsuite/newlib.wctype/wctype.exp diff --git a/newlib/ChangeLog b/newlib/ChangeLog index 0f17fc9f1..f71754699 100644 --- a/newlib/ChangeLog +++ b/newlib/ChangeLog @@ -1,3 +1,12 @@ +2002-10-18 Jeff Johnston + + * testsuite/include/check.h: New header file to use with + test cases. + * testsuite/lib/newlib.exp: Add testsuite/include directory + to list of header files to use. + * testsuite/newlib.wctype/twctype.c: New test case for iswctype fns. + * testsuite/newlib.wctype/wctype.exp: New file. + 2002-10-11 Graham Stott Richard Sandiford diff --git a/newlib/testsuite/include/check.h b/newlib/testsuite/include/check.h new file mode 100644 index 000000000..df7f0cfa2 --- /dev/null +++ b/newlib/testsuite/include/check.h @@ -0,0 +1,7 @@ +#define CHECK(a) { \ + if (!(a)) \ + { \ + printf ("Failed " #a " in <%s> at line %d\n", __FILE__, __LINE__); \ + abort(); \ + } \ +} diff --git a/newlib/testsuite/lib/newlib.exp b/newlib/testsuite/lib/newlib.exp index 48f527e7a..c53a8a819 100644 --- a/newlib/testsuite/lib/newlib.exp +++ b/newlib/testsuite/lib/newlib.exp @@ -58,6 +58,9 @@ proc newlib_target_compile { source dest type options } { global host_triplet target_triplet verbose "In newlib_target_compile...\n" + + lappend options "libs=-I$srcdir/include" + verbose "srcdir is $srcdir" if {[target_info needs_status_wrapper] != "" && \ [target_info needs_status_wrapper] != "0" && \ diff --git a/newlib/testsuite/newlib.wctype/twctype.c b/newlib/testsuite/newlib.wctype/twctype.c new file mode 100644 index 000000000..7adf5080d --- /dev/null +++ b/newlib/testsuite/newlib.wctype/twctype.c @@ -0,0 +1,64 @@ +#include +#include +#include +#include +#include +#include +#include "check.h" + +int main() +{ + if (_ELIX_LEVEL == 1) + { /* no testing..wctype functions aren't present */ } + else if (_MB_LEN_MAX == 1) + { + CHECK (iswalpha(L'a')); + CHECK (!iswalpha(L'3')); + CHECK (iswalnum(L'9')); + CHECK (!iswalnum(L'$')); + CHECK (iswcntrl(L'\n')); + CHECK (!iswcntrl(L'#')); + CHECK (iswdigit(L'2')); + CHECK (!iswdigit(L'a')); + CHECK (iswgraph(L'2')); + CHECK (!iswgraph(L' ')); + CHECK (iswlower(L'g')); + CHECK (!iswlower(L'G')); + CHECK (iswprint(L'*')); + CHECK (!iswprint(L'\n')); + CHECK (iswpunct(L',')); + CHECK (!iswpunct(L'\n')); + CHECK (iswspace(L'\t')); + CHECK (!iswspace(L':')); + CHECK (iswupper(L'G')); + CHECK (!iswupper(L'g')); + CHECK (iswxdigit(L'A')); + CHECK (!iswxdigit(L'g')); + } + else + { + setlocale (LC_CTYPE, "C-UTF-8"); + CHECK (iswalpha(0x0967)); + CHECK (!iswalpha(0x128e)); + CHECK (iswalnum(0x1d7ce)); + CHECK (!iswalnum(0x1d800)); + CHECK (iswcntrl(0x007f)); + CHECK (!iswcntrl(0x2027)); + CHECK (iswdigit(L'2')); + CHECK (!iswdigit(0x0009)); + CHECK (iswlower(0x03b3)); + CHECK (!iswlower(0x04aa)); + CHECK (iswprint(0x0b13)); + CHECK (!iswprint(0x0ce2)); + CHECK (iswpunct(0x002d)); + CHECK (!iswpunct(0x0a84)); + CHECK (iswspace(0x000a)); + CHECK (!iswspace(0x2060)); + CHECK (iswupper(0x01a4)); + CHECK (!iswupper(0x1e6d)); + CHECK (iswxdigit(L'A')); + CHECK (!iswxdigit(0x1f48)); + } + + exit (0); +} diff --git a/newlib/testsuite/newlib.wctype/wctype.exp b/newlib/testsuite/newlib.wctype/wctype.exp new file mode 100644 index 000000000..cd5d7d689 --- /dev/null +++ b/newlib/testsuite/newlib.wctype/wctype.exp @@ -0,0 +1,12 @@ +# Copyright (C) 2002 by Red Hat, Incorporated. All rights reserved. +# +# Permission to use, copy, modify, and distribute this software +# is freely granted, provided that this notice is preserved. +# + +load_lib passfail.exp + +set exclude_list { +} + +newlib_pass_fail_all -x $exclude_list