summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog18
-rw-r--r--testsuite/Makefile.am5
-rw-r--r--testsuite/Makefile.tests16
-rwxr-xr-xtestsuite/runtest15
-rw-r--r--testsuite/utf8-1.good1
-rw-r--r--testsuite/utf8-1.inp1
-rw-r--r--testsuite/utf8-1.sed1
-rw-r--r--testsuite/utf8-2.good1
-rw-r--r--testsuite/utf8-2.inp1
-rw-r--r--testsuite/utf8-2.sed1
-rw-r--r--testsuite/utf8-3.good1
-rw-r--r--testsuite/utf8-3.inp1
-rw-r--r--testsuite/utf8-3.sed1
-rw-r--r--testsuite/utf8-4.good1
-rw-r--r--testsuite/utf8-4.inp1
-rw-r--r--testsuite/utf8-4.sed1
16 files changed, 60 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index f394bc4..483c396 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,23 @@
2008-09-29 Paolo Bonzini <bonzini@gnu.org>
+ * testsuite/Makefile.am: Add the utf8-{1,2,3,4} tests.
+ * testsuite/Makefile.tests: Add the utf8-{1,2,3,4} tests.
+ * testsuite/runtest: Support skipping tests.
+ * testsuite/utf8-1.good: New.
+ * testsuite/utf8-1.inp: New.
+ * testsuite/utf8-1.sed: New.
+ * testsuite/utf8-2.good: New.
+ * testsuite/utf8-2.inp: New.
+ * testsuite/utf8-2.sed: New.
+ * testsuite/utf8-3.good: New.
+ * testsuite/utf8-3.inp: New.
+ * testsuite/utf8-3.sed: New.
+ * testsuite/utf8-4.good: New.
+ * testsuite/utf8-4.inp: New.
+ * testsuite/utf8-4.sed: New.
+
+2008-09-29 Paolo Bonzini <bonzini@gnu.org>
+
* BUGS: Document s/.*.// behavior with invalid multibyte sequences.
* NEWS: Document `z' extension.
* doc/sed-in.texi: Document both things.
diff --git a/testsuite/Makefile.am b/testsuite/Makefile.am
index 660c53b..34c9a2d 100644
--- a/testsuite/Makefile.am
+++ b/testsuite/Makefile.am
@@ -23,7 +23,8 @@ SEDTESTS += \
head madding mac-mf empty xbxcx xbxcx3 recall recall2 xemacs \
fasts uniq manis khadafy linecnt eval distrib 8to7 y-bracket \
y-newline allsub cv-vars classes middle bsd stdin flipcase \
- insens subwrite writeout readin insert badenc \
+ insens subwrite writeout readin insert utf8-1 utf8-2 utf8-3 utf8-4 \
+ badenc \
help version file quiet \
factor binary3 binary2 binary dc
@@ -79,6 +80,8 @@ EXTRA_DIST = \
sep.good sep.inp sep.sed \
subwrite.inp subwrite.sed subwrt1.good subwrt2.good \
uniq.good uniq.inp uniq.sed \
+ utf8-1.good utf8-1.inp utf8-1.sed \
+ utf8-2.good utf8-2.inp utf8-2.sed \
badenc.good badenc.inp badenc.sed \
version.gin \
writeout.inp writeout.sed wrtout1.good wrtout2.good \
diff --git a/testsuite/Makefile.tests b/testsuite/Makefile.tests
index aca7ae3..6cf0e52 100644
--- a/testsuite/Makefile.tests
+++ b/testsuite/Makefile.tests
@@ -40,6 +40,22 @@ badenc::
$(CMP) $(srcdir)/$@.good $@.out
@$(RM) $@.out
+# Try with four locales.
+utf8-1 utf8-2 utf8-3 utf8-4::
+ @: > $@.skip
+ @for i in ru_RU it_IT en_US en_GB; do \
+ locale=$$i.UTF-8; \
+ echo "LANG=$$locale" '$(TIME) $(SED) \
+ -f $(srcdir)/$@.sed < $(srcdir)/$@.inp > $@.out'; \
+ LANG=$$locale $(TIME) $(SED) \
+ -f $(srcdir)/$@.sed < $(srcdir)/$@.inp > $@.out; \
+ if $(CMP) $(srcdir)/$@.inp $@.out > /dev/null 2>&1; then :; \
+ else rm -f $@.skip; break; fi; \
+ done
+ @if test -f $@.skip; then :; \
+ else $(CMP) $(srcdir)/$@.good $@.out; fi
+ @$(RM) $@.out
+
# This checks for a bug in 3.02 and 3.02.80
stdin::
($(SEDENV) $(SED) d; $(SEDENV) $(SED) G) < $(srcdir)/numsub.inp > $@.1out
diff --git a/testsuite/runtest b/testsuite/runtest
index 0134a5d..80ce903 100755
--- a/testsuite/runtest
+++ b/testsuite/runtest
@@ -8,11 +8,16 @@ makefile="$srcdir/Makefile.tests"
test=`echo "$@"| sed 's,.*/,,'`
# As a convenience, suppress the output of make if the test passes
-if $MAKE SED="$SED" srcdir="$srcdir" -f "$makefile" $test > tmp.test 2>&1; then
- rm -f tmp.test
+if $MAKE SED="$SED" srcdir="$srcdir" -f "$makefile" $test > $test.test 2>&1; then
+ exitcode=0
+ rm -f $test.test
else
exitcode=$?
- cat tmp.test
- rm -f tmp.test
- exit $exitcode
fi
+if test -f $test.skip; then
+ exitcode=77
+else
+ test -f $test.test && cat $test.test
+fi
+rm -f $test.test $test.skip
+exit $exitcode
diff --git a/testsuite/utf8-1.good b/testsuite/utf8-1.good
new file mode 100644
index 0000000..a48dac8
--- /dev/null
+++ b/testsuite/utf8-1.good
@@ -0,0 +1 @@
+Да Д \ No newline at end of file
diff --git a/testsuite/utf8-1.inp b/testsuite/utf8-1.inp
new file mode 100644
index 0000000..6e84e16
--- /dev/null
+++ b/testsuite/utf8-1.inp
@@ -0,0 +1 @@
+да д \ No newline at end of file
diff --git a/testsuite/utf8-1.sed b/testsuite/utf8-1.sed
new file mode 100644
index 0000000..be00919
--- /dev/null
+++ b/testsuite/utf8-1.sed
@@ -0,0 +1 @@
+s/д/\U&/g
diff --git a/testsuite/utf8-2.good b/testsuite/utf8-2.good
new file mode 100644
index 0000000..a48dac8
--- /dev/null
+++ b/testsuite/utf8-2.good
@@ -0,0 +1 @@
+Да Д \ No newline at end of file
diff --git a/testsuite/utf8-2.inp b/testsuite/utf8-2.inp
new file mode 100644
index 0000000..6e84e16
--- /dev/null
+++ b/testsuite/utf8-2.inp
@@ -0,0 +1 @@
+да д \ No newline at end of file
diff --git a/testsuite/utf8-2.sed b/testsuite/utf8-2.sed
new file mode 100644
index 0000000..c921a4e
--- /dev/null
+++ b/testsuite/utf8-2.sed
@@ -0,0 +1 @@
+s/д/\u&/g
diff --git a/testsuite/utf8-3.good b/testsuite/utf8-3.good
new file mode 100644
index 0000000..4b90af9
--- /dev/null
+++ b/testsuite/utf8-3.good
@@ -0,0 +1 @@
+Да д \ No newline at end of file
diff --git a/testsuite/utf8-3.inp b/testsuite/utf8-3.inp
new file mode 100644
index 0000000..6e84e16
--- /dev/null
+++ b/testsuite/utf8-3.inp
@@ -0,0 +1 @@
+да д \ No newline at end of file
diff --git a/testsuite/utf8-3.sed b/testsuite/utf8-3.sed
new file mode 100644
index 0000000..ce90319
--- /dev/null
+++ b/testsuite/utf8-3.sed
@@ -0,0 +1 @@
+s/д.*/\u&/g
diff --git a/testsuite/utf8-4.good b/testsuite/utf8-4.good
new file mode 100644
index 0000000..760353b
--- /dev/null
+++ b/testsuite/utf8-4.good
@@ -0,0 +1 @@
+ДА Д \ No newline at end of file
diff --git a/testsuite/utf8-4.inp b/testsuite/utf8-4.inp
new file mode 100644
index 0000000..6e84e16
--- /dev/null
+++ b/testsuite/utf8-4.inp
@@ -0,0 +1 @@
+да д \ No newline at end of file
diff --git a/testsuite/utf8-4.sed b/testsuite/utf8-4.sed
new file mode 100644
index 0000000..8b8fdf4
--- /dev/null
+++ b/testsuite/utf8-4.sed
@@ -0,0 +1 @@
+s/д.*/\U&/g