So actually you have to look here:
http://svn.apache.org/repos/asf/jakarta/cactus/trunk/integration/ant/src/java/org/apache/cactus/integration/ant/CactusTask.java
and this is the peace of code that actually executes the test:
===========================================

private void executeInContainer(ContainerWrapper theWrapper,
        DeployableFile theFile)
    {
        log("Starting up container", Project.MSG_VERBOSE);
        ContainerRunner runner = new ContainerRunner(theWrapper);
        runner.setLogger(new AntLogger(getProject()));
        try
        {
            URL url = new URL(theWrapper.getBaseURL() + "/"
                + theFile.getTestContext()
                + theFile.getServletRedirectorMapping()
                + "?Cactus_Service=RUN_TEST");
            runner.setURL(url);

            runner.startUpContainer();
            log("Server name retrieved from 'Server' HTTP header: ["
                + runner.getServerName() + "]", Project.MSG_VERBOSE);
            try
            {
                Enumeration tests = getIndividualTests();
                while (tests.hasMoreElements())
                {
                    JUnitTest test = (JUnitTest) tests.nextElement();
                    if (test.shouldRun(getProject())
                     && !theWrapper.isExcluded(test.getName()))
                    {
                        if (theWrapper.getToDir() != null)
                        {
                            test.setTodir(theWrapper.getToDir());
                        }
                        execute(test);
                    }
                }
            }
            finally
            {
                log("Shutting down container", Project.MSG_VERBOSE);
                runner.shutDownContainer();
                log("Container shut down", Project.MSG_VERBOSE);
            }
        }
===========================================

and the test-case in "execute(test)" is NOT null - I explicitly checked it.
In my opinion the only reason for the NLP is because the delegate
object is null :-(.

Any suggestions?

2007/10/28, Petar Tahchiev <[EMAIL PROTECTED]>:
>
> Hi guys,
>
> my name is Petar Tahchiev and I am one of the developers of Jakarta
> Cactus.
> I have a really strange problem, when using Ant > 1.6.5.
> When trying to execute my cactus tasks, I invoke actually the JunitTask, I
> get the
> following exception:
>
> -----------------------------------------------------------------------------
> /home/peter/bin/workspace/TestCactus/build.xml:93:
> java.lang.NullPointerException
>         at org.apache.tools.ant.dispatch.DispatchUtils.execute (
> DispatchUtils.java:115)
>         at org.apache.tools.ant.Task.perform(Task.java:348)
>         at org.apache.tools.ant.Target.execute(Target.java:357)
>         at org.apache.tools.ant.Target.performTasks(Target.java :385)
>         at org.apache.tools.ant.Project.executeSortedTargets(Project.java
> :1329)
>         at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
>         at org.apache.tools.ant.helper.DefaultExecutor.executeTargets (
> DefaultExecutor.java:41)
>         at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
>         at org.apache.tools.ant.Main.runBuild(Main.java:758)
>         at org.apache.tools.ant.Main.startAnt(Main.java :217)
>         at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
>         at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
> Caused by: java.lang.NullPointerException
>         at
> org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.executeInVM (
> JUnitTask.java:1272)
>         at org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.execute(
> JUnitTask.java:823)
>         at org.apache.cactus.integration.ant.CactusTask.executeInContainer
> (CactusTask.java:453)
>         at org.apache.cactus.integration.ant.CactusTask.execute(
> CactusTask.java:204)
>         at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java
> :288)
>         at sun.reflect.GeneratedMethodAccessor2.invoke (Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.apache.tools.ant.dispatch.DispatchUtils.execute (
> DispatchUtils.java:105)
>         ... 11 more
> --- Nested Exception ---
> java.lang.NullPointerException
>         at
> org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.executeInVM(
> JUnitTask.java:1272)
>         at org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.execute(
> JUnitTask.java:823)
>         at org.apache.cactus.integration.ant.CactusTask.executeInContainer
> (CactusTask.java:453)
>         at org.apache.cactus.integration.ant.CactusTask.execute (
> CactusTask.java:204)
>         at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java
> :288)
>         at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke (
> DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.apache.tools.ant.dispatch.DispatchUtils.execute(
> DispatchUtils.java:105)
>         at org.apache.tools.ant.Task.perform (Task.java:348)
>         at org.apache.tools.ant.Target.execute(Target.java:357)
>         at org.apache.tools.ant.Target.performTasks(Target.java:385)
>         at 
> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
>         at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
>         at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(
> DefaultExecutor.java:41)
>         at org.apache.tools.ant.Project.executeTargets (Project.java:1181)
>         at org.apache.tools.ant.Main.runBuild(Main.java:758)
>         at org.apache.tools.ant.Main.startAnt(Main.java:217)
>         at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
>         at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
>
> Total time: 8 seconds
>
> ------------------------------------------------------------------------------------------------
>
> However, if I downgrade to Ant 1.6.5 I don't get this exception and
> everything passes
> smoothly. Looking at the source code of the task, on line 1272 here is
> what we see:
>
> runner = delegate.newJUnitTestRunner (test, test.getHaltonerror(),
>                                          test.getFiltertrace(),
>                                          test.getHaltonfailure(), false,
>                                          true, classLoader);
> so it turns out that delegate is null !!!
> In Ant 1.6.5. there seems that this "delegate" object is missing. Also
> when we look on line 799
> we see that delegate is explicitly nullified:
> ------------------------------------------------
>
>  delegate = null;
>
> ------------------------------------------------
>
> ????
>
> Does these thoughts make any sense, and if yes, how can I resolve my
> problems.
>
> Thank you.
>
> --
> Regards, Petar!
> Karlovo, Bulgaria.
>
> EOOXML Objections
> http://www.grokdoc.net/index.php/EOOXML_objections
>
> Public PGP Key at: 
> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
>
> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611




-- 
Regards, Petar!
Karlovo, Bulgaria.

EOOXML Objections
http://www.grokdoc.net/index.php/EOOXML_objections

Public PGP Key at:
https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611

Reply via email to