Skip to main content

Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » RCP Testing Tool » RCPTT and "PartRenderingEngine's limbo" Shell
RCPTT and "PartRenderingEngine's limbo" Shell [message #1858813] Mon, 24 April 2023 11:36
Stefan Winkler is currently offline Stefan WinklerFriend
Messages: 307
Registered: July 2009
Location: Germany
Senior Member

I am currently tracking down an issue that makes our RCPTT tests unstable in a way that we experience randomly failing test cases due to

"Execution has timed out after 659.58 seconds"

This happens in most cases in a context setup where we first make sure that the Project Explorer View is visible.
Then, we try to get the first (and only) project in that tree to right-click and select delete from the menu to
delete the project from an earlier test case. (I know there are other ways to clean the workspace in RCPTT, but we wanted to test it this way...)

I traced the RCPTT runtime and was able to see that it tries to execute the command (the format is my own EMF object toString()):

GetTree {  parent=ControlHandler { kind=View text=Project Explorer resolved=Element {...} x=0 y=0 } }

which sends the following command to the Tesla Processor:

SelectCommand { id=0 data=SelectData { kind=Tree  multiplicity=1 parent=Element {...}  }  }

this goes into SWTUiProcessor.preExecute(), and activateViewEditor.

This calls SWTUiPlayer.getShell(ViewReference:Project Explorer).

There, the shell retrieved is not the active workspace window, but the shell with the title "PartRenderingEngine's limbo".
(which seems odd, because I can see the Project Explorer in the screenshots in the test reports).

I don't know for sure, but maybe because of this wrong shell, what happens is that SWTUIProcessor.activateViewEditor goes into the if(!visible)
branch at
and tries to click() the view to make it visible, then try again. But that seems not to work, because we go into an endless loop:
Because the preExecute() returns false, we put the command into the localQueue again and re-execute it.

But the result is the same, we again end up in the if(!visible) branch as before and return false again, and so on.
This continues until the timeout cancels the cycle and fails the test case.

So, what goes wrong here? Should RCPTT maybe handle the "PartRenderingEngine's limbo" Shell in a special way?

And where should I open a bug? On github? Or still in the Eclipse Bugzilla?

Thanks for any hints!

Previous Topic:Driving RCP applications natively compiled for Apple ARM (M1, M2 - AArch64)?
Next Topic:RCPTT rerunning Worker jobs
Goto Forum:

Current Time: Mon Feb 26 05:56:29 GMT 2024

Powered by FUDForum. Page generated in 0.01940 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top