svn commit: r345424 - projects/capsicum-test/contrib/capsicum-test
Enji Cooper
ngie at FreeBSD.org
Fri Mar 22 19:43:52 UTC 2019
Author: ngie
Date: Fri Mar 22 19:43:50 2019
New Revision: 345424
URL: https://svnweb.freebsd.org/changeset/base/345424
Log:
Rework r345423
r345423 didn't work because some of the calls used the `<<` operator to
redirect input to the `GTEST_*` macros.
Wrap the conditionals in `{}` so the blocks of code are clear to the compiler,
and to actually fix the -Wdangling-else issues.
Modified:
projects/capsicum-test/contrib/capsicum-test/capability-fd.cc
projects/capsicum-test/contrib/capsicum-test/capmode.cc
projects/capsicum-test/contrib/capsicum-test/capsicum-test.h
projects/capsicum-test/contrib/capsicum-test/openat.cc
Modified: projects/capsicum-test/contrib/capsicum-test/capability-fd.cc
==============================================================================
--- projects/capsicum-test/contrib/capsicum-test/capability-fd.cc Fri Mar 22 19:15:14 2019 (r345423)
+++ projects/capsicum-test/contrib/capsicum-test/capability-fd.cc Fri Mar 22 19:43:50 2019 (r345424)
@@ -713,22 +713,34 @@ static void TryDirOps(int dirfd, cap_rights_t rights)
EXPECT_OK(close(rc));
rc = openat(dfd_cap, "cap_fsync", O_FSYNC | O_RDONLY);
CHECK_RIGHT_RESULT(rc, rights, CAP_FSYNC, CAP_READ, CAP_LOOKUP);
- if (rc >= 0) EXPECT_OK(close(rc));
+ if (rc >= 0) {
+ EXPECT_OK(close(rc));
+ }
rc = openat(dfd_cap, "cap_fsync", O_FSYNC | O_WRONLY | O_APPEND);
CHECK_RIGHT_RESULT(rc, rights, CAP_FSYNC, CAP_WRITE, CAP_LOOKUP);
- if (rc >= 0) EXPECT_OK(close(rc));
+ if (rc >= 0) {
+ EXPECT_OK(close(rc));
+ }
rc = openat(dfd_cap, "cap_fsync", O_FSYNC | O_RDWR | O_APPEND);
CHECK_RIGHT_RESULT(rc, rights, CAP_FSYNC, CAP_READ, CAP_WRITE, CAP_LOOKUP);
- if (rc >= 0) EXPECT_OK(close(rc));
+ if (rc >= 0) {
+ EXPECT_OK(close(rc));
+ }
rc = openat(dfd_cap, "cap_fsync", O_SYNC | O_RDONLY);
CHECK_RIGHT_RESULT(rc, rights, CAP_FSYNC, CAP_READ, CAP_LOOKUP);
- if (rc >= 0) EXPECT_OK(close(rc));
+ if (rc >= 0) {
+ EXPECT_OK(close(rc));
+ }
rc = openat(dfd_cap, "cap_fsync", O_SYNC | O_WRONLY | O_APPEND);
CHECK_RIGHT_RESULT(rc, rights, CAP_FSYNC, CAP_WRITE, CAP_LOOKUP);
- if (rc >= 0) EXPECT_OK(close(rc));
+ if (rc >= 0) {
+ EXPECT_OK(close(rc));
+ }
rc = openat(dfd_cap, "cap_fsync", O_SYNC | O_RDWR | O_APPEND);
CHECK_RIGHT_RESULT(rc, rights, CAP_FSYNC, CAP_READ, CAP_WRITE, CAP_LOOKUP);
- if (rc >= 0) EXPECT_OK(close(rc));
+ if (rc >= 0) {
+ EXPECT_OK(close(rc));
+ }
EXPECT_OK(unlinkat(dirfd, "cap_fsync", 0));
rc = openat(dirfd, "cap_ftruncate", O_CREAT, 0600);
@@ -736,13 +748,19 @@ static void TryDirOps(int dirfd, cap_rights_t rights)
EXPECT_OK(close(rc));
rc = openat(dfd_cap, "cap_ftruncate", O_TRUNC | O_RDONLY);
CHECK_RIGHT_RESULT(rc, rights, CAP_FTRUNCATE, CAP_READ, CAP_LOOKUP);
- if (rc >= 0) EXPECT_OK(close(rc));
+ if (rc >= 0) {
+ EXPECT_OK(close(rc));
+ }
rc = openat(dfd_cap, "cap_ftruncate", O_TRUNC | O_WRONLY);
CHECK_RIGHT_RESULT(rc, rights, CAP_FTRUNCATE, CAP_WRITE, CAP_LOOKUP);
- if (rc >= 0) EXPECT_OK(close(rc));
+ if (rc >= 0) {
+ EXPECT_OK(close(rc));
+ }
rc = openat(dfd_cap, "cap_ftruncate", O_TRUNC | O_RDWR);
CHECK_RIGHT_RESULT(rc, rights, CAP_FTRUNCATE, CAP_READ, CAP_WRITE, CAP_LOOKUP);
- if (rc >= 0) EXPECT_OK(close(rc));
+ if (rc >= 0) {
+ EXPECT_OK(close(rc));
+ }
EXPECT_OK(unlinkat(dirfd, "cap_ftruncate", 0));
rc = openat(dfd_cap, "cap_create", O_CREAT | O_WRONLY, 0600);
@@ -764,19 +782,27 @@ static void TryDirOps(int dirfd, cap_rights_t rights)
rc = openat(dfd_cap, "cap_fsync", O_FSYNC | O_WRONLY);
CHECK_RIGHT_RESULT(rc,
rights, CAP_FSYNC, CAP_WRITE, CAP_SEEK, CAP_LOOKUP);
- if (rc >= 0) EXPECT_OK(close(rc));
+ if (rc >= 0) {
+ EXPECT_OK(close(rc));
+ }
rc = openat(dfd_cap, "cap_fsync", O_FSYNC | O_RDWR);
CHECK_RIGHT_RESULT(rc,
rights, CAP_FSYNC, CAP_READ, CAP_WRITE, CAP_SEEK, CAP_LOOKUP);
- if (rc >= 0) EXPECT_OK(close(rc));
+ if (rc >= 0) {
+ EXPECT_OK(close(rc));
+ }
rc = openat(dfd_cap, "cap_fsync", O_SYNC | O_WRONLY);
CHECK_RIGHT_RESULT(rc,
rights, CAP_FSYNC, CAP_WRITE, CAP_SEEK, CAP_LOOKUP);
- if (rc >= 0) EXPECT_OK(close(rc));
+ if (rc >= 0) {
+ EXPECT_OK(close(rc));
+ }
rc = openat(dfd_cap, "cap_fsync", O_SYNC | O_RDWR);
CHECK_RIGHT_RESULT(rc,
rights, CAP_FSYNC, CAP_READ, CAP_WRITE, CAP_SEEK, CAP_LOOKUP);
- if (rc >= 0) EXPECT_OK(close(rc));
+ if (rc >= 0) {
+ EXPECT_OK(close(rc));
+ }
EXPECT_OK(unlinkat(dirfd, "cap_fsync", 0));
#ifdef HAVE_CHFLAGSAT
@@ -826,28 +852,38 @@ static void TryDirOps(int dirfd, cap_rights_t rights)
rc = linkat(dirfd, "cap_linkat_src", dfd_cap, "cap_linkat_dst", 0);
CHECK_RIGHT_RESULT(rc, rights, CAP_LINKAT_TARGET);
- if (rc >= 0) EXPECT_OK(unlinkat(dirfd, "cap_linkat_dst", 0));
+ if (rc >= 0) {
+ EXPECT_OK(unlinkat(dirfd, "cap_linkat_dst", 0));
+ }
rc = linkat(dfd_cap, "cap_linkat_src", dirfd, "cap_linkat_dst", 0);
CHECK_RIGHT_RESULT(rc, rights, CAP_LINKAT_SOURCE);
- if (rc >= 0) EXPECT_OK(unlinkat(dirfd, "cap_linkat_dst", 0));
+ if (rc >= 0) {
+ EXPECT_OK(unlinkat(dirfd, "cap_linkat_dst", 0));
+ }
EXPECT_OK(unlinkat(dirfd, "cap_linkat_src", 0));
rc = mkdirat(dfd_cap, "cap_mkdirat", 0700);
CHECK_RIGHT_RESULT(rc, rights, CAP_MKDIRAT, CAP_LOOKUP);
- if (rc >= 0) EXPECT_OK(unlinkat(dirfd, "cap_mkdirat", AT_REMOVEDIR));
+ if (rc >= 0) {
+ EXPECT_OK(unlinkat(dirfd, "cap_mkdirat", AT_REMOVEDIR));
+ }
#ifdef HAVE_MKFIFOAT
rc = mkfifoat(dfd_cap, "cap_mkfifoat", 0600);
CHECK_RIGHT_RESULT(rc, rights, CAP_MKFIFOAT, CAP_LOOKUP);
- if (rc >= 0) EXPECT_OK(unlinkat(dirfd, "cap_mkfifoat", 0));
+ if (rc >= 0) {
+ EXPECT_OK(unlinkat(dirfd, "cap_mkfifoat", 0));
+ }
#endif
if (getuid() == 0) {
rc = mknodat(dfd_cap, "cap_mknodat", S_IFCHR | 0600, 0);
CHECK_RIGHT_RESULT(rc, rights, CAP_MKNODAT, CAP_LOOKUP);
- if (rc >= 0) EXPECT_OK(unlinkat(dirfd, "cap_mknodat", 0));
+ if (rc >= 0) {
+ EXPECT_OK(unlinkat(dirfd, "cap_mknodat", 0));
+ }
}
// For renameat(2), need:
@@ -880,7 +916,9 @@ static void TryDirOps(int dirfd, cap_rights_t rights)
rc = symlinkat("test", dfd_cap, "cap_symlinkat");
CHECK_RIGHT_RESULT(rc, rights, CAP_SYMLINKAT, CAP_LOOKUP);
- if (rc >= 0) EXPECT_OK(unlinkat(dirfd, "cap_symlinkat", 0));
+ if (rc >= 0) {
+ EXPECT_OK(unlinkat(dirfd, "cap_symlinkat", 0));
+ }
rc = openat(dirfd, "cap_unlinkat", O_CREAT, 0600);
EXPECT_OK(rc);
Modified: projects/capsicum-test/contrib/capsicum-test/capmode.cc
==============================================================================
--- projects/capsicum-test/contrib/capsicum-test/capmode.cc Fri Mar 22 19:15:14 2019 (r345423)
+++ projects/capsicum-test/contrib/capsicum-test/capmode.cc Fri Mar 22 19:43:50 2019 (r345424)
@@ -132,7 +132,9 @@ FORK_TEST_F(WithFiles, AllowedFileSyscalls) {
#ifdef HAVE_CHFLAGS
rc = fchflags(fd_file_, UF_NODUMP);
- if (rc < 0) EXPECT_NE(ECAPMODE, errno);
+ if (rc < 0) {
+ EXPECT_NE(ECAPMODE, errno);
+ }
#endif
char buf[1024];
@@ -173,7 +175,9 @@ FORK_TEST_F(WithFiles, AllowedSocketSyscalls) {
// recvfrom() either returns -1 with EAGAIN, or 0.
int rc = recvfrom(fd_socket_, NULL, 0, MSG_DONTWAIT, NULL, NULL);
- if (rc < 0) EXPECT_EQ(EAGAIN, errno);
+ if (rc < 0) {
+ EXPECT_EQ(EAGAIN, errno);
+ }
char ch;
EXPECT_OK(write(fd_file_, &ch, sizeof(ch)));
Modified: projects/capsicum-test/contrib/capsicum-test/capsicum-test.h
==============================================================================
--- projects/capsicum-test/contrib/capsicum-test/capsicum-test.h Fri Mar 22 19:15:14 2019 (r345423)
+++ projects/capsicum-test/contrib/capsicum-test/capsicum-test.h Fri Mar 22 19:43:50 2019 (r345424)
@@ -134,10 +134,7 @@ const char *TmpFile(const char *pathname);
void ICLASS_NAME(test_case_name, test_name)::InnerTestBody()
// Emit errno information on failure
-#define EXPECT_OK(v) \
- do { \
- EXPECT_LE(0, v) << " errno " << errno << " " << strerror(errno); \
- } while (0)
+#define EXPECT_OK(v) EXPECT_LE(0, v) << " errno " << errno << " " << strerror(errno)
// Expect a syscall to fail with the given error.
#define EXPECT_SYSCALL_FAIL(E, C) \
Modified: projects/capsicum-test/contrib/capsicum-test/openat.cc
==============================================================================
--- projects/capsicum-test/contrib/capsicum-test/openat.cc Fri Mar 22 19:15:14 2019 (r345423)
+++ projects/capsicum-test/contrib/capsicum-test/openat.cc Fri Mar 22 19:43:50 2019 (r345424)
@@ -176,10 +176,14 @@ class OpenatTest : public ::testing::Test {
// Create a couple of nested directories
int rc = mkdir(TmpFile(TOPDIR), 0755);
EXPECT_OK(rc);
- if (rc < 0) EXPECT_EQ(EEXIST, errno);
+ if (rc < 0) {
+ EXPECT_EQ(EEXIST, errno);
+ }
rc = mkdir(TmpFile(SUBDIR), 0755);
EXPECT_OK(rc);
- if (rc < 0) EXPECT_EQ(EEXIST, errno);
+ if (rc < 0) {
+ EXPECT_EQ(EEXIST, errno);
+ }
// Figure out a path prefix (like "../..") that gets us to the root
// directory from TmpFile(TOPDIR).
More information about the svn-src-projects
mailing list