aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools
diff options
context:
space:
mode:
authorGravatar Craig Tiller <ctiller@google.com>2015-05-12 09:51:22 -0700
committerGravatar Craig Tiller <ctiller@google.com>2015-05-12 09:51:22 -0700
commitd8afa09a958aa89be1e9971bec0fc0d0d70e4ab6 (patch)
treee7ab2432c1a7f90d3859aff26e136112e1cb0fa5 /tools
parent8421678ed0bb8e0d40f78f1b7613566418f69844 (diff)
parent4491fbd0e9bcfe44d25339e3e919f208633f274f (diff)
Merge github.com:grpc/grpc into timeouts-need-logs-too
Diffstat (limited to 'tools')
-rwxr-xr-xtools/buildgen/plugins/generate_vsprojects.py12
-rwxr-xr-xtools/gce_setup/cloud_prod_test.sh62
-rwxr-xr-xtools/gce_setup/grpc_docker.sh63
-rwxr-xr-xtools/gce_setup/interop_test.sh67
-rwxr-xr-xtools/profile_analyzer/profile_analyzer.py163
-rwxr-xr-xtools/run_tests/run_node.sh2
-rw-r--r--tools/run_tests/tests.json223
7 files changed, 372 insertions, 220 deletions
diff --git a/tools/buildgen/plugins/generate_vsprojects.py b/tools/buildgen/plugins/generate_vsprojects.py
index f00c176214..09a5bdbcc8 100755
--- a/tools/buildgen/plugins/generate_vsprojects.py
+++ b/tools/buildgen/plugins/generate_vsprojects.py
@@ -35,6 +35,10 @@ and "vsproject_dict", to be used by the visual studio generators.
"""
+import hashlib
+import re
+
+
def mako_plugin(dictionary):
"""The exported plugin code for generate_vsprojeccts
@@ -53,6 +57,14 @@ def mako_plugin(dictionary):
projects = []
projects.extend(libs)
projects.extend(targets)
+ if dictionary.get('debug', False):
+ for target in projects:
+ if not target.get('vs_project_guid', None) and 'windows' in target.get('platforms', ['windows']):
+ name = target['name']
+ guid = re.sub('(........)(....)(....)(....)(.*)',
+ r'{\1-\2-\3-\4-\5}',
+ hashlib.md5(name).hexdigest())
+ target['vs_project_guid'] = guid.upper()
# Exclude projects without a visual project guid, such as the tests.
projects = [project for project in projects
if project.get('vs_project_guid', None)]
diff --git a/tools/gce_setup/cloud_prod_test.sh b/tools/gce_setup/cloud_prod_test.sh
new file mode 100755
index 0000000000..94869ee9b6
--- /dev/null
+++ b/tools/gce_setup/cloud_prod_test.sh
@@ -0,0 +1,62 @@
+#!/bin/bash
+# Copyright 2015, 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.
+
+thisfile=$(readlink -ne "${BASH_SOURCE[0]}")
+test_case=$1
+client_vm=$2
+result=cloud_prod_result.$1
+cur=$(date "+%Y-%m-%d-%H-%M-%S")
+log_link=https://pantheon.corp.google.com/m/cloudstorage/b/stoked-keyword-656-output/o/prod_result/$test_case/$cur
+
+main() {
+ source grpc_docker.sh
+ clients=(cxx java go ruby node csharp_mono python php)
+ for client in "${clients[@]}"
+ do
+ log_file_name=cloud_{$test_case}_{$client}.txt
+ if grpc_cloud_prod_test $test_case $client_vm $client > /tmp/$log_file_name 2>&1
+ then
+ echo " ['$test_case', '$client', 'prod', true, '<a href="$log_link/$log_file_name">log</a>']," >> /tmp/$result.txt
+ else
+ echo " ['$test_case', '$client', 'prod', false, '<a href="$log_link/$log_file_name">log</a>']," >> /tmp/$result.txt
+ fi
+ gsutil cp /tmp/$log_file_name gs://stoked-keyword-656-output/prod_result/$test_case/$cur/$log_file_name
+ rm /tmp/$log_file_name
+ done
+ if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
+ cat pre.html /tmp/$result.txt post.html > /tmp/$result.html
+ gsutil cp /tmp/$result.html gs://stoked-keyword-656-output/prod_result/$test_case/$cur/$result.html
+ rm /tmp/$result.txt
+ rm /tmp/$result.html
+ fi
+}
+
+set -x
+main "$@"
diff --git a/tools/gce_setup/grpc_docker.sh b/tools/gce_setup/grpc_docker.sh
index d3a7bdef28..c49efbab60 100755
--- a/tools/gce_setup/grpc_docker.sh
+++ b/tools/gce_setup/grpc_docker.sh
@@ -384,6 +384,7 @@ grpc_interop_test_args() {
[[ -n $1 ]] && { # client_type
case $1 in
cxx|go|java|node|php|python|ruby|csharp_mono)
+ grpc_client_platform='Docker'
grpc_gen_test_cmd="grpc_interop_gen_$1_cmd"
declare -F $grpc_gen_test_cmd >> /dev/null || {
echo "-f: test_func for $1 => $grpc_gen_test_cmd is not defined" 1>&2
@@ -391,6 +392,11 @@ grpc_interop_test_args() {
}
shift
;;
+ csharp_dotnet)
+ grpc_client_platform='Windows'
+ grpc_gen_test_cmd="grpc_interop_gen_$1_cmd"
+ shift
+ ;;
*)
echo "bad client_type: $1" 1>&2
return 1
@@ -456,6 +462,7 @@ grpc_cloud_prod_test_args() {
[[ -n $1 ]] && { # client_type
case $1 in
cxx|go|java|node|php|python|ruby|csharp_mono)
+ grpc_client_platform='Docker'
grpc_gen_test_cmd="grpc_cloud_prod_gen_$1_cmd"
declare -F $grpc_gen_test_cmd >> /dev/null || {
echo "-f: test_func for $1 => $grpc_gen_test_cmd is not defined" 1>&2
@@ -463,6 +470,11 @@ grpc_cloud_prod_test_args() {
}
shift
;;
+ csharp_dotnet)
+ grpc_client_platform='Windows'
+ grpc_gen_test_cmd="grpc_cloud_prod_gen_$1_cmd"
+ shift
+ ;;
*)
echo "bad client_type: $1" 1>&2
return 1
@@ -851,12 +863,23 @@ grpc_launch_servers() {
test_runner() {
local project_opt="--project $grpc_project"
local zone_opt="--zone $grpc_zone"
- local ssh_cmd="bash -l -c \"$cmd\""
- echo "will run:"
- echo " $ssh_cmd"
- echo "on $host"
[[ $dry_run == 1 ]] && return 0 # don't run the command on a dry run
- gcloud compute $project_opt ssh $zone_opt $host --command "$cmd" &
+ if [ "$grpc_client_platform" != "Windows" ]
+ then
+ echo "will run:"
+ echo " $cmd"
+ echo "on $host"
+ gcloud compute $project_opt ssh $zone_opt $host --command "$cmd" &
+ else
+ # gcloud's auto-uploading of RSA keys doesn't work for Windows VMs.
+ # So we have a linux machine that is authorized to access the Windows
+ # machine through ssh and we use gcloud auth support to logon to the proxy.
+ echo "will run:"
+ echo " $cmd"
+ echo "on $host (through grpc-windows-proxy)"
+ gcloud compute $project_opt ssh $zone_opt stoked-keyword-656@grpc-windows-proxy --command "ssh $host '$cmd'" &
+ fi
+ #
PID=$!
echo "pid is $PID"
for x in {0..5}
@@ -924,7 +947,7 @@ grpc_interop_test() {
local grpc_zone grpc_project dry_run # set by _grpc_set_project_and_zone
# grpc_interop_test_args
- local test_case host grpc_gen_test_cmd grpc_server grpc_port
+ local test_case host grpc_gen_test_cmd grpc_server grpc_port grpc_client_platform
# set the project zone and check that all necessary args are provided
_grpc_set_project_and_zone -f grpc_interop_test_args "$@" || return 1
@@ -966,7 +989,7 @@ grpc_cloud_prod_test() {
local grpc_zone grpc_project dry_run # set by _grpc_set_project_and_zone
# grpc_cloud_prod_test_args
- local test_case host grpc_gen_test_cmd
+ local test_case host grpc_gen_test_cmd grpc_client_platform
# set the project zone and check that all necessary args are provided
_grpc_set_project_and_zone -f grpc_cloud_prod_test_args "$@" || return 1
@@ -1431,6 +1454,18 @@ grpc_interop_gen_csharp_mono_cmd() {
echo $the_cmd
}
+# constructs the csharp-dotnet interop test cmd.
+#
+# call-seq:
+# flags= .... # generic flags to include the command
+# cmd=$($grpc_gen_test_cmd $flags)
+grpc_interop_gen_csharp_dotnet_cmd() {
+ local set_workdir="cd /cygdrive/c/github/grpc/src/csharp/Grpc.IntegrationTesting.Client/bin/Debug &&"
+ local test_script="./Grpc.IntegrationTesting.Client.exe --use_tls=true --use_test_ca=true";
+ local the_cmd="$set_workdir $test_script $@";
+ echo $the_cmd
+}
+
# constructs the full dockerized csharp-mono gce=>prod interop test cmd.
#
# call-seq:
@@ -1446,6 +1481,20 @@ grpc_cloud_prod_gen_csharp_mono_cmd() {
echo $the_cmd
}
+# constructs the csharp-dotnet gce=>prod interop test cmd.
+#
+# call-seq:
+# flags= .... # generic flags to include the command
+# cmd=$($grpc_gen_test_cmd $flags)
+grpc_cloud_prod_gen_csharp_dotnet_cmd() {
+ local set_workdir="cd /cygdrive/c/github/grpc/src/csharp/Grpc.IntegrationTesting.Client/bin/Debug &&"
+ local test_script="./Grpc.IntegrationTesting.Client.exe --use_tls=true";
+ local set_certfile="SSL_CERT_FILE=/cacerts/roots.pem "
+ local gfe_flags=$(_grpc_prod_gfe_flags);
+ local the_cmd="$set_workdir $set_certfile $test_script $gfe_flags $@";
+ echo $the_cmd
+}
+
# constructs the full dockerized csharp-mono service_account auth interop test cmd.
#
# call-seq:
diff --git a/tools/gce_setup/interop_test.sh b/tools/gce_setup/interop_test.sh
new file mode 100755
index 0000000000..037b117e1a
--- /dev/null
+++ b/tools/gce_setup/interop_test.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+# Copyright 2015, 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.
+
+thisfile=$(readlink -ne "${BASH_SOURCE[0]}")
+test_case=$1
+client_vm=$2
+server_vm=$3
+result=interop_result.$1
+cur=$(date "+%Y-%m-%d-%H-%M-%S")
+log_link=https://pantheon.corp.google.com/m/cloudstorage/b/stoked-keyword-656-output/o/interop_result/$test_case/$cur
+
+main() {
+ source grpc_docker.sh
+ clients=(cxx java go ruby node csharp_mono python php)
+ servers=(cxx java go ruby node python csharp_mono)
+ for client in "${clients[@]}"
+ do
+ for server in "${servers[@]}"
+ do
+ log_file_name=cloud_{$test_case}_{$client}_{$server}.txt
+ if grpc_interop_test $test_case $client_vm $client $server_vm $server> /tmp/$log_file_name 2>&1
+ then
+ echo " ['$test_case', '$client', '$server', true, '<a href="$log_link/$log_file_name">log</a>']," >> /tmp/$result.txt
+ else
+ echo " ['$test_case', '$client', '$server', false, '<a href="$log_link/$log_file_name">log</a>']," >> /tmp/$result.txt
+ fi
+ gsutil cp /tmp/$log_file_name gs://stoked-keyword-656-output/interop_result/$test_case/$cur/$log_file_name
+ rm /tmp/$log_file_name
+ done
+ done
+ if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
+ cat pre.html /tmp/$result.txt post.html > /tmp/$result.html
+ gsutil cp /tmp/$result.html gs://stoked-keyword-656-output/interop_result/$test_case/$cur/$result.html
+ rm /tmp/$result.txt
+ rm /tmp/$result.html
+ fi
+}
+
+set -x
+main "$@"
diff --git a/tools/profile_analyzer/profile_analyzer.py b/tools/profile_analyzer/profile_analyzer.py
index 00b1079466..a78f84e5e6 100755
--- a/tools/profile_analyzer/profile_analyzer.py
+++ b/tools/profile_analyzer/profile_analyzer.py
@@ -39,8 +39,8 @@ Usage:
import collections
import itertools
+import math
import re
-import sys
# Create a regex to parse output of the C core basic profiler,
# as defined in src/core/profiling/basic_timers.c.
@@ -64,19 +64,68 @@ class ImportantMark(object):
def entry(self):
return self._entry
- def append_post_entry(self, entry):
- if self._n > 0:
- self._post_stack.append(entry)
+ @property
+ def max_depth(self):
+ return self._n
+
+ def append_post_entry(self, post_entry):
+ if self._n > 0 and post_entry.thread == self._entry.thread:
+ self._post_stack.append(post_entry)
self._n -= 1
def get_deltas(self):
pre_and_post_stacks = itertools.chain(self._pre_stack, self._post_stack)
return collections.OrderedDict((stack_entry,
- (self._entry.time - stack_entry.time))
+ abs(self._entry.time - stack_entry.time))
for stack_entry in pre_and_post_stacks)
-def entries():
- for line in sys.stdin:
+
+def print_block_statistics(block_times):
+ print '{:<12s} {:>12s} {:>12s} {:>12s} {:>12s}'.format(
+ 'Block tag', '50th p.', '90th p.', '95th p.', '99th p.')
+ for tag, tag_times in sorted(block_times.iteritems()):
+ times = sorted(tag_times)
+ print '{:<12d}: {:>12.3f} {:>12.3f} {:>12.3f} {:>12.3f}'.format(
+ tag, percentile(times, 50), percentile(times, 90),
+ percentile(times, 95), percentile(times, 99))
+ print
+
+def print_grouped_imark_statistics(group_key, imarks_group):
+ values = collections.OrderedDict()
+ for imark in imarks_group:
+ deltas = imark.get_deltas()
+ for relative_entry, time_delta_us in deltas.iteritems():
+ key = '{tag} {type} ({file}:{line})'.format(**relative_entry._asdict())
+ l = values.setdefault(key, list())
+ l.append(time_delta_us)
+
+ print group_key
+ print '{:<50s} {:>12s} {:>12s} {:>12s} {:>12s}'.format(
+ 'Relative mark', '50th p.', '90th p.', '95th p.', '99th p.')
+ for key, time_values in values.iteritems():
+ time_values = sorted(time_values)
+ print '{:<50s}: {:>12.3f} {:>12.3f} {:>12.3f} {:>12.3f}'.format(
+ key, percentile(time_values, 50), percentile(time_values, 90),
+ percentile(time_values, 95), percentile(time_values, 99))
+ print
+
+def percentile(vals, percent):
+ """ Calculates the interpolated percentile given a sorted sequence and a
+ percent (in the usual 0-100 range)."""
+ assert vals, "Empty input sequence."
+ percent /= 100.0
+ k = (len(vals)-1) * percent
+ f = math.floor(k)
+ c = math.ceil(k)
+ if f == c:
+ return vals[int(k)]
+ # else, interpolate
+ d0 = vals[int(f)] * (c-k)
+ d1 = vals[int(c)] * (k-f)
+ return d0 + d1
+
+def entries(f):
+ for line in f:
m = _RE_LINE.match(line)
if not m: continue
yield Entry(time=float(m.group(1)),
@@ -87,53 +136,53 @@ def entries():
file=m.group(6),
line=m.group(7))
-threads = collections.defaultdict(lambda: collections.defaultdict(list))
-times = collections.defaultdict(list)
-
-# Indexed by the mark's tag. Items in the value list correspond to the mark in
-# different stack situations.
-important_marks = collections.defaultdict(list)
-
-for entry in entries():
- thread = threads[entry.thread]
- if entry.type == '{':
- thread[entry.tag].append(entry)
- if entry.type == '!':
- # Save a snapshot of the current stack inside a new ImportantMark instance.
- # Get all entries with type '{' from "thread".
- stack = [e for entries_for_tag in thread.values()
- for e in entries_for_tag if e.type == '{']
- important_marks[entry.tag].append(ImportantMark(entry, stack))
- elif entry.type == '}':
- last = thread[entry.tag].pop()
- times[entry.tag].append(entry.time - last.time)
- # Update accounting for important marks.
- for imarks_for_tag in important_marks.itervalues():
- for imark in imarks_for_tag:
- imark.append_post_entry(entry)
-
-def percentile(vals, pct):
- return sorted(vals)[int(len(vals) * pct / 100.0)]
-
-print 'tag 50%/90%/95%/99% us'
-for tag in sorted(times.keys()):
- vals = times[tag]
- print '%d %.2f/%.2f/%.2f/%.2f' % (tag,
- percentile(vals, 50),
- percentile(vals, 90),
- percentile(vals, 95),
- percentile(vals, 99))
-
-print
-print 'Important marks:'
-print '================'
-for tag, imark_for_tag in important_marks.iteritems():
- for imark in imarks_for_tag:
- deltas = imark.get_deltas()
- print '{tag} @ {file}:{line}'.format(**imark.entry._asdict())
- for entry, time_delta_us in deltas.iteritems():
- format_dict = entry._asdict()
- format_dict['time_delta_us'] = time_delta_us
- print '{tag} {type} ({file}:{line}): {time_delta_us:12.3f} us'.format(
- **format_dict)
- print
+def main(f):
+ percentiles = (50, 90, 95, 99)
+ threads = collections.defaultdict(lambda: collections.defaultdict(list))
+ times = collections.defaultdict(list)
+ important_marks = collections.defaultdict(list)
+ stack_depth = collections.defaultdict(int)
+ for entry in entries(f):
+ thread = threads[entry.thread]
+ if entry.type == '{':
+ thread[entry.tag].append(entry)
+ stack_depth[entry.thread] += 1
+ if entry.type == '!':
+ # Save a snapshot of the current stack inside a new ImportantMark instance.
+ # Get all entries _for any tag in the thread_.
+ stack = [e for entries_for_tag in thread.itervalues()
+ for e in entries_for_tag]
+ imark_group_key = '{tag}/{thread}@{file}:{line}'.format(**entry._asdict())
+ important_marks[imark_group_key].append(ImportantMark(entry, stack))
+ elif entry.type == '}':
+ last = thread[entry.tag].pop()
+ times[entry.tag].append(entry.time - last.time)
+ # only access the last "depth" imarks for the tag.
+ depth = stack_depth[entry.thread]
+ for imarks_group in important_marks.itervalues():
+ for imark in imarks_group[-depth:]:
+ # if at a '}' deeper than where the current "imark" was found, ignore.
+ if depth > imark.max_depth: continue
+ imark.append_post_entry(entry)
+ stack_depth[entry.thread] -= 1
+
+ print
+ print 'Block marks:'
+ print '============'
+ print_block_statistics(times)
+
+ print
+ print 'Important marks:'
+ print '================'
+ for group_key, imarks_group in important_marks.iteritems():
+ print_grouped_imark_statistics(group_key, imarks_group)
+
+
+if __name__ == '__main__':
+ # If invoked without arguments, read off sys.stdin. If one argument is given,
+ # take it as a file name and open it for reading.
+ import sys
+ f = sys.stdin
+ if len(sys.argv) == 2:
+ f = open(sys.argv[1], 'r')
+ main(f)
diff --git a/tools/run_tests/run_node.sh b/tools/run_tests/run_node.sh
index 3a82c04a8e..bfbe82b867 100755
--- a/tools/run_tests/run_node.sh
+++ b/tools/run_tests/run_node.sh
@@ -39,4 +39,4 @@ root=`pwd`
export LD_LIBRARY_PATH=$root/libs/$CONFIG
-$root/src/node/node_modules/mocha/bin/mocha $root/src/node/test
+$root/src/node/node_modules/mocha/bin/mocha --timeout 4000 $root/src/node/test
diff --git a/tools/run_tests/tests.json b/tools/run_tests/tests.json
index 8c17c27189..e0b7ef16fb 100644
--- a/tools/run_tests/tests.json
+++ b/tools/run_tests/tests.json
@@ -158,7 +158,6 @@
"language": "c",
"name": "fd_posix_test",
"platforms": [
- "windows",
"posix"
]
},
@@ -167,7 +166,6 @@
"language": "c",
"name": "fling_stream_test",
"platforms": [
- "windows",
"posix"
]
},
@@ -176,7 +174,6 @@
"language": "c",
"name": "fling_test",
"platforms": [
- "windows",
"posix"
]
},
@@ -482,7 +479,6 @@
"language": "c",
"name": "poll_kick_posix_test",
"platforms": [
- "windows",
"posix"
]
},
@@ -518,7 +514,6 @@
"language": "c",
"name": "tcp_client_posix_test",
"platforms": [
- "windows",
"posix"
]
},
@@ -527,7 +522,6 @@
"language": "c",
"name": "tcp_posix_test",
"platforms": [
- "windows",
"posix"
]
},
@@ -536,7 +530,6 @@
"language": "c",
"name": "tcp_server_posix_test",
"platforms": [
- "windows",
"posix"
]
},
@@ -695,6 +688,15 @@
},
{
"flaky": false,
+ "language": "c++",
+ "name": "thread_stress_test",
+ "platforms": [
+ "windows",
+ "posix"
+ ]
+ },
+ {
+ "flaky": false,
"language": "c",
"name": "chttp2_fake_security_bad_hostname_test",
"platforms": [
@@ -885,7 +887,7 @@
{
"flaky": false,
"language": "c",
- "name": "chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test",
+ "name": "chttp2_fake_security_request_response_with_payload_and_call_creds_test",
"platforms": [
"windows",
"posix"
@@ -1128,7 +1130,7 @@
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test",
+ "name": "chttp2_fullstack_request_response_with_payload_and_call_creds_test",
"platforms": [
"windows",
"posix"
@@ -1182,243 +1184,216 @@
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_bad_hostname_test",
+ "name": "chttp2_fullstack_uds_posix_bad_hostname_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": true,
"language": "c",
- "name": "chttp2_fullstack_uds_cancel_after_accept_test",
+ "name": "chttp2_fullstack_uds_posix_cancel_after_accept_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_cancel_after_accept_and_writes_closed_test",
+ "name": "chttp2_fullstack_uds_posix_cancel_after_accept_and_writes_closed_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_cancel_after_invoke_test",
+ "name": "chttp2_fullstack_uds_posix_cancel_after_invoke_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_cancel_before_invoke_test",
+ "name": "chttp2_fullstack_uds_posix_cancel_before_invoke_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_cancel_in_a_vacuum_test",
+ "name": "chttp2_fullstack_uds_posix_cancel_in_a_vacuum_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_census_simple_request_test",
+ "name": "chttp2_fullstack_uds_posix_census_simple_request_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_disappearing_server_test",
+ "name": "chttp2_fullstack_uds_posix_disappearing_server_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_early_server_shutdown_finishes_inflight_calls_test",
+ "name": "chttp2_fullstack_uds_posix_early_server_shutdown_finishes_inflight_calls_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_early_server_shutdown_finishes_tags_test",
+ "name": "chttp2_fullstack_uds_posix_early_server_shutdown_finishes_tags_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_empty_batch_test",
+ "name": "chttp2_fullstack_uds_posix_empty_batch_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_graceful_server_shutdown_test",
+ "name": "chttp2_fullstack_uds_posix_graceful_server_shutdown_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": true,
"language": "c",
- "name": "chttp2_fullstack_uds_invoke_large_request_test",
+ "name": "chttp2_fullstack_uds_posix_invoke_large_request_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_max_concurrent_streams_test",
+ "name": "chttp2_fullstack_uds_posix_max_concurrent_streams_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_max_message_length_test",
+ "name": "chttp2_fullstack_uds_posix_max_message_length_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_no_op_test",
+ "name": "chttp2_fullstack_uds_posix_no_op_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_ping_pong_streaming_test",
+ "name": "chttp2_fullstack_uds_posix_ping_pong_streaming_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_registered_call_test",
+ "name": "chttp2_fullstack_uds_posix_registered_call_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_request_response_with_binary_metadata_and_payload_test",
+ "name": "chttp2_fullstack_uds_posix_request_response_with_binary_metadata_and_payload_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_request_response_with_metadata_and_payload_test",
+ "name": "chttp2_fullstack_uds_posix_request_response_with_metadata_and_payload_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_request_response_with_payload_test",
+ "name": "chttp2_fullstack_uds_posix_request_response_with_payload_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_request_response_with_trailing_metadata_and_payload_test",
+ "name": "chttp2_fullstack_uds_posix_request_response_with_payload_and_call_creds_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_request_with_large_metadata_test",
+ "name": "chttp2_fullstack_uds_posix_request_with_large_metadata_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_request_with_payload_test",
+ "name": "chttp2_fullstack_uds_posix_request_with_payload_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_simple_delayed_request_test",
+ "name": "chttp2_fullstack_uds_posix_simple_delayed_request_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_simple_request_test",
+ "name": "chttp2_fullstack_uds_posix_simple_request_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_simple_request_with_high_initial_sequence_number_test",
+ "name": "chttp2_fullstack_uds_posix_simple_request_with_high_initial_sequence_number_test",
"platforms": [
- "windows",
"posix"
]
},
@@ -1614,7 +1589,7 @@
{
"flaky": false,
"language": "c",
- "name": "chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test",
+ "name": "chttp2_simple_ssl_fullstack_request_response_with_payload_and_call_creds_test",
"platforms": [
"windows",
"posix"
@@ -1857,7 +1832,7 @@
{
"flaky": false,
"language": "c",
- "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test",
+ "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_and_call_creds_test",
"platforms": [
"windows",
"posix"
@@ -2100,7 +2075,7 @@
{
"flaky": false,
"language": "c",
- "name": "chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test",
+ "name": "chttp2_socket_pair_request_response_with_payload_and_call_creds_test",
"platforms": [
"windows",
"posix"
@@ -2343,7 +2318,7 @@
{
"flaky": false,
"language": "c",
- "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test",
+ "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_and_call_creds_test",
"platforms": [
"windows",
"posix"
@@ -2586,15 +2561,6 @@
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_request_response_with_trailing_metadata_and_payload_unsecure_test",
- "platforms": [
- "windows",
- "posix"
- ]
- },
- {
- "flaky": false,
- "language": "c",
"name": "chttp2_fullstack_request_with_large_metadata_unsecure_test",
"platforms": [
"windows",
@@ -2640,243 +2606,208 @@
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_bad_hostname_unsecure_test",
+ "name": "chttp2_fullstack_uds_posix_bad_hostname_unsecure_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_cancel_after_accept_unsecure_test",
+ "name": "chttp2_fullstack_uds_posix_cancel_after_accept_unsecure_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_cancel_after_accept_and_writes_closed_unsecure_test",
+ "name": "chttp2_fullstack_uds_posix_cancel_after_accept_and_writes_closed_unsecure_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_cancel_after_invoke_unsecure_test",
+ "name": "chttp2_fullstack_uds_posix_cancel_after_invoke_unsecure_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_cancel_before_invoke_unsecure_test",
+ "name": "chttp2_fullstack_uds_posix_cancel_before_invoke_unsecure_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_cancel_in_a_vacuum_unsecure_test",
+ "name": "chttp2_fullstack_uds_posix_cancel_in_a_vacuum_unsecure_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_census_simple_request_unsecure_test",
+ "name": "chttp2_fullstack_uds_posix_census_simple_request_unsecure_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_disappearing_server_unsecure_test",
+ "name": "chttp2_fullstack_uds_posix_disappearing_server_unsecure_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_early_server_shutdown_finishes_inflight_calls_unsecure_test",
+ "name": "chttp2_fullstack_uds_posix_early_server_shutdown_finishes_inflight_calls_unsecure_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_early_server_shutdown_finishes_tags_unsecure_test",
+ "name": "chttp2_fullstack_uds_posix_early_server_shutdown_finishes_tags_unsecure_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_empty_batch_unsecure_test",
+ "name": "chttp2_fullstack_uds_posix_empty_batch_unsecure_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_graceful_server_shutdown_unsecure_test",
+ "name": "chttp2_fullstack_uds_posix_graceful_server_shutdown_unsecure_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": true,
"language": "c",
- "name": "chttp2_fullstack_uds_invoke_large_request_unsecure_test",
+ "name": "chttp2_fullstack_uds_posix_invoke_large_request_unsecure_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_max_concurrent_streams_unsecure_test",
+ "name": "chttp2_fullstack_uds_posix_max_concurrent_streams_unsecure_test",
"platforms": [
- "windows",
- "posix"
- ]
- },
- {
- "flaky": false,
- "language": "c",
- "name": "chttp2_fullstack_uds_max_message_length_unsecure_test",
- "platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_no_op_unsecure_test",
+ "name": "chttp2_fullstack_uds_posix_max_message_length_unsecure_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_ping_pong_streaming_unsecure_test",
+ "name": "chttp2_fullstack_uds_posix_no_op_unsecure_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_registered_call_unsecure_test",
+ "name": "chttp2_fullstack_uds_posix_ping_pong_streaming_unsecure_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_request_response_with_binary_metadata_and_payload_unsecure_test",
+ "name": "chttp2_fullstack_uds_posix_registered_call_unsecure_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_request_response_with_metadata_and_payload_unsecure_test",
+ "name": "chttp2_fullstack_uds_posix_request_response_with_binary_metadata_and_payload_unsecure_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_request_response_with_payload_unsecure_test",
+ "name": "chttp2_fullstack_uds_posix_request_response_with_metadata_and_payload_unsecure_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_request_response_with_trailing_metadata_and_payload_unsecure_test",
+ "name": "chttp2_fullstack_uds_posix_request_response_with_payload_unsecure_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_request_with_large_metadata_unsecure_test",
+ "name": "chttp2_fullstack_uds_posix_request_with_large_metadata_unsecure_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_request_with_payload_unsecure_test",
+ "name": "chttp2_fullstack_uds_posix_request_with_payload_unsecure_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_simple_delayed_request_unsecure_test",
+ "name": "chttp2_fullstack_uds_posix_simple_delayed_request_unsecure_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_simple_request_unsecure_test",
+ "name": "chttp2_fullstack_uds_posix_simple_request_unsecure_test",
"platforms": [
- "windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
- "name": "chttp2_fullstack_uds_simple_request_with_high_initial_sequence_number_unsecure_test",
+ "name": "chttp2_fullstack_uds_posix_simple_request_with_high_initial_sequence_number_unsecure_test",
"platforms": [
- "windows",
"posix"
]
},
@@ -3072,15 +3003,6 @@
{
"flaky": false,
"language": "c",
- "name": "chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_unsecure_test",
- "platforms": [
- "windows",
- "posix"
- ]
- },
- {
- "flaky": false,
- "language": "c",
"name": "chttp2_socket_pair_request_with_large_metadata_unsecure_test",
"platforms": [
"windows",
@@ -3315,15 +3237,6 @@
{
"flaky": false,
"language": "c",
- "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_unsecure_test",
- "platforms": [
- "windows",
- "posix"
- ]
- },
- {
- "flaky": false,
- "language": "c",
"name": "chttp2_socket_pair_one_byte_at_a_time_request_with_large_metadata_unsecure_test",
"platforms": [
"windows",