path_test: adjust test for open(O_PATH | O_CREAT)

Instead of failing, it must succeed now.

Reviewed by:	markj
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D48332
This commit is contained in:
Konstantin Belousov 2025-01-07 00:07:07 +02:00
parent cc0d806f63
commit 749b3b2c06

View file

@ -684,10 +684,14 @@ ATF_TC_BODY(path_io, tc)
size_t page_size;
int error, fd, pathfd, sd[2];
/* It shouldn't be possible to create new files with O_PATH. */
/* It is allowed to create new files with O_PATH. */
snprintf(path, sizeof(path), "path_io.XXXXXX");
ATF_REQUIRE_MSG(mktemp(path) == path, FMT_ERR("mktemp"));
ATF_REQUIRE_ERRNO(ENOENT, open(path, O_PATH | O_CREAT, 0600) < 0);
pathfd = open(path, O_PATH | O_CREAT, 0600);
ATF_REQUIRE_MSG(pathfd >= 0, FMT_ERR("open(O_PATH|O_CREAT)"));
/* Ensure that this is indeed O_PATH fd */
ATF_REQUIRE_ERRNO(EBADF, write(pathfd, path, strlen(path)) == -1);
CHECKED_CLOSE(pathfd);
/* Create a non-empty file for use in the rest of the tests. */
mktfile(path, "path_io.XXXXXX");