aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/cpp/interop/stress_test.cc
diff options
context:
space:
mode:
authorGravatar Alistair Veitch <aveitch@google.com>2016-01-12 17:38:33 -0800
committerGravatar Alistair Veitch <aveitch@google.com>2016-01-12 17:38:33 -0800
commitf190601e606fb89158f671bea1676e4083bc9bb4 (patch)
tree10fa432bd7c2b794443beb882eb04c6b6b193b84 /test/cpp/interop/stress_test.cc
parentbb30d2591fc52c5bacc309c107077d92d5afc70a (diff)
parent69ff3d3373e985ba7deba11bd854e95623af9b54 (diff)
Merge branch 'master' into tag_set
Diffstat (limited to 'test/cpp/interop/stress_test.cc')
-rw-r--r--test/cpp/interop/stress_test.cc41
1 files changed, 36 insertions, 5 deletions
diff --git a/test/cpp/interop/stress_test.cc b/test/cpp/interop/stress_test.cc
index 934f4f5722..702354dc87 100644
--- a/test/cpp/interop/stress_test.cc
+++ b/test/cpp/interop/stress_test.cc
@@ -1,6 +1,6 @@
/*
*
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -47,8 +47,12 @@
#include "test/cpp/interop/stress_interop_client.h"
#include "test/cpp/util/metrics_server.h"
#include "test/cpp/util/test_config.h"
-#include "test/proto/metrics.grpc.pb.h"
-#include "test/proto/metrics.pb.h"
+#include "src/proto/grpc/testing/metrics.grpc.pb.h"
+#include "src/proto/grpc/testing/metrics.pb.h"
+
+extern "C" {
+extern void gpr_default_log(gpr_log_func_args* args);
+}
DEFINE_int32(metrics_port, 8081, "The metrics server port.");
@@ -94,6 +98,12 @@ DEFINE_string(test_cases, "",
" 'large_unary', 10% of the time and 'empty_stream' the remaining"
" 70% of the time");
+DEFINE_int32(log_level, GPR_LOG_SEVERITY_DEBUG,
+ "Severity level of messages that should be logged. Any messages "
+ "greater than or equal to the level set here will be logged. "
+ "The choices are: 0 (GPR_LOG_SEVERITY_DEBUG), 1 "
+ "(GPR_LOG_SEVERITY_INFO) and 2 (GPR_LOG_SEVERITY_ERROR.");
+
using grpc::testing::kTestCaseList;
using grpc::testing::MetricsService;
using grpc::testing::MetricsServiceImpl;
@@ -102,6 +112,16 @@ using grpc::testing::TestCaseType;
using grpc::testing::UNKNOWN_TEST;
using grpc::testing::WeightedRandomTestSelector;
+static int log_level = GPR_LOG_SEVERITY_DEBUG;
+
+// A simple wrapper to grp_default_log() function. This only logs messages at or
+// above the current log level (set in 'log_level' variable)
+void TestLogFunction(gpr_log_func_args* args) {
+ if (args->severity >= log_level) {
+ gpr_default_log(args);
+ }
+}
+
TestCaseType GetTestTypeFromName(const grpc::string& test_name) {
TestCaseType test_case = UNKNOWN_TEST;
@@ -190,6 +210,18 @@ void LogParameterInfo(const std::vector<grpc::string>& addresses,
int main(int argc, char** argv) {
grpc::testing::InitTest(&argc, &argv, true);
+ if (FLAGS_log_level > GPR_LOG_SEVERITY_ERROR ||
+ FLAGS_log_level < GPR_LOG_SEVERITY_DEBUG) {
+ gpr_log(GPR_ERROR, "log_level should be an integer between %d and %d",
+ GPR_LOG_SEVERITY_DEBUG, GPR_LOG_SEVERITY_ERROR);
+ return 1;
+ }
+
+ // Change the default log function to TestLogFunction which respects the
+ // log_level setting.
+ log_level = FLAGS_log_level;
+ gpr_set_log_function(TestLogFunction);
+
srand(time(NULL));
// Parse the server addresses
@@ -198,7 +230,7 @@ int main(int argc, char** argv) {
// Parse test cases and weights
if (FLAGS_test_cases.length() == 0) {
- gpr_log(GPR_INFO, "Not running tests. The 'test_cases' string is empty");
+ gpr_log(GPR_ERROR, "Not running tests. The 'test_cases' string is empty");
return 1;
}
@@ -270,6 +302,5 @@ int main(int argc, char** argv) {
it->join();
}
- metrics_server->Wait();
return 0;
}