Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[tycho-user] Minerva UI Tests and miscellaneous issues

Hi,

hope this is the right place for some Minerva issues as I haven't found any Minerva-specific lists.

I am currently 'minerva-fying' my little Eclipse Plugin ( http://sourceforge.net/projects/avr-eclipse/ ) and the "java.lang.RuntimeException: Bundle org.aniszczyk.minerva.tests.ui is not found" issue had me pulling out my hair for almost two days until I found the culprit:

In the file org.aniszczyk.minerva.tests.ui/META-INF/MANIFEST.MF  in the line
Fragment-Host: org.aniszczyk.minerva.tests.core;bundle-version="1.0.0.qualifier"
the ".qualifier" ending was causing the fail. Removing ".qualifier" and the UI Tests works, almost, as now SWTBot was barfing due to no tests to run.
Adding an empty test method
    @Test
    public void someTest() {
        // Do nothing (for now)
    }
 to org.aniszczyk.minerva.tests.ui/src/org/aniszczyk/minerva/tests/ui/SimpleUITestCase.java fixed that and my Minerva build was finally successful.

Now log4j still complaints that the log4j system is not properly initialized but that does not break the build. AFAIK log4j wants to have a log4j.xml or log4j.properties file in the classpath, but I have not looked into this yet.

BTW is there any particular advantage in making the tests.ui project a fragment of the tests.core plugin?


Some other issues with Minerva that I found:

1. Minerva currently uses a no longer existing Snapshot repository of the Orbit site in the parent pom.xml:
    <orbit-site>http://download.eclipse.org/tools/orbit/downloads/drops/S20110124210048/repository</orbit-site>

this should be replaced by the current Orbit release repository
    <orbit-site>http://download.eclipse.org/tools/orbit/downloads/drops/R20110523182458/repository/</orbit-site>

2. In the UI tests pom.xml: The site referenced in the line    
    <local-p2-site>file:/${basedir}/../org.aniszczyk.minerva-updatesite/target/site</local-p2-site>
does not exist, because
a) "org.aniszczyk-updatesite" is actually named "org.aniszczyk.minerva-repository/" in the filesystem and b) as it is a repository and not an update-site it should end with .../target/repository and not .../target/site.
I am not sure if the whole thing is needed at all, as Minerva builds fine without it.

Anyway the "org.aniszczyk.minerva-updatesite" project should be renamed to "
org.aniszczyk.minerva-repository" in eclipse to reflect the real pathname and the real content.

3. A general suggestion for Minerva: I think it would be more Eclipse-friendly to move the parent pom.xml from the root directory to its own Eclipse project, like "org.aniszczyk.minerva-parent", because as it is now the file is not shown in Eclipse when doing an "Import Projects" from the Minerva git repository.
This would, of course, require a
<relativePath>../org.aniszczyk.minerva-parent/pom.xml</relativePath>
entry in all sub pom.xml files.

4. Coming back to the UI tests project. I think in the manifest.mf all Import-Package and probably all Required-Bundle entries can be replaced by the org.eclipse.swtbot.go bundle.

Also there is some stuff in the UI tests pom.xml that seems to be a leftover from from whichever Project Minerva was extracted from (EGit?), like a dependecy on org.eclipse.cvs.feature.group. (Are all the dependencies required anyway? Minerva builds fine without them. But then again I am absolutely new to maven and tycho, still trying to wrap my head around what's going on inside the build)

5. Many more questions and suggestions, but I think I'll stop here for now :-)

BTW, what would be the best way to contribute code/fixes to Minerva at the moment (while it is still at github)?


Thomas






Back to the top