Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Johnston <jjohnstn@redhat.com>2002-10-18 22:18:49 +0400
committerJeff Johnston <jjohnstn@redhat.com>2002-10-18 22:18:49 +0400
commit94c5b430a1a635ffcbc99962de04df537dd62802 (patch)
tree93f1bf6797446b6ae73f45a2ca276c85ab46dfc9 /newlib/testsuite
parent5d8c2b592de4ecd8c870d1112ae3ecc9a456c8bc (diff)
2002-10-18 Jeff Johnston <jjohnstn@redhat.com>
* 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.
Diffstat (limited to 'newlib/testsuite')
-rw-r--r--newlib/testsuite/include/check.h7
-rw-r--r--newlib/testsuite/lib/newlib.exp3
-rw-r--r--newlib/testsuite/newlib.wctype/twctype.c64
-rw-r--r--newlib/testsuite/newlib.wctype/wctype.exp12
4 files changed, 86 insertions, 0 deletions
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 <wctype.h>
+#include <ctype.h>
+#include <stdio.h>
+#include <string.h>
+#include <newlib.h>
+#include <locale.h>
+#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