Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Williams2014-08-19 02:12:23 -0400
committerDavid Williams2014-08-19 02:12:23 -0400
commit860590828fef3de9562577e5c38fe37e71736b25 (patch)
tree3136f6cb28d768534d69b86404c6c615b1e13ede
parentfbe3212bc9447982f19555dc9e9c5f6048508adf (diff)
downloadeclipse.platform.releng.aggregator-860590828fef3de9562577e5c38fe37e71736b25.tar.gz
eclipse.platform.releng.aggregator-860590828fef3de9562577e5c38fe37e71736b25.tar.xz
eclipse.platform.releng.aggregator-860590828fef3de9562577e5c38fe37e71736b25.zip
Bug 441889 - refactor "production test scripts"david_williams/bug441889
-rw-r--r--production/testScripts/configuration/sdk.tests/testConfigs/linux/equinoxp2tests.properties33
-rw-r--r--production/testScripts/configuration/sdk.tests/testConfigs/linux/org.eclipse.core.net.prefs11
-rw-r--r--production/testScripts/configuration/sdk.tests/testConfigs/linux/platformSpecific.properties42
-rw-r--r--production/testScripts/configuration/sdk.tests/testConfigs/linux/testAll.sh55
-rw-r--r--production/testScripts/configuration/sdk.tests/testConfigs/linux/testing.properties22
-rw-r--r--production/testScripts/configuration/sdk.tests/testConfigs/linux/vm.properties28
-rw-r--r--production/testScripts/configuration/sdk.tests/testConfigs/linux32/equinoxp2tests.properties33
-rw-r--r--production/testScripts/configuration/sdk.tests/testConfigs/linux32/org.eclipse.core.net.prefs11
-rw-r--r--production/testScripts/configuration/sdk.tests/testConfigs/linux32/platformSpecific.properties42
-rw-r--r--production/testScripts/configuration/sdk.tests/testConfigs/linux32/testAll.sh57
-rw-r--r--production/testScripts/configuration/sdk.tests/testConfigs/linux32/testing.properties43
-rw-r--r--production/testScripts/configuration/sdk.tests/testConfigs/linux32/vm.properties26
-rw-r--r--production/testScripts/configuration/sdk.tests/testConfigs/macmini/equinoxp2tests.properties33
-rw-r--r--production/testScripts/configuration/sdk.tests/testConfigs/macmini/org.eclipse.core.net.prefs11
-rw-r--r--production/testScripts/configuration/sdk.tests/testConfigs/macmini/platformSpecific.properties41
-rw-r--r--production/testScripts/configuration/sdk.tests/testConfigs/macmini/testing.properties39
-rw-r--r--production/testScripts/configuration/sdk.tests/testConfigs/macmini/vm.properties23
-rw-r--r--production/testScripts/configuration/sdk.tests/testConfigs/macosx/equinoxp2tests.properties33
-rw-r--r--production/testScripts/configuration/sdk.tests/testConfigs/macosx/org.eclipse.core.net.prefs11
-rw-r--r--production/testScripts/configuration/sdk.tests/testConfigs/macosx/platformSpecific.properties48
-rw-r--r--production/testScripts/configuration/sdk.tests/testConfigs/macosx/testing.properties41
-rw-r--r--production/testScripts/configuration/sdk.tests/testConfigs/macosx/vm.properties30
-rw-r--r--production/testScripts/configuration/sdk.tests/testConfigs/win7-64/equinoxp2tests.properties33
-rw-r--r--production/testScripts/configuration/sdk.tests/testConfigs/win7-64/org.eclipse.core.net.prefs11
-rw-r--r--production/testScripts/configuration/sdk.tests/testConfigs/win7-64/platformSpecific.properties42
-rw-r--r--production/testScripts/configuration/sdk.tests/testConfigs/win7-64/testing.properties39
-rw-r--r--production/testScripts/configuration/sdk.tests/testConfigs/win7-64/vm.properties25
-rw-r--r--production/testScripts/configuration/sdk.tests/testConfigs/win7/equinoxp2tests.properties33
-rw-r--r--production/testScripts/configuration/sdk.tests/testConfigs/win7/org.eclipse.core.net.prefs11
-rw-r--r--production/testScripts/configuration/sdk.tests/testConfigs/win7/platformSpecific.properties42
-rw-r--r--production/testScripts/configuration/sdk.tests/testConfigs/win7/testing.properties40
-rw-r--r--production/testScripts/configuration/sdk.tests/testConfigs/win7/vm.properties32
-rw-r--r--production/testScripts/configuration/sdk.tests/testScripts/.gitignore3
-rw-r--r--production/testScripts/configuration/sdk.tests/testScripts/runTests.xml63
-rw-r--r--production/testScripts/configuration/sdk.tests/testScripts/runtests.sh87
-rw-r--r--production/testScripts/configuration/sdk.tests/testScripts/test.xml1679
-rw-r--r--production/testScripts/configuration/streamSpecific-build.properties29
-rw-r--r--production/testScripts/configuration/streamSpecific.properties30
-rw-r--r--production/testScripts/genTestIndexes.xml5
-rw-r--r--production/testScripts/getBaseBuilder.xml418
-rw-r--r--production/testScripts/hudsonBootstrap/getEBuilder.sh13
-rw-r--r--production/testScripts/hudsonBootstrap/getEBuilder.xml207
-rw-r--r--production/testScripts/invokeTestsJSON.xml5
-rw-r--r--production/testScripts/runTests2.xml1061
-rw-r--r--production/testScripts/test_runTests2.xml.sh82
45 files changed, 2739 insertions, 1964 deletions
diff --git a/production/testScripts/configuration/sdk.tests/testConfigs/linux/equinoxp2tests.properties b/production/testScripts/configuration/sdk.tests/testConfigs/linux/equinoxp2tests.properties
deleted file mode 100644
index ac1e56b6..00000000
--- a/production/testScripts/configuration/sdk.tests/testConfigs/linux/equinoxp2tests.properties
+++ /dev/null
@@ -1,33 +0,0 @@
-# Properties required by equinox p2 tests, and others?
-# Version from production/testScripts/configuration/sdk.tests/testConfigs
-# The test framework re-writes this file with the correct short versions,
-# with all variables resolved, so others (e.g. p2 tests) can read it as a normal
-# property file.
-
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.linux=${executionDir}/eclipse-platform-${buildId}-linux-gtk.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.linux-x86_64=${executionDir}/eclipse-platform-${buildId}-linux-gtk-x86_64.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.win32=${executionDir}/eclipse-platform-${buildId}-win32.zip
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.win32-x86_64=${executionDir}/eclipse-platform-${buildId}-win32-x86_64.zip
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.macosx=${executionDir}/eclipse-platform-${buildId}-macosx-cocoa.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.macosx-x86_64=${executionDir}/eclipse-platform-${buildId}-macosx-cocoa-x86_64.tar.gz
-
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.linux=${executionDir}/eclipse-platform-4.4-linux-gtk.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.linux-x86_64=${executionDir}/eclipse-platform-4.4-linux-gtk-x86_64.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.win32=${executionDir}/eclipse-platform-4.4-win32.zip
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.win32-x86_64=${executionDir}/eclipse-platform-4.4-win32-x86_64.zip
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.macosx=${executionDir}/eclipse-platform-4.4-macosx-cocoa.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.macosx-x86_64=${executionDir}/eclipse-platform-4.4-macosx-cocoa-x86_64.tar.gz
-
-org.eclipse.equinox.p2.tests.current.build.repo=http://${DOWNLOAD_HOST}/eclipse/updates/${eclipseStreamMajor}.${eclipseStreamMinor}-${buildType}-builds/${buildId}
-org.eclipse.equinox.p2.tests.last.release.build.repo=http://${DOWNLOAD_HOST}/eclipse/updates/4.4/R-4.4-201406061215
-
-# THe p2 framework requires this file "fully formed", as it reads
-# as normal properties, instead of using the properties as defined
-# by test framework. From what I can see, it especially requires
-# org.eclipse.equinox.p2.tests.current.build.repo
-# org.eclipse.equinox.p2.tests.last.release.build.repo
-# org.eclipse.equinox.p2.reconciler.tests.platform.archive
-# Those elsewhere (API tests?) may depend on
-# org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive
-# but believe it uses the property as provided (does not re-read file).
-# Hence, that's why test framework did a "replace" \ No newline at end of file
diff --git a/production/testScripts/configuration/sdk.tests/testConfigs/linux/org.eclipse.core.net.prefs b/production/testScripts/configuration/sdk.tests/testConfigs/linux/org.eclipse.core.net.prefs
deleted file mode 100644
index a073528e..00000000
--- a/production/testScripts/configuration/sdk.tests/testConfigs/linux/org.eclipse.core.net.prefs
+++ /dev/null
@@ -1,11 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.core.net.hasMigrated=true
-proxiesEnabled=true
-systemProxiesEnabled=true
-nonProxiedHosts=172.30.206.*
-proxyData/HTTP/hasAuth=false
-proxyData/HTTP/host=proxy.eclipse.org
-proxyData/HTTP/port=9898
-proxyData/HTTPS/hasAuth=false
-proxyData/HTTPS/host=proxy.eclipse.org
-proxyData/HTTPS/port=9898
diff --git a/production/testScripts/configuration/sdk.tests/testConfigs/linux/platformSpecific.properties b/production/testScripts/configuration/sdk.tests/testConfigs/linux/platformSpecific.properties
new file mode 100644
index 00000000..d7f296df
--- /dev/null
+++ b/production/testScripts/configuration/sdk.tests/testConfigs/linux/platformSpecific.properties
@@ -0,0 +1,42 @@
+
+# This properties file contains items that are specific to the platform being tested,
+# Typically includes items dependent on exact OS, architecture, and location of files.
+# (Historically, this info used to be contained in several files, such as 'vm.properties',
+# testing.properties, etc.)
+
+# This value is computed by scripts, but there may be need or opportunity
+# to denote "extra data" if set here? (But, other changes will be
+# needed to be fully functional, since indexer, web pages also depend
+# on this value.
+# testedPlatform=linux.gtk.x86_64_8.0
+
+# This is the VM to use to run the tests, if one prefers
+# to use a different one from the one that stared the whole process.
+jvm=/shared/common/jdk1.8.0_x64-latest/jre/bin/java
+
+# TODO: can also list VMs to use for specific execution environments
+
+# executable for ant <exec task
+testExecutable=bash
+
+#name of script to execute
+testScript=./testAll.sh
+
+# This value gets written to the "preference file", named org.eclipse.core.net.prefs.
+# We implement as a property string, since eventually we may test multiple proxy settings.
+# These listed here are for tests running on build.eclipse.org, to access files outside
+# eclipse.org infrastructure.
+org.eclipse.core.net.prefs="\
+eclipse.preferences.version=1\n\
+org.eclipse.core.net.hasMigrated=true\n\
+proxiesEnabled=true\n\
+systemProxiesEnabled=true\n\
+nonProxiedHosts=172.30.206.*\n\
+proxyData/HTTP/hasAuth=false\n\
+proxyData/HTTP/host=proxy.eclipse.org\n\
+proxyData/HTTP/port=9898\n\
+proxyData/HTTPS/hasAuth=false\n\
+proxyData/HTTPS/host=proxy.eclipse.org\n\
+proxyData/HTTPS/port=9898\n"
+
+cvstest.properties=/shared/eclipse/buildtests/cvstest.properties \ No newline at end of file
diff --git a/production/testScripts/configuration/sdk.tests/testConfigs/linux/testAll.sh b/production/testScripts/configuration/sdk.tests/testConfigs/linux/testAll.sh
index 64177dfb..825c1e9f 100644
--- a/production/testScripts/configuration/sdk.tests/testConfigs/linux/testAll.sh
+++ b/production/testScripts/configuration/sdk.tests/testConfigs/linux/testAll.sh
@@ -1,33 +1,57 @@
#!/usr/bin/env bash
+echo "command line as passed into $(basename ${0}): ${*}"
+echo "command line (quoted) as passed into $(basename ${0}): ${@}"
-# This file should never exist or be needed for production machine,
+# This file, localTestsProperties.shsource, should never exist or be needed for production machine,
# but allows an easy way for a "local user" to provide this file
# somewhere on the search path ($HOME/bin is common),
# and it will be included here, thus can provide "override values"
# to those defined by defaults for production machine.,
-# such as for vmcmd
-
+# such as for jvm
source localTestsProperties.shsource 2>/dev/null
+if [[ -z "${propertyFile}" ]]
+then
+ echo "expect property file as environment variable for production runs"
+ exit 1
+fi
+
+if [[ -z "${jvm}" ]]
+then
+ echo "expect jvm as environment variable for production runs"
+ exit 1
+fi
+if [[ -z "${testedPlatform}" ]]
+then
+ echo "expect testedPlatform as environment variable for production runs"
+ exit 1
+fi
+
echo "PWD: $PWD"
-vmcmd=${vmcmd:-/shared/common/jdk1.8.0_x64-latest/jre/bin/java}
+# in production tests, should already be set by runTests2.xml, so
+# we set to an old version here, to make obvious if not.
+export jvm=${jvm:-/shared/common/jdk-1.6.x86_64/jre/bin/java}
# production machine is x86_64, but some local setups may be 32 bit and will need to provide
-# this value in localTestsProperties.shsource.
+# this value in localTestsProperties.shsource. (
eclipseArch=${eclipseArch:-x86_64}
-# vm.properties is used by default on production machines, but will
-# need to override on local setups to specify appropriate vm (usually same as vmcmd).
+# production.properties is used in production tests,
+# need to override on local setups to specify appropriate vm (usually same as jvm).
# see bug 388269
-propertyFile=${propertyFile:-vm.properties}
+export propertyFile=${propertyFile:-platformSpecific.properties}
-echo "properties in testAll.sh"
-echo "vmcmd in testAll: ${vmcmd}"
-echo "extdir in testAll (if any): ${extdir}"
-echo "propertyFile in testAll: ${propertyFile}"
-echo "buildId in testAll: ${buildId}"
+# in product tests, should be set by runTests2.xml,
+# so we use "vm value", "x.0" at end, to make obvious if that's not working.
+export testedPlatform=${testedPlatform:-linux.gtk.x86_64_x.0}
+echo "=== properties in testAll.sh"
+echo " jvm in testAll: ${jvm}"
+echo " extdir in testAll (if any): ${extdir}"
+echo " propertyFile in testAll: ${propertyFile}"
+echo " buildId in testAll: ${buildId}"
+echo " testedPlatform: ${testedPlatform}"
#execute command to run tests
/bin/chmod 755 runtests.sh
@@ -35,9 +59,8 @@ echo "buildId in testAll: ${buildId}"
if [[ -n "${extdir}" ]]
then
- ./runtests.sh -os linux -ws gtk -arch $eclipseArch -extdirprop "${extdir}" -vm "${vmcmd}" -properties ${propertyFile} $* > results/consolelogs/linux.gtk.x86_64_8.0_consolelog.txt
+ ./runtests.sh -os linux -ws gtk -arch $eclipseArch -extdirprop "${extdir}" -vm "${jvm}" -properties ${propertyFile} "${@}" > results/consolelogs/${testedPlatform}_consolelog.txt
else
- ./runtests.sh -os linux -ws gtk -arch $eclipseArch -vm "${vmcmd}" -properties ${propertyFile} $* > results/consolelogs/linux.gtk.x86_64_8.0_consolelog.txt
+ ./runtests.sh -os linux -ws gtk -arch $eclipseArch -vm "${jvm}" -properties ${propertyFile} "${@}" > results/consolelogs/${testedPlatform}_consolelog.txt
fi
-
diff --git a/production/testScripts/configuration/sdk.tests/testConfigs/linux/testing.properties b/production/testScripts/configuration/sdk.tests/testConfigs/linux/testing.properties
deleted file mode 100644
index 383aab74..00000000
--- a/production/testScripts/configuration/sdk.tests/testConfigs/linux/testing.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2004, 2014 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-#name of zip file containing automated testing framework and JUnit test plug-ins
-testFramework=${testDir}/eclipse-Automated-Tests-${buildId}.zip
-
-testExecutable=bash
-
-#name of script to execute on remote machine
-#testScript=start /min /wait ${executionDir}\\testAll.bat
-testScript=./testAll.sh
-
-#arguments to $(testScript)
-args=
diff --git a/production/testScripts/configuration/sdk.tests/testConfigs/linux/vm.properties b/production/testScripts/configuration/sdk.tests/testConfigs/linux/vm.properties
deleted file mode 100644
index a9b81a87..00000000
--- a/production/testScripts/configuration/sdk.tests/testConfigs/linux/vm.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2014 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-testedPlatform=linux.gtk.x86_64_8.0
-
-#jvm=/shared/common/jdk1.6.0-latest/jre/bin/java
-#jvm=/shared/common/jdk1.7.0-latest/jre/bin/java
-jvm=/shared/common/jdk1.8.0_x64-latest/jre/bin/java
-
-# currently this variable is "hard coded" to work on Hudson.
-# not required if no proxies to use or bypass
-# TODO: make more sensitive to env. setttings in future so can
-# support tests on non Ecipse Infrastructure
-# If this property is defined, and file exists, the Eclipse infrastructure
-# will copy these "preferences" to
-# ${executionDir}/test-eclipse/eclipse/configuration/.settings/
-# after the test instance of eclipse is installed.
-# It is assumed the file itself gets copied to "execution directory" by
-# runTests2.xml approx. line 488
-org.eclipse.core.net.prefs=org.eclipse.core.net.prefs
-
diff --git a/production/testScripts/configuration/sdk.tests/testConfigs/linux32/equinoxp2tests.properties b/production/testScripts/configuration/sdk.tests/testConfigs/linux32/equinoxp2tests.properties
deleted file mode 100644
index ac1e56b6..00000000
--- a/production/testScripts/configuration/sdk.tests/testConfigs/linux32/equinoxp2tests.properties
+++ /dev/null
@@ -1,33 +0,0 @@
-# Properties required by equinox p2 tests, and others?
-# Version from production/testScripts/configuration/sdk.tests/testConfigs
-# The test framework re-writes this file with the correct short versions,
-# with all variables resolved, so others (e.g. p2 tests) can read it as a normal
-# property file.
-
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.linux=${executionDir}/eclipse-platform-${buildId}-linux-gtk.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.linux-x86_64=${executionDir}/eclipse-platform-${buildId}-linux-gtk-x86_64.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.win32=${executionDir}/eclipse-platform-${buildId}-win32.zip
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.win32-x86_64=${executionDir}/eclipse-platform-${buildId}-win32-x86_64.zip
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.macosx=${executionDir}/eclipse-platform-${buildId}-macosx-cocoa.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.macosx-x86_64=${executionDir}/eclipse-platform-${buildId}-macosx-cocoa-x86_64.tar.gz
-
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.linux=${executionDir}/eclipse-platform-4.4-linux-gtk.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.linux-x86_64=${executionDir}/eclipse-platform-4.4-linux-gtk-x86_64.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.win32=${executionDir}/eclipse-platform-4.4-win32.zip
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.win32-x86_64=${executionDir}/eclipse-platform-4.4-win32-x86_64.zip
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.macosx=${executionDir}/eclipse-platform-4.4-macosx-cocoa.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.macosx-x86_64=${executionDir}/eclipse-platform-4.4-macosx-cocoa-x86_64.tar.gz
-
-org.eclipse.equinox.p2.tests.current.build.repo=http://${DOWNLOAD_HOST}/eclipse/updates/${eclipseStreamMajor}.${eclipseStreamMinor}-${buildType}-builds/${buildId}
-org.eclipse.equinox.p2.tests.last.release.build.repo=http://${DOWNLOAD_HOST}/eclipse/updates/4.4/R-4.4-201406061215
-
-# THe p2 framework requires this file "fully formed", as it reads
-# as normal properties, instead of using the properties as defined
-# by test framework. From what I can see, it especially requires
-# org.eclipse.equinox.p2.tests.current.build.repo
-# org.eclipse.equinox.p2.tests.last.release.build.repo
-# org.eclipse.equinox.p2.reconciler.tests.platform.archive
-# Those elsewhere (API tests?) may depend on
-# org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive
-# but believe it uses the property as provided (does not re-read file).
-# Hence, that's why test framework did a "replace" \ No newline at end of file
diff --git a/production/testScripts/configuration/sdk.tests/testConfigs/linux32/org.eclipse.core.net.prefs b/production/testScripts/configuration/sdk.tests/testConfigs/linux32/org.eclipse.core.net.prefs
deleted file mode 100644
index a073528e..00000000
--- a/production/testScripts/configuration/sdk.tests/testConfigs/linux32/org.eclipse.core.net.prefs
+++ /dev/null
@@ -1,11 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.core.net.hasMigrated=true
-proxiesEnabled=true
-systemProxiesEnabled=true
-nonProxiedHosts=172.30.206.*
-proxyData/HTTP/hasAuth=false
-proxyData/HTTP/host=proxy.eclipse.org
-proxyData/HTTP/port=9898
-proxyData/HTTPS/hasAuth=false
-proxyData/HTTPS/host=proxy.eclipse.org
-proxyData/HTTPS/port=9898
diff --git a/production/testScripts/configuration/sdk.tests/testConfigs/linux32/platformSpecific.properties b/production/testScripts/configuration/sdk.tests/testConfigs/linux32/platformSpecific.properties
new file mode 100644
index 00000000..fb20213d
--- /dev/null
+++ b/production/testScripts/configuration/sdk.tests/testConfigs/linux32/platformSpecific.properties
@@ -0,0 +1,42 @@
+
+# This properties file contains items that are specific to the platform being tested,
+# Typically includes items dependent on exact OS, architecture, and location of files.
+# (Historically, this info used to be contained in several files, such as 'vm.properties',
+# testing.properties, etc.)
+
+# This value is computed by scripts, but there may be need or opportunity
+# to denote "extra data" if set here? (But, other changes will be
+# needed to be fully functional, since indexer, web pages also depend
+# on this value.
+# testedPlatform=linux.gtk.x86_6.0
+
+# This is the VM to use to run the tests, if one prefers
+# to use a different one from the one that stared the whole process.
+jvm=/shared/common/jdk-1.6.0_10/jre/bin/java
+
+# TODO: can also list VMs to use for specific execution environments
+
+# executable for ant <exec task
+testExecutable=bash
+
+#name of script to execute
+testScript=./testAll.sh
+
+# This value gets written to the "preference file", named org.eclipse.core.net.prefs.
+# We implement as a property string, since eventually we may test multiple proxy settings.
+# These listed here are for tests running on build.eclipse.org, to access files outside
+# eclipse.org infrastructure.
+org.eclipse.core.net.prefs="\
+eclipse.preferences.version=1\n\
+org.eclipse.core.net.hasMigrated=true\n\
+proxiesEnabled=true\n\
+systemProxiesEnabled=true\n\
+nonProxiedHosts=172.30.206.*\n\
+proxyData/HTTP/hasAuth=false\n\
+proxyData/HTTP/host=proxy.eclipse.org\n\
+proxyData/HTTP/port=9898\n\
+proxyData/HTTPS/hasAuth=false\n\
+proxyData/HTTPS/host=proxy.eclipse.org\n\
+proxyData/HTTPS/port=9898\n"
+
+cvstest.properties=/shared/eclipse/buildtests/cvstest.properties
diff --git a/production/testScripts/configuration/sdk.tests/testConfigs/linux32/testAll.sh b/production/testScripts/configuration/sdk.tests/testConfigs/linux32/testAll.sh
index 4be35d1c..825c1e9f 100644
--- a/production/testScripts/configuration/sdk.tests/testConfigs/linux32/testAll.sh
+++ b/production/testScripts/configuration/sdk.tests/testConfigs/linux32/testAll.sh
@@ -1,31 +1,57 @@
#!/usr/bin/env bash
+echo "command line as passed into $(basename ${0}): ${*}"
+echo "command line (quoted) as passed into $(basename ${0}): ${@}"
-# This file should never exist or be needed for production machine,
+# This file, localTestsProperties.shsource, should never exist or be needed for production machine,
# but allows an easy way for a "local user" to provide this file
# somewhere on the search path ($HOME/bin is common),
# and it will be included here, thus can provide "override values"
# to those defined by defaults for production machine.,
-# such as for vmcmd
-
+# such as for jvm
source localTestsProperties.shsource 2>/dev/null
-echo "PWD: $PWD"
-vmcmd=${vmcmd:-/shared/common/jdk-1.6.x86_64/jre/bin/java}
+if [[ -z "${propertyFile}" ]]
+then
+ echo "expect property file as environment variable for production runs"
+ exit 1
+fi
+
+if [[ -z "${jvm}" ]]
+then
+ echo "expect jvm as environment variable for production runs"
+ exit 1
+fi
+if [[ -z "${testedPlatform}" ]]
+then
+ echo "expect testedPlatform as environment variable for production runs"
+ exit 1
+fi
+echo "PWD: $PWD"
+# in production tests, should already be set by runTests2.xml, so
+# we set to an old version here, to make obvious if not.
+export jvm=${jvm:-/shared/common/jdk-1.6.x86_64/jre/bin/java}
# production machine is x86_64, but some local setups may be 32 bit and will need to provide
-# this value in localTestsProperties.shsource.
-eclipseArch=${eclipseArch:-x86}
+# this value in localTestsProperties.shsource. (
+eclipseArch=${eclipseArch:-x86_64}
-# vm.properties is used by default on production machines, but will
-# need to override on local setups to specify appropriate vm (usually same as vmcmd).
+# production.properties is used in production tests,
+# need to override on local setups to specify appropriate vm (usually same as jvm).
# see bug 388269
-propertyFile=${propertyFile:-vm.properties}
+export propertyFile=${propertyFile:-platformSpecific.properties}
+
+# in product tests, should be set by runTests2.xml,
+# so we use "vm value", "x.0" at end, to make obvious if that's not working.
+export testedPlatform=${testedPlatform:-linux.gtk.x86_64_x.0}
-echo "vmcmd in testAll: ${vmcmd}"
-echo "extdir in testAll (if any): ${extdir}"
-echo "propertyFile in testAll: ${propertyFile}"
+echo "=== properties in testAll.sh"
+echo " jvm in testAll: ${jvm}"
+echo " extdir in testAll (if any): ${extdir}"
+echo " propertyFile in testAll: ${propertyFile}"
+echo " buildId in testAll: ${buildId}"
+echo " testedPlatform: ${testedPlatform}"
#execute command to run tests
/bin/chmod 755 runtests.sh
@@ -33,9 +59,8 @@ echo "propertyFile in testAll: ${propertyFile}"
if [[ -n "${extdir}" ]]
then
- ./runtests.sh -os linux -ws gtk -arch $eclipseArch -extdirprop "${extdir}" -vm "${vmcmd}" -properties ${propertyFile} $* > results/consolelogs/linux.gtk.x86_8.0_consolelog.txt
+ ./runtests.sh -os linux -ws gtk -arch $eclipseArch -extdirprop "${extdir}" -vm "${jvm}" -properties ${propertyFile} "${@}" > results/consolelogs/${testedPlatform}_consolelog.txt
else
- ./runtests.sh -os linux -ws gtk -arch $eclipseArch -vm "${vmcmd}" -properties ${propertyFile} $* > results/consolelogs/linux.gtk.x86_8.0_consolelog.txt
+ ./runtests.sh -os linux -ws gtk -arch $eclipseArch -vm "${jvm}" -properties ${propertyFile} "${@}" > results/consolelogs/${testedPlatform}_consolelog.txt
fi
-
diff --git a/production/testScripts/configuration/sdk.tests/testConfigs/linux32/testing.properties b/production/testScripts/configuration/sdk.tests/testConfigs/linux32/testing.properties
deleted file mode 100644
index bbf89c45..00000000
--- a/production/testScripts/configuration/sdk.tests/testConfigs/linux32/testing.properties
+++ /dev/null
@@ -1,43 +0,0 @@
-###############################################################################
-# Copyright (c) 2004, 2014 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-#directory on test machine where automated testing framework will be installed
-#testDir=${testDir}
-
-#name of zip file containing automated testing framework and JUnit test plug-ins
-testFramework=${testDir}/eclipse-Automated-Tests-${buildId}.zip
-
-#name of runtime to install and test
-runtime=eclipse-SDK-${buildId}-linux-gtk.tar.gz
-
-#name of deltaPack to install and test
-runtimeDeltapack=eclipse-${buildId}-delta-pack.zip
-
-#name of Platform runtime to install and test
-platformArchive=eclipse-platform-${buildId}-linux-gtk.tar.gz
-
-# Not currently used on eclipse.org tests?
-previousRuntimePlatform=eclipse-platform-4.3.2-linux-gtk.tar.gz
-
-#Used to have a stable version of p2 director?
-previousRuntimePlatformVersion=4.4
-
-#directory where test scripts are launched
-executionDir=${testDir}/eclipse-testing
-
-testExecutable=bash
-
-#name of script to execute on remote machine
-#testScript=start /min /wait ${executionDir}\\testAll.bat
-testScript=./testAll.sh
-
-#arguments to $(testScript)
-args=
diff --git a/production/testScripts/configuration/sdk.tests/testConfigs/linux32/vm.properties b/production/testScripts/configuration/sdk.tests/testConfigs/linux32/vm.properties
deleted file mode 100644
index 0e360eb8..00000000
--- a/production/testScripts/configuration/sdk.tests/testConfigs/linux32/vm.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2014 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-testedPlatform=linux.gtk.x86_6.0
-
-jvm=/shared/common/jdk-1.6.0_10/jre/bin/java
-
-# currently this variable is "hard coded" to work on Hudson.
-# not required if no proxies to use or bypass
-# TODO: make more sensitive to env. setttings in future so can
-# support tests on non Ecipse Infrastructure
-# If this property is defined, and file exists, the Eclipse infrastructure
-# will copy these "preferences" to
-# ${executionDir}/test-eclipse/eclipse/configuration/.settings/
-# after the test instance of eclipse is installed.
-# It is assumed the file itself gets copied to "execution directory" by
-# runTests2.xml approx. line 488
-org.eclipse.core.net.prefs=org.eclipse.core.net.prefs
diff --git a/production/testScripts/configuration/sdk.tests/testConfigs/macmini/equinoxp2tests.properties b/production/testScripts/configuration/sdk.tests/testConfigs/macmini/equinoxp2tests.properties
deleted file mode 100644
index ac1e56b6..00000000
--- a/production/testScripts/configuration/sdk.tests/testConfigs/macmini/equinoxp2tests.properties
+++ /dev/null
@@ -1,33 +0,0 @@
-# Properties required by equinox p2 tests, and others?
-# Version from production/testScripts/configuration/sdk.tests/testConfigs
-# The test framework re-writes this file with the correct short versions,
-# with all variables resolved, so others (e.g. p2 tests) can read it as a normal
-# property file.
-
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.linux=${executionDir}/eclipse-platform-${buildId}-linux-gtk.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.linux-x86_64=${executionDir}/eclipse-platform-${buildId}-linux-gtk-x86_64.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.win32=${executionDir}/eclipse-platform-${buildId}-win32.zip
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.win32-x86_64=${executionDir}/eclipse-platform-${buildId}-win32-x86_64.zip
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.macosx=${executionDir}/eclipse-platform-${buildId}-macosx-cocoa.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.macosx-x86_64=${executionDir}/eclipse-platform-${buildId}-macosx-cocoa-x86_64.tar.gz
-
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.linux=${executionDir}/eclipse-platform-4.4-linux-gtk.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.linux-x86_64=${executionDir}/eclipse-platform-4.4-linux-gtk-x86_64.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.win32=${executionDir}/eclipse-platform-4.4-win32.zip
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.win32-x86_64=${executionDir}/eclipse-platform-4.4-win32-x86_64.zip
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.macosx=${executionDir}/eclipse-platform-4.4-macosx-cocoa.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.macosx-x86_64=${executionDir}/eclipse-platform-4.4-macosx-cocoa-x86_64.tar.gz
-
-org.eclipse.equinox.p2.tests.current.build.repo=http://${DOWNLOAD_HOST}/eclipse/updates/${eclipseStreamMajor}.${eclipseStreamMinor}-${buildType}-builds/${buildId}
-org.eclipse.equinox.p2.tests.last.release.build.repo=http://${DOWNLOAD_HOST}/eclipse/updates/4.4/R-4.4-201406061215
-
-# THe p2 framework requires this file "fully formed", as it reads
-# as normal properties, instead of using the properties as defined
-# by test framework. From what I can see, it especially requires
-# org.eclipse.equinox.p2.tests.current.build.repo
-# org.eclipse.equinox.p2.tests.last.release.build.repo
-# org.eclipse.equinox.p2.reconciler.tests.platform.archive
-# Those elsewhere (API tests?) may depend on
-# org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive
-# but believe it uses the property as provided (does not re-read file).
-# Hence, that's why test framework did a "replace" \ No newline at end of file
diff --git a/production/testScripts/configuration/sdk.tests/testConfigs/macmini/org.eclipse.core.net.prefs b/production/testScripts/configuration/sdk.tests/testConfigs/macmini/org.eclipse.core.net.prefs
deleted file mode 100644
index a073528e..00000000
--- a/production/testScripts/configuration/sdk.tests/testConfigs/macmini/org.eclipse.core.net.prefs
+++ /dev/null
@@ -1,11 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.core.net.hasMigrated=true
-proxiesEnabled=true
-systemProxiesEnabled=true
-nonProxiedHosts=172.30.206.*
-proxyData/HTTP/hasAuth=false
-proxyData/HTTP/host=proxy.eclipse.org
-proxyData/HTTP/port=9898
-proxyData/HTTPS/hasAuth=false
-proxyData/HTTPS/host=proxy.eclipse.org
-proxyData/HTTPS/port=9898
diff --git a/production/testScripts/configuration/sdk.tests/testConfigs/macmini/platformSpecific.properties b/production/testScripts/configuration/sdk.tests/testConfigs/macmini/platformSpecific.properties
new file mode 100644
index 00000000..fb094be2
--- /dev/null
+++ b/production/testScripts/configuration/sdk.tests/testConfigs/macmini/platformSpecific.properties
@@ -0,0 +1,41 @@
+
+# This properties file contains items that are specific to the platform being tested,
+# Typically includes items dependent on exact OS, architecture, and location of files.
+# (Historically, this info used to be contained in several files, such as 'vm.properties',
+# testing.properties, etc.)
+
+# This value, testedPlatform, is computed by scripts, but there may be need or opportunity
+# to denote "extra data" if set here? (But, other changes will be
+# needed to be fully functional, since indexer, web pages also depend
+# on this value.
+# testedPlatform=macosx.cocoa.x86_5.0
+
+# This is the VM to use to run the tests, if one prefers
+# to use a different one from the one that stared the whole process.
+jvm=/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Commands/java
+# TODO: can also list VMs to use for specific execution environments
+
+# executable for ant <exec task
+testExecutable=bash
+
+#name of script to execute
+testScript=./testAll.sh
+
+# This value gets written to the "preference file", named org.eclipse.core.net.prefs.
+# We implement as a property string, since eventually we may test multiple proxy settings.
+# These listed here are for tests running on build.eclipse.org, to access files outside
+# eclipse.org infrastructure.
+org.eclipse.core.net.prefs="\
+eclipse.preferences.version=1\n\
+org.eclipse.core.net.hasMigrated=true\n\
+proxiesEnabled=true\n\
+systemProxiesEnabled=true\n\
+nonProxiedHosts=172.30.206.*\n\
+proxyData/HTTP/hasAuth=false\n\
+proxyData/HTTP/host=proxy.eclipse.org\n\
+proxyData/HTTP/port=9898\n\
+proxyData/HTTPS/hasAuth=false\n\
+proxyData/HTTPS/host=proxy.eclipse.org\n\
+proxyData/HTTPS/port=9898\n"
+
+cvstest.properties=/Users/hudsonbuild/cvstest.properties
diff --git a/production/testScripts/configuration/sdk.tests/testConfigs/macmini/testing.properties b/production/testScripts/configuration/sdk.tests/testConfigs/macmini/testing.properties
deleted file mode 100644
index 8d06d436..00000000
--- a/production/testScripts/configuration/sdk.tests/testConfigs/macmini/testing.properties
+++ /dev/null
@@ -1,39 +0,0 @@
-###############################################################################
-# Copyright (c) 2004, 2014 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-#directory on test machine where automated testing framework will be installed
-#testDir=${testDir}
-
-#name of zip file containing automated testing framework and JUnit test plug-ins
-testFramework=${testDir}/eclipse-Automated-Tests-${buildId}.zip
-
-#name of runtime to install and test
-runtime=eclipse-SDK-${buildId}-macosx-cocoa.tar.gz
-
-#name of deltaPack to install and test
-runtimeDeltapack=eclipse-${buildId}-delta-pack.zip
-
-#name of Platform runtime to install and test
-runtimePlatform=eclipse-platform-${buildId}-macosx-cocoa.tar.gz
-
-# Not currently used on eclipse.org tests?
-previousRuntimePlatform=eclipse-platform-4.3.2-macosx-cocoa.tar.gz
-
-#directory where test scripts are launched
-executionDir=${testDir}/eclipse-testing
-
-testExecutable=bash
-
-#name of script to execute on remote machine
-testScript=./testAll.sh
-
-#arguments to $(testScript)
-args=
diff --git a/production/testScripts/configuration/sdk.tests/testConfigs/macmini/vm.properties b/production/testScripts/configuration/sdk.tests/testConfigs/macmini/vm.properties
deleted file mode 100644
index 1c34153c..00000000
--- a/production/testScripts/configuration/sdk.tests/testConfigs/macmini/vm.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2014 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-testedPlatform=macosx.cocoa.x86_5.0
-jvm=/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Commands/java
-# currently this variable is "hard coded" to work on Hudson.
-# not required if no proxies to use or bypass
-# TODO: make more sensitive to env. setttings in future so can
-# support tests on non Ecipse Infrastructure
-# If this property is defined, and file exists, the Eclipse infrastructure
-# will copy these "preferences" to
-# ${executionDir}/test-eclipse/eclipse/configuration/.settings/
-# after the test instance of eclipse is installed.
-# It is assumed the file itself gets copied to "execution directory" by
-# runTests2.xml approx. line 488
-org.eclipse.core.net.prefs=org.eclipse.core.net.prefs
diff --git a/production/testScripts/configuration/sdk.tests/testConfigs/macosx/equinoxp2tests.properties b/production/testScripts/configuration/sdk.tests/testConfigs/macosx/equinoxp2tests.properties
deleted file mode 100644
index ac1e56b6..00000000
--- a/production/testScripts/configuration/sdk.tests/testConfigs/macosx/equinoxp2tests.properties
+++ /dev/null
@@ -1,33 +0,0 @@
-# Properties required by equinox p2 tests, and others?
-# Version from production/testScripts/configuration/sdk.tests/testConfigs
-# The test framework re-writes this file with the correct short versions,
-# with all variables resolved, so others (e.g. p2 tests) can read it as a normal
-# property file.
-
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.linux=${executionDir}/eclipse-platform-${buildId}-linux-gtk.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.linux-x86_64=${executionDir}/eclipse-platform-${buildId}-linux-gtk-x86_64.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.win32=${executionDir}/eclipse-platform-${buildId}-win32.zip
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.win32-x86_64=${executionDir}/eclipse-platform-${buildId}-win32-x86_64.zip
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.macosx=${executionDir}/eclipse-platform-${buildId}-macosx-cocoa.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.macosx-x86_64=${executionDir}/eclipse-platform-${buildId}-macosx-cocoa-x86_64.tar.gz
-
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.linux=${executionDir}/eclipse-platform-4.4-linux-gtk.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.linux-x86_64=${executionDir}/eclipse-platform-4.4-linux-gtk-x86_64.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.win32=${executionDir}/eclipse-platform-4.4-win32.zip
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.win32-x86_64=${executionDir}/eclipse-platform-4.4-win32-x86_64.zip
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.macosx=${executionDir}/eclipse-platform-4.4-macosx-cocoa.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.macosx-x86_64=${executionDir}/eclipse-platform-4.4-macosx-cocoa-x86_64.tar.gz
-
-org.eclipse.equinox.p2.tests.current.build.repo=http://${DOWNLOAD_HOST}/eclipse/updates/${eclipseStreamMajor}.${eclipseStreamMinor}-${buildType}-builds/${buildId}
-org.eclipse.equinox.p2.tests.last.release.build.repo=http://${DOWNLOAD_HOST}/eclipse/updates/4.4/R-4.4-201406061215
-
-# THe p2 framework requires this file "fully formed", as it reads
-# as normal properties, instead of using the properties as defined
-# by test framework. From what I can see, it especially requires
-# org.eclipse.equinox.p2.tests.current.build.repo
-# org.eclipse.equinox.p2.tests.last.release.build.repo
-# org.eclipse.equinox.p2.reconciler.tests.platform.archive
-# Those elsewhere (API tests?) may depend on
-# org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive
-# but believe it uses the property as provided (does not re-read file).
-# Hence, that's why test framework did a "replace" \ No newline at end of file
diff --git a/production/testScripts/configuration/sdk.tests/testConfigs/macosx/org.eclipse.core.net.prefs b/production/testScripts/configuration/sdk.tests/testConfigs/macosx/org.eclipse.core.net.prefs
deleted file mode 100644
index a073528e..00000000
--- a/production/testScripts/configuration/sdk.tests/testConfigs/macosx/org.eclipse.core.net.prefs
+++ /dev/null
@@ -1,11 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.core.net.hasMigrated=true
-proxiesEnabled=true
-systemProxiesEnabled=true
-nonProxiedHosts=172.30.206.*
-proxyData/HTTP/hasAuth=false
-proxyData/HTTP/host=proxy.eclipse.org
-proxyData/HTTP/port=9898
-proxyData/HTTPS/hasAuth=false
-proxyData/HTTPS/host=proxy.eclipse.org
-proxyData/HTTPS/port=9898
diff --git a/production/testScripts/configuration/sdk.tests/testConfigs/macosx/platformSpecific.properties b/production/testScripts/configuration/sdk.tests/testConfigs/macosx/platformSpecific.properties
new file mode 100644
index 00000000..605b6765
--- /dev/null
+++ b/production/testScripts/configuration/sdk.tests/testConfigs/macosx/platformSpecific.properties
@@ -0,0 +1,48 @@
+
+# This properties file contains items that are specific to the platform being tested,
+# Typically includes items dependent on exact OS, architecture, and location of files.
+# (Historically, this info used to be contained in several files, such as 'vm.properties',
+# testing.properties, etc.)
+
+# This value, testedPlatform, is computed by scripts, but there may be need or opportunity
+# to denote "extra data" if set here? (But, other changes will be
+# needed to be fully functional, since indexer, web pages also depend
+# on this value.
+# testedPlatform=macosx.cocoa.x86_64_7.0
+
+# This is the VM to use to run the tests, if one prefers
+# to use a different one from the one that stared the whole process.
+jvm=/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/bin/java
+
+# TODO: can also list VMs to use for specific execution environments
+
+# https://bugs.eclipse.org/bugs/show_bug.cgi?id=392213
+# If this property is set, the actual location and file name
+# is computed at test time, but this is assumed to be the
+# VM argument required to specify that location.
+loglocationarg=-XX:ErrorFile
+
+# executable for ant <exec task
+testExecutable=bash
+
+#name of script to execute
+testScript=./testAll.sh
+
+# This value gets written to the "preference file", named org.eclipse.core.net.prefs.
+# We implement as a property string, since eventually we may test multiple proxy settings.
+# These listed here are for tests running on build.eclipse.org, to access files outside
+# eclipse.org infrastructure.
+org.eclipse.core.net.prefs="\
+eclipse.preferences.version=1\n\
+org.eclipse.core.net.hasMigrated=true\n\
+proxiesEnabled=true\n\
+systemProxiesEnabled=true\n\
+nonProxiedHosts=172.30.206.*\n\
+proxyData/HTTP/hasAuth=false\n\
+proxyData/HTTP/host=proxy.eclipse.org\n\
+proxyData/HTTP/port=9898\n\
+proxyData/HTTPS/hasAuth=false\n\
+proxyData/HTTPS/host=proxy.eclipse.org\n\
+proxyData/HTTPS/port=9898\n"
+
+cvstest.properties=/Users/hudsonbuild/cvstest.properties
diff --git a/production/testScripts/configuration/sdk.tests/testConfigs/macosx/testing.properties b/production/testScripts/configuration/sdk.tests/testConfigs/macosx/testing.properties
deleted file mode 100644
index a0c3a068..00000000
--- a/production/testScripts/configuration/sdk.tests/testConfigs/macosx/testing.properties
+++ /dev/null
@@ -1,41 +0,0 @@
-###############################################################################
-# Copyright (c) 2004, 2014 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-platform=macosx.cocoa.x86_64_7.0
-
-#directory on test machine where automated testing framework will be installed
-#testDir=${testDir}
-
-#name of zip file containing automated testing framework and JUnit test plug-ins
-testFramework=${testDir}/eclipse-Automated-Tests-${buildId}.zip
-
-#name of runtime to install and test
-runtime=eclipse-SDK-${buildId}-macosx-cocoa.tar-x86_64.gz
-
-#name of deltaPack to install and test
-runtimeDeltapack=eclipse-${buildId}-delta-pack.zip
-
-#name of Platform runtime to install and test
-platformArchive=eclipse-platform-${buildId}-macosx-cocoa.tar-x86_64.gz
-
-# Not currently used on eclipse.org tests?
-previousRuntimePlatform=eclipse-platform-4.3.2-macosx-cocoa.tar-x86_64.gz
-
-#directory where test scripts are launched
-executionDir=${testDir}/eclipse-testing
-
-testExecutable=bash
-
-#name of script to execute on remote machine
-testScript=./testAll.sh
-
-#arguments to $(testScript)
-args=
diff --git a/production/testScripts/configuration/sdk.tests/testConfigs/macosx/vm.properties b/production/testScripts/configuration/sdk.tests/testConfigs/macosx/vm.properties
deleted file mode 100644
index c74a7569..00000000
--- a/production/testScripts/configuration/sdk.tests/testConfigs/macosx/vm.properties
+++ /dev/null
@@ -1,30 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2014 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-testedPlatform=macosx.cocoa.x86_64_7.0
-
-jvm=/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/bin/java
-# https://bugs.eclipse.org/bugs/show_bug.cgi?id=392213
-# If this property is set, the actual location and file name
-# is computed at test time, but this is assumed to be the
-# VM argument required to specify that location.
-loglocationarg=-XX:ErrorFile
-
-# currently this variable is "hard coded" to work on Hudson.
-# not required if no proxies to use or bypass
-# TODO: make more sensitive to env. setttings in future so can
-# support tests on non Ecipse Infrastructure
-# If this property is defined, and file exists, the Eclipse infrastructure
-# will copy these "preferences" to
-# ${executionDir}/test-eclipse/eclipse/configuration/.settings/
-# after the test instance of eclipse is installed.
-# It is assumed the file itself gets copied to "execution directory" by
-# runTests2.xml approx. line 488
-org.eclipse.core.net.prefs=org.eclipse.core.net.prefs
diff --git a/production/testScripts/configuration/sdk.tests/testConfigs/win7-64/equinoxp2tests.properties b/production/testScripts/configuration/sdk.tests/testConfigs/win7-64/equinoxp2tests.properties
deleted file mode 100644
index ac1e56b6..00000000
--- a/production/testScripts/configuration/sdk.tests/testConfigs/win7-64/equinoxp2tests.properties
+++ /dev/null
@@ -1,33 +0,0 @@
-# Properties required by equinox p2 tests, and others?
-# Version from production/testScripts/configuration/sdk.tests/testConfigs
-# The test framework re-writes this file with the correct short versions,
-# with all variables resolved, so others (e.g. p2 tests) can read it as a normal
-# property file.
-
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.linux=${executionDir}/eclipse-platform-${buildId}-linux-gtk.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.linux-x86_64=${executionDir}/eclipse-platform-${buildId}-linux-gtk-x86_64.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.win32=${executionDir}/eclipse-platform-${buildId}-win32.zip
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.win32-x86_64=${executionDir}/eclipse-platform-${buildId}-win32-x86_64.zip
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.macosx=${executionDir}/eclipse-platform-${buildId}-macosx-cocoa.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.macosx-x86_64=${executionDir}/eclipse-platform-${buildId}-macosx-cocoa-x86_64.tar.gz
-
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.linux=${executionDir}/eclipse-platform-4.4-linux-gtk.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.linux-x86_64=${executionDir}/eclipse-platform-4.4-linux-gtk-x86_64.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.win32=${executionDir}/eclipse-platform-4.4-win32.zip
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.win32-x86_64=${executionDir}/eclipse-platform-4.4-win32-x86_64.zip
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.macosx=${executionDir}/eclipse-platform-4.4-macosx-cocoa.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.macosx-x86_64=${executionDir}/eclipse-platform-4.4-macosx-cocoa-x86_64.tar.gz
-
-org.eclipse.equinox.p2.tests.current.build.repo=http://${DOWNLOAD_HOST}/eclipse/updates/${eclipseStreamMajor}.${eclipseStreamMinor}-${buildType}-builds/${buildId}
-org.eclipse.equinox.p2.tests.last.release.build.repo=http://${DOWNLOAD_HOST}/eclipse/updates/4.4/R-4.4-201406061215
-
-# THe p2 framework requires this file "fully formed", as it reads
-# as normal properties, instead of using the properties as defined
-# by test framework. From what I can see, it especially requires
-# org.eclipse.equinox.p2.tests.current.build.repo
-# org.eclipse.equinox.p2.tests.last.release.build.repo
-# org.eclipse.equinox.p2.reconciler.tests.platform.archive
-# Those elsewhere (API tests?) may depend on
-# org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive
-# but believe it uses the property as provided (does not re-read file).
-# Hence, that's why test framework did a "replace" \ No newline at end of file
diff --git a/production/testScripts/configuration/sdk.tests/testConfigs/win7-64/org.eclipse.core.net.prefs b/production/testScripts/configuration/sdk.tests/testConfigs/win7-64/org.eclipse.core.net.prefs
deleted file mode 100644
index a073528e..00000000
--- a/production/testScripts/configuration/sdk.tests/testConfigs/win7-64/org.eclipse.core.net.prefs
+++ /dev/null
@@ -1,11 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.core.net.hasMigrated=true
-proxiesEnabled=true
-systemProxiesEnabled=true
-nonProxiedHosts=172.30.206.*
-proxyData/HTTP/hasAuth=false
-proxyData/HTTP/host=proxy.eclipse.org
-proxyData/HTTP/port=9898
-proxyData/HTTPS/hasAuth=false
-proxyData/HTTPS/host=proxy.eclipse.org
-proxyData/HTTPS/port=9898
diff --git a/production/testScripts/configuration/sdk.tests/testConfigs/win7-64/platformSpecific.properties b/production/testScripts/configuration/sdk.tests/testConfigs/win7-64/platformSpecific.properties
new file mode 100644
index 00000000..39605879
--- /dev/null
+++ b/production/testScripts/configuration/sdk.tests/testConfigs/win7-64/platformSpecific.properties
@@ -0,0 +1,42 @@
+
+# This properties file contains items that are specific to the platform being tested,
+# Typically includes items dependent on exact OS, architecture, and location of files.
+# (Historically, this info used to be contained in several files, such as 'vm.properties',
+# testing.properties, etc.)
+
+# This value is computed by scripts, but there may be need or opportunity
+# to denote "extra data" if set here? (But, other changes will be
+# needed to be fully functional, since indexer, web pages also depend
+# on this value.
+# testedPlatform=win32.win32.x86_64_7.0
+
+# This is the VM to use to run the tests, if one prefers
+# to use a different one from the one that stared the whole process.
+jvm=c\:\\java\\jdk1.7.0_51\\jre\\bin\\java
+
+# TODO: can also list VMs to use for specific execution environments
+
+# executable for ant <exec task
+testExecutable=cmd
+
+#name of script to execute
+testScript=${executionDir}\\testAll.bat
+
+# This value gets written to the "preference file", named org.eclipse.core.net.prefs.
+# We implement as a property string, since eventually we may test multiple proxy settings.
+# These listed here are for tests running on build.eclipse.org, to access files outside
+# eclipse.org infrastructure.
+org.eclipse.core.net.prefs="\
+eclipse.preferences.version=1\n\
+org.eclipse.core.net.hasMigrated=true\n\
+proxiesEnabled=true\n\
+systemProxiesEnabled=true\n\
+nonProxiedHosts=172.30.206.*\n\
+proxyData/HTTP/hasAuth=false\n\
+proxyData/HTTP/host=proxy.eclipse.org\n\
+proxyData/HTTP/port=9898\n\
+proxyData/HTTPS/hasAuth=false\n\
+proxyData/HTTPS/host=proxy.eclipse.org\n\
+proxyData/HTTPS/port=9898\n"
+
+cvstest.properties=c\:\\users\\hudsonbuild\\cvstest.properties
diff --git a/production/testScripts/configuration/sdk.tests/testConfigs/win7-64/testing.properties b/production/testScripts/configuration/sdk.tests/testConfigs/win7-64/testing.properties
deleted file mode 100644
index ee090ee9..00000000
--- a/production/testScripts/configuration/sdk.tests/testConfigs/win7-64/testing.properties
+++ /dev/null
@@ -1,39 +0,0 @@
-###############################################################################
-# Copyright (c) 2004, 2014 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-#name of zip file containing automated testing framework and JUnit test plug-ins
-testFramework=${testDir}\\eclipse-Automated-Tests-${buildId}.zip
-
-#name of runtime to install and test
-#runtime=eclipse-SDK-${buildId}-win32-x86_64.zip
-runtime=eclipse-SDK-${buildId}-win32-x86_64.zip
-
-#name of deltaPack to install and test
-runtimeDeltapack=eclipse-${buildId}-delta-pack.zip
-
-#name of Platform runtime to install and test
-platformArchive=eclipse-platform-${buildId}-win32-x86_64.zip
-
-# Not currently used on eclipse.org tests
-previousRuntimePlatform=eclipse-platform-4.3.2-win32-x86_64.zip
-
-
-#directory where test scripts are launched
-executionDir=${testDir}\\eclipse-testing
-
-testExecutable=cmd
-
-#name of script to execute on remote machine
-#testScript=start /min /wait ${executionDir}\\testAll.bat
-testScript=${executionDir}\\testAll.bat
-
-#Bug 384974 - consider explicit argument for tests to run
-args=
diff --git a/production/testScripts/configuration/sdk.tests/testConfigs/win7-64/vm.properties b/production/testScripts/configuration/sdk.tests/testConfigs/win7-64/vm.properties
deleted file mode 100644
index fe67c1b0..00000000
--- a/production/testScripts/configuration/sdk.tests/testConfigs/win7-64/vm.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2014 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-testedPlatform=win32.win32.x86_64_7.0
-
-jvm=c\:\\java\\jdk7u2\\jre\\bin\\java
-
-# currently this variable is "hard coded" to work on Hudson.
-# not required if no proxies to use or bypass
-# TODO: make more sensitive to env. setttings in future so can
-# support tests on non Ecipse Infrastructure
-# If this property is defined, and file exists, the Eclipse infrastructure
-# will copy these "preferences" to
-# ${executionDir}/test-eclipse/eclipse/configuration/.settings/
-# after the test instance of eclipse is installed.
-# It is assumed the file itself gets copied to "execution directory" by
-# runTests2.xml approx. line 488
-org.eclipse.core.net.prefs=org.eclipse.core.net.prefs
diff --git a/production/testScripts/configuration/sdk.tests/testConfigs/win7/equinoxp2tests.properties b/production/testScripts/configuration/sdk.tests/testConfigs/win7/equinoxp2tests.properties
deleted file mode 100644
index ac1e56b6..00000000
--- a/production/testScripts/configuration/sdk.tests/testConfigs/win7/equinoxp2tests.properties
+++ /dev/null
@@ -1,33 +0,0 @@
-# Properties required by equinox p2 tests, and others?
-# Version from production/testScripts/configuration/sdk.tests/testConfigs
-# The test framework re-writes this file with the correct short versions,
-# with all variables resolved, so others (e.g. p2 tests) can read it as a normal
-# property file.
-
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.linux=${executionDir}/eclipse-platform-${buildId}-linux-gtk.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.linux-x86_64=${executionDir}/eclipse-platform-${buildId}-linux-gtk-x86_64.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.win32=${executionDir}/eclipse-platform-${buildId}-win32.zip
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.win32-x86_64=${executionDir}/eclipse-platform-${buildId}-win32-x86_64.zip
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.macosx=${executionDir}/eclipse-platform-${buildId}-macosx-cocoa.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.macosx-x86_64=${executionDir}/eclipse-platform-${buildId}-macosx-cocoa-x86_64.tar.gz
-
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.linux=${executionDir}/eclipse-platform-4.4-linux-gtk.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.linux-x86_64=${executionDir}/eclipse-platform-4.4-linux-gtk-x86_64.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.win32=${executionDir}/eclipse-platform-4.4-win32.zip
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.win32-x86_64=${executionDir}/eclipse-platform-4.4-win32-x86_64.zip
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.macosx=${executionDir}/eclipse-platform-4.4-macosx-cocoa.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.macosx-x86_64=${executionDir}/eclipse-platform-4.4-macosx-cocoa-x86_64.tar.gz
-
-org.eclipse.equinox.p2.tests.current.build.repo=http://${DOWNLOAD_HOST}/eclipse/updates/${eclipseStreamMajor}.${eclipseStreamMinor}-${buildType}-builds/${buildId}
-org.eclipse.equinox.p2.tests.last.release.build.repo=http://${DOWNLOAD_HOST}/eclipse/updates/4.4/R-4.4-201406061215
-
-# THe p2 framework requires this file "fully formed", as it reads
-# as normal properties, instead of using the properties as defined
-# by test framework. From what I can see, it especially requires
-# org.eclipse.equinox.p2.tests.current.build.repo
-# org.eclipse.equinox.p2.tests.last.release.build.repo
-# org.eclipse.equinox.p2.reconciler.tests.platform.archive
-# Those elsewhere (API tests?) may depend on
-# org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive
-# but believe it uses the property as provided (does not re-read file).
-# Hence, that's why test framework did a "replace" \ No newline at end of file
diff --git a/production/testScripts/configuration/sdk.tests/testConfigs/win7/org.eclipse.core.net.prefs b/production/testScripts/configuration/sdk.tests/testConfigs/win7/org.eclipse.core.net.prefs
deleted file mode 100644
index a073528e..00000000
--- a/production/testScripts/configuration/sdk.tests/testConfigs/win7/org.eclipse.core.net.prefs
+++ /dev/null
@@ -1,11 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.core.net.hasMigrated=true
-proxiesEnabled=true
-systemProxiesEnabled=true
-nonProxiedHosts=172.30.206.*
-proxyData/HTTP/hasAuth=false
-proxyData/HTTP/host=proxy.eclipse.org
-proxyData/HTTP/port=9898
-proxyData/HTTPS/hasAuth=false
-proxyData/HTTPS/host=proxy.eclipse.org
-proxyData/HTTPS/port=9898
diff --git a/production/testScripts/configuration/sdk.tests/testConfigs/win7/platformSpecific.properties b/production/testScripts/configuration/sdk.tests/testConfigs/win7/platformSpecific.properties
new file mode 100644
index 00000000..08e35673
--- /dev/null
+++ b/production/testScripts/configuration/sdk.tests/testConfigs/win7/platformSpecific.properties
@@ -0,0 +1,42 @@
+
+# This properties file contains items that are specific to the platform being tested,
+# Typically includes items dependent on exact OS, architecture, and location of files.
+# (Historically, this info used to be contained in several files, such as 'vm.properties',
+# testing.properties, etc.)
+
+# This value is computed by scripts, but there may be need or opportunity
+# to denote "extra data" if set here? (But, other changes will be
+# needed to be fully functional, since indexer, web pages also depend
+# on this value.
+# testedPlatform=win32.win32.x86_7.0
+
+# This is the VM to use to run the tests, if one prefers
+# to use a different one from the one that stared the whole process.
+jvm=c\:\\java\\jdk1.7.0_51\\jre\\bin\\java
+
+# TODO: can also list VMs to use for specific execution environments
+
+# executable for ant <exec task
+testExecutable=cmd
+
+#name of script to execute
+testScript=${executionDir}\\testAll.bat
+
+# This value gets written to the "preference file", named org.eclipse.core.net.prefs.
+# We implement as a property string, since eventually we may test multiple proxy settings.
+# These listed here are for tests running on build.eclipse.org, to access files outside
+# eclipse.org infrastructure.
+org.eclipse.core.net.prefs="\
+eclipse.preferences.version=1\n\
+org.eclipse.core.net.hasMigrated=true\n\
+proxiesEnabled=true\n\
+systemProxiesEnabled=true\n\
+nonProxiedHosts=172.30.206.*\n\
+proxyData/HTTP/hasAuth=false\n\
+proxyData/HTTP/host=proxy.eclipse.org\n\
+proxyData/HTTP/port=9898\n\
+proxyData/HTTPS/hasAuth=false\n\
+proxyData/HTTPS/host=proxy.eclipse.org\n\
+proxyData/HTTPS/port=9898\n"
+
+cvstest.properties=c\:\\users\\hudsonbuild\\cvstest.properties
diff --git a/production/testScripts/configuration/sdk.tests/testConfigs/win7/testing.properties b/production/testScripts/configuration/sdk.tests/testConfigs/win7/testing.properties
deleted file mode 100644
index b2804c8a..00000000
--- a/production/testScripts/configuration/sdk.tests/testConfigs/win7/testing.properties
+++ /dev/null
@@ -1,40 +0,0 @@
-###############################################################################
-# Copyright (c) 2004, 2014 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-
-#name of zip file containing automated testing framework and JUnit test plug-ins
-testFramework=${testDir}\\eclipse-Automated-Tests-${buildId}.zip
-
-#name of runtime to install and test
-#runtime=eclipse-SDK-${buildId}-win32-x86_64.zip
-runtime=eclipse-SDK-${buildId}-win32.zip
-
-#name of deltaPack to install and test
-runtimeDeltapack=eclipse-${buildId}-delta-pack.zip
-
-#name of Platform runtime to install and test
-platformArchive=eclipse-platform-${buildId}-win32.zip
-
-# Not currently used on eclipse.org tests
-previousRuntimePlatform=eclipse-platform-4.3.2-win32.zip
-
-
-#directory where test scripts are launched
-executionDir=${testDir}\\eclipse-testing
-
-testExecutable=cmd
-
-#name of script to execute on remote machine
-#testScript=start /min /wait ${executionDir}\\testAll.bat
-testScript=${executionDir}\\testAll.bat
-
-#Bug 384974 - consider explicit argument for tests to run
-args=
diff --git a/production/testScripts/configuration/sdk.tests/testConfigs/win7/vm.properties b/production/testScripts/configuration/sdk.tests/testConfigs/win7/vm.properties
deleted file mode 100644
index 06f91e8f..00000000
--- a/production/testScripts/configuration/sdk.tests/testConfigs/win7/vm.properties
+++ /dev/null
@@ -1,32 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2014 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-testedPlatform=win32.win32.x86_7.0
-#platform=win32.win32.x86_8.0
-# changing platform string requires other changes in 'indexer'
-
-jvm=c\:\\java\\jdk1.7.0_51\\jre\\bin\\java
-#jvm=c\:\\java\\jdk1.8.0\\jre\\bin\\java
-
-# https://bugs.eclipse.org/bugs/show_bug.cgi?id=390286
-#jvm=c\:\\java\\jdk1.7.0_07\\jre\\bin\\java
-
-# currently this variable is "hard coded" to work on Hudson.
-# not required if no proxies to use or bypass
-# TODO: make more sensitive to env. setttings in future so can
-# support tests on non Ecipse Infrastructure
-# If this property is defined, and file exists, the Eclipse infrastructure
-# will copy these "preferences" to
-# ${executionDir}/test-eclipse/eclipse/configuration/.settings/
-# after the test instance of eclipse is installed.
-# It is assumed the file itself gets copied to "execution directory" by
-# runTests2.xml approx. line 488
-org.eclipse.core.net.prefs=org.eclipse.core.net.prefs
diff --git a/production/testScripts/configuration/sdk.tests/testScripts/.gitignore b/production/testScripts/configuration/sdk.tests/testScripts/.gitignore
index 492f489f..6271c705 100644
--- a/production/testScripts/configuration/sdk.tests/testScripts/.gitignore
+++ b/production/testScripts/configuration/sdk.tests/testScripts/.gitignore
@@ -1,6 +1,3 @@
/results
-/testing.properties
-/vm.properties
-/label.properties
/out.txt
/workarea/
diff --git a/production/testScripts/configuration/sdk.tests/testScripts/runTests.xml b/production/testScripts/configuration/sdk.tests/testScripts/runTests.xml
deleted file mode 100644
index a145f7fd..00000000
--- a/production/testScripts/configuration/sdk.tests/testScripts/runTests.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project
- name="Automated Eclipse Testing"
- default="runtests"
- basedir=".">
-
-<!-- This file is only called from "runTests2.xml" which is a "production only"
-test file so much of what is here could be combined with runTests2.xml
-and in some cases they may do things redundantly.
- -->
-
- <target name="runtests">
- <!-- <delete dir="${testDir}" quiet="true" /> -->
- <mkdir dir="${testDir}" />
- <property
- name="testResults"
- value="${testDir}/testresults" />
- <fail unless="testFramework" />
- <fail unless="testDir" />
- <echo message="testFramework: ${testFramework}" />
- <echo message="testDir: ${testDir}" />
- <echo message="buildId: ${buildId}" />
-
- <!--set up testing directory-->
- <unzip
- src="${testFramework}"
- dest="${testDir}"
- overwrite="false">
- <patternset>
- <exclude name="**/equinoxp2tests.properties" />
- <exclude name="**/test.xml" />
- </patternset>
- </unzip>
-
- <echo message=" properties in runTests.xml" />
- <echo message=" executionDir ${executionDir}" />
- <echo message=" testExecutable ${testExecutable}" />
- <echo message=" testScript ${testScript}" />
- <echo message=" args ${args}" />
- <echo message=" ANT_OPTS: ${ANT_OPTS}" />
-
- <!--callback to custom script for post setup-->
- <!-- <ant antfile="${customTest}" target="customSetup" dir="${basedir}" /> -->
- <condition
- property="executionArguments"
- value="/c ${testScript} ${args}">
- <and>
- <os family="windows" />
- </and>
- </condition>
- <property
- name="executionArguments"
- value="${testScript} ${args}" />
-
- <!--run the tests-->
- <exec
- dir="${executionDir}"
- executable="${testExecutable}">
- <arg line="${executionArguments}" />
- </exec>
- </target>
-
-</project> \ No newline at end of file
diff --git a/production/testScripts/configuration/sdk.tests/testScripts/runtests.sh b/production/testScripts/configuration/sdk.tests/testScripts/runtests.sh
index c88398ab..2db6ca68 100644
--- a/production/testScripts/configuration/sdk.tests/testScripts/runtests.sh
+++ b/production/testScripts/configuration/sdk.tests/testScripts/runtests.sh
@@ -2,17 +2,57 @@
# This file is used on production machine, running tests on Hudson, Linux
+echo "command line as passed into $(basename ${0}): ${*}"
+echo "command line (quoted) as passed into $(basename ${0}): ${@}"
+
+# set minimal path to allow consistency.
+# plus, want to have "home"/bin directory, to allow overrides in 'localTestsProperties'
+# for non-production builds.
+export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:~/bin
+
source localTestsProperties.shsource 2>/dev/null
-# by default, use the java executable on the path for outer and test jvm
-vmcmd=${vmcmd:-/shared/common/jdk-1.6.x86_64/jre/bin/java}
-#vmcmd=java
+# should already be defined, by now, in production tests
+export jvm=${jvm:-/shared/common/jdk-1.6.x86_64/jre/bin/java}
+echo "jvm: $jvm"
+
+if [ -z "${jvm}" -o ! -e ${jvm} ]
+then
+ echo "No JVM define, or the defined one was found to not be executable"
+ echo " jvm: $jvm"
+ exit 1
+fi
+
+stableEclipseSDK=${stableEclipseSDK:-eclipse-SDK-4.4-linux-gtk-x86_64.tar.gz}
+stableEclipseInstallLocation=${stableEclipseInstallLocation:-${WORKSPACE}/org.eclipse.releng.basebuilder}
+# Note: test.xml will "reinstall" fresh install of what we are testing,
+# but we do need an install for initial launcher, and, later, need one for a
+# stable version of p2 director. For both purposes, we
+# we should use "old and stable" version,
+# which needs to be installed in ${stableEclipseInstallLocation}.
+# Note: for production tests, we use ${WORKSPACE}/org.eclipse.releng.basebuilder,
+# for historical reasons. The "true" (old) basebuilder does not have an 'eclipse' directory;
+# plugins is directly under org.eclipse.releng.basebuilder.
+if [ ! -r ${stableEclipseInstallLocation} ]
+then
+ mkdir stableEclipseSDK
+ tar -xf ${stableEclipseSDK} -C ${stableEclipseInstallLocation}
+ # note, the file pattern to match, must not start with */plugins because there is no leading '/' in the zip file, since they are repos.
+ #We no longer use "dropins" for tests! test.xml will "install" them, from "test repo"
+ #unzip -qq -o -C eclipse-junit-tests-*.zip plugins/org.eclipse.test* -d eclipse/dropins/
+fi
+
+launcher=$(find ${stableEclipseInstallLocation} -name "org.eclipse.equinox.launcher_*.jar" )
+echo "launcher: $launcher"
+if [ -z "${launcher}" ]
+then
+ echo "launcher not found in ${stableEclipseInstallLocation}"
+ exit 1
+fi
-echo "vmcmd: $vmcmd"
-#this value must be set when using rsh to execute this script, otherwise the script will execute from the user's home directory
-dir=${PWD}
+# define, but null out variables we expect on the command line
# operating system, windowing system and architecture variables
os=
@@ -54,7 +94,7 @@ do
-extdirprop)
extdirproperty="-Djava.ext.dirs=${2}";shift;;
-vm)
- vmcmd="${2}"; shift;;
+ jvm="${2}"; shift;;
*)
tests=$tests\ ${1};;
esac
@@ -84,28 +124,23 @@ then
exit 1
fi
-#necessary when invoking this script through rsh
-cd $dir
-if [ ! -r eclipse ]
-then
- tar -xzf eclipse-SDK-*.tar.gz
- # note, the file pattern to match, must not start with */plugins because there is no leading '/' in the zip file, since they are repos.
- unzip -qq -o -C eclipse-junit-tests-*.zip plugins/org.eclipse.test* -d eclipse/dropins/
-fi
# run tests
-launcher=`ls eclipse/plugins/org.eclipse.equinox.launcher_*.jar`
-echo " = = = Start list environment variables in effect = = = ="
-env
-echo " = = = End list environment variables in effect = = = ="
+#echo " = = = Start list environment variables in effect = = = ="
+#env
+#echo " = = = End list environment variables in effect = = = ="
+# TODO: consider moving all this to 'testAll.sh'. (If testAll.sh stays around)
# make sure there is a window manager running. See bug 379026
# we should not have to, but may be a quirk/bug of hudson setup
# assuming metacity attaches to "current" display by default (which should have
# already been set by Hudson). We echo its value here just for extra reference/cross-checks.
+# This next section on window mangers is needed if and only if "running in background" or
+# started on another machine, such as Hudson or Cruisecontrol, where it may be running
+# "semi headless", but still needs some window manager running for UI tests.
echo "Check if any window managers are running (xfwm|twm|metacity|beryl|fluxbox|compiz|kwin|openbox|icewm):"
wmpss=$(ps -ef | egrep -i "xfwm|twm|metacity|beryl|fluxbox|compiz|kwin|openbox|icewm" | grep -v egrep)
echo "Window Manager processes: $wmpss"
@@ -141,15 +176,7 @@ else
echo " giving up. But continuing tests"
fi
fi
-#if [[ -z $wmpss ]]
-#then
-# echo "No window managers processes found running, so will start metacity"
-#metacity --replace --sm-disable &
-#METACITYPID=$!
-#echo $METACITYPID > epmetacity.pid
-#else
-#echo "Existing window manager found running, so did not force start of metacity"
-#fi
+
echo
@@ -170,7 +197,7 @@ echo "extdirproperty in runtest: ${extdirproperty}"
# -Dtimeout=300000 "${ANT_OPTS}"
if [[ ! -z "${extdirproperty}" ]]
then
- $vmcmd "${extdirproperty}" -Dosgi.os=$os -Dosgi.ws=$ws -Dosgi.arch=$arch -jar $launcher -data workspace -application org.eclipse.ant.core.antRunner -file ${PWD}/test.xml $tests -Dws=$ws -Dos=$os -Darch=$arch -D$installmode=true $properties -logger org.apache.tools.ant.DefaultLogger
+ $jvm "${extdirproperty}" -Dosgi.os=$os -Dosgi.ws=$ws -Dosgi.arch=$arch -jar $launcher -data workspace -application org.eclipse.ant.core.antRunner -file ${PWD}/test.xml -Dws=$ws -Dos=$os -Darch=$arch -D$installmode=true $properties -logger org.apache.tools.ant.DefaultLogger $tests
else
- $vmcmd -Dosgi.os=$os -Dosgi.ws=$ws -Dosgi.arch=$arch -jar $launcher -data workspace -application org.eclipse.ant.core.antRunner -file ${PWD}/test.xml $tests -Dws=$ws -Dos=$os -Darch=$arch -D$installmode=true $properties -logger org.apache.tools.ant.DefaultLogger
+ $jvm -Dosgi.os=$os -Dosgi.ws=$ws -Dosgi.arch=$arch -jar $launcher -data workspace -application org.eclipse.ant.core.antRunner -file ${PWD}/test.xml -Dws=$ws -Dos=$os -Darch=$arch -D$installmode=true $properties -logger org.apache.tools.ant.DefaultLogger $tests
fi
diff --git a/production/testScripts/configuration/sdk.tests/testScripts/test.xml b/production/testScripts/configuration/sdk.tests/testScripts/test.xml
index 72c9c61c..e66e20a9 100644
--- a/production/testScripts/configuration/sdk.tests/testScripts/test.xml
+++ b/production/testScripts/configuration/sdk.tests/testScripts/test.xml
@@ -1,14 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project name="Automated Eclipse Testing in Production" default="all" basedir=".">
+<project
+ name="Automated Eclipse Testing in Production"
+ default="all"
+ basedir=".">
<!--Directory name of org.eclipse.test plug-in installed in ${eclipse-home}-->
- <target name="setup" unless="noclean" depends="init">
- <condition property="setupTarget" value="setup-zip">
- <contains string="${runtimeArchive}" substring=".zip" />
+ <target
+ name="setup"
+ unless="noclean"
+ depends="init">
+ <condition
+ property="setupTarget"
+ value="setup-zip">
+ <contains
+ string="${runtimeArchive}"
+ substring=".zip" />
</condition>
- <condition property="setupTarget" value="setup-tar.gz">
- <contains string="${runtimeArchive}" substring=".tar.gz" />
+ <condition
+ property="setupTarget"
+ value="setup-tar.gz">
+ <contains
+ string="${runtimeArchive}"
+ substring=".tar.gz" />
</condition>
<!--
<condition
@@ -17,18 +31,34 @@
<available file="${repoLocation}" />
</condition>
-->
- <condition property="extraIU" value="org.eclipse.releng.tools.feature.group">
- <equals arg1="${testPlugin}" arg2="org.eclipse.releng.tests" />
+ <condition
+ property="extraIU"
+ value="org.eclipse.releng.tools.feature.group">
+ <equals
+ arg1="${testPlugin}"
+ arg2="org.eclipse.releng.tests" />
</condition>
- <condition property="extraIU" value="org.eclipse.equinox.p2.discovery.feature.feature.group">
- <equals arg1="${testPlugin}" arg2="org.eclipse.equinox.p2.tests.discovery" />
+ <condition
+ property="extraIU"
+ value="org.eclipse.equinox.p2.discovery.feature.feature.group">
+ <equals
+ arg1="${testPlugin}"
+ arg2="org.eclipse.equinox.p2.tests.discovery" />
</condition>
- <condition property="extraIU" value="org.eclipse.osgi.compatibility.plugins.feature.feature.group">
+ <condition
+ property="extraIU"
+ value="org.eclipse.osgi.compatibility.plugins.feature.feature.group">
<or>
- <equals arg1="${testPlugin}" arg2="org.eclipse.osgi.tests" />
- <equals arg1="${testPlugin}" arg2="org.eclipse.pde.ui.tests" />
- <equals arg1="${testPlugin}" arg2="org.eclipse.pde.api.tools.tests" />
+ <equals
+ arg1="${testPlugin}"
+ arg2="org.eclipse.osgi.tests" />
+ <equals
+ arg1="${testPlugin}"
+ arg2="org.eclipse.pde.ui.tests" />
+ <equals
+ arg1="${testPlugin}"
+ arg2="org.eclipse.pde.api.tools.tests" />
</or>
</condition>
@@ -43,7 +73,9 @@
</target>
<target name="installPreferences">
- <property name="preferenceDirectory" value="${install}/eclipse/configuration/.settings/" />
+ <property
+ name="preferenceDirectory"
+ value="${install}/eclipse/configuration/.settings/" />
<mkdir dir="${preferenceDirectory}" />
<antcall target="installNetworkPreferences" />
@@ -51,52 +83,77 @@
</target>
- <target name="installNetworkPreferences" if="org.eclipse.core.net.prefs">
-
- <copy file="${org.eclipse.core.net.prefs}" todir="${preferenceDirectory}" failonerror="false" verbose="true" />
- <echo message="copied ${org.eclipse.core.net.prefs} to ${preferenceDirectory}" />
+ <target
+ name="installNetworkPreferences"
+ if="org.eclipse.core.net.prefs">
+ <echo message="${org.eclipse.core.net.prefs}" file="${preferenceDirectory}" />
+ <!-- TODO: be sure to check if quoted properly -->
+ <echo message="wrote ${org.eclipse.core.net.prefs} to ${preferenceDirectory}" />
</target>
<!--Extract test bundles repo -->
- <target name="setupRepo" depends="init" unless="testRepoCreated">
+ <target
+ name="setupRepo"
+ depends="init"
+ unless="testRepoCreated">
<mkdir dir="${repoLocation}" />
- <exec dir="${basedir}" executable="unzip" failonerror="false" resultproperty="unzipResultCode">
- <arg line="-o ${repoZip} -d ${repoLocation}" />
+ <exec
+ dir="${basedir}"
+ executable="unzip"
+ failonerror="false"
+ resultproperty="unzipResultCode">
+ <arg line="-o -qq ${repoZip} -d ${repoLocation}" />
</exec>
<echo message="unzip resultcode: ${unzipResultCode}" />
<!-- TODO: can do more checking here, if successful, before we set to value -->
- <property name="testRepoCreated" value="true" />
+ <property
+ name="testRepoCreated"
+ value="true" />
</target>
<!--setup for zip archives-->
- <target name="setup-zip" depends="init" description="Reinstall the test Eclipse installation if specified by user">
+ <target
+ name="setup-zip"
+ depends="init"
+ description="Reinstall the test Eclipse installation if specified by user">
<delete dir="${install}" />
<mkdir dir="${install}" />
- <exec dir="." executable="unzip">
+ <exec
+ dir="."
+ executable="unzip">
<arg line="-o -qq ${runtimeArchive} -d ${install}" />
</exec>
</target>
<!--setup for tar.gz archives-->
- <target name="setup-tar.gz" depends="init" description="Reinstall the test Eclipse installation if specified by user">
+ <target
+ name="setup-tar.gz"
+ depends="init"
+ description="Reinstall the test Eclipse installation if specified by user">
<delete dir="${install}" />
<mkdir dir="${install}" />
- <exec dir="${install}" executable="tar">
+ <exec
+ dir="${install}"
+ executable="tar">
<arg line="-xzf ${executionDir}/${runtimeArchive}" />
</exec>
</target>
<!--use an stable version of the director so that instability in the current build doesn't cause all the tests to fail -->
- <target name="initPlatformArhiveName" unless="platformArchive">
+ <target
+ name="initPlatformArhiveName"
+ unless="platformArchive">
<echo message="os.arch ${os.arch}" />
<!--
we now write this file, just for p2 tests, instead of doing
the funky ant replace
<loadproperties srcfile="equinoxp2tests.properties" />
-->
- <condition property="platformArchive" value="eclipse-platform-${buildId}-linux-gtk.tar.gz">
+ <condition
+ property="platformArchive"
+ value="eclipse-platform-${buildId}-linux-gtk.tar.gz">
<and>
<os family="unix" />
<not>
@@ -110,7 +167,9 @@
</not>
</and>
</condition>
- <condition property="platformArchive" value="eclipse-platform-${buildId}-macosx-cocoa-x86_64.tar.gz">
+ <condition
+ property="platformArchive"
+ value="eclipse-platform-${buildId}-macosx-cocoa-x86_64.tar.gz">
<and>
<os family="mac" />
<os family="unix" />
@@ -120,7 +179,9 @@
</or>
</and>
</condition>
- <condition property="platformArchive" value="eclipse-platform-${buildId}-macosx-cocoa.tar.gz">
+ <condition
+ property="platformArchive"
+ value="eclipse-platform-${buildId}-macosx-cocoa.tar.gz">
<and>
<os family="mac" />
<os family="unix" />
@@ -129,13 +190,17 @@
-->
</and>
</condition>
- <condition property="platformArchive" value="eclipse-platform-${buildId}-win32.zip">
+ <condition
+ property="platformArchive"
+ value="eclipse-platform-${buildId}-win32.zip">
<and>
<os family="windows" />
<os arch="x86" />
</and>
</condition>
- <condition property="platformArchive" value="eclipse-platform-${buildId}-win32-x86_64.zip">
+ <condition
+ property="platformArchive"
+ value="eclipse-platform-${buildId}-win32-x86_64.zip">
<and>
<os family="windows" />
<or>
@@ -144,7 +209,9 @@
</or>
</and>
</condition>
- <condition property="platformArchive" value="eclipse-platform-${buildId}-linux-gtk-x86_64.tar.gz">
+ <condition
+ property="platformArchive"
+ value="eclipse-platform-${buildId}-linux-gtk-x86_64.tar.gz">
<and>
<os family="unix" />
<or>
@@ -154,17 +221,29 @@
</and>
</condition>
- <fail unless="platformArchive" message="platformArchive is not defined. Check that conditions cover os arch ${os.arch}. May be VM dependent.)" />
+ <fail
+ unless="platformArchive"
+ message="platformArchive is not defined. Check that conditions cover os arch ${os.arch}. May be VM dependent.)" />
</target>
<target name="setupPlatform">
- <condition property="platformTarget" value="platform-zip">
- <contains string="${platformArchive}" substring=".zip" />
+ <condition
+ property="platformTarget"
+ value="platform-zip">
+ <contains
+ string="${platformArchive}"
+ substring=".zip" />
</condition>
- <condition property="platformTarget" value="platform-tar.gz">
- <contains string="${platformArchive}" substring=".tar.gz" />
+ <condition
+ property="platformTarget"
+ value="platform-tar.gz">
+ <contains
+ string="${platformArchive}"
+ substring=".tar.gz" />
</condition>
- <fail unless="platformTarget" message="platformTarget is not defined. Check that platformArchive variable and value is defined correctly, such as in equinoxp2tests.properties in the appropriate testConfig" />
+ <fail
+ unless="platformTarget"
+ message="platformTarget is not defined. Check that platformArchive variable and value is defined correctly, such as in equinoxp2tests.properties in the appropriate testConfig" />
<echo message="platformTarget ${platformTarget} platformArchive ${platformArchive}" />
<!-- not sure when exactly to expand this? -->
<!-- <antcall target="${platformTarget}" /> -->
@@ -172,46 +251,75 @@
<!--setup for platform zip archives-->
- <target name="platform-zip" depends="init" description="Reinstall the test Eclipse installation if specified by user">
+ <target
+ name="platform-zip"
+ depends="init"
+ description="Reinstall the test Eclipse installation if specified by user">
<condition property="platformArchiveExists">
<available file="${executionDir}/${platformArchive}" />
</condition>
- <fail unless="platformArchiveExists" message="plaform archive did not exist where expected. platformArchive: ${executionDir}/${platformArchive}" />
+ <fail
+ unless="platformArchiveExists"
+ message="plaform archive did not exist where expected. platformArchive: ${executionDir}/${platformArchive}" />
<delete dir="${platformLocation}" />
<mkdir dir="${platformLocation}" />
- <exec dir="${platformLocation}" executable="unzip">
+ <exec
+ dir="${platformLocation}"
+ executable="unzip">
<arg line="-o -qq ${executionDir}/${platformArchive} -d ${executionDir}/${platformLocation}" />
</exec>
</target>
<!--setup for platform tar.gz archives-->
- <target name="platform-tar.gz" depends="init" description="Reinstall the test Eclipse installation if specified by user">
+ <target
+ name="platform-tar.gz"
+ depends="init"
+ description="Reinstall the test Eclipse installation if specified by user">
<condition property="platformArchiveExists">
<available file="${executionDir}/${platformArchive}" />
</condition>
- <fail unless="platformArchiveExists" message="plaform archive did not exist where expected. platformArchive: ${executionDir}/${platformArchive}" />
+ <fail
+ unless="platformArchiveExists"
+ message="plaform archive did not exist where expected. platformArchive: ${executionDir}/${platformArchive}" />
<delete dir="${platformLocation}" />
<mkdir dir="${platformLocation}" />
- <exec dir="${platformLocation}" executable="tar">
+ <exec
+ dir="${platformLocation}"
+ executable="tar">
<arg line="-xzf ${executionDir}/${platformArchive}" />
</exec>
</target>
- <target name="installExtraPlugins" depends="init" if="extraIU">
+ <target
+ name="installExtraPlugins"
+ depends="init"
+ if="extraIU">
<path id="launcher.paths">
- <fileset dir="${eclipse-home}" includes="plugins/org.eclipse.equinox.launcher_*" />
+ <fileset
+ dir="${eclipse-home}"
+ includes="plugins/org.eclipse.equinox.launcher_*" />
</path>
- <property name="launcherPath" refid="launcher.paths" />
+ <property
+ name="launcherPath"
+ refid="launcher.paths" />
<echo>-installExtraIU ${extraIU} +</echo>
<echo> from current.build.repo: ${current.build.repo} </echo>
<echo> into eclipse-home: ${eclipse-home} </echo>
<echo> using launcher: ${launcherPath} </echo>
- <java jar="${launcherPath}" failonerror="false" dir="${eclipse-home}" timeout="900000" fork="true" output="${directorLogs}/director-${extraIU}.log" append="true" resultproperty="directorcode">
+ <java
+ jar="${launcherPath}"
+ failonerror="false"
+ dir="${eclipse-home}"
+ timeout="900000"
+ fork="true"
+ output="${directorLogs}/director-${extraIU}.log"
+ append="true"
+ resultproperty="directorcode">
<arg line="-vm ${java.home}/bin/java" />
<arg line="-application org.eclipse.equinox.p2.director" />
<arg line="-consoleLog" />
@@ -229,23 +337,38 @@
</java>
</target>
- <target name="installTestPlugins" depends="init">
+ <target
+ name="installTestPlugins"
+ depends="init">
<path id="launcher.paths">
- <fileset dir="${eclipse-home}" includes="plugins/org.eclipse.equinox.launcher_*" />
+ <fileset
+ dir="${eclipse-home}"
+ includes="plugins/org.eclipse.equinox.launcher_*" />
</path>
- <property name="launcherPath" refid="launcher.paths" />
+ <property
+ name="launcherPath"
+ refid="launcher.paths" />
<antcall target="setupPlatform" />
<echo>-installTestIU ${testPlugin} +</echo>
<echo> from ${repoLocation} </echo>
<echo> into ${eclipse-home} </echo>
<echo> using launcher: ${launcherPath} </echo>
- <java jar="${launcherPath}" failonerror="false" dir="${eclipse-home}" timeout="900000" fork="true" output="${directorLogs}/director-${testPlugin}.log" append="true" resultproperty="directorcode">
+ <java
+ jar="${launcherPath}"
+ failonerror="false"
+ dir="${eclipse-home}"
+ timeout="900000"
+ fork="true"
+ output="${directorLogs}/director-${testPlugin}.log"
+ append="true"
+ resultproperty="directorcode">
<arg line="-vm ${java.home}/bin/java" />
<arg line="-application org.eclipse.equinox.p2.director" />
<arg line="-consoleLog" />
<arg line="-debug" />
<arg line="-flavor tooling" />
- <arg line="-installIUs ${testPlugin},org.eclipse.test,org.eclipse.ant.optional.junit,org.eclipse.test.performance,org.eclipse.test.performance.win32,org.easymock" />
+ <arg
+ line="-installIUs ${testPlugin},org.eclipse.test,org.eclipse.ant.optional.junit,org.eclipse.test.performance,org.eclipse.test.performance.win32,org.easymock" />
<arg line="-p2.os ${os}" />
<arg line="-p2.ws ${ws}" />
<arg line="-p2.arch ${arch}" />
@@ -259,46 +382,73 @@
<antcall target="unzipderby" />
</target>
- <target name="unzipderby" if="derby" unless="skipDerby">
- <exec dir="." executable="unzip">
+ <target
+ name="unzipderby"
+ if="derby"
+ unless="skipDerby">
+ <exec
+ dir="."
+ executable="unzip">
<arg line="-o eclipse-junit-tests-*.zip ${derby} -d ${install}" />
</exec>
<copy todir="${install}/eclipse/dropins/eclipse/plugins">
- <fileset dir="${repoLocation}/eclipse/dropins/eclipse/plugins" includes="org.apache.derby**/*" />
+ <fileset
+ dir="${repoLocation}/eclipse/dropins/eclipse/plugins"
+ includes="org.apache.derby**/*" />
</copy>
</target>
- <target name="initHudsonWorkspace" unless="WORKSPACE">
+ <target
+ name="initWorkspace"
+ unless="WORKSPACE">
<property environment="env" />
- <condition property="WORKSPACE" value="${hudson.WORKSPACE}">
- <isset property="hudson.WORKSPACE" />
- </condition>
- </target>
-
- <target name="initWorkspace" depends="initHudsonWorkspace" unless="WORKSPACE">
- <property environment="env" />
- <condition property="WORKSPACE" value="${env.WORKSPACE}" else="${basedir}">
+ <condition
+ property="WORKSPACE"
+ value="${env.WORKSPACE}"
+ else="${basedir}">
<isset property="env.WORKSPACE" />
</condition>
</target>
+ <target
+ name="initProductionProperties" depends="initWorkspace" >
+ <!--
+ during production testing, previous steps persists some properties
+ that we would otherwise not have access too. Such as those set on
+ Hudson command line.
+ -->
+ <property file="${WORKSPACE}/production.properties" />
- <target name="initBuildId" unless="buildId">
+ </target>
+ <target
+ name="initBuildId"
+ unless="buildId">
<!--property file that can contain the buildId, if not otherwise set -->
<property file="label.properties" />
- <fail unless="buildId" message="buildId (e.g I20140731-0800) needs to be provided to run the tests" />
+ <fail
+ unless="buildId"
+ message="buildId (e.g I20140731-0800) needs to be provided to run the tests" />
</target>
- <target name="initBuildType" depends="initBuildId" unless="buildType">
+ <target
+ name="initBuildType"
+ depends="initBuildId"
+ unless="buildType">
- <fail unless="buildId" message="buildId value must be provided by caller (such as 'I20120717-0800'" />
+ <fail
+ unless="buildId"
+ message="buildId value must be provided by caller (such as 'I20120717-0800'" />
<!--
this "buildId check" may be overly strict, but best to start off strict for now,
loosen in future if we start to find/have variety
-->
<condition property="buildIdOK">
- <matches pattern="^[IMXYNPSR]\d{8}-\d{4}$" string="${buildId}" />
+ <matches
+ pattern="^[IMXYNPSR]\d{8}-\d{4}$"
+ string="${buildId}" />
</condition>
- <fail message="buildId variable had unexpected format. Should be of the form [IMXYNPSR] 8 digits '-' 4 digits, but was ${buildId}" unless="buildIdOK" />
+ <fail
+ message="buildId variable had unexpected format. Should be of the form [IMXYNPSR] 8 digits '-' 4 digits, but was ${buildId}"
+ unless="buildIdOK" />
<script language="javascript"><![CDATA[
var buildId = project.getProperty("buildId");
@@ -318,23 +468,33 @@
main purpose of initStreamVariables, it to be sure we have eclipseStreamMajor and eclipseStreamMinor
Uses script, which requires Java 1.6 (or ... else gets complicated to setup)
-->
- <target name="initStreamVariables"
- depends="initDownloadHosts">
+ <target
+ name="initStreamVariables"
+ depends="initDownloadHosts">
+
+ <property file="${configurationDir}/streamSpecific-build.properties" />
+ <fail
+ unless="eclipseStream"
+ message="eclipseStream value must be provided by caller, such as '4.3.0'." />
<!--
- First location is one where file is during produciton builds.
- Second location is where it is during "unit testing" of the test.xml file.
+ Not clear why, but I've seen "eclipseStream" value have a trailing
+ ?blank? that gets picked up when read in as string.
+ Seems it might be a couple of ant issues?
+ Luckily we never use it as a whole string (just major and minor)
+ so we can ignore spaces.
-->
- <property file="${WORKSPACE}/streamSpecific-build.properties" />
- <property file="../../streamSpecific-build.properties" />
- <fail unless="eclipseStream" message="eclipseStream value must be provided by caller, such as '4.3.0'." />
<condition property="streamOK">
- <matches pattern="^\d\.\d(\.\d)?$" string="${eclipseStream}" />
+ <matches
+ pattern="^\s*\d\.\d(\.\d)?\s*$"
+ string="${eclipseStream}" />
</condition>
- <fail message="eclipseStream variable had unexpected format. Should be of form digit.digit[.digit], but was ${eclipseStream}" unless="streamOK" />
+ <fail
+ message="eclipseStream variable had unexpected format. Should be of form digit.digit[.digit], but was ${eclipseStream}"
+ unless="streamOK" />
<script language="javascript"><![CDATA[
var eclipseStream = project.getProperty("eclipseStream");
- var pattern = new RegExp(/^(\d+)\.(\d+)(\.(\d+))?$/);
+ var pattern = new RegExp(/^\s*(\d+)\.(\d+)(\.(\d+))?\s*$/);
var sArray = pattern.exec(eclipseStream);
// sArray[0] is "whole match"
@@ -349,8 +509,12 @@
]]>
</script>
- <fail unless="eclipseStreamMajor" message="eclipseStreamMajor not defined or computable" />
- <fail unless="eclipseStreamMinor" message="eclipseStreamMinor not defined or computable" />
+ <fail
+ unless="eclipseStreamMajor"
+ message="eclipseStreamMajor not defined or computable" />
+ <fail
+ unless="eclipseStreamMinor"
+ message="eclipseStreamMinor not defined or computable" />
<!--
<fail
unless="eclipseStreamService"
@@ -358,42 +522,61 @@
-->
</target>
- <target name="initBasicDirectories" depends="initWorkspace,initBuildId" unless="basicDirectoriesInitialized">
+ <target
+ name="initBasicDirectories"
+ depends="initWorkspace,initBuildId"
+ unless="basicDirectoriesInitialized">
<property environment="env" />
- <property name="testDir" value="${WORKSPACE}/workarea/${buildId}" />
+ <property
+ name="testDir"
+ value="${WORKSPACE}/workarea/${buildId}" />
<echo message="testDir: ${testDir}" />
- <property name="executionDir" value="${testDir}/eclipse-testing" />
+ <property
+ name="executionDir"
+ value="${testDir}/eclipse-testing" />
<mkdir dir="${executionDir}" />
<echo message="executionDir: ${executionDir}" />
<!--default directory where test-eclipse-sdk will be installed-->
- <property name="install" value="${executionDir}/test-eclipse" />
+ <property
+ name="install"
+ value="${executionDir}/test-eclipse" />
<mkdir dir="${install}" />
<echo message="install: ${install}" />
<!-- The root of the eclipse installation -->
- <property name="eclipse-home" value="${install}/eclipse" />
+ <property
+ name="eclipse-home"
+ value="${install}/eclipse" />
<mkdir dir="${eclipse-home}" />
<echo message="eclipse-home: ${eclipse-home}" />
- <property name="repoZip" value="${executionDir}/eclipse-junit-tests-${buildId}.zip" />
+ <property
+ name="repoZip"
+ value="${executionDir}/eclipse-junit-tests-${buildId}.zip" />
<echo message="repoZip: ${repoZip}" />
- <property name="repoLocation" value="${executionDir}/testRepo" />
+ <property
+ name="repoLocation"
+ value="${executionDir}/testRepo" />
<echo message="repoLocation: ${repoLocation}" />
- <property name="platformLocation" value="${executionDir}/platformLocation" />
+ <property
+ name="platformLocation"
+ value="${executionDir}/platformLocation" />
<mkdir dir="${platformLocation}" />
<echo message="platformLocation: ${platformLocation}" />
<!-- The directory that will contain all files containing information on the tests that ran.-->
- <property name="results" value="${executionDir}/results" />
+ <property
+ name="results"
+ value="${executionDir}/results" />
<mkdir dir="${results}" />
<mkdir dir="${results}/xml" />
<mkdir dir="${results}/html" />
@@ -401,24 +584,34 @@
<!--Directory for JUnit report output, console log output and .log content for each test suite.
Overrides default in org.eclipse.test/library.xml-->
- <property name="junit-report-output" value="${results}/${testedPlatform}" />
+ <property
+ name="junit-report-output"
+ value="${results}/${testedPlatform}" />
<mkdir dir="${junit-report-output}" />
<echo message="junit-report-output: ${junit-report-output}" />
- <property name="directorLogs" value="${executionDir}/directorLogs" />
+ <property
+ name="directorLogs"
+ value="${executionDir}/directorLogs" />
<mkdir dir="${directorLogs}" />
<echo message="directorLogs: ${directorLogs}" />
<!-- this dirctory, with some sort files are created during unit tests
... need to find where to disable/enable jacoco -->
- <property name="coverage-output" value="${results}/coverageIGNORE" />
+ <property
+ name="coverage-output"
+ value="${results}/coverageIGNORE" />
- <property name="basicDirectoriesInitialized" value="true" />
+ <property
+ name="basicDirectoriesInitialized"
+ value="true" />
<echo message="basicDirectoriesInitialized" />
</target>
<!-- this method used only during "unit testing" of this test.xml iself -->
- <target name="testCopyFilesIfTesting" if="env.TESTING_TEST_XML">
+ <target
+ name="testCopyFilesIfTesting"
+ if="env.TESTING_TEST_XML">
<copy todir="${executionDir}">
<fileset dir="${basedir}/../testConfigs/linux" />
</copy>
@@ -426,33 +619,37 @@
</target>
<!--
- DOWNLOAD_HOST and ARCHIVE_HOST can be defined in on command line,
- or in ANT_OPTS, in which case this logic won't apply
+ DOWNLOAD_HOST and ARCHIVE_HOST can be defined on command line,
+ if running on local test environments.
-->
- <target name="initDownloadHosts" depends="checkDownloadHosts" unless="DOWNLOAD_HOST">
- <!-- we assume if "DOWNLOAD_HOST" is defined, then ARCHICE_HOST has been defined also. -->
- <property environment="env"/>
+ <target
+ name="initDownloadHosts"
+ unless="DOWNLOAD_HOST">
+ <!-- we assume if "DOWNLOAD_HOST" is defined, then ARCHIVE_HOST has been defined also. -->
+ <property environment="env" />
<echo message="DEBUG: Found DOWNLOAD_HOST not defined. Setting in 'initDownloadHosts'" />
<echo message="DEBUG: env.DOWNLOAD_HOST: ${env.DOWNLOAD_HOST}" />
- <condition property="DOWNLOAD_HOST" value="${env.DOWNLOAD_HOST}" else="download.eclipse.org">
+ <condition
+ property="DOWNLOAD_HOST"
+ value="${env.DOWNLOAD_HOST}"
+ else="download.eclipse.org">
<isset property="env.DOWNLOAD_HOST" />
</condition>
- <condition property="ARCHIVE_HOST" value="${env.ARCHIVE_HOST}" else="archive.eclipse.org">
+ <condition
+ property="ARCHIVE_HOST"
+ value="${env.ARCHIVE_HOST}"
+ else="archive.eclipse.org">
<isset property="env.ARCHIVE_HOST" />
</condition>
</target>
- <!--
- This method is just to help debugging.
- -->
- <target name="checkDownloadHosts" if="DOWNLOAD_HOST">
- <echo message="DEBUG: Found DOWNLOAD_HOST already defined by 'initDownloadHosts'" />
- <echo message="DEBUG: DOWNLOAD_HOST: ${DOWNLOAD_HOST}" />
- </target>
- <target name="init" depends="initWorkspace,initBuildId, initBuildType, initDownloadHosts, initStreamVariables, initBasicDirectories,initOSes, initPlatformArhiveName, setRuntimeArchive" unless="testingIsInitialized">
+
+ <target
+ name="init"
+ depends="initWorkspace,initProductionProperties,initBuildId, initBuildType, initDownloadHosts, initStreamVariables, initBasicDirectories,initOSes, initPlatformArhiveName, setRuntimeArchive"
+ unless="testingIsInitialized">
<property environment="env" />
- <echo message="ANT_OPTS: ${env.ANT_OPTS}" />
<!--
Normally these files are copied by other scripts, if not simply testing this script with "testTestXMLScript.sh",
but when testing in isolation, want this simple way to
@@ -461,17 +658,21 @@
-->
<antcall target="testCopyFilesIfTesting" />
- <property name="current.build.repo" value="http://${DOWNLOAD_HOST}/eclipse/updates/${eclipseStreamMajor}.${eclipseStreamMinor}-${buildType}-builds/${buildId}" />
+ <property
+ name="current.build.repo"
+ value="http://${DOWNLOAD_HOST}/eclipse/updates/${eclipseStreamMajor}.${eclipseStreamMinor}-${buildType}-builds/${buildId}" />
<echo message="current.build.repo: ${current.build.repo}" />
- <property name="last.release.build.repo" value="http://${DOWNLOAD_HOST}/eclipse/updates/${previousReleaseVersion}" />
+ <property
+ name="last.release.build.repo"
+ value="http://${DOWNLOAD_HOST}/eclipse/updates/${previousReleaseVersion}" />
<echo message="last.release.build.repo: ${last.release.build.repo}" />
<!--
- properties file containing the plugin directory name including version number,
+ test.properties file contains the plugin name including version number,
and list of required test plug-ins expressed as command-line argument to unzip executable.
- Generated and packaged at build time.
+ Generated and packaged at build time by CBI custom maven task.
-->
<property file="test.properties" />
<!--
@@ -479,243 +680,495 @@
that will "evaluate" variables as loaded. Otherwise, the <properties form
has to move to "top of file" ... outer scope?
<property file="${eclipseBuilderDir}/eclipse/buildConfigs/sdk.tests/testConfigs/${testPlatform}/testing.properties" />
- -->
- <property name="testingPropertiesfile" value="${executionDir}/testing.properties" />
+
+ <property
+ name="testingPropertiesfile"
+ value="${executionDir}/testing.properties" />
<loadproperties>
<file file="${testingPropertiesfile}" />
</loadproperties>
-
+-->
<!--
suffix added to test output files, along with VM number,
to identify platform on which tests ran. (currently
hard coded in vm.properties)
-->
- <property file="vm.properties" />
- <property name="testedPlatform" value="${os}.${ws}.${arch}" />
-
-
-
-
-
- <echo level="debug" message="DEBUG: org.eclipse.core.net.prefs: ${org.eclipse.core.net.prefs}" />
-
+ <!-- <property file="vm.properties" /> -->
+ <!--now set in initBasicDirectories
+ <property
+ name="testedPlatform"
+ value="${os}.${ws}.${arch}" />
+-->
<!--Unlock files on the Mac before starting tests.
Required to delete some workspace directories (org.eclipse.core.filebuffers.tests and Team CVS tests).-->
- <exec dir="${executionDir}" executable="chflags" os="Mac OS X">
+ <exec
+ dir="${executionDir}"
+ executable="chflags"
+ os="Mac OS X">
<arg line="-R nouchg ${install}" />
</exec>
- <!-- needed only for p2 test -->
- <property name="org.eclipse.equinox.p2.reconciler.tests.platform.archive" value="${executionDir}/${platformArchive}" />
- <property name="org.eclipse.equinox.p2.reconciler.tests.platform.archive" value="${executionDir}/${platformArchive}" />
- <property name="org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive" value="NotCurrentlyImplementedOrUsed" />
- <property name="org.eclipse.equinox.p2.tests.current.build.repo" value="${current.build.repo}" />
- <property name="org.eclipse.equinox.p2.tests.last.release.build.repo" value="${last.release.build.repo}" />
+ <!--
+ Originally needed/provided for p2 tests, but they appear not to
+ be successful in reading or using these proerties any longer.
+ Not clear why. So we'll leave it in until understood. (It may be
+ useful in other scenarios, such when tested stand alone?)
+ -->
+ <property
+ name="org.eclipse.equinox.p2.reconciler.tests.platform.archive"
+ value="${executionDir}/${platformArchive}" />
+
+ <property
+ name="org.eclipse.equinox.p2.reconciler.tests.platform.archive"
+ value="${executionDir}/${platformArchive}" />
+ <property
+ name="org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive"
+ value="NotCurrentlyImplementedOrUsed" />
+ <property
+ name="org.eclipse.equinox.p2.tests.current.build.repo"
+ value="${current.build.repo}" />
+ <property
+ name="org.eclipse.equinox.p2.tests.last.release.build.repo"
+ value="${last.release.build.repo}" />
<!--
- Specifically use 'antcall' here, in the hope that is allows file to flush and close.
- There was a vague hint it is not readable by p2?
+ It is likely we do not need the equinoxp2propertiesFile any longer,
+ during production tests, at least.
-->
<antcall target="rewriteEquinoxp2PropertiesFile" />
- <!-- <antcall target="printMainProperties" /> -->
- <property name="testingIsInitialized" value="true" />
+ <property
+ name="testingIsInitialized"
+ value="true" />
</target>
<target name="rewriteEquinoxp2PropertiesFile">
- <property name="EOL" value="${line.separator}" />
-
- <echo message="# properties for p2 tests${EOL}" file="${executionDir}/equinoxp2tests.properties" append="false" force="true" />
-
- <echo message="org.eclipse.equinox.p2.reconciler.tests.platform.archive=${org.eclipse.equinox.p2.reconciler.tests.platform.archive}${EOL}" file="${executionDir}/equinoxp2tests.properties" append="true" />
- <echo message="org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive=${org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive}${EOL}" file="${executionDir}/equinoxp2tests.properties" append="true" />
- <echo message="org.eclipse.equinox.p2.tests.current.build.repo=${current.build.repo}${EOL}" file="${executionDir}/equinoxp2tests.properties" append="true" />
- <echo message="org.eclipse.equinox.p2.tests.last.release.build.repo=${last.release.build.repo}${EOL}" file="${executionDir}/equinoxp2tests.properties" append="true" />
- </target>
-
- <target name="setRuntimeArchive" unless="runtimeArchive">
+ <property
+ name="EOL"
+ value="${line.separator}" />
+
+ <echo
+ message="# properties for p2 tests${EOL}"
+ file="${executionDir}/equinoxp2tests.properties"
+ append="false"
+ force="true" />
+
+ <echo
+ message="org.eclipse.equinox.p2.reconciler.tests.platform.archive=${org.eclipse.equinox.p2.reconciler.tests.platform.archive}${EOL}"
+ file="${executionDir}/equinoxp2tests.properties"
+ append="true" />
+ <echo
+ message="org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive=${org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive}${EOL}"
+ file="${executionDir}/equinoxp2tests.properties"
+ append="true" />
+ <echo
+ message="org.eclipse.equinox.p2.tests.current.build.repo=${current.build.repo}${EOL}"
+ file="${executionDir}/equinoxp2tests.properties"
+ append="true" />
+ <echo
+ message="org.eclipse.equinox.p2.tests.last.release.build.repo=${last.release.build.repo}${EOL}"
+ file="${executionDir}/equinoxp2tests.properties"
+ append="true" />
+ </target>
+
+ <target
+ name="setRuntimeArchive"
+ unless="runtimeArchive">
<echo message="setRuntimeArchive os ${os} ws ${ws} arch ${arch}" />
- <condition property="runtimeArchive" value="eclipse-SDK-${buildId}-win32.zip">
+ <condition
+ property="runtimeArchive"
+ value="eclipse-SDK-${buildId}-win32.zip">
<and>
- <equals arg1="${os}" arg2="win32" />
- <equals arg1="${ws}" arg2="win32" />
- <equals arg1="${arch}" arg2="x86" />
+ <equals
+ arg1="${os}"
+ arg2="win32" />
+ <equals
+ arg1="${ws}"
+ arg2="win32" />
+ <equals
+ arg1="${arch}"
+ arg2="x86" />
</and>
</condition>
- <condition property="runtimeArchive" value="eclipse-SDK-${buildId}-win32-x86_64.zip">
+ <condition
+ property="runtimeArchive"
+ value="eclipse-SDK-${buildId}-win32-x86_64.zip">
<and>
- <equals arg1="${os}" arg2="win32" />
- <equals arg1="${ws}" arg2="win32" />
- <equals arg1="${arch}" arg2="x86_64" />
+ <equals
+ arg1="${os}"
+ arg2="win32" />
+ <equals
+ arg1="${ws}"
+ arg2="win32" />
+ <equals
+ arg1="${arch}"
+ arg2="x86_64" />
</and>
</condition>
- <condition property="runtimeArchive" value="eclipse-SDK-${buildId}-linux-gtk.tar.gz">
+ <condition
+ property="runtimeArchive"
+ value="eclipse-SDK-${buildId}-linux-gtk.tar.gz">
<and>
- <equals arg1="${os}" arg2="linux" />
- <equals arg1="${ws}" arg2="gtk" />
- <equals arg1="${arch}" arg2="x86" />
+ <equals
+ arg1="${os}"
+ arg2="linux" />
+ <equals
+ arg1="${ws}"
+ arg2="gtk" />
+ <equals
+ arg1="${arch}"
+ arg2="x86" />
</and>
</condition>
- <condition property="runtimeArchive" value="eclipse-SDK-${buildId}-linux-gtk-x86_64.tar.gz">
+ <condition
+ property="runtimeArchive"
+ value="eclipse-SDK-${buildId}-linux-gtk-x86_64.tar.gz">
<and>
- <equals arg1="${os}" arg2="linux" />
- <equals arg1="${ws}" arg2="gtk" />
- <equals arg1="${arch}" arg2="x86_64" />
+ <equals
+ arg1="${os}"
+ arg2="linux" />
+ <equals
+ arg1="${ws}"
+ arg2="gtk" />
+ <equals
+ arg1="${arch}"
+ arg2="x86_64" />
</and>
</condition>
- <condition property="runtimeArchive" value="eclipse-SDK-${buildId}-linux-gtk-ppc64.tar.gz">
+ <condition
+ property="runtimeArchive"
+ value="eclipse-SDK-${buildId}-linux-gtk-ppc64.tar.gz">
<and>
- <equals arg1="${os}" arg2="linux" />
- <equals arg1="${ws}" arg2="gtk" />
- <equals arg1="${arch}" arg2="ppc64" />
+ <equals
+ arg1="${os}"
+ arg2="linux" />
+ <equals
+ arg1="${ws}"
+ arg2="gtk" />
+ <equals
+ arg1="${arch}"
+ arg2="ppc64" />
</and>
</condition>
- <condition property="runtimeArchive" value="eclipse-SDK-${buildId}-linux-gtk-ppc.tar.gz">
+ <condition
+ property="runtimeArchive"
+ value="eclipse-SDK-${buildId}-linux-gtk-ppc.tar.gz">
<and>
- <equals arg1="${os}" arg2="linux" />
- <equals arg1="${ws}" arg2="gtk" />
- <equals arg1="${arch}" arg2="ppc" />
+ <equals
+ arg1="${os}"
+ arg2="linux" />
+ <equals
+ arg1="${ws}"
+ arg2="gtk" />
+ <equals
+ arg1="${arch}"
+ arg2="ppc" />
</and>
</condition>
- <condition property="runtimeArchive" value="eclipse-SDK-${buildId}-macosx-cocoa-ppc.tar.gz">
+ <condition
+ property="runtimeArchive"
+ value="eclipse-SDK-${buildId}-macosx-cocoa-ppc.tar.gz">
<and>
- <equals arg1="${os}" arg2="macosx" />
- <equals arg1="${ws}" arg2="cocoa" />
- <equals arg1="${arch}" arg2="ppc" />
+ <equals
+ arg1="${os}"
+ arg2="macosx" />
+ <equals
+ arg1="${ws}"
+ arg2="cocoa" />
+ <equals
+ arg1="${arch}"
+ arg2="ppc" />
</and>
</condition>
- <condition property="runtimeArchive" value="eclipse-SDK-${buildId}-macosx-cocoa.tar.gz">
+ <condition
+ property="runtimeArchive"
+ value="eclipse-SDK-${buildId}-macosx-cocoa.tar.gz">
<and>
- <equals arg1="${os}" arg2="macosx" />
- <equals arg1="${ws}" arg2="cocoa" />
- <equals arg1="${arch}" arg2="x86" />
+ <equals
+ arg1="${os}"
+ arg2="macosx" />
+ <equals
+ arg1="${ws}"
+ arg2="cocoa" />
+ <equals
+ arg1="${arch}"
+ arg2="x86" />
</and>
</condition>
- <condition property="runtimeArchive" value="eclipse-SDK-${buildId}-macosx-cocoa-x86_64.tar.gz">
+ <condition
+ property="runtimeArchive"
+ value="eclipse-SDK-${buildId}-macosx-cocoa-x86_64.tar.gz">
<and>
- <equals arg1="${os}" arg2="macosx" />
- <equals arg1="${ws}" arg2="cocoa" />
- <equals arg1="${arch}" arg2="x86_64" />
+ <equals
+ arg1="${os}"
+ arg2="macosx" />
+ <equals
+ arg1="${ws}"
+ arg2="cocoa" />
+ <equals
+ arg1="${arch}"
+ arg2="x86_64" />
</and>
</condition>
- <condition property="runtimeArchive" value="eclipse-SDK-${buildId}-hpux-gtk-ia64.zip">
+ <condition
+ property="runtimeArchive"
+ value="eclipse-SDK-${buildId}-hpux-gtk-ia64.zip">
<and>
- <equals arg1="${os}" arg2="hpux" />
- <equals arg1="${ws}" arg2="gtk" />
- <equals arg1="${arch}" arg2="ia64" />
+ <equals
+ arg1="${os}"
+ arg2="hpux" />
+ <equals
+ arg1="${ws}"
+ arg2="gtk" />
+ <equals
+ arg1="${arch}"
+ arg2="ia64" />
</and>
</condition>
- <condition property="runtimeArchive" value="eclipse-SDK-${buildId}-solaris-gtk.zip">
+ <condition
+ property="runtimeArchive"
+ value="eclipse-SDK-${buildId}-solaris-gtk.zip">
<and>
- <equals arg1="${os}" arg2="solaris" />
- <equals arg1="${ws}" arg2="gtk" />
- <equals arg1="${arch}" arg2="sparc" />
+ <equals
+ arg1="${os}"
+ arg2="solaris" />
+ <equals
+ arg1="${ws}"
+ arg2="gtk" />
+ <equals
+ arg1="${arch}"
+ arg2="sparc" />
</and>
</condition>
- <condition property="runtimeArchive" value="eclipse-SDK-${buildId}-solaris-gtk-x86.zip">
+ <condition
+ property="runtimeArchive"
+ value="eclipse-SDK-${buildId}-solaris-gtk-x86.zip">
<and>
- <equals arg1="${os}" arg2="solaris" />
- <equals arg1="${ws}" arg2="gtk" />
- <equals arg1="${arch}" arg2="x86" />
+ <equals
+ arg1="${os}"
+ arg2="solaris" />
+ <equals
+ arg1="${ws}"
+ arg2="gtk" />
+ <equals
+ arg1="${arch}"
+ arg2="x86" />
</and>
</condition>
- <condition property="runtimeArchive" value="eclipse-SDK-${buildId}-aix-gtk-ppc.zip">
+ <condition
+ property="runtimeArchive"
+ value="eclipse-SDK-${buildId}-aix-gtk-ppc.zip">
<and>
- <equals arg1="${os}" arg2="aix" />
- <equals arg1="${ws}" arg2="gtk" />
- <equals arg1="${arch}" arg2="ppc" />
+ <equals
+ arg1="${os}"
+ arg2="aix" />
+ <equals
+ arg1="${ws}"
+ arg2="gtk" />
+ <equals
+ arg1="${arch}"
+ arg2="ppc" />
</and>
</condition>
- <condition property="runtimeArchive" value="eclipse-SDK-${buildId}-aix-gtk-ppc64.zip">
+ <condition
+ property="runtimeArchive"
+ value="eclipse-SDK-${buildId}-aix-gtk-ppc64.zip">
<and>
- <equals arg1="${os}" arg2="aix" />
- <equals arg1="${ws}" arg2="gtk" />
- <equals arg1="${arch}" arg2="ppc64" />
+ <equals
+ arg1="${os}"
+ arg2="aix" />
+ <equals
+ arg1="${ws}"
+ arg2="gtk" />
+ <equals
+ arg1="${arch}"
+ arg2="ppc64" />
</and>
</condition>
<echo message="runtimeArchive ${runtimeArchive} !!! " />
</target>
- <target name="setJVMProperties" depends="setJVMfromUserSpecified" unless="jvm">
- <property name="VMSource" value="VM used for tests, is same that invoked Ant: '${java.home}/bin/java' (that is, 'jvm' not specified by caller)." />
+ <target
+ name="setJVMProperties"
+ depends="setJVMfromUserSpecified"
+ unless="jvm">
+ <property
+ name="VMSource"
+ value="VM used for tests, is same that invoked Ant: '${java.home}/bin/java' (that is, 'jvm' not specified by caller)." />
<echo message="VMSource: $VMSource" />
<!--
Remember, we don't want J2SE-X.0 set at all, if there is nothing
that can run tests that require that level.
-->
- <exec executable="${java.home}/bin/java" outputproperty="javaversion">
+ <exec
+ executable="${java.home}/bin/java"
+ outputproperty="javaversion">
<arg line="-version" />
</exec>
<echo message="full output from 'java -version' of ${java.home}/bin/java is " />
<echo message="${javaversion}" />
<!--enable tests requiring 1.5 or or greater vms to run if running vm level detected matches required execution environment-->
- <condition property="J2SE-5.0" value="${java.home}/bin/java">
- <matches string="${java.version}" pattern="^1\.[5678].*$" />
- </condition>
- <condition property="J2SE-6.0" value="${java.home}/bin/java">
- <matches string="${java.version}" pattern="^1\.[678].*$" />
+ <condition
+ property="J2SE-5.0"
+ value="${java.home}/bin/java">
+ <matches
+ string="${java.version}"
+ pattern="^1\.[5678].*$" />
</condition>
- <condition property="J2SE-7.0" value="${java.home}/bin/java">
- <matches string="${java.version}" pattern="^1\.[78].*$" />
+ <condition
+ property="J2SE-6.0"
+ value="${java.home}/bin/java">
+ <matches
+ string="${java.version}"
+ pattern="^1\.[678].*$" />
</condition>
- <condition property="J2SE-8.0" value="${java.home}/bin/java">
- <matches string="${java.version}" pattern="^1\.[8].*$" />
+ <condition
+ property="J2SE-7.0"
+ value="${java.home}/bin/java">
+ <matches
+ string="${java.version}"
+ pattern="^1\.[78].*$" />
</condition>
- <echo level="info" message="DEBUG: values from setJVMProperties" />
- <echo level="info" message="J2SE-8.0: ${J2SE-8.0}" />
- <echo level="info" message="J2SE-7.0: ${J2SE-7.0}" />
- <echo level="info" message="J2SE-6.0: ${J2SE-6.0}" />
- <echo level="info" message="J2SE-5.0: ${J2SE-5.0}" />
- </target>
-
- <target name="setJVMfromUserSpecified" if="jvm">
-
- <property name="VMSource" value="VM used for tests, specified by caller: 'jvm'=${jvm}" />
+ <condition
+ property="J2SE-8.0"
+ value="${java.home}/bin/java">
+ <matches
+ string="${java.version}"
+ pattern="^1\.[8].*$" />
+ </condition>
+ <echo
+ level="info"
+ message="DEBUG: values from setJVMProperties" />
+ <echo
+ level="info"
+ message="J2SE-8.0: ${J2SE-8.0}" />
+ <echo
+ level="info"
+ message="J2SE-7.0: ${J2SE-7.0}" />
+ <echo
+ level="info"
+ message="J2SE-6.0: ${J2SE-6.0}" />
+ <echo
+ level="info"
+ message="J2SE-5.0: ${J2SE-5.0}" />
+ </target>
+
+ <target
+ name="setJVMfromUserSpecified"
+ if="jvm">
+
+ <property
+ name="VMSource"
+ value="VM used for tests, specified by caller: 'jvm'=${jvm}" />
<echo message="VMSource: $VMSource" />
<!--
Remember, we don't want J2SE-X.0 set at all, if there is nothing
that can run tests that require that level.
-->
- <exec executable="${jvm}" outputproperty="javaversion">
+ <exec
+ executable="${jvm}"
+ outputproperty="javaversion">
<arg line="-version" />
</exec>
<echo message="full output from 'java -version' of ${jvm} is " />
<echo message="${javaversion}" />
- <condition property="J2SE-8.0" value="${jvm}">
- <matches string="${javaversion}" pattern='^java version "1\.[8].*"' />
- </condition>
- <condition property="J2SE-7.0" value="${jvm}">
- <matches string="${javaversion}" pattern='^java version "1\.[78].*"' />
+ <condition
+ property="J2SE-8.0"
+ value="${jvm}">
+ <matches
+ string="${javaversion}"
+ pattern='^java version "1\.[8].*"' />
</condition>
- <condition property="J2SE-6.0" value="${jvm}">
- <matches string="${javaversion}" pattern='^java version "1\.[678].*"' />
+ <condition
+ property="J2SE-7.0"
+ value="${jvm}">
+ <matches
+ string="${javaversion}"
+ pattern='^java version "1\.[78].*"' />
</condition>
- <condition property="J2SE-5.0" value="${jvm}">
- <matches string="${javaversion}" pattern='^java version "1\.[5678].*"' />
+ <condition
+ property="J2SE-6.0"
+ value="${jvm}">
+ <matches
+ string="${javaversion}"
+ pattern='^java version "1\.[678].*"' />
</condition>
- <echo level="info" message="DEBUG: values from setJVMfromUserSpecified" />
+ <condition
+ property="J2SE-5.0"
+ value="${jvm}">
+ <matches
+ string="${javaversion}"
+ pattern='^java version "1\.[5678].*"' />
+ </condition>
+ <echo
+ level="info"
+ message="DEBUG: values from setJVMfromUserSpecified" />
<echo message="J2SE-8.0: ${J2SE-8.0}" />
<echo message="J2SE-7.0: ${J2SE-7.0}" />
<echo message="J2SE-6.0: ${J2SE-6.0}" />
<echo message="J2SE-5.0: ${J2SE-5.0}" />
</target>
- <target name="configureTeamTest" if="teamcvs">
- <!-- Fill in cvs repository information -->
- <replace file="${eclipse-home}/plugins/${org.eclipse.team.tests.cvs.core}/repository.properties" token="@user@" value="${cvs_user}" />
- <replace file="${eclipse-home}/plugins/${org.eclipse.team.tests.cvs.core}/repository.properties" token="@password@" value="${cvs_password}" />
- <replace file="${eclipse-home}/plugins/${org.eclipse.team.tests.cvs.core}/repository.properties" token="@host@" value="${cvs_host}" />
- <replace file="${eclipse-home}/plugins/${org.eclipse.team.tests.cvs.core}/repository.properties" token="@root@" value="${cvs_root}" />
+ <target
+ name="checkCVSPropExists"
+ if="teamcvs">
+ <condition property="cvsPropertiesAvailable">
+ <available file="${cvstest.properties}" />
+ </condition>
</target>
-
- <target name="configureDeltaPack" if="pdebuild">
- <property name="deltapackArchive" value="eclipse-${buildId}-delta-pack.zip" />
- <property name="installDeltapack" value="${install}/deltapack" />
+ <target
+ name="getcvstestProperties"
+ if="cvsPropertiesAvailable"
+ depends="checkCVSPropExists">
+ <!--
+ TODO: cvstest.properties (file location) is currently
+ hard coded in 'runTest2.xml' adn passed along this 'test.xml'
+ via production.properties. Would be better to have the file location
+ be part of the platform specific properties files, as we do with "jvm"
+ -->
+ <echo message="cvstest.properties file: ${cvstest.properties}" />
+ <property file="${cvstest.properties}"/>
+
+ </target>
+ <target
+ name="configureTeamTest"
+ depends="getcvstestProperties"
+ if="teamcvs">
+ <!-- Fill in cvs repository information -->
+ <replace
+ file="${eclipse-home}/plugins/${org.eclipse.team.tests.cvs.core}/repository.properties"
+ token="@user@"
+ value="${cvs_user}" />
+ <replace
+ file="${eclipse-home}/plugins/${org.eclipse.team.tests.cvs.core}/repository.properties"
+ token="@password@"
+ value="${cvs_password}" />
+ <replace
+ file="${eclipse-home}/plugins/${org.eclipse.team.tests.cvs.core}/repository.properties"
+ token="@host@"
+ value="${cvs_host}" />
+ <replace
+ file="${eclipse-home}/plugins/${org.eclipse.team.tests.cvs.core}/repository.properties"
+ token="@root@"
+ value="${cvs_root}" />
+ </target>
+
+ <target
+ name="configureDeltaPack"
+ if="pdebuild">
+ <property
+ name="deltapackArchive"
+ value="eclipse-${buildId}-delta-pack.zip" />
+ <property
+ name="installDeltapack"
+ value="${install}/deltapack" />
<mkdir dir="${installDeltapack}" />
- <exec dir="." executable="unzip">
+ <exec
+ dir="."
+ executable="unzip">
<arg line="-o -qq ${deltapackArchive} -d ${installDeltapack}" />
</exec>
</target>
@@ -724,7 +1177,9 @@
<attribute name="testPlugin" />
<sequential>
<antcall target="markCurrentTime">
- <param name="message" value="start @{testPlugin}" />
+ <param
+ name="message"
+ value="start @{testPlugin}" />
</antcall>
<!--alwasy use eclipse executable to launch tests with the exception of performance tests-->
<!--condition property="useEclipseExe" value="true">
@@ -733,76 +1188,134 @@
</not>
</condition-->
- <condition property="performance.target.present" value="true">
+ <condition
+ property="performance.target.present"
+ value="true">
<isset property="@{testPlugin}.has.performance.target" />
</condition>
<!--override the value of this property with performance if the tests run on performance machine-->
- <property name="test.target" value="junit" />
- <property name="report" value="@{testPlugin}" />
+ <property
+ name="test.target"
+ value="junit" />
+ <property
+ name="report"
+ value="@{testPlugin}" />
+
+ <echo message="test.target in 'runTests': ${test.target}" />
<!--install db plug-ins if running performance tests-->
- <condition property="derby" value="eclipse/dropins/eclipse/plugins/org.apache.derby*/**">
- <equals arg1="${test.target}" arg2="performance" />
+ <condition
+ property="derby"
+ value="eclipse/dropins/eclipse/plugins/org.apache.derby*/**">
+ <equals
+ arg1="${test.target}"
+ arg2="performance" />
</condition>
<!-- <property name="derby" value="" /> -->
<!-- <param name="testPlugin" value="${@{testPlugin}}" /> -->
<antcall target="${test.target}">
- <param name="testPlugin" value="@{testPlugin}" />
- <param name="output-file" value="@{testPlugin}.xml" />
+ <param
+ name="testPlugin"
+ value="@{testPlugin}" />
+ <param
+ name="output-file"
+ value="@{testPlugin}.xml" />
</antcall>
<antcall target="markCurrentTime">
- <param name="message" value="end @{testPlugin}" />
+ <param
+ name="message"
+ value="end @{testPlugin}" />
</antcall>
</sequential>
</macrodef>
- <target name="junit" depends="init" unless="skip.test">
+ <target
+ name="junit"
+ depends="init"
+ unless="skip.test">
<antcall target="setup">
</antcall>
<property file="finalPluginsVersions.properties" />
- <property name="library-file" value="${executionDir}/library.xml" />
- <property name="junit-stylesheet" value="${executionDir}/JUNIT.XSL" />
+ <property
+ name="library-file"
+ value="${executionDir}/library.xml" />
+ <property
+ name="junit-stylesheet"
+ value="${executionDir}/JUNIT.XSL" />
<echo>trying to find ${testPlugin}_*</echo>
- <fileset id="test.plugin.file" dir="${eclipse-home}/plugins">
+ <fileset
+ id="test.plugin.file"
+ dir="${eclipse-home}/plugins">
<filename name="${testPlugin}_*/test.xml" />
</fileset>
- <property name="testPluginX" refid="test.plugin.file" />
+ <property
+ name="testPluginX"
+ refid="test.plugin.file" />
<echo>trying to find ${testPluginX}</echo>
- <condition property="pluginexists" value="true">
+ <condition
+ property="pluginexists"
+ value="true">
<not>
- <equals arg1="${testPluginX}" arg2="" />
+ <equals
+ arg1="${testPluginX}"
+ arg2="" />
</not>
</condition>
<antcall target="runSuite" />
<antcall target="genResults" />
</target>
- <target name="runSuite" if="pluginexists">
- <ant antfile="${eclipse-home}/plugins/${testPluginX}" dir="${eclipse-home}" />
+ <target
+ name="runSuite"
+ if="pluginexists">
+ <ant
+ antfile="${eclipse-home}/plugins/${testPluginX}"
+ dir="${eclipse-home}" />
</target>
- <target name="runSuitePerf" if="pluginexists">
+ <target
+ name="runSuitePerf"
+ if="pluginexists">
<echo message="testPluginX ${testPluginX}" />
- <property name="junit-stylesheet" value="{executionDir}/JUNIT.XSL" />
- <ant antfile="${eclipse-home}/plugins/${testPluginX}" dir="${eclipse-home}" target="performance" />
- </target>
-
- <target name="performance" if="performance.target.present" unless="skip.test" depends="init">
+ <property
+ name="junit-stylesheet"
+ value="{executionDir}/JUNIT.XSL" />
+ <ant
+ antfile="${eclipse-home}/plugins/${testPluginX}"
+ dir="${eclipse-home}"
+ target="performance" />
+ </target>
+
+ <target
+ name="performance"
+ if="performance.target.present"
+ unless="skip.test"
+ depends="init">
<antcall target="setup" />
<property file="finalPluginsVersions.properties" />
- <property name="library-file" value="${executionDir}/library.xml" />
+ <property
+ name="library-file"
+ value="${executionDir}/library.xml" />
<echo>trying to find ${testPlugin}_*</echo>
- <fileset id="test.plugin.file" dir="${eclipse-home}/plugins">
+ <fileset
+ id="test.plugin.file"
+ dir="${eclipse-home}/plugins">
<filename name="${testPlugin}_*/test.xml" />
</fileset>
- <property name="testPluginX" refid="test.plugin.file" />
+ <property
+ name="testPluginX"
+ refid="test.plugin.file" />
<echo>trying to find ${testPluginX}</echo>
- <condition property="pluginexists" value="true">
+ <condition
+ property="pluginexists"
+ value="true">
<not>
- <equals arg1="${testPluginX}" arg2="" />
+ <equals
+ arg1="${testPluginX}"
+ arg2="" />
</not>
</condition>
<antcall target="runSuitePerf" />
@@ -810,75 +1323,118 @@
</target>
<target name="genResults">
- <copy file="${eclipse-home}/${report}.xml" tofile="${results}/xml/${report}_${testedPlatform}.xml" failonerror="false" />
- <property name="junit-stylesheet" value="${executionDir}/JUNIT.XSL" />
+ <copy
+ file="${eclipse-home}/${report}.xml"
+ tofile="${results}/xml/${report}_${testedPlatform}.xml"
+ failonerror="false" />
+ <property
+ name="junit-stylesheet"
+ value="${executionDir}/JUNIT.XSL" />
<!-- some "failures" are "bad enough" that the tests were not unpacked, so style sheet won't exist -->
- <available file="${junit-stylesheet}" property="stylesheetexists" />
+ <available
+ file="${junit-stylesheet}"
+ property="stylesheetexists" />
<antcall target="convertToHTML" />
</target>
- <target name="convertToHTML" if="stylesheetexists" depends="checkStylesheetexists">
- <xslt style="${junit-stylesheet}" basedir="${results}/xml" destdir="${results}/html" />
+ <target
+ name="convertToHTML"
+ if="stylesheetexists"
+ depends="checkStylesheetexists">
+ <xslt
+ style="${junit-stylesheet}"
+ basedir="${results}/xml"
+ destdir="${results}/html" />
</target>
- <target name="checkStylesheetexists" unless="stylesheetexists">
+ <target
+ name="checkStylesheetexists"
+ unless="stylesheetexists">
<echo message="ERROR: previous suite test install failed, so style sheet did not exist" />
</target>
- <target name="ant" depends="init">
+ <target
+ name="ant"
+ depends="init">
<runTests testPlugin="org.eclipse.ant.tests.core" />
</target>
- <target name="antui" depends="init">
+ <target
+ name="antui"
+ depends="init">
<runTests testPlugin="org.eclipse.ant.tests.ui" />
</target>
- <target name="compare" depends="init">
+ <target
+ name="compare"
+ depends="init">
<runTests testPlugin="org.eclipse.compare.tests" />
</target>
- <target name="equinoxds" depends="init">
+ <target
+ name="equinoxds"
+ depends="init">
<runTests testPlugin="org.eclipse.equinox.ds.tests" />
</target>
- <target name="debug" depends="init">
+ <target
+ name="debug"
+ depends="init">
<runTests testPlugin="org.eclipse.debug.tests" />
</target>
- <target name="coreresources" depends="init">
+ <target
+ name="coreresources"
+ depends="init">
<runTests testPlugin="org.eclipse.core.tests.resources" />
</target>
- <target name="coreruntime" depends="init">
+ <target
+ name="coreruntime"
+ depends="init">
<runTests testPlugin="org.eclipse.core.tests.runtime" />
</target>
- <target name="osgi" depends="init">
+ <target
+ name="osgi"
+ depends="init">
<runTests testPlugin="org.eclipse.osgi.tests" />
</target>
- <target name="coreexpressions" depends="init">
+ <target
+ name="coreexpressions"
+ depends="init">
<runTests testPlugin="org.eclipse.core.expressions.tests" />
</target>
- <target name="ltkuirefactoringtests" depends="init">
+ <target
+ name="ltkuirefactoringtests"
+ depends="init">
<runTests testPlugin="org.eclipse.ltk.ui.refactoring.tests" />
</target>
- <target name="ltkcorerefactoringtests" depends="init">
+ <target
+ name="ltkcorerefactoringtests"
+ depends="init">
<runTests testPlugin="org.eclipse.ltk.core.refactoring.tests" />
</target>
- <target name="text" depends="init">
+ <target
+ name="text"
+ depends="init">
<runTests testPlugin="org.eclipse.text.tests" />
</target>
- <target name="jface" depends="init">
+ <target
+ name="jface"
+ depends="init">
<runTests testPlugin="org.eclipse.jface.text.tests" />
</target>
- <target name="jfacedatabinding" depends="init">
+ <target
+ name="jfacedatabinding"
+ depends="init">
<runTests testPlugin="org.eclipse.jface.tests.databinding" />
</target>
@@ -886,39 +1442,63 @@
<runTests testPlugin="org.eclipse.core.filebuffers.tests" />
</target>
- <target name="jdttext" unless="skip.jdttext">
+ <target
+ name="jdttext"
+ unless="skip.jdttext">
<runTests testPlugin="org.eclipse.jdt.text.tests" />
</target>
- <target name="relEng" depends="init">
+ <target
+ name="relEng"
+ depends="init">
<runTests testPlugin="org.eclipse.releng.tests" />
- <move todir="${results}/chkpii" includeEmptyDirs="no" failonerror="false">
+ <move
+ todir="${results}/chkpii"
+ includeEmptyDirs="no"
+ failonerror="false">
<fileset dir="${results}/chkpii" />
- <mapper type="glob" from="*" to="${testedPlatform}_*" />
+ <mapper
+ type="glob"
+ from="*"
+ to="${testedPlatform}_*" />
</move>
</target>
- <target name="ua" depends="init">
+ <target
+ name="ua"
+ depends="init">
<runTests testPlugin="org.eclipse.ua.tests" />
</target>
- <target name="uadoc" depends="init">
+ <target
+ name="uadoc"
+ depends="init">
<runTests testPlugin="org.eclipse.ua.tests.doc" />
</target>
- <target name="coretestsnet" depends="init">
+ <target
+ name="coretestsnet"
+ depends="init">
<runTests testPlugin="org.eclipse.core.tests.net" />
</target>
- <target name="jdtcorecompiler" depends="init, setJVMProperties">
- <condition property="jvm" value="${J2SE-5.0}">
+ <target
+ name="jdtcorecompiler"
+ depends="init, setJVMProperties">
+ <condition
+ property="jvm"
+ value="${J2SE-5.0}">
<isset property="J2SE-5.0" />
</condition>
<runTests testPlugin="org.eclipse.jdt.core.tests.compiler" />
</target>
- <target name="jdtapt" depends="init,setJVMProperties">
- <property name="jvm" value="${J2SE-5.0}" />
+ <target
+ name="jdtapt"
+ depends="init,setJVMProperties">
+ <property
+ name="jvm"
+ value="${J2SE-5.0}" />
<!--only run test if J2SE-5.0 property set-->
<condition property="skip.test">
<not>
@@ -928,8 +1508,12 @@
<runTests testPlugin="org.eclipse.jdt.apt.tests" />
</target>
- <target name="jdtaptpluggable" depends="init, setJVMProperties">
- <property name="jvm" value="${J2SE-6.0}" />
+ <target
+ name="jdtaptpluggable"
+ depends="init, setJVMProperties">
+ <property
+ name="jvm"
+ value="${J2SE-6.0}" />
<!--only run test if J2SE-5.0 property set-->
<condition property="skip.test">
<not>
@@ -944,16 +1528,24 @@
</target>
- <target name="jdtcorebuilder" depends="init, setJVMProperties">
+ <target
+ name="jdtcorebuilder"
+ depends="init, setJVMProperties">
<!--Run with 1.5 vm if it is available-->
- <condition property="jvm" value="${J2SE-5.0}">
+ <condition
+ property="jvm"
+ value="${J2SE-5.0}">
<isset property="J2SE-5.0" />
</condition>
<runTests testPlugin="org.eclipse.jdt.core.tests.builder" />
</target>
- <target name="jdtcompilertool" depends="init, setJVMProperties">
- <property name="jvm" value="${J2SE-6.0}" />
+ <target
+ name="jdtcompilertool"
+ depends="init, setJVMProperties">
+ <property
+ name="jvm"
+ value="${J2SE-6.0}" />
<!--only run test if J2SE-6.0 property or greater is set-->
<condition property="skip.test">
<not>
@@ -967,8 +1559,12 @@
<runTests testPlugin="org.eclipse.jdt.compiler.tool.tests" />
</target>
- <target name="jdtcompilerapt" depends="init, setJVMProperties">
- <property name="jvm" value="${J2SE-6.0}" />
+ <target
+ name="jdtcompilerapt"
+ depends="init, setJVMProperties">
+ <property
+ name="jvm"
+ value="${J2SE-6.0}" />
<!--only run test if J2SE-6.0 property or greater is set-->
<condition property="skip.test">
<not>
@@ -982,89 +1578,137 @@
<runTests testPlugin="org.eclipse.jdt.compiler.apt.tests" />
</target>
- <target name="jdtcoremodel" depends="init, setJVMProperties">
- <condition property="jvm" value="${J2SE-5.0}">
+ <target
+ name="jdtcoremodel"
+ depends="init, setJVMProperties">
+ <condition
+ property="jvm"
+ value="${J2SE-5.0}">
<isset property="J2SE-5.0" />
</condition>
<runTests testPlugin="org.eclipse.jdt.core.tests.model" />
</target>
- <target name="jdtcoreperf" depends="init">
+ <target
+ name="jdtcoreperf"
+ depends="init">
<runTests testPlugin="org.eclipse.jdt.core.tests.performance" />
</target>
- <target name="jdtdebug" depends="init">
+ <target
+ name="jdtdebug"
+ depends="init">
<runTests testPlugin="org.eclipse.jdt.debug.tests" />
</target>
- <target name="jdtui" depends="init">
+ <target
+ name="jdtui"
+ depends="init">
<runTests testPlugin="org.eclipse.jdt.ui.tests" />
</target>
- <target name="jdtuirefactoring" depends="init">
+ <target
+ name="jdtuirefactoring"
+ depends="init">
<runTests testPlugin="org.eclipse.jdt.ui.tests.refactoring" />
</target>
- <target name="pdeui" depends="init">
+ <target
+ name="pdeui"
+ depends="init">
<runTests testPlugin="org.eclipse.pde.ui.tests" />
</target>
- <target name="pdebuild" depends="init">
- <property name="pdebuild" value="true" />
+ <target
+ name="pdebuild"
+ depends="init">
+ <property
+ name="pdebuild"
+ value="true" />
<runTests testPlugin="org.eclipse.pde.build.tests" />
</target>
- <target name="swt" depends="init">
+ <target
+ name="swt"
+ depends="init">
<runTests testPlugin="org.eclipse.swt.tests" />
</target>
- <target name="teamcore" depends="init">
+ <target
+ name="teamcore"
+ depends="init">
<runTests testPlugin="org.eclipse.team.tests.core" />
</target>
- <target name="teamcvs" depends="init">
- <property name="teamcvs" value="true" />
+ <target
+ name="teamcvs"
+ depends="init">
+ <property
+ name="teamcvs"
+ value="true" />
<runTests testPlugin="org.eclipse.team.tests.cvs.core" />
</target>
- <target name="ui" depends="init">
+ <target
+ name="ui"
+ depends="init">
<runTests testPlugin="org.eclipse.ui.tests" />
</target>
- <target name="uinavigator" depends="init">
+ <target
+ name="uinavigator"
+ depends="init">
<runTests testPlugin="org.eclipse.ui.tests.navigator" />
</target>
- <target name="uircp" depends="init">
+ <target
+ name="uircp"
+ depends="init">
<runTests testPlugin="org.eclipse.ui.tests.rcp" />
</target>
- <target name="uiforms" depends="init">
+ <target
+ name="uiforms"
+ depends="init">
<runTests testPlugin="org.eclipse.ui.tests.forms" />
</target>
- <target name="uieditors" depends="init">
+ <target
+ name="uieditors"
+ depends="init">
<runTests testPlugin="org.eclipse.ui.editors.tests" />
</target>
- <target name="uiperformance" depends="init">
+ <target
+ name="uiperformance"
+ depends="init">
<runTests testPlugin="org.eclipse.ui.tests.performance" />
</target>
- <target name="uiviews" depends="init">
+ <target
+ name="uiviews"
+ depends="init">
<runTests testPlugin="org.eclipse.ui.tests.views.properties.tabbed" />
</target>
- <target name="uiworkbenchtexteditor" depends="init">
+ <target
+ name="uiworkbenchtexteditor"
+ depends="init">
<runTests testPlugin="org.eclipse.ui.workbench.texteditor.tests" />
</target>
- <target name="update" depends="init">
+ <target
+ name="update"
+ depends="init">
<runTests testPlugin="org.eclipse.update.tests.core" />
</target>
- <target name="pdeapitooling" depends="init,setJVMProperties">
- <property name="jvm" value="${J2SE-5.0}" />
+ <target
+ name="pdeapitooling"
+ depends="init,setJVMProperties">
+ <property
+ name="jvm"
+ value="${J2SE-5.0}" />
<!--only run test if J2SE-5.0 property set-->
<condition property="skip.test">
<not>
@@ -1074,61 +1718,90 @@
<runTests testPlugin="org.eclipse.pde.api.tools.tests" />
</target>
- <target name="equinoxsecurity" depends="init">
+ <target
+ name="equinoxsecurity"
+ depends="init">
<runTests testPlugin="org.eclipse.equinox.security.tests" />
</target>
- <target name="equinoxp2" depends="init">
- <echo message="DEBUG: org.eclipse.equinox.p2.reconciler.tests.platform.archive: ${org.eclipse.equinox.p2.reconciler.tests.platform.archive} " />
+ <target
+ name="equinoxp2"
+ depends="init">
+ <echo
+ message="DEBUG: org.eclipse.equinox.p2.reconciler.tests.platform.archive: ${org.eclipse.equinox.p2.reconciler.tests.platform.archive} " />
<runTests testPlugin="org.eclipse.equinox.p2.tests" />
</target>
- <target name="equinoxp2ui" depends="init">
+ <target
+ name="equinoxp2ui"
+ depends="init">
<runTests testPlugin="org.eclipse.equinox.p2.tests.ui" />
</target>
- <target name="equinoxp2discovery" depends="init">
+ <target
+ name="equinoxp2discovery"
+ depends="init">
<runTests testPlugin="org.eclipse.equinox.p2.tests.discovery" />
</target>
- <target name="search" depends="init">
+ <target
+ name="search"
+ depends="init">
<runTests testPlugin="org.eclipse.search.tests" />
</target>
- <target name="pdeds" depends="init">
+ <target
+ name="pdeds"
+ depends="init">
<runTests testPlugin="org.eclipse.pde.ds.tests" />
</target>
- <target name="bidi" depends="init">
+ <target
+ name="bidi"
+ depends="init">
<runTests testPlugin="org.eclipse.equinox.bidi.tests" />
</target>
- <target name="e4Core" depends="init">
+ <target
+ name="e4Core"
+ depends="init">
<runTests testPlugin="org.eclipse.e4.core.tests" />
</target>
- <target name="e4Commands" depends="init">
+ <target
+ name="e4Commands"
+ depends="init">
<runTests testPlugin="org.eclipse.e4.core.commands.tests" />
</target>
- <target name="e4Bindings" depends="init">
+ <target
+ name="e4Bindings"
+ depends="init">
<runTests testPlugin="org.eclipse.e4.ui.bindings.tests" />
</target>
- <target name="e4CssCore" depends="init">
+ <target
+ name="e4CssCore"
+ depends="init">
<runTests testPlugin="org.eclipse.e4.ui.tests.css.core" />
</target>
- <target name="e4CssSwt" depends="init">
+ <target
+ name="e4CssSwt"
+ depends="init">
<runTests testPlugin="org.eclipse.e4.ui.tests.css.swt" />
</target>
- <target name="e4UI" depends="init">
+ <target
+ name="e4UI"
+ depends="init">
<runTests testPlugin="org.eclipse.e4.ui.tests" />
</target>
- <target name="all" depends="init">
+ <target
+ name="all"
+ depends="init">
<!--
<antcall target="relEng" />
<antcall target="equinoxp2" />
@@ -1138,74 +1811,110 @@
</target>
- <target name="quickTests" depends="init">
+ <target
+ name="quickTests"
+ depends="init">
<antcall target="markCurrentTime">
- <param name="message" value="start quickTests" />
+ <param
+ name="message"
+ value="start quickTests" />
</antcall>
<antcall target="markCurrentTime">
- <param name="message" value="start platform" />
+ <param
+ name="message"
+ value="start platform" />
</antcall>
<antcall target="platform" />
<antcall target="markCurrentTime">
- <param name="message" value="end platform" />
+ <param
+ name="message"
+ value="end platform" />
</antcall>
<antcall target="markCurrentTime">
- <param name="message" value="start pde" />
+ <param
+ name="message"
+ value="start pde" />
</antcall>
<antcall target="pde" />
<antcall target="markCurrentTime">
- <param name="message" value="end pde" />
+ <param
+ name="message"
+ value="end pde" />
</antcall>
<antcall target="markCurrentTime">
- <param name="message" value="start jdt" />
+ <param
+ name="message"
+ value="start jdt" />
</antcall>
<antcall target="jdt" />
<antcall target="markCurrentTime">
- <param name="message" value="end jdt" />
+ <param
+ name="message"
+ value="end jdt" />
</antcall>
<antcall target="markCurrentTime">
- <param name="message" value="end quickTests" />
+ <param
+ name="message"
+ value="end quickTests" />
</antcall>
</target>
- <target name="longRunningTests" depends="init">
+ <target
+ name="longRunningTests"
+ depends="init">
<antcall target="markCurrentTime">
- <param name="message" value="start longRunningTests" />
+ <param
+ name="message"
+ value="start longRunningTests" />
</antcall>
<antcall target="markCurrentTime">
- <param name="message" value="start platformLR" />
+ <param
+ name="message"
+ value="start platformLR" />
</antcall>
<antcall target="platformLR" />
<antcall target="markCurrentTime">
- <param name="message" value="end platformLR" />
+ <param
+ name="message"
+ value="end platformLR" />
</antcall>
<antcall target="markCurrentTime">
- <param name="message" value="start pdeLR" />
+ <param
+ name="message"
+ value="start pdeLR" />
</antcall>
<antcall target="pdeLR" />
<antcall target="markCurrentTime">
- <param name="message" value="end pdeLR" />
+ <param
+ name="message"
+ value="end pdeLR" />
</antcall>
<antcall target="markCurrentTime">
- <param name="message" value="start jdtLR" />
+ <param
+ name="message"
+ value="start jdtLR" />
</antcall>
<antcall target="jdtLR" />
<antcall target="markCurrentTime">
- <param name="message" value="end jdtLR" />
+ <param
+ name="message"
+ value="end jdtLR" />
</antcall>
<antcall target="markCurrentTime">
- <param name="message" value="end longRunningTests" />
+ <param
+ name="message"
+ value="end longRunningTests" />
</antcall>
</target>
@@ -1215,8 +1924,10 @@
now serves dual purpose of a "short set" of tests, that area
relatively quick, and realtively reliable on build.eclipse.org hardware
-->
- <target name="platform" depends="init">
- <!-- remove for now, bug 400385 -->
+ <target
+ name="platform"
+ depends="init">
+ <!-- was removed, temporarily, see bug 400385 -->
<antcall target="relEng" />
<antcall target="ant" />
@@ -1258,7 +1969,9 @@
<!-- this group is "platform tests" that are Long Running
(or, perhaps hang?, during performance tests.
-->
- <target name="platformLR" depends="init">
+ <target
+ name="platformLR"
+ depends="init">
<antcall target="osgi" />
<antcall target="coreresources" />
<antcall target="equinoxp2" />
@@ -1275,17 +1988,23 @@
-->
</target>
- <target name="pde" depends="init">
+ <target
+ name="pde"
+ depends="init">
<antcall target="pdeds" />
<antcall target="pdeui" />
</target>
- <target name="pdeLR" depends="init">
+ <target
+ name="pdeLR"
+ depends="init">
<antcall target="pdeapitooling" />
<antcall target="pdebuild" />
</target>
- <target name="jdt" depends="init">
+ <target
+ name="jdt"
+ depends="init">
<antcall target="jdtcompilertool" />
<antcall target="jdtcompilerapt" />
<antcall target="jdttext" />
@@ -1296,7 +2015,9 @@
<antcall target="jdtaptpluggable" />
</target>
- <target name="jdtLR" depends="init">
+ <target
+ name="jdtLR"
+ depends="init">
<antcall target="jdtui" />
<antcall target="jdtuirefactoring" />
<antcall target="jdtcoremodel" />
@@ -1305,10 +2026,14 @@
<!-- we could put other variables/os checks here, if needed -->
<target name="checkOS">
- <condition property="isMac" value="true">
+ <condition
+ property="isMac"
+ value="true">
<os family="mac" />
</condition>
- <condition property="isUnix" value="true">
+ <condition
+ property="isUnix"
+ value="true">
<os family="unix" />
</condition>
</target>
@@ -1319,93 +2044,31 @@
we write the message first, with no ${line.separator} so that the timestamp can
go on same line, and my side-effect writes an EOL
-->
- <echo message="@{msg} " append="true" file="${junit-report-output}/testTimes.log" />
+ <echo
+ message="@{msg} "
+ append="true"
+ file="${junit-report-output}/testTimes.log" />
<!-- This executable should run on all unix platforms (linux, mac) -->
- <exec executable="date" append="true" output="${junit-report-output}/testTimes.log" osfamily="unix">
+ <exec
+ executable="date"
+ append="true"
+ output="${junit-report-output}/testTimes.log"
+ osfamily="unix">
<arg value="+%s" />
</exec>
</sequential>
</macrodef>
- <target name="markCurrentTime" depends="checkOS" if="isUnix">
+ <target
+ name="markCurrentTime"
+ depends="checkOS"
+ if="isUnix">
<!-- caller in callant is expected to supply msg -->
- <property name="message" value="no message given by caller" />
+ <property
+ name="message"
+ value="no message given by caller" />
<markTime msg="${message}" />
</target>
- <!--
- Prints properties in "PHP form" to use on test results summary,
- to be sure accurate and meaningful.
- -->
- <target name="printMainProperties" depends="init,setJVMProperties,getJavaMajorVersion" unless="printedMainProperties">
-
- <property name="EOL" value="${line.separator}" />
-
- <property name="platformResults" value="${results}/${os}.${ws}.${arch}-${javaMajorVersion}" />
- <mkdir dir="${platformResults}" />
- <property name="phpPropertyFile" value="${platformResults}/testProperties.php" />
-
- <!-- on first write to php file, don't append -->
- <echo message="&lt;?php${EOL}" append="false" file="${phpPropertyFile}" />
-
- <printPHPProperty phpvar="ANT_VERSION" value="${ant.version}" />
- <printPHPProperty phpvar="ANT_JAVA_VERSION" value="${ant.java.version}" />
- <printPHPProperty phpvar="INVOKED_JAVA_VERSION" value="javaversion" />
- <!--
- Note: there might be times, the java.runtime.version at this point in time,
- may not be quite right ... such as if invoked with some other VM with the intent of
- using 'jvm' on "eclipse" command line ... which we currently do not do.
- -->
- <printPHPProperty phpvar="JAVA_VERSION" value="java.version" />
- <printPHPProperty phpvar="JAVA_MAJOR_VERSION" value="javaMajorVersion" />
- <printPHPProperty phpvar="JAVA_RUNTIME_VERSION" value="java.runtime.version" />
- <printPHPProperty phpvar="JAVA_VM_INFO" value="java.vm.info" />
- <printPHPProperty phpvar="JAVA_SPECIFICATION_VERSION" value="java.specification.version" />
- <printPHPProperty phpvar="JAVA_VENDOR" value="java.vendor" />
- <printPHPProperty phpvar="OS" value="os" />
- <printPHPProperty phpvar="WS" value="ws" />
- <printPHPProperty phpvar="ARCH" value="arch" />
- <!-- NODE_NAME will be empty string, if on master -->
- <condition property="hudsonSlave" value="master">
- <or>
- <not>
- <isset property="env.NODE_NAME" />
- </not>
- <equals arg1="${env.NODE_NAME}" arg2="" />
- <equals arg1="${env.NODE_NAME}" arg2=" " />
- </or>
- </condition>
- <!-- if not set above, we'll set to the non blank NODE_NAME -->
- <property name="hudsonSlave" value="${env.NODE_NAME}" />
-
- <printPHPProperty phpvar="HUDSON_NODE_NAME" value="hudsonSlave" />
- <!--
- I believe all (common) platforms have env variable for HOSTNAME.
- If not, user might want to set/export to be meaningful.
- (Surprisingly, it doesn't seem obvious that Hudson makes this available
- in its process environment).
- -->
- <printPHPProperty phpvar="HOSTNAME" value="env.HOSTNAME" />
- <printPHPProperty phpvar="HUDSON_JOB_NAME" value="env.JOB_NAME" />
- <printPHPProperty phpvar="HUDSON_BUILD_NUMBER" value="env.BUILD_NUMBER" />
- <printPHPProperty phpvar="HUDSON_BUILD_URL" value="env.BUILD_URL" />
- <!--
- With HUDSON_URL and WORKSPACE_PATH should be able
- to figure out URL to WORKSPACE, though only temporarily
- available (until next job is ran).
- -->
- <printPHPProperty phpvar="HUDSON_URL" value="env.HUDSON_URL" />
- <printPHPProperty phpvar="HUDSON_WORKSPACE" value="env.WORKSPACE" />
-
- <!--
- We end with an empty line, but it is recommended to not
- end included PHP files with "end PHP" marker.
- -->
- <echo message="${EOL}" append="true" file="${phpPropertyFile}" />
-
- <!-- set property so we only print these variables once -->
- <property name="printedMainProperties" value="true" />
-
- </target>
<!--
function to centralize how we get (that is, set) the value of
@@ -1455,17 +2118,6 @@
</sequential>
</macrodef>
- <macrodef name="printPHPProperty">
- <attribute name="phpvar" />
- <attribute name="value" />
- <sequential>
- <!-- DEBUG <echo message="@{value}" /> -->
- <condition property="printValue@{value}" value="${@{value}}" else="NotSet">
- <isset property="@{value}" />
- </condition>
- <echo message="$@{phpvar}=&quot;${printValue@{value}}&quot;;${EOL}" file="${phpPropertyFile}" append="true" />
- </sequential>
- </macrodef>
<target name="debug-allJavaProperties">
<echoproperties regex="^java\..*$" />
@@ -1483,49 +2135,75 @@
-->
<target name="initOSes">
- <condition property="guessed.os" value="win32">
+ <condition
+ property="guessed.os"
+ value="win32">
<os family="windows" />
</condition>
- <condition property="guessed.os" value="macosx">
+ <condition
+ property="guessed.os"
+ value="macosx">
<os family="mac" />
</condition>
- <condition property="guessed.os" value="linux">
+ <condition
+ property="guessed.os"
+ value="linux">
<or>
<os family="unix" />
</or>
</condition>
<!-- if not set above, set to a ridulous value, that will at least give hint of action to take once it causes a failure -->
- <property name="guessed.os" value="Value of 'os' could not be determined. 'os' must be set as system variable." />
+ <property
+ name="guessed.os"
+ value="Value of 'os' could not be determined. 'os' must be set as system variable." />
- <condition property="os" value="${os}" else="${guessed.os}">
+ <condition
+ property="os"
+ value="${os}"
+ else="${guessed.os}">
<isset property="os" />
</condition>
<!-- luckily, these days, not multiple windowing systems, for common OSes -->
- <condition property="guessed.ws" value="win32">
+ <condition
+ property="guessed.ws"
+ value="win32">
<os family="windows" />
</condition>
- <condition property="guessed.ws" value="cocoa">
+ <condition
+ property="guessed.ws"
+ value="cocoa">
<os family="mac" />
</condition>
- <condition property="guessed.ws" value="gtk">
+ <condition
+ property="guessed.ws"
+ value="gtk">
<os family="unix" />
</condition>
<!-- if not set above, set to a ridulous value, that will at least give hint of action to take once it causes a failure -->
- <property name="guessed.ws" value="Value of 'ws' could not be determined. 'ws' must be set as system variable." />
+ <property
+ name="guessed.ws"
+ value="Value of 'ws' could not be determined. 'ws' must be set as system variable." />
- <condition property="ws" value="${ws}" else="${guessed.ws}">
+ <condition
+ property="ws"
+ value="${ws}"
+ else="${guessed.ws}">
<isset property="ws" />
</condition>
<!-- not sure this will work well? -->
- <condition property="guessed.arch" value="x86_64">
+ <condition
+ property="guessed.arch"
+ value="x86_64">
<or>
<os arch="x86_64" />
<os arch="amd64" />
</or>
</condition>
- <condition property="guessed.arch" value="x86">
+ <condition
+ property="guessed.arch"
+ value="x86">
<or>
<os arch="x86" />
<os arch="i386" />
@@ -1533,15 +2211,22 @@
</or>
</condition>
<!-- if not set above, set to a ridulous value, that will at least give hint of action to take once it causes a failure -->
- <property name="guessed.ws" value="Value of 'arch' could not be determined. 'arch' must be set as system variable." />
+ <property
+ name="guessed.ws"
+ value="Value of 'arch' could not be determined. 'arch' must be set as system variable." />
- <condition property="arch" value="${arch}" else="${guessed.arch}">
+ <condition
+ property="arch"
+ value="${arch}"
+ else="${guessed.arch}">
<isset property="arch" />
</condition>
</target>
- <target name="test-getJavaMajorVersion" depends="debug-allJavaProperties,debug-allOSProperties,getJavaMajorVersion">
+ <target
+ name="test-getJavaMajorVersion"
+ depends="debug-allJavaProperties,debug-allOSProperties,getJavaMajorVersion">
<printProperty property="javaMajorVersion" />
<printProperty property="java.version" />
<printProperty property="java.runtime.version" />
@@ -1553,16 +2238,22 @@
<!-- <antcall target="printMainProperties" /> -->
</target>
- <target name="test-initOSes" depends="debug-allProperties,initOSes">
+ <target
+ name="test-initOSes"
+ depends="debug-allProperties,initOSes">
<printProperty property="os" />
<printProperty property="ws" />
<printProperty property="arch" />
</target>
- <target name="test-all" depends="init,test-initOSes,test-getJavaMajorVersion">
+ <target
+ name="test-all"
+ depends="init,test-initOSes,test-getJavaMajorVersion">
</target>
- <target name="debug-allProperties" depends="init">
+ <target
+ name="debug-allProperties"
+ depends="init">
<echoproperties />
</target>
</project>
diff --git a/production/testScripts/configuration/streamSpecific-build.properties b/production/testScripts/configuration/streamSpecific-build.properties
deleted file mode 100644
index 9cdf9485..00000000
--- a/production/testScripts/configuration/streamSpecific-build.properties
+++ /dev/null
@@ -1,29 +0,0 @@
-# misc. build properties, varing by stream or release
-
-# fairly sure none of this is used any longer ... plan to remove file
-# once "releng tests" are restarted or investigated.
-# But, perhaps it could or should be used more effectively?
-
-# purely title or identifier for display, to help confirm right file
-# is being retrived and used.
-streamSpecificPropertiesTitle="Properties for 4.5.0 builds and tests"
-
- stableDirectorLocation=http://${DOWNLOAD_HOST}/eclipse/downloads/drops4/R-4.4-201406061215
- # version here is "build label" ... in general form, the "middle" of archive name,
- # such as "eclipse-platform-${previousReleaseVersion}-linux-gtk-x86_64.tar.gz
- # TODO: also used for update site, though? Need to sort out.
- previousReleaseVersion=4.4
-# Note: API tests needs the _base_ of previous release, and also the previous service release
-# Bug 378587 - update releng tests (data) to go work against previous release
-# Bug 380033 - temp fix to hard code 'archive.eclipse.org' for now
- apiTestsPreviousBaseDLBaseURL=http://${DOWNLOAD_HOST}/eclipse/downloads/drops4/R-4.4-201406061215
- apiTestsPreviousBaseWin32Filename=eclipse-SDK-4.4-win32.zip
- apiTestsPreviousRefererenceBaseDLBaseURL=http://${DOWNLOAD_HOST}/eclipse/downloads/drops4/R-4.3.2-201402211700
- apiTestsPreviousRefererenceWin32Filename=eclipse-SDK-4.3.2-win32.zip
-
-# Not currently used on eclipse.org tests?
-previousRuntimePlatform=eclipse-platform-4.3.2-linux-gtk-x86_64.tar.gz
-#Used to have a stable version of p2 director? (not currently used)
-# BUT SHOULD BE, for the 'director' that installs tests into the platform
-previousRuntimePlatformVersion=4.4
-
diff --git a/production/testScripts/configuration/streamSpecific.properties b/production/testScripts/configuration/streamSpecific.properties
new file mode 100644
index 00000000..82063714
--- /dev/null
+++ b/production/testScripts/configuration/streamSpecific.properties
@@ -0,0 +1,30 @@
+#
+# This properties file should contains items that are specific to the stream being tested.
+# Note: I don't believe these are currently being used, as intended, but can/will be
+# at some point.
+
+
+# purely title or identifier for display, to help confirm right file
+# is being retrived and used.
+streamSpecificPropertiesTitle="Properties for 4.5.0 builds and tests"
+
+stableDirectorLocation=http://${DOWNLOAD_HOST}/eclipse/downloads/drops4/R-4.4-201406061215
+# version here is "build label" ... in general form, the "middle" of archive name,
+# such as "eclipse-platform-${previousReleaseVersion}-linux-gtk-x86_64.tar.gz
+# TODO: also used for update site, though? Need to sort out.
+previousReleaseVersion=4.4
+
+# Note: API tests needs the _base_ of previous release, and also the previous service release
+# Bug 378587 - update releng tests (data) to go work against previous release
+# Bug 380033 - temp fix to hard code 'archive.eclipse.org' for now
+apiTestsPreviousBaseDLBaseURL=http://${DOWNLOAD_HOST}/eclipse/downloads/drops4/R-4.4-201406061215
+apiTestsPreviousBaseWin32Filename=eclipse-SDK-4.4-win32.zip
+apiTestsPreviousRefererenceBaseDLBaseURL=http://${DOWNLOAD_HOST}/eclipse/downloads/drops4/R-4.3.2-201402211700
+apiTestsPreviousRefererenceWin32Filename=eclipse-SDK-4.3.2-win32.zip
+
+# Not currently used on eclipse.org tests?
+previousRuntimePlatform=eclipse-platform-4.3.2-linux-gtk-x86_64.tar.gz
+#Used to have a stable version of p2 director? (not currently used)
+# BUT SHOULD BE, for the 'director' that installs tests into the platform
+previousRuntimePlatformVersion=4.4
+
diff --git a/production/testScripts/genTestIndexes.xml b/production/testScripts/genTestIndexes.xml
index 90455962..b93b9a63 100644
--- a/production/testScripts/genTestIndexes.xml
+++ b/production/testScripts/genTestIndexes.xml
@@ -9,12 +9,14 @@
<script language="javascript">
+ <![CDATA[
var buildId = project.getProperty("buildId");
var pattern = new RegExp(/^([IMXYPNSR])(\d{8})-(\d{4})$/);
var sArray = pattern.exec(buildId);
// sArray 0 is "whole match"
project.setProperty("buildType", sArray[1]);
+ ]]>
</script>
<!--
@@ -186,6 +188,7 @@
message="eclipseStream variable had unexpected format. Should be digit.digit.digit, but was ${eclipseStream}"
unless="streamOK" />
<script language="javascript">
+ <![CDATA[
var eclipseStream = project.getProperty("eclipseStream");
var pattern = new
RegExp(/(\d+)\.(\d+)\.(\d+)/);
@@ -195,7 +198,7 @@
project.setProperty("eclipseStreamMajor", sArray[1]);
project.setProperty("eclipseStreamMinor", sArray[2]);
project.setProperty("eclipseStreamService", sArray[3]);
-
+ ]]>
</script>
</target>
diff --git a/production/testScripts/getBaseBuilder.xml b/production/testScripts/getBaseBuilder.xml
index c4e4e579..ec64d4a2 100644
--- a/production/testScripts/getBaseBuilder.xml
+++ b/production/testScripts/getBaseBuilder.xml
@@ -5,139 +5,65 @@
as one of it first build steps.
-->
<project
- name="getBaseBuilder"
- default="getBaseBuilder"
- basedir=".">
-
- <target
- name="hudson-init"
- if="hudson"
- depends="checkHudson">
- <!-- as of this writing, 04/22/2012, this was current list of
- hudson provided variables. We take advantage of a number
- of them, but "translate" them into our own variable names,
- for a little loser build-system seperattion
- BUILD_NUMBER
- The current build number, such as "153"
- BUILD_ID
- The current build id, such as "2005-08-22_23-59-59" (YYYY-MM-DD_hh-mm-ss)
- JOB_NAME
- Name of the project of this build, such as "foo"
- BUILD_TAG
- String of "hudson-${JOB_NAME}-${BUILD_NUMBER}". Convenient to put into a resource file, a jar file, etc for easier identification.
- EXECUTOR_NUMBER
- The unique number that identifies the current executor (among executors of the same machine) that's carrying out this build. This is the number you see in the "build executor status", except that the number starts from 0, not 1.
- NODE_NAME
- Name of the slave if the build is on a slave, or "" if run on master
- NODE_LABELS
- Whitespace-separated list of labels that the node is assigned.
- JAVA_HOME
- If your job is configured to use a specific JDK, this variable is set to the JAVA_HOME of the specified JDK. When this variable is set, PATH is also updated to have $JAVA_HOME/bin.
- WORKSPACE
- The absolute path of the workspace.
- HUDSON_URL
- Full URL of Hudson, like http://server:port/hudson/
- BUILD_URL
- Full URL of this build, like http://server:port/hudson/job/foo/15/
- JOB_URL
- Full URL of this job, like http://server:port/hudson/job/foo/
- SVN_REVISION
- For Subversion-based projects, this variable contains the revision number of the module.
- CVS_BRANCH
- For CVS-based projects, this variable contains the branch of the module. If CVS is configured to check out the trunk, this environment variable will not be set.
- HUDSON_USER
- Currently logged in user
- -->
- <property environment="hudson" />
- <property
- name="WORKSPACE"
- value="${hudson.WORKSPACE}" />
- <!--
- <property
- name="BUILD_ID"
- value="${hudson.BUILD_ID}" />
- <property
- name="BUILD_NUMBER"
- value="${hudson.BUILD_NUMBER}" />
- <property
- name="JOB_NAME"
- value="${hudson.JOB_NAME}" />
- -->
-
+ name="getBaseBuilder"
+ default="getBaseBuilder"
+ basedir=".">
- </target>
- <target
- name="init"
- depends="hudson-init"
- unless="getBaseBuilderInitialized">
+ <target
+ name="init"
+ depends="initWorkspace"
+ unless="getBaseBuilderInitialized">
<property environment="env" />
- <!-- assign defaults if not on hudson, for local testing if nothing else -->
- <property
- name="WORKSPACE"
- value="${basedir}" />
-
- <property
- name="builderVersion"
- value="R38M6PlusRC3G" />
-
- <property
- name="cvsRoot"
- value=":pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse" />
- <property
- name="cvsProject"
- value="org.eclipse.releng.basebuilder" />
- <!-- the desired folder name (made to stay consistent with cvs module name, though Git project
- is named eclipse.platform.releng.basebuilder fil-->
- <property
- name="folderName"
- value="org.eclipse.releng.basebuilder" />
-
- <!-- if not set directly by caller, see if it is an environment variable -->
+ <!--
+ TODO: eventually should be previousReleaseVersion
+ which requires "initStreamVariables"
+ -->
+ <property
+ name="baseBuilderVersion"
+ value="R38M6PlusRC3G" />
+ <!-- eventually we will not have a hard coded version -->
+ <fail
+ unless="baseBuilderVersion"
+ message="This script needs baseBuilderVersion to run" />
+
+
+<!--
+ The desired folder name (made to stay consistent
+ old versions ... may want to make more meaningful,
+ eventually.
+-->
+ <property
+ name="basebuilderFolderName"
+ value="org.eclipse.releng.basebuilder" />
+
+ <!-- if not set directly by caller, see if it is an
+ environment variable. If set, is it expected to be
+ the patch to use to find the local, pre-cached version.
+ -->
<condition
property="basebuilderlocal"
value="${env.BASEBUILDER_LOCAL}">
<isset property="env.BASEBUILDER_LOCAL" />
</condition>
+ <!-- just for better log messages -->
<condition
property="fetchSource"
- value="git">
- <not>
- <isset property="basebuilderlocal" />
- </not>
- </condition>
-
- <echo message="Properties in getBaseBuilder.xml" />
- <echo message="basebuilderlocal: ${basebuilderlocal}" />
- <echo message="fetchSource: ${fetchSource}" />
- <echo message="hudson: ${hudson}" />
- <echo message="WORKSPACE: ${WORKSPACE}" />
- <echo message="basebuilder version: ${builderVersion}" />
- <echo message="cvsRoot: ${cvsRoot}" />
- <echo message="cvsProject: ${cvsProject}" />
-
- <!-- leave useGit undefined to imply to use CVS. Callers can override git defaults with -DfetchSource=cvs
- or, anything besides 'git' implies cvs.
- -->
- <condition
- property="useGit"
- value="true">
- <equals
- arg1="${fetchSource}"
- arg2="git"
- casesensitive="false"
- trim="true" />
- </condition>
- <echo message="useGit: ${useGit}" />
- <!-- don't need? yet
- <echo message="BUILD_ID: ${BUILD_ID}" />
- <echo message="BUILD_NUMBER: ${BUILD_NUMBER}" />
- <echo message="JOB_NAME: ${JOB_NAME}" />
- <echo message="buildId: ${buildId}" />
- -->
+ value="Fetching from git via CGit, since not local"
+ else="Using local pre-cached version in ${basebuilderlocal}">
+ <not>
+ <isset property="basebuilderlocal" />
+ </not>
+ </condition>
+ <echo message="=== Properties in init, of getBaseBuilder.xml" />
+ <echo message=" WORKSPACE: ${WORKSPACE}" />
+ <echo message=" basebuilder version: ${baseBuilderVersion}" />
+ <echo message=" copied to folder: ${basebuilderFolderName}" />
+ <echo message=" fetchSource: ${fetchSource}" />
+ <echo message=" skipBaseBuilder ${skipBaseBuilder}" />
<!-- not used? But, may want in future?
<condition
@@ -154,133 +80,147 @@
<isset property="checkout.builder.clean" />
</condition>
-->
- <property
- name="getBaseBuilderInitialized"
- value="true" />
- </target>
+ <property
+ name="getBaseBuilderInitialized"
+ value="true" />
+ </target>
- <target
- name="getBaseBuilder"
- depends="checkHudson, init">
-
- <fail
- unless="builderVersion"
- message="This script needs builderVersion to run" />
-
- <!-- remove old one, if there, and make sure one exists for eventual checkout/copy/globmapper -->
- <delete dir="${WORKSPACE}/${folderName}" />
- <mkdir dir="${WORKSPACE}/${folderName}" />
+ <target
+ name="getBaseBuilder"
+ depends="init, fetchBaseBuilder"
+ unless="skipBaseBuilder">
- <antcall target="fetchBaseBuilder" />
- <antcall target="fetchBaseBuilderLocal" />
+ <fail
+ unless="basebuilderfetched"
+ message="Failed to get base builder" />
+ </target>
- </target>
- <!-- hurestic to check if we are running on hudson variable, if so -->
- <target name="checkHudson">
- <!-- HUDSON_USER should just be "anonyous" for most of our cases (currently)
- but seems a safe variable to check ... if set, assume we are on hudson,
- if not set, assume we are not and leave "hudson" unset (not false)
- Hmm, seems HUDSON_USER is not reliably set. The only 4 I saw reliably
- set were
- [echoproperties] env.HUDSON_COOKIE
- [echoproperties] env.HUDSON_HOME
- [echoproperties] env.HUDSON_SERVER_COOKIE
- [echoproperties] env.HUDSON_URL
- Not sure which would be best/safest to use in huristic, but
- I'll go with URL for now.
- -->
- <property environment="env" />
- <condition property="hudson">
- <isset property="env.HUDSON_URL" />
- </condition>
+ <target
+ name="checkIfNeeded"
+ depends="init">
+ <!--
+ At this point, specific to the "fall back" of getting from
+ git, there are two reasons it may no longer be needed. Either the
+ first task, the local fetch, got it, or else the user
+ specified skipBaseBuilder, presumably because they already have it,
+ and they do not need a clean copy.
+ -->
+ <condition property="notNeeded">
+ <or>
+ <istrue value="${skipBaseBuilder}" />
+ <istrue value="${basebuilderfetched}" />
+ </or>
+ </condition>
- </target>
- <target
- name="fetchBaseBuilderFromGit"
- depends="init"
- if="useGit">
- <echo message="Fetching basebuilder from Git via CGit" />
- <get
- src="http://git.eclipse.org/c/platform/eclipse.platform.releng.basebuilder.git/snapshot/eclipse.platform.releng.basebuilder-${builderVersion}.zip"
- dest="${WORKSPACE}/basebuilder-${builderVersion}.zip" />
- <unzip
- src="${WORKSPACE}/basebuilder-${builderVersion}.zip"
- dest="${WORKSPACE}"
- overwrite="true" />
+ </target>
- <move todir="${WORKSPACE}/${folderName}">
- <fileset dir="${WORKSPACE}/eclipse.platform.releng.basebuilder-${builderVersion}">
- <include name="**/*" />
- </fileset>
- </move>
+ <!-- getting from Git is always the fall back -->
+ <target
+ name="fetchBaseBuilderFromGit"
+ depends="init, checkIfNeeded"
+ unless="notNeeded">
+ <echo message="Fetching basebuilder from Git via CGit" />
- <chmod perm="ugo+x">
- <fileset dir="${WORKSPACE}/${folderName}">
- <include name="eclipse" />
- <include name="*.so*" />
- </fileset>
- </chmod>
+ <!--
+ remove old one, if there, and make sure one exists
+ for eventual checkout/copy/globmapper.
+ Eventually will want to change this, so if already exists,
+ then assume we are done?
+ -->
+ <delete dir="${WORKSPACE}/${basebuilderFolderName}" />
+ <mkdir dir="${WORKSPACE}/${basebuilderFolderName}" />
+ <get
+ src="http://git.eclipse.org/c/platform/eclipse.platform.releng.basebuilder.git/snapshot/eclipse.platform.releng.basebuilder-${baseBuilderVersion}.zip"
+ dest="${WORKSPACE}/basebuilder-${baseBuilderVersion}.zip" />
+ <unzip
+ src="${WORKSPACE}/basebuilder-${baseBuilderVersion}.zip"
+ dest="${WORKSPACE}"
+ overwrite="true" />
+
+ <move todir="${WORKSPACE}/${basebuilderFolderName}">
+ <fileset dir="${WORKSPACE}/eclipse.platform.releng.basebuilder-${baseBuilderVersion}">
+ <include name="**/*" />
+ </fileset>
+ </move>
+
+ <chmod perm="ugo+x">
+ <fileset dir="${WORKSPACE}/${basebuilderFolderName}">
+ <include name="eclipse" />
+ <include name="*.so*" />
+ </fileset>
+ </chmod>
<!-- we've moved the files, now to remove the empty dir -->
- <delete dir="${WORKSPACE}/eclipse.platform.releng.basebuilder-${builderVersion}" />
-
- <!-- not sure why I couldn't get globmapper to work here with unzip?
- <globmapper
- from="eclipse.platform.releng.basebuilder-${builderVersion}/*"
- to="${folderName}/*" />
- -->
-
- <!-- cleanup (may eventually want to "cache" this zip file, so no need to re-fetch if already exists
- temp leave to save a copy
- <delete file="${WORKSPACE}/basebuilder-${builderVersion}.zip" />
- -->
-
- </target>
-
- <target
- name="fetchBaseBuilderFromCVS"
- depends="init"
- unless="useGit">
- <echo message="Fetching basebuilder from CVS" />
- <cvs
- cvsroot="${cvsRoot}"
- command="export"
- quiet="true"
- dest="${WORKSPACE}"
- tag="${builderVersion}"
- package="${cvsProject}">
- </cvs>
- </target>
+ <delete
+ includeemptydirs="true"
+ performGCOnFailedDelete="true">
+ <dirset dir="${WORKSPACE}">
+ <include name="eclipse.platform.releng.basebuilder-${baseBuilderVersion}" />
+ </dirset>
+ </delete>
+ <!-- cleanup (may eventually want to "cache" this zip file, so no need to re-fetch if already exists -->
+
+ <delete file="${WORKSPACE}/basebuilder-${baseBuilderVersion}.zip" />
+ <property
+ name="basebuilderfetched"
+ value="true" />
+ </target>
+
+
+ <target
+ name="fetchBaseBuilder"
+ depends="init, fetchBaseBuilderLocal, fetchBaseBuilderFromGit"
+ unless="skipBaseBuilder">
+ <echo message="Fetched basebuilder to ${WORKSPACE}/${basebuilderFolderName}" />
+ </target>
+ <target
+ name="fetchBaseBuilderLocal"
+ depends="init"
+ if="basebuilderlocal"
+ unless="skipBaseBuilder">
- <target
- name="fetchBaseBuilder"
- depends="init, fetchBaseBuilderFromCVS, fetchBaseBuilderFromGit"
- unless="basebuilderlocal">
- <echo message="Fetched basebuilder to ${WORKSPACE}/${folderName}" />
- </target>
- <target
- name="fetchBaseBuilderLocal"
- depends="init"
- if="basebuilderlocal">
- <unzip
- src="${basebuilderlocal}/basebuilder-${builderVersion}.zip"
- dest="${WORKSPACE}"
- overwrite="true" />
-
- <move todir="${WORKSPACE}/${folderName}">
- <fileset dir="${WORKSPACE}/eclipse.platform.releng.basebuilder-${builderVersion}">
- <include name="**/*" />
- </fileset>
- </move>
-
- <chmod perm="ugo+x">
- <fileset dir="${WORKSPACE}/${folderName}">
- <include name="eclipse" />
- <include name="*.so*" />
- </fileset>
- </chmod>
- <echo message="Copied basebuilder to ${WORKSPACE}/${folderName}" />
-
- </target>
+ <!--
+ remove old one, if there, and make sure one exists
+ for eventual checkout/copy/globmapper.
+ Eventually will want to change this, so if already exists,
+ then assume we are done?
+ -->
+ <delete dir="${WORKSPACE}/${basebuilderFolderName}" />
+ <mkdir dir="${WORKSPACE}/${basebuilderFolderName}" />
+
+ <unzip
+ src="${basebuilderlocal}/basebuilder-${baseBuilderVersion}.zip"
+ dest="${WORKSPACE}"
+ overwrite="true" />
+
+ <move todir="${WORKSPACE}/${basebuilderFolderName}">
+ <fileset dir="${WORKSPACE}/eclipse.platform.releng.basebuilder-${baseBuilderVersion}">
+ <include name="**/*" />
+ </fileset>
+ </move>
+
+ <chmod perm="ugo+x">
+ <fileset dir="${WORKSPACE}/${basebuilderFolderName}">
+ <include name="eclipse" />
+ <include name="*.so*" />
+ </fileset>
+ </chmod>
+ <echo message="Copied basebuilder to ${WORKSPACE}/${basebuilderFolderName}" />
+ <property
+ name="basebuilderfetched"
+ value="true" />
+
+ </target>
+ <target
+ name="initWorkspace"
+ unless="WORKSPACE">
+ <property environment="env" />
+ <condition
+ property="WORKSPACE"
+ value="${env.WORKSPACE}"
+ else="${basedir}">
+ <isset property="env.WORKSPACE" />
+ </condition>
+ </target>
</project> \ No newline at end of file
diff --git a/production/testScripts/hudsonBootstrap/getEBuilder.sh b/production/testScripts/hudsonBootstrap/getEBuilder.sh
index 345d05b8..a8361e8e 100644
--- a/production/testScripts/hudsonBootstrap/getEBuilder.sh
+++ b/production/testScripts/hudsonBootstrap/getEBuilder.sh
@@ -48,8 +48,15 @@ fi
cp ${WORKSPACE}/${EBUILDER}/eclipse.platform.releng.tychoeclipsebuilder/eclipse/getBaseBuilder.xml ${WORKSPACE}
cp ${WORKSPACE}/${ESCRIPT_LOC}/runTests2.xml ${WORKSPACE}
-# remove on clean exit
-rm ebuilder.zip
-rm -fr tempebuilder
+# remove on clean exit, if they exist
+if [[ -f ebuilder.zip ]]
+then
+ rm ebuilder.zip
+fi
+if [[ -d tempebuilder ]]
+then
+ rm -fr tempebuilder
+fi
exit 0
+
diff --git a/production/testScripts/hudsonBootstrap/getEBuilder.xml b/production/testScripts/hudsonBootstrap/getEBuilder.xml
index e5dc6da7..031d2863 100644
--- a/production/testScripts/hudsonBootstrap/getEBuilder.xml
+++ b/production/testScripts/hudsonBootstrap/getEBuilder.xml
@@ -12,7 +12,7 @@
Then use ant to invoke the functionality. Example:
- ant -f getEBuilder.xml -DbuilderVersion=910fca82df3ea649ba8ee758259561582e13bf8b
+ ant -f getEBuilder.xml -EBUILDER_HASHEBUILDER_HASH=910fca82df3ea649ba8ee758259561582e13bf8b
-->
<project
@@ -20,84 +20,41 @@
default="getEBuilder"
basedir=".">
- <target
- name="hudson-init"
- if="hudson"
- depends="checkHudson">
- <!-- as of this writing, 04/22/2012, this was current list of
- hudson provided variables. We take advantage of a number
- of them, but "translate" them into our own variable names,
- for a little loser build-system seperattion
- BUILD_NUMBER
- The current build number, such as "153"
- BUILD_ID
- The current build id, such as "2005-08-22_23-59-59" (YYYY-MM-DD_hh-mm-ss)
- JOB_NAME
- Name of the project of this build, such as "foo"
- BUILD_TAG
- String of "hudson-${JOB_NAME}-${BUILD_NUMBER}". Convenient to put into a resource file, a jar file, etc for easier identification.
- EXECUTOR_NUMBER
- The unique number that identifies the current executor (among executors of the same machine) that's carrying out this build. This is the number you see in the "build executor status", except that the number starts from 0, not 1.
- NODE_NAME
- Name of the slave if the build is on a slave, or "" if run on master
- NODE_LABELS
- Whitespace-separated list of labels that the node is assigned.
- JAVA_HOME
- If your job is configured to use a specific JDK, this variable is set to the JAVA_HOME of the specified JDK. When this variable is set, PATH is also updated to have $JAVA_HOME/bin.
- WORKSPACE
- The absolute path of the workspace.
- HUDSON_URL
- Full URL of Hudson, like http://server:port/hudson/
- BUILD_URL
- Full URL of this build, like http://server:port/hudson/job/foo/15/
- JOB_URL
- Full URL of this job, like http://server:port/hudson/job/foo/
- SVN_REVISION
- For Subversion-based projects, this variable contains the revision number of the module.
- CVS_BRANCH
- For CVS-based projects, this variable contains the branch of the module. If CVS is configured to check out the trunk, this environment variable will not be set.
- HUDSON_USER
- Currently logged in user
- -->
- <property environment="hudson" />
- <property
- name="WORKSPACE"
- value="${hudson.WORKSPACE}" />
- <!--
- <property
- name="BUILD_ID"
- value="${hudson.BUILD_ID}" />
- <property
- name="BUILD_NUMBER"
- value="${hudson.BUILD_NUMBER}" />
- <property
- name="JOB_NAME"
- value="${hudson.JOB_NAME}" />
- -->
-
- </target>
<target
name="init"
- depends="hudson-init"
+ depends="initWorkspace"
unless="getEBuilderInitialized">
- <!-- assign defaults if not on hudson, for local testing if nothing else -->
+ <!-- assign defaults if not on hudson, for local testing if nothing else -->
<property
name="WORKSPACE"
value="${basedir}" />
- <!-- normally provided by caller, but if not, assume master -->
+ <condition
+ property="gitHost"
+ value="${env.GIT_HOST}"
+ else="git.eclipse.org">
+ <isset property="env.GIT_HOST" />
+ </condition>
+
+ <!-- normally provided by caller, but if not, assume master -->
<property
- name="builderVersion"
+ name="EBUILDER_HASH"
value="master" />
+ <!-- git is fall back, if no method set explicitly -->
<condition
property="fetchSource"
value="git">
- <not>
- <isset property="EBuilderlocal" />
- </not>
+ <and>
+ <not>
+ <isset property="EBuilderlocal" />
+ </not>
+ <not>
+ <isset property="downloadURL" />
+ </not>
+ </and>
</condition>
<property
name="scmProject"
@@ -111,16 +68,16 @@
name="eScriptLocation"
value="${folderName}/production/testScripts" />
- <echo message="Properties in 'getEBuilder.xml'" />
- <echo message=" hudson: ${hudson}" />
- <echo message=" WORKSPACE: ${WORKSPACE}" />
- <echo message=" scmProject: ${scmProject}" />
- <echo message=" builderVersion: ${builderVersion}" />
- <echo message=" folderName: ${folderName}" />
- <echo message="The following are used, in order (if defined), to get 'production scripts'" />
- <echo message=" (fetch) downloadURL: ${downloadURL}" />
- <echo message=" EBuilderlocal: ${EBuilderlocal}" />
- <echo message=" fetchSource: ${fetchSource}" />
+ <echo message="=== Properties in 'getEBuilder.xml'" />
+ <echo message=" WORKSPACE: ${WORKSPACE}" />
+ <echo message=" folderName: ${folderName}" />
+ <echo message=" eScriptLocation: ${eScriptLocation}" />
+ <echo message=" scmProject: ${scmProject}" />
+ <echo message=" EBUILDER_HASH: ${EBUILDER_HASH}" />
+ <echo message=" The following are used, in order (if defined), to get 'production scripts'" />
+ <echo message=" (fetchDirect from) downloadURL: ${downloadURL}" />
+ <echo message=" (copy from local cache directory) EBuilderlocal: ${EBuilderlocal}" />
+ <echo message=" fetchSource (from Git): ${fetchSource}" />
<property
name="getEBuilderInitialized"
@@ -130,78 +87,60 @@
<target
name="getEBuilder"
- depends="checkHudson, init">
+ depends="init">
- <fail
- unless="builderVersion"
- message="This target needs builderVersion to run" />
-
- <!-- remove old one, if there, and make sure directory exists for
- eventual checkout/copy/globmapper
- -->
+ <!-- remove old one, if there, and make sure directory exists for
+ eventual checkout/copy/globmapper
+ -->
<delete dir="${WORKSPACE}/${folderName}" />
<mkdir dir="${WORKSPACE}/${folderName}" />
<antcall target="fetchEBuilder" />
<antcall target="EBuildercleanup" />
- <!-- copy the files we need for subsequent Hudson steps to "well known" location -->
- <!-- This was previous method, before deciding to use only "production"
- <copy
- verbose="true"
- file="${WORKSPACE}/${scmProject}/eclipse.platform.releng.tychoeclipsebuilder/eclipse/getBaseBuilder.xml"
- todir="${WORKSPACE}" />
- -->
- <copy
- verbose="true"
- file="${WORKSPACE}/${eScriptLocation}/getBaseBuilder.xml"
- todir="${WORKSPACE}" />
+ <!--
+ Copy the file(s) we need for subsequent steps to "well known"
+ location.
+
<copy
file="${WORKSPACE}/${eScriptLocation}/runTests2.xml"
todir="${WORKSPACE}" />
+ -->
+ <!-- remember, 'getBaseBuilder' has it's own properties, which
+ must be set by now, if desired to make use of them,
+ such as a common one for local testing would be:
+ basebuilderlocal=/shared/baseBuilderCache
+ -->
+ <ant antfile="${WORKSPACE}/${eScriptLocation}/getBaseBuilder.xml" />
+ <ant antfile="${WORKSPACE}/${eScriptLocation}/runTests2.xml" />
</target>
- <!-- hurestic to check if we are running on hudson variable, if so -->
- <target name="checkHudson">
- <!-- HUDSON_USER should just be "anonyous" for most of our cases (currently)
- but seems a safe variable to check ... if set, assume we are on hudson,
- if not set, assume we are not and leave "hudson" unset (not false)
- Hmm, seems HUDSON_USER is not reliably set. The only 4 I saw reliably
- set were
- [echoproperties] env.HUDSON_COOKIE
- [echoproperties] env.HUDSON_HOME
- [echoproperties] env.HUDSON_SERVER_COOKIE
- [echoproperties] env.HUDSON_URL
- Not sure which would be best/safest to use in huristic, but
- I'll go with URL for now.
- -->
- <property environment="env" />
- <condition property="hudson">
- <isset property="env.HUDSON_URL" />
- </condition>
-
- </target>
<target
name="fetchEBuilderFromGit"
depends="init,fetchEBuilderLocal"
unless="EBuilderfetched">
<echo message="Fetching EBuilder from Git via CGit" />
<get
- src="http://git.eclipse.org/c/platform/${scmProject}.git/snapshot/${scmProject}-${builderVersion}.zip"
- dest="${WORKSPACE}/${scmProject}-${builderVersion}.zip" />
+ src="http://${gitHost}/c/platform/${scmProject}.git/snapshot/${scmProject}-${EBUILDER_HASH}.zip"
+ dest="${WORKSPACE}/${scmProject}-${EBUILDER_HASH}.zip" />
<unzip
- src="${WORKSPACE}/${scmProject}-${builderVersion}.zip"
- dest="${WORKSPACE}"
+ src="${WORKSPACE}/${scmProject}-${EBUILDER_HASH}.zip"
+ dest="${WORKSPACE}/tempEBuilder/"
overwrite="true" />
+ <!-- We need only the 'production/testscripts' directory. And input can be of different "depths" depending on where it comes from. -->
<move todir="${WORKSPACE}/${folderName}">
- <fileset dir="${WORKSPACE}/${scmProject}-${builderVersion}">
+ <fileset dir="${WORKSPACE}/tempEBuilder">
<include name="**/*" />
</fileset>
+ <mapper
+ type="regexp"
+ from=".*/production/testScripts/(.*)"
+ to="/production/testScripts/\1" />
</move>
- <echo message="Fetched EBuilder to ${WORKSPACE}/${folderName}" />
+ <echo message="Fetched EBuilder/production/testscrips to ${WORKSPACE}/${folderName}" />
<property
name="EBuilderfetched"
value="true" />
@@ -217,14 +156,17 @@
<!-- we've moved the files, now to remove the empty dir -->
<delete
- dir="${WORKSPACE}/${scmProject}-${builderVersion}"
+ dir="${WORKSPACE}/${scmProject}-${EBUILDER_HASH}"
failonerror="false" />
<!-- cleanup (may eventually want to "cache" this zip file, so no need to re-fetch if already exists -->
<delete
- file="${WORKSPACE}/${scmProject}-${builderVersion}.zip"
+ file="${WORKSPACE}/${scmProject}-${EBUILDER_HASH}.zip"
failonerror="false" />
+ <delete
+ dir="${WORKSPACE}/tempEBuilder"
+ failonerror="false" />
<echo message="Cleaned temporary working copies" />
</target>
@@ -246,12 +188,14 @@
unless="EBuilderfetched">
<echo message="Fetching pre-made EBuilder subset from local machine." />
<unzip
- src="${EBuilderlocal}/${scmProject}-${builderVersion}.zip"
+ src="${EBuilderlocal}/${scmProject}-${EBUILDER_HASH}.zip"
dest="${WORKSPACE}"
overwrite="true" />
- <move todir="${WORKSPACE}/${folderName}">
- <fileset dir="${WORKSPACE}/${scmProject}-${builderVersion}">
+ <move
+ todir="${WORKSPACE}/${folderName}"
+ failonerror="true">
+ <fileset dir="${WORKSPACE}/${scmProject}-${EBUILDER_HASH}">
<include name="**/*" />
</fileset>
</move>
@@ -268,11 +212,11 @@
unless="EBuilderfetched">
<echo message="Fetching pre-made EBuilder subset from download site." />
<get
- src="${downloadURL}/${scmProject}-${builderVersion}.zip"
+ src="${downloadURL}/${scmProject}-${EBUILDER_HASH}.zip"
dest="${WORKSPACE}" />
<echo message="Fetched EBuilder from ${downloadURL}" />
<unzip
- src="${WORKSPACE}/${scmProject}-${builderVersion}.zip"
+ src="${WORKSPACE}/${scmProject}-${EBUILDER_HASH}.zip"
dest="${WORKSPACE}"
overwrite="true" />
@@ -288,4 +232,15 @@
value="true" />
</target>
+ <target
+ name="initWorkspace"
+ unless="WORKSPACE">
+ <property environment="env" />
+ <condition
+ property="WORKSPACE"
+ value="${env.WORKSPACE}"
+ else="${basedir}">
+ <isset property="env.WORKSPACE" />
+ </condition>
+ </target>
</project> \ No newline at end of file
diff --git a/production/testScripts/invokeTestsJSON.xml b/production/testScripts/invokeTestsJSON.xml
index 4e54d57a..6d614159 100644
--- a/production/testScripts/invokeTestsJSON.xml
+++ b/production/testScripts/invokeTestsJSON.xml
@@ -136,12 +136,14 @@
<script language="javascript">
+ <![CDATA[
var buildId = project.getProperty("buildId");
var pattern = new RegExp(/^([IMXYPNSR])(\d{8})-(\d{4})$/);
var sArray = pattern.exec(buildId);
// sArray 0 is "whole match"
project.setProperty("buildType", sArray[1]);
+ ]]>
</script>
<property
@@ -163,6 +165,7 @@
message="eclipseStream variable had unexpected format. Should be digit.digit.digit, but was ${eclipseStream}"
unless="streamOK" />
<script language="javascript">
+ <![CDATA[
var eclipseStream = project.getProperty("eclipseStream");
var pattern = new
RegExp(/(\d+)\.(\d+)\.(\d+)/);
@@ -172,7 +175,7 @@
project.setProperty("eclipseStreamMajor", sArray[1]);
project.setProperty("eclipseStreamMinor", sArray[2]);
project.setProperty("eclipseStreamService", sArray[3]);
-
+ ]]>
</script>
</target>
diff --git a/production/testScripts/runTests2.xml b/production/testScripts/runTests2.xml
index b502f93e..5cdb4252 100644
--- a/production/testScripts/runTests2.xml
+++ b/production/testScripts/runTests2.xml
@@ -3,108 +3,21 @@
default="runTests2"
basedir=".">
- <!-- hurestic to check if we are running on hudson variable, if so -->
- <target name="checkHudson">
- <!-- HUDSON_USER should just be "anonyous" for most of our cases (currently)
- but seems a safe variable to check ... if set, assume we are on hudson,
- if not set, assume we are not and leave "hudson" unset (not false)
- Hmm, seems HUDSON_USER is not reliably set. The only 4 I saw reliably
- set were
- [echoproperties] env.HUDSON_COOKIE
- [echoproperties] env.HUDSON_HOME
- [echoproperties] env.HUDSON_SERVER_COOKIE
- [echoproperties] env.HUDSON_URL
- Not sure which would be best/safest to use in huristic, but
- I'll go with URL for now.
- -->
- <property environment="env" />
- <condition property="hudson">
- <isset property="env.HUDSON_URL" />
- </condition>
-
- </target>
-
- <target
- name="hudson-init"
- if="hudson"
- depends="checkHudson">
- <!-- as of this writing, 04/22/2012, this was current list of
- hudson provided variables. We take advantage of a number
- of them, but "translate" them into our own variable names,
- for a little loser build-system seperattion
- BUILD_NUMBER
- The current build number, such as "153"
- BUILD_ID
- The current build id, such as "2005-08-22_23-59-59" (YYYY-MM-DD_hh-mm-ss)
- JOB_NAME
- Name of the project of this build, such as "foo"
- BUILD_TAG
- String of "hudson-${JOB_NAME}-${BUILD_NUMBER}". Convenient to put into a resource file, a jar file, etc for easier identification.
- EXECUTOR_NUMBER
- The unique number that identifies the current executor (among executors of the same machine) that's carrying out this build. This is the number you see in the "build executor status", except that the number starts from 0, not 1.
- NODE_NAME
- Name of the slave if the build is on a slave, or "" if run on master
- NODE_LABELS
- Whitespace-separated list of labels that the node is assigned.
- JAVA_HOME
- If your job is configured to use a specific JDK, this variable is set to the JAVA_HOME of the specified JDK. When this variable is set, PATH is also updated to have $JAVA_HOME/bin.
- WORKSPACE
- The absolute path of the workspace.
- HUDSON_URL
- Full URL of Hudson, like http://server:port/hudson/
- BUILD_URL
- Full URL of this build, like http://server:port/hudson/job/foo/15/
- JOB_URL
- Full URL of this job, like http://server:port/hudson/job/foo/
- SVN_REVISION
- For Subversion-based projects, this variable contains the revision number of the module.
- CVS_BRANCH
- For CVS-based projects, this variable contains the branch of the module. If CVS is configured to check out the trunk, this environment variable will not be set.
- HUDSON_USER
- Currently logged in user
- -->
- <property environment="hudson" />
- <property
- name="WORKSPACE"
- value="${hudson.WORKSPACE}" />
- <echo message="Found we are running in hudson and set workspace to ${WORKSPACE}" />
-
- </target>
<target
name="init"
- depends="hudson-init, streamSpecificInit">
+ depends="initWorkspace, initDownloadHosts, initBuildId, initBuildType, initBasicDirectories, initStreamSpecificVariables, initTargetPlatform, initPlatformSpecificProperties, initconfigure.team.cvs.test,setJavaMajorVersion"
+ unless="runTest2Initialized">
- <!-- if not specified on command line, assume files come from 'download.eclipse.org' -->
- <property
- name="DOWNLOAD_HOST"
- value="download.eclipse.org" />
- <property
- name="ARCHIVE_HOST"
- value="archive.eclipse.org" />
-
- <!-- if not otherwise set, such as by hudson-init,
- assume "current directory" for WORKSPACE -->
- <property
- name="WORKSPACE"
- value="${basedir}" />
-
-
- <property
- name="relengBaseBuilderDir"
- value="${WORKSPACE}/org.eclipse.releng.basebuilder" />
<property
- name="eclipseBuilderDir"
- value="${WORKSPACE}/eclipse.platform.releng.aggregator/production/testScripts/configuration" />
-
- <antcall target="initBuildType" />
+ name="EOL"
+ value="${line.separator}" />
<echo message="Variables in 'runTests2.xml'" />
<echo message="DOWNLOAD_HOST: ${DOWNLOAD_HOST}" />
- <echo message="hudson: ${hudson}" />
<echo message="WORKSPACE: ${WORKSPACE}" />
<echo message="buildId: ${buildId}" />
<echo message="relengBaseBuilderDir: ${relengBaseBuilderDir}" />
- <echo message="eclipseBuilderDir: ${eclipseBuilderDir}" />
+ <echo message="configurationDir: ${configurationDir}" />
<echo message="java.home: ${java.home}" />
<echo message="eclipseStream: ${eclipseStream}" />
<echo message="eclipseStreamMajor: ${eclipseStreamMajor}" />
@@ -113,42 +26,18 @@
<echo message="buildType: ${buildType}" />
<property
- name="testDir"
- value="${WORKSPACE}/workarea/${buildId}" />
- <echo message="DEBUG: testDir ${testDir}" />
- <property
- name="executionDir"
- value="${testDir}/eclipse-testing" />
- <mkdir dir="${executionDir}" />
- <echo message="executionDir ${executionDir}" />
-
- <!--
- mostly putting previous platform here, since p2 looks for exactly one
- occurance of "platform-eclipse-" under executionDir, and if it finds two,
- it won't "find" any.
- -->
- <mkdir dir="${executionDir}/platformLocation" />
- <echo message="platformLocation ${platformLocation}" />
-
- <!-- this is later ?attempted? to be set to what is in equinoxp2tests.properties?
- <property
- name="currentbuildrepo"
- value="http://${DOWNLOAD_HOST}/eclipse/updates/${updateSiteSegment}-${buildType}-builds/${buildId}" />
- <echo message="currentbuildrepo: ${currentbuildrepo}" />
--->
- <property
name="buildURL"
value="http://${DOWNLOAD_HOST}/eclipse/downloads/${dropsDirSegment}/${buildId}" />
- <!--
- there's nothing "automatic" about the local cache (so far).
- If specified (such as on hudson command line that executes this
- file, as, say,
- -DlocalCache=file:///shared/eclipse/localCache
- then all the downloads required must be already available there.
- It is intended to speed up local testing to avoid re-downloading
- files.
- -->
+ <!--
+ there's nothing "automatic" about the local cache (so far).
+ If specified (such as on hudson command line that executes this
+ file, as, say,
+ -DlocalCache=file:///shared/eclipse/localCache
+ then all the downloads required must be already available there.
+ It is intended to speed up local testing to avoid re-downloading
+ files.
+ -->
<condition
property="archiveLocation"
value="${localCache}"
@@ -158,27 +47,29 @@
<echo message="buildURL ${buildURL}" />
<echo message="archiveLocation ${archiveLocation}" />
+ <property
+ name="runTest2Initialized"
+ value="true" />
+
</target>
<target
- name="platformIndependentZips"
+ name="getPlatformIndependentZips"
unless="skipInstall">
<get
retries="5"
- verbose="true"
src="${archiveLocation}/eclipse-Automated-Tests-${buildId}.zip"
dest="${testDir}/eclipse-Automated-Tests-${buildId}.zip" />
<get
retries="5"
- verbose="true"
src="${archiveLocation}/eclipse-${buildId}-delta-pack.zip"
dest="${executionDir}/eclipse-${buildId}-delta-pack.zip" />
</target>
<target
name="getwinzips"
- depends="platformIndependentZips"
+ depends="getPlatformIndependentZips"
unless="skipInstall">
<get
src="${archiveLocation}/eclipse-SDK-${buildId}-win32.zip"
@@ -192,7 +83,7 @@
</target>
<target
name="getwinzips64"
- depends="platformIndependentZips"
+ depends="getPlatformIndependentZips"
unless="skipInstall">
<get
src="${archiveLocation}/eclipse-SDK-${buildId}-win32-x86_64.zip"
@@ -206,7 +97,7 @@
</target>
<target
name="getlinzips"
- depends="platformIndependentZips"
+ depends="getPlatformIndependentZips"
unless="skipInstall">
<get
src="${archiveLocation}/eclipse-SDK-${buildId}-linux-gtk-x86_64.tar.gz"
@@ -221,7 +112,7 @@
<target
name="getlinzips32"
- depends="platformIndependentZips"
+ depends="getPlatformIndependentZips"
unless="skipInstall">
<get
src="${archiveLocation}/eclipse-SDK-${buildId}-linux-gtk.tar.gz"
@@ -236,7 +127,7 @@
<target
name="getmaczips"
- depends="platformIndependentZips"
+ depends="getPlatformIndependentZips"
unless="skipInstall">
<get
src="${archiveLocation}/eclipse-SDK-${buildId}-macosx-cocoa.tar.gz"
@@ -251,7 +142,7 @@
<target
name="getmacosx"
- depends="platformIndependentZips"
+ depends="getPlatformIndependentZips"
unless="skipInstall">
<get
src="${archiveLocation}/eclipse-SDK-${buildId}-macosx-cocoa-x86_64.tar.gz"
@@ -265,7 +156,7 @@
</target>
<target
- name="configure.team.cvs.test"
+ name="initconfigure.team.cvs.test"
depends="computeExpectedLocation,getcvstestProperties" />
<target name="computeExpectedLocation">
@@ -294,25 +185,14 @@
<target
name="getcvstestProperties"
if="cvsPropertiesAvailable"
- depends="computeExpectedLocation,checkCVSPropExists,logNoExistence">
+ depends="computeExpectedLocation,checkCVSPropExists,logNoExistence"
+ unless="cvstestPropertiesInitialized">
<echo message="cvstest.properties file: ${cvstest.properties}" />
- <replace
- file="${executionDir}/test.xml"
- propertyFile="${cvstest.properties}">
- <replacefilter
- token="${cvs_user}"
- property="cvs_user" />
- <replacefilter
- token="${cvs_password}"
- property="cvs_password" />
- <replacefilter
- token="${cvs_host}"
- property="cvs_host" />
- <replacefilter
- token="${cvs_root}"
- property="cvs_root" />
- </replace>
+ <property file="${cvstest.properties}" />
+ <property
+ name="cvstestPropertiesInitialized"
+ value="true" />
</target>
@@ -330,16 +210,10 @@
<echo message="cvs properties file was not found in this environment. " />
<echo message=" expected file: ${cvstest.properties} " />
</target>
- <target
- name="runTests2"
- depends="init">
- <echo message="DEBUG: echoproperties at start of main runTests2.xml (after inits)" />
- <echoproperties />
- <property
- name="test.xml"
- value="${WORKSPACE}/sdk.tests/testScripts/runTests.xml" />
-
+ <target
+ name="initTargetPlatform"
+ unless="testPlatform">
<condition
property="testPlatform"
value="win7-64">
@@ -433,6 +307,10 @@
</condition>
<echo message="os ws arch ${osgi.os} ${osgi.ws} ${osgi.arch}" />
<echo message="testPlatform ${testPlatform}" />
+ </target>
+
+ <target name="downloadTargetPlatform">
+ <!-- TODO: should add checks for checksum integrity on downloads. Perhaps use mirror URLs? (though, that'd not effect production) -->
<fail
unless="testPlatform"
message="testPlatform did not match any of the supported combinations of osgi.os, osgi.ws, osgi.arch" />
@@ -481,119 +359,198 @@
<echo message="getArtifacts ${getArtifacts}" />
<antcall target="${getArtifacts}" />
- <!--
- Try using "loadproperties", insstead of "properties file=" to see if
- that will "evaluate" variables as loaded. Otherwise, the <properties form
- has to move to "top of file" ... outer scope?
- <property file="${eclipseBuilderDir}/eclipse/buildConfigs/sdk.tests/testConfigs/${testPlatform}/testing.properties" />
- -->
+ </target>
+
+ <target
+ name="initPlatformSpecificProperties"
+ depends="initTargetPlatform"
+ unless="platformSpecificPropertiesInitialized">
<property
- name="testingPropertiesfile"
- value="${eclipseBuilderDir}/sdk.tests/testConfigs/${testPlatform}/testing.properties" />
+ name="configurationDir"
+ value="${WORKSPACE}/eclipse.platform.releng.aggregator/production/testScripts/configuration" />
+ <property
+ name="platformSpecificProperties"
+ value="${configurationDir}/sdk.tests/testConfigs/${testPlatform}/platformSpecific.properties" />
<loadproperties>
- <file file="${testingPropertiesfile}" />
+ <file file="${platformSpecificProperties}" />
</loadproperties>
+ <property
+ name="platformSpecificPropertiesInitialized"
+ value="true" />
- <echo message="DEBUG: testingPropertiesfile: ${testingPropertiesfile}" />
- <echo message="buildId: ${buildId}" />
-<!--
- <property
- name="tester"
- value="${executionDir}" />
--->
- <echo message="DEBUG: testDir: ${testDir}" />
- <echo message="DEBUG: executionDir: ${executionDir}" />
-
- <!--if executiondir starts with c:\ you'll need to escape it so it can load the filename properly with java
- <pathconvert
- targetos="unix"
- property="windowsfile">
- <path location="${executionDir}" />
- </pathconvert>
- <echo message="windowsfile ${windowsfile}" />
- <property
- name="p2executionDir"
- value="${windowsfile}" />
- -->
- <!--
- <replace
- file="${eclipseBuilderDir}/sdk.tests/testConfigs/${testPlatform}/equinoxp2tests.properties"
- token="@executionDir@"
- value="${p2executionDir}" />
- <replace
- file="${eclipseBuilderDir}/sdk.tests/testConfigs/${testPlatform}/equinoxp2tests.properties"
- token="@buildId@"
- value="${buildId}" />
- <replace
- file="${eclipseBuilderDir}/sdk.tests/testConfigs/${testPlatform}/equinoxp2tests.properties"
- token="@org.eclipse.equinox.p2.tests.current.build.repo@"
- value="${currentbuildrepo}" />
- -->
-
- <!--
- <loadproperties srcfile="${eclipseBuilderDir}/sdk.tests/testConfigs/${testPlatform}/equinoxp2tests.properties" />
- -->
+ </target>
- <echo message="executionDir ${executionDir}" />
+ <target
+ name="runTests2"
+ depends="init, downloadTargetPlatform">
<copy
todir="${executionDir}"
verbose="true">
- <fileset dir="${eclipseBuilderDir}/sdk.tests/testConfigs/${testPlatform}" />
+ <fileset dir="${configurationDir}/sdk.tests/testConfigs/${testPlatform}" />
</copy>
<copy
verbose="true"
todir="${executionDir}"
overwrite="true">
- <fileset dir="${eclipseBuilderDir}/sdk.tests/testScripts" />
+ <fileset dir="${configurationDir}/sdk.tests/testScripts" />
</copy>
- <antcall target="configure.team.cvs.test" />
- <echo message="test.xml: ${test.xml}" />
- <echo message="Echo Properties in runTest2, right before calling test.xml: ${test.xml}" />
<echoproperties
- destfile="${WORKSPACE}/productionFromRunTest2.properties" />
- <ant antfile="${test.xml}">
- </ant>
+ description="Echo all properties in runTest2 after all is initialized, shortly before tests are ran."
+ destfile="${WORKSPACE}/propertiesAllFromRunTest2.properties" />
+ <!--
+ TODO: seems this unzip could/should be moved to test.xml? To do once only,
+ of course, if not already done.
+ We (sort of) do in test.xml. See its setupRepo task.
+-->
+ <property
+ name="repoZip"
+ value="${executionDir}/eclipse-junit-tests-${buildId}.zip" />
+ <echo message="repoZip: ${repoZip}" />
+ <antcall target="unzipTestFramework" />
+
+ <!--
+ We print these properties to a file primarily to capture variables that
+ might have been set in Hudson, which do not "survive" going through the
+ bat or script files. ... Though, makes me wonder if we really need to do that?
+ Seems we could call test.xml directly?
+ In principle, we could call printProperty from anywhere,
+ but seems best to centralize the function.
+ -->
+ <antcall target="printProductionProperties" />
+
+ <!--
+ The PHP properties are useful to display (directly or indirectly)
+ on "test results" page (such as "testPlatform" headings).
+ -->
+ <antcall target="printMainPropertiesAsPHP" />
+
+ <!--
+ following are all required by "runtests" ... used to be part of it, but wanted these
+ variables to print out, even if merely testing scripts, but not actually running tests.
+ -->
+ <condition
+ property="executionArguments"
+ value="/c ${testScript}">
+ <and>
+ <os family="windows" />
+ </and>
+ </condition>
+ <property
+ name="executionArguments"
+ value="${testScript}" />
+
+ <echo message="=== properties for runTests executable:" />
+ <echo message=" = properties used in exec task:" />
+ <echo message=" executionDir ${executionDir}" />
+ <echo message=" testExecutable ${testExecutable}" />
+ <echo message=" testScript ${testScript}" />
+ <echo message=" executionArguments ${executionArguments}" />
+ <echo message=" = properties set as env variables:" />
+ <echo message=" propertiesFile: ${WORKSPACE}/production.properties" />
+ <echo message=" jvm: ${jvm}" />
+ <echo message=" testedPlatform: ${testedPlatform}" />
+
+ <antcall target="runtests" />
</target>
- <!--
- This streamSpecificInit target was copied from buildAll.xml and does about exactly the same thing,
- purposely left close to original, though not as much is actually required.
- TODO: in future, pull out into one file, and reuse
+ <target
+ name="printProductionProperties"
+ depends="init">
+ <!--
+ here we want to print properties, such as passed in via Hudson,
+ that can be used later, by test.xml, but since it is started by as seperate
+ processes, there is no direct access to Hudson properties ...
+ so we make them persistent. In many cases, the property will not be defined,
+ in which case we do not want to write anythng for that property (or, it
+ will appear to have been set, even if set to an empty string).
+ -->
- Its purpose, here, is entirely to pick up "stream specific" stings from the releng maps
- project, 'configuration' folder.
+ <printProperty property="buildId" />
+ <printProperty property="buildType" />
+ <printProperty property="eclipseStream" />
+ <printProperty property="previousReleaseVersion" />
+ <printProperty property="osgi.os" />
+ <printProperty property="osgi.ws" />
+ <printProperty property="osgi.arch" />
+ <printProperty property="DOWNLOAD_HOST" />
+ <printProperty property="ARCHIVE_HOST" />
+ <printProperty property="executionDir" />
+ <printProperty property="configurationDir" />
+ <printProperty property="args" />
+ <printProperty property="skipDerby" />
+ <printProperty property="test.target" />
+ <printProperty property="testExecutable" />
+ <printProperty property="testScript" />
+ <printProperty property="jvm" />
+ <printProperty property="javaversionEscaped" />
+ <printProperty property="javaMajorVersion" />
+ <printProperty property="testedPlatform" />
+ <!--
+ The following will leave pw in file, which is not a lot different that
+ leave them printed in log, as we also do. But, could be improved by just leaving
+ filename in properties, and reading them in at the time needed in test.xml.
+ -->
+ <printProperty property="cvstest.properties" />
- Important note: here, unlike the one in buildAll.xml, we assume the maps have already
- been checked out, say by hudson, as a peer of eclipseBuilder, rather then us doing
- the checkout here, ourselves. Not sure which is easier, but current means hudson job
- has to be set up with two git checkout steps, right version for maps (for 3.8 vs 4.2).
+ </target>
- -->
- <target
- name="streamSpecificInit"
- unless="streamSpecificInitComplete"
- depends="initBuildType, initStreamVariables,hudson-init">
- <echo message="DEBUG: executing streamSpecificInit" />
+ <macrodef name="printProperty">
+ <!-- the use of properyfile and local require at least Ant 1.8 -->
+ <attribute name="property" />
+ <sequential>
+ <echo message="DEBUG @{property}: ${@{property}}" />
+ <!--
+ for our use, 'del' operation won't typcially delete anything,
+ since would not have been there to begin with, but is an easy way to
+ prevent an undefined property from being written
+ -->
+ <local name="oper" />
+ <condition
+ property="oper"
+ value="="
+ else="del">
+ <isset property="@{property}" />
+ </condition>
+ <propertyfile file="${WORKSPACE}/production.properties">
+ <entry
+ key="@{property}"
+ value="${@{property}}"
+ operation="${oper}" />
+ </propertyfile>
+ </sequential>
+ </macrodef>
- <!-- if not specified on command line, assume files come from 'download.eclipse.org' -->
- <property
- name="DOWNLOAD_HOST"
- value="download.eclipse.org" />
- <property
- name="ARCHIVE_HOST"
- value="archive.eclipse.org" />
- <property
- name="configurationLocation"
- value="${WORKSPACE}/eclipse.platform.releng.aggregator/production/testScripts/configuration" />
+ <!--
+ This initStreamSpecificVariables target was copied from buildAll.xml and does about exactly the same thing,
+ purposely left close to original, though not as much is actually required.
+ TODO: in future, pull out into one file, and reuse
+ You can tell from comment, it is outdated.
+
+ Its purpose, here, is entirely to pick up "stream specific" stings from the releng maps
+ project, 'configuration' folder.
+
+ Important note: here, unlike the one in buildAll.xml, we assume the maps have already
+ been checked out, say by hudson, as a peer of eclipseBuilder, rather then us doing
+ the checkout here, ourselves. Not sure which is easier, but current means hudson job
+ has to be set up with two git checkout steps, right version for maps (for 3.8 vs 4.2).
+ -->
+ <target
+ name="initStreamSpecificVariables"
+ unless="initStreamSpecificVariablesComplete"
+ depends="initWorkspace,initBuildType, initStreamVariables,initDownloadHosts">
+ <echo message="DEBUG: executing initStreamSpecificVariables" />
<!--
these condidtions used to be in "init". Conceptually seems right to be in "stream
- specific" init (since their value depends on stream) but may have side effects?)
+ specific" init (since their value depends on stream) but may have side effects?).
+ This is really no longer relevent, as everythign we build/tests comes from
+ "drops4" ... but will leave in case we ever have a "drops5" ... or, have to
+ back port tests to re-test 3.8! (Which, we propably do, for 3.8?)
-->
<condition
property="dropsDirSegment"
@@ -604,46 +561,67 @@
arg2="4" />
</condition>
- <copy
- verbose="true"
- failonerror="true"
- todir="${WORKSPACE}"
- overwrite="true">
- <fileset dir="${configurationLocation}/">
- <include name="**" />
- </fileset>
- </copy>
-
-
- <!-- The reading/loading of the these streamSpecific-build.properties
- is critical to several stream specific areas of code, so may have to be moved
- "earlier"? Made it own task for depends on clauses? -->
- <loadproperties srcFile="${WORKSPACE}/streamSpecific-build.properties" />
+ <loadproperties srcFile="${configurationDir}/streamSpecific.properties" />
- <!-- echo a few typically expected properties, to make sure getting right file -->
+ <!-- echo a few typically expected properties, to make sure getting right file -->
<echo message="streamSpecificPropertiesTitle: ${streamSpecificPropertiesTitle}" />
<echo message="apiTestsPreviousBaseDLBaseURL: ${apiTestsPreviousBaseDLBaseURL}" />
<echo message="apiTestsPreviousBaseWin32Filename: ${apiTestsPreviousBaseWin32Filename}" />
-<!-- now that we have maps (and we already have eclipseBuider from
- masterBuild.sh, before calling buildAll.xml, then now its time to "overlay"
- the stream specific files of eclipseBuild that are in the maps project, in
- the folder named /org.eclipse.releng/configuration/eclipseBuilderOverlays -->
-<!-- TODO: semi hard code for now, figure out variables later maybe
- do away with "supportDir" segment? maybe call 'base' and other variables
- 'eclipsebulder.base'? -->
-
<property
- name="eclipseBuilderDir"
- value="${WORKSPACE}/eclipse.platform.releng.aggregator/production/testScripts/configuration" />
-
- <property
- name="streamSpecificInitComplete"
+ name="initStreamSpecificVariablesComplete"
value="true" />
</target>
+ <!--
+ DOWNLOAD_HOST and ARCHIVE_HOST can be defined on command line,
+ if running on local test environments.
+ -->
+ <target
+ name="initDownloadHosts"
+ unless="DOWNLOAD_HOST">
+ <!-- we assume if "DOWNLOAD_HOST" is defined, then ARCHIVE_HOST has been defined also. -->
+ <property environment="env" />
+ <echo message="DEBUG: Found DOWNLOAD_HOST not defined. Setting in 'initDownloadHosts'" />
+ <echo message="DEBUG: env.DOWNLOAD_HOST: ${env.DOWNLOAD_HOST}" />
+ <condition
+ property="DOWNLOAD_HOST"
+ value="${env.DOWNLOAD_HOST}"
+ else="download.eclipse.org">
+ <isset property="env.DOWNLOAD_HOST" />
+ </condition>
+ <condition
+ property="ARCHIVE_HOST"
+ value="${env.ARCHIVE_HOST}"
+ else="archive.eclipse.org">
+ <isset property="env.ARCHIVE_HOST" />
+ </condition>
+ </target>
+
+ <target
+ name="initWorkspace"
+ unless="WORKSPACE">
+ <property environment="env" />
+ <condition
+ property="WORKSPACE"
+ value="${env.WORKSPACE}"
+ else="${basedir}">
+ <isset property="env.WORKSPACE" />
+ </condition>
+ </target>
+
+
+ <target
+ name="initBuildId"
+ unless="buildId">
+ <!--property file that can contain the buildId, if not otherwise set -->
+ <property file="label.properties" />
+ <fail
+ unless="buildId"
+ message="buildId (e.g I20140731-0800) needs to be provided to run the tests" />
+ </target>
<target name="initBuildType">
@@ -664,12 +642,14 @@
unless="buildIdOK" />
<script language="javascript">
+ <![CDATA[
var buildId = project.getProperty("buildId");
var pattern = new RegExp(/^([IMXYNPSR])(\d{8})-(\d{4})$/);
var sArray = pattern.exec(buildId);
// sArray 0 is "whole match"
project.setProperty("buildType", sArray[1]);
+ ]]>
</script>
@@ -679,7 +659,10 @@
main purpose of initStreamVariables, it to be sure we have eclipseStreamMajor and eclipseStreamMinor
Uses script, which requires Java 1.6 (or ... else gets complicated to setup)
-->
- <target name="initStreamVariables">
+ <target
+ name="initStreamVariables"
+ unless="streamVariablesInitialized">
+ <property file="${configurationDir}/streamSpecific-build.properties" />
<fail
unless="eclipseStream"
message="eclipseStream value must be provided by caller, such as '4.3' or '4.4.2." />
@@ -693,25 +676,20 @@
unless="streamOK" />
<script language="javascript">
+ <![CDATA[
var eclipseStream = project.getProperty("eclipseStream");
var pattern = new
RegExp(/(\d+)\.(\d+)(\.(\d+))?/);
-
var sArray = pattern.exec(eclipseStream);
// sArray[0] is "whole match"
project.setProperty("eclipseStreamMajor", sArray[1]);
project.setProperty("eclipseStreamMinor", sArray[2]);
- // we don't
- // currently worry about eclipseStreamService, since
- // not currently used, but if needed, it will sometimes be
- // present, and
- // sometiems not. We can assume "0" when not,
- // but we'd have to check length of array so we would know
- // that to assume/assign
- // based on if provided, or not.
- // project.setProperty("eclipseStreamService", sArray[3]);
- project.setProperty("updateSiteSegment", sArray[1] + "." +
- sArray[2]);
+ // zero based: index 3 is 4th item, etc, and we have digit only in a nested group (due to optional)
+ if (sArray.length > 4) {
+ project.setProperty("eclipseStreamService", sArray[4]);
+ }
+ project.setProperty("updateSiteSegment", sArray[1] + "." + sArray[2]);
+ ]]>
</script>
<fail
@@ -720,15 +698,516 @@
<fail
unless="eclipseStreamMinor"
message="eclipseStreamMinor not defined or computable" />
- <!--
- <fail
- unless="eclipseStreamService"
- message="eclipseStreamService not defined or computable" />
+ <!-- eclipseStreamService may not always be defined? And we do not currently use it.
+ <fail
+ unless="eclipseStreamService"
+ message="eclipseStreamService not defined or computable" />
-->
<fail
unless="updateSiteSegment"
message="updateSiteSegment not defined or computable" />
+ <property
+ name="streamVariablesInitialized"
+ value="true" />
</target>
+ <target
+ name="initBasicDirectories"
+ depends="initWorkspace,initBuildId,initPlatformSpecificProperties,setJavaMajorVersion"
+ unless="basicDirectoriesInitialized">
+
+ <!-- <property environment="env" /> -->
+
+ <property
+ name="relengBaseBuilderDir"
+ value="${WORKSPACE}/org.eclipse.releng.basebuilder" />
+ <property
+ name="configurationDir"
+ value="${WORKSPACE}/eclipse.platform.releng.aggregator/production/testScripts/configuration" />
+
+ <property
+ name="testDir"
+ value="${WORKSPACE}/workarea/${buildId}" />
+ <echo message="testDir: ${testDir}" />
+
+ <property
+ name="executionDir"
+ value="${testDir}/eclipse-testing" />
+ <mkdir dir="${executionDir}" />
+ <echo message="executionDir: ${executionDir}" />
+
+ <property
+ name="testedPlatform"
+ value="${osgi.os}.${osgi.ws}.${osgi.arch}_${javaMajorVersion}" />
+
+ <!-- The directory that will contain all files containing information on the tests that ran.-->
+ <property
+ name="results"
+ value="${executionDir}/results" />
+
+ <mkdir dir="${results}" />
+ <mkdir dir="${results}/xml" />
+ <mkdir dir="${results}/html" />
+ <echo message="results: ${results}" />
+
+
+ <!--Directory for JUnit report output, console log output and .log content for each test suite.
+ Overrides default in org.eclipse.test/library.xml-->
+ <property
+ name="junit-report-output"
+ value="${results}/${testedPlatform}" />
+ <mkdir dir="${junit-report-output}" />
+ <echo message="junit-report-output: ${junit-report-output}" />
+
+ <!--default directory where test-eclipse-sdk will be installed-->
+ <property
+ name="install"
+ value="${executionDir}/test-eclipse" />
+ <mkdir dir="${install}" />
+ <echo message="install: ${install}" />
+
+
+ <!-- The root of the eclipse installation -->
+ <property
+ name="eclipse-home"
+ value="${install}/eclipse" />
+ <mkdir dir="${eclipse-home}" />
+ <echo message="eclipse-home: ${eclipse-home}" />
+
+ <property
+ name="repoLocation"
+ value="${executionDir}/testRepo" />
+ <echo message="repoLocation: ${repoLocation}" />
+
+ <!--
+ mostly putting previous platform here, since p2 looks for exactly one
+ occurance of "platform-eclipse-" under executionDir, and if it finds two,
+ it won't "find" any.
+ -->
+ <property
+ name="platformLocation"
+ value="${executionDir}/platformLocation" />
+ <mkdir dir="${platformLocation}" />
+ <echo message="platformLocation: ${platformLocation}" />
+
+
+
+
+
+
+ <property
+ name="directorLogs"
+ value="${executionDir}/directorLogs" />
+ <mkdir dir="${directorLogs}" />
+ <echo message="directorLogs: ${directorLogs}" />
+
+ <!-- this dirctory, with some sort files are created during unit tests
+ ... need to find where to disable/enable jacoco -->
+ <property
+ name="coverage-output"
+ value="${results}/coverageIGNORE" />
+
+ <property
+ name="basicDirectoriesInitialized"
+ value="true" />
+ <echo message="basicDirectoriesInitialized" />
+ </target>
+
+ <!--
+ This task unzips the test framework that was built.
+ It includes misc. files, the Test Framework proper, and
+ a zipped up repo of the unit tests.
+ We also do this in "testAll" scripts ...?
+ TODO: investigate how to avoid doing there, if already done.
+ -->
+ <target name="unzipTestFramework">
+ <fail unless="testDir" />
+ <fail unless="buildId" />
+
+ <property
+ name="testResults"
+ value="${testDir}/testresults" />
+ <property
+ name="testFramework"
+ value="${testDir}/eclipse-Automated-Tests-${buildId}.zip" />
+
+ <condition property="testFrameworkExists">
+ <available file="${testFramework}" />
+ </condition>
+ <fail unless="testFrameworkExists" />
+
+ <echo message="testFramework: ${testFramework}" />
+ <echo message="testDir: ${testDir}" />
+ <echo message="testResults: ${testResults}" />
+
+ <!--set up testing directory-->
+ <unzip
+ src="${testFramework}"
+ dest="${testDir}"
+ overwrite="false">
+ <patternset>
+ <exclude name="**/equinoxp2tests.properties" />
+ <exclude name="**/test.xml" />
+ </patternset>
+ </unzip>
+ </target>
+
+ <target
+ name="runtests"
+ depends="init"
+ unless="env.TESTING_TEST_XML">
+
+ <!--run the tests-->
+ <exec
+ dir="${executionDir}"
+ executable="${testExecutable}">
+ <arg line="${executionArguments}" />
+ <!-- TODO: args comes all the way from Hudson. Should be renamed "testSuites" or similar. -->
+ <arg value="${args}" />
+ <env
+ key="propertyFile"
+ file="${WORKSPACE}/production.properties" />
+ <env
+ key="jvm"
+ file="${jvm}" />
+ <env
+ key="testedPlatform"
+ value="${testedPlatform}" />
+ </exec>
+ </target>
+
+ <!--
+ Prints properties in "PHP form" to use on test results summary,
+ to be sure accurate and meaningful.
+ -->
+ <target
+ name="printMainPropertiesAsPHP"
+ depends="init"
+ unless="printedMainPHPProperties">
+
+ <property
+ name="EOL"
+ value="${line.separator}" />
+
+
+ <property
+ name="phpPropertyFile"
+ value="${junit-report-output}/testProperties.php" />
+
+ <!-- on first write to php file, don't append -->
+ <echo
+ message="&lt;?php${EOL}"
+ append="false"
+ file="${phpPropertyFile}" />
+ <escapeProperty property="ant.version" />
+ <printPHPProperty
+ phpvar="ANT_VERSION"
+ value="ant.versionEscaped" />
+ <printPHPProperty
+ phpvar="ANT_JAVA_VERSION"
+ value="ant.java.versionEscaped" />
+ <printPHPProperty
+ phpvar="INVOKED_JAVA_VERSION"
+ value="javaversionEscaped" />
+ <!--
+ Note: there might be times, the java.runtime.version at this point in time,
+ may not be quite right ... such as if invoked with some other VM with the intent of
+ using 'jvm' on "eclipse" command line ... which we currently do not do.
+ -->
+ <printPHPProperty
+ phpvar="JAVA_VERSION"
+ value="java.version" />
+ <printPHPProperty
+ phpvar="JAVA_MAJOR_VERSION"
+ value="javaMajorVersion" />
+ <printPHPProperty
+ phpvar="JAVA_RUNTIME_VERSION"
+ value="java.runtime.version" />
+ <printPHPProperty
+ phpvar="JAVA_VM_INFO"
+ value="java.vm.info" />
+ <printPHPProperty
+ phpvar="JAVA_SPECIFICATION_VERSION"
+ value="java.specification.version" />
+ <printPHPProperty
+ phpvar="JAVA_VENDOR"
+ value="java.vendor" />
+ <printPHPProperty
+ phpvar="OSGI_OS"
+ value="osgi.os" />
+ <printPHPProperty
+ phpvar="OSGI_WS"
+ value="osgi.ws" />
+ <printPHPProperty
+ phpvar="OSGI_ARCH"
+ value="osgi.arch" />
+ <!-- NODE_NAME will be empty string, if on master -->
+ <condition
+ property="hudsonSlave"
+ value="master">
+ <or>
+ <not>
+ <isset property="env.NODE_NAME" />
+ </not>
+ <equals
+ arg1="${env.NODE_NAME}"
+ arg2="" />
+ <equals
+ arg1="${env.NODE_NAME}"
+ arg2=" " />
+ </or>
+ </condition>
+ <!-- if not set above, we'll set to the non blank NODE_NAME -->
+ <property
+ name="hudsonSlave"
+ value="${env.NODE_NAME}" />
+
+ <printPHPProperty
+ phpvar="HUDSON_NODE_NAME"
+ value="hudsonSlave" />
+ <!--
+ I believe all (common) platforms have env variable for HOSTNAME.
+ If not, user might want to set/export to be meaningful.
+ (Surprisingly, it doesn't seem obvious that Hudson makes this available
+ in its process environment).
+ -->
+ <printPHPProperty
+ phpvar="HOSTNAME"
+ value="env.HOSTNAME" />
+ <printPHPProperty
+ phpvar="HUDSON_JOB_NAME"
+ value="env.JOB_NAME" />
+ <printPHPProperty
+ phpvar="HUDSON_BUILD_NUMBER"
+ value="env.BUILD_NUMBER" />
+ <printPHPProperty
+ phpvar="HUDSON_BUILD_URL"
+ value="env.BUILD_URL" />
+ <!--
+ With HUDSON_URL and WORKSPACE_PATH should be able
+ to figure out URL to WORKSPACE, though only temporarily
+ available (until next job is ran).
+ -->
+ <printPHPProperty
+ phpvar="HUDSON_URL"
+ value="env.HUDSON_URL" />
+ <printPHPProperty
+ phpvar="HUDSON_WORKSPACE"
+ value="env.WORKSPACE" />
+
+ <!--
+ We end with an empty line, but it is recommended to not
+ end included PHP files with "end PHP" marker.
+ -->
+ <echo
+ message="${EOL}"
+ append="true"
+ file="${phpPropertyFile}" />
+
+ <!-- set property so we only print these variables once -->
+ <property
+ name="printedMainPHPProperties"
+ value="true" />
+
+ </target>
+ <target
+ name="setJVMProperties"
+ depends="initPlatformSpecificProperties,setJVMfromUserSpecified"
+ unless="jvm">
+ <property
+ name="VMSource"
+ value="VM used for tests, is same that invoked Ant: '${java.home}/bin/java' (that is, 'jvm' not specified by caller)." />
+ <echo message="VMSource: ${VMSource}" />
+ <!--
+ Remember, we don't want J2SE-X.0 set at all, if there is nothing
+ that can run tests that require that level.
+ -->
+ <property
+ name="jvm"
+ value="${java.home}/bin/java" />
+
+ <exec
+ executable="${jvm}"
+ outputproperty="javaversion">
+ <arg line="-version" />
+ </exec>
+ <echo message="full output from 'java -version' of ${jvm} is " />
+ <echo message="${javaversion}" />
+ <escapeProperty property="javaversion" />
+ <echo message="full output from 'java -version' of ${jvm} is " />
+ <echo message="${javaversionEscaped}" />
+
+ <!--enable tests requiring 1.5 or or greater vms to run if running vm level detected matches required execution environment-->
+ <condition
+ property="J2SE-8.0"
+ value="${jvm}">
+ <matches
+ string="${javaversionEscaped}"
+ pattern='^.*java version .*1\.[8]' />
+ </condition>
+ <condition
+ property="J2SE-7.0"
+ value="${jvm}">
+ <matches
+ string="${javaversionEscaped}"
+ pattern='^.*java version .*1\.[78]' />
+ </condition>
+ <condition
+ property="J2SE-6.0"
+ value="${jvm}">
+ <matches
+ string="${javaversionEscaped}"
+ pattern='^.*java version .*1\.[678]' />
+ </condition>
+ <condition
+ property="J2SE-5.0"
+ value="${jvm}">
+ <matches
+ string="${javaversionEscaped}"
+ pattern='^.*java version .*1\.[5678]' />
+ </condition>
+ <echo
+ level="info"
+ message="DEBUG: values from setJVMfromUserSpecified" />
+ <echo message="J2SE-8.0: ${J2SE-8.0}" />
+ <echo message="J2SE-7.0: ${J2SE-7.0}" />
+ <echo message="J2SE-6.0: ${J2SE-6.0}" />
+ <echo message="J2SE-5.0: ${J2SE-5.0}" />
+ </target>
+ <target
+ name="setJVMfromUserSpecified"
+ if="jvm"
+ unless="javaversionEscaped">
+
+ <property
+ name="VMSource"
+ value="VM used for tests, specified by caller: 'jvm'=${jvm}" />
+ <echo message="VMSource: ${VMSource}" />
+ <!--
+ Remember, we don't want J2SE-X.0 set at all, if there is nothing
+ that can run tests that require that level.
+ -->
+ <exec
+ executable="${jvm}"
+ outputproperty="javaversion">
+ <arg line="-version" />
+ </exec>
+ <echo message="full output from 'java -version' of ${jvm} is " />
+ <echo message="${javaversion}" />
+ <escapeProperty property="javaversion" />
+ <echo message="full output from 'java -version' of ${jvm} is " />
+ <echo message="${javaversionEscaped}" />
+
+ <condition
+ property="J2SE-8.0"
+ value="${jvm}">
+ <matches
+ string="${javaversionEscaped}"
+ pattern='^.*java version .*1\.[8]' />
+ </condition>
+ <condition
+ property="J2SE-7.0"
+ value="${jvm}">
+ <matches
+ string="${javaversionEscaped}"
+ pattern='^.*java version .*1\.[78]' />
+ </condition>
+ <condition
+ property="J2SE-6.0"
+ value="${jvm}">
+ <matches
+ string="${javaversionEscaped}"
+ pattern='^.*java version .*1\.[678]' />
+ </condition>
+ <condition
+ property="J2SE-5.0"
+ value="${jvm}">
+ <matches
+ string="${javaversionEscaped}"
+ pattern='^.*java version .*1\.[5678]' />
+ </condition>
+ <echo
+ level="info"
+ message="DEBUG: values from setJVMfromUserSpecified" />
+ <echo message="J2SE-8.0: ${J2SE-8.0}" />
+ <echo message="J2SE-7.0: ${J2SE-7.0}" />
+ <echo message="J2SE-6.0: ${J2SE-6.0}" />
+ <echo message="J2SE-5.0: ${J2SE-5.0}" />
+ </target>
+ <!--
+ function to centralize how we get (that is, set) the value of
+ 'javaMajorVersion'. (expected to be integter, such as 5,6,7,8,9,
+ or will be "0" if the version could not be determined, for some reason.
+ -->
+
+ <target
+ name="setJavaMajorVersion"
+ depends="setJVMProperties"
+ unless="javaMajorVersion">
+
+ <echo message="javaversion in setJavaMajorVersion: ${javaversionEscaped}" />
+ <script language="javascript">
+
+ <!--
+ technically does not have to be wrapped in "CDATA" (Ant and BSD define
+ it that way, but if not done, other tools (such as XML Editor) can
+ break the code by changing the formatting.
+ -->
+ <![CDATA[
+ var javaVer = project.getProperty("javaversionEscaped");
+ var pattern = new RegExp(/^.*1\.([456789]\.\d)/);
+ var sArray = pattern.exec(javaVer);
+ // sArray 0 is "whole match"
+ // so can always exist if any match,
+ // but can be null if no match?
+ // For safety from programing
+ // errors, we'll check for null and length
+ if (sArray != null) {
+ var length = sArray.length;
+ if (length > 1) {
+ project.setProperty("javaMajorVersion", sArray[1]);
+ } else {
+ project.setProperty("javaMajorVersion", "0");
+ }
+ }
+ ]]>
+ </script>
+ </target>
+
+ <macrodef name="printPHPProperty">
+ <attribute name="phpvar" />
+ <attribute name="value" />
+ <sequential>
+ <!-- DEBUG <echo message="@{value}" /> -->
+ <condition
+ property="printValue@{value}"
+ value="${@{value}}"
+ else="NotSet">
+ <isset property="@{value}" />
+ </condition>
+ <echo
+ message="$@{phpvar}=&quot;${printValue@{value}}&quot;;${EOL}"
+ file="${phpPropertyFile}"
+ append="true" />
+ </sequential>
+ </macrodef>
+ <macrodef name="escapeProperty">
+ <!-- the use of properyfile and local require at least Ant 1.8 -->
+ <attribute name="property" />
+ <sequential>
+ <echo message="DEBUG @{property}: ${@{property}}" />
+ <loadresource property="@{property}Escaped">
+ <propertyresource name="@{property}" />
+ <filterchain>
+ <tokenfilter>
+ <filetokenizer />
+ <replacestring
+ from='"'
+ to='\"' />
+ </tokenfilter>
+ </filterchain>
+ </loadresource>
+ </sequential>
+ </macrodef>
</project>
diff --git a/production/testScripts/test_runTests2.xml.sh b/production/testScripts/test_runTests2.xml.sh
new file mode 100644
index 00000000..978a5f7d
--- /dev/null
+++ b/production/testScripts/test_runTests2.xml.sh
@@ -0,0 +1,82 @@
+#!/usr/bin/env bash
+
+
+# Utility to test the runTests2.xml file. It's intended to allow rapid confirmation
+# that the runTests2.xml file computes correct values, for various versions platforms
+# and various versions of java and ant, etc.
+
+# In particular, ant can be invoked with one version of java, but another version
+# of java used to actually run the tests.
+
+# In addition to the console output. which should be captured, with something like
+# ./testTextXMLScript.sh | tee testoutput.txt
+# some data or set-up files will be created as they normally would if running the real tests.
+# The can be checked to be sure they are correct, and in correct (relative) locations.
+
+# unset some common variables which we don't want (or, set ourselves)
+unset JAVA_HOME
+unset JAVA_ROOT
+unset JAVA_JRE
+unset CLASSPATH
+unset JAVA_BINDIR
+unset JRE_HOME
+
+function clean()
+{
+
+ echo -e "\n Cleaning previous results, as requested."
+ # remember, do not want to rm "out.txt" since we are currently piping to it via 'tee'.
+ rm -fr eclipse.platform.releng.aggregator/ eclipse.platform.releng.aggregator-master.zip eclipse.platform.releng.basebuilder-R38M6PlusRC3G/ getEBuilder.xml org.eclipse.releng.basebuilder/ runTests2.xml tempEBuilder/
+
+ rm -fr production.properties propertiesAllFromRunTest2.properties sdk.tests streamSpecific-build.properties workarea
+
+}
+
+source localbuildproperties.shsource
+# Different versions of Ant are specified here in test script, just to confirm
+# nothing is specific to any recent version of ant. (Though, some of the machines
+# have ant 1.6 set as 'default'!)
+#export ANT_HOME=/shared/common/apache-ant-1.7.1
+export ANT_HOME=/shared/common/apache-ant-1.8.4/
+#export ANT_HOME=/shared/common/apache-ant-1.9.2
+
+# JAVA_HOME is, at least, what runs the ant instance. If no 'jvm' option is specified,
+# it also becomes the instance that runs the tests.
+#export JAVA_HOME=/shared/common/jdk1.5.0-latest
+#export JAVA_HOME=/shared/common/jdk1.6.0-latest
+#export JAVA_HOME=/shared/common/jdk1.7.0-latest
+#export JAVA_HOME=/shared/common/jdk1.8.0_x64-latest
+export JAVA_HOME=/shared/common/jdk1.7.0-latest
+export WORKSPACE=/home/davidw/tempworkarea/
+export PATH=${JAVA_HOME}/bin:${ANT_HOME}/bin:/usr/local/bin:/usr/bin:/bin:${HOME}/bin
+
+# This variable signals parts of the script that we are testing the test scripts,
+# and should not actually start the tests.
+export TESTING_TEST_XML=true
+
+if [[ "$1" == "-c" ]]
+then
+ clean
+fi
+
+# There are a number of test-<something> methods in test xml which, by convention, mean
+# to simply test the test script itself. The test-all target runs all of those tests.
+
+# Note: currently this file always comes from master, no matter what branch is being built/tested.
+wget -O getEBuilder.xml --no-verbose http://davidw.com/c/platform/eclipse.platform.releng.aggregator.git/plain/production/testScripts/hudsonBootstrap/getEBuilder.xml 2>&1
+
+# Can only test the "download form" if there is a current, accurate build. During development, should use git/master version.
+# The getEBuilder.xml fill invoke "getBaseBuilder.xml" as well.
+# if that is not desired, set -DskipBaseBuilder=true
+# ant -f getEBuilder.xml -DskipBaseBuilder=true -DdownloadURL=http://davidw.com/eclipse/downloads/drops4/M20140815-1230 -DEBUILDER_HASH=c287de2936649dba467d0f208b302be7136de6cc
+ant -f getEBuilder.xml
+#-DskipBaseBuilder=true
+
+ANTFILE=eclipse.platform.releng.aggregator/production/testScripts/runTests2.xml
+buildId=M20140815-1230
+eclipseStream=4.1.1
+EBUILDER_HASH=c287de2936649dba467d0f208b302be7136de6cc
+
+java -Djava.io.tmpdir=${WORKSPACE}/tmp -DDOWNLOAD_HOST=davidw.com -Xmx500m -jar $WORKSPACE/org.eclipse.releng.basebuilder/plugins/org.eclipse.equinox.launcher.jar -DbuildId=$buildId -DeclipseStream=$eclipseStream -Dosgi.os=linux -Dosgi.ws=gtk -Dosgi.arch=x86_64 -DEBUILDER_HASH=${EBUILDER_HASH} -application org.eclipse.ant.core.antRunner -v -f ${ANTFILE} -Djava.io.tmpdir=${WORKSPACE}/tmp -DDOWNLOAD_HOST=davidw.com -Dtest.target=performance -DskipDerby=true
+
+

Back to the top