flutter / flutter/flutter-intellij
Can't configure a FlutterTestUtils with a fake SDK
- Dominant language
- Java
- Stars
- 2k
- Forks
- 356
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 27
Description
I'm trying to write a test that uses a fake Flutter SDK instead of a real one.
To do this, I've tried using the FlutterModuleFixture with an option to fake out the SDK. This option exists on the FlutterTestUtils, but doesn't appear to be used anywhere in our test code. See https://github.com/DaveShuckerow/flutter-intellij/pull/new/run-mode for what I did.
java.lang.IllegalStateException: @NotNull method io/flutter/sdk/FlutterSdkManager.getInstance must not return null
at io.flutter.sdk.FlutterSdkManager.$$$reportNull$$$0(FlutterSdkManager.java)
at io.flutter.sdk.FlutterSdkManager.getInstance(FlutterSdkManager.java:34)
at io.flutter.sdk.FlutterSdkUtil.setFlutterSdkPath(FlutterSdkUtil.java:230)
at io.flutter.testing.FlutterTestUtils.lambda$configureFlutterSdk$0(FlutterTestUtils.java:51)
at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:1038)
at io.flutter.testing.FlutterTestUtils.configureFlutterSdk(FlutterTestUtils.java:50)
at io.flutter.testing.FlutterModuleFixture.lambda$before$1(FlutterModuleFixture.java:36)
at io.flutter.testing.Testing.lambda$runOnDispatchThread$7(Testing.java:103)
at com.intellij.openapi.application.TransactionGuardImpl.lambda$submitTransactionAndWait$2(TransactionGuardImpl.java:165)
at com.intellij.openapi.application.TransactionGuardImpl.runSyncTransaction(TransactionGuardImpl.java:88)
at com.intellij.openapi.application.TransactionGuardImpl.lambda$submitTransaction$1(TransactionGuardImpl.java:111)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.doRun(LaterInvocator.java:447)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.runNextEvent(LaterInvocator.java:431)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:415)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:817)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:758)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:394)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Contributor guide
Assessment
This issue has not been assessed yet.