Module Name: src Committed By: christos Date: Wed Feb 27 18:39:58 UTC 2013
Modified Files: src/tests/lib/libc/rpc: t_rpc.c Log Message: skip the tests if rpcbind is not responding. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/tests/lib/libc/rpc/t_rpc.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/tests/lib/libc/rpc/t_rpc.c diff -u src/tests/lib/libc/rpc/t_rpc.c:1.1 src/tests/lib/libc/rpc/t_rpc.c:1.2 --- src/tests/lib/libc/rpc/t_rpc.c:1.1 Tue Feb 26 12:06:55 2013 +++ src/tests/lib/libc/rpc/t_rpc.c Wed Feb 27 13:39:58 2013 @@ -1,7 +1,7 @@ -/* $NetBSD: t_rpc.c,v 1.1 2013/02/26 17:06:55 christos Exp $ */ +/* $NetBSD: t_rpc.c,v 1.2 2013/02/27 18:39:58 christos Exp $ */ #include <sys/cdefs.h> -__RCSID("$NetBSD: t_rpc.c,v 1.1 2013/02/26 17:06:55 christos Exp $"); +__RCSID("$NetBSD: t_rpc.c,v 1.2 2013/02/27 18:39:58 christos Exp $"); #include <sys/types.h> #include <sys/socket.h> @@ -17,8 +17,15 @@ __RCSID("$NetBSD: t_rpc.c,v 1.1 2013/02/ #include <atf-c.h> #define ERRX(ev, msg, ...) ATF_REQUIRE_MSG(0, msg, __VA_ARGS__) + +#define SKIPX(ev, msg, ...) do { \ + atf_tc_skip(msg, __VA_ARGS__); \ + return; \ +} while(/*CONSTCOND*/0) + #else #define ERRX(ev, msg, ...) errx(ev, msg, __VA_ARGS__) +#define SKIPX(ev, msg, ...) errx(ev, msg, __VA_ARGS__) #endif @@ -40,6 +47,8 @@ reply(caddr_t replyp, struct netbuf * ra return 0; } +extern bool __rpc_control(int, void *); + static void onehost(const char *host, const char *transp) { @@ -47,9 +56,16 @@ onehost(const char *host, const char *tr struct netbuf addr; struct timeval tv; + /* + * Magic! + */ + tv.tv_sec = 0; + tv.tv_usec = 500000; +#define CLCR_SET_RPCB_TIMEOUT 2 + __rpc_control(CLCR_SET_RPCB_TIMEOUT, &tv); if ((clnt = clnt_create(host, RPCBPROG, RPCBVERS, transp)) == NULL) - ERRX(EXIT_FAILURE, "clnt_create (%s)", clnt_spcreateerror("")); + SKIPX(EXIT_FAILURE, "clnt_create (%s)", clnt_spcreateerror("")); tv.tv_sec = 1; tv.tv_usec = 0;