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:
@@ -112,16 +112,25 @@ TEST_CASE_METHOD(PersistenceTests, "wxPersistTLW", "[persist][tlw]")
|
|||||||
frame->Show();
|
frame->Show();
|
||||||
|
|
||||||
#ifdef __WXGTK__
|
#ifdef __WXGTK__
|
||||||
wxStopWatch sw;
|
// When using Xvfb, the frame will never get iconized, presumably
|
||||||
while ( !frame->IsIconized() )
|
// because there is no WM, so don't even bother waiting or warning.
|
||||||
|
if ( IsRunningUnderXVFB() )
|
||||||
{
|
{
|
||||||
wxYield();
|
checkIconized = false;
|
||||||
if ( sw.Time() > 500 )
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
wxStopWatch sw;
|
||||||
|
while ( !frame->IsIconized() )
|
||||||
{
|
{
|
||||||
// 500ms should be enough for the window to end up iconized.
|
wxYield();
|
||||||
WARN("Frame wasn't iconized as expected");
|
if ( sw.Time() > 500 )
|
||||||
checkIconized = false;
|
{
|
||||||
break;
|
// 500ms should be enough for the window to end up iconized.
|
||||||
|
WARN("Frame wasn't iconized as expected");
|
||||||
|
checkIconized = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif // __WXGTK__
|
#endif // __WXGTK__
|
||||||
|
|||||||
@@ -72,7 +72,11 @@ static void TopLevelWindowShowTest(wxTopLevelWindow* tlw)
|
|||||||
tlw->Show(true);
|
tlw->Show(true);
|
||||||
countActivate.WaitEvent();
|
countActivate.WaitEvent();
|
||||||
|
|
||||||
CHECK(tlw->IsActive());
|
// TLWs never become active when running under Xvfb, presumably because
|
||||||
|
// there is no WM there.
|
||||||
|
if ( !IsRunningUnderXVFB() )
|
||||||
|
CHECK(tlw->IsActive());
|
||||||
|
|
||||||
CHECK(tlw->IsShown());
|
CHECK(tlw->IsShown());
|
||||||
|
|
||||||
tlw->Hide();
|
tlw->Hide();
|
||||||
|
|||||||
Reference in New Issue
Block a user