summaryrefslogtreecommitdiffstats
path: root/newlib/testsuite/lib/checkoutput.exp
diff options
context:
space:
mode:
authorThomas Fitzsimmons <fitzsim@redhat.com>2002-04-24 20:53:30 +0000
committerThomas Fitzsimmons <fitzsim@redhat.com>2002-04-24 20:53:30 +0000
commiteaa75b70e31aed8ba2823c7b37ff92230dd8c451 (patch)
tree255a744fbdffc3197c3f971ed1edae29c71a6134 /newlib/testsuite/lib/checkoutput.exp
parentb9f9f699372fae9f3b7926fa165d07fe68a949fb (diff)
downloadcygnal-eaa75b70e31aed8ba2823c7b37ff92230dd8c451.tar.gz
cygnal-eaa75b70e31aed8ba2823c7b37ff92230dd8c451.tar.bz2
cygnal-eaa75b70e31aed8ba2823c7b37ff92230dd8c451.zip
* Makefile.am (check-DEJAGNU): New target.
(site.exp): Likewise. * acinclude.m4 (NEWLIB_CONFIGURE): Replace AC_CANONICAL_HOST with AC_CANONICAL_SYSTEM. Remove AC_CANONICAL_BUILD. * libc/locale/locale.c (_setlocale_r): Add UTF-8 support. * libc/stdlib/mbtowc_r.c (_mbtowc_r): Likewise. * libc/stdlib/wctomb_r.c (_wctomb_r): Likewise. * testsuite: New directory. * testsuite/config: Likewise. * testsuite/lib: Likewise. * testsuite/newlib.locale: Likewise. * testsuite/newlib.string: Likewise. * testsuite/config/default.exp: New file. * testsuite/lib/checkoutput.exp: New file. * testsuite/lib/newlib.exp: New file. * testsuite/lib/passfail.exp: New file. * testsuite/newlib.locale/UTF-8.c: New file. * testsuite/newlib.locale/UTF-8.exp: New file. * testsuite/newlib.locale/locale.exp: New file. * testsuite/newlib.string/string.exp: New file. * testsuite/newlib.string/tstring.c: New file.
Diffstat (limited to 'newlib/testsuite/lib/checkoutput.exp')
-rw-r--r--newlib/testsuite/lib/checkoutput.exp40
1 files changed, 40 insertions, 0 deletions
diff --git a/newlib/testsuite/lib/checkoutput.exp b/newlib/testsuite/lib/checkoutput.exp
new file mode 100644
index 000000000..5793868fd
--- /dev/null
+++ b/newlib/testsuite/lib/checkoutput.exp
@@ -0,0 +1,40 @@
+# 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.
+#
+
+# newlib_check_output takes the basename of the test source file, and
+# a list of pairs of the form "testname" "expectedoutput"
+# "testname" "expectedoutput"... It assumes one line of output
+# per test.
+
+proc newlib_check_output { srcfile expectlist } {
+ global objdir subdir srcdir
+
+ set srcfullname "$srcdir/$subdir/$srcfile"
+ set test_driver "$objdir/testsuite/[file tail [file rootname $srcfullname].x]"
+
+ set comp_output [newlib_target_compile "$srcfullname" "$test_driver" "executable" ""]
+
+ if { $comp_output != "" } {
+ fail "Failed to compile $srcfile.\n"
+ } else {
+ pass "Compiled $srcfile.\n"
+ }
+
+ set result [newlib_load $test_driver ""]
+ set status [lindex $result 0]
+ set output [lindex $result 1]
+
+ set output_lines [split $output "\n"]
+
+ foreach { testname expectedval } $expectlist {
+ if [string match "$expectedval" "[lindex $output_lines 0]"] then {
+ pass $testname
+ } else {
+ fail $testname
+ }
+ set output_lines [lrange $output_lines 1 end]
+ }
+}