Allow passing URL to quic_client_interop_test gfe-relnote: n/a, test-only PiperOrigin-RevId: 274621564 Change-Id: Iaffcfb5a8b8c0a2692abf3080562c0e1546ab4cf
diff --git a/quic/tools/quic_client_interop_test_bin.cc b/quic/tools/quic_client_interop_test_bin.cc index 87940a9..d6a1da2 100644 --- a/quic/tools/quic_client_interop_test_bin.cc +++ b/quic/tools/quic_client_interop_test_bin.cc
@@ -12,6 +12,7 @@ #include "net/third_party/quiche/src/quic/platform/api/quic_system_event_loop.h" #include "net/third_party/quiche/src/quic/tools/fake_proof_verifier.h" #include "net/third_party/quiche/src/quic/tools/quic_client.h" +#include "net/third_party/quiche/src/quic/tools/quic_url.h" DEFINE_QUIC_COMMAND_LINE_FLAG(std::string, host, @@ -141,17 +142,30 @@ int main(int argc, char* argv[]) { QuicSystemEventLoop event_loop("quic_client"); - const char* usage = "Usage: quic_client_interop_test [options]"; + const char* usage = "Usage: quic_client_interop_test [options] [url]"; std::vector<std::string> args = quic::QuicParseCommandLineFlags(usage, argc, argv); - if (!args.empty()) { + if (args.size() > 1) { quic::QuicPrintCommandLineFlagHelp(usage); exit(1); } std::string host = GetQuicFlag(FLAGS_host); int port = GetQuicFlag(FLAGS_port); - if (host.empty() || port == 0) { + + if (!args.empty()) { + quic::QuicUrl url(args[0], "https"); + if (host.empty()) { + host = url.host(); + } + if (port == 0) { + port = url.port(); + } + } + if (port == 0) { + port = 443; + } + if (host.empty()) { quic::QuicPrintCommandLineFlagHelp(usage); exit(1); }