Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
None
-
None
Description
IndexCorruptionReportingTest fails in Eclipse when all tests in uimaj-core are executed at once. When it runs in Maven or in isolation, it works. This is probably because surefire runs tests classes in forked JVMs so system properties do not leak between tests. Probably some other test sets IS_THROW_EXCEPTION_CORRUPT_INDEX and doesn't restore the property to its original state after executing.
org.apache.uima.UIMARuntimeException: Illegal update of indexed Feature Structure feature used as an key in one or more indices at org.apache.uima.cas.impl.CASImpl.featModWhileInIndexReport(CASImpl.java:3692) at org.apache.uima.cas.impl.CASImpl.checkForInvalidFeatureSetting(CASImpl.java:3670) at org.apache.uima.cas.impl.CASImpl.setFeatureValue(CASImpl.java:2245) at org.apache.uima.cas.impl.CASImpl.ll_setIntValue(CASImpl.java:3837) at org.apache.uima.jcas.tcas.Annotation.setBegin(Annotation.java:78) at org.apache.uima.cas.impl.IndexCorruptionReportingTest.testReport(IndexCorruptionReportingTest.java:78) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at junit.framework.TestCase.runTest(TestCase.java:154) at junit.framework.TestCase.runBare(TestCase.java:127) at junit.framework.TestResult$1.protect(TestResult.java:106) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.framework.TestResult.run(TestResult.java:109) at junit.framework.TestCase.run(TestCase.java:118) at junit.framework.TestSuite.runTest(TestSuite.java:208) at junit.framework.TestSuite.run(TestSuite.java:203) at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:131) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)