IdeaGinkgo / Intellij-Ginkgo

Idea plugin for running and viewing ginkgo tests
GNU General Public License v3.0
34 stars 13 forks source link

NPE in GinkgoRunConfigurationProducer.setupConfigurationFromContext #63

Closed vmallet closed 1 year ago

vmallet commented 1 year ago

Just installed the plugin (IDEA 2022.2.3, ideaGinkgo 0.6.5). Got a bunch of exceptions.

Stacktrace `java.lang.NullPointerException: Cannot invoke "com.intellij.psi.PsiElement.getParent()" because the return value of "com.intellij.psi.PsiElement.getParent()" is null at com.github.idea.ginkgo.GinkgoRunConfigurationProducer.setupConfigurationFromContext(GinkgoRunConfigurationProducer.java:28) at com.github.idea.ginkgo.GinkgoRunConfigurationProducer.setupConfigurationFromContext(GinkgoRunConfigurationProducer.java:16) at com.intellij.execution.actions.RunConfigurationProducer.createConfigurationFromContext(RunConfigurationProducer.java:100) at com.intellij.execution.actions.PreferredProducerFind.doGetConfigurationsFromContext(PreferredProducerFind.java:119) at com.intellij.execution.actions.PreferredProducerFind.getConfigurationsFromContext(PreferredProducerFind.java:100) at com.intellij.execution.actions.ConfigurationContext.createConfigurationsFromContext(ConfigurationContext.java:423) at com.intellij.execution.ExecutorRegistryImpl$ExecutorAction.getRunConfigsForCurrentFile(ExecutorRegistryImpl.java:462) at com.intellij.execution.ExecutorRegistryImpl$ExecutorAction.getRunCurrentFileActionStatus(ExecutorRegistryImpl.java:408) at com.intellij.execution.ExecutorRegistryImpl$ExecutorAction.getRunCurrentFileActionStatus(ExecutorRegistryImpl.java:387) at com.intellij.execution.ExecutorRegistryImpl$ExecutorAction.update(ExecutorRegistryImpl.java:345) at com.intellij.openapi.actionSystem.ex.ActionUtil.lambda$performDumbAwareUpdate$0(ActionUtil.java:150) at com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareUpdate(ActionUtil.java:173) at com.intellij.openapi.actionSystem.impl.ActionUpdater.doUpdate(ActionUpdater.java:660) at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$updateActionReal$4(ActionUpdater.java:128) at com.intellij.openapi.actionSystem.impl.ActionUpdater.callAction(ActionUpdater.java:173) at com.intellij.openapi.actionSystem.impl.ActionUpdater.callAction(ActionUpdater.java:153) at com.intellij.openapi.actionSystem.impl.ActionUpdater.updateActionReal(ActionUpdater.java:129) at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$new$0(ActionUpdater.java:116) at com.intellij.openapi.actionSystem.impl.ActionUpdater.update(ActionUpdater.java:649) at com.intellij.openapi.actionSystem.impl.ActionUpdater.expandGroupChild(ActionUpdater.java:498) at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$doExpandActionGroup$20(ActionUpdater.java:477) at com.intellij.util.containers.ContainerUtil.concat(ContainerUtil.java:1398) at com.intellij.openapi.actionSystem.impl.ActionUpdater.doExpandActionGroup(ActionUpdater.java:477) at com.intellij.openapi.actionSystem.impl.ActionUpdater.expandGroupChild(ActionUpdater.java:550) at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$doExpandActionGroup$20(ActionUpdater.java:477) at com.intellij.util.containers.ContainerUtil.concat(ContainerUtil.java:1398) at com.intellij.openapi.actionSystem.impl.ActionUpdater.doExpandActionGroup(ActionUpdater.java:477) at com.intellij.openapi.actionSystem.impl.ActionUpdater.expandGroupChild(ActionUpdater.java:550) at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$doExpandActionGroup$20(ActionUpdater.java:477) at com.intellij.util.containers.ContainerUtil.concat(ContainerUtil.java:1398) at com.intellij.openapi.actionSystem.impl.ActionUpdater.doExpandActionGroup(ActionUpdater.java:477) at com.intellij.openapi.actionSystem.impl.ActionUpdater.expandActionGroup(ActionUpdater.java:272) at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$doExpandActionGroupAsync$12(ActionUpdater.java:340) at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$doExpandActionGroupAsync$13(ActionUpdater.java:359) at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1154) at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$tryRunReadActionAndCancelBeforeWrite$17(ActionUpdater.java:391) at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ProgressIndicatorUtils.java:158) at com.intellij.openapi.actionSystem.impl.ActionUpdater.tryRunReadActionAndCancelBeforeWrite(ActionUpdater.java:387) at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$doExpandActionGroupAsync$14(ActionUpdater.java:359) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:188) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$12(CoreProgressManager.java:608) at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:683) at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:639) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:607) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60) at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:175) at com.intellij.openapi.progress.util.BackgroundTaskUtil.runUnderDisposeAwareIndicator(BackgroundTaskUtil.java:365) at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$doExpandActionGroupAsync$15(ActionUpdater.java:358) at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:241) at com.intellij.util.concurrency.BoundedTaskExecutor.access$200(BoundedTaskExecutor.java:31) at com.intellij.util.concurrency.BoundedTaskExecutor$1.execute(BoundedTaskExecutor.java:214) at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:212) at com.intellij.util.concurrency.BoundedTaskExecutor$1.run(BoundedTaskExecutor.java:203) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699) at java.base/java.lang.Thread.run(Thread.java:833) `
TaylorOno commented 1 year ago

This should be fixed if you want to try downloading and install the v0.7.0-beta

vmallet commented 1 year ago

This should be fixed if you want to try downloading and install the v0.7.0-beta

Restarted IDEA, installed v0.7.0-beta, restarted IDEA, opened project.. No NPE (actually no exceptions so far) but things are pretty broken: the only option I have on all the green gutter arrows is "Disable test" (instead of some run options before), and if I try to run the previous test run config I had played with earlier it says "java.io.FileNotFoundException: : ginkgo-output-2022-11-04 (Read-only file system)" (not sure which filesystem is read-only, not mine...) (Filed #64)

TaylorOno commented 1 year ago

The missing run option was me being an idiot. I added tests so hopefully it won't happen again. I'll release a 0.7.1-beta soon for that. but still not sure what to make of the FileNotFoundException or the class cast exception

TaylorOno commented 1 year ago

@vmallet have you had the chance to try 0.7.1-beta is it equally as broken?

vmallet commented 1 year ago

I got a chance to try it and it looks much better :) (I actually built it from source as I think 0.7.1-beta wasn't quite out yet, and had to address the FileNotFoundException which I'll go comment on right now). I think this NPE is gone now, thanks.