svn commit: r363132 - head/tests/sys/audit
Enji Cooper
ngie at FreeBSD.org
Sun Jul 12 17:16:57 UTC 2020
Author: ngie
Date: Sun Jul 12 17:16:57 2020
New Revision: 363132
URL: https://svnweb.freebsd.org/changeset/base/363132
Log:
Don't leave `path` behind when executing `:chflags_success`
Prior to this change a `SF_IMMUTABLE` chflagsat(2)'ed file (`path`) was left
behind, which sabotaged kyua(1) from being able to clean up the work directory,
This resulted in unnecessary work for folks having to clean up the work
directory on non-disposable systems, which defaults to `/tmp`. Use `UF_OFFLINE`
instead of `SF_IMMUTABLE`, in part because setting `SF_IMMUTABLE` isn't relevant
to the test and `SF_IMMUTABLE` cannot be cleared at all securelevels, as pointed
out by @asomers.
Additional work is required to catch cases like this upfront in the future to
avoid tester headache. See PR # 247765 for more details/followup.
Suggested by: asomers
Reviewed By: asomers, #tests
MFC after: 1 week
PR: 247761
Sponsored by: DellEMC
Differential Revision: https://reviews.freebsd.org/D25561
Modified:
head/tests/sys/audit/file-attribute-modify.c
Modified: head/tests/sys/audit/file-attribute-modify.c
==============================================================================
--- head/tests/sys/audit/file-attribute-modify.c Sun Jul 12 15:57:29 2020 (r363131)
+++ head/tests/sys/audit/file-attribute-modify.c Sun Jul 12 17:16:57 2020 (r363132)
@@ -704,7 +704,7 @@ ATF_TC_BODY(chflagsat_success, tc)
/* File needs to exist to call chflagsat(2) */
ATF_REQUIRE((filedesc = open(path, O_CREAT, mode)) != -1);
FILE *pipefd = setup(fds, auclass);
- ATF_REQUIRE_EQ(0, chflagsat(AT_FDCWD, path, SF_IMMUTABLE, 0));
+ ATF_REQUIRE_EQ(0, chflagsat(AT_FDCWD, path, UF_OFFLINE, 0));
check_audit(fds, successreg, pipefd);
close(filedesc);
}
@@ -726,7 +726,7 @@ ATF_TC_BODY(chflagsat_failure, tc)
{
FILE *pipefd = setup(fds, auclass);
/* Failure reason: file does not exist */
- ATF_REQUIRE_EQ(-1, chflagsat(AT_FDCWD, errpath, SF_IMMUTABLE, 0));
+ ATF_REQUIRE_EQ(-1, chflagsat(AT_FDCWD, errpath, UF_OFFLINE, 0));
check_audit(fds, failurereg, pipefd);
}
More information about the svn-src-all
mailing list