diff --git a/quic/tools/quic_client_test.cc b/quic/tools/quic_client_test.cc
index e460de4..b1923b6 100644
--- a/quic/tools/quic_client_test.cc
+++ b/quic/tools/quic_client_test.cc
@@ -12,12 +12,12 @@
 
 #include "net/third_party/quiche/src/quic/platform/api/quic_epoll.h"
 #include "net/third_party/quiche/src/quic/platform/api/quic_port_utils.h"
-#include "net/third_party/quiche/src/quic/platform/api/quic_string_piece.h"
 #include "net/third_party/quiche/src/quic/platform/api/quic_test.h"
 #include "net/third_party/quiche/src/quic/platform/api/quic_test_loopback.h"
-#include "net/third_party/quiche/src/quic/platform/api/quic_text_utils.h"
 #include "net/third_party/quiche/src/quic/test_tools/crypto_test_utils.h"
 #include "net/third_party/quiche/src/quic/test_tools/quic_client_peer.h"
+#include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h"
+#include "net/third_party/quiche/src/common/platform/api/quiche_text_utils.h"
 
 namespace quic {
 namespace test {
@@ -40,13 +40,13 @@
   std::unique_ptr<DIR, int (*)(DIR*)> fd_directory(opendir(kPathToFds),
                                                    closedir);
   while ((file = readdir(fd_directory.get())) != nullptr) {
-    QuicStringPiece name(file->d_name);
+    quiche::QuicheStringPiece name(file->d_name);
     if (name == "." || name == "..") {
       continue;
     }
 
-    std::string fd_path = ReadLink(QuicStrCat(kPathToFds, "/", name));
-    if (QuicTextUtils::StartsWith(fd_path, "socket:")) {
+    std::string fd_path = ReadLink(quiche::QuicheStrCat(kPathToFds, "/", name));
+    if (quiche::QuicheTextUtils::StartsWith(fd_path, "socket:")) {
       socket_count++;
     }
   }
