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

Reply via email to