-
Notifications
You must be signed in to change notification settings - Fork 83
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Run some pde.build tests with Tycho #927
Conversation
Missing tests require provisioning the "delta pack" (ie launchers for all Platforms)
@mickaelistria from my previous debugging I think that pdebuild want something like we have in product with "include native launcher artifacts", not sure if such an option could be added to p2 installed test framework. The second thing is, it requires that the "install location" is set and points to the root of the installation that contains the eclipse.exe |
@laeubi thanks for looking at it. I don't think I'll spend more time on it, my goal was more to demonstrate how such strange cases can be handled and to bootstrap a solution. So if you're willing to continue working on this topic, re-using this patch or not, that would still be welcome. |
IIRC installing org.eclipse.equinox.executable feature supplies all the different launchers and somewhere in the code it handles that as if delta pack is available. It should have been properly cleaned up but no one really cares about pde.build so it is what it is. |
@mickaelistria thats already helpful and I'll try to take a look into it later on after the december release, do oyu mind adding the |
I take a look and actually the executable already is included in the p2 installed runtime (I assume the sdk product already pull that in ...) but it explicitly want to find |
IIRC o.e.equinox.executable contains all arch specific executables and many tests are written with e.g. win32 being hardcoded. |
I now was able to supply the build with this "deltapack" that it finds the launcher and bring it down to 9 failures... but it seems it also wants SWT items as well... so it does not only use the executables for test it also uses the generted repo for provision a target in the tests... |
That seems to be the problem for the remaining tests, they want win32 to be "installed" but if running on linux of course this will not happen... so extra requirements don't work... need to find how to trick P2 to still install them... |
If that the only issue that prevents other tests to be executed in Jenkins, I see no problem to disable it on non-Windows platforms for now. A proper fix would be even to be platform independent, but I have no idea how much work that would be. Better have more tests immediately as no tests for long time. |
That's an interesting idea, I'll push my change and see if it runs on the windows runner already...
You can take a look at Lines 38 to 39 in eeffb96
so at a first glance it seems one needs instead a case for every platform (win/linux/mac) for this to run on different installs. |
A quick try with only allow windows as environment failed, seems the P2 installed runtime is missing the fix to use the only defined runtime if it does not match the running target:
I'll check if that can be fixed at Tycho ... |
Here we see https://github.com/eclipse-pde/eclipse.pde/runs/18999626168 that there are some test that fail on 2/3 platforms that means they seem to work in windows! Problem is if we disable them somehow for non windows they wont run on the i-builds as well or we need just another property to set like the p2 one... |
Stupid enough some seem to have hardcoded LINUX in their assumptions:
🤯 |
And then there are some test that need different platform items... because they want to test some kind of building for another platform maybe (like Tycho supports), so to support this usecase I think one needs a new option in Tycho p2installed runtime to provision additional things... |
This will be addressed with even though it does not help here... |
With this change I'm now able to run all test except one that is failing as it now gets more content than expected I'll disable that test for verification builds maybe one more familiar with PDE builds (@iloveeclipse) is then able to make that test work in both scenarios... The test in question is |
So to summarize my findings here:
Currently we "fake" this with the following workarounds:
So the best actually would be to rewrite the test so they use for example a release repository or even the ibuilds repository and then simply setup a target platform that provide in what is desired, this would make the test easier to run in different environments and not rely on ant/tycho special setups. Just in case one want to look into this, a good start is
to set a plugin path that is then later passed to the ant build scripts and from there passed as an additional path to the targets to search for stuff... |
I think this is included in #980 and thus can be closed. |
Missing tests require provisioning the "delta pack" (ie launchers for all Platforms)