Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'production/testScripts/invokeTestsJSON.xml')
-rw-r--r--production/testScripts/invokeTestsJSON.xml458
1 files changed, 0 insertions, 458 deletions
diff --git a/production/testScripts/invokeTestsJSON.xml b/production/testScripts/invokeTestsJSON.xml
deleted file mode 100644
index 3abd75194..000000000
--- a/production/testScripts/invokeTestsJSON.xml
+++ /dev/null
@@ -1,458 +0,0 @@
-<!-- Copyright (c) 2011, 2020 IBM Corporation and others.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License 2.0 which accompanies this distribution,
- https://www.eclipse.org/legal/epl-2.0/
-
- SPDX-License-Identifier: EPL-2.0.
-
- Contributors:
- IBM Corporation - initial API and implementation
--->
-
-<!--
- this script is invoked by the build, on the build machine,
- to signify to hudson "the build is done", pass a few parameters,
- then let Hudson take over.
-
- wget - -no-verbose -O invokeTestsJSON.xml https://git.eclipse.org/c/platform/eclipse.platform.releng.eclipsebuilder.git/plain/invokeTestsJSON.xml?h=master 2>&1;
-
--->
-
-<project
- name="Hudson-Tests"
- default="runTests"
- basedir=".">
-
- <target
- name="runTests"
- depends="init">
- <echo message="== Properties in invokeTestsJSON.xml" />
- <echo message="buildId: ${buildId} " />
- <echo message="eclipseStream: ${eclipseStream}" />
- <echo message="eclipseStreamMajor: ${eclipseStreamMajor}" />
- <echo message="eclipseStreamMinor: ${eclipseStreamMinor}" />
- <echo message="buildType: ${buildType}" />
- <echo message="EBUILDER_HASH: ${EBUILDER_HASH}" />
- <antcall target="JUnitTests" />
- <antcall target="PerfTests" />
- </target>
-
-
- <target
- name="JUnitTests"
- depends="init">
-
- <!--
- currently we test on three platforms.
- So, three parallel calls since on different machines (and Hudson queues).
- TODO: Can these be called, in parallel via callant (or, perhaps subant?
- for greater flexibility in what to test?)
- -->
-
- <antcall target="triggerHudsonTests">
- <param
- name="job"
- value="ep${eclipseStreamMajor}${eclipseStreamMinor}${buildType}-unit-win32-java8" />
- </antcall>
-
- <antcall target="triggerHudsonTests">
- <param
- name="job"
- value="ep${eclipseStreamMajor}${eclipseStreamMinor}${buildType}-unit-mac64-java8" />
- </antcall>
-
- <!--
- currently we test on four platforms.
- These GTK3 tests are "just like the others", except the URL to "send it to" differs.
- -->
-
- <antcall target="triggerHudsonTests">
- <param
- name="job"
- value="ep${eclipseStreamMajor}${eclipseStreamMinor}${buildType}-unit-cen64-gtk3-java8" />
- </antcall>
-
- <antcall target="triggerHudsonTests">
- <param
- name="job"
- value="ep${eclipseStreamMajor}${eclipseStreamMinor}${buildType}-unit-cen64-gtk3-java11" />
- </antcall>
-
- <antcall target="triggerHudsonTests">
- <param
- name="job"
- value="ep${eclipseStreamMajor}${eclipseStreamMinor}${buildType}-unit-cen64-gtk3-java13" />
- </antcall>
-
- <antcall target="triggerHudsonTests">
- <param
- name="job"
- value="ep${eclipseStreamMajor}${eclipseStreamMinor}${buildType}-unit-cen64-gtk3-java14" />
- </antcall>
-
- </target>
-
- <target
- name="PerfTests"
- depends="init">
-
- <!--
- currently we test on three platforms.
- So, three parallel calls since on different machines (and Hudson queues).
- TODO: Can these be called, in parrallel via callant (or, perhaps subant?)
- for greater flexibility in what to test?
- -->
-
- <antcall target="triggerHudsonPerfTests">
- <param
- name="job"
- value="ep${eclipseStreamMajor}${eclipseStreamMinor}${buildType}-perf-lin64-baseline" />
- </antcall>
- <!--
- <antcall target="triggerHudsonTests">
- <param
- name="job"
- value="ep${eclipseStreamMajor}${eclipseStreamMinor}${buildType}-unit-win32" />
- </antcall>
-
- <antcall target="triggerHudsonTests">
- <param
- name="job"
- value="ep${eclipseStreamMajor}${eclipseStreamMinor}${buildType}-unit-mac64" />
- </antcall>
- -->
-
- </target>
-
-
- <target
- name="triggerHudsonTests"
- depends="init">
-
-
-
- <!--
- baseURL used to be "required parameter" for Hudson job, but seemed overly complicated so
- I compute all this later (based on stream and id) but, I've learned, one disadvantage is this
- restricts test code locations to "downloads". There might be times we want to do from "build"
- locations, or similar. Not to mention, other, internal test systems someday.
-
- <property
- name="baseURL"
- value="https://download.eclipse.org/eclipse/downloads/${dropsDirSegment}/${buildId}" />
- -->
-
- <!-- Hudson jobs currently have four required parameters -->
- <property
- name="JSON_buildId"
- value="{&quot;name&quot;:&quot;buildId&quot;,&quot;value&quot;:&quot;${buildId}&quot;}" />
-
- <property
- name="json"
- value="{&quot;parameter&quot;:[${JSON_buildId},${JSON_eclipseStream},${JSON_EBUILDER_HASH}]}" />
-
- <echo message="env.HUDSON_PROTOCOL: ${env.HUDSON_PROTOCOL}" />
- <echo message="env.HUDSON_HOST: ${env.HUDSON_HOST}" />
- <echo message="env.HUDSON_PORT: ${env.HUDSON_PORT}" />
- <echo message="env.HUDSON_ROOT_URI: ${env.HUDSON_ROOT_URI}" />
- <echo message="json for unit curl post: ${json}" />
- <echo message="job: ${job}" />
- <echo message="${env.HUDSON_PROTOCOL}://${env.HUDSON_HOST}:${env.HUDSON_PORT}/${env.HUDSON_ROOT_URI}/job/${job}/buildWithParameters" />
-
- <exec
- executable="curl"
- resultproperty="rcUnit"
- outputproperty="unitOutput"
- errorproperty="unitErrorOutput">
- <arg line="-X GET" />
- <arg value="${env.HUDSON_PROTOCOL}://${env.HUDSON_HOST}:${env.HUDSON_PORT}/${env.HUDSON_ROOT_URI}/job/${job}/buildWithParameters?token=${env.HUDSON_TOKEN}&amp;buildId=${buildId}" />
- <arg value="--fail" />
- </exec>
- <echo message="DEBUG: rcUnit: ${rcUnit}" />
- <condition property="invocationNotOk">
- <not>
- <equals
- arg1="${rcUnit}"
- arg2="0" />
- </not>
- </condition>
- <!--
- TODO: We could produced a "TEST_ARE_RUNNING_ON" file here too, when rc = 0 .. that is unless="invocationNoOk"
- and included the URL of build or performance machine tests.
- -->
- <antcall target="checkInvocation">
- <param
- name="returnCode"
- value="${rcUnit}" />
- <param
- name="job"
- value="${job}" />
- <param
- name="output"
- value="${unitOutput}" />
- <param
- name="errorOutput"
- value="${unitErrorOutput}" />
- </antcall>
- </target>
-
- <target
- name="triggerHudsonWinTests"
- depends="init">
- <!--
- baseURL used to be "required parameter" for Hudson job, but seemed overly complicated so
- I compute all this later (based on stream and id) but, I've learned, one disadvantage is this
- restricts test code locations to "downloads". There might be times we want to do from "build"
- locations, or similar. Not to mention, other, internal test systems someday.
-
- <property
- name="baseURL"
- value="https://download.eclipse.org/eclipse/downloads/${dropsDirSegment}/${buildId}" />
- -->
-
- <!-- Hudson jobs currently have four required parameters -->
- <property
- name="JSON_buildId"
- value="{&quot;name&quot;:&quot;buildId&quot;,&quot;value&quot;:&quot;${buildId}&quot;}" />
-
- <property
- name="json"
- value="{&quot;parameter&quot;:[${JSON_buildId},${JSON_eclipseStream},${JSON_EBUILDER_HASH}]}" />
-
- <echo message="env.HUDSON_PROTOCOL: ${env.HUDSON_PROTOCOL}" />
- <echo message="env.HUDSON_HOST: ${env.HUDSON_HOST}" />
- <echo message="env.HUDSON_PORT: ${env.HUDSON_PORT}" />
- <echo message="env.HUDSON_WIN32_ROOT_URI: ${env.HUDSON_WIN32_ROOT_URI}" />
- <echo message="json for unit curl post: ${json}" />
- <echo message="job: ${job}" />
- <echo message="${env.HUDSON_PROTOCOL}://${env.HUDSON_HOST}:${env.HUDSON_PORT}/${env.HUDSON_WIN32_ROOT_URI}/job/${job}/buildWithParameters" />
-
- <exec
- executable="curl"
- resultproperty="rcUnit"
- outputproperty="unitOutput"
- errorproperty="unitErrorOutput">
- <arg line="-X GET" />
- <arg value="${env.HUDSON_PROTOCOL}://${env.HUDSON_HOST}:${env.HUDSON_PORT}/${env.HUDSON_WIN32_ROOT_URI}/job/${job}/buildWithParameters?token=${env.HUDSON_TOKEN}&amp;buildId=${buildId}" />
- <arg value="--fail" />
- </exec>
- <echo message="DEBUG: rcUnit: ${rcUnit}" />
- <condition property="invocationNotOk">
- <not>
- <equals
- arg1="${rcUnit}"
- arg2="0" />
- </not>
- </condition>
- <!--
- TODO: We could produced a "TEST_ARE_RUNNING_ON" file here too, when rc = 0 .. that is unless="invocationNoOk"
- and included the URL of build or performance machine tests.
- -->
- <antcall target="checkInvocation">
- <param
- name="returnCode"
- value="${rcUnit}" />
- <param
- name="job"
- value="${job}" />
- <param
- name="output"
- value="${unitOutput}" />
- <param
- name="errorOutput"
- value="${unitErrorOutput}" />
- </antcall>
- </target>
-
- <target
- name="checkInvocation"
- if="invocationNotOk">
- <echo
- message="&lt;p&gt;Invocation of Curl did not return 0 return code for ${job}.&lt;br /&gt;${line.separator}"
- file="${postingDirectory}/TEST_INVOCATION_FAILED.html"
- append="true" />
- <echo
- message=" return code was ${returnCode}&lt;br /&gt;${line.separator}"
- file="${postingDirectory}/TEST_INVOCATION_FAILED.html"
- append="true" />
- <echo
- message=" Likely due to Hudson job not being defined (or, possibly network issues).&lt;br /&gt;${line.separator}"
- file="${postingDirectory}/TEST_INVOCATION_FAILED.html"
- append="true" />
-
- <echo
- message="ERROR: Invocation of Curl did not return 0 return code for ${job}." />
- <echo
- message="= = = standard out = = ${line.separator}${output}" />
- <echo
- message="= = = standard err = = ${line.separator}${errorOutput}${line.separator}${line.separator}" />
- <!-- We don't want to fail automatically here, since just one machine may be "offline". -->
- <echo message="Curl invocation failed. See ${postingDirectory}/TEST_INVOCATION_FAILED.html" />
- </target>
-
- <target
- name="triggerHudsonPerfTests"
- depends="init">
-
- <!--
- baseURL used to be "required parameter" for Hudson job, but seemed overly complicated so
- I compute all this later (based on stream and id) but, I've learned, one disadvantage is this
- restricts test code locations to "downloads". There might be times we want to do from "build"
- locations, or similar. Not to mention, other, internal test systems someday.
-
- <property
- name="baseURL"
- value="https://download.eclipse.org/eclipse/downloads/${dropsDirSegment}/${buildId}" />
- -->
-
- <!-- Hudson jobs currently have 3 required parameters -->
- <property
- name="JSON_buildId"
- value="{&quot;name&quot;:&quot;buildId&quot;,&quot;value&quot;:&quot;${buildId}&quot;}" />
- <property
- name="JSON_eclipseStream"
- value="{&quot;name&quot;:&quot;eclipseStream&quot;,&quot;value&quot;:&quot;${eclipseStream}&quot;}" />
- <property
- name="JSON_EBUILDER_HASH"
- value="{&quot;name&quot;:&quot;EBUILDER_HASH&quot;,&quot;value&quot;:&quot;${EBUILDER_HASH}&quot;}" />
-
- <property
- name="JSON_defaultTestSuite"
- value="{&quot;name&quot;:&quot;testToRun&quot;,&quot;value&quot;:&quot;selectPerformance&quot;}" />
-
- <property
- name="json"
- value="{&quot;parameter&quot;:[${JSON_buildId},${JSON_eclipseStream},${JSON_EBUILDER_HASH},${JSON_defaultTestSuite}]}" />
-
- <!-- TODO: "segment" varies by test, and/or environment ... must be an easier way? -->
- <property
- name="env.LINUX_PERF_SEGMENT"
- value="releng" />
-
- <echo message="env.HUDSON_PERF_PROTOCOL: ${env.HUDSON_PERF_PROTOCOL}" />
- <echo message="env.HUDSON_PERF_HOST: ${env.HUDSON_PERF_HOST}" />
- <echo message="env.HUDSON_PERF_PORT: ${env.HUDSON_PERF_PORT}" />
- <echo message="json for perf curl post: ${json}" />
- <echo message="${env.HUDSON_PERF_PROTOCOL}://${env.HUDSON_PERF_HOST}:${env.HUDSON_PERF_PORT}/${env.LINUX_PERF_SEGMENT}/job/${job}/build" />
-
- <exec
- executable="curl"
- resultproperty="rcPerf"
- outputproperty="perfOutput"
- errorproperty="perfErrorOutput">
- <arg line="-X GET" />
- <arg
- value="${env.HUDSON_PERF_PROTOCOL}://${env.HUDSON_PERF_HOST}:${env.HUDSON_PERF_PORT}/${env.LINUX_PERF_SEGMENT}/job/${job}/buildWithParameters?token=${env.HUDSON_TOKEN}&amp;buildId=${buildId}&amp;eclipseStream=${eclipseStream}&amp;EBUILDER_HASH=${EBUILDER_HASH}" />
- <arg value="--fail" />
- </exec>
- <echo message="DEBUG: rcPerf: ${rcPerf}" />
- <condition property="invocationNotOk">
- <not>
- <equals
- arg1="${rcPerf}"
- arg2="0" />
- </not>
- </condition>
- <antcall target="checkInvocation">
- <param
- name="returnCode"
- value="${rcPerf}" />
- <param
- name="job"
- value="${job}" />
- <param
- name="output"
- value="${perfOutput}" />
- <param
- name="errorOutput"
- value="${perfErrorOutput}" />
- </antcall>
- </target>
-
-
- <target
- name="init"
- depends="initStreamVariables"
- unless="invokeTestsJSONinitialized">
-
- <property environment="env" />
-
- <!-- posting directory should be passed in to us ... but, in case not
- we will at least define it.
- -->
- <property
- name="postingDirectory"
- value="${basedir}/postingDirectory" />
-
- <property
- name="env.HUDSON_HOST"
- value="ci.eclipse.org" />
- <property
- name="env.HUDSON_PROTOCOL"
- value="https" />
- <property
- name="env.HUDSON_PORT"
- value="443" />
- <property
- name="env.HUDSON_ROOT_URI"
- value="releng" />
- <property
- name="env.HUDSON_WIN32_ROOT_URI"
- value="shared" />
- <property
- name="env.HUDSON_PERF_HOST"
- value="ci.eclipse.org" />
- <property
- name="env.HUDSON_PERF_PROTOCOL"
- value="https" />
- <property
- name="env.HUDSON_PERF_PORT"
- value="443" />
-
- <script language="javascript">
- <![CDATA[
- var buildId = project.getProperty("buildId");
- var pattern = new RegExp(/^([IMXYPNSRU])(\d{8})-(\d{4})$/);
-
- var sArray = pattern.exec(buildId);
- // sArray 0 is "whole match"
- project.setProperty("buildType", sArray[1]);
- ]]>
- </script>
- <echo message="Computed buildType of ${buildType} from ${buildId}" />
- <property
- name="invokeTestsJSONinitialized"
- value="true" />
- </target>
-
- <target name="initStreamVariables">
-
- <fail
- unless="eclipseStream"
- message="eclipseStream must be provided by caller" />
- <condition property="streamOK">
- <matches
- pattern="\d+\.\d+\.\d+"
- string="${eclipseStream}" />
- </condition>
- <fail
- 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+)/);
-
- var sArray = pattern.exec(eclipseStream);
- // sArray[0] is "whole match"
- project.setProperty("eclipseStreamMajor", sArray[1]);
- project.setProperty("eclipseStreamMinor", sArray[2]);
- project.setProperty("eclipseStreamService", sArray[3]);
- ]]>
- </script>
-
- </target>
-
-</project>

Back to the top