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 _______________________________________________ DejaGnu mailing list DejaGnu@gnu.org http://lists.gnu.org/mailman/listinfo/dejagnu