Disable tests requiring a WM under Xvfb

Both iconization and activation of TLWs is dependent on the presence of
a WM, but there is no WM running under Xvfb, so skip these tests in this
case.
This commit is contained in:
Vadim Zeitlin
2019-07-17 16:07:06 +02:00
parent 8634808a6c
commit c92b39a13d
2 changed files with 22 additions and 9 deletions

View File

@@ -112,6 +112,14 @@ TEST_CASE_METHOD(PersistenceTests, "wxPersistTLW", "[persist][tlw]")
frame->Show();
#ifdef __WXGTK__
// When using Xvfb, the frame will never get iconized, presumably
// because there is no WM, so don't even bother waiting or warning.
if ( IsRunningUnderXVFB() )
{
checkIconized = false;
}
else
{
wxStopWatch sw;
while ( !frame->IsIconized() )
{
@@ -124,6 +132,7 @@ TEST_CASE_METHOD(PersistenceTests, "wxPersistTLW", "[persist][tlw]")
break;
}
}
}
#endif // __WXGTK__
delete frame;

View File

@@ -72,7 +72,11 @@ static void TopLevelWindowShowTest(wxTopLevelWindow* tlw)
tlw->Show(true);
countActivate.WaitEvent();
// TLWs never become active when running under Xvfb, presumably because
// there is no WM there.
if ( !IsRunningUnderXVFB() )
CHECK(tlw->IsActive());
CHECK(tlw->IsShown());
tlw->Hide();