aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools
diff options
context:
space:
mode:
authorGravatar yang-g <yangg@google.com>2015-11-18 11:41:30 -0800
committerGravatar yang-g <yangg@google.com>2015-11-18 11:41:30 -0800
commit71b962634eceacae336b1c706829e4ad9621b397 (patch)
tree35378c669bf04c24097a403af65a5adb8c82e812 /tools
parent42630b010f398ca072a0ba89648855c3052c6594 (diff)
parent75b53d6a5d891fa33a9173318b1446faeaf154e4 (diff)
merge with head
Diffstat (limited to 'tools')
-rw-r--r--tools/buildgen/plugins/transitive_dependencies.py63
-rw-r--r--tools/doxygen/Doxyfile.c++2
-rw-r--r--tools/doxygen/Doxyfile.c++.internal2
-rw-r--r--tools/doxygen/Doxyfile.core2
-rw-r--r--tools/doxygen/Doxyfile.core.internal16
-rw-r--r--tools/http2_interop/http2interop.go137
-rw-r--r--tools/http2_interop/http2interop_test.go95
-rw-r--r--tools/jenkins/grpc_interop_http2/Dockerfile36
-rwxr-xr-xtools/jenkins/grpc_interop_http2/build_interop.sh42
-rwxr-xr-xtools/jenkins/run_interop.sh2
-rwxr-xr-xtools/run_tests/port_server.py2
-rw-r--r--tools/run_tests/report_utils.py28
-rwxr-xr-xtools/run_tests/run_interop_tests.py62
-rwxr-xr-xtools/run_tests/run_tests.py71
-rw-r--r--tools/run_tests/sources_and_headers.json832
-rw-r--r--tools/run_tests/tests.json836
16 files changed, 2073 insertions, 155 deletions
diff --git a/tools/buildgen/plugins/transitive_dependencies.py b/tools/buildgen/plugins/transitive_dependencies.py
new file mode 100644
index 0000000000..c2d3da3a3b
--- /dev/null
+++ b/tools/buildgen/plugins/transitive_dependencies.py
@@ -0,0 +1,63 @@
+# 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.
+
+"""Buildgen transitive dependencies
+
+This takes the list of libs, node_modules, and targets from our
+yaml dictionary, and adds to each the transitive closure
+of the list of dependencies.
+
+"""
+
+def get_lib(libs, name):
+ return next(lib for lib in libs if lib['name']==name)
+
+def transitive_deps(lib, libs):
+ if 'deps' in lib:
+ # Recursively call transitive_deps on each dependency, and take the union
+ return set.union(set(lib['deps']),
+ *[set(transitive_deps(get_lib(libs, dep), libs))
+ for dep in lib['deps']])
+ else:
+ return set()
+
+def mako_plugin(dictionary):
+ """The exported plugin code for transitive_dependencies.
+
+ Each item in libs, node_modules, and targets can have a deps list.
+ We add a transitive_deps property to each with the transitive closure
+ of those dependency lists.
+ """
+ libs = dictionary.get('libs')
+ node_modules = dictionary.get('node_modules')
+ targets = dictionary.get('targets')
+
+ for target_list in (libs, node_modules, targets):
+ for target in target_list:
+ target['transitive_deps'] = transitive_deps(target, libs)
diff --git a/tools/doxygen/Doxyfile.c++ b/tools/doxygen/Doxyfile.c++
index 5d592c8e0a..f07718515a 100644
--- a/tools/doxygen/Doxyfile.c++
+++ b/tools/doxygen/Doxyfile.c++
@@ -40,7 +40,7 @@ PROJECT_NAME = "GRPC C++"
# could be handy for archiving the generated documentation or if some version
# control system is used.
-PROJECT_NUMBER = 0.11.0.0
+PROJECT_NUMBER = 0.12.0.0
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
diff --git a/tools/doxygen/Doxyfile.c++.internal b/tools/doxygen/Doxyfile.c++.internal
index bbd1706fb0..11aaa379ce 100644
--- a/tools/doxygen/Doxyfile.c++.internal
+++ b/tools/doxygen/Doxyfile.c++.internal
@@ -40,7 +40,7 @@ PROJECT_NAME = "GRPC C++"
# could be handy for archiving the generated documentation or if some version
# control system is used.
-PROJECT_NUMBER = 0.11.0.0
+PROJECT_NUMBER = 0.12.0.0
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
diff --git a/tools/doxygen/Doxyfile.core b/tools/doxygen/Doxyfile.core
index beb0128e41..e411abf300 100644
--- a/tools/doxygen/Doxyfile.core
+++ b/tools/doxygen/Doxyfile.core
@@ -40,7 +40,7 @@ PROJECT_NAME = "GRPC Core"
# could be handy for archiving the generated documentation or if some version
# control system is used.
-PROJECT_NUMBER = 0.11.0.0
+PROJECT_NUMBER = 0.12.0.0
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal
index fbaad97867..766fb2f0a6 100644
--- a/tools/doxygen/Doxyfile.core.internal
+++ b/tools/doxygen/Doxyfile.core.internal
@@ -40,7 +40,7 @@ PROJECT_NAME = "GRPC Core"
# could be handy for archiving the generated documentation or if some version
# control system is used.
-PROJECT_NUMBER = 0.11.0.0
+PROJECT_NUMBER = 0.12.0.0
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
@@ -791,6 +791,7 @@ src/core/channel/context.h \
src/core/channel/http_client_filter.h \
src/core/channel/http_server_filter.h \
src/core/channel/noop_filter.h \
+src/core/channel/subchannel_call_holder.h \
src/core/client_config/client_config.h \
src/core/client_config/connector.h \
src/core/client_config/initial_connect_string.h \
@@ -858,7 +859,6 @@ src/core/json/json_writer.h \
src/core/statistics/census_interface.h \
src/core/statistics/census_rpc_stats.h \
src/core/surface/api_trace.h \
-src/core/surface/byte_buffer_queue.h \
src/core/surface/call.h \
src/core/surface/call_test_only.h \
src/core/surface/channel.h \
@@ -867,6 +867,7 @@ src/core/surface/event_string.h \
src/core/surface/init.h \
src/core/surface/server.h \
src/core/surface/surface_trace.h \
+src/core/transport/byte_stream.h \
src/core/transport/chttp2/alpn.h \
src/core/transport/chttp2/bin_encoder.h \
src/core/transport/chttp2/frame.h \
@@ -876,6 +877,7 @@ src/core/transport/chttp2/frame_ping.h \
src/core/transport/chttp2/frame_rst_stream.h \
src/core/transport/chttp2/frame_settings.h \
src/core/transport/chttp2/frame_window_update.h \
+src/core/transport/chttp2/hpack_encoder.h \
src/core/transport/chttp2/hpack_parser.h \
src/core/transport/chttp2/hpack_table.h \
src/core/transport/chttp2/http2_errors.h \
@@ -883,14 +885,13 @@ src/core/transport/chttp2/huffsyms.h \
src/core/transport/chttp2/incoming_metadata.h \
src/core/transport/chttp2/internal.h \
src/core/transport/chttp2/status_conversion.h \
-src/core/transport/chttp2/stream_encoder.h \
src/core/transport/chttp2/stream_map.h \
src/core/transport/chttp2/timeout_encoding.h \
src/core/transport/chttp2/varint.h \
src/core/transport/chttp2_transport.h \
src/core/transport/connectivity_state.h \
src/core/transport/metadata.h \
-src/core/transport/stream_op.h \
+src/core/transport/metadata_batch.h \
src/core/transport/transport.h \
src/core/transport/transport_impl.h \
src/core/census/aggregation.h \
@@ -928,6 +929,7 @@ src/core/channel/connected_channel.c \
src/core/channel/http_client_filter.c \
src/core/channel/http_server_filter.c \
src/core/channel/noop_filter.c \
+src/core/channel/subchannel_call_holder.c \
src/core/client_config/client_config.c \
src/core/client_config/connector.c \
src/core/client_config/default_initial_connect_string.c \
@@ -999,7 +1001,6 @@ src/core/json/json_string.c \
src/core/json/json_writer.c \
src/core/surface/api_trace.c \
src/core/surface/byte_buffer.c \
-src/core/surface/byte_buffer_queue.c \
src/core/surface/byte_buffer_reader.c \
src/core/surface/call.c \
src/core/surface/call_details.c \
@@ -1016,6 +1017,7 @@ src/core/surface/server.c \
src/core/surface/server_chttp2.c \
src/core/surface/server_create.c \
src/core/surface/version.c \
+src/core/transport/byte_stream.c \
src/core/transport/chttp2/alpn.c \
src/core/transport/chttp2/bin_encoder.c \
src/core/transport/chttp2/frame_data.c \
@@ -1024,13 +1026,13 @@ src/core/transport/chttp2/frame_ping.c \
src/core/transport/chttp2/frame_rst_stream.c \
src/core/transport/chttp2/frame_settings.c \
src/core/transport/chttp2/frame_window_update.c \
+src/core/transport/chttp2/hpack_encoder.c \
src/core/transport/chttp2/hpack_parser.c \
src/core/transport/chttp2/hpack_table.c \
src/core/transport/chttp2/huffsyms.c \
src/core/transport/chttp2/incoming_metadata.c \
src/core/transport/chttp2/parsing.c \
src/core/transport/chttp2/status_conversion.c \
-src/core/transport/chttp2/stream_encoder.c \
src/core/transport/chttp2/stream_lists.c \
src/core/transport/chttp2/stream_map.c \
src/core/transport/chttp2/timeout_encoding.c \
@@ -1039,7 +1041,7 @@ src/core/transport/chttp2/writing.c \
src/core/transport/chttp2_transport.c \
src/core/transport/connectivity_state.c \
src/core/transport/metadata.c \
-src/core/transport/stream_op.c \
+src/core/transport/metadata_batch.c \
src/core/transport/transport.c \
src/core/transport/transport_op_string.c \
src/core/census/context.c \
diff --git a/tools/http2_interop/http2interop.go b/tools/http2_interop/http2interop.go
index f1bca7fe13..8585a044e5 100644
--- a/tools/http2_interop/http2interop.go
+++ b/tools/http2_interop/http2interop.go
@@ -2,15 +2,38 @@ package http2interop
import (
"crypto/tls"
+ "crypto/x509"
"fmt"
"io"
- "log"
+ "net"
+ "testing"
+ "time"
)
const (
Preface = "PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n"
)
+var (
+ defaultTimeout = 1 * time.Second
+)
+
+type HTTP2InteropCtx struct {
+ // Inputs
+ ServerHost string
+ ServerPort int
+ UseTLS bool
+ UseTestCa bool
+ ServerHostnameOverride string
+
+ T *testing.T
+
+ // Derived
+ serverSpec string
+ authority string
+ rootCAs *x509.CertPool
+}
+
func parseFrame(r io.Reader) (Frame, error) {
fh := FrameHeader{}
if err := fh.Parse(r); err != nil {
@@ -49,22 +72,8 @@ func streamFrame(w io.Writer, f Frame) error {
return nil
}
-func getHttp2Conn(addr string) (*tls.Conn, error) {
- config := &tls.Config{
- InsecureSkipVerify: true,
- NextProtos: []string{"h2"},
- }
-
- conn, err := tls.Dial("tcp", addr, config)
- if err != nil {
- return nil, err
- }
-
- return conn, nil
-}
-
-func testClientShortSettings(addr string, length int) error {
- c, err := getHttp2Conn(addr)
+func testClientShortSettings(ctx *HTTP2InteropCtx, length int) error {
+ c, err := connect(ctx)
if err != nil {
return err
}
@@ -82,22 +91,22 @@ func testClientShortSettings(addr string, length int) error {
Data: make([]byte, length),
}
if err := streamFrame(c, sf); err != nil {
+ ctx.T.Log("Unable to stream frame", sf)
return err
}
for {
- frame, err := parseFrame(c)
- if err != nil {
+ if _, err := parseFrame(c); err != nil {
+ ctx.T.Log("Unable to parse frame")
return err
}
- log.Println(frame)
}
return nil
}
-func testClientPrefaceWithStreamId(addr string) error {
- c, err := getHttp2Conn(addr)
+func testClientPrefaceWithStreamId(ctx *HTTP2InteropCtx) error {
+ c, err := connect(ctx)
if err != nil {
return err
}
@@ -119,18 +128,16 @@ func testClientPrefaceWithStreamId(addr string) error {
}
for {
- frame, err := parseFrame(c)
- if err != nil {
+ if _, err := parseFrame(c); err != nil {
return err
}
- log.Println(frame)
}
return nil
}
-func testUnknownFrameType(addr string) error {
- c, err := getHttp2Conn(addr)
+func testUnknownFrameType(ctx *HTTP2InteropCtx) error {
+ c, err := connect(ctx)
if err != nil {
return err
}
@@ -143,6 +150,7 @@ func testUnknownFrameType(addr string) error {
// Send some settings, which are part of the client preface
sf := &SettingsFrame{}
if err := streamFrame(c, sf); err != nil {
+ ctx.T.Log("Unable to stream frame", sf)
return err
}
@@ -154,6 +162,7 @@ func testUnknownFrameType(addr string) error {
},
}
if err := streamFrame(c, fh); err != nil {
+ ctx.T.Log("Unable to stream frame", fh)
return err
}
}
@@ -162,12 +171,14 @@ func testUnknownFrameType(addr string) error {
Data: []byte("01234567"),
}
if err := streamFrame(c, pf); err != nil {
+ ctx.T.Log("Unable to stream frame", sf)
return err
}
for {
frame, err := parseFrame(c)
if err != nil {
+ ctx.T.Log("Unable to parse frame")
return err
}
if npf, ok := frame.(*PingFrame); !ok {
@@ -183,8 +194,8 @@ func testUnknownFrameType(addr string) error {
return nil
}
-func testShortPreface(addr string, prefacePrefix string) error {
- c, err := getHttp2Conn(addr)
+func testShortPreface(ctx *HTTP2InteropCtx, prefacePrefix string) error {
+ c, err := connect(ctx)
if err != nil {
return err
}
@@ -201,17 +212,15 @@ func testShortPreface(addr string, prefacePrefix string) error {
return err
}
-func testTLSMaxVersion(addr string, version uint16) error {
- config := &tls.Config{
- InsecureSkipVerify: true,
- NextProtos: []string{"h2"},
- MaxVersion: version,
- }
- conn, err := tls.Dial("tcp", addr, config)
+func testTLSMaxVersion(ctx *HTTP2InteropCtx, version uint16) error {
+ config := buildTlsConfig(ctx)
+ config.MaxVersion = version
+ conn, err := connectWithTls(ctx, config)
if err != nil {
return err
}
defer conn.Close()
+ conn.SetDeadline(time.Now().Add(defaultTimeout))
buf := make([]byte, 256)
if n, err := conn.Read(buf); err != nil {
@@ -223,16 +232,15 @@ func testTLSMaxVersion(addr string, version uint16) error {
return nil
}
-func testTLSApplicationProtocol(addr string) error {
- config := &tls.Config{
- InsecureSkipVerify: true,
- NextProtos: []string{"h2c"},
- }
- conn, err := tls.Dial("tcp", addr, config)
+func testTLSApplicationProtocol(ctx *HTTP2InteropCtx) error {
+ config := buildTlsConfig(ctx)
+ config.NextProtos = []string{"h2c"}
+ conn, err := connectWithTls(ctx, config)
if err != nil {
return err
}
defer conn.Close()
+ conn.SetDeadline(time.Now().Add(defaultTimeout))
buf := make([]byte, 256)
if n, err := conn.Read(buf); err != nil {
@@ -243,3 +251,48 @@ func testTLSApplicationProtocol(addr string) error {
}
return nil
}
+
+func connect(ctx *HTTP2InteropCtx) (net.Conn, error) {
+ var conn net.Conn
+ var err error
+ if !ctx.UseTLS {
+ conn, err = connectWithoutTls(ctx)
+ } else {
+ config := buildTlsConfig(ctx)
+ conn, err = connectWithTls(ctx, config)
+ }
+ if err != nil {
+ return nil, err
+ }
+ conn.SetDeadline(time.Now().Add(defaultTimeout))
+
+ return conn, nil
+}
+
+func buildTlsConfig(ctx *HTTP2InteropCtx) *tls.Config {
+ return &tls.Config{
+ RootCAs: ctx.rootCAs,
+ NextProtos: []string{"h2"},
+ ServerName: ctx.authority,
+ MinVersion: tls.VersionTLS12,
+ // TODO(carl-mastrangelo): remove this once all test certificates have been updated.
+ InsecureSkipVerify: true,
+ }
+}
+
+func connectWithoutTls(ctx *HTTP2InteropCtx) (net.Conn, error) {
+ conn, err := net.DialTimeout("tcp", ctx.serverSpec, defaultTimeout)
+ if err != nil {
+ return nil, err
+ }
+ return conn, nil
+}
+
+func connectWithTls(ctx *HTTP2InteropCtx, config *tls.Config) (*tls.Conn, error) {
+ conn, err := connectWithoutTls(ctx)
+ if err != nil {
+ return nil, err
+ }
+
+ return tls.Client(conn, config), nil
+}
diff --git a/tools/http2_interop/http2interop_test.go b/tools/http2_interop/http2interop_test.go
index 3b687c035e..dc2960048f 100644
--- a/tools/http2_interop/http2interop_test.go
+++ b/tools/http2_interop/http2interop_test.go
@@ -2,46 +2,117 @@ package http2interop
import (
"crypto/tls"
+ "crypto/x509"
+ "strings"
"flag"
+ "fmt"
"io"
+ "io/ioutil"
"os"
+ "strconv"
"testing"
)
var (
- serverSpec = flag.String("spec", ":50051", "The server spec to test")
+ serverHost = flag.String("server_host", "", "The host to test")
+ serverPort = flag.Int("server_port", 443, "The port to test")
+ useTls = flag.Bool("use_tls", true, "Should TLS tests be run")
+ // TODO: implement
+ testCase = flag.String("test_case", "", "What test cases to run")
+
+ // The rest of these are unused, but present to fulfill the client interface
+ serverHostOverride = flag.String("server_host_override", "", "Unused")
+ useTestCa = flag.Bool("use_test_ca", false, "Unused")
+ defaultServiceAccount = flag.String("default_service_account", "", "Unused")
+ oauthScope = flag.String("oauth_scope", "", "Unused")
+ serviceAccountKeyFile = flag.String("service_account_key_file", "", "Unused")
)
+func InteropCtx(t *testing.T) *HTTP2InteropCtx {
+ ctx := &HTTP2InteropCtx{
+ ServerHost: *serverHost,
+ ServerPort: *serverPort,
+ ServerHostnameOverride: *serverHostOverride,
+ UseTLS: *useTls,
+ UseTestCa: *useTestCa,
+ T: t,
+ }
+
+ ctx.serverSpec = ctx.ServerHost
+ if ctx.ServerPort != -1 {
+ ctx.serverSpec += ":" + strconv.Itoa(ctx.ServerPort)
+ }
+ if ctx.ServerHostnameOverride == "" {
+ ctx.authority = ctx.ServerHost
+ } else {
+ ctx.authority = ctx.ServerHostnameOverride
+ }
+
+ if ctx.UseTestCa {
+ // It would be odd if useTestCa was true, but not useTls. meh
+ certData, err := ioutil.ReadFile("src/core/tsi/test_creds/ca.pem")
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ ctx.rootCAs = x509.NewCertPool()
+ if !ctx.rootCAs.AppendCertsFromPEM(certData) {
+ t.Fatal(fmt.Errorf("Unable to parse pem data"))
+ }
+ }
+
+ return ctx
+}
+
+func (ctx *HTTP2InteropCtx) Close() error {
+ // currently a noop
+ return nil
+}
+
func TestShortPreface(t *testing.T) {
+ ctx := InteropCtx(t)
for i := 0; i < len(Preface)-1; i++ {
- if err := testShortPreface(*serverSpec, Preface[:i]+"X"); err != io.EOF {
+ if err := testShortPreface(ctx, Preface[:i]+"X"); err != io.EOF {
t.Error("Expected an EOF but was", err)
}
}
}
func TestUnknownFrameType(t *testing.T) {
- if err := testUnknownFrameType(*serverSpec); err != nil {
+ ctx := InteropCtx(t)
+ if err := testUnknownFrameType(ctx); err != nil {
t.Fatal(err)
}
}
func TestTLSApplicationProtocol(t *testing.T) {
- if err := testTLSApplicationProtocol(*serverSpec); err != io.EOF {
- t.Fatal("Expected an EOF but was", err)
- }
+ ctx := InteropCtx(t)
+ err := testTLSApplicationProtocol(ctx);
+ matchError(t, err, "EOF")
}
func TestTLSMaxVersion(t *testing.T) {
- if err := testTLSMaxVersion(*serverSpec, tls.VersionTLS11); err != io.EOF {
- t.Fatal("Expected an EOF but was", err)
- }
+ ctx := InteropCtx(t)
+ err := testTLSMaxVersion(ctx, tls.VersionTLS11);
+ matchError(t, err, "EOF", "server selected unsupported protocol")
}
func TestClientPrefaceWithStreamId(t *testing.T) {
- if err := testClientPrefaceWithStreamId(*serverSpec); err != io.EOF {
- t.Fatal("Expected an EOF but was", err)
- }
+ ctx := InteropCtx(t)
+ err := testClientPrefaceWithStreamId(ctx)
+ matchError(t, err, "EOF")
+}
+
+func matchError(t *testing.T, err error, matches ... string) {
+ if err == nil {
+ t.Fatal("Expected an error")
+ }
+ for _, s := range matches {
+ if strings.Contains(err.Error(), s) {
+ return
+ }
+ }
+ t.Fatalf("Error %v not in %+v", err, matches)
}
func TestMain(m *testing.M) {
diff --git a/tools/jenkins/grpc_interop_http2/Dockerfile b/tools/jenkins/grpc_interop_http2/Dockerfile
new file mode 100644
index 0000000000..bb60f09f24
--- /dev/null
+++ b/tools/jenkins/grpc_interop_http2/Dockerfile
@@ -0,0 +1,36 @@
+# 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.
+
+FROM golang:1.4
+
+# Using login shell removes Go from path, so we add it.
+RUN ln -s /usr/src/go/bin/go /usr/local/bin
+
+# Define the default command.
+CMD ["bash"]
diff --git a/tools/jenkins/grpc_interop_http2/build_interop.sh b/tools/jenkins/grpc_interop_http2/build_interop.sh
new file mode 100755
index 0000000000..46ddaf929a
--- /dev/null
+++ b/tools/jenkins/grpc_interop_http2/build_interop.sh
@@ -0,0 +1,42 @@
+#!/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.
+#
+# Builds http2 interop client in a base image.
+set -e
+
+mkdir -p /var/local/git
+git clone --recursive /var/local/jenkins/grpc /var/local/git/grpc
+
+# copy service account keys if available
+cp -r /var/local/jenkins/service_account $HOME || true
+
+# compile the tests
+(cd /var/local/git/grpc/tools/http2_interop && go test -c)
+
diff --git a/tools/jenkins/run_interop.sh b/tools/jenkins/run_interop.sh
index 5dd477ed77..a424aea7fc 100755
--- a/tools/jenkins/run_interop.sh
+++ b/tools/jenkins/run_interop.sh
@@ -34,4 +34,4 @@ set -ex
# Enter the gRPC repo root
cd $(dirname $0)/../..
-tools/run_tests/run_interop_tests.py -l all -s all --cloud_to_prod --cloud_to_prod_auth --use_docker -t -j 12 $@ || true
+tools/run_tests/run_interop_tests.py -l all -s all --cloud_to_prod --cloud_to_prod_auth --use_docker --http2_interop -t -j 12 $@ || true
diff --git a/tools/run_tests/port_server.py b/tools/run_tests/port_server.py
index 3b85486ebf..14e82b601e 100755
--- a/tools/run_tests/port_server.py
+++ b/tools/run_tests/port_server.py
@@ -42,7 +42,7 @@ import time
# increment this number whenever making a change to ensure that
# the changes are picked up by running CI servers
# note that all changes must be backwards compatible
-_MY_VERSION = 5
+_MY_VERSION = 7
if len(sys.argv) == 2 and sys.argv[1] == 'dump_version':
diff --git a/tools/run_tests/report_utils.py b/tools/run_tests/report_utils.py
index 57a93d0da0..bb9eca4254 100644
--- a/tools/run_tests/report_utils.py
+++ b/tools/run_tests/report_utils.py
@@ -108,10 +108,12 @@ def fill_one_test_result(shortname, resultset, html_str):
def render_html_report(client_langs, server_langs, test_cases, auth_test_cases,
- resultset, num_failures, cloud_to_prod):
+ http2_cases, resultset, num_failures, cloud_to_prod,
+ http2_interop):
"""Generate html report."""
sorted_test_cases = sorted(test_cases)
sorted_auth_test_cases = sorted(auth_test_cases)
+ sorted_http2_cases = sorted(http2_cases)
sorted_client_langs = sorted(client_langs)
sorted_server_langs = sorted(server_langs)
html_str = ('<!DOCTYPE html>\n'
@@ -149,6 +151,30 @@ def render_html_report(client_langs, server_langs, test_cases, auth_test_cases,
html_str = fill_one_test_result(shortname, resultset, html_str)
html_str = '%s</tr>\n' % html_str
html_str = '%s</table>\n' % html_str
+ if http2_interop:
+ # Each column header is the server language.
+ html_str = ('%s<h2>HTTP/2 Interop</h2>\n'
+ '<table style=\"width:100%%\" border=\"1\">\n'
+ '<tr bgcolor=\"#00BFFF\">\n'
+ '<th>Servers &#9658;<br/>'
+ 'Test Cases &#9660;</th>\n') % html_str
+ for server_lang in sorted_server_langs:
+ html_str = '%s<th>%s\n' % (html_str, server_lang)
+ if cloud_to_prod:
+ html_str = '%s<th>%s\n' % (html_str, "prod")
+ html_str = '%s</tr>\n' % html_str
+ for test_case in sorted_http2_cases:
+ html_str = '%s<tr><td><b>%s</b></td>\n' % (html_str, test_case)
+ # Fill up the cells with test result.
+ for server_lang in sorted_server_langs:
+ shortname = 'cloud_to_cloud:%s:%s_server:%s' % (
+ "http2", server_lang, test_case)
+ html_str = fill_one_test_result(shortname, resultset, html_str)
+ if cloud_to_prod:
+ shortname = 'cloud_to_prod:%s:%s' % ("http2", test_case)
+ html_str = fill_one_test_result(shortname, resultset, html_str)
+ html_str = '%s</tr>\n' % html_str
+ html_str = '%s</table>\n' % html_str
if server_langs:
for test_case in sorted_test_cases:
# Each column header is the client language.
diff --git a/tools/run_tests/run_interop_tests.py b/tools/run_tests/run_interop_tests.py
index cebe246886..2634164a21 100755
--- a/tools/run_tests/run_interop_tests.py
+++ b/tools/run_tests/run_interop_tests.py
@@ -159,6 +159,31 @@ class GoLanguage:
return 'go'
+class Http2Client:
+ """Represents the HTTP/2 Interop Test
+
+ This pretends to be a language in order to be built and run, but really it
+ isn't.
+ """
+ def __init__(self):
+ self.client_cwd = None
+ self.safename = str(self)
+
+ def client_args(self):
+ return ['tools/http2_interop/http2_interop.test']
+
+ def cloud_to_prod_env(self):
+ return {}
+
+ def global_env(self):
+ return {}
+
+ def unimplemented_test_cases(self):
+ return _TEST_CASES
+
+ def __str__(self):
+ return 'http2'
+
class NodeLanguage:
def __init__(self):
@@ -281,6 +306,7 @@ _TEST_CASES = ['large_unary', 'empty_unary', 'ping_pong',
_AUTH_TEST_CASES = ['compute_engine_creds', 'jwt_token_creds',
'oauth2_auth_token', 'per_rpc_creds']
+_HTTP2_TEST_CASES = ["tls"]
def docker_run_cmdline(cmdline, image, docker_args=[], cwd=None, environ=None):
"""Wraps given cmdline array to create 'docker run' cmdline from it."""
@@ -439,6 +465,7 @@ def server_jobspec(language, docker_image):
environ=environ,
docker_args=['-p', str(_DEFAULT_SERVER_PORT),
'--name', container_name])
+
server_job = jobset.JobSpec(
cmdline=docker_cmdline,
environ=environ,
@@ -516,6 +543,12 @@ argp.add_argument('--allow_flakes',
action='store_const',
const=True,
help='Allow flaky tests to show as passing (re-runs failed tests up to five times)')
+argp.add_argument('--http2_interop',
+ default=False,
+ action='store_const',
+ const=True,
+ help='Enable HTTP/2 interop tests')
+
args = argp.parse_args()
servers = set(s for s in itertools.chain.from_iterable(_SERVERS
@@ -539,12 +572,16 @@ languages = set(_LANGUAGES[l]
for l in itertools.chain.from_iterable(
_LANGUAGES.iterkeys() if x == 'all' else [x]
for x in args.language))
+
+http2Interop = Http2Client() if args.http2_interop else None
docker_images={}
if args.use_docker:
# languages for which to build docker images
languages_to_build = set(_LANGUAGES[k] for k in set([str(l) for l in languages] +
[s for s in servers]))
+ if args.http2_interop:
+ languages_to_build.add(http2Interop)
build_jobs = []
for l in languages_to_build:
@@ -586,6 +623,15 @@ try:
test_job = cloud_to_prod_jobspec(language, test_case,
docker_image=docker_images.get(str(language)))
jobs.append(test_job)
+
+ # TODO(carl-mastrangelo): Currently prod TLS terminators aren't spec compliant. Reenable
+ # this once a better solution is in place.
+ if args.http2_interop and False:
+ for test_case in _HTTP2_TEST_CASES:
+ test_job = cloud_to_prod_jobspec(http2Interop, test_case,
+ docker_image=docker_images.get(str(http2Interop)))
+ jobs.append(test_job)
+
if args.cloud_to_prod_auth:
for language in languages:
@@ -613,6 +659,19 @@ try:
server_port,
docker_image=docker_images.get(str(language)))
jobs.append(test_job)
+
+ if args.http2_interop:
+ for test_case in _HTTP2_TEST_CASES:
+ if server_name == "go":
+ # TODO(carl-mastrangelo): Reenable after https://github.com/grpc/grpc-go/issues/434
+ continue
+ test_job = cloud_to_cloud_jobspec(http2Interop,
+ test_case,
+ server_name,
+ server_host,
+ server_port,
+ docker_image=docker_images.get(str(http2Interop)))
+ jobs.append(test_job)
if not jobs:
print 'No jobs to run.'
@@ -631,7 +690,8 @@ try:
report_utils.render_html_report(
set([str(l) for l in languages]), servers, _TEST_CASES, _AUTH_TEST_CASES,
- resultset, num_failures, args.cloud_to_prod_auth or args.cloud_to_prod)
+ _HTTP2_TEST_CASES, resultset, num_failures,
+ args.cloud_to_prod_auth or args.cloud_to_prod, args.http2_interop)
finally:
# Check if servers are still running.
diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py
index c78a120fc6..ab2b71b80e 100755
--- a/tools/run_tests/run_tests.py
+++ b/tools/run_tests/run_tests.py
@@ -147,9 +147,9 @@ class CLanguage(object):
self.platform = platform_string()
self.test_lang = test_lang
- def test_specs(self, config, travis):
+ def test_specs(self, config, args):
out = []
- binaries = get_c_tests(travis, self.test_lang)
+ binaries = get_c_tests(args.travis, self.test_lang)
for target in binaries:
if config.build_config in target['exclude_configs']:
continue
@@ -160,11 +160,16 @@ class CLanguage(object):
binary = 'bins/%s/%s' % (config.build_config, target['name'])
if os.path.isfile(binary):
out.append(config.job_spec([binary], [binary]))
- else:
+ elif args.regex == '.*' or platform_string() == 'windows':
print '\nWARNING: binary not found, skipping', binary
return sorted(out)
- def make_targets(self):
+ def make_targets(self, test_regex):
+ if platform_string() != 'windows' and test_regex != '.*':
+ # use the regex to minimize the number of things to build
+ return [target['name']
+ for target in get_c_tests(False, self.test_lang)
+ if re.search(test_regex, target['name'])]
if platform_string() == 'windows':
# don't build tools on windows just yet
return ['buildtests_%s' % self.make_target]
@@ -196,7 +201,7 @@ class CLanguage(object):
class NodeLanguage(object):
- def test_specs(self, config, travis):
+ def test_specs(self, config, args):
return [config.job_spec(['tools/run_tests/run_node.sh'], None,
environ=_FORCE_ENVIRON_FOR_WRAPPERS)]
@@ -204,7 +209,7 @@ class NodeLanguage(object):
# Default to 1 week cache expiration
return [['tools/run_tests/pre_build_node.sh']]
- def make_targets(self):
+ def make_targets(self, test_regex):
return []
def build_steps(self):
@@ -225,14 +230,14 @@ class NodeLanguage(object):
class PhpLanguage(object):
- def test_specs(self, config, travis):
+ def test_specs(self, config, args):
return [config.job_spec(['src/php/bin/run_tests.sh'], None,
environ=_FORCE_ENVIRON_FOR_WRAPPERS)]
def pre_build_steps(self):
return []
- def make_targets(self):
+ def make_targets(self, test_regex):
return ['static_c', 'shared_c']
def build_steps(self):
@@ -257,7 +262,7 @@ class PythonLanguage(object):
self._build_python_versions = ['2.7']
self._has_python_versions = []
- def test_specs(self, config, travis):
+ def test_specs(self, config, args):
environment = dict(_FORCE_ENVIRON_FOR_WRAPPERS)
environment['PYVER'] = '2.7'
return [config.job_spec(
@@ -271,7 +276,7 @@ class PythonLanguage(object):
def pre_build_steps(self):
return []
- def make_targets(self):
+ def make_targets(self, test_regex):
return ['static_c', 'grpc_python_plugin', 'shared_c']
def build_steps(self):
@@ -303,14 +308,14 @@ class PythonLanguage(object):
class RubyLanguage(object):
- def test_specs(self, config, travis):
+ def test_specs(self, config, args):
return [config.job_spec(['tools/run_tests/run_ruby.sh'], None,
environ=_FORCE_ENVIRON_FOR_WRAPPERS)]
def pre_build_steps(self):
return [['tools/run_tests/pre_build_ruby.sh']]
- def make_targets(self):
+ def make_targets(self, test_regex):
return ['static_c']
def build_steps(self):
@@ -333,7 +338,7 @@ class CSharpLanguage(object):
def __init__(self):
self.platform = platform_string()
- def test_specs(self, config, travis):
+ def test_specs(self, config, args):
assemblies = ['Grpc.Core.Tests',
'Grpc.Examples.Tests',
'Grpc.HealthCheck.Tests',
@@ -361,7 +366,7 @@ class CSharpLanguage(object):
else:
return [['tools/run_tests/pre_build_csharp.sh']]
- def make_targets(self):
+ def make_targets(self, test_regex):
# For Windows, this target doesn't really build anything,
# everything is build by buildall script later.
if self.platform == 'windows':
@@ -390,14 +395,14 @@ class CSharpLanguage(object):
class ObjCLanguage(object):
- def test_specs(self, config, travis):
+ def test_specs(self, config, args):
return [config.job_spec(['src/objective-c/tests/run_tests.sh'], None,
environ=_FORCE_ENVIRON_FOR_WRAPPERS)]
def pre_build_steps(self):
return []
- def make_targets(self):
+ def make_targets(self, test_regex):
return ['grpc_objective_c_plugin', 'interop_server']
def build_steps(self):
@@ -418,14 +423,14 @@ class ObjCLanguage(object):
class Sanity(object):
- def test_specs(self, config, travis):
+ def test_specs(self, config, args):
return [config.job_spec(['tools/run_tests/run_sanity.sh'], None),
config.job_spec(['tools/run_tests/check_sources_and_headers.py'], None)]
def pre_build_steps(self):
return []
- def make_targets(self):
+ def make_targets(self, test_regex):
return ['run_dep_checks']
def build_steps(self):
@@ -446,13 +451,13 @@ class Sanity(object):
class Build(object):
- def test_specs(self, config, travis):
+ def test_specs(self, config, args):
return []
def pre_build_steps(self):
return []
- def make_targets(self):
+ def make_targets(self, test_regex):
return ['static']
def build_steps(self):
@@ -662,7 +667,7 @@ make_targets = {}
for l in languages:
makefile = l.makefile_name()
make_targets[makefile] = make_targets.get(makefile, set()).union(
- set(l.make_targets()))
+ set(l.make_targets(args.regex)))
build_steps = list(set(
jobset.JobSpec(cmdline, environ={'CONFIG': cfg}, flake_retries=5)
@@ -744,7 +749,8 @@ def _start_port_server(port_server_port):
running = False
if running:
current_version = int(subprocess.check_output(
- [sys.executable, 'tools/run_tests/port_server.py', 'dump_version']))
+ [sys.executable, os.path.abspath('tools/run_tests/port_server.py'),
+ 'dump_version']))
print 'my port server is version %d' % current_version
running = (version >= current_version)
if not running:
@@ -755,13 +761,18 @@ def _start_port_server(port_server_port):
fd, logfile = tempfile.mkstemp()
os.close(fd)
print 'starting port_server, with log file %s' % logfile
- args = [sys.executable, 'tools/run_tests/port_server.py', '-p', '%d' % port_server_port, '-l', logfile]
+ args = [sys.executable, os.path.abspath('tools/run_tests/port_server.py'),
+ '-p', '%d' % port_server_port, '-l', logfile]
env = dict(os.environ)
env['BUILD_ID'] = 'pleaseDontKillMeJenkins'
if platform.system() == 'Windows':
+ # Working directory of port server needs to be outside of Jenkins
+ # workspace to prevent file lock issues.
+ tempdir = tempfile.mkdtemp()
port_server = subprocess.Popen(
args,
env=env,
+ cwd=tempdir,
creationflags = 0x00000008, # detached process
close_fds=True)
else:
@@ -830,12 +841,12 @@ def _calculate_num_runs_failures(list_of_results):
return num_runs, num_failures
def _build_and_run(
- check_cancelled, newline_on_success, travis, cache, xml_report=None):
+ check_cancelled, newline_on_success, cache, xml_report=None):
"""Do one pass of building & running tests."""
# build latest sequentially
num_failures, _ = jobset.run(
build_steps, maxjobs=1, stop_on_failure=True,
- newline_on_success=newline_on_success, travis=travis)
+ newline_on_success=newline_on_success, travis=args.travis)
if num_failures:
return 1
@@ -851,11 +862,11 @@ def _build_and_run(
spec
for config in run_configs
for language in languages
- for spec in language.test_specs(config, args.travis)
+ for spec in language.test_specs(config, args)
if re.search(args.regex, spec.shortname))
# When running on travis, we want out test runs to be as similar as possible
# for reproducibility purposes.
- if travis:
+ if args.travis:
massaged_one_run = sorted(one_run, key=lambda x: x.shortname)
else:
# whereas otherwise, we want to shuffle things up to give all tests a
@@ -870,7 +881,7 @@ def _build_and_run(
number_failures, resultset = jobset.run(
all_runs, check_cancelled, newline_on_success=newline_on_success,
- travis=travis, infinite_runs=infinite_runs, maxjobs=args.jobs,
+ travis=args.travis, infinite_runs=infinite_runs, maxjobs=args.jobs,
stop_on_failure=args.stop_on_failure,
cache=cache if not xml_report else None,
add_env={'GRPC_TEST_PORT_SERVER': 'localhost:%d' % port_server_port})
@@ -895,7 +906,7 @@ def _build_and_run(
number_failures, _ = jobset.run(
post_tests_steps, maxjobs=1, stop_on_failure=True,
- newline_on_success=newline_on_success, travis=travis)
+ newline_on_success=newline_on_success, travis=args.travis)
if number_failures:
return 3
@@ -916,7 +927,6 @@ if forever:
previous_success = success
success = _build_and_run(check_cancelled=have_files_changed,
newline_on_success=False,
- travis=args.travis,
cache=test_cache) == 0
if not previous_success and success:
jobset.message('SUCCESS',
@@ -928,7 +938,6 @@ if forever:
else:
result = _build_and_run(check_cancelled=lambda: False,
newline_on_success=args.newline_on_success,
- travis=args.travis,
cache=test_cache,
xml_report=args.xml_report)
if result == 0:
diff --git a/tools/run_tests/sources_and_headers.json b/tools/run_tests/sources_and_headers.json
index 667d0a7f8d..6ef3476b7f 100644
--- a/tools/run_tests/sources_and_headers.json
+++ b/tools/run_tests/sources_and_headers.json
@@ -38,9 +38,9 @@
],
"headers": [],
"language": "c",
- "name": "chttp2_status_conversion_test",
+ "name": "chttp2_hpack_encoder_test",
"src": [
- "test/core/transport/chttp2/status_conversion_test.c"
+ "test/core/transport/chttp2/hpack_encoder_test.c"
]
},
{
@@ -52,9 +52,9 @@
],
"headers": [],
"language": "c",
- "name": "chttp2_stream_encoder_test",
+ "name": "chttp2_status_conversion_test",
"src": [
- "test/core/transport/chttp2/stream_encoder_test.c"
+ "test/core/transport/chttp2/status_conversion_test.c"
]
},
{
@@ -601,20 +601,6 @@
],
"headers": [],
"language": "c",
- "name": "grpc_stream_op_test",
- "src": [
- "test/core/transport/stream_op_test.c"
- ]
- },
- {
- "deps": [
- "gpr",
- "gpr_test_util",
- "grpc",
- "grpc_test_util"
- ],
- "headers": [],
- "language": "c",
"name": "grpc_verify_jwt",
"src": [
"test/core/security/verify_jwt.c"
@@ -1922,6 +1908,21 @@
"deps": [
"end2end_certs",
"end2end_fixture_h2_compress",
+ "end2end_test_cancel_with_status",
+ "gpr",
+ "gpr_test_util",
+ "grpc",
+ "grpc_test_util"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_compress_cancel_with_status_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_certs",
+ "end2end_fixture_h2_compress",
"end2end_test_census_simple_request",
"gpr",
"gpr_test_util",
@@ -2117,6 +2118,21 @@
"deps": [
"end2end_certs",
"end2end_fixture_h2_compress",
+ "end2end_test_negative_deadline",
+ "gpr",
+ "gpr_test_util",
+ "grpc",
+ "grpc_test_util"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_compress_negative_deadline_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_certs",
+ "end2end_fixture_h2_compress",
"end2end_test_no_op",
"gpr",
"gpr_test_util",
@@ -2417,6 +2433,21 @@
"deps": [
"end2end_certs",
"end2end_fixture_h2_fakesec",
+ "end2end_test_cancel_with_status",
+ "gpr",
+ "gpr_test_util",
+ "grpc",
+ "grpc_test_util"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_fakesec_cancel_with_status_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_certs",
+ "end2end_fixture_h2_fakesec",
"end2end_test_census_simple_request",
"gpr",
"gpr_test_util",
@@ -2612,6 +2643,21 @@
"deps": [
"end2end_certs",
"end2end_fixture_h2_fakesec",
+ "end2end_test_negative_deadline",
+ "gpr",
+ "gpr_test_util",
+ "grpc",
+ "grpc_test_util"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_fakesec_negative_deadline_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_certs",
+ "end2end_fixture_h2_fakesec",
"end2end_test_no_op",
"gpr",
"gpr_test_util",
@@ -2912,6 +2958,21 @@
"deps": [
"end2end_certs",
"end2end_fixture_h2_full",
+ "end2end_test_cancel_with_status",
+ "gpr",
+ "gpr_test_util",
+ "grpc",
+ "grpc_test_util"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_full_cancel_with_status_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_certs",
+ "end2end_fixture_h2_full",
"end2end_test_census_simple_request",
"gpr",
"gpr_test_util",
@@ -3107,6 +3168,21 @@
"deps": [
"end2end_certs",
"end2end_fixture_h2_full",
+ "end2end_test_negative_deadline",
+ "gpr",
+ "gpr_test_util",
+ "grpc",
+ "grpc_test_util"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_full_negative_deadline_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_certs",
+ "end2end_fixture_h2_full",
"end2end_test_no_op",
"gpr",
"gpr_test_util",
@@ -3407,6 +3483,21 @@
"deps": [
"end2end_certs",
"end2end_fixture_h2_full+poll",
+ "end2end_test_cancel_with_status",
+ "gpr",
+ "gpr_test_util",
+ "grpc",
+ "grpc_test_util"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_full+poll_cancel_with_status_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_certs",
+ "end2end_fixture_h2_full+poll",
"end2end_test_census_simple_request",
"gpr",
"gpr_test_util",
@@ -3602,6 +3693,21 @@
"deps": [
"end2end_certs",
"end2end_fixture_h2_full+poll",
+ "end2end_test_negative_deadline",
+ "gpr",
+ "gpr_test_util",
+ "grpc",
+ "grpc_test_util"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_full+poll_negative_deadline_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_certs",
+ "end2end_fixture_h2_full+poll",
"end2end_test_no_op",
"gpr",
"gpr_test_util",
@@ -3902,6 +4008,21 @@
"deps": [
"end2end_certs",
"end2end_fixture_h2_oauth2",
+ "end2end_test_cancel_with_status",
+ "gpr",
+ "gpr_test_util",
+ "grpc",
+ "grpc_test_util"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_oauth2_cancel_with_status_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_certs",
+ "end2end_fixture_h2_oauth2",
"end2end_test_census_simple_request",
"gpr",
"gpr_test_util",
@@ -4097,6 +4218,21 @@
"deps": [
"end2end_certs",
"end2end_fixture_h2_oauth2",
+ "end2end_test_negative_deadline",
+ "gpr",
+ "gpr_test_util",
+ "grpc",
+ "grpc_test_util"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_oauth2_negative_deadline_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_certs",
+ "end2end_fixture_h2_oauth2",
"end2end_test_no_op",
"gpr",
"gpr_test_util",
@@ -4397,6 +4533,21 @@
"deps": [
"end2end_certs",
"end2end_fixture_h2_proxy",
+ "end2end_test_cancel_with_status",
+ "gpr",
+ "gpr_test_util",
+ "grpc",
+ "grpc_test_util"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_proxy_cancel_with_status_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_certs",
+ "end2end_fixture_h2_proxy",
"end2end_test_census_simple_request",
"gpr",
"gpr_test_util",
@@ -4547,6 +4698,21 @@
"deps": [
"end2end_certs",
"end2end_fixture_h2_proxy",
+ "end2end_test_negative_deadline",
+ "gpr",
+ "gpr_test_util",
+ "grpc",
+ "grpc_test_util"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_proxy_negative_deadline_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_certs",
+ "end2end_fixture_h2_proxy",
"end2end_test_no_op",
"gpr",
"gpr_test_util",
@@ -4832,6 +4998,21 @@
"deps": [
"end2end_certs",
"end2end_fixture_h2_sockpair",
+ "end2end_test_cancel_with_status",
+ "gpr",
+ "gpr_test_util",
+ "grpc",
+ "grpc_test_util"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_sockpair_cancel_with_status_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_certs",
+ "end2end_fixture_h2_sockpair",
"end2end_test_census_simple_request",
"gpr",
"gpr_test_util",
@@ -4982,6 +5163,21 @@
"deps": [
"end2end_certs",
"end2end_fixture_h2_sockpair",
+ "end2end_test_negative_deadline",
+ "gpr",
+ "gpr_test_util",
+ "grpc",
+ "grpc_test_util"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_sockpair_negative_deadline_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_certs",
+ "end2end_fixture_h2_sockpair",
"end2end_test_no_op",
"gpr",
"gpr_test_util",
@@ -5267,6 +5463,21 @@
"deps": [
"end2end_certs",
"end2end_fixture_h2_sockpair+trace",
+ "end2end_test_cancel_with_status",
+ "gpr",
+ "gpr_test_util",
+ "grpc",
+ "grpc_test_util"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_sockpair+trace_cancel_with_status_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_certs",
+ "end2end_fixture_h2_sockpair+trace",
"end2end_test_census_simple_request",
"gpr",
"gpr_test_util",
@@ -5417,6 +5628,21 @@
"deps": [
"end2end_certs",
"end2end_fixture_h2_sockpair+trace",
+ "end2end_test_negative_deadline",
+ "gpr",
+ "gpr_test_util",
+ "grpc",
+ "grpc_test_util"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_sockpair+trace_negative_deadline_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_certs",
+ "end2end_fixture_h2_sockpair+trace",
"end2end_test_no_op",
"gpr",
"gpr_test_util",
@@ -5702,6 +5928,21 @@
"deps": [
"end2end_certs",
"end2end_fixture_h2_sockpair_1byte",
+ "end2end_test_cancel_with_status",
+ "gpr",
+ "gpr_test_util",
+ "grpc",
+ "grpc_test_util"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_sockpair_1byte_cancel_with_status_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_certs",
+ "end2end_fixture_h2_sockpair_1byte",
"end2end_test_census_simple_request",
"gpr",
"gpr_test_util",
@@ -5852,6 +6093,21 @@
"deps": [
"end2end_certs",
"end2end_fixture_h2_sockpair_1byte",
+ "end2end_test_negative_deadline",
+ "gpr",
+ "gpr_test_util",
+ "grpc",
+ "grpc_test_util"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_sockpair_1byte_negative_deadline_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_certs",
+ "end2end_fixture_h2_sockpair_1byte",
"end2end_test_no_op",
"gpr",
"gpr_test_util",
@@ -6137,6 +6393,21 @@
"deps": [
"end2end_certs",
"end2end_fixture_h2_ssl",
+ "end2end_test_cancel_with_status",
+ "gpr",
+ "gpr_test_util",
+ "grpc",
+ "grpc_test_util"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_ssl_cancel_with_status_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_certs",
+ "end2end_fixture_h2_ssl",
"end2end_test_census_simple_request",
"gpr",
"gpr_test_util",
@@ -6332,6 +6603,21 @@
"deps": [
"end2end_certs",
"end2end_fixture_h2_ssl",
+ "end2end_test_negative_deadline",
+ "gpr",
+ "gpr_test_util",
+ "grpc",
+ "grpc_test_util"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_ssl_negative_deadline_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_certs",
+ "end2end_fixture_h2_ssl",
"end2end_test_no_op",
"gpr",
"gpr_test_util",
@@ -6632,6 +6918,21 @@
"deps": [
"end2end_certs",
"end2end_fixture_h2_ssl+poll",
+ "end2end_test_cancel_with_status",
+ "gpr",
+ "gpr_test_util",
+ "grpc",
+ "grpc_test_util"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_ssl+poll_cancel_with_status_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_certs",
+ "end2end_fixture_h2_ssl+poll",
"end2end_test_census_simple_request",
"gpr",
"gpr_test_util",
@@ -6827,6 +7128,21 @@
"deps": [
"end2end_certs",
"end2end_fixture_h2_ssl+poll",
+ "end2end_test_negative_deadline",
+ "gpr",
+ "gpr_test_util",
+ "grpc",
+ "grpc_test_util"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_ssl+poll_negative_deadline_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_certs",
+ "end2end_fixture_h2_ssl+poll",
"end2end_test_no_op",
"gpr",
"gpr_test_util",
@@ -7127,6 +7443,21 @@
"deps": [
"end2end_certs",
"end2end_fixture_h2_ssl_proxy",
+ "end2end_test_cancel_with_status",
+ "gpr",
+ "gpr_test_util",
+ "grpc",
+ "grpc_test_util"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_ssl_proxy_cancel_with_status_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_certs",
+ "end2end_fixture_h2_ssl_proxy",
"end2end_test_census_simple_request",
"gpr",
"gpr_test_util",
@@ -7277,6 +7608,21 @@
"deps": [
"end2end_certs",
"end2end_fixture_h2_ssl_proxy",
+ "end2end_test_negative_deadline",
+ "gpr",
+ "gpr_test_util",
+ "grpc",
+ "grpc_test_util"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_ssl_proxy_negative_deadline_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_certs",
+ "end2end_fixture_h2_ssl_proxy",
"end2end_test_no_op",
"gpr",
"gpr_test_util",
@@ -7562,6 +7908,21 @@
"deps": [
"end2end_certs",
"end2end_fixture_h2_uchannel",
+ "end2end_test_cancel_with_status",
+ "gpr",
+ "gpr_test_util",
+ "grpc",
+ "grpc_test_util"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_uchannel_cancel_with_status_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_certs",
+ "end2end_fixture_h2_uchannel",
"end2end_test_census_simple_request",
"gpr",
"gpr_test_util",
@@ -7757,6 +8118,21 @@
"deps": [
"end2end_certs",
"end2end_fixture_h2_uchannel",
+ "end2end_test_negative_deadline",
+ "gpr",
+ "gpr_test_util",
+ "grpc",
+ "grpc_test_util"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_uchannel_negative_deadline_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_certs",
+ "end2end_fixture_h2_uchannel",
"end2end_test_no_op",
"gpr",
"gpr_test_util",
@@ -8057,6 +8433,21 @@
"deps": [
"end2end_certs",
"end2end_fixture_h2_uds",
+ "end2end_test_cancel_with_status",
+ "gpr",
+ "gpr_test_util",
+ "grpc",
+ "grpc_test_util"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_uds_cancel_with_status_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_certs",
+ "end2end_fixture_h2_uds",
"end2end_test_census_simple_request",
"gpr",
"gpr_test_util",
@@ -8237,6 +8628,21 @@
"deps": [
"end2end_certs",
"end2end_fixture_h2_uds",
+ "end2end_test_negative_deadline",
+ "gpr",
+ "gpr_test_util",
+ "grpc",
+ "grpc_test_util"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_uds_negative_deadline_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_certs",
+ "end2end_fixture_h2_uds",
"end2end_test_no_op",
"gpr",
"gpr_test_util",
@@ -8537,6 +8943,21 @@
"deps": [
"end2end_certs",
"end2end_fixture_h2_uds+poll",
+ "end2end_test_cancel_with_status",
+ "gpr",
+ "gpr_test_util",
+ "grpc",
+ "grpc_test_util"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_uds+poll_cancel_with_status_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_certs",
+ "end2end_fixture_h2_uds+poll",
"end2end_test_census_simple_request",
"gpr",
"gpr_test_util",
@@ -8717,6 +9138,21 @@
"deps": [
"end2end_certs",
"end2end_fixture_h2_uds+poll",
+ "end2end_test_negative_deadline",
+ "gpr",
+ "gpr_test_util",
+ "grpc",
+ "grpc_test_util"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_uds+poll_negative_deadline_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_certs",
+ "end2end_fixture_h2_uds+poll",
"end2end_test_no_op",
"gpr",
"gpr_test_util",
@@ -8994,6 +9430,20 @@
{
"deps": [
"end2end_fixture_h2_compress",
+ "end2end_test_cancel_with_status",
+ "gpr",
+ "gpr_test_util",
+ "grpc_test_util_unsecure",
+ "grpc_unsecure"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_compress_cancel_with_status_nosec_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_fixture_h2_compress",
"end2end_test_census_simple_request",
"gpr",
"gpr_test_util",
@@ -9176,6 +9626,20 @@
{
"deps": [
"end2end_fixture_h2_compress",
+ "end2end_test_negative_deadline",
+ "gpr",
+ "gpr_test_util",
+ "grpc_test_util_unsecure",
+ "grpc_unsecure"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_compress_negative_deadline_nosec_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_fixture_h2_compress",
"end2end_test_no_op",
"gpr",
"gpr_test_util",
@@ -9442,6 +9906,20 @@
{
"deps": [
"end2end_fixture_h2_full",
+ "end2end_test_cancel_with_status",
+ "gpr",
+ "gpr_test_util",
+ "grpc_test_util_unsecure",
+ "grpc_unsecure"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_full_cancel_with_status_nosec_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_fixture_h2_full",
"end2end_test_census_simple_request",
"gpr",
"gpr_test_util",
@@ -9624,6 +10102,20 @@
{
"deps": [
"end2end_fixture_h2_full",
+ "end2end_test_negative_deadline",
+ "gpr",
+ "gpr_test_util",
+ "grpc_test_util_unsecure",
+ "grpc_unsecure"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_full_negative_deadline_nosec_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_fixture_h2_full",
"end2end_test_no_op",
"gpr",
"gpr_test_util",
@@ -9890,6 +10382,20 @@
{
"deps": [
"end2end_fixture_h2_full+poll",
+ "end2end_test_cancel_with_status",
+ "gpr",
+ "gpr_test_util",
+ "grpc_test_util_unsecure",
+ "grpc_unsecure"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_full+poll_cancel_with_status_nosec_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_fixture_h2_full+poll",
"end2end_test_census_simple_request",
"gpr",
"gpr_test_util",
@@ -10072,6 +10578,20 @@
{
"deps": [
"end2end_fixture_h2_full+poll",
+ "end2end_test_negative_deadline",
+ "gpr",
+ "gpr_test_util",
+ "grpc_test_util_unsecure",
+ "grpc_unsecure"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_full+poll_negative_deadline_nosec_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_fixture_h2_full+poll",
"end2end_test_no_op",
"gpr",
"gpr_test_util",
@@ -10338,6 +10858,20 @@
{
"deps": [
"end2end_fixture_h2_proxy",
+ "end2end_test_cancel_with_status",
+ "gpr",
+ "gpr_test_util",
+ "grpc_test_util_unsecure",
+ "grpc_unsecure"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_proxy_cancel_with_status_nosec_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_fixture_h2_proxy",
"end2end_test_census_simple_request",
"gpr",
"gpr_test_util",
@@ -10478,6 +11012,20 @@
{
"deps": [
"end2end_fixture_h2_proxy",
+ "end2end_test_negative_deadline",
+ "gpr",
+ "gpr_test_util",
+ "grpc_test_util_unsecure",
+ "grpc_unsecure"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_proxy_negative_deadline_nosec_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_fixture_h2_proxy",
"end2end_test_no_op",
"gpr",
"gpr_test_util",
@@ -10730,6 +11278,20 @@
{
"deps": [
"end2end_fixture_h2_sockpair",
+ "end2end_test_cancel_with_status",
+ "gpr",
+ "gpr_test_util",
+ "grpc_test_util_unsecure",
+ "grpc_unsecure"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_sockpair_cancel_with_status_nosec_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_fixture_h2_sockpair",
"end2end_test_census_simple_request",
"gpr",
"gpr_test_util",
@@ -10870,6 +11432,20 @@
{
"deps": [
"end2end_fixture_h2_sockpair",
+ "end2end_test_negative_deadline",
+ "gpr",
+ "gpr_test_util",
+ "grpc_test_util_unsecure",
+ "grpc_unsecure"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_sockpair_negative_deadline_nosec_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_fixture_h2_sockpair",
"end2end_test_no_op",
"gpr",
"gpr_test_util",
@@ -11122,6 +11698,20 @@
{
"deps": [
"end2end_fixture_h2_sockpair+trace",
+ "end2end_test_cancel_with_status",
+ "gpr",
+ "gpr_test_util",
+ "grpc_test_util_unsecure",
+ "grpc_unsecure"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_sockpair+trace_cancel_with_status_nosec_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_fixture_h2_sockpair+trace",
"end2end_test_census_simple_request",
"gpr",
"gpr_test_util",
@@ -11262,6 +11852,20 @@
{
"deps": [
"end2end_fixture_h2_sockpair+trace",
+ "end2end_test_negative_deadline",
+ "gpr",
+ "gpr_test_util",
+ "grpc_test_util_unsecure",
+ "grpc_unsecure"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_sockpair+trace_negative_deadline_nosec_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_fixture_h2_sockpair+trace",
"end2end_test_no_op",
"gpr",
"gpr_test_util",
@@ -11514,6 +12118,20 @@
{
"deps": [
"end2end_fixture_h2_sockpair_1byte",
+ "end2end_test_cancel_with_status",
+ "gpr",
+ "gpr_test_util",
+ "grpc_test_util_unsecure",
+ "grpc_unsecure"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_sockpair_1byte_cancel_with_status_nosec_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_fixture_h2_sockpair_1byte",
"end2end_test_census_simple_request",
"gpr",
"gpr_test_util",
@@ -11654,6 +12272,20 @@
{
"deps": [
"end2end_fixture_h2_sockpair_1byte",
+ "end2end_test_negative_deadline",
+ "gpr",
+ "gpr_test_util",
+ "grpc_test_util_unsecure",
+ "grpc_unsecure"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_sockpair_1byte_negative_deadline_nosec_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_fixture_h2_sockpair_1byte",
"end2end_test_no_op",
"gpr",
"gpr_test_util",
@@ -11906,6 +12538,20 @@
{
"deps": [
"end2end_fixture_h2_uchannel",
+ "end2end_test_cancel_with_status",
+ "gpr",
+ "gpr_test_util",
+ "grpc_test_util_unsecure",
+ "grpc_unsecure"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_uchannel_cancel_with_status_nosec_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_fixture_h2_uchannel",
"end2end_test_census_simple_request",
"gpr",
"gpr_test_util",
@@ -12088,6 +12734,20 @@
{
"deps": [
"end2end_fixture_h2_uchannel",
+ "end2end_test_negative_deadline",
+ "gpr",
+ "gpr_test_util",
+ "grpc_test_util_unsecure",
+ "grpc_unsecure"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_uchannel_negative_deadline_nosec_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_fixture_h2_uchannel",
"end2end_test_no_op",
"gpr",
"gpr_test_util",
@@ -12354,6 +13014,20 @@
{
"deps": [
"end2end_fixture_h2_uds",
+ "end2end_test_cancel_with_status",
+ "gpr",
+ "gpr_test_util",
+ "grpc_test_util_unsecure",
+ "grpc_unsecure"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_uds_cancel_with_status_nosec_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_fixture_h2_uds",
"end2end_test_census_simple_request",
"gpr",
"gpr_test_util",
@@ -12522,6 +13196,20 @@
{
"deps": [
"end2end_fixture_h2_uds",
+ "end2end_test_negative_deadline",
+ "gpr",
+ "gpr_test_util",
+ "grpc_test_util_unsecure",
+ "grpc_unsecure"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_uds_negative_deadline_nosec_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_fixture_h2_uds",
"end2end_test_no_op",
"gpr",
"gpr_test_util",
@@ -12788,6 +13476,20 @@
{
"deps": [
"end2end_fixture_h2_uds+poll",
+ "end2end_test_cancel_with_status",
+ "gpr",
+ "gpr_test_util",
+ "grpc_test_util_unsecure",
+ "grpc_unsecure"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_uds+poll_cancel_with_status_nosec_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_fixture_h2_uds+poll",
"end2end_test_census_simple_request",
"gpr",
"gpr_test_util",
@@ -12956,6 +13658,20 @@
{
"deps": [
"end2end_fixture_h2_uds+poll",
+ "end2end_test_negative_deadline",
+ "gpr",
+ "gpr_test_util",
+ "grpc_test_util_unsecure",
+ "grpc_unsecure"
+ ],
+ "headers": [],
+ "language": "c",
+ "name": "h2_uds+poll_negative_deadline_nosec_test",
+ "src": []
+ },
+ {
+ "deps": [
+ "end2end_fixture_h2_uds+poll",
"end2end_test_no_op",
"gpr",
"gpr_test_util",
@@ -13314,6 +14030,7 @@
"src/core/channel/http_client_filter.h",
"src/core/channel/http_server_filter.h",
"src/core/channel/noop_filter.h",
+ "src/core/channel/subchannel_call_holder.h",
"src/core/client_config/client_config.h",
"src/core/client_config/connector.h",
"src/core/client_config/initial_connect_string.h",
@@ -13390,7 +14107,6 @@
"src/core/statistics/census_interface.h",
"src/core/statistics/census_rpc_stats.h",
"src/core/surface/api_trace.h",
- "src/core/surface/byte_buffer_queue.h",
"src/core/surface/call.h",
"src/core/surface/call_test_only.h",
"src/core/surface/channel.h",
@@ -13399,6 +14115,7 @@
"src/core/surface/init.h",
"src/core/surface/server.h",
"src/core/surface/surface_trace.h",
+ "src/core/transport/byte_stream.h",
"src/core/transport/chttp2/alpn.h",
"src/core/transport/chttp2/bin_encoder.h",
"src/core/transport/chttp2/frame.h",
@@ -13408,6 +14125,7 @@
"src/core/transport/chttp2/frame_rst_stream.h",
"src/core/transport/chttp2/frame_settings.h",
"src/core/transport/chttp2/frame_window_update.h",
+ "src/core/transport/chttp2/hpack_encoder.h",
"src/core/transport/chttp2/hpack_parser.h",
"src/core/transport/chttp2/hpack_table.h",
"src/core/transport/chttp2/http2_errors.h",
@@ -13415,14 +14133,13 @@
"src/core/transport/chttp2/incoming_metadata.h",
"src/core/transport/chttp2/internal.h",
"src/core/transport/chttp2/status_conversion.h",
- "src/core/transport/chttp2/stream_encoder.h",
"src/core/transport/chttp2/stream_map.h",
"src/core/transport/chttp2/timeout_encoding.h",
"src/core/transport/chttp2/varint.h",
"src/core/transport/chttp2_transport.h",
"src/core/transport/connectivity_state.h",
"src/core/transport/metadata.h",
- "src/core/transport/stream_op.h",
+ "src/core/transport/metadata_batch.h",
"src/core/transport/transport.h",
"src/core/transport/transport_impl.h",
"src/core/tsi/fake_transport_security.h",
@@ -13469,6 +14186,8 @@
"src/core/channel/http_server_filter.h",
"src/core/channel/noop_filter.c",
"src/core/channel/noop_filter.h",
+ "src/core/channel/subchannel_call_holder.c",
+ "src/core/channel/subchannel_call_holder.h",
"src/core/client_config/client_config.c",
"src/core/client_config/client_config.h",
"src/core/client_config/connector.c",
@@ -13632,8 +14351,6 @@
"src/core/surface/api_trace.c",
"src/core/surface/api_trace.h",
"src/core/surface/byte_buffer.c",
- "src/core/surface/byte_buffer_queue.c",
- "src/core/surface/byte_buffer_queue.h",
"src/core/surface/byte_buffer_reader.c",
"src/core/surface/call.c",
"src/core/surface/call.h",
@@ -13660,6 +14377,8 @@
"src/core/surface/server_create.c",
"src/core/surface/surface_trace.h",
"src/core/surface/version.c",
+ "src/core/transport/byte_stream.c",
+ "src/core/transport/byte_stream.h",
"src/core/transport/chttp2/alpn.c",
"src/core/transport/chttp2/alpn.h",
"src/core/transport/chttp2/bin_encoder.c",
@@ -13677,6 +14396,8 @@
"src/core/transport/chttp2/frame_settings.h",
"src/core/transport/chttp2/frame_window_update.c",
"src/core/transport/chttp2/frame_window_update.h",
+ "src/core/transport/chttp2/hpack_encoder.c",
+ "src/core/transport/chttp2/hpack_encoder.h",
"src/core/transport/chttp2/hpack_parser.c",
"src/core/transport/chttp2/hpack_parser.h",
"src/core/transport/chttp2/hpack_table.c",
@@ -13690,8 +14411,6 @@
"src/core/transport/chttp2/parsing.c",
"src/core/transport/chttp2/status_conversion.c",
"src/core/transport/chttp2/status_conversion.h",
- "src/core/transport/chttp2/stream_encoder.c",
- "src/core/transport/chttp2/stream_encoder.h",
"src/core/transport/chttp2/stream_lists.c",
"src/core/transport/chttp2/stream_map.c",
"src/core/transport/chttp2/stream_map.h",
@@ -13706,8 +14425,8 @@
"src/core/transport/connectivity_state.h",
"src/core/transport/metadata.c",
"src/core/transport/metadata.h",
- "src/core/transport/stream_op.c",
- "src/core/transport/stream_op.h",
+ "src/core/transport/metadata_batch.c",
+ "src/core/transport/metadata_batch.h",
"src/core/transport/transport.c",
"src/core/transport/transport.h",
"src/core/transport/transport_impl.h",
@@ -13827,6 +14546,7 @@
"src/core/channel/http_client_filter.h",
"src/core/channel/http_server_filter.h",
"src/core/channel/noop_filter.h",
+ "src/core/channel/subchannel_call_holder.h",
"src/core/client_config/client_config.h",
"src/core/client_config/connector.h",
"src/core/client_config/initial_connect_string.h",
@@ -13894,7 +14614,6 @@
"src/core/statistics/census_interface.h",
"src/core/statistics/census_rpc_stats.h",
"src/core/surface/api_trace.h",
- "src/core/surface/byte_buffer_queue.h",
"src/core/surface/call.h",
"src/core/surface/call_test_only.h",
"src/core/surface/channel.h",
@@ -13903,6 +14622,7 @@
"src/core/surface/init.h",
"src/core/surface/server.h",
"src/core/surface/surface_trace.h",
+ "src/core/transport/byte_stream.h",
"src/core/transport/chttp2/alpn.h",
"src/core/transport/chttp2/bin_encoder.h",
"src/core/transport/chttp2/frame.h",
@@ -13912,6 +14632,7 @@
"src/core/transport/chttp2/frame_rst_stream.h",
"src/core/transport/chttp2/frame_settings.h",
"src/core/transport/chttp2/frame_window_update.h",
+ "src/core/transport/chttp2/hpack_encoder.h",
"src/core/transport/chttp2/hpack_parser.h",
"src/core/transport/chttp2/hpack_table.h",
"src/core/transport/chttp2/http2_errors.h",
@@ -13919,14 +14640,13 @@
"src/core/transport/chttp2/incoming_metadata.h",
"src/core/transport/chttp2/internal.h",
"src/core/transport/chttp2/status_conversion.h",
- "src/core/transport/chttp2/stream_encoder.h",
"src/core/transport/chttp2/stream_map.h",
"src/core/transport/chttp2/timeout_encoding.h",
"src/core/transport/chttp2/varint.h",
"src/core/transport/chttp2_transport.h",
"src/core/transport/connectivity_state.h",
"src/core/transport/metadata.h",
- "src/core/transport/stream_op.h",
+ "src/core/transport/metadata_batch.h",
"src/core/transport/transport.h",
"src/core/transport/transport_impl.h"
],
@@ -13968,6 +14688,8 @@
"src/core/channel/http_server_filter.h",
"src/core/channel/noop_filter.c",
"src/core/channel/noop_filter.h",
+ "src/core/channel/subchannel_call_holder.c",
+ "src/core/channel/subchannel_call_holder.h",
"src/core/client_config/client_config.c",
"src/core/client_config/client_config.h",
"src/core/client_config/connector.c",
@@ -14106,8 +14828,6 @@
"src/core/surface/api_trace.c",
"src/core/surface/api_trace.h",
"src/core/surface/byte_buffer.c",
- "src/core/surface/byte_buffer_queue.c",
- "src/core/surface/byte_buffer_queue.h",
"src/core/surface/byte_buffer_reader.c",
"src/core/surface/call.c",
"src/core/surface/call.h",
@@ -14133,6 +14853,8 @@
"src/core/surface/server_create.c",
"src/core/surface/surface_trace.h",
"src/core/surface/version.c",
+ "src/core/transport/byte_stream.c",
+ "src/core/transport/byte_stream.h",
"src/core/transport/chttp2/alpn.c",
"src/core/transport/chttp2/alpn.h",
"src/core/transport/chttp2/bin_encoder.c",
@@ -14150,6 +14872,8 @@
"src/core/transport/chttp2/frame_settings.h",
"src/core/transport/chttp2/frame_window_update.c",
"src/core/transport/chttp2/frame_window_update.h",
+ "src/core/transport/chttp2/hpack_encoder.c",
+ "src/core/transport/chttp2/hpack_encoder.h",
"src/core/transport/chttp2/hpack_parser.c",
"src/core/transport/chttp2/hpack_parser.h",
"src/core/transport/chttp2/hpack_table.c",
@@ -14163,8 +14887,6 @@
"src/core/transport/chttp2/parsing.c",
"src/core/transport/chttp2/status_conversion.c",
"src/core/transport/chttp2/status_conversion.h",
- "src/core/transport/chttp2/stream_encoder.c",
- "src/core/transport/chttp2/stream_encoder.h",
"src/core/transport/chttp2/stream_lists.c",
"src/core/transport/chttp2/stream_map.c",
"src/core/transport/chttp2/stream_map.h",
@@ -14179,8 +14901,8 @@
"src/core/transport/connectivity_state.h",
"src/core/transport/metadata.c",
"src/core/transport/metadata.h",
- "src/core/transport/stream_op.c",
- "src/core/transport/stream_op.h",
+ "src/core/transport/metadata_batch.c",
+ "src/core/transport/metadata_batch.h",
"src/core/transport/transport.c",
"src/core/transport/transport.h",
"src/core/transport/transport_impl.h",
@@ -15182,6 +15904,25 @@
"test/core/end2end/tests/cancel_test_helpers.h"
],
"language": "c",
+ "name": "end2end_test_cancel_with_status",
+ "src": [
+ "test/core/end2end/end2end_tests.h",
+ "test/core/end2end/tests/cancel_test_helpers.h",
+ "test/core/end2end/tests/cancel_with_status.c"
+ ]
+ },
+ {
+ "deps": [
+ "gpr",
+ "gpr_test_util",
+ "grpc_test_util_unsecure",
+ "grpc_unsecure"
+ ],
+ "headers": [
+ "test/core/end2end/end2end_tests.h",
+ "test/core/end2end/tests/cancel_test_helpers.h"
+ ],
+ "language": "c",
"name": "end2end_test_census_simple_request",
"src": [
"test/core/end2end/end2end_tests.h",
@@ -15429,6 +16170,25 @@
"test/core/end2end/tests/cancel_test_helpers.h"
],
"language": "c",
+ "name": "end2end_test_negative_deadline",
+ "src": [
+ "test/core/end2end/end2end_tests.h",
+ "test/core/end2end/tests/cancel_test_helpers.h",
+ "test/core/end2end/tests/negative_deadline.c"
+ ]
+ },
+ {
+ "deps": [
+ "gpr",
+ "gpr_test_util",
+ "grpc_test_util_unsecure",
+ "grpc_unsecure"
+ ],
+ "headers": [
+ "test/core/end2end/end2end_tests.h",
+ "test/core/end2end/tests/cancel_test_helpers.h"
+ ],
+ "language": "c",
"name": "end2end_test_no_op",
"src": [
"test/core/end2end/end2end_tests.h",
diff --git a/tools/run_tests/tests.json b/tools/run_tests/tests.json
index 4f1538ac2f..c4333bb1cf 100644
--- a/tools/run_tests/tests.json
+++ b/tools/run_tests/tests.json
@@ -47,7 +47,7 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "chttp2_status_conversion_test",
+ "name": "chttp2_hpack_encoder_test",
"platforms": [
"linux",
"mac",
@@ -65,7 +65,7 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "chttp2_stream_encoder_test",
+ "name": "chttp2_status_conversion_test",
"platforms": [
"linux",
"mac",
@@ -683,24 +683,6 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "grpc_stream_op_test",
- "platforms": [
- "linux",
- "mac",
- "posix",
- "windows"
- ]
- },
- {
- "ci_platforms": [
- "linux",
- "mac",
- "posix",
- "windows"
- ],
- "exclude_configs": [],
- "flaky": false,
- "language": "c",
"name": "hpack_parser_test",
"platforms": [
"linux",
@@ -1839,6 +1821,24 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_compress_cancel_with_status_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_compress_census_simple_request_test",
"platforms": [
"linux",
@@ -2073,6 +2073,24 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_compress_negative_deadline_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_compress_no_op_test",
"platforms": [
"linux",
@@ -2424,6 +2442,23 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_fakesec_cancel_with_status_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux",
+ "posix",
+ "windows"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_fakesec_census_simple_request_test",
"platforms": [
"linux",
@@ -2645,6 +2680,23 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_fakesec_negative_deadline_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux",
+ "posix",
+ "windows"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_fakesec_no_op_test",
"platforms": [
"linux",
@@ -2994,6 +3046,24 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_full_cancel_with_status_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_full_census_simple_request_test",
"platforms": [
"linux",
@@ -3228,6 +3298,24 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_full_negative_deadline_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_full_no_op_test",
"platforms": [
"linux",
@@ -3537,6 +3625,18 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_full+poll_cancel_with_status_test",
+ "platforms": [
+ "linux"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_full+poll_census_simple_request_test",
"platforms": [
"linux"
@@ -3693,6 +3793,18 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_full+poll_negative_deadline_test",
+ "platforms": [
+ "linux"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_full+poll_no_op_test",
"platforms": [
"linux"
@@ -3975,6 +4087,23 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_oauth2_cancel_with_status_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux",
+ "posix",
+ "windows"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_oauth2_census_simple_request_test",
"platforms": [
"linux",
@@ -4196,6 +4325,23 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_oauth2_negative_deadline_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux",
+ "posix",
+ "windows"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_oauth2_no_op_test",
"platforms": [
"linux",
@@ -4536,6 +4682,23 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_proxy_cancel_with_status_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux",
+ "posix",
+ "windows"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_proxy_census_simple_request_test",
"platforms": [
"linux",
@@ -4706,6 +4869,23 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_proxy_negative_deadline_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux",
+ "posix",
+ "windows"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_proxy_no_op_test",
"platforms": [
"linux",
@@ -5029,6 +5209,23 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_sockpair_cancel_with_status_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux",
+ "posix",
+ "windows"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_sockpair_census_simple_request_test",
"platforms": [
"linux",
@@ -5199,6 +5396,23 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_sockpair_negative_deadline_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux",
+ "posix",
+ "windows"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_sockpair_no_op_test",
"platforms": [
"linux",
@@ -5531,6 +5745,24 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_sockpair+trace_cancel_with_status_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_sockpair+trace_census_simple_request_test",
"platforms": [
"linux",
@@ -5711,6 +5943,24 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_sockpair+trace_negative_deadline_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_sockpair+trace_no_op_test",
"platforms": [
"linux",
@@ -6044,6 +6294,23 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_sockpair_1byte_cancel_with_status_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux",
+ "posix",
+ "windows"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_sockpair_1byte_census_simple_request_test",
"platforms": [
"linux",
@@ -6214,6 +6481,23 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_sockpair_1byte_negative_deadline_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux",
+ "posix",
+ "windows"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_sockpair_1byte_no_op_test",
"platforms": [
"linux",
@@ -6546,6 +6830,24 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_ssl_cancel_with_status_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_ssl_census_simple_request_test",
"platforms": [
"linux",
@@ -6780,6 +7082,24 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_ssl_negative_deadline_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_ssl_no_op_test",
"platforms": [
"linux",
@@ -7089,6 +7409,18 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_ssl+poll_cancel_with_status_test",
+ "platforms": [
+ "linux"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_ssl+poll_census_simple_request_test",
"platforms": [
"linux"
@@ -7245,6 +7577,18 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_ssl+poll_negative_deadline_test",
+ "platforms": [
+ "linux"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_ssl+poll_no_op_test",
"platforms": [
"linux"
@@ -7527,6 +7871,23 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_ssl_proxy_cancel_with_status_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux",
+ "posix",
+ "windows"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_ssl_proxy_census_simple_request_test",
"platforms": [
"linux",
@@ -7697,6 +8058,23 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_ssl_proxy_negative_deadline_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux",
+ "posix",
+ "windows"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_ssl_proxy_no_op_test",
"platforms": [
"linux",
@@ -8029,6 +8407,24 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_uchannel_cancel_with_status_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_uchannel_census_simple_request_test",
"platforms": [
"linux",
@@ -8263,6 +8659,24 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_uchannel_negative_deadline_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_uchannel_no_op_test",
"platforms": [
"linux",
@@ -8606,6 +9020,22 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_uds_cancel_with_status_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux",
+ "mac",
+ "posix"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_uds_census_simple_request_test",
"platforms": [
"linux",
@@ -8798,6 +9228,22 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_uds_negative_deadline_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux",
+ "mac",
+ "posix"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_uds_no_op_test",
"platforms": [
"linux",
@@ -9084,6 +9530,18 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_uds+poll_cancel_with_status_test",
+ "platforms": [
+ "linux"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_uds+poll_census_simple_request_test",
"platforms": [
"linux"
@@ -9228,6 +9686,18 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_uds+poll_negative_deadline_test",
+ "platforms": [
+ "linux"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_uds+poll_no_op_test",
"platforms": [
"linux"
@@ -9501,6 +9971,24 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_compress_cancel_with_status_nosec_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_compress_census_simple_request_nosec_test",
"platforms": [
"linux",
@@ -9735,6 +10223,24 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_compress_negative_deadline_nosec_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_compress_no_op_nosec_test",
"platforms": [
"linux",
@@ -10077,6 +10583,24 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_full_cancel_with_status_nosec_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_full_census_simple_request_nosec_test",
"platforms": [
"linux",
@@ -10311,6 +10835,24 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_full_negative_deadline_nosec_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_full_no_op_nosec_test",
"platforms": [
"linux",
@@ -10608,6 +11150,18 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_full+poll_cancel_with_status_nosec_test",
+ "platforms": [
+ "linux"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_full+poll_census_simple_request_nosec_test",
"platforms": [
"linux"
@@ -10764,6 +11318,18 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_full+poll_negative_deadline_nosec_test",
+ "platforms": [
+ "linux"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_full+poll_no_op_nosec_test",
"platforms": [
"linux"
@@ -11029,6 +11595,23 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_proxy_cancel_with_status_nosec_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux",
+ "posix",
+ "windows"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_proxy_census_simple_request_nosec_test",
"platforms": [
"linux",
@@ -11199,6 +11782,23 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_proxy_negative_deadline_nosec_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux",
+ "posix",
+ "windows"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_proxy_no_op_nosec_test",
"platforms": [
"linux",
@@ -11505,6 +12105,23 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_sockpair_cancel_with_status_nosec_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux",
+ "posix",
+ "windows"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_sockpair_census_simple_request_nosec_test",
"platforms": [
"linux",
@@ -11675,6 +12292,23 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_sockpair_negative_deadline_nosec_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux",
+ "posix",
+ "windows"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_sockpair_no_op_nosec_test",
"platforms": [
"linux",
@@ -11989,6 +12623,24 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_sockpair+trace_cancel_with_status_nosec_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_sockpair+trace_census_simple_request_nosec_test",
"platforms": [
"linux",
@@ -12169,6 +12821,24 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_sockpair+trace_negative_deadline_nosec_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_sockpair+trace_no_op_nosec_test",
"platforms": [
"linux",
@@ -12485,6 +13155,23 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_sockpair_1byte_cancel_with_status_nosec_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux",
+ "posix",
+ "windows"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_sockpair_1byte_census_simple_request_nosec_test",
"platforms": [
"linux",
@@ -12655,6 +13342,23 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_sockpair_1byte_negative_deadline_nosec_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux",
+ "posix",
+ "windows"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_sockpair_1byte_no_op_nosec_test",
"platforms": [
"linux",
@@ -12969,6 +13673,24 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_uchannel_cancel_with_status_nosec_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_uchannel_census_simple_request_nosec_test",
"platforms": [
"linux",
@@ -13203,6 +13925,24 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_uchannel_negative_deadline_nosec_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_uchannel_no_op_nosec_test",
"platforms": [
"linux",
@@ -13530,6 +14270,22 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_uds_cancel_with_status_nosec_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux",
+ "mac",
+ "posix"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_uds_census_simple_request_nosec_test",
"platforms": [
"linux",
@@ -13722,6 +14478,22 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_uds_negative_deadline_nosec_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux",
+ "mac",
+ "posix"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_uds_no_op_nosec_test",
"platforms": [
"linux",
@@ -13996,6 +14768,18 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_uds+poll_cancel_with_status_nosec_test",
+ "platforms": [
+ "linux"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_uds+poll_census_simple_request_nosec_test",
"platforms": [
"linux"
@@ -14140,6 +14924,18 @@
"exclude_configs": [],
"flaky": false,
"language": "c",
+ "name": "h2_uds+poll_negative_deadline_nosec_test",
+ "platforms": [
+ "linux"
+ ]
+ },
+ {
+ "ci_platforms": [
+ "linux"
+ ],
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c",
"name": "h2_uds+poll_no_op_nosec_test",
"platforms": [
"linux"