diff --git a/quic/test_tools/packet_dropping_test_writer.h b/quic/test_tools/packet_dropping_test_writer.h
index 47a3216..02eebe9 100644
--- a/quic/test_tools/packet_dropping_test_writer.h
+++ b/quic/test_tools/packet_dropping_test_writer.h
@@ -9,10 +9,10 @@
 #include <list>
 #include <memory>
 
+#include "absl/base/attributes.h"
 #include "net/third_party/quiche/src/quic/core/quic_alarm.h"
 #include "net/third_party/quiche/src/quic/core/quic_clock.h"
 #include "net/third_party/quiche/src/quic/core/quic_packet_writer_wrapper.h"
-#include "net/third_party/quiche/src/quic/platform/api/quic_macros.h"
 #include "net/third_party/quiche/src/quic/test_tools/quic_test_client.h"
 #include "net/third_party/quiche/src/quic/test_tools/quic_test_utils.h"
 
@@ -126,7 +126,9 @@
   }
 
   // Useful for reproducing very flaky issues.
-  QUIC_UNUSED void set_seed(uint64_t seed) { simple_random_.set_seed(seed); }
+  ABSL_ATTRIBUTE_UNUSED void set_seed(uint64_t seed) {
+    simple_random_.set_seed(seed);
+  }
 
  private:
   // Writes out the next packet to the contained writer and returns the time
diff --git a/quic/test_tools/test_certificates.cc b/quic/test_tools/test_certificates.cc
index 038bda7..acbea92 100644
--- a/quic/test_tools/test_certificates.cc
+++ b/quic/test_tools/test_certificates.cc
@@ -8,7 +8,7 @@
 namespace test {
 
 // A test certificate generated by //net/tools/quic/certs/generate-certs.sh.
-QUIC_CONST_INIT const char kTestCertificateRaw[] = {
+ABSL_CONST_INIT const char kTestCertificateRaw[] = {
     '\x30', '\x82', '\x03', '\xb4', '\x30', '\x82', '\x02', '\x9c', '\xa0',
     '\x03', '\x02', '\x01', '\x02', '\x02', '\x01', '\x01', '\x30', '\x0d',
     '\x06', '\x09', '\x2a', '\x86', '\x48', '\x86', '\xf7', '\x0d', '\x01',
@@ -116,11 +116,11 @@
     '\xd3', '\xfb', '\xba', '\xaf', '\xd9', '\x61', '\x14', '\x3c', '\xe0',
     '\xa1', '\xa9', '\x51', '\x51', '\x0f', '\xad', '\x60'};
 
-QUIC_CONST_INIT const absl::string_view kTestCertificate(
+ABSL_CONST_INIT const absl::string_view kTestCertificate(
     kTestCertificateRaw,
     sizeof(kTestCertificateRaw));
 
-QUIC_CONST_INIT const char kTestCertificatePem[] =
+ABSL_CONST_INIT const char kTestCertificatePem[] =
     R"(Certificate:
     Data:
         Version: 3 (0x2)
@@ -206,7 +206,7 @@
 -----END CERTIFICATE-----)";
 
 // Same leaf as above, but with an intermediary attached.
-QUIC_CONST_INIT const char kTestCertificateChainPem[] =
+ABSL_CONST_INIT const char kTestCertificateChainPem[] =
     R"(-----BEGIN CERTIFICATE-----
 MIIDtDCCApygAwIBAgIBATANBgkqhkiG9w0BAQsFADAeMRwwGgYDVQQDDBNRVUlD
 IFNlcnZlciBSb290IENBMB4XDTIwMDEzMDE4MTM1OVoXDTIwMDIwMjE4MTM1OVow
@@ -249,7 +249,7 @@
 Cmn1Mj4hQ+pT0t+pw/DMOw==
 -----END CERTIFICATE-----)";
 
-QUIC_CONST_INIT const char kTestCertWithUnknownSanTypePem[] =
+ABSL_CONST_INIT const char kTestCertWithUnknownSanTypePem[] =
     R"(-----BEGIN CERTIFICATE-----
 MIIEYTCCA0mgAwIBAgIJAILStmLgUUcVMA0GCSqGSIb3DQEBCwUAMHYxCzAJBgNV
 BAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRYwFAYDVQQHDA1TYW4gRnJhbmNp
@@ -277,7 +277,7 @@
 M8MD3RDSq/90FSiME4vbyNEyTmj0
 -----END CERTIFICATE-----)";
 
