| Index: components/cronet/ios/test/cronet_bidirectional_stream_test.mm
|
| diff --git a/components/cronet/ios/test/cronet_bidirectional_stream_test.mm b/components/cronet/ios/test/cronet_bidirectional_stream_test.mm
|
| index f55c86ceb8e9eb4e9dd4b6e790cec4428158e269..f6421d7a80a0cd0a1e517328ea79516eb3f06e70 100644
|
| --- a/components/cronet/ios/test/cronet_bidirectional_stream_test.mm
|
| +++ b/components/cronet/ios/test/cronet_bidirectional_stream_test.mm
|
| @@ -2,12 +2,15 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#import <Foundation/Foundation.h>
|
| +#import <Cronet/Cronet.h>
|
| +
|
| #include <stdint.h>
|
| #include <list>
|
| #include <map>
|
| #include <string>
|
| +#include <Cronet/cronet_c_for_grpc.h>
|
|
|
| +#include "base/at_exit.h"
|
| #include "base/logging.h"
|
| #include "base/mac/scoped_nsobject.h"
|
| #include "base/macros.h"
|
| @@ -15,12 +18,9 @@
|
| #include "base/strings/string_util.h"
|
| #include "base/strings/sys_string_conversions.h"
|
| #include "base/synchronization/waitable_event.h"
|
| -#include "components/cronet/ios/cronet_c_for_grpc.h"
|
| -#include "components/cronet/ios/cronet_environment.h"
|
| #include "components/cronet/ios/test/quic_test_server.h"
|
| #include "net/base/mac/url_conversions.h"
|
| #include "net/base/net_errors.h"
|
| -#include "net/cert/mock_cert_verifier.h"
|
| #include "net/test/test_data_directory.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| #include "testing/gtest_mac.h"
|
| @@ -38,59 +38,51 @@ const cronet_bidirectional_stream_header_array kTestHeadersArray = {
|
|
|
| namespace cronet {
|
|
|
| +base::AtExitManager* g_at_exit_ = nullptr;
|
| +
|
| +void StartCronetIfNecessary() {
|
| + static bool initialized = false;
|
| + if (!initialized) {
|
| + initialized = true;
|
| + [Cronet setUserAgent:@"CronetTest/1.0.0.0" partial:NO];
|
| + [Cronet setHttp2Enabled:true];
|
| + [Cronet setQuicEnabled:true];
|
| + [Cronet setSslKeyLogFileName:@"SSLKEYLOGFILE"];
|
| +
|
| + [Cronet addQuicHint:@"test.example.com"
|
| + port:cronet::kTestServerPort
|
| + altPort:cronet::kTestServerPort];
|
| + [Cronet enableTestCertVerifierForTesting];
|
| + [Cronet
|
| + setHostResolverRulesForTesting:@"MAP test.example.com 127.0.0.1,"
|
| + "MAP notfound.example.com ~NOTFOUND"];
|
| + [Cronet start];
|
| +
|
| + // This method must be called once from the main thread.
|
| + if (!g_at_exit_)
|
| + g_at_exit_ = new base::AtExitManager;
|
| + }
|
| +}
|
| +
|
| class CronetBidirectionalStreamTest : public ::testing::TestWithParam<bool> {
|
| protected:
|
| CronetBidirectionalStreamTest() {}
|
| ~CronetBidirectionalStreamTest() override {}
|
|
|
| void SetUp() override {
|
| - static bool initialized = false;
|
| - if (!initialized) {
|
| - initialized = true;
|
| - // Hack to work around issues with SetUp being called multiple times
|
| - // during the test, and QuicTestServer not shutting down / restarting
|
| - // gracefully.
|
| - CronetEnvironment::Initialize();
|
| - cronet_environment_ = new CronetEnvironment("CronetTest/1.0.0.0");
|
| - cronet_environment_->set_http2_enabled(true);
|
| - cronet_environment_->set_quic_enabled(true);
|
| - cronet_environment_->set_ssl_key_log_file_name("SSLKEYLOGFILE");
|
| -
|
| - std::unique_ptr<net::MockCertVerifier> mock_cert_verifier(
|
| - new net::MockCertVerifier());
|
| - mock_cert_verifier->set_default_result(net::OK);
|
| -
|
| - cronet_environment_->set_cert_verifier(std::move(mock_cert_verifier));
|
| - cronet_environment_->set_host_resolver_rules(
|
| - "MAP test.example.com 127.0.0.1,"
|
| - "MAP notfound.example.com ~NOTFOUND");
|
| - cronet_environment_->AddQuicHint(kTestServerDomain, kTestServerPort,
|
| - kTestServerPort);
|
| -
|
| - cronet_environment_->Start();
|
| -
|
| - cronet_engine_.obj = cronet_environment_;
|
| - }
|
| -
|
| + StartCronetIfNecessary();
|
| StartQuicTestServer();
|
| - cronet_environment_->StartNetLog("cronet_netlog.json", true);
|
| + [Cronet startNetLogToFile:@"cronet_netlog.json" logBytes:YES];
|
| }
|
|
|
| void TearDown() override {
|
| ShutdownQuicTestServer();
|
| - cronet_environment_->StopNetLog();
|
| + [Cronet stopNetLog];
|
| }
|
|
|
| - cronet_engine* engine() { return &cronet_engine_; }
|
| -
|
| - private:
|
| - static CronetEnvironment* cronet_environment_;
|
| - static cronet_engine cronet_engine_;
|
| + cronet_engine* engine() { return [Cronet getGlobalEngine]; }
|
| };
|
|
|
| -CronetEnvironment* CronetBidirectionalStreamTest::cronet_environment_ = nullptr;
|
| -cronet_engine CronetBidirectionalStreamTest::cronet_engine_ = {0};
|
| -
|
| class TestBidirectionalStreamCallback {
|
| public:
|
| enum ResponseStep {
|
|
|