Changing build.xml to produce a jar instead of class files Adding a

TestSuite class to run all tests
Remove the libcephfs-test.jar when running ant clean

Signed-off-by: Joe Buck <jbbuck@gmail.com>
Reviewed-by: Noah Watkins <noahwatkins@gmail.com>
This commit is contained in:
Joe Buck 2012-11-01 22:26:34 -07:00
parent 77015424f8
commit c3129a2780
2 changed files with 76 additions and 9 deletions

View File

@ -14,6 +14,7 @@
<delete>
<fileset dir="${test.dir}" includes="**/*.class" />
</delete>
<delete file="./libcephfs-test.jar" />
</target>
<target name="makedir">
@ -40,15 +41,28 @@
<pathelement location="${env.CLASSPATH}" />
</classpath>
</javac>
<jar basedir="test" destfile="./libcephfs-test.jar">
<jar destfile="./libcephfs-test.jar">
<fileset dir="${test.dir}" includes="**/*.class"/>
</jar>
</target>
<target name="test-compat" depends="compile-tests-jar,test">
<target name="test" depends="compile-tests-jar">
<junit printsummary="yes" haltonfailure="yes" showoutput="yes" fork="true">
<sysproperty key="java.library.path" path="${env.CEPHFS_JNI_LIB}:../.libs/"/>
<sysproperty key="CEPH_CONF_FILE" path="${env.CEPHFS_CONF}"/>
<jvmarg value="-Xcheck:jni"/>
<classpath>
<pathelement location="${env.CEPHFS_JAR}"/>
<pathelement location="libcephfs.jar"/>
<pathelement location="libcephfs-test.jar"/>
</classpath>
<formatter type="plain"/>
<test name="com.ceph.fs.CephAllTests" haltonerror="true" />
</junit>
</target>
<target name="test">
<junit printsummary="yes" haltonfailure="yes" showoutput="yes">
<target name="test-compat" depends="compile-tests-jar">
<junit printsummary="yes" haltonfailure="yes" showoutput="yes" fork="true">
<sysproperty key="java.library.path" path="${env.CEPHFS_JNI_LIB}:../.libs/"/>
<sysproperty key="CEPH_CONF_FILE" path="${env.CEPHFS_CONF}"/>
<classpath>
@ -57,11 +71,7 @@
<pathelement location="libcephfs-test.jar"/>
</classpath>
<formatter type="plain"/>
<batchtest fork="yes">
<zipfileset src="libcephfs-test.jar">
<include name="**/*Test.class"/>
</zipfileset>
</batchtest>
<test name="com.ceph.fs.CephAllTests" haltonerror="true" />
</junit>
</target>

View File

@ -0,0 +1,57 @@
/*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
*/
package com.ceph.fs;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.UUID;
import org.junit.*;
import org.junit.rules.ExternalResource;
import org.junit.runners.Suite;
import org.junit.runner.RunWith;
import static org.junit.Assert.*;
@RunWith( Suite.class )
@Suite.SuiteClasses( {
CephDoubleMountTest.class,
CephMountCreateTest.class,
CephMountTest.class,
CephUnmountedTest.class,
})
/**
* Every Java test class must be added to this list in order to be executed with 'ant test'
*/
public class CephAllTests{
@Rule
public static ExternalResource testRule = new ExternalResource(){
@Override
protected void before() throws Throwable{
// Add debugging messages or setup code here
};
@Override
protected void after(){
// Add debugging messages or cleanup code here
};
};
}