From 711adcb36e627e3fa8d327bcdde0d1a3e7c02557 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20=C3=85dahl?= Date: Thu, 2 Apr 2020 16:14:33 +0200 Subject: [PATCH] tests/test-runner: Add a 'wait_reconfigure' command This makes sure that a client has properly responded to a configure event it itself triggered. In practice, this is just two 'wait' commands, with a 'dispatch' in between, which is needed because a single one does not reliably include the two way round trip happening when e.g. responding to a unmaximize configure event triggered by a unmaximize request. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1171 --- src/tests/test-runner.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/tests/test-runner.c b/src/tests/test-runner.c index 06c9046ef..085b8f960 100644 --- a/src/tests/test-runner.c +++ b/src/tests/test-runner.c @@ -636,6 +636,24 @@ test_case_do (TestCase *test, if (!test_case_wait (test, error)) return FALSE; } + else if (strcmp (argv[0], "wait_reconfigure") == 0) + { + if (argc != 1) + BAD_COMMAND("usage: %s", argv[0]); + + /* + * Wait twice, so that we + * 1) First wait for any requests to configure has been made + * 2) Then wait for the new configuration has been applied + */ + + if (!test_case_wait (test, error)) + return FALSE; + if (!test_case_dispatch (test, error)) + return FALSE; + if (!test_case_wait (test, error)) + return FALSE; + } else if (strcmp (argv[0], "dispatch") == 0) { if (argc != 1)