Skip to content
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 (second attempt) #980

Merged
merged 2 commits into from
Dec 5, 2023

Conversation

laeubi
Copy link
Contributor

@laeubi laeubi commented Dec 4, 2023

This is a fresh attempt based on

with some progress made here

but that was a dead end I think instead one should try to add a category.xml with another execution that mirrors into the "deltapack folder" so if the test executes in target/work the goal would be to have a folder target/deltapack/eclipse that mirrors everything needed as the "deltapack".

Missing tests require provisioning the "delta pack" (ie launchers for
all Platforms)
@iloveeclipse
Copy link
Member

org.eclipse.pde.build.tests: Unqualified OSGi version 1.4.300.qualifier must match unqualified Maven version 1.4.200-SNAPSHOT

Copy link

github-actions bot commented Dec 4, 2023

Test Results

     273 files  +    3       273 suites  +3   1h 1m 36s ⏱️ + 16m 15s
  3 441 tests +114    3 332 ✔️ +  35    47 💤 +17  22 +22    40 🔥 +  40 
10 620 runs  +342  10 294 ✔️ +106  141 💤 +51  66 +66  119 🔥 +119 

For more details on these failures and errors, see this check.

Results for commit cd9c8f3. ± Comparison against base commit eb34cab.

♻️ This comment has been updated with latest results.

@laeubi
Copy link
Contributor Author

laeubi commented Dec 5, 2023

org.eclipse.pde.build.tests: Unqualified OSGi version 1.4.300.qualifier must match unqualified Maven version 1.4.200-SNAPSHOT

Seems it was too late yesterday, I fixed that now and also added an assumption to the launcher find method, this seems for me the most suitable solution because then we can merge this attempt already and add more work (e.g. enable more test) on top of it.

@laeubi
Copy link
Contributor Author

laeubi commented Dec 5, 2023

This seems to reproduce the test failures we see here

I therefore think this PR should be merged so we can see them in regular verification builds and can fix/act on them... in addition to that it adds 35 new test we will be aware if they would break.

@HannesWell @vik-chand any concerns?

Copy link
Member

@HannesWell HannesWell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems to reproduce the test failures we see here

* [120 P2Tests fail on master since I20231201-1800 #967](https://github.com/eclipse-pde/eclipse.pde/issues/967)

Yes, I checked a few failures and they are identical.

I therefore think this PR should be merged so we can see them in regular verification builds and can fix/act on them... in addition to that it adds 35 new test we will be aware if they would break.

It's not ideal but sounds like a suitable solution for the current situation. It will also help to verify a fix sooner.

Thank you @laeubi for making this possible so that we can detect regressions early.
Hopefully this prevent future regressions and will reduce the burden for @iloveeclipse to hunt down their causes.

<configuration>
<product>org.eclipse.sdk.ide</product>
<testRuntime>p2Installed</testRuntime>
<testClass>org.eclipse.pde.build.tests.PDEBuildTestSuite</testClass>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Am I right, that this testClass is used for the default test goal execution of the tycho-surefire-plugin for eclipse-test-plugins and the overwritten value in the separate p2-tests execution refelects the second execution defined in this projects test.xml?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes

<goals><goal>test</goal></goals>
<configuration>
<testClass>org.eclipse.pde.build.tests.P2TestSuite</testClass>
<systemProperties/>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<systemProperties/>

Is this necessary? The effective pom view says this element is not configured in a parent pom.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is to clear the inherited properties from the default execution/plugin configuration, one might can configure the default execution but lets dont complicate it too much as it already is :-)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

but lets dont complicate it too much as it already is :-)

That's fine :)
But depending on where the to clear property is defined and how this might not be sufficient and something like https://stackoverflow.com/a/33252763/14542697 needs to be applied.
I have not further checked where this is coming from exactly, but I'm sure you are aware of all that.
Just wanted to make sure, it is not just forgotten.

@laeubi laeubi merged commit bd726ff into eclipse-pde:master Dec 5, 2023
8 of 16 checks passed
@iloveeclipse
Copy link
Member

Thanks for enabling tests! Was a long outstanding PDE issue.

@akurtakov
Copy link
Member

I just saw aggregator build failing https://ci.eclipse.org/platform/job/eclipse.platform.releng.aggregator/job/PR-1639/1/console :

22:23:57  org.apache.maven.ProjectCycleException: The projects in the reactor contain a cyclic reference: Edge between 'Vertex{label='eclipse.platform.repository:eclipse.platform.repository:4.31.0-SNAPSHOT'}' and 'Vertex{label='org.eclipse.sdk.feature:org.eclipse.sdk.tests:4.31.0-SNAPSHOT'}' introduces to cycle in the graph org.eclipse.sdk.feature:org.eclipse.sdk.tests:4.31.0-SNAPSHOT --> org.eclipse.pde:org.eclipse.pde.build.tests:1.4.300-SNAPSHOT --> eclipse.platform.repository:eclipse.platform.repository:4.31.0-SNAPSHOT --> org.eclipse.sdk.feature:org.eclipse.sdk.tests:4.31.0-SNAPSHOT

