bug-findutils
[Top][All Lists]
Advanced

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

Expect causes "make check" (i.e. DejaGnu) to fail in findutils


From: James Youngman
Subject: Expect causes "make check" (i.e. DejaGnu) to fail in findutils
Date: Sat, 5 Aug 2006 16:56:41 +0100

I currently find that on my development system, "make check" fails like this:-

srcdir=`CDPATH="${ZSH_VERSION+.}:" && cd
../../../findutils/find/testsuite && pwd`; export srcdir; \
       EXPECT=expect; export EXPECT; \
       runtest=runtest; \
       if /bin/sh -c "$runtest --version" > /dev/null 2>&1; then \
         l='find'; for tool in $l; do \
           $runtest  --tool $tool --srcdir $srcdir ; \
         done; \
       else echo "WARNING: could not find \`runtest'" 1>&2; :;\
       fi
WARNING: Couldn't find tool init file
Test Run By james on Sat Aug  5 16:00:46 2006
Native configuration is i686-pc-linux-gnu

               === find tests ===

cannot trap SIGSEGV
   while executing
"trap "send_error \"got a \[trap -name\] signal, $str \\n\";
log_and_exit;" $signal"
   ("foreach" body line 4)
   invoked from within
"foreach sig "{SIGTERM {terminated}}  {SIGINT  {interrupted by user}}
{SIGQUIT{interrupted by user}}  {SIGSEGV {segmentation violation}}" {
       set sign..."
   invoked from within
"if ![exp_debug] {
   foreach sig "{SIGTERM {terminated}} \
            {SIGINT  {interrupted by user}} \
            {SIGQUIT {interrupted by user}..."
   (file "/usr/share/dejagnu/runtest.exp" line 1503)
make[3]: *** [check-DEJAGNU] Error 1
make[3]: Leaving directory
`/home/james/source/GNU/findutils/cvs/4.3/4.3-dev/compile/find/testsuite'
make[2]: *** [check-am] Error 2
make[2]: Leaving directory
`/home/james/source/GNU/findutils/cvs/4.3/4.3-dev/compile/find/testsuite'
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory
`/home/james/source/GNU/findutils/cvs/4.3/4.3-dev/compile/find'
make: *** [check-recursive] Error 1



This is caused by a recent change to Expect.  Here is a small test
program (for Expect, not DejaGnu) that reproduces the problem:-

proc die { } { }
foreach sig "SIGINT SIGSEGV" { trap "die;" $sig }
unset sig

To work around this problem, you just need to apply this patch to DejaGnu:-

--- runtest.exp 2006/08/05 15:49:13     1.1
+++ runtest.exp 2006/08/05 15:50:40
@@ -1500,11 +1500,11 @@
# Trap some signals so we know what's happening.  These replace the previous
# ones because we've now loaded the library stuff.
#
+# James Younmgnan <address@hidden>: Expect 5.43 no longer allows us to trap 
SEGV.
if ![exp_debug] {
    foreach sig "{SIGTERM {terminated}} \
             {SIGINT  {interrupted by user}} \
-             {SIGQUIT {interrupted by user}} \
-             {SIGSEGV {segmentation violation}}" {
+             {SIGQUIT {interrupted by user}}" {
       set signal [lindex $sig 0]
       set str [lindex $sig 1]
       trap "send_error \"got a \[trap -name\] signal, $str \\n\";
log_and_exit;" $signal




reply via email to

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