Allow QUIC end_to_end and quic_server tests to pass if the
listening port is specified as 0 to allow Chrome tests to
use 0 instead of attempting to find an unused port (which is
hard).

Also rename QuicPickUnusedPortOrDie to QuicPickServerPortForTestsOrDie

gfe-relnote: n/a - Test only
PiperOrigin-RevId: 265545371
Change-Id: Iab88b60f6348c8e249c6420d895c9775b7f8405c
diff --git a/quic/core/http/end_to_end_test.cc b/quic/core/http/end_to_end_test.cc
index 6eb6ac6..89cf9ca 100644
--- a/quic/core/http/end_to_end_test.cc
+++ b/quic/core/http/end_to_end_test.cc
@@ -225,8 +225,8 @@
   EndToEndTest()
       : initialized_(false),
         connect_to_server_on_initialize_(true),
-        server_address_(
-            QuicSocketAddress(TestLoopback(), QuicPickUnusedPortOrDie())),
+        server_address_(QuicSocketAddress(TestLoopback(),
+                                          QuicPickServerPortForTestsOrDie())),
         server_hostname_("test.example.com"),
         client_writer_(nullptr),
         server_writer_(nullptr),
@@ -416,6 +416,8 @@
       server_thread_->server()->SetPreSharedKey(pre_shared_key_server_);
     }
     server_thread_->Initialize();
+    server_address_ =
+        QuicSocketAddress(server_address_.host(), server_thread_->GetPort());
     QuicDispatcher* dispatcher =
         QuicServerPeer::GetDispatcher(server_thread_->server());
     QuicDispatcherPeer::UseWriter(dispatcher, server_writer_);