aboutsummaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorGravatar Yash Tibrewal <yashkt@google.com>2018-03-16 10:33:25 -0700
committerGravatar Yash Tibrewal <yashkt@google.com>2018-03-16 10:33:25 -0700
commit0e2c6457d479be61275be5bd206ba5ab09a9ad86 (patch)
treeca4427f951e8345cf0679f1f213b775ce21fa641 /test
parent44a1588b5488bd3f57dfc959af3aa7cc02480e41 (diff)
parent26655655a33d7c7944f271d1afc80789fb3b7fd9 (diff)
Merge master into yashykt:socklent
Diffstat (limited to 'test')
-rw-r--r--test/core/compression/algorithm_test.cc1
-rw-r--r--test/core/end2end/connection_refused_test.cc1
-rw-r--r--test/core/end2end/tests/cancel_after_accept.cc1
-rw-r--r--test/core/end2end/tests/cancel_after_round_trip.cc1
-rw-r--r--test/core/end2end/tests/max_message_length.cc1
-rw-r--r--test/core/iomgr/resource_quota_test.cc1
-rw-r--r--test/core/slice/slice_hash_table_test.cc1
-rw-r--r--test/core/slice/slice_test.cc3
-rw-r--r--test/core/slice/slice_weak_hash_table_test.cc1
-rw-r--r--test/core/transport/byte_stream_test.cc1
-rw-r--r--test/core/transport/chttp2/bin_decoder_test.cc1
-rw-r--r--test/core/transport/chttp2/hpack_parser_fuzzer_test.cc1
-rw-r--r--test/core/transport/chttp2/hpack_parser_test.cc2
-rw-r--r--test/core/transport/chttp2/hpack_table_test.cc1
-rw-r--r--test/core/transport/connectivity_state_test.cc1
-rw-r--r--test/core/transport/metadata_test.cc1
-rw-r--r--test/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_test.cc1
-rw-r--r--test/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector_test.cc1
-rw-r--r--test/cpp/util/BUILD104
-rw-r--r--test/cpp/util/status_test.cc62
-rwxr-xr-xtest/distrib/csharp/run_distrib_test.sh5
-rwxr-xr-xtest/distrib/php/run_distrib_test.sh2
22 files changed, 74 insertions, 120 deletions
diff --git a/test/core/compression/algorithm_test.cc b/test/core/compression/algorithm_test.cc
index 3dcddf3e67..8989a41989 100644
--- a/test/core/compression/algorithm_test.cc
+++ b/test/core/compression/algorithm_test.cc
@@ -24,6 +24,7 @@
#include <grpc/grpc.h>
#include <grpc/support/log.h>
+#include "src/core/lib/iomgr/exec_ctx.h"
#include "src/core/lib/slice/slice_internal.h"
#include "src/core/lib/transport/static_metadata.h"
#include "test/core/util/test_config.h"
diff --git a/test/core/end2end/connection_refused_test.cc b/test/core/end2end/connection_refused_test.cc
index ff830b47cd..33812ec8e5 100644
--- a/test/core/end2end/connection_refused_test.cc
+++ b/test/core/end2end/connection_refused_test.cc
@@ -25,6 +25,7 @@
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/gpr/host_port.h"
+#include "src/core/lib/iomgr/exec_ctx.h"
#include "src/core/lib/slice/slice_internal.h"
#include "src/core/lib/transport/metadata.h"
#include "src/core/lib/transport/service_config.h"
diff --git a/test/core/end2end/tests/cancel_after_accept.cc b/test/core/end2end/tests/cancel_after_accept.cc
index ee1a0bbccc..e94ea51a75 100644
--- a/test/core/end2end/tests/cancel_after_accept.cc
+++ b/test/core/end2end/tests/cancel_after_accept.cc
@@ -27,6 +27,7 @@
#include <grpc/support/time.h>
#include "src/core/lib/channel/channel_args.h"
+#include "src/core/lib/iomgr/exec_ctx.h"
#include "src/core/lib/slice/slice_internal.h"
#include "src/core/lib/transport/metadata.h"
#include "src/core/lib/transport/service_config.h"
diff --git a/test/core/end2end/tests/cancel_after_round_trip.cc b/test/core/end2end/tests/cancel_after_round_trip.cc
index bf3be1c8b7..4890b3013f 100644
--- a/test/core/end2end/tests/cancel_after_round_trip.cc
+++ b/test/core/end2end/tests/cancel_after_round_trip.cc
@@ -27,6 +27,7 @@
#include <grpc/support/time.h>
#include "src/core/lib/channel/channel_args.h"
+#include "src/core/lib/iomgr/exec_ctx.h"
#include "src/core/lib/slice/slice_internal.h"
#include "src/core/lib/transport/metadata.h"
#include "src/core/lib/transport/service_config.h"
diff --git a/test/core/end2end/tests/max_message_length.cc b/test/core/end2end/tests/max_message_length.cc
index 3dd1737793..fa5b3b6e9b 100644
--- a/test/core/end2end/tests/max_message_length.cc
+++ b/test/core/end2end/tests/max_message_length.cc
@@ -27,6 +27,7 @@
#include <grpc/support/time.h>
#include "src/core/lib/channel/channel_args.h"
+#include "src/core/lib/iomgr/exec_ctx.h"
#include "src/core/lib/slice/slice_internal.h"
#include "src/core/lib/transport/metadata.h"
#include "src/core/lib/transport/service_config.h"
diff --git a/test/core/iomgr/resource_quota_test.cc b/test/core/iomgr/resource_quota_test.cc
index 921a24ebf2..059ff7b5f8 100644
--- a/test/core/iomgr/resource_quota_test.cc
+++ b/test/core/iomgr/resource_quota_test.cc
@@ -21,6 +21,7 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
+#include "src/core/lib/iomgr/exec_ctx.h"
#include "src/core/lib/slice/slice_internal.h"
#include "test/core/util/test_config.h"
diff --git a/test/core/slice/slice_hash_table_test.cc b/test/core/slice/slice_hash_table_test.cc
index 279b543098..43ddfe9bf2 100644
--- a/test/core/slice/slice_hash_table_test.cc
+++ b/test/core/slice/slice_hash_table_test.cc
@@ -28,6 +28,7 @@
#include <grpc/support/log.h>
#include <grpc/support/string_util.h>
+#include "src/core/lib/iomgr/exec_ctx.h"
#include "src/core/lib/slice/slice_internal.h"
#include "test/core/util/test_config.h"
diff --git a/test/core/slice/slice_test.cc b/test/core/slice/slice_test.cc
index 5a49793a9e..e683c41f31 100644
--- a/test/core/slice/slice_test.cc
+++ b/test/core/slice/slice_test.cc
@@ -16,8 +16,11 @@
*
*/
+#include <grpc/support/port_platform.h>
+
#include <grpc/slice.h>
+#include <inttypes.h>
#include <string.h>
#include <grpc/grpc.h>
diff --git a/test/core/slice/slice_weak_hash_table_test.cc b/test/core/slice/slice_weak_hash_table_test.cc
index 4711d2fd26..b0a243d572 100644
--- a/test/core/slice/slice_weak_hash_table_test.cc
+++ b/test/core/slice/slice_weak_hash_table_test.cc
@@ -28,6 +28,7 @@
#include <grpc/support/string_util.h>
#include "src/core/lib/gpr/useful.h"
+#include "src/core/lib/iomgr/exec_ctx.h"
#include "src/core/lib/slice/slice_internal.h"
#include "test/core/util/test_config.h"
diff --git a/test/core/transport/byte_stream_test.cc b/test/core/transport/byte_stream_test.cc
index 80692ec2da..df09637249 100644
--- a/test/core/transport/byte_stream_test.cc
+++ b/test/core/transport/byte_stream_test.cc
@@ -23,6 +23,7 @@
#include <grpc/support/log.h>
#include "src/core/lib/gpr/useful.h"
+#include "src/core/lib/iomgr/exec_ctx.h"
#include "src/core/lib/slice/slice_internal.h"
#include "test/core/util/test_config.h"
diff --git a/test/core/transport/chttp2/bin_decoder_test.cc b/test/core/transport/chttp2/bin_decoder_test.cc
index 751dd90c8c..b4b07986a3 100644
--- a/test/core/transport/chttp2/bin_decoder_test.cc
+++ b/test/core/transport/chttp2/bin_decoder_test.cc
@@ -25,6 +25,7 @@
#include <grpc/support/log.h>
#include "src/core/ext/transport/chttp2/transport/bin_encoder.h"
#include "src/core/lib/gpr/string.h"
+#include "src/core/lib/iomgr/exec_ctx.h"
#include "src/core/lib/slice/slice_internal.h"
#include "src/core/lib/slice/slice_string_helpers.h"
diff --git a/test/core/transport/chttp2/hpack_parser_fuzzer_test.cc b/test/core/transport/chttp2/hpack_parser_fuzzer_test.cc
index 9a195daee0..a8eec1eefd 100644
--- a/test/core/transport/chttp2/hpack_parser_fuzzer_test.cc
+++ b/test/core/transport/chttp2/hpack_parser_fuzzer_test.cc
@@ -24,6 +24,7 @@
#include <grpc/support/log.h>
#include "src/core/ext/transport/chttp2/transport/hpack_parser.h"
+#include "src/core/lib/iomgr/exec_ctx.h"
#include "src/core/lib/slice/slice_internal.h"
bool squelch = true;
diff --git a/test/core/transport/chttp2/hpack_parser_test.cc b/test/core/transport/chttp2/hpack_parser_test.cc
index 9d3456a873..43b6c79e8a 100644
--- a/test/core/transport/chttp2/hpack_parser_test.cc
+++ b/test/core/transport/chttp2/hpack_parser_test.cc
@@ -24,6 +24,8 @@
#include <grpc/slice.h>
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
+
+#include "src/core/lib/iomgr/exec_ctx.h"
#include "test/core/util/parse_hexstring.h"
#include "test/core/util/slice_splitter.h"
#include "test/core/util/test_config.h"
diff --git a/test/core/transport/chttp2/hpack_table_test.cc b/test/core/transport/chttp2/hpack_table_test.cc
index e316cf63a0..3ab463b631 100644
--- a/test/core/transport/chttp2/hpack_table_test.cc
+++ b/test/core/transport/chttp2/hpack_table_test.cc
@@ -27,6 +27,7 @@
#include <grpc/support/string_util.h>
#include "src/core/lib/gpr/string.h"
+#include "src/core/lib/iomgr/exec_ctx.h"
#include "test/core/util/test_config.h"
#define LOG_TEST(x) gpr_log(GPR_INFO, "%s", x)
diff --git a/test/core/transport/connectivity_state_test.cc b/test/core/transport/connectivity_state_test.cc
index f5894599e5..cbd6318f52 100644
--- a/test/core/transport/connectivity_state_test.cc
+++ b/test/core/transport/connectivity_state_test.cc
@@ -22,6 +22,7 @@
#include <grpc/support/log.h>
+#include "src/core/lib/iomgr/exec_ctx.h"
#include "test/core/util/test_config.h"
#include "test/core/util/tracer_util.h"
diff --git a/test/core/transport/metadata_test.cc b/test/core/transport/metadata_test.cc
index 786df97285..4be34f72d9 100644
--- a/test/core/transport/metadata_test.cc
+++ b/test/core/transport/metadata_test.cc
@@ -28,6 +28,7 @@
#include "src/core/ext/transport/chttp2/transport/bin_encoder.h"
#include "src/core/lib/gpr/string.h"
+#include "src/core/lib/iomgr/exec_ctx.h"
#include "src/core/lib/slice/slice_internal.h"
#include "src/core/lib/transport/static_metadata.h"
#include "test/core/util/test_config.h"
diff --git a/test/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_test.cc b/test/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_test.cc
index fbbea71cb7..b763f19d50 100644
--- a/test/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_test.cc
+++ b/test/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_test.cc
@@ -19,6 +19,7 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
+#include "src/core/lib/iomgr/exec_ctx.h"
#include "src/core/lib/slice/slice_internal.h"
#include "src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.h"
#include "src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.h"
diff --git a/test/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector_test.cc b/test/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector_test.cc
index 2388be95cd..32159e22f2 100644
--- a/test/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector_test.cc
+++ b/test/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector_test.cc
@@ -20,6 +20,7 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
+#include "src/core/lib/iomgr/exec_ctx.h"
#include "src/core/lib/slice/slice_internal.h"
#include "src/core/tsi/alts/crypt/gsec.h"
#include "src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.h"
diff --git a/test/cpp/util/BUILD b/test/cpp/util/BUILD
index d092ba348e..4f84c73820 100644
--- a/test/cpp/util/BUILD
+++ b/test/cpp/util/BUILD
@@ -16,7 +16,10 @@ licenses(["notice"]) # Apache v2
load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_binary", "grpc_cc_test", "grpc_package")
-grpc_package(name = "test/cpp/util", visibility = "public")
+grpc_package(
+ name = "test/cpp/util",
+ visibility = "public",
+)
grpc_cc_library(
name = "test_config",
@@ -49,7 +52,7 @@ grpc_cc_library(
],
)
-GRPCXX_TESTUTIL_SRCS = [
+GRPCXX_TESTUTIL_SRCS = [
"byte_buffer_proto_helper.cc",
"string_ref_helper.cc",
"subprocess.cc",
@@ -71,27 +74,27 @@ grpc_cc_library(
"create_test_channel.h",
"test_credentials_provider.h",
],
+ external_deps = [
+ "protobuf",
+ ],
deps = [
"//:grpc++",
"//test/core/end2end:ssl_test_data",
"//test/core/util:grpc_test_util",
],
- external_deps = [
- "protobuf",
- ],
)
grpc_cc_library(
name = "test_util_unsecure",
srcs = GRPCXX_TESTUTIL_SRCS,
hdrs = GRPCXX_TESTUTIL_HDRS,
+ external_deps = [
+ "protobuf",
+ ],
deps = [
"//:grpc++_unsecure",
"//test/core/util:grpc_test_util",
],
- external_deps = [
- "protobuf",
- ],
)
grpc_cc_library(
@@ -111,16 +114,16 @@ grpc_cc_library(
"proto_file_parser.h",
"service_describer.h",
],
- deps = [
- "//:grpc++",
- "//src/proto/grpc/reflection/v1alpha:reflection_proto",
- ":grpc++_proto_reflection_desc_db",
- ],
external_deps = [
"gflags",
"protobuf",
"protobuf_clib",
],
+ deps = [
+ ":grpc++_proto_reflection_desc_db",
+ "//:grpc++",
+ "//src/proto/grpc/reflection/v1alpha:reflection_proto",
+ ],
)
grpc_cc_library(
@@ -132,8 +135,8 @@ grpc_cc_library(
"metrics_server.h",
],
deps = [
- "//src/proto/grpc/testing:metrics_proto",
"//:grpc++",
+ "//src/proto/grpc/testing:metrics_proto",
],
)
@@ -144,19 +147,19 @@ grpc_cc_test(
],
data = [
"//src/proto/grpc/testing:echo.proto",
- "//src/proto/grpc/testing:echo_messages.proto"
- ],
- deps = [
- ":grpc_cli_libs",
- ":test_util",
- "//:grpc++_reflection",
- "//src/proto/grpc/testing:echo_proto",
- "//src/proto/grpc/testing:echo_messages_proto",
- "//test/core/util:grpc_test_util",
+ "//src/proto/grpc/testing:echo_messages.proto",
],
external_deps = [
"gtest",
],
+ deps = [
+ ":grpc_cli_libs",
+ ":test_util",
+ "//:grpc++_reflection",
+ "//src/proto/grpc/testing:echo_messages_proto",
+ "//src/proto/grpc/testing:echo_proto",
+ "//test/core/util:grpc_test_util",
+ ],
)
grpc_cc_test(
@@ -164,12 +167,12 @@ grpc_cc_test(
srcs = [
"byte_buffer_test.cc",
],
- deps = [
- ":test_util",
- ],
external_deps = [
"gtest",
],
+ deps = [
+ ":test_util",
+ ],
)
grpc_cc_test(
@@ -177,12 +180,12 @@ grpc_cc_test(
srcs = [
"slice_test.cc",
],
- deps = [
- ":test_util",
- ],
external_deps = [
"gtest",
],
+ deps = [
+ ":test_util",
+ ],
)
grpc_cc_test(
@@ -190,12 +193,12 @@ grpc_cc_test(
srcs = [
"string_ref_test.cc",
],
- deps = [
- "//:grpc++",
- ],
external_deps = [
"gtest",
],
+ deps = [
+ "//:grpc++",
+ ],
)
grpc_cc_test(
@@ -203,24 +206,11 @@ grpc_cc_test(
srcs = [
"time_test.cc",
],
- deps = [
- ":test_util",
- ],
external_deps = [
"gtest",
],
-)
-
-grpc_cc_test(
- name = "status_test",
- srcs = [
- "status_test.cc",
- ],
deps = [
- ":test_util",
- ],
- external_deps = [
- "gtest",
+ ":test_util",
],
)
@@ -229,14 +219,14 @@ grpc_cc_test(
srcs = [
"cli_call_test.cc",
],
+ external_deps = [
+ "gtest",
+ ],
deps = [
":grpc_cli_libs",
- ":test_util",
+ ":test_util",
"//src/proto/grpc/testing:echo_proto",
- "//test/core/util:grpc_test_util",
- ],
- external_deps = [
- "gtest",
+ "//test/core/util:grpc_test_util",
],
)
@@ -245,13 +235,13 @@ grpc_cc_test(
srcs = [
"error_details_test.cc",
],
+ external_deps = [
+ "gtest",
+ ],
deps = [
"//:grpc++_error_details",
"//src/proto/grpc/testing:echo_messages_proto",
],
- external_deps = [
- "gtest",
- ],
)
grpc_cc_binary(
@@ -274,11 +264,11 @@ grpc_cc_binary(
"test_config.h",
"test_config_cc.cc",
],
+ external_deps = [
+ "gflags",
+ ],
deps = [
"//:grpc++",
"//src/proto/grpc/reflection/v1alpha:reflection_proto",
],
- external_deps = [
- "gflags",
- ],
)
diff --git a/test/cpp/util/status_test.cc b/test/cpp/util/status_test.cc
deleted file mode 100644
index 2188723db8..0000000000
--- a/test/cpp/util/status_test.cc
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- *
- * Copyright 2015 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include <grpcpp/support/status.h>
-
-#include <grpc/status.h>
-#include <grpc/support/log.h>
-
-// Make sure the existing grpc_status_code match with grpc::Code.
-int main(int argc, char** argv) {
- GPR_ASSERT(grpc::StatusCode::OK ==
- static_cast<grpc::StatusCode>(GRPC_STATUS_OK));
- GPR_ASSERT(grpc::StatusCode::CANCELLED ==
- static_cast<grpc::StatusCode>(GRPC_STATUS_CANCELLED));
- GPR_ASSERT(grpc::StatusCode::UNKNOWN ==
- static_cast<grpc::StatusCode>(GRPC_STATUS_UNKNOWN));
- GPR_ASSERT(grpc::StatusCode::INVALID_ARGUMENT ==
- static_cast<grpc::StatusCode>(GRPC_STATUS_INVALID_ARGUMENT));
- GPR_ASSERT(grpc::StatusCode::DEADLINE_EXCEEDED ==
- static_cast<grpc::StatusCode>(GRPC_STATUS_DEADLINE_EXCEEDED));
- GPR_ASSERT(grpc::StatusCode::NOT_FOUND ==
- static_cast<grpc::StatusCode>(GRPC_STATUS_NOT_FOUND));
- GPR_ASSERT(grpc::StatusCode::ALREADY_EXISTS ==
- static_cast<grpc::StatusCode>(GRPC_STATUS_ALREADY_EXISTS));
- GPR_ASSERT(grpc::StatusCode::PERMISSION_DENIED ==
- static_cast<grpc::StatusCode>(GRPC_STATUS_PERMISSION_DENIED));
- GPR_ASSERT(grpc::StatusCode::UNAUTHENTICATED ==
- static_cast<grpc::StatusCode>(GRPC_STATUS_UNAUTHENTICATED));
- GPR_ASSERT(grpc::StatusCode::RESOURCE_EXHAUSTED ==
- static_cast<grpc::StatusCode>(GRPC_STATUS_RESOURCE_EXHAUSTED));
- GPR_ASSERT(grpc::StatusCode::FAILED_PRECONDITION ==
- static_cast<grpc::StatusCode>(GRPC_STATUS_FAILED_PRECONDITION));
- GPR_ASSERT(grpc::StatusCode::ABORTED ==
- static_cast<grpc::StatusCode>(GRPC_STATUS_ABORTED));
- GPR_ASSERT(grpc::StatusCode::OUT_OF_RANGE ==
- static_cast<grpc::StatusCode>(GRPC_STATUS_OUT_OF_RANGE));
- GPR_ASSERT(grpc::StatusCode::UNIMPLEMENTED ==
- static_cast<grpc::StatusCode>(GRPC_STATUS_UNIMPLEMENTED));
- GPR_ASSERT(grpc::StatusCode::INTERNAL ==
- static_cast<grpc::StatusCode>(GRPC_STATUS_INTERNAL));
- GPR_ASSERT(grpc::StatusCode::UNAVAILABLE ==
- static_cast<grpc::StatusCode>(GRPC_STATUS_UNAVAILABLE));
- GPR_ASSERT(grpc::StatusCode::DATA_LOSS ==
- static_cast<grpc::StatusCode>(GRPC_STATUS_DATA_LOSS));
-
- return 0;
-}
diff --git a/test/distrib/csharp/run_distrib_test.sh b/test/distrib/csharp/run_distrib_test.sh
index eee24d0e57..b96872725e 100755
--- a/test/distrib/csharp/run_distrib_test.sh
+++ b/test/distrib/csharp/run_distrib_test.sh
@@ -21,6 +21,11 @@ unzip -o "$EXTERNAL_GIT_ROOT/input_artifacts/csharp_nugets_windows_dotnetcli.zip
./update_version.sh auto
+# With a recent-enough version of mono, the "nuget restore" command would
+# restore packages based on project.json files, but we want to restore packages
+# based on the net45 legacy "packages.config" file instead.
+rm DistribTest/*project.json
+
nuget restore
xbuild DistribTest.sln
diff --git a/test/distrib/php/run_distrib_test.sh b/test/distrib/php/run_distrib_test.sh
index f781815840..a6102f6075 100755
--- a/test/distrib/php/run_distrib_test.sh
+++ b/test/distrib/php/run_distrib_test.sh
@@ -19,7 +19,7 @@ cd "$(dirname "$0")"
cp -r "$EXTERNAL_GIT_ROOT"/input_artifacts/grpc-*.tgz .
-find . -regextype sed -regex ".*/grpc-[0-9].*.tgz" | cut -b3- | \
+find . -regex ".*/grpc-[0-9].*.tgz" | cut -b3- | \
xargs pecl install
php -d extension=grpc.so -d max_execution_time=300 distribtest.php