From f80ed1be36b9ff86291e7103488aeb06ab9c092e Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Thu, 17 Mar 2011 18:53:11 +0100 Subject: [PATCH] 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. --- test-suite/standalone/Makefile.am | 4 +++ test-suite/standalone/test-mb-regexp | 39 ++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100755 test-suite/standalone/test-mb-regexp 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: