Hi,

On Sat, 2015-01-10 at 11:20 +0100, Jan Stancek wrote:
> MSG_ERRQUEUE support for tcp has been added in 3.17. [1][2][3]
> Skip testing this combination on prior kernels.
> 
> [1] https://lkml.org/lkml/2006/9/18/182
> [2] f4713a3dfad045d46afcb9c2a7d0bba288920ed4
> [3] 4ed2d765dfaccff5ebdac68e2064b59125033a3b
> 
> Signed-off-by: Jan Stancek <[email protected]>
> ---
>  testcases/kernel/syscalls/recv/recv01.c         |    9 ++++++++-
>  testcases/kernel/syscalls/recvfrom/recvfrom01.c |    9 ++++++++-
>  testcases/kernel/syscalls/recvmsg/recvmsg01.c   |    9 ++++++++-
>  3 files changed, 24 insertions(+), 3 deletions(-)
> 
> diff --git a/testcases/kernel/syscalls/recv/recv01.c 
> b/testcases/kernel/syscalls/recv/recv01.c
> index 3dc7a91..ad5f9f8 100644
> --- a/testcases/kernel/syscalls/recv/recv01.c
> +++ b/testcases/kernel/syscalls/recv/recv01.c
> @@ -130,8 +130,15 @@ int main(int argc, char *argv[])
>       for (lc = 0; TEST_LOOPING(lc); ++lc) {
>               tst_count = 0;
>               for (testno = 0; testno < TST_TOTAL; ++testno) {
> -                     tdat[testno].setup();
> +                     if ((tst_kvercmp(3, 17, 0) < 0)
> +                         && (tdat[testno].flags & MSG_ERRQUEUE)
> +                         && (tdat[testno].type & SOCK_STREAM)) {
> +                             tst_resm(TINFO, "skip MSG_ERRQUEUE test, "

I think TCONF should be more suitable.
Others looks good to me.

Thanks,
Zeng

> +                                             "it's supported from 3.17");
> +                             continue;
> +                     }
>  
> +                     tdat[testno].setup();
>                       TEST(recv(s, tdat[testno].buf, tdat[testno].buflen,
>                                 tdat[testno].flags));
>                       if (TEST_RETURN > 0)
> diff --git a/testcases/kernel/syscalls/recvfrom/recvfrom01.c 
> b/testcases/kernel/syscalls/recvfrom/recvfrom01.c
> index 8d0a2ee..843dfb1 100644
> --- a/testcases/kernel/syscalls/recvfrom/recvfrom01.c
> +++ b/testcases/kernel/syscalls/recvfrom/recvfrom01.c
> @@ -152,8 +152,15 @@ int main(int argc, char *argv[])
>       for (lc = 0; TEST_LOOPING(lc); ++lc) {
>               tst_count = 0;
>               for (testno = 0; testno < TST_TOTAL; ++testno) {
> -                     tdat[testno].setup();
> +                     if ((tst_kvercmp(3, 17, 0) < 0)
> +                         && (tdat[testno].flags & MSG_ERRQUEUE)
> +                         && (tdat[testno].type & SOCK_STREAM)) {
> +                             tst_resm(TINFO, "skip MSG_ERRQUEUE test, "
> +                                             "it's supported from 3.17");
> +                             continue;
> +                     }
>  
> +                     tdat[testno].setup();
>                       TEST(recvfrom(s, tdat[testno].buf, tdat[testno].buflen,
>                                     tdat[testno].flags, tdat[testno].from,
>                                     tdat[testno].salen));
> diff --git a/testcases/kernel/syscalls/recvmsg/recvmsg01.c 
> b/testcases/kernel/syscalls/recvmsg/recvmsg01.c
> index 42d4968..1216935 100644
> --- a/testcases/kernel/syscalls/recvmsg/recvmsg01.c
> +++ b/testcases/kernel/syscalls/recvmsg/recvmsg01.c
> @@ -208,10 +208,17 @@ int main(int argc, char *argv[])
>       for (lc = 0; TEST_LOOPING(lc); ++lc) {
>               tst_count = 0;
>               for (testno = 0; testno < TST_TOTAL; ++testno) {
> +                     if ((tst_kvercmp(3, 17, 0) < 0)
> +                         && (tdat[testno].flags & MSG_ERRQUEUE)
> +                         && (tdat[testno].type & SOCK_STREAM)) {
> +                             tst_resm(TINFO, "skip MSG_ERRQUEUE test, "
> +                                             "it's supported from 3.17");
> +                             continue;
> +                     }
> +
>                       tdat[testno].setup();
>  
>                       /* setup common to all tests */
> -
>                       iov[0].iov_base = tdat[testno].buf;
>                       iov[0].iov_len = tdat[testno].buflen;
>                       msgdat.msg_name = tdat[testno].from;



------------------------------------------------------------------------------
New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
GigeNET is offering a free month of service with a new server in Ashburn.
Choose from 2 high performing configs, both with 100TB of bandwidth.
Higher redundancy.Lower latency.Increased capacity.Completely compliant.
vanity: www.gigenet.com
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to