[ptt-users] Re: NPE in ScriptRunner.methodFromCall(ScriptRunner.java:239)

Lars Huttar lars_huttar at sil.org
Fri Sep 28 15:25:14 PDT 2007


Well, that particular error was apparently caused by the fact that I was 
missing a langtype attribute on my <run> element:
                                                          <run 
module="ethnunit" name="test1" testclass="HTTPExample" method="runtest" />

After supplying langtype="jython", that particular NPE goes away.
Hopefully that could be fixed to tell the user they're missing a 
langtype attribute, if it is indeed required.

Now I get a different set of errors:

java.lang.NullPointerException
    at java.io.FileInputStream.<init>(Unknown Source)
    at java.io.FileInputStream.<init>(Unknown Source)
    at java.io.FileReader.<init>(Unknown Source)
    at 
com.pushtotest.testmaker.XSTest.xml.TestScenario.ScriptRunner.argumentsFormCallScript(ScriptRunner.java:488)
    at 
com.pushtotest.testmaker.XSTest.xml.TestScenario.ScriptRunner.argumentsFromCall(ScriptRunner.java:421)
    at 
com.pushtotest.testmaker.XSTest.xml.TestScenario.ScriptRunner.setupMethodForTest(ScriptRunner.java:225)
    at 
com.pushtotest.testmaker.XSTest.xml.TestScenario.ScriptRunner.setMethods(ScriptRunner.java:213)
    at 
com.pushtotest.testmaker.XSTest.xml.TestScenario.ScriptRunner.<init>(ScriptRunner.java:192)
    at 
com.pushtotest.testmaker.XSTest.xml.TestScenario.TestusecaseRunner.runOneTime(TestusecaseRunner.java:381)
    at 
com.pushtotest.testmaker.XSTest.xml.TestScenario.TestscenarioRunner.runFunctionaltest(TestscenarioRunner.java:288)
    at 
com.pushtotest.testmaker.XSTest.xml.TestScenario.TestscenarioRunner.access$000(TestscenarioRunner.java:91)
    at 
com.pushtotest.testmaker.XSTest.xml.TestScenario.TestscenarioRunner$FunctionalTest.run(TestscenarioRunner.java:272)
java.lang.NoSuchMethodException: getHTTPExample
    at 
com.sun.script.jython.JythonScriptEngine.invokeImpl(JythonScriptEngine.java:129)
    at 
com.sun.script.jython.JythonScriptEngine.invokeFunction(JythonScriptEngine.java:91)
    at 
com.pushtotest.testmaker.XSTest.xml.TestScenario.ScriptRunner.argumentsFormCallScript(ScriptRunner.java:504)
    at 
com.pushtotest.testmaker.XSTest.xml.TestScenario.ScriptRunner.argumentsFromCall(ScriptRunner.java:421)
    at 
com.pushtotest.testmaker.XSTest.xml.TestScenario.ScriptRunner.setupMethodForTest(ScriptRunner.java:225)
    at 
com.pushtotest.testmaker.XSTest.xml.TestScenario.ScriptRunner.setMethods(ScriptRunner.java:213)
    at 
com.pushtotest.testmaker.XSTest.xml.TestScenario.ScriptRunner.<init>(ScriptRunner.java:192)
    at 
com.pushtotest.testmaker.XSTest.xml.TestScenario.TestusecaseRunner.runOneTime(TestusecaseRunner.java:381)
    at 
com.pushtotest.testmaker.XSTest.xml.TestScenario.TestscenarioRunner.runFunctionaltest(TestscenarioRunner.java:288)
    at 
com.pushtotest.testmaker.XSTest.xml.TestScenario.TestscenarioRunner.access$000(TestscenarioRunner.java:91)
    at 
com.pushtotest.testmaker.XSTest.xml.TestScenario.TestscenarioRunner$FunctionalTest.run(TestscenarioRunner.java:272)
java.lang.reflect.InvocationTargetException
    at sun.reflect.GeneratedMethodAccessor19.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at 
com.pushtotest.testmaker.XSTest.xml.TestScenario.ScriptRunner.execute(ScriptRunner.java:982)
    at 
com.pushtotest.testmaker.XSTest.xml.TestScenario.ScriptRunner.runJustOne(ScriptRunner.java:667)
    at 
com.pushtotest.testmaker.XSTest.xml.TestScenario.TestusecaseRunner.runOneTime(TestusecaseRunner.java:383)
    at 
com.pushtotest.testmaker.XSTest.xml.TestScenario.TestscenarioRunner.runFunctionaltest(TestscenarioRunner.java:288)
    at 
