diff --git a/tests/graphics.c b/tests/graphics.c
index e169e2dea7a72e92b1cc34b53afc4c3d0b1d43ba..f7d2f7aee7573233e34b47c51ab0cd3727ea8935 100644
--- a/tests/graphics.c
+++ b/tests/graphics.c
@@ -261,6 +261,7 @@ test_good_graphics (Fixture *f,
 {
   SrtGraphics *graphics = NULL;
   SrtGraphicsIssues issues;
+  gchar *messages;
   gchar *tuple;
   gchar *renderer;
   gchar *version;
@@ -276,6 +277,8 @@ test_good_graphics (Fixture *f,
                                            SRT_RENDERING_INTERFACE_GL,
                                            &graphics);
   g_assert_cmpint (issues, ==, SRT_GRAPHICS_ISSUES_NONE);
+  g_assert_cmpstr (srt_graphics_get_messages (graphics), ==,
+                   NULL);
   g_assert_cmpstr (srt_graphics_get_renderer_string (graphics), ==,
                    SRT_TEST_GOOD_GRAPHICS_RENDERER);
   g_assert_cmpstr (srt_graphics_get_version_string (graphics), ==,
@@ -283,6 +286,7 @@ test_good_graphics (Fixture *f,
   g_assert_cmpint (srt_graphics_get_exit_status (graphics), ==, 0);
   g_assert_cmpint (srt_graphics_get_terminating_signal (graphics), ==, 0);
   g_object_get (graphics,
+                "messages", &messages,
                 "multiarch-tuple", &tuple,
                 "issues", &issues,
                 "renderer-string", &renderer,
@@ -290,6 +294,7 @@ test_good_graphics (Fixture *f,
                 "exit-status", &exit_status,
                 "terminating-signal", &terminating_signal,
                 NULL);
+  g_assert_cmpstr (messages, ==, NULL);
   g_assert_cmpint (issues, ==, SRT_GRAPHICS_ISSUES_NONE);
   g_assert_cmpstr (tuple, ==, "mock-good");
   g_assert_cmpstr (renderer, ==, SRT_TEST_GOOD_GRAPHICS_RENDERER);
@@ -299,6 +304,7 @@ test_good_graphics (Fixture *f,
   g_free (tuple);
   g_free (renderer);
   g_free (version);
+  g_free (messages);
 
   g_object_unref (graphics);
   g_object_unref (info);
@@ -462,7 +468,9 @@ test_bad_graphics (Fixture *f,
   g_assert_cmpstr (srt_graphics_get_version_string (graphics), ==,
                    NULL);
   g_assert_cmpstr (srt_graphics_get_messages (graphics), ==,
-                   "Waffle error: 0x2 WAFFLE_ERROR_UNKNOWN: XOpenDisplay failed\n");
+                   "warning: this warning should always be logged\n"
+                   "Waffle error: 0x2 WAFFLE_ERROR_UNKNOWN: XOpenDisplay failed\n"
+                  "info: you used LIBGL_DEBUG=verbose\n");
   g_assert_cmpint (srt_graphics_get_exit_status (graphics), ==, 1);
   g_assert_cmpint (srt_graphics_get_terminating_signal (graphics), ==, 0);
 
@@ -485,7 +493,9 @@ test_bad_graphics (Fixture *f,
   g_assert_cmpint (issues, ==, SRT_GRAPHICS_ISSUES_CANNOT_LOAD);
   g_assert_cmpint (library_vendor, ==, SRT_GRAPHICS_LIBRARY_VENDOR_UNKNOWN);
   g_assert_cmpstr (messages, ==,
-                   "Waffle error: 0x2 WAFFLE_ERROR_UNKNOWN: XOpenDisplay failed\n");
+                   "warning: this warning should always be logged\n"
+                   "Waffle error: 0x2 WAFFLE_ERROR_UNKNOWN: XOpenDisplay failed\n"
+                  "info: you used LIBGL_DEBUG=verbose\n");
   g_assert_cmpstr (tuple, ==, "mock-bad");
   g_assert_cmpstr (renderer, ==, NULL);
   g_assert_cmpstr (version, ==, NULL);
@@ -566,6 +576,7 @@ test_software_rendering (Fixture *f,
 {
   SrtGraphics *graphics = NULL;
   SrtGraphicsIssues issues;
+  gchar *messages;
   gchar *tuple;
   gchar *renderer;
   gchar *version;
@@ -581,6 +592,9 @@ test_software_rendering (Fixture *f,
                                            SRT_RENDERING_INTERFACE_GL,
                                            &graphics);
   g_assert_cmpint (issues, ==, SRT_GRAPHICS_ISSUES_SOFTWARE_RENDERING);
+  g_assert_cmpstr (srt_graphics_get_messages (graphics), ==,
+                   "warning: this warning should always be logged\n"
+                   "info: you used LIBGL_DEBUG=verbose\n");
   g_assert_cmpstr (srt_graphics_get_renderer_string (graphics), ==,
                    SRT_TEST_SOFTWARE_GRAPHICS_RENDERER);
   g_assert_cmpstr (srt_graphics_get_version_string (graphics), ==,
@@ -589,6 +603,7 @@ test_software_rendering (Fixture *f,
   g_assert_cmpint (srt_graphics_get_terminating_signal (graphics), ==, 0);
 
   g_object_get (graphics,
+                "messages", &messages,
                 "multiarch-tuple", &tuple,
                 "issues", &issues,
                 "renderer-string", &renderer,
@@ -602,9 +617,14 @@ test_software_rendering (Fixture *f,
   g_assert_cmpstr (version, ==, SRT_TEST_SOFTWARE_GRAPHICS_VERSION);
   g_assert_cmpint (exit_status, ==, 0);
   g_assert_cmpint (terminating_signal, ==, 0);
+  g_assert_cmpstr (messages, ==,
+                   "warning: this warning should always be logged\n"
+                   "info: you used LIBGL_DEBUG=verbose\n");
+
   g_free (tuple);
   g_free (renderer);
   g_free (version);
+  g_free (messages);
 
   g_object_unref (graphics);
   g_object_unref (info);
diff --git a/tests/meson.build b/tests/meson.build
index 39cd98fd819a75ca819a27a28e5b68d564d7f69e..56bf780079f038b450cec8b9d49bec2fab26b1cd 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -172,12 +172,9 @@ executable(
 foreach helper : [
   'mock-bad-check-vulkan',
   'mock-bad-vulkaninfo',
-  'mock-bad-wflinfo',
   'mock-good-vulkaninfo',
-  'mock-good-wflinfo',
   'mock-hanging-wflinfo',
   'mock-sigusr-wflinfo',
-  'mock-software-wflinfo',
 ]
   executable(
     helper,
@@ -202,6 +199,7 @@ executable(
   'mock-mixed-wflinfo',
   'mock-good-wflinfo.c',
   include_directories : project_include_dirs,
+  dependencies: [glib],
   install: true,
   install_dir: tests_dir
 )
@@ -225,11 +223,14 @@ endforeach
 # Helpers with a GLib dependency and one source file of the same name
 # as the helper itself.
 foreach helper : [
+  'mock-abi-inspect-library',
+  'mock-bad-wflinfo',
   'mock-debian-x86_64-inspect-library',
   'mock-debian-i386-inspect-library',
   'mock-fedora-64-bit-inspect-library',
   'mock-fedora-32-bit-inspect-library',
-  'mock-abi-inspect-library',
+  'mock-good-wflinfo',
+  'mock-software-wflinfo',
 ]
   executable(
     helper,
diff --git a/tests/mock-bad-wflinfo.c b/tests/mock-bad-wflinfo.c
index 9f9d46c5c25fce4f085b375686a9af01841c3310..c7caa5e6e6b7d98457a4f7e99f9a475542761874 100644
--- a/tests/mock-bad-wflinfo.c
+++ b/tests/mock-bad-wflinfo.c
@@ -23,6 +23,7 @@
  * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
+#include <glib.h>
 #include <stdio.h>
 
 int
@@ -34,6 +35,11 @@ main (int argc,
 
   fprintf (stderr, "Waffle error: 0x2 WAFFLE_ERROR_UNKNOWN: XOpenDisplay failed\n");
 
+  if (g_strcmp0 (g_getenv ("LIBGL_DEBUG"), "verbose") == 0)
+    {
+      fprintf (stderr, "info: you used LIBGL_DEBUG=verbose\n");
+    }
+
   return 1;
 }
 
diff --git a/tests/mock-good-wflinfo.c b/tests/mock-good-wflinfo.c
index eec8d5da2c1b2640bf2d5bbf74d9650686080b8c..7d332097abc54131d8e78a6fdd06eaa1a4bc30f7 100644
--- a/tests/mock-good-wflinfo.c
+++ b/tests/mock-good-wflinfo.c
@@ -23,6 +23,7 @@
  * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
+#include <glib.h>
 #include <stdio.h>
 
 #include "../steam-runtime-tools/graphics-test-defines.h"
@@ -40,6 +41,12 @@ main (int argc,
           "\",\n\t\t\"shading language version string\": \"1.30\",\n"
           "\t\t\"extensions\": [\n"
           "\t\t]\n\t}\n}\n");
+
+  if (g_strcmp0 (g_getenv ("LIBGL_DEBUG"), "verbose") == 0)
+    {
+      fprintf (stderr, "info: you used LIBGL_DEBUG=verbose\n");
+    }
+
   return 0;
 }
 
diff --git a/tests/mock-software-wflinfo.c b/tests/mock-software-wflinfo.c
index 1d7bf70a2ff9c8b2299277c97eae641e0f91cc6d..3a1a3f8e1e7dbb5a83ea8ee205ac7b95df35eb30 100644
--- a/tests/mock-software-wflinfo.c
+++ b/tests/mock-software-wflinfo.c
@@ -23,6 +23,7 @@
  * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
+#include <glib.h>
 #include <stdio.h>
 
 #include "../steam-runtime-tools/graphics-test-defines.h"
@@ -41,6 +42,12 @@ main (int argc,
           "\t\t\"extensions\": [\n"
           "\t\t]\n\t}\n}\n");
   fprintf (stderr, "warning: this warning should always be logged\n");
+
+  if (g_strcmp0 (g_getenv ("LIBGL_DEBUG"), "verbose") == 0)
+    {
+      fprintf (stderr, "info: you used LIBGL_DEBUG=verbose\n");
+    }
+
   return 0;
 }