15368db27SMaxim Konovalov#!/bin/sh 25368db27SMaxim Konovalov 35368db27SMaxim Konovalovcd `dirname $0` 45368db27SMaxim Konovalovcmd="./`basename $0 .t`" 55368db27SMaxim Konovalov 65368db27SMaxim Konovalovmake ${cmd} >/dev/null 2>&1 75368db27SMaxim Konovalov 85368db27SMaxim KonovalovIFS= 95368db27SMaxim Konovalovn=0 105368db27SMaxim Konovalov 115368db27SMaxim Konovalovrun() 125368db27SMaxim Konovalov{ 13*b5718158SSergey Kandaurov result=`${cmd} -t $2 $3 ${5%% *} 2>&1` 14*b5718158SSergey Kandaurov if [ $? -ne 0 ]; then 15*b5718158SSergey Kandaurov echo -n "not " 165368db27SMaxim Konovalov fi 17*b5718158SSergey Kandaurov echo "ok $1 - $4 ${5#* }" 185368db27SMaxim Konovalov echo ${result} | grep -E "SERVER|CLIENT" | while read line; do 195368db27SMaxim Konovalov echo "# ${line}" 205368db27SMaxim Konovalov done 215368db27SMaxim Konovalov} 225368db27SMaxim Konovalov 23*b5718158SSergey Kandaurovecho "1..47" 245368db27SMaxim Konovalov 25*b5718158SSergey Kandaurovfor t1 in \ 26*b5718158SSergey Kandaurov "1 Sending, receiving cmsgcred" \ 27*b5718158SSergey Kandaurov "4 Sending cmsgcred, receiving sockcred" \ 28*b5718158SSergey Kandaurov "5 Sending, receiving timeval" \ 29*b5718158SSergey Kandaurov "6 Sending, receiving bintime" \ 30*b5718158SSergey Kandaurov "7 Check cmsghdr.cmsg_len" 315368db27SMaxim Konovalovdo 32*b5718158SSergey Kandaurov for t2 in \ 33*b5718158SSergey Kandaurov "0 " \ 34*b5718158SSergey Kandaurov "1 (no data)" \ 35*b5718158SSergey Kandaurov "2 (no array)" \ 36*b5718158SSergey Kandaurov "3 (no data, array)" 37*b5718158SSergey Kandaurov do 38*b5718158SSergey Kandaurov n=$((n + 1)) 39*b5718158SSergey Kandaurov run ${n} stream "-z ${t2%% *}" STREAM "${t1} ${t2#* }" 40*b5718158SSergey Kandaurov done 415368db27SMaxim Konovalovdone 425368db27SMaxim Konovalov 43*b5718158SSergey Kandaurovfor t1 in \ 44*b5718158SSergey Kandaurov "2 Receiving sockcred (listening socket)" \ 45*b5718158SSergey Kandaurov "3 Receiving sockcred (accepted socket)" 465368db27SMaxim Konovalovdo 47*b5718158SSergey Kandaurov for t2 in \ 48*b5718158SSergey Kandaurov "0 " \ 49*b5718158SSergey Kandaurov "1 (no data)" 50*b5718158SSergey Kandaurov do 51*b5718158SSergey Kandaurov n=$((n + 1)) 52*b5718158SSergey Kandaurov run ${n} stream "-z ${t2%% *}" STREAM "${t1} ${t2#* }" 53*b5718158SSergey Kandaurov done 545368db27SMaxim Konovalovdone 555368db27SMaxim Konovalov 56*b5718158SSergey Kandaurovn=$((n + 1)) 57*b5718158SSergey Kandaurovrun ${n} stream "-z 0" STREAM "8 Check LOCAL_PEERCRED socket option" 585368db27SMaxim Konovalov 59*b5718158SSergey Kandaurovfor t1 in \ 60*b5718158SSergey Kandaurov "1 Sending, receiving cmsgcred" \ 61*b5718158SSergey Kandaurov "3 Sending cmsgcred, receiving sockcred" \ 62*b5718158SSergey Kandaurov "4 Sending, receiving timeval" \ 63*b5718158SSergey Kandaurov "5 Sending, receiving bintime" \ 64*b5718158SSergey Kandaurov "6 Check cmsghdr.cmsg_len" 65*b5718158SSergey Kandaurovdo 66*b5718158SSergey Kandaurov for t2 in \ 67*b5718158SSergey Kandaurov "0 " \ 68*b5718158SSergey Kandaurov "1 (no data)" \ 69*b5718158SSergey Kandaurov "2 (no array)" \ 70*b5718158SSergey Kandaurov "3 (no data, array)" 71*b5718158SSergey Kandaurov do 72*b5718158SSergey Kandaurov n=$((n + 1)) 73*b5718158SSergey Kandaurov run ${n} dgram "-z ${t2%% *}" DGRAM "${t1} ${t2#* }" 74*b5718158SSergey Kandaurov done 75*b5718158SSergey Kandaurovdone 76*b5718158SSergey Kandaurov 77*b5718158SSergey Kandaurovfor t1 in \ 78*b5718158SSergey Kandaurov "2 Receiving sockcred" 79*b5718158SSergey Kandaurovdo 80*b5718158SSergey Kandaurov for t2 in \ 81*b5718158SSergey Kandaurov "0 " \ 82*b5718158SSergey Kandaurov "1 (no data)" 83*b5718158SSergey Kandaurov do 84*b5718158SSergey Kandaurov n=$((n + 1)) 85*b5718158SSergey Kandaurov run ${n} dgram "-z ${t2%% *}" DGRAM "${t1} ${t2#* }" 86*b5718158SSergey Kandaurov done 87*b5718158SSergey Kandaurovdone 88