Skip to content

False positive regarding missing terminal operation when a stream is returned from a method #103

@khatchad

Description

@khatchad

The tool erroneously reports that a stream lacks a terminal operation when one exists. The situation is where the stream is returned from a method. The caller invokes a terminal operation on the returned stream.

-- Error Log from JUnit -- Class: edu.cuny.hunter.streamrefactoring.ui.tests.ConvertStreamToParallelRefactoringTest Method: testNonInternalAPI Actual: null Expected: null Stack Trace: junit.framework.AssertionFailedError: expected:<[15]> but was:<[13]>	at junit.framework.Assert.fail(Assert.java:57)	at junit.framework.Assert.failNotEquals(Assert.java:329)	at junit.framework.Assert.assertEquals(Assert.java:78)	at junit.framework.Assert.assertEquals(Assert.java:86)	at junit.framework.TestCase.assertEquals(TestCase.java:253)	at edu.cuny.hunter.streamrefactoring.ui.tests.ConvertStreamToParallelRefactoringTest.helper(ConvertStreamToParallelRefactoringTest.java:302)	at edu.cuny.hunter.streamrefactoring.ui.tests.ConvertStreamToParallelRefactoringTest.testNonInternalAPI(ConvertStreamToParallelRefactoringTest.java:431)	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)	at java.lang.reflect.Method.invoke(Method.java:498)	at junit.framework.TestCase.runTest(TestCase.java:176)	at junit.framework.TestCase.runBare(TestCase.java:141)	at junit.framework.TestResult$1.protect(TestResult.java:122)	at junit.framework.TestResult.runProtected(TestResult.java:142)	at junit.framework.TestResult.run(TestResult.java:125)	at junit.framework.TestCase.run(TestCase.java:129)	at junit.extensions.TestDecorator.basicRun(TestDecorator.java:23)	at junit.extensions.TestSetup$1.protect(TestSetup.java:23)	at junit.framework.TestResult.runProtected(TestResult.java:142)	at junit.extensions.TestSetup.run(TestSetup.java:27)	at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:121)	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:539)	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:761)	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:461)	at org.eclipse.pde.internal.junit.runtime.RemotePluginTestRunner.main(RemotePluginTestRunner.java:181)	at org.eclipse.pde.internal.junit.runtime.PlatformUITestHarness.lambda$0(PlatformUITestHarness.java:43)	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:37)	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182)	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4497)	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4110)	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1150)	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1039)	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:680)	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:594)	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:151)	at org.eclipse.pde.internal.junit.runtime.NonUIThreadTestApplication.runApp(NonUIThreadTestApplication.java:52)	at org.eclipse.pde.internal.junit.runtime.UITestApplication.runApp(UITestApplication.java:43)	at org.eclipse.pde.internal.junit.runtime.NonUIThreadTestApplication.start(NonUIThreadTestApplication.java:46)	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)	at java.lang.reflect.Method.invoke(Method.java:498)	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653)	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)	at org.eclipse.equinox.launcher.Main.run(Main.java:1499)	at org.eclipse.equinox.launcher.Main.main(Main.java:1472) 

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions