1 /*- 2 * SPDX-License-Identifier: BSD-2-Clause 3 * 4 * Copyright (c) 2025 Chelsio Communications, Inc. 5 * Written by: John Baldwin <jhb@FreeBSD.org> 6 */ 7 8 #include <atf-c++.hpp> 9 #include <libutil.h> 10 11 #include <libutil++.hh> 12 13 ATF_TEST_CASE_WITHOUT_HEAD(FILE_up); ATF_TEST_CASE_BODY(FILE_up)14ATF_TEST_CASE_BODY(FILE_up) 15 { 16 FILE *fp = fopen("/dev/null", "r"); 17 ATF_REQUIRE(fp != NULL); 18 ATF_REQUIRE(fileno(fp) != -1); 19 20 freebsd::FILE_up f(fp); 21 ATF_REQUIRE_EQ(fileno(fp), fileno(f.get())); 22 23 f.reset(); 24 ATF_REQUIRE_EQ(f.get(), nullptr); 25 26 ATF_REQUIRE_EQ(-1, fileno(fp)); 27 ATF_REQUIRE_EQ(EBADF, errno); 28 } 29 ATF_INIT_TEST_CASES(tcs)30ATF_INIT_TEST_CASES(tcs) 31 { 32 ATF_ADD_TEST_CASE(tcs, FILE_up); 33 } 34