-QUIC_CONST_INIT const char kTestCertificatePrivateKeyRaw[] = {
+ABSL_CONST_INIT const char kTestCertificatePrivateKeyRaw[] = {
     '\x30', '\x82', '\x04', '\xbc', '\x02', '\x01', '\x00', '\x30', '\x0d',
     '\x06', '\x09', '\x2a', '\x86', '\x48', '\x86', '\xf7', '\x0d', '\x01',
     '\x01', '\x01', '\x05', '\x00', '\x04', '\x82', '\x04', '\xa6', '\x30',
@@ -415,11 +415,11 @@
     '\x3e', '\x6b', '\x2e', '\xfa', '\x4f', '\x4d', '\xe6', '\xbe', '\xd3',
     '\x59'};
 
-QUIC_CONST_INIT const absl::string_view kTestCertificatePrivateKey(
+ABSL_CONST_INIT const absl::string_view kTestCertificatePrivateKey(
     kTestCertificatePrivateKeyRaw,
     sizeof(kTestCertificatePrivateKeyRaw));
 
-QUIC_CONST_INIT const char kTestCertificatePrivateKeyPem[] =
+ABSL_CONST_INIT const char kTestCertificatePrivateKeyPem[] =
     R"(-----BEGIN PRIVATE KEY-----
 MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDF4lFtP9Yo8q00
 c4dkyjMZM7d1kasxGSvjpCYJKYst91J1p1UV8BHHwsTtGBszC3Ey5jWJzS1aBVdO
@@ -450,7 +450,7 @@
 -----END PRIVATE KEY-----)";
 
 // The legacy version was manually generated from the one above using der2ascii.
-QUIC_CONST_INIT const char kTestCertificatePrivateKeyLegacyPem[] =
+ABSL_CONST_INIT const char kTestCertificatePrivateKeyLegacyPem[] =
     R"(-----BEGIN RSA PRIVATE KEY-----
 MIIEogIBAAKCAQEAxeJRbT/WKPKtNHOHZMozGTO3dZGrMRkr46QmCSmLLfdSdadVFfARx8LE7Rgb
 MwtxMuY1ic0tWgVXTsJ4dWVyLYoXg9YykIX4IuJlqeCg/hmyOS0UAxAvzIteqiUnDaM3EAwX7PCL
@@ -475,7 +475,7 @@
 TToPURKk2cKYdsW3KUDK9Lt0LXEDTecFdcCNln5ZoYs7oyulo8j30z5rLvpPTea+01k=
 -----END RSA PRIVATE KEY-----)";
 
