diff --git a/hpb/extension_lock_test.cc b/hpb/extension_lock_test.cc
index b64b68e..ef8013b 100644
--- a/hpb/extension_lock_test.cc
+++ b/hpb/extension_lock_test.cc
@@ -27,7 +27,7 @@
 #define EXPECT_OK(x) EXPECT_TRUE(x.ok())
 #endif  // EXPECT_OK
 
-namespace protos_generator::test::protos {
+namespace hpb_unittest::protos {
 
 namespace {
 
@@ -121,4 +121,4 @@
 }
 
 }  // namespace
-}  // namespace protos_generator::test::protos
\ No newline at end of file
+}  // namespace hpb_unittest::protos
diff --git a/hpb/internal_test.cc b/hpb/internal_test.cc
index 3cc9689..7ee2270 100644
--- a/hpb/internal_test.cc
+++ b/hpb/internal_test.cc
@@ -13,17 +13,16 @@
 #include "google/protobuf/compiler/hpb/tests/test_model.upb.proto.h"
 #include "upb/mem/arena.h"
 
-namespace protos::testing {
+namespace hpb::testing {
 namespace {
-using ::protos_generator::test::protos::TestModel;
+using ::hpb_unittest::protos::TestModel;
 
 TEST(CppGeneratedCode, InternalMoveMessage) {
   // Generate message (simulating message created in another VM/language)
   upb_Arena* source_arena = upb_Arena_New();
-  protos_generator_test_TestModel* message =
-      protos_generator_test_TestModel_new(source_arena);
+  hpb_unittest_TestModel* message = hpb_unittest_TestModel_new(source_arena);
   ASSERT_NE(message, nullptr);
-  protos_generator_test_TestModel_set_int_value_with_default(message, 123);
+  hpb_unittest_TestModel_set_int_value_with_default(message, 123);
 
   // Move ownership.
   TestModel model = protos::internal::MoveMessage<TestModel>(
@@ -34,4 +33,4 @@
 }
 
 }  // namespace
-}  // namespace protos::testing
+}  // namespace hpb::testing
diff --git a/hpb_generator/tests/child_model.proto b/hpb_generator/tests/child_model.proto
index 889e3e9..976a729 100644
--- a/hpb_generator/tests/child_model.proto
+++ b/hpb_generator/tests/child_model.proto
@@ -7,7 +7,7 @@
 
 syntax = "proto3";
 
-package protos_generator.test;
+package hpb_unittest;
 
 import public "google/protobuf/compiler/hpb/tests/test_enum.proto";
 
diff --git a/hpb_generator/tests/legacy-name.proto b/hpb_generator/tests/legacy-name.proto
index f6ac9a2..dbe1b8f 100644
--- a/hpb_generator/tests/legacy-name.proto
+++ b/hpb_generator/tests/legacy-name.proto
@@ -7,7 +7,7 @@
 
 syntax = "proto3";
 
-package protos_generator.test;
+package hpb_unittest;
 
 // option java_multiple_files = true;
 
diff --git a/hpb_generator/tests/naming_conflict.proto b/hpb_generator/tests/naming_conflict.proto
index 3f08c0f..917d4e0 100644
--- a/hpb_generator/tests/naming_conflict.proto
+++ b/hpb_generator/tests/naming_conflict.proto
@@ -7,7 +7,7 @@
 
 syntax = "proto3";
 
-package protos_generator.test;
+package hpb_unittest;
 
 message HasChildCount {
   optional HasChildCount has_child_count = 1;
diff --git a/hpb_generator/tests/no_package_enum_user.proto b/hpb_generator/tests/no_package_enum_user.proto
index 35d4a99..703fa2a 100644
--- a/hpb_generator/tests/no_package_enum_user.proto
+++ b/hpb_generator/tests/no_package_enum_user.proto
@@ -7,7 +7,7 @@
 
 syntax = "proto2";
 
-package protos_generator.tests;
+package hpb_unittest;
 
 import "google/protobuf/compiler/hpb/tests/no_package.proto";
 
diff --git a/hpb_generator/tests/test_enum.proto b/hpb_generator/tests/test_enum.proto
index 2d12340..7f76cce 100644
--- a/hpb_generator/tests/test_enum.proto
+++ b/hpb_generator/tests/test_enum.proto
@@ -7,7 +7,7 @@
 
 syntax = "proto3";
 
-package protos_generator.test;
+package hpb_unittest;
 
 enum TestEnum {
   DEVICE_UNKNOWN = 0;
diff --git a/hpb_generator/tests/test_extension.proto b/hpb_generator/tests/test_extension.proto
index c3cd68b..f7758da 100644
--- a/hpb_generator/tests/test_extension.proto
+++ b/hpb_generator/tests/test_extension.proto
@@ -7,7 +7,7 @@
 
 syntax = "proto2";
 
-package protos_generator.test.someotherpackage;
+package hpb_unittest.someotherpackage;
 
 import "google/protobuf/compiler/hpb/tests/test_model.proto";
 
diff --git a/hpb_generator/tests/test_generated.cc b/hpb_generator/tests/test_generated.cc
index 41aaea5..2747774 100644
--- a/hpb_generator/tests/test_generated.cc
+++ b/hpb_generator/tests/test_generated.cc
@@ -31,19 +31,19 @@
 namespace {
 
 using ::hpb::internal::Requires;
-using ::protos_generator::test::protos::ChildModel1;
-using ::protos_generator::test::protos::container_ext;
-using ::protos_generator::test::protos::ContainerExtension;
-using ::protos_generator::test::protos::other_ext;
-using ::protos_generator::test::protos::RED;
-using ::protos_generator::test::protos::TestEnum;
-using ::protos_generator::test::protos::TestModel;
-using ::protos_generator::test::protos::TestModel_Category;
-using ::protos_generator::test::protos::TestModel_Category_IMAGES;
-using ::protos_generator::test::protos::TestModel_Category_NEWS;
-using ::protos_generator::test::protos::TestModel_Category_VIDEO;
-using ::protos_generator::test::protos::theme;
-using ::protos_generator::test::protos::ThemeExtension;
+using ::hpb_unittest::protos::ChildModel1;
+using ::hpb_unittest::protos::container_ext;
+using ::hpb_unittest::protos::ContainerExtension;
+using ::hpb_unittest::protos::other_ext;
+using ::hpb_unittest::protos::RED;
+using ::hpb_unittest::protos::TestEnum;
+using ::hpb_unittest::protos::TestModel;
+using ::hpb_unittest::protos::TestModel_Category;
+using ::hpb_unittest::protos::TestModel_Category_IMAGES;
+using ::hpb_unittest::protos::TestModel_Category_NEWS;
+using ::hpb_unittest::protos::TestModel_Category_VIDEO;
+using ::hpb_unittest::protos::theme;
+using ::hpb_unittest::protos::ThemeExtension;
 using ::testing::ElementsAre;
 
 TEST(CppGeneratedCode, Constructor) { TestModel test_model; }
diff --git a/hpb_generator/tests/test_model.proto b/hpb_generator/tests/test_model.proto
index 6d051b2..8a5401b 100644
--- a/hpb_generator/tests/test_model.proto
+++ b/hpb_generator/tests/test_model.proto
@@ -7,7 +7,7 @@
 
 syntax = "proto2";
 
-package protos_generator.test;
+package hpb_unittest;
 
 import "google/protobuf/compiler/hpb/tests/child_model.proto";
 
