changeset 9975:44e4e306d7c5

Work around limitation of an old 'tr' program on Solaris.
author Bruno Haible <bruno@clisp.org>
date Sat, 26 Apr 2008 14:14:12 +0200
parents 4e68e73d390a
children 621cb9082339
files ChangeLog tests/test-xstrtoimax.sh tests/test-xstrtol.sh tests/test-xstrtoumax.sh
diffstat 4 files changed, 35 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2008-04-26  Bruno Haible  <bruno@clisp.org>
+
+	* tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
+	on Solaris.
+	* tests/test-xstrtoimax.sh: Likewise.
+	* tests/test-xstrtoumax.sh: Likewise.
+	Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
+
 2008-04-26  Bruno Haible  <bruno@clisp.org>
 
 	* modules/memchr-tests: New file.
--- a/tests/test-xstrtoimax.sh
+++ b/tests/test-xstrtoimax.sh
@@ -19,8 +19,16 @@
 ./test-xstrtoimax${EXEEXT} 010 >> t-xstrtoimax.tmp 2>&1 || result=1
 ./test-xstrtoimax${EXEEXT} MiB >> t-xstrtoimax.tmp 2>&1 || result=1
 
+# Find out how to remove carriage returns from output. Solaris /usr/ucb/tr
+# does not understand '\r'.
+if echo solaris | tr -d '\r' | grep solais > /dev/null; then
+  cr='\015'
+else
+  cr='\r'
+fi
+
 # normalize output
-LC_ALL=C tr -d '\r' < t-xstrtoimax.tmp > t-xstrtoimax.xo
+LC_ALL=C tr -d "$cr" < t-xstrtoimax.tmp > t-xstrtoimax.xo
 mv t-xstrtoimax.xo t-xstrtoimax.tmp
 
 # compare expected output
--- a/tests/test-xstrtol.sh
+++ b/tests/test-xstrtol.sh
@@ -31,8 +31,16 @@
 ./test-xstrtoul${EXEEXT} 010 >> t-xstrtol.tmp 2>&1 || result=1
 ./test-xstrtoul${EXEEXT} MiB >> t-xstrtol.tmp 2>&1 || result=1
 
+# Find out how to remove carriage returns from output. Solaris /usr/ucb/tr
+# does not understand '\r'.
+if echo solaris | tr -d '\r' | grep solais > /dev/null; then
+  cr='\015'
+else
+  cr='\r'
+fi
+
 # normalize output
-LC_ALL=C tr -d '\r' < t-xstrtol.tmp > t-xstrtol.xo
+LC_ALL=C tr -d "$cr" < t-xstrtol.tmp > t-xstrtol.xo
 mv t-xstrtol.xo t-xstrtol.tmp
 
 # compare expected output
--- a/tests/test-xstrtoumax.sh
+++ b/tests/test-xstrtoumax.sh
@@ -19,8 +19,16 @@
 ./test-xstrtoumax${EXEEXT} 010 >> t-xstrtoumax.tmp 2>&1 || result=1
 ./test-xstrtoumax${EXEEXT} MiB >> t-xstrtoumax.tmp 2>&1 || result=1
 
+# Find out how to remove carriage returns from output. Solaris /usr/ucb/tr
+# does not understand '\r'.
+if echo solaris | tr -d '\r' | grep solais > /dev/null; then
+  cr='\015'
+else
+  cr='\r'
+fi
+
 # normalize output
-LC_ALL=C tr -d '\r' < t-xstrtoumax.tmp > t-xstrtoumax.xo
+LC_ALL=C tr -d "$cr" < t-xstrtoumax.tmp > t-xstrtoumax.xo
 mv t-xstrtoumax.xo t-xstrtoumax.tmp
 
 # compare expected output