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