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; }