Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 334716

Summary: [eclipse-build] Install plugin test suites into proper directory for use by runtests.sh
Product: [Tools] Linux Tools Reporter: Andrew Overholt <overholt>
Component: eclipse-buildAssignee: Packaging Tools Inbox <linux.packagingtools-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: akurtakov
Version: 0.6.1   
Target Milestone: 0.7   
Hardware: PC   
OS: Linux   
Whiteboard:
Attachments:
Description Flags
patch to fix this problem
none
patch to fix this problem
none
patch to fix this problem none

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.