dejagnu
[Top][All Lists]
Advanced

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

Timeout for call_remote


From: Jie Zhang
Subject: Timeout for call_remote
Date: Tue, 22 Jan 2008 16:38:56 +0800

Hi,

When I was testing blackfin toolchain, I found a strange thing in testing log:

Executing on host: bfin-uclinux-g++ -g -O2 -D_GLIBCXX_ASSERT
-fmessage-length=0
-DLOCALEDIR="/home/jie/installs/bfin-41/bin/../share/locale"
-I/home/jie/blackfin-sources/toolchain/trunk/gcc-4.1/libstdc++-v3/testsuite
testsuite_abi.o testsuite_allocator.o testsuite_character.o
testsuite_hooks.o
/home/jie/blackfin-sources/toolchain/trunk/gcc-4.1/libstdc++-v3/testsuite/23_containers/set/modifiers/16728.cc
    -Wl,-elf2flt=-s80000  -lm   -o ./16728.exe    (timeout = 300)
PASS: 23_containers/set/modifiers/16728.cc (test for excess errors)
Executing on bfin-uclinux: /tmp/16728.exe.30052    (timeout = 300)
WARNING: program timed out.
Executing on bfin-uclinux: rm -f  /tmp/16728.exe.30052    (timeout = 300)
XYZ0ZYX
Executed ./16728.exe, status 1
rsh to bfin-uclinux failed for /tmp/16728.exe.30052,
FAIL: 23_containers/set/modifiers/16728.cc execution test
testcase 
/home/jie/blackfin-sources/toolchain/trunk/gcc-4.1/libstdc++-v3/testsuite/libstdc++-dg/normal.exp
completed in 23 seconds

This libstdc++ test timed out. I executed it manually on target board.
It needs about 26s to complete execution. But the testing log above
said the timeout is 300s. So it should not time out. The cause of it
is remote_exec does not pass timeout=300 to call_remote.

proc remote_exec { hostname program args } {

    [snip]

    # Run it locally if appropriate.
    if { ![is_remote $hostname] } {
        return [local_exec "$program $pargs" $inp $outp $timeout]
    } else {
        return [call_remote "" exec $hostname $program $pargs $inp $outp]
    }

    [snip]
}

So when rsh_exec finally calls into local_exec,

proc rsh_exec { boardname program pargs inp outp } {
    global timeout

    [snip]

    set ret [local_exec "$RSH $rsh_useropts $hostname sh -c '$program
$pargs \\; echo XYZ\\\${?}ZYX'" $inp $outp $timeout]

   [snip]
}


the global timeout is used for executing the rsh command. The global
timeout is set in runtest.exp as 10. So the log said 300, but 10 was
used actually.

I can set a large enough timeout in target board file to override the
default 10 such that my test does not time out. But I think the better
way might be letting call_remote pass timeout down to rsh_exec. What
do you think? If it's a good idea, I can try to work out a patch for
DejaGNU.

Thanks,

Jie




reply via email to

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