Browse Source

Drop support for Swift 5.0 (#1070)

Motivation:

At this point Swift 5.0 is reasonably old; 5.1 has been around well over
a year and most of the Swift on Server community adopts new Swift versions
pretty quickly. Moreover, you have to go back to Xcode 10 to get a Swift
5.0 compiler on macOS. We should bump the minimum required Swift version
before doing so is a breaking change.

Modifications:

- Raise minimum version to 5.1
- Update docs, CI, scaffolding etc.
- Remove test manifests, use test discovery instead

Result:

- Swift 5.0 is no longer supported
- Resolves #1069
George Barnett 5 years ago
parent
commit
b88c22209e

+ 5 - 1
.swiftformat

@@ -1,5 +1,5 @@
 # Language version.
---swiftversion 5.0
+--swiftversion 5.1
 
 # Ignore generated files.
 --exclude **/LinuxMain.swift,**/XCTestManifests.swift,**/*.grpc.swift,**/*.pb.swift
@@ -27,3 +27,7 @@
 
 # Don't wrap the opening brace of multiline statements.
 --disable wrapMultilineStatementBraces
+
+# We used to support 5.0 and return is redundant in more places in 5.1: enabling
+# this rule creates a large (and unnecessary) diff.
+--disable redundantReturn

+ 0 - 13
.travis-script.sh

@@ -64,18 +64,6 @@ make_test_plugin() {
   echo -en 'travis_fold:end:make.test_plugin\\r'
 }
 
-make_check_linuxmain() {
-  echo -en 'travis_fold:start:make.test_generate_linuxmain\\r'
-  info "Validating LinuxMain is up-to-date"
-  if [ "$TRAVIS_OS_NAME" = "osx" ]; then
-    make test-generate-linuxmain
-    success "LinuxMain is up-to-date"
-  else
-    info "Not running on macOS, skipping LinuxMain validation"
-  fi
-  echo -en 'travis_fold:end:make.test_generate_linuxmain\\r'
-}
-
 make_project() {
   echo -en 'travis_fold:start:make.project\\r'
   info "Validating .xcodeproj can be generated"
@@ -196,7 +184,6 @@ elif $just_interop_tests; then
   run_interop_reconnect_test
 else
   make_all
-  make_check_linuxmain
   make_test $tsan
   make_test_plugin
   make_project

+ 20 - 20
.travis.yml

@@ -26,56 +26,56 @@ jobs:
       dist: bionic
       install: ./.travis-install.sh -f  # install swiftformat
       script: ./.travis-script.sh -s  # just sanity
-      env: SWIFT_VERSION=5.2
+      env: SWIFT_VERSION=5.3.1
     # Tests for each PR.
     - &tests
       stage: "Test"
-      name: "Unit Tests: Ubuntu 18.04 (Swift 5.2)"
+      name: "Unit Tests: Ubuntu 18.04 (Swift 5.3)"
       os: linux
       dist: bionic
       install: ./.travis-install.sh -p  # install protoc
       script: ./.travis-script.sh -t  # with tsan
-      env: SWIFT_VERSION=5.2
+      env: SWIFT_VERSION=5.3.1
     - <<: *tests
-      name: "Unit Tests: Ubuntu 18.04 (Swift 5.1)"
+      name: "Unit Tests: Ubuntu 18.04 (Swift 5.2)"
       script: ./.travis-script.sh
-      env: SWIFT_VERSION=5.1.5
+      env: SWIFT_VERSION=5.2.5
     - <<: *tests
-      name: "Unit Tests: Ubuntu 18.04 (Swift 5.0)"
+      name: "Unit Tests: Ubuntu 18.04 (Swift 5.1)"
       script: ./.travis-script.sh
-      env: SWIFT_VERSION=5.0.3
+      env: SWIFT_VERSION=5.1.5
     - <<: *tests
-      name: "Unit Tests: Xcode 11.5"
+      name: "Unit Tests: Xcode 12.2"
       os: osx
-      osx_image: xcode11.5
+      osx_image: xcode12.2
     - <<: *tests
-      name: "Unit Tests: Xcode 11.4"
+      name: "Unit Tests: Xcode 11.6"
       os: osx
-      osx_image: xcode11.4
+      osx_image: xcode11.6
     # Interop Tests.
     - &interop_tests
       stage: "Interoperability Tests"
       # Linux
-      name: "Interoperability Tests: Ubuntu 18.04 (Swift 5.2)"
+      name: "Interoperability Tests: Ubuntu 18.04 (Swift 5.3)"
       os: linux
       dist: bionic
       install: ./.travis-install.sh -p -i # install protoc and interop server
       script: ./.travis-script.sh -i  # interop tests
-      env: SWIFT_VERSION=5.2
+      env: SWIFT_VERSION=5.3.1
+    - <<: *interop_tests
+      name: "Interoperability Tests: Ubuntu 18.04 (Swift 5.2)"
+      env: SWIFT_VERSION=5.2.5
     - <<: *interop_tests
       name: "Interoperability Tests: Ubuntu 18.04 (Swift 5.1)"
       env: SWIFT_VERSION=5.1.5
     - <<: *interop_tests
-      name: "Interoperability Tests: Ubuntu 18.04 (Swift 5.0)"
-      env: SWIFT_VERSION=5.0.3
-    - <<: *interop_tests
-      name: "Interoperability Tests: Xcode 11.5"
+      name: "Interoperability Tests: Xcode 12.2"
       os: osx
-      osx_image: xcode11.5
+      osx_image: xcode12.2
     - <<: *interop_tests
-      name: "Interoperability Tests: Xcode 11.4"
+      name: "Interoperability Tests: Xcode 11.6"
       os: osx
-      osx_image: xcode11.4
+      osx_image: xcode11.6
   allow_failures:
     # Swift Development builds are allowed to fail since they're pre-release.
     - <<: *development

+ 1 - 1
Examples/Google/NaturalLanguage/Package.swift

@@ -1,4 +1,4 @@
-// swift-tools-version:5.0
+// swift-tools-version:5.1
 /*
  * Copyright 2019, gRPC Authors All rights reserved.
  *

+ 1 - 3
Examples/PCAPExample/Package.swift

@@ -1,4 +1,4 @@
-// swift-tools-version:5.0
+// swift-tools-version:5.1
 /*
  * Copyright 2020, gRPC Authors All rights reserved.
  *
@@ -16,8 +16,6 @@
  */
 import PackageDescription
 
-import PackageDescription
-
 let package = Package(
   name: "PCAPExample",
   dependencies: [

+ 2 - 12
Makefile

@@ -3,7 +3,7 @@ SWIFT:=swift
 # Where products will be built; this is the SPM default.
 SWIFT_BUILD_PATH:=./.build
 SWIFT_BUILD_CONFIGURATION=debug
-SWIFT_FLAGS=--build-path=${SWIFT_BUILD_PATH} --configuration=${SWIFT_BUILD_CONFIGURATION}
+SWIFT_FLAGS=--build-path=${SWIFT_BUILD_PATH} --configuration=${SWIFT_BUILD_CONFIGURATION} --enable-test-discovery
 # Force release configuration (for plugins)
 SWIFT_FLAGS_RELEASE=$(patsubst --configuration=%,--configuration=release,$(SWIFT_FLAGS))
 
@@ -43,7 +43,7 @@ interop-test-runner:
 interop-backoff-test-runner:
 	${SWIFT_BUILD} --product GRPCConnectionBackoffInteropTest
 
-### Xcodeproj and LinuxMain
+### Xcodeproj
 
 .PHONY:
 project: ${XCODEPROJ}
@@ -53,10 +53,6 @@ ${XCODEPROJ}:
 	@-ruby scripts/fix-project-settings.rb GRPC.xcodeproj || \
 		echo "Consider running 'sudo gem install xcodeproj' to automatically set correct indentation settings for the generated project."
 
-# Generates LinuxMain.swift, only on macOS.
-generate-linuxmain:
-	${SWIFT_TEST} --generate-linuxmain
-
 ### Protobuf Generation ########################################################
 
 %.pb.swift: %.proto ${PROTOC_GEN_SWIFT}
@@ -117,12 +113,6 @@ test:
 test-tsan:
 	${SWIFT_TEST} --sanitize=thread
 
-# Checks that linuxmain has been updated: requires macOS.
-.PHONY:
-test-generate-linuxmain: generate-linuxmain
-	@git diff --exit-code Tests/LinuxMain.swift Tests/*/XCTestManifests.swift > /dev/null || \
-		{ echo "Generated tests are out-of-date; run 'swift test --generate-linuxmain' to update them!"; exit 1; }
-
 # Runs codegen tests.
 .PHONY:
 test-plugin: ${PROTOC_GEN_GRPC_SWIFT}

+ 1 - 1
Package.swift

@@ -1,4 +1,4 @@
-// swift-tools-version:5.0
+// swift-tools-version:5.1
 /*
  * Copyright 2017, gRPC Authors All rights reserved.
  *

+ 1 - 1
Performance/QPSBenchmark/Package.swift

@@ -1,4 +1,4 @@
-// swift-tools-version:5.0
+// swift-tools-version:5.1
 /*
  * Copyright 2020, gRPC Authors All rights reserved.
  *

+ 4 - 5
README.md

@@ -34,8 +34,7 @@ The remainder of this README refers to the 1.x version of gRPC Swift.
 gRPC Swift's platform support is identical to the [platform support of Swift
 NIO][swift-nio-platforms].
 
-Note that gRPC Swift uses NIO 2 and therefore requires Swift to be version 5.0
-or higher.
+Note that gRPC Swift uses NIO 2 and requires Swift to be version 5.1 or higher.
 
 ## Getting gRPC Swift
 
@@ -51,14 +50,14 @@ necessary targets:
 
 ```swift
 dependencies: [
-  .package(url: "https://github.com/grpc/grpc-swift.git", from: "1.0.0-alpha.20")
+  .package(url: "https://github.com/grpc/grpc-swift.git", from: "1.0.0-alpha.21")
 ]
 ```
 
 The syntax for target dependencies changed in Swift 5.2 and requires the package
 of each dependency to be specified.
 
-For Swift 5.2 (`swift-tools-version:5.2`):
+For Swift 5.2 (`swift-tools-version:5.2`) and later:
 
 ```swift
 .target(
@@ -67,7 +66,7 @@ For Swift 5.2 (`swift-tools-version:5.2`):
 )
 ```
 
-For Swift 5.0 (`swift-tools-version:5.0`) and 5.1 (`swift-tools-version:5.1`):
+For Swift 5.1 (`swift-tools-version:5.1`):
 
 ```swift
 .target(

+ 0 - 1247
Tests/GRPCTests/XCTestManifests.swift

@@ -1,1247 +0,0 @@
-#if !canImport(ObjectiveC)
-import XCTest
-
-extension AnyServiceClientTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__AnyServiceClientTests = [
-        ("testBidirectionalStreaming", testBidirectionalStreaming),
-        ("testClientStreaming", testClientStreaming),
-        ("testServerStreaming", testServerStreaming),
-        ("testUnary", testUnary),
-    ]
-}
-
-extension ArrayBoundsCheckingTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__ArrayBoundsCheckingTests = [
-        ("testBoundsCheckEmpty", testBoundsCheckEmpty),
-        ("testBoundsCheckNonEmpty", testBoundsCheckNonEmpty),
-    ]
-}
-
-extension CallPathTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__CallPathTests = [
-        ("testSplitPathNormal", testSplitPathNormal),
-        ("testSplitPathTooLong", testSplitPathTooLong),
-        ("testSplitPathTooShort", testSplitPathTooShort),
-        ("testTrimPrefixAll", testTrimPrefixAll),
-        ("testTrimPrefixAndRest", testTrimPrefixAndRest),
-        ("testTrimPrefixEmpty", testTrimPrefixEmpty),
-    ]
-}
-
-extension CallStartBehaviorTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__CallStartBehaviorTests = [
-        ("testFastFailure", testFastFailure),
-    ]
-}
-
-extension ChannelTransportTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__ChannelTransportTests = [
-        ("testBidirectionalHappyPath", testBidirectionalHappyPath),
-        ("testBufferedWritesAreFailedOnClose", testBufferedWritesAreFailedOnClose),
-        ("testChannelBecomesInactive", testChannelBecomesInactive),
-        ("testChannelError", testChannelError),
-        ("testChannelFutureError", testChannelFutureError),
-        ("testErrorsAreNotAlwaysStatus", testErrorsAreNotAlwaysStatus),
-        ("testInboundMethodsAfterShutdown", testInboundMethodsAfterShutdown),
-        ("testOutboundMethodsAfterShutdown", testOutboundMethodsAfterShutdown),
-        ("testTimeoutAfterActivating", testTimeoutAfterActivating),
-        ("testTimeoutBeforeActivating", testTimeoutBeforeActivating),
-        ("testTimeoutMidRPC", testTimeoutMidRPC),
-        ("testUnaryHappyPath", testUnaryHappyPath),
-    ]
-}
-
-extension ClientCallTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__ClientCallTests = [
-        ("testBidirectionalStreaming", testBidirectionalStreaming),
-        ("testCancelBeforeInvoke", testCancelBeforeInvoke),
-        ("testCancelMidRPC", testCancelMidRPC),
-        ("testClientStreaming", testClientStreaming),
-        ("testFullyManualUnary", testFullyManualUnary),
-        ("testSendBeforeInvoke", testSendBeforeInvoke),
-        ("testServerStreaming", testServerStreaming),
-        ("testUnaryCall", testUnaryCall),
-    ]
-}
-
-extension ClientCancellingTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__ClientCancellingTests = [
-        ("testBidirectionalStreaming", testBidirectionalStreaming),
-        ("testClientStreaming", testClientStreaming),
-        ("testServerStreaming", testServerStreaming),
-        ("testUnary", testUnary),
-    ]
-}
-
-extension ClientClosedChannelTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__ClientClosedChannelTests = [
-        ("testBidirectionalStreamingOnClosedConnection", testBidirectionalStreamingOnClosedConnection),
-        ("testBidirectionalStreamingWhenConnectionIsClosedBetweenMessages", testBidirectionalStreamingWhenConnectionIsClosedBetweenMessages),
-        ("testBidirectionalStreamingWithNoPromiseWhenConnectionIsClosedBetweenMessages", testBidirectionalStreamingWithNoPromiseWhenConnectionIsClosedBetweenMessages),
-        ("testClientStreamingOnClosedConnection", testClientStreamingOnClosedConnection),
-        ("testClientStreamingWhenConnectionIsClosedBetweenMessages", testClientStreamingWhenConnectionIsClosedBetweenMessages),
-        ("testServerStreamingOnClosedConnection", testServerStreamingOnClosedConnection),
-        ("testUnaryOnClosedConnection", testUnaryOnClosedConnection),
-    ]
-}
-
-extension ClientConnectionBackoffTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__ClientConnectionBackoffTests = [
-        ("testClientConnectionFailsWithNoBackoff", testClientConnectionFailsWithNoBackoff),
-        ("testClientConnectionFailureIsLimited", testClientConnectionFailureIsLimited),
-        ("testClientEventuallyConnects", testClientEventuallyConnects),
-        ("testClientReconnectsAutomatically", testClientReconnectsAutomatically),
-    ]
-}
-
-extension ClientInterceptorPipelineTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__ClientInterceptorPipelineTests = [
-        ("testEmptyPipeline", testEmptyPipeline),
-        ("testErrorDelegateIsCalled", testErrorDelegateIsCalled),
-        ("testPipelineWhenClosed", testPipelineWhenClosed),
-        ("testPipelineWithInterceptor", testPipelineWithInterceptor),
-        ("testPipelineWithTimeout", testPipelineWithTimeout),
-        ("testTimeoutIsCancelledOnCompletion", testTimeoutIsCancelledOnCompletion),
-    ]
-}
-
-extension ClientTLSFailureTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__ClientTLSFailureTests = [
-        ("testClientConnectionFailsWhenHostnameIsNotValid", testClientConnectionFailsWhenHostnameIsNotValid),
-        ("testClientConnectionFailsWhenServerIsUnknown", testClientConnectionFailsWhenServerIsUnknown),
-    ]
-}
-
-extension ClientTLSHostnameOverrideTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__ClientTLSHostnameOverrideTests = [
-        ("testAuthorityUsesTLSHostnameOverride", testAuthorityUsesTLSHostnameOverride),
-        ("testTLSWithHostnameOverride", testTLSWithHostnameOverride),
-        ("testTLSWithNoCertificateVerification", testTLSWithNoCertificateVerification),
-        ("testTLSWithoutHostnameOverride", testTLSWithoutHostnameOverride),
-    ]
-}
-
-extension ClientThrowingWhenServerReturningErrorTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__ClientThrowingWhenServerReturningErrorTests = [
-        ("testBidirectionalStreaming", testBidirectionalStreaming),
-        ("testClientStreaming", testClientStreaming),
-        ("testServerStreaming", testServerStreaming),
-        ("testUnary", testUnary),
-    ]
-}
-
-extension ClientTimeoutTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__ClientTimeoutTests = [
-        ("testBidirectionalStreamingTimeoutAfterSending", testBidirectionalStreamingTimeoutAfterSending),
-        ("testBidirectionalStreamingTimeoutBeforeSending", testBidirectionalStreamingTimeoutBeforeSending),
-        ("testClientStreamingTimeoutAfterSending", testClientStreamingTimeoutAfterSending),
-        ("testClientStreamingTimeoutBeforeSending", testClientStreamingTimeoutBeforeSending),
-        ("testServerStreamingTimeoutAfterSending", testServerStreamingTimeoutAfterSending),
-        ("testUnaryTimeoutAfterSending", testUnaryTimeoutAfterSending),
-    ]
-}
-
-extension ClientTransportTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__ClientTransportTests = [
-        ("testCancelWhenActivating", testCancelWhenActivating),
-        ("testCancelWhenActive", testCancelWhenActive),
-        ("testCancelWhenAwaitingTransport", testCancelWhenAwaitingTransport),
-        ("testCancelWhenClosed", testCancelWhenClosed),
-        ("testCancelWhenClosing", testCancelWhenClosing),
-        ("testCancelWhenIdle", testCancelWhenIdle),
-        ("testConfigurationFails", testConfigurationFails),
-        ("testErrorWhenActive", testErrorWhenActive),
-        ("testUnaryFlow", testUnaryFlow),
-    ]
-}
-
-extension ConnectionBackoffTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__ConnectionBackoffTests = [
-        ("testBackoffDoesNotExceedMaximum", testBackoffDoesNotExceedMaximum),
-        ("testBackoffWithJitter", testBackoffWithJitter),
-        ("testBackoffWithNoJitter", testBackoffWithNoJitter),
-        ("testConnectionBackoffHasLimitedRetries", testConnectionBackoffHasLimitedRetries),
-        ("testConnectionBackoffWhenLimitedToZeroRetries", testConnectionBackoffWhenLimitedToZeroRetries),
-        ("testConnectionBackoffWithNoRetries", testConnectionBackoffWithNoRetries),
-        ("testConnectionTimeoutAlwaysGreaterThanOrEqualToMinimum", testConnectionTimeoutAlwaysGreaterThanOrEqualToMinimum),
-        ("testExpectedValuesWithNoJitter", testExpectedValuesWithNoJitter),
-    ]
-}
-
-extension ConnectionFailingTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__ConnectionFailingTests = [
-        ("testStartRPCWhenChannelIsInTransientFailure", testStartRPCWhenChannelIsInTransientFailure),
-    ]
-}
-
-extension ConnectionManagerTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__ConnectionManagerTests = [
-        ("testCloseWithoutActiveRPCs", testCloseWithoutActiveRPCs),
-        ("testConnectAndDisconnect", testConnectAndDisconnect),
-        ("testConnectAndIdle", testConnectAndIdle),
-        ("testConnectAndThenBecomeInactive", testConnectAndThenBecomeInactive),
-        ("testConnectFromIdleFailsWithNoReconnect", testConnectFromIdleFailsWithNoReconnect),
-        ("testConnectOnSecondAttempt", testConnectOnSecondAttempt),
-        ("testDoomedOptimisticChannelFromConnecting", testDoomedOptimisticChannelFromConnecting),
-        ("testDoomedOptimisticChannelFromIdle", testDoomedOptimisticChannelFromIdle),
-        ("testForceIdleAfterInactive", testForceIdleAfterInactive),
-        ("testGoAwayWhenReady", testGoAwayWhenReady),
-        ("testIdleShutdown", testIdleShutdown),
-        ("testIdleTimeoutWhenThereAreActiveStreams", testIdleTimeoutWhenThereAreActiveStreams),
-        ("testOptimisticChannelFromShutdown", testOptimisticChannelFromShutdown),
-        ("testOptimisticChannelFromTransientFailure", testOptimisticChannelFromTransientFailure),
-        ("testShutdownWhileActive", testShutdownWhileActive),
-        ("testShutdownWhileConnecting", testShutdownWhileConnecting),
-        ("testShutdownWhileShutdown", testShutdownWhileShutdown),
-        ("testShutdownWhileTransientFailure", testShutdownWhileTransientFailure),
-        ("testTransientFailureWhileActive", testTransientFailureWhileActive),
-        ("testTransientFailureWhileReady", testTransientFailureWhileReady),
-    ]
-}
-
-extension ConnectivityStateMonitorTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__ConnectivityStateMonitorTests = [
-        ("testDelegateOnlyCalledForChanges", testDelegateOnlyCalledForChanges),
-    ]
-}
-
-extension DebugChannelInitializerTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__DebugChannelInitializerTests = [
-        ("testDebugChannelInitializerIsCalled", testDebugChannelInitializerIsCalled),
-    ]
-}
-
-extension DelegatingErrorHandlerTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__DelegatingErrorHandlerTests = [
-        ("testUncleanShutdownIsIgnored", testUncleanShutdownIsIgnored),
-    ]
-}
-
-extension EchoTestClientTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__EchoTestClientTests = [
-        ("testGetWithRealClientAndServer", testGetWithRealClientAndServer),
-        ("testGetWithTestClient", testGetWithTestClient),
-        ("testUpdateWithRealClientAndServer", testUpdateWithRealClientAndServer),
-        ("testUpdateWithTestClient", testUpdateWithTestClient),
-    ]
-}
-
-extension FakeChannelTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__FakeChannelTests = [
-        ("testBidirectional", testBidirectional),
-        ("testHasResponseStreamsEnqueued", testHasResponseStreamsEnqueued),
-        ("testMissingResponse", testMissingResponse),
-        ("testResponseIsReallyDequeued", testResponseIsReallyDequeued),
-        ("testUnary", testUnary),
-    ]
-}
-
-extension FakeResponseStreamExampleTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__FakeResponseStreamExampleTests = [
-        ("testBidirectionalResponseOrdering", testBidirectionalResponseOrdering),
-        ("testBidirectionalStreaming", testBidirectionalStreaming),
-        ("testBidirectionalStreamingResponseStream", testBidirectionalStreamingResponseStream),
-        ("testBidirectionalStreamingSendAfterEnd", testBidirectionalStreamingSendAfterEnd),
-        ("testBidirectionalWithCustomInitialMetadata", testBidirectionalWithCustomInitialMetadata),
-        ("testClientStreaming", testClientStreaming),
-        ("testClientStreamingResponseStream", testClientStreamingResponseStream),
-        ("testInitialMetadataIsSentAutomatically", testInitialMetadataIsSentAutomatically),
-        ("testMissingResponseStream", testMissingResponseStream),
-        ("testServerStreaming", testServerStreaming),
-        ("testServerStreamingResponseStream", testServerStreamingResponseStream),
-        ("testUnary", testUnary),
-        ("testUnaryError", testUnaryError),
-        ("testUnaryResponseOrdering", testUnaryResponseOrdering),
-        ("testUnaryResponseStream", testUnaryResponseStream),
-        ("testUnaryWithRequestHandler", testUnaryWithRequestHandler),
-        ("testUnaryWithTrailingMetadata", testUnaryWithTrailingMetadata),
-        ("testWeGetAllRequestParts", testWeGetAllRequestParts),
-        ("testWriteAfterEndFails", testWriteAfterEndFails),
-    ]
-}
-
-extension FakeResponseStreamTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__FakeResponseStreamTests = [
-        ("testStreamingIgnoresExtraMessages", testStreamingIgnoresExtraMessages),
-        ("testStreamingSendInitialMetadata", testStreamingSendInitialMetadata),
-        ("testStreamingSendMessage", testStreamingSendMessage),
-        ("testUnaryIgnoresExtraMessages", testUnaryIgnoresExtraMessages),
-        ("testUnarySendError", testUnarySendError),
-        ("testUnarySendMessage", testUnarySendMessage),
-    ]
-}
-
-extension FunctionalTestsAnonymousClient {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__FunctionalTestsAnonymousClient = [
-        ("testBidirectionalStreamingBatched", testBidirectionalStreamingBatched),
-        ("testBidirectionalStreamingLotsOfMessagesBatched", testBidirectionalStreamingLotsOfMessagesBatched),
-        ("testBidirectionalStreamingLotsOfMessagesPingPong", testBidirectionalStreamingLotsOfMessagesPingPong),
-        ("testBidirectionalStreamingPingPong", testBidirectionalStreamingPingPong),
-        ("testClientStreaming", testClientStreaming),
-        ("testClientStreamingLotsOfMessages", testClientStreamingLotsOfMessages),
-        ("testServerStreaming", testServerStreaming),
-        ("testServerStreamingLotsOfMessages", testServerStreamingLotsOfMessages),
-        ("testUnary", testUnary),
-        ("testUnaryEmptyRequest", testUnaryEmptyRequest),
-        ("testUnaryLotsOfRequests", testUnaryLotsOfRequests),
-        ("testUnaryWithLargeData", testUnaryWithLargeData),
-    ]
-}
-
-extension FunctionalTestsAnonymousClientNIOTS {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__FunctionalTestsAnonymousClientNIOTS = [
-        ("testBidirectionalStreamingBatched", testBidirectionalStreamingBatched),
-        ("testBidirectionalStreamingLotsOfMessagesBatched", testBidirectionalStreamingLotsOfMessagesBatched),
-        ("testBidirectionalStreamingLotsOfMessagesPingPong", testBidirectionalStreamingLotsOfMessagesPingPong),
-        ("testBidirectionalStreamingPingPong", testBidirectionalStreamingPingPong),
-        ("testClientStreaming", testClientStreaming),
-        ("testClientStreamingLotsOfMessages", testClientStreamingLotsOfMessages),
-        ("testServerStreaming", testServerStreaming),
-        ("testServerStreamingLotsOfMessages", testServerStreamingLotsOfMessages),
-        ("testUnary", testUnary),
-        ("testUnaryEmptyRequest", testUnaryEmptyRequest),
-        ("testUnaryLotsOfRequests", testUnaryLotsOfRequests),
-        ("testUnaryWithLargeData", testUnaryWithLargeData),
-    ]
-}
-
-extension FunctionalTestsInsecureTransport {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__FunctionalTestsInsecureTransport = [
-        ("testBidirectionalStreamingBatched", testBidirectionalStreamingBatched),
-        ("testBidirectionalStreamingLotsOfMessagesBatched", testBidirectionalStreamingLotsOfMessagesBatched),
-        ("testBidirectionalStreamingLotsOfMessagesPingPong", testBidirectionalStreamingLotsOfMessagesPingPong),
-        ("testBidirectionalStreamingPingPong", testBidirectionalStreamingPingPong),
-        ("testClientStreaming", testClientStreaming),
-        ("testClientStreamingLotsOfMessages", testClientStreamingLotsOfMessages),
-        ("testServerStreaming", testServerStreaming),
-        ("testServerStreamingLotsOfMessages", testServerStreamingLotsOfMessages),
-        ("testUnary", testUnary),
-        ("testUnaryEmptyRequest", testUnaryEmptyRequest),
-        ("testUnaryLotsOfRequests", testUnaryLotsOfRequests),
-        ("testUnaryWithLargeData", testUnaryWithLargeData),
-    ]
-}
-
-extension FunctionalTestsInsecureTransportNIOTS {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__FunctionalTestsInsecureTransportNIOTS = [
-        ("testBidirectionalStreamingBatched", testBidirectionalStreamingBatched),
-        ("testBidirectionalStreamingLotsOfMessagesBatched", testBidirectionalStreamingLotsOfMessagesBatched),
-        ("testBidirectionalStreamingLotsOfMessagesPingPong", testBidirectionalStreamingLotsOfMessagesPingPong),
-        ("testBidirectionalStreamingPingPong", testBidirectionalStreamingPingPong),
-        ("testClientStreaming", testClientStreaming),
-        ("testClientStreamingLotsOfMessages", testClientStreamingLotsOfMessages),
-        ("testServerStreaming", testServerStreaming),
-        ("testServerStreamingLotsOfMessages", testServerStreamingLotsOfMessages),
-        ("testUnary", testUnary),
-        ("testUnaryEmptyRequest", testUnaryEmptyRequest),
-        ("testUnaryLotsOfRequests", testUnaryLotsOfRequests),
-        ("testUnaryWithLargeData", testUnaryWithLargeData),
-    ]
-}
-
-extension FunctionalTestsMutualAuthentication {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__FunctionalTestsMutualAuthentication = [
-        ("testBidirectionalStreamingBatched", testBidirectionalStreamingBatched),
-        ("testBidirectionalStreamingLotsOfMessagesBatched", testBidirectionalStreamingLotsOfMessagesBatched),
-        ("testBidirectionalStreamingLotsOfMessagesPingPong", testBidirectionalStreamingLotsOfMessagesPingPong),
-        ("testBidirectionalStreamingPingPong", testBidirectionalStreamingPingPong),
-        ("testClientStreaming", testClientStreaming),
-        ("testClientStreamingLotsOfMessages", testClientStreamingLotsOfMessages),
-        ("testServerStreaming", testServerStreaming),
-        ("testServerStreamingLotsOfMessages", testServerStreamingLotsOfMessages),
-        ("testUnary", testUnary),
-        ("testUnaryEmptyRequest", testUnaryEmptyRequest),
-        ("testUnaryLotsOfRequests", testUnaryLotsOfRequests),
-        ("testUnaryWithLargeData", testUnaryWithLargeData),
-    ]
-}
-
-extension FunctionalTestsMutualAuthenticationNIOTS {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__FunctionalTestsMutualAuthenticationNIOTS = [
-        ("testBidirectionalStreamingBatched", testBidirectionalStreamingBatched),
-        ("testBidirectionalStreamingLotsOfMessagesBatched", testBidirectionalStreamingLotsOfMessagesBatched),
-        ("testBidirectionalStreamingLotsOfMessagesPingPong", testBidirectionalStreamingLotsOfMessagesPingPong),
-        ("testBidirectionalStreamingPingPong", testBidirectionalStreamingPingPong),
-        ("testClientStreaming", testClientStreaming),
-        ("testClientStreamingLotsOfMessages", testClientStreamingLotsOfMessages),
-        ("testServerStreaming", testServerStreaming),
-        ("testServerStreamingLotsOfMessages", testServerStreamingLotsOfMessages),
-        ("testUnary", testUnary),
-        ("testUnaryEmptyRequest", testUnaryEmptyRequest),
-        ("testUnaryLotsOfRequests", testUnaryLotsOfRequests),
-        ("testUnaryWithLargeData", testUnaryWithLargeData),
-    ]
-}
-
-extension GRPCClientKeepaliveTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__GRPCClientKeepaliveTests = [
-        ("testKeepaliveTimeoutFiresBeforeConnectionIsReady", testKeepaliveTimeoutFiresBeforeConnectionIsReady),
-    ]
-}
-
-extension GRPCClientStateMachineTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__GRPCClientStateMachineTests = [
-        ("testReceiveEndOfResponseStreamFromActive", testReceiveEndOfResponseStreamFromActive),
-        ("testReceiveEndOfResponseStreamFromClientActiveServerIdle", testReceiveEndOfResponseStreamFromClientActiveServerIdle),
-        ("testReceiveEndOfResponseStreamFromClientClosedServerActive", testReceiveEndOfResponseStreamFromClientClosedServerActive),
-        ("testReceiveEndOfResponseStreamFromClientClosedServerIdle", testReceiveEndOfResponseStreamFromClientClosedServerIdle),
-        ("testReceiveEndOfResponseStreamFromClosed", testReceiveEndOfResponseStreamFromClosed),
-        ("testReceiveEndOfResponseStreamFromIdle", testReceiveEndOfResponseStreamFromIdle),
-        ("testReceiveEndOfResponseStreamWithNonIntStatus", testReceiveEndOfResponseStreamWithNonIntStatus),
-        ("testReceiveEndOfResponseStreamWithStatusAndMessage", testReceiveEndOfResponseStreamWithStatusAndMessage),
-        ("testReceiveEndOfResponseStreamWithStatus", testReceiveEndOfResponseStreamWithStatus),
-        ("testReceiveEndOfResponseStreamWithUnknownStatus", testReceiveEndOfResponseStreamWithUnknownStatus),
-        ("testReceiveResponseFromActive", testReceiveResponseFromActive),
-        ("testReceiveResponseFromClientActiveServerIdle", testReceiveResponseFromClientActiveServerIdle),
-        ("testReceiveResponseFromClientClosedServerActive", testReceiveResponseFromClientClosedServerActive),
-        ("testReceiveResponseFromClientClosedServerIdle", testReceiveResponseFromClientClosedServerIdle),
-        ("testReceiveResponseFromClosed", testReceiveResponseFromClosed),
-        ("testReceiveResponseFromIdle", testReceiveResponseFromIdle),
-        ("testReceiveResponseHeadersFromActive", testReceiveResponseHeadersFromActive),
-        ("testReceiveResponseHeadersFromClientActiveServerIdle", testReceiveResponseHeadersFromClientActiveServerIdle),
-        ("testReceiveResponseHeadersFromClientClosedServerActive", testReceiveResponseHeadersFromClientClosedServerActive),
-        ("testReceiveResponseHeadersFromClientClosedServerIdle", testReceiveResponseHeadersFromClientClosedServerIdle),
-        ("testReceiveResponseHeadersFromClosed", testReceiveResponseHeadersFromClosed),
-        ("testReceiveResponseHeadersFromIdle", testReceiveResponseHeadersFromIdle),
-        ("testReceiveResponseHeadersWithInvalidContentType", testReceiveResponseHeadersWithInvalidContentType),
-        ("testReceiveResponseHeadersWithNotOkStatus", testReceiveResponseHeadersWithNotOkStatus),
-        ("testReceiveResponseHeadersWithOkStatus", testReceiveResponseHeadersWithOkStatus),
-        ("testReceiveResponseHeadersWithoutContentType", testReceiveResponseHeadersWithoutContentType),
-        ("testReceiveResponseHeadersWithSupportedCompressionMechanism", testReceiveResponseHeadersWithSupportedCompressionMechanism),
-        ("testReceiveResponseHeadersWithUnknownCompressionMechanism", testReceiveResponseHeadersWithUnknownCompressionMechanism),
-        ("testReceiveResponseHeadersWithUnsupportedCompressionMechanism", testReceiveResponseHeadersWithUnsupportedCompressionMechanism),
-        ("testReceiveTooManyRequests", testReceiveTooManyRequests),
-        ("testReceiveTooManyRequestsInOneBuffer", testReceiveTooManyRequestsInOneBuffer),
-        ("testReceiveTrailersOnlyEndOfResponseStreamWithInvalidContentType", testReceiveTrailersOnlyEndOfResponseStreamWithInvalidContentType),
-        ("testReceiveTrailersOnlyEndOfResponseStreamWithInvalidHTTPStatusAndNoGRPCStatus", testReceiveTrailersOnlyEndOfResponseStreamWithInvalidHTTPStatusAndNoGRPCStatus),
-        ("testReceiveTrailersOnlyEndOfResponseStreamWithInvalidHTTPStatusAndValidGRPCStatus", testReceiveTrailersOnlyEndOfResponseStreamWithInvalidHTTPStatusAndValidGRPCStatus),
-        ("testReceiveTrailersOnlyEndOfResponseStreamWithoutContentType", testReceiveTrailersOnlyEndOfResponseStreamWithoutContentType),
-        ("testSendEndOfRequestStreamFromActive", testSendEndOfRequestStreamFromActive),
-        ("testSendEndOfRequestStreamFromClientActiveServerIdle", testSendEndOfRequestStreamFromClientActiveServerIdle),
-        ("testSendEndOfRequestStreamFromClientClosedServerActive", testSendEndOfRequestStreamFromClientClosedServerActive),
-        ("testSendEndOfRequestStreamFromClientClosedServerIdle", testSendEndOfRequestStreamFromClientClosedServerIdle),
-        ("testSendEndOfRequestStreamFromClosed", testSendEndOfRequestStreamFromClosed),
-        ("testSendEndOfRequestStreamFromIdle", testSendEndOfRequestStreamFromIdle),
-        ("testSendRequestFromActive", testSendRequestFromActive),
-        ("testSendRequestFromClientActiveServerIdle", testSendRequestFromClientActiveServerIdle),
-        ("testSendRequestFromClientClosedServerActive", testSendRequestFromClientClosedServerActive),
-        ("testSendRequestFromClientClosedServerIdle", testSendRequestFromClientClosedServerIdle),
-        ("testSendRequestFromClosed", testSendRequestFromClosed),
-        ("testSendRequestFromIdle", testSendRequestFromIdle),
-        ("testSendRequestHeaders", testSendRequestHeaders),
-        ("testSendRequestHeadersFromActive", testSendRequestHeadersFromActive),
-        ("testSendRequestHeadersFromClientActiveServerIdle", testSendRequestHeadersFromClientActiveServerIdle),
-        ("testSendRequestHeadersFromClientClosedServerActive", testSendRequestHeadersFromClientClosedServerActive),
-        ("testSendRequestHeadersFromClientClosedServerIdle", testSendRequestHeadersFromClientClosedServerIdle),
-        ("testSendRequestHeadersFromClosed", testSendRequestHeadersFromClosed),
-        ("testSendRequestHeadersFromIdle", testSendRequestHeadersFromIdle),
-        ("testSendRequestHeadersNormalizesCustomMetadata", testSendRequestHeadersNormalizesCustomMetadata),
-        ("testSendRequestHeadersWithCustomUserAgent", testSendRequestHeadersWithCustomUserAgent),
-        ("testSendRequestHeadersWithNoCompressionForRequests", testSendRequestHeadersWithNoCompressionForRequests),
-        ("testSendRequestHeadersWithNoCompressionForResponses", testSendRequestHeadersWithNoCompressionForResponses),
-        ("testSendRequestHeadersWithNoCompressionInEitherDirection", testSendRequestHeadersWithNoCompressionInEitherDirection),
-        ("testSendTooManyRequestsFromActive", testSendTooManyRequestsFromActive),
-        ("testSendTooManyRequestsFromClientActiveServerIdle", testSendTooManyRequestsFromClientActiveServerIdle),
-        ("testSendTooManyRequestsFromClosed", testSendTooManyRequestsFromClosed),
-        ("testSimpleBidirectionalActiveFlow", testSimpleBidirectionalActiveFlow),
-        ("testSimpleClientActiveFlow", testSimpleClientActiveFlow),
-        ("testSimpleServerActiveFlow", testSimpleServerActiveFlow),
-        ("testSimpleUnaryFlow", testSimpleUnaryFlow),
-    ]
-}
-
-extension GRPCCustomPayloadTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__GRPCCustomPayloadTests = [
-        ("testCustomPayload", testCustomPayload),
-        ("testCustomPayloadClientStreaming", testCustomPayloadClientStreaming),
-        ("testCustomPayloadServerStreaming", testCustomPayloadServerStreaming),
-        ("testCustomPayloadUnary", testCustomPayloadUnary),
-        ("testNoDeserializationOnTheClient", testNoDeserializationOnTheClient),
-    ]
-}
-
-extension GRPCIdleHandlerStateMachineTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__GRPCIdleHandlerStateMachineTests = [
-        ("testIdleTimeoutTaskFiresWhenClosed", testIdleTimeoutTaskFiresWhenClosed),
-        ("testIdleTimeoutTaskFiresWhenIdle", testIdleTimeoutTaskFiresWhenIdle),
-        ("testInactiveAfterSettings", testInactiveAfterSettings),
-        ("testInactiveBeforeSettings", testInactiveBeforeSettings),
-        ("testInactiveWhenQuiescing", testInactiveWhenQuiescing),
-        ("testInactiveWhenWaitingToIdle", testInactiveWhenWaitingToIdle),
-        ("testInitiateGracefulShutdownWhenQuiescing", testInitiateGracefulShutdownWhenQuiescing),
-        ("testInitiateGracefulShutdownWhenWaitingToIdle", testInitiateGracefulShutdownWhenWaitingToIdle),
-        ("testInitiateGracefulShutdownWithNoOpenStreams", testInitiateGracefulShutdownWithNoOpenStreams),
-        ("testInitiateGracefulShutdownWithOpenStreams", testInitiateGracefulShutdownWithOpenStreams),
-        ("testNormalFlow", testNormalFlow),
-        ("testReceiveGoAwayWhenWaitingToIdle", testReceiveGoAwayWhenWaitingToIdle),
-        ("testReceiveSettings", testReceiveSettings),
-        ("testReceiveSettingsWhenWaitingToIdle", testReceiveSettingsWhenWaitingToIdle),
-        ("testScheduleIdleTaskWhenQuiescing", testScheduleIdleTaskWhenQuiescing),
-        ("testScheduleIdleTaskWhenStreamsAreOpen", testScheduleIdleTaskWhenStreamsAreOpen),
-        ("testShutdownNow", testShutdownNow),
-        ("testShutdownNowWhenQuiescing", testShutdownNowWhenQuiescing),
-        ("testShutdownNowWhenWaitingToIdle", testShutdownNowWhenWaitingToIdle),
-    ]
-}
-
-extension GRPCIdleTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__GRPCIdleTests = [
-        ("testClientIdleTimeout", testClientIdleTimeout),
-        ("testServerIdleTimeout", testServerIdleTimeout),
-    ]
-}
-
-extension GRPCInsecureInteroperabilityTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__GRPCInsecureInteroperabilityTests = [
-        ("testCacheableUnary", testCacheableUnary),
-        ("testCancelAfterBegin", testCancelAfterBegin),
-        ("testCancelAfterFirstResponse", testCancelAfterFirstResponse),
-        ("testClientCompressedStreaming", testClientCompressedStreaming),
-        ("testClientCompressedUnary", testClientCompressedUnary),
-        ("testClientStreaming", testClientStreaming),
-        ("testCustomMetadata", testCustomMetadata),
-        ("testEmptyStream", testEmptyStream),
-        ("testEmptyUnary", testEmptyUnary),
-        ("testLargeUnary", testLargeUnary),
-        ("testPingPong", testPingPong),
-        ("testServerCompressedStreaming", testServerCompressedStreaming),
-        ("testServerCompressedUnary", testServerCompressedUnary),
-        ("testServerStreaming", testServerStreaming),
-        ("testSpecialStatusAndMessage", testSpecialStatusAndMessage),
-        ("testStatusCodeAndMessage", testStatusCodeAndMessage),
-        ("testTimeoutOnSleepingServer", testTimeoutOnSleepingServer),
-        ("testUnimplementedMethod", testUnimplementedMethod),
-        ("testUnimplementedService", testUnimplementedService),
-    ]
-}
-
-extension GRPCPingHandlerTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__GRPCPingHandlerTests = [
-        ("testClosingStreamWithoutPermitCalls", testClosingStreamWithoutPermitCalls),
-        ("testClosingStreamWithPermitCalls", testClosingStreamWithPermitCalls),
-        ("testIntervalTooEarlyWithCallInFlight", testIntervalTooEarlyWithCallInFlight),
-        ("testIntervalTooEarlyWithoutCallsInFlight", testIntervalTooEarlyWithoutCallsInFlight),
-        ("testIntervalWithCallInFlight", testIntervalWithCallInFlight),
-        ("testIntervalWithCallNoLongerInFlight", testIntervalWithCallNoLongerInFlight),
-        ("testIntervalWithCallNoLongerInFlightButPermitted", testIntervalWithCallNoLongerInFlightButPermitted),
-        ("testIntervalWithoutCallsInFlight", testIntervalWithoutCallsInFlight),
-        ("testIntervalWithoutCallsInFlightButPermitted", testIntervalWithoutCallsInFlightButPermitted),
-        ("testPingStrikesOnClientShouldHaveNoEffect", testPingStrikesOnClientShouldHaveNoEffect),
-        ("testPingStrikesOnServer", testPingStrikesOnServer),
-        ("testPingWithoutDataResultsInPongForClient", testPingWithoutDataResultsInPongForClient),
-        ("testPingWithoutDataResultsInPongForServer", testPingWithoutDataResultsInPongForServer),
-    ]
-}
-
-extension GRPCSecureInteroperabilityTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__GRPCSecureInteroperabilityTests = [
-        ("testCacheableUnary", testCacheableUnary),
-        ("testCancelAfterBegin", testCancelAfterBegin),
-        ("testCancelAfterFirstResponse", testCancelAfterFirstResponse),
-        ("testClientCompressedStreaming", testClientCompressedStreaming),
-        ("testClientCompressedUnary", testClientCompressedUnary),
-        ("testClientStreaming", testClientStreaming),
-        ("testCustomMetadata", testCustomMetadata),
-        ("testEmptyStream", testEmptyStream),
-        ("testEmptyUnary", testEmptyUnary),
-        ("testLargeUnary", testLargeUnary),
-        ("testPingPong", testPingPong),
-        ("testServerCompressedStreaming", testServerCompressedStreaming),
-        ("testServerCompressedUnary", testServerCompressedUnary),
-        ("testServerStreaming", testServerStreaming),
-        ("testSpecialStatusAndMessage", testSpecialStatusAndMessage),
-        ("testStatusCodeAndMessage", testStatusCodeAndMessage),
-        ("testTimeoutOnSleepingServer", testTimeoutOnSleepingServer),
-        ("testUnimplementedMethod", testUnimplementedMethod),
-        ("testUnimplementedService", testUnimplementedService),
-    ]
-}
-
-extension GRPCServerPipelineConfiguratorTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__GRPCServerPipelineConfiguratorTests = [
-        ("testALPNFallbackToAlreadyBufferedBytes", testALPNFallbackToAlreadyBufferedBytes),
-        ("testALPNIsPreferredOverBytes", testALPNIsPreferredOverBytes),
-        ("testGRPCExpSetupViaALPN", testGRPCExpSetupViaALPN),
-        ("testHTTP1Dot1SetupViaALPN", testHTTP1Dot1SetupViaALPN),
-        ("testHTTP1Dot1SetupViaBytes", testHTTP1Dot1SetupViaBytes),
-        ("testHTTP2SetupViaALPN", testHTTP2SetupViaALPN),
-        ("testHTTP2SetupViaBytes", testHTTP2SetupViaBytes),
-        ("testNoNegotiatedProtocolCloses", testNoNegotiatedProtocolCloses),
-        ("testNoNegotiatedProtocolFallbackToBytesWhenALPNNotRequired", testNoNegotiatedProtocolFallbackToBytesWhenALPNNotRequired),
-        ("testReadsAreUnbufferedAfterConfiguration", testReadsAreUnbufferedAfterConfiguration),
-        ("testUnrecognisedALPNCloses", testUnrecognisedALPNCloses),
-    ]
-}
-
-extension GRPCStatusCodeTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__GRPCStatusCodeTests = [
-        ("testBadGateway", testBadGateway),
-        ("testBadRequest", testBadRequest),
-        ("testCodeFromRawValue", testCodeFromRawValue),
-        ("testForbidden", testForbidden),
-        ("testGatewayTimeout", testGatewayTimeout),
-        ("testNotFound", testNotFound),
-        ("testServiceUnavailable", testServiceUnavailable),
-        ("testStatusCodeAndMessageAreRespectedForNon200Responses", testStatusCodeAndMessageAreRespectedForNon200Responses),
-        ("testTooManyRequests", testTooManyRequests),
-        ("testUnauthorized", testUnauthorized),
-    ]
-}
-
-extension GRPCStatusMessageMarshallerTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__GRPCStatusMessageMarshallerTests = [
-        ("testASCIIMarshallingAndUnmarshalling", testASCIIMarshallingAndUnmarshalling),
-        ("testPercentMarshallingAndUnmarshalling", testPercentMarshallingAndUnmarshalling),
-        ("testUnicodeMarshalling", testUnicodeMarshalling),
-    ]
-}
-
-extension GRPCStatusTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__GRPCStatusTests = [
-        ("testStatusDescriptionWithMessage", testStatusDescriptionWithMessage),
-        ("testStatusDescriptionWithoutMessage", testStatusDescriptionWithoutMessage),
-    ]
-}
-
-extension GRPCTimeoutTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__GRPCTimeoutTests = [
-        ("testRoundingHoursTimeout", testRoundingHoursTimeout),
-        ("testRoundingMicrosecondsTimeout", testRoundingMicrosecondsTimeout),
-        ("testRoundingMillisecondsTimeout", testRoundingMillisecondsTimeout),
-        ("testRoundingMinutesTimeout", testRoundingMinutesTimeout),
-        ("testRoundingNanosecondsTimeout", testRoundingNanosecondsTimeout),
-        ("testRoundingNegativeTimeout", testRoundingNegativeTimeout),
-        ("testRoundingSecondsTimeout", testRoundingSecondsTimeout),
-        ("testTimeoutFromDeadline", testTimeoutFromDeadline),
-        ("testTimeoutFromDistantFuture", testTimeoutFromDistantFuture),
-        ("testTimeoutFromPastDeadline", testTimeoutFromPastDeadline),
-    ]
-}
-
-extension GRPCTypeSizeTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__GRPCTypeSizeTests = [
-        ("testGRPCClientRequestPart", testGRPCClientRequestPart),
-        ("testGRPCClientResponsePart", testGRPCClientResponsePart),
-        ("testGRPCStatus", testGRPCStatus),
-    ]
-}
-
-extension GRPCWebToHTTP2ServerCodecTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__GRPCWebToHTTP2ServerCodecTests = [
-        ("testSendAfterEnd", testSendAfterEnd),
-        ("testWebBinaryHappyPath", testWebBinaryHappyPath),
-        ("testWebTextByteByByte", testWebTextByteByByte),
-        ("testWebTextHappyPath", testWebTextHappyPath),
-        ("testWebTextStatusOnlyResponse", testWebTextStatusOnlyResponse),
-    ]
-}
-
-extension HTTP2ToRawGRPCStateMachineTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__HTTP2ToRawGRPCStateMachineTests = [
-        ("testReceiveCompressedMessageWhenCompressionIsDisabled", testReceiveCompressedMessageWhenCompressionIsDisabled),
-        ("testReceiveDataAfterPipelineIsConfigured", testReceiveDataAfterPipelineIsConfigured),
-        ("testReceiveDataAndEndStreamBeforePipelineIsConfigured", testReceiveDataAndEndStreamBeforePipelineIsConfigured),
-        ("testReceiveDataBeforePipelineIsConfigured", testReceiveDataBeforePipelineIsConfigured),
-        ("testReceiveDataWhenClosed", testReceiveDataWhenClosed),
-        ("testReceiveDataWhenPipelineIsConfigured", testReceiveDataWhenPipelineIsConfigured),
-        ("testReceiveDataWhenResponseStreamIsOpen", testReceiveDataWhenResponseStreamIsOpen),
-        ("testReceiveHeadersNegotiatesResponseEncoding", testReceiveHeadersNegotiatesResponseEncoding),
-        ("testReceiveHeadersWithIdentityCompressionWhenCompressionIsDisabled", testReceiveHeadersWithIdentityCompressionWhenCompressionIsDisabled),
-        ("testReceiveHeadersWithMultipleEncodings", testReceiveHeadersWithMultipleEncodings),
-        ("testReceiveHeadersWithSupportedButNotAdvertisedEncoding", testReceiveHeadersWithSupportedButNotAdvertisedEncoding),
-        ("testReceiveHeadersWithUnsupportedEncodingWhenCompressionIsDisabled", testReceiveHeadersWithUnsupportedEncodingWhenCompressionIsDisabled),
-        ("testReceiveHeadersWithUnsupportedEncodingWhenCompressionIsEnabled", testReceiveHeadersWithUnsupportedEncodingWhenCompressionIsEnabled),
-        ("testReceiveInvalidContentType", testReceiveInvalidContentType),
-        ("testReceiveValidHeaders", testReceiveValidHeaders),
-        ("testReceiveValidHeadersForInvalidPath", testReceiveValidHeadersForInvalidPath),
-        ("testReceiveValidHeadersForUnknownMethod", testReceiveValidHeadersForUnknownMethod),
-        ("testReceiveValidHeadersForUnknownService", testReceiveValidHeadersForUnknownService),
-        ("testSendData", testSendData),
-        ("testSendDataAfterClose", testSendDataAfterClose),
-        ("testSendDataBeforeMetadata", testSendDataBeforeMetadata),
-        ("testSendEndWhenResponseStreamIsIdle", testSendEndWhenResponseStreamIsIdle),
-        ("testSendEndWhenResponseStreamIsOpen", testSendEndWhenResponseStreamIsOpen),
-        ("testSendMetadataNormalizesUserProvidedMetadata", testSendMetadataNormalizesUserProvidedMetadata),
-        ("testSendMetadataRequestStreamClosed", testSendMetadataRequestStreamClosed),
-        ("testSendMetadataRequestStreamOpen", testSendMetadataRequestStreamOpen),
-        ("testSendMetadataWhenOpen", testSendMetadataWhenOpen),
-    ]
-}
-
-extension HTTPVersionParserTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__HTTPVersionParserTests = [
-        ("testHTTP1IncompleteRequestLine", testHTTP1IncompleteRequestLine),
-        ("testHTTP1MalformedVersion", testHTTP1MalformedVersion),
-        ("testHTTP1NoBytes", testHTTP1NoBytes),
-        ("testHTTP1RequestLine", testHTTP1RequestLine),
-        ("testHTTP1RequestLineAndMore", testHTTP1RequestLineAndMore),
-        ("testHTTP1RequestLineWithoutCRLF", testHTTP1RequestLineWithoutCRLF),
-        ("testHTTP2EnoughOfTheWrongBytes", testHTTP2EnoughOfTheWrongBytes),
-        ("testHTTP2ExactlyTheRightBytes", testHTTP2ExactlyTheRightBytes),
-        ("testHTTP2NoBytes", testHTTP2NoBytes),
-        ("testHTTP2NotEnoughBytes", testHTTP2NotEnoughBytes),
-        ("testHTTP2TheRightBytesAndMore", testHTTP2TheRightBytesAndMore),
-    ]
-}
-
-extension HeaderNormalizationTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__HeaderNormalizationTests = [
-        ("testHeadersAreNormalizedForBidirectionalStreaming", testHeadersAreNormalizedForBidirectionalStreaming),
-        ("testHeadersAreNormalizedForClientStreaming", testHeadersAreNormalizedForClientStreaming),
-        ("testHeadersAreNormalizedForServerStreaming", testHeadersAreNormalizedForServerStreaming),
-        ("testHeadersAreNormalizedForUnary", testHeadersAreNormalizedForUnary),
-    ]
-}
-
-extension ImmediatelyFailingProviderTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__ImmediatelyFailingProviderTests = [
-        ("testBidirectionalStreaming", testBidirectionalStreaming),
-        ("testClientStreaming", testClientStreaming),
-        ("testServerStreaming", testServerStreaming),
-        ("testUnary", testUnary),
-    ]
-}
-
-extension InterceptorsTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__InterceptorsTests = [
-        ("testCollect", testCollect),
-        ("testEcho", testEcho),
-        ("testExpand", testExpand),
-        ("testSayHello", testSayHello),
-        ("testUpdate", testUpdate),
-    ]
-}
-
-extension LazyEventLoopPromiseTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__LazyEventLoopPromiseTests = [
-        ("testGetFutureAfterError", testGetFutureAfterError),
-        ("testGetFutureAfterSuccess", testGetFutureAfterSuccess),
-        ("testGetFutureBeforeError", testGetFutureBeforeError),
-        ("testGetFutureBeforeSuccess", testGetFutureBeforeSuccess),
-        ("testGetFutureMultipleTimes", testGetFutureMultipleTimes),
-        ("testMultipleResolutionsIgnored", testMultipleResolutionsIgnored),
-        ("testNoFuture", testNoFuture),
-    ]
-}
-
-extension LengthPrefixedMessageReaderTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__LengthPrefixedMessageReaderTests = [
-        ("testAppendReadsAllBytes", testAppendReadsAllBytes),
-        ("testExcessiveBytesAreDiscarded", testExcessiveBytesAreDiscarded),
-        ("testNextMessageDeliveredAcrossMultipleByteBuffers", testNextMessageDeliveredAcrossMultipleByteBuffers),
-        ("testNextMessageDoesNotThrowWhenCompressionFlagIsExpectedButNotSet", testNextMessageDoesNotThrowWhenCompressionFlagIsExpectedButNotSet),
-        ("testNextMessageReturnsMessageForZeroLengthMessage", testNextMessageReturnsMessageForZeroLengthMessage),
-        ("testNextMessageReturnsMessageIsAppendedInOneBuffer", testNextMessageReturnsMessageIsAppendedInOneBuffer),
-        ("testNextMessageReturnsNilWhenNoBytesAppended", testNextMessageReturnsNilWhenNoBytesAppended),
-        ("testNextMessageReturnsNilWhenNoMessageBytesAreAvailable", testNextMessageReturnsNilWhenNoMessageBytesAreAvailable),
-        ("testNextMessageReturnsNilWhenNoMessageLengthIsAvailable", testNextMessageReturnsNilWhenNoMessageLengthIsAvailable),
-        ("testNextMessageReturnsNilWhenNotAllMessageBytesAreAvailable", testNextMessageReturnsNilWhenNotAllMessageBytesAreAvailable),
-        ("testNextMessageReturnsNilWhenNotAllMessageLengthIsAvailable", testNextMessageReturnsNilWhenNotAllMessageLengthIsAvailable),
-        ("testNextMessageThrowsWhenCompressionFlagIsSetButNotExpected", testNextMessageThrowsWhenCompressionFlagIsSetButNotExpected),
-        ("testNextMessageWhenMultipleMessagesAreBuffered", testNextMessageWhenMultipleMessagesAreBuffered),
-    ]
-}
-
-extension LengthPrefixedMessageWriterTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__LengthPrefixedMessageWriterTests = [
-        ("testWriteBytesWithLeadingSpaceAndCompression", testWriteBytesWithLeadingSpaceAndCompression),
-        ("testWriteBytesWithLeadingSpaceAndNoCompression", testWriteBytesWithLeadingSpaceAndNoCompression),
-        ("testWriteBytesWithNoLeadingSpaceAndCompression", testWriteBytesWithNoLeadingSpaceAndCompression),
-        ("testWriteBytesWithNoLeadingSpaceOrCompression", testWriteBytesWithNoLeadingSpaceOrCompression),
-    ]
-}
-
-extension MessageCompressionTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__MessageCompressionTests = [
-        ("testCompressedRequestsUncompressedResponses", testCompressedRequestsUncompressedResponses),
-        ("testCompressedRequestWithCompressionNotSupportedOnServer", testCompressedRequestWithCompressionNotSupportedOnServer),
-        ("testCompressedRequestWithDisabledServerCompressionAndUnknownCompressionAlgorithm", testCompressedRequestWithDisabledServerCompressionAndUnknownCompressionAlgorithm),
-        ("testDecompressionLimitIsRespectedByClientForStreamingCall", testDecompressionLimitIsRespectedByClientForStreamingCall),
-        ("testDecompressionLimitIsRespectedByClientForUnaryCall", testDecompressionLimitIsRespectedByClientForUnaryCall),
-        ("testDecompressionLimitIsRespectedByServerForStreamingCall", testDecompressionLimitIsRespectedByServerForStreamingCall),
-        ("testDecompressionLimitIsRespectedByServerForUnaryCall", testDecompressionLimitIsRespectedByServerForUnaryCall),
-        ("testIdentityCompressionIsntCompression", testIdentityCompressionIsntCompression),
-        ("testServerCanDecompressNonAdvertisedButSupportedCompression", testServerCanDecompressNonAdvertisedButSupportedCompression),
-        ("testServerCompressesResponseWithDifferentAlgorithmToRequest", testServerCompressesResponseWithDifferentAlgorithmToRequest),
-        ("testUncompressedRequestsCompressedResponses", testUncompressedRequestsCompressedResponses),
-    ]
-}
-
-extension MessageEncodingHeaderValidatorTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__MessageEncodingHeaderValidatorTests = [
-        ("testNoCompressionWhenEnabled", testNoCompressionWhenEnabled),
-        ("testNoCompressionWhenExplicitlyDisabled", testNoCompressionWhenExplicitlyDisabled),
-        ("testSupportedAlgorithm", testSupportedAlgorithm),
-        ("testSupportedButExplicitlyDisabled", testSupportedButExplicitlyDisabled),
-        ("testSupportedButNotAdvertisedAlgorithm", testSupportedButNotAdvertisedAlgorithm),
-        ("testUnsupportedButEnabled", testUnsupportedButEnabled),
-    ]
-}
-
-extension PlatformSupportTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__PlatformSupportTests = [
-        ("testMakeClientBootstrapReturnsClientBootstrapForEventLoop", testMakeClientBootstrapReturnsClientBootstrapForEventLoop),
-        ("testMakeClientBootstrapReturnsClientBootstrapForMultiThreadedGroup", testMakeClientBootstrapReturnsClientBootstrapForMultiThreadedGroup),
-        ("testMakeClientBootstrapReturnsNIOTSConnectionBootstrapForNIOTSGroup", testMakeClientBootstrapReturnsNIOTSConnectionBootstrapForNIOTSGroup),
-        ("testMakeClientBootstrapReturnsNIOTSConnectionBootstrapForQoSEventLoop", testMakeClientBootstrapReturnsNIOTSConnectionBootstrapForQoSEventLoop),
-        ("testMakeEventLoopGroupReturnsMultiThreadedGroupForPosix", testMakeEventLoopGroupReturnsMultiThreadedGroupForPosix),
-        ("testMakeEventLoopGroupReturnsNIOTSGroupForNetworkFramework", testMakeEventLoopGroupReturnsNIOTSGroupForNetworkFramework),
-        ("testMakeServerBootstrapReturnsNIOTSListenerBootstrapForNIOTSGroup", testMakeServerBootstrapReturnsNIOTSListenerBootstrapForNIOTSGroup),
-        ("testMakeServerBootstrapReturnsNIOTSListenerBootstrapForQoSEventLoop", testMakeServerBootstrapReturnsNIOTSListenerBootstrapForQoSEventLoop),
-        ("testMakeServerBootstrapReturnsServerBootstrapForEventLoop", testMakeServerBootstrapReturnsServerBootstrapForEventLoop),
-        ("testMakeServerBootstrapReturnsServerBootstrapForMultiThreadedGroup", testMakeServerBootstrapReturnsServerBootstrapForMultiThreadedGroup),
-        ("testRequiresZeroLengthWorkaroundWithMTELG", testRequiresZeroLengthWorkaroundWithMTELG),
-        ("testRequiresZeroLengthWorkaroundWithNetworkFramework", testRequiresZeroLengthWorkaroundWithNetworkFramework),
-    ]
-}
-
-extension ReadStateTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__ReadStateTests = [
-        ("testReadManyMessagesForManyExpectedMessages", testReadManyMessagesForManyExpectedMessages),
-        ("testReadOneMessageForManyExpectedMessages", testReadOneMessageForManyExpectedMessages),
-        ("testReadOneMessageForOneExpectedMessages", testReadOneMessageForOneExpectedMessages),
-        ("testReadTooManyMessagesForOneExpectedMessages", testReadTooManyMessagesForOneExpectedMessages),
-        ("testReadWhenNoExpectedMessages", testReadWhenNoExpectedMessages),
-        ("testReadWithLeftOverBytesForOneExpectedMessage", testReadWithLeftOverBytesForOneExpectedMessage),
-    ]
-}
-
-extension RequestIDProviderTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__RequestIDProviderTests = [
-        ("testAutogenerated", testAutogenerated),
-        ("testGenerator", testGenerator),
-        ("testUserDefined", testUserDefined),
-    ]
-}
-
-extension ServerDelayedThrowingTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__ServerDelayedThrowingTests = [
-        ("testBidirectionalStreaming", testBidirectionalStreaming),
-        ("testClientStreaming", testClientStreaming),
-        ("testServerStreaming", testServerStreaming),
-        ("testUnary", testUnary),
-    ]
-}
-
-extension ServerErrorDelegateTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__ServerErrorDelegateTests = [
-        ("testTransformLibraryError_whenTransformingErrorToStatus_bidirectionalStreaming", testTransformLibraryError_whenTransformingErrorToStatus_bidirectionalStreaming),
-        ("testTransformLibraryError_whenTransformingErrorToStatus_clientStreaming", testTransformLibraryError_whenTransformingErrorToStatus_clientStreaming),
-        ("testTransformLibraryError_whenTransformingErrorToStatus_serverStreaming", testTransformLibraryError_whenTransformingErrorToStatus_serverStreaming),
-        ("testTransformLibraryError_whenTransformingErrorToStatus_unary", testTransformLibraryError_whenTransformingErrorToStatus_unary),
-        ("testTransformLibraryError_whenTransformingErrorToStatusAndMetadata_bidirectionalStreaming", testTransformLibraryError_whenTransformingErrorToStatusAndMetadata_bidirectionalStreaming),
-        ("testTransformLibraryError_whenTransformingErrorToStatusAndMetadata_clientStreaming", testTransformLibraryError_whenTransformingErrorToStatusAndMetadata_clientStreaming),
-        ("testTransformLibraryError_whenTransformingErrorToStatusAndMetadata_serverStreaming", testTransformLibraryError_whenTransformingErrorToStatusAndMetadata_serverStreaming),
-        ("testTransformLibraryError_whenTransformingErrorToStatusAndMetadata_unary", testTransformLibraryError_whenTransformingErrorToStatusAndMetadata_unary),
-    ]
-}
-
-extension ServerErrorTransformingTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__ServerErrorTransformingTests = [
-        ("testBidirectionalStreaming", testBidirectionalStreaming),
-        ("testClientStreaming", testClientStreaming),
-        ("testServerStreaming", testServerStreaming),
-        ("testUnary", testUnary),
-    ]
-}
-
-extension ServerInterceptorPipelineTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__ServerInterceptorPipelineTests = [
-        ("testEmptyPipeline", testEmptyPipeline),
-        ("testRecordingPipeline", testRecordingPipeline),
-    ]
-}
-
-extension ServerInterceptorTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__ServerInterceptorTests = [
-        ("testBidirectionalStreamingFromInterceptor", testBidirectionalStreamingFromInterceptor),
-        ("testClientStreamingFromInterceptor", testClientStreamingFromInterceptor),
-        ("testExtraRequestEndIsIgnoredForBidirectionalStreaming", testExtraRequestEndIsIgnoredForBidirectionalStreaming),
-        ("testExtraRequestEndIsIgnoredForClientStreaming", testExtraRequestEndIsIgnoredForClientStreaming),
-        ("testExtraRequestEndIsIgnoredForServerStreaming", testExtraRequestEndIsIgnoredForServerStreaming),
-        ("testExtraRequestEndIsIgnoredForUnary", testExtraRequestEndIsIgnoredForUnary),
-        ("testExtraRequestMessageIsIgnoredForServerStreaming", testExtraRequestMessageIsIgnoredForServerStreaming),
-        ("testExtraRequestMessageIsIgnoredForUnary", testExtraRequestMessageIsIgnoredForUnary),
-        ("testExtraRequestMetadataIsIgnoredForBidirectionalStreaming", testExtraRequestMetadataIsIgnoredForBidirectionalStreaming),
-        ("testExtraRequestMetadataIsIgnoredForClientStreaming", testExtraRequestMetadataIsIgnoredForClientStreaming),
-        ("testExtraRequestMetadataIsIgnoredForServerStreaming", testExtraRequestMetadataIsIgnoredForServerStreaming),
-        ("testExtraRequestMetadataIsIgnoredForUnary", testExtraRequestMetadataIsIgnoredForUnary),
-        ("testPassThroughInterceptor", testPassThroughInterceptor),
-        ("testServerStreamingFromInterceptor", testServerStreamingFromInterceptor),
-        ("testUnaryFromInterceptor", testUnaryFromInterceptor),
-    ]
-}
-
-extension ServerTLSErrorTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__ServerTLSErrorTests = [
-        ("testErrorIsLoggedWhenSSLContextErrors", testErrorIsLoggedWhenSSLContextErrors),
-    ]
-}
-
-extension ServerThrowingTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__ServerThrowingTests = [
-        ("testBidirectionalStreaming", testBidirectionalStreaming),
-        ("testClientStreaming", testClientStreaming),
-        ("testServerStreaming", testServerStreaming),
-        ("testUnary", testUnary),
-    ]
-}
-
-extension ServerWebTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__ServerWebTests = [
-        ("testServerStreaming", testServerStreaming),
-        ("testUnary", testUnary),
-        ("testUnaryLotsOfRequests", testUnaryLotsOfRequests),
-        ("testUnaryWithoutRequestMessage", testUnaryWithoutRequestMessage),
-    ]
-}
-
-extension StopwatchTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__StopwatchTests = [
-        ("testElapsed", testElapsed),
-    ]
-}
-
-extension StreamingRequestClientCallTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__StreamingRequestClientCallTests = [
-        ("testSendMessages", testSendMessages),
-    ]
-}
-
-extension TimeLimitTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__TimeLimitTests = [
-        ("testDeadline", testDeadline),
-        ("testMakeDeadline", testMakeDeadline),
-        ("testTimeout", testTimeout),
-    ]
-}
-
-extension UserInfoTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__UserInfoTests = [
-        ("testDescription", testDescription),
-        ("testWithExtensions", testWithExtensions),
-        ("testWithSubscript", testWithSubscript),
-    ]
-}
-
-extension ZeroLengthWriteTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__ZeroLengthWriteTests = [
-        ("testZeroLengthWriteTestNetworkFrameworkInsecure", testZeroLengthWriteTestNetworkFrameworkInsecure),
-        ("testZeroLengthWriteTestNetworkFrameworkSecure", testZeroLengthWriteTestNetworkFrameworkSecure),
-        ("testZeroLengthWriteTestPosixInsecure", testZeroLengthWriteTestPosixInsecure),
-        ("testZeroLengthWriteTestPosixSecure", testZeroLengthWriteTestPosixSecure),
-    ]
-}
-
-extension ZlibTests {
-    // DO NOT MODIFY: This is autogenerated, use:
-    //   `swift test --generate-linuxmain`
-    // to regenerate.
-    static let __allTests__ZlibTests = [
-        ("testAbsoluteDecompressionLimit", testAbsoluteDecompressionLimit),
-        ("testAbsoluteDecompressionLimitMaximumSize", testAbsoluteDecompressionLimitMaximumSize),
-        ("testCompressionAndDecompressionOfASCIIBytes", testCompressionAndDecompressionOfASCIIBytes),
-        ("testCompressionAndDecompressionOfHardToCompressData", testCompressionAndDecompressionOfHardToCompressData),
-        ("testCompressionAndDecompressionOfZeros", testCompressionAndDecompressionOfZeros),
-        ("testCompressionAndDecompressionWithResets", testCompressionAndDecompressionWithResets),
-        ("testDecompressionAutomaticallyResizesOutputBuffer", testDecompressionAutomaticallyResizesOutputBuffer),
-        ("testDecompressThrowsOnGibberish", testDecompressThrowsOnGibberish),
-        ("testRatioDecompressionLimit", testRatioDecompressionLimit),
-        ("testRatioDecompressionLimitMaximumSize", testRatioDecompressionLimitMaximumSize),
-    ]
-}
-
-public func __allTests() -> [XCTestCaseEntry] {
-    return [
-        testCase(AnyServiceClientTests.__allTests__AnyServiceClientTests),
-        testCase(ArrayBoundsCheckingTests.__allTests__ArrayBoundsCheckingTests),
-        testCase(CallPathTests.__allTests__CallPathTests),
-        testCase(CallStartBehaviorTests.__allTests__CallStartBehaviorTests),
-        testCase(ChannelTransportTests.__allTests__ChannelTransportTests),
-        testCase(ClientCallTests.__allTests__ClientCallTests),
-        testCase(ClientCancellingTests.__allTests__ClientCancellingTests),
-        testCase(ClientClosedChannelTests.__allTests__ClientClosedChannelTests),
-        testCase(ClientConnectionBackoffTests.__allTests__ClientConnectionBackoffTests),
-        testCase(ClientInterceptorPipelineTests.__allTests__ClientInterceptorPipelineTests),
-        testCase(ClientTLSFailureTests.__allTests__ClientTLSFailureTests),
-        testCase(ClientTLSHostnameOverrideTests.__allTests__ClientTLSHostnameOverrideTests),
-        testCase(ClientThrowingWhenServerReturningErrorTests.__allTests__ClientThrowingWhenServerReturningErrorTests),
-        testCase(ClientTimeoutTests.__allTests__ClientTimeoutTests),
-        testCase(ClientTransportTests.__allTests__ClientTransportTests),
-        testCase(ConnectionBackoffTests.__allTests__ConnectionBackoffTests),
-        testCase(ConnectionFailingTests.__allTests__ConnectionFailingTests),
-        testCase(ConnectionManagerTests.__allTests__ConnectionManagerTests),
-        testCase(ConnectivityStateMonitorTests.__allTests__ConnectivityStateMonitorTests),
-        testCase(DebugChannelInitializerTests.__allTests__DebugChannelInitializerTests),
-        testCase(DelegatingErrorHandlerTests.__allTests__DelegatingErrorHandlerTests),
-        testCase(EchoTestClientTests.__allTests__EchoTestClientTests),
-        testCase(FakeChannelTests.__allTests__FakeChannelTests),
-        testCase(FakeResponseStreamExampleTests.__allTests__FakeResponseStreamExampleTests),
-        testCase(FakeResponseStreamTests.__allTests__FakeResponseStreamTests),
-        testCase(FunctionalTestsAnonymousClient.__allTests__FunctionalTestsAnonymousClient),
-        testCase(FunctionalTestsAnonymousClientNIOTS.__allTests__FunctionalTestsAnonymousClientNIOTS),
-        testCase(FunctionalTestsInsecureTransport.__allTests__FunctionalTestsInsecureTransport),
-        testCase(FunctionalTestsInsecureTransportNIOTS.__allTests__FunctionalTestsInsecureTransportNIOTS),
-        testCase(FunctionalTestsMutualAuthentication.__allTests__FunctionalTestsMutualAuthentication),
-        testCase(FunctionalTestsMutualAuthenticationNIOTS.__allTests__FunctionalTestsMutualAuthenticationNIOTS),
-        testCase(GRPCClientKeepaliveTests.__allTests__GRPCClientKeepaliveTests),
-        testCase(GRPCClientStateMachineTests.__allTests__GRPCClientStateMachineTests),
-        testCase(GRPCCustomPayloadTests.__allTests__GRPCCustomPayloadTests),
-        testCase(GRPCIdleHandlerStateMachineTests.__allTests__GRPCIdleHandlerStateMachineTests),
-        testCase(GRPCIdleTests.__allTests__GRPCIdleTests),
-        testCase(GRPCInsecureInteroperabilityTests.__allTests__GRPCInsecureInteroperabilityTests),
-        testCase(GRPCPingHandlerTests.__allTests__GRPCPingHandlerTests),
-        testCase(GRPCSecureInteroperabilityTests.__allTests__GRPCSecureInteroperabilityTests),
-        testCase(GRPCServerPipelineConfiguratorTests.__allTests__GRPCServerPipelineConfiguratorTests),
-        testCase(GRPCStatusCodeTests.__allTests__GRPCStatusCodeTests),
-        testCase(GRPCStatusMessageMarshallerTests.__allTests__GRPCStatusMessageMarshallerTests),
-        testCase(GRPCStatusTests.__allTests__GRPCStatusTests),
-        testCase(GRPCTimeoutTests.__allTests__GRPCTimeoutTests),
-        testCase(GRPCTypeSizeTests.__allTests__GRPCTypeSizeTests),
-        testCase(GRPCWebToHTTP2ServerCodecTests.__allTests__GRPCWebToHTTP2ServerCodecTests),
-        testCase(HTTP2ToRawGRPCStateMachineTests.__allTests__HTTP2ToRawGRPCStateMachineTests),
-        testCase(HTTPVersionParserTests.__allTests__HTTPVersionParserTests),
-        testCase(HeaderNormalizationTests.__allTests__HeaderNormalizationTests),
-        testCase(ImmediatelyFailingProviderTests.__allTests__ImmediatelyFailingProviderTests),
-        testCase(InterceptorsTests.__allTests__InterceptorsTests),
-        testCase(LazyEventLoopPromiseTests.__allTests__LazyEventLoopPromiseTests),
-        testCase(LengthPrefixedMessageReaderTests.__allTests__LengthPrefixedMessageReaderTests),
-        testCase(LengthPrefixedMessageWriterTests.__allTests__LengthPrefixedMessageWriterTests),
-        testCase(MessageCompressionTests.__allTests__MessageCompressionTests),
-        testCase(MessageEncodingHeaderValidatorTests.__allTests__MessageEncodingHeaderValidatorTests),
-        testCase(PlatformSupportTests.__allTests__PlatformSupportTests),
-        testCase(ReadStateTests.__allTests__ReadStateTests),
-        testCase(RequestIDProviderTests.__allTests__RequestIDProviderTests),
-        testCase(ServerDelayedThrowingTests.__allTests__ServerDelayedThrowingTests),
-        testCase(ServerErrorDelegateTests.__allTests__ServerErrorDelegateTests),
-        testCase(ServerErrorTransformingTests.__allTests__ServerErrorTransformingTests),
-        testCase(ServerInterceptorPipelineTests.__allTests__ServerInterceptorPipelineTests),
-        testCase(ServerInterceptorTests.__allTests__ServerInterceptorTests),
-        testCase(ServerTLSErrorTests.__allTests__ServerTLSErrorTests),
-        testCase(ServerThrowingTests.__allTests__ServerThrowingTests),
-        testCase(ServerWebTests.__allTests__ServerWebTests),
-        testCase(StopwatchTests.__allTests__StopwatchTests),
-        testCase(StreamingRequestClientCallTests.__allTests__StreamingRequestClientCallTests),
-        testCase(TimeLimitTests.__allTests__TimeLimitTests),
-        testCase(UserInfoTests.__allTests__UserInfoTests),
-        testCase(ZeroLengthWriteTests.__allTests__ZeroLengthWriteTests),
-        testCase(ZlibTests.__allTests__ZlibTests),
-    ]
-}
-#endif

+ 0 - 8
Tests/LinuxMain.swift

@@ -1,8 +0,0 @@
-import XCTest
-
-import GRPCTests
-
-var tests = [XCTestCaseEntry]()
-tests += GRPCTests.__allTests()
-
-XCTMain(tests)

+ 1 - 1
scripts/build_podspecs.py

@@ -67,7 +67,7 @@ class Pod:
         podspec += indent + "s.homepage = 'https://www.grpc.io'\n"
         podspec += indent + "s.authors  = { 'The gRPC contributors' => \'grpc-packages@google.com' }\n\n"
 
-        podspec += indent + "s.swift_version = '5.0'\n"
+        podspec += indent + "s.swift_version = '5.1'\n"
         podspec += indent + "s.ios.deployment_target = '10.0'\n"
         podspec += indent + "s.osx.deployment_target = '10.12'\n"
         podspec += indent + "s.tvos.deployment_target = '10.0'\n"