Problems with "fixed" ScalaTest support

While I can now run ScalaTest via the plugins supplied config, I get the following exception every time the test is run:

null
java.lang.NullPointerException
    at com.intellij.execution.testframework.TestConsoleProperties.removeListener(TestConsoleProperties.java:4)
    at com.intellij.execution.testframework.actions.TestFrameworkActions$2.onDispose(TestFrameworkActions.java:1)
    at com.intellij.execution.testframework.sm.runner.ui.SMTestRunnerResultsForm.dispose(SMTestRunnerResultsForm.java:18)
    at com.intellij.openapi.util.Disposer$1.execute(Disposer.java:38)
    at com.intellij.openapi.util.Disposer$1.execute(Disposer.java:36)
    at com.intellij.openapi.util.objectTree.ObjectNode$1.execute(ObjectNode.java:111)
    at com.intellij.openapi.util.objectTree.ObjectNode$1.execute(ObjectNode.java:93)
    at com.intellij.openapi.util.objectTree.ObjectTree.executeActionWithRecursiveGuard(ObjectTree.java:125)
    at com.intellij.openapi.util.objectTree.ObjectNode.execute(ObjectNode.java:93)
    at com.intellij.openapi.util.objectTree.ObjectTree.executeAll(ObjectTree.java:114)
    at com.intellij.openapi.util.Disposer.dispose(Disposer.java:95)
    at com.intellij.openapi.util.Disposer.dispose(Disposer.java:91)
    at com.intellij.execution.testframework.sm.runner.ui.SMTRunnerConsoleView.dispose(SMTRunnerConsoleView.java:18)
    at com.intellij.openapi.util.Disposer$1.execute(Disposer.java:38)
    at com.intellij.openapi.util.Disposer$1.execute(Disposer.java:36)
    at com.intellij.openapi.util.objectTree.ObjectNode$1.execute(ObjectNode.java:111)
    at com.intellij.openapi.util.objectTree.ObjectNode$1.execute(ObjectNode.java:93)
    at com.intellij.openapi.util.objectTree.ObjectTree.executeActionWithRecursiveGuard(ObjectTree.java:125)
    at com.intellij.openapi.util.objectTree.ObjectNode.execute(ObjectNode.java:93)
    at com.intellij.openapi.util.objectTree.ObjectTree.executeAll(ObjectTree.java:114)
    at com.intellij.openapi.util.Disposer.dispose(Disposer.java:95)
    at com.intellij.openapi.util.Disposer.dispose(Disposer.java:91)
    at com.intellij.execution.ui.RunContentDescriptor.dispose(RunContentDescriptor.java:53)
    at com.intellij.execution.runners.RunContentBuilder$MyRunContentDescriptor.dispose(RunContentBuilder.java:9)
    at com.intellij.execution.ui.RunContentManagerImpl.showRunContent(RunContentManagerImpl.java:109)
    at com.intellij.execution.runners.GenericProgramRunner$1.run(GenericProgramRunner.java:89)
    at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:16)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
    at com.intellij.ide.IdeEventQueue.c(IdeEventQueue.java:35)
    at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:99)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:217)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

5 comments
Comment actions Permalink

In thread Whishlist I wrote about this exception. It's IDEA internal exception. I cannot do anything now, we need to wait new EAP, where it's possibly fixed.
Not funny exception, but this exception hasn't any side effects, so you can use ScalaTest now without any restrictions.
Sorry for this inconvenience.

Best regards,
Alexander Podkhalyuzin.

0
Comment actions Permalink

Ok. I guess I'll just use the regular junit config for now. It shows the invalid x icon, but it doesn't keep popping the notification. Thanks!

0
Comment actions Permalink

You can use ScalaTest, just don't clear exception, then it will not appear again.
JUnit runner shouldn't show x icon, or you mean that ScalaSpec case (where annotation don't inherited)?

Best regards,
Alexander Podkhalyuzin.

0
Comment actions Permalink

The exception has effects on the debugger. If I debug via the ScalaTest config, the debugger gets in  a curropted state. For example:

- In order to debug the same config a second time you have to first "Close" the debugger. If you the debugger is not first closed the
following exception is generated:

Argument 0 for @NotNull parameter of com/intellij/openapi/util/objectTree/ObjectTree.executeAll must not be null: Argument 0 for @NotNull parameter of com/intellij/openapi/util/objectTree/ObjectTree.executeAll must not be null
java.lang.IllegalArgumentException: Argument 0 for @NotNull parameter of com/intellij/openapi/util/objectTree/ObjectTree.executeAll must not be null
    at com.intellij.openapi.util.objectTree.ObjectTree.executeAll(ObjectTree.java)
    at com.intellij.openapi.util.Disposer.dispose(Disposer.java:95)


(I submitted the exception but it got blamed in Idea Core)

- Even if you do Close the debugger, the tabs are not removed (the panel goes blank). Eventually you will have a screen full
of old and useless debugger tabs.

When using the regular Junit Config (even thought it shows the invalid X), the debugger seems to behave normally.

Oh, BTW, I do see the invalid X marker on the Config option menu item. My tests look like:

class MoniesTests extends JUnit3Suite with Checkers with ShouldMatchers { ...

One more unrelated item: Is it possible to mark code in this forum as an unformatted block?

-cheers

0
Comment actions Permalink

Press insert (near smile) -> Syntax Highlighting -> Java. (Java is better then nothing)
It looks:

class A {
  def foo = {
    33
  }
}



 

I'll look at your case with X.

Exception fixed in idea core now, just need to wait new EAP version (I hope this change added to trunk, I'll ask it just in case).
Ok, sorry, I didn't know that it has side effects.

Best regards,
Alexander Podkhalyuzin.

0

Please sign in to leave a comment.