bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: bash tests failing when compiled with --enable-xpg-echo-default=yes


From: Vladimir Marek
Subject: Re: bash tests failing when compiled with --enable-xpg-echo-default=yes
Date: Fri, 2 Dec 2016 11:07:25 +0000
User-agent: Mutt/1.5.22.1-rc1 (2013-10-16)

And second patch we use because of xpg-echo. Would it have sense to have
it included, or maybe stop the tests completely instead?

Thank you
-- 
        Vlad



On Thu, Dec 01, 2016 at 10:44:02PM +0000, Vladimir Marek wrote:
> Hi,
> 
> On Solaris bash is compiled with --enable-xpg-echo-default=yes (and
> --enable-usg-echo-default=yes if that makes difference). I have no idea
> why, but since it was shipped like this for a long time, I am afraid of
> changing that :)
> 
> Because of this setting the tests are failing. I am attaching a patch we
> are using for workaround to show where the problems are seen. I used
> 'echo -E' when investigating, but "printf '%s\n'" seems to be more
> appropriate. If there is interest I'm more than happy to rework the
> attached patch.
> 
> Thanks!
> -- 
>       Vlad

> solaris is compiled with  --enable-xpg-echo-default=yes which makes some
> tests fail. Should we use printf '%s\n' "..." instead?
> 
> --- tests/comsub2.sub 2016-11-28 01:04:23.177652643 -0800
> +++ tests/comsub2.sub 2016-11-28 01:01:49.330747645 -0800
> @@ -4,5 +4,5 @@ echo "$qpath"
>  
>  # it's crazy that all three of these produce the same result
>  echo ${qpath//\\/}
> -echo ${qpath//"`echo \\`"/}
> -echo ${qpath//`echo "\\\\\\\\"`/}
> +echo ${qpath//"`echo -E \\`"/}
> +echo ${qpath//`echo -E "\\\\\\\\"`/}
> --- tests/exp5.sub    2016-11-28 02:38:32.148794257 -0800
> +++ tests/exp5.sub    2016-11-28 02:33:12.133199473 -0800
> @@ -1,18 +1,18 @@
>  # expansions involving patterns
>  
>  var='[hello'
> -echo "${var//[/}"
> +echo -E "${var//[/}"
>  
>  red='\[\e[0;31m\]'
> -echo "${red//\\[\\e/}"
> +echo -E "${red//\\[\\e/}"
>  
>  foo="${red//\\[\\e/}"
>  
>  # foo == [0;31m\]
> -echo "${foo//[0;31m\\/}"
> +echo -E "${foo//[0;31m\\/}"
>  
> -echo "${var//[]/}"
> -echo "${red//[]/}"
> +echo -E "${var//[]/}"
> +echo -E "${red//[]/}"
>  
>  v=hello
>  foo='[:alpha:]'
> --- tests/exp8.sub    2016-11-28 03:44:56.875686938 -0800
> +++ tests/exp8.sub    2016-11-28 03:39:21.761054928 -0800
> @@ -10,11 +10,11 @@ declare -p var | sed -n l
>  
>  recho address@hidden
>  recho address@hidden
> -echo address@hidden
> +echo -E address@hidden
>  
>  unset array
>  array=( [$'x\001y\177z']=foo )       # should be error
> -echo address@hidden@A}
> +echo -E address@hidden@A}
>  
>  unset array
>  declare -a array=([0]=$'x\001y\177z')
> @@ -23,9 +23,9 @@ declare -p array
>  unset array
>  array=( "$var" )
>  recho address@hidden
> -echo address@hidden@A}
> +echo -E address@hidden@A}
>  
>  unset array
>  declare -A array
>  array=( [$'x\001y\177z']=$'a\242b\002c' )
> -echo address@hidden@A}
> +echo -E address@hidden@A}
> --- tests/heredoc3.sub        2016-11-28 03:58:47.587299575 -0800
> +++ tests/heredoc3.sub        2016-11-28 03:55:11.935894965 -0800
> @@ -69,7 +69,7 @@ cat <<END
>  hello
>  \END
>  END
> -echo end 'hello<NL>\END'
> +echo -E end 'hello<NL>\END'
>  
>  # this has to be last -- results in a syntax error
>  # doesn't currently parse because EOF is not on a line by itself -- should 
> it?
> --- tests/quote1.sub  2016-11-28 04:11:46.210688369 -0800
> +++ tests/quote1.sub  2016-11-28 04:08:49.101872596 -0800
> @@ -14,7 +14,7 @@ echo "'${test//"'"/}'"
>  
>  echo "'${test//"'"/"'\\''"}'"
>  
> -echo "'${test//"'"/\'\\'\'}'"
> +echo -E "'${test//"'"/\'\\'\'}'"
>  
>  #echo "'${test//'/}'"   # hangs waiting for '
>  #echo "'${test//"'"/'\\''}'" # hangs waiting for '

Attachment: solaris-018.posixexp2.tests.patch
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]