[Top][All Lists]
[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
- Expect causes "make check" (i.e. DejaGnu) to fail in findutils,
James Youngman <=