You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kudu.apache.org by mp...@apache.org on 2017/05/23 23:58:05 UTC

kudu git commit: Improve ASSERT_STR_CONTAINS()

Repository: kudu
Updated Branches:
  refs/heads/master d354693c1 -> fb6cc895b


Improve ASSERT_STR_CONTAINS()

This can just defer to built-in gtest functions instead of being
constructed by us. The benefit is that the implementation doesn't have
to wrap the macro in a do ... while loop so we are able to use syntax
like:

  ASSERT_STR_CONTAINS(a, b) << extra_info;

whereas previously you couldn't append extra_info to the error message.

Also fix some uses of ASSERT_STR_CONTAINS that were missing semicolons.

Change-Id: Idea2abc0115e13dbb9f3853a5b821ccbf833d184
Reviewed-on: http://gerrit.cloudera.org:8080/6956
Tested-by: Kudu Jenkins
Reviewed-by: Todd Lipcon <to...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/kudu/repo
Commit: http://git-wip-us.apache.org/repos/asf/kudu/commit/fb6cc895
Tree: http://git-wip-us.apache.org/repos/asf/kudu/tree/fb6cc895
Diff: http://git-wip-us.apache.org/repos/asf/kudu/diff/fb6cc895

Branch: refs/heads/master
Commit: fb6cc895b9936dd6d4636be9a7eac59ef0590c80
Parents: d354693
Author: Mike Percy <mp...@apache.org>
Authored: Thu May 11 17:59:36 2017 -0700
Committer: Mike Percy <mp...@apache.org>
Committed: Tue May 23 23:50:54 2017 +0000

----------------------------------------------------------------------
 .../master_replication-itest.cc                  |  2 +-
 src/kudu/master/master-test.cc                   |  2 +-
 src/kudu/util/debug-util-test.cc                 |  2 +-
 src/kudu/util/flags-test.cc                      |  4 ++--
 src/kudu/util/test_macros.h                      | 19 +++++--------------
 5 files changed, 10 insertions(+), 19 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kudu/blob/fb6cc895/src/kudu/integration-tests/master_replication-itest.cc
----------------------------------------------------------------------
diff --git a/src/kudu/integration-tests/master_replication-itest.cc b/src/kudu/integration-tests/master_replication-itest.cc
index 8a3f38a..2cfd0e8 100644
--- a/src/kudu/integration-tests/master_replication-itest.cc
+++ b/src/kudu/integration-tests/master_replication-itest.cc
@@ -265,7 +265,7 @@ TEST_F(MasterReplicationTest, TestMasterPeerSetsDontMatch) {
   Status s = cluster_->mini_master(0)->WaitForCatalogManagerInit();
   SCOPED_TRACE(s.ToString());
   ASSERT_TRUE(s.IsInvalidArgument());
-  ASSERT_STR_CONTAINS(s.ToString(), "55555")
+  ASSERT_STR_CONTAINS(s.ToString(), "55555");
 }
 
 } // namespace master

http://git-wip-us.apache.org/repos/asf/kudu/blob/fb6cc895/src/kudu/master/master-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/master/master-test.cc b/src/kudu/master/master-test.cc
index bc3aa99..1dfce4e 100644
--- a/src/kudu/master/master-test.cc
+++ b/src/kudu/master/master-test.cc
@@ -512,7 +512,7 @@ TEST_F(MasterTest, TestCreateTableCheckRangeInvariants) {
     ASSERT_TRUE(s.IsInvalidArgument());
     ASSERT_STR_CONTAINS(s.ToString(),
                         "Invalid argument: split rows may only contain values "
-                        "for range partitioned columns: val")
+                        "for range partitioned columns: val");
   }
 
   { // Overlapping bounds.

http://git-wip-us.apache.org/repos/asf/kudu/blob/fb6cc895/src/kudu/util/debug-util-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/debug-util-test.cc b/src/kudu/util/debug-util-test.cc
index 3122adb..74b5b79 100644
--- a/src/kudu/util/debug-util-test.cc
+++ b/src/kudu/util/debug-util-test.cc
@@ -93,7 +93,7 @@ TEST_F(DebugUtilTest, TestSignalStackTrace) {
   // We have to loop a little bit because it takes a little while for the thread
   // to start up and actually call our function.
   ASSERT_EVENTUALLY([&]() {
-      ASSERT_STR_CONTAINS(DumpThreadStack(t->tid()), "SleeperThread")
+      ASSERT_STR_CONTAINS(DumpThreadStack(t->tid()), "SleeperThread");
     });
 
   // Test that we can change the signal and that the stack traces still work,

http://git-wip-us.apache.org/repos/asf/kudu/blob/fb6cc895/src/kudu/util/flags-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/flags-test.cc b/src/kudu/util/flags-test.cc
index e7a90ef..dd5acd0 100644
--- a/src/kudu/util/flags-test.cc
+++ b/src/kudu/util/flags-test.cc
@@ -86,11 +86,11 @@ TEST_F(FlagsTest, TestNonDefaultFlags) {
   std::string result = GetNonDefaultFlags(default_flags);
 
   for (const auto& expected : expected_flags) {
-    ASSERT_STR_CONTAINS(result, expected)
+    ASSERT_STR_CONTAINS(result, expected);
   }
 
   for (const auto& unexpected : unexpected_flags) {
-    ASSERT_STR_NOT_CONTAINS(result, unexpected)
+    ASSERT_STR_NOT_CONTAINS(result, unexpected);
   }
 
   ASSERT_STR_CONTAINS(result, strings::Substitute("--test_sensitive_flag=$0",

http://git-wip-us.apache.org/repos/asf/kudu/blob/fb6cc895/src/kudu/util/test_macros.h
----------------------------------------------------------------------
diff --git a/src/kudu/util/test_macros.h b/src/kudu/util/test_macros.h
index 407de18..63cae5a 100644
--- a/src/kudu/util/test_macros.h
+++ b/src/kudu/util/test_macros.h
@@ -56,21 +56,12 @@
   } \
 } while (0);
 
-#define ASSERT_STR_CONTAINS(str, substr) do { \
-  const std::string& _s = (str); \
-  if (_s.find((substr)) == std::string::npos) { \
-    FAIL() << "Expected to find substring '" << (substr) \
-    << "'. Got: '" << _s << "'"; \
-  } \
-} while (0);
+// Substring matches.
+#define ASSERT_STR_CONTAINS(str, substr) \
+  ASSERT_THAT(str, testing::HasSubstr(substr))
 
-#define ASSERT_STR_NOT_CONTAINS(str, substr) do { \
-  const std::string& _s = (str); \
-  if (_s.find((substr)) != std::string::npos) { \
-    FAIL() << "Expected not to find substring '" << (substr) \
-    << "'. Got: '" << _s << "'"; \
-  } \
-} while (0);
+#define ASSERT_STR_NOT_CONTAINS(str, substr) \
+  ASSERT_THAT(str, testing::Not(testing::HasSubstr(substr)))
 
 // Substring regular expressions in extended regex (POSIX) syntax.
 #define ASSERT_STR_MATCHES(str, pattern) \