-QUIC_CONST_INIT const char kWildcardCertificateRaw[] = {
+ABSL_CONST_INIT const char kWildcardCertificateRaw[] = {
     '\x30', '\x82', '\x03', '\x5f', '\x30', '\x82', '\x02', '\x47', '\xa0',
     '\x03', '\x02', '\x01', '\x02', '\x02', '\x14', '\x36', '\x1d', '\xe3',
     '\xd2', '\x39', '\x35', '\x20', '\xb1', '\xae', '\x18', '\xdd', '\x71',
@@ -574,11 +574,11 @@
     '\xf0', '\xb7', '\xbb', '\x58', '\x4c', '\x8f', '\x6a', '\x5d', '\x8e',
     '\x93', '\x5f', '\x35'};
 
-QUIC_CONST_INIT const absl::string_view kWildcardCertificate(
+ABSL_CONST_INIT const absl::string_view kWildcardCertificate(
     kWildcardCertificateRaw,
     sizeof(kWildcardCertificateRaw));
 
-QUIC_CONST_INIT const char kWildcardCertificatePrivateKeyRaw[] = {
+ABSL_CONST_INIT const char kWildcardCertificatePrivateKeyRaw[] = {
     '\x30', '\x82', '\x04', '\xbe', '\x02', '\x01', '\x00', '\x30', '\x0d',
     '\x06', '\x09', '\x2a', '\x86', '\x48', '\x86', '\xf7', '\x0d', '\x01',
     '\x01', '\x01', '\x05', '\x00', '\x04', '\x82', '\x04', '\xa8', '\x30',
@@ -716,11 +716,11 @@
     '\x47', '\xca', '\x21', '\x30', '\x65', '\xa4', '\xe5', '\xaa', '\x4e',
     '\x9c', '\xbc', '\xa5'};
 
-QUIC_CONST_INIT const absl::string_view kWildcardCertificatePrivateKey(
+ABSL_CONST_INIT const absl::string_view kWildcardCertificatePrivateKey(
     kWildcardCertificatePrivateKeyRaw,
     sizeof(kWildcardCertificatePrivateKeyRaw));
 
-QUIC_CONST_INIT const char kTestEcPrivateKeyLegacyPem[] =
+ABSL_CONST_INIT const char kTestEcPrivateKeyLegacyPem[] =
     R"(-----BEGIN EC PARAMETERS-----
 BggqhkjOPQMBBw==
 -----END EC PARAMETERS-----
diff --git a/quic/test_tools/test_certificates.h b/quic/test_tools/test_certificates.h
index 759e73e..6a7eba7 100644
--- a/quic/test_tools/test_certificates.h
+++ b/quic/test_tools/test_certificates.h
@@ -5,44 +5,44 @@
 #ifndef QUICHE_QUIC_TEST_TOOLS_TEST_CERTIFICATES_H_
 #define QUICHE_QUIC_TEST_TOOLS_TEST_CERTIFICATES_H_
 
+#include "absl/base/attributes.h"
 #include "absl/strings/string_view.h"
-#include "net/third_party/quiche/src/quic/platform/api/quic_macros.h"
 
 namespace quic {
 namespace test {
 
 // A test certificate generated by //net/tools/quic/certs/generate-certs.sh.
-QUIC_CONST_INIT extern const absl::string_view kTestCertificate;
+ABSL_CONST_INIT extern const absl::string_view kTestCertificate;
 
 // PEM-encoded version of |kTestCertificate|.
-QUIC_CONST_INIT extern const char kTestCertificatePem[];
+ABSL_CONST_INIT extern const char kTestCertificatePem[];
 
 // |kTestCertificatePem| with a PEM-encoded root appended to the end.
-QUIC_CONST_INIT extern const char kTestCertificateChainPem[];
+ABSL_CONST_INIT extern const char kTestCertificateChainPem[];
 
 // PEM-encoded certificate that contains a subjectAltName with an
 // unknown/unsupported type.
-QUIC_CONST_INIT extern const char kTestCertWithUnknownSanTypePem[];
+ABSL_CONST_INIT extern const char kTestCertWithUnknownSanTypePem[];
 
 // DER-encoded private key for |kTestCertificate|.
-QUIC_CONST_INIT extern const absl::string_view kTestCertificatePrivateKey;
+ABSL_CONST_INIT extern const absl::string_view kTestCertificatePrivateKey;
 
 // PEM-encoded version of |kTestCertificatePrivateKey|.
-QUIC_CONST_INIT extern const char kTestCertificatePrivateKeyPem[];
+ABSL_CONST_INIT extern const char kTestCertificatePrivateKeyPem[];
 
 // The legacy PEM-encoded version of |kTestCertificatePrivateKey| manually
 // generated from the one above using der2ascii.
-QUIC_CONST_INIT extern const char kTestCertificatePrivateKeyLegacyPem[];
+ABSL_CONST_INIT extern const char kTestCertificatePrivateKeyLegacyPem[];
 
 // Another DER-encoded test certificate, valid for foo.test, www.foo.test and
 // *.wildcard.test.
-QUIC_CONST_INIT extern const absl::string_view kWildcardCertificate;
+ABSL_CONST_INIT extern const absl::string_view kWildcardCertificate;
 
 // DER-encoded private key for |kWildcardCertificate|.
-QUIC_CONST_INIT extern const absl::string_view kWildcardCertificatePrivateKey;
+ABSL_CONST_INIT extern const absl::string_view kWildcardCertificatePrivateKey;
 
 // PEM-encoded P-256 private key using legacy OpenSSL encoding.
-QUIC_CONST_INIT extern const char kTestEcPrivateKeyLegacyPem[];
+ABSL_CONST_INIT extern const char kTestEcPrivateKeyLegacyPem[];
 
 }  // namespace test
 }  // namespace quic
