diff options
author | ngie <ngie@FreeBSD.org> | 2016-01-23 22:49:13 +0000 |
---|---|---|
committer | ngie <ngie@FreeBSD.org> | 2016-01-23 22:49:13 +0000 |
commit | 91acafb74c3f9996a741d62572ad443dbce23f59 (patch) | |
tree | 29892f860de9b4f91d1ed0c84c0095de4eadd59d /tools/regression | |
parent | 9499d1afd804843e0e72061f4508aa1795e92bb6 (diff) | |
download | FreeBSD-src-91acafb74c3f9996a741d62572ad443dbce23f59.zip FreeBSD-src-91acafb74c3f9996a741d62572ad443dbce23f59.tar.gz |
Don't run the t_cmsg_len testcase on 64-bit architectures
It always fails when trying to send through the sendit(9) private KPI in the
kernel due to a size mismatch between the msghdr and data being sent [*], which
suspiciously seems like it's related to sizeof pointers instead of scalars, or
something of that ilk
MFC after: 1 week
PR: 206543, 206544 [*]
Sponsored by: EMC / Isilon Storage Division
Diffstat (limited to 'tools/regression')
-rw-r--r-- | tools/regression/sockets/unix_cmsg/unix_cmsg.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/tools/regression/sockets/unix_cmsg/unix_cmsg.c b/tools/regression/sockets/unix_cmsg/unix_cmsg.c index a6833b1..7f6b45c 100644 --- a/tools/regression/sockets/unix_cmsg/unix_cmsg.c +++ b/tools/regression/sockets/unix_cmsg/unix_cmsg.c @@ -83,7 +83,13 @@ static int t_sockcred_2(void); static int t_cmsgcred_sockcred(void); static int t_timeval(void); static int t_bintime(void); +/* + * The testcase fails on 64-bit architectures (amd64), but passes on 32-bit + * architectures (i386); see bug 206543 + */ +#ifndef __LP64__ static int t_cmsg_len(void); +#endif static int t_peercred(void); struct test_func { @@ -120,10 +126,12 @@ static const struct test_func test_stream_tbl[] = { .func = t_bintime, .desc = "Sending, receiving bintime" }, +#ifndef __LP64__ { .func = t_cmsg_len, .desc = "Check cmsghdr.cmsg_len" }, +#endif { .func = t_peercred, .desc = "Check LOCAL_PEERCRED socket option" @@ -158,10 +166,12 @@ static const struct test_func test_dgram_tbl[] = { .func = t_bintime, .desc = "Sending, receiving bintime" }, +#ifndef __LP64__ { .func = t_cmsg_len, .desc = "Check cmsghdr.cmsg_len" } +#endif }; #define TEST_DGRAM_TBL_SIZE \ @@ -1829,6 +1839,7 @@ t_bintime(void) return (t_generic(t_bintime_client, t_bintime_server)); } +#ifndef __LP64__ static int t_cmsg_len_client(int fd) { @@ -1921,6 +1932,7 @@ t_cmsg_len(void) { return (t_generic(t_cmsg_len_client, t_cmsg_len_server)); } +#endif static int t_peercred_client(int fd) |