Thomas Schwinge <[EMAIL PROTECTED]> wrote: > Hello! > > On Thu, Dec 14, 2006 at 05:21:34PM +0100, Jim Meyering wrote: >> [...] > >> +( gdb --version ) > gdb.out 2>&1 >> +if test ! -s gdb.out; then >> + echo "$0: can't run gdb. Skipping this test." 1>&2 >> + (exit 77); exit 77 >> +fi > > #v+ > $ ( nonexistent ) > out 2>&1 > $ test ! -s out && echo can\'t run || echo continuing > continuing > #v-
Thanks for reporting that. Fixed by the patch below. > (Similar case again later, I think.) The latter use of test -s looks ok to me. > Also, why do you need to run the `gdb' commands from subshells? It matters only for the first one, in case the shell prints a diagnostic to stderr. For the others it wasn't necessary. Good catch. FWIW, with gcc, this test is skipped unless you compile without optimization, so it's not very useful, other than perhaps as a model. Note that Paul Eggert's two brand new scripts http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=summary test for nearly the same condition, and don't rely on gdb at all. ---------------- +2006-12-15 Jim Meyering <[EMAIL PROTECTED]> + + * tests/cp/open-perm-race: Correct the gdb-existence check. + Don't run either subsequent gdb command in a sub-shell. + Reported by Thomas Schwinge. + * THANKS: bring up to date. + 2006-12-14 Paul Eggert <[EMAIL PROTECTED]> Make sure cp -p isn't too generous with file permissions. diff --git a/tests/cp/open-perm-race b/tests/cp/open-perm-race index b09776a..970d7e8 100755 --- a/tests/cp/open-perm-race +++ b/tests/cp/open-perm-race @@ -48,16 +48,17 @@ mkdir d && chgrp $group_2 d && chmod g+s,g-w d || framework_failure=1 touch file && chmod go+w file || framework_failure=1 ( gdb --version ) > gdb.out 2>&1 -if test ! -s gdb.out; then - echo "$0: can't run gdb. Skipping this test." 1>&2 - (exit 77); exit 77 -fi +case `cat gdb.out` in + 'GNU gdb'*) ;; + *) echo "$0: can't run gdb. Skipping this test." 1>&2; + (exit 77); exit 77;; +esac -( gdb -nx --batch-silent \ +gdb -nx --batch-silent \ --eval-command='break copy_reg' \ --eval-command='break open_safer' \ --eval-command='quit' \ - $abs_top_builddir/src/cp < /dev/null ) > gdb.out 2>&1 + $abs_top_builddir/src/cp < /dev/null > gdb.out 2>&1 if test -s gdb.out; then cat <<EOF 1>&2 $0: can't set breakpoints in cp. Skipping this test. @@ -80,8 +81,8 @@ if test $framework_failure = 1; then (exit 1); exit 1 fi -( gdb -nx --batch-silent --command=gdb-cmd --args \ - $abs_top_builddir/src/cp -p file d ) > gdb.out 2>&1 +gdb -nx --batch-silent --command=gdb-cmd --args \ + $abs_top_builddir/src/cp -p file d > gdb.out 2>&1 # Expect no output. if test -s gdb.out; then diff --git a/THANKS b/THANKS index 575921f..986167d 100644 --- a/THANKS +++ b/THANKS @@ -323,11 +323,13 @@ Matt Perry [EMAIL PROTECTED] Matt Schalit [EMAIL PROTECTED] Matt Swift [EMAIL PROTECTED] Matthew Arnison [EMAIL PROTECTED] +Matthew M. Boedicker [EMAIL PROTECTED] Matthew Braun [EMAIL PROTECTED] Matthew Clarke [EMAIL PROTECTED] Matthew S. Levine [EMAIL PROTECTED] Matthew Smith [EMAIL PROTECTED] Matthew Swift [EMAIL PROTECTED] +Matthew Woehlke [EMAIL PROTECTED] Matthias Urlichs [EMAIL PROTECTED] Matti Aarnio [EMAIL PROTECTED] Mattias Wadenstein [EMAIL PROTECTED] @@ -471,6 +473,7 @@ Thomas Hood [EMAIL PROTECTED] Thomas Luzat [EMAIL PROTECTED] Thomas M.Ott [EMAIL PROTECTED] Thomas Quinot [EMAIL PROTECTED] +Thomas Schwinge [EMAIL PROTECTED] Thomas Wolff [EMAIL PROTECTED] Tim J. Robbins [EMAIL PROTECTED] Tim Mooney [EMAIL PROTECTED] _______________________________________________ Bug-coreutils mailing list [email protected] http://lists.gnu.org/mailman/listinfo/bug-coreutils
