aboutsummaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorGravatar Craig Tiller <ctiller@google.com>2016-02-25 12:57:56 -0800
committerGravatar Craig Tiller <ctiller@google.com>2016-02-25 12:57:56 -0800
commit21679875659f382991f4c4e9e8bea34e93bc9b7f (patch)
treeb3e79e0b396fbd43e4df0269058b1ef3b672e6ff /test
parentee1f1f347de8c9a74d8b2cf01840a44fbed83996 (diff)
parentf7806b766bf88d2173ef37a4205d1393bbd73d60 (diff)
Merge github.com:grpc/grpc into hide-the-pollset
Diffstat (limited to 'test')
-rw-r--r--test/build/boringssl.c51
-rw-r--r--test/build/shadow.c43
-rwxr-xr-xtest/core/bad_ssl/gen_build_yaml.py4
-rw-r--r--test/core/bad_ssl/server_common.c (renamed from test/core/bad_ssl/server.c)4
-rw-r--r--test/core/bad_ssl/server_common.h (renamed from test/core/bad_ssl/server.h)2
-rw-r--r--test/core/bad_ssl/servers/alpn.c4
-rw-r--r--test/core/bad_ssl/servers/cert.c6
-rw-r--r--test/core/end2end/end2end_nosec_tests.c36
-rw-r--r--test/core/end2end/end2end_tests.c36
-rw-r--r--test/core/end2end/fixtures/h2_ssl+poll.c2
-rw-r--r--test/core/end2end/fixtures/h2_ssl.c15
-rw-r--r--test/core/end2end/fixtures/h2_ssl_proxy.c13
-rwxr-xr-xtest/core/end2end/gen_build_yaml.py6
-rw-r--r--test/core/end2end/tests/connectivity.c (renamed from test/core/end2end/tests/channel_connectivity.c)4
-rw-r--r--test/core/end2end/tests/ping.c (renamed from test/core/end2end/tests/channel_ping.c)4
-rw-r--r--test/core/end2end/tests/simple_metadata.c (renamed from test/core/end2end/tests/metadata.c)4
-rw-r--r--test/core/security/b64_test.c (renamed from test/core/security/base64_test.c)4
-rw-r--r--test/core/security/create_jwt.c2
-rw-r--r--test/core/security/credentials_test.c17
-rw-r--r--test/core/security/fetch_oauth2.c4
-rw-r--r--test/core/security/json_token_test.c7
-rw-r--r--test/core/security/jwt_verifier_test.c2
-rw-r--r--test/core/security/security_connector_test.c15
-rw-r--r--test/core/support/load_file_test.c (renamed from test/core/support/file_test.c)5
-rw-r--r--test/cpp/interop/server_main.cc (renamed from test/cpp/interop/server.cc)0
-rw-r--r--test/cpp/qps/client.h12
-rw-r--r--test/cpp/qps/client_async.cc20
-rw-r--r--test/cpp/qps/client_sync.cc10
-rwxr-xr-xtest/cpp/qps/qps-sweep.sh2
-rw-r--r--test/cpp/qps/server.h10
-rw-r--r--test/cpp/qps/server_sync.cc12
-rw-r--r--test/cpp/qps/usage_timer.cc (renamed from test/cpp/qps/timer.cc)16
-rw-r--r--test/cpp/qps/usage_timer.h (renamed from test/cpp/qps/timer.h)10
-rw-r--r--test/cpp/util/test_credentials_provider.cc116
-rw-r--r--test/cpp/util/test_credentials_provider.h16
-rw-r--r--test/distrib/php/distribtest.php32
36 files changed, 375 insertions, 171 deletions
diff --git a/test/build/boringssl.c b/test/build/boringssl.c
new file mode 100644
index 0000000000..a31d4bf396
--- /dev/null
+++ b/test/build/boringssl.c
@@ -0,0 +1,51 @@
+/*
+ *
+ * Copyright 2016, Google Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+// Check that boringssl is going to compile
+
+#include <stdio.h>
+#include <unistd.h>
+
+// boringssl uses anonymous unions
+struct foo {
+ union {
+ int a;
+ int b;
+ };
+};
+
+int main(void) {
+ const char *close = "this should not shadow";
+ printf("%s\n", close);
+ return 0;
+}
diff --git a/test/build/shadow.c b/test/build/shadow.c
new file mode 100644
index 0000000000..51d4f9e385
--- /dev/null
+++ b/test/build/shadow.c
@@ -0,0 +1,43 @@
+/*
+ *
+ * Copyright 2016, Google Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+// Check that boringssl is going to compile
+
+#include <stdio.h>
+#include <unistd.h>
+
+int main(void) {
+ const char *close = "this should not shadow";
+ printf("%s\n", close);
+ return 0;
+}
diff --git a/test/core/bad_ssl/gen_build_yaml.py b/test/core/bad_ssl/gen_build_yaml.py
index cc097a8fdf..e2a3febe5d 100755
--- a/test/core/bad_ssl/gen_build_yaml.py
+++ b/test/core/bad_ssl/gen_build_yaml.py
@@ -52,8 +52,8 @@ def main():
'name': 'bad_ssl_test_server',
'build': 'private',
'language': 'c',
- 'src': ['test/core/bad_ssl/server.c'],
- 'headers': ['test/core/bad_ssl/server.h'],
+ 'src': ['test/core/bad_ssl/server_common.c'],
+ 'headers': ['test/core/bad_ssl/server_common.h'],
'vs_proj_dir': 'test',
'platforms': ['linux', 'posix', 'mac'],
'deps': [
diff --git a/test/core/bad_ssl/server.c b/test/core/bad_ssl/server_common.c
index 6113d364c9..cde844a552 100644
--- a/test/core/bad_ssl/server.c
+++ b/test/core/bad_ssl/server_common.c
@@ -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
@@ -35,7 +35,7 @@
#include <grpc/support/log.h>
#include <signal.h>
-#include "test/core/bad_ssl/server.h"
+#include "test/core/bad_ssl/server_common.h"
#include "test/core/util/test_config.h"
/* Common server implementation details for all servers in servers/.
diff --git a/test/core/bad_ssl/server.h b/test/core/bad_ssl/server_common.h
index 8ec7755503..2566c25905 100644
--- a/test/core/bad_ssl/server.h
+++ b/test/core/bad_ssl/server_common.h
@@ -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
diff --git a/test/core/bad_ssl/servers/alpn.c b/test/core/bad_ssl/servers/alpn.c
index 7d70690e52..c8cc83b134 100644
--- a/test/core/bad_ssl/servers/alpn.c
+++ b/test/core/bad_ssl/servers/alpn.c
@@ -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
@@ -39,7 +39,7 @@
#include <grpc/support/useful.h>
#include "src/core/transport/chttp2/alpn.h"
-#include "test/core/bad_ssl/server.h"
+#include "test/core/bad_ssl/server_common.h"
#include "test/core/end2end/data/ssl_test_data.h"
/* This test starts a server that is configured to advertise (via alpn and npn)
diff --git a/test/core/bad_ssl/servers/cert.c b/test/core/bad_ssl/servers/cert.c
index d67a6ca1d4..4edef50b67 100644
--- a/test/core/bad_ssl/servers/cert.c
+++ b/test/core/bad_ssl/servers/cert.c
@@ -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
@@ -38,9 +38,9 @@
#include <grpc/support/log.h>
#include <grpc/support/useful.h>
-#include "src/core/support/file.h"
+#include "src/core/support/load_file.h"
-#include "test/core/bad_ssl/server.h"
+#include "test/core/bad_ssl/server_common.h"
#include "test/core/end2end/data/ssl_test_data.h"
/* This server will present an untrusted cert to the connecting client,
diff --git a/test/core/end2end/end2end_nosec_tests.c b/test/core/end2end/end2end_nosec_tests.c
index 9ff46d62e4..17dc190d14 100644
--- a/test/core/end2end/end2end_nosec_tests.c
+++ b/test/core/end2end/end2end_nosec_tests.c
@@ -46,9 +46,8 @@ extern void cancel_after_invoke(grpc_end2end_test_config config);
extern void cancel_before_invoke(grpc_end2end_test_config config);
extern void cancel_in_a_vacuum(grpc_end2end_test_config config);
extern void cancel_with_status(grpc_end2end_test_config config);
-extern void channel_connectivity(grpc_end2end_test_config config);
-extern void channel_ping(grpc_end2end_test_config config);
extern void compressed_payload(grpc_end2end_test_config config);
+extern void connectivity(grpc_end2end_test_config config);
extern void default_host(grpc_end2end_test_config config);
extern void disappearing_server(grpc_end2end_test_config config);
extern void empty_batch(grpc_end2end_test_config config);
@@ -59,10 +58,10 @@ extern void invoke_large_request(grpc_end2end_test_config config);
extern void large_metadata(grpc_end2end_test_config config);
extern void max_concurrent_streams(grpc_end2end_test_config config);
extern void max_message_length(grpc_end2end_test_config config);
-extern void metadata(grpc_end2end_test_config config);
extern void negative_deadline(grpc_end2end_test_config config);
extern void no_op(grpc_end2end_test_config config);
extern void payload(grpc_end2end_test_config config);
+extern void ping(grpc_end2end_test_config config);
extern void ping_pong_streaming(grpc_end2end_test_config config);
extern void registered_call(grpc_end2end_test_config config);
extern void request_with_flags(grpc_end2end_test_config config);
@@ -71,6 +70,7 @@ extern void server_finishes_request(grpc_end2end_test_config config);
extern void shutdown_finishes_calls(grpc_end2end_test_config config);
extern void shutdown_finishes_tags(grpc_end2end_test_config config);
extern void simple_delayed_request(grpc_end2end_test_config config);
+extern void simple_metadata(grpc_end2end_test_config config);
extern void simple_request(grpc_end2end_test_config config);
extern void trailing_metadata(grpc_end2end_test_config config);
@@ -87,9 +87,8 @@ void grpc_end2end_tests(int argc, char **argv,
cancel_before_invoke(config);
cancel_in_a_vacuum(config);
cancel_with_status(config);
- channel_connectivity(config);
- channel_ping(config);
compressed_payload(config);
+ connectivity(config);
default_host(config);
disappearing_server(config);
empty_batch(config);
@@ -100,10 +99,10 @@ void grpc_end2end_tests(int argc, char **argv,
large_metadata(config);
max_concurrent_streams(config);
max_message_length(config);
- metadata(config);
negative_deadline(config);
no_op(config);
payload(config);
+ ping(config);
ping_pong_streaming(config);
registered_call(config);
request_with_flags(config);
@@ -112,6 +111,7 @@ void grpc_end2end_tests(int argc, char **argv,
shutdown_finishes_calls(config);
shutdown_finishes_tags(config);
simple_delayed_request(config);
+ simple_metadata(config);
simple_request(config);
trailing_metadata(config);
return;
@@ -150,18 +150,14 @@ void grpc_end2end_tests(int argc, char **argv,
cancel_with_status(config);
continue;
}
- if (0 == strcmp("channel_connectivity", argv[i])) {
- channel_connectivity(config);
- continue;
- }
- if (0 == strcmp("channel_ping", argv[i])) {
- channel_ping(config);
- continue;
- }
if (0 == strcmp("compressed_payload", argv[i])) {
compressed_payload(config);
continue;
}
+ if (0 == strcmp("connectivity", argv[i])) {
+ connectivity(config);
+ continue;
+ }
if (0 == strcmp("default_host", argv[i])) {
default_host(config);
continue;
@@ -202,10 +198,6 @@ void grpc_end2end_tests(int argc, char **argv,
max_message_length(config);
continue;
}
- if (0 == strcmp("metadata", argv[i])) {
- metadata(config);
- continue;
- }
if (0 == strcmp("negative_deadline", argv[i])) {
negative_deadline(config);
continue;
@@ -218,6 +210,10 @@ void grpc_end2end_tests(int argc, char **argv,
payload(config);
continue;
}
+ if (0 == strcmp("ping", argv[i])) {
+ ping(config);
+ continue;
+ }
if (0 == strcmp("ping_pong_streaming", argv[i])) {
ping_pong_streaming(config);
continue;
@@ -250,6 +246,10 @@ void grpc_end2end_tests(int argc, char **argv,
simple_delayed_request(config);
continue;
}
+ if (0 == strcmp("simple_metadata", argv[i])) {
+ simple_metadata(config);
+ continue;
+ }
if (0 == strcmp("simple_request", argv[i])) {
simple_request(config);
continue;
diff --git a/test/core/end2end/end2end_tests.c b/test/core/end2end/end2end_tests.c
index 397ff446a9..6f2f5aff78 100644
--- a/test/core/end2end/end2end_tests.c
+++ b/test/core/end2end/end2end_tests.c
@@ -47,9 +47,8 @@ extern void cancel_after_invoke(grpc_end2end_test_config config);
extern void cancel_before_invoke(grpc_end2end_test_config config);
extern void cancel_in_a_vacuum(grpc_end2end_test_config config);
extern void cancel_with_status(grpc_end2end_test_config config);
-extern void channel_connectivity(grpc_end2end_test_config config);
-extern void channel_ping(grpc_end2end_test_config config);
extern void compressed_payload(grpc_end2end_test_config config);
+extern void connectivity(grpc_end2end_test_config config);
extern void default_host(grpc_end2end_test_config config);
extern void disappearing_server(grpc_end2end_test_config config);
extern void empty_batch(grpc_end2end_test_config config);
@@ -60,10 +59,10 @@ extern void invoke_large_request(grpc_end2end_test_config config);
extern void large_metadata(grpc_end2end_test_config config);
extern void max_concurrent_streams(grpc_end2end_test_config config);
extern void max_message_length(grpc_end2end_test_config config);
-extern void metadata(grpc_end2end_test_config config);
extern void negative_deadline(grpc_end2end_test_config config);
extern void no_op(grpc_end2end_test_config config);
extern void payload(grpc_end2end_test_config config);
+extern void ping(grpc_end2end_test_config config);
extern void ping_pong_streaming(grpc_end2end_test_config config);
extern void registered_call(grpc_end2end_test_config config);
extern void request_with_flags(grpc_end2end_test_config config);
@@ -72,6 +71,7 @@ extern void server_finishes_request(grpc_end2end_test_config config);
extern void shutdown_finishes_calls(grpc_end2end_test_config config);
extern void shutdown_finishes_tags(grpc_end2end_test_config config);
extern void simple_delayed_request(grpc_end2end_test_config config);
+extern void simple_metadata(grpc_end2end_test_config config);
extern void simple_request(grpc_end2end_test_config config);
extern void trailing_metadata(grpc_end2end_test_config config);
@@ -89,9 +89,8 @@ void grpc_end2end_tests(int argc, char **argv,
cancel_before_invoke(config);
cancel_in_a_vacuum(config);
cancel_with_status(config);
- channel_connectivity(config);
- channel_ping(config);
compressed_payload(config);
+ connectivity(config);
default_host(config);
disappearing_server(config);
empty_batch(config);
@@ -102,10 +101,10 @@ void grpc_end2end_tests(int argc, char **argv,
large_metadata(config);
max_concurrent_streams(config);
max_message_length(config);
- metadata(config);
negative_deadline(config);
no_op(config);
payload(config);
+ ping(config);
ping_pong_streaming(config);
registered_call(config);
request_with_flags(config);
@@ -114,6 +113,7 @@ void grpc_end2end_tests(int argc, char **argv,
shutdown_finishes_calls(config);
shutdown_finishes_tags(config);
simple_delayed_request(config);
+ simple_metadata(config);
simple_request(config);
trailing_metadata(config);
return;
@@ -156,18 +156,14 @@ void grpc_end2end_tests(int argc, char **argv,
cancel_with_status(config);
continue;
}
- if (0 == strcmp("channel_connectivity", argv[i])) {
- channel_connectivity(config);
- continue;
- }
- if (0 == strcmp("channel_ping", argv[i])) {
- channel_ping(config);
- continue;
- }
if (0 == strcmp("compressed_payload", argv[i])) {
compressed_payload(config);
continue;
}
+ if (0 == strcmp("connectivity", argv[i])) {
+ connectivity(config);
+ continue;
+ }
if (0 == strcmp("default_host", argv[i])) {
default_host(config);
continue;
@@ -208,10 +204,6 @@ void grpc_end2end_tests(int argc, char **argv,
max_message_length(config);
continue;
}
- if (0 == strcmp("metadata", argv[i])) {
- metadata(config);
- continue;
- }
if (0 == strcmp("negative_deadline", argv[i])) {
negative_deadline(config);
continue;
@@ -224,6 +216,10 @@ void grpc_end2end_tests(int argc, char **argv,
payload(config);
continue;
}
+ if (0 == strcmp("ping", argv[i])) {
+ ping(config);
+ continue;
+ }
if (0 == strcmp("ping_pong_streaming", argv[i])) {
ping_pong_streaming(config);
continue;
@@ -256,6 +252,10 @@ void grpc_end2end_tests(int argc, char **argv,
simple_delayed_request(config);
continue;
}
+ if (0 == strcmp("simple_metadata", argv[i])) {
+ simple_metadata(config);
+ continue;
+ }
if (0 == strcmp("simple_request", argv[i])) {
simple_request(config);
continue;
diff --git a/test/core/end2end/fixtures/h2_ssl+poll.c b/test/core/end2end/fixtures/h2_ssl+poll.c
index 9138b84376..66268c77d5 100644
--- a/test/core/end2end/fixtures/h2_ssl+poll.c
+++ b/test/core/end2end/fixtures/h2_ssl+poll.c
@@ -44,7 +44,7 @@
#include "src/core/iomgr/pollset_posix.h"
#include "src/core/security/credentials.h"
#include "src/core/support/env.h"
-#include "src/core/support/file.h"
+#include "src/core/support/tmpfile.h"
#include "src/core/support/string.h"
#include "test/core/end2end/data/ssl_test_data.h"
#include "test/core/util/port.h"
diff --git a/test/core/end2end/fixtures/h2_ssl.c b/test/core/end2end/fixtures/h2_ssl.c
index 5c63dfb6aa..e21a3477df 100644
--- a/test/core/end2end/fixtures/h2_ssl.c
+++ b/test/core/end2end/fixtures/h2_ssl.c
@@ -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
@@ -36,17 +36,18 @@
#include <stdio.h>
#include <string.h>
+#include <grpc/support/alloc.h>
+#include <grpc/support/host_port.h>
+#include <grpc/support/log.h>
+
#include "src/core/channel/channel_args.h"
#include "src/core/security/credentials.h"
#include "src/core/support/env.h"
-#include "src/core/support/file.h"
+#include "src/core/support/tmpfile.h"
#include "src/core/support/string.h"
-#include <grpc/support/alloc.h>
-#include <grpc/support/host_port.h>
-#include <grpc/support/log.h>
-#include "test/core/util/test_config.h"
-#include "test/core/util/port.h"
#include "test/core/end2end/data/ssl_test_data.h"
+#include "test/core/util/port.h"
+#include "test/core/util/test_config.h"
typedef struct fullstack_secure_fixture_data {
char *localaddr;
diff --git a/test/core/end2end/fixtures/h2_ssl_proxy.c b/test/core/end2end/fixtures/h2_ssl_proxy.c
index a93bd83a1f..6340d3f403 100644
--- a/test/core/end2end/fixtures/h2_ssl_proxy.c
+++ b/test/core/end2end/fixtures/h2_ssl_proxy.c
@@ -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
@@ -36,18 +36,19 @@
#include <stdio.h>
#include <string.h>
+#include <grpc/support/alloc.h>
+#include <grpc/support/host_port.h>
+#include <grpc/support/log.h>
+
#include "src/core/channel/channel_args.h"
#include "src/core/security/credentials.h"
#include "src/core/support/env.h"
-#include "src/core/support/file.h"
+#include "src/core/support/tmpfile.h"
#include "src/core/support/string.h"
-#include <grpc/support/alloc.h>
-#include <grpc/support/host_port.h>
-#include <grpc/support/log.h>
#include "test/core/end2end/data/ssl_test_data.h"
#include "test/core/end2end/fixtures/proxy.h"
-#include "test/core/util/test_config.h"
#include "test/core/util/port.h"
+#include "test/core/util/test_config.h"
typedef struct fullstack_secure_fixture_data {
grpc_end2end_proxy *proxy;
diff --git a/test/core/end2end/gen_build_yaml.py b/test/core/end2end/gen_build_yaml.py
index f24dbe72cf..4dfafcea24 100755
--- a/test/core/end2end/gen_build_yaml.py
+++ b/test/core/end2end/gen_build_yaml.py
@@ -94,9 +94,8 @@ END2END_TESTS = {
'cancel_before_invoke': default_test_options._replace(cpu_cost=LOWCPU),
'cancel_in_a_vacuum': default_test_options._replace(cpu_cost=LOWCPU),
'cancel_with_status': default_test_options._replace(cpu_cost=LOWCPU),
- 'channel_connectivity': connectivity_test_options._replace(proxyable=False, cpu_cost=LOWCPU),
- 'channel_ping': connectivity_test_options._replace(proxyable=False),
'compressed_payload': default_test_options._replace(proxyable=False, cpu_cost=LOWCPU),
+ 'connectivity': connectivity_test_options._replace(proxyable=False, cpu_cost=LOWCPU),
'default_host': default_test_options._replace(needs_fullstack=True,
needs_dns=True),
'disappearing_server': connectivity_test_options,
@@ -109,11 +108,11 @@ END2END_TESTS = {
'large_metadata': default_test_options,
'max_concurrent_streams': default_test_options._replace(proxyable=False),
'max_message_length': default_test_options._replace(cpu_cost=LOWCPU),
- 'metadata': default_test_options,
'negative_deadline': default_test_options,
'no_op': default_test_options,
'payload': default_test_options._replace(cpu_cost=LOWCPU),
'ping_pong_streaming': default_test_options,
+ 'ping': connectivity_test_options._replace(proxyable=False),
'registered_call': default_test_options,
'request_with_flags': default_test_options._replace(proxyable=False),
'request_with_payload': default_test_options,
@@ -121,6 +120,7 @@ END2END_TESTS = {
'shutdown_finishes_calls': default_test_options,
'shutdown_finishes_tags': default_test_options,
'simple_delayed_request': connectivity_test_options._replace(cpu_cost=LOWCPU),
+ 'simple_metadata': default_test_options,
'simple_request': default_test_options,
'trailing_metadata': default_test_options,
}
diff --git a/test/core/end2end/tests/channel_connectivity.c b/test/core/end2end/tests/connectivity.c
index 0e21e65557..975c620731 100644
--- a/test/core/end2end/tests/channel_connectivity.c
+++ b/test/core/end2end/tests/connectivity.c
@@ -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
@@ -168,7 +168,7 @@ static void test_connectivity(grpc_end2end_test_config config) {
cq_verifier_destroy(cqv);
}
-void channel_connectivity(grpc_end2end_test_config config) {
+void connectivity(grpc_end2end_test_config config) {
GPR_ASSERT(config.feature_mask & FEATURE_MASK_SUPPORTS_DELAYED_CONNECTION);
test_connectivity(config);
}
diff --git a/test/core/end2end/tests/channel_ping.c b/test/core/end2end/tests/ping.c
index 73fab206fb..f85df63de7 100644
--- a/test/core/end2end/tests/channel_ping.c
+++ b/test/core/end2end/tests/ping.c
@@ -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
@@ -91,7 +91,7 @@ static void test_ping(grpc_end2end_test_config config) {
cq_verifier_destroy(cqv);
}
-void channel_ping(grpc_end2end_test_config config) {
+void ping(grpc_end2end_test_config config) {
GPR_ASSERT(config.feature_mask & FEATURE_MASK_SUPPORTS_DELAYED_CONNECTION);
test_ping(config);
}
diff --git a/test/core/end2end/tests/metadata.c b/test/core/end2end/tests/simple_metadata.c
index 5e92091eb7..c5084a560f 100644
--- a/test/core/end2end/tests/metadata.c
+++ b/test/core/end2end/tests/simple_metadata.c
@@ -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
@@ -260,6 +260,6 @@ static void test_request_response_with_metadata_and_payload(
config.tear_down_data(&f);
}
-void metadata(grpc_end2end_test_config config) {
+void simple_metadata(grpc_end2end_test_config config) {
test_request_response_with_metadata_and_payload(config);
}
diff --git a/test/core/security/base64_test.c b/test/core/security/b64_test.c
index e656d4c947..772514e1fd 100644
--- a/test/core/security/base64_test.c
+++ b/test/core/security/b64_test.c
@@ -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
@@ -31,7 +31,7 @@
*
*/
-#include "src/core/security/base64.h"
+#include "src/core/security/b64.h"
#include <string.h>
diff --git a/test/core/security/create_jwt.c b/test/core/security/create_jwt.c
index 237dc9aa3e..4c0cf436ee 100644
--- a/test/core/security/create_jwt.c
+++ b/test/core/security/create_jwt.c
@@ -36,7 +36,7 @@
#include "src/core/security/credentials.h"
#include "src/core/security/json_token.h"
-#include "src/core/support/file.h"
+#include "src/core/support/load_file.h"
#include <grpc/support/alloc.h>
#include <grpc/support/cmdline.h>
diff --git a/test/core/security/credentials_test.c b/test/core/security/credentials_test.c
index 8a210bb3c3..98133ef5e5 100644
--- a/test/core/security/credentials_test.c
+++ b/test/core/security/credentials_test.c
@@ -32,25 +32,24 @@
*/
#include <grpc/support/port_platform.h>
+
#include "src/core/security/credentials.h"
+#include <openssl/rsa.h>
#include <stdlib.h>
#include <string.h>
-#include "src/core/httpcli/httpcli.h"
-#include "src/core/security/json_token.h"
-#include "src/core/support/env.h"
-#include "src/core/support/file.h"
-#include "src/core/support/string.h"
-
-#include "test/core/util/test_config.h"
-
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/string_util.h>
#include <grpc/support/time.h>
-#include <openssl/rsa.h>
+#include "src/core/httpcli/httpcli.h"
+#include "src/core/security/json_token.h"
+#include "src/core/support/env.h"
+#include "src/core/support/tmpfile.h"
+#include "src/core/support/string.h"
+#include "test/core/util/test_config.h"
/* -- Mock channel credentials. -- */
diff --git a/test/core/security/fetch_oauth2.c b/test/core/security/fetch_oauth2.c
index ee1178cbdd..87b54f1a0c 100644
--- a/test/core/security/fetch_oauth2.c
+++ b/test/core/security/fetch_oauth2.c
@@ -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
@@ -43,7 +43,7 @@
#include <grpc/support/sync.h>
#include "src/core/security/credentials.h"
-#include "src/core/support/file.h"
+#include "src/core/support/load_file.h"
#include "test/core/security/oauth2_utils.h"
static grpc_call_credentials *create_refresh_token_creds(
diff --git a/test/core/security/json_token_test.c b/test/core/security/json_token_test.c
index 7c01a9ce5c..4d80c16fb9 100644
--- a/test/core/security/json_token_test.c
+++ b/test/core/security/json_token_test.c
@@ -33,16 +33,17 @@
#include "src/core/security/json_token.h"
+#include <openssl/evp.h>
#include <string.h>
-#include "src/core/security/base64.h"
#include <grpc/grpc_security.h>
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/slice.h>
-#include "test/core/util/test_config.h"
+
#include "src/core/json/json.h"
-#include <openssl/evp.h>
+#include "src/core/security/b64.h"
+#include "test/core/util/test_config.h"
/* This JSON key was generated with the GCE console and revoked immediately.
The identifiers have been changed as well.
diff --git a/test/core/security/jwt_verifier_test.c b/test/core/security/jwt_verifier_test.c
index f396398cef..f6ec9e12ef 100644
--- a/test/core/security/jwt_verifier_test.c
+++ b/test/core/security/jwt_verifier_test.c
@@ -36,7 +36,7 @@
#include <string.h>
#include "src/core/httpcli/httpcli.h"
-#include "src/core/security/base64.h"
+#include "src/core/security/b64.h"
#include "src/core/security/json_token.h"
#include "test/core/util/test_config.h"
diff --git a/test/core/security/security_connector_test.c b/test/core/security/security_connector_test.c
index ee5435f01d..420e3a4c52 100644
--- a/test/core/security/security_connector_test.c
+++ b/test/core/security/security_connector_test.c
@@ -34,22 +34,21 @@
#include <stdio.h>
#include <string.h>
+#include <grpc/grpc_security.h>
+#include <grpc/support/alloc.h>
+#include <grpc/support/log.h>
+#include <grpc/support/string_util.h>
+#include <grpc/support/useful.h>
+
#include "src/core/security/security_connector.h"
#include "src/core/security/security_context.h"
#include "src/core/support/env.h"
-#include "src/core/support/file.h"
+#include "src/core/support/tmpfile.h"
#include "src/core/support/string.h"
#include "src/core/tsi/ssl_transport_security.h"
#include "src/core/tsi/transport_security.h"
#include "test/core/util/test_config.h"
-#include <grpc/grpc_security.h>
-
-#include <grpc/support/alloc.h>
-#include <grpc/support/log.h>
-#include <grpc/support/string_util.h>
-#include <grpc/support/useful.h>
-
static int check_transport_security_type(const grpc_auth_context *ctx) {
grpc_auth_property_iterator it = grpc_auth_context_find_properties_by_name(
ctx, GRPC_TRANSPORT_SECURITY_TYPE_PROPERTY_NAME);
diff --git a/test/core/support/file_test.c b/test/core/support/load_file_test.c
index 330b2173ef..e6ba617440 100644
--- a/test/core/support/file_test.c
+++ b/test/core/support/load_file_test.c
@@ -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
@@ -38,7 +38,8 @@
#include <grpc/support/log.h>
#include <grpc/support/slice.h>
-#include "src/core/support/file.h"
+#include "src/core/support/load_file.h"
+#include "src/core/support/tmpfile.h"
#include "src/core/support/string.h"
#include "test/core/util/test_config.h"
diff --git a/test/cpp/interop/server.cc b/test/cpp/interop/server_main.cc
index 18ac35d551..18ac35d551 100644
--- a/test/cpp/interop/server.cc
+++ b/test/cpp/interop/server_main.cc
diff --git a/test/cpp/qps/client.h b/test/cpp/qps/client.h
index c94a523fa1..2dc83f0f29 100644
--- a/test/cpp/qps/client.h
+++ b/test/cpp/qps/client.h
@@ -46,10 +46,10 @@
#include "src/proto/grpc/testing/payloads.grpc.pb.h"
#include "src/proto/grpc/testing/services.grpc.pb.h"
-#include "test/cpp/qps/limit_cores.h"
#include "test/cpp/qps/histogram.h"
#include "test/cpp/qps/interarrival.h"
-#include "test/cpp/qps/timer.h"
+#include "test/cpp/qps/limit_cores.h"
+#include "test/cpp/qps/usage_timer.h"
#include "test/cpp/util/create_test_channel.h"
namespace grpc {
@@ -112,12 +112,12 @@ class ClientRequestCreator<ByteBuffer> {
class Client {
public:
- Client() : timer_(new Timer), interarrival_timer_() {}
+ Client() : timer_(new UsageTimer), interarrival_timer_() {}
virtual ~Client() {}
ClientStats Mark(bool reset) {
Histogram latencies;
- Timer::Result timer_result;
+ UsageTimer::Result timer_result;
// avoid std::vector for old compilers that expect a copy constructor
if (reset) {
@@ -125,7 +125,7 @@ class Client {
for (size_t i = 0; i < threads_.size(); i++) {
threads_[i]->BeginSwap(&to_merge[i]);
}
- std::unique_ptr<Timer> timer(new Timer);
+ std::unique_ptr<UsageTimer> timer(new UsageTimer);
timer_.swap(timer);
for (size_t i = 0; i < threads_.size(); i++) {
threads_[i]->EndSwap();
@@ -294,7 +294,7 @@ class Client {
};
std::vector<std::unique_ptr<Thread>> threads_;
- std::unique_ptr<Timer> timer_;
+ std::unique_ptr<UsageTimer> timer_;
InterarrivalTimer interarrival_timer_;
std::vector<gpr_timespec> next_time_;
diff --git a/test/cpp/qps/client_async.cc b/test/cpp/qps/client_async.cc
index 9e8767d103..9e9da9909a 100644
--- a/test/cpp/qps/client_async.cc
+++ b/test/cpp/qps/client_async.cc
@@ -54,7 +54,7 @@
#include "src/proto/grpc/testing/services.grpc.pb.h"
#include "test/cpp/qps/client.h"
-#include "test/cpp/qps/timer.h"
+#include "test/cpp/qps/usage_timer.h"
#include "test/cpp/util/create_test_channel.h"
namespace grpc {
@@ -107,14 +107,14 @@ class ClientRpcContextUnaryImpl : public ClientRpcContext {
bool RunNextState(bool ok, Histogram* hist) GRPC_OVERRIDE {
switch (next_state_) {
case State::READY:
- start_ = Timer::Now();
+ start_ = UsageTimer::Now();
response_reader_ = start_req_(stub_, &context_, req_, cq_);
response_reader_->Finish(&response_, &status_,
ClientRpcContext::tag(this));
next_state_ = State::RESP_DONE;
return true;
case State::RESP_DONE:
- hist->Add((Timer::Now() - start_) * 1e9);
+ hist->Add((UsageTimer::Now() - start_) * 1e9);
callback_(status_, &response_);
next_state_ = State::INVALID;
return false;
@@ -287,8 +287,7 @@ class ClientRpcContextStreamingImpl : public ClientRpcContext {
next_state_(State::INVALID),
callback_(on_done),
next_issue_(next_issue),
- start_req_(start_req),
- start_(Timer::Now()) {}
+ start_req_(start_req) {}
~ClientRpcContextStreamingImpl() GRPC_OVERRIDE {}
void Start(CompletionQueue* cq) GRPC_OVERRIDE {
cq_ = cq;
@@ -314,7 +313,7 @@ class ClientRpcContextStreamingImpl : public ClientRpcContext {
if (!ok) {
return false;
}
- start_ = Timer::Now();
+ start_ = UsageTimer::Now();
next_state_ = State::WRITE_DONE;
stream_->Write(req_, ClientRpcContext::tag(this));
return true;
@@ -327,7 +326,7 @@ class ClientRpcContextStreamingImpl : public ClientRpcContext {
return true;
break;
case State::READ_DONE:
- hist->Add((Timer::Now() - start_) * 1e9);
+ hist->Add((UsageTimer::Now() - start_) * 1e9);
callback_(status_, &response_);
next_state_ = State::STREAM_IDLE;
break; // loop around
@@ -415,8 +414,7 @@ class ClientRpcContextGenericStreamingImpl : public ClientRpcContext {
next_state_(State::INVALID),
callback_(on_done),
next_issue_(next_issue),
- start_req_(start_req),
- start_(Timer::Now()) {}
+ start_req_(start_req) {}
~ClientRpcContextGenericStreamingImpl() GRPC_OVERRIDE {}
void Start(CompletionQueue* cq) GRPC_OVERRIDE {
cq_ = cq;
@@ -445,7 +443,7 @@ class ClientRpcContextGenericStreamingImpl : public ClientRpcContext {
if (!ok) {
return false;
}
- start_ = Timer::Now();
+ start_ = UsageTimer::Now();
next_state_ = State::WRITE_DONE;
stream_->Write(req_, ClientRpcContext::tag(this));
return true;
@@ -458,7 +456,7 @@ class ClientRpcContextGenericStreamingImpl : public ClientRpcContext {
return true;
break;
case State::READ_DONE:
- hist->Add((Timer::Now() - start_) * 1e9);
+ hist->Add((UsageTimer::Now() - start_) * 1e9);
callback_(status_, &response_);
next_state_ = State::STREAM_IDLE;
break; // loop around
diff --git a/test/cpp/qps/client_sync.cc b/test/cpp/qps/client_sync.cc
index edfc246a25..4284e07bd4 100644
--- a/test/cpp/qps/client_sync.cc
+++ b/test/cpp/qps/client_sync.cc
@@ -58,7 +58,7 @@
#include "test/cpp/qps/client.h"
#include "test/cpp/qps/histogram.h"
#include "test/cpp/qps/interarrival.h"
-#include "test/cpp/qps/timer.h"
+#include "test/cpp/qps/usage_timer.h"
namespace grpc {
namespace testing {
@@ -104,12 +104,12 @@ class SynchronousUnaryClient GRPC_FINAL : public SynchronousClient {
bool ThreadFunc(Histogram* histogram, size_t thread_idx) GRPC_OVERRIDE {
WaitToIssue(thread_idx);
auto* stub = channels_[thread_idx % channels_.size()].get_stub();
- double start = Timer::Now();
+ double start = UsageTimer::Now();
GPR_TIMER_SCOPE("SynchronousUnaryClient::ThreadFunc", 0);
grpc::ClientContext context;
grpc::Status s =
stub->UnaryCall(&context, request_, &responses_[thread_idx]);
- histogram->Add((Timer::Now() - start) * 1e9);
+ histogram->Add((UsageTimer::Now() - start) * 1e9);
return s.ok();
}
};
@@ -143,10 +143,10 @@ class SynchronousStreamingClient GRPC_FINAL : public SynchronousClient {
bool ThreadFunc(Histogram* histogram, size_t thread_idx) GRPC_OVERRIDE {
WaitToIssue(thread_idx);
GPR_TIMER_SCOPE("SynchronousStreamingClient::ThreadFunc", 0);
- double start = Timer::Now();
+ double start = UsageTimer::Now();
if (stream_[thread_idx]->Write(request_) &&
stream_[thread_idx]->Read(&responses_[thread_idx])) {
- histogram->Add((Timer::Now() - start) * 1e9);
+ histogram->Add((UsageTimer::Now() - start) * 1e9);
return true;
}
return false;
diff --git a/test/cpp/qps/qps-sweep.sh b/test/cpp/qps/qps-sweep.sh
index 7a35788849..9d3f053a7b 100755
--- a/test/cpp/qps/qps-sweep.sh
+++ b/test/cpp/qps/qps-sweep.sh
@@ -72,7 +72,7 @@ for secure in true false; do
--server_type=ASYNC_GENERIC_SERVER --outstanding_rpcs_per_channel=$deep \
--client_channels=$wide --bbuf_req_size=0 --bbuf_resp_size=0 \
--async_client_threads=0 --async_server_threads=0 --secure_test=$secure \
- --num_servers=1 --num_clients=0 |& tee /tmp/qps-test.$$
+ --num_servers=1 --num_clients=0 2>&1 | tee /tmp/qps-test.$$
# Scenario 2b: QPS with a single server core
"$bins"/opt/qps_driver --rpc_type=STREAMING --client_type=ASYNC_CLIENT \
diff --git a/test/cpp/qps/server.h b/test/cpp/qps/server.h
index 94a6f8acfa..de46452c3d 100644
--- a/test/cpp/qps/server.h
+++ b/test/cpp/qps/server.h
@@ -43,14 +43,14 @@
#include "test/core/end2end/data/ssl_test_data.h"
#include "test/core/util/port.h"
#include "test/cpp/qps/limit_cores.h"
-#include "test/cpp/qps/timer.h"
+#include "test/cpp/qps/usage_timer.h"
namespace grpc {
namespace testing {
class Server {
public:
- explicit Server(const ServerConfig& config) : timer_(new Timer) {
+ explicit Server(const ServerConfig& config) : timer_(new UsageTimer) {
cores_ = LimitCores(config.core_list().data(), config.core_list_size());
if (config.port()) {
port_ = config.port();
@@ -62,9 +62,9 @@ class Server {
virtual ~Server() {}
ServerStats Mark(bool reset) {
- Timer::Result timer_result;
+ UsageTimer::Result timer_result;
if (reset) {
- std::unique_ptr<Timer> timer(new Timer);
+ std::unique_ptr<UsageTimer> timer(new UsageTimer);
timer.swap(timer_);
timer_result = timer->Mark();
} else {
@@ -108,7 +108,7 @@ class Server {
private:
int port_;
int cores_;
- std::unique_ptr<Timer> timer_;
+ std::unique_ptr<UsageTimer> timer_;
};
std::unique_ptr<Server> CreateSynchronousServer(const ServerConfig& config);
diff --git a/test/cpp/qps/server_sync.cc b/test/cpp/qps/server_sync.cc
index 4b778820d0..b7682f5763 100644
--- a/test/cpp/qps/server_sync.cc
+++ b/test/cpp/qps/server_sync.cc
@@ -34,18 +34,18 @@
#include <thread>
#include <gflags/gflags.h>
+#include <grpc++/security/server_credentials.h>
+#include <grpc++/server.h>
+#include <grpc++/server_builder.h>
+#include <grpc++/server_context.h>
#include <grpc/grpc.h>
#include <grpc/support/alloc.h>
#include <grpc/support/host_port.h>
#include <grpc/support/log.h>
-#include <grpc++/server.h>
-#include <grpc++/server_builder.h>
-#include <grpc++/server_context.h>
-#include <grpc++/security/server_credentials.h>
-#include "test/cpp/qps/server.h"
-#include "test/cpp/qps/timer.h"
#include "src/proto/grpc/testing/services.grpc.pb.h"
+#include "test/cpp/qps/server.h"
+#include "test/cpp/qps/usage_timer.h"
namespace grpc {
namespace testing {
diff --git a/test/cpp/qps/timer.cc b/test/cpp/qps/usage_timer.cc
index 3ec7f49f83..6663a9ac10 100644
--- a/test/cpp/qps/timer.cc
+++ b/test/cpp/qps/usage_timer.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
@@ -31,15 +31,15 @@
*
*/
-#include "test/cpp/qps/timer.h"
+#include "test/cpp/qps/usage_timer.h"
-#include <sys/time.h>
-#include <sys/resource.h>
#include <grpc/support/time.h>
+#include <sys/resource.h>
+#include <sys/time.h>
-Timer::Timer() : start_(Sample()) {}
+UsageTimer::UsageTimer() : start_(Sample()) {}
-double Timer::Now() {
+double UsageTimer::Now() {
auto ts = gpr_now(GPR_CLOCK_REALTIME);
return ts.tv_sec + 1e-9 * ts.tv_nsec;
}
@@ -48,7 +48,7 @@ static double time_double(struct timeval* tv) {
return tv->tv_sec + 1e-6 * tv->tv_usec;
}
-Timer::Result Timer::Sample() {
+UsageTimer::Result UsageTimer::Sample() {
struct rusage usage;
struct timeval tv;
gettimeofday(&tv, NULL);
@@ -61,7 +61,7 @@ Timer::Result Timer::Sample() {
return r;
}
-Timer::Result Timer::Mark() const {
+UsageTimer::Result UsageTimer::Mark() const {
Result s = Sample();
Result r;
r.wall = s.wall - start_.wall;
diff --git a/test/cpp/qps/timer.h b/test/cpp/qps/usage_timer.h
index d1aee1a9d1..d19f820564 100644
--- a/test/cpp/qps/timer.h
+++ b/test/cpp/qps/usage_timer.h
@@ -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
@@ -31,12 +31,12 @@
*
*/
-#ifndef TEST_QPS_TIMER_H
-#define TEST_QPS_TIMER_H
+#ifndef TEST_QPS_USAGE_TIMER_H
+#define TEST_QPS_USAGE_TIMER_H
-class Timer {
+class UsageTimer {
public:
- Timer();
+ UsageTimer();
struct Result {
double wall;
diff --git a/test/cpp/util/test_credentials_provider.cc b/test/cpp/util/test_credentials_provider.cc
index 1086e14258..7e1eb0d501 100644
--- a/test/cpp/util/test_credentials_provider.cc
+++ b/test/cpp/util/test_credentials_provider.cc
@@ -34,48 +34,110 @@
#include "test/cpp/util/test_credentials_provider.h"
+#include <grpc/support/sync.h>
+#include <grpc++/impl/sync.h>
+
#include "test/core/end2end/data/ssl_test_data.h"
+namespace {
+
+using grpc::ChannelArguments;
+using grpc::ChannelCredentials;
+using grpc::InsecureChannelCredentials;
+using grpc::InsecureServerCredentials;
+using grpc::ServerCredentials;
+using grpc::SslCredentialsOptions;
+using grpc::SslServerCredentialsOptions;
+using grpc::testing::CredentialsProvider;
+
+class DefaultCredentialsProvider : public CredentialsProvider {
+ public:
+ ~DefaultCredentialsProvider() override {}
+
+ std::shared_ptr<ChannelCredentials> GetChannelCredentials(
+ const grpc::string& type, ChannelArguments* args) override {
+ if (type == grpc::testing::kInsecureCredentialsType) {
+ return InsecureChannelCredentials();
+ } else if (type == grpc::testing::kTlsCredentialsType) {
+ SslCredentialsOptions ssl_opts = {test_root_cert, "", ""};
+ args->SetSslTargetNameOverride("foo.test.google.fr");
+ return SslCredentials(ssl_opts);
+ } else {
+ gpr_log(GPR_ERROR, "Unsupported credentials type %s.", type.c_str());
+ }
+ return nullptr;
+ }
+
+ std::shared_ptr<ServerCredentials> GetServerCredentials(
+ const grpc::string& type) override {
+ if (type == grpc::testing::kInsecureCredentialsType) {
+ return InsecureServerCredentials();
+ } else if (type == grpc::testing::kTlsCredentialsType) {
+ SslServerCredentialsOptions::PemKeyCertPair pkcp = {test_server1_key,
+ test_server1_cert};
+ SslServerCredentialsOptions ssl_opts;
+ ssl_opts.pem_root_certs = "";
+ ssl_opts.pem_key_cert_pairs.push_back(pkcp);
+ return SslServerCredentials(ssl_opts);
+ } else {
+ gpr_log(GPR_ERROR, "Unsupported credentials type %s.", type.c_str());
+ }
+ return nullptr;
+ }
+ std::vector<grpc::string> GetSecureCredentialsTypeList() override {
+ std::vector<grpc::string> types;
+ types.push_back(grpc::testing::kTlsCredentialsType);
+ return types;
+ }
+};
+
+gpr_once g_once_init_provider_mu = GPR_ONCE_INIT;
+grpc::mutex* g_provider_mu = nullptr;
+CredentialsProvider* g_provider = nullptr;
+
+void InitProviderMu() { g_provider_mu = new grpc::mutex; }
+
+grpc::mutex& GetMu() {
+ gpr_once_init(&g_once_init_provider_mu, &InitProviderMu);
+ return *g_provider_mu;
+}
+
+CredentialsProvider* GetProvider() {
+ grpc::unique_lock<grpc::mutex> lock(GetMu());
+ if (g_provider == nullptr) {
+ g_provider = new DefaultCredentialsProvider;
+ }
+ return g_provider;
+}
+
+} // namespace
+
namespace grpc {
namespace testing {
-const char kTlsCredentialsType[] = "TLS_CREDENTIALS";
+// Note that it is not thread-safe to set a provider while concurrently using
+// the previously set provider, as this deletes and replaces it. nullptr may be
+// given to reset to the default.
+void SetTestCredentialsProvider(std::unique_ptr<CredentialsProvider> provider) {
+ grpc::unique_lock<grpc::mutex> lock(GetMu());
+ if (g_provider != nullptr) {
+ delete g_provider;
+ }
+ g_provider = provider.release();
+}
std::shared_ptr<ChannelCredentials> GetChannelCredentials(
const grpc::string& type, ChannelArguments* args) {
- if (type == kInsecureCredentialsType) {
- return InsecureChannelCredentials();
- } else if (type == kTlsCredentialsType) {
- SslCredentialsOptions ssl_opts = {test_root_cert, "", ""};
- args->SetSslTargetNameOverride("foo.test.google.fr");
- return SslCredentials(ssl_opts);
- } else {
- gpr_log(GPR_ERROR, "Unsupported credentials type %s.", type.c_str());
- }
- return nullptr;
+ return GetProvider()->GetChannelCredentials(type, args);
}
std::shared_ptr<ServerCredentials> GetServerCredentials(
const grpc::string& type) {
- if (type == kInsecureCredentialsType) {
- return InsecureServerCredentials();
- } else if (type == kTlsCredentialsType) {
- SslServerCredentialsOptions::PemKeyCertPair pkcp = {test_server1_key,
- test_server1_cert};
- SslServerCredentialsOptions ssl_opts;
- ssl_opts.pem_root_certs = "";
- ssl_opts.pem_key_cert_pairs.push_back(pkcp);
- return SslServerCredentials(ssl_opts);
- } else {
- gpr_log(GPR_ERROR, "Unsupported credentials type %s.", type.c_str());
- }
- return nullptr;
+ return GetProvider()->GetServerCredentials(type);
}
std::vector<grpc::string> GetSecureCredentialsTypeList() {
- std::vector<grpc::string> types;
- types.push_back(kTlsCredentialsType);
- return types;
+ return GetProvider()->GetSecureCredentialsTypeList();
}
} // namespace testing
diff --git a/test/cpp/util/test_credentials_provider.h b/test/cpp/util/test_credentials_provider.h
index f7253051a9..a6b547cb07 100644
--- a/test/cpp/util/test_credentials_provider.h
+++ b/test/cpp/util/test_credentials_provider.h
@@ -44,6 +44,22 @@ namespace grpc {
namespace testing {
const char kInsecureCredentialsType[] = "INSECURE_CREDENTIALS";
+const char kTlsCredentialsType[] = "TLS_CREDENTIALS";
+
+class CredentialsProvider {
+ public:
+ virtual ~CredentialsProvider() {}
+
+ virtual std::shared_ptr<ChannelCredentials> GetChannelCredentials(
+ const grpc::string& type, ChannelArguments* args) = 0;
+ virtual std::shared_ptr<ServerCredentials> GetServerCredentials(
+ const grpc::string& type) = 0;
+ virtual std::vector<grpc::string> GetSecureCredentialsTypeList() = 0;
+};
+
+// Set the CredentialsProvider used by the other functions in this file. If this
+// is not set, a default provider will be used.
+void SetTestCredentialsProvider(std::unique_ptr<CredentialsProvider> provider);
// Provide channel credentials according to the given type. Alter the channel
// arguments if needed.
diff --git a/test/distrib/php/distribtest.php b/test/distrib/php/distribtest.php
index 318c6f9cf0..4c34cd674b 100644
--- a/test/distrib/php/distribtest.php
+++ b/test/distrib/php/distribtest.php
@@ -1,4 +1,36 @@
<?php
+/*
+ *
+ * Copyright 2016, Google Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
$channel = new Grpc\Channel('localhost:1000', [
'credentials' => Grpc\ChannelCredentials::createInsecure()