Skip to content

Reenable tests#273

Merged
Entenwilli merged 2 commits intomainfrom
reenable-tests
May 20, 2025
Merged

Reenable tests#273
Entenwilli merged 2 commits intomainfrom
reenable-tests

Conversation

@Entenwilli
Copy link
Copy Markdown
Member

This PR reenables the tests, so they can be tested against to again

@Entenwilli Entenwilli requested a review from Nicolas-Boltz May 6, 2025 14:48
@Entenwilli
Copy link
Copy Markdown
Member Author

Entenwilli commented May 6, 2025

@Nicolas-Boltz: I've added

<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="false" type="InstallableUnit">
  <unit id="org.dataflowanalysis.analysis" version="0.0.0"/>
  <unit id="org.dataflowanalysis.analysis.pcm" version="0.0.0"/>
  <unit id="org.dataflowanalysis.analysis.dfd" version="0.0.0"/>
  <repository location="https://dataflowanalysis.github.io/updatesite/nightly/dataflowanalysis/"/>
 </location>	

to the targetplatform. Now it works, but it is incredibly ugly, because we may need to build stuff twice when certain changes arrise.

Why does this happen?
If we take a look at the dependencies, the issue is plain:
org.dataflowanalysis.analysis.tests (DataFlowAnalysis) --depends-->org.dataflowanalysis.examplemodels (ExampleModels) and org.dataflowanalysis.analysis,org.dataflowanalysis.analysis.pcm and org.dataflowanalysis.analysis.dfd (DataFlowAnalysis)

but also:

org.dataflowanalysis.examplemodels (ExampleModels) --depends-->org.dataflowanalysis.analysis,org.dataflowanalysis.analysis.pcm and org.dataflowanalysis.analysis.dfd (DataFlowAnalysis)

@Nicolas-Boltz
Copy link
Copy Markdown
Member

Before merging, lets have a short discussion how to resolve this properly. I have thought about several solutions, but none are really "clean" the way our organization is set up.

  • Easiest solution would be to put the unit tests from DFA in the example models repo... For us this means that the example models repo would have to be renamed and functionality spread over multiple repos...
  • Merging DFA, ExampleModels and Converter in one repo could be a solution that also makes dependency management easier...

@Entenwilli
Copy link
Copy Markdown
Member Author

@Nicolas-Boltz
Thinking about it some more, I come with the following proposal:

The Example Models should not require the analysis as a bundle, instead it should try to import the bundle if it exists. That also results in being able to use the Example Models without the analysis (and without the expected results, as they are analysis specific) or with the analysis and the results.
This would break the dependency cycle and therefore our issues

What do you think about that idea?

@Nicolas-Boltz
Copy link
Copy Markdown
Member

As of the discussion in the meeting yesterday, we will initially add the Analysis to its own target site as dependency.
After the release of version 4.1.0 we will create a monorepo of DataFlowAnalysis, Converter and ExampleModels, which not only resolves the dependency issues (as only Analysis Tests require the ExampleModels and ExampleModels requires the Analysis core), but also lower the overall efforts of maintenance and keeping things consistent to each other.
Further efforts will be taken to maybe move away from Tycho to "plain" Maven.

Comment thread tests/org.dataflowanalysis.analysis.tests/META-INF/MANIFEST.MF
@Entenwilli Entenwilli merged commit 5640190 into main May 20, 2025
1 check passed
@Entenwilli Entenwilli deleted the reenable-tests branch May 20, 2025 11:26
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.

2 participants