Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 334716 - [eclipse-build] Install plugin test suites into proper directory for use by runtests.sh
Summary: [eclipse-build] Install plugin test suites into proper directory for use by r...
Status: RESOLVED FIXED
Alias: None
Product: Linux Tools
Classification: Tools
Component: eclipse-build (show other bugs)
Version: 0.6.1   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: 0.7   Edit
Assignee: Packaging Tools Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-01-18 17:16 EST by Andrew Overholt CLA
Modified: 2011-06-23 16:35 EDT (History)
1 user (show)

See Also:


Attachments
patch to fix this problem (4.40 KB, patch)
2011-01-18 17:16 EST, Andrew Overholt CLA
no flags Details | Diff
patch to fix this problem (3.99 KB, patch)
2011-01-18 17:27 EST, Andrew Overholt CLA
no flags Details | Diff
patch to fix this problem (3.82 KB, patch)
2011-01-18 17:48 EST, Andrew Overholt CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Overholt CLA 2011-01-18 17:16:53 EST
Created attachment 187056 [details]
patch to fix this problem

At present, build.xml provisions an SDK and then the 'runTests' target uses that SDK (in runtests.sh) for running the SDK tests.  The problem is that the SDK installation that is provisioned by the 'provision.sdk' target "knows" its installation location and thus the copying back and forth for use with the test suites is futile because all test suite installations get put into the 'provision.sdk'-provisioned installation directory.  I'm doing a poor job of explaining this ... let me try to write it out in pseudo-code:

'provision.sdk' --- SDK ---> ${buildDirectory}/installation
[...]
'runTests':
  cp -rp ${buildDirectory}/installation{,.fortests}
  p2director -install <test framework> ${buildDirectory}/installation.fortests
  cp -rp ${buildDirectory}/installation.fortests{,.clean}
  for each plugin test suite:
    p2director -install <plugin test suite> -target ${buildDirectory}/installation.fortests

Herein lies the problem.  We were going on the assumption that the above would install the plugin test suites into ${buildDirectory}/installation.fortests when it was actually putting it into ${buidlDirectory}/installation because that installation "knows" (eclipse.ini and p2 caches and such) where it was installed.

I will attach a patch that moves the provisioning of the test framework into build.xml and then does an in-place installation of each plugin test suite into that *same* location, each time starting fresh with a copy of the installation that has been preserved (but which is never run outside of its initially-provisioned directory).
Comment 1 Andrew Overholt CLA 2011-01-18 17:19:07 EST
Patch committed.  We should try to get this into 0.7 if there's still time.  Alex, is there?
Comment 2 Andrew Overholt CLA 2011-01-18 17:27:03 EST
Created attachment 187058 [details]
patch to fix this problem

New patch that doesn't include a ChangeLog section.
Comment 3 Andrew Overholt CLA 2011-01-18 17:48:14 EST
Created attachment 187060 [details]
patch to fix this problem

I forgot to remove the "-x" to the bash interpreter in runtests.sh that I added for debugging.