diff options
author | 2016-01-12 17:38:33 -0800 | |
---|---|---|
committer | 2016-01-12 17:38:33 -0800 | |
commit | f190601e606fb89158f671bea1676e4083bc9bb4 (patch) | |
tree | 10fa432bd7c2b794443beb882eb04c6b6b193b84 /test/cpp/interop/stress_test.cc | |
parent | bb30d2591fc52c5bacc309c107077d92d5afc70a (diff) | |
parent | 69ff3d3373e985ba7deba11bd854e95623af9b54 (diff) |
Merge branch 'master' into tag_set
Diffstat (limited to 'test/cpp/interop/stress_test.cc')
-rw-r--r-- | test/cpp/interop/stress_test.cc | 41 |
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; } |