On Sun, 20 Dec 2009 02:20:27 +0100, Garrett Cooper <[email protected]> wrote:
> 2009/12/19 Jiří Paleček <[email protected]>: >> On Sat, 19 Dec 2009 05:02:45 +0100, Garrett Cooper <[email protected]> >> wrote: >> >>> On Fri, Dec 18, 2009 at 6:16 PM, Jiri Palecek <[email protected]> wrote: >>>> >>>> Hello, >>>> >>>> I've found some problems with the sendfile01 testcase (the one under >>>> network/tcp_cmds). This patch fixes them: >>>> >>>> Pass the -6 parameter to gethost if we are to use ipv6 and run the >>>> ipv6 server in that case. Also, fix the awk code for getting the PID: >>>> The PID is the second column, which is $2, not $1. >>>> >>>> Also: >>>> >>>> - initialize addrlen for accept syscall in the server (=> avoid >>>> EINVAL) >>>> >>>> - use tst_resm in the client instead of tst_res, to avoid an error >>>> message interpreted as a filename >>>> >>>> Regards >>>> Jiri Palecek >>>> >>>> Signed-off-by: Jiri Palecek <[email protected]> >>>> --- >>>> testcases/network/tcp_cmds/sendfile/SF_Server | 2 +- >>>> testcases/network/tcp_cmds/sendfile/sendfile01 | 10 +++++----- >>>> testcases/network/tcp_cmds/sendfile/testsf_c.c | 2 +- >>>> testcases/network/tcp_cmds/sendfile/testsf_s.c | 2 +- >>>> 4 files changed, 8 insertions(+), 8 deletions(-) >>>> >>>> diff --git a/testcases/network/tcp_cmds/sendfile/SF_Server >>>> b/testcases/network/tcp_cmds/sendfile/SF_Server >>>> index 2383ce4..9933db4 100755 >>>> --- a/testcases/network/tcp_cmds/sendfile/SF_Server >>>> +++ b/testcases/network/tcp_cmds/sendfile/SF_Server >>>> @@ -3,4 +3,4 @@ >>>> cd $3 >>>> exec 1< /dev/null # open descriptor 1 >>>> exec 2< /dev/null # open descriptor 1 >>>> -nohup ./testsf_s $1 $2 & >>>> +nohup ./$4 $1 $2 & >>>> diff --git a/testcases/network/tcp_cmds/sendfile/sendfile01 >>>> b/testcases/network/tcp_cmds/sendfile/sendfile01 >>>> index 4e93447..7dd4fee 100755 >>>> --- a/testcases/network/tcp_cmds/sendfile/sendfile01 >>>> +++ b/testcases/network/tcp_cmds/sendfile/sendfile01 >>>> @@ -61,7 +61,7 @@ do_setup() >>>> >>>> exists awk diff gethost grep rsh stat >>>> >>>> - IPADDR=$(gethost $RHOST | awk '/addresses:/ {print $2}') >>>> + IPADDR=$(gethost ${EXEC_SUFFIX:+-6} $RHOST | awk '/addresses:/ >>>> {print $2}') >>>> >>>> } >>>> >>>> @@ -81,17 +81,17 @@ do_test() >>>> >>>> mkdir -p $TCtmp >>>> PORT=$$ >>>> - if ! rsh -l root $IPADDR "$LTPROOT/testcases/bin/SF_Server >>>> $IPADDR >>>> $PORT $LTPROOT/testcases/bin"; then >>>> + if ! rsh -l root $IPADDR "$LTPROOT/testcases/bin/SF_Server >>>> $IPADDR >>>> $PORT $LTPROOT/testcases/bin $SERVER"; then >>>> end_testcase "rsh failed to $IPADDR as root failed" >>>> fi >>>> sleep 10 >>>> - PID=$(rsh -l root $IPADDR "ps -ef" | awk "\$0 !~ /awk/ && >>>> /$SERVER/ >>>> && /$PORT/ {print \$1}") >>>> + PID=$(rsh -l root $IPADDR "ps -ef" | awk "\$0 !~ /awk/ && >>>> /$SERVER/ >>>> && /$PORT/ {print \$2}") >>>> [ -n "$PID" ] || end_testcase "Could not start server" >>>> >>>> for clnt_fname in $FILES; do >>>> serv_fname=$TCdat/$clnt_fname >>>> SIZE=`stat -c '%s' $serv_fname` >>>> - tst_resm TINFO "Starting $SERVER $IPADDR Client_filename >>>> Server_filename Size " >>>> + tst_resm TINFO "Starting $CLIENT $IPADDR Client_filename >>>> Server_filename Size " >>>> >>>> $CLIENT $IPADDR $PORT "$TCtmp/$clnt_fname" $serv_fname $SIZE >>>> RetVal=$? >>>> @@ -118,7 +118,7 @@ do_test() >>>> >>>> do_cleanup() >>>> { >>>> - PID=$(rsh -n -l root $RHOST "ps -ef" | awk "\$0 !~ /awk/ && >>>> /$SERVER/ && /$PORT/ {print \$1}") >>>> + PID=$(rsh -n -l root $RHOST "ps -ef" | awk "\$0 !~ /awk/ && >>>> /$SERVER/ && /$PORT/ {print \$2}") >>>> [ -n "$PID" ] && rsh -n -l root $RHOST kill -9 $PID >>>> tst_cleanup >>>> } >>>> diff --git a/testcases/network/tcp_cmds/sendfile/testsf_c.c >>>> b/testcases/network/tcp_cmds/sendfile/testsf_c.c >>>> index 52b9ecf..7683927 100644 >>>> --- a/testcases/network/tcp_cmds/sendfile/testsf_c.c >>>> +++ b/testcases/network/tcp_cmds/sendfile/testsf_c.c >>>> @@ -120,7 +120,7 @@ main (int argc, char *argv[]) >>>> } >>>> } >>>> >>>> - tst_res(TINFO, "Asking for remote file: %s", serv_fname); >>>> + tst_resm(TINFO, "Asking for remote file: %s", serv_fname); >>>> >>>> tst_resm(TINFO, "File %s received\n", argv[4]); >>>> >>>> diff --git a/testcases/network/tcp_cmds/sendfile/testsf_s.c >>>> b/testcases/network/tcp_cmds/sendfile/testsf_s.c >>>> index bc77712..38baf8c 100644 >>>> --- a/testcases/network/tcp_cmds/sendfile/testsf_s.c >>>> +++ b/testcases/network/tcp_cmds/sendfile/testsf_s.c >>>> @@ -92,7 +92,7 @@ main(int argc, char *argv[]) >>>> tst_exit(); >>>> } >>>> >>>> - socklen_t fromlen; >>>> + socklen_t fromlen = sizeof(from); >>>> >>>> /* process connections */ >>>> while (1) { >>> >>> Hi Jiri, >>> I agree with you on all points, but the ps column: >>> >>> gcoo...@orangebox ~ $ ps ef >>> PID TTY STAT TIME COMMAND >>> 4631 tty1 S 0:00 -bash TERM=linux HOME=/home/gcooper >>> SHELL=/bin/bash U >>> 4636 tty1 S+ 0:00 \_ /bin/sh /usr/bin/startx >>> MANPATH=/etc/java-config- >>> 4652 tty1 S+ 0:00 \_ xinit /etc/X11/xinit/xinitrc -- >>> -nolisten tcp >>> 4667 tty1 S 0:00 \_ /bin/sh /etc/X11/xinit/xinitrc >>> DISPLAY=:0 >>> 4682 tty1 S 0:00 \_ /bin/sh >>> /etc/xdg/xfce4/xinitrc >>> MANPAT >>> 4699 tty1 S 0:00 \_ /usr/bin/xfce4-session >>> MANPATH=/e >>> 4705 tty1 S 0:02 \_ xfwm4 --sm-client-id >>> 2d6757e3 >>> 4707 tty1 Sl 0:03 \_ Thunar >>> --sm-client-id >>> 276f4b6 >>> 4711 tty1 S 0:06 \_ xfce4-panel -r >>> --sm-client-id >>> 4716 tty1 Sl 0:00 | \_ >>> /usr/libexec/xfce4/panel- >>> 4724 tty1 Sl 0:00 | \_ >>> /usr/libexec/xfce4/panel- >>> 4712 tty1 S 0:01 \_ xfdesktop >>> --sm-client-id 293b >>> 21073 tty1 S 0:00 /usr/bin/xterm >>> MANPATH=/etc/java-config-2/current-sys >>> 21075 pts/1 Ss 0:00 \_ bash >>> MANPATH=/etc/java-config-2/current-system-vm >>> 21080 pts/1 R+ 0:00 \_ ps ef >>> MANPATH=/etc/java-config-2/current-syst >>> 3396 tty1 S 0:00 /usr/bin/xterm >>> MANPATH=/etc/java-config-2/current-sys >>> 3398 pts/0 Ss 0:00 \_ bash >>> MANPATH=/etc/java-config-2/current-system-vm >>> 21065 pts/0 S+ 0:00 \_ vim sendfile01 >>> MANPATH=/etc/java-config-2/cur >>> 3350 tty1 Sl 1:02 /usr/bin/firefox >>> MANPATH=/etc/java-config-2/current-s >>> 30806 tty1 Sl 5:26 /usr/lib/jvm/sun-jdk-1.6/bin/java -classpath >>> /usr/sha >>> 4791 tty1 S 0:00 /usr/libexec/uim-helper-server >>> MANPATH=/etc/java-conf >>> 4714 tty1 S 0:00 xfce4-settings-helper --display :0.0 >>> --sm-client-id 2 >>> 4706 tty1 S 0:00 xfsettingsd >>> MANPATH=/etc/java-config-2/current-system >>> 4696 tty1 S 0:00 /usr/bin/dbus-launch --sh-syntax >>> --exit-with-session >>> gcoo...@orangebox ~ $ ps --version >>> procps version 3.2.8 >>> >>> So to bypass this issue I used ps eopid,cmd: >>> >>> 400 [crypto/2] >>> 401 [crypto/3] >>> 587 [iscsi_eh] >>> 593 [scsi_eh_0] >>> 596 [scsi_eh_1] >>> 599 [scsi_eh_2] >>> 602 [scsi_eh_3] >>> 605 [scsi_eh_4] >>> 608 [scsi_eh_5] >>> 692 [kpsmoused] >>> 700 [kstriped] >>> 703 [kondemand/0] >>> 704 [kondemand/1] >>> 705 [kondemand/2] >>> 706 [kondemand/3] >>> 729 [usbhid_resumer] >>> 809 [reiserfs/0] >>> 810 [reiserfs/1] >>> 811 [reiserfs/2] >>> 812 [reiserfs/3] >>> 1906 /sbin/udevd --daemon >>> 2303 /usr/sbin/acpid >>> 3350 /usr/bin/firefox >>> 3396 /usr/bin/xterm >>> 3398 bash >>> 3535 supervising syslog-ng >>> 3536 /usr/sbin/syslog-ng >>> 3596 /usr/bin/dbus-daemon --system >>> 3653 /usr/sbin/crond >>> 3707 /usr/sbin/gpm -m /dev/input/mice -t ps2 >>> 3768 /usr/sbin/hald --use-syslog --verbose=no >>> 3771 hald-runner >>> 3774 hald-addon-input: Listening on /dev/input/event4 >>> /dev/input/event3 >>> /dev/in >>> 3787 hald-addon-storage: polling /dev/sr0 (every 2 sec) >>> 3790 /usr/libexec/hald-addon-cpufreq >>> 3791 hald-addon-acpi: listening on acpid socket /var/run/acpid.socket >>> 4250 /sbin/dhcpcd -h orangebox eth0 >>> 4339 /sbin/portmap >>> 4400 /sbin/rpc.statd --no-notify >>> 4512 /usr/sbin/sshd >>> 4580 /sbin/agetty 38400 tty2 linux >>> 4581 /sbin/agetty 38400 tty3 linux >>> 4582 /sbin/agetty 38400 tty4 linux >>> 4583 /sbin/agetty 38400 tty5 linux >>> 4584 /sbin/agetty 38400 tty6 linux >>> 4613 [rpciod/0] >>> 4614 [rpciod/1] >>> 4615 [rpciod/2] >>> 4616 [rpciod/3] >>> 4622 [nfsiod] >>> 4627 [lockd] >>> 4629 /bin/login -- >>> 4631 -bash >>> 4636 /bin/sh /usr/bin/startx >>> 4652 xinit /etc/X11/xinit/xinitrc -- -nolisten tcp -br -auth >>> /home/gcooper/.ser >>> 4653 X :0 -nolisten tcp -br -auth /home/gcooper/.serverauth.4636 >>> -deferglyphs 1 >>> 4667 /bin/sh /etc/X11/xinit/xinitrc >>> 4682 /bin/sh /etc/xdg/xfce4/xinitrc >>> 4691 /usr/bin/ssh-agent -s >>> 4696 /usr/bin/dbus-launch --sh-syntax --exit-with-session >>> 4697 /usr/bin/dbus-daemon --fork --print-pid 5 --print-address 7 >>> --session >>> 4699 /usr/bin/xfce4-session >>> 4701 /usr/libexec/xfconfd >>> 4705 xfwm4 --sm-client-id 2d6757e33-4d33-453a-ba49-da83d783acde >>> --display >>> :0.0 >>> 4706 xfsettingsd >>> 4707 Thunar --sm-client-id 276f4b61e-2bba-4207-8e5e-feed55cbe9b4 >>> --daemon >>> 4709 /usr/libexec/gam_server >>> 4711 xfce4-panel -r --sm-client-id >>> 260365c00-2a57-4640-9170-8e74ce91bf1e >>> 4712 xfdesktop --sm-client-id 293b54ac0-804e-45e2-9ae9-2b9adbaeddde >>> --display : >>> 4714 xfce4-settings-helper --display :0.0 --sm-client-id >>> 20a17a11f-321d-40f4-87 >>> 4716 /usr/libexec/xfce4/panel-plugins/xfce4-menu-plugin socket_id >>> 18874394 name >>> 4723 /usr/libexec/gvfsd >>> 4724 /usr/libexec/xfce4/panel-plugins/xfce4-mixer-plugin socket_id >>> 18874431 nam >>> 4791 /usr/libexec/uim-helper-server >>> 21065 vim sendfile01 >>> 21073 /usr/bin/xterm >>> 21075 bash >>> 21113 ps -eopid,cmd >>> 28404 /usr/libexec/gvfs-hal-volume-monitor >>> 28689 /sbin/udevd --daemon >>> 28690 /sbin/udevd --daemon >>> 30806 /usr/lib/jvm/sun-jdk-1.6/bin/java -classpath >>> /usr/share/bcprov/lib/bcprov. >>> 30860 xchat >>> 31904 /usr/libexec/gconfd-2 >>> gcoo...@orangebox ~ $ ps -eopid,cmd >>> >>> Do you agree that this is an ok choice? >> >> Yes, it is arguably more robust and readable (although I don't think >> your >> example shows the need for it). >> >> Note that there are differences between ps -ef, ps ef and ps -e f: >> >> ji...@debian:~$ ps -ef | head -10 >> UID PID PPID C STIME TTY TIME CMD >> root 1 0 0 21:15 ? 00:00:00 init [2] >> root 2 0 0 21:15 ? 00:00:00 [kthreadd] >> root 3 2 0 21:15 ? 00:00:00 [migration/0] >> root 4 2 0 21:15 ? 00:00:00 [ksoftirqd/0] >> root 5 2 0 21:15 ? 00:00:00 [events/0] >> root 6 2 0 21:15 ? 00:00:00 [khelper] >> root 35 2 0 21:15 ? 00:00:00 [kblockd/0] >> root 36 2 0 21:15 ? 00:00:00 [kacpid] >> root 37 2 0 21:15 ? 00:00:00 [kacpi_notify] >> ji...@debian:~$ ps ef | head -10 >> PID TTY STAT TIME COMMAND >> 7465 pts/12 Ss 0:00 /bin/bash --noediting -i PWD=/home/jirka >> TERM=dumb TERMCAP= COLUMNS=136 EMACS=t INSIDE_EMACS=22.3.1,comint GT >> 7498 pts/12 R+ 0:00 \_ ps ef KDE_MULTIHEAD=false >> KDEWM=/usr/bin/openbox SHELL=/bin/bash TERM=dumb >> XDG_SESSION_COOKIE=e07c53451a9 >> 7499 pts/12 D+ 0:00 \_ head -10 KDE_MULTIHEAD=false >> KDEWM=/usr/bin/openbox SHELL=/bin/bash TERM=dumb >> XDG_SESSION_COOKIE=e07c5345 >> 6355 pts/10 Ss+ 0:00 /bin/bash GDM_XSERVER_LOCATION=local >> GDM_LANG=cs_CZ LANGUAGE= KDE_MULTIHEAD=false KDE_SESSION_VERSION=4 KONSO >> 6343 pts/9 Ss+ 0:00 /bin/bash GDM_XSERVER_LOCATION=local >> GDM_LANG=cs_CZ LANGUAGE= KDE_MULTIHEAD=false KDE_SESSION_VERSION=4 KONSO >> 6337 pts/8 Ss+ 0:00 /bin/bash GDM_XSERVER_LOCATION=local >> GDM_LANG=cs_CZ LANGUAGE= KDE_MULTIHEAD=false KDE_SESSION_VERSION=4 KONSO >> 6325 pts/7 Ss+ 0:00 /bin/bash GDM_XSERVER_LOCATION=local >> GDM_LANG=cs_CZ LANGUAGE= KDE_MULTIHEAD=false KDE_SESSION_VERSION=4 KONSO >> 6315 pts/6 Ss+ 0:00 /bin/bash GDM_XSERVER_LOCATION=local >> GDM_LANG=cs_CZ LANGUAGE= KDE_MULTIHEAD=false KDE_SESSION_VERSION=4 KONSO >> 6300 pts/5 Ss+ 0:00 /bin/bash GDM_XSERVER_LOCATION=local >> GDM_LANG=cs_CZ LANGUAGE= KDE_MULTIHEAD=false KDE_SESSION_VERSION=4 KONSO >> ji...@debian:~$ ps -e f | head -10 >> PID TTY STAT TIME COMMAND >> 2 ? S< 0:00 [kthreadd] >> 3 ? S< 0:00 \_ [migration/0] >> 4 ? S< 0:00 \_ [ksoftirqd/0] >> 5 ? S< 0:00 \_ [events/0] >> 6 ? S< 0:00 \_ [khelper] >> 35 ? S< 0:00 \_ [kblockd/0] >> 36 ? S< 0:00 \_ [kacpid] >> 37 ? S< 0:00 \_ [kacpi_notify] >> 100 ? S< 0:00 \_ [kseriod] >> ji...@debian:~$ >> >> So you actually used a different command than the one that's used in the >> testcase. (the first listing is consistent with POSIX specification) > > Interesting -- didn't know that! > > How about this instead: > > gcoo...@orangebox ~ $ ps -eo pid,cmd | head -n 10 > PID CMD > 1 init [3] > 2 [kthreadd] > 3 [migration/0] > 4 [ksoftirqd/0] > 5 [migration/1] > 6 [ksoftirqd/1] > 7 [migration/2] > 8 [ksoftirqd/2] > 9 [migration/3] > > I'm just proposing this because if --columns is set on the target > system, it's more likely to truncate output and give false positives. > > Sound good :)? Yes. Regards Jiri Palecek -- Using Opera's revolutionary e-mail client: http://www.opera.com/mail/ ------------------------------------------------------------------------------ This SF.Net email is sponsored by the Verizon Developer Community Take advantage of Verizon's best-in-class app development support A streamlined, 14 day to market process makes app distribution fast and easy Join now and get one step closer to millions of Verizon customers http://p.sf.net/sfu/verizon-dev2dev _______________________________________________ Ltp-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ltp-list
