summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2011-03-17 18:53:11 +0100
committerAndy Wingo <wingo@pobox.com>2011-03-17 18:53:11 +0100
commitf80ed1be36b9ff86291e7103488aeb06ab9c092e (patch)
tree75ba86313c01ee3a08ec7d53b945682fb6a2343e
parent95f5e303bc7f6174255b12fd1113d69364863762 (diff)
downloadguile-f80ed1be36b9ff86291e7103488aeb06ab9c092e.tar.gz
add multibyte regexp test
* test-suite/standalone/Makefile.am: * test-suite/standalone/test-mb-regexp: New test, that the previous patch fixed the abort() on fixup_multibyte_match.
-rw-r--r--test-suite/standalone/Makefile.am4
-rwxr-xr-xtest-suite/standalone/test-mb-regexp39
2 files changed, 43 insertions, 0 deletions
diff --git a/test-suite/standalone/Makefile.am b/test-suite/standalone/Makefile.am
index d839e2389..b21edd20d 100644
--- a/test-suite/standalone/Makefile.am
+++ b/test-suite/standalone/Makefile.am
@@ -143,6 +143,10 @@ TESTS += test-loose-ends
check_SCRIPTS += test-fast-slot-ref
TESTS += test-fast-slot-ref
+# test-mb-regexp
+check_SCRIPTS += test-mb-regexp
+TESTS += test-mb-regexp
+
# test-use-srfi
check_SCRIPTS += test-use-srfi
TESTS += test-use-srfi
diff --git a/test-suite/standalone/test-mb-regexp b/test-suite/standalone/test-mb-regexp
new file mode 100755
index 000000000..b0cca69a2
--- /dev/null
+++ b/test-suite/standalone/test-mb-regexp
@@ -0,0 +1,39 @@
+#!/bin/sh
+exec guile -q -s "$0" "$@"
+!#
+;;; test-mb-regexp --- A multibyte regexp test
+;;;
+;;; Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+;;;
+;;; This library is free software; you can redistribute it and/or
+;;; modify it under the terms of the GNU Lesser General Public
+;;; License as published by the Free Software Foundation; either
+;;; version 3 of the License, or (at your option) any later version.
+;;;
+;;; This library is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;;; Lesser General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU Lesser General Public
+;;; License along with this library; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+;; This test depends on not setting the locale -- that multibyte strings
+;; don't trigger the abort in regexp.c:fixup_multibyte_match.
+
+(use-modules (ice-9 regex))
+
+(exit (if (equal?
+ (match:substring
+ (regexp-exec
+ (make-regexp "(.)(.)(.)")
+ (string (integer->char 200) #\x (integer->char 202)))
+ 2)
+ "x")
+ 0
+ 1))
+
+;; Local Variables:
+;; mode: scheme
+;; End: