Factor integration tests logic to separate build file
This commit is contained in:
parent
3cb95d7595
commit
7595104ec3
57
core/pom.xml
57
core/pom.xml
|
@ -1038,34 +1038,8 @@
|
||||||
</goals>
|
</goals>
|
||||||
<configuration>
|
<configuration>
|
||||||
<target>
|
<target>
|
||||||
<!-- unzip release artifact -->
|
<ant antfile="${elasticsearch.tools.directory}/ant/integration-tests.xml"
|
||||||
<property name="integ.finalname" value="${project.artifactId}-${project.version}"/>
|
target="start-external-cluster"/>
|
||||||
<property name="integ.scratch" location="${project.build.directory}/integ-tests"/>
|
|
||||||
<unzip src="${project.build.directory}/releases/${integ.finalname}.zip"
|
|
||||||
dest="${integ.scratch}"/>
|
|
||||||
|
|
||||||
<property name="integ.home" location="${integ.scratch}/${integ.finalname}"/>
|
|
||||||
|
|
||||||
<!-- execute -->
|
|
||||||
<property name="integ.args"
|
|
||||||
value="-Des.node.name=smoke_tester -Des.cluster.name=prepare_release
|
|
||||||
-Des.discovery.zen.ping.multicast.enabled=false -Des.script.inline=on
|
|
||||||
-Des.script.indexed=on"/>
|
|
||||||
|
|
||||||
<echo>Starting up external cluster...</echo>
|
|
||||||
<exec executable="cmd" osfamily="winnt" dir="${integ.home}" spawn="true">
|
|
||||||
<arg value="/c"/>
|
|
||||||
<arg value="${integ.home}/bin/elasticsearch.bat"/>
|
|
||||||
<arg line="${integ.args}"/>
|
|
||||||
</exec>
|
|
||||||
<exec executable="sh" osfamily="unix" dir="${integ.home}" spawn="true">
|
|
||||||
<arg value="${integ.home}/bin/elasticsearch"/>
|
|
||||||
<arg line="${integ.args}"/>
|
|
||||||
</exec>
|
|
||||||
<waitfor maxwait="3" maxwaitunit="minute" checkevery="500">
|
|
||||||
<http url="http://127.0.0.1:9200"/>
|
|
||||||
</waitfor>
|
|
||||||
<echo>External cluster started</echo>
|
|
||||||
</target>
|
</target>
|
||||||
</configuration>
|
</configuration>
|
||||||
</execution>
|
</execution>
|
||||||
|
@ -1078,31 +1052,8 @@
|
||||||
</goals>
|
</goals>
|
||||||
<configuration>
|
<configuration>
|
||||||
<target>
|
<target>
|
||||||
<!-- TODO: this is brutal, specify and read our pid file instead -->
|
<ant antfile="${elasticsearch.tools.directory}/ant/integration-tests.xml"
|
||||||
<!-- find ES processes with jps, then shoot them with 50 cal -->
|
target="stop-external-cluster"/>
|
||||||
<exec executable="jps">
|
|
||||||
<arg value="-l"/>
|
|
||||||
<redirector outputproperty="process.pid">
|
|
||||||
<outputfilterchain>
|
|
||||||
<linecontains>
|
|
||||||
<contains value="org.elasticsearch.bootstrap.Elasticsearch"/>
|
|
||||||
</linecontains>
|
|
||||||
<replacestring from=" org.elasticsearch.bootstrap.Elasticsearch"/>
|
|
||||||
</outputfilterchain>
|
|
||||||
</redirector>
|
|
||||||
</exec>
|
|
||||||
<echo>Shutting down external cluster</echo>
|
|
||||||
<exec executable="taskkill" osfamily="winnt">
|
|
||||||
<arg value="/F"/>
|
|
||||||
<arg value="/PID"/>
|
|
||||||
<arg value="${process.pid}"/>
|
|
||||||
</exec>
|
|
||||||
<exec executable="kill" osfamily="unix">
|
|
||||||
<arg value="-9"/>
|
|
||||||
<arg value="${process.pid}"/>
|
|
||||||
</exec>
|
|
||||||
<!-- best effort cleanup. 'clean' will take care in all cases -->
|
|
||||||
<delete dir="${project.build.directory}/integ-tests" failonerror="false"/>
|
|
||||||
</target>
|
</target>
|
||||||
</configuration>
|
</configuration>
|
||||||
</execution>
|
</execution>
|
||||||
|
|
|
@ -0,0 +1,69 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<project name="elasticsearch-integration-tests">
|
||||||
|
|
||||||
|
<!-- unzip release artifact -->
|
||||||
|
<target name="start-external-cluster">
|
||||||
|
<property name="integ.finalname" value="${project.artifactId}-${project.version}"/>
|
||||||
|
<property name="integ.scratch" location="${project.build.directory}/integ-tests"/>
|
||||||
|
<unzip src="${project.build.directory}/releases/${integ.finalname}.zip"
|
||||||
|
dest="${integ.scratch}"/>
|
||||||
|
|
||||||
|
<property name="integ.home" location="${integ.scratch}/${integ.finalname}"/>
|
||||||
|
|
||||||
|
<!-- execute -->
|
||||||
|
<property name="integ.args"
|
||||||
|
value="-Des.node.name=smoke_tester -Des.cluster.name=prepare_release
|
||||||
|
-Des.discovery.zen.ping.multicast.enabled=false -Des.script.inline=on
|
||||||
|
-Des.script.indexed=on"/>
|
||||||
|
|
||||||
|
<echo>Starting up external cluster...</echo>
|
||||||
|
|
||||||
|
<exec executable="cmd" osfamily="winnt" dir="${integ.home}" spawn="true">
|
||||||
|
<arg value="/c"/>
|
||||||
|
<arg value="${integ.home}/bin/elasticsearch.bat"/>
|
||||||
|
<arg line="${integ.args}"/>
|
||||||
|
</exec>
|
||||||
|
|
||||||
|
<exec executable="sh" osfamily="unix" dir="${integ.home}" spawn="true">
|
||||||
|
<arg value="${integ.home}/bin/elasticsearch"/>
|
||||||
|
<arg line="${integ.args}"/>
|
||||||
|
</exec>
|
||||||
|
|
||||||
|
<waitfor maxwait="3" maxwaitunit="minute" checkevery="500">
|
||||||
|
<http url="http://127.0.0.1:9200"/>
|
||||||
|
</waitfor>
|
||||||
|
|
||||||
|
<echo>External cluster started</echo>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="stop-external-cluster">
|
||||||
|
<!-- TODO: this is brutal, specify and read our pid file instead -->
|
||||||
|
<!-- find ES processes with jps, then shoot them with 50 cal -->
|
||||||
|
<exec executable="jps">
|
||||||
|
<arg value="-l"/>
|
||||||
|
<redirector outputproperty="process.pid">
|
||||||
|
<outputfilterchain>
|
||||||
|
<linecontains>
|
||||||
|
<contains value="org.elasticsearch.bootstrap.Elasticsearch"/>
|
||||||
|
</linecontains>
|
||||||
|
<replacestring from=" org.elasticsearch.bootstrap.Elasticsearch"/>
|
||||||
|
</outputfilterchain>
|
||||||
|
</redirector>
|
||||||
|
</exec>
|
||||||
|
|
||||||
|
<echo>Shutting down external cluster</echo>
|
||||||
|
|
||||||
|
<exec executable="taskkill" osfamily="winnt">
|
||||||
|
<arg value="/F"/>
|
||||||
|
<arg value="/PID"/>
|
||||||
|
<arg value="${process.pid}"/>
|
||||||
|
</exec>
|
||||||
|
<exec executable="kill" osfamily="unix">
|
||||||
|
<arg value="-9"/>
|
||||||
|
<arg value="${process.pid}"/>
|
||||||
|
</exec>
|
||||||
|
|
||||||
|
<!-- best effort cleanup. 'clean' will take care in all cases -->
|
||||||
|
<delete dir="${project.build.directory}/integ-tests" failonerror="false"/>
|
||||||
|
</target>
|
||||||
|
</project>
|
Loading…
Reference in New Issue