Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 369697

Summary: fix test failures on Java 1.7
Product: z_Archived Reporter: Steffen Pingel <steffen.pingel>
Component: MylynAssignee: Steffen Pingel <steffen.pingel>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: unspecified   
Target Milestone: 3.6.5   
Hardware: PC   
OS: Linux   
Whiteboard:
Bug Depends on:    
Bug Blocks: 351100    
Attachments:
Description Flags
mylyn/context/zip none

Description Steffen Pingel CLA 2012-01-25 11:26:03 EST
When tests are being run on Java 1.7 several failures occur:

junit.framework.ComparisonFailure: null expected:<123: abc[]> but was:<123: abc[
http://321.com]>
	at junit.framework.Assert.assertEquals(Assert.java:81)
	at junit.framework.Assert.assertEquals(Assert.java:87)
	at org.eclipse.mylyn.tasks.tests.CopyDetailsActionTest.testGetTextForTask(CopyDetailsActionTest.java:62)

org.eclipse.core.runtime.CoreException: Error reading task data
	at org.eclipse.mylyn.internal.tasks.core.data.TaskDataStore.readState(TaskDataStore.java:152)
	at org.eclipse.mylyn.internal.tasks.core.data.TaskDataStore.getTaskDataState(TaskDataStore.java:57)
	at org.eclipse.mylyn.tasks.tests.TaskDataStoreTest.testReadWriteC0Characters(TaskDataStoreTest.java:220)
Caused by: java.io.IOException: Error parsing task data: Character reference "&#
	at org.eclipse.mylyn.internal.tasks.core.data.TaskDataStore.readState(TaskDataStore.java:147)
	... 51 more

org.eclipse.core.runtime.CoreException: Error reading task data
	at org.eclipse.mylyn.internal.tasks.core.data.TaskDataStore.readState(TaskDataStore.java:152)
	at org.eclipse.mylyn.internal.tasks.core.data.TaskDataStore.getTaskDataState(TaskDataStore.java:57)
	at org.eclipse.mylyn.tasks.tests.TaskDataStoreTest.testReadWriteC0C1Characters(TaskDataStoreTest.java:253)
Caused by: java.io.IOException: Error parsing task data: Character reference "&#
	at org.eclipse.mylyn.internal.tasks.core.data.TaskDataStore.readState(TaskDataStore.java:147)
	... 51 more

java.lang.IllegalArgumentException: Handle description already exists in task list
	at org.eclipse.mylyn.internal.tasks.core.TaskList.addQuery(TaskList.java:116)
	at org.eclipse.mylyn.tasks.tests.TaskWorkingSetTest.testDeleteQuery(TaskWorkingSetTest.java:71)
Comment 1 Steffen Pingel CLA 2012-01-25 11:42:52 EST
Turns out that Java 1.7 executes tests in a different order which caused the failures in TaskWorkingSetTest and CopyDetailsActionTest.

The failures in TaskDataStore were caused by a changed exception message which caused the detection code to fail that triggers the fall-back to XML 1.1.
Comment 2 Steffen Pingel CLA 2012-01-25 11:43:02 EST
Created attachment 210064 [details]
mylyn/context/zip
Comment 3 Steffen Pingel CLA 2012-02-01 09:31:48 EST
I have backported the changes to the e_3_7_m_3_6_x branch.
Comment 4 Steffen Pingel CLA 2012-02-02 05:58:54 EST
These Integration tests are now failing:

junit.framework.ComparisonFailure: null expected:<[activeTaskKey]> but was:<[foobar]>
	at junit.framework.Assert.assertEquals(Assert.java:81)
	at junit.framework.Assert.assertEquals(Assert.java:87)
	at org.eclipse.mylyn.ide.tests.TaskTemplateResolverTest.canHandleTemplateResolver(TaskTemplateResolverTest.java:109)
	at org.eclipse.mylyn.ide.tests.TaskTemplateResolverTest.canHandleTemplateResolver(TaskTemplateResolverTest.java:91)
	at org.eclipse.mylyn.ide.tests.TaskTemplateResolverTest.testNoTaskActive(TaskTemplateResolverTest.java:47)

junit.framework.AssertionFailedError
	at junit.framework.Assert.fail(Assert.java:47)
	at junit.framework.Assert.assertTrue(Assert.java:20)
	at junit.framework.Assert.assertFalse(Assert.java:34)
	at junit.framework.Assert.assertFalse(Assert.java:41)
	at org.eclipse.mylyn.trac.tests.core.TracTaskDataHandlerXmlRpcTest.testMarkStaleTasks(TracTaskDataHandlerXmlRpcTest.java:118)

Running testMarkStaleTasks(org.eclipse.mylyn.trac.tests.core.TracTaskDataHandlerXmlRpcTest)
[2012-02-01T7-20-19] Status ERROR: org.eclipse.mylyn.tasks.core code=0 Notification failed for: null java.lang.NullPointerException, Exception:
java.lang.NullPointerException

junit.framework.ComparisonFailure: null expected:<P[3]> but was:<P[1]>
	at junit.framework.Assert.assertEquals(Assert.java:81)
	at junit.framework.Assert.assertEquals(Assert.java:87)
	at org.eclipse.mylyn.trac.tests.core.TracRepositoryConnectorTest.testUpdateTaskFromTaskDataSummaryOnly(TracRepositoryConnectorTest.java:274)
Comment 5 Steffen Pingel CLA 2012-02-06 12:28:07 EST
Looks like tests are finally fixed. The last failures were due to a class not implementing the full contract of Comparable. This caused unpredictable results when sorting  and tests to fail that relied on the proper sort order.