Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 22 Mar 2019 19:43:51 +0000 (UTC)
From:      Enji Cooper <ngie@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r345424 - projects/capsicum-test/contrib/capsicum-test
Message-ID:  <201903221943.x2MJhpiw022743@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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).



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201903221943.x2MJhpiw022743>