com.pushtotest.testmaker.XSTest.xml.TestScenario.TestscenarioRunner.access$000(TestscenarioRunner.java:91)
    at 
com.pushtotest.testmaker.XSTest.xml.TestScenario.TestscenarioRunner$FunctionalTest.run(TestscenarioRunner.java:272)
Caused by: java.lang.IllegalArgumentException: script object is null
    at 
com.sun.script.jython.JythonScriptEngine.invokeMethod(JythonScriptEngine.java:97)
    ... 9 more
java.lang.reflect.InvocationTargetException
    at sun.reflect.GeneratedMethodAccessor19.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at 
com.pushtotest.testmaker.XSTest.xml.TestScenario.ScriptRunner.execute(ScriptRunner.java:982)
    at 
com.pushtotest.testmaker.XSTest.xml.TestScenario.ScriptRunner.runJustOne(ScriptRunner.java:667)
    at 
com.pushtotest.testmaker.XSTest.xml.TestScenario.TestusecaseRunner.runOneTime(TestusecaseRunner.java:383)
    at 
com.pushtotest.testmaker.XSTest.xml.TestScenario.TestscenarioRunner.runFunctionaltest(TestscenarioRunner.java:288)
    at 
com.pushtotest.testmaker.XSTest.xml.TestScenario.TestscenarioRunner.access$000(TestscenarioRunner.java:91)
    at 
com.pushtotest.testmaker.XSTest.xml.TestScenario.TestscenarioRunner$FunctionalTest.run(TestscenarioRunner.java:272)
Caused by: java.lang.IllegalArgumentException: script object is null
    at 
com.sun.script.jython.JythonScriptEngine.invokeMethod(JythonScriptEngine.java:97)
    ... 9 more



On 9/28/2007 5:05 PM, Lars Huttar wrote:
> Hello,
> I'm really wearing out this list, aren't I?  :-)
>
> Attempting to run a homegrown jython unit test, I'm getting a 
> nullPointerException:
>
> java.lang.NullPointerException
>    at 
> com.pushtotest.testmaker.XSTest.xml.TestScenario.ScriptRunner.methodFromCall(ScriptRunner.java:239) 
>
>    at 
> com.pushtotest.testmaker.XSTest.xml.TestScenario.ScriptRunner.setupMethodForTest(ScriptRunner.java:224) 
>
>    at 
> com.pushtotest.testmaker.XSTest.xml.TestScenario.ScriptRunner.setMethods(ScriptRunner.java:213) 
>
>    at 
> com.pushtotest.testmaker.XSTest.xml.TestScenario.ScriptRunner.<init>(ScriptRunner.java:192) 
>
>    at 
> com.pushtotest.testmaker.XSTest.xml.TestScenario.TestusecaseRunner.runOneTime(TestusecaseRunner.java:381) 
>
>    at 
> com.pushtotest.testmaker.XSTest.xml.TestScenario.TestscenarioRunner.runFunctionaltest(TestscenarioRunner.java:288) 
>
>    at 
> com.pushtotest.testmaker.XSTest.xml.TestScenario.TestscenarioRunner.access$000(TestscenarioRunner.java:91) 
>
>    at 
> com.pushtotest.testmaker.XSTest.xml.TestScenario.TestscenarioRunner$FunctionalTest.run(TestscenarioRunner.java:272) 
>
>
> My functional test is running
>                            <test>
>                                                          <run 
> module="ethnunit" name="test1" testclass="HTTPExample" 
> method="runtest" />
>                            </test>
> which refers to this resource:
>    <resources>
>          <module name="ethunit" path="C:/Documents and 
> Settings/huttarl.DALLAS/My 
> Documents/work/auto-testing/ethnologue/ethnunit.py" />
>        </resources>
>
> My ethnunit.py is basically like HTTP_Example.py, with the runTest 
> method modified:
>
>    def runTest( self ):
>        ''' Run the test '''
>        self.log( 1, "test: runTest" )
>              response = self.get( '''http://hostname/mount/myurl/''')
>        responseContent = response.getContent()
>        # Response must contain the string "15th Edition"
>        expected = "15th Edition"
>        assert reponseContent.find(expected) > -1, "Response did not 
> include string '" + expected + "'"
>
> I will see if I can spot anything in 
> ScriptRunner.methodFromCall(ScriptRunner.java:239)
> but I thought I would ask if anyone can tell me what's wrong. And I 
> suppose a bug report should be filed in any case.
>
> Thanks,
> Lars
>
>



More information about the Users mailing list