testing
authorMichael Wallner <mike@php.net>
Mon, 23 Nov 2020 15:39:46 +0000 (16:39 +0100)
committerMichael Wallner <mike@php.net>
Mon, 23 Nov 2020 15:39:46 +0000 (16:39 +0100)
src/bin/memslap.cc
test/tests/bin/memslap.cpp
test/tests/bin/memstat.cpp

index d1c58cd6030e33d70e222634af76826180f6ce33..baf6df6387e07a7390398589e9fde6712255b370 100644 (file)
@@ -210,6 +210,10 @@ static opt_apply wrap_stoul(unsigned long &ul) {
   };
 }
 
+static std::ostream &align(std::ostream &io) {
+  return io << std::right << std::setw(8);
+}
+
 int main(int argc, char *argv[]) {
   client_options opt{PROGRAM_NAME, PROGRAM_VERSION, PROGRAM_DESCRIPTION};
   auto concurrency = DEFAULT_CONCURRENCY;
@@ -270,10 +274,6 @@ int main(int argc, char *argv[]) {
   auto total_start = time_clock::now();
   std::cout << std::fixed << std::setprecision(3);
 
-  auto align = [](std::ostream &io) -> std::ostream &{
-    return io << std::right << std::setw(8);
-  };
-
   if (opt.isset("flush")) {
     if (opt.isset("verbose")) {
       std::cout << "- Flushing servers ...\n";
index cc640cddf7536b6ec773e77cf2d75d9429a5c8dc..bc0b817bc54ae47d674ae2bc1c17ec5c24f3634a 100644 (file)
@@ -29,16 +29,25 @@ TEST_CASE("bin/memslap") {
 
   SECTION("with servers") {
     auto test = MemcachedCluster::udp();
-    auto flags = {"--binary", "--udp", "--flush", "--test=mget", "--test=get", "--tcp-nodelay",
-                  "--non-blocking", "--execute-number=1000"};
+    auto flags = {"--binary", "--udp", "--flush", "--test=mget", "--test=get", "--test=set",
+                  "--tcp-nodelay", "--non-blocking", "--execute-number=1000"};
     string servers{"--servers="};
+    auto verbosity = GENERATE(as<string>(), " --verbose ", " --quiet ");
 
     for (const auto &server : test.cluster.getServers()) {
       servers += "localhost:" + to_string(get<int>(server.getSocketOrPort())) + ", ";
     }
 
     for (const auto flag : flags) {
-      REQUIRE(sh.run("memslap --quiet --concurrency=2 " + servers + flag));
+      string output;
+      REQUIRE(sh.run("memslap --concurrency=2 " + servers + verbosity + flag, output));
+      if (verbosity != " --quiet ") {
+        REQUIRE_THAT(output, Contains("Starting"));
+        REQUIRE_THAT(output, Contains("Time to"));
+        REQUIRE_THAT(output, Contains("seconds"));
+      } else {
+        REQUIRE(output.empty());
+      }
     }
   }
 }
index c6499777fe2171be1e3ef8709a7061df92c9df90..05f935de2e4b476707bb56b663b60b452dc5a7c9 100644 (file)
@@ -41,6 +41,12 @@ TEST_CASE("bin/memstat") {
     REQUIRE_SUCCESS(memcached_server_add(*memc, "localhost", port));
 
     SECTION("okay") {
+      SECTION("stat") {
+        string output;
+        REQUIRE(sh.run(comm, output));
+        REQUIRE_THAT(output, Contains("Server:"));
+        REQUIRE_THAT(output, Contains("pid:"));
+      }
       SECTION("version") {
         REQUIRE_SUCCESS(memcached_version(*memc));
         auto inst = memcached_server_instance_by_position(*memc, 0);