I'm not sure it's caused by this one here but looks suspiciously connected.

@iloveeclipse
Copy link
Member

I just saw aggregator build failing https://ci.eclipse.org/platform/job/eclipse.platform.releng.aggregator/job/PR-1639/1/console :

22:23:57  org.apache.maven.ProjectCycleException: The projects in the reactor contain a cyclic reference: Edge between 'Vertex{label='eclipse.platform.repository:eclipse.platform.repository:4.31.0-SNAPSHOT'}' and 'Vertex{label='org.eclipse.sdk.feature:org.eclipse.sdk.tests:4.31.0-SNAPSHOT'}' introduces to cycle in the graph org.eclipse.sdk.feature:org.eclipse.sdk.tests:4.31.0-SNAPSHOT --> org.eclipse.pde:org.eclipse.pde.build.tests:1.4.300-SNAPSHOT --> eclipse.platform.repository:eclipse.platform.repository:4.31.0-SNAPSHOT --> org.eclipse.sdk.feature:org.eclipse.sdk.tests:4.31.0-SNAPSHOT

I'm not sure it's caused by this one here but looks suspiciously connected.

This looks lile caused by this PR.

Should we quickly revert it before next build?

@akurtakov
Copy link
Member

I just saw aggregator build failing https://ci.eclipse.org/platform/job/eclipse.platform.releng.aggregator/job/PR-1639/1/console :

22:23:57  org.apache.maven.ProjectCycleException: The projects in the reactor contain a cyclic reference: Edge between 'Vertex{label='eclipse.platform.repository:eclipse.platform.repository:4.31.0-SNAPSHOT'}' and 'Vertex{label='org.eclipse.sdk.feature:org.eclipse.sdk.tests:4.31.0-SNAPSHOT'}' introduces to cycle in the graph org.eclipse.sdk.feature:org.eclipse.sdk.tests:4.31.0-SNAPSHOT --> org.eclipse.pde:org.eclipse.pde.build.tests:1.4.300-SNAPSHOT --> eclipse.platform.repository:eclipse.platform.repository:4.31.0-SNAPSHOT --> org.eclipse.sdk.feature:org.eclipse.sdk.tests:4.31.0-SNAPSHOT

I'm not sure it's caused by this one here but looks suspiciously connected.

This looks lile caused by this PR.

Should we quickly revert it before next build?

I'm 90% that this will break the build.

@iloveeclipse
Copy link
Member

So let revert it.

@iloveeclipse
Copy link
Member

So let revert it.

I see no possibility to do this from the github UI?

If I see it right, we only need revert for 6e5138a

iloveeclipse added a commit to iloveeclipse/eclipse.pde.ui that referenced this pull request Dec 5, 2023
This reverts commit 6e5138a as it will
introduce cyclic build error in the aggregator build.

See eclipse-platform/eclipse.platform.releng.aggregator#1639
See eclipse-pde#980
@iloveeclipse
Copy link
Member

So let revert it.

I see no possibility to do this from the github UI?

If I see it right, we only need revert for 6e5138a

=> #985

iloveeclipse added a commit that referenced this pull request Dec 5, 2023
This reverts commit 6e5138a as it will
introduce cyclic build error in the aggregator build.

See eclipse-platform/eclipse.platform.releng.aggregator#1639
See #980
@iloveeclipse
Copy link
Member

@laeubi : it is unfortunate we've had to revert this PR, but it has shown a potential to enable PDE tests.
If you have an idea how to make it without breaking aggregator build, it would be great.

@laeubi
Copy link
Contributor Author

laeubi commented Dec 10, 2023

I'll give it a try later on, basically I think one can use a profile that we only enable when verification builds run (like the tck profile we already have) so it is not executed in a full aggregator build.

@HannesWell
Copy link
Member

I'll give it a try later on, basically I think one can use a profile that we only enable when verification builds run (like the tck profile we already have) so it is not executed in a full aggregator build.

Sounds good.
I also had a quick look back then and wondered why there is even a cycle?
org.eclipse.pde.build.tests is not a fragment to pde.build and should not be contained in any feature. Therefore I wonder why the sdk had a reference to it so that a cycle can be formed?

Another point is that it looked like the activated tests only use what have been build with the I-builds (see #984) and if I understand the config right, this is no surprise since the test-runtime is p2 provisioned?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants