quality@glassfish.java.net

Re: Initial, simple implementation of TestNG-driven developer tests for GlassFish deployment now available

From: Sony Manuel <Sony.Manuel_at_Sun.COM>
Date: Mon, 08 May 2006 18:04:53 +0530

Tim Quinn wrote:

> GlassFish quality community:
>
> Some new files are now available from the GlassFish repository - a
> very early implementation of using TestNG to drive developer tests.
> The particular example just checked in runs a test in the deployment
> section.
>
> If you are interested in looking at what we've done, running it, or
> commenting on it, please do the following:
>
> 1. Check out the GlassFish workspace including the appserv-tests
> section - or update your workspace if you already have one.
>
> 2. Visit http://www.testng.org to download TestNG. Part of what you
> get will be the testng jar file such as testng-4.7-jdk15.jar. Copy
> this file to
>
> ${your-GlassFish-workspace}/appserv-tests/lib/testng.jar
>
> Please note that you'll need to change the name to testng.jar (no
> version information embedded in the name) when you copy the jar file.
> This is just to save setting an additional environment variable.
>
> Also, note that eventually we hope to NOT require you to download
> TestNG separately, but for now this is the fastest way to get the work
> going.
>
> 3. Make sure to define the environment variable APS_HOME to point to
> ${your-GlassFish-workspace}/appserv-tests.
>
>
> 4. Because we are still very early in this work, there is one
> deployment devtest that is currently TestNG-enabled:
> appserv-tests/devtests/deployment/ejb30/ear/session. More tests - and
> not just deployment ones - will follow soon.
>
> To use TestNG to run the test, cd to
> appserv-tests/devtests/deployment/ejb30/ear/session and run ant like
> this:
>
> ant -f ${APS_HOME}/devtests/deployment/build-ng.xml
>
I am getting an error while running this. Ant fails while trying to load
testng task. I tried changing taskdef as mentioned in testng docs. Still
getting the same problem.

<taskdef resource="testngtasks" classpathref="cp"/>

sony_at_linux:~/workspace/glassfish/appserv-tests/devtests/deployment/ejb30/ear/session>
ant -f
/export/home/sony/workspace/glassfish/appserv-tests/devtests/deployment/build-ng.xml
-v
Apache Ant version 1.6.5 compiled on June 2 2005
Buildfile:
/export/home/sony/workspace/glassfish/appserv-tests/devtests/deployment/build-ng.xml
Detected Java version: 1.5 in: /export/home/sony/builds/as/9.0/b40/jdk/jre
Detected OS: Linux
parsing buildfile
/export/home/sony/workspace/glassfish/appserv-tests/devtests/deployment/build-ng.xml
with URI =
file:///export/home/sony/workspace/glassfish/appserv-tests/devtests/deployment/build-ng.xml
Project base dir set to:
/export/home/sony/workspace/glassfish/appserv-tests/devtests/deployment
 [property] Loading Environment envng.
