Reenabled labelling test with a capabilities check. (#57160)

fixes https://github.com/flutter/flutter/issues/160180

I'm unable to reproduce the problem locally but this is the most likely cause.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
diff --git a/impeller/renderer/backend/gles/proc_table_gles.cc b/impeller/renderer/backend/gles/proc_table_gles.cc
index c4450e7..a87b9df 100644
--- a/impeller/renderer/backend/gles/proc_table_gles.cc
+++ b/impeller/renderer/backend/gles/proc_table_gles.cc
@@ -357,13 +357,20 @@
   FML_UNREACHABLE();
 }
 
+bool ProcTableGLES::SupportsDebugLabels() const {
+  if (debug_label_max_length_ <= 0) {
+    return false;
+  }
+  if (!ObjectLabelKHR.IsAvailable()) {
+    return false;
+  }
+  return true;
+}
+
 bool ProcTableGLES::SetDebugLabel(DebugResourceType type,
                                   GLint name,
                                   std::string_view label) const {
-  if (debug_label_max_length_ <= 0) {
-    return true;
-  }
-  if (!ObjectLabelKHR.IsAvailable()) {
+  if (!SupportsDebugLabels()) {
     return true;
   }
   if (!ResourceIsLive(*this, type, name)) {
diff --git a/impeller/renderer/backend/gles/proc_table_gles.h b/impeller/renderer/backend/gles/proc_table_gles.h
index ccc499a..8bc3ca7 100644
--- a/impeller/renderer/backend/gles/proc_table_gles.h
+++ b/impeller/renderer/backend/gles/proc_table_gles.h
@@ -314,6 +314,8 @@
 
   bool IsCurrentFramebufferComplete() const;
 
+  bool SupportsDebugLabels() const;
+
   bool SetDebugLabel(DebugResourceType type,
                      GLint name,
                      std::string_view label) const;
diff --git a/impeller/renderer/backend/gles/test/reactor_unittests.cc b/impeller/renderer/backend/gles/test/reactor_unittests.cc
index 8b4fbea..da8c419 100644
--- a/impeller/renderer/backend/gles/test/reactor_unittests.cc
+++ b/impeller/renderer/backend/gles/test/reactor_unittests.cc
@@ -95,7 +95,7 @@
   EXPECT_TRUE(reactor->React());
 }
 
-TEST(ReactorGLES, DISABLED_NameUntrackedHandle) {
+TEST(ReactorGLES, NameUntrackedHandle) {
   auto mock_gles_impl = std::make_unique<MockGLESImpl>();
 
   EXPECT_CALL(*mock_gles_impl, GenTextures(1, _))
@@ -108,6 +108,11 @@
       MockGLES::Init(std::move(mock_gles_impl));
   ProcTableGLES::Resolver resolver = kMockResolverGLES;
   auto proc_table = std::make_unique<ProcTableGLES>(resolver);
+
+  if (!proc_table->SupportsDebugLabels()) {
+    GTEST_SKIP() << "This device doesn't support labelling.";
+  }
+
   auto worker = std::make_shared<TestWorker>();
   auto reactor = std::make_shared<ReactorGLES>(std::move(proc_table));
   reactor->AddWorker(worker);