corda

Error when running Corda flow tests from IntelliJ


When I run Corda flow tests from IntelliJ, the tests fail with the following errors:

QUASAR WARNING: Quasar Java Agent isn't running. If you're using another instrumentation method you can ignore this message; otherwise, please refer to the Getting Started section in the Quasar documentation.

and

java.lang.IllegalStateException: Missing the '-javaagent' JVM argument. Make sure you run the tests with the Quasar java agent attached to your JVM. See https://docs.corda.net/troubleshooting.html - 'Fiber classes not instrumented' for more details.

How can I fix this?


Solution

  • Corda flows need to be instrumented using Quasar before they are run, so that they can be suspended mid-execution.

    To achieve this in IntelliJ, you need to:

    Alternatively, you can edit the default JUnit run config to use the Quasar javaagent by default, avoiding you having to do this every time you pick a new test to run.