[RFC PATCH 3/3] tests/qtest/vnc-display-test: Disable on Darwin

Philippe Mathieu-Daudé posted 3 patches 2 years, 11 months ago
Maintainers: Thomas Huth <thuth@redhat.com>, Laurent Vivier <lvivier@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>
[RFC PATCH 3/3] tests/qtest/vnc-display-test: Disable on Darwin
Posted by Philippe Mathieu-Daudé 2 years, 11 months ago
This test is failing in gtk-vnc on Darwin:

  $ make check-qtest-aarch64
  ...
  19/20 qemu:qtest+qtest-aarch64 / qtest-aarch64/vnc-display-test
  ERROR **: 10:42:35.488: vnc-error: Unsupported auth type 17973672

While QEMU picks the sigaltstack coroutine backend, gtk-vnc uses
the ucontext coroutine backend, which might be broken on Darwin.

Disable this test (current problem being investigated in this thread:
https://lore.kernel.org/qemu-devel/Y8kw6X6keB5l53nl@redhat.com/).

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 tests/qtest/vnc-display-test.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/tests/qtest/vnc-display-test.c b/tests/qtest/vnc-display-test.c
index df468c7b22..e52a4326ec 100644
--- a/tests/qtest/vnc-display-test.c
+++ b/tests/qtest/vnc-display-test.c
@@ -19,7 +19,7 @@ typedef struct Test {
     GMainLoop *loop;
 } Test;
 
-#if !defined(WIN32)
+#if !defined(WIN32) && !defined(CONFIG_DARWIN)
 
 static void on_vnc_error(VncConnection* self,
                          const char* msg)
@@ -41,6 +41,9 @@ test_setup(Test *test)
 #ifdef WIN32
     g_test_skip("Not supported on Windows yet");
     return false;
+#elif defined(CONFIG_DARWIN)
+    g_test_skip("Broken on Darwin");
+    return false;
 #else
     int pair[2];
 
-- 
2.38.1


Re: [RFC PATCH 3/3] tests/qtest/vnc-display-test: Disable on Darwin
Posted by Daniel P. Berrangé 2 years, 11 months ago
On Thu, Jan 19, 2023 at 01:05:14PM +0100, Philippe Mathieu-Daudé wrote:
> This test is failing in gtk-vnc on Darwin:
> 
>   $ make check-qtest-aarch64
>   ...
>   19/20 qemu:qtest+qtest-aarch64 / qtest-aarch64/vnc-display-test
>   ERROR **: 10:42:35.488: vnc-error: Unsupported auth type 17973672
> 
> While QEMU picks the sigaltstack coroutine backend, gtk-vnc uses
> the ucontext coroutine backend, which might be broken on Darwin.

s/might be/is completely and utterly/

The struct ucontext_t definition on macOS aarch64 is too small,
and so getcontext() smashes past the end of the struct overwriting
whatever follows the ucontext_t struct.



> 
> Disable this test (current problem being investigated in this thread:
> https://lore.kernel.org/qemu-devel/Y8kw6X6keB5l53nl@redhat.com/).
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>  tests/qtest/vnc-display-test.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>


But keep an eye on this bug:

  https://github.com/Homebrew/homebrew-core/issues/115413

if it gets fixed before you send a PULL request, we can drop
this patch, or failing that, revert it later.

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|