| Summary: | [CBI] Missing properties is causing p2 reconciler test failures | ||
|---|---|---|---|
| Product: | [Eclipse Project] Platform | Reporter: | Pascal Rapicault <pascal.rapicault> |
| Component: | Releng | Assignee: | David Williams <david_williams> |
| Status: | RESOLVED WORKSFORME | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | daniel_megert, david_williams |
| Version: | 4.3 | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Windows 7 | ||
| Whiteboard: | |||
| Bug Depends on: | |||
| Bug Blocks: | 372792, 393922 | ||
|
Description
Pascal Rapicault
To be clear, the name of the property is org.eclipse.equinox.p2.reconciler.tests.platform.archive and it should point to a download of the platform or the SDK that has just been built. I have ideas on how to work around that but this is not going to happen soon (https://bugs.eclipse.org/bugs/show_bug.cgi?id=402067). Thanks very much, Pascal. Some of the "properties files" did change location/processing in the new set up. This will help me know what to look for. Any memory of how you get that value? I can't find any evidence we ever passed it directly with -D, but we do provide it in a property file named equinoxp2tests.properties Which appears to have the right values on the test server. See below. any chance your test.xml file "reads" that file? And, now its in a different place? (as far as I can tell, it is in the "same place", but, there are several "copied" versions on the tests server, so not sure which is the critical one for you. I've looked at the properties defined at the time of your tests, at http://download.eclipse.org/eclipse/downloads/drops4/I20130227-2000/testresults/html/org.eclipse.equinox.p2.tests_linux.gtk.x86_6.0.html and don't see that property defined ... but, also looks like there is nothing undefined, or defined incorrectly, as far as I can tell. See anything in there that looks wrong? = = = = = = = = = #Fri Oct 22 11:38:18 EDT 2010 org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.linux-x86_64=/opt/users/hudsonbuild/workspace/ep4-unit-lin64/workarea/I20130227-2000/eclipse-testing/eclipse-platform-3.7.2-linux-gtk-x86_64.tar.gz org.eclipse.equinox.p2.tests.current.build.repo=http://download.eclipse.org/eclipse/updates/4.3-I-builds/I20130227-2000 org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.win32=/opt/users/hudsonbuild/workspace/ep4-unit-lin64/workarea/I20130227-2000/eclipse-testing\\eclipse-platform-3.7.2-win32.zip org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.macosx=/opt/users/hudsonbuild/workspace/ep4-unit-lin64/workarea/I20130227-2000/eclipse-testing/eclipse-platform-3.7.2-macosx-cocoa.tar.gz org.eclipse.equinox.p2.reconciler.tests.platform.archive.linux=/opt/users/hudsonbuild/workspace/ep4-unit-lin64/workarea/I20130227-2000/eclipse-testing/eclipse-platform-I20130227-2000-linux-gtk-x86_64.tar.gz org.eclipse.equinox.p2.reconciler.tests.platform.archive.win32=/opt/users/hudsonbuild/workspace/ep4-unit-lin64/workarea/I20130227-2000/eclipse-testing\\eclipse-platform-I20130227-2000-win32.zip org.eclipse.equinox.p2.reconciler.tests.platform.archive.macosx=/opt/users/hudsonbuild/workspace/ep4-unit-lin64/workarea/I20130227-2000/eclipse-testing/eclipse-platform-I20130227-2000-macosx-cocoa.tar.gz org.eclipse.equinox.p2.tests.last.release.build.repo=http\://download.eclipse.org/eclipse/updates/4.1/R-4.1.2-201202230900 Search and ye shall find ... I see you find that file in
AbstractReconcilerTest.java
= = = = =
if (installLocation != null) {
// parent will be "eclipse" and the parent's parent will be "eclipse-testing"
File parent = installLocation.getParentFile();
if (parent != null) {
parent = parent.getParentFile();
if (parent != null) {
File propertiesFile = new File(parent, "equinoxp2tests.properties");
if (!propertiesFile.exists())
return;
= = = =
Looking at your tests properties URL, I see
eclipse.home.location=file:/opt/users/hudsonbuild/workspace/ep4-unit-lin64/workarea/I20130227-2000/eclipse-testing/test-eclipse/eclipse/
And, this equinoxp2tests.properties file, with the values I gave above, is in
.../workarea/I20130227-2000/eclipse-testing/
As far as I know, it's been in there before the "CBI build change" ... but if I'm reading your code right you need to go up one more level?
Let me know if/what I am "mis-reading" ... otherwise, if you think it's finding it, you might want to add some "prinln's" to log your attempts and finding/or not.
There are things to learn every day. I did not even know about the equinoxp2tests.properties file :) The code that reads the property file dates from a couple years ago and it looks like it expects the file as a sibling of the eclipse folder. In CBI, do you know where this file is located? Is the build job available on the Hudson instance? Finally, for reference, could you please point me at the last PDE Build? (In reply to comment #5) > There are things to learn every day. I did not even know about the > equinoxp2tests.properties file :) > > The code that reads the property file dates from a couple years ago and it > looks like it expects the file as a sibling of the eclipse folder. In CBI, > do you know where this file is located? > Is the build job available on the Hudson instance? > > Finally, for reference, could you please point me at the last PDE Build? For reference, the last PDE build is conveniently documented in our transition plan, http://wiki.eclipse.org/Platform-releng/Releng_Plan_for_CBI_adoption#The_last_PDE_based_build (bet you didn't know there would be a test if people read it or not :) Or, more directly, http://download.eclipse.org/eclipse/downloads/drops4/I20130219-1600/ As I mentioned in previous comment, = = = = eclipse.home.location=file:/opt/users/hudsonbuild/workspace/ep4-unit-lin64/workarea/I20130227-2000/eclipse-testing/test-eclipse/eclipse/ And, this equinoxp2tests.properties file, with the values I gave above, is in .../workarea/I20130227-2000/eclipse-testing/ = = = = You can explore the Hudson "workspace" if you'd like, but, you need to do it at a time after a "successful" test run (its removed when one starts, and if it fails, as tonight's did, it is left in a "partial" state). The URL for our Linux Kepler tests workspace is https://hudson.eclipse.org/hudson/view/Eclipse%20and%20Equinox/job/ep4-unit-lin64/ (and, then click on "workspace", and then clicking on "workarea" starts to get you to the good stuff .... follow directories mentioned in above URLS. Like I said, there are several copies of the file out there (due to history, and my own sloppy coding added to that). Was this ever fixed? Or test just commented out? If there is some way to fix without using the equinoxp2tests.properties file that would be great. For example, I was going to suggest to "walk up" the directory tree until you fine the equinoxp2tests.properties file, but, if you do that, you will have also found where the files are, that the properties refer to. So ... with that simple assumption, that the files have been copied somewhere "above" you in the tree, you'd not need with equinoxp2tests.properties file any longer. The one exception to the above appears to be a property in equinoxp2tests.properties called org.eclipse.equinox.p2.tests.last.release.build.repo but, seems that "last release" changes so seldom, you could have it as your own property in your own test.xml file. Its currently out of date, anyway, the value from a recent property file has org.eclipse.equinox.p2.tests.last.release.build.repo=http\://download.eclipse.org/eclipse/updates/4.1/R-4.1.2-201202230900 Some magic may have happened because some of the reconciler tests are now running fine. Going forward my plan is to completely get rid of that and use tycho to build a product that represents what's needed to test (see bug #402067). Closing. |