[patch]: testsuite: run bash instead of sh when using brace expansion

Sergio Durigan Junior sergiodj@redhat.com
Wed May 15 23:25:00 GMT 2013


On Wednesday, May 15 2013, Christian Groessler wrote:

> I had some testsuite failures in gdb.dwarf2/dw2-dir-file-name.exp,
> because /bin/sh on my system doesn't support brace expansion.
> I'm using Debian, where /bin/sh is in fact dash. I tried /bin/sh on
> Solaris (9), too, and it also doesn't support brace expansion.
>
> This patch changes dw2-dir-file-name.exp to use bash instead of sh.

Hey, thanks for the patch.

Next time, please make sure to send patches to
gdb-patches@sourceware.org.  Also I don't see you on gdb/MAINTAINERS, do
you have copyright assignment for GDB?  This patch is simple enough to
go in without a copyright assignment, but if you intend to send more
patches please let me know (in off) and I can get you started on the
process.

> gdb/testsuite:
> 2013-05-15  Christian Groessler <chris@groessler.org>

Two spaces between name and e-mail.

>
>        * gdb.dwarf2/dw2-dir-file-name.exp: Use bash instead of sh, since
>        brace expansion is not available in sh.
 ^^^^^^^^
You're using spaces instead of a TAB here.

> Index: gdb.dwarf2/dw2-dir-file-name.exp
> ===================================================================
> RCS file: /cvs/src/src/gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.exp,v
> retrieving revision 1.4
> diff -u -p -r1.4 dw2-dir-file-name.exp
> --- gdb.dwarf2/dw2-dir-file-name.exp    15 Mar 2013 01:41:28 -0000      1.4
> +++ gdb.dwarf2/dw2-dir-file-name.exp    15 May 2013 10:27:20 -0000
> @@ -322,10 +322,10 @@ if { [gdb_compile "${asmsrcfile} ${srcdi
>      return -1
>  }
>
> -remote_exec host "sh -c \"rm -f 
> ${srcabsdir}{/rdir,}{/xdir,}{/compdir,}{/ldir,}{/fdir,}/${srctmpfile}\""
> -remote_exec host "sh -c \"rmdir
> ${srcabsdir}{/rdir,}{/xdir,}{/compdir,}{/ldir,}{/fdir,}\""
> -remote_exec host "sh -c \"mkdir
> ${srcabsdir}{,/rdir}{,/xdir}{,/compdir}{,/ldir}{,/fdir}\""
> -remote_exec host "sh -c \"for d in
> ${srcabsdir}{,/rdir}{,/xdir}{,/compdir}{,/ldir}{,/fdir};do cp
> ${srcdir}/${subdir}/${srcfile} \\\$d/${srctmpfile}; done\""
> +remote_exec host "bash -c \"rm -f 
> ${srcabsdir}{/rdir,}{/xdir,}{/compdir,}{/ldir,}{/fdir,}/${srctmpfile}\""
> +remote_exec host "bash -c \"rmdir
> ${srcabsdir}{/rdir,}{/xdir,}{/compdir,}{/ldir,}{/fdir,}\""
> +remote_exec host "bash -c \"mkdir
> ${srcabsdir}{,/rdir}{,/xdir}{,/compdir}{,/ldir}{,/fdir}\""
> +remote_exec host "bash -c \"for d in
> ${srcabsdir}{,/rdir}{,/xdir}{,/compdir}{,/ldir}{,/fdir};do cp
> ${srcdir}/${subdir}/${srcfile} \\\$d/${srctmpfile}; done\""
>
>  clean_restart ${testfile}

I am not sure what others think, but instead of depending on bash (which
may not be available on all platforms), I'd rather rewrite those
commands to avoid brace expansions at all, thus making them compatible
with sh.  I am not a maintainer however, so you'd better wait for one
until you do that.

Thanks,

-- 
Sergio



More information about the Gdb mailing list