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)

Regards
     Jiri Palecek

------------------------------------------------------------------------------
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