mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-07-30 18:19:18 +02:00
qa: Enable interface_gui.py on macOS
This is a follow-up to bitcoin/bitcoin#35551.
This commit is contained in:
@@ -21,11 +21,9 @@ class GuiTest(BitcoinTestFramework):
|
||||
self.skip_if_no_gui()
|
||||
# On Windows, bitcoin.exe exits immediately when launching bitcoin-gui.exe,
|
||||
# causing the test framework's process monitor to see a premature node exit.
|
||||
# On macOS, bitcoin-qt's Cocoa code assumes NSApp is initialized, but the
|
||||
# minimal Qt platform plugin skips that, causing crashes.
|
||||
# Both issues are likely fixable.
|
||||
if platform.system() in ("Windows", "Darwin"):
|
||||
raise SkipTest("bitcoin-gui test not supported on Windows or macOS")
|
||||
# This issue is likely fixable.
|
||||
if platform.system() == "Windows":
|
||||
raise SkipTest("bitcoin-gui test not supported on Windows")
|
||||
|
||||
def setup_nodes(self):
|
||||
self.extra_init = [{"use_gui": True}]
|
||||
|
||||
@@ -282,6 +282,11 @@ class TestNode():
|
||||
subp_env = dict(os.environ, LIBC_FATAL_STDERR_="1")
|
||||
if self.use_gui:
|
||||
subp_env.setdefault("QT_QPA_PLATFORM", "minimal")
|
||||
if platform.system() == "Darwin":
|
||||
# QMacStyle assumes a Cocoa platform window, which the minimal platform
|
||||
# does not provide. In particular, painting a QGroupBox can make Qt call
|
||||
# addSubview: on an invalid native object (QTBUG-49686).
|
||||
subp_env.setdefault("QT_STYLE_OVERRIDE", "fusion")
|
||||
subp_env.setdefault("LC_ALL", "nl_NL.UTF-8") # Set language to try to trigger translation bugs
|
||||
if sys.platform.startswith("linux") and "XDG_RUNTIME_DIR" not in subp_env:
|
||||
# Qt prints warnings to stderr when XDG_RUNTIME_DIR is unset or has wrong
|
||||
|
||||
Reference in New Issue
Block a user