Property ${envng.S1AS_HOME} has not been set
Build sequence for target(s) `run-test' is [compile-tests, run-test]
Complete build sequence is [compile-tests, run-test, test, ]

compile-tests:
    [javac] SessionTest.java added as SessionTest.class doesn't exist.
    [javac] DeploymentTest.java added as DeploymentTest.class doesn't exist.
    [javac] Compiling 2 source files to
/export/home/sony/workspace/glassfish/appserv-tests/devtests/deployment/build
    [javac] Using modern compiler
dropping
/export/home/sony/workspace/glassfish/appserv-tests/devtests/deployment/${envng.S1AS_HOME}/lib/ant/lib/ant.jar
from path as it doesn't exist
    [javac] Compilation arguments:
    [javac] '-d'
    [javac]
'/export/home/sony/workspace/glassfish/appserv-tests/devtests/deployment/build'
    [javac] '-classpath'
    [javac]
'/export/home/sony/workspace/glassfish/appserv-tests/devtests/deployment/build:/export/home/sony/workspace/glassfish/appserv-tests/lib/testng.jar:/export/home/sony/builds/as/9.0/b40/jdk/lib/tools.jar:/export/home/sony/builds/as/9.0/b40/lib/ant/lib/ant-launcher.jar:/export/home/sony/builds/as/9.0/b40/lib/ant/lib/ant-jai.jar:/export/home/sony/builds/as/9.0/b40/lib/ant/lib/ant-antlr.jar:/export/home/sony/builds/as/9.0/b40/lib/ant/lib/ant-starteam.jar:/export/home/sony/builds/as/9.0/b40/lib/ant/lib/ant-icontract.jar:/export/home/sony/builds/as/9.0/b40/lib/ant/lib/ant-jdepend.jar:/export/home/sony/builds/as/9.0/b40/lib/ant/lib/ant-apache-oro.jar:/export/home/sony/builds/as/9.0/b40/lib/ant/lib/ant-trax.jar:/export/home/sony/builds/as/9.0/b40/lib/ant/lib/ant-apache-regexp.jar:/export/home/sony/builds/as/9.0/b40/lib/ant/lib/ant-jmf.jar:/export/home/sony/builds/as/9.0/b40/lib/ant/lib/ant-jsch.jar:/export/home/sony/builds/as/9.0/b40/lib/ant/lib/ant-apache-bsf.jar:/export/home/sony/builds/as/9.0/b40/lib/ant/lib/ant-netrexx.jar:/export/home/sony/builds/as/9.0/b40/lib/ant/lib/ant-swing.jar:/export/home/sony/builds/as/9.0/b40/lib/ant/lib/xercesImpl.jar:/export/home/sony/builds/as/9.0/b40/lib/ant/lib/ant-apache-bcel.jar:/export/home/sony/builds/as/9.0/b40/lib/ant/lib/ant-stylebook.jar:/export/home/sony/builds/as/9.0/b40/lib/ant/lib/ant-javamail.jar:/export/home/sony/builds/as/9.0/b40/lib/ant/lib/ant-junit.jar:/export/home/sony/builds/as/9.0/b40/lib/ant/lib/ant-xalan1.jar:/export/home/sony/builds/as/9.0/b40/lib/ant/lib/ant-commons-net.jar:/export/home/sony/builds/as/9.0/b40/lib/ant/lib/ant-commons-logging.jar:/export/home/sony/builds/as/9.0/b40/lib/ant/lib/ant-weblogic.jar:/export/home/sony/builds/as/9.0/b40/lib/ant/lib/ant-apache-log4j.jar:/export/home/sony/builds/as/9.0/b40/lib/ant/lib/ant.jar:/export/home/sony/builds/as/9.0/b40/lib/ant/lib/xml-apis.jar:/export/home/sony/builds/as/9.0/b40/lib/ant/lib/ant-vaj.jar:/export/home/sony/builds/as/9.0/b40/lib/ant/lib/ant-xslp.jar:/export/home/sony/builds/as/9.0/b40/lib/ant/lib/ant-nodeps.jar:/export/home/sony/builds/as/9.0/b40/lib/ant/lib/ant-apache-resolver.jar'
    [javac] '-sourcepath'
    [javac]
'/export/home/sony/workspace/glassfish/appserv-tests/devtests/deployment/ejb30/ear/session:/export/home/sony/workspace/glassfish/appserv-tests/devtests/deployment'
    [javac] '-g'
    [javac]
    [javac] The ' characters around the executable and arguments are
    [javac] not part of the command.
    [javac] Files to be compiled:
    [javac]
/export/home/sony/workspace/glassfish/appserv-tests/devtests/deployment/ejb30/ear/session/SessionTest.java
    [javac]
/export/home/sony/workspace/glassfish/appserv-tests/devtests/deployment/DeploymentTest.java

run-test:
[pathconvert] Set property test.path =
/export/home/sony/workspace/glassfish/appserv-tests/lib/testng.jar:/export/home/sony/workspace/glassfish/appserv-tests/devtests/deployment/build:/export/home/sony/builds/as/9.0/b40/jdk/lib/tools.jar:/export/home/sony/workspace/glassfish/appserv-tests/devtests/deployment/${envng.S1AS_HOME}/lib/ant/lib/ant.jar

BUILD FAILED
/export/home/sony/workspace/glassfish/appserv-tests/devtests/deployment/build-ng.xml:128:
taskdef A class needed by class org.testng.TestNGAntTask cannot be
found: org/apache/tools/ant/Task
        at
org.apache.tools.ant.taskdefs.Definer.addDefinition(Definer.java:487)
at org.apache.tools.ant.taskdefs.Definer.execute(Definer.java:183)
        at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
        at org.apache.tools.ant.Task.perform(Task.java:364)
        at org.apache.tools.ant.Target.execute(Target.java:341)
        at org.apache.tools.ant.Target.performTasks(Target.java:369)
        at
org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
        at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
        at
org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
        at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
        at org.apache.tools.ant.Main.runBuild(Main.java:668)
        at org.apache.tools.ant.Main.startAnt(Main.java:187)
        at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)
        at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)
Caused by: java.lang.NoClassDefFoundError: org/apache/tools/ant/Task
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
        at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at
org.apache.tools.ant.AntClassLoader.findBaseClass(AntClassLoader.java:1197)
        at
org.apache.tools.ant.AntClassLoader.loadClass(AntClassLoader.java:973)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:242)
        at
org.apache.tools.ant.taskdefs.Definer.addDefinition(Definer.java:457)
... 13 more
--- Nested Exception ---
java.lang.NoClassDefFoundError: org/apache/tools/ant/Task
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
        at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at
org.apache.tools.ant.AntClassLoader.findBaseClass(AntClassLoader.java:1197)
        at
org.apache.tools.ant.AntClassLoader.loadClass(AntClassLoader.java:973)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:242)
        at
org.apache.tools.ant.taskdefs.Definer.addDefinition(Definer.java:457)
at org.apache.tools.ant.taskdefs.Definer.execute(Definer.java:183)
        at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
        at org.apache.tools.ant.Task.perform(Task.java:364)
        at org.apache.tools.ant.Target.execute(Target.java:341)
        at org.apache.tools.ant.Target.performTasks(Target.java:369)
        at
org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
        at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
        at
org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
        at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
        at org.apache.tools.ant.Main.runBuild(Main.java:668)
        at org.apache.tools.ant.Main.startAnt(Main.java:187)
        at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)
        at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)

Total time: 2 seconds
sony_at_linux:~/workspace/glassfish/appserv-tests/devtests/deployment/ejb30/ear/session>

- Sony