xref: /freebsd/lib/libc/tests/sys/errno_test.c (revision 32fdcff8703da6f2795193acc77ec3c1fb8b723d)
1*32fdcff8SKonstantin Belousov /*-
2*32fdcff8SKonstantin Belousov  * Copyright (c) 2024 The FreeBSD Foundation
3*32fdcff8SKonstantin Belousov  *
4*32fdcff8SKonstantin Belousov  * SPDX-License-Identifier: BSD-2-Clause
5*32fdcff8SKonstantin Belousov  *
6*32fdcff8SKonstantin Belousov  * This software were developed by Konstantin Belousov <kib@FreeBSD.org>
7*32fdcff8SKonstantin Belousov  * under sponsorship from the FreeBSD Foundation.
8*32fdcff8SKonstantin Belousov  */
9*32fdcff8SKonstantin Belousov 
10*32fdcff8SKonstantin Belousov #include <errno.h>
11*32fdcff8SKonstantin Belousov #include <unistd.h>
12*32fdcff8SKonstantin Belousov 
13*32fdcff8SKonstantin Belousov #include <atf-c.h>
14*32fdcff8SKonstantin Belousov 
15*32fdcff8SKonstantin Belousov ATF_TC(errno_basic);
ATF_TC_HEAD(errno_basic,tc)16*32fdcff8SKonstantin Belousov ATF_TC_HEAD(errno_basic, tc)
17*32fdcff8SKonstantin Belousov {
18*32fdcff8SKonstantin Belousov 	atf_tc_set_md_var(tc, "descr",
19*32fdcff8SKonstantin Belousov 	    "Verify basic functionality of errno");
20*32fdcff8SKonstantin Belousov }
21*32fdcff8SKonstantin Belousov 
ATF_TC_BODY(errno_basic,tc)22*32fdcff8SKonstantin Belousov ATF_TC_BODY(errno_basic, tc)
23*32fdcff8SKonstantin Belousov {
24*32fdcff8SKonstantin Belousov 	int res;
25*32fdcff8SKonstantin Belousov 
26*32fdcff8SKonstantin Belousov 	res = unlink("/non/existent/file");
27*32fdcff8SKonstantin Belousov 	ATF_REQUIRE(res == -1);
28*32fdcff8SKonstantin Belousov 	ATF_REQUIRE(errno == ENOENT);
29*32fdcff8SKonstantin Belousov }
30*32fdcff8SKonstantin Belousov 
ATF_TP_ADD_TCS(tp)31*32fdcff8SKonstantin Belousov ATF_TP_ADD_TCS(tp)
32*32fdcff8SKonstantin Belousov {
33*32fdcff8SKonstantin Belousov 	ATF_TP_ADD_TC(tp, errno_basic);
34*32fdcff8SKonstantin Belousov 
35*32fdcff8SKonstantin Belousov 	return (atf_no_error());
36*32fdcff8SKonstantin Belousov }
37