3 * Copyright (C) 2024 Kyle Evans <kevans@FreeBSD.org>
5 * SPDX-License-Identifier: BSD-2-Clause
13 ATF_TC_WITHOUT_HEAD(dlopen_basic);
14 ATF_TC_BODY(dlopen_basic, tc)
18 hdl = dlopen("libthr.so", RTLD_NOW);
19 ATF_REQUIRE(hdl != NULL);
21 sym = dlsym(hdl, "pthread_create");
22 ATF_REQUIRE(sym != NULL);
26 sym = dlsym(hdl, "pthread_create");
27 ATF_REQUIRE(sym == NULL);
30 ATF_TC_WITHOUT_HEAD(dlopen_recursing);
31 ATF_TC_BODY(dlopen_recursing, tc)
36 * If this doesn't crash, we're OK; a regression at one point caused
37 * some infinite recursion here.
39 hdl = dlopen("libthr.so", RTLD_NOW | RTLD_GLOBAL);
40 ATF_REQUIRE(hdl != NULL);
48 ATF_TP_ADD_TC(tp, dlopen_basic);
49 ATF_TP_ADD_TC(tp, dlopen_recursing);
51 return atf_no_error();