diff options
Diffstat (limited to 'contrib/netbsd-tests/lib/libc/stdlib/t_hsearch.c')
-rw-r--r-- | contrib/netbsd-tests/lib/libc/stdlib/t_hsearch.c | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/contrib/netbsd-tests/lib/libc/stdlib/t_hsearch.c b/contrib/netbsd-tests/lib/libc/stdlib/t_hsearch.c index a0e77d3..5a13250 100644 --- a/contrib/netbsd-tests/lib/libc/stdlib/t_hsearch.c +++ b/contrib/netbsd-tests/lib/libc/stdlib/t_hsearch.c @@ -75,7 +75,6 @@ __RCSID("$NetBSD: t_hsearch.c,v 1.4 2014/07/20 20:17:21 christos Exp $"); #define REQUIRE_ERRNO(x) ATF_REQUIRE_MSG(x, "%s", strerror(errno)) -#ifdef __NetBSD__ ATF_TC(hsearch_basic); ATF_TC_HEAD(hsearch_basic, tc) { @@ -122,9 +121,12 @@ ATF_TC_BODY(hsearch_basic, tc) ATF_REQUIRE_EQ((intptr_t)ep->data, i); } +#ifdef __NetBSD__ hdestroy1(free, NULL); -} +#else + hdestroy(); #endif +} ATF_TC(hsearch_duplicate); ATF_TC_HEAD(hsearch_duplicate, tc) @@ -232,7 +234,6 @@ ATF_TC_BODY(hsearch_two, tc) } #if defined(__FreeBSD__) && 1100027 <= __FreeBSD_version -#ifdef __NetBSD__ ATF_TC(hsearch_r_basic); ATF_TC_HEAD(hsearch_r_basic, tc) { @@ -278,10 +279,15 @@ ATF_TC_BODY(hsearch_r_basic, tc) ATF_REQUIRE_EQ((intptr_t)ep->data, i); } +#ifdef __NetBSD__ hdestroy1_r(&t, free, NULL); +#else + hdestroy_r(&t); +#endif } #endif +#if defined(__FreeBSD__) && 1100027 <= __FreeBSD_version ATF_TC(hsearch_r_duplicate); ATF_TC_HEAD(hsearch_r_duplicate, tc) { @@ -332,6 +338,9 @@ ATF_TC_BODY(hsearch_r_nonexistent, tc) REQUIRE_ERRNO(hcreate_r(16, &t)); +#ifdef __FreeBSD__ + atf_tc_expect_fail("behavior doesn't match docs; see bug # 216872"); +#endif e.key = __UNCONST("A"); ATF_REQUIRE(hsearch_r(e, FIND, &ep, &t) == 1); ATF_REQUIRE_EQ(ep, NULL); @@ -391,17 +400,13 @@ ATF_TC_BODY(hsearch_r_two, tc) ATF_TP_ADD_TCS(tp) { -#ifdef __NetBSD__ ATF_TP_ADD_TC(tp, hsearch_basic); -#endif ATF_TP_ADD_TC(tp, hsearch_duplicate); ATF_TP_ADD_TC(tp, hsearch_nonexistent); ATF_TP_ADD_TC(tp, hsearch_two); - + #if defined(__FreeBSD__) && 1100027 <= __FreeBSD_version -#ifdef __NetBSD__ ATF_TP_ADD_TC(tp, hsearch_r_basic); -#endif ATF_TP_ADD_TC(tp, hsearch_r_duplicate); ATF_TP_ADD_TC(tp, hsearch_r_nonexistent); ATF_TP_ADD_TC(tp, hsearch_r_two); |