blob: 935f5352a80b6924c1a6e08cdc05174b4639fe63 [file] [log] [blame]
#!/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 may be currently piping to it via 'tee'.
rm -fr ${WORKSPACE}/eclipse.platform.releng.aggregator/ eclipse.platform.releng.aggregator-master.zip getEBuilder.xml runTests2.xml tempEBuilder/
rm -fr ${WORKSPACE}/production.properties propertiesAllFromRunTest2.properties sdk.tests streamSpecific-build.properties workarea
}
source localBuildProperties.shsource 2>/dev/null
# 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.9.6
# 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.
JAVA_11_HOME=/opt/public/common/java/openjdk/jdk-11_x64-latest
export JAVA_HOME=${JAVA_HOME:-${JAVA_11_HOME}}
# added /opt/local/bin for 'port' version of wget, on Mac
export PATH=${JAVA_HOME}/bin:${ANT_HOME}/bin:/usr/local/bin:/usr/bin:/bin:${HOME}/bin:/opt/local/bin
# Be sure to set to a "fresh" non-cluttered area, so can be easily cleaned up.
export WORKSPACE=${HOME}/tempworkarea
# 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
#export ANT_OPTS=-Xms1024m -Xmx1024m -Djava.io.tmpdir=${WORKSPACE}/tmp
export ANT_OPTS=-Djava.io.tmpdir=${WORKSPACE}/tmp
mkdir -p ${WORKSPACE}/tmp
if [[ "$1" == "-c" ]]
then
clean
fi
if [[ -z "${GIT_HOST}" ]]
then
GIT_HOST=git.eclipse.org
fi
# print basic diagnostics and properties
ant -diagnostics
java -XshowSettings -version
# Note: currently this file always comes from master, no matter what branch is being built/tested.
wget -O ${WORKSPACE}/getEBuilder.xml --no-verbose https://${GIT_HOST}/c/platform/eclipse.platform.releng.aggregator.git/plain/production/testScripts/hudsonBootstrap/getEBuilder.xml 2>&1
# or test the local version, checked-out version from tree location,
# not necessarily checked in, yet, though many other
# files are still checked out.
# cp -v hudsonBootstrap/getEBuilder.xml ${WORKSPACE}/
# Can only test the "downloadURL form" if there is a current, accurate build.
# During development, should use git/master version. (Not sure what this downloads, then?)
ANTFILE=getEBuilder.xml
buildId=I20150320-0800
eclipseStream=4.21.0
EBUILDER_HASH=master
#EBUILDER_HASH=4295494c43e464a0c4ee39b7e0c847fbc3263f2a
# Record where we are executing from.
echo "PWD: $PWD"
# ? 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.
# MUST change the arch values here, then testing on other platforms!
ant -f "${WORKSPACE}/${ANTFILE}" -Dbasebuilderlocal=/shared/eclipse/buildtests -DbuildId=$buildId -DeclipseStream=$eclipseStream -Dosgi.os=linux -Dosgi.ws=gtk -Dosgi.arch=x86_64 -DEBUILDER_HASH=${EBUILDER_HASH} -DdownloadURL=https://download.eclipse.org/eclipse/downloads/drops4/${buildId} -Dtest.target=performance
#ant -f "${WORKSPACE}/${ANTFILE}" -Dbasebuilderlocal=/shared/eclipse/buildtests -DbuildId=$buildId -DeclipseStream=$eclipseStream -Dosgi.os=macosx -Dosgi.ws=cocoa -Dosgi.arch=x86_64 -DEBUILDER_HASH=${EBUILDER_HASH} -DdownloadURL=https://download.eclipse.org/eclipse/downloads/drops4/${buildId} -Dtest.target=performance
rc=$?
if [[ $rc == 0 ]]
then
echo "Ant returned non-zero return code: $rc."
else
echo "Ant returned normally. (Check log for BUILD FAILED/SUCCESS)"
fi
echo "check output in ${WORKSPACE}, especially ${WORKSPACE}/workarea"