Run scala plugin test (QuickDocTest)

Hi, I'm trying to contribute to the scala plugin, specifically to the quick documentation. I'd like to add a test to the QuickDocTest but I can't figure out how to run it.
Naively right-clicking on the test and running it gives me this:

ERROR: /idea/ApplicationInfo.xml java.io.FileNotFoundException: /idea/ApplicationInfo.xml      at com.intellij.openapi.util.JDOMUtil.loadDocument(JDOMUtil.java:384)

I've found this that gives some hint regarding how to run tests:
http://confluence.jetbrains.com/display/IDEADEV/Testing+IntelliJ+IDEA+Plugins and http://confluence.jetbrains.com/display/IntelliJIDEA/Tests+Prerequisites

Somehow I have to install the sources of the idea community edition (?). I've cloned the git repository and I could locate this file that seems a good match:

./community-resources/src/idea/IdeaApplicationInfo.xml


I tried that path so I configured the Run with the following VM options:

-Xmx800m -XX:ReservedCodeCacheSize=64m -XX:MaxPermSize=250m -XX:+HeapDumpOnOutOfMemoryError -ea -Didea.is.internal=true -Didea.debug.mode=true -Didea.system.path=$USER_HOME$/.IdeaData/leda/scala/system -Didea.config.path=$USER_HOME$/.IdeaData/leda/scala/config -Dapple.laf.useScreenMenuBar=true -Dplugin.path=$MY_PLUGIN_PATH/out/leda/artifacts/Scala -Didea.platform.prefix=Idea -Djna.nosys=true

I copied IdeaApplicationInfo.xml into "SDK/LedaSDK/idea/IdeaApplicationInfo.xml"
Set up jna.nosys=true to avoid a bug with filesystem:

ERROR: Failed to load filesystem access layer (Linux, 1.6.0_27, false) java.lang.Error: There is an incompatible JNA native library installed on this system. To resolve this issue you may do one of the following: - remove or uninstall the offending library - set the system property jna.nosys=true - set jna.boot.library.path to include the path to the version of the    jnidispatch library included with the JNA jar file you are using


Finally I ended up with:

*********************************************************************************************** ***                        R O O T   M O D E L   N O T   D I S P O S E D                    *** *********************************************************************************************** Created at: java.lang.Throwable      at com.intellij.openapi.roots.impl.ModuleRootManagerImpl.getModifiableModel(ModuleRootManagerImpl.java:147)      at com.intellij.openapi.roots.impl.ModuleRootManagerImpl.getModifiableModel(ModuleRootManagerImpl.java:127)



It would be great if there was some kind of documentation within the project. Just few lines explaining how to run the tests, especially if there are external files/folders to create (BTW weird for testing).

You have versioned .idea/runConfigurations/TypeInferenceTests.xml but it does not work. It also fails with "/idea/ApplicationInfo.xml not found".

Thanks

1 comment

Hi,

Unfortunately, IDEA doesn't support shared default JUnit configuration. So documentation for running tests is "TypeInferenceTests", and it should work.
Probably problem is with community edition IDEA, we are using Ultimate edition for the development and we could miss something. I'll check it with CE as well, thank you for the information and sorry for inconveniences.

Best regards,
Alexander Podkhalyuzin.

0

Please sign in to leave a comment.