From 860590828fef3de9562577e5c38fe37e71736b25 Mon Sep 17 00:00:00 2001 From: David Williams Date: Tue, 19 Aug 2014 02:12:23 -0400 Subject: Bug 441889 - refactor "production test scripts" --- .../testConfigs/linux/equinoxp2tests.properties | 33 - .../testConfigs/linux/org.eclipse.core.net.prefs | 11 - .../testConfigs/linux/platformSpecific.properties | 42 + .../sdk.tests/testConfigs/linux/testAll.sh | 55 +- .../sdk.tests/testConfigs/linux/testing.properties | 22 - .../sdk.tests/testConfigs/linux/vm.properties | 28 - .../testConfigs/linux32/equinoxp2tests.properties | 33 - .../testConfigs/linux32/org.eclipse.core.net.prefs | 11 - .../linux32/platformSpecific.properties | 42 + .../sdk.tests/testConfigs/linux32/testAll.sh | 57 +- .../testConfigs/linux32/testing.properties | 43 - .../sdk.tests/testConfigs/linux32/vm.properties | 26 - .../testConfigs/macmini/equinoxp2tests.properties | 33 - .../testConfigs/macmini/org.eclipse.core.net.prefs | 11 - .../macmini/platformSpecific.properties | 41 + .../testConfigs/macmini/testing.properties | 39 - .../sdk.tests/testConfigs/macmini/vm.properties | 23 - .../testConfigs/macosx/equinoxp2tests.properties | 33 - .../testConfigs/macosx/org.eclipse.core.net.prefs | 11 - .../testConfigs/macosx/platformSpecific.properties | 48 + .../testConfigs/macosx/testing.properties | 41 - .../sdk.tests/testConfigs/macosx/vm.properties | 30 - .../testConfigs/win7-64/equinoxp2tests.properties | 33 - .../testConfigs/win7-64/org.eclipse.core.net.prefs | 11 - .../win7-64/platformSpecific.properties | 42 + .../testConfigs/win7-64/testing.properties | 39 - .../sdk.tests/testConfigs/win7-64/vm.properties | 25 - .../testConfigs/win7/equinoxp2tests.properties | 33 - .../testConfigs/win7/org.eclipse.core.net.prefs | 11 - .../testConfigs/win7/platformSpecific.properties | 42 + .../sdk.tests/testConfigs/win7/testing.properties | 40 - .../sdk.tests/testConfigs/win7/vm.properties | 32 - .../configuration/sdk.tests/testScripts/.gitignore | 3 - .../sdk.tests/testScripts/runTests.xml | 63 - .../sdk.tests/testScripts/runtests.sh | 87 +- .../configuration/sdk.tests/testScripts/test.xml | 1679 ++++++++++++++------ .../configuration/streamSpecific-build.properties | 29 - .../configuration/streamSpecific.properties | 30 + production/testScripts/genTestIndexes.xml | 5 +- production/testScripts/getBaseBuilder.xml | 418 +++-- .../testScripts/hudsonBootstrap/getEBuilder.sh | 13 +- .../testScripts/hudsonBootstrap/getEBuilder.xml | 207 +-- production/testScripts/invokeTestsJSON.xml | 5 +- production/testScripts/runTests2.xml | 1061 +++++++++---- production/testScripts/test_runTests2.xml.sh | 82 + 45 files changed, 2739 insertions(+), 1964 deletions(-) delete mode 100644 production/testScripts/configuration/sdk.tests/testConfigs/linux/equinoxp2tests.properties delete mode 100644 production/testScripts/configuration/sdk.tests/testConfigs/linux/org.eclipse.core.net.prefs create mode 100644 production/testScripts/configuration/sdk.tests/testConfigs/linux/platformSpecific.properties delete mode 100644 production/testScripts/configuration/sdk.tests/testConfigs/linux/testing.properties delete mode 100644 production/testScripts/configuration/sdk.tests/testConfigs/linux/vm.properties delete mode 100644 production/testScripts/configuration/sdk.tests/testConfigs/linux32/equinoxp2tests.properties delete mode 100644 production/testScripts/configuration/sdk.tests/testConfigs/linux32/org.eclipse.core.net.prefs create mode 100644 production/testScripts/configuration/sdk.tests/testConfigs/linux32/platformSpecific.properties delete mode 100644 production/testScripts/configuration/sdk.tests/testConfigs/linux32/testing.properties delete mode 100644 production/testScripts/configuration/sdk.tests/testConfigs/linux32/vm.properties delete mode 100644 production/testScripts/configuration/sdk.tests/testConfigs/macmini/equinoxp2tests.properties delete mode 100644 production/testScripts/configuration/sdk.tests/testConfigs/macmini/org.eclipse.core.net.prefs create mode 100644 production/testScripts/configuration/sdk.tests/testConfigs/macmini/platformSpecific.properties delete mode 100644 production/testScripts/configuration/sdk.tests/testConfigs/macmini/testing.properties delete mode 100644 production/testScripts/configuration/sdk.tests/testConfigs/macmini/vm.properties delete mode 100644 production/testScripts/configuration/sdk.tests/testConfigs/macosx/equinoxp2tests.properties delete mode 100644 production/testScripts/configuration/sdk.tests/testConfigs/macosx/org.eclipse.core.net.prefs create mode 100644 production/testScripts/configuration/sdk.tests/testConfigs/macosx/platformSpecific.properties delete mode 100644 production/testScripts/configuration/sdk.tests/testConfigs/macosx/testing.properties delete mode 100644 production/testScripts/configuration/sdk.tests/testConfigs/macosx/vm.properties delete mode 100644 production/testScripts/configuration/sdk.tests/testConfigs/win7-64/equinoxp2tests.properties delete mode 100644 production/testScripts/configuration/sdk.tests/testConfigs/win7-64/org.eclipse.core.net.prefs create mode 100644 production/testScripts/configuration/sdk.tests/testConfigs/win7-64/platformSpecific.properties delete mode 100644 production/testScripts/configuration/sdk.tests/testConfigs/win7-64/testing.properties delete mode 100644 production/testScripts/configuration/sdk.tests/testConfigs/win7-64/vm.properties delete mode 100644 production/testScripts/configuration/sdk.tests/testConfigs/win7/equinoxp2tests.properties delete mode 100644 production/testScripts/configuration/sdk.tests/testConfigs/win7/org.eclipse.core.net.prefs create mode 100644 production/testScripts/configuration/sdk.tests/testConfigs/win7/platformSpecific.properties delete mode 100644 production/testScripts/configuration/sdk.tests/testConfigs/win7/testing.properties delete mode 100644 production/testScripts/configuration/sdk.tests/testConfigs/win7/vm.properties delete mode 100644 production/testScripts/configuration/sdk.tests/testScripts/runTests.xml delete mode 100644 production/testScripts/configuration/streamSpecific-build.properties create mode 100644 production/testScripts/configuration/streamSpecific.properties create mode 100644 production/testScripts/test_runTests2.xml.sh 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 ac1e56b61..000000000 --- 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 a073528e3..000000000 --- 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 000000000..d7f296dff --- /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 /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 383aab740..000000000 --- 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 a9b81a87d..000000000 --- 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 ac1e56b61..000000000 --- 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 a073528e3..000000000 --- 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 000000000..fb20213d4 --- /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 /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 bbf89c451..000000000 --- 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 0e360eb88..000000000 --- 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 ac1e56b61..000000000 --- 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 a073528e3..000000000 --- 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 000000000..fb094be23 --- /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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ 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 c88398ab6..2db6ca688 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 72c9c61ce..e66e20a9f 100644 --- a/production/testScripts/configuration/sdk.tests/testScripts/test.xml +++ b/production/testScripts/configuration/sdk.tests/testScripts/test.xml @@ -1,14 +1,28 @@ - + - - - + + + - - + + - - + + - - + + - + - - - + + + @@ -43,7 +73,9 @@ - + @@ -51,52 +83,77 @@ - - - - + + + + - + - - + + - + - + - + - + - + - + - + @@ -110,7 +167,9 @@ - + @@ -120,7 +179,9 @@ - + @@ -129,13 +190,17 @@ --> - + - + @@ -144,7 +209,9 @@ - + @@ -154,17 +221,29 @@ - + - - + + - - + + - + @@ -172,46 +251,75 @@ - + - + - + - + - + - + - + - + - + -installExtraIU ${extraIU} + from current.build.repo: ${current.build.repo} into eclipse-home: ${eclipse-home} using launcher: ${launcherPath} - + @@ -229,23 +337,38 @@ - + - + - + -installTestIU ${testPlugin} + from ${repoLocation} into ${eclipse-home} using launcher: ${launcherPath} - + - + @@ -259,46 +382,73 @@ - - + + - + - + - - - - - - - - + + + + - + + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + @@ -401,24 +584,34 @@ - + - + - + - + - + @@ -426,33 +619,37 @@ - - - + + + - + - + - - - - - - + + - - + - + - + + - +--> - - - - - - - - - + + - + - - - - - - + + + + + + + - - + - - - - - - - - - - - + + + + + + + + + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - - + + - + - - - - - + + - - + + - - + + - - - - - - - - - - + + + + + + + + + + + + + - + - - - - - + + - - + + - - + + - + + + + - - - - - - + + + + - - - - + + + + + + + + + + + + + + + + + - + @@ -724,7 +1177,9 @@ - + - + - - + + + + - - + + - - + + - + - + - - + + trying to find ${testPlugin}_* - + - + trying to find ${testPluginX} - + - + - - + + - + - - - - - + + + + + - + trying to find ${testPlugin}_* - + - + trying to find ${testPluginX} - + - + @@ -810,75 +1323,118 @@ - - + + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -886,39 +1442,63 @@ - + - + - + - + - + - + - + - - + + - - + + @@ -928,8 +1508,12 @@ - - + + @@ -944,16 +1528,24 @@ - + - + - - + + @@ -967,8 +1559,12 @@ - - + + @@ -982,89 +1578,137 @@ - - + + - + - + - + - + - + - - + + - + - + - - + + - + - + - + - + - + - + - + - + - + - - + + @@ -1074,61 +1718,90 @@ - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - - + + @@ -1258,7 +1969,9 @@ - + @@ -1275,17 +1988,23 @@ --> - + - + - + @@ -1296,7 +2015,9 @@ - + @@ -1305,10 +2026,14 @@ - + - + @@ -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 --> - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1483,49 +2135,75 @@ --> - + - + - + - + - + - + - + - + - + - + - + - + @@ -1533,15 +2211,22 @@ - + - + - + @@ -1553,16 +2238,22 @@ - + - + - + diff --git a/production/testScripts/configuration/streamSpecific-build.properties b/production/testScripts/configuration/streamSpecific-build.properties deleted file mode 100644 index 9cdf9485b..000000000 --- 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 000000000..820637148 --- /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 904559627..b93b9a638 100644 --- a/production/testScripts/genTestIndexes.xml +++ b/production/testScripts/genTestIndexes.xml @@ -9,12 +9,14 @@ - - - - - - - + name="getBaseBuilder" + default="getBaseBuilder" + basedir="."> - - + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + value="Fetching from git via CGit, since not local" + else="Using local pre-cached version in ${basebuilderlocal}"> + + + + + + + + + + - - + + - - - - - - - + - - + + - - - - - - - - + + + + + + + + - - - - - + - - - - - + + + - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/production/testScripts/hudsonBootstrap/getEBuilder.sh b/production/testScripts/hudsonBootstrap/getEBuilder.sh index 345d05b8f..a8361e8e2 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 e5dc6da7a..031d28636 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 --> - - - - - - - - + - + + + + + + - - - + + + + + + + + - - - - - - - - - - + + + + + + + + + + + depends="init"> - - - + - - - + + + + - - - - - - - - - + src="http://${gitHost}/c/platform/${scmProject}.git/snapshot/${scmProject}-${EBUILDER_HASH}.zip" + dest="${WORKSPACE}/${scmProject}-${EBUILDER_HASH}.zip" /> + - + + - + @@ -217,14 +156,17 @@ + @@ -246,12 +188,14 @@ unless="EBuilderfetched"> - - + + @@ -268,11 +212,11 @@ unless="EBuilderfetched"> @@ -288,4 +232,15 @@ value="true" /> + + + + + + \ No newline at end of file diff --git a/production/testScripts/invokeTestsJSON.xml b/production/testScripts/invokeTestsJSON.xml index 4e54d57a4..6d614159f 100644 --- a/production/testScripts/invokeTestsJSON.xml +++ b/production/testScripts/invokeTestsJSON.xml @@ -136,12 +136,14 @@ diff --git a/production/testScripts/runTests2.xml b/production/testScripts/runTests2.xml index b502f93ec..5cdb42523 100644 --- a/production/testScripts/runTests2.xml +++ b/production/testScripts/runTests2.xml @@ -3,108 +3,21 @@ default="runTests2" basedir="."> - - - - - - - - - - - - - - - - - + depends="initWorkspace, initDownloadHosts, initBuildId, initBuildType, initBasicDirectories, initStreamSpecificVariables, initTargetPlatform, initPlatformSpecificProperties, initconfigure.team.cvs.test,setJavaMajorVersion" + unless="runTest2Initialized"> - - - - - - - - - - - + name="EOL" + value="${line.separator}" /> - - + @@ -112,43 +25,19 @@ - - - - - - - - - - - - + + + @@ -294,25 +185,14 @@ + depends="computeExpectedLocation,checkCVSPropExists,logNoExistence" + unless="cvstestPropertiesInitialized"> - - - - - - + + @@ -330,16 +210,10 @@ - - - - - + @@ -433,6 +307,10 @@ + + + + @@ -481,119 +359,198 @@ - + + + + name="configurationDir" + value="${WORKSPACE}/eclipse.platform.releng.aggregator/production/testScripts/configuration" /> + - + + - - - - - - - - - - + - + - + - + - - - - - + description="Echo all properties in runTest2 after all is initialized, shortly before tests are ran." + destfile="${WORKSPACE}/propertiesAllFromRunTest2.properties" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - 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). + - --> - - + + + + + + + + + + + + + + + - - - - + + + - - - - - - - - - + - + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -664,12 +642,14 @@ unless="buildIdOK" /> @@ -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) --> - + + @@ -693,25 +676,20 @@ unless="streamOK" /> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/production/testScripts/test_runTests2.xml.sh b/production/testScripts/test_runTests2.xml.sh new file mode 100644 index 000000000..978a5f7d6 --- /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- 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 + + -- cgit v